# HG changeset patch # User wenzelm # Date 1001599484 -7200 # Node ID 14ae6a86813d9ab63bb28422925bbffe3919460e # Parent 9a6d4511bb3c969575af706b84defe842ee9c642 tuned; diff -r 9a6d4511bb3c -r 14ae6a86813d src/HOL/ex/Hilbert_Classical.thy --- a/src/HOL/ex/Hilbert_Classical.thy Thu Sep 27 16:04:25 2001 +0200 +++ b/src/HOL/ex/Hilbert_Classical.thy Thu Sep 27 16:04:44 2001 +0200 @@ -16,74 +16,74 @@ subsection {* Proof text *} -theorem tnd: "P \ \ P" +theorem "A \ \ A" proof - - let ?A = "\x. x = False \ x = True \ P" - let ?B = "\x. x = False \ P \ x = True" - let ?f = "\R. SOME y. R y" + let ?P = "\X. X = False \ X = True \ A" + let ?Q = "\X. X = False \ A \ X = True" - have a: "?A (?f ?A)" + have a: "?P (Eps ?P)" proof (rule someI) have "False = False" .. - thus "?A False" .. + thus "?P False" .. qed - have b: "?B (?f ?B)" + have b: "?Q (Eps ?Q)" proof (rule someI) have "True = True" .. - thus "?B True" .. + thus "?Q True" .. qed from a show ?thesis proof - assume fa: "?f ?A = False" + assume "Eps ?P = True \ A" + hence A .. + thus ?thesis .. + next + assume P: "Eps ?P = False" from b show ?thesis proof - assume "?f ?B = False \ P" - hence P .. + assume "Eps ?Q = False \ A" + hence A .. thus ?thesis .. next - assume fb: "?f ?B = True" - have neq: "?A \ ?B" + assume Q: "Eps ?Q = True" + have neq: "?P \ ?Q" proof - assume "?A = ?B" hence eq: "?f ?A = ?f ?B" by (rule arg_cong) - from fa have "False = ?f ?A" .. - also note eq - also note fb - finally have "False = True" . + assume "?P = ?Q" + hence "Eps ?P = Eps ?Q" by (rule arg_cong) + also note P + also note Q + finally have "False = True" . thus False by (rule False_neq_True) qed - have "\ P" + have "\ A" proof - assume p: P - have "?A = ?B" + assume a: A + have "?P = ?Q" proof - fix x - show "?A x = ?B x" + fix x show "?P x = ?Q x" proof - assume "?A x" - thus "?B x" + assume "?P x" + thus "?Q x" proof assume "x = False" - from this and p - have "x = False \ P" .. - thus "?B x" .. + from this and a have "x = False \ A" .. + thus "?Q x" .. next - assume "x = True \ P" + assume "x = True \ A" hence "x = True" .. - thus "?B x" .. + thus "?Q x" .. qed next - assume "?B x" - thus "?A x" + assume "?Q x" + thus "?P x" proof - assume "x = False \ P" + assume "x = False \ A" hence "x = False" .. - thus "?A x" .. + thus "?P x" .. next assume "x = True" - from this and p - have "x = True \ P" .. - thus "?A x" .. + from this and a have "x = True \ A" .. + thus "?P x" .. qed qed qed @@ -91,21 +91,18 @@ qed thus ?thesis .. qed - next - assume "?f ?A = True \ P" hence P .. - thus ?thesis .. qed qed subsection {* Proof script *} -theorem tnd': "P \ \ P" +theorem tnd': "A \ \ A" apply (subgoal_tac - "(((SOME x. x = False \ x = True \ P) = False) \ - ((SOME x. x = False \ x = True \ P) = True) \ P) \ - (((SOME x. x = False \ P \ x = True) = False) \ P \ - ((SOME x. x = False \ P \ x = True) = True))") + "(((SOME x. x = False \ x = True \ A) = False) \ + ((SOME x. x = False \ x = True \ A) = True) \ A) \ + (((SOME x. x = False \ A \ x = True) = False) \ A \ + ((SOME x. x = False \ A \ x = True) = True))") prefer 2 apply (rule conjI) apply (rule someI) @@ -123,11 +120,11 @@ apply (erule conjE) apply (erule disjI1) apply (subgoal_tac - "(\x. (x = False) \ (x = True) \ P) \ - (\x. (x = False) \ P \ (x = True))") + "(\x. (x = False) \ (x = True) \ A) \ + (\x. (x = False) \ A \ (x = True))") prefer 2 apply (rule notI) - apply (drule_tac f="\y. SOME x. y x" in arg_cong) + apply (drule_tac f = "\y. SOME x. y x" in arg_cong) apply (drule trans, assumption) apply (drule sym) apply (drule trans, assumption)