ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  xpf1o Unicode version

Theorem xpf1o 6838
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 6160 . . . . . 6  |-  ( u  e.  ( A  X.  C )  ->  ( 1st `  u )  e.  A )
21adantl 277 . . . . 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 2177 . . . . . . . . 9  |-  ( x  e.  A  |->  X )  =  ( x  e.  A  |->  X )
54f1ompt 5663 . . . . . . . 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 122 . . . . . . 7  |-  ( ph  ->  ( A. x  e.  A  X  e.  B  /\  A. z  e.  B  E! x  e.  A  z  =  X )
)
76simpld 112 . . . . . 6  |-  ( ph  ->  A. x  e.  A  X  e.  B )
87adantr 276 . . . . 5  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  A. x  e.  A  X  e.  B )
9 nfcsb1v 3090 . . . . . . 7  |-  F/_ x [_ ( 1st `  u
)  /  x ]_ X
109nfel1 2330 . . . . . 6  |-  F/ x [_ ( 1st `  u
)  /  x ]_ X  e.  B
11 csbeq1a 3066 . . . . . . 7  |-  ( x  =  ( 1st `  u
)  ->  X  =  [_ ( 1st `  u
)  /  x ]_ X )
1211eleq1d 2246 . . . . . 6  |-  ( x  =  ( 1st `  u
)  ->  ( X  e.  B  <->  [_ ( 1st `  u
)  /  x ]_ X  e.  B )
)
1310, 12rspc 2835 . . . . 5  |-  ( ( 1st `  u )  e.  A  ->  ( A. x  e.  A  X  e.  B  ->  [_ ( 1st `  u
)  /  x ]_ X  e.  B )
)
142, 8, 13sylc 62 . . . 4  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  [_ ( 1st `  u )  /  x ]_ X  e.  B
)
15 xp2nd 6161 . . . . . 6  |-  ( u  e.  ( A  X.  C )  ->  ( 2nd `  u )  e.  C )
1615adantl 277 . . . . 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 2177 . . . . . . . . 9  |-  ( y  e.  C  |->  Y )  =  ( y  e.  C  |->  Y )
1918f1ompt 5663 . . . . . . . 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 122 . . . . . . 7  |-  ( ph  ->  ( A. y  e.  C  Y  e.  D  /\  A. w  e.  D  E! y  e.  C  w  =  Y )
)
2120simpld 112 . . . . . 6  |-  ( ph  ->  A. y  e.  C  Y  e.  D )
2221adantr 276 . . . . 5  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  A. y  e.  C  Y  e.  D )
23 nfcsb1v 3090 . . . . . . 7  |-  F/_ y [_ ( 2nd `  u
)  /  y ]_ Y
2423nfel1 2330 . . . . . 6  |-  F/ y
[_ ( 2nd `  u
)  /  y ]_ Y  e.  D
25 csbeq1a 3066 . . . . . . 7  |-  ( y  =  ( 2nd `  u
)  ->  Y  =  [_ ( 2nd `  u
)  /  y ]_ Y )
2625eleq1d 2246 . . . . . 6  |-  ( y  =  ( 2nd `  u
)  ->  ( Y  e.  D  <->  [_ ( 2nd `  u
)  /  y ]_ Y  e.  D )
)
2724, 26rspc 2835 . . . . 5  |-  ( ( 2nd `  u )  e.  C  ->  ( A. y  e.  C  Y  e.  D  ->  [_ ( 2nd `  u
)  /  y ]_ Y  e.  D )
)
2816, 22, 27sylc 62 . . . 4  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  [_ ( 2nd `  u )  / 
y ]_ Y  e.  D
)
29 opelxpi 4655 . . . 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 411 . . 3  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  <. [_ ( 1st `  u )  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  e.  ( B  X.  D ) )
3130ralrimiva 2550 . 2  |-  ( ph  ->  A. u  e.  ( A  X.  C )
<. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  e.  ( B  X.  D ) )
326simprd 114 . . . . . . . . . 10  |-  ( ph  ->  A. z  e.  B  E! x  e.  A  z  =  X )
3332r19.21bi 2565 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  B )  ->  E! x  e.  A  z  =  X )
34 reu6 2926 . . . . . . . . 9  |-  ( E! x  e.  A  z  =  X  <->  E. s  e.  A  A. x  e.  A  ( z  =  X  <->  x  =  s
) )
3533, 34sylib 122 . . . . . . . 8  |-  ( (
ph  /\  z  e.  B )  ->  E. s  e.  A  A. x  e.  A  ( z  =  X  <->  x  =  s
) )
3620simprd 114 . . . . . . . . . 10  |-  ( ph  ->  A. w  e.  D  E! y  e.  C  w  =  Y )
3736r19.21bi 2565 . . . . . . . . 9  |-  ( (
ph  /\  w  e.  D )  ->  E! y  e.  C  w  =  Y )
38 reu6 2926 . . . . . . . . 9  |-  ( E! y  e.  C  w  =  Y  <->  E. t  e.  C  A. y  e.  C  ( w  =  Y  <->  y  =  t ) )
3937, 38sylib 122 . . . . . . . 8  |-  ( (
ph  /\  w  e.  D )  ->  E. t  e.  C  A. y  e.  C  ( w  =  Y  <->  y  =  t ) )
4035, 39anim12dan 600 . . . . . . 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 2646 . . . . . . . 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 605 . . . . . . . . . . . . . . 15  |-  ( ( ( z  =  X  <-> 
x  =  s )  /\  ( w  =  Y  <->  y  =  t ) )  ->  (
( z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t ) ) )
4342ex 115 . . . . . . . . . . . . . 14  |-  ( ( z  =  X  <->  x  =  s )  ->  (
( w  =  Y  <-> 
y  =  t )  ->  ( ( z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t ) ) ) )
4443ralimdv 2545 . . . . . . . . . . . . 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 30 . . . . . . . . . . . 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 2545 . . . . . . . . . . 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 125 . . . . . . . . . 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 2574 . . . . . . . . 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 2574 . . . . . . . 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 135 . . . . . . 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 14 . . . . . 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 2740 . . . . . . . . . . . . . . 15  |-  s  e. 
_V
53 vex 2740 . . . . . . . . . . . . . . 15  |-  t  e. 
_V
5452, 53op1std 6143 . . . . . . . . . . . . . 14  |-  ( u  =  <. s ,  t
>.  ->  ( 1st `  u
)  =  s )
5554csbeq1d 3064 . . . . . . . . . . . . 13  |-  ( u  =  <. s ,  t
>.  ->  [_ ( 1st `  u
)  /  x ]_ X  =  [_ s  /  x ]_ X )
5655eqeq2d 2189 . . . . . . . . . . . 12  |-  ( u  =  <. s ,  t
>.  ->  ( z  = 
[_ ( 1st `  u
)  /  x ]_ X 
<->  z  =  [_ s  /  x ]_ X ) )
5752, 53op2ndd 6144 . . . . . . . . . . . . . 14  |-  ( u  =  <. s ,  t
>.  ->  ( 2nd `  u
)  =  t )
5857csbeq1d 3064 . . . . . . . . . . . . 13  |-  ( u  =  <. s ,  t
>.  ->  [_ ( 2nd `  u
)  /  y ]_ Y  =  [_ t  / 
y ]_ Y )
5958eqeq2d 2189 . . . . . . . . . . . 12  |-  ( u  =  <. s ,  t
>.  ->  ( w  = 
[_ ( 2nd `  u
)  /  y ]_ Y 
<->  w  =  [_ t  /  y ]_ Y
) )
6056, 59anbi12d 473 . . . . . . . . . . 11  |-  ( u  =  <. s ,  t
>.  ->  ( ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u
)  /  y ]_ Y )  <->  ( z  =  [_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y ) ) )
61 eqeq1 2184 . . . . . . . . . . 11  |-  ( u  =  <. s ,  t
>.  ->  ( u  =  v  <->  <. s ,  t
>.  =  v )
)
6260, 61bibi12d 235 . . . . . . . . . 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 4766 . . . . . . . . 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 1528 . . . . . . . . . 10  |-  F/ s A. y  e.  C  ( ( z  =  X  /\  w  =  Y )  <->  <. x ,  y >.  =  v
)
65 nfcv 2319 . . . . . . . . . . 11  |-  F/_ x C
66 nfcsb1v 3090 . . . . . . . . . . . . . 14  |-  F/_ x [_ s  /  x ]_ X
6766nfeq2 2331 . . . . . . . . . . . . 13  |-  F/ x  z  =  [_ s  /  x ]_ X
68 nfv 1528 . . . . . . . . . . . . 13  |-  F/ x  w  =  [_ t  / 
y ]_ Y
6967, 68nfan 1565 . . . . . . . . . . . 12  |-  F/ x
( z  =  [_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y
)
70 nfv 1528 . . . . . . . . . . . 12  |-  F/ x <. s ,  t >.  =  v
7169, 70nfbi 1589 . . . . . . . . . . 11  |-  F/ x
( ( z  = 
[_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y )  <->  <. s ,  t >.  =  v
)
7265, 71nfralxy 2515 . . . . . . . . . 10  |-  F/ x A. t  e.  C  ( ( z  = 
[_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y )  <->  <. s ,  t >.  =  v
)
73 nfv 1528 . . . . . . . . . . . 12  |-  F/ t ( ( z  =  X  /\  w  =  Y )  <->  <. x ,  y >.  =  v
)
74 nfv 1528 . . . . . . . . . . . . . 14  |-  F/ y  z  =  X
75 nfcsb1v 3090 . . . . . . . . . . . . . . 15  |-  F/_ y [_ t  /  y ]_ Y
7675nfeq2 2331 . . . . . . . . . . . . . 14  |-  F/ y  w  =  [_ t  /  y ]_ Y
7774, 76nfan 1565 . . . . . . . . . . . . 13  |-  F/ y ( z  =  X  /\  w  =  [_ t  /  y ]_ Y
)
78 nfv 1528 . . . . . . . . . . . . 13  |-  F/ y
<. x ,  t >.  =  v
7977, 78nfbi 1589 . . . . . . . . . . . 12  |-  F/ y ( ( z  =  X  /\  w  = 
[_ t  /  y ]_ Y )  <->  <. x ,  t >.  =  v
)
80 csbeq1a 3066 . . . . . . . . . . . . . . 15  |-  ( y  =  t  ->  Y  =  [_ t  /  y ]_ Y )
8180eqeq2d 2189 . . . . . . . . . . . . . 14  |-  ( y  =  t  ->  (
w  =  Y  <->  w  =  [_ t  /  y ]_ Y ) )
8281anbi2d 464 . . . . . . . . . . . . 13  |-  ( y  =  t  ->  (
( z  =  X  /\  w  =  Y )  <->  ( z  =  X  /\  w  = 
[_ t  /  y ]_ Y ) ) )
83 opeq2 3777 . . . . . . . . . . . . . 14  |-  ( y  =  t  ->  <. x ,  y >.  =  <. x ,  t >. )
8483eqeq1d 2186 . . . . . . . . . . . . 13  |-  ( y  =  t  ->  ( <. x ,  y >.  =  v  <->  <. x ,  t
>.  =  v )
)
8582, 84bibi12d 235 . . . . . . . . . . . 12  |-  ( y  =  t  ->  (
( ( z  =  X  /\  w  =  Y )  <->  <. x ,  y >.  =  v
)  <->  ( ( z  =  X  /\  w  =  [_ t  /  y ]_ Y )  <->  <. x ,  t >.  =  v
) ) )
8673, 79, 85cbvral 2699 . . . . . . . . . . 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 3066 . . . . . . . . . . . . . . 15  |-  ( x  =  s  ->  X  =  [_ s  /  x ]_ X )
8887eqeq2d 2189 . . . . . . . . . . . . . 14  |-  ( x  =  s  ->  (
z  =  X  <->  z  =  [_ s  /  x ]_ X ) )
8988anbi1d 465 . . . . . . . . . . . . 13  |-  ( x  =  s  ->  (
( z  =  X  /\  w  =  [_ t  /  y ]_ Y
)  <->  ( z  = 
[_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y ) ) )
90 opeq1 3776 . . . . . . . . . . . . . 14  |-  ( x  =  s  ->  <. x ,  t >.  =  <. s ,  t >. )
9190eqeq1d 2186 . . . . . . . . . . . . 13  |-  ( x  =  s  ->  ( <. x ,  t >.  =  v  <->  <. s ,  t
>.  =  v )
)
9289, 91bibi12d 235 . . . . . . . . . . . 12  |-  ( x  =  s  ->  (
( ( z  =  X  /\  w  = 
[_ t  /  y ]_ Y )  <->  <. x ,  t >.  =  v
)  <->  ( ( z  =  [_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y )  <->  <. s ,  t >.  =  v
) ) )
9392ralbidv 2477 . . . . . . . . . . 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, 93bitrid 192 . . . . . . . . . 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 2699 . . . . . . . . 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 187 . . . . . . . 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 2187 . . . . . . . . . . 11  |-  ( v  =  <. s ,  t
>.  ->  ( <. x ,  y >.  =  v  <->  <. x ,  y >.  =  <. s ,  t
>. ) )
98 vex 2740 . . . . . . . . . . . 12  |-  x  e. 
_V
99 vex 2740 . . . . . . . . . . . 12  |-  y  e. 
_V
10098, 99opth 4234 . . . . . . . . . . 11  |-  ( <.
x ,  y >.  =  <. s ,  t
>. 
<->  ( x  =  s  /\  y  =  t ) )
10197, 100bitrdi 196 . . . . . . . . . 10  |-  ( v  =  <. s ,  t
>.  ->  ( <. x ,  y >.  =  v  <-> 
( x  =  s  /\  y  =  t ) ) )
102101bibi2d 232 . . . . . . . . 9  |-  ( v  =  <. s ,  t
>.  ->  ( ( ( z  =  X  /\  w  =  Y )  <->  <.
x ,  y >.  =  v )  <->  ( (
z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t )
) ) )
1031022ralbidv 2501 . . . . . . . 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, 103bitrid 192 . . . . . . 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 4767 . . . . . 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 134 . . . . 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 2926 . . . . 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 134 . . . 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 2559 . . 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 2184 . . . . . 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 2740 . . . . . . 7  |-  z  e. 
_V
112 vex 2740 . . . . . . 7  |-  w  e. 
_V
113111, 112opth 4234 . . . . . 6  |-  ( <.
z ,  w >.  = 
<. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  <->  ( z  = 
[_ ( 1st `  u
)  /  x ]_ X  /\  w  =  [_ ( 2nd `  u )  /  y ]_ Y
) )
114110, 113bitrdi 196 . . . . 5  |-  ( v  =  <. z ,  w >.  ->  ( v  = 
<. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  <->  ( z  = 
[_ ( 1st `  u
)  /  x ]_ X  /\  w  =  [_ ( 2nd `  u )  /  y ]_ Y
) ) )
115114reubidv 2660 . . . 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 4766 . . 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 134 . 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 2319 . . . . 5  |-  F/_ z <. X ,  Y >.
119 nfcv 2319 . . . . 5  |-  F/_ w <. X ,  Y >.
120 nfcsb1v 3090 . . . . . 6  |-  F/_ x [_ z  /  x ]_ X
121 nfcv 2319 . . . . . 6  |-  F/_ x [_ w  /  y ]_ Y
122120, 121nfop 3792 . . . . 5  |-  F/_ x <. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >.
123 nfcv 2319 . . . . . 6  |-  F/_ y [_ z  /  x ]_ X
124 nfcsb1v 3090 . . . . . 6  |-  F/_ y [_ w  /  y ]_ Y
125123, 124nfop 3792 . . . . 5  |-  F/_ y <. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >.
126 csbeq1a 3066 . . . . . 6  |-  ( x  =  z  ->  X  =  [_ z  /  x ]_ X )
127 csbeq1a 3066 . . . . . 6  |-  ( y  =  w  ->  Y  =  [_ w  /  y ]_ Y )
128 opeq12 3778 . . . . . 6  |-  ( ( X  =  [_ z  /  x ]_ X  /\  Y  =  [_ w  / 
y ]_ Y )  ->  <. X ,  Y >.  = 
<. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >. )
129126, 127, 128syl2an 289 . . . . 5  |-  ( ( x  =  z  /\  y  =  w )  -> 
<. X ,  Y >.  = 
<. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >. )
130118, 119, 122, 125, 129cbvmpo 5948 . . . 4  |-  ( x  e.  A ,  y  e.  C  |->  <. X ,  Y >. )  =  ( z  e.  A ,  w  e.  C  |->  <. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >. )
131111, 112op1std 6143 . . . . . . 7  |-  ( u  =  <. z ,  w >.  ->  ( 1st `  u
)  =  z )
132131csbeq1d 3064 . . . . . 6  |-  ( u  =  <. z ,  w >.  ->  [_ ( 1st `  u
)  /  x ]_ X  =  [_ z  /  x ]_ X )
133111, 112op2ndd 6144 . . . . . . 7  |-  ( u  =  <. z ,  w >.  ->  ( 2nd `  u
)  =  w )
134133csbeq1d 3064 . . . . . 6  |-  ( u  =  <. z ,  w >.  ->  [_ ( 2nd `  u
)  /  y ]_ Y  =  [_ w  / 
y ]_ Y )
135132, 134opeq12d 3784 . . . . 5  |-  ( u  =  <. z ,  w >.  ->  <. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  =  <. [_ z  /  x ]_ X ,  [_ w  / 
y ]_ Y >. )
136135mpompt 5961 . . . 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 2201 . . 3  |-  ( x  e.  A ,  y  e.  C  |->  <. X ,  Y >. )  =  ( u  e.  ( A  X.  C )  |->  <. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >. )
138137f1ompt 5663 . 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 417 1  |-  ( ph  ->  ( x  e.  A ,  y  e.  C  |-> 
<. X ,  Y >. ) : ( A  X.  C ) -1-1-onto-> ( B  X.  D
) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 104    <-> wb 105    = wceq 1353    e. wcel 2148   A.wral 2455   E.wrex 2456   E!wreu 2457   [_csb 3057   <.cop 3594    |-> cmpt 4061    X. cxp 4621   -1-1-onto->wf1o 5211   ` cfv 5212    e. cmpo 5871   1stc1st 6133   2ndc2nd 6134
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-io 709  ax-5 1447  ax-7 1448  ax-gen 1449  ax-ie1 1493  ax-ie2 1494  ax-8 1504  ax-10 1505  ax-11 1506  ax-i12 1507  ax-bndl 1509  ax-4 1510  ax-17 1526  ax-i9 1530  ax-ial 1534  ax-i5r 1535  ax-13 2150  ax-14 2151  ax-ext 2159  ax-sep 4118  ax-pow 4171  ax-pr 4206  ax-un 4430
This theorem depends on definitions:  df-bi 117  df-3an 980  df-tru 1356  df-nf 1461  df-sb 1763  df-eu 2029  df-mo 2030  df-clab 2164  df-cleq 2170  df-clel 2173  df-nfc 2308  df-ral 2460  df-rex 2461  df-reu 2462  df-rab 2464  df-v 2739  df-sbc 2963  df-csb 3058  df-un 3133  df-in 3135  df-ss 3142  df-pw 3576  df-sn 3597  df-pr 3598  df-op 3600  df-uni 3808  df-iun 3886  df-br 4001  df-opab 4062  df-mpt 4063  df-id 4290  df-xp 4629  df-rel 4630  df-cnv 4631  df-co 4632  df-dm 4633  df-rn 4634  df-res 4635  df-ima 4636  df-iota 5174  df-fun 5214  df-fn 5215  df-f 5216  df-f1 5217  df-fo 5218  df-f1o 5219  df-fv 5220  df-oprab 5873  df-mpo 5874  df-1st 6135  df-2nd 6136
This theorem is referenced by:  xpen  6839
  Copyright terms: Public domain W3C validator