MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  dfackm Structured version   Visualization version   GIF version

Theorem dfackm 10169
Description: Equivalence of the Axiom of Choice and Maes' AC ackm 10467. The proof consists of lemmas kmlem1 10153 through kmlem16 10168 and this final theorem. AC is not used for the proof. Note: bypassing the first step (i.e., replacing dfac5 10131 with biid 264) establishes the AC equivalence shown by Maes' writeup. The left-hand-side AC shown here was chosen because it is shorter to display. (Contributed by NM, 13-Apr-2004.) (Revised by Mario Carneiro, 17-May-2015.)
Assertion
Ref Expression
dfackm (CHOICE ↔ ∀𝑥𝑦𝑧𝑣𝑢((𝑦𝑥 ∧ (𝑧𝑦 → ((𝑣𝑥 ∧ ¬ 𝑦 = 𝑣) ∧ 𝑧𝑣))) ∨ (¬ 𝑦𝑥 ∧ (𝑧𝑥 → ((𝑣𝑧𝑣𝑦) ∧ ((𝑢𝑧𝑢𝑦) → 𝑢 = 𝑣))))))
Distinct variable group:   𝑥,𝑦,𝑧,𝑣,𝑢

Proof of Theorem dfackm
Dummy variables 𝑤 𝑡 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 dfac5 10131 . 2 (CHOICE ↔ ∀𝑥((∀𝑧𝑥 𝑧 ≠ ∅ ∧ ∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅)) → ∃𝑦𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦)))
2 eqid 2760 . . . . 5 {𝑡 ∣ ∃𝑥 𝑡 = ( (𝑥 ∖ {}))} = {𝑡 ∣ ∃𝑥 𝑡 = ( (𝑥 ∖ {}))}
32kmlem13 10165 . . . 4 (∀𝑥((∀𝑧𝑥 𝑧 ≠ ∅ ∧ ∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅)) → ∃𝑦𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦)) ↔ ∀𝑥(¬ ∃𝑧𝑥𝑣𝑧𝑤𝑥 (𝑧𝑤𝑣 ∈ (𝑧𝑤)) → ∃𝑦𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑣 𝑣 ∈ (𝑧𝑦))))
4 kmlem8 10160 . . . . 5 ((¬ ∃𝑧𝑥𝑣𝑧𝑤𝑥 (𝑧𝑤𝑣 ∈ (𝑧𝑤)) → ∃𝑦𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑣 𝑣 ∈ (𝑧𝑦))) ↔ (∃𝑧𝑥𝑣𝑧𝑤𝑥 (𝑧𝑤𝑣 ∈ (𝑧𝑤)) ∨ ∃𝑦𝑦𝑥 ∧ ∀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦))))
54albii 1852 . . . 4 (∀𝑥(¬ ∃𝑧𝑥𝑣𝑧𝑤𝑥 (𝑧𝑤𝑣 ∈ (𝑧𝑤)) → ∃𝑦𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑣 𝑣 ∈ (𝑧𝑦))) ↔ ∀𝑥(∃𝑧𝑥𝑣𝑧𝑤𝑥 (𝑧𝑤𝑣 ∈ (𝑧𝑤)) ∨ ∃𝑦𝑦𝑥 ∧ ∀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦))))
63, 5bitri 278 . . 3 (∀𝑥((∀𝑧𝑥 𝑧 ≠ ∅ ∧ ∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅)) → ∃𝑦𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦)) ↔ ∀𝑥(∃𝑧𝑥𝑣𝑧𝑤𝑥 (𝑧𝑤𝑣 ∈ (𝑧𝑤)) ∨ ∃𝑦𝑦𝑥 ∧ ∀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦))))
7 df-ne 2956 . . . . . . . . 9 (𝑦𝑣 ↔ ¬ 𝑦 = 𝑣)
87bicomi 227 . . . . . . . 8 𝑦 = 𝑣𝑦𝑣)
98anbi2i 635 . . . . . . 7 ((𝑣𝑥 ∧ ¬ 𝑦 = 𝑣) ↔ (𝑣𝑥𝑦𝑣))
109anbi1i 636 . . . . . 6 (((𝑣𝑥 ∧ ¬ 𝑦 = 𝑣) ∧ 𝑧𝑣) ↔ ((𝑣𝑥𝑦𝑣) ∧ 𝑧𝑣))
1110imbi2i 339 . . . . 5 ((𝑧𝑦 → ((𝑣𝑥 ∧ ¬ 𝑦 = 𝑣) ∧ 𝑧𝑣)) ↔ (𝑧𝑦 → ((𝑣𝑥𝑦𝑣) ∧ 𝑧𝑣)))
12 biid 264 . . . . 5 ((𝑧𝑥 → ((𝑣𝑧𝑣𝑦) ∧ ((𝑢𝑧𝑢𝑦) → 𝑢 = 𝑣))) ↔ (𝑧𝑥 → ((𝑣𝑧𝑣𝑦) ∧ ((𝑢𝑧𝑢𝑦) → 𝑢 = 𝑣))))
13 biid 264 . . . . 5 (∀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦) ↔ ∀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦))
1411, 12, 13kmlem16 10168 . . . 4 ((∃𝑧𝑥𝑣𝑧𝑤𝑥 (𝑧𝑤𝑣 ∈ (𝑧𝑤)) ∨ ∃𝑦𝑦𝑥 ∧ ∀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦))) ↔ ∃𝑦𝑧𝑣𝑢((𝑦𝑥 ∧ (𝑧𝑦 → ((𝑣𝑥 ∧ ¬ 𝑦 = 𝑣) ∧ 𝑧𝑣))) ∨ (¬ 𝑦𝑥 ∧ (𝑧𝑥 → ((𝑣𝑧𝑣𝑦) ∧ ((𝑢𝑧𝑢𝑦) → 𝑢 = 𝑣))))))
1514albii 1852 . . 3 (∀𝑥(∃𝑧𝑥𝑣𝑧𝑤𝑥 (𝑧𝑤𝑣 ∈ (𝑧𝑤)) ∨ ∃𝑦𝑦𝑥 ∧ ∀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦))) ↔ ∀𝑥𝑦𝑧𝑣𝑢((𝑦𝑥 ∧ (𝑧𝑦 → ((𝑣𝑥 ∧ ¬ 𝑦 = 𝑣) ∧ 𝑧𝑣))) ∨ (¬ 𝑦𝑥 ∧ (𝑧𝑥 → ((𝑣𝑧𝑣𝑦) ∧ ((𝑢𝑧𝑢𝑦) → 𝑢 = 𝑣))))))
166, 15bitri 278 . 2 (∀𝑥((∀𝑧𝑥 𝑧 ≠ ∅ ∧ ∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅)) → ∃𝑦𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦)) ↔ ∀𝑥𝑦𝑧𝑣𝑢((𝑦𝑥 ∧ (𝑧𝑦 → ((𝑣𝑥 ∧ ¬ 𝑦 = 𝑣) ∧ 𝑧𝑣))) ∨ (¬ 𝑦𝑥 ∧ (𝑧𝑥 → ((𝑣𝑧𝑣𝑦) ∧ ((𝑢𝑧𝑢𝑦) → 𝑢 = 𝑣))))))
171, 16bitri 278 1 (CHOICE ↔ ∀𝑥𝑦𝑧𝑣𝑢((𝑦𝑥 ∧ (𝑧𝑦 → ((𝑣𝑥 ∧ ¬ 𝑦 = 𝑣) ∧ 𝑧𝑣))) ∨ (¬ 𝑦𝑥 ∧ (𝑧𝑥 → ((𝑣𝑧𝑣𝑦) ∧ ((𝑢𝑧𝑢𝑦) → 𝑢 = 𝑣))))))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3  wi 4  wb 209  wa 401  wo 861  wal 1568   = wceq 1570  wex 1812  wcel 2145  ∃!weu 2593  {cab 2738  wne 2955  wral 3076  wrex 3086  cdif 3896  cin 3898  c0 4279  {csn 4584   cuni 4867  CHOICEwac 10118
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2732  ax-rep 5232  ax-sep 5251  ax-nul 5263  ax-pow 5330  ax-pr 5398  ax-un 7736
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-rab 3413  df-v 3452  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-id 5550  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-iota 6489  df-fun 6535  df-fn 6536  df-f 6537  df-fv 6541  df-ac 10119
This theorem is used by:  axac3  10466  ackm  10467  axac2  10468
  Copyright terms: Public domain W3C validator