Section Backward.
Variable (X: Const).
Implicit Types (sigma: nat -> exp X) (x y z c n: nat).
Definition sub_sol sigma x :=
match dec_enc (sigma x) with
| inl (exist _ k _) => k
| inr _ => 0
end.

Lemma sub_sol_enc sigma x n:
sigma x = enc n -> sub_sol sigma x = n.