]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/ground_2/ynat/ynat_pred.ma
rtmap (platform-indepent multple relocation): application and composition
[helm.git] / matita / matita / contribs / lambdadelta / ground_2 / ynat / ynat_pred.ma
index 1f14ea6c0c0f57522257d26b43870251eef35322..07fed2a507ba2d1bb940e3dfc7362b5a6748bb92 100644 (file)
 (*                                                                        *)
 (**************************************************************************)
 
-include "ground_2/notation/functions/predecessor_1.ma".
-include "ground_2/lib/arith.ma".
 include "ground_2/ynat/ynat.ma".
 
 (* NATURAL NUMBERS WITH INFINITY ********************************************)
 
 (* the predecessor function *)
 definition ypred: ynat → ynat ≝ λm. match m with
-[ yinj m ⇒ pred m
+[ yinj m ⇒ m
 | Y      ⇒ Y
 ].
 
 interpretation "ynat predecessor" 'Predecessor m = (ypred m).
 
-lemma ypred_O: ⫰0 = 0.
+lemma ypred_O: ⫰(yinj 0) = yinj 0.
 // qed.
 
-lemma ypred_S: ∀m:nat. ⫰(S m) = m.
+lemma ypred_S: ∀m:nat. ⫰(⫯m) = yinj m.
 // qed.
 
 lemma ypred_Y: (⫰∞) = ∞.
@@ -37,7 +35,7 @@ lemma ypred_Y: (⫰∞) = ∞.
 
 (* Inversion lemmas *********************************************************)
 
-lemma ypred_inv_refl: ∀m. ⫰m = m → m = 0 ∨ m = ∞.
+lemma ypred_inv_refl: ∀m:ynat. ⫰m = m → m = 0 ∨ m = ∞.
 * // #m #H lapply (yinj_inj … H) -H (**) (* destruct lemma needed *)
 /4 width=1 by pred_inv_refl, or_introl, eq_f/
 qed-.