X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Flibrary%2Fnat%2Fgcd.ma;h=dcdbc7b7ad302405a445bef9cc1bcf9bdb1f4235;hb=68dbcd02022874a025a9444aa1125b0458816fbb;hp=b970fb0c3ba1b1f1096cead8eb4951f1f2dafa87;hpb=7de49ed6d5606e958fb00ec48bef43877dd2039a;p=helm.git diff --git a/helm/software/matita/library/nat/gcd.ma b/helm/software/matita/library/nat/gcd.ma index b970fb0c3..dcdbc7b7a 100644 --- a/helm/software/matita/library/nat/gcd.ma +++ b/helm/software/matita/library/nat/gcd.ma @@ -755,14 +755,14 @@ cut (n \divides p \lor n \ndivides p) |right. cut (\exists a,b. a*n - b*p = (S O) \lor b*p - a*n = (S O)) [elim Hcut1.elim H3.elim H4 - [(* first case *) - rewrite > (times_n_SO q).rewrite < H5. + [rewrite > (times_n_SO q).rewrite < H5. rewrite > distr_times_minus. + elim H1. + autobatch by witness; + (* rewrite > (sym_times q (a1*p)). rewrite > (assoc_times a1). - elim H1. - applyS (witness n ? ? (refl_eq ? ?)) (* timeout=50 *). - (* + applyS (witness n ? ? (refl_eq ? ?)). rewrite < (sym_times n).rewrite < assoc_times. rewrite > (sym_times q).rewrite > assoc_times. rewrite < (assoc_times a1).rewrite < (sym_times n). @@ -773,11 +773,12 @@ cut (n \divides p \lor n \ndivides p) |(* second case *) rewrite > (times_n_SO q).rewrite < H5. rewrite > distr_times_minus. + elim H1. autobatch by witness; + (* rewrite > (sym_times q (a1*p)). rewrite > (assoc_times a1). - elim H1.rewrite > H6. - applyS (witness n ? ? (refl_eq ? ?)) (* timeout=50 *). - (* + rewrite > H6. + applyS (witness n ? ? (refl_eq ? ?)). rewrite < sym_times.rewrite > assoc_times. rewrite < (assoc_times q). rewrite < (sym_times n). @@ -877,19 +878,15 @@ cut (n \divides p \lor n \ndivides p) |cut (\exists a,b. a*n - b*m = (S O) \lor b*m - a*n = (S O)) [elim Hcut1.elim H4.elim H5 [(* first case *) + elim H2. rewrite > (times_n_SO p).rewrite < H6. rewrite > distr_times_minus. - rewrite > (sym_times p (a1*m)). - rewrite > (assoc_times a1). - elim H2.rewrite > H7. - applyS (witness n ? ? (refl_eq ? ?)) (* timeout=50 *). - |(* second case *) + autobatch by witness, divides_minus. + |(* second case *) + elim H2. rewrite > (times_n_SO p).rewrite < H6. rewrite > distr_times_minus. - rewrite > (sym_times p (a1*m)). - rewrite > (assoc_times a1). - elim H2.rewrite > H7. - applyS (witness n ? ? (refl_eq ? ?)). + autobatch by witness, divides_minus. ](* end second case *) |rewrite < H1.apply eq_minus_gcd. ] @@ -925,9 +922,13 @@ rewrite > H4 in H2. elim (divides_times_to_divides ? ? ? H H2) [apply False_ind.apply H1.assumption |elim H5. + autobatch by transitive_divides, H5, reflexive_divides,divides_times. + (* apply (witness ? ? n2). rewrite > sym_times in ⊢ (? ? ? (? % ?)). rewrite > assoc_times. - rewrite < H6.assumption + autobatch. + (*rewrite < H6.assumption*) + *) ] qed. \ No newline at end of file