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 ( 𝜑𝐴𝑉 )
acunirnmpt.1 ( ( 𝜑𝑗𝐴 ) → 𝐵 ≠ ∅ )
aciunf1lem.a 𝑗 𝐴
acunirnmpt2f.c 𝑗 𝐶
acunirnmpt2f.d 𝑗 𝐷
acunirnmpt2f.2 𝐶 = 𝑗𝐴 𝐵
acunirnmpt2f.3 ( 𝑗 = ( 𝑓𝑥 ) → 𝐵 = 𝐷 )
acunirnmpt2f.4 ( ( 𝜑𝑗𝐴 ) → 𝐵𝑊 )
Assertion acunirnmpt2f ( 𝜑 → ∃ 𝑓 ( 𝑓 : 𝐶𝐴 ∧ ∀ 𝑥𝐶 𝑥𝐷 ) )

Proof

Step Hyp Ref Expression
1 acunirnmpt.0 ( 𝜑𝐴𝑉 )
2 acunirnmpt.1 ( ( 𝜑𝑗𝐴 ) → 𝐵 ≠ ∅ )
3 aciunf1lem.a 𝑗 𝐴
4 acunirnmpt2f.c 𝑗 𝐶
5 acunirnmpt2f.d 𝑗 𝐷
6 acunirnmpt2f.2 𝐶 = 𝑗𝐴 𝐵
7 acunirnmpt2f.3 ( 𝑗 = ( 𝑓𝑥 ) → 𝐵 = 𝐷 )
8 acunirnmpt2f.4 ( ( 𝜑𝑗𝐴 ) → 𝐵𝑊 )
9 simplr ( ( ( ( 𝜑𝑥𝐶 ) ∧ 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) ) ∧ 𝑥𝑦 ) → 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) )
10 vex 𝑦 ∈ V
11 eqid ( 𝑗𝐴𝐵 ) = ( 𝑗𝐴𝐵 )
12 11 elrnmpt ( 𝑦 ∈ V → ( 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) ↔ ∃ 𝑗𝐴 𝑦 = 𝐵 ) )
13 10 12 ax-mp ( 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) ↔ ∃ 𝑗𝐴 𝑦 = 𝐵 )
14 9 13 sylib ( ( ( ( 𝜑𝑥𝐶 ) ∧ 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) ) ∧ 𝑥𝑦 ) → ∃ 𝑗𝐴 𝑦 = 𝐵 )
15 nfv 𝑗 𝜑
16 4 nfcri 𝑗 𝑥𝐶
17 15 16 nfan 𝑗 ( 𝜑𝑥𝐶 )
18 nfcv 𝑗 𝑦
19 nfmpt1 𝑗 ( 𝑗𝐴𝐵 )
20 19 nfrn 𝑗 ran ( 𝑗𝐴𝐵 )
21 18 20 nfel 𝑗 𝑦 ∈ ran ( 𝑗𝐴𝐵 )
22 17 21 nfan 𝑗 ( ( 𝜑𝑥𝐶 ) ∧ 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) )
23 nfv 𝑗 𝑥𝑦
24 22 23 nfan 𝑗 ( ( ( 𝜑𝑥𝐶 ) ∧ 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) ) ∧ 𝑥𝑦 )
25 simpllr ( ( ( ( ( ( 𝜑𝑥𝐶 ) ∧ 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) ) ∧ 𝑥𝑦 ) ∧ 𝑗𝐴 ) ∧ 𝑦 = 𝐵 ) → 𝑥𝑦 )
26 simpr ( ( ( ( ( ( 𝜑𝑥𝐶 ) ∧ 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) ) ∧ 𝑥𝑦 ) ∧ 𝑗𝐴 ) ∧ 𝑦 = 𝐵 ) → 𝑦 = 𝐵 )
27 25 26 eleqtrd ( ( ( ( ( ( 𝜑𝑥𝐶 ) ∧ 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) ) ∧ 𝑥𝑦 ) ∧ 𝑗𝐴 ) ∧ 𝑦 = 𝐵 ) → 𝑥𝐵 )
28 27 ex ( ( ( ( ( 𝜑𝑥𝐶 ) ∧ 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) ) ∧ 𝑥𝑦 ) ∧ 𝑗𝐴 ) → ( 𝑦 = 𝐵𝑥𝐵 ) )
29 28 ex ( ( ( ( 𝜑𝑥𝐶 ) ∧ 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) ) ∧ 𝑥𝑦 ) → ( 𝑗𝐴 → ( 𝑦 = 𝐵𝑥𝐵 ) ) )
30 24 29 reximdai ( ( ( ( 𝜑𝑥𝐶 ) ∧ 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) ) ∧ 𝑥𝑦 ) → ( ∃ 𝑗𝐴 𝑦 = 𝐵 → ∃ 𝑗𝐴 𝑥𝐵 ) )
31 14 30 mpd ( ( ( ( 𝜑𝑥𝐶 ) ∧ 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) ) ∧ 𝑥𝑦 ) → ∃ 𝑗𝐴 𝑥𝐵 )
32 8 ralrimiva ( 𝜑 → ∀ 𝑗𝐴 𝐵𝑊 )
33 dfiun3g ( ∀ 𝑗𝐴 𝐵𝑊 𝑗𝐴 𝐵 = ran ( 𝑗𝐴𝐵 ) )
34 32 33 syl ( 𝜑 𝑗𝐴 𝐵 = ran ( 𝑗𝐴𝐵 ) )
35 6 34 eqtrid ( 𝜑𝐶 = ran ( 𝑗𝐴𝐵 ) )
36 35 eleq2d ( 𝜑 → ( 𝑥𝐶𝑥 ran ( 𝑗𝐴𝐵 ) ) )
37 36 biimpa ( ( 𝜑𝑥𝐶 ) → 𝑥 ran ( 𝑗𝐴𝐵 ) )
38 eluni2 ( 𝑥 ran ( 𝑗𝐴𝐵 ) ↔ ∃ 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) 𝑥𝑦 )
39 37 38 sylib ( ( 𝜑𝑥𝐶 ) → ∃ 𝑦 ∈ ran ( 𝑗𝐴𝐵 ) 𝑥𝑦 )
40 31 39 r19.29a ( ( 𝜑𝑥𝐶 ) → ∃ 𝑗𝐴 𝑥𝐵 )
41 40 ralrimiva ( 𝜑 → ∀ 𝑥𝐶𝑗𝐴 𝑥𝐵 )
42 nfcv 𝑘 𝐴
43 nfcv 𝑘 𝐵
44 nfcsb1v 𝑗 𝑘 / 𝑗 𝐵
45 csbeq1a ( 𝑗 = 𝑘𝐵 = 𝑘 / 𝑗 𝐵 )
46 3 42 43 44 45 cbvmptf ( 𝑗𝐴𝐵 ) = ( 𝑘𝐴 𝑘 / 𝑗 𝐵 )
47 mptexg ( 𝐴𝑉 → ( 𝑘𝐴 𝑘 / 𝑗 𝐵 ) ∈ V )
48 46 47 eqeltrid ( 𝐴𝑉 → ( 𝑗𝐴𝐵 ) ∈ V )
49 rnexg ( ( 𝑗𝐴𝐵 ) ∈ V → ran ( 𝑗𝐴𝐵 ) ∈ V )
50 uniexg ( ran ( 𝑗𝐴𝐵 ) ∈ V → ran ( 𝑗𝐴𝐵 ) ∈ V )
51 1 48 49 50 4syl ( 𝜑 ran ( 𝑗𝐴𝐵 ) ∈ V )
52 35 51 eqeltrd ( 𝜑𝐶 ∈ V )
53 id ( 𝑐 = 𝐶𝑐 = 𝐶 )
54 53 raleqdv ( 𝑐 = 𝐶 → ( ∀ 𝑥𝑐𝑗𝐴 𝑥𝐵 ↔ ∀ 𝑥𝐶𝑗𝐴 𝑥𝐵 ) )
55 53 feq2d ( 𝑐 = 𝐶 → ( 𝑓 : 𝑐𝐴𝑓 : 𝐶𝐴 ) )
56 53 raleqdv ( 𝑐 = 𝐶 → ( ∀ 𝑥𝑐 𝑥𝐷 ↔ ∀ 𝑥𝐶 𝑥𝐷 ) )
57 55 56 anbi12d ( 𝑐 = 𝐶 → ( ( 𝑓 : 𝑐𝐴 ∧ ∀ 𝑥𝑐 𝑥𝐷 ) ↔ ( 𝑓 : 𝐶𝐴 ∧ ∀ 𝑥𝐶 𝑥𝐷 ) ) )
58 57 exbidv ( 𝑐 = 𝐶 → ( ∃ 𝑓 ( 𝑓 : 𝑐𝐴 ∧ ∀ 𝑥𝑐 𝑥𝐷 ) ↔ ∃ 𝑓 ( 𝑓 : 𝐶𝐴 ∧ ∀ 𝑥𝐶 𝑥𝐷 ) ) )
59 54 58 imbi12d ( 𝑐 = 𝐶 → ( ( ∀ 𝑥𝑐𝑗𝐴 𝑥𝐵 → ∃ 𝑓 ( 𝑓 : 𝑐𝐴 ∧ ∀ 𝑥𝑐 𝑥𝐷 ) ) ↔ ( ∀ 𝑥𝐶𝑗𝐴 𝑥𝐵 → ∃ 𝑓 ( 𝑓 : 𝐶𝐴 ∧ ∀ 𝑥𝐶 𝑥𝐷 ) ) ) )
60 5 nfcri 𝑗 𝑥𝐷
61 vex 𝑐 ∈ V
62 7 eleq2d ( 𝑗 = ( 𝑓𝑥 ) → ( 𝑥𝐵𝑥𝐷 ) )
63 3 60 61 62 ac6sf2 ( ∀ 𝑥𝑐𝑗𝐴 𝑥𝐵 → ∃ 𝑓 ( 𝑓 : 𝑐𝐴 ∧ ∀ 𝑥𝑐 𝑥𝐷 ) )
64 59 63 vtoclg ( 𝐶 ∈ V → ( ∀ 𝑥𝐶𝑗𝐴 𝑥𝐵 → ∃ 𝑓 ( 𝑓 : 𝐶𝐴 ∧ ∀ 𝑥𝐶 𝑥𝐷 ) ) )
65 52 64 syl ( 𝜑 → ( ∀ 𝑥𝐶𝑗𝐴 𝑥𝐵 → ∃ 𝑓 ( 𝑓 : 𝐶𝐴 ∧ ∀ 𝑥𝐶 𝑥𝐷 ) ) )
66 41 65 mpd ( 𝜑 → ∃ 𝑓 ( 𝑓 : 𝐶𝐴 ∧ ∀ 𝑥𝐶 𝑥𝐷 ) )