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
|- ( ph -> A e. V )
acunirnmpt.1
|- ( ( ph /\ j e. A ) -> B =/= (/) )
aciunf1lem.a
|- F/_ j A
acunirnmpt2f.c
|- F/_ j C
acunirnmpt2f.d
|- F/_ j D
acunirnmpt2f.2
|- C = U_ j e. A B
acunirnmpt2f.3
|- ( j = ( f ` x ) -> B = D )
acunirnmpt2f.4
|- ( ( ph /\ j e. A ) -> B e. W )
Assertion acunirnmpt2f
|- ( ph -> E. f ( f : C --> A /\ A. x e. C x e. D ) )

Proof

Step Hyp Ref Expression
1 acunirnmpt.0
 |-  ( ph -> A e. V )
2 acunirnmpt.1
 |-  ( ( ph /\ j e. A ) -> B =/= (/) )
3 aciunf1lem.a
 |-  F/_ j A
4 acunirnmpt2f.c
 |-  F/_ j C
5 acunirnmpt2f.d
 |-  F/_ j D
6 acunirnmpt2f.2
 |-  C = U_ j e. A B
7 acunirnmpt2f.3
 |-  ( j = ( f ` x ) -> B = D )
8 acunirnmpt2f.4
 |-  ( ( ph /\ j e. A ) -> B e. W )
9 simplr
 |-  ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) -> y e. ran ( j e. A |-> B ) )
10 vex
 |-  y e. _V
11 eqid
 |-  ( j e. A |-> B ) = ( j e. A |-> B )
12 11 elrnmpt
 |-  ( y e. _V -> ( y e. ran ( j e. A |-> B ) <-> E. j e. A y = B ) )
13 10 12 ax-mp
 |-  ( y e. ran ( j e. A |-> B ) <-> E. j e. A y = B )
14 9 13 sylib
 |-  ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) -> E. j e. A y = B )
15 nfv
 |-  F/ j ph
16 4 nfcri
 |-  F/ j x e. C
17 15 16 nfan
 |-  F/ j ( ph /\ x e. C )
18 nfcv
 |-  F/_ j y
19 nfmpt1
 |-  F/_ j ( j e. A |-> B )
20 19 nfrn
 |-  F/_ j ran ( j e. A |-> B )
21 18 20 nfel
 |-  F/ j y e. ran ( j e. A |-> B )
22 17 21 nfan
 |-  F/ j ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) )
23 nfv
 |-  F/ j x e. y
24 22 23 nfan
 |-  F/ j ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y )
25 simpllr
 |-  ( ( ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) /\ j e. A ) /\ y = B ) -> x e. y )
26 simpr
 |-  ( ( ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) /\ j e. A ) /\ y = B ) -> y = B )
27 25 26 eleqtrd
 |-  ( ( ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) /\ j e. A ) /\ y = B ) -> x e. B )
28 27 ex
 |-  ( ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) /\ j e. A ) -> ( y = B -> x e. B ) )
29 28 ex
 |-  ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) -> ( j e. A -> ( y = B -> x e. B ) ) )
30 24 29 reximdai
 |-  ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) -> ( E. j e. A y = B -> E. j e. A x e. B ) )
31 14 30 mpd
 |-  ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) -> E. j e. A x e. B )
32 8 ralrimiva
 |-  ( ph -> A. j e. A B e. W )
33 dfiun3g
 |-  ( A. j e. A B e. W -> U_ j e. A B = U. ran ( j e. A |-> B ) )
34 32 33 syl
 |-  ( ph -> U_ j e. A B = U. ran ( j e. A |-> B ) )
35 6 34 syl5eq
 |-  ( ph -> C = U. ran ( j e. A |-> B ) )
36 35 eleq2d
 |-  ( ph -> ( x e. C <-> x e. U. ran ( j e. A |-> B ) ) )
37 36 biimpa
 |-  ( ( ph /\ x e. C ) -> x e. U. ran ( j e. A |-> B ) )
38 eluni2
 |-  ( x e. U. ran ( j e. A |-> B ) <-> E. y e. ran ( j e. A |-> B ) x e. y )
39 37 38 sylib
 |-  ( ( ph /\ x e. C ) -> E. y e. ran ( j e. A |-> B ) x e. y )
40 31 39 r19.29a
 |-  ( ( ph /\ x e. C ) -> E. j e. A x e. B )
41 40 ralrimiva
 |-  ( ph -> A. x e. C E. j e. A x e. B )
42 nfcv
 |-  F/_ k A
43 nfcv
 |-  F/_ k B
44 nfcsb1v
 |-  F/_ j [_ k / j ]_ B
45 csbeq1a
 |-  ( j = k -> B = [_ k / j ]_ B )
46 3 42 43 44 45 cbvmptf
 |-  ( j e. A |-> B ) = ( k e. A |-> [_ k / j ]_ B )
47 mptexg
 |-  ( A e. V -> ( k e. A |-> [_ k / j ]_ B ) e. _V )
48 46 47 eqeltrid
 |-  ( A e. V -> ( j e. A |-> B ) e. _V )
49 rnexg
 |-  ( ( j e. A |-> B ) e. _V -> ran ( j e. A |-> B ) e. _V )
50 uniexg
 |-  ( ran ( j e. A |-> B ) e. _V -> U. ran ( j e. A |-> B ) e. _V )
51 1 48 49 50 4syl
 |-  ( ph -> U. ran ( j e. A |-> B ) e. _V )
52 35 51 eqeltrd
 |-  ( ph -> C e. _V )
53 id
 |-  ( c = C -> c = C )
54 53 raleqdv
 |-  ( c = C -> ( A. x e. c E. j e. A x e. B <-> A. x e. C E. j e. A x e. B ) )
55 53 feq2d
 |-  ( c = C -> ( f : c --> A <-> f : C --> A ) )
56 53 raleqdv
 |-  ( c = C -> ( A. x e. c x e. D <-> A. x e. C x e. D ) )
57 55 56 anbi12d
 |-  ( c = C -> ( ( f : c --> A /\ A. x e. c x e. D ) <-> ( f : C --> A /\ A. x e. C x e. D ) ) )
58 57 exbidv
 |-  ( c = C -> ( E. f ( f : c --> A /\ A. x e. c x e. D ) <-> E. f ( f : C --> A /\ A. x e. C x e. D ) ) )
59 54 58 imbi12d
 |-  ( c = C -> ( ( A. x e. c E. j e. A x e. B -> E. f ( f : c --> A /\ A. x e. c x e. D ) ) <-> ( A. x e. C E. j e. A x e. B -> E. f ( f : C --> A /\ A. x e. C x e. D ) ) ) )
60 5 nfcri
 |-  F/ j x e. D
61 vex
 |-  c e. _V
62 7 eleq2d
 |-  ( j = ( f ` x ) -> ( x e. B <-> x e. D ) )
63 3 60 61 62 ac6sf2
 |-  ( A. x e. c E. j e. A x e. B -> E. f ( f : c --> A /\ A. x e. c x e. D ) )
64 59 63 vtoclg
 |-  ( C e. _V -> ( A. x e. C E. j e. A x e. B -> E. f ( f : C --> A /\ A. x e. C x e. D ) ) )
65 52 64 syl
 |-  ( ph -> ( A. x e. C E. j e. A x e. B -> E. f ( f : C --> A /\ A. x e. C x e. D ) ) )
66 41 65 mpd
 |-  ( ph -> E. f ( f : C --> A /\ A. x e. C x e. D ) )