Metamath Proof Explorer


Theorem dfac4

Description: Equivalence of two versions of the Axiom of Choice. The right-hand side is Axiom AC of BellMachover p. 488. The proof does not depend on AC. (Contributed by NM, 24-Mar-2004) (Revised by Mario Carneiro, 26-Jun-2015)

Ref Expression
Assertion dfac4 ⊢ CHOICE ↔ ∀ x ∃ f f Fn x ∧ ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z

Proof

Step Hyp Ref Expression
1 dfac3 ⊢ CHOICE ↔ ∀ x ∃ f ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z
2 fveq1 ⊢ f = y → f ⁡ z = y ⁡ z
3 2 eleq1d ⊢ f = y → f ⁡ z ∈ z ↔ y ⁡ z ∈ z
4 3 imbi2d ⊢ f = y → z ≠ ∅ → f ⁡ z ∈ z ↔ z ≠ ∅ → y ⁡ z ∈ z
5 4 ralbidv ⊢ f = y → ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z ↔ ∀ z ∈ x z ≠ ∅ → y ⁡ z ∈ z
6 5 cbvexvw ⊢ ∃ f ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z ↔ ∃ y ∀ z ∈ x z ≠ ∅ → y ⁡ z ∈ z
7 fvex ⊢ y ⁡ w ∈ V
8 eqid ⊢ w ∈ x ⟼ y ⁡ w = w ∈ x ⟼ y ⁡ w
9 7 8 fnmpti ⊢ w ∈ x ⟼ y ⁡ w Fn x
10 fveq2 ⊢ w = z → y ⁡ w = y ⁡ z
11 fvex ⊢ y ⁡ z ∈ V
12 10 8 11 fvmpt ⊢ z ∈ x → w ∈ x ⟼ y ⁡ w ⁡ z = y ⁡ z
13 12 eleq1d ⊢ z ∈ x → w ∈ x ⟼ y ⁡ w ⁡ z ∈ z ↔ y ⁡ z ∈ z
14 13 imbi2d ⊢ z ∈ x → z ≠ ∅ → w ∈ x ⟼ y ⁡ w ⁡ z ∈ z ↔ z ≠ ∅ → y ⁡ z ∈ z
15 14 ralbiia ⊢ ∀ z ∈ x z ≠ ∅ → w ∈ x ⟼ y ⁡ w ⁡ z ∈ z ↔ ∀ z ∈ x z ≠ ∅ → y ⁡ z ∈ z
16 15 anbi2i ⊢ w ∈ x ⟼ y ⁡ w Fn x ∧ ∀ z ∈ x z ≠ ∅ → w ∈ x ⟼ y ⁡ w ⁡ z ∈ z ↔ w ∈ x ⟼ y ⁡ w Fn x ∧ ∀ z ∈ x z ≠ ∅ → y ⁡ z ∈ z
17 9 16 mpbiran ⊢ w ∈ x ⟼ y ⁡ w Fn x ∧ ∀ z ∈ x z ≠ ∅ → w ∈ x ⟼ y ⁡ w ⁡ z ∈ z ↔ ∀ z ∈ x z ≠ ∅ → y ⁡ z ∈ z
18 fvrn0 ⊢ y ⁡ w ∈ ran ⁡ y ∪ ∅
19 18 rgenw ⊢ ∀ w ∈ x y ⁡ w ∈ ran ⁡ y ∪ ∅
20 8 fmpt ⊢ ∀ w ∈ x y ⁡ w ∈ ran ⁡ y ∪ ∅ ↔ w ∈ x ⟼ y ⁡ w : x ⟶ ran ⁡ y ∪ ∅
21 19 20 mpbi ⊢ w ∈ x ⟼ y ⁡ w : x ⟶ ran ⁡ y ∪ ∅
22 vex ⊢ x ∈ V
23 vex ⊢ y ∈ V
24 23 rnex ⊢ ran ⁡ y ∈ V
25 p0ex ⊢ ∅ ∈ V
26 24 25 unex ⊢ ran ⁡ y ∪ ∅ ∈ V
27 fex2 ⊢ w ∈ x ⟼ y ⁡ w : x ⟶ ran ⁡ y ∪ ∅ ∧ x ∈ V ∧ ran ⁡ y ∪ ∅ ∈ V → w ∈ x ⟼ y ⁡ w ∈ V
28 21 22 26 27 mp3an ⊢ w ∈ x ⟼ y ⁡ w ∈ V
29 fneq1 ⊢ f = w ∈ x ⟼ y ⁡ w → f Fn x ↔ w ∈ x ⟼ y ⁡ w Fn x
30 fveq1 ⊢ f = w ∈ x ⟼ y ⁡ w → f ⁡ z = w ∈ x ⟼ y ⁡ w ⁡ z
31 30 eleq1d ⊢ f = w ∈ x ⟼ y ⁡ w → f ⁡ z ∈ z ↔ w ∈ x ⟼ y ⁡ w ⁡ z ∈ z
32 31 imbi2d ⊢ f = w ∈ x ⟼ y ⁡ w → z ≠ ∅ → f ⁡ z ∈ z ↔ z ≠ ∅ → w ∈ x ⟼ y ⁡ w ⁡ z ∈ z
33 32 ralbidv ⊢ f = w ∈ x ⟼ y ⁡ w → ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z ↔ ∀ z ∈ x z ≠ ∅ → w ∈ x ⟼ y ⁡ w ⁡ z ∈ z
34 29 33 anbi12d ⊢ f = w ∈ x ⟼ y ⁡ w → f Fn x ∧ ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z ↔ w ∈ x ⟼ y ⁡ w Fn x ∧ ∀ z ∈ x z ≠ ∅ → w ∈ x ⟼ y ⁡ w ⁡ z ∈ z
35 28 34 spcev ⊢ w ∈ x ⟼ y ⁡ w Fn x ∧ ∀ z ∈ x z ≠ ∅ → w ∈ x ⟼ y ⁡ w ⁡ z ∈ z → ∃ f f Fn x ∧ ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z
36 17 35 sylbir ⊢ ∀ z ∈ x z ≠ ∅ → y ⁡ z ∈ z → ∃ f f Fn x ∧ ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z
37 36 exlimiv ⊢ ∃ y ∀ z ∈ x z ≠ ∅ → y ⁡ z ∈ z → ∃ f f Fn x ∧ ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z
38 6 37 sylbi ⊢ ∃ f ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z → ∃ f f Fn x ∧ ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z
39 exsimpr ⊢ ∃ f f Fn x ∧ ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z → ∃ f ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z
40 38 39 impbii ⊢ ∃ f ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z ↔ ∃ f f Fn x ∧ ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z
41 40 albii ⊢ ∀ x ∃ f ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z ↔ ∀ x ∃ f f Fn x ∧ ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z
42 1 41 bitri ⊢ CHOICE ↔ ∀ x ∃ f f Fn x ∧ ∀ z ∈ x z ≠ ∅ → f ⁡ z ∈ z