(* Sizes *)
Fixpoint term_size (t : term) :=
match t with
| var _ => 1
| capply _ lt => 1 + suml (map term_size lt)
| fapply _ lt => 1 + suml (map term_size lt)
end.

Lemma in_capply_term_size_lt c (t : term) lt :
In t lt ->
term_size t < term_size (capply c lt).