Metamath Proof Explorer


Theorem acunirnmpt2

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 =/= (/) )
acunirnmpt2.2
|- C = U. ran ( j e. A |-> B )
acunirnmpt2.3
|- ( j = ( f ` x ) -> B = D )
Assertion acunirnmpt2
|- ( 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 acunirnmpt2.2
 |-  C = U. ran ( j e. A |-> B )
4 acunirnmpt2.3
 |-  ( j = ( f ` x ) -> B = D )
5 simplr
 |-  ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) -> y e. ran ( j e. A |-> B ) )
6 vex
 |-  y e. _V
7 eqid
 |-  ( j e. A |-> B ) = ( j e. A |-> B )
8 7 elrnmpt
 |-  ( y e. _V -> ( y e. ran ( j e. A |-> B ) <-> E. j e. A y = B ) )
9 6 8 ax-mp
 |-  ( y e. ran ( j e. A |-> B ) <-> E. j e. A y = B )
10 5 9 sylib
 |-  ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) -> E. j e. A y = B )
11 nfv
 |-  F/ j ( ph /\ x e. C )
12 nfcv
 |-  F/_ j y
13 nfmpt1
 |-  F/_ j ( j e. A |-> B )
14 13 nfrn
 |-  F/_ j ran ( j e. A |-> B )
15 12 14 nfel
 |-  F/ j y e. ran ( j e. A |-> B )
16 11 15 nfan
 |-  F/ j ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) )
17 nfv
 |-  F/ j x e. y
18 16 17 nfan
 |-  F/ j ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y )
19 simpllr
 |-  ( ( ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) /\ j e. A ) /\ y = B ) -> x e. y )
20 simpr
 |-  ( ( ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) /\ j e. A ) /\ y = B ) -> y = B )
21 19 20 eleqtrd
 |-  ( ( ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) /\ j e. A ) /\ y = B ) -> x e. B )
22 21 ex
 |-  ( ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) /\ j e. A ) -> ( y = B -> x e. B ) )
23 22 ex
 |-  ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) -> ( j e. A -> ( y = B -> x e. B ) ) )
24 18 23 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 ) )
25 10 24 mpd
 |-  ( ( ( ( ph /\ x e. C ) /\ y e. ran ( j e. A |-> B ) ) /\ x e. y ) -> E. j e. A x e. B )
26 3 eleq2i
 |-  ( x e. C <-> x e. U. ran ( j e. A |-> B ) )
27 26 biimpi
 |-  ( x e. C -> x e. U. ran ( j e. A |-> B ) )
28 eluni2
 |-  ( x e. U. ran ( j e. A |-> B ) <-> E. y e. ran ( j e. A |-> B ) x e. y )
29 27 28 sylib
 |-  ( x e. C -> E. y e. ran ( j e. A |-> B ) x e. y )
30 29 adantl
 |-  ( ( ph /\ x e. C ) -> E. y e. ran ( j e. A |-> B ) x e. y )
31 25 30 r19.29a
 |-  ( ( ph /\ x e. C ) -> E. j e. A x e. B )
32 31 ralrimiva
 |-  ( ph -> A. x e. C E. j e. A x e. B )
33 mptexg
 |-  ( A e. V -> ( j e. A |-> B ) e. _V )
34 rnexg
 |-  ( ( j e. A |-> B ) e. _V -> ran ( j e. A |-> B ) e. _V )
35 uniexg
 |-  ( ran ( j e. A |-> B ) e. _V -> U. ran ( j e. A |-> B ) e. _V )
36 1 33 34 35 4syl
 |-  ( ph -> U. ran ( j e. A |-> B ) e. _V )
37 3 36 eqeltrid
 |-  ( ph -> C e. _V )
38 id
 |-  ( c = C -> c = C )
39 38 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 ) )
40 38 feq2d
 |-  ( c = C -> ( f : c --> A <-> f : C --> A ) )
41 38 raleqdv
 |-  ( c = C -> ( A. x e. c x e. D <-> A. x e. C x e. D ) )
42 40 41 anbi12d
 |-  ( c = C -> ( ( f : c --> A /\ A. x e. c x e. D ) <-> ( f : C --> A /\ A. x e. C x e. D ) ) )
43 42 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 ) ) )
44 39 43 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 ) ) ) )
45 vex
 |-  c e. _V
46 4 eleq2d
 |-  ( j = ( f ` x ) -> ( x e. B <-> x e. D ) )
47 45 46 ac6s
 |-  ( A. x e. c E. j e. A x e. B -> E. f ( f : c --> A /\ A. x e. c x e. D ) )
48 44 47 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 ) ) )
49 37 48 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 ) ) )
50 32 49 mpd
 |-  ( ph -> E. f ( f : C --> A /\ A. x e. C x e. D ) )