Proof of mult_le_mono is now more robust
authorpaulson
Mon, 23 Sep 1996 18:09:53 +0200
changeset 2007 968f78b52540
parent 2006 72754e060aa2
child 2008 cd81b719142d
Proof of mult_le_mono is now more robust
src/HOL/Arith.ML
--- a/src/HOL/Arith.ML	Mon Sep 23 17:47:49 1996 +0200
+++ b/src/HOL/Arith.ML	Mon Sep 23 18:09:53 1996 +0200
@@ -530,9 +530,11 @@
 
 (*<=monotonicity, BOTH arguments*)
 goal Arith.thy "!!i::nat. [| i<=j; k<=l |] ==> i*k<=j*l";
+by (etac (mult_le_mono1 RS le_trans) 1);
 by (rtac le_trans 1);
-by (ALLGOALS 
-    (deepen_tac (!claset addIs [mult_commute RS ssubst, mult_le_mono1]) 0));
+by (stac mult_commute 2);
+by (etac mult_le_mono1 2);
+by (simp_tac (!simpset addsimps [mult_commute]) 1);
 qed "mult_le_mono";
 
 (*strict, in 1st argument; proof is by induction on k>0*)