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 decomp'_irrefl E E':
decomp' E = Some E' -> forall u v, (u,v) ∈ E' -> u <> v.