]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/ground/relocation/rtmap_fcla.ma
propagating the arithmetics library, partial commit
[helm.git] / matita / matita / contribs / lambdadelta / ground / relocation / rtmap_fcla.ma
index 3474543c4983b8ba7abe485682c44e939e20f3c4..4b983a4f1f73bf79ca725d1e71bd8620d2c64ccb 100644 (file)
@@ -18,7 +18,7 @@ include "ground/relocation/rtmap_isid.ma".
 (* RELOCATION MAP ***********************************************************)
 
 inductive fcla: relation2 rtmap nat ā‰
-| fcla_isid: āˆ€f. šˆāŖfā« ā†’ fcla f 0
+| fcla_isid: āˆ€f. šˆāŖfā« ā†’ fcla f (šŸŽ)
 | fcla_push: āˆ€f,n. fcla f n ā†’ fcla (ā«Æf) n
 | fcla_next: āˆ€f,n. fcla f n ā†’ fcla (ā†‘f) (ā†‘n)
 .
@@ -45,20 +45,20 @@ qed-.
 
 lemma cla_inv_nn: āˆ€g,m. š‚āŖgā« ā‰˜ m ā†’ āˆ€f,n. ā†‘f = g ā†’ ā†‘n = m ā†’ š‚āŖfā« ā‰˜ n.
 #g #m #H #f #n #H1 #H2 elim (fcla_inv_nx ā€¦ H ā€¦ H1) -g
-#x #Hf #H destruct //
+#x #Hf #H destruct <(eq_inv_nsucc_bi ā€¦ H) -n //
 qed-.
 
-lemma cla_inv_np: āˆ€g,m. š‚āŖgā« ā‰˜ m ā†’ āˆ€f. ā†‘f = g ā†’ 0 = m ā†’ āŠ„.
+lemma cla_inv_np: āˆ€g,m. š‚āŖgā« ā‰˜ m ā†’ āˆ€f. ā†‘f = g ā†’ šŸŽ = m ā†’ āŠ„.
 #g #m #H #f #H1 elim (fcla_inv_nx ā€¦ H ā€¦ H1) -g
-#x #_ #H1 #H2 destruct
+#x #_ #H1 #H2 destruct /2 width=2 by eq_inv_zero_nsucc/
 qed-.
 
-lemma fcla_inv_xp: āˆ€g,m. š‚āŖgā« ā‰˜ m ā†’ 0 = m ā†’ šˆāŖgā«.
+lemma fcla_inv_xp: āˆ€g,m. š‚āŖgā« ā‰˜ m ā†’ šŸŽ = m ā†’ šˆāŖgā«.
 #g #m #H elim H -g -m /3 width=3 by isid_push/
-#g #m #_ #_ #H destruct
+#g #m #_ #_ #H destruct elim (eq_inv_zero_nsucc ā€¦ H)
 qed-.
 
-lemma fcla_inv_isid: āˆ€f,n. š‚āŖfā« ā‰˜ n ā†’ šˆāŖfā« ā†’ 0 = n.
+lemma fcla_inv_isid: āˆ€f,n. š‚āŖfā« ā‰˜ n ā†’ šˆāŖfā« ā†’ šŸŽ = n.
 #f #n #H elim H -f -n /3 width=3 by isid_inv_push/
 #f #n #_ #_ #H elim (isid_inv_next ā€¦ H) -H //
 qed-.
@@ -70,7 +70,7 @@ theorem fcla_mono: āˆ€f,n1. š‚āŖfā« ā‰˜ n1 ā†’ āˆ€n2. š‚āŖfā« ā‰˜ n2 ā†’
 [ /2 width=3 by fcla_inv_isid/
 | /3 width=3 by fcla_inv_px/
 | #f #n1 #_ #IH #n2 #H elim (fcla_inv_nx ā€¦ H) -H [2,3 : // ]
-  #g #Hf #H destruct /3 width=1 by eq_f/
+  #g #Hf #H destruct >IH //
 ]
 qed-.