HOLE Home Higher-Order Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  HOLE Home  >  Th. List  >  exmid Unicode version

Theorem exmid 186
Description: Diaconescu's theorem, which derives the law of the excluded middle from the axiom of choice.
Hypothesis
Ref Expression
exmid.1 |- A:*
Assertion
Ref Expression
exmid |- T. |= [A \/ (~ A)]

Proof of Theorem exmid
Dummy variables x y are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 wat 180 . . 3 |- @:((* -> *) -> *)
2 wor 130 . . . . 5 |- \/ :(* -> (* -> *))
3 wv 58 . . . . 5 |- x:*:*
4 exmid.1 . . . . 5 |- A:*
52, 3, 4wov 64 . . . 4 |- [x:* \/ A]:*
65wl 59 . . 3 |- \x:* [x:* \/ A]:(* -> *)
71, 6wc 45 . 2 |- (@\x:* [x:* \/ A]):*
8 wnot 128 . . . 4 |- ~ :(* -> *)
98, 4wc 45 . . 3 |- (~ A):*
102, 4, 9wov 64 . 2 |- [A \/ (~ A)]:*
11 wtru 40 . . . . . 6 |- T.:*
1211, 4orc 155 . . . . 5 |- T. |= [T. \/ A]
133, 11weqi 68 . . . . . . . 8 |- [x:* = T.]:*
1413id 25 . . . . . . 7 |- [x:* = T.] |= [x:* = T.]
152, 3, 4, 14oveq1 89 . . . . . 6 |- [x:* = T.] |= [[x:* \/ A] = [T. \/ A]]
165, 11, 15cl 106 . . . . 5 |- T. |= [(\x:* [x:* \/ A]T.) = [T. \/ A]]
1712, 16mpbir 77 . . . 4 |- T. |= (\x:* [x:* \/ A]T.)
186, 11ac 184 . . . 4 |- (\x:* [x:* \/ A]T.) |= (\x:* [x:* \/ A](@\x:* [x:* \/ A]))
1917, 18syl 16 . . 3 |- T. |= (\x:* [x:* \/ A](@\x:* [x:* \/ A]))
203, 7weqi 68 . . . . . 6 |- [x:* = (@\x:* [x:* \/ A])]:*
2120id 25 . . . . 5 |- [x:* = (@\x:* [x:* \/ A])] |= [x:* = (@\x:* [x:* \/ A])]
222, 3, 4, 21oveq1 89 . . . 4 |- [x:* = (@\x:* [x:* \/ A])] |= [[x:* \/ A] = [(@\x:* [x:* \/ A]) \/ A]]
23 wv 58 . . . . 5 |- y:*:*
242, 23ax-17 95 . . . . 5 |- T. |= [(\x:* \/ y:*) = \/ ]
251, 23ax-17 95 . . . . . 6 |- T. |= [(\x:* @y:*) = @]
265, 23ax-hbl1 93 . . . . . 6 |- T. |= [(\x:* \x:* [x:* \/ A]y:*) = \x:* [x:* \/ A]]
271, 6, 23, 25, 26hbc 100 . . . . 5 |- T. |= [(\x:* (@\x:* [x:* \/ A])y:*) = (@\x:* [x:* \/ A])]
284, 23ax-17 95 . . . . 5 |- T. |= [(\x:* Ay:*) = A]
292, 7, 23, 4, 24, 27, 28hbov 101 . . . 4 |- T. |= [(\x:* [(@\x:* [x:* \/ A]) \/ A]y:*) = [(@\x:* [x:* \/ A]) \/ A]]
305, 7, 22, 29, 27clf 105 . . 3 |- T. |= [(\x:* [x:* \/ A](@\x:* [x:* \/ A])) = [(@\x:* [x:* \/ A]) \/ A]]
3119, 30mpbi 72 . 2 |- T. |= [(@\x:* [x:* \/ A]) \/ A]
328, 3wc 45 . . . . . . . 8 |- (~ x:*):*
332, 32, 4wov 64 . . . . . . 7 |- [(~ x:*) \/ A]:*
3433wl 59 . . . . . 6 |- \x:* [(~ x:*) \/ A]:(* -> *)
351, 34wc 45 . . . . 5 |- (@\x:* [(~ x:*) \/ A]):*
368, 35wc 45 . . . 4 |- (~ (@\x:* [(~ x:*) \/ A])):*
37 wfal 125 . . . . . . . . 9 |- F.:*
383, 37weqi 68 . . . . . . . . . . . . 13 |- [x:* = F.]:*
3938id 25 . . . . . . . . . . . 12 |- [x:* = F.] |= [x:* = F.]
408, 3, 39ceq2 80 . . . . . . . . . . 11 |- [x:* = F.] |= [(~ x:*) = (~ F.)]
4111, 37simpr 23 . . . . . . . . . . . . . . . 16 |- (T., F.) |= F.
4241ex 148 . . . . . . . . . . . . . . 15 |- T. |= [F. ==> F.]
4337notval 135 . . . . . . . . . . . . . . 15 |- T. |= [(~ F.) = [F. ==> F.]]
4442, 43mpbir 77 . . . . . . . . . . . . . 14 |- T. |= (~ F.)
4544eqtru 76 . . . . . . . . . . . . 13 |- T. |= [T. = (~ F.)]
4611, 45eqcomi 70 . . . . . . . . . . . 12 |- T. |= [(~ F.) = T.]
4738, 46a1i 28 . . . . . . . . . . 11 |- [x:* = F.] |= [(~ F.) = T.]
4832, 40, 47eqtri 85 . . . . . . . . . 10 |- [x:* = F.] |= [(~ x:*) = T.]
492, 32, 4, 48oveq1 89 . . . . . . . . 9 |- [x:* = F.] |= [[(~ x:*) \/ A] = [T. \/ A]]
5033, 37, 49cl 106 . . . . . . . 8 |- T. |= [(\x:* [(~ x:*) \/ A]F.) = [T. \/ A]]
5112, 50mpbir 77 . . . . . . 7 |- T. |= (\x:* [(~ x:*) \/ A]F.)
5234, 37ac 184 . . . . . . 7 |- (\x:* [(~ x:*) \/ A]F.) |= (\x:* [(~ x:*) \/ A](@\x:* [(~ x:*) \/ A]))
5351, 52syl 16 . . . . . 6 |- T. |= (\x:* [(~ x:*) \/ A](@\x:* [(~ x:*) \/ A]))
543, 35weqi 68 . . . . . . . . . 10 |- [x:* = (@\x:* [(~ x:*) \/ A])]:*
5554id 25 . . . . . . . . 9 |- [x:* = (@\x:* [(~ x:*) \/ A])] |= [x:* = (@\x:* [(~ x:*) \/ A])]
568, 3, 55ceq2 80 . . . . . . . 8 |- [x:* = (@\x:* [(~ x:*) \/ A])] |= [(~ x:*) = (~ (@\x:* [(~ x:*) \/ A]))]
572, 32, 4, 56oveq1 89 . . . . . . 7 |- [x:* = (@\x:* [(~ x:*) \/ A])] |= [[(~ x:*) \/ A] = [(~ (@\x:* [(~ x:*) \/ A])) \/ A]]
588, 23ax-17 95 . . . . . . . . 9 |- T. |= [(\x:* ~ y:*) = ~ ]
5933, 23ax-hbl1 93 . . . . . . . . . 10 |- T. |= [(\x:* \x:* [(~ x:*) \/ A]y:*) = \x:* [(~ x:*) \/ A]]
601, 34, 23, 25, 59hbc 100 . . . . . . . . 9 |- T. |= [(\x:* (@\x:* [(~ x:*) \/ A])y:*) = (@\x:* [(~ x:*) \/ A])]
618, 35, 23, 58, 60hbc 100 . . . . . . . 8 |- T. |= [(\x:* (~ (@\x:* [(~ x:*) \/ A]))y:*) = (~ (@\x:* [(~ x:*) \/ A]))]
622, 36, 23, 4, 24, 61, 28hbov 101 . . . . . . 7 |- T. |= [(\x:* [(~ (@\x:* [(~ x:*) \/ A])) \/ A]y:*) = [(~ (@\x:* [(~ x:*) \/ A])) \/ A]]
6333, 35, 57, 62, 60clf 105 . . . . . 6 |- T. |= [(\x:* [(~ x:*) \/ A](@\x:* [(~ x:*) \/ A])) = [(~ (@\x:* [(~ x:*) \/ A])) \/ A]]
6453, 63mpbi 72 . . . . 5 |- T. |= [(~ (@\x:* [(~ x:*) \/ A])) \/ A]
657, 64a1i 28 . . . 4 |- (@\x:* [x:* \/ A]) |= [(~ (@\x:* [(~ x:*) \/ A])) \/ A]
667, 36wct 44 . . . . . . . . . . 11 |- ((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A]))):*
6766, 4simpl 22 . . . . . . . . . 10 |- (((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A]))), A) |= ((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A])))
6867simpld 35 . . . . . . . . 9 |- (((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A]))), A) |= (@\x:* [x:* \/ A])
693, 4olc 154 . . . . . . . . . . . . . . 15 |- A |= [x:* \/ A]
7069eqtru 76 . . . . . . . . . . . . . 14 |- A |= [T. = [x:* \/ A]]
7111, 70eqcomi 70 . . . . . . . . . . . . 13 |- A |= [[x:* \/ A] = T.]
7232, 4olc 154 . . . . . . . . . . . . . 14 |- A |= [(~ x:*) \/ A]
7372eqtru 76 . . . . . . . . . . . . 13 |- A |= [T. = [(~ x:*) \/ A]]
745, 71, 73eqtri 85 . . . . . . . . . . . 12 |- A |= [[x:* \/ A] = [(~ x:*) \/ A]]
755, 74leq 81 . . . . . . . . . . 11 |- A |= [\x:* [x:* \/ A] = \x:* [(~ x:*) \/ A]]
761, 6, 75ceq2 80 . . . . . . . . . 10 |- A |= [(@\x:* [x:* \/ A]) = (@\x:* [(~ x:*) \/ A])]
7776, 66adantl 51 . . . . . . . . 9 |- (((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A]))), A) |= [(@\x:* [x:* \/ A]) = (@\x:* [(~ x:*) \/ A])]
7868, 77mpbi 72 . . . . . . . 8 |- (((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A]))), A) |= (@\x:* [(~ x:*) \/ A])
7967simprd 36 . . . . . . . . 9 |- (((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A]))), A) |= (~ (@\x:* [(~ x:*) \/ A]))
8067ax-cb1 29 . . . . . . . . . 10 |- (((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A]))), A):*
8135notval 135 . . . . . . . . . 10 |- T. |= [(~ (@\x:* [(~ x:*) \/ A])) = [(@\x:* [(~ x:*) \/ A]) ==> F.]]
8280, 81a1i 28 . . . . . . . . 9 |- (((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A]))), A) |= [(~ (@\x:* [(~ x:*) \/ A])) = [(@\x:* [(~ x:*) \/ A]) ==> F.]]
8379, 82mpbi 72 . . . . . . . 8 |- (((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A]))), A) |= [(@\x:* [(~ x:*) \/ A]) ==> F.]
8437, 78, 83mpd 146 . . . . . . 7 |- (((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A]))), A) |= F.
8584ex 148 . . . . . 6 |- ((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A]))) |= [A ==> F.]
864notval 135 . . . . . . 7 |- T. |= [(~ A) = [A ==> F.]]
8766, 86a1i 28 . . . . . 6 |- ((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A]))) |= [(~ A) = [A ==> F.]]
8885, 87mpbir 77 . . . . 5 |- ((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A]))) |= (~ A)
894, 9olc 154 . . . . 5 |- (~ A) |= [A \/ (~ A)]
9088, 89syl 16 . . . 4 |- ((@\x:* [x:* \/ A]), (~ (@\x:* [(~ x:*) \/ A]))) |= [A \/ (~ A)]
914, 9orc 155 . . . . 5 |- A |= [A \/ (~ A)]
9291, 7adantl 51 . . . 4 |- ((@\x:* [x:* \/ A]), A) |= [A \/ (~ A)]
9336, 4, 10, 65, 90, 92ecase 153 . . 3 |- (@\x:* [x:* \/ A]) |= [A \/ (~ A)]
9493, 11adantl 51 . 2 |- (T., (@\x:* [x:* \/ A])) |= [A \/ (~ A)]
9591, 11adantl 51 . 2 |- (T., A) |= [A \/ (~ A)]
967, 4, 10, 31, 94, 95ecase 153 1 |- T. |= [A \/ (~ A)]
Colors of variables: type var term
Syntax hints:  tv 1   -> ht 2  *hb 3  kc 5  \kl 6   = ke 7  T.kt 8  [kbr 9  kct 10   |= wffMMJ2 11  wffMMJ2t 12  F.tfal 108  ~ tne 110   ==> tim 111   \/ tor 114  @tat 179
This theorem was proved from axioms:  ax-syl 15  ax-jca 17  ax-simpl 20  ax-simpr 21  ax-id 24  ax-trud 26  ax-cb1 29  ax-cb2 30  ax-refl 39  ax-eqmp 42  ax-ded 43  ax-ceq 46  ax-beta 60  ax-distrc 61  ax-leq 62  ax-distrl 63  ax-hbl1 93  ax-17 95  ax-inst 103  ax-ac 183
This theorem depends on definitions:  df-ov 65  df-al 116  df-fal 117  df-an 118  df-im 119  df-not 120  df-or 122
This theorem is referenced by:  notnot  187  ax3  192
  Copyright terms: Public domain W3C validator