Metamath Proof Explorer


Theorem dfacacn

Description: A choice equivalent: every set has choice sets of every length. (Contributed by Mario Carneiro, 31-Aug-2015)

Ref Expression
Assertion dfacacn ⊢ CHOICE ↔ ∀ x AC _ x = V

Proof

Step Hyp Ref Expression
1 acacni ⊢ CHOICE ∧ x ∈ V → AC _ x = V
2 1 elvd ⊢ CHOICE → AC _ x = V
3 2 alrimiv ⊢ CHOICE → ∀ x AC _ x = V
4 vex ⊢ y ∈ V
5 4 difexi ⊢ y ∖ ∅ ∈ V
6 acneq ⊢ x = y ∖ ∅ → AC _ x = AC _ y ∖ ∅
7 6 eqeq1d ⊢ x = y ∖ ∅ → AC _ x = V ↔ AC _ y ∖ ∅ = V
8 5 7 spcv ⊢ ∀ x AC _ x = V → AC _ y ∖ ∅ = V
9 vuniex ⊢ ⋃ y ∈ V
10 id ⊢ AC _ y ∖ ∅ = V → AC _ y ∖ ∅ = V
11 9 10 eleqtrrid ⊢ AC _ y ∖ ∅ = V → ⋃ y ∈ AC _ y ∖ ∅
12 eldifi ⊢ z ∈ y ∖ ∅ → z ∈ y
13 elssuni ⊢ z ∈ y → z ⊆ ⋃ y
14 12 13 syl ⊢ z ∈ y ∖ ∅ → z ⊆ ⋃ y
15 eldifsni ⊢ z ∈ y ∖ ∅ → z ≠ ∅
16 14 15 jca ⊢ z ∈ y ∖ ∅ → z ⊆ ⋃ y ∧ z ≠ ∅
17 16 rgen ⊢ ∀ z ∈ y ∖ ∅ z ⊆ ⋃ y ∧ z ≠ ∅
18 acni2 ⊢ ⋃ y ∈ AC _ y ∖ ∅ ∧ ∀ z ∈ y ∖ ∅ z ⊆ ⋃ y ∧ z ≠ ∅ → ∃ g g : y ∖ ∅ ⟶ ⋃ y ∧ ∀ z ∈ y ∖ ∅ g ⁡ z ∈ z
19 11 17 18 sylancl ⊢ AC _ y ∖ ∅ = V → ∃ g g : y ∖ ∅ ⟶ ⋃ y ∧ ∀ z ∈ y ∖ ∅ g ⁡ z ∈ z
20 4 mptex ⊢ x ∈ y ⟼ g ⁡ x ∈ V
21 eldifsn ⊢ z ∈ y ∖ ∅ ↔ z ∈ y ∧ z ≠ ∅
22 21 imbi1i ⊢ z ∈ y ∖ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z ∈ z ↔ z ∈ y ∧ z ≠ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z ∈ z
23 fveq2 ⊢ x = z → g ⁡ x = g ⁡ z
24 eqid ⊢ x ∈ y ⟼ g ⁡ x = x ∈ y ⟼ g ⁡ x
25 fvex ⊢ g ⁡ z ∈ V
26 23 24 25 fvmpt ⊢ z ∈ y → x ∈ y ⟼ g ⁡ x ⁡ z = g ⁡ z
27 12 26 syl ⊢ z ∈ y ∖ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z = g ⁡ z
28 27 eleq1d ⊢ z ∈ y ∖ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z ∈ z ↔ g ⁡ z ∈ z
29 28 pm5.74i ⊢ z ∈ y ∖ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z ∈ z ↔ z ∈ y ∖ ∅ → g ⁡ z ∈ z
30 impexp ⊢ z ∈ y ∧ z ≠ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z ∈ z ↔ z ∈ y → z ≠ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z ∈ z
31 22 29 30 3bitr3i ⊢ z ∈ y ∖ ∅ → g ⁡ z ∈ z ↔ z ∈ y → z ≠ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z ∈ z
32 31 ralbii2 ⊢ ∀ z ∈ y ∖ ∅ g ⁡ z ∈ z ↔ ∀ z ∈ y z ≠ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z ∈ z
33 32 bilani ⊢ g : y ∖ ∅ ⟶ ⋃ y ∧ ∀ z ∈ y ∖ ∅ g ⁡ z ∈ z → ∀ z ∈ y z ≠ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z ∈ z
34 fvrn0 ⊢ g ⁡ x ∈ ran ⁡ g ∪ ∅
35 34 rgenw ⊢ ∀ x ∈ y g ⁡ x ∈ ran ⁡ g ∪ ∅
36 24 fmpt ⊢ ∀ x ∈ y g ⁡ x ∈ ran ⁡ g ∪ ∅ ↔ x ∈ y ⟼ g ⁡ x : y ⟶ ran ⁡ g ∪ ∅
37 35 36 mpbi ⊢ x ∈ y ⟼ g ⁡ x : y ⟶ ran ⁡ g ∪ ∅
38 ffn ⊢ x ∈ y ⟼ g ⁡ x : y ⟶ ran ⁡ g ∪ ∅ → x ∈ y ⟼ g ⁡ x Fn y
39 37 38 ax-mp ⊢ x ∈ y ⟼ g ⁡ x Fn y
40 33 39 jctil ⊢ g : y ∖ ∅ ⟶ ⋃ y ∧ ∀ z ∈ y ∖ ∅ g ⁡ z ∈ z → x ∈ y ⟼ g ⁡ x Fn y ∧ ∀ z ∈ y z ≠ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z ∈ z
41 fneq1 ⊢ f = x ∈ y ⟼ g ⁡ x → f Fn y ↔ x ∈ y ⟼ g ⁡ x Fn y
42 fveq1 ⊢ f = x ∈ y ⟼ g ⁡ x → f ⁡ z = x ∈ y ⟼ g ⁡ x ⁡ z
43 42 eleq1d ⊢ f = x ∈ y ⟼ g ⁡ x → f ⁡ z ∈ z ↔ x ∈ y ⟼ g ⁡ x ⁡ z ∈ z
44 43 imbi2d ⊢ f = x ∈ y ⟼ g ⁡ x → z ≠ ∅ → f ⁡ z ∈ z ↔ z ≠ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z ∈ z
45 44 ralbidv ⊢ f = x ∈ y ⟼ g ⁡ x → ∀ z ∈ y z ≠ ∅ → f ⁡ z ∈ z ↔ ∀ z ∈ y z ≠ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z ∈ z
46 41 45 anbi12d ⊢ f = x ∈ y ⟼ g ⁡ x → f Fn y ∧ ∀ z ∈ y z ≠ ∅ → f ⁡ z ∈ z ↔ x ∈ y ⟼ g ⁡ x Fn y ∧ ∀ z ∈ y z ≠ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z ∈ z
47 46 spcegv ⊢ x ∈ y ⟼ g ⁡ x ∈ V → x ∈ y ⟼ g ⁡ x Fn y ∧ ∀ z ∈ y z ≠ ∅ → x ∈ y ⟼ g ⁡ x ⁡ z ∈ z → ∃ f f Fn y ∧ ∀ z ∈ y z ≠ ∅ → f ⁡ z ∈ z
48 20 40 47 mpsyl ⊢ g : y ∖ ∅ ⟶ ⋃ y ∧ ∀ z ∈ y ∖ ∅ g ⁡ z ∈ z → ∃ f f Fn y ∧ ∀ z ∈ y z ≠ ∅ → f ⁡ z ∈ z
49 48 exlimiv ⊢ ∃ g g : y ∖ ∅ ⟶ ⋃ y ∧ ∀ z ∈ y ∖ ∅ g ⁡ z ∈ z → ∃ f f Fn y ∧ ∀ z ∈ y z ≠ ∅ → f ⁡ z ∈ z
50 8 19 49 3syl ⊢ ∀ x AC _ x = V → ∃ f f Fn y ∧ ∀ z ∈ y z ≠ ∅ → f ⁡ z ∈ z
51 50 alrimiv ⊢ ∀ x AC _ x = V → ∀ y ∃ f f Fn y ∧ ∀ z ∈ y z ≠ ∅ → f ⁡ z ∈ z
52 dfac4 ⊢ CHOICE ↔ ∀ y ∃ f f Fn y ∧ ∀ z ∈ y z ≠ ∅ → f ⁡ z ∈ z
53 51 52 sylibr ⊢ ∀ x AC _ x = V → CHOICE
54 3 53 impbii ⊢ CHOICE ↔ ∀ x AC _ x = V