Users' Mathboxes Mathbox for Eric Schmidt < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  modelac8prim Structured version   Visualization version   GIF version

Theorem modelac8prim 45025
Description: If 𝑀 is a transitive class, then the following are equivalent. (1) Every nonempty set 𝑥𝑀 of pairwise disjoint nonempty sets has a choice set in 𝑀. (2) The class 𝑀 models the Axiom of Choice, in the form ac8prim 45024.

Lemma II.2.11(7) of [Kunen2] p. 114. Kunen has the additional hypotheses that the Extensionality, Separation, Pairing, and Union axioms are true in 𝑀. This, apparently, is because Kunen's statement of the Axiom of Choice uses defined notions, including and , and these axioms guarantee that these notions are well-defined. When we state the axiom using primitives only, the need for these hypotheses disappears. (Contributed by Eric Schmidt, 19-Oct-2025.)

Assertion
Ref Expression
modelac8prim (Tr 𝑀 → (∀𝑥𝑀 ((∀𝑧𝑥 𝑧 ≠ ∅ ∧ ∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅)) → ∃𝑦𝑀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦)) ↔ ∀𝑥𝑀 ((∀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀 𝑤𝑧) ∧ ∀𝑧𝑀𝑤𝑀 ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤)))) → ∃𝑦𝑀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀𝑣𝑀 ((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤)))))
Distinct variable group:   𝑥,𝑧,𝑦,𝑤,𝑣,𝑀

Proof of Theorem modelac8prim
StepHypRef Expression
1 ralabso 45001 . . . . 5 ((Tr 𝑀𝑥𝑀) → (∀𝑧𝑥 𝑧 ≠ ∅ ↔ ∀𝑧𝑀 (𝑧𝑥𝑧 ≠ ∅)))
2 n0abso 45009 . . . . . . . 8 ((Tr 𝑀𝑧𝑀) → (𝑧 ≠ ∅ ↔ ∃𝑤𝑀 𝑤𝑧))
32adantlr 715 . . . . . . 7 (((Tr 𝑀𝑥𝑀) ∧ 𝑧𝑀) → (𝑧 ≠ ∅ ↔ ∃𝑤𝑀 𝑤𝑧))
43imbi2d 340 . . . . . 6 (((Tr 𝑀𝑥𝑀) ∧ 𝑧𝑀) → ((𝑧𝑥𝑧 ≠ ∅) ↔ (𝑧𝑥 → ∃𝑤𝑀 𝑤𝑧)))
54ralbidva 3153 . . . . 5 ((Tr 𝑀𝑥𝑀) → (∀𝑧𝑀 (𝑧𝑥𝑧 ≠ ∅) ↔ ∀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀 𝑤𝑧)))
61, 5bitrd 279 . . . 4 ((Tr 𝑀𝑥𝑀) → (∀𝑧𝑥 𝑧 ≠ ∅ ↔ ∀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀 𝑤𝑧)))
7 simpl 482 . . . . . . 7 ((Tr 𝑀𝑥𝑀) → Tr 𝑀)
8 ralabso 45001 . . . . . . 7 ((Tr 𝑀𝑥𝑀) → (∀𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅) ↔ ∀𝑤𝑀 (𝑤𝑥 → (𝑧𝑤 → (𝑧𝑤) = ∅))))
97, 8ralabsobidv 45005 . . . . . 6 (((Tr 𝑀𝑥𝑀) ∧ 𝑥𝑀) → (∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅) ↔ ∀𝑧𝑀 (𝑧𝑥 → ∀𝑤𝑀 (𝑤𝑥 → (𝑧𝑤 → (𝑧𝑤) = ∅)))))
109anabss3 675 . . . . 5 ((Tr 𝑀𝑥𝑀) → (∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅) ↔ ∀𝑧𝑀 (𝑧𝑥 → ∀𝑤𝑀 (𝑤𝑥 → (𝑧𝑤 → (𝑧𝑤) = ∅)))))
11 r19.21v 3157 . . . . . . . 8 (∀𝑤𝑀 (𝑧𝑥 → (𝑤𝑥 → (𝑧𝑤 → (𝑧𝑤) = ∅))) ↔ (𝑧𝑥 → ∀𝑤𝑀 (𝑤𝑥 → (𝑧𝑤 → (𝑧𝑤) = ∅))))
12 impexp 450 . . . . . . . . . 10 (((𝑧𝑥𝑤𝑥) → (𝑧𝑤 → (𝑧𝑤) = ∅)) ↔ (𝑧𝑥 → (𝑤𝑥 → (𝑧𝑤 → (𝑧𝑤) = ∅))))
13 df-ne 2929 . . . . . . . . . . . . 13 (𝑧𝑤 ↔ ¬ 𝑧 = 𝑤)
1413imbi1i 349 . . . . . . . . . . . 12 ((𝑧𝑤 → (𝑧𝑤) = ∅) ↔ (¬ 𝑧 = 𝑤 → (𝑧𝑤) = ∅))
15 disjabso 45008 . . . . . . . . . . . . 13 ((Tr 𝑀𝑧𝑀) → ((𝑧𝑤) = ∅ ↔ ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤)))
1615imbi2d 340 . . . . . . . . . . . 12 ((Tr 𝑀𝑧𝑀) → ((¬ 𝑧 = 𝑤 → (𝑧𝑤) = ∅) ↔ (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤))))
1714, 16bitrid 283 . . . . . . . . . . 11 ((Tr 𝑀𝑧𝑀) → ((𝑧𝑤 → (𝑧𝑤) = ∅) ↔ (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤))))
1817imbi2d 340 . . . . . . . . . 10 ((Tr 𝑀𝑧𝑀) → (((𝑧𝑥𝑤𝑥) → (𝑧𝑤 → (𝑧𝑤) = ∅)) ↔ ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤)))))
1912, 18bitr3id 285 . . . . . . . . 9 ((Tr 𝑀𝑧𝑀) → ((𝑧𝑥 → (𝑤𝑥 → (𝑧𝑤 → (𝑧𝑤) = ∅))) ↔ ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤)))))
2019ralbidv 3155 . . . . . . . 8 ((Tr 𝑀𝑧𝑀) → (∀𝑤𝑀 (𝑧𝑥 → (𝑤𝑥 → (𝑧𝑤 → (𝑧𝑤) = ∅))) ↔ ∀𝑤𝑀 ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤)))))
2111, 20bitr3id 285 . . . . . . 7 ((Tr 𝑀𝑧𝑀) → ((𝑧𝑥 → ∀𝑤𝑀 (𝑤𝑥 → (𝑧𝑤 → (𝑧𝑤) = ∅))) ↔ ∀𝑤𝑀 ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤)))))
2221ralbidva 3153 . . . . . 6 (Tr 𝑀 → (∀𝑧𝑀 (𝑧𝑥 → ∀𝑤𝑀 (𝑤𝑥 → (𝑧𝑤 → (𝑧𝑤) = ∅))) ↔ ∀𝑧𝑀𝑤𝑀 ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤)))))
2322adantr 480 . . . . 5 ((Tr 𝑀𝑥𝑀) → (∀𝑧𝑀 (𝑧𝑥 → ∀𝑤𝑀 (𝑤𝑥 → (𝑧𝑤 → (𝑧𝑤) = ∅))) ↔ ∀𝑧𝑀𝑤𝑀 ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤)))))
2410, 23bitrd 279 . . . 4 ((Tr 𝑀𝑥𝑀) → (∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅) ↔ ∀𝑧𝑀𝑤𝑀 ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤)))))
256, 24anbi12d 632 . . 3 ((Tr 𝑀𝑥𝑀) → ((∀𝑧𝑥 𝑧 ≠ ∅ ∧ ∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅)) ↔ (∀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀 𝑤𝑧) ∧ ∀𝑧𝑀𝑤𝑀 ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤))))))
26 simpl 482 . . . . . 6 ((Tr 𝑀𝑦𝑀) → Tr 𝑀)
27 elin 3913 . . . . . . . . 9 (𝑣 ∈ (𝑧𝑦) ↔ (𝑣𝑧𝑣𝑦))
2827eubii 2580 . . . . . . . 8 (∃!𝑣 𝑣 ∈ (𝑧𝑦) ↔ ∃!𝑣(𝑣𝑧𝑣𝑦))
29 trel 5201 . . . . . . . . . . . 12 (Tr 𝑀 → ((𝑣𝑦𝑦𝑀) → 𝑣𝑀))
3029imp 406 . . . . . . . . . . 11 ((Tr 𝑀 ∧ (𝑣𝑦𝑦𝑀)) → 𝑣𝑀)
3130anass1rs 655 . . . . . . . . . 10 (((Tr 𝑀𝑦𝑀) ∧ 𝑣𝑦) → 𝑣𝑀)
3231adantrl 716 . . . . . . . . 9 (((Tr 𝑀𝑦𝑀) ∧ (𝑣𝑧𝑣𝑦)) → 𝑣𝑀)
3332reueubd 3363 . . . . . . . 8 ((Tr 𝑀𝑦𝑀) → (∃!𝑣𝑀 (𝑣𝑧𝑣𝑦) ↔ ∃!𝑣(𝑣𝑧𝑣𝑦)))
3428, 33bitr4id 290 . . . . . . 7 ((Tr 𝑀𝑦𝑀) → (∃!𝑣 𝑣 ∈ (𝑧𝑦) ↔ ∃!𝑣𝑀 (𝑣𝑧𝑣𝑦)))
35 reu6 3680 . . . . . . 7 (∃!𝑣𝑀 (𝑣𝑧𝑣𝑦) ↔ ∃𝑤𝑀𝑣𝑀 ((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤))
3634, 35bitrdi 287 . . . . . 6 ((Tr 𝑀𝑦𝑀) → (∃!𝑣 𝑣 ∈ (𝑧𝑦) ↔ ∃𝑤𝑀𝑣𝑀 ((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤)))
3726, 36ralabsobidv 45005 . . . . 5 (((Tr 𝑀𝑦𝑀) ∧ 𝑥𝑀) → (∀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦) ↔ ∀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀𝑣𝑀 ((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤))))
3837an32s 652 . . . 4 (((Tr 𝑀𝑥𝑀) ∧ 𝑦𝑀) → (∀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦) ↔ ∀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀𝑣𝑀 ((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤))))
3938rexbidva 3154 . . 3 ((Tr 𝑀𝑥𝑀) → (∃𝑦𝑀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦) ↔ ∃𝑦𝑀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀𝑣𝑀 ((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤))))
4025, 39imbi12d 344 . 2 ((Tr 𝑀𝑥𝑀) → (((∀𝑧𝑥 𝑧 ≠ ∅ ∧ ∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅)) → ∃𝑦𝑀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦)) ↔ ((∀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀 𝑤𝑧) ∧ ∀𝑧𝑀𝑤𝑀 ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤)))) → ∃𝑦𝑀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀𝑣𝑀 ((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤)))))
4140ralbidva 3153 1 (Tr 𝑀 → (∀𝑥𝑀 ((∀𝑧𝑥 𝑧 ≠ ∅ ∧ ∀𝑧𝑥𝑤𝑥 (𝑧𝑤 → (𝑧𝑤) = ∅)) → ∃𝑦𝑀𝑧𝑥 ∃!𝑣 𝑣 ∈ (𝑧𝑦)) ↔ ∀𝑥𝑀 ((∀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀 𝑤𝑧) ∧ ∀𝑧𝑀𝑤𝑀 ((𝑧𝑥𝑤𝑥) → (¬ 𝑧 = 𝑤 → ∀𝑦𝑀 (𝑦𝑧 → ¬ 𝑦𝑤)))) → ∃𝑦𝑀𝑧𝑀 (𝑧𝑥 → ∃𝑤𝑀𝑣𝑀 ((𝑣𝑧𝑣𝑦) ↔ 𝑣 = 𝑤)))))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 206  wa 395   = wceq 1541  wcel 2111  ∃!weu 2563  wne 2928  wral 3047  wrex 3056  ∃!wreu 3344  cin 3896  c0 4278  Tr wtr 5193
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2113  ax-9 2121  ax-10 2144  ax-12 2180  ax-ext 2703
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2535  df-eu 2564  df-clab 2710  df-cleq 2723  df-clel 2806  df-ne 2929  df-ral 3048  df-rex 3057  df-reu 3347  df-v 3438  df-dif 3900  df-in 3904  df-ss 3914  df-nul 4279  df-uni 4855  df-tr 5194
This theorem is referenced by:  wfac8prim  45035
  Copyright terms: Public domain W3C validator