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_inv Gamma x A:
Gamma ⊢(1) inhab x A : A -> nth Gamma x = Some (target A).