# HG changeset patch # User nipkow # Date 1429976302 -7200 # Node ID 6d7b7a037e8d3bca2b9535e660ea6210b7a87e6b # Parent bcb680bbcd0009166dd11a26422f7b2bc9c2f603 new ==> simp rule diff -r bcb680bbcd00 -r 6d7b7a037e8d src/HOL/Extraction.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 diff -r bcb680bbcd00 -r 6d7b7a037e8d src/HOL/HOL.thy --- 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 \ P) \ Trueprop True" by default simp_all +lemma implies_False_swap: + "(False \ PROP P \ PROP Q) \ (PROP P \ False \ 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