MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  xpf1o Structured version   Unicode version

Theorem xpf1o 7485
Description: Construct a bijection on a Cartesian product given bijections on the factors. (Contributed by Mario Carneiro, 30-May-2015.)
Hypotheses
Ref Expression
xpf1o.1  |-  ( ph  ->  ( x  e.  A  |->  X ) : A -1-1-onto-> B
)
xpf1o.2  |-  ( ph  ->  ( y  e.  C  |->  Y ) : C -1-1-onto-> D
)
Assertion
Ref Expression
xpf1o  |-  ( ph  ->  ( x  e.  A ,  y  e.  C  |-> 
<. X ,  Y >. ) : ( A  X.  C ) -1-1-onto-> ( B  X.  D
) )
Distinct variable groups:    x, y, A    x, C, y    y, X    x, B    y, D    x, Y
Allowed substitution hints:    ph( x, y)    B( y)    D( x)    X( x)    Y( y)

Proof of Theorem xpf1o
Dummy variables  t 
s  u  v  w  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 xp1st 6618 . . . . . 6  |-  ( u  e.  ( A  X.  C )  ->  ( 1st `  u )  e.  A )
21adantl 466 . . . . 5  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  ( 1st `  u )  e.  A )
3 xpf1o.1 . . . . . . . 8  |-  ( ph  ->  ( x  e.  A  |->  X ) : A -1-1-onto-> B
)
4 eqid 2443 . . . . . . . . 9  |-  ( x  e.  A  |->  X )  =  ( x  e.  A  |->  X )
54f1ompt 5877 . . . . . . . 8  |-  ( ( x  e.  A  |->  X ) : A -1-1-onto-> B  <->  ( A. x  e.  A  X  e.  B  /\  A. z  e.  B  E! x  e.  A  z  =  X ) )
63, 5sylib 196 . . . . . . 7  |-  ( ph  ->  ( A. x  e.  A  X  e.  B  /\  A. z  e.  B  E! x  e.  A  z  =  X )
)
76simpld 459 . . . . . 6  |-  ( ph  ->  A. x  e.  A  X  e.  B )
87adantr 465 . . . . 5  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  A. x  e.  A  X  e.  B )
9 nfcsb1v 3316 . . . . . . 7  |-  F/_ x [_ ( 1st `  u
)  /  x ]_ X
109nfel1 2604 . . . . . 6  |-  F/ x [_ ( 1st `  u
)  /  x ]_ X  e.  B
11 csbeq1a 3309 . . . . . . 7  |-  ( x  =  ( 1st `  u
)  ->  X  =  [_ ( 1st `  u
)  /  x ]_ X )
1211eleq1d 2509 . . . . . 6  |-  ( x  =  ( 1st `  u
)  ->  ( X  e.  B  <->  [_ ( 1st `  u
)  /  x ]_ X  e.  B )
)
1310, 12rspc 3079 . . . . 5  |-  ( ( 1st `  u )  e.  A  ->  ( A. x  e.  A  X  e.  B  ->  [_ ( 1st `  u
)  /  x ]_ X  e.  B )
)
142, 8, 13sylc 60 . . . 4  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  [_ ( 1st `  u )  /  x ]_ X  e.  B
)
15 xp2nd 6619 . . . . . 6  |-  ( u  e.  ( A  X.  C )  ->  ( 2nd `  u )  e.  C )
1615adantl 466 . . . . 5  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  ( 2nd `  u )  e.  C )
17 xpf1o.2 . . . . . . . 8  |-  ( ph  ->  ( y  e.  C  |->  Y ) : C -1-1-onto-> D
)
18 eqid 2443 . . . . . . . . 9  |-  ( y  e.  C  |->  Y )  =  ( y  e.  C  |->  Y )
1918f1ompt 5877 . . . . . . . 8  |-  ( ( y  e.  C  |->  Y ) : C -1-1-onto-> D  <->  ( A. y  e.  C  Y  e.  D  /\  A. w  e.  D  E! y  e.  C  w  =  Y ) )
2017, 19sylib 196 . . . . . . 7  |-  ( ph  ->  ( A. y  e.  C  Y  e.  D  /\  A. w  e.  D  E! y  e.  C  w  =  Y )
)
2120simpld 459 . . . . . 6  |-  ( ph  ->  A. y  e.  C  Y  e.  D )
2221adantr 465 . . . . 5  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  A. y  e.  C  Y  e.  D )
23 nfcsb1v 3316 . . . . . . 7  |-  F/_ y [_ ( 2nd `  u
)  /  y ]_ Y
2423nfel1 2604 . . . . . 6  |-  F/ y
[_ ( 2nd `  u
)  /  y ]_ Y  e.  D
25 csbeq1a 3309 . . . . . . 7  |-  ( y  =  ( 2nd `  u
)  ->  Y  =  [_ ( 2nd `  u
)  /  y ]_ Y )
2625eleq1d 2509 . . . . . 6  |-  ( y  =  ( 2nd `  u
)  ->  ( Y  e.  D  <->  [_ ( 2nd `  u
)  /  y ]_ Y  e.  D )
)
2724, 26rspc 3079 . . . . 5  |-  ( ( 2nd `  u )  e.  C  ->  ( A. y  e.  C  Y  e.  D  ->  [_ ( 2nd `  u
)  /  y ]_ Y  e.  D )
)
2816, 22, 27sylc 60 . . . 4  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  [_ ( 2nd `  u )  / 
y ]_ Y  e.  D
)
29 opelxpi 4883 . . . 4  |-  ( (
[_ ( 1st `  u
)  /  x ]_ X  e.  B  /\  [_ ( 2nd `  u
)  /  y ]_ Y  e.  D )  -> 
<. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  e.  ( B  X.  D ) )
3014, 28, 29syl2anc 661 . . 3  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  <. [_ ( 1st `  u )  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  e.  ( B  X.  D ) )
3130ralrimiva 2811 . 2  |-  ( ph  ->  A. u  e.  ( A  X.  C )
<. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  e.  ( B  X.  D ) )
326simprd 463 . . . . . . . . . 10  |-  ( ph  ->  A. z  e.  B  E! x  e.  A  z  =  X )
3332r19.21bi 2826 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  B )  ->  E! x  e.  A  z  =  X )
34 reu6 3160 . . . . . . . . 9  |-  ( E! x  e.  A  z  =  X  <->  E. s  e.  A  A. x  e.  A  ( z  =  X  <->  x  =  s
) )
3533, 34sylib 196 . . . . . . . 8  |-  ( (
ph  /\  z  e.  B )  ->  E. s  e.  A  A. x  e.  A  ( z  =  X  <->  x  =  s
) )
3620simprd 463 . . . . . . . . . 10  |-  ( ph  ->  A. w  e.  D  E! y  e.  C  w  =  Y )
3736r19.21bi 2826 . . . . . . . . 9  |-  ( (
ph  /\  w  e.  D )  ->  E! y  e.  C  w  =  Y )
38 reu6 3160 . . . . . . . . 9  |-  ( E! y  e.  C  w  =  Y  <->  E. t  e.  C  A. y  e.  C  ( w  =  Y  <->  y  =  t ) )
3937, 38sylib 196 . . . . . . . 8  |-  ( (
ph  /\  w  e.  D )  ->  E. t  e.  C  A. y  e.  C  ( w  =  Y  <->  y  =  t ) )
4035, 39anim12dan 833 . . . . . . 7  |-  ( (
ph  /\  ( z  e.  B  /\  w  e.  D ) )  -> 
( E. s  e.  A  A. x  e.  A  ( z  =  X  <->  x  =  s
)  /\  E. t  e.  C  A. y  e.  C  ( w  =  Y  <->  y  =  t ) ) )
41 reeanv 2900 . . . . . . . 8  |-  ( E. s  e.  A  E. t  e.  C  ( A. x  e.  A  ( z  =  X  <-> 
x  =  s )  /\  A. y  e.  C  ( w  =  Y  <->  y  =  t ) )  <->  ( E. s  e.  A  A. x  e.  A  (
z  =  X  <->  x  =  s )  /\  E. t  e.  C  A. y  e.  C  (
w  =  Y  <->  y  =  t ) ) )
42 pm4.38 867 . . . . . . . . . . . . . . 15  |-  ( ( ( z  =  X  <-> 
x  =  s )  /\  ( w  =  Y  <->  y  =  t ) )  ->  (
( z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t ) ) )
4342ex 434 . . . . . . . . . . . . . 14  |-  ( ( z  =  X  <->  x  =  s )  ->  (
( w  =  Y  <-> 
y  =  t )  ->  ( ( z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t ) ) ) )
4443ralimdv 2807 . . . . . . . . . . . . 13  |-  ( ( z  =  X  <->  x  =  s )  ->  ( A. y  e.  C  ( w  =  Y  <->  y  =  t )  ->  A. y  e.  C  ( ( z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t ) ) ) )
4544com12 31 . . . . . . . . . . . 12  |-  ( A. y  e.  C  (
w  =  Y  <->  y  =  t )  ->  (
( z  =  X  <-> 
x  =  s )  ->  A. y  e.  C  ( ( z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t ) ) ) )
4645ralimdv 2807 . . . . . . . . . . 11  |-  ( A. y  e.  C  (
w  =  Y  <->  y  =  t )  ->  ( A. x  e.  A  ( z  =  X  <-> 
x  =  s )  ->  A. x  e.  A  A. y  e.  C  ( ( z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t ) ) ) )
4746impcom 430 . . . . . . . . . 10  |-  ( ( A. x  e.  A  ( z  =  X  <-> 
x  =  s )  /\  A. y  e.  C  ( w  =  Y  <->  y  =  t ) )  ->  A. x  e.  A  A. y  e.  C  ( (
z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t )
) )
4847reximi 2835 . . . . . . . . 9  |-  ( E. t  e.  C  ( A. x  e.  A  ( z  =  X  <-> 
x  =  s )  /\  A. y  e.  C  ( w  =  Y  <->  y  =  t ) )  ->  E. t  e.  C  A. x  e.  A  A. y  e.  C  ( (
z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t )
) )
4948reximi 2835 . . . . . . . 8  |-  ( E. s  e.  A  E. t  e.  C  ( A. x  e.  A  ( z  =  X  <-> 
x  =  s )  /\  A. y  e.  C  ( w  =  Y  <->  y  =  t ) )  ->  E. s  e.  A  E. t  e.  C  A. x  e.  A  A. y  e.  C  ( (
z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t )
) )
5041, 49sylbir 213 . . . . . . 7  |-  ( ( E. s  e.  A  A. x  e.  A  ( z  =  X  <-> 
x  =  s )  /\  E. t  e.  C  A. y  e.  C  ( w  =  Y  <->  y  =  t ) )  ->  E. s  e.  A  E. t  e.  C  A. x  e.  A  A. y  e.  C  ( (
z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t )
) )
5140, 50syl 16 . . . . . 6  |-  ( (
ph  /\  ( z  e.  B  /\  w  e.  D ) )  ->  E. s  e.  A  E. t  e.  C  A. x  e.  A  A. y  e.  C  ( ( z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t ) ) )
52 vex 2987 . . . . . . . . . . . . . . 15  |-  s  e. 
_V
53 vex 2987 . . . . . . . . . . . . . . 15  |-  t  e. 
_V
5452, 53op1std 6599 . . . . . . . . . . . . . 14  |-  ( u  =  <. s ,  t
>.  ->  ( 1st `  u
)  =  s )
5554csbeq1d 3307 . . . . . . . . . . . . 13  |-  ( u  =  <. s ,  t
>.  ->  [_ ( 1st `  u
)  /  x ]_ X  =  [_ s  /  x ]_ X )
5655eqeq2d 2454 . . . . . . . . . . . 12  |-  ( u  =  <. s ,  t
>.  ->  ( z  = 
[_ ( 1st `  u
)  /  x ]_ X 
<->  z  =  [_ s  /  x ]_ X ) )
5752, 53op2ndd 6600 . . . . . . . . . . . . . 14  |-  ( u  =  <. s ,  t
>.  ->  ( 2nd `  u
)  =  t )
5857csbeq1d 3307 . . . . . . . . . . . . 13  |-  ( u  =  <. s ,  t
>.  ->  [_ ( 2nd `  u
)  /  y ]_ Y  =  [_ t  / 
y ]_ Y )
5958eqeq2d 2454 . . . . . . . . . . . 12  |-  ( u  =  <. s ,  t
>.  ->  ( w  = 
[_ ( 2nd `  u
)  /  y ]_ Y 
<->  w  =  [_ t  /  y ]_ Y
) )
6056, 59anbi12d 710 . . . . . . . . . . 11  |-  ( u  =  <. s ,  t
>.  ->  ( ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u
)  /  y ]_ Y )  <->  ( z  =  [_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y ) ) )
61 eqeq1 2449 . . . . . . . . . . 11  |-  ( u  =  <. s ,  t
>.  ->  ( u  =  v  <->  <. s ,  t
>.  =  v )
)
6260, 61bibi12d 321 . . . . . . . . . 10  |-  ( u  =  <. s ,  t
>.  ->  ( ( ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u
)  /  y ]_ Y )  <->  u  =  v )  <->  ( (
z  =  [_ s  /  x ]_ X  /\  w  =  [_ t  / 
y ]_ Y )  <->  <. s ,  t >.  =  v
) ) )
6362ralxp 4993 . . . . . . . . 9  |-  ( A. u  e.  ( A  X.  C ) ( ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u
)  /  y ]_ Y )  <->  u  =  v )  <->  A. s  e.  A  A. t  e.  C  ( (
z  =  [_ s  /  x ]_ X  /\  w  =  [_ t  / 
y ]_ Y )  <->  <. s ,  t >.  =  v
) )
64 nfv 1673 . . . . . . . . . 10  |-  F/ s A. y  e.  C  ( ( z  =  X  /\  w  =  Y )  <->  <. x ,  y >.  =  v
)
65 nfcv 2589 . . . . . . . . . . 11  |-  F/_ x C
66 nfcsb1v 3316 . . . . . . . . . . . . . 14  |-  F/_ x [_ s  /  x ]_ X
6766nfeq2 2605 . . . . . . . . . . . . 13  |-  F/ x  z  =  [_ s  /  x ]_ X
68 nfv 1673 . . . . . . . . . . . . 13  |-  F/ x  w  =  [_ t  / 
y ]_ Y
6967, 68nfan 1861 . . . . . . . . . . . 12  |-  F/ x
( z  =  [_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y
)
70 nfv 1673 . . . . . . . . . . . 12  |-  F/ x <. s ,  t >.  =  v
7169, 70nfbi 1867 . . . . . . . . . . 11  |-  F/ x
( ( z  = 
[_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y )  <->  <. s ,  t >.  =  v
)
7265, 71nfral 2781 . . . . . . . . . 10  |-  F/ x A. t  e.  C  ( ( z  = 
[_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y )  <->  <. s ,  t >.  =  v
)
73 nfv 1673 . . . . . . . . . . . 12  |-  F/ t ( ( z  =  X  /\  w  =  Y )  <->  <. x ,  y >.  =  v
)
74 nfv 1673 . . . . . . . . . . . . . 14  |-  F/ y  z  =  X
75 nfcsb1v 3316 . . . . . . . . . . . . . . 15  |-  F/_ y [_ t  /  y ]_ Y
7675nfeq2 2605 . . . . . . . . . . . . . 14  |-  F/ y  w  =  [_ t  /  y ]_ Y
7774, 76nfan 1861 . . . . . . . . . . . . 13  |-  F/ y ( z  =  X  /\  w  =  [_ t  /  y ]_ Y
)
78 nfv 1673 . . . . . . . . . . . . 13  |-  F/ y
<. x ,  t >.  =  v
7977, 78nfbi 1867 . . . . . . . . . . . 12  |-  F/ y ( ( z  =  X  /\  w  = 
[_ t  /  y ]_ Y )  <->  <. x ,  t >.  =  v
)
80 csbeq1a 3309 . . . . . . . . . . . . . . 15  |-  ( y  =  t  ->  Y  =  [_ t  /  y ]_ Y )
8180eqeq2d 2454 . . . . . . . . . . . . . 14  |-  ( y  =  t  ->  (
w  =  Y  <->  w  =  [_ t  /  y ]_ Y ) )
8281anbi2d 703 . . . . . . . . . . . . 13  |-  ( y  =  t  ->  (
( z  =  X  /\  w  =  Y )  <->  ( z  =  X  /\  w  = 
[_ t  /  y ]_ Y ) ) )
83 opeq2 4072 . . . . . . . . . . . . . 14  |-  ( y  =  t  ->  <. x ,  y >.  =  <. x ,  t >. )
8483eqeq1d 2451 . . . . . . . . . . . . 13  |-  ( y  =  t  ->  ( <. x ,  y >.  =  v  <->  <. x ,  t
>.  =  v )
)
8582, 84bibi12d 321 . . . . . . . . . . . 12  |-  ( y  =  t  ->  (
( ( z  =  X  /\  w  =  Y )  <->  <. x ,  y >.  =  v
)  <->  ( ( z  =  X  /\  w  =  [_ t  /  y ]_ Y )  <->  <. x ,  t >.  =  v
) ) )
8673, 79, 85cbvral 2955 . . . . . . . . . . 11  |-  ( A. y  e.  C  (
( z  =  X  /\  w  =  Y )  <->  <. x ,  y
>.  =  v )  <->  A. t  e.  C  ( ( z  =  X  /\  w  =  [_ t  /  y ]_ Y
)  <->  <. x ,  t
>.  =  v )
)
87 csbeq1a 3309 . . . . . . . . . . . . . . 15  |-  ( x  =  s  ->  X  =  [_ s  /  x ]_ X )
8887eqeq2d 2454 . . . . . . . . . . . . . 14  |-  ( x  =  s  ->  (
z  =  X  <->  z  =  [_ s  /  x ]_ X ) )
8988anbi1d 704 . . . . . . . . . . . . 13  |-  ( x  =  s  ->  (
( z  =  X  /\  w  =  [_ t  /  y ]_ Y
)  <->  ( z  = 
[_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y ) ) )
90 opeq1 4071 . . . . . . . . . . . . . 14  |-  ( x  =  s  ->  <. x ,  t >.  =  <. s ,  t >. )
9190eqeq1d 2451 . . . . . . . . . . . . 13  |-  ( x  =  s  ->  ( <. x ,  t >.  =  v  <->  <. s ,  t
>.  =  v )
)
9289, 91bibi12d 321 . . . . . . . . . . . 12  |-  ( x  =  s  ->  (
( ( z  =  X  /\  w  = 
[_ t  /  y ]_ Y )  <->  <. x ,  t >.  =  v
)  <->  ( ( z  =  [_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y )  <->  <. s ,  t >.  =  v
) ) )
9392ralbidv 2747 . . . . . . . . . . 11  |-  ( x  =  s  ->  ( A. t  e.  C  ( ( z  =  X  /\  w  = 
[_ t  /  y ]_ Y )  <->  <. x ,  t >.  =  v
)  <->  A. t  e.  C  ( ( z  = 
[_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y )  <->  <. s ,  t >.  =  v
) ) )
9486, 93syl5bb 257 . . . . . . . . . 10  |-  ( x  =  s  ->  ( A. y  e.  C  ( ( z  =  X  /\  w  =  Y )  <->  <. x ,  y >.  =  v
)  <->  A. t  e.  C  ( ( z  = 
[_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y )  <->  <. s ,  t >.  =  v
) ) )
9564, 72, 94cbvral 2955 . . . . . . . . 9  |-  ( A. x  e.  A  A. y  e.  C  (
( z  =  X  /\  w  =  Y )  <->  <. x ,  y
>.  =  v )  <->  A. s  e.  A  A. t  e.  C  (
( z  =  [_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y
)  <->  <. s ,  t
>.  =  v )
)
9663, 95bitr4i 252 . . . . . . . 8  |-  ( A. u  e.  ( A  X.  C ) ( ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u
)  /  y ]_ Y )  <->  u  =  v )  <->  A. x  e.  A  A. y  e.  C  ( (
z  =  X  /\  w  =  Y )  <->  <.
x ,  y >.  =  v ) )
97 eqeq2 2452 . . . . . . . . . . 11  |-  ( v  =  <. s ,  t
>.  ->  ( <. x ,  y >.  =  v  <->  <. x ,  y >.  =  <. s ,  t
>. ) )
98 vex 2987 . . . . . . . . . . . 12  |-  x  e. 
_V
99 vex 2987 . . . . . . . . . . . 12  |-  y  e. 
_V
10098, 99opth 4578 . . . . . . . . . . 11  |-  ( <.
x ,  y >.  =  <. s ,  t
>. 
<->  ( x  =  s  /\  y  =  t ) )
10197, 100syl6bb 261 . . . . . . . . . 10  |-  ( v  =  <. s ,  t
>.  ->  ( <. x ,  y >.  =  v  <-> 
( x  =  s  /\  y  =  t ) ) )
102101bibi2d 318 . . . . . . . . 9  |-  ( v  =  <. s ,  t
>.  ->  ( ( ( z  =  X  /\  w  =  Y )  <->  <.
x ,  y >.  =  v )  <->  ( (
z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t )
) ) )
1031022ralbidv 2769 . . . . . . . 8  |-  ( v  =  <. s ,  t
>.  ->  ( A. x  e.  A  A. y  e.  C  ( (
z  =  X  /\  w  =  Y )  <->  <.
x ,  y >.  =  v )  <->  A. x  e.  A  A. y  e.  C  ( (
z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t )
) ) )
10496, 103syl5bb 257 . . . . . . 7  |-  ( v  =  <. s ,  t
>.  ->  ( A. u  e.  ( A  X.  C
) ( ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u
)  /  y ]_ Y )  <->  u  =  v )  <->  A. x  e.  A  A. y  e.  C  ( (
z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t )
) ) )
105104rexxp 4994 . . . . . 6  |-  ( E. v  e.  ( A  X.  C ) A. u  e.  ( A  X.  C ) ( ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u
)  /  y ]_ Y )  <->  u  =  v )  <->  E. s  e.  A  E. t  e.  C  A. x  e.  A  A. y  e.  C  ( (
z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t )
) )
10651, 105sylibr 212 . . . . 5  |-  ( (
ph  /\  ( z  e.  B  /\  w  e.  D ) )  ->  E. v  e.  ( A  X.  C ) A. u  e.  ( A  X.  C ) ( ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u
)  /  y ]_ Y )  <->  u  =  v ) )
107 reu6 3160 . . . . 5  |-  ( E! u  e.  ( A  X.  C ) ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u
)  /  y ]_ Y )  <->  E. v  e.  ( A  X.  C
) A. u  e.  ( A  X.  C
) ( ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u
)  /  y ]_ Y )  <->  u  =  v ) )
108106, 107sylibr 212 . . . 4  |-  ( (
ph  /\  ( z  e.  B  /\  w  e.  D ) )  ->  E! u  e.  ( A  X.  C ) ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u
)  /  y ]_ Y ) )
109108ralrimivva 2820 . . 3  |-  ( ph  ->  A. z  e.  B  A. w  e.  D  E! u  e.  ( A  X.  C ) ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u
)  /  y ]_ Y ) )
110 eqeq1 2449 . . . . . 6  |-  ( v  =  <. z ,  w >.  ->  ( v  = 
<. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  <->  <. z ,  w >.  =  <. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >. ) )
111 vex 2987 . . . . . . 7  |-  z  e. 
_V
112 vex 2987 . . . . . . 7  |-  w  e. 
_V
113111, 112opth 4578 . . . . . 6  |-  ( <.
z ,  w >.  = 
<. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  <->  ( z  = 
[_ ( 1st `  u
)  /  x ]_ X  /\  w  =  [_ ( 2nd `  u )  /  y ]_ Y
) )
114110, 113syl6bb 261 . . . . 5  |-  ( v  =  <. z ,  w >.  ->  ( v  = 
<. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  <->  ( z  = 
[_ ( 1st `  u
)  /  x ]_ X  /\  w  =  [_ ( 2nd `  u )  /  y ]_ Y
) ) )
115114reubidv 2917 . . . 4  |-  ( v  =  <. z ,  w >.  ->  ( E! u  e.  ( A  X.  C
) v  =  <. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  <->  E! u  e.  ( A  X.  C ) ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u )  / 
y ]_ Y ) ) )
116115ralxp 4993 . . 3  |-  ( A. v  e.  ( B  X.  D ) E! u  e.  ( A  X.  C
) v  =  <. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  <->  A. z  e.  B  A. w  e.  D  E! u  e.  ( A  X.  C ) ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u
)  /  y ]_ Y ) )
117109, 116sylibr 212 . 2  |-  ( ph  ->  A. v  e.  ( B  X.  D ) E! u  e.  ( A  X.  C ) v  =  <. [_ ( 1st `  u )  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >. )
118 nfcv 2589 . . . . 5  |-  F/_ z <. X ,  Y >.
119 nfcv 2589 . . . . 5  |-  F/_ w <. X ,  Y >.
120 nfcsb1v 3316 . . . . . 6  |-  F/_ x [_ z  /  x ]_ X
121 nfcv 2589 . . . . . 6  |-  F/_ x [_ w  /  y ]_ Y
122120, 121nfop 4087 . . . . 5  |-  F/_ x <. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >.
123 nfcv 2589 . . . . . 6  |-  F/_ y [_ z  /  x ]_ X
124 nfcsb1v 3316 . . . . . 6  |-  F/_ y [_ w  /  y ]_ Y
125123, 124nfop 4087 . . . . 5  |-  F/_ y <. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >.
126 csbeq1a 3309 . . . . . 6  |-  ( x  =  z  ->  X  =  [_ z  /  x ]_ X )
127 csbeq1a 3309 . . . . . 6  |-  ( y  =  w  ->  Y  =  [_ w  /  y ]_ Y )
128 opeq12 4073 . . . . . 6  |-  ( ( X  =  [_ z  /  x ]_ X  /\  Y  =  [_ w  / 
y ]_ Y )  ->  <. X ,  Y >.  = 
<. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >. )
129126, 127, 128syl2an 477 . . . . 5  |-  ( ( x  =  z  /\  y  =  w )  -> 
<. X ,  Y >.  = 
<. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >. )
130118, 119, 122, 125, 129cbvmpt2 6177 . . . 4  |-  ( x  e.  A ,  y  e.  C  |->  <. X ,  Y >. )  =  ( z  e.  A ,  w  e.  C  |->  <. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >. )
131111, 112op1std 6599 . . . . . . 7  |-  ( u  =  <. z ,  w >.  ->  ( 1st `  u
)  =  z )
132131csbeq1d 3307 . . . . . 6  |-  ( u  =  <. z ,  w >.  ->  [_ ( 1st `  u
)  /  x ]_ X  =  [_ z  /  x ]_ X )
133111, 112op2ndd 6600 . . . . . . 7  |-  ( u  =  <. z ,  w >.  ->  ( 2nd `  u
)  =  w )
134133csbeq1d 3307 . . . . . 6  |-  ( u  =  <. z ,  w >.  ->  [_ ( 2nd `  u
)  /  y ]_ Y  =  [_ w  / 
y ]_ Y )
135132, 134opeq12d 4079 . . . . 5  |-  ( u  =  <. z ,  w >.  ->  <. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  =  <. [_ z  /  x ]_ X ,  [_ w  / 
y ]_ Y >. )
136135mpt2mpt 6194 . . . 4  |-  ( u  e.  ( A  X.  C )  |->  <. [_ ( 1st `  u )  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >. )  =  ( z  e.  A ,  w  e.  C  |->  <. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >. )
137130, 136eqtr4i 2466 . . 3  |-  ( x  e.  A ,  y  e.  C  |->  <. X ,  Y >. )  =  ( u  e.  ( A  X.  C )  |->  <. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >. )
138137f1ompt 5877 . 2  |-  ( ( x  e.  A , 
y  e.  C  |->  <. X ,  Y >. ) : ( A  X.  C ) -1-1-onto-> ( B  X.  D
)  <->  ( A. u  e.  ( A  X.  C
) <. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  e.  ( B  X.  D )  /\  A. v  e.  ( B  X.  D ) E! u  e.  ( A  X.  C ) v  =  <. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >. ) )
13931, 117, 138sylanbrc 664 1  |-  ( ph  ->  ( x  e.  A ,  y  e.  C  |-> 
<. X ,  Y >. ) : ( A  X.  C ) -1-1-onto-> ( B  X.  D
) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    = wceq 1369    e. wcel 1756   A.wral 2727   E.wrex 2728   E!wreu 2729   [_csb 3300   <.cop 3895    e. cmpt 4362    X. cxp 4850   -1-1-onto->wf1o 5429   ` cfv 5430    e. cmpt2 6105   1stc1st 6587   2ndc2nd 6588
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-8 1758  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2423  ax-sep 4425  ax-nul 4433  ax-pow 4482  ax-pr 4543  ax-un 6384
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3an 967  df-tru 1372  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2257  df-mo 2258  df-clab 2430  df-cleq 2436  df-clel 2439  df-nfc 2577  df-ne 2620  df-ral 2732  df-rex 2733  df-reu 2734  df-rab 2736  df-v 2986  df-sbc 3199  df-csb 3301  df-dif 3343  df-un 3345  df-in 3347  df-ss 3354  df-nul 3650  df-if 3804  df-sn 3890  df-pr 3892  df-op 3896  df-uni 4104  df-iun 4185  df-br 4305  df-opab 4363  df-mpt 4364  df-id 4648  df-xp 4858  df-rel 4859  df-cnv 4860  df-co 4861  df-dm 4862  df-rn 4863  df-res 4864  df-ima 4865  df-iota 5393  df-fun 5432  df-fn 5433  df-f 5434  df-f1 5435  df-fo 5436  df-f1o 5437  df-fv 5438  df-oprab 6107  df-mpt2 6108  df-1st 6589  df-2nd 6590
This theorem is referenced by:  infxpenc  8196  infxpencOLD  8201  pwfseqlem5  8842
  Copyright terms: Public domain W3C validator