Definition bobby_eight_poly x := length (functions_of_prog prog) * Nat.pow x max_arity.

(* Specifications: *)
Lemma bobby_eight i s p c1 f lt c2 v: let proof_tree := cbv_update i s p c1 (fapply f lt) c2 v in PPO_prog -> wf proof_tree -> length (activations_at_rank (rank f) proof_tree) <= bobby_eight_poly (term_size (proj_left proof_tree)).
Lemma bobby_increase: forall x y, x <= y -> (bobby_eight_poly x) <= (bobby_eight_poly y).
Theorem A_T_bound i s p c1 f lt c2 v: let proof_tree := cbv_update i s p c1 (fapply f lt) c2 v in PPO_prog -> wf proof_tree -> A_T proof_tree <= bobby_eight_poly (max_active_size proof_tree).