Section Completeness.
Fixpoint size (s: exp X) :=
match s with
| var x => 0
| const x => 0
| lambda s => S (size s)
| app s1 s2 => S(size s1 + size s2)
end.

Lemma unifies_free sigma x s:
~ x ∈ vars s -> free' sigma -> unifies sigma (var x) s -> free x.