| Step | Hyp | Ref | Expression | 
						
							| 1 |  | tmsxps.p | ⊢ 𝑃  =  ( dist ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) ) | 
						
							| 2 |  | tmsxps.1 | ⊢ ( 𝜑  →  𝑀  ∈  ( ∞Met ‘ 𝑋 ) ) | 
						
							| 3 |  | tmsxps.2 | ⊢ ( 𝜑  →  𝑁  ∈  ( ∞Met ‘ 𝑌 ) ) | 
						
							| 4 |  | eqid | ⊢ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) )  =  ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) | 
						
							| 5 |  | eqid | ⊢ ( Base ‘ ( toMetSp ‘ 𝑀 ) )  =  ( Base ‘ ( toMetSp ‘ 𝑀 ) ) | 
						
							| 6 |  | eqid | ⊢ ( Base ‘ ( toMetSp ‘ 𝑁 ) )  =  ( Base ‘ ( toMetSp ‘ 𝑁 ) ) | 
						
							| 7 |  | eqid | ⊢ ( toMetSp ‘ 𝑀 )  =  ( toMetSp ‘ 𝑀 ) | 
						
							| 8 | 7 | tmsxms | ⊢ ( 𝑀  ∈  ( ∞Met ‘ 𝑋 )  →  ( toMetSp ‘ 𝑀 )  ∈  ∞MetSp ) | 
						
							| 9 | 2 8 | syl | ⊢ ( 𝜑  →  ( toMetSp ‘ 𝑀 )  ∈  ∞MetSp ) | 
						
							| 10 |  | eqid | ⊢ ( toMetSp ‘ 𝑁 )  =  ( toMetSp ‘ 𝑁 ) | 
						
							| 11 | 10 | tmsxms | ⊢ ( 𝑁  ∈  ( ∞Met ‘ 𝑌 )  →  ( toMetSp ‘ 𝑁 )  ∈  ∞MetSp ) | 
						
							| 12 | 3 11 | syl | ⊢ ( 𝜑  →  ( toMetSp ‘ 𝑁 )  ∈  ∞MetSp ) | 
						
							| 13 | 4 5 6 9 12 1 | xpsdsfn2 | ⊢ ( 𝜑  →  𝑃  Fn  ( ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) )  ×  ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) ) ) ) | 
						
							| 14 |  | fnresdm | ⊢ ( 𝑃  Fn  ( ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) )  ×  ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) ) )  →  ( 𝑃  ↾  ( ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) )  ×  ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) ) ) )  =  𝑃 ) | 
						
							| 15 | 13 14 | syl | ⊢ ( 𝜑  →  ( 𝑃  ↾  ( ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) )  ×  ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) ) ) )  =  𝑃 ) | 
						
							| 16 | 4 | xpsxms | ⊢ ( ( ( toMetSp ‘ 𝑀 )  ∈  ∞MetSp  ∧  ( toMetSp ‘ 𝑁 )  ∈  ∞MetSp )  →  ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) )  ∈  ∞MetSp ) | 
						
							| 17 | 9 12 16 | syl2anc | ⊢ ( 𝜑  →  ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) )  ∈  ∞MetSp ) | 
						
							| 18 |  | eqid | ⊢ ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) )  =  ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) ) | 
						
							| 19 | 18 1 | xmsxmet2 | ⊢ ( ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) )  ∈  ∞MetSp  →  ( 𝑃  ↾  ( ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) )  ×  ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) ) ) )  ∈  ( ∞Met ‘ ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) ) ) ) | 
						
							| 20 | 17 19 | syl | ⊢ ( 𝜑  →  ( 𝑃  ↾  ( ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) )  ×  ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) ) ) )  ∈  ( ∞Met ‘ ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) ) ) ) | 
						
							| 21 | 15 20 | eqeltrrd | ⊢ ( 𝜑  →  𝑃  ∈  ( ∞Met ‘ ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) ) ) ) | 
						
							| 22 | 7 | tmsbas | ⊢ ( 𝑀  ∈  ( ∞Met ‘ 𝑋 )  →  𝑋  =  ( Base ‘ ( toMetSp ‘ 𝑀 ) ) ) | 
						
							| 23 | 2 22 | syl | ⊢ ( 𝜑  →  𝑋  =  ( Base ‘ ( toMetSp ‘ 𝑀 ) ) ) | 
						
							| 24 | 10 | tmsbas | ⊢ ( 𝑁  ∈  ( ∞Met ‘ 𝑌 )  →  𝑌  =  ( Base ‘ ( toMetSp ‘ 𝑁 ) ) ) | 
						
							| 25 | 3 24 | syl | ⊢ ( 𝜑  →  𝑌  =  ( Base ‘ ( toMetSp ‘ 𝑁 ) ) ) | 
						
							| 26 | 23 25 | xpeq12d | ⊢ ( 𝜑  →  ( 𝑋  ×  𝑌 )  =  ( ( Base ‘ ( toMetSp ‘ 𝑀 ) )  ×  ( Base ‘ ( toMetSp ‘ 𝑁 ) ) ) ) | 
						
							| 27 | 4 5 6 9 12 | xpsbas | ⊢ ( 𝜑  →  ( ( Base ‘ ( toMetSp ‘ 𝑀 ) )  ×  ( Base ‘ ( toMetSp ‘ 𝑁 ) ) )  =  ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) ) ) | 
						
							| 28 | 26 27 | eqtrd | ⊢ ( 𝜑  →  ( 𝑋  ×  𝑌 )  =  ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) ) ) | 
						
							| 29 | 28 | fveq2d | ⊢ ( 𝜑  →  ( ∞Met ‘ ( 𝑋  ×  𝑌 ) )  =  ( ∞Met ‘ ( Base ‘ ( ( toMetSp ‘ 𝑀 )  ×s  ( toMetSp ‘ 𝑁 ) ) ) ) ) | 
						
							| 30 | 21 29 | eleqtrrd | ⊢ ( 𝜑  →  𝑃  ∈  ( ∞Met ‘ ( 𝑋  ×  𝑌 ) ) ) |