(*Should be used as swap since ~P becomes redundant*)
schematic_goal swap: assumes major: "p:~P" and r: "!!x. x:~Q ==> f(x):P" shows"?p : Q" apply (rule classical) apply (rule major [THENnotE]) apply (rule r) apply assumption done
ML_file \<open>classical.ML\<close> (* Patched because matching won't instantiate proof *)
ML_file \<open>simp.ML\<close> (* Patched because matching won't instantiate proof *)
ML \<open> structure Cla = Classical
(
val sizef = size_of_thm
val mp = @{thm mp}
val not_elim = @{thmnotE}
val swap = @{thm swap} fun hyp_subst_tacs ctxt = [hyp_subst_tac ctxt]
); open Cla;
(*Propositional rules -- iffCE might seem better, but in the examples in ex/cla
run about 7% slower than with iffE*)
val prop_cs =
empty_cs addSIs [@{thm refl}, @{thm TrueI}, @{thm conjI}, @{thm disjCI},
@{thm impI}, @{thm notI}, @{thm iffI}]
addSEs [@{thm conjE}, @{thm disjE}, @{thm impCE}, @{thm FalseE}, @{thm iffE}];
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.