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_not_var x s tau:
var x <> s -> unifies tau (var x) s -> ~ x ∈ vars s.