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

Theorem dfackm 10166
Description: Equivalence of the Axiom of Choice and Maes' AC ackm 10464. The proof consists of lemmas kmlem1 10150 through kmlem16 10165 and this final theorem. AC is not used for the proof. Note: bypassing the first step (i.e., replacing dfac5 10128 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 10128 . 2 (CHOICE ↔ ∀𝑥((∀𝑧𝑥 𝑧 ≠ ∅ ∧ ∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅)) → ∃𝑦𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦)))
2 eqid 2765 . . . . 5 {𝑡 ∣ ∃𝑥 𝑡 = ( (𝑥 ∖ {}))} = {𝑡 ∣ ∃𝑥 𝑡 = ( (𝑥 ∖ {}))}
32kmlem13 10162 . . . 4 (∀𝑥((∀𝑧𝑥 𝑧 ≠ ∅ ∧ ∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅)) → ∃𝑦𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦)) ↔ ∀𝑥(¬ ∃𝑧𝑥𝑣𝑧𝑤𝑥 (𝑧𝑤𝑣 ∈ (𝑧𝑤)) → ∃𝑦𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑣 𝑣 ∈ (𝑧𝑦))))
4 kmlem8 10157 . . . . 5 ((¬ ∃𝑧𝑥𝑣𝑧𝑤𝑥 (𝑧𝑤𝑣 ∈ (𝑧𝑤)) → ∃𝑦𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑣 𝑣 ∈ (𝑧𝑦))) ↔ (∃𝑧𝑥𝑣𝑧𝑤𝑥 (𝑧𝑤𝑣 ∈ (𝑧𝑤)) ∨ ∃𝑦𝑦𝑥 ∧ ∀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦))))
54albii 1852 . . . 4 (∀𝑥(¬ ∃𝑧𝑥𝑣𝑧𝑤𝑥 (𝑧𝑤𝑣 ∈ (𝑧𝑤)) → ∃𝑦𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑣 𝑣 ∈ (𝑧𝑦))) ↔ ∀𝑥(∃𝑧𝑥𝑣𝑧𝑤𝑥 (𝑧𝑤𝑣 ∈ (𝑧𝑤)) ∨ ∃𝑦𝑦𝑥 ∧ ∀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦))))
63, 5bitri 278 . . 3 (∀𝑥((∀𝑧𝑥 𝑧 ≠ ∅ ∧ ∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅)) → ∃𝑦𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦)) ↔ ∀𝑥(∃𝑧𝑥𝑣𝑧𝑤𝑥 (𝑧𝑤𝑣 ∈ (𝑧𝑤)) ∨ ∃𝑦𝑦𝑥 ∧ ∀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦))))
7 df-ne 2961 . . . . . . . . 9 (𝑦𝑣 ↔ ¬ 𝑦 = 𝑣)
87bicomi 227 . . . . . . . 8 𝑦 = 𝑣𝑦𝑣)
98anbi2i 635 . . . . . . 7 ((𝑣𝑥 ∧ ¬ 𝑦 = 𝑣) ↔ (𝑣𝑥𝑦𝑣))
109anbi1i 636 . . . . . 6 (((𝑣𝑥 ∧ ¬ 𝑦 = 𝑣) ∧ 𝑧𝑣) ↔ ((𝑣𝑥𝑦𝑣) ∧ 𝑧𝑣))
1110imbi2i 339 . . . . 5 ((𝑧𝑦 → ((𝑣𝑥 ∧ ¬ 𝑦 = 𝑣) ∧ 𝑧𝑣)) ↔ (𝑧𝑦 → ((𝑣𝑥𝑦𝑣) ∧ 𝑧𝑣)))
12 biid 264 . . . . 5 ((𝑧𝑥 → ((𝑣𝑧𝑣𝑦) ∧ ((𝑢𝑧𝑢𝑦) → 𝑢 = 𝑣))) ↔ (𝑧𝑥 → ((𝑣𝑧𝑣𝑦) ∧ ((𝑢𝑧𝑢𝑦) → 𝑢 = 𝑣))))
13 biid 264 . . . . 5 (∀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦) ↔ ∀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦))
1411, 12, 13kmlem16 10165 . . . 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 2146  ∃!weu 2598  {cab 2743  wne 2960  wral 3081  wrex 3091  cdif 3903  cin 3905  c0 4286  {csn 4591   cuni 4874  CHOICEwac 10115
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 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2737  ax-rep 5240  ax-sep 5259  ax-nul 5271  ax-pow 5338  ax-pr 5406  ax-un 7742
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 2569  df-eu 2599  df-clab 2744  df-cleq 2757  df-clel 2840  df-nfc 2914  df-ne 2961  df-ral 3082  df-rex 3092  df-rab 3419  df-v 3459  df-sbc 3747  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-nul 4287  df-if 4490  df-pw 4566  df-sn 4592  df-pr 4594  df-op 4598  df-uni 4875  df-iun 4960  df-br 5112  df-opab 5176  df-mpt 5195  df-id 5558  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-dm 5673  df-rn 5674  df-res 5675  df-ima 5676  df-iota 6496  df-fun 6542  df-fn 6543  df-f 6544  df-fv 6548  df-ac 10116
This theorem is used by:  axac3  10463  ackm  10464  axac2  10465
  Copyright terms: Public domain W3C validator