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

Lemma first_activation_down 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 -> p <> proof_tree -> In p (activations proof_tree) -> exists p', In p' (activations proof_tree) /\ In p (first_activations p').