Section InhabitingTypes.
Variable (X: Const).
Implicit Types (s t: exp X) (Gamma Delta: ctx) (sigma tau: fin -> exp X).
Definition inhab (x: fin) (A: type) := Lambda (arity A) (@var X (arity A + x)).

Lemma inhab_typing Delta x A:
nth Delta x = Some (target A) -> Delta ⊢(1) inhab x A : A.