| Step | Hyp | Ref | Expression | 
						
							| 1 |  | madurid.a | ⊢ 𝐴  =  ( 𝑁  Mat  𝑅 ) | 
						
							| 2 |  | madurid.b | ⊢ 𝐵  =  ( Base ‘ 𝐴 ) | 
						
							| 3 |  | madurid.j | ⊢ 𝐽  =  ( 𝑁  maAdju  𝑅 ) | 
						
							| 4 |  | madurid.d | ⊢ 𝐷  =  ( 𝑁  maDet  𝑅 ) | 
						
							| 5 |  | madurid.i | ⊢  1   =  ( 1r ‘ 𝐴 ) | 
						
							| 6 |  | madurid.t | ⊢  ·   =  ( .r ‘ 𝐴 ) | 
						
							| 7 |  | madurid.s | ⊢  ∙   =  (  ·𝑠  ‘ 𝐴 ) | 
						
							| 8 |  | eqid | ⊢ ( 𝑅  maMul  〈 𝑁 ,  𝑁 ,  𝑁 〉 )  =  ( 𝑅  maMul  〈 𝑁 ,  𝑁 ,  𝑁 〉 ) | 
						
							| 9 |  | eqid | ⊢ ( Base ‘ 𝑅 )  =  ( Base ‘ 𝑅 ) | 
						
							| 10 |  | eqid | ⊢ ( .r ‘ 𝑅 )  =  ( .r ‘ 𝑅 ) | 
						
							| 11 |  | simpr | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  𝑅  ∈  CRing ) | 
						
							| 12 | 1 2 | matrcl | ⊢ ( 𝑀  ∈  𝐵  →  ( 𝑁  ∈  Fin  ∧  𝑅  ∈  V ) ) | 
						
							| 13 | 12 | simpld | ⊢ ( 𝑀  ∈  𝐵  →  𝑁  ∈  Fin ) | 
						
							| 14 | 13 | adantr | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  𝑁  ∈  Fin ) | 
						
							| 15 | 1 9 2 | matbas2i | ⊢ ( 𝑀  ∈  𝐵  →  𝑀  ∈  ( ( Base ‘ 𝑅 )  ↑m  ( 𝑁  ×  𝑁 ) ) ) | 
						
							| 16 | 15 | adantr | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  𝑀  ∈  ( ( Base ‘ 𝑅 )  ↑m  ( 𝑁  ×  𝑁 ) ) ) | 
						
							| 17 | 1 3 2 | maduf | ⊢ ( 𝑅  ∈  CRing  →  𝐽 : 𝐵 ⟶ 𝐵 ) | 
						
							| 18 | 17 | adantl | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  𝐽 : 𝐵 ⟶ 𝐵 ) | 
						
							| 19 |  | simpl | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  𝑀  ∈  𝐵 ) | 
						
							| 20 | 18 19 | ffvelcdmd | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  ( 𝐽 ‘ 𝑀 )  ∈  𝐵 ) | 
						
							| 21 | 1 9 2 | matbas2i | ⊢ ( ( 𝐽 ‘ 𝑀 )  ∈  𝐵  →  ( 𝐽 ‘ 𝑀 )  ∈  ( ( Base ‘ 𝑅 )  ↑m  ( 𝑁  ×  𝑁 ) ) ) | 
						
							| 22 | 20 21 | syl | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  ( 𝐽 ‘ 𝑀 )  ∈  ( ( Base ‘ 𝑅 )  ↑m  ( 𝑁  ×  𝑁 ) ) ) | 
						
							| 23 | 8 9 10 11 14 14 14 16 22 | mamuval | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  ( 𝑀 ( 𝑅  maMul  〈 𝑁 ,  𝑁 ,  𝑁 〉 ) ( 𝐽 ‘ 𝑀 ) )  =  ( 𝑎  ∈  𝑁 ,  𝑏  ∈  𝑁  ↦  ( 𝑅  Σg  ( 𝑐  ∈  𝑁  ↦  ( ( 𝑎 𝑀 𝑐 ) ( .r ‘ 𝑅 ) ( 𝑐 ( 𝐽 ‘ 𝑀 ) 𝑏 ) ) ) ) ) ) | 
						
							| 24 | 1 8 | matmulr | ⊢ ( ( 𝑁  ∈  Fin  ∧  𝑅  ∈  CRing )  →  ( 𝑅  maMul  〈 𝑁 ,  𝑁 ,  𝑁 〉 )  =  ( .r ‘ 𝐴 ) ) | 
						
							| 25 | 13 24 | sylan | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  ( 𝑅  maMul  〈 𝑁 ,  𝑁 ,  𝑁 〉 )  =  ( .r ‘ 𝐴 ) ) | 
						
							| 26 | 25 6 | eqtr4di | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  ( 𝑅  maMul  〈 𝑁 ,  𝑁 ,  𝑁 〉 )  =   ·  ) | 
						
							| 27 | 26 | oveqd | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  ( 𝑀 ( 𝑅  maMul  〈 𝑁 ,  𝑁 ,  𝑁 〉 ) ( 𝐽 ‘ 𝑀 ) )  =  ( 𝑀  ·  ( 𝐽 ‘ 𝑀 ) ) ) | 
						
							| 28 |  | simp1l | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  →  𝑀  ∈  𝐵 ) | 
						
							| 29 |  | simp1r | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  →  𝑅  ∈  CRing ) | 
						
							| 30 |  | elmapi | ⊢ ( 𝑀  ∈  ( ( Base ‘ 𝑅 )  ↑m  ( 𝑁  ×  𝑁 ) )  →  𝑀 : ( 𝑁  ×  𝑁 ) ⟶ ( Base ‘ 𝑅 ) ) | 
						
							| 31 | 16 30 | syl | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  𝑀 : ( 𝑁  ×  𝑁 ) ⟶ ( Base ‘ 𝑅 ) ) | 
						
							| 32 | 31 | 3ad2ant1 | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  →  𝑀 : ( 𝑁  ×  𝑁 ) ⟶ ( Base ‘ 𝑅 ) ) | 
						
							| 33 | 32 | adantr | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  𝑐  ∈  𝑁 )  →  𝑀 : ( 𝑁  ×  𝑁 ) ⟶ ( Base ‘ 𝑅 ) ) | 
						
							| 34 |  | simpl2 | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  𝑐  ∈  𝑁 )  →  𝑎  ∈  𝑁 ) | 
						
							| 35 |  | simpr | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  𝑐  ∈  𝑁 )  →  𝑐  ∈  𝑁 ) | 
						
							| 36 | 33 34 35 | fovcdmd | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  𝑐  ∈  𝑁 )  →  ( 𝑎 𝑀 𝑐 )  ∈  ( Base ‘ 𝑅 ) ) | 
						
							| 37 |  | simp3 | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  →  𝑏  ∈  𝑁 ) | 
						
							| 38 | 1 3 2 4 10 9 28 29 36 37 | madugsum | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  →  ( 𝑅  Σg  ( 𝑐  ∈  𝑁  ↦  ( ( 𝑎 𝑀 𝑐 ) ( .r ‘ 𝑅 ) ( 𝑐 ( 𝐽 ‘ 𝑀 ) 𝑏 ) ) ) )  =  ( 𝐷 ‘ ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) ) ) | 
						
							| 39 |  | iftrue | ⊢ ( 𝑎  =  𝑏  →  if ( 𝑎  =  𝑏 ,  ( 𝐷 ‘ 𝑀 ) ,  ( 0g ‘ 𝑅 ) )  =  ( 𝐷 ‘ 𝑀 ) ) | 
						
							| 40 | 39 | adantl | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  =  𝑏 )  →  if ( 𝑎  =  𝑏 ,  ( 𝐷 ‘ 𝑀 ) ,  ( 0g ‘ 𝑅 ) )  =  ( 𝐷 ‘ 𝑀 ) ) | 
						
							| 41 | 31 | ffnd | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  𝑀  Fn  ( 𝑁  ×  𝑁 ) ) | 
						
							| 42 |  | fnov | ⊢ ( 𝑀  Fn  ( 𝑁  ×  𝑁 )  ↔  𝑀  =  ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  ( 𝑑 𝑀 𝑐 ) ) ) | 
						
							| 43 | 41 42 | sylib | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  𝑀  =  ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  ( 𝑑 𝑀 𝑐 ) ) ) | 
						
							| 44 | 43 | adantr | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  =  𝑏 )  →  𝑀  =  ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  ( 𝑑 𝑀 𝑐 ) ) ) | 
						
							| 45 |  | equtr2 | ⊢ ( ( 𝑎  =  𝑏  ∧  𝑑  =  𝑏 )  →  𝑎  =  𝑑 ) | 
						
							| 46 | 45 | oveq1d | ⊢ ( ( 𝑎  =  𝑏  ∧  𝑑  =  𝑏 )  →  ( 𝑎 𝑀 𝑐 )  =  ( 𝑑 𝑀 𝑐 ) ) | 
						
							| 47 | 46 | ifeq1da | ⊢ ( 𝑎  =  𝑏  →  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) )  =  if ( 𝑑  =  𝑏 ,  ( 𝑑 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) | 
						
							| 48 |  | ifid | ⊢ if ( 𝑑  =  𝑏 ,  ( 𝑑 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) )  =  ( 𝑑 𝑀 𝑐 ) | 
						
							| 49 | 47 48 | eqtrdi | ⊢ ( 𝑎  =  𝑏  →  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) )  =  ( 𝑑 𝑀 𝑐 ) ) | 
						
							| 50 | 49 | adantl | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  =  𝑏 )  →  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) )  =  ( 𝑑 𝑀 𝑐 ) ) | 
						
							| 51 | 50 | mpoeq3dv | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  =  𝑏 )  →  ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) )  =  ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  ( 𝑑 𝑀 𝑐 ) ) ) | 
						
							| 52 | 44 51 | eqtr4d | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  =  𝑏 )  →  𝑀  =  ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) ) | 
						
							| 53 | 52 | fveq2d | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  =  𝑏 )  →  ( 𝐷 ‘ 𝑀 )  =  ( 𝐷 ‘ ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) ) ) | 
						
							| 54 | 40 53 | eqtr2d | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  =  𝑏 )  →  ( 𝐷 ‘ ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) )  =  if ( 𝑎  =  𝑏 ,  ( 𝐷 ‘ 𝑀 ) ,  ( 0g ‘ 𝑅 ) ) ) | 
						
							| 55 | 54 | 3ad2antl1 | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  𝑎  =  𝑏 )  →  ( 𝐷 ‘ ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) )  =  if ( 𝑎  =  𝑏 ,  ( 𝐷 ‘ 𝑀 ) ,  ( 0g ‘ 𝑅 ) ) ) | 
						
							| 56 |  | eqid | ⊢ ( 0g ‘ 𝑅 )  =  ( 0g ‘ 𝑅 ) | 
						
							| 57 |  | simpl1r | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  →  𝑅  ∈  CRing ) | 
						
							| 58 | 14 | 3ad2ant1 | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  →  𝑁  ∈  Fin ) | 
						
							| 59 | 58 | adantr | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  →  𝑁  ∈  Fin ) | 
						
							| 60 | 32 | ad2antrr | ⊢ ( ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  ∧  𝑐  ∈  𝑁 )  →  𝑀 : ( 𝑁  ×  𝑁 ) ⟶ ( Base ‘ 𝑅 ) ) | 
						
							| 61 |  | simpll2 | ⊢ ( ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  ∧  𝑐  ∈  𝑁 )  →  𝑎  ∈  𝑁 ) | 
						
							| 62 |  | simpr | ⊢ ( ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  ∧  𝑐  ∈  𝑁 )  →  𝑐  ∈  𝑁 ) | 
						
							| 63 | 60 61 62 | fovcdmd | ⊢ ( ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  ∧  𝑐  ∈  𝑁 )  →  ( 𝑎 𝑀 𝑐 )  ∈  ( Base ‘ 𝑅 ) ) | 
						
							| 64 | 32 | adantr | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  →  𝑀 : ( 𝑁  ×  𝑁 ) ⟶ ( Base ‘ 𝑅 ) ) | 
						
							| 65 | 64 | fovcdmda | ⊢ ( ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  ∧  ( 𝑑  ∈  𝑁  ∧  𝑐  ∈  𝑁 ) )  →  ( 𝑑 𝑀 𝑐 )  ∈  ( Base ‘ 𝑅 ) ) | 
						
							| 66 | 65 | 3impb | ⊢ ( ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  ∧  𝑑  ∈  𝑁  ∧  𝑐  ∈  𝑁 )  →  ( 𝑑 𝑀 𝑐 )  ∈  ( Base ‘ 𝑅 ) ) | 
						
							| 67 |  | simpl3 | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  →  𝑏  ∈  𝑁 ) | 
						
							| 68 |  | simpl2 | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  →  𝑎  ∈  𝑁 ) | 
						
							| 69 |  | neqne | ⊢ ( ¬  𝑎  =  𝑏  →  𝑎  ≠  𝑏 ) | 
						
							| 70 | 69 | necomd | ⊢ ( ¬  𝑎  =  𝑏  →  𝑏  ≠  𝑎 ) | 
						
							| 71 | 70 | adantl | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  →  𝑏  ≠  𝑎 ) | 
						
							| 72 | 4 9 56 57 59 63 66 67 68 71 | mdetralt2 | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  →  ( 𝐷 ‘ ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  if ( 𝑑  =  𝑎 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) ) )  =  ( 0g ‘ 𝑅 ) ) | 
						
							| 73 |  | ifid | ⊢ if ( 𝑑  =  𝑎 ,  ( 𝑑 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) )  =  ( 𝑑 𝑀 𝑐 ) | 
						
							| 74 |  | oveq1 | ⊢ ( 𝑑  =  𝑎  →  ( 𝑑 𝑀 𝑐 )  =  ( 𝑎 𝑀 𝑐 ) ) | 
						
							| 75 | 74 | adantl | ⊢ ( ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  ∧  𝑑  =  𝑎 )  →  ( 𝑑 𝑀 𝑐 )  =  ( 𝑎 𝑀 𝑐 ) ) | 
						
							| 76 | 75 | ifeq1da | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  →  if ( 𝑑  =  𝑎 ,  ( 𝑑 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) )  =  if ( 𝑑  =  𝑎 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) | 
						
							| 77 | 73 76 | eqtr3id | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  →  ( 𝑑 𝑀 𝑐 )  =  if ( 𝑑  =  𝑎 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) | 
						
							| 78 | 77 | ifeq2d | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  →  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) )  =  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  if ( 𝑑  =  𝑎 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) ) | 
						
							| 79 | 78 | mpoeq3dv | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  →  ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) )  =  ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  if ( 𝑑  =  𝑎 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) ) ) | 
						
							| 80 | 79 | fveq2d | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  →  ( 𝐷 ‘ ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) )  =  ( 𝐷 ‘ ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  if ( 𝑑  =  𝑎 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) ) ) ) | 
						
							| 81 |  | iffalse | ⊢ ( ¬  𝑎  =  𝑏  →  if ( 𝑎  =  𝑏 ,  ( 𝐷 ‘ 𝑀 ) ,  ( 0g ‘ 𝑅 ) )  =  ( 0g ‘ 𝑅 ) ) | 
						
							| 82 | 81 | adantl | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  →  if ( 𝑎  =  𝑏 ,  ( 𝐷 ‘ 𝑀 ) ,  ( 0g ‘ 𝑅 ) )  =  ( 0g ‘ 𝑅 ) ) | 
						
							| 83 | 72 80 82 | 3eqtr4d | ⊢ ( ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  ∧  ¬  𝑎  =  𝑏 )  →  ( 𝐷 ‘ ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) )  =  if ( 𝑎  =  𝑏 ,  ( 𝐷 ‘ 𝑀 ) ,  ( 0g ‘ 𝑅 ) ) ) | 
						
							| 84 | 55 83 | pm2.61dan | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  →  ( 𝐷 ‘ ( 𝑑  ∈  𝑁 ,  𝑐  ∈  𝑁  ↦  if ( 𝑑  =  𝑏 ,  ( 𝑎 𝑀 𝑐 ) ,  ( 𝑑 𝑀 𝑐 ) ) ) )  =  if ( 𝑎  =  𝑏 ,  ( 𝐷 ‘ 𝑀 ) ,  ( 0g ‘ 𝑅 ) ) ) | 
						
							| 85 | 38 84 | eqtrd | ⊢ ( ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  ∧  𝑎  ∈  𝑁  ∧  𝑏  ∈  𝑁 )  →  ( 𝑅  Σg  ( 𝑐  ∈  𝑁  ↦  ( ( 𝑎 𝑀 𝑐 ) ( .r ‘ 𝑅 ) ( 𝑐 ( 𝐽 ‘ 𝑀 ) 𝑏 ) ) ) )  =  if ( 𝑎  =  𝑏 ,  ( 𝐷 ‘ 𝑀 ) ,  ( 0g ‘ 𝑅 ) ) ) | 
						
							| 86 | 85 | mpoeq3dva | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  ( 𝑎  ∈  𝑁 ,  𝑏  ∈  𝑁  ↦  ( 𝑅  Σg  ( 𝑐  ∈  𝑁  ↦  ( ( 𝑎 𝑀 𝑐 ) ( .r ‘ 𝑅 ) ( 𝑐 ( 𝐽 ‘ 𝑀 ) 𝑏 ) ) ) ) )  =  ( 𝑎  ∈  𝑁 ,  𝑏  ∈  𝑁  ↦  if ( 𝑎  =  𝑏 ,  ( 𝐷 ‘ 𝑀 ) ,  ( 0g ‘ 𝑅 ) ) ) ) | 
						
							| 87 | 5 | oveq2i | ⊢ ( ( 𝐷 ‘ 𝑀 )  ∙   1  )  =  ( ( 𝐷 ‘ 𝑀 )  ∙  ( 1r ‘ 𝐴 ) ) | 
						
							| 88 |  | crngring | ⊢ ( 𝑅  ∈  CRing  →  𝑅  ∈  Ring ) | 
						
							| 89 | 88 | adantl | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  𝑅  ∈  Ring ) | 
						
							| 90 | 4 1 2 9 | mdetf | ⊢ ( 𝑅  ∈  CRing  →  𝐷 : 𝐵 ⟶ ( Base ‘ 𝑅 ) ) | 
						
							| 91 | 90 | adantl | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  𝐷 : 𝐵 ⟶ ( Base ‘ 𝑅 ) ) | 
						
							| 92 | 91 19 | ffvelcdmd | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  ( 𝐷 ‘ 𝑀 )  ∈  ( Base ‘ 𝑅 ) ) | 
						
							| 93 | 1 9 7 56 | matsc | ⊢ ( ( 𝑁  ∈  Fin  ∧  𝑅  ∈  Ring  ∧  ( 𝐷 ‘ 𝑀 )  ∈  ( Base ‘ 𝑅 ) )  →  ( ( 𝐷 ‘ 𝑀 )  ∙  ( 1r ‘ 𝐴 ) )  =  ( 𝑎  ∈  𝑁 ,  𝑏  ∈  𝑁  ↦  if ( 𝑎  =  𝑏 ,  ( 𝐷 ‘ 𝑀 ) ,  ( 0g ‘ 𝑅 ) ) ) ) | 
						
							| 94 | 14 89 92 93 | syl3anc | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  ( ( 𝐷 ‘ 𝑀 )  ∙  ( 1r ‘ 𝐴 ) )  =  ( 𝑎  ∈  𝑁 ,  𝑏  ∈  𝑁  ↦  if ( 𝑎  =  𝑏 ,  ( 𝐷 ‘ 𝑀 ) ,  ( 0g ‘ 𝑅 ) ) ) ) | 
						
							| 95 | 87 94 | eqtrid | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  ( ( 𝐷 ‘ 𝑀 )  ∙   1  )  =  ( 𝑎  ∈  𝑁 ,  𝑏  ∈  𝑁  ↦  if ( 𝑎  =  𝑏 ,  ( 𝐷 ‘ 𝑀 ) ,  ( 0g ‘ 𝑅 ) ) ) ) | 
						
							| 96 | 86 95 | eqtr4d | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  ( 𝑎  ∈  𝑁 ,  𝑏  ∈  𝑁  ↦  ( 𝑅  Σg  ( 𝑐  ∈  𝑁  ↦  ( ( 𝑎 𝑀 𝑐 ) ( .r ‘ 𝑅 ) ( 𝑐 ( 𝐽 ‘ 𝑀 ) 𝑏 ) ) ) ) )  =  ( ( 𝐷 ‘ 𝑀 )  ∙   1  ) ) | 
						
							| 97 | 23 27 96 | 3eqtr3d | ⊢ ( ( 𝑀  ∈  𝐵  ∧  𝑅  ∈  CRing )  →  ( 𝑀  ·  ( 𝐽 ‘ 𝑀 ) )  =  ( ( 𝐷 ‘ 𝑀 )  ∙   1  ) ) |