Metamath Proof Explorer


Theorem ply1coedeg

Description: Decompose a univariate polynomial K as a sum of powers, up to its degree D . (Contributed by Thierry Arnoux, 15-Feb-2026)

Ref Expression
Hypotheses ply1coedeg.p 𝑃 = ( Poly1𝑅 )
ply1coedeg.x 𝑋 = ( var1𝑅 )
ply1coedeg.b 𝐵 = ( Base ‘ 𝑃 )
ply1coedeg.n · = ( ·𝑠𝑃 )
ply1coedeg.m 𝑀 = ( mulGrp ‘ 𝑃 )
ply1coedeg.e = ( .g𝑀 )
ply1coedeg.a 𝐴 = ( coe1𝐾 )
ply1coedeg.d 𝐷 = ( ( deg1𝑅 ) ‘ 𝐾 )
ply1coedeg.r ( 𝜑𝑅 ∈ Ring )
ply1coedeg.k ( 𝜑𝐾𝐵 )
Assertion ply1coedeg ( 𝜑𝐾 = ( 𝑃 Σg ( 𝑘 ∈ ( 0 ... 𝐷 ) ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) ) )

Proof

Step Hyp Ref Expression
1 ply1coedeg.p 𝑃 = ( Poly1𝑅 )
2 ply1coedeg.x 𝑋 = ( var1𝑅 )
3 ply1coedeg.b 𝐵 = ( Base ‘ 𝑃 )
4 ply1coedeg.n · = ( ·𝑠𝑃 )
5 ply1coedeg.m 𝑀 = ( mulGrp ‘ 𝑃 )
6 ply1coedeg.e = ( .g𝑀 )
7 ply1coedeg.a 𝐴 = ( coe1𝐾 )
8 ply1coedeg.d 𝐷 = ( ( deg1𝑅 ) ‘ 𝐾 )
9 ply1coedeg.r ( 𝜑𝑅 ∈ Ring )
10 ply1coedeg.k ( 𝜑𝐾𝐵 )
11 simpr ( ( 𝜑𝐾 = ( 0g𝑃 ) ) → 𝐾 = ( 0g𝑃 ) )
12 8 a1i ( ( 𝜑𝐾 = ( 0g𝑃 ) ) → 𝐷 = ( ( deg1𝑅 ) ‘ 𝐾 ) )
13 11 fveq2d ( ( 𝜑𝐾 = ( 0g𝑃 ) ) → ( ( deg1𝑅 ) ‘ 𝐾 ) = ( ( deg1𝑅 ) ‘ ( 0g𝑃 ) ) )
14 eqid ( deg1𝑅 ) = ( deg1𝑅 )
15 eqid ( 0g𝑃 ) = ( 0g𝑃 )
16 14 1 15 deg1z ( 𝑅 ∈ Ring → ( ( deg1𝑅 ) ‘ ( 0g𝑃 ) ) = -∞ )
17 9 16 syl ( 𝜑 → ( ( deg1𝑅 ) ‘ ( 0g𝑃 ) ) = -∞ )
18 17 adantr ( ( 𝜑𝐾 = ( 0g𝑃 ) ) → ( ( deg1𝑅 ) ‘ ( 0g𝑃 ) ) = -∞ )
19 12 13 18 3eqtrd ( ( 𝜑𝐾 = ( 0g𝑃 ) ) → 𝐷 = -∞ )
20 19 oveq2d ( ( 𝜑𝐾 = ( 0g𝑃 ) ) → ( 0 ... 𝐷 ) = ( 0 ... -∞ ) )
21 mnfnre -∞ ∉ ℝ
22 21 neli ¬ -∞ ∈ ℝ
23 zre ( -∞ ∈ ℤ → -∞ ∈ ℝ )
24 22 23 mto ¬ -∞ ∈ ℤ
25 24 nelir -∞ ∉ ℤ
26 25 olci ( 0 ∉ ℤ ∨ -∞ ∉ ℤ )
27 fz0 ( ( 0 ∉ ℤ ∨ -∞ ∉ ℤ ) → ( 0 ... -∞ ) = ∅ )
28 26 27 ax-mp ( 0 ... -∞ ) = ∅
29 20 28 eqtrdi ( ( 𝜑𝐾 = ( 0g𝑃 ) ) → ( 0 ... 𝐷 ) = ∅ )
30 29 mpteq1d ( ( 𝜑𝐾 = ( 0g𝑃 ) ) → ( 𝑘 ∈ ( 0 ... 𝐷 ) ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) = ( 𝑘 ∈ ∅ ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) )
31 mpt0 ( 𝑘 ∈ ∅ ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) = ∅
32 30 31 eqtrdi ( ( 𝜑𝐾 = ( 0g𝑃 ) ) → ( 𝑘 ∈ ( 0 ... 𝐷 ) ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) = ∅ )
33 32 oveq2d ( ( 𝜑𝐾 = ( 0g𝑃 ) ) → ( 𝑃 Σg ( 𝑘 ∈ ( 0 ... 𝐷 ) ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) ) = ( 𝑃 Σg ∅ ) )
34 15 gsum0 ( 𝑃 Σg ∅ ) = ( 0g𝑃 )
35 33 34 eqtrdi ( ( 𝜑𝐾 = ( 0g𝑃 ) ) → ( 𝑃 Σg ( 𝑘 ∈ ( 0 ... 𝐷 ) ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) ) = ( 0g𝑃 ) )
36 11 35 eqtr4d ( ( 𝜑𝐾 = ( 0g𝑃 ) ) → 𝐾 = ( 𝑃 Σg ( 𝑘 ∈ ( 0 ... 𝐷 ) ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) ) )
37 1 2 3 4 5 6 7 ply1coe ( ( 𝑅 ∈ Ring ∧ 𝐾𝐵 ) → 𝐾 = ( 𝑃 Σg ( 𝑘 ∈ ℕ0 ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) ) )
38 9 10 37 syl2anc ( 𝜑𝐾 = ( 𝑃 Σg ( 𝑘 ∈ ℕ0 ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) ) )
39 38 adantr ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → 𝐾 = ( 𝑃 Σg ( 𝑘 ∈ ℕ0 ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) ) )
40 1 ply1ring ( 𝑅 ∈ Ring → 𝑃 ∈ Ring )
41 9 40 syl ( 𝜑𝑃 ∈ Ring )
42 41 ringcmnd ( 𝜑𝑃 ∈ CMnd )
43 42 adantr ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → 𝑃 ∈ CMnd )
44 nn0ex 0 ∈ V
45 44 a1i ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → ℕ0 ∈ V )
46 10 ad2antrr ( ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) ∧ 𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ) → 𝐾𝐵 )
47 difssd ( 𝜑 → ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ⊆ ℕ0 )
48 47 sselda ( ( 𝜑𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ) → 𝑘 ∈ ℕ0 )
49 48 adantlr ( ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) ∧ 𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ) → 𝑘 ∈ ℕ0 )
50 9 adantr ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → 𝑅 ∈ Ring )
51 10 adantr ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → 𝐾𝐵 )
52 simpr ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → 𝐾 ≠ ( 0g𝑃 ) )
53 14 1 15 3 deg1nn0cl ( ( 𝑅 ∈ Ring ∧ 𝐾𝐵𝐾 ≠ ( 0g𝑃 ) ) → ( ( deg1𝑅 ) ‘ 𝐾 ) ∈ ℕ0 )
54 50 51 52 53 syl3anc ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → ( ( deg1𝑅 ) ‘ 𝐾 ) ∈ ℕ0 )
55 8 54 eqeltrid ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → 𝐷 ∈ ℕ0 )
56 55 nn0zd ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → 𝐷 ∈ ℤ )
57 nn0diffz0 ( 𝐷 ∈ ℕ0 → ( ℕ0 ∖ ( 0 ... 𝐷 ) ) = ( ℤ ‘ ( 𝐷 + 1 ) ) )
58 55 57 syl ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → ( ℕ0 ∖ ( 0 ... 𝐷 ) ) = ( ℤ ‘ ( 𝐷 + 1 ) ) )
59 58 eleq2d ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → ( 𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ↔ 𝑘 ∈ ( ℤ ‘ ( 𝐷 + 1 ) ) ) )
60 59 biimpa ( ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) ∧ 𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ) → 𝑘 ∈ ( ℤ ‘ ( 𝐷 + 1 ) ) )
61 eluzp1l ( ( 𝐷 ∈ ℤ ∧ 𝑘 ∈ ( ℤ ‘ ( 𝐷 + 1 ) ) ) → 𝐷 < 𝑘 )
62 56 60 61 syl2an2r ( ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) ∧ 𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ) → 𝐷 < 𝑘 )
63 8 62 eqbrtrrid ( ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) ∧ 𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ) → ( ( deg1𝑅 ) ‘ 𝐾 ) < 𝑘 )
64 eqid ( 0g𝑅 ) = ( 0g𝑅 )
65 14 1 3 64 7 deg1lt ( ( 𝐾𝐵𝑘 ∈ ℕ0 ∧ ( ( deg1𝑅 ) ‘ 𝐾 ) < 𝑘 ) → ( 𝐴𝑘 ) = ( 0g𝑅 ) )
66 46 49 63 65 syl3anc ( ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) ∧ 𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ) → ( 𝐴𝑘 ) = ( 0g𝑅 ) )
67 1 ply1sca ( 𝑅 ∈ Ring → 𝑅 = ( Scalar ‘ 𝑃 ) )
68 9 67 syl ( 𝜑𝑅 = ( Scalar ‘ 𝑃 ) )
69 68 fveq2d ( 𝜑 → ( 0g𝑅 ) = ( 0g ‘ ( Scalar ‘ 𝑃 ) ) )
70 69 ad2antrr ( ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) ∧ 𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ) → ( 0g𝑅 ) = ( 0g ‘ ( Scalar ‘ 𝑃 ) ) )
71 66 70 eqtrd ( ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) ∧ 𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ) → ( 𝐴𝑘 ) = ( 0g ‘ ( Scalar ‘ 𝑃 ) ) )
72 71 oveq1d ( ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) ∧ 𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ) → ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) = ( ( 0g ‘ ( Scalar ‘ 𝑃 ) ) · ( 𝑘 𝑋 ) ) )
73 1 ply1lmod ( 𝑅 ∈ Ring → 𝑃 ∈ LMod )
74 9 73 syl ( 𝜑𝑃 ∈ LMod )
75 5 3 mgpbas 𝐵 = ( Base ‘ 𝑀 )
76 5 ringmgp ( 𝑃 ∈ Ring → 𝑀 ∈ Mnd )
77 41 76 syl ( 𝜑𝑀 ∈ Mnd )
78 77 adantr ( ( 𝜑𝑘 ∈ ℕ0 ) → 𝑀 ∈ Mnd )
79 simpr ( ( 𝜑𝑘 ∈ ℕ0 ) → 𝑘 ∈ ℕ0 )
80 2 1 3 vr1cl ( 𝑅 ∈ Ring → 𝑋𝐵 )
81 9 80 syl ( 𝜑𝑋𝐵 )
82 81 adantr ( ( 𝜑𝑘 ∈ ℕ0 ) → 𝑋𝐵 )
83 75 6 78 79 82 mulgnn0cld ( ( 𝜑𝑘 ∈ ℕ0 ) → ( 𝑘 𝑋 ) ∈ 𝐵 )
84 48 83 syldan ( ( 𝜑𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ) → ( 𝑘 𝑋 ) ∈ 𝐵 )
85 eqid ( Scalar ‘ 𝑃 ) = ( Scalar ‘ 𝑃 )
86 eqid ( 0g ‘ ( Scalar ‘ 𝑃 ) ) = ( 0g ‘ ( Scalar ‘ 𝑃 ) )
87 3 85 4 86 15 lmod0vs ( ( 𝑃 ∈ LMod ∧ ( 𝑘 𝑋 ) ∈ 𝐵 ) → ( ( 0g ‘ ( Scalar ‘ 𝑃 ) ) · ( 𝑘 𝑋 ) ) = ( 0g𝑃 ) )
88 74 84 87 syl2an2r ( ( 𝜑𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ) → ( ( 0g ‘ ( Scalar ‘ 𝑃 ) ) · ( 𝑘 𝑋 ) ) = ( 0g𝑃 ) )
89 88 adantlr ( ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) ∧ 𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ) → ( ( 0g ‘ ( Scalar ‘ 𝑃 ) ) · ( 𝑘 𝑋 ) ) = ( 0g𝑃 ) )
90 72 89 eqtrd ( ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) ∧ 𝑘 ∈ ( ℕ0 ∖ ( 0 ... 𝐷 ) ) ) → ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) = ( 0g𝑃 ) )
91 fzfid ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → ( 0 ... 𝐷 ) ∈ Fin )
92 eqid ( Base ‘ ( Scalar ‘ 𝑃 ) ) = ( Base ‘ ( Scalar ‘ 𝑃 ) )
93 74 adantr ( ( 𝜑𝑘 ∈ ℕ0 ) → 𝑃 ∈ LMod )
94 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
95 7 3 1 94 coe1fvalcl ( ( 𝐾𝐵𝑘 ∈ ℕ0 ) → ( 𝐴𝑘 ) ∈ ( Base ‘ 𝑅 ) )
96 10 95 sylan ( ( 𝜑𝑘 ∈ ℕ0 ) → ( 𝐴𝑘 ) ∈ ( Base ‘ 𝑅 ) )
97 68 fveq2d ( 𝜑 → ( Base ‘ 𝑅 ) = ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
98 97 adantr ( ( 𝜑𝑘 ∈ ℕ0 ) → ( Base ‘ 𝑅 ) = ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
99 96 98 eleqtrd ( ( 𝜑𝑘 ∈ ℕ0 ) → ( 𝐴𝑘 ) ∈ ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
100 3 85 4 92 93 99 83 lmodvscld ( ( 𝜑𝑘 ∈ ℕ0 ) → ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ∈ 𝐵 )
101 100 adantlr ( ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) ∧ 𝑘 ∈ ℕ0 ) → ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ∈ 𝐵 )
102 fz0ssnn0 ( 0 ... 𝐷 ) ⊆ ℕ0
103 102 a1i ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → ( 0 ... 𝐷 ) ⊆ ℕ0 )
104 3 15 43 45 90 91 101 103 gsummptres2 ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → ( 𝑃 Σg ( 𝑘 ∈ ℕ0 ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) ) = ( 𝑃 Σg ( 𝑘 ∈ ( 0 ... 𝐷 ) ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) ) )
105 39 104 eqtrd ( ( 𝜑𝐾 ≠ ( 0g𝑃 ) ) → 𝐾 = ( 𝑃 Σg ( 𝑘 ∈ ( 0 ... 𝐷 ) ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) ) )
106 36 105 pm2.61dane ( 𝜑𝐾 = ( 𝑃 Σg ( 𝑘 ∈ ( 0 ... 𝐷 ) ↦ ( ( 𝐴𝑘 ) · ( 𝑘 𝑋 ) ) ) ) )