src/HOL/simpdata.ML
changeset 4743 b3bfcbd9fb93
parent 4718 fc2ba9fb2135
child 4744 4469d498cd48
equal deleted inserted replaced
4742:a25bb8a260ae 4743:b3bfcbd9fb93
   206 
   206 
   207 prove "de_Morgan_disj" "(~(P | Q)) = (~P & ~Q)";
   207 prove "de_Morgan_disj" "(~(P | Q)) = (~P & ~Q)";
   208 prove "de_Morgan_conj" "(~(P & Q)) = (~P | ~Q)";
   208 prove "de_Morgan_conj" "(~(P & Q)) = (~P | ~Q)";
   209 prove "not_imp" "(~(P --> Q)) = (P & ~Q)";
   209 prove "not_imp" "(~(P --> Q)) = (P & ~Q)";
   210 prove "not_iff" "(P~=Q) = (P = (~Q))";
   210 prove "not_iff" "(P~=Q) = (P = (~Q))";
   211 prove "not1_or" "(~P | Q) = (P --> Q)";
   211 prove "disj_not1" "(~P | Q) = (P --> Q)";
   212 prove "not2_or" "(P | ~Q) = (Q --> P)"; (* changes orientation :-( *)
   212 prove "disj_not2" "(P | ~Q) = (Q --> P)"; (* changes orientation :-( *)
   213 
   213 
   214 (*Avoids duplication of subgoals after expand_if, when the true and false 
   214 (*Avoids duplication of subgoals after expand_if, when the true and false 
   215   cases boil down to the same thing.*) 
   215   cases boil down to the same thing.*) 
   216 prove "cases_simp" "((P --> Q) & (~P --> Q)) = Q";
   216 prove "cases_simp" "((P --> Q) & (~P --> Q)) = Q";
   217 
   217 
   408      ([triv_forall_equality, (* prunes params *)
   408      ([triv_forall_equality, (* prunes params *)
   409        True_implies_equals, (* prune asms `True' *)
   409        True_implies_equals, (* prune asms `True' *)
   410        if_True, if_False, if_cancel, if_eq_cancel,
   410        if_True, if_False, if_cancel, if_eq_cancel,
   411        o_apply, imp_disjL, conj_assoc, disj_assoc,
   411        o_apply, imp_disjL, conj_assoc, disj_assoc,
   412        de_Morgan_conj, de_Morgan_disj, imp_disj1, imp_disj2, not_imp,
   412        de_Morgan_conj, de_Morgan_disj, imp_disj1, imp_disj2, not_imp,
   413        not1_or, not_all, not_ex, cases_simp]
   413        disj_not1, not_all, not_ex, cases_simp]
   414      @ ex_simps @ all_simps @ simp_thms)
   414      @ ex_simps @ all_simps @ simp_thms)
   415      addsimprocs [defALL_regroup,defEX_regroup]
   415      addsimprocs [defALL_regroup,defEX_regroup]
   416      addcongs [imp_cong];
   416      addcongs [imp_cong];
   417 
   417 
   418 qed_goal "if_distrib" HOL.thy
   418 qed_goal "if_distrib" HOL.thy