Metamath Proof Explorer


Theorem matdim

Description: Dimension of the space of square matrices. (Contributed by Thierry Arnoux, 20-May-2023)

Ref Expression
Hypotheses matdim.a A=IMatR
matdim.n N=I
Assertion matdim IFinRDivRingdimA= N N

Proof

Step Hyp Ref Expression
1 matdim.a A=IMatR
2 matdim.n N=I
3 simpr IFinRDivRingRDivRing
4 simpl IFinRDivRingIFin
5 xpfi IFinIFinI×IFin
6 4 4 5 syl2anc IFinRDivRingI×IFin
7 eqid RfreeLModI×I=RfreeLModI×I
8 7 frlmdim RDivRingI×IFindimRfreeLModI×I=I×I
9 3 6 8 syl2anc IFinRDivRingdimRfreeLModI×I=I×I
10 1 7 matbas IFinRDivRingBaseRfreeLModI×I=BaseA
11 10 eqcomd IFinRDivRingBaseA=BaseRfreeLModI×I
12 eqidd IFinRDivRingBaseA=BaseA
13 ssidd IFinRDivRingBaseABaseA
14 1 7 matplusg IFinRDivRing+RfreeLModI×I=+A
15 14 oveqdr IFinRDivRingxBaseAyBaseAx+RfreeLModI×Iy=x+Ay
16 7 frlmlvec RDivRingI×IFinRfreeLModI×ILVec
17 3 6 16 syl2anc IFinRDivRingRfreeLModI×ILVec
18 lveclmod RfreeLModI×ILVecRfreeLModI×ILMod
19 17 18 syl IFinRDivRingRfreeLModI×ILMod
20 19 adantr IFinRDivRingxBaseScalarAyBaseARfreeLModI×ILMod
21 simprl IFinRDivRingxBaseScalarAyBaseAxBaseScalarA
22 1 7 matsca IFinRDivRingScalarRfreeLModI×I=ScalarA
23 22 fveq2d IFinRDivRingBaseScalarRfreeLModI×I=BaseScalarA
24 23 eqcomd IFinRDivRingBaseScalarA=BaseScalarRfreeLModI×I
25 24 adantr IFinRDivRingxBaseScalarAyBaseABaseScalarA=BaseScalarRfreeLModI×I
26 21 25 eleqtrd IFinRDivRingxBaseScalarAyBaseAxBaseScalarRfreeLModI×I
27 simprr IFinRDivRingxBaseScalarAyBaseAyBaseA
28 11 adantr IFinRDivRingxBaseScalarAyBaseABaseA=BaseRfreeLModI×I
29 27 28 eleqtrd IFinRDivRingxBaseScalarAyBaseAyBaseRfreeLModI×I
30 eqid BaseRfreeLModI×I=BaseRfreeLModI×I
31 eqid ScalarRfreeLModI×I=ScalarRfreeLModI×I
32 eqid RfreeLModI×I=RfreeLModI×I
33 eqid BaseScalarRfreeLModI×I=BaseScalarRfreeLModI×I
34 30 31 32 33 lmodvscl RfreeLModI×ILModxBaseScalarRfreeLModI×IyBaseRfreeLModI×IxRfreeLModI×IyBaseRfreeLModI×I
35 20 26 29 34 syl3anc IFinRDivRingxBaseScalarAyBaseAxRfreeLModI×IyBaseRfreeLModI×I
36 35 28 eleqtrrd IFinRDivRingxBaseScalarAyBaseAxRfreeLModI×IyBaseA
37 1 7 matvsca IFinRDivRingRfreeLModI×I=A
38 37 oveqdr IFinRDivRingxBaseScalarAyBaseAxRfreeLModI×Iy=xAy
39 eqid ScalarA=ScalarA
40 eqidd IFinRDivRingBaseScalarA=BaseScalarA
41 22 fveq2d IFinRDivRing+ScalarRfreeLModI×I=+ScalarA
42 41 oveqdr IFinRDivRingxBaseScalarAyBaseScalarAx+ScalarRfreeLModI×Iy=x+ScalarAy
43 drngring RDivRingRRing
44 1 matlmod IFinRRingALMod
45 43 44 sylan2 IFinRDivRingALMod
46 1 matsca2 IFinRDivRingR=ScalarA
47 46 3 eqeltrrd IFinRDivRingScalarADivRing
48 39 islvec ALVecALModScalarADivRing
49 45 47 48 sylanbrc IFinRDivRingALVec
50 11 12 13 15 36 38 31 39 24 40 42 17 49 dimpropd IFinRDivRingdimRfreeLModI×I=dimA
51 hashxp IFinIFinI×I=II
52 4 4 51 syl2anc IFinRDivRingI×I=II
53 9 50 52 3eqtr3d IFinRDivRingdimA=II
54 2 2 oveq12i N N=II
55 53 54 eqtr4di IFinRDivRingdimA= N N