Definition activation_function (function_default : function) (p: cbv) :=
  match p with
    | cbv_update _ _ _ _ (fapply f _) _ _ => f
    | _                                   => function_default
  end.

Lemma first_activation_down_rank_lt p p' i s p0 c1 t c2 v: let proof_tree := cbv_update i s p0 c1 t c2 v in PPO_prog -> wf proof_tree -> In p' (activations proof_tree) -> In p (first_activations p') -> In p (first_activations_at_given_rank (activation_rank rank p) proof_tree) -> activation_rank rank p < activation_rank rank p'.