]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/library/nat/generic_iter_p.ma
update in groud_2 and models
[helm.git] / helm / software / matita / library / nat / generic_iter_p.ma
index f89c32f870c6f4dfe26fd4406ce8a7079a3ea39f..7f51ac700c18e1a391e96c03c7462d1db03c536f 100644 (file)
@@ -12,8 +12,6 @@
 (*                                                                        *)
 (**************************************************************************)
 
-set "baseuri" "cic:/matita/nat/generic_iter_p".
-
 include "nat/div_and_mod_diseq.ma".
 include "nat/primes.ma".
 include "nat/ord.ma".
@@ -160,8 +158,7 @@ iter_p_gen (k + n) p A g baseA plusA
 intros.
 
 elim k
-[ rewrite < (plus_n_O n).
-  simplify.
+[ simplify.
   rewrite > H in \vdash (? ? ? %).
   rewrite > (H1 ?).
   reflexivity
@@ -285,8 +282,7 @@ elim n
           rewrite > sym_plus.
           rewrite > (div_plus_times ? ? ? H5).
           rewrite > (mod_plus_times ? ? ? H5).
-          rewrite > H4.
-          simplify.reflexivity.   
+          reflexivity.   
         ]
       | reflexivity
       ]
@@ -368,8 +364,7 @@ elim n
           rewrite > sym_plus.
           rewrite > (div_plus_times ? ? ? H5).
           rewrite > (mod_plus_times ? ? ? H5).
-          rewrite > H4.
-          simplify.reflexivity.   
+          reflexivity.   
         ]
       | reflexivity
       ]
@@ -621,7 +616,7 @@ elim n
                   rewrite > H8
                   [ reflexivity
                   | assumption
-                  | autobatch
+                  | apply andb_true_true; [2: apply H12]
                   ]
                 | apply eqb_false_to_not_eq.
                   generalize in match H14.
@@ -921,7 +916,7 @@ cut (O < p)
            apply eq_f.
            rewrite > sym_plus.
            apply plus_minus_m_m.
-           autobatch
+           autobatch by le_S_S_to_le, lt_mod_m_m, lt_O_S;
           ]
         ]
       |intros.
@@ -946,8 +941,8 @@ cut (O < p)
         [apply le_S_S_to_le.
          change with ((i/S m) < S n).
          apply (lt_times_to_lt_l m).
-         apply (le_to_lt_to_lt ? i)
-          [autobatch|assumption]
+         apply (le_to_lt_to_lt ? i);[2:assumption]
+         autobatch by eq_plus_to_le, div_mod, lt_O_S.
         |apply le_exp
           [assumption
           |apply le_S_S_to_le.
@@ -1573,7 +1568,10 @@ apply (trans_eq ? ?
                 [ assumption
                 | assumption
                 ]
-              | rewrite > H14.
+              | unfold ha.
+                unfold ha12.
+                unfold ha22.
+                rewrite > H14.
                 rewrite > H13.
                 apply sym_eq.
                 apply div_mod.
@@ -1620,18 +1618,23 @@ apply (trans_eq ? ?
                 rewrite > Hcut.
                 assumption
               ] 
-            | rewrite > Hcut1.
+            | unfold ha.
+              unfold ha12.
+              rewrite > Hcut1.
               rewrite > Hcut.
               assumption
             ]
-          | rewrite > Hcut1.
+          | unfold ha.
+            unfold ha22.
+            rewrite > Hcut1.
             rewrite > Hcut.
             assumption            
           ]
         | cut(O \lt m1)
           [ cut(O \lt n1)      
             [ apply (lt_to_le_to_lt ? ((h11 i j)*m1 + m1) )
-              [ apply (lt_plus_r).
+              [ unfold ha.
+                apply (lt_plus_r).
                 assumption
               | rewrite > sym_plus.
                 rewrite > (sym_times (h11 i j) m1).
@@ -1757,7 +1760,4 @@ apply (iter_p_gen_2_eq A baseA plusA H H1 H2 (\lambda x,y. g x y) (\lambda x,y.y
     |assumption
     ]
   ]
-qed.
-
-
-
+qed.
\ No newline at end of file