HOLE Home Higher-Order Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  HOLE Home  >  Th. List  >  exmid GIF 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 ⊤⊧[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 ⊤:∗
1211, 4orc 155 . . . . 5 ⊤⊧[⊤ A]
133, 11weqi 68 . . . . . . . 8 [x:∗ = ⊤]:∗
1413id 25 . . . . . . 7 [x:∗ = ⊤]⊧[x:∗ = ⊤]
152, 3, 4, 14oveq1 89 . . . . . 6 [x:∗ = ⊤]⊧[[x:∗ A] = [⊤ A]]
165, 11, 15cl 106 . . . . 5 ⊤⊧[(λx:∗ [x:∗ A]⊤) = [⊤ A]]
1712, 16mpbir 77 . . . 4 ⊤⊧(λx:∗ [x:∗ A]⊤)
186, 11ac 184 . . . 4 (λx:∗ [x:∗ A]⊤)⊧(λx:∗ [x:∗ A](ελx:∗ [x:∗ A]))
1917, 18syl 16 . . 3 ⊤⊧(λ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 ⊤⊧[(λx:∗ y:∗) = ]
251, 23ax-17 95 . . . . . 6 ⊤⊧[(λx:∗ εy:∗) = ε]
265, 23ax-hbl1 93 . . . . . 6 ⊤⊧[(λx:∗ λx:∗ [x:∗ A]y:∗) = λx:∗ [x:∗ A]]
271, 6, 23, 25, 26hbc 100 . . . . 5 ⊤⊧[(λx:∗ (ελx:∗ [x:∗ A])y:∗) = (ελx:∗ [x:∗ A])]
284, 23ax-17 95 . . . . 5 ⊤⊧[(λx:∗ Ay:∗) = A]
292, 7, 23, 4, 24, 27, 28hbov 101 . . . 4 ⊤⊧[(λx:∗ [(ελx:∗ [x:∗ A]) A]y:∗) = [(ελx:∗ [x:∗ A]) A]]
305, 7, 22, 29, 27clf 105 . . 3 ⊤⊧[(λx:∗ [x:∗ A](ελx:∗ [x:∗ A])) = [(ελx:∗ [x:∗ A]) A]]
3119, 30mpbi 72 . 2 ⊤⊧[(ελ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 ⊥:∗
383, 37weqi 68 . . . . . . . . . . . . 13 [x:∗ = ⊥]:∗
3938id 25 . . . . . . . . . . . 12 [x:∗ = ⊥]⊧[x:∗ = ⊥]
408, 3, 39ceq2 80 . . . . . . . . . . 11 [x:∗ = ⊥]⊧[(¬ x:∗) = (¬ ⊥)]
4111, 37simpr 23 . . . . . . . . . . . . . . . 16 (⊤, ⊥)⊧⊥
4241ex 148 . . . . . . . . . . . . . . 15 ⊤⊧[⊥ ⇒ ⊥]
4337notval 135 . . . . . . . . . . . . . . 15 ⊤⊧[(¬ ⊥) = [⊥ ⇒ ⊥]]
4442, 43mpbir 77 . . . . . . . . . . . . . 14 ⊤⊧(¬ ⊥)
4544eqtru 76 . . . . . . . . . . . . 13 ⊤⊧[⊤ = (¬ ⊥)]
4611, 45eqcomi 70 . . . . . . . . . . . 12 ⊤⊧[(¬ ⊥) = ⊤]
4738, 46a1i 28 . . . . . . . . . . 11 [x:∗ = ⊥]⊧[(¬ ⊥) = ⊤]
4832, 40, 47eqtri 85 . . . . . . . . . 10 [x:∗ = ⊥]⊧[(¬ x:∗) = ⊤]
492, 32, 4, 48oveq1 89 . . . . . . . . 9 [x:∗ = ⊥]⊧[[(¬ x:∗) A] = [⊤ A]]
5033, 37, 49cl 106 . . . . . . . 8 ⊤⊧[(λx:∗ [(¬ x:∗) A]⊥) = [⊤ A]]
5112, 50mpbir 77 . . . . . . 7 ⊤⊧(λx:∗ [(¬ x:∗) A]⊥)
5234, 37ac 184 . . . . . . 7 (λx:∗ [(¬ x:∗) A]⊥)⊧(λx:∗ [(¬ x:∗) A](ελx:∗ [(¬ x:∗) A]))
5351, 52syl 16 . . . . . 6 ⊤⊧(λ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 ⊤⊧[(λx:∗ ¬ y:∗) = ¬ ]
5933, 23ax-hbl1 93 . . . . . . . . . 10 ⊤⊧[(λx:∗ λx:∗ [(¬ x:∗) A]y:∗) = λx:∗ [(¬ x:∗) A]]
601, 34, 23, 25, 59hbc 100 . . . . . . . . 9 ⊤⊧[(λx:∗ (ελx:∗ [(¬ x:∗) A])y:∗) = (ελx:∗ [(¬ x:∗) A])]
618, 35, 23, 58, 60hbc 100 . . . . . . . 8 ⊤⊧[(λx:∗ (¬ (ελx:∗ [(¬ x:∗) A]))y:∗) = (¬ (ελx:∗ [(¬ x:∗) A]))]
622, 36, 23, 4, 24, 61, 28hbov 101 . . . . . . 7 ⊤⊧[(λx:∗ [(¬ (ελx:∗ [(¬ x:∗) A])) A]y:∗) = [(¬ (ελx:∗ [(¬ x:∗) A])) A]]
6333, 35, 57, 62, 60clf 105 . . . . . 6 ⊤⊧[(λx:∗ [(¬ x:∗) A](ελx:∗ [(¬ x:∗) A])) = [(¬ (ελx:∗ [(¬ x:∗) A])) A]]
6453, 63mpbi 72 . . . . 5 ⊤⊧[(¬ (ελ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⊧[⊤ = [x:∗ A]]
7111, 70eqcomi 70 . . . . . . . . . . . . 13 A⊧[[x:∗ A] = ⊤]
7232, 4olc 154 . . . . . . . . . . . . . 14 A⊧[(¬ x:∗) A]
7372eqtru 76 . . . . . . . . . . . . 13 A⊧[⊤ = [(¬ 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 ⊤⊧[(¬ (ελx:∗ [(¬ x:∗) A])) = [(ελx:∗ [(¬ x:∗) A]) ⇒ ⊥]]
8280, 81a1i 28 . . . . . . . . 9 (((ελx:∗ [x:∗ A]), (¬ (ελx:∗ [(¬ x:∗) A]))), A)⊧[(¬ (ελx:∗ [(¬ x:∗) A])) = [(ελx:∗ [(¬ x:∗) A]) ⇒ ⊥]]
8379, 82mpbi 72 . . . . . . . 8 (((ελx:∗ [x:∗ A]), (¬ (ελx:∗ [(¬ x:∗) A]))), A)⊧[(ελx:∗ [(¬ x:∗) A]) ⇒ ⊥]
8437, 78, 83mpd 146 . . . . . . 7 (((ελx:∗ [x:∗ A]), (¬ (ελx:∗ [(¬ x:∗) A]))), A)⊧⊥
8584ex 148 . . . . . 6 ((ελx:∗ [x:∗ A]), (¬ (ελx:∗ [(¬ x:∗) A])))⊧[A ⇒ ⊥]
864notval 135 . . . . . . 7 ⊤⊧[(¬ A) = [A ⇒ ⊥]]
8766, 86a1i 28 . . . . . 6 ((ελx:∗ [x:∗ A]), (¬ (ελx:∗ [(¬ x:∗) A])))⊧[(¬ A) = [A ⇒ ⊥]]
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 (⊤, (ελx:∗ [x:∗ A]))⊧[A A)]
9591, 11adantl 51 . 2 (⊤, A)⊧[A A)]
967, 4, 10, 31, 94, 95ecase 153 1 ⊤⊧[A A)]
Colors of variables: type var term
Syntax hints:  tv 1  ht 2  hb 3  kc 5  λkl 6   = ke 7  kt 8  [kbr 9  kct 10  wffMMJ2 11  wffMMJ2t 12  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