Step |
Hyp |
Ref |
Expression |
1 |
|
chpmatfval.c |
|- C = ( N CharPlyMat R ) |
2 |
|
chpmatfval.a |
|- A = ( N Mat R ) |
3 |
|
chpmatfval.b |
|- B = ( Base ` A ) |
4 |
|
chpmatfval.p |
|- P = ( Poly1 ` R ) |
5 |
|
chpmatfval.y |
|- Y = ( N Mat P ) |
6 |
|
chpmatfval.d |
|- D = ( N maDet P ) |
7 |
|
chpmatfval.s |
|- .- = ( -g ` Y ) |
8 |
|
chpmatfval.x |
|- X = ( var1 ` R ) |
9 |
|
chpmatfval.m |
|- .x. = ( .s ` Y ) |
10 |
|
chpmatfval.t |
|- T = ( N matToPolyMat R ) |
11 |
|
chpmatfval.i |
|- .1. = ( 1r ` Y ) |
12 |
|
df-chpmat |
|- CharPlyMat = ( n e. Fin , r e. _V |-> ( m e. ( Base ` ( n Mat r ) ) |-> ( ( n maDet ( Poly1 ` r ) ) ` ( ( ( var1 ` r ) ( .s ` ( n Mat ( Poly1 ` r ) ) ) ( 1r ` ( n Mat ( Poly1 ` r ) ) ) ) ( -g ` ( n Mat ( Poly1 ` r ) ) ) ( ( n matToPolyMat r ) ` m ) ) ) ) ) |
13 |
12
|
a1i |
|- ( ( N e. Fin /\ R e. V ) -> CharPlyMat = ( n e. Fin , r e. _V |-> ( m e. ( Base ` ( n Mat r ) ) |-> ( ( n maDet ( Poly1 ` r ) ) ` ( ( ( var1 ` r ) ( .s ` ( n Mat ( Poly1 ` r ) ) ) ( 1r ` ( n Mat ( Poly1 ` r ) ) ) ) ( -g ` ( n Mat ( Poly1 ` r ) ) ) ( ( n matToPolyMat r ) ` m ) ) ) ) ) ) |
14 |
|
oveq12 |
|- ( ( n = N /\ r = R ) -> ( n Mat r ) = ( N Mat R ) ) |
15 |
14 2
|
eqtr4di |
|- ( ( n = N /\ r = R ) -> ( n Mat r ) = A ) |
16 |
15
|
fveq2d |
|- ( ( n = N /\ r = R ) -> ( Base ` ( n Mat r ) ) = ( Base ` A ) ) |
17 |
16 3
|
eqtr4di |
|- ( ( n = N /\ r = R ) -> ( Base ` ( n Mat r ) ) = B ) |
18 |
|
simpl |
|- ( ( n = N /\ r = R ) -> n = N ) |
19 |
|
simpr |
|- ( ( n = N /\ r = R ) -> r = R ) |
20 |
19
|
fveq2d |
|- ( ( n = N /\ r = R ) -> ( Poly1 ` r ) = ( Poly1 ` R ) ) |
21 |
20 4
|
eqtr4di |
|- ( ( n = N /\ r = R ) -> ( Poly1 ` r ) = P ) |
22 |
18 21
|
oveq12d |
|- ( ( n = N /\ r = R ) -> ( n maDet ( Poly1 ` r ) ) = ( N maDet P ) ) |
23 |
22 6
|
eqtr4di |
|- ( ( n = N /\ r = R ) -> ( n maDet ( Poly1 ` r ) ) = D ) |
24 |
|
fveq2 |
|- ( r = R -> ( Poly1 ` r ) = ( Poly1 ` R ) ) |
25 |
24
|
adantl |
|- ( ( n = N /\ r = R ) -> ( Poly1 ` r ) = ( Poly1 ` R ) ) |
26 |
25 4
|
eqtr4di |
|- ( ( n = N /\ r = R ) -> ( Poly1 ` r ) = P ) |
27 |
18 26
|
oveq12d |
|- ( ( n = N /\ r = R ) -> ( n Mat ( Poly1 ` r ) ) = ( N Mat P ) ) |
28 |
27 5
|
eqtr4di |
|- ( ( n = N /\ r = R ) -> ( n Mat ( Poly1 ` r ) ) = Y ) |
29 |
28
|
fveq2d |
|- ( ( n = N /\ r = R ) -> ( -g ` ( n Mat ( Poly1 ` r ) ) ) = ( -g ` Y ) ) |
30 |
29 7
|
eqtr4di |
|- ( ( n = N /\ r = R ) -> ( -g ` ( n Mat ( Poly1 ` r ) ) ) = .- ) |
31 |
28
|
fveq2d |
|- ( ( n = N /\ r = R ) -> ( .s ` ( n Mat ( Poly1 ` r ) ) ) = ( .s ` Y ) ) |
32 |
31 9
|
eqtr4di |
|- ( ( n = N /\ r = R ) -> ( .s ` ( n Mat ( Poly1 ` r ) ) ) = .x. ) |
33 |
|
fveq2 |
|- ( r = R -> ( var1 ` r ) = ( var1 ` R ) ) |
34 |
33 8
|
eqtr4di |
|- ( r = R -> ( var1 ` r ) = X ) |
35 |
34
|
adantl |
|- ( ( n = N /\ r = R ) -> ( var1 ` r ) = X ) |
36 |
28
|
fveq2d |
|- ( ( n = N /\ r = R ) -> ( 1r ` ( n Mat ( Poly1 ` r ) ) ) = ( 1r ` Y ) ) |
37 |
36 11
|
eqtr4di |
|- ( ( n = N /\ r = R ) -> ( 1r ` ( n Mat ( Poly1 ` r ) ) ) = .1. ) |
38 |
32 35 37
|
oveq123d |
|- ( ( n = N /\ r = R ) -> ( ( var1 ` r ) ( .s ` ( n Mat ( Poly1 ` r ) ) ) ( 1r ` ( n Mat ( Poly1 ` r ) ) ) ) = ( X .x. .1. ) ) |
39 |
|
oveq12 |
|- ( ( n = N /\ r = R ) -> ( n matToPolyMat r ) = ( N matToPolyMat R ) ) |
40 |
39 10
|
eqtr4di |
|- ( ( n = N /\ r = R ) -> ( n matToPolyMat r ) = T ) |
41 |
40
|
fveq1d |
|- ( ( n = N /\ r = R ) -> ( ( n matToPolyMat r ) ` m ) = ( T ` m ) ) |
42 |
30 38 41
|
oveq123d |
|- ( ( n = N /\ r = R ) -> ( ( ( var1 ` r ) ( .s ` ( n Mat ( Poly1 ` r ) ) ) ( 1r ` ( n Mat ( Poly1 ` r ) ) ) ) ( -g ` ( n Mat ( Poly1 ` r ) ) ) ( ( n matToPolyMat r ) ` m ) ) = ( ( X .x. .1. ) .- ( T ` m ) ) ) |
43 |
23 42
|
fveq12d |
|- ( ( n = N /\ r = R ) -> ( ( n maDet ( Poly1 ` r ) ) ` ( ( ( var1 ` r ) ( .s ` ( n Mat ( Poly1 ` r ) ) ) ( 1r ` ( n Mat ( Poly1 ` r ) ) ) ) ( -g ` ( n Mat ( Poly1 ` r ) ) ) ( ( n matToPolyMat r ) ` m ) ) ) = ( D ` ( ( X .x. .1. ) .- ( T ` m ) ) ) ) |
44 |
17 43
|
mpteq12dv |
|- ( ( n = N /\ r = R ) -> ( m e. ( Base ` ( n Mat r ) ) |-> ( ( n maDet ( Poly1 ` r ) ) ` ( ( ( var1 ` r ) ( .s ` ( n Mat ( Poly1 ` r ) ) ) ( 1r ` ( n Mat ( Poly1 ` r ) ) ) ) ( -g ` ( n Mat ( Poly1 ` r ) ) ) ( ( n matToPolyMat r ) ` m ) ) ) ) = ( m e. B |-> ( D ` ( ( X .x. .1. ) .- ( T ` m ) ) ) ) ) |
45 |
44
|
adantl |
|- ( ( ( N e. Fin /\ R e. V ) /\ ( n = N /\ r = R ) ) -> ( m e. ( Base ` ( n Mat r ) ) |-> ( ( n maDet ( Poly1 ` r ) ) ` ( ( ( var1 ` r ) ( .s ` ( n Mat ( Poly1 ` r ) ) ) ( 1r ` ( n Mat ( Poly1 ` r ) ) ) ) ( -g ` ( n Mat ( Poly1 ` r ) ) ) ( ( n matToPolyMat r ) ` m ) ) ) ) = ( m e. B |-> ( D ` ( ( X .x. .1. ) .- ( T ` m ) ) ) ) ) |
46 |
|
simpl |
|- ( ( N e. Fin /\ R e. V ) -> N e. Fin ) |
47 |
|
elex |
|- ( R e. V -> R e. _V ) |
48 |
47
|
adantl |
|- ( ( N e. Fin /\ R e. V ) -> R e. _V ) |
49 |
3
|
fvexi |
|- B e. _V |
50 |
|
mptexg |
|- ( B e. _V -> ( m e. B |-> ( D ` ( ( X .x. .1. ) .- ( T ` m ) ) ) ) e. _V ) |
51 |
49 50
|
mp1i |
|- ( ( N e. Fin /\ R e. V ) -> ( m e. B |-> ( D ` ( ( X .x. .1. ) .- ( T ` m ) ) ) ) e. _V ) |
52 |
13 45 46 48 51
|
ovmpod |
|- ( ( N e. Fin /\ R e. V ) -> ( N CharPlyMat R ) = ( m e. B |-> ( D ` ( ( X .x. .1. ) .- ( T ` m ) ) ) ) ) |
53 |
1 52
|
syl5eq |
|- ( ( N e. Fin /\ R e. V ) -> C = ( m e. B |-> ( D ` ( ( X .x. .1. ) .- ( T ` m ) ) ) ) ) |