Metamath Proof Explorer


Theorem xpf1o

Description: Construct a bijection on a Cartesian product given bijections on the factors. (Contributed by Mario Carneiro, 30-May-2015)

Ref Expression
Hypotheses xpf1o.1 φxAX:A1-1 ontoB
xpf1o.2 φyCY:C1-1 ontoD
Assertion xpf1o φxA,yCXY:A×C1-1 ontoB×D

Proof

Step Hyp Ref Expression
1 xpf1o.1 φxAX:A1-1 ontoB
2 xpf1o.2 φyCY:C1-1 ontoD
3 xp1st uA×C1stuA
4 3 adantl φuA×C1stuA
5 eqid xAX=xAX
6 5 f1ompt xAX:A1-1 ontoBxAXBzB∃!xAz=X
7 1 6 sylib φxAXBzB∃!xAz=X
8 7 simpld φxAXB
9 8 adantr φuA×CxAXB
10 nfcsb1v _x1stu/xX
11 10 nfel1 x1stu/xXB
12 csbeq1a x=1stuX=1stu/xX
13 12 eleq1d x=1stuXB1stu/xXB
14 11 13 rspc 1stuAxAXB1stu/xXB
15 4 9 14 sylc φuA×C1stu/xXB
16 xp2nd uA×C2nduC
17 16 adantl φuA×C2nduC
18 eqid yCY=yCY
19 18 f1ompt yCY:C1-1 ontoDyCYDwD∃!yCw=Y
20 2 19 sylib φyCYDwD∃!yCw=Y
21 20 simpld φyCYD
22 21 adantr φuA×CyCYD
23 nfcsb1v _y2ndu/yY
24 23 nfel1 y2ndu/yYD
25 csbeq1a y=2nduY=2ndu/yY
26 25 eleq1d y=2nduYD2ndu/yYD
27 24 26 rspc 2nduCyCYD2ndu/yYD
28 17 22 27 sylc φuA×C2ndu/yYD
29 15 28 opelxpd φuA×C1stu/xX2ndu/yYB×D
30 29 ralrimiva φuA×C1stu/xX2ndu/yYB×D
31 7 simprd φzB∃!xAz=X
32 31 r19.21bi φzB∃!xAz=X
33 reu6 ∃!xAz=XsAxAz=Xx=s
34 32 33 sylib φzBsAxAz=Xx=s
35 20 simprd φwD∃!yCw=Y
36 35 r19.21bi φwD∃!yCw=Y
37 reu6 ∃!yCw=YtCyCw=Yy=t
38 36 37 sylib φwDtCyCw=Yy=t
39 34 38 anim12dan φzBwDsAxAz=Xx=stCyCw=Yy=t
40 reeanv sAtCxAz=Xx=syCw=Yy=tsAxAz=Xx=stCyCw=Yy=t
41 pm4.38 z=Xx=sw=Yy=tz=Xw=Yx=sy=t
42 41 ex z=Xx=sw=Yy=tz=Xw=Yx=sy=t
43 42 ralimdv z=Xx=syCw=Yy=tyCz=Xw=Yx=sy=t
44 43 com12 yCw=Yy=tz=Xx=syCz=Xw=Yx=sy=t
45 44 ralimdv yCw=Yy=txAz=Xx=sxAyCz=Xw=Yx=sy=t
46 45 impcom xAz=Xx=syCw=Yy=txAyCz=Xw=Yx=sy=t
47 46 reximi tCxAz=Xx=syCw=Yy=ttCxAyCz=Xw=Yx=sy=t
48 47 reximi sAtCxAz=Xx=syCw=Yy=tsAtCxAyCz=Xw=Yx=sy=t
49 40 48 sylbir sAxAz=Xx=stCyCw=Yy=tsAtCxAyCz=Xw=Yx=sy=t
50 39 49 syl φzBwDsAtCxAyCz=Xw=Yx=sy=t
51 vex sV
52 vex tV
53 51 52 op1std u=st1stu=s
54 53 csbeq1d u=st1stu/xX=s/xX
55 54 eqeq2d u=stz=1stu/xXz=s/xX
56 51 52 op2ndd u=st2ndu=t
57 56 csbeq1d u=st2ndu/yY=t/yY
58 57 eqeq2d u=stw=2ndu/yYw=t/yY
59 55 58 anbi12d u=stz=1stu/xXw=2ndu/yYz=s/xXw=t/yY
60 eqeq1 u=stu=vst=v
61 59 60 bibi12d u=stz=1stu/xXw=2ndu/yYu=vz=s/xXw=t/yYst=v
62 61 ralxp uA×Cz=1stu/xXw=2ndu/yYu=vsAtCz=s/xXw=t/yYst=v
63 nfv syCz=Xw=Yxy=v
64 nfcv _xC
65 nfcsb1v _xs/xX
66 65 nfeq2 xz=s/xX
67 nfv xw=t/yY
68 66 67 nfan xz=s/xXw=t/yY
69 nfv xst=v
70 68 69 nfbi xz=s/xXw=t/yYst=v
71 64 70 nfralw xtCz=s/xXw=t/yYst=v
72 nfv tz=Xw=Yxy=v
73 nfv yz=X
74 nfcsb1v _yt/yY
75 74 nfeq2 yw=t/yY
76 73 75 nfan yz=Xw=t/yY
77 nfv yxt=v
78 76 77 nfbi yz=Xw=t/yYxt=v
79 csbeq1a y=tY=t/yY
80 79 eqeq2d y=tw=Yw=t/yY
81 80 anbi2d y=tz=Xw=Yz=Xw=t/yY
82 opeq2 y=txy=xt
83 82 eqeq1d y=txy=vxt=v
84 81 83 bibi12d y=tz=Xw=Yxy=vz=Xw=t/yYxt=v
85 72 78 84 cbvralw yCz=Xw=Yxy=vtCz=Xw=t/yYxt=v
86 csbeq1a x=sX=s/xX
87 86 eqeq2d x=sz=Xz=s/xX
88 87 anbi1d x=sz=Xw=t/yYz=s/xXw=t/yY
89 opeq1 x=sxt=st
90 89 eqeq1d x=sxt=vst=v
91 88 90 bibi12d x=sz=Xw=t/yYxt=vz=s/xXw=t/yYst=v
92 91 ralbidv x=stCz=Xw=t/yYxt=vtCz=s/xXw=t/yYst=v
93 85 92 bitrid x=syCz=Xw=Yxy=vtCz=s/xXw=t/yYst=v
94 63 71 93 cbvralw xAyCz=Xw=Yxy=vsAtCz=s/xXw=t/yYst=v
95 62 94 bitr4i uA×Cz=1stu/xXw=2ndu/yYu=vxAyCz=Xw=Yxy=v
96 eqeq2 v=stxy=vxy=st
97 vex xV
98 vex yV
99 97 98 opth xy=stx=sy=t
100 96 99 bitrdi v=stxy=vx=sy=t
101 100 bibi2d v=stz=Xw=Yxy=vz=Xw=Yx=sy=t
102 101 2ralbidv v=stxAyCz=Xw=Yxy=vxAyCz=Xw=Yx=sy=t
103 95 102 bitrid v=stuA×Cz=1stu/xXw=2ndu/yYu=vxAyCz=Xw=Yx=sy=t
104 103 rexxp vA×CuA×Cz=1stu/xXw=2ndu/yYu=vsAtCxAyCz=Xw=Yx=sy=t
105 50 104 sylibr φzBwDvA×CuA×Cz=1stu/xXw=2ndu/yYu=v
106 reu6 ∃!uA×Cz=1stu/xXw=2ndu/yYvA×CuA×Cz=1stu/xXw=2ndu/yYu=v
107 105 106 sylibr φzBwD∃!uA×Cz=1stu/xXw=2ndu/yY
108 107 ralrimivva φzBwD∃!uA×Cz=1stu/xXw=2ndu/yY
109 eqeq1 v=zwv=1stu/xX2ndu/yYzw=1stu/xX2ndu/yY
110 vex zV
111 vex wV
112 110 111 opth zw=1stu/xX2ndu/yYz=1stu/xXw=2ndu/yY
113 109 112 bitrdi v=zwv=1stu/xX2ndu/yYz=1stu/xXw=2ndu/yY
114 113 reubidv v=zw∃!uA×Cv=1stu/xX2ndu/yY∃!uA×Cz=1stu/xXw=2ndu/yY
115 114 ralxp vB×D∃!uA×Cv=1stu/xX2ndu/yYzBwD∃!uA×Cz=1stu/xXw=2ndu/yY
116 108 115 sylibr φvB×D∃!uA×Cv=1stu/xX2ndu/yY
117 nfcv _zXY
118 nfcv _wXY
119 nfcsb1v _xz/xX
120 nfcv _xw/yY
121 119 120 nfop _xz/xXw/yY
122 nfcv _yz/xX
123 nfcsb1v _yw/yY
124 122 123 nfop _yz/xXw/yY
125 csbeq1a x=zX=z/xX
126 csbeq1a y=wY=w/yY
127 opeq12 X=z/xXY=w/yYXY=z/xXw/yY
128 125 126 127 syl2an x=zy=wXY=z/xXw/yY
129 117 118 121 124 128 cbvmpo xA,yCXY=zA,wCz/xXw/yY
130 110 111 op1std u=zw1stu=z
131 130 csbeq1d u=zw1stu/xX=z/xX
132 110 111 op2ndd u=zw2ndu=w
133 132 csbeq1d u=zw2ndu/yY=w/yY
134 131 133 opeq12d u=zw1stu/xX2ndu/yY=z/xXw/yY
135 134 mpompt uA×C1stu/xX2ndu/yY=zA,wCz/xXw/yY
136 129 135 eqtr4i xA,yCXY=uA×C1stu/xX2ndu/yY
137 136 f1ompt xA,yCXY:A×C1-1 ontoB×DuA×C1stu/xX2ndu/yYB×DvB×D∃!uA×Cv=1stu/xX2ndu/yY
138 30 116 137 sylanbrc φxA,yCXY:A×C1-1 ontoB×D