proposition: Theorem normal_forms_unique Γ τ : deterministic (normal_form_of (Γ:=Γ) (τ:=τ)).
proof: Proof. unfold deterministic, normal_form_of. intros x y1 y2 P1 P2. destruct P1 as [P11 P12]. destruct P2 as [P21 P22]. generalize dependent y2. induction P11; intros. - inversion P21; auto. now einduction P12; eauto. - apply IHP11; auto. inv P21. + now edestruct P22; eauto. + assert (y = y0) by now apply Step_deterministic with x. now subst. Qed.
imports: Category.Lib Category.Instance.Lambda.Ltac Category.Instance.Lambda.Ty Category.Instance.Lambda.Exp Category.Instance.Lambda.Value Category.Instance.Lambda.Ren Category.Instance.Lambda.Sub Category.Instance.Lambda.Log Category.Instance.Lambda.Sem Category.Instance.Lambda.Multi Category.Instance.Lambda.Sound Category.Instance.Lambda.Step Equations(Equations)