| Step | 
						Hyp | 
						Ref | 
						Expression | 
					
						
							| 1 | 
							
								
							 | 
							dmatid.a | 
							 |-  A = ( N Mat R )  | 
						
						
							| 2 | 
							
								
							 | 
							dmatid.b | 
							 |-  B = ( Base ` A )  | 
						
						
							| 3 | 
							
								
							 | 
							dmatid.0 | 
							 |-  .0. = ( 0g ` R )  | 
						
						
							| 4 | 
							
								
							 | 
							dmatid.d | 
							 |-  D = ( N DMat R )  | 
						
						
							| 5 | 
							
								
							 | 
							dmatcrng.c | 
							 |-  C = ( A |`s D )  | 
						
						
							| 6 | 
							
								
							 | 
							crngring | 
							 |-  ( R e. CRing -> R e. Ring )  | 
						
						
							| 7 | 
							
								1 2 3 4
							 | 
							dmatsrng | 
							 |-  ( ( R e. Ring /\ N e. Fin ) -> D e. ( SubRing ` A ) )  | 
						
						
							| 8 | 
							
								6 7
							 | 
							sylan | 
							 |-  ( ( R e. CRing /\ N e. Fin ) -> D e. ( SubRing ` A ) )  | 
						
						
							| 9 | 
							
								5
							 | 
							subrgring | 
							 |-  ( D e. ( SubRing ` A ) -> C e. Ring )  | 
						
						
							| 10 | 
							
								8 9
							 | 
							syl | 
							 |-  ( ( R e. CRing /\ N e. Fin ) -> C e. Ring )  | 
						
						
							| 11 | 
							
								
							 | 
							simp1lr | 
							 |-  ( ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) /\ a e. N /\ b e. N ) -> R e. CRing )  | 
						
						
							| 12 | 
							
								
							 | 
							eqid | 
							 |-  ( Base ` R ) = ( Base ` R )  | 
						
						
							| 13 | 
							
								
							 | 
							eqid | 
							 |-  ( Base ` A ) = ( Base ` A )  | 
						
						
							| 14 | 
							
								
							 | 
							simp2 | 
							 |-  ( ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) /\ a e. N /\ b e. N ) -> a e. N )  | 
						
						
							| 15 | 
							
								
							 | 
							simp3 | 
							 |-  ( ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) /\ a e. N /\ b e. N ) -> b e. N )  | 
						
						
							| 16 | 
							
								1 13 3 4
							 | 
							dmatmat | 
							 |-  ( ( N e. Fin /\ R e. CRing ) -> ( x e. D -> x e. ( Base ` A ) ) )  | 
						
						
							| 17 | 
							
								16
							 | 
							imp | 
							 |-  ( ( ( N e. Fin /\ R e. CRing ) /\ x e. D ) -> x e. ( Base ` A ) )  | 
						
						
							| 18 | 
							
								17
							 | 
							adantrr | 
							 |-  ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) -> x e. ( Base ` A ) )  | 
						
						
							| 19 | 
							
								18
							 | 
							3ad2ant1 | 
							 |-  ( ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) /\ a e. N /\ b e. N ) -> x e. ( Base ` A ) )  | 
						
						
							| 20 | 
							
								1 12 13 14 15 19
							 | 
							matecld | 
							 |-  ( ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) /\ a e. N /\ b e. N ) -> ( a x b ) e. ( Base ` R ) )  | 
						
						
							| 21 | 
							
								1 13 3 4
							 | 
							dmatmat | 
							 |-  ( ( N e. Fin /\ R e. CRing ) -> ( y e. D -> y e. ( Base ` A ) ) )  | 
						
						
							| 22 | 
							
								21
							 | 
							imp | 
							 |-  ( ( ( N e. Fin /\ R e. CRing ) /\ y e. D ) -> y e. ( Base ` A ) )  | 
						
						
							| 23 | 
							
								22
							 | 
							adantrl | 
							 |-  ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) -> y e. ( Base ` A ) )  | 
						
						
							| 24 | 
							
								23
							 | 
							3ad2ant1 | 
							 |-  ( ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) /\ a e. N /\ b e. N ) -> y e. ( Base ` A ) )  | 
						
						
							| 25 | 
							
								1 12 13 14 15 24
							 | 
							matecld | 
							 |-  ( ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) /\ a e. N /\ b e. N ) -> ( a y b ) e. ( Base ` R ) )  | 
						
						
							| 26 | 
							
								
							 | 
							eqid | 
							 |-  ( .r ` R ) = ( .r ` R )  | 
						
						
							| 27 | 
							
								12 26
							 | 
							crngcom | 
							 |-  ( ( R e. CRing /\ ( a x b ) e. ( Base ` R ) /\ ( a y b ) e. ( Base ` R ) ) -> ( ( a x b ) ( .r ` R ) ( a y b ) ) = ( ( a y b ) ( .r ` R ) ( a x b ) ) )  | 
						
						
							| 28 | 
							
								11 20 25 27
							 | 
							syl3anc | 
							 |-  ( ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) /\ a e. N /\ b e. N ) -> ( ( a x b ) ( .r ` R ) ( a y b ) ) = ( ( a y b ) ( .r ` R ) ( a x b ) ) )  | 
						
						
							| 29 | 
							
								28
							 | 
							ifeq1d | 
							 |-  ( ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) /\ a e. N /\ b e. N ) -> if ( a = b , ( ( a x b ) ( .r ` R ) ( a y b ) ) , .0. ) = if ( a = b , ( ( a y b ) ( .r ` R ) ( a x b ) ) , .0. ) )  | 
						
						
							| 30 | 
							
								29
							 | 
							mpoeq3dva | 
							 |-  ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) -> ( a e. N , b e. N |-> if ( a = b , ( ( a x b ) ( .r ` R ) ( a y b ) ) , .0. ) ) = ( a e. N , b e. N |-> if ( a = b , ( ( a y b ) ( .r ` R ) ( a x b ) ) , .0. ) ) )  | 
						
						
							| 31 | 
							
								6
							 | 
							anim2i | 
							 |-  ( ( N e. Fin /\ R e. CRing ) -> ( N e. Fin /\ R e. Ring ) )  | 
						
						
							| 32 | 
							
								1 2 3 4
							 | 
							dmatmul | 
							 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( x e. D /\ y e. D ) ) -> ( x ( .r ` A ) y ) = ( a e. N , b e. N |-> if ( a = b , ( ( a x b ) ( .r ` R ) ( a y b ) ) , .0. ) ) )  | 
						
						
							| 33 | 
							
								31 32
							 | 
							sylan | 
							 |-  ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) -> ( x ( .r ` A ) y ) = ( a e. N , b e. N |-> if ( a = b , ( ( a x b ) ( .r ` R ) ( a y b ) ) , .0. ) ) )  | 
						
						
							| 34 | 
							
								
							 | 
							pm3.22 | 
							 |-  ( ( x e. D /\ y e. D ) -> ( y e. D /\ x e. D ) )  | 
						
						
							| 35 | 
							
								1 2 3 4
							 | 
							dmatmul | 
							 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( y e. D /\ x e. D ) ) -> ( y ( .r ` A ) x ) = ( a e. N , b e. N |-> if ( a = b , ( ( a y b ) ( .r ` R ) ( a x b ) ) , .0. ) ) )  | 
						
						
							| 36 | 
							
								31 34 35
							 | 
							syl2an | 
							 |-  ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) -> ( y ( .r ` A ) x ) = ( a e. N , b e. N |-> if ( a = b , ( ( a y b ) ( .r ` R ) ( a x b ) ) , .0. ) ) )  | 
						
						
							| 37 | 
							
								30 33 36
							 | 
							3eqtr4d | 
							 |-  ( ( ( N e. Fin /\ R e. CRing ) /\ ( x e. D /\ y e. D ) ) -> ( x ( .r ` A ) y ) = ( y ( .r ` A ) x ) )  | 
						
						
							| 38 | 
							
								37
							 | 
							ralrimivva | 
							 |-  ( ( N e. Fin /\ R e. CRing ) -> A. x e. D A. y e. D ( x ( .r ` A ) y ) = ( y ( .r ` A ) x ) )  | 
						
						
							| 39 | 
							
								38
							 | 
							ancoms | 
							 |-  ( ( R e. CRing /\ N e. Fin ) -> A. x e. D A. y e. D ( x ( .r ` A ) y ) = ( y ( .r ` A ) x ) )  | 
						
						
							| 40 | 
							
								5
							 | 
							subrgbas | 
							 |-  ( D e. ( SubRing ` A ) -> D = ( Base ` C ) )  | 
						
						
							| 41 | 
							
								40
							 | 
							eqcomd | 
							 |-  ( D e. ( SubRing ` A ) -> ( Base ` C ) = D )  | 
						
						
							| 42 | 
							
								
							 | 
							eqid | 
							 |-  ( .r ` A ) = ( .r ` A )  | 
						
						
							| 43 | 
							
								5 42
							 | 
							ressmulr | 
							 |-  ( D e. ( SubRing ` A ) -> ( .r ` A ) = ( .r ` C ) )  | 
						
						
							| 44 | 
							
								43
							 | 
							eqcomd | 
							 |-  ( D e. ( SubRing ` A ) -> ( .r ` C ) = ( .r ` A ) )  | 
						
						
							| 45 | 
							
								44
							 | 
							oveqd | 
							 |-  ( D e. ( SubRing ` A ) -> ( x ( .r ` C ) y ) = ( x ( .r ` A ) y ) )  | 
						
						
							| 46 | 
							
								44
							 | 
							oveqd | 
							 |-  ( D e. ( SubRing ` A ) -> ( y ( .r ` C ) x ) = ( y ( .r ` A ) x ) )  | 
						
						
							| 47 | 
							
								45 46
							 | 
							eqeq12d | 
							 |-  ( D e. ( SubRing ` A ) -> ( ( x ( .r ` C ) y ) = ( y ( .r ` C ) x ) <-> ( x ( .r ` A ) y ) = ( y ( .r ` A ) x ) ) )  | 
						
						
							| 48 | 
							
								41 47
							 | 
							raleqbidv | 
							 |-  ( D e. ( SubRing ` A ) -> ( A. y e. ( Base ` C ) ( x ( .r ` C ) y ) = ( y ( .r ` C ) x ) <-> A. y e. D ( x ( .r ` A ) y ) = ( y ( .r ` A ) x ) ) )  | 
						
						
							| 49 | 
							
								41 48
							 | 
							raleqbidv | 
							 |-  ( D e. ( SubRing ` A ) -> ( A. x e. ( Base ` C ) A. y e. ( Base ` C ) ( x ( .r ` C ) y ) = ( y ( .r ` C ) x ) <-> A. x e. D A. y e. D ( x ( .r ` A ) y ) = ( y ( .r ` A ) x ) ) )  | 
						
						
							| 50 | 
							
								8 49
							 | 
							syl | 
							 |-  ( ( R e. CRing /\ N e. Fin ) -> ( A. x e. ( Base ` C ) A. y e. ( Base ` C ) ( x ( .r ` C ) y ) = ( y ( .r ` C ) x ) <-> A. x e. D A. y e. D ( x ( .r ` A ) y ) = ( y ( .r ` A ) x ) ) )  | 
						
						
							| 51 | 
							
								39 50
							 | 
							mpbird | 
							 |-  ( ( R e. CRing /\ N e. Fin ) -> A. x e. ( Base ` C ) A. y e. ( Base ` C ) ( x ( .r ` C ) y ) = ( y ( .r ` C ) x ) )  | 
						
						
							| 52 | 
							
								
							 | 
							eqid | 
							 |-  ( Base ` C ) = ( Base ` C )  | 
						
						
							| 53 | 
							
								
							 | 
							eqid | 
							 |-  ( .r ` C ) = ( .r ` C )  | 
						
						
							| 54 | 
							
								52 53
							 | 
							iscrng2 | 
							 |-  ( C e. CRing <-> ( C e. Ring /\ A. x e. ( Base ` C ) A. y e. ( Base ` C ) ( x ( .r ` C ) y ) = ( y ( .r ` C ) x ) ) )  | 
						
						
							| 55 | 
							
								10 51 54
							 | 
							sylanbrc | 
							 |-  ( ( R e. CRing /\ N e. Fin ) -> C e. CRing )  |