Section RecoverStructure.
Fixpoint size_exp {Z} (s: exp Z) :=
match s with
| var _ => 0
| const c => 0
| app s t => S (size_exp s + size_exp t)
| lambda s => S (size_exp s)
end.
End RecoverStructure.

Lemma G_backward_exists m p M: normal M -> Grel m p M -> exists l, M = T l.