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