Section DowncastLemmas.
Implicit Types (s t: exp X) (Gamma: ctx)  (A: type).
Variable (n: nat).
Hypothesis (Leq: 1 <= n).
End DowncastLemmas.
Program Instance unification_monotone {n} (D: orduni n X): orduni (S n) X :=
{  Gamma₀ := Gamma₀; s₀ := s₀ ; t₀ := t₀; A₀ := A₀; }.
Program Instance unification_conservative {n} (D: orduni n X): uni X :=
{  Gammaᵤ := Gamma₀; sᵤ := s₀ ; tᵤ := t₀; Aᵤ := A₀; }.
Next Obligation.
eapply ordertyping_soundness; eauto.
Qed.
Next Obligation.
eapply ordertyping_soundness; eauto.
Qed.

Lemma unification_conservative_backward n (I: orduni n X):
1 <= n -> U X (unification_conservative I) -> OU n X I.