| Step | Hyp | Ref | Expression | 
						
							| 1 |  | xpsinv.t | ⊢ 𝑇  =  ( 𝑅  ×s  𝑆 ) | 
						
							| 2 |  | xpsinv.x | ⊢ 𝑋  =  ( Base ‘ 𝑅 ) | 
						
							| 3 |  | xpsinv.y | ⊢ 𝑌  =  ( Base ‘ 𝑆 ) | 
						
							| 4 |  | xpsinv.r | ⊢ ( 𝜑  →  𝑅  ∈  Grp ) | 
						
							| 5 |  | xpsinv.s | ⊢ ( 𝜑  →  𝑆  ∈  Grp ) | 
						
							| 6 |  | xpsinv.a | ⊢ ( 𝜑  →  𝐴  ∈  𝑋 ) | 
						
							| 7 |  | xpsinv.b | ⊢ ( 𝜑  →  𝐵  ∈  𝑌 ) | 
						
							| 8 |  | xpsgrpsub.c | ⊢ ( 𝜑  →  𝐶  ∈  𝑋 ) | 
						
							| 9 |  | xpsgrpsub.d | ⊢ ( 𝜑  →  𝐷  ∈  𝑌 ) | 
						
							| 10 |  | xpsgrpsub.m | ⊢  ·   =  ( -g ‘ 𝑅 ) | 
						
							| 11 |  | xpsgrpsub.n | ⊢  ×   =  ( -g ‘ 𝑆 ) | 
						
							| 12 |  | xpsgrpsub.o | ⊢  −   =  ( -g ‘ 𝑇 ) | 
						
							| 13 | 2 10 | grpsubcl | ⊢ ( ( 𝑅  ∈  Grp  ∧  𝐴  ∈  𝑋  ∧  𝐶  ∈  𝑋 )  →  ( 𝐴  ·  𝐶 )  ∈  𝑋 ) | 
						
							| 14 | 4 6 8 13 | syl3anc | ⊢ ( 𝜑  →  ( 𝐴  ·  𝐶 )  ∈  𝑋 ) | 
						
							| 15 | 3 11 | grpsubcl | ⊢ ( ( 𝑆  ∈  Grp  ∧  𝐵  ∈  𝑌  ∧  𝐷  ∈  𝑌 )  →  ( 𝐵  ×  𝐷 )  ∈  𝑌 ) | 
						
							| 16 | 5 7 9 15 | syl3anc | ⊢ ( 𝜑  →  ( 𝐵  ×  𝐷 )  ∈  𝑌 ) | 
						
							| 17 |  | eqid | ⊢ ( +g ‘ 𝑅 )  =  ( +g ‘ 𝑅 ) | 
						
							| 18 | 2 17 4 14 8 | grpcld | ⊢ ( 𝜑  →  ( ( 𝐴  ·  𝐶 ) ( +g ‘ 𝑅 ) 𝐶 )  ∈  𝑋 ) | 
						
							| 19 |  | eqid | ⊢ ( +g ‘ 𝑆 )  =  ( +g ‘ 𝑆 ) | 
						
							| 20 | 3 19 5 16 9 | grpcld | ⊢ ( 𝜑  →  ( ( 𝐵  ×  𝐷 ) ( +g ‘ 𝑆 ) 𝐷 )  ∈  𝑌 ) | 
						
							| 21 |  | eqid | ⊢ ( +g ‘ 𝑇 )  =  ( +g ‘ 𝑇 ) | 
						
							| 22 | 1 2 3 4 5 14 16 8 9 18 20 17 19 21 | xpsadd | ⊢ ( 𝜑  →  ( 〈 ( 𝐴  ·  𝐶 ) ,  ( 𝐵  ×  𝐷 ) 〉 ( +g ‘ 𝑇 ) 〈 𝐶 ,  𝐷 〉 )  =  〈 ( ( 𝐴  ·  𝐶 ) ( +g ‘ 𝑅 ) 𝐶 ) ,  ( ( 𝐵  ×  𝐷 ) ( +g ‘ 𝑆 ) 𝐷 ) 〉 ) | 
						
							| 23 | 2 17 10 | grpnpcan | ⊢ ( ( 𝑅  ∈  Grp  ∧  𝐴  ∈  𝑋  ∧  𝐶  ∈  𝑋 )  →  ( ( 𝐴  ·  𝐶 ) ( +g ‘ 𝑅 ) 𝐶 )  =  𝐴 ) | 
						
							| 24 | 4 6 8 23 | syl3anc | ⊢ ( 𝜑  →  ( ( 𝐴  ·  𝐶 ) ( +g ‘ 𝑅 ) 𝐶 )  =  𝐴 ) | 
						
							| 25 | 3 19 11 | grpnpcan | ⊢ ( ( 𝑆  ∈  Grp  ∧  𝐵  ∈  𝑌  ∧  𝐷  ∈  𝑌 )  →  ( ( 𝐵  ×  𝐷 ) ( +g ‘ 𝑆 ) 𝐷 )  =  𝐵 ) | 
						
							| 26 | 5 7 9 25 | syl3anc | ⊢ ( 𝜑  →  ( ( 𝐵  ×  𝐷 ) ( +g ‘ 𝑆 ) 𝐷 )  =  𝐵 ) | 
						
							| 27 | 24 26 | opeq12d | ⊢ ( 𝜑  →  〈 ( ( 𝐴  ·  𝐶 ) ( +g ‘ 𝑅 ) 𝐶 ) ,  ( ( 𝐵  ×  𝐷 ) ( +g ‘ 𝑆 ) 𝐷 ) 〉  =  〈 𝐴 ,  𝐵 〉 ) | 
						
							| 28 | 22 27 | eqtrd | ⊢ ( 𝜑  →  ( 〈 ( 𝐴  ·  𝐶 ) ,  ( 𝐵  ×  𝐷 ) 〉 ( +g ‘ 𝑇 ) 〈 𝐶 ,  𝐷 〉 )  =  〈 𝐴 ,  𝐵 〉 ) | 
						
							| 29 | 1 | xpsgrp | ⊢ ( ( 𝑅  ∈  Grp  ∧  𝑆  ∈  Grp )  →  𝑇  ∈  Grp ) | 
						
							| 30 | 4 5 29 | syl2anc | ⊢ ( 𝜑  →  𝑇  ∈  Grp ) | 
						
							| 31 | 6 7 | opelxpd | ⊢ ( 𝜑  →  〈 𝐴 ,  𝐵 〉  ∈  ( 𝑋  ×  𝑌 ) ) | 
						
							| 32 | 1 2 3 4 5 | xpsbas | ⊢ ( 𝜑  →  ( 𝑋  ×  𝑌 )  =  ( Base ‘ 𝑇 ) ) | 
						
							| 33 | 31 32 | eleqtrd | ⊢ ( 𝜑  →  〈 𝐴 ,  𝐵 〉  ∈  ( Base ‘ 𝑇 ) ) | 
						
							| 34 | 8 9 | opelxpd | ⊢ ( 𝜑  →  〈 𝐶 ,  𝐷 〉  ∈  ( 𝑋  ×  𝑌 ) ) | 
						
							| 35 | 34 32 | eleqtrd | ⊢ ( 𝜑  →  〈 𝐶 ,  𝐷 〉  ∈  ( Base ‘ 𝑇 ) ) | 
						
							| 36 | 14 16 | opelxpd | ⊢ ( 𝜑  →  〈 ( 𝐴  ·  𝐶 ) ,  ( 𝐵  ×  𝐷 ) 〉  ∈  ( 𝑋  ×  𝑌 ) ) | 
						
							| 37 | 36 32 | eleqtrd | ⊢ ( 𝜑  →  〈 ( 𝐴  ·  𝐶 ) ,  ( 𝐵  ×  𝐷 ) 〉  ∈  ( Base ‘ 𝑇 ) ) | 
						
							| 38 |  | eqid | ⊢ ( Base ‘ 𝑇 )  =  ( Base ‘ 𝑇 ) | 
						
							| 39 | 38 21 12 | grpsubadd | ⊢ ( ( 𝑇  ∈  Grp  ∧  ( 〈 𝐴 ,  𝐵 〉  ∈  ( Base ‘ 𝑇 )  ∧  〈 𝐶 ,  𝐷 〉  ∈  ( Base ‘ 𝑇 )  ∧  〈 ( 𝐴  ·  𝐶 ) ,  ( 𝐵  ×  𝐷 ) 〉  ∈  ( Base ‘ 𝑇 ) ) )  →  ( ( 〈 𝐴 ,  𝐵 〉  −  〈 𝐶 ,  𝐷 〉 )  =  〈 ( 𝐴  ·  𝐶 ) ,  ( 𝐵  ×  𝐷 ) 〉  ↔  ( 〈 ( 𝐴  ·  𝐶 ) ,  ( 𝐵  ×  𝐷 ) 〉 ( +g ‘ 𝑇 ) 〈 𝐶 ,  𝐷 〉 )  =  〈 𝐴 ,  𝐵 〉 ) ) | 
						
							| 40 | 30 33 35 37 39 | syl13anc | ⊢ ( 𝜑  →  ( ( 〈 𝐴 ,  𝐵 〉  −  〈 𝐶 ,  𝐷 〉 )  =  〈 ( 𝐴  ·  𝐶 ) ,  ( 𝐵  ×  𝐷 ) 〉  ↔  ( 〈 ( 𝐴  ·  𝐶 ) ,  ( 𝐵  ×  𝐷 ) 〉 ( +g ‘ 𝑇 ) 〈 𝐶 ,  𝐷 〉 )  =  〈 𝐴 ,  𝐵 〉 ) ) | 
						
							| 41 | 28 40 | mpbird | ⊢ ( 𝜑  →  ( 〈 𝐴 ,  𝐵 〉  −  〈 𝐶 ,  𝐷 〉 )  =  〈 ( 𝐴  ·  𝐶 ) ,  ( 𝐵  ×  𝐷 ) 〉 ) |