Metamath Proof Explorer


Theorem acunirnmpt2f

Description: Axiom of choice for the union of the range of a mapping to function. (Contributed by Thierry Arnoux, 7-Nov-2019)

Ref Expression
Hypotheses acunirnmpt.0 ⊢ φ → A ∈ V
acunirnmpt.1 ⊢ φ ∧ j ∈ A → B ≠ ∅
aciunf1lem.a ⊢ Ⅎ _ j A
acunirnmpt2f.c ⊢ Ⅎ _ j C
acunirnmpt2f.d ⊢ Ⅎ _ j D
acunirnmpt2f.2 ⊢ C = ⋃ j ∈ A B
acunirnmpt2f.3 ⊢ j = f ⁡ x → B = D
acunirnmpt2f.4 ⊢ φ ∧ j ∈ A → B ∈ W
Assertion acunirnmpt2f ⊢ φ → ∃ f f : C ⟶ A ∧ ∀ x ∈ C x ∈ D

Proof

Step Hyp Ref Expression
1 acunirnmpt.0 ⊢ φ → A ∈ V
2 acunirnmpt.1 ⊢ φ ∧ j ∈ A → B ≠ ∅
3 aciunf1lem.a ⊢ Ⅎ _ j A
4 acunirnmpt2f.c ⊢ Ⅎ _ j C
5 acunirnmpt2f.d ⊢ Ⅎ _ j D
6 acunirnmpt2f.2 ⊢ C = ⋃ j ∈ A B
7 acunirnmpt2f.3 ⊢ j = f ⁡ x → B = D
8 acunirnmpt2f.4 ⊢ φ ∧ j ∈ A → B ∈ W
9 simplr ⊢ φ ∧ x ∈ C ∧ y ∈ ran ⁡ j ∈ A ⟼ B ∧ x ∈ y → y ∈ ran ⁡ j ∈ A ⟼ B
10 vex ⊢ y ∈ V
11 eqid ⊢ j ∈ A ⟼ B = j ∈ A ⟼ B
12 11 elrnmpt ⊢ y ∈ V → y ∈ ran ⁡ j ∈ A ⟼ B ↔ ∃ j ∈ A y = B
13 10 12 ax-mp ⊢ y ∈ ran ⁡ j ∈ A ⟼ B ↔ ∃ j ∈ A y = B
14 9 13 sylib ⊢ φ ∧ x ∈ C ∧ y ∈ ran ⁡ j ∈ A ⟼ B ∧ x ∈ y → ∃ j ∈ A y = B
15 nfv ⊢ Ⅎ j φ
16 4 nfcri ⊢ Ⅎ j x ∈ C
17 15 16 nfan ⊢ Ⅎ j φ ∧ x ∈ C
18 nfcv ⊢ Ⅎ _ j y
19 nfmpt1 ⊢ Ⅎ _ j j ∈ A ⟼ B
20 19 nfrn ⊢ Ⅎ _ j ran ⁡ j ∈ A ⟼ B
21 18 20 nfel ⊢ Ⅎ j y ∈ ran ⁡ j ∈ A ⟼ B
22 17 21 nfan ⊢ Ⅎ j φ ∧ x ∈ C ∧ y ∈ ran ⁡ j ∈ A ⟼ B
23 nfv ⊢ Ⅎ j x ∈ y
24 22 23 nfan ⊢ Ⅎ j φ ∧ x ∈ C ∧ y ∈ ran ⁡ j ∈ A ⟼ B ∧ x ∈ y
25 simpllr ⊢ φ ∧ x ∈ C ∧ y ∈ ran ⁡ j ∈ A ⟼ B ∧ x ∈ y ∧ j ∈ A ∧ y = B → x ∈ y
26 simpr ⊢ φ ∧ x ∈ C ∧ y ∈ ran ⁡ j ∈ A ⟼ B ∧ x ∈ y ∧ j ∈ A ∧ y = B → y = B
27 25 26 eleqtrd ⊢ φ ∧ x ∈ C ∧ y ∈ ran ⁡ j ∈ A ⟼ B ∧ x ∈ y ∧ j ∈ A ∧ y = B → x ∈ B
28 27 ex ⊢ φ ∧ x ∈ C ∧ y ∈ ran ⁡ j ∈ A ⟼ B ∧ x ∈ y ∧ j ∈ A → y = B → x ∈ B
29 28 ex ⊢ φ ∧ x ∈ C ∧ y ∈ ran ⁡ j ∈ A ⟼ B ∧ x ∈ y → j ∈ A → y = B → x ∈ B
30 24 29 reximdai ⊢ φ ∧ x ∈ C ∧ y ∈ ran ⁡ j ∈ A ⟼ B ∧ x ∈ y → ∃ j ∈ A y = B → ∃ j ∈ A x ∈ B
31 14 30 mpd ⊢ φ ∧ x ∈ C ∧ y ∈ ran ⁡ j ∈ A ⟼ B ∧ x ∈ y → ∃ j ∈ A x ∈ B
32 8 ralrimiva ⊢ φ → ∀ j ∈ A B ∈ W
33 dfiun3g ⊢ ∀ j ∈ A B ∈ W → ⋃ j ∈ A B = ⋃ ran ⁡ j ∈ A ⟼ B
34 32 33 syl ⊢ φ → ⋃ j ∈ A B = ⋃ ran ⁡ j ∈ A ⟼ B
35 6 34 eqtrid ⊢ φ → C = ⋃ ran ⁡ j ∈ A ⟼ B
36 35 eleq2d ⊢ φ → x ∈ C ↔ x ∈ ⋃ ran ⁡ j ∈ A ⟼ B
37 36 biimpa ⊢ φ ∧ x ∈ C → x ∈ ⋃ ran ⁡ j ∈ A ⟼ B
38 eluni2 ⊢ x ∈ ⋃ ran ⁡ j ∈ A ⟼ B ↔ ∃ y ∈ ran ⁡ j ∈ A ⟼ B x ∈ y
39 37 38 sylib ⊢ φ ∧ x ∈ C → ∃ y ∈ ran ⁡ j ∈ A ⟼ B x ∈ y
40 31 39 r19.29a ⊢ φ ∧ x ∈ C → ∃ j ∈ A x ∈ B
41 40 ralrimiva ⊢ φ → ∀ x ∈ C ∃ j ∈ A x ∈ B
42 nfcv ⊢ Ⅎ _ k A
43 nfcv ⊢ Ⅎ _ k B
44 nfcsb1v ⊢ Ⅎ _ j ⦋ k / j⦌ B
45 csbeq1a ⊢ j = k → B = ⦋ k / j⦌ B
46 3 42 43 44 45 cbvmptf ⊢ j ∈ A ⟼ B = k ∈ A ⟼ ⦋ k / j⦌ B
47 mptexg ⊢ A ∈ V → k ∈ A ⟼ ⦋ k / j⦌ B ∈ V
48 46 47 eqeltrid ⊢ A ∈ V → j ∈ A ⟼ B ∈ V
49 rnexg ⊢ j ∈ A ⟼ B ∈ V → ran ⁡ j ∈ A ⟼ B ∈ V
50 uniexg ⊢ ran ⁡ j ∈ A ⟼ B ∈ V → ⋃ ran ⁡ j ∈ A ⟼ B ∈ V
51 1 48 49 50 4syl ⊢ φ → ⋃ ran ⁡ j ∈ A ⟼ B ∈ V
52 35 51 eqeltrd ⊢ φ → C ∈ V
53 id ⊢ c = C → c = C
54 53 raleqdv ⊢ c = C → ∀ x ∈ c ∃ j ∈ A x ∈ B ↔ ∀ x ∈ C ∃ j ∈ A x ∈ B
55 53 feq2d ⊢ c = C → f : c ⟶ A ↔ f : C ⟶ A
56 53 raleqdv ⊢ c = C → ∀ x ∈ c x ∈ D ↔ ∀ x ∈ C x ∈ D
57 55 56 anbi12d ⊢ c = C → f : c ⟶ A ∧ ∀ x ∈ c x ∈ D ↔ f : C ⟶ A ∧ ∀ x ∈ C x ∈ D
58 57 exbidv ⊢ c = C → ∃ f f : c ⟶ A ∧ ∀ x ∈ c x ∈ D ↔ ∃ f f : C ⟶ A ∧ ∀ x ∈ C x ∈ D
59 54 58 imbi12d ⊢ c = C → ∀ x ∈ c ∃ j ∈ A x ∈ B → ∃ f f : c ⟶ A ∧ ∀ x ∈ c x ∈ D ↔ ∀ x ∈ C ∃ j ∈ A x ∈ B → ∃ f f : C ⟶ A ∧ ∀ x ∈ C x ∈ D
60 5 nfcri ⊢ Ⅎ j x ∈ D
61 vex ⊢ c ∈ V
62 7 eleq2d ⊢ j = f ⁡ x → x ∈ B ↔ x ∈ D
63 3 60 61 62 ac6sf2 ⊢ ∀ x ∈ c ∃ j ∈ A x ∈ B → ∃ f f : c ⟶ A ∧ ∀ x ∈ c x ∈ D
64 59 63 vtoclg ⊢ C ∈ V → ∀ x ∈ C ∃ j ∈ A x ∈ B → ∃ f f : C ⟶ A ∧ ∀ x ∈ C x ∈ D
65 52 64 syl ⊢ φ → ∀ x ∈ C ∃ j ∈ A x ∈ B → ∃ f f : C ⟶ A ∧ ∀ x ∈ C x ∈ D
66 41 65 mpd ⊢ φ → ∃ f f : C ⟶ A ∧ ∀ x ∈ C x ∈ D