]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/ground/arith/pnat.ma
propagating the arithmetics library, partial commit
[helm.git] / matita / matita / contribs / lambdadelta / ground / arith / pnat.ma
index 059a7a3322c39d394f5c69d419c85de4ce46f747..516ba683a1687802780fa3b7eba0724612941562 100644 (file)
@@ -38,6 +38,13 @@ lemma eq_inv_psucc_bi: injective … psucc.
 #p #q #H destruct //
 qed.
 
+lemma psucc_inv_refl (p): p = ↑p → ⊥.
+#p elim p -p
+[ #H destruct
+| #p #IH #H /3 width=1 by eq_inv_psucc_bi/
+]
+qed-.
+
 (* Basic constructions ******************************************************)
 
 lemma eq_pnat_dec (p1,p2:pnat): Decidable (p1 = p2).
@@ -48,3 +55,14 @@ lemma eq_pnat_dec (p1,p2:pnat): Decidable (p1 = p2).
 | /2 width=1 by or_introl/
 ]
 qed-.
+
+(* Basic eliminations *******************************************************)
+
+lemma pnat_ind_2 (Q:relation2 …):
+      (∀q. Q (𝟏) q) →
+      (∀p. Q p (𝟏) → Q (↑p) (𝟏)) →
+      (∀p,q. Q p q → Q (↑p) (↑q)) →
+      ∀p,q. Q p q.
+#Q #IH1 #IH2 #IH3 #p elim p -p [ // ]
+#p #IH #q elim q -q /2 width=1 by/
+qed-.