Metamath Proof Explorer


Theorem madurid

Description: Multiplying a matrix with its adjunct results in the identity matrix multiplied with the determinant of the matrix. See Proposition 4.16 in Lang p. 518. (Contributed by Stefan O'Rear, 16-Jul-2018)

Ref Expression
Hypotheses madurid.a 𝐴 = ( 𝑁 Mat 𝑅 )
madurid.b 𝐵 = ( Base ‘ 𝐴 )
madurid.j 𝐽 = ( 𝑁 maAdju 𝑅 )
madurid.d 𝐷 = ( 𝑁 maDet 𝑅 )
madurid.i 1 = ( 1r𝐴 )
madurid.t · = ( .r𝐴 )
madurid.s = ( ·𝑠𝐴 )
Assertion madurid ( ( 𝑀𝐵𝑅 ∈ CRing ) → ( 𝑀 · ( 𝐽𝑀 ) ) = ( ( 𝐷𝑀 ) 1 ) )

Proof

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 ffvelrnd ( ( 𝑀𝐵𝑅 ∈ 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 fovrnd ( ( ( ( 𝑀𝐵𝑅 ∈ 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 fovrnd ( ( ( ( ( 𝑀𝐵𝑅 ∈ CRing ) ∧ 𝑎𝑁𝑏𝑁 ) ∧ ¬ 𝑎 = 𝑏 ) ∧ 𝑐𝑁 ) → ( 𝑎 𝑀 𝑐 ) ∈ ( Base ‘ 𝑅 ) )
64 32 adantr ( ( ( ( 𝑀𝐵𝑅 ∈ CRing ) ∧ 𝑎𝑁𝑏𝑁 ) ∧ ¬ 𝑎 = 𝑏 ) → 𝑀 : ( 𝑁 × 𝑁 ) ⟶ ( Base ‘ 𝑅 ) )
65 64 fovrnda ( ( ( ( ( 𝑀𝐵𝑅 ∈ 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 ffvelrnd ( ( 𝑀𝐵𝑅 ∈ 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 ) )