Fixpoint fapplies_in_term (t: term) : list term :=
match t with
| var _       => []
| capply _ lt =>      flat_map fapplies_in_term lt
| fapply _ lt => t :: flat_map fapplies_in_term lt
end.

Lemma fapplies_in_term_are_fapplies t1 t2 :
In t1 (fapplies_in_term t2) ->
exists f lt, t1 = fapply f lt.