Metamath Proof Explorer


Theorem mendring

Description: The module endomorphism algebra is a ring. (Contributed by Stefan O'Rear, 5-Sep-2015)

Ref Expression
Hypothesis mendassa.a A=MEndoM
Assertion mendring MLModARing

Proof

Step Hyp Ref Expression
1 mendassa.a A=MEndoM
2 1 mendbas MLMHomM=BaseA
3 2 a1i MLModMLMHomM=BaseA
4 eqidd MLMod+A=+A
5 eqidd MLModA=A
6 eqid +M=+M
7 eqid +A=+A
8 1 2 6 7 mendplusg xMLMHomMyMLMHomMx+Ay=x+Mfy
9 6 lmhmplusg xMLMHomMyMLMHomMx+MfyMLMHomM
10 8 9 eqeltrd xMLMHomMyMLMHomMx+AyMLMHomM
11 10 3adant1 MLModxMLMHomMyMLMHomMx+AyMLMHomM
12 simpr1 MLModxMLMHomMyMLMHomMzMLMHomMxMLMHomM
13 simpr2 MLModxMLMHomMyMLMHomMzMLMHomMyMLMHomM
14 12 13 9 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMx+MfyMLMHomM
15 simpr3 MLModxMLMHomMyMLMHomMzMLMHomMzMLMHomM
16 1 2 6 7 mendplusg x+MfyMLMHomMzMLMHomMx+Mfy+Az=x+Mfy+Mfz
17 14 15 16 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMx+Mfy+Az=x+Mfy+Mfz
18 12 13 8 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMx+Ay=x+Mfy
19 18 oveq1d MLModxMLMHomMyMLMHomMzMLMHomMx+Ay+Az=x+Mfy+Az
20 6 lmhmplusg yMLMHomMzMLMHomMy+MfzMLMHomM
21 13 15 20 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMy+MfzMLMHomM
22 1 2 6 7 mendplusg xMLMHomMy+MfzMLMHomMx+Ay+Mfz=x+Mfy+Mfz
23 12 21 22 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMx+Ay+Mfz=x+Mfy+Mfz
24 1 2 6 7 mendplusg yMLMHomMzMLMHomMy+Az=y+Mfz
25 13 15 24 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMy+Az=y+Mfz
26 25 oveq2d MLModxMLMHomMyMLMHomMzMLMHomMx+Ay+Az=x+Ay+Mfz
27 lmodgrp MLModMGrp
28 27 grpmndd MLModMMnd
29 28 adantr MLModxMLMHomMyMLMHomMzMLMHomMMMnd
30 eqid BaseM=BaseM
31 30 30 lmhmf xMLMHomMx:BaseMBaseM
32 12 31 syl MLModxMLMHomMyMLMHomMzMLMHomMx:BaseMBaseM
33 fvex BaseMV
34 33 33 elmap xBaseMBaseMx:BaseMBaseM
35 32 34 sylibr MLModxMLMHomMyMLMHomMzMLMHomMxBaseMBaseM
36 30 30 lmhmf yMLMHomMy:BaseMBaseM
37 13 36 syl MLModxMLMHomMyMLMHomMzMLMHomMy:BaseMBaseM
38 33 33 elmap yBaseMBaseMy:BaseMBaseM
39 37 38 sylibr MLModxMLMHomMyMLMHomMzMLMHomMyBaseMBaseM
40 30 30 lmhmf zMLMHomMz:BaseMBaseM
41 15 40 syl MLModxMLMHomMyMLMHomMzMLMHomMz:BaseMBaseM
42 33 33 elmap zBaseMBaseMz:BaseMBaseM
43 41 42 sylibr MLModxMLMHomMyMLMHomMzMLMHomMzBaseMBaseM
44 30 6 mndvass MMndxBaseMBaseMyBaseMBaseMzBaseMBaseMx+Mfy+Mfz=x+Mfy+Mfz
45 29 35 39 43 44 syl13anc MLModxMLMHomMyMLMHomMzMLMHomMx+Mfy+Mfz=x+Mfy+Mfz
46 23 26 45 3eqtr4d MLModxMLMHomMyMLMHomMzMLMHomMx+Ay+Az=x+Mfy+Mfz
47 17 19 46 3eqtr4d MLModxMLMHomMyMLMHomMzMLMHomMx+Ay+Az=x+Ay+Az
48 id MLModMLMod
49 eqidd MLModScalarM=ScalarM
50 eqid 0M=0M
51 eqid ScalarM=ScalarM
52 50 30 51 51 0lmhm MLModMLModScalarM=ScalarMBaseM×0MMLMHomM
53 48 48 49 52 syl3anc MLModBaseM×0MMLMHomM
54 1 2 6 7 mendplusg BaseM×0MMLMHomMxMLMHomMBaseM×0M+Ax=BaseM×0M+Mfx
55 53 54 sylan MLModxMLMHomMBaseM×0M+Ax=BaseM×0M+Mfx
56 31 34 sylibr xMLMHomMxBaseMBaseM
57 30 6 50 mndvlid MMndxBaseMBaseMBaseM×0M+Mfx=x
58 28 56 57 syl2an MLModxMLMHomMBaseM×0M+Mfx=x
59 55 58 eqtrd MLModxMLMHomMBaseM×0M+Ax=x
60 eqid invgM=invgM
61 60 invlmhm MLModinvgMMLMHomM
62 lmhmco invgMMLMHomMxMLMHomMinvgMxMLMHomM
63 61 62 sylan MLModxMLMHomMinvgMxMLMHomM
64 1 2 6 7 mendplusg invgMxMLMHomMxMLMHomMinvgMx+Ax=invgMx+Mfx
65 63 64 sylancom MLModxMLMHomMinvgMx+Ax=invgMx+Mfx
66 30 6 60 50 grpvlinv MGrpxBaseMBaseMinvgMx+Mfx=BaseM×0M
67 27 56 66 syl2an MLModxMLMHomMinvgMx+Mfx=BaseM×0M
68 65 67 eqtrd MLModxMLMHomMinvgMx+Ax=BaseM×0M
69 3 4 11 47 53 59 63 68 isgrpd MLModAGrp
70 eqid A=A
71 1 2 70 mendmulr xMLMHomMyMLMHomMxAy=xy
72 lmhmco xMLMHomMyMLMHomMxyMLMHomM
73 71 72 eqeltrd xMLMHomMyMLMHomMxAyMLMHomM
74 73 3adant1 MLModxMLMHomMyMLMHomMxAyMLMHomM
75 coass xyz=xyz
76 12 13 71 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMxAy=xy
77 76 oveq1d MLModxMLMHomMyMLMHomMzMLMHomMxAyAz=xyAz
78 12 13 72 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMxyMLMHomM
79 1 2 70 mendmulr xyMLMHomMzMLMHomMxyAz=xyz
80 78 15 79 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMxyAz=xyz
81 77 80 eqtrd MLModxMLMHomMyMLMHomMzMLMHomMxAyAz=xyz
82 1 2 70 mendmulr yMLMHomMzMLMHomMyAz=yz
83 13 15 82 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMyAz=yz
84 83 oveq2d MLModxMLMHomMyMLMHomMzMLMHomMxAyAz=xAyz
85 lmhmco yMLMHomMzMLMHomMyzMLMHomM
86 13 15 85 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMyzMLMHomM
87 1 2 70 mendmulr xMLMHomMyzMLMHomMxAyz=xyz
88 12 86 87 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMxAyz=xyz
89 84 88 eqtrd MLModxMLMHomMyMLMHomMzMLMHomMxAyAz=xyz
90 75 81 89 3eqtr4a MLModxMLMHomMyMLMHomMzMLMHomMxAyAz=xAyAz
91 1 2 70 mendmulr xMLMHomMy+MfzMLMHomMxAy+Mfz=xy+Mfz
92 12 21 91 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMxAy+Mfz=xy+Mfz
93 25 oveq2d MLModxMLMHomMyMLMHomMzMLMHomMxAy+Az=xAy+Mfz
94 lmhmco xMLMHomMzMLMHomMxzMLMHomM
95 12 15 94 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMxzMLMHomM
96 1 2 6 7 mendplusg xyMLMHomMxzMLMHomMxy+Axz=xy+Mfxz
97 78 95 96 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMxy+Axz=xy+Mfxz
98 1 2 70 mendmulr xMLMHomMzMLMHomMxAz=xz
99 12 15 98 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMxAz=xz
100 76 99 oveq12d MLModxMLMHomMyMLMHomMzMLMHomMxAy+AxAz=xy+Axz
101 lmghm xMLMHomMxMGrpHomM
102 ghmmhm xMGrpHomMxMMndHomM
103 12 101 102 3syl MLModxMLMHomMyMLMHomMzMLMHomMxMMndHomM
104 30 6 6 mhmvlin xMMndHomMyBaseMBaseMzBaseMBaseMxy+Mfz=xy+Mfxz
105 103 39 43 104 syl3anc MLModxMLMHomMyMLMHomMzMLMHomMxy+Mfz=xy+Mfxz
106 97 100 105 3eqtr4d MLModxMLMHomMyMLMHomMzMLMHomMxAy+AxAz=xy+Mfz
107 92 93 106 3eqtr4d MLModxMLMHomMyMLMHomMzMLMHomMxAy+Az=xAy+AxAz
108 1 2 70 mendmulr x+MfyMLMHomMzMLMHomMx+MfyAz=x+Mfyz
109 14 15 108 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMx+MfyAz=x+Mfyz
110 18 oveq1d MLModxMLMHomMyMLMHomMzMLMHomMx+AyAz=x+MfyAz
111 1 2 6 7 mendplusg xzMLMHomMyzMLMHomMxz+Ayz=xz+Mfyz
112 95 86 111 syl2anc MLModxMLMHomMyMLMHomMzMLMHomMxz+Ayz=xz+Mfyz
113 99 83 oveq12d MLModxMLMHomMyMLMHomMzMLMHomMxAz+AyAz=xz+Ayz
114 ffn x:BaseMBaseMxFnBaseM
115 12 31 114 3syl MLModxMLMHomMyMLMHomMzMLMHomMxFnBaseM
116 ffn y:BaseMBaseMyFnBaseM
117 13 36 116 3syl MLModxMLMHomMyMLMHomMzMLMHomMyFnBaseM
118 33 a1i MLModxMLMHomMyMLMHomMzMLMHomMBaseMV
119 inidm BaseMBaseM=BaseM
120 115 117 41 118 118 118 119 ofco MLModxMLMHomMyMLMHomMzMLMHomMx+Mfyz=xz+Mfyz
121 112 113 120 3eqtr4d MLModxMLMHomMyMLMHomMzMLMHomMxAz+AyAz=x+Mfyz
122 109 110 121 3eqtr4d MLModxMLMHomMyMLMHomMzMLMHomMx+AyAz=xAz+AyAz
123 30 idlmhm MLModIBaseMMLMHomM
124 1 2 70 mendmulr IBaseMMLMHomMxMLMHomMIBaseMAx=IBaseMx
125 123 124 sylan MLModxMLMHomMIBaseMAx=IBaseMx
126 31 adantl MLModxMLMHomMx:BaseMBaseM
127 fcoi2 x:BaseMBaseMIBaseMx=x
128 126 127 syl MLModxMLMHomMIBaseMx=x
129 125 128 eqtrd MLModxMLMHomMIBaseMAx=x
130 id xMLMHomMxMLMHomM
131 1 2 70 mendmulr xMLMHomMIBaseMMLMHomMxAIBaseM=xIBaseM
132 130 123 131 syl2anr MLModxMLMHomMxAIBaseM=xIBaseM
133 fcoi1 x:BaseMBaseMxIBaseM=x
134 126 133 syl MLModxMLMHomMxIBaseM=x
135 132 134 eqtrd MLModxMLMHomMxAIBaseM=x
136 3 4 5 69 74 90 107 122 123 129 135 isringd MLModARing