Metamath Proof Explorer


Theorem scmatval

Description: The set of N x N scalar matrices over (a ring) R . (Contributed by AV, 18-Dec-2019)

Ref Expression
Hypotheses scmatval.k
|- K = ( Base ` R )
scmatval.a
|- A = ( N Mat R )
scmatval.b
|- B = ( Base ` A )
scmatval.1
|- .1. = ( 1r ` A )
scmatval.t
|- .x. = ( .s ` A )
scmatval.s
|- S = ( N ScMat R )
Assertion scmatval
|- ( ( N e. Fin /\ R e. V ) -> S = { m e. B | E. c e. K m = ( c .x. .1. ) } )

Proof

Step Hyp Ref Expression
1 scmatval.k
 |-  K = ( Base ` R )
2 scmatval.a
 |-  A = ( N Mat R )
3 scmatval.b
 |-  B = ( Base ` A )
4 scmatval.1
 |-  .1. = ( 1r ` A )
5 scmatval.t
 |-  .x. = ( .s ` A )
6 scmatval.s
 |-  S = ( N ScMat R )
7 df-scmat
 |-  ScMat = ( n e. Fin , r e. _V |-> [_ ( n Mat r ) / a ]_ { m e. ( Base ` a ) | E. c e. ( Base ` r ) m = ( c ( .s ` a ) ( 1r ` a ) ) } )
8 7 a1i
 |-  ( ( N e. Fin /\ R e. V ) -> ScMat = ( n e. Fin , r e. _V |-> [_ ( n Mat r ) / a ]_ { m e. ( Base ` a ) | E. c e. ( Base ` r ) m = ( c ( .s ` a ) ( 1r ` a ) ) } ) )
9 ovexd
 |-  ( ( ( N e. Fin /\ R e. V ) /\ ( n = N /\ r = R ) ) -> ( n Mat r ) e. _V )
10 fveq2
 |-  ( a = ( n Mat r ) -> ( Base ` a ) = ( Base ` ( n Mat r ) ) )
11 fveq2
 |-  ( a = ( n Mat r ) -> ( .s ` a ) = ( .s ` ( n Mat r ) ) )
12 eqidd
 |-  ( a = ( n Mat r ) -> c = c )
13 fveq2
 |-  ( a = ( n Mat r ) -> ( 1r ` a ) = ( 1r ` ( n Mat r ) ) )
14 11 12 13 oveq123d
 |-  ( a = ( n Mat r ) -> ( c ( .s ` a ) ( 1r ` a ) ) = ( c ( .s ` ( n Mat r ) ) ( 1r ` ( n Mat r ) ) ) )
15 14 eqeq2d
 |-  ( a = ( n Mat r ) -> ( m = ( c ( .s ` a ) ( 1r ` a ) ) <-> m = ( c ( .s ` ( n Mat r ) ) ( 1r ` ( n Mat r ) ) ) ) )
16 15 rexbidv
 |-  ( a = ( n Mat r ) -> ( E. c e. ( Base ` r ) m = ( c ( .s ` a ) ( 1r ` a ) ) <-> E. c e. ( Base ` r ) m = ( c ( .s ` ( n Mat r ) ) ( 1r ` ( n Mat r ) ) ) ) )
17 10 16 rabeqbidv
 |-  ( a = ( n Mat r ) -> { m e. ( Base ` a ) | E. c e. ( Base ` r ) m = ( c ( .s ` a ) ( 1r ` a ) ) } = { m e. ( Base ` ( n Mat r ) ) | E. c e. ( Base ` r ) m = ( c ( .s ` ( n Mat r ) ) ( 1r ` ( n Mat r ) ) ) } )
18 17 adantl
 |-  ( ( ( ( N e. Fin /\ R e. V ) /\ ( n = N /\ r = R ) ) /\ a = ( n Mat r ) ) -> { m e. ( Base ` a ) | E. c e. ( Base ` r ) m = ( c ( .s ` a ) ( 1r ` a ) ) } = { m e. ( Base ` ( n Mat r ) ) | E. c e. ( Base ` r ) m = ( c ( .s ` ( n Mat r ) ) ( 1r ` ( n Mat r ) ) ) } )
19 9 18 csbied
 |-  ( ( ( N e. Fin /\ R e. V ) /\ ( n = N /\ r = R ) ) -> [_ ( n Mat r ) / a ]_ { m e. ( Base ` a ) | E. c e. ( Base ` r ) m = ( c ( .s ` a ) ( 1r ` a ) ) } = { m e. ( Base ` ( n Mat r ) ) | E. c e. ( Base ` r ) m = ( c ( .s ` ( n Mat r ) ) ( 1r ` ( n Mat r ) ) ) } )
20 oveq12
 |-  ( ( n = N /\ r = R ) -> ( n Mat r ) = ( N Mat R ) )
21 20 fveq2d
 |-  ( ( n = N /\ r = R ) -> ( Base ` ( n Mat r ) ) = ( Base ` ( N Mat R ) ) )
22 2 fveq2i
 |-  ( Base ` A ) = ( Base ` ( N Mat R ) )
23 3 22 eqtri
 |-  B = ( Base ` ( N Mat R ) )
24 21 23 eqtr4di
 |-  ( ( n = N /\ r = R ) -> ( Base ` ( n Mat r ) ) = B )
25 fveq2
 |-  ( r = R -> ( Base ` r ) = ( Base ` R ) )
26 25 1 eqtr4di
 |-  ( r = R -> ( Base ` r ) = K )
27 26 adantl
 |-  ( ( n = N /\ r = R ) -> ( Base ` r ) = K )
28 20 fveq2d
 |-  ( ( n = N /\ r = R ) -> ( .s ` ( n Mat r ) ) = ( .s ` ( N Mat R ) ) )
29 2 fveq2i
 |-  ( .s ` A ) = ( .s ` ( N Mat R ) )
30 5 29 eqtri
 |-  .x. = ( .s ` ( N Mat R ) )
31 28 30 eqtr4di
 |-  ( ( n = N /\ r = R ) -> ( .s ` ( n Mat r ) ) = .x. )
32 eqidd
 |-  ( ( n = N /\ r = R ) -> c = c )
33 20 fveq2d
 |-  ( ( n = N /\ r = R ) -> ( 1r ` ( n Mat r ) ) = ( 1r ` ( N Mat R ) ) )
34 2 fveq2i
 |-  ( 1r ` A ) = ( 1r ` ( N Mat R ) )
35 4 34 eqtri
 |-  .1. = ( 1r ` ( N Mat R ) )
36 33 35 eqtr4di
 |-  ( ( n = N /\ r = R ) -> ( 1r ` ( n Mat r ) ) = .1. )
37 31 32 36 oveq123d
 |-  ( ( n = N /\ r = R ) -> ( c ( .s ` ( n Mat r ) ) ( 1r ` ( n Mat r ) ) ) = ( c .x. .1. ) )
38 37 eqeq2d
 |-  ( ( n = N /\ r = R ) -> ( m = ( c ( .s ` ( n Mat r ) ) ( 1r ` ( n Mat r ) ) ) <-> m = ( c .x. .1. ) ) )
39 27 38 rexeqbidv
 |-  ( ( n = N /\ r = R ) -> ( E. c e. ( Base ` r ) m = ( c ( .s ` ( n Mat r ) ) ( 1r ` ( n Mat r ) ) ) <-> E. c e. K m = ( c .x. .1. ) ) )
40 24 39 rabeqbidv
 |-  ( ( n = N /\ r = R ) -> { m e. ( Base ` ( n Mat r ) ) | E. c e. ( Base ` r ) m = ( c ( .s ` ( n Mat r ) ) ( 1r ` ( n Mat r ) ) ) } = { m e. B | E. c e. K m = ( c .x. .1. ) } )
41 40 adantl
 |-  ( ( ( N e. Fin /\ R e. V ) /\ ( n = N /\ r = R ) ) -> { m e. ( Base ` ( n Mat r ) ) | E. c e. ( Base ` r ) m = ( c ( .s ` ( n Mat r ) ) ( 1r ` ( n Mat r ) ) ) } = { m e. B | E. c e. K m = ( c .x. .1. ) } )
42 19 41 eqtrd
 |-  ( ( ( N e. Fin /\ R e. V ) /\ ( n = N /\ r = R ) ) -> [_ ( n Mat r ) / a ]_ { m e. ( Base ` a ) | E. c e. ( Base ` r ) m = ( c ( .s ` a ) ( 1r ` a ) ) } = { m e. B | E. c e. K m = ( c .x. .1. ) } )
43 simpl
 |-  ( ( N e. Fin /\ R e. V ) -> N e. Fin )
44 elex
 |-  ( R e. V -> R e. _V )
45 44 adantl
 |-  ( ( N e. Fin /\ R e. V ) -> R e. _V )
46 3 fvexi
 |-  B e. _V
47 46 rabex
 |-  { m e. B | E. c e. K m = ( c .x. .1. ) } e. _V
48 47 a1i
 |-  ( ( N e. Fin /\ R e. V ) -> { m e. B | E. c e. K m = ( c .x. .1. ) } e. _V )
49 8 42 43 45 48 ovmpod
 |-  ( ( N e. Fin /\ R e. V ) -> ( N ScMat R ) = { m e. B | E. c e. K m = ( c .x. .1. ) } )
50 6 49 syl5eq
 |-  ( ( N e. Fin /\ R e. V ) -> S = { m e. B | E. c e. K m = ( c .x. .1. ) } )