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

Theorem xpf1o 6786
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 6110 . . . . . 6  |-  ( u  e.  ( A  X.  C )  ->  ( 1st `  u )  e.  A )
21adantl 275 . . . . 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 2157 . . . . . . . . 9  |-  ( x  e.  A  |->  X )  =  ( x  e.  A  |->  X )
54f1ompt 5617 . . . . . . . 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 121 . . . . . . 7  |-  ( ph  ->  ( A. x  e.  A  X  e.  B  /\  A. z  e.  B  E! x  e.  A  z  =  X )
)
76simpld 111 . . . . . 6  |-  ( ph  ->  A. x  e.  A  X  e.  B )
87adantr 274 . . . . 5  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  A. x  e.  A  X  e.  B )
9 nfcsb1v 3064 . . . . . . 7  |-  F/_ x [_ ( 1st `  u
)  /  x ]_ X
109nfel1 2310 . . . . . 6  |-  F/ x [_ ( 1st `  u
)  /  x ]_ X  e.  B
11 csbeq1a 3040 . . . . . . 7  |-  ( x  =  ( 1st `  u
)  ->  X  =  [_ ( 1st `  u
)  /  x ]_ X )
1211eleq1d 2226 . . . . . 6  |-  ( x  =  ( 1st `  u
)  ->  ( X  e.  B  <->  [_ ( 1st `  u
)  /  x ]_ X  e.  B )
)
1310, 12rspc 2810 . . . . 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 6111 . . . . . 6  |-  ( u  e.  ( A  X.  C )  ->  ( 2nd `  u )  e.  C )
1615adantl 275 . . . . 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 2157 . . . . . . . . 9  |-  ( y  e.  C  |->  Y )  =  ( y  e.  C  |->  Y )
1918f1ompt 5617 . . . . . . . 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 121 . . . . . . 7  |-  ( ph  ->  ( A. y  e.  C  Y  e.  D  /\  A. w  e.  D  E! y  e.  C  w  =  Y )
)
2120simpld 111 . . . . . 6  |-  ( ph  ->  A. y  e.  C  Y  e.  D )
2221adantr 274 . . . . 5  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  A. y  e.  C  Y  e.  D )
23 nfcsb1v 3064 . . . . . . 7  |-  F/_ y [_ ( 2nd `  u
)  /  y ]_ Y
2423nfel1 2310 . . . . . 6  |-  F/ y
[_ ( 2nd `  u
)  /  y ]_ Y  e.  D
25 csbeq1a 3040 . . . . . . 7  |-  ( y  =  ( 2nd `  u
)  ->  Y  =  [_ ( 2nd `  u
)  /  y ]_ Y )
2625eleq1d 2226 . . . . . 6  |-  ( y  =  ( 2nd `  u
)  ->  ( Y  e.  D  <->  [_ ( 2nd `  u
)  /  y ]_ Y  e.  D )
)
2724, 26rspc 2810 . . . . 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 4617 . . . 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 409 . . 3  |-  ( (
ph  /\  u  e.  ( A  X.  C
) )  ->  <. [_ ( 1st `  u )  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  e.  ( B  X.  D ) )
3130ralrimiva 2530 . 2  |-  ( ph  ->  A. u  e.  ( A  X.  C )
<. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  e.  ( B  X.  D ) )
326simprd 113 . . . . . . . . . 10  |-  ( ph  ->  A. z  e.  B  E! x  e.  A  z  =  X )
3332r19.21bi 2545 . . . . . . . . 9  |-  ( (
ph  /\  z  e.  B )  ->  E! x  e.  A  z  =  X )
34 reu6 2901 . . . . . . . . 9  |-  ( E! x  e.  A  z  =  X  <->  E. s  e.  A  A. x  e.  A  ( z  =  X  <->  x  =  s
) )
3533, 34sylib 121 . . . . . . . 8  |-  ( (
ph  /\  z  e.  B )  ->  E. s  e.  A  A. x  e.  A  ( z  =  X  <->  x  =  s
) )
3620simprd 113 . . . . . . . . . 10  |-  ( ph  ->  A. w  e.  D  E! y  e.  C  w  =  Y )
3736r19.21bi 2545 . . . . . . . . 9  |-  ( (
ph  /\  w  e.  D )  ->  E! y  e.  C  w  =  Y )
38 reu6 2901 . . . . . . . . 9  |-  ( E! y  e.  C  w  =  Y  <->  E. t  e.  C  A. y  e.  C  ( w  =  Y  <->  y  =  t ) )
3937, 38sylib 121 . . . . . . . 8  |-  ( (
ph  /\  w  e.  D )  ->  E. t  e.  C  A. y  e.  C  ( w  =  Y  <->  y  =  t ) )
4035, 39anim12dan 590 . . . . . . 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 2626 . . . . . . . 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 595 . . . . . . . . . . . . . . 15  |-  ( ( ( z  =  X  <-> 
x  =  s )  /\  ( w  =  Y  <->  y  =  t ) )  ->  (
( z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t ) ) )
4342ex 114 . . . . . . . . . . . . . 14  |-  ( ( z  =  X  <->  x  =  s )  ->  (
( w  =  Y  <-> 
y  =  t )  ->  ( ( z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t ) ) ) )
4443ralimdv 2525 . . . . . . . . . . . . 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 2525 . . . . . . . . . . 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 124 . . . . . . . . . 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 2554 . . . . . . . . 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 2554 . . . . . . . 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 134 . . . . . . 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 2715 . . . . . . . . . . . . . . 15  |-  s  e. 
_V
53 vex 2715 . . . . . . . . . . . . . . 15  |-  t  e. 
_V
5452, 53op1std 6093 . . . . . . . . . . . . . 14  |-  ( u  =  <. s ,  t
>.  ->  ( 1st `  u
)  =  s )
5554csbeq1d 3038 . . . . . . . . . . . . 13  |-  ( u  =  <. s ,  t
>.  ->  [_ ( 1st `  u
)  /  x ]_ X  =  [_ s  /  x ]_ X )
5655eqeq2d 2169 . . . . . . . . . . . 12  |-  ( u  =  <. s ,  t
>.  ->  ( z  = 
[_ ( 1st `  u
)  /  x ]_ X 
<->  z  =  [_ s  /  x ]_ X ) )
5752, 53op2ndd 6094 . . . . . . . . . . . . . 14  |-  ( u  =  <. s ,  t
>.  ->  ( 2nd `  u
)  =  t )
5857csbeq1d 3038 . . . . . . . . . . . . 13  |-  ( u  =  <. s ,  t
>.  ->  [_ ( 2nd `  u
)  /  y ]_ Y  =  [_ t  / 
y ]_ Y )
5958eqeq2d 2169 . . . . . . . . . . . 12  |-  ( u  =  <. s ,  t
>.  ->  ( w  = 
[_ ( 2nd `  u
)  /  y ]_ Y 
<->  w  =  [_ t  /  y ]_ Y
) )
6056, 59anbi12d 465 . . . . . . . . . . 11  |-  ( u  =  <. s ,  t
>.  ->  ( ( z  =  [_ ( 1st `  u )  /  x ]_ X  /\  w  =  [_ ( 2nd `  u
)  /  y ]_ Y )  <->  ( z  =  [_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y ) ) )
61 eqeq1 2164 . . . . . . . . . . 11  |-  ( u  =  <. s ,  t
>.  ->  ( u  =  v  <->  <. s ,  t
>.  =  v )
)
6260, 61bibi12d 234 . . . . . . . . . 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 4728 . . . . . . . . 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 1508 . . . . . . . . . 10  |-  F/ s A. y  e.  C  ( ( z  =  X  /\  w  =  Y )  <->  <. x ,  y >.  =  v
)
65 nfcv 2299 . . . . . . . . . . 11  |-  F/_ x C
66 nfcsb1v 3064 . . . . . . . . . . . . . 14  |-  F/_ x [_ s  /  x ]_ X
6766nfeq2 2311 . . . . . . . . . . . . 13  |-  F/ x  z  =  [_ s  /  x ]_ X
68 nfv 1508 . . . . . . . . . . . . 13  |-  F/ x  w  =  [_ t  / 
y ]_ Y
6967, 68nfan 1545 . . . . . . . . . . . 12  |-  F/ x
( z  =  [_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y
)
70 nfv 1508 . . . . . . . . . . . 12  |-  F/ x <. s ,  t >.  =  v
7169, 70nfbi 1569 . . . . . . . . . . 11  |-  F/ x
( ( z  = 
[_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y )  <->  <. s ,  t >.  =  v
)
7265, 71nfralxy 2495 . . . . . . . . . 10  |-  F/ x A. t  e.  C  ( ( z  = 
[_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y )  <->  <. s ,  t >.  =  v
)
73 nfv 1508 . . . . . . . . . . . 12  |-  F/ t ( ( z  =  X  /\  w  =  Y )  <->  <. x ,  y >.  =  v
)
74 nfv 1508 . . . . . . . . . . . . . 14  |-  F/ y  z  =  X
75 nfcsb1v 3064 . . . . . . . . . . . . . . 15  |-  F/_ y [_ t  /  y ]_ Y
7675nfeq2 2311 . . . . . . . . . . . . . 14  |-  F/ y  w  =  [_ t  /  y ]_ Y
7774, 76nfan 1545 . . . . . . . . . . . . 13  |-  F/ y ( z  =  X  /\  w  =  [_ t  /  y ]_ Y
)
78 nfv 1508 . . . . . . . . . . . . 13  |-  F/ y
<. x ,  t >.  =  v
7977, 78nfbi 1569 . . . . . . . . . . . 12  |-  F/ y ( ( z  =  X  /\  w  = 
[_ t  /  y ]_ Y )  <->  <. x ,  t >.  =  v
)
80 csbeq1a 3040 . . . . . . . . . . . . . . 15  |-  ( y  =  t  ->  Y  =  [_ t  /  y ]_ Y )
8180eqeq2d 2169 . . . . . . . . . . . . . 14  |-  ( y  =  t  ->  (
w  =  Y  <->  w  =  [_ t  /  y ]_ Y ) )
8281anbi2d 460 . . . . . . . . . . . . 13  |-  ( y  =  t  ->  (
( z  =  X  /\  w  =  Y )  <->  ( z  =  X  /\  w  = 
[_ t  /  y ]_ Y ) ) )
83 opeq2 3742 . . . . . . . . . . . . . 14  |-  ( y  =  t  ->  <. x ,  y >.  =  <. x ,  t >. )
8483eqeq1d 2166 . . . . . . . . . . . . 13  |-  ( y  =  t  ->  ( <. x ,  y >.  =  v  <->  <. x ,  t
>.  =  v )
)
8582, 84bibi12d 234 . . . . . . . . . . . 12  |-  ( y  =  t  ->  (
( ( z  =  X  /\  w  =  Y )  <->  <. x ,  y >.  =  v
)  <->  ( ( z  =  X  /\  w  =  [_ t  /  y ]_ Y )  <->  <. x ,  t >.  =  v
) ) )
8673, 79, 85cbvral 2676 . . . . . . . . . . 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 3040 . . . . . . . . . . . . . . 15  |-  ( x  =  s  ->  X  =  [_ s  /  x ]_ X )
8887eqeq2d 2169 . . . . . . . . . . . . . 14  |-  ( x  =  s  ->  (
z  =  X  <->  z  =  [_ s  /  x ]_ X ) )
8988anbi1d 461 . . . . . . . . . . . . 13  |-  ( x  =  s  ->  (
( z  =  X  /\  w  =  [_ t  /  y ]_ Y
)  <->  ( z  = 
[_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y ) ) )
90 opeq1 3741 . . . . . . . . . . . . . 14  |-  ( x  =  s  ->  <. x ,  t >.  =  <. s ,  t >. )
9190eqeq1d 2166 . . . . . . . . . . . . 13  |-  ( x  =  s  ->  ( <. x ,  t >.  =  v  <->  <. s ,  t
>.  =  v )
)
9289, 91bibi12d 234 . . . . . . . . . . . 12  |-  ( x  =  s  ->  (
( ( z  =  X  /\  w  = 
[_ t  /  y ]_ Y )  <->  <. x ,  t >.  =  v
)  <->  ( ( z  =  [_ s  /  x ]_ X  /\  w  =  [_ t  /  y ]_ Y )  <->  <. s ,  t >.  =  v
) ) )
9392ralbidv 2457 . . . . . . . . . . 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 191 . . . . . . . . . 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 2676 . . . . . . . . 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 186 . . . . . . . 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 2167 . . . . . . . . . . 11  |-  ( v  =  <. s ,  t
>.  ->  ( <. x ,  y >.  =  v  <->  <. x ,  y >.  =  <. s ,  t
>. ) )
98 vex 2715 . . . . . . . . . . . 12  |-  x  e. 
_V
99 vex 2715 . . . . . . . . . . . 12  |-  y  e. 
_V
10098, 99opth 4197 . . . . . . . . . . 11  |-  ( <.
x ,  y >.  =  <. s ,  t
>. 
<->  ( x  =  s  /\  y  =  t ) )
10197, 100bitrdi 195 . . . . . . . . . 10  |-  ( v  =  <. s ,  t
>.  ->  ( <. x ,  y >.  =  v  <-> 
( x  =  s  /\  y  =  t ) ) )
102101bibi2d 231 . . . . . . . . 9  |-  ( v  =  <. s ,  t
>.  ->  ( ( ( z  =  X  /\  w  =  Y )  <->  <.
x ,  y >.  =  v )  <->  ( (
z  =  X  /\  w  =  Y )  <->  ( x  =  s  /\  y  =  t )
) ) )
1031022ralbidv 2481 . . . . . . . 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 191 . . . . . . 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 4729 . . . . . 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 133 . . . . 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 2901 . . . . 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 133 . . . 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 2539 . . 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 2164 . . . . . 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 2715 . . . . . . 7  |-  z  e. 
_V
112 vex 2715 . . . . . . 7  |-  w  e. 
_V
113111, 112opth 4197 . . . . . 6  |-  ( <.
z ,  w >.  = 
<. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  <->  ( z  = 
[_ ( 1st `  u
)  /  x ]_ X  /\  w  =  [_ ( 2nd `  u )  /  y ]_ Y
) )
114110, 113bitrdi 195 . . . . 5  |-  ( v  =  <. z ,  w >.  ->  ( v  = 
<. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  <->  ( z  = 
[_ ( 1st `  u
)  /  x ]_ X  /\  w  =  [_ ( 2nd `  u )  /  y ]_ Y
) ) )
115114reubidv 2640 . . . 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 4728 . . 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 133 . 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 2299 . . . . 5  |-  F/_ z <. X ,  Y >.
119 nfcv 2299 . . . . 5  |-  F/_ w <. X ,  Y >.
120 nfcsb1v 3064 . . . . . 6  |-  F/_ x [_ z  /  x ]_ X
121 nfcv 2299 . . . . . 6  |-  F/_ x [_ w  /  y ]_ Y
122120, 121nfop 3757 . . . . 5  |-  F/_ x <. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >.
123 nfcv 2299 . . . . . 6  |-  F/_ y [_ z  /  x ]_ X
124 nfcsb1v 3064 . . . . . 6  |-  F/_ y [_ w  /  y ]_ Y
125123, 124nfop 3757 . . . . 5  |-  F/_ y <. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >.
126 csbeq1a 3040 . . . . . 6  |-  ( x  =  z  ->  X  =  [_ z  /  x ]_ X )
127 csbeq1a 3040 . . . . . 6  |-  ( y  =  w  ->  Y  =  [_ w  /  y ]_ Y )
128 opeq12 3743 . . . . . 6  |-  ( ( X  =  [_ z  /  x ]_ X  /\  Y  =  [_ w  / 
y ]_ Y )  ->  <. X ,  Y >.  = 
<. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >. )
129126, 127, 128syl2an 287 . . . . 5  |-  ( ( x  =  z  /\  y  =  w )  -> 
<. X ,  Y >.  = 
<. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >. )
130118, 119, 122, 125, 129cbvmpo 5897 . . . 4  |-  ( x  e.  A ,  y  e.  C  |->  <. X ,  Y >. )  =  ( z  e.  A ,  w  e.  C  |->  <. [_ z  /  x ]_ X ,  [_ w  /  y ]_ Y >. )
131111, 112op1std 6093 . . . . . . 7  |-  ( u  =  <. z ,  w >.  ->  ( 1st `  u
)  =  z )
132131csbeq1d 3038 . . . . . 6  |-  ( u  =  <. z ,  w >.  ->  [_ ( 1st `  u
)  /  x ]_ X  =  [_ z  /  x ]_ X )
133111, 112op2ndd 6094 . . . . . . 7  |-  ( u  =  <. z ,  w >.  ->  ( 2nd `  u
)  =  w )
134133csbeq1d 3038 . . . . . 6  |-  ( u  =  <. z ,  w >.  ->  [_ ( 2nd `  u
)  /  y ]_ Y  =  [_ w  / 
y ]_ Y )
135132, 134opeq12d 3749 . . . . 5  |-  ( u  =  <. z ,  w >.  ->  <. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >.  =  <. [_ z  /  x ]_ X ,  [_ w  / 
y ]_ Y >. )
136135mpompt 5910 . . . 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 2181 . . 3  |-  ( x  e.  A ,  y  e.  C  |->  <. X ,  Y >. )  =  ( u  e.  ( A  X.  C )  |->  <. [_ ( 1st `  u
)  /  x ]_ X ,  [_ ( 2nd `  u )  /  y ]_ Y >. )
138137f1ompt 5617 . 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 414 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 103    <-> wb 104    = wceq 1335    e. wcel 2128   A.wral 2435   E.wrex 2436   E!wreu 2437   [_csb 3031   <.cop 3563    |-> cmpt 4025    X. cxp 4583   -1-1-onto->wf1o 5168   ` cfv 5169    e. cmpo 5823   1stc1st 6083   2ndc2nd 6084
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-io 699  ax-5 1427  ax-7 1428  ax-gen 1429  ax-ie1 1473  ax-ie2 1474  ax-8 1484  ax-10 1485  ax-11 1486  ax-i12 1487  ax-bndl 1489  ax-4 1490  ax-17 1506  ax-i9 1510  ax-ial 1514  ax-i5r 1515  ax-13 2130  ax-14 2131  ax-ext 2139  ax-sep 4082  ax-pow 4135  ax-pr 4169  ax-un 4393
This theorem depends on definitions:  df-bi 116  df-3an 965  df-tru 1338  df-nf 1441  df-sb 1743  df-eu 2009  df-mo 2010  df-clab 2144  df-cleq 2150  df-clel 2153  df-nfc 2288  df-ral 2440  df-rex 2441  df-reu 2442  df-rab 2444  df-v 2714  df-sbc 2938  df-csb 3032  df-un 3106  df-in 3108  df-ss 3115  df-pw 3545  df-sn 3566  df-pr 3567  df-op 3569  df-uni 3773  df-iun 3851  df-br 3966  df-opab 4026  df-mpt 4027  df-id 4253  df-xp 4591  df-rel 4592  df-cnv 4593  df-co 4594  df-dm 4595  df-rn 4596  df-res 4597  df-ima 4598  df-iota 5134  df-fun 5171  df-fn 5172  df-f 5173  df-f1 5174  df-fo 5175  df-f1o 5176  df-fv 5177  df-oprab 5825  df-mpo 5826  df-1st 6085  df-2nd 6086
This theorem is referenced by:  xpen  6787
  Copyright terms: Public domain W3C validator