New theorem eq_imp_le
authorpaulson
Fri, 20 Feb 1998 11:07:51 +0100
changeset 4635 c448e09d0fca
parent 4634 83d364462ce1
child 4636 f6b89d9b0076
New theorem eq_imp_le
src/HOL/NatDef.ML
--- a/src/HOL/NatDef.ML	Thu Feb 19 15:01:25 1998 +0100
+++ b/src/HOL/NatDef.ML	Fri Feb 20 11:07:51 1998 +0100
@@ -302,8 +302,8 @@
 qed "neq0_conv";
 AddIffs [neq0_conv];
 
-
-bind_thm("gr0I", notI RS (neq0_conv RS iffD1));
+(*This theorem is useful with blast_tac: (n=0 ==> False) ==> 0<n *)
+bind_thm ("gr0I", [neq0_conv, notI] MRS iffD1);
 
 goal thy "(~(0 < n)) = (n=0)";
 by (rtac iffI 1);
@@ -545,6 +545,9 @@
 by (REPEAT(ares_tac [iffI,less_or_eq_imp_le,le_imp_less_or_eq] 1));
 qed "le_eq_less_or_eq";
 
+(*Useful with Blast_tac.   m=n ==> m<=n *)
+bind_thm ("eq_imp_le", disjI2 RS less_or_eq_imp_le);
+
 goal thy "n <= (n::nat)";
 by (simp_tac (simpset() addsimps [le_eq_less_or_eq]) 1);
 qed "le_refl";