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_iff m p G: normal G -> ((m * n = p /\ G = T m) <-> Grel m p G).