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

Theorem dfac2b 10084
Description: Axiom of Choice (first form) of [Enderton] p. 49 implies our Axiom of Choice (in the form of ac3 10415). The proof does not make use of AC. Note that the Axiom of Regularity is used by the proof. Specifically, elneq 9551 and preleq 9569 that are referenced in the proof each make use of Regularity for their derivations. (The reverse implication can be derived without using Regularity; see dfac2a 10083.) (Contributed by NM, 5-Apr-2004.) (Revised by Mario Carneiro, 26-Jun-2015.) (Revised by AV, 16-Jun-2022.)
Assertion
Ref Expression
dfac2b (CHOICE → ∀𝑥𝑦𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑤𝑧𝑣𝑦 (𝑧𝑣𝑤𝑣)))
Distinct variable group:   𝑥,𝑧,𝑦,𝑤,𝑣

Proof of Theorem dfac2b
Dummy variables 𝑓 𝑢 𝑔 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 dfac3 10074 . 2 (CHOICE ↔ ∀𝑥𝑓𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧))
2 nfra1 3261 . . . . . 6 𝑧𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧)
3 rsp 3225 . . . . . . . . . . . 12 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → (𝑧𝑥 → (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧)))
4 equid 2012 . . . . . . . . . . . . . . . . . 18 𝑧 = 𝑧
5 neeq1 2987 . . . . . . . . . . . . . . . . . . . 20 (𝑢 = 𝑧 → (𝑢 ≠ ∅ ↔ 𝑧 ≠ ∅))
6 eqeq1 2733 . . . . . . . . . . . . . . . . . . . 20 (𝑢 = 𝑧 → (𝑢 = 𝑧𝑧 = 𝑧))
75, 6anbi12d 632 . . . . . . . . . . . . . . . . . . 19 (𝑢 = 𝑧 → ((𝑢 ≠ ∅ ∧ 𝑢 = 𝑧) ↔ (𝑧 ≠ ∅ ∧ 𝑧 = 𝑧)))
87rspcev 3588 . . . . . . . . . . . . . . . . . 18 ((𝑧𝑥 ∧ (𝑧 ≠ ∅ ∧ 𝑧 = 𝑧)) → ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑢 = 𝑧))
94, 8mpanr2 704 . . . . . . . . . . . . . . . . 17 ((𝑧𝑥𝑧 ≠ ∅) → ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑢 = 𝑧))
10 fveq2 6858 . . . . . . . . . . . . . . . . . . . . 21 (𝑢 = 𝑧 → (𝑓𝑢) = (𝑓𝑧))
1110preq1d 4703 . . . . . . . . . . . . . . . . . . . 20 (𝑢 = 𝑧 → {(𝑓𝑢), 𝑢} = {(𝑓𝑧), 𝑢})
12 preq2 4698 . . . . . . . . . . . . . . . . . . . 20 (𝑢 = 𝑧 → {(𝑓𝑧), 𝑢} = {(𝑓𝑧), 𝑧})
1311, 12eqtr2d 2765 . . . . . . . . . . . . . . . . . . 19 (𝑢 = 𝑧 → {(𝑓𝑧), 𝑧} = {(𝑓𝑢), 𝑢})
1413anim2i 617 . . . . . . . . . . . . . . . . . 18 ((𝑢 ≠ ∅ ∧ 𝑢 = 𝑧) → (𝑢 ≠ ∅ ∧ {(𝑓𝑧), 𝑧} = {(𝑓𝑢), 𝑢}))
1514reximi 3067 . . . . . . . . . . . . . . . . 17 (∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑢 = 𝑧) → ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ {(𝑓𝑧), 𝑧} = {(𝑓𝑢), 𝑢}))
169, 15syl 17 . . . . . . . . . . . . . . . 16 ((𝑧𝑥𝑧 ≠ ∅) → ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ {(𝑓𝑧), 𝑧} = {(𝑓𝑢), 𝑢}))
17 prex 5392 . . . . . . . . . . . . . . . . 17 {(𝑓𝑧), 𝑧} ∈ V
18 eqeq1 2733 . . . . . . . . . . . . . . . . . . 19 (𝑔 = {(𝑓𝑧), 𝑧} → (𝑔 = {(𝑓𝑢), 𝑢} ↔ {(𝑓𝑧), 𝑧} = {(𝑓𝑢), 𝑢}))
1918anbi2d 630 . . . . . . . . . . . . . . . . . 18 (𝑔 = {(𝑓𝑧), 𝑧} → ((𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢}) ↔ (𝑢 ≠ ∅ ∧ {(𝑓𝑧), 𝑧} = {(𝑓𝑢), 𝑢})))
2019rexbidv 3157 . . . . . . . . . . . . . . . . 17 (𝑔 = {(𝑓𝑧), 𝑧} → (∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢}) ↔ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ {(𝑓𝑧), 𝑧} = {(𝑓𝑢), 𝑢})))
2117, 20elab 3646 . . . . . . . . . . . . . . . 16 ({(𝑓𝑧), 𝑧} ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} ↔ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ {(𝑓𝑧), 𝑧} = {(𝑓𝑢), 𝑢}))
2216, 21sylibr 234 . . . . . . . . . . . . . . 15 ((𝑧𝑥𝑧 ≠ ∅) → {(𝑓𝑧), 𝑧} ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})})
23 vex 3451 . . . . . . . . . . . . . . . . 17 𝑧 ∈ V
2423prid2 4727 . . . . . . . . . . . . . . . 16 𝑧 ∈ {(𝑓𝑧), 𝑧}
25 fvex 6871 . . . . . . . . . . . . . . . . 17 (𝑓𝑧) ∈ V
2625prid1 4726 . . . . . . . . . . . . . . . 16 (𝑓𝑧) ∈ {(𝑓𝑧), 𝑧}
2724, 26pm3.2i 470 . . . . . . . . . . . . . . 15 (𝑧 ∈ {(𝑓𝑧), 𝑧} ∧ (𝑓𝑧) ∈ {(𝑓𝑧), 𝑧})
28 eleq2 2817 . . . . . . . . . . . . . . . . 17 (𝑣 = {(𝑓𝑧), 𝑧} → (𝑧𝑣𝑧 ∈ {(𝑓𝑧), 𝑧}))
29 eleq2 2817 . . . . . . . . . . . . . . . . 17 (𝑣 = {(𝑓𝑧), 𝑧} → ((𝑓𝑧) ∈ 𝑣 ↔ (𝑓𝑧) ∈ {(𝑓𝑧), 𝑧}))
3028, 29anbi12d 632 . . . . . . . . . . . . . . . 16 (𝑣 = {(𝑓𝑧), 𝑧} → ((𝑧𝑣 ∧ (𝑓𝑧) ∈ 𝑣) ↔ (𝑧 ∈ {(𝑓𝑧), 𝑧} ∧ (𝑓𝑧) ∈ {(𝑓𝑧), 𝑧})))
3130rspcev 3588 . . . . . . . . . . . . . . 15 (({(𝑓𝑧), 𝑧} ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} ∧ (𝑧 ∈ {(𝑓𝑧), 𝑧} ∧ (𝑓𝑧) ∈ {(𝑓𝑧), 𝑧})) → ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣 ∧ (𝑓𝑧) ∈ 𝑣))
3222, 27, 31sylancl 586 . . . . . . . . . . . . . 14 ((𝑧𝑥𝑧 ≠ ∅) → ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣 ∧ (𝑓𝑧) ∈ 𝑣))
33 eleq1 2816 . . . . . . . . . . . . . . . 16 (𝑤 = (𝑓𝑧) → (𝑤𝑧 ↔ (𝑓𝑧) ∈ 𝑧))
34 eleq1 2816 . . . . . . . . . . . . . . . . . 18 (𝑤 = (𝑓𝑧) → (𝑤𝑣 ↔ (𝑓𝑧) ∈ 𝑣))
3534anbi2d 630 . . . . . . . . . . . . . . . . 17 (𝑤 = (𝑓𝑧) → ((𝑧𝑣𝑤𝑣) ↔ (𝑧𝑣 ∧ (𝑓𝑧) ∈ 𝑣)))
3635rexbidv 3157 . . . . . . . . . . . . . . . 16 (𝑤 = (𝑓𝑧) → (∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣) ↔ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣 ∧ (𝑓𝑧) ∈ 𝑣)))
3733, 36anbi12d 632 . . . . . . . . . . . . . . 15 (𝑤 = (𝑓𝑧) → ((𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)) ↔ ((𝑓𝑧) ∈ 𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣 ∧ (𝑓𝑧) ∈ 𝑣))))
3825, 37spcev 3572 . . . . . . . . . . . . . 14 (((𝑓𝑧) ∈ 𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣 ∧ (𝑓𝑧) ∈ 𝑣)) → ∃𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)))
3932, 38sylan2 593 . . . . . . . . . . . . 13 (((𝑓𝑧) ∈ 𝑧 ∧ (𝑧𝑥𝑧 ≠ ∅)) → ∃𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)))
4039ex 412 . . . . . . . . . . . 12 ((𝑓𝑧) ∈ 𝑧 → ((𝑧𝑥𝑧 ≠ ∅) → ∃𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣))))
413, 40syl8 76 . . . . . . . . . . 11 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → (𝑧𝑥 → (𝑧 ≠ ∅ → ((𝑧𝑥𝑧 ≠ ∅) → ∃𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣))))))
4241impd 410 . . . . . . . . . 10 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → ((𝑧𝑥𝑧 ≠ ∅) → ((𝑧𝑥𝑧 ≠ ∅) → ∃𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)))))
4342pm2.43d 53 . . . . . . . . 9 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → ((𝑧𝑥𝑧 ≠ ∅) → ∃𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣))))
44 df-rex 3054 . . . . . . . . . . . . 13 (∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣) ↔ ∃𝑣(𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} ∧ (𝑧𝑣𝑤𝑣)))
45 vex 3451 . . . . . . . . . . . . . . . . . . 19 𝑣 ∈ V
46 eqeq1 2733 . . . . . . . . . . . . . . . . . . . . 21 (𝑔 = 𝑣 → (𝑔 = {(𝑓𝑢), 𝑢} ↔ 𝑣 = {(𝑓𝑢), 𝑢}))
4746anbi2d 630 . . . . . . . . . . . . . . . . . . . 20 (𝑔 = 𝑣 → ((𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢}) ↔ (𝑢 ≠ ∅ ∧ 𝑣 = {(𝑓𝑢), 𝑢})))
4847rexbidv 3157 . . . . . . . . . . . . . . . . . . 19 (𝑔 = 𝑣 → (∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢}) ↔ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑣 = {(𝑓𝑢), 𝑢})))
4945, 48elab 3646 . . . . . . . . . . . . . . . . . 18 (𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} ↔ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑣 = {(𝑓𝑢), 𝑢}))
50 neeq1 2987 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑧 = 𝑢 → (𝑧 ≠ ∅ ↔ 𝑢 ≠ ∅))
51 fveq2 6858 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (𝑧 = 𝑢 → (𝑓𝑧) = (𝑓𝑢))
5251eleq1d 2813 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (𝑧 = 𝑢 → ((𝑓𝑧) ∈ 𝑧 ↔ (𝑓𝑢) ∈ 𝑧))
53 eleq2 2817 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (𝑧 = 𝑢 → ((𝑓𝑢) ∈ 𝑧 ↔ (𝑓𝑢) ∈ 𝑢))
5452, 53bitrd 279 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑧 = 𝑢 → ((𝑓𝑧) ∈ 𝑧 ↔ (𝑓𝑢) ∈ 𝑢))
5550, 54imbi12d 344 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑧 = 𝑢 → ((𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) ↔ (𝑢 ≠ ∅ → (𝑓𝑢) ∈ 𝑢)))
5655rspccv 3585 . . . . . . . . . . . . . . . . . . . . . . . 24 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → (𝑢𝑥 → (𝑢 ≠ ∅ → (𝑓𝑢) ∈ 𝑢)))
57 elneq 9551 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑤𝑧𝑤𝑧)
5857neneqd 2930 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (𝑤𝑧 → ¬ 𝑤 = 𝑧)
59 vex 3451 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 𝑤 ∈ V
60 neqne 2933 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 𝑤 = 𝑧𝑤𝑧)
61 prel12g 4828 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑤 ∈ V ∧ 𝑧 ∈ V ∧ 𝑤𝑧) → ({𝑤, 𝑧} = {(𝑓𝑢), 𝑢} ↔ (𝑤 ∈ {(𝑓𝑢), 𝑢} ∧ 𝑧 ∈ {(𝑓𝑢), 𝑢})))
6259, 23, 60, 61mp3an12i 1467 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 𝑤 = 𝑧 → ({𝑤, 𝑧} = {(𝑓𝑢), 𝑢} ↔ (𝑤 ∈ {(𝑓𝑢), 𝑢} ∧ 𝑧 ∈ {(𝑓𝑢), 𝑢})))
63 eleq2 2817 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑣 = {(𝑓𝑢), 𝑢} → (𝑤𝑣𝑤 ∈ {(𝑓𝑢), 𝑢}))
64 eleq2 2817 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 (𝑣 = {(𝑓𝑢), 𝑢} → (𝑧𝑣𝑧 ∈ {(𝑓𝑢), 𝑢}))
6563, 64anbi12d 632 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 (𝑣 = {(𝑓𝑢), 𝑢} → ((𝑤𝑣𝑧𝑣) ↔ (𝑤 ∈ {(𝑓𝑢), 𝑢} ∧ 𝑧 ∈ {(𝑓𝑢), 𝑢})))
66 ancom 460 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 ((𝑤𝑣𝑧𝑣) ↔ (𝑧𝑣𝑤𝑣))
6765, 66bitr3di 286 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (𝑣 = {(𝑓𝑢), 𝑢} → ((𝑤 ∈ {(𝑓𝑢), 𝑢} ∧ 𝑧 ∈ {(𝑓𝑢), 𝑢}) ↔ (𝑧𝑣𝑤𝑣)))
6862, 67sylan9bbr 510 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 ((𝑣 = {(𝑓𝑢), 𝑢} ∧ ¬ 𝑤 = 𝑧) → ({𝑤, 𝑧} = {(𝑓𝑢), 𝑢} ↔ (𝑧𝑣𝑤𝑣)))
6958, 68sylan2 593 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 ((𝑣 = {(𝑓𝑢), 𝑢} ∧ 𝑤𝑧) → ({𝑤, 𝑧} = {(𝑓𝑢), 𝑢} ↔ (𝑧𝑣𝑤𝑣)))
7069adantrr 717 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((𝑣 = {(𝑓𝑢), 𝑢} ∧ (𝑤𝑧 ∧ (𝑓𝑢) ∈ 𝑢)) → ({𝑤, 𝑧} = {(𝑓𝑢), 𝑢} ↔ (𝑧𝑣𝑤𝑣)))
7170pm5.32da 579 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (𝑣 = {(𝑓𝑢), 𝑢} → (((𝑤𝑧 ∧ (𝑓𝑢) ∈ 𝑢) ∧ {𝑤, 𝑧} = {(𝑓𝑢), 𝑢}) ↔ ((𝑤𝑧 ∧ (𝑓𝑢) ∈ 𝑢) ∧ (𝑧𝑣𝑤𝑣))))
7223preleq 9569 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (((𝑤𝑧 ∧ (𝑓𝑢) ∈ 𝑢) ∧ {𝑤, 𝑧} = {(𝑓𝑢), 𝑢}) → (𝑤 = (𝑓𝑢) ∧ 𝑧 = 𝑢))
7371, 72biimtrrdi 254 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (𝑣 = {(𝑓𝑢), 𝑢} → (((𝑤𝑧 ∧ (𝑓𝑢) ∈ 𝑢) ∧ (𝑧𝑣𝑤𝑣)) → (𝑤 = (𝑓𝑢) ∧ 𝑧 = 𝑢)))
7451eqeq2d 2740 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (𝑧 = 𝑢 → (𝑤 = (𝑓𝑧) ↔ 𝑤 = (𝑓𝑢)))
7574biimparc 479 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((𝑤 = (𝑓𝑢) ∧ 𝑧 = 𝑢) → 𝑤 = (𝑓𝑧))
7673, 75syl6 35 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (𝑣 = {(𝑓𝑢), 𝑢} → (((𝑤𝑧 ∧ (𝑓𝑢) ∈ 𝑢) ∧ (𝑧𝑣𝑤𝑣)) → 𝑤 = (𝑓𝑧)))
7776exp4c 432 . . . . . . . . . . . . . . . . . . . . . . . . 25 (𝑣 = {(𝑓𝑢), 𝑢} → (𝑤𝑧 → ((𝑓𝑢) ∈ 𝑢 → ((𝑧𝑣𝑤𝑣) → 𝑤 = (𝑓𝑧)))))
7877com13 88 . . . . . . . . . . . . . . . . . . . . . . . 24 ((𝑓𝑢) ∈ 𝑢 → (𝑤𝑧 → (𝑣 = {(𝑓𝑢), 𝑢} → ((𝑧𝑣𝑤𝑣) → 𝑤 = (𝑓𝑧)))))
7956, 78syl8 76 . . . . . . . . . . . . . . . . . . . . . . 23 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → (𝑢𝑥 → (𝑢 ≠ ∅ → (𝑤𝑧 → (𝑣 = {(𝑓𝑢), 𝑢} → ((𝑧𝑣𝑤𝑣) → 𝑤 = (𝑓𝑧)))))))
8079com4r 94 . . . . . . . . . . . . . . . . . . . . . 22 (𝑤𝑧 → (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → (𝑢𝑥 → (𝑢 ≠ ∅ → (𝑣 = {(𝑓𝑢), 𝑢} → ((𝑧𝑣𝑤𝑣) → 𝑤 = (𝑓𝑧)))))))
8180imp 406 . . . . . . . . . . . . . . . . . . . . 21 ((𝑤𝑧 ∧ ∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧)) → (𝑢𝑥 → (𝑢 ≠ ∅ → (𝑣 = {(𝑓𝑢), 𝑢} → ((𝑧𝑣𝑤𝑣) → 𝑤 = (𝑓𝑧))))))
8281imp4a 422 . . . . . . . . . . . . . . . . . . . 20 ((𝑤𝑧 ∧ ∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧)) → (𝑢𝑥 → ((𝑢 ≠ ∅ ∧ 𝑣 = {(𝑓𝑢), 𝑢}) → ((𝑧𝑣𝑤𝑣) → 𝑤 = (𝑓𝑧)))))
8382com3l 89 . . . . . . . . . . . . . . . . . . 19 (𝑢𝑥 → ((𝑢 ≠ ∅ ∧ 𝑣 = {(𝑓𝑢), 𝑢}) → ((𝑤𝑧 ∧ ∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧)) → ((𝑧𝑣𝑤𝑣) → 𝑤 = (𝑓𝑧)))))
8483rexlimiv 3127 . . . . . . . . . . . . . . . . . 18 (∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑣 = {(𝑓𝑢), 𝑢}) → ((𝑤𝑧 ∧ ∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧)) → ((𝑧𝑣𝑤𝑣) → 𝑤 = (𝑓𝑧))))
8549, 84sylbi 217 . . . . . . . . . . . . . . . . 17 (𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} → ((𝑤𝑧 ∧ ∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧)) → ((𝑧𝑣𝑤𝑣) → 𝑤 = (𝑓𝑧))))
8685expd 415 . . . . . . . . . . . . . . . 16 (𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} → (𝑤𝑧 → (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → ((𝑧𝑣𝑤𝑣) → 𝑤 = (𝑓𝑧)))))
8786com13 88 . . . . . . . . . . . . . . 15 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → (𝑤𝑧 → (𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} → ((𝑧𝑣𝑤𝑣) → 𝑤 = (𝑓𝑧)))))
8887imp4b 421 . . . . . . . . . . . . . 14 ((∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) ∧ 𝑤𝑧) → ((𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} ∧ (𝑧𝑣𝑤𝑣)) → 𝑤 = (𝑓𝑧)))
8988exlimdv 1933 . . . . . . . . . . . . 13 ((∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) ∧ 𝑤𝑧) → (∃𝑣(𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} ∧ (𝑧𝑣𝑤𝑣)) → 𝑤 = (𝑓𝑧)))
9044, 89biimtrid 242 . . . . . . . . . . . 12 ((∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) ∧ 𝑤𝑧) → (∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣) → 𝑤 = (𝑓𝑧)))
9190expimpd 453 . . . . . . . . . . 11 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → ((𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)) → 𝑤 = (𝑓𝑧)))
9291alrimiv 1927 . . . . . . . . . 10 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → ∀𝑤((𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)) → 𝑤 = (𝑓𝑧)))
93 mo2icl 3685 . . . . . . . . . 10 (∀𝑤((𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)) → 𝑤 = (𝑓𝑧)) → ∃*𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)))
9492, 93syl 17 . . . . . . . . 9 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → ∃*𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)))
9543, 94jctird 526 . . . . . . . 8 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → ((𝑧𝑥𝑧 ≠ ∅) → (∃𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)) ∧ ∃*𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)))))
96 df-reu 3355 . . . . . . . . 9 (∃!𝑤𝑧𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣) ↔ ∃!𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)))
97 df-eu 2562 . . . . . . . . 9 (∃!𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)) ↔ (∃𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)) ∧ ∃*𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣))))
9896, 97bitri 275 . . . . . . . 8 (∃!𝑤𝑧𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣) ↔ (∃𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)) ∧ ∃*𝑤(𝑤𝑧 ∧ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣))))
9995, 98imbitrrdi 252 . . . . . . 7 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → ((𝑧𝑥𝑧 ≠ ∅) → ∃!𝑤𝑧𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)))
10099expd 415 . . . . . 6 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → (𝑧𝑥 → (𝑧 ≠ ∅ → ∃!𝑤𝑧𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣))))
1012, 100ralrimi 3235 . . . . 5 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → ∀𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑤𝑧𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)))
102 vex 3451 . . . . . . . . . . 11 𝑓 ∈ V
103102rnex 7886 . . . . . . . . . 10 ran 𝑓 ∈ V
104 p0ex 5339 . . . . . . . . . 10 {∅} ∈ V
105103, 104unex 7720 . . . . . . . . 9 (ran 𝑓 ∪ {∅}) ∈ V
106 vex 3451 . . . . . . . . 9 𝑥 ∈ V
107105, 106unex 7720 . . . . . . . 8 ((ran 𝑓 ∪ {∅}) ∪ 𝑥) ∈ V
108107pwex 5335 . . . . . . 7 𝒫 ((ran 𝑓 ∪ {∅}) ∪ 𝑥) ∈ V
109 ssun1 4141 . . . . . . . . . . . . . 14 (ran 𝑓 ∪ {∅}) ⊆ ((ran 𝑓 ∪ {∅}) ∪ 𝑥)
110 fvrn0 6888 . . . . . . . . . . . . . 14 (𝑓𝑢) ∈ (ran 𝑓 ∪ {∅})
111109, 110sselii 3943 . . . . . . . . . . . . 13 (𝑓𝑢) ∈ ((ran 𝑓 ∪ {∅}) ∪ 𝑥)
112 elun2 4146 . . . . . . . . . . . . 13 (𝑢𝑥𝑢 ∈ ((ran 𝑓 ∪ {∅}) ∪ 𝑥))
113 prssi 4785 . . . . . . . . . . . . 13 (((𝑓𝑢) ∈ ((ran 𝑓 ∪ {∅}) ∪ 𝑥) ∧ 𝑢 ∈ ((ran 𝑓 ∪ {∅}) ∪ 𝑥)) → {(𝑓𝑢), 𝑢} ⊆ ((ran 𝑓 ∪ {∅}) ∪ 𝑥))
114111, 112, 113sylancr 587 . . . . . . . . . . . 12 (𝑢𝑥 → {(𝑓𝑢), 𝑢} ⊆ ((ran 𝑓 ∪ {∅}) ∪ 𝑥))
115 prex 5392 . . . . . . . . . . . . 13 {(𝑓𝑢), 𝑢} ∈ V
116115elpw 4567 . . . . . . . . . . . 12 ({(𝑓𝑢), 𝑢} ∈ 𝒫 ((ran 𝑓 ∪ {∅}) ∪ 𝑥) ↔ {(𝑓𝑢), 𝑢} ⊆ ((ran 𝑓 ∪ {∅}) ∪ 𝑥))
117114, 116sylibr 234 . . . . . . . . . . 11 (𝑢𝑥 → {(𝑓𝑢), 𝑢} ∈ 𝒫 ((ran 𝑓 ∪ {∅}) ∪ 𝑥))
118 eleq1 2816 . . . . . . . . . . 11 (𝑔 = {(𝑓𝑢), 𝑢} → (𝑔 ∈ 𝒫 ((ran 𝑓 ∪ {∅}) ∪ 𝑥) ↔ {(𝑓𝑢), 𝑢} ∈ 𝒫 ((ran 𝑓 ∪ {∅}) ∪ 𝑥)))
119117, 118syl5ibrcom 247 . . . . . . . . . 10 (𝑢𝑥 → (𝑔 = {(𝑓𝑢), 𝑢} → 𝑔 ∈ 𝒫 ((ran 𝑓 ∪ {∅}) ∪ 𝑥)))
120119adantld 490 . . . . . . . . 9 (𝑢𝑥 → ((𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢}) → 𝑔 ∈ 𝒫 ((ran 𝑓 ∪ {∅}) ∪ 𝑥)))
121120rexlimiv 3127 . . . . . . . 8 (∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢}) → 𝑔 ∈ 𝒫 ((ran 𝑓 ∪ {∅}) ∪ 𝑥))
122121abssi 4033 . . . . . . 7 {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} ⊆ 𝒫 ((ran 𝑓 ∪ {∅}) ∪ 𝑥)
123108, 122ssexi 5277 . . . . . 6 {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} ∈ V
124 rexeq 3295 . . . . . . . . 9 (𝑦 = {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} → (∃𝑣𝑦 (𝑧𝑣𝑤𝑣) ↔ ∃𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)))
125124reubidv 3372 . . . . . . . 8 (𝑦 = {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} → (∃!𝑤𝑧𝑣𝑦 (𝑧𝑣𝑤𝑣) ↔ ∃!𝑤𝑧𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)))
126125imbi2d 340 . . . . . . 7 (𝑦 = {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} → ((𝑧 ≠ ∅ → ∃!𝑤𝑧𝑣𝑦 (𝑧𝑣𝑤𝑣)) ↔ (𝑧 ≠ ∅ → ∃!𝑤𝑧𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣))))
127126ralbidv 3156 . . . . . 6 (𝑦 = {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} → (∀𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑤𝑧𝑣𝑦 (𝑧𝑣𝑤𝑣)) ↔ ∀𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑤𝑧𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣))))
128123, 127spcev 3572 . . . . 5 (∀𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑤𝑧𝑣 ∈ {𝑔 ∣ ∃𝑢𝑥 (𝑢 ≠ ∅ ∧ 𝑔 = {(𝑓𝑢), 𝑢})} (𝑧𝑣𝑤𝑣)) → ∃𝑦𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑤𝑧𝑣𝑦 (𝑧𝑣𝑤𝑣)))
129101, 128syl 17 . . . 4 (∀𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → ∃𝑦𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑤𝑧𝑣𝑦 (𝑧𝑣𝑤𝑣)))
130129exlimiv 1930 . . 3 (∃𝑓𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → ∃𝑦𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑤𝑧𝑣𝑦 (𝑧𝑣𝑤𝑣)))
131130alimi 1811 . 2 (∀𝑥𝑓𝑧𝑥 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) → ∀𝑥𝑦𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑤𝑧𝑣𝑦 (𝑧𝑣𝑤𝑣)))
1321, 131sylbi 217 1 (CHOICE → ∀𝑥𝑦𝑧𝑥 (𝑧 ≠ ∅ → ∃!𝑤𝑧𝑣𝑦 (𝑧𝑣𝑤𝑣)))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 206  wa 395  wal 1538   = wceq 1540  wex 1779  wcel 2109  ∃*wmo 2531  ∃!weu 2561  {cab 2707  wne 2925  wral 3044  wrex 3053  ∃!wreu 3352  Vcvv 3447  cun 3912  wss 3914  c0 4296  𝒫 cpw 4563  {csn 4589  {cpr 4591  ran crn 5639  cfv 6511  CHOICEwac 10068
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2701  ax-sep 5251  ax-nul 5261  ax-pow 5320  ax-pr 5387  ax-un 7711  ax-reg 9545
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2533  df-eu 2562  df-clab 2708  df-cleq 2721  df-clel 2803  df-nfc 2878  df-ne 2926  df-ral 3045  df-rex 3054  df-reu 3355  df-rab 3406  df-v 3449  df-dif 3917  df-un 3919  df-in 3921  df-ss 3931  df-nul 4297  df-if 4489  df-pw 4565  df-sn 4590  df-pr 4592  df-op 4596  df-uni 4872  df-br 5108  df-opab 5170  df-mpt 5189  df-id 5533  df-eprel 5538  df-fr 5591  df-xp 5644  df-rel 5645  df-cnv 5646  df-co 5647  df-dm 5648  df-rn 5649  df-res 5650  df-ima 5651  df-iota 6464  df-fun 6513  df-fn 6514  df-fv 6519  df-ac 10069
This theorem is referenced by:  dfac2  10085
  Copyright terms: Public domain W3C validator