]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/library_auto/auto/nat/minus.ma
moved dama/ and dama_didactic/ in contribs/dama/
[helm.git] / helm / software / matita / library_auto / auto / nat / minus.ma
index e7b01f9da74d4935ded46ccb73d5e633f34ab83c..8a3d893f172d163e6cf7e9853603d06d36d8e11d 100644 (file)
@@ -13,7 +13,7 @@
 (**************************************************************************)
 
 
-set "baseuri" "cic:/matita/library_auto/nat/minus".
+set "baseuri" "cic:/matita/library_autobatch/nat/minus".
 
 include "auto/nat/le_arith.ma".
 include "auto/nat/compare.ma".
@@ -27,12 +27,12 @@ let rec minus n m \def
         | (S q) \Rightarrow minus p q ]].
 
 (*CSC: the URI must disappear: there is a bug now *)
-interpretation "natural minus" 'minus x y = (cic:/matita/library_auto/nat/minus/minus.con x y).
+interpretation "natural minus" 'minus x y = (cic:/matita/library_autobatch/nat/minus/minus.con x y).
 
 theorem minus_n_O: \forall n:nat.n=n-O.
 intros.
 elim n;
-auto. (* applico auto su entrambi i goal aperti*)
+autobatch. (* applico autobatch su entrambi i goal aperti*)
 (*simplify;reflexivity.*)
 qed.
 
@@ -47,7 +47,7 @@ qed.
 theorem minus_Sn_n: \forall n:nat. S O = (S n)-n.
 intro.
 elim n
-[ auto
+[ autobatch
   (*simplify.reflexivity.*)
 | elim H.
   reflexivity
@@ -60,15 +60,15 @@ intros 2.
 apply (nat_elim2
 (\lambda n,m.m \leq n \to (S n)-m = S (n-m)));intros
 [ apply (le_n_O_elim n1 H).
-  auto
+  autobatch
   (*simplify.
   reflexivity.*)
-| auto
+| autobatch
   (*simplify.
   reflexivity.*)
 | rewrite < H
   [ reflexivity
-  | auto
+  | autobatch
     (*apply le_S_S_to_le. 
     assumption.*)
   ]
@@ -81,15 +81,15 @@ intros 2.
 apply (nat_elim2
 (\lambda n,m.\forall p:nat.m \leq n \to (n-m)+p = (n+p)-m));intros
 [ apply (le_n_O_elim ? H).
-  auto
+  autobatch
   (*simplify.
   rewrite < minus_n_O.
   reflexivity.*)
-| auto
+| autobatch
   (*simplify.
   reflexivity.*)
 | simplify.
-  auto
+  autobatch
   (*apply H.
   apply le_S_S_to_le.
   assumption.*)
@@ -103,7 +103,7 @@ elim m
 [ rewrite < minus_n_O.
   apply plus_n_O.
 | elim n2
-  [ auto
+  [ autobatch
     (*simplify.
     apply minus_n_n.*)
   | rewrite < plus_n_Sm.
@@ -119,7 +119,7 @@ intros 2.
 apply (nat_elim2 (\lambda n,m.m \leq n \to n = (n-m)+m));intros
 [ apply (le_n_O_elim n1 H).
   reflexivity
-| auto
+| autobatch
   (*simplify.
   rewrite < plus_n_O.
   reflexivity.*)
@@ -128,7 +128,7 @@ apply (nat_elim2 (\lambda n,m.m \leq n \to n = (n-m)+m));intros
   simplify.
   apply eq_f.
   rewrite < sym_plus.
-  auto
+  autobatch
   (*apply H.
   apply le_S_S_to_le.
   assumption.*)
@@ -137,7 +137,7 @@ qed.
 
 theorem minus_to_plus :\forall n,m,p:nat.m \leq n \to n-m = p \to 
 n = m+p.
-intros.apply (trans_eq ? ? ((n-m)+m));auto.
+intros.apply (trans_eq ? ? ((n-m)+m));autobatch.
 (*[ apply plus_minus_m_m.
   apply H.
 | elim H1.
@@ -152,7 +152,7 @@ apply (inj_plus_r m).
 rewrite < H.
 rewrite < sym_plus.
 symmetry.
-auto.
+autobatch.
 (*apply plus_minus_m_m.
 rewrite > H.
 rewrite > sym_plus.
@@ -172,7 +172,7 @@ apply (lt_O_n_elim n H).
 intro.
 apply (lt_O_n_elim m H1).
 intro.
-auto.
+autobatch.
 (*simplify.reflexivity.*)
 qed.
 
@@ -180,11 +180,11 @@ theorem eq_minus_n_m_O: \forall n,m:nat.
 n \leq m \to n-m = O.
 intros 2.
 apply (nat_elim2 (\lambda n,m.n \leq m \to n-m = O));intros
-[ auto
+[ autobatch
   (*simplify.
   reflexivity.*)
 | apply False_ind.
-  auto
+  autobatch
   (*apply not_le_Sn_O.
   goal 15.*) (*prima goal 13*) 
 (* effettuando un'esecuzione passo-passo, quando si arriva a dover 
@@ -198,7 +198,7 @@ apply (nat_elim2 (\lambda n,m.n \leq m \to n-m = O));intros
  *)
   (*apply H.*)
 | simplify.
-  auto
+  autobatch
   (*apply H.
   apply le_S_S_to_le. 
   apply H1.*)
@@ -209,7 +209,7 @@ theorem le_SO_minus: \forall n,m:nat.S n \leq m \to S O \leq m-n.
 intros.
 elim H
 [ elim (minus_Sn_n n).apply le_n
-| rewrite > minus_Sn_m;auto
+| rewrite > minus_Sn_m;autobatch
   (*apply le_S.assumption.
   apply lt_to_le.assumption.*)
 ]
@@ -222,7 +222,7 @@ intros.apply (nat_elim2 (\lambda n,m.m-n \leq S (m-(S n))));intros
   | rewrite < minus_n_O.
     apply le_n.
   ]
-| auto 
+| autobatch 
   (*simplify.apply le_n_Sn.*)
 | simplify.apply H.
 ]
@@ -230,7 +230,7 @@ qed.
 
 theorem lt_minus_S_n_to_le_minus_n : \forall n,m,p:nat. m-(S n) < p \to m-n \leq p. 
 intros 3.
-auto.
+autobatch.
 (*simplify.
 intro.
 apply (trans_le (m-n) (S (m-(S n))) p).
@@ -240,14 +240,14 @@ qed.
 
 theorem le_minus_m: \forall n,m:nat. n-m \leq n.
 intros.apply (nat_elim2 (\lambda m,n. n-m \leq n));intros
-[ auto
+[ autobatch
   (*rewrite < minus_n_O.
   apply le_n.*)
-| auto
+| autobatch
   (*simplify.
   apply le_n.*)
 | simplify.
-  auto
+  autobatch
   (*apply le_S.
   assumption.*)
 ]
@@ -260,7 +260,7 @@ intro.
 apply (lt_O_n_elim m H1).
 intro.
 simplify.
-auto.
+autobatch.
 (*unfold lt.
 apply le_S_S.
 apply le_minus_m.*)
@@ -276,7 +276,7 @@ apply (nat_elim2 (\lambda n,m:nat.n-m \leq O \to n \leq m))
   assumption
 | simplify.
   intros.
-  auto
+  autobatch
   (*apply le_S_S.
   apply H.
   assumption.*)
@@ -295,11 +295,11 @@ apply (nat_elim2
 | rewrite < minus_n_O.
   apply le_minus_m.
 | elim a
-  [ auto
+  [ autobatch
     (*simplify.
     apply le_n.*)
   | simplify.
-    auto
+    autobatch
     (*apply H.
     apply le_S_S_to_le.
     assumption.*)
@@ -324,12 +324,12 @@ theorem le_plus_to_minus: \forall n,m,p. (le n (p+m)) \to (le (n-m) p).
 intros 2.
 apply (nat_elim2 (\lambda n,m.\forall p.(le n (p+m)) \to (le (n-m) p)))
 [ intros.
-  auto
+  autobatch
   (*simplify.
   apply le_O_n.*)
 | intros 2.
   rewrite < plus_n_O.
-  auto
+  autobatch
   (*intro.
   simplify.
   assumption.*)
@@ -348,17 +348,17 @@ intros 3.
 apply (nat_elim2 (\lambda m,p.(le (n+m) p) \to (le n (p-m))));intro
 [ rewrite < plus_n_O.
   rewrite < minus_n_O.
-  auto
+  autobatch
   (*intro.
   assumption.*)
 | intro.
   cut (n=O)
-  [ auto
+  [ autobatch
     (*rewrite > Hcut.
     apply le_O_n.*)
   | apply sym_eq. 
     apply le_n_O_to_eq.
-    auto
+    autobatch
     (*apply (trans_le ? (n+(S n1)))
     [ rewrite < sym_plus.
       apply le_plus_n
@@ -381,7 +381,7 @@ apply (nat_elim2 (\lambda m,p.(lt n (p-m)) \to (lt (n+m) p)))
 [ intro.
   rewrite < plus_n_O.
   rewrite < minus_n_O.
-  auto
+  autobatch
   (*intro.
   assumption.*)
 | simplify.
@@ -393,7 +393,7 @@ apply (nat_elim2 (\lambda m,p.(lt n (p-m)) \to (lt (n+m) p)))
   unfold lt.
   apply le_S_S.
   rewrite < plus_n_Sm.
-  auto
+  autobatch
   (*apply H.
   apply H1.*)
 ]
@@ -404,15 +404,15 @@ unfold distributive.
 intros.
 apply ((leb_elim z y));intro
 [ cut (x*(y-z)+x*z = (x*y-x*z)+x*z)
-    [ auto
+    [ autobatch
       (*apply (inj_plus_l (x*z)).
       assumption.*)
     | apply (trans_eq nat ? (x*y))
       [ rewrite < distr_times_plus.
-        auto
+        autobatch
         (*rewrite < (plus_minus_m_m ? ? H).
         reflexivity.*)
-      | rewrite < plus_minus_m_m;auto
+      | rewrite < plus_minus_m_m;autobatch
         (*[ reflexivity.
         | apply le_times_r.
           assumption.
@@ -421,17 +421,17 @@ apply ((leb_elim z y));intro
     ]
 | rewrite > eq_minus_n_m_O
   [ rewrite > (eq_minus_n_m_O (x*y))
-    [ auto
+    [ autobatch
       (*rewrite < sym_times.
       simplify.
       reflexivity.*)
     | apply le_times_r.
       apply lt_to_le.
-      auto
+      autobatch
       (*apply not_le_to_lt.
       assumption.*)
     ]
-  | auto
+  | autobatch
     (*apply lt_to_le.
     apply not_le_to_lt.
     assumption.*)
@@ -447,7 +447,7 @@ intros.
 apply plus_to_minus.
 rewrite > sym_plus in \vdash (? ? ? %).
 rewrite > assoc_plus.
-auto.
+autobatch.
 (*rewrite < plus_minus_m_m.
 reflexivity.
 assumption.
@@ -464,7 +464,7 @@ cut (m+p \le n \or m+p \nleq n)
     rewrite > (sym_plus p).
     rewrite < plus_minus_m_m
     [ rewrite > sym_plus.
-      rewrite < plus_minus_m_m ; auto
+      rewrite < plus_minus_m_m ; autobatch
       (*[ reflexivity.
       | apply (trans_le ? (m+p))
         [ rewrite < sym_plus.
@@ -482,11 +482,11 @@ cut (m+p \le n \or m+p \nleq n)
       | apply le_plus_to_minus.
         apply lt_to_le.
         rewrite < sym_plus.
-        auto
+        autobatch
         (*apply not_le_to_lt. 
         assumption.*)
       ]
-    | auto
+    | autobatch
       (*apply lt_to_le.
       apply not_le_to_lt.
       assumption.*)          
@@ -504,7 +504,7 @@ apply plus_to_minus.
 rewrite < assoc_plus.
 rewrite < plus_minus_m_m;
 [ rewrite < sym_plus.
-  auto
+  autobatch
   (*rewrite < plus_minus_m_m
   [ reflexivity
   | assumption