Corollary activations_inCBV: forall p pi:cbv,
   In p (activations pi) -> InCBV p pi.Definition functions_of_prog : list function :=
  map (fun x => match x with | rule_intro f _ _ => f end) prog.

Lemma activation_bound_spec ( subst_default : variable -> value) : forall proof_tree, wf proof_tree -> forall p, In p (activations proof_tree) -> let (i, s) := rule_subst_of_cbv_update subst_default p in term_size (subst s (rhs_of_rule (nth i prog rule_default))) <= activation_bound prog (term_size (proj_left p)).