]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/library/nat/plus.ma
A little bit more of notation here and there.
[helm.git] / helm / matita / library / nat / plus.ma
index 39e48f21e58a85811b1eb99e4666cb0c89dcaea3..6067ebcdcd6b87ffde1fe7bce0059627e6723fb7 100644 (file)
@@ -21,13 +21,16 @@ let rec plus n m \def
  [ O \Rightarrow m
  | (S p) \Rightarrow S (plus p m) ].
 
-theorem plus_n_O: \forall n:nat. n = plus n O.
+interpretation "natural plus" 'plus x y = (cic:/matita/nat/plus/plus.con x y).
+alias symbol "plus" (instance 0) = "natural plus".
+
+theorem plus_n_O: \forall n:nat. n = n+O.
 intros.elim n.
 simplify.reflexivity.
 simplify.apply eq_f.assumption.
 qed.
 
-theorem plus_n_Sm : \forall n,m:nat. S (plus n  m) = plus n (S m).
+theorem plus_n_Sm : \forall n,m:nat. S (n+m) = n+(S m).
 intros.elim n.
 simplify.reflexivity.
 simplify.apply eq_f.assumption.
@@ -38,7 +41,7 @@ and functions/symmetric; functions symmetric is not in
 functions.moo why?
 theorem symmetric_plus: symmetric nat plus. *)
 
-theorem sym_plus: \forall n,m:nat. plus n m = plus m n.
+theorem sym_plus: \forall n,m:nat. n+m = m+n.
 intros.elim n.
 simplify.apply plus_n_O.
 simplify.rewrite > H.apply plus_n_Sm.
@@ -50,19 +53,19 @@ simplify.reflexivity.
 simplify.apply eq_f.assumption.
 qed.
 
-theorem assoc_plus : \forall n,m,p:nat. plus (plus n m) p = plus n (plus m p)
+theorem assoc_plus : \forall n,m,p:nat. (n+m)+p = n+(m+p)
 \def associative_plus.
 
-theorem injective_plus_r: \forall n:nat.injective nat nat (\lambda m.plus n m).
+theorem injective_plus_r: \forall n:nat.injective nat nat (\lambda m.n+m).
 intro.simplify.intros 2.elim n.
 exact H.
 apply H.apply inj_S.apply H1.
 qed.
 
-theorem inj_plus_r: \forall p,n,m:nat. plus p n = plus p m \to n=m
+theorem inj_plus_r: \forall p,n,m:nat. p+n = p+m \to n=m
 \def injective_plus_r.
 
-theorem injective_plus_l: \forall m:nat.injective nat nat (\lambda n.plus n m).
+theorem injective_plus_l: \forall m:nat.injective nat nat (\lambda n.n+m).
 intro.simplify.intros.
 (* qui vorrei applicare injective_plus_r *)
 apply inj_plus_r m.
@@ -71,5 +74,5 @@ rewrite < sym_plus y.
 assumption.
 qed.
 
-theorem inj_plus_l: \forall p,n,m:nat. plus n p = plus m p \to n=m
+theorem inj_plus_l: \forall p,n,m:nat. n+p = m+p \to n=m
 \def injective_plus_l.