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

Lemma unification_downcast sigma Gamma s t Delta A:
Delta ⊩ sigma : Gamma -> Gamma ⊢(n) s : A -> Gamma ⊢(n) t : A -> sigma • s ≡ sigma • t ->
exists Sigma tau, Sigma ⊩(n) tau : Gamma /\ tau • s ≡ tau • t.