Fixpoint FA_path p p' (lp : list cbv) := match lp with
| [] => p = p'
| h :: t => In p (first_activations h) /\ FA_path h p' t
end.

Lemma first_activations_at_given_rank_caract rk i s p0 c1 f l c2 v :
let p := cbv_update i s p0 c1 (fapply f l) c2 v in
first_activations_at_given_rank rk p =
if eq_nat_dec rk (activation_rank rank p) then [p] else
flat_map (first_activations_at_given_rank rk) (first_activations_rec p0).