Metamath Proof Explorer


Theorem minplyval

Description: Expand the value of the minimal polynomial ( MA ) for a given element A . It is defined as the unique monic polynomial of minimal degree which annihilates A . By ply1annig1p , that polynomial generates the ideal of the annihilators of A . (Contributed by Thierry Arnoux, 9-Feb-2025)

Ref Expression
Hypotheses ply1annig1p.o 𝑂 = ( 𝐸 evalSub1 𝐹 )
ply1annig1p.p 𝑃 = ( Poly1 ‘ ( 𝐸s 𝐹 ) )
ply1annig1p.b 𝐵 = ( Base ‘ 𝐸 )
ply1annig1p.e ( 𝜑𝐸 ∈ Field )
ply1annig1p.f ( 𝜑𝐹 ∈ ( SubDRing ‘ 𝐸 ) )
ply1annig1p.a ( 𝜑𝐴𝐵 )
ply1annig1p.0 0 = ( 0g𝐸 )
ply1annig1p.q 𝑄 = { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝐴 ) = 0 }
ply1annig1p.k 𝐾 = ( RSpan ‘ 𝑃 )
ply1annig1p.g 𝐺 = ( idlGen1p ‘ ( 𝐸s 𝐹 ) )
minplyval.1 𝑀 = ( 𝐸 minPoly 𝐹 )
Assertion minplyval ( 𝜑 → ( 𝑀𝐴 ) = ( 𝐺𝑄 ) )

Proof

Step Hyp Ref Expression
1 ply1annig1p.o 𝑂 = ( 𝐸 evalSub1 𝐹 )
2 ply1annig1p.p 𝑃 = ( Poly1 ‘ ( 𝐸s 𝐹 ) )
3 ply1annig1p.b 𝐵 = ( Base ‘ 𝐸 )
4 ply1annig1p.e ( 𝜑𝐸 ∈ Field )
5 ply1annig1p.f ( 𝜑𝐹 ∈ ( SubDRing ‘ 𝐸 ) )
6 ply1annig1p.a ( 𝜑𝐴𝐵 )
7 ply1annig1p.0 0 = ( 0g𝐸 )
8 ply1annig1p.q 𝑄 = { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝐴 ) = 0 }
9 ply1annig1p.k 𝐾 = ( RSpan ‘ 𝑃 )
10 ply1annig1p.g 𝐺 = ( idlGen1p ‘ ( 𝐸s 𝐹 ) )
11 minplyval.1 𝑀 = ( 𝐸 minPoly 𝐹 )
12 4 elexd ( 𝜑𝐸 ∈ V )
13 5 elexd ( 𝜑𝐹 ∈ V )
14 3 fvexi 𝐵 ∈ V
15 14 a1i ( 𝜑𝐵 ∈ V )
16 15 mptexd ( 𝜑 → ( 𝑥𝐵 ↦ ( 𝐺 ‘ { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝑥 ) = 0 } ) ) ∈ V )
17 fveq2 ( 𝑒 = 𝐸 → ( Base ‘ 𝑒 ) = ( Base ‘ 𝐸 ) )
18 17 3 eqtr4di ( 𝑒 = 𝐸 → ( Base ‘ 𝑒 ) = 𝐵 )
19 18 adantr ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → ( Base ‘ 𝑒 ) = 𝐵 )
20 oveq12 ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → ( 𝑒s 𝑓 ) = ( 𝐸s 𝐹 ) )
21 20 fveq2d ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → ( idlGen1p ‘ ( 𝑒s 𝑓 ) ) = ( idlGen1p ‘ ( 𝐸s 𝐹 ) ) )
22 21 10 eqtr4di ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → ( idlGen1p ‘ ( 𝑒s 𝑓 ) ) = 𝐺 )
23 oveq12 ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → ( 𝑒 evalSub1 𝑓 ) = ( 𝐸 evalSub1 𝐹 ) )
24 23 1 eqtr4di ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → ( 𝑒 evalSub1 𝑓 ) = 𝑂 )
25 24 dmeqd ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → dom ( 𝑒 evalSub1 𝑓 ) = dom 𝑂 )
26 24 fveq1d ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → ( ( 𝑒 evalSub1 𝑓 ) ‘ 𝑞 ) = ( 𝑂𝑞 ) )
27 26 fveq1d ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → ( ( ( 𝑒 evalSub1 𝑓 ) ‘ 𝑞 ) ‘ 𝑥 ) = ( ( 𝑂𝑞 ) ‘ 𝑥 ) )
28 fveq2 ( 𝑒 = 𝐸 → ( 0g𝑒 ) = ( 0g𝐸 ) )
29 28 adantr ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → ( 0g𝑒 ) = ( 0g𝐸 ) )
30 29 7 eqtr4di ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → ( 0g𝑒 ) = 0 )
31 27 30 eqeq12d ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → ( ( ( ( 𝑒 evalSub1 𝑓 ) ‘ 𝑞 ) ‘ 𝑥 ) = ( 0g𝑒 ) ↔ ( ( 𝑂𝑞 ) ‘ 𝑥 ) = 0 ) )
32 25 31 rabeqbidv ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → { 𝑞 ∈ dom ( 𝑒 evalSub1 𝑓 ) ∣ ( ( ( 𝑒 evalSub1 𝑓 ) ‘ 𝑞 ) ‘ 𝑥 ) = ( 0g𝑒 ) } = { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝑥 ) = 0 } )
33 22 32 fveq12d ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → ( ( idlGen1p ‘ ( 𝑒s 𝑓 ) ) ‘ { 𝑞 ∈ dom ( 𝑒 evalSub1 𝑓 ) ∣ ( ( ( 𝑒 evalSub1 𝑓 ) ‘ 𝑞 ) ‘ 𝑥 ) = ( 0g𝑒 ) } ) = ( 𝐺 ‘ { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝑥 ) = 0 } ) )
34 19 33 mpteq12dv ( ( 𝑒 = 𝐸𝑓 = 𝐹 ) → ( 𝑥 ∈ ( Base ‘ 𝑒 ) ↦ ( ( idlGen1p ‘ ( 𝑒s 𝑓 ) ) ‘ { 𝑞 ∈ dom ( 𝑒 evalSub1 𝑓 ) ∣ ( ( ( 𝑒 evalSub1 𝑓 ) ‘ 𝑞 ) ‘ 𝑥 ) = ( 0g𝑒 ) } ) ) = ( 𝑥𝐵 ↦ ( 𝐺 ‘ { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝑥 ) = 0 } ) ) )
35 df-minply minPoly = ( 𝑒 ∈ V , 𝑓 ∈ V ↦ ( 𝑥 ∈ ( Base ‘ 𝑒 ) ↦ ( ( idlGen1p ‘ ( 𝑒s 𝑓 ) ) ‘ { 𝑞 ∈ dom ( 𝑒 evalSub1 𝑓 ) ∣ ( ( ( 𝑒 evalSub1 𝑓 ) ‘ 𝑞 ) ‘ 𝑥 ) = ( 0g𝑒 ) } ) ) )
36 34 35 ovmpoga ( ( 𝐸 ∈ V ∧ 𝐹 ∈ V ∧ ( 𝑥𝐵 ↦ ( 𝐺 ‘ { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝑥 ) = 0 } ) ) ∈ V ) → ( 𝐸 minPoly 𝐹 ) = ( 𝑥𝐵 ↦ ( 𝐺 ‘ { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝑥 ) = 0 } ) ) )
37 12 13 16 36 syl3anc ( 𝜑 → ( 𝐸 minPoly 𝐹 ) = ( 𝑥𝐵 ↦ ( 𝐺 ‘ { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝑥 ) = 0 } ) ) )
38 11 37 eqtrid ( 𝜑𝑀 = ( 𝑥𝐵 ↦ ( 𝐺 ‘ { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝑥 ) = 0 } ) ) )
39 fveqeq2 ( 𝑥 = 𝐴 → ( ( ( 𝑂𝑞 ) ‘ 𝑥 ) = 0 ↔ ( ( 𝑂𝑞 ) ‘ 𝐴 ) = 0 ) )
40 39 rabbidv ( 𝑥 = 𝐴 → { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝑥 ) = 0 } = { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝐴 ) = 0 } )
41 40 8 eqtr4di ( 𝑥 = 𝐴 → { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝑥 ) = 0 } = 𝑄 )
42 41 fveq2d ( 𝑥 = 𝐴 → ( 𝐺 ‘ { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝑥 ) = 0 } ) = ( 𝐺𝑄 ) )
43 42 adantl ( ( 𝜑𝑥 = 𝐴 ) → ( 𝐺 ‘ { 𝑞 ∈ dom 𝑂 ∣ ( ( 𝑂𝑞 ) ‘ 𝑥 ) = 0 } ) = ( 𝐺𝑄 ) )
44 fvexd ( 𝜑 → ( 𝐺𝑄 ) ∈ V )
45 38 43 6 44 fvmptd ( 𝜑 → ( 𝑀𝐴 ) = ( 𝐺𝑄 ) )