src/ZF/Arith.ML
changeset 2637 e9b203f854ae
parent 2493 bdeb5024353a
child 3016 15763781afb0
equal deleted inserted replaced
2636:4b30dbe4a020 2637:e9b203f854ae
   535 goal Arith.thy "!!k. [| m: nat; n: nat |] ==> 0 < m#*n <-> 0<m & 0<n";
   535 goal Arith.thy "!!k. [| m: nat; n: nat |] ==> 0 < m#*n <-> 0<m & 0<n";
   536 by (best_tac (!claset addEs [natE] addss (!simpset)) 1);
   536 by (best_tac (!claset addEs [natE] addss (!simpset)) 1);
   537 qed "zero_lt_mult_iff";
   537 qed "zero_lt_mult_iff";
   538 
   538 
   539 goal Arith.thy "!!k. [| m: nat; n: nat |] ==> m#*n = 1 <-> m=1 & n=1";
   539 goal Arith.thy "!!k. [| m: nat; n: nat |] ==> m#*n = 1 <-> m=1 & n=1";
   540 by (best_tac (!claset addEs [natE] addss (!simpset)) 1);
   540 by (best_tac (!claset addEs [natE] unsafe_addss (!simpset)) 1);
   541 qed "mult_eq_1_iff";
   541 qed "mult_eq_1_iff";
   542 
   542 
   543 (*Cancellation law for division*)
   543 (*Cancellation law for division*)
   544 goal Arith.thy
   544 goal Arith.thy
   545    "!!k. [| 0<n; 0<k; k:nat; m:nat; n:nat |] ==> (k#*m) div (k#*n) = m div n";
   545    "!!k. [| 0<n; 0<k; k:nat; m:nat; n:nat |] ==> (k#*m) div (k#*n) = m div n";
   574 
   574 
   575 goal Arith.thy "!!m n. [| m = m#*n; m: nat; n: nat |] ==> n=1 | m=0";
   575 goal Arith.thy "!!m n. [| m = m#*n; m: nat; n: nat |] ==> n=1 | m=0";
   576 by (rtac disjCI 1);
   576 by (rtac disjCI 1);
   577 by (dtac sym 1);
   577 by (dtac sym 1);
   578 by (rtac Ord_linear_lt 1 THEN REPEAT_SOME (ares_tac [nat_into_Ord,nat_1I]));
   578 by (rtac Ord_linear_lt 1 THEN REPEAT_SOME (ares_tac [nat_into_Ord,nat_1I]));
   579 by (fast_tac (!claset addss (!simpset)) 1);
   579 by (fast_tac (!claset unsafe_addss (!simpset)) 1);
   580 by (fast_tac (le_cs addDs [mono_lemma] 
   580 by (fast_tac (le_cs addDs [mono_lemma] 
   581                     addss (!simpset addsimps [mult_1_right])) 1);
   581                     addss (!simpset addsimps [mult_1_right])) 1);
   582 qed "mult_eq_self_implies_10";
   582 qed "mult_eq_self_implies_10";
   583 
   583 
   584 
   584