diff -r 4939494ed791 -r ce654b0e6d69 src/HOL/TPTP/TPTP_Proof_Reconstruction.thy --- a/src/HOL/TPTP/TPTP_Proof_Reconstruction.thy Tue Feb 13 14:24:50 2018 +0100 +++ b/src/HOL/TPTP/TPTP_Proof_Reconstruction.thy Thu Feb 15 12:11:00 2018 +0100 @@ -346,8 +346,8 @@ "(((A :: bool) = B) = True) == (((A \ B) = True) & ((B \ A) = True))" "((A :: bool) = B) = False == (((~A) | B) = False) | (((~B) | A) = False)" - "((F = G) = True) == (! x. (F x = G x)) = True" - "((F = G) = False) == (! x. (F x = G x)) = False" + "((F = G) = True) == (\x. (F x = G x)) = True" + "((F = G) = False) == (\x. (F x = G x)) = False" "(A | B) = True == (A = True) | (B = True)" "(A & B) = False == (A = False) | (B = False)" @@ -403,7 +403,7 @@ "((A \ B) = (C \ D)) = False \ (B = C) = False \ (A = D) = False" by auto -lemma extuni_func [rule_format]: "(F = G) = False \ (! X. (F X = G X)) = False" by auto +lemma extuni_func [rule_format]: "(F = G) = False \ (\X. (F X = G X)) = False" by auto subsection "Emulation: tactics" @@ -482,18 +482,18 @@ subsection "Skolemisation" lemma skolemise [rule_format]: - "\ P. (~ (! x. P x)) \ ~ (P (SOME x. ~ P x))" + "\ P. (\ (\x. P x)) \ \ (P (SOME x. ~ P x))" proof - - have "\ P. (~ (! x. P x)) \ ~ (P (SOME x. ~ P x))" + have "\ P. (\ (\x. P x)) \ \ (P (SOME x. ~ P x))" proof - fix P - assume ption: "~ (! x. P x)" - hence a: "? x. ~ P x" by force + assume ption: "\ (\x. P x)" + hence a: "\x. \ P x" by force - have hilbert : "\ P. (? x. P x) \ (P (SOME x. P x))" + have hilbert : "\P. (\x. P x) \ (P (SOME x. P x))" proof - fix P - assume "(? x. P x)" + assume "(\x. P x)" thus "(P (SOME x. P x))" apply auto apply (rule someI) @@ -501,9 +501,9 @@ done qed - from a show "~ P (SOME x. ~ P x)" + from a show "\ P (SOME x. \ P x)" proof - - assume "? x. ~ P x" + assume "\x. \ P x" hence "\ P (SOME x. \ P x)" by (rule hilbert) thus ?thesis . qed @@ -512,13 +512,13 @@ qed lemma polar_skolemise [rule_format]: - "\ P. (! x. P x) = False \ (P (SOME x. ~ P x)) = False" + "\P. (\x. P x) = False \ (P (SOME x. \ P x)) = False" proof - - have "\ P. (! x. P x) = False \ (P (SOME x. ~ P x)) = False" + have "\P. (\x. P x) = False \ (P (SOME x. \ P x)) = False" proof - fix P - assume ption: "(! x. P x) = False" - hence "\ (\ x. P x)" by force + assume ption: "(\x. P x) = False" + hence "\ (\x. P x)" by force hence "\ All P" by force hence "\ (P (SOME x. \ P x))" by (rule skolemise) thus "(P (SOME x. \ P x)) = False" by force @@ -527,12 +527,12 @@ qed lemma leo2_skolemise [rule_format]: - "\ P sk. (! x. P x) = False \ (sk = (SOME x. ~ P x)) \ (P sk) = False" + "\P sk. (\x. P x) = False \ (sk = (SOME x. \ P x)) \ (P sk) = False" by (clarify, rule polar_skolemise) lemma lift_forall [rule_format]: - "!! x. (! x. A x) = True ==> (A x) = True" - "!! x. (? x. A x) = False ==> (A x) = False" + "\x. (\x. A x) = True \ (A x) = True" + "\x. (\x. A x) = False \ (A x) = False" by auto lemma lift_exists [rule_format]: "\(All P) = False; sk = (SOME x. \ P x)\ \ P sk = False" @@ -975,7 +975,7 @@ let val simpset = empty_simpset ctxt (*NOTE for some reason, Bind exception gets raised if ctxt's simpset isn't emptied*) - |> Simplifier.add_simp @{lemma "Ex P == (~ (! x. ~ P x))" by auto} + |> Simplifier.add_simp @{lemma "Ex P == (\ (\x. \ P x))" by auto} in CHANGED (asm_full_simp_tac simpset i) end @@ -1541,7 +1541,7 @@ subsubsection "Finite types" (*lift quantification from a singleton literal to a singleton clause*) lemma forall_pos_lift: -"\(! X. P X) = True; ! X. (P X = True) \ R\ \ R" by auto +"\(\X. P X) = True; \X. (P X = True) \ R\ \ R" by auto (*predicate over the type of the leading quantified variable*) @@ -1750,10 +1750,10 @@ \ lemma drop_redundant_literal_qtfr: - "(! X. P) = True \ P = True" - "(? X. P) = True \ P = True" - "(! X. P) = False \ P = False" - "(? X. P) = False \ P = False" + "(\X. P) = True \ P = True" + "(\X. P) = True \ P = True" + "(\X. P) = False \ P = False" + "(\X. P) = False \ P = False" by auto ML \ @@ -1952,11 +1952,11 @@ subsection "Handling split 'preprocessing'" lemma split_tranfs: - "! x. P x & Q x \ (! x. P x) & (! x. Q x)" - "~ (~ A) \ A" - "? x. A \ A" - "(A & B) & C \ A & B & C" - "A = B \ (A --> B) & (B --> A)" + "\x. P x \ Q x \ (\x. P x) \ (\x. Q x)" + "\ (\ A) \ A" + "\x. A \ A" + "(A \ B) \ C \ A \ B \ C" + "A = B \ (A \ B) \ (B \ A)" by (rule eq_reflection, auto)+ (*Same idiom as ex_expander_tac*)