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

Theorem dfacacn 10059
Description: A choice equivalent: every set has choice sets of every length. (Contributed by Mario Carneiro, 31-Aug-2015.)
Assertion
Ref Expression
dfacacn (CHOICE ↔ ∀𝑥AC 𝑥 = V)

Proof of Theorem dfacacn
Dummy variables 𝑓 𝑔 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 acacni 10058 . . . 4 ((CHOICE𝑥 ∈ V) → AC 𝑥 = V)
21elvd 3439 . . 3 (CHOICEAC 𝑥 = V)
32alrimiv 1935 . 2 (CHOICE → ∀𝑥AC 𝑥 = V)
4 vex 3437 . . . . . . 7 𝑦 ∈ V
54difexi 5261 . . . . . 6 (𝑦 ∖ {∅}) ∈ V
6 acneq 9960 . . . . . . 7 (𝑥 = (𝑦 ∖ {∅}) → AC 𝑥 = AC (𝑦 ∖ {∅}))
76eqeq1d 2743 . . . . . 6 (𝑥 = (𝑦 ∖ {∅}) → (AC 𝑥 = V ↔ AC (𝑦 ∖ {∅}) = V))
85, 7spcv 3545 . . . . 5 (∀𝑥AC 𝑥 = V → AC (𝑦 ∖ {∅}) = V)
9 vuniex 7686 . . . . . . 7 𝑦 ∈ V
10 id 22 . . . . . . 7 (AC (𝑦 ∖ {∅}) = V → AC (𝑦 ∖ {∅}) = V)
119, 10eleqtrrid 2848 . . . . . 6 (AC (𝑦 ∖ {∅}) = V → 𝑦AC (𝑦 ∖ {∅}))
12 eldifi 4064 . . . . . . . . 9 (𝑧 ∈ (𝑦 ∖ {∅}) → 𝑧𝑦)
13 elssuni 4872 . . . . . . . . 9 (𝑧𝑦𝑧 𝑦)
1412, 13syl 17 . . . . . . . 8 (𝑧 ∈ (𝑦 ∖ {∅}) → 𝑧 𝑦)
15 eldifsni 4726 . . . . . . . 8 (𝑧 ∈ (𝑦 ∖ {∅}) → 𝑧 ≠ ∅)
1614, 15jca 517 . . . . . . 7 (𝑧 ∈ (𝑦 ∖ {∅}) → (𝑧 𝑦𝑧 ≠ ∅))
1716rgen 3057 . . . . . 6 𝑧 ∈ (𝑦 ∖ {∅})(𝑧 𝑦𝑧 ≠ ∅)
18 acni2 9963 . . . . . 6 (( 𝑦AC (𝑦 ∖ {∅}) ∧ ∀𝑧 ∈ (𝑦 ∖ {∅})(𝑧 𝑦𝑧 ≠ ∅)) → ∃𝑔(𝑔:(𝑦 ∖ {∅})⟶ 𝑦 ∧ ∀𝑧 ∈ (𝑦 ∖ {∅})(𝑔𝑧) ∈ 𝑧))
1911, 17, 18sylancl 593 . . . . 5 (AC (𝑦 ∖ {∅}) = V → ∃𝑔(𝑔:(𝑦 ∖ {∅})⟶ 𝑦 ∧ ∀𝑧 ∈ (𝑦 ∖ {∅})(𝑔𝑧) ∈ 𝑧))
204mptex 7171 . . . . . . 7 (𝑥𝑦 ↦ (𝑔𝑥)) ∈ V
21 eldifsn 4722 . . . . . . . . . . . 12 (𝑧 ∈ (𝑦 ∖ {∅}) ↔ (𝑧𝑦𝑧 ≠ ∅))
2221imbi1i 351 . . . . . . . . . . 11 ((𝑧 ∈ (𝑦 ∖ {∅}) → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧) ↔ ((𝑧𝑦𝑧 ≠ ∅) → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧))
23 fveq2 6831 . . . . . . . . . . . . . . 15 (𝑥 = 𝑧 → (𝑔𝑥) = (𝑔𝑧))
24 eqid 2741 . . . . . . . . . . . . . . 15 (𝑥𝑦 ↦ (𝑔𝑥)) = (𝑥𝑦 ↦ (𝑔𝑥))
25 fvex 6844 . . . . . . . . . . . . . . 15 (𝑔𝑧) ∈ V
2623, 24, 25fvmpt 6939 . . . . . . . . . . . . . 14 (𝑧𝑦 → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) = (𝑔𝑧))
2712, 26syl 17 . . . . . . . . . . . . 13 (𝑧 ∈ (𝑦 ∖ {∅}) → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) = (𝑔𝑧))
2827eleq1d 2826 . . . . . . . . . . . 12 (𝑧 ∈ (𝑦 ∖ {∅}) → (((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧 ↔ (𝑔𝑧) ∈ 𝑧))
2928pm5.74i 273 . . . . . . . . . . 11 ((𝑧 ∈ (𝑦 ∖ {∅}) → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧) ↔ (𝑧 ∈ (𝑦 ∖ {∅}) → (𝑔𝑧) ∈ 𝑧))
30 impexp 452 . . . . . . . . . . 11 (((𝑧𝑦𝑧 ≠ ∅) → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧) ↔ (𝑧𝑦 → (𝑧 ≠ ∅ → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧)))
3122, 29, 303bitr3i 303 . . . . . . . . . 10 ((𝑧 ∈ (𝑦 ∖ {∅}) → (𝑔𝑧) ∈ 𝑧) ↔ (𝑧𝑦 → (𝑧 ≠ ∅ → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧)))
3231ralbii2 3083 . . . . . . . . 9 (∀𝑧 ∈ (𝑦 ∖ {∅})(𝑔𝑧) ∈ 𝑧 ↔ ∀𝑧𝑦 (𝑧 ≠ ∅ → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧))
3332bilani 506 . . . . . . . 8 ((𝑔:(𝑦 ∖ {∅})⟶ 𝑦 ∧ ∀𝑧 ∈ (𝑦 ∖ {∅})(𝑔𝑧) ∈ 𝑧) → ∀𝑧𝑦 (𝑧 ≠ ∅ → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧))
34 fvrn0 6859 . . . . . . . . . . 11 (𝑔𝑥) ∈ (ran 𝑔 ∪ {∅})
3534rgenw 3059 . . . . . . . . . 10 𝑥𝑦 (𝑔𝑥) ∈ (ran 𝑔 ∪ {∅})
3624fmpt 7055 . . . . . . . . . 10 (∀𝑥𝑦 (𝑔𝑥) ∈ (ran 𝑔 ∪ {∅}) ↔ (𝑥𝑦 ↦ (𝑔𝑥)):𝑦⟶(ran 𝑔 ∪ {∅}))
3735, 36mpbi 232 . . . . . . . . 9 (𝑥𝑦 ↦ (𝑔𝑥)):𝑦⟶(ran 𝑔 ∪ {∅})
38 ffn 6659 . . . . . . . . 9 ((𝑥𝑦 ↦ (𝑔𝑥)):𝑦⟶(ran 𝑔 ∪ {∅}) → (𝑥𝑦 ↦ (𝑔𝑥)) Fn 𝑦)
3937, 38ax-mp 5 . . . . . . . 8 (𝑥𝑦 ↦ (𝑔𝑥)) Fn 𝑦
4033, 39jctil 525 . . . . . . 7 ((𝑔:(𝑦 ∖ {∅})⟶ 𝑦 ∧ ∀𝑧 ∈ (𝑦 ∖ {∅})(𝑔𝑧) ∈ 𝑧) → ((𝑥𝑦 ↦ (𝑔𝑥)) Fn 𝑦 ∧ ∀𝑧𝑦 (𝑧 ≠ ∅ → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧)))
41 fneq1 6580 . . . . . . . . 9 (𝑓 = (𝑥𝑦 ↦ (𝑔𝑥)) → (𝑓 Fn 𝑦 ↔ (𝑥𝑦 ↦ (𝑔𝑥)) Fn 𝑦))
42 fveq1 6830 . . . . . . . . . . . 12 (𝑓 = (𝑥𝑦 ↦ (𝑔𝑥)) → (𝑓𝑧) = ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧))
4342eleq1d 2826 . . . . . . . . . . 11 (𝑓 = (𝑥𝑦 ↦ (𝑔𝑥)) → ((𝑓𝑧) ∈ 𝑧 ↔ ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧))
4443imbi2d 342 . . . . . . . . . 10 (𝑓 = (𝑥𝑦 ↦ (𝑔𝑥)) → ((𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) ↔ (𝑧 ≠ ∅ → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧)))
4544ralbidv 3164 . . . . . . . . 9 (𝑓 = (𝑥𝑦 ↦ (𝑔𝑥)) → (∀𝑧𝑦 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧) ↔ ∀𝑧𝑦 (𝑧 ≠ ∅ → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧)))
4641, 45anbi12d 639 . . . . . . . 8 (𝑓 = (𝑥𝑦 ↦ (𝑔𝑥)) → ((𝑓 Fn 𝑦 ∧ ∀𝑧𝑦 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧)) ↔ ((𝑥𝑦 ↦ (𝑔𝑥)) Fn 𝑦 ∧ ∀𝑧𝑦 (𝑧 ≠ ∅ → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧))))
4746spcegv 3537 . . . . . . 7 ((𝑥𝑦 ↦ (𝑔𝑥)) ∈ V → (((𝑥𝑦 ↦ (𝑔𝑥)) Fn 𝑦 ∧ ∀𝑧𝑦 (𝑧 ≠ ∅ → ((𝑥𝑦 ↦ (𝑔𝑥))‘𝑧) ∈ 𝑧)) → ∃𝑓(𝑓 Fn 𝑦 ∧ ∀𝑧𝑦 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧))))
4820, 40, 47mpsyl 68 . . . . . 6 ((𝑔:(𝑦 ∖ {∅})⟶ 𝑦 ∧ ∀𝑧 ∈ (𝑦 ∖ {∅})(𝑔𝑧) ∈ 𝑧) → ∃𝑓(𝑓 Fn 𝑦 ∧ ∀𝑧𝑦 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧)))
4948exlimiv 1938 . . . . 5 (∃𝑔(𝑔:(𝑦 ∖ {∅})⟶ 𝑦 ∧ ∀𝑧 ∈ (𝑦 ∖ {∅})(𝑔𝑧) ∈ 𝑧) → ∃𝑓(𝑓 Fn 𝑦 ∧ ∀𝑧𝑦 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧)))
508, 19, 493syl 18 . . . 4 (∀𝑥AC 𝑥 = V → ∃𝑓(𝑓 Fn 𝑦 ∧ ∀𝑧𝑦 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧)))
5150alrimiv 1935 . . 3 (∀𝑥AC 𝑥 = V → ∀𝑦𝑓(𝑓 Fn 𝑦 ∧ ∀𝑧𝑦 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧)))
52 dfac4 10039 . . 3 (CHOICE ↔ ∀𝑦𝑓(𝑓 Fn 𝑦 ∧ ∀𝑧𝑦 (𝑧 ≠ ∅ → (𝑓𝑧) ∈ 𝑧)))
5351, 52sylibr 236 . 2 (∀𝑥AC 𝑥 = V → CHOICE)
543, 53impbii 211 1 (CHOICE ↔ ∀𝑥AC 𝑥 = V)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 397  wal 1546   = wceq 1548  wex 1787  wcel 2121  wne 2936  wral 3055  Vcvv 3433  cdif 3882  cun 3883  wss 3885  c0 4264  {csn 4558   cuni 4841  cmpt 5156  ran crn 5622   Fn wfn 6484  wf 6485  cfv 6489  AC wacn 9857  CHOICEwac 10032
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1803  ax-4 1817  ax-5 1918  ax-6 1975  ax-7 2016  ax-8 2123  ax-9 2131  ax-10 2154  ax-11 2170  ax-12 2191  ax-ext 2713  ax-rep 5202  ax-sep 5221  ax-nul 5231  ax-pow 5297  ax-pr 5365  ax-un 7682
This theorem depends on definitions:  df-bi 209  df-an 398  df-or 855  df-3or 1094  df-3an 1095  df-tru 1551  df-fal 1561  df-ex 1788  df-nf 1792  df-sb 2075  df-mo 2545  df-eu 2575  df-clab 2720  df-cleq 2733  df-clel 2816  df-nfc 2890  df-ne 2937  df-ral 3056  df-rex 3066  df-rmo 3346  df-reu 3347  df-rab 3394  df-v 3435  df-sbc 3726  df-csb 3834  df-dif 3888  df-un 3890  df-in 3892  df-ss 3902  df-pss 3905  df-nul 4265  df-if 4458  df-pw 4534  df-sn 4559  df-pr 4561  df-op 4565  df-uni 4842  df-int 4881  df-iun 4926  df-br 5076  df-opab 5138  df-mpt 5157  df-tr 5183  df-id 5516  df-eprel 5521  df-po 5529  df-so 5530  df-fr 5574  df-se 5575  df-we 5576  df-xp 5627  df-rel 5628  df-cnv 5629  df-co 5630  df-dm 5631  df-rn 5632  df-res 5633  df-ima 5634  df-pred 6256  df-ord 6317  df-on 6318  df-suc 6320  df-iota 6445  df-fun 6491  df-fn 6492  df-f 6493  df-f1 6494  df-fo 6495  df-f1o 6496  df-fv 6497  df-isom 6498  df-riota 7317  df-ov 7363  df-oprab 7364  df-mpo 7365  df-1st 7935  df-2nd 7936  df-frecs 8225  df-wrecs 8256  df-recs 8305  df-er 8637  df-map 8769  df-en 8888  df-dom 8889  df-card 9858  df-acn 9861  df-ac 10033
This theorem is referenced by:  dfac13  10060
  Copyright terms: Public domain W3C validator