Section Normalisation.
Variable (X: Const).
Arguments s₀ {_} {_} _.
Arguments t₀ {_} {_} _.
Arguments Gamma₀ {_} {_} _.
Arguments A₀ {_} {_} _.
Arguments sᵤ {_} _.
Arguments tᵤ {_} _.
Arguments Gammaᵤ {_} _.
Arguments Aᵤ {_} _.
Program Instance orduni_normalise n (I: orduni n X) : orduni n X :=
{ Gamma₀ := Gamma₀ I; s₀ := eta₀ (s₀ I) H1₀; t₀ := eta₀ (t₀ I) H2₀; A₀ := A₀ I }.
Next Obligation.
eapply ordertyping_preservation_under_steps. rewrite <-eta₀_correct. all: eauto.
Qed.
Next Obligation.
eapply ordertyping_preservation_under_steps. rewrite <-eta₀_correct. all: eauto.
Qed.

Lemma orduni_normalise_correct n I:
OU n X I <-> OU n X (orduni_normalise n I).