(* 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_fapply_term_size_lt f (t : term) lt :
In t lt ->
term_size t < term_size (fapply f lt).