Metamath Proof Explorer


Theorem opabex3

Description: Existence of an ordered pair abstraction. (Contributed by Jeff Madsen, 2-Sep-2009)

Ref Expression
Hypotheses opabex3.1
|- A e. _V
opabex3.2
|- ( x e. A -> { y | ph } e. _V )
Assertion opabex3
|- { <. x , y >. | ( x e. A /\ ph ) } e. _V

Proof

Step Hyp Ref Expression
1 opabex3.1
 |-  A e. _V
2 opabex3.2
 |-  ( x e. A -> { y | ph } e. _V )
3 19.42v
 |-  ( E. y ( x e. A /\ ( z = <. x , y >. /\ ph ) ) <-> ( x e. A /\ E. y ( z = <. x , y >. /\ ph ) ) )
4 an12
 |-  ( ( z = <. x , y >. /\ ( x e. A /\ ph ) ) <-> ( x e. A /\ ( z = <. x , y >. /\ ph ) ) )
5 4 exbii
 |-  ( E. y ( z = <. x , y >. /\ ( x e. A /\ ph ) ) <-> E. y ( x e. A /\ ( z = <. x , y >. /\ ph ) ) )
6 elxp
 |-  ( z e. ( { x } X. { y | ph } ) <-> E. v E. w ( z = <. v , w >. /\ ( v e. { x } /\ w e. { y | ph } ) ) )
7 excom
 |-  ( E. v E. w ( z = <. v , w >. /\ ( v e. { x } /\ w e. { y | ph } ) ) <-> E. w E. v ( z = <. v , w >. /\ ( v e. { x } /\ w e. { y | ph } ) ) )
8 an12
 |-  ( ( z = <. v , w >. /\ ( v e. { x } /\ w e. { y | ph } ) ) <-> ( v e. { x } /\ ( z = <. v , w >. /\ w e. { y | ph } ) ) )
9 velsn
 |-  ( v e. { x } <-> v = x )
10 9 anbi1i
 |-  ( ( v e. { x } /\ ( z = <. v , w >. /\ w e. { y | ph } ) ) <-> ( v = x /\ ( z = <. v , w >. /\ w e. { y | ph } ) ) )
11 8 10 bitri
 |-  ( ( z = <. v , w >. /\ ( v e. { x } /\ w e. { y | ph } ) ) <-> ( v = x /\ ( z = <. v , w >. /\ w e. { y | ph } ) ) )
12 11 exbii
 |-  ( E. v ( z = <. v , w >. /\ ( v e. { x } /\ w e. { y | ph } ) ) <-> E. v ( v = x /\ ( z = <. v , w >. /\ w e. { y | ph } ) ) )
13 opeq1
 |-  ( v = x -> <. v , w >. = <. x , w >. )
14 13 eqeq2d
 |-  ( v = x -> ( z = <. v , w >. <-> z = <. x , w >. ) )
15 14 anbi1d
 |-  ( v = x -> ( ( z = <. v , w >. /\ w e. { y | ph } ) <-> ( z = <. x , w >. /\ w e. { y | ph } ) ) )
16 15 equsexvw
 |-  ( E. v ( v = x /\ ( z = <. v , w >. /\ w e. { y | ph } ) ) <-> ( z = <. x , w >. /\ w e. { y | ph } ) )
17 12 16 bitri
 |-  ( E. v ( z = <. v , w >. /\ ( v e. { x } /\ w e. { y | ph } ) ) <-> ( z = <. x , w >. /\ w e. { y | ph } ) )
18 17 exbii
 |-  ( E. w E. v ( z = <. v , w >. /\ ( v e. { x } /\ w e. { y | ph } ) ) <-> E. w ( z = <. x , w >. /\ w e. { y | ph } ) )
19 7 18 bitri
 |-  ( E. v E. w ( z = <. v , w >. /\ ( v e. { x } /\ w e. { y | ph } ) ) <-> E. w ( z = <. x , w >. /\ w e. { y | ph } ) )
20 nfv
 |-  F/ y z = <. x , w >.
21 nfsab1
 |-  F/ y w e. { y | ph }
22 20 21 nfan
 |-  F/ y ( z = <. x , w >. /\ w e. { y | ph } )
23 nfv
 |-  F/ w ( z = <. x , y >. /\ ph )
24 opeq2
 |-  ( w = y -> <. x , w >. = <. x , y >. )
25 24 eqeq2d
 |-  ( w = y -> ( z = <. x , w >. <-> z = <. x , y >. ) )
26 df-clab
 |-  ( w e. { y | ph } <-> [ w / y ] ph )
27 sbequ12
 |-  ( y = w -> ( ph <-> [ w / y ] ph ) )
28 27 equcoms
 |-  ( w = y -> ( ph <-> [ w / y ] ph ) )
29 26 28 bitr4id
 |-  ( w = y -> ( w e. { y | ph } <-> ph ) )
30 25 29 anbi12d
 |-  ( w = y -> ( ( z = <. x , w >. /\ w e. { y | ph } ) <-> ( z = <. x , y >. /\ ph ) ) )
31 22 23 30 cbvexv1
 |-  ( E. w ( z = <. x , w >. /\ w e. { y | ph } ) <-> E. y ( z = <. x , y >. /\ ph ) )
32 6 19 31 3bitri
 |-  ( z e. ( { x } X. { y | ph } ) <-> E. y ( z = <. x , y >. /\ ph ) )
33 32 anbi2i
 |-  ( ( x e. A /\ z e. ( { x } X. { y | ph } ) ) <-> ( x e. A /\ E. y ( z = <. x , y >. /\ ph ) ) )
34 3 5 33 3bitr4ri
 |-  ( ( x e. A /\ z e. ( { x } X. { y | ph } ) ) <-> E. y ( z = <. x , y >. /\ ( x e. A /\ ph ) ) )
35 34 exbii
 |-  ( E. x ( x e. A /\ z e. ( { x } X. { y | ph } ) ) <-> E. x E. y ( z = <. x , y >. /\ ( x e. A /\ ph ) ) )
36 eliun
 |-  ( z e. U_ x e. A ( { x } X. { y | ph } ) <-> E. x e. A z e. ( { x } X. { y | ph } ) )
37 df-rex
 |-  ( E. x e. A z e. ( { x } X. { y | ph } ) <-> E. x ( x e. A /\ z e. ( { x } X. { y | ph } ) ) )
38 36 37 bitri
 |-  ( z e. U_ x e. A ( { x } X. { y | ph } ) <-> E. x ( x e. A /\ z e. ( { x } X. { y | ph } ) ) )
39 elopab
 |-  ( z e. { <. x , y >. | ( x e. A /\ ph ) } <-> E. x E. y ( z = <. x , y >. /\ ( x e. A /\ ph ) ) )
40 35 38 39 3bitr4i
 |-  ( z e. U_ x e. A ( { x } X. { y | ph } ) <-> z e. { <. x , y >. | ( x e. A /\ ph ) } )
41 40 eqriv
 |-  U_ x e. A ( { x } X. { y | ph } ) = { <. x , y >. | ( x e. A /\ ph ) }
42 snex
 |-  { x } e. _V
43 xpexg
 |-  ( ( { x } e. _V /\ { y | ph } e. _V ) -> ( { x } X. { y | ph } ) e. _V )
44 42 2 43 sylancr
 |-  ( x e. A -> ( { x } X. { y | ph } ) e. _V )
45 44 rgen
 |-  A. x e. A ( { x } X. { y | ph } ) e. _V
46 iunexg
 |-  ( ( A e. _V /\ A. x e. A ( { x } X. { y | ph } ) e. _V ) -> U_ x e. A ( { x } X. { y | ph } ) e. _V )
47 1 45 46 mp2an
 |-  U_ x e. A ( { x } X. { y | ph } ) e. _V
48 41 47 eqeltrri
 |-  { <. x , y >. | ( x e. A /\ ph ) } e. _V