Section Soundness.
Context {X: Const}.
Implicit Type (s: exp X).
Definition semtyping Gamma s A := forall gamma, G Gamma gamma -> E A (gamma • s).
Notation "Gamma ⊨ s : A" := (semtyping Gamma s A) (at level 80, s at level 99).

(* ** Termination *)
Lemma termination_steps Gamma s A:
Gamma ⊢ s : A -> exists t, s ▷ t.