Section Forward.
Variables (E: list deq).
Definition gf n := lambda enc n (var 0).
Definition enc_sol (sigma: nat -> nat) (x: fin) :=
match partition_F_G x with
| inl (exist _ x _) => gf (sigma x)
| inr (exist _ (x,y,z) _) => T (sigma y) (sigma x)
end.

Lemma enc_sol_encodes theta h: encodes (enc_sol theta (F h)) (theta h).