Metamath Proof Explorer


Theorem fprodcom2

Description: Interchange order of multiplication. Note that B ( j ) and D ( k ) are not necessarily constant expressions. (Contributed by Scott Fenton, 1-Feb-2018) (Proof shortened by JJ, 2-Aug-2021)

Ref Expression
Hypotheses fprodcom2.1 φAFin
fprodcom2.2 φCFin
fprodcom2.3 φjABFin
fprodcom2.4 φjAkBkCjD
fprodcom2.5 φjAkBE
Assertion fprodcom2 φjAkBE=kCjDE

Proof

Step Hyp Ref Expression
1 fprodcom2.1 φAFin
2 fprodcom2.2 φCFin
3 fprodcom2.3 φjABFin
4 fprodcom2.4 φjAkBkCjD
5 fprodcom2.5 φjAkBE
6 relxp Relj×B
7 6 rgenw jARelj×B
8 reliun ReljAj×BjARelj×B
9 7 8 mpbir ReljAj×B
10 relcnv RelkCk×D-1
11 ancom x=jy=ky=kx=j
12 vex xV
13 vex yV
14 12 13 opth xy=jkx=jy=k
15 13 12 opth yx=kjy=kx=j
16 11 14 15 3bitr4i xy=jkyx=kj
17 16 a1i φxy=jkyx=kj
18 17 4 anbi12d φxy=jkjAkByx=kjkCjD
19 18 2exbidv φjkxy=jkjAkBjkyx=kjkCjD
20 eliunxp xyjAj×Bjkxy=jkjAkB
21 12 13 opelcnv xykCk×D-1yxkCk×D
22 eliunxp yxkCk×Dkjyx=kjkCjD
23 excom kjyx=kjkCjDjkyx=kjkCjD
24 21 22 23 3bitri xykCk×D-1jkyx=kjkCjD
25 19 20 24 3bitr4g φxyjAj×BxykCk×D-1
26 9 10 25 eqrelrdv φjAj×B=kCk×D-1
27 nfcv _xj×B
28 nfcv _jx
29 nfcsb1v _jx/jB
30 28 29 nfxp _jx×x/jB
31 sneq j=xj=x
32 csbeq1a j=xB=x/jB
33 31 32 xpeq12d j=xj×B=x×x/jB
34 27 30 33 cbviun jAj×B=xAx×x/jB
35 nfcv _yk×D
36 nfcv _ky
37 nfcsb1v _ky/kD
38 36 37 nfxp _ky×y/kD
39 sneq k=yk=y
40 csbeq1a k=yD=y/kD
41 39 40 xpeq12d k=yk×D=y×y/kD
42 35 38 41 cbviun kCk×D=yCy×y/kD
43 42 cnveqi kCk×D-1=yCy×y/kD-1
44 26 34 43 3eqtr3g φxAx×x/jB=yCy×y/kD-1
45 44 prodeq1d φzxAx×x/jB2ndz/k1stz/jE=zyCy×y/kD-12ndz/k1stz/jE
46 13 12 op1std w=yx1stw=y
47 46 csbeq1d w=yx1stw/k2ndw/jE=y/k2ndw/jE
48 13 12 op2ndd w=yx2ndw=x
49 48 csbeq1d w=yx2ndw/jE=x/jE
50 49 csbeq2dv w=yxy/k2ndw/jE=y/kx/jE
51 47 50 eqtrd w=yx1stw/k2ndw/jE=y/kx/jE
52 12 13 op2ndd z=xy2ndz=y
53 52 csbeq1d z=xy2ndz/k1stz/jE=y/k1stz/jE
54 12 13 op1std z=xy1stz=x
55 54 csbeq1d z=xy1stz/jE=x/jE
56 55 csbeq2dv z=xyy/k1stz/jE=y/kx/jE
57 53 56 eqtrd z=xy2ndz/k1stz/jE=y/kx/jE
58 snfi yFin
59 1 adantr φyCAFin
60 37 40 opeliunxp2f yxkCk×DyCxy/kD
61 21 60 sylbbr yCxy/kDxykCk×D-1
62 61 adantl φyCxy/kDxykCk×D-1
63 26 adantr φyCxy/kDjAj×B=kCk×D-1
64 62 63 eleqtrrd φyCxy/kDxyjAj×B
65 eliun xyjAj×BjAxyj×B
66 64 65 sylib φyCxy/kDjAxyj×B
67 simpr jAxyj×Bxyj×B
68 opelxp xyj×BxjyB
69 67 68 sylib jAxyj×BxjyB
70 69 simpld jAxyj×Bxj
71 elsni xjx=j
72 70 71 syl jAxyj×Bx=j
73 simpl jAxyj×BjA
74 72 73 eqeltrd jAxyj×BxA
75 74 rexlimiva jAxyj×BxA
76 66 75 syl φyCxy/kDxA
77 76 expr φyCxy/kDxA
78 77 ssrdv φyCy/kDA
79 59 78 ssfid φyCy/kDFin
80 xpfi yFiny/kDFiny×y/kDFin
81 58 79 80 sylancr φyCy×y/kDFin
82 81 ralrimiva φyCy×y/kDFin
83 iunfi CFinyCy×y/kDFinyCy×y/kDFin
84 2 82 83 syl2anc φyCy×y/kDFin
85 reliun RelyCy×y/kDyCRely×y/kD
86 relxp Rely×y/kD
87 86 a1i yCRely×y/kD
88 85 87 mprgbir RelyCy×y/kD
89 88 a1i φRelyCy×y/kD
90 csbeq1 x=2ndwx/jE=2ndw/jE
91 90 csbeq2dv x=2ndw1stw/kx/jE=1stw/k2ndw/jE
92 91 eleq1d x=2ndw1stw/kx/jE1stw/k2ndw/jE
93 csbeq1 y=1stwy/kD=1stw/kD
94 csbeq1 y=1stwy/kx/jE=1stw/kx/jE
95 94 eleq1d y=1stwy/kx/jE1stw/kx/jE
96 93 95 raleqbidv y=1stwxy/kDy/kx/jEx1stw/kD1stw/kx/jE
97 simpl φyCxy/kDφ
98 29 nfcri jyx/jB
99 71 equcomd xjj=x
100 99 32 syl xjB=x/jB
101 100 eleq2d xjyByx/jB
102 101 biimpa xjyByx/jB
103 68 102 sylbi xyj×Byx/jB
104 103 a1i jAxyj×Byx/jB
105 98 104 rexlimi jAxyj×Byx/jB
106 66 105 syl φyCxy/kDyx/jB
107 5 ralrimivva φjAkBE
108 nfcsb1v _jx/jE
109 108 nfel1 jx/jE
110 29 109 nfralw jkx/jBx/jE
111 csbeq1a j=xE=x/jE
112 111 eleq1d j=xEx/jE
113 32 112 raleqbidv j=xkBEkx/jBx/jE
114 110 113 rspc xAjAkBEkx/jBx/jE
115 107 114 mpan9 φxAkx/jBx/jE
116 nfcsb1v _ky/kx/jE
117 116 nfel1 ky/kx/jE
118 csbeq1a k=yx/jE=y/kx/jE
119 118 eleq1d k=yx/jEy/kx/jE
120 117 119 rspc yx/jBkx/jBx/jEy/kx/jE
121 115 120 syl5com φxAyx/jBy/kx/jE
122 121 impr φxAyx/jBy/kx/jE
123 97 76 106 122 syl12anc φyCxy/kDy/kx/jE
124 123 ralrimivva φyCxy/kDy/kx/jE
125 124 adantr φwyCy×y/kDyCxy/kDy/kx/jE
126 simpr φwyCy×y/kDwyCy×y/kD
127 eliun wyCy×y/kDyCwy×y/kD
128 126 127 sylib φwyCy×y/kDyCwy×y/kD
129 xp1st wy×y/kD1stwy
130 129 adantl yCwy×y/kD1stwy
131 elsni 1stwy1stw=y
132 130 131 syl yCwy×y/kD1stw=y
133 simpl yCwy×y/kDyC
134 132 133 eqeltrd yCwy×y/kD1stwC
135 134 rexlimiva yCwy×y/kD1stwC
136 128 135 syl φwyCy×y/kD1stwC
137 96 125 136 rspcdva φwyCy×y/kDx1stw/kD1stw/kx/jE
138 xp2nd wy×y/kD2ndwy/kD
139 138 adantl yCwy×y/kD2ndwy/kD
140 132 csbeq1d yCwy×y/kD1stw/kD=y/kD
141 139 140 eleqtrrd yCwy×y/kD2ndw1stw/kD
142 141 rexlimiva yCwy×y/kD2ndw1stw/kD
143 128 142 syl φwyCy×y/kD2ndw1stw/kD
144 92 137 143 rspcdva φwyCy×y/kD1stw/k2ndw/jE
145 51 57 84 89 144 fprodcnv φwyCy×y/kD1stw/k2ndw/jE=zyCy×y/kD-12ndz/k1stz/jE
146 45 145 eqtr4d φzxAx×x/jB2ndz/k1stz/jE=wyCy×y/kD1stw/k2ndw/jE
147 3 ralrimiva φjABFin
148 29 nfel1 jx/jBFin
149 32 eleq1d j=xBFinx/jBFin
150 148 149 rspc xAjABFinx/jBFin
151 147 150 mpan9 φxAx/jBFin
152 57 1 151 122 fprod2d φxAyx/jBy/kx/jE=zxAx×x/jB2ndz/k1stz/jE
153 51 2 79 123 fprod2d φyCxy/kDy/kx/jE=wyCy×y/kD1stw/k2ndw/jE
154 146 152 153 3eqtr4d φxAyx/jBy/kx/jE=yCxy/kDy/kx/jE
155 nfcv _xkBE
156 nfcv _jy
157 156 108 nfcsbw _jy/kx/jE
158 29 157 nfcprod _jyx/jBy/kx/jE
159 nfcv _yE
160 nfcsb1v _ky/kE
161 csbeq1a k=yE=y/kE
162 159 160 161 cbvprodi kBE=yBy/kE
163 111 csbeq2dv j=xy/kE=y/kx/jE
164 163 adantr j=xyBy/kE=y/kx/jE
165 32 164 prodeq12dv j=xyBy/kE=yx/jBy/kx/jE
166 162 165 eqtrid j=xkBE=yx/jBy/kx/jE
167 155 158 166 cbvprodi jAkBE=xAyx/jBy/kx/jE
168 nfcv _yjDE
169 37 116 nfcprod _kxy/kDy/kx/jE
170 nfcv _xE
171 170 108 111 cbvprodi jDE=xDx/jE
172 118 adantr k=yxDx/jE=y/kx/jE
173 40 172 prodeq12dv k=yxDx/jE=xy/kDy/kx/jE
174 171 173 eqtrid k=yjDE=xy/kDy/kx/jE
175 168 169 174 cbvprodi kCjDE=yCxy/kDy/kx/jE
176 154 167 175 3eqtr4g φjAkBE=kCjDE