| 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 ) |