Qed.

Lemma APPLY_condition2:
forall (subst : Type) (S : Subst subst (expr typ func))
(SO : SubstOk S) (SU : SubstUpdate subst (expr typ func))
(SUO : SubstUpdateOk SU SO),
UnifyI.unify_sound
(fun (tus tvs : tenv typ) (n : nat) (l r : expr typ func)
(t : typ) (s : subst) => exprUnify 10 tus tvs n l r t s).