src/HOL/simpdata.ML
changeset 3904 c0d56e4c823e
parent 3896 ee8ebb74ec00
child 3913 96e28b16861c
equal deleted inserted replaced
3903:1b29151a1009 3904:c0d56e4c823e
   236 
   236 
   237 (*These two are specialized, but imp_disj_not1 is useful in Auth/Yahalom.ML*)
   237 (*These two are specialized, but imp_disj_not1 is useful in Auth/Yahalom.ML*)
   238 prove "imp_disj_not1" "((P --> Q | R)) = (~Q --> P --> R)";
   238 prove "imp_disj_not1" "((P --> Q | R)) = (~Q --> P --> R)";
   239 prove "imp_disj_not2" "((P --> Q | R)) = (~R --> P --> Q)";
   239 prove "imp_disj_not2" "((P --> Q | R)) = (~R --> P --> Q)";
   240 
   240 
       
   241 prove "imp_disj1" "((P-->Q)|R) = (P--> Q|R)";
       
   242 prove "imp_disj2" "(Q|(P-->R)) = (P--> Q|R)";
       
   243 
   241 prove "de_Morgan_disj" "(~(P | Q)) = (~P & ~Q)";
   244 prove "de_Morgan_disj" "(~(P | Q)) = (~P & ~Q)";
   242 prove "de_Morgan_conj" "(~(P & Q)) = (~P | ~Q)";
   245 prove "de_Morgan_conj" "(~(P & Q)) = (~P | ~Q)";
   243 prove "not_imp" "(~(P --> Q)) = (P & ~Q)";
   246 prove "not_imp" "(~(P --> Q)) = (P & ~Q)";
   244 prove "not_iff" "(P~=Q) = (P = (~Q))";
   247 prove "not_iff" "(P~=Q) = (P = (~Q))";
   245 
   248 
   369     HOL_basic_ss addsimps 
   372     HOL_basic_ss addsimps 
   370      ([triv_forall_equality, (* prunes params *)
   373      ([triv_forall_equality, (* prunes params *)
   371        True_implies_equals, (* prune asms `True' *)
   374        True_implies_equals, (* prune asms `True' *)
   372        if_True, if_False, if_cancel,
   375        if_True, if_False, if_cancel,
   373        o_apply, imp_disjL, conj_assoc, disj_assoc,
   376        o_apply, imp_disjL, conj_assoc, disj_assoc,
   374        de_Morgan_conj, de_Morgan_disj, not_imp,
   377        de_Morgan_conj, de_Morgan_disj, imp_disj1, imp_disj2, not_imp,
   375        not_all, not_ex, cases_simp]
   378        not_all, not_ex, cases_simp]
   376      @ ex_simps @ all_simps @ simp_thms)
   379      @ ex_simps @ all_simps @ simp_thms)
   377      addsimprocs [defEX_regroup]
   380      addsimprocs [defEX_regroup]
   378      addcongs [imp_cong];
   381      addcongs [imp_cong];
   379 
   382