Metamath Proof Explorer


Theorem chpmatfval

Description: Value of the characteristic polynomial function. (Contributed by AV, 2-Aug-2019)

Ref Expression
Hypotheses chpmatfval.c 𝐶 = ( 𝑁 CharPlyMat 𝑅 )
chpmatfval.a 𝐴 = ( 𝑁 Mat 𝑅 )
chpmatfval.b 𝐵 = ( Base ‘ 𝐴 )
chpmatfval.p 𝑃 = ( Poly1𝑅 )
chpmatfval.y 𝑌 = ( 𝑁 Mat 𝑃 )
chpmatfval.d 𝐷 = ( 𝑁 maDet 𝑃 )
chpmatfval.s = ( -g𝑌 )
chpmatfval.x 𝑋 = ( var1𝑅 )
chpmatfval.m · = ( ·𝑠𝑌 )
chpmatfval.t 𝑇 = ( 𝑁 matToPolyMat 𝑅 )
chpmatfval.i 1 = ( 1r𝑌 )
Assertion chpmatfval ( ( 𝑁 ∈ Fin ∧ 𝑅𝑉 ) → 𝐶 = ( 𝑚𝐵 ↦ ( 𝐷 ‘ ( ( 𝑋 · 1 ) ( 𝑇𝑚 ) ) ) ) )

Proof

Step Hyp Ref Expression
1 chpmatfval.c 𝐶 = ( 𝑁 CharPlyMat 𝑅 )
2 chpmatfval.a 𝐴 = ( 𝑁 Mat 𝑅 )
3 chpmatfval.b 𝐵 = ( Base ‘ 𝐴 )
4 chpmatfval.p 𝑃 = ( Poly1𝑅 )
5 chpmatfval.y 𝑌 = ( 𝑁 Mat 𝑃 )
6 chpmatfval.d 𝐷 = ( 𝑁 maDet 𝑃 )
7 chpmatfval.s = ( -g𝑌 )
8 chpmatfval.x 𝑋 = ( var1𝑅 )
9 chpmatfval.m · = ( ·𝑠𝑌 )
10 chpmatfval.t 𝑇 = ( 𝑁 matToPolyMat 𝑅 )
11 chpmatfval.i 1 = ( 1r𝑌 )
12 df-chpmat CharPlyMat = ( 𝑛 ∈ Fin , 𝑟 ∈ V ↦ ( 𝑚 ∈ ( Base ‘ ( 𝑛 Mat 𝑟 ) ) ↦ ( ( 𝑛 maDet ( Poly1𝑟 ) ) ‘ ( ( ( var1𝑟 ) ( ·𝑠 ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ( 1r ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ) ( -g ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ( ( 𝑛 matToPolyMat 𝑟 ) ‘ 𝑚 ) ) ) ) )
13 12 a1i ( ( 𝑁 ∈ Fin ∧ 𝑅𝑉 ) → CharPlyMat = ( 𝑛 ∈ Fin , 𝑟 ∈ V ↦ ( 𝑚 ∈ ( Base ‘ ( 𝑛 Mat 𝑟 ) ) ↦ ( ( 𝑛 maDet ( Poly1𝑟 ) ) ‘ ( ( ( var1𝑟 ) ( ·𝑠 ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ( 1r ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ) ( -g ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ( ( 𝑛 matToPolyMat 𝑟 ) ‘ 𝑚 ) ) ) ) ) )
14 oveq12 ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( 𝑛 Mat 𝑟 ) = ( 𝑁 Mat 𝑅 ) )
15 14 2 eqtr4di ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( 𝑛 Mat 𝑟 ) = 𝐴 )
16 15 fveq2d ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( Base ‘ ( 𝑛 Mat 𝑟 ) ) = ( Base ‘ 𝐴 ) )
17 16 3 eqtr4di ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( Base ‘ ( 𝑛 Mat 𝑟 ) ) = 𝐵 )
18 simpl ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → 𝑛 = 𝑁 )
19 simpr ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → 𝑟 = 𝑅 )
20 19 fveq2d ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( Poly1𝑟 ) = ( Poly1𝑅 ) )
21 20 4 eqtr4di ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( Poly1𝑟 ) = 𝑃 )
22 18 21 oveq12d ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( 𝑛 maDet ( Poly1𝑟 ) ) = ( 𝑁 maDet 𝑃 ) )
23 22 6 eqtr4di ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( 𝑛 maDet ( Poly1𝑟 ) ) = 𝐷 )
24 fveq2 ( 𝑟 = 𝑅 → ( Poly1𝑟 ) = ( Poly1𝑅 ) )
25 24 adantl ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( Poly1𝑟 ) = ( Poly1𝑅 ) )
26 25 4 eqtr4di ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( Poly1𝑟 ) = 𝑃 )
27 18 26 oveq12d ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( 𝑛 Mat ( Poly1𝑟 ) ) = ( 𝑁 Mat 𝑃 ) )
28 27 5 eqtr4di ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( 𝑛 Mat ( Poly1𝑟 ) ) = 𝑌 )
29 28 fveq2d ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( -g ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) = ( -g𝑌 ) )
30 29 7 eqtr4di ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( -g ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) = )
31 28 fveq2d ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( ·𝑠 ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) = ( ·𝑠𝑌 ) )
32 31 9 eqtr4di ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( ·𝑠 ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) = · )
33 fveq2 ( 𝑟 = 𝑅 → ( var1𝑟 ) = ( var1𝑅 ) )
34 33 8 eqtr4di ( 𝑟 = 𝑅 → ( var1𝑟 ) = 𝑋 )
35 34 adantl ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( var1𝑟 ) = 𝑋 )
36 28 fveq2d ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( 1r ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) = ( 1r𝑌 ) )
37 36 11 eqtr4di ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( 1r ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) = 1 )
38 32 35 37 oveq123d ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( ( var1𝑟 ) ( ·𝑠 ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ( 1r ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ) = ( 𝑋 · 1 ) )
39 oveq12 ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( 𝑛 matToPolyMat 𝑟 ) = ( 𝑁 matToPolyMat 𝑅 ) )
40 39 10 eqtr4di ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( 𝑛 matToPolyMat 𝑟 ) = 𝑇 )
41 40 fveq1d ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( ( 𝑛 matToPolyMat 𝑟 ) ‘ 𝑚 ) = ( 𝑇𝑚 ) )
42 30 38 41 oveq123d ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( ( ( var1𝑟 ) ( ·𝑠 ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ( 1r ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ) ( -g ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ( ( 𝑛 matToPolyMat 𝑟 ) ‘ 𝑚 ) ) = ( ( 𝑋 · 1 ) ( 𝑇𝑚 ) ) )
43 23 42 fveq12d ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( ( 𝑛 maDet ( Poly1𝑟 ) ) ‘ ( ( ( var1𝑟 ) ( ·𝑠 ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ( 1r ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ) ( -g ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ( ( 𝑛 matToPolyMat 𝑟 ) ‘ 𝑚 ) ) ) = ( 𝐷 ‘ ( ( 𝑋 · 1 ) ( 𝑇𝑚 ) ) ) )
44 17 43 mpteq12dv ( ( 𝑛 = 𝑁𝑟 = 𝑅 ) → ( 𝑚 ∈ ( Base ‘ ( 𝑛 Mat 𝑟 ) ) ↦ ( ( 𝑛 maDet ( Poly1𝑟 ) ) ‘ ( ( ( var1𝑟 ) ( ·𝑠 ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ( 1r ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ) ( -g ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ( ( 𝑛 matToPolyMat 𝑟 ) ‘ 𝑚 ) ) ) ) = ( 𝑚𝐵 ↦ ( 𝐷 ‘ ( ( 𝑋 · 1 ) ( 𝑇𝑚 ) ) ) ) )
45 44 adantl ( ( ( 𝑁 ∈ Fin ∧ 𝑅𝑉 ) ∧ ( 𝑛 = 𝑁𝑟 = 𝑅 ) ) → ( 𝑚 ∈ ( Base ‘ ( 𝑛 Mat 𝑟 ) ) ↦ ( ( 𝑛 maDet ( Poly1𝑟 ) ) ‘ ( ( ( var1𝑟 ) ( ·𝑠 ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ( 1r ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ) ( -g ‘ ( 𝑛 Mat ( Poly1𝑟 ) ) ) ( ( 𝑛 matToPolyMat 𝑟 ) ‘ 𝑚 ) ) ) ) = ( 𝑚𝐵 ↦ ( 𝐷 ‘ ( ( 𝑋 · 1 ) ( 𝑇𝑚 ) ) ) ) )
46 simpl ( ( 𝑁 ∈ Fin ∧ 𝑅𝑉 ) → 𝑁 ∈ Fin )
47 elex ( 𝑅𝑉𝑅 ∈ V )
48 47 adantl ( ( 𝑁 ∈ Fin ∧ 𝑅𝑉 ) → 𝑅 ∈ V )
49 3 fvexi 𝐵 ∈ V
50 mptexg ( 𝐵 ∈ V → ( 𝑚𝐵 ↦ ( 𝐷 ‘ ( ( 𝑋 · 1 ) ( 𝑇𝑚 ) ) ) ) ∈ V )
51 49 50 mp1i ( ( 𝑁 ∈ Fin ∧ 𝑅𝑉 ) → ( 𝑚𝐵 ↦ ( 𝐷 ‘ ( ( 𝑋 · 1 ) ( 𝑇𝑚 ) ) ) ) ∈ V )
52 13 45 46 48 51 ovmpod ( ( 𝑁 ∈ Fin ∧ 𝑅𝑉 ) → ( 𝑁 CharPlyMat 𝑅 ) = ( 𝑚𝐵 ↦ ( 𝐷 ‘ ( ( 𝑋 · 1 ) ( 𝑇𝑚 ) ) ) ) )
53 1 52 eqtrid ( ( 𝑁 ∈ Fin ∧ 𝑅𝑉 ) → 𝐶 = ( 𝑚𝐵 ↦ ( 𝐷 ‘ ( ( 𝑋 · 1 ) ( 𝑇𝑚 ) ) ) ) )