Metamath Proof Explorer


Theorem smatvscl

Description: Closure of the scalar multiplication in the ring of scalar matrices. ( matvscl analog.) (Contributed by AV, 24-Dec-2019)

Ref Expression
Hypotheses smatvscl.k
|- K = ( Base ` R )
smatvscl.a
|- A = ( N Mat R )
smatvscl.s
|- S = ( N ScMat R )
smatvscl.t
|- .* = ( .s ` A )
Assertion smatvscl
|- ( ( ( N e. Fin /\ R e. Ring ) /\ ( C e. K /\ X e. S ) ) -> ( C .* X ) e. S )

Proof

Step Hyp Ref Expression
1 smatvscl.k
 |-  K = ( Base ` R )
2 smatvscl.a
 |-  A = ( N Mat R )
3 smatvscl.s
 |-  S = ( N ScMat R )
4 smatvscl.t
 |-  .* = ( .s ` A )
5 eqid
 |-  ( Base ` R ) = ( Base ` R )
6 eqid
 |-  ( Base ` A ) = ( Base ` A )
7 eqid
 |-  ( 1r ` A ) = ( 1r ` A )
8 5 2 6 7 4 3 scmatel
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( X e. S <-> ( X e. ( Base ` A ) /\ E. c e. ( Base ` R ) X = ( c .* ( 1r ` A ) ) ) ) )
9 oveq2
 |-  ( X = ( c .* ( 1r ` A ) ) -> ( C .* X ) = ( C .* ( c .* ( 1r ` A ) ) ) )
10 9 adantl
 |-  ( ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) /\ X = ( c .* ( 1r ` A ) ) ) -> ( C .* X ) = ( C .* ( c .* ( 1r ` A ) ) ) )
11 2 matlmod
 |-  ( ( N e. Fin /\ R e. Ring ) -> A e. LMod )
12 11 ad3antrrr
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> A e. LMod )
13 2 matsca2
 |-  ( ( N e. Fin /\ R e. Ring ) -> R = ( Scalar ` A ) )
14 13 fveq2d
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( Base ` R ) = ( Base ` ( Scalar ` A ) ) )
15 1 14 eqtrid
 |-  ( ( N e. Fin /\ R e. Ring ) -> K = ( Base ` ( Scalar ` A ) ) )
16 15 eleq2d
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( C e. K <-> C e. ( Base ` ( Scalar ` A ) ) ) )
17 16 biimpa
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) -> C e. ( Base ` ( Scalar ` A ) ) )
18 17 ad2antrr
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> C e. ( Base ` ( Scalar ` A ) ) )
19 13 ad2antrr
 |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) -> R = ( Scalar ` A ) )
20 19 fveq2d
 |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) -> ( Base ` R ) = ( Base ` ( Scalar ` A ) ) )
21 20 eleq2d
 |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) -> ( c e. ( Base ` R ) <-> c e. ( Base ` ( Scalar ` A ) ) ) )
22 21 biimpa
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> c e. ( Base ` ( Scalar ` A ) ) )
23 2 matring
 |-  ( ( N e. Fin /\ R e. Ring ) -> A e. Ring )
24 6 7 ringidcl
 |-  ( A e. Ring -> ( 1r ` A ) e. ( Base ` A ) )
25 23 24 syl
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( 1r ` A ) e. ( Base ` A ) )
26 25 ad3antrrr
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> ( 1r ` A ) e. ( Base ` A ) )
27 eqid
 |-  ( Scalar ` A ) = ( Scalar ` A )
28 eqid
 |-  ( Base ` ( Scalar ` A ) ) = ( Base ` ( Scalar ` A ) )
29 eqid
 |-  ( .r ` ( Scalar ` A ) ) = ( .r ` ( Scalar ` A ) )
30 6 27 4 28 29 lmodvsass
 |-  ( ( A e. LMod /\ ( C e. ( Base ` ( Scalar ` A ) ) /\ c e. ( Base ` ( Scalar ` A ) ) /\ ( 1r ` A ) e. ( Base ` A ) ) ) -> ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) = ( C .* ( c .* ( 1r ` A ) ) ) )
31 12 18 22 26 30 syl13anc
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) = ( C .* ( c .* ( 1r ` A ) ) ) )
32 31 eqcomd
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> ( C .* ( c .* ( 1r ` A ) ) ) = ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) )
33 simplll
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> ( N e. Fin /\ R e. Ring ) )
34 13 adantr
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) -> R = ( Scalar ` A ) )
35 34 eqcomd
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) -> ( Scalar ` A ) = R )
36 35 ad2antrr
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> ( Scalar ` A ) = R )
37 36 fveq2d
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> ( .r ` ( Scalar ` A ) ) = ( .r ` R ) )
38 37 oveqd
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> ( C ( .r ` ( Scalar ` A ) ) c ) = ( C ( .r ` R ) c ) )
39 simp-4r
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> R e. Ring )
40 simpllr
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> C e. K )
41 1 eqcomi
 |-  ( Base ` R ) = K
42 41 eleq2i
 |-  ( c e. ( Base ` R ) <-> c e. K )
43 42 bilani
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> c e. K )
44 eqid
 |-  ( .r ` R ) = ( .r ` R )
45 1 44 ringcl
 |-  ( ( R e. Ring /\ C e. K /\ c e. K ) -> ( C ( .r ` R ) c ) e. K )
46 39 40 43 45 syl3anc
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> ( C ( .r ` R ) c ) e. K )
47 38 46 eqeltrd
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> ( C ( .r ` ( Scalar ` A ) ) c ) e. K )
48 1 2 6 4 matvscl
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( ( C ( .r ` ( Scalar ` A ) ) c ) e. K /\ ( 1r ` A ) e. ( Base ` A ) ) ) -> ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) e. ( Base ` A ) )
49 33 47 26 48 syl12anc
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) e. ( Base ` A ) )
50 oveq1
 |-  ( ( C ( .r ` ( Scalar ` A ) ) c ) = e -> ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) = ( e .* ( 1r ` A ) ) )
51 50 eqcoms
 |-  ( e = ( C ( .r ` ( Scalar ` A ) ) c ) -> ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) = ( e .* ( 1r ` A ) ) )
52 51 adantl
 |-  ( ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) /\ e = ( C ( .r ` ( Scalar ` A ) ) c ) ) -> ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) = ( e .* ( 1r ` A ) ) )
53 47 52 rspcedeq2vd
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> E. e e. K ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) = ( e .* ( 1r ` A ) ) )
54 1 2 6 7 4 3 scmatel
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) e. S <-> ( ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) e. ( Base ` A ) /\ E. e e. K ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) = ( e .* ( 1r ` A ) ) ) ) )
55 54 ad3antrrr
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> ( ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) e. S <-> ( ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) e. ( Base ` A ) /\ E. e e. K ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) = ( e .* ( 1r ` A ) ) ) ) )
56 49 53 55 mpbir2and
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> ( ( C ( .r ` ( Scalar ` A ) ) c ) .* ( 1r ` A ) ) e. S )
57 32 56 eqeltrd
 |-  ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) -> ( C .* ( c .* ( 1r ` A ) ) ) e. S )
58 57 adantr
 |-  ( ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) /\ X = ( c .* ( 1r ` A ) ) ) -> ( C .* ( c .* ( 1r ` A ) ) ) e. S )
59 10 58 eqeltrd
 |-  ( ( ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) /\ c e. ( Base ` R ) ) /\ X = ( c .* ( 1r ` A ) ) ) -> ( C .* X ) e. S )
60 59 rexlimdva2
 |-  ( ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) /\ X e. ( Base ` A ) ) -> ( E. c e. ( Base ` R ) X = ( c .* ( 1r ` A ) ) -> ( C .* X ) e. S ) )
61 60 expimpd
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ C e. K ) -> ( ( X e. ( Base ` A ) /\ E. c e. ( Base ` R ) X = ( c .* ( 1r ` A ) ) ) -> ( C .* X ) e. S ) )
62 61 ex
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( C e. K -> ( ( X e. ( Base ` A ) /\ E. c e. ( Base ` R ) X = ( c .* ( 1r ` A ) ) ) -> ( C .* X ) e. S ) ) )
63 62 com23
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( ( X e. ( Base ` A ) /\ E. c e. ( Base ` R ) X = ( c .* ( 1r ` A ) ) ) -> ( C e. K -> ( C .* X ) e. S ) ) )
64 8 63 sylbid
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( X e. S -> ( C e. K -> ( C .* X ) e. S ) ) )
65 64 com23
 |-  ( ( N e. Fin /\ R e. Ring ) -> ( C e. K -> ( X e. S -> ( C .* X ) e. S ) ) )
66 65 imp32
 |-  ( ( ( N e. Fin /\ R e. Ring ) /\ ( C e. K /\ X e. S ) ) -> ( C .* X ) e. S )