| 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 |  | oveq |  |-  ( m = ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) -> ( i m j ) = ( i ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) j ) ) | 
						
							| 6 | 5 | eqeq1d |  |-  ( m = ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) -> ( ( i m j ) = .0. <-> ( i ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) j ) = .0. ) ) | 
						
							| 7 | 6 | imbi2d |  |-  ( m = ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) -> ( ( i =/= j -> ( i m j ) = .0. ) <-> ( i =/= j -> ( i ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) j ) = .0. ) ) ) | 
						
							| 8 | 7 | 2ralbidv |  |-  ( m = ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) -> ( A. i e. N A. j e. N ( i =/= j -> ( i m j ) = .0. ) <-> A. i e. N A. j e. N ( i =/= j -> ( i ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) j ) = .0. ) ) ) | 
						
							| 9 |  | eqid |  |-  ( Base ` R ) = ( Base ` R ) | 
						
							| 10 |  | simpll |  |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) -> N e. Fin ) | 
						
							| 11 |  | simplr |  |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) -> R e. Ring ) | 
						
							| 12 | 11 | 3ad2ant1 |  |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ x e. N /\ y e. N ) -> R e. Ring ) | 
						
							| 13 |  | eqid |  |-  ( Base ` A ) = ( Base ` A ) | 
						
							| 14 |  | simp2 |  |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ x e. N /\ y e. N ) -> x e. N ) | 
						
							| 15 |  | simp3 |  |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ x e. N /\ y e. N ) -> y e. N ) | 
						
							| 16 | 1 13 3 4 | dmatmat |  |-  ( ( N e. Fin /\ R e. Ring ) -> ( X e. D -> X e. ( Base ` A ) ) ) | 
						
							| 17 | 16 | imp |  |-  ( ( ( N e. Fin /\ R e. Ring ) /\ X e. D ) -> X e. ( Base ` A ) ) | 
						
							| 18 | 17 | adantrr |  |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) -> X e. ( Base ` A ) ) | 
						
							| 19 | 18 | 3ad2ant1 |  |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ x e. N /\ y e. N ) -> X e. ( Base ` A ) ) | 
						
							| 20 | 1 9 13 14 15 19 | matecld |  |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ x e. N /\ y e. N ) -> ( x X y ) e. ( Base ` R ) ) | 
						
							| 21 | 1 13 3 4 | dmatmat |  |-  ( ( N e. Fin /\ R e. Ring ) -> ( Y e. D -> Y e. ( Base ` A ) ) ) | 
						
							| 22 | 21 | imp |  |-  ( ( ( N e. Fin /\ R e. Ring ) /\ Y e. D ) -> Y e. ( Base ` A ) ) | 
						
							| 23 | 22 | adantrl |  |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) -> Y e. ( Base ` A ) ) | 
						
							| 24 | 23 | 3ad2ant1 |  |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ x e. N /\ y e. N ) -> Y e. ( Base ` A ) ) | 
						
							| 25 | 1 9 13 14 15 24 | matecld |  |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ x e. N /\ y e. N ) -> ( x Y y ) e. ( Base ` R ) ) | 
						
							| 26 |  | eqid |  |-  ( .r ` R ) = ( .r ` R ) | 
						
							| 27 | 9 26 | ringcl |  |-  ( ( R e. Ring /\ ( x X y ) e. ( Base ` R ) /\ ( x Y y ) e. ( Base ` R ) ) -> ( ( x X y ) ( .r ` R ) ( x Y y ) ) e. ( Base ` R ) ) | 
						
							| 28 | 12 20 25 27 | syl3anc |  |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ x e. N /\ y e. N ) -> ( ( x X y ) ( .r ` R ) ( x Y y ) ) e. ( Base ` R ) ) | 
						
							| 29 | 9 3 | ring0cl |  |-  ( R e. Ring -> .0. e. ( Base ` R ) ) | 
						
							| 30 | 29 | adantl |  |-  ( ( N e. Fin /\ R e. Ring ) -> .0. e. ( Base ` R ) ) | 
						
							| 31 | 30 | adantr |  |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) -> .0. e. ( Base ` R ) ) | 
						
							| 32 | 31 | 3ad2ant1 |  |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ x e. N /\ y e. N ) -> .0. e. ( Base ` R ) ) | 
						
							| 33 | 28 32 | ifcld |  |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ x e. N /\ y e. N ) -> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) e. ( Base ` R ) ) | 
						
							| 34 | 1 9 2 10 11 33 | matbas2d |  |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) -> ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) e. B ) | 
						
							| 35 |  | eqidd |  |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ ( i e. N /\ j e. N ) ) /\ i =/= j ) -> ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) = ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) ) | 
						
							| 36 |  | eqeq12 |  |-  ( ( x = i /\ y = j ) -> ( x = y <-> i = j ) ) | 
						
							| 37 |  | oveq12 |  |-  ( ( x = i /\ y = j ) -> ( x X y ) = ( i X j ) ) | 
						
							| 38 |  | oveq12 |  |-  ( ( x = i /\ y = j ) -> ( x Y y ) = ( i Y j ) ) | 
						
							| 39 | 37 38 | oveq12d |  |-  ( ( x = i /\ y = j ) -> ( ( x X y ) ( .r ` R ) ( x Y y ) ) = ( ( i X j ) ( .r ` R ) ( i Y j ) ) ) | 
						
							| 40 | 36 39 | ifbieq1d |  |-  ( ( x = i /\ y = j ) -> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) = if ( i = j , ( ( i X j ) ( .r ` R ) ( i Y j ) ) , .0. ) ) | 
						
							| 41 | 40 | adantl |  |-  ( ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ ( i e. N /\ j e. N ) ) /\ i =/= j ) /\ ( x = i /\ y = j ) ) -> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) = if ( i = j , ( ( i X j ) ( .r ` R ) ( i Y j ) ) , .0. ) ) | 
						
							| 42 |  | simplrl |  |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ ( i e. N /\ j e. N ) ) /\ i =/= j ) -> i e. N ) | 
						
							| 43 |  | simplrr |  |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ ( i e. N /\ j e. N ) ) /\ i =/= j ) -> j e. N ) | 
						
							| 44 |  | ovex |  |-  ( ( i X j ) ( .r ` R ) ( i Y j ) ) e. _V | 
						
							| 45 | 3 | fvexi |  |-  .0. e. _V | 
						
							| 46 | 44 45 | ifex |  |-  if ( i = j , ( ( i X j ) ( .r ` R ) ( i Y j ) ) , .0. ) e. _V | 
						
							| 47 | 46 | a1i |  |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ ( i e. N /\ j e. N ) ) /\ i =/= j ) -> if ( i = j , ( ( i X j ) ( .r ` R ) ( i Y j ) ) , .0. ) e. _V ) | 
						
							| 48 | 35 41 42 43 47 | ovmpod |  |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ ( i e. N /\ j e. N ) ) /\ i =/= j ) -> ( i ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) j ) = if ( i = j , ( ( i X j ) ( .r ` R ) ( i Y j ) ) , .0. ) ) | 
						
							| 49 |  | ifnefalse |  |-  ( i =/= j -> if ( i = j , ( ( i X j ) ( .r ` R ) ( i Y j ) ) , .0. ) = .0. ) | 
						
							| 50 | 49 | adantl |  |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ ( i e. N /\ j e. N ) ) /\ i =/= j ) -> if ( i = j , ( ( i X j ) ( .r ` R ) ( i Y j ) ) , .0. ) = .0. ) | 
						
							| 51 | 48 50 | eqtrd |  |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ ( i e. N /\ j e. N ) ) /\ i =/= j ) -> ( i ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) j ) = .0. ) | 
						
							| 52 | 51 | ex |  |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) /\ ( i e. N /\ j e. N ) ) -> ( i =/= j -> ( i ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) j ) = .0. ) ) | 
						
							| 53 | 52 | ralrimivva |  |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) -> A. i e. N A. j e. N ( i =/= j -> ( i ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) j ) = .0. ) ) | 
						
							| 54 | 8 34 53 | elrabd |  |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) -> ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) e. { m e. B | A. i e. N A. j e. N ( i =/= j -> ( i m j ) = .0. ) } ) | 
						
							| 55 | 1 2 3 4 | dmatmul |  |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) -> ( X ( .r ` A ) Y ) = ( x e. N , y e. N |-> if ( x = y , ( ( x X y ) ( .r ` R ) ( x Y y ) ) , .0. ) ) ) | 
						
							| 56 | 1 2 3 4 | dmatval |  |-  ( ( N e. Fin /\ R e. Ring ) -> D = { m e. B | A. i e. N A. j e. N ( i =/= j -> ( i m j ) = .0. ) } ) | 
						
							| 57 | 56 | adantr |  |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) -> D = { m e. B | A. i e. N A. j e. N ( i =/= j -> ( i m j ) = .0. ) } ) | 
						
							| 58 | 54 55 57 | 3eltr4d |  |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( X e. D /\ Y e. D ) ) -> ( X ( .r ` A ) Y ) e. D ) |