new ==> simp rule
authornipkow
Sat, 25 Apr 2015 17:38:22 +0200
changeset 60147 6d7b7a037e8d
parent 60146 bcb680bbcd00
child 60148 f0fc2378a479
new ==> simp rule
src/HOL/Extraction.thy
src/HOL/HOL.thy
--- a/src/HOL/Extraction.thy	Wed Apr 22 20:07:00 2015 +0200
+++ b/src/HOL/Extraction.thy	Sat Apr 25 17:38:22 2015 +0200
@@ -32,7 +32,7 @@
   induct_atomize induct_atomize' induct_rulify induct_rulify'
   induct_rulify_fallback induct_trueI
   True_implies_equals implies_True_equals TrueE
-  False_implies_equals
+  False_implies_equals implies_False_swap
 
 lemmas [extraction_expand_def] =
   HOL.induct_forall_def HOL.induct_implies_def HOL.induct_equal_def HOL.induct_conj_def
--- a/src/HOL/HOL.thy	Wed Apr 22 20:07:00 2015 +0200
+++ b/src/HOL/HOL.thy	Sat Apr 25 17:38:22 2015 +0200
@@ -1270,6 +1270,10 @@
 lemma False_implies_equals: "(False \<Longrightarrow> P) \<equiv> Trueprop True"
 by default simp_all
 
+lemma implies_False_swap:
+  "(False \<Longrightarrow> PROP P \<Longrightarrow> PROP Q) \<equiv> (PROP P \<Longrightarrow> False \<Longrightarrow> PROP Q)"
+by(rule swap_prems_eq)
+
 lemma ex_simps:
   "!!P Q. (EX x. P x & Q)   = ((EX x. P x) & Q)"
   "!!P Q. (EX x. P & Q x)   = (P & (EX x. Q x))"
@@ -1293,7 +1297,7 @@
 lemmas [simp] =
   triv_forall_equality (*prunes params*)
   True_implies_equals implies_True_equals (*prune True in asms*)
-  False_implies_equals (*prune False in asms*)
+  False_implies_equals implies_False_swap (*prune False in asms*)
   if_True
   if_False
   if_cancel