Section DowncastLemmas.
Implicit Types (s t: exp X) (Gamma: ctx)  (A: type).
Variable (n: nat).
Hypothesis (Leq: 1 <= n).

Lemma ordertyping_weak_ordertyping Gamma Delta sigma (s t: exp X):
(forall x A, nth Gamma x = Some A -> x ∈ vars s ++ vars t -> Delta ⊢(n) sigma x : A) ->  sigma • s ≡ sigma • t ->
(exists Sigma tau, Sigma ⊩(n) tau : Gamma /\ tau • s ≡ tau • t).