--- 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