(* lt devrait aussi être défini par un let … in, mais ça plante à l'application du lemme et je ne comprends pas pourquoi. *)

Lemma active_size_bound_max qic qif cs: forall i s p c f lv d v,
valid_QI qic qif cs ->
let t :=  (fapply f lv) in
let pi := cbv_update i s p c t d v in
let la := (activations pi)  in
let l:= (map (fun x=> mcs * (term_size t)) lv) in
wf pi -> cache_bounded qic qif c -> forall la', incl la' la ->
maxl (map judgsize la') <= (max_arity + 1) * qif f l + 1.