[ O \Rightarrow m
| (S p) \Rightarrow S (plus p m) ].
-theorem plus_n_O: \forall n:nat. eq nat n (plus n O).
+theorem plus_n_O: \forall n:nat. n = plus n O.
intros.elim n.
simplify.reflexivity.
simplify.apply eq_f.assumption.
qed.
-theorem plus_n_Sm : \forall n,m:nat. eq nat (S (plus n m)) (plus n (S m)).
+theorem plus_n_Sm : \forall n,m:nat. S (plus n m) = plus n (S m).
intros.elim n.
simplify.reflexivity.
simplify.apply eq_f.assumption.
functions.moo why?
theorem symmetric_plus: symmetric nat plus. *)
-theorem sym_plus: \forall n,m:nat. eq nat (plus n m) (plus m n).
+theorem sym_plus: \forall n,m:nat. plus n m = plus m n.
intros.elim n.
simplify.apply plus_n_O.
simplify.rewrite > H.apply plus_n_Sm.
simplify.apply eq_f.assumption.
qed.
-theorem assoc_plus : \forall n,m,p:nat. eq nat (plus (plus n m) p) (plus n (plus m p))
+theorem assoc_plus : \forall n,m,p:nat. plus (plus n m) p = plus n (plus m p)
\def associative_plus.
theorem injective_plus_r: \forall n:nat.injective nat nat (\lambda m.plus n m).
apply H.apply inj_S.apply H1.
qed.
-theorem inj_plus_r: \forall p,n,m:nat.eq nat (plus p n) (plus p m) \to (eq nat n m)
+theorem inj_plus_r: \forall p,n,m:nat. plus p n = plus p m \to n=m
\def injective_plus_r.
theorem injective_plus_l: \forall m:nat.injective nat nat (\lambda n.plus n m).
assumption.
qed.
-theorem inj_plus_l: \forall p,n,m:nat.eq nat (plus n p) (plus m p) \to (eq nat n m)
+theorem inj_plus_l: \forall p,n,m:nat. plus n p = plus m p \to n=m
\def injective_plus_l.