Metamath Proof Explorer


Theorem gsummoncoe1fzo

Description: A coefficient of the polynomial represented as a sum of scaled monomials is the coefficient of the corresponding scaled monomial. (Contributed by Thierry Arnoux, 20-Feb-2025)

Ref Expression
Hypotheses gsummoncoe1fzo.p 𝑃 = ( Poly1𝑅 )
gsummoncoe1fzo.b 𝐵 = ( Base ‘ 𝑃 )
gsummoncoe1fzo.x 𝑋 = ( var1𝑅 )
gsummoncoe1fzo.e = ( .g ‘ ( mulGrp ‘ 𝑃 ) )
gsummoncoe1fzo.r ( 𝜑𝑅 ∈ Ring )
gsummoncoe1fzo.k 𝐾 = ( Base ‘ 𝑅 )
gsummoncoe1fzo.m = ( ·𝑠𝑃 )
gsummoncoe1fzo.1 0 = ( 0g𝑅 )
gsummoncoe1fzo.a ( 𝜑 → ∀ 𝑘 ∈ ( 0 ..^ 𝑁 ) 𝐴𝐾 )
gsummoncoe1fzo.l ( 𝜑𝐿 ∈ ( 0 ..^ 𝑁 ) )
gsummoncoe1fzo.n ( 𝜑𝑁 ∈ ℕ0 )
gsummoncoe1fzo.2 ( 𝑘 = 𝐿𝐴 = 𝐶 )
Assertion gsummoncoe1fzo ( 𝜑 → ( ( coe1 ‘ ( 𝑃 Σg ( 𝑘 ∈ ( 0 ..^ 𝑁 ) ↦ ( 𝐴 ( 𝑘 𝑋 ) ) ) ) ) ‘ 𝐿 ) = 𝐶 )

Proof

Step Hyp Ref Expression
1 gsummoncoe1fzo.p 𝑃 = ( Poly1𝑅 )
2 gsummoncoe1fzo.b 𝐵 = ( Base ‘ 𝑃 )
3 gsummoncoe1fzo.x 𝑋 = ( var1𝑅 )
4 gsummoncoe1fzo.e = ( .g ‘ ( mulGrp ‘ 𝑃 ) )
5 gsummoncoe1fzo.r ( 𝜑𝑅 ∈ Ring )
6 gsummoncoe1fzo.k 𝐾 = ( Base ‘ 𝑅 )
7 gsummoncoe1fzo.m = ( ·𝑠𝑃 )
8 gsummoncoe1fzo.1 0 = ( 0g𝑅 )
9 gsummoncoe1fzo.a ( 𝜑 → ∀ 𝑘 ∈ ( 0 ..^ 𝑁 ) 𝐴𝐾 )
10 gsummoncoe1fzo.l ( 𝜑𝐿 ∈ ( 0 ..^ 𝑁 ) )
11 gsummoncoe1fzo.n ( 𝜑𝑁 ∈ ℕ0 )
12 gsummoncoe1fzo.2 ( 𝑘 = 𝐿𝐴 = 𝐶 )
13 eqid ( 0g𝑃 ) = ( 0g𝑃 )
14 1 ply1ring ( 𝑅 ∈ Ring → 𝑃 ∈ Ring )
15 5 14 syl ( 𝜑𝑃 ∈ Ring )
16 15 ringcmnd ( 𝜑𝑃 ∈ CMnd )
17 nn0ex 0 ∈ V
18 17 a1i ( 𝜑 → ℕ0 ∈ V )
19 simpr ( ( 𝜑𝑘 ∈ ( ℕ0 ∖ ( 0 ..^ 𝑁 ) ) ) → 𝑘 ∈ ( ℕ0 ∖ ( 0 ..^ 𝑁 ) ) )
20 19 eldifbd ( ( 𝜑𝑘 ∈ ( ℕ0 ∖ ( 0 ..^ 𝑁 ) ) ) → ¬ 𝑘 ∈ ( 0 ..^ 𝑁 ) )
21 20 iffalsed ( ( 𝜑𝑘 ∈ ( ℕ0 ∖ ( 0 ..^ 𝑁 ) ) ) → if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) = 0 )
22 21 oveq1d ( ( 𝜑𝑘 ∈ ( ℕ0 ∖ ( 0 ..^ 𝑁 ) ) ) → ( if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ( 𝑘 𝑋 ) ) = ( 0 ( 𝑘 𝑋 ) ) )
23 5 adantr ( ( 𝜑𝑘 ∈ ( ℕ0 ∖ ( 0 ..^ 𝑁 ) ) ) → 𝑅 ∈ Ring )
24 19 eldifad ( ( 𝜑𝑘 ∈ ( ℕ0 ∖ ( 0 ..^ 𝑁 ) ) ) → 𝑘 ∈ ℕ0 )
25 eqid ( mulGrp ‘ 𝑃 ) = ( mulGrp ‘ 𝑃 )
26 25 2 mgpbas 𝐵 = ( Base ‘ ( mulGrp ‘ 𝑃 ) )
27 25 ringmgp ( 𝑃 ∈ Ring → ( mulGrp ‘ 𝑃 ) ∈ Mnd )
28 15 27 syl ( 𝜑 → ( mulGrp ‘ 𝑃 ) ∈ Mnd )
29 28 adantr ( ( 𝜑𝑘 ∈ ℕ0 ) → ( mulGrp ‘ 𝑃 ) ∈ Mnd )
30 simpr ( ( 𝜑𝑘 ∈ ℕ0 ) → 𝑘 ∈ ℕ0 )
31 3 1 2 vr1cl ( 𝑅 ∈ Ring → 𝑋𝐵 )
32 5 31 syl ( 𝜑𝑋𝐵 )
33 32 adantr ( ( 𝜑𝑘 ∈ ℕ0 ) → 𝑋𝐵 )
34 26 4 29 30 33 mulgnn0cld ( ( 𝜑𝑘 ∈ ℕ0 ) → ( 𝑘 𝑋 ) ∈ 𝐵 )
35 24 34 syldan ( ( 𝜑𝑘 ∈ ( ℕ0 ∖ ( 0 ..^ 𝑁 ) ) ) → ( 𝑘 𝑋 ) ∈ 𝐵 )
36 1 2 7 8 ply10s0 ( ( 𝑅 ∈ Ring ∧ ( 𝑘 𝑋 ) ∈ 𝐵 ) → ( 0 ( 𝑘 𝑋 ) ) = ( 0g𝑃 ) )
37 23 35 36 syl2anc ( ( 𝜑𝑘 ∈ ( ℕ0 ∖ ( 0 ..^ 𝑁 ) ) ) → ( 0 ( 𝑘 𝑋 ) ) = ( 0g𝑃 ) )
38 22 37 eqtrd ( ( 𝜑𝑘 ∈ ( ℕ0 ∖ ( 0 ..^ 𝑁 ) ) ) → ( if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ( 𝑘 𝑋 ) ) = ( 0g𝑃 ) )
39 fzofi ( 0 ..^ 𝑁 ) ∈ Fin
40 39 a1i ( 𝜑 → ( 0 ..^ 𝑁 ) ∈ Fin )
41 1 ply1lmod ( 𝑅 ∈ Ring → 𝑃 ∈ LMod )
42 5 41 syl ( 𝜑𝑃 ∈ LMod )
43 42 adantr ( ( 𝜑𝑘 ∈ ℕ0 ) → 𝑃 ∈ LMod )
44 9 r19.21bi ( ( 𝜑𝑘 ∈ ( 0 ..^ 𝑁 ) ) → 𝐴𝐾 )
45 44 adantlr ( ( ( 𝜑𝑘 ∈ ℕ0 ) ∧ 𝑘 ∈ ( 0 ..^ 𝑁 ) ) → 𝐴𝐾 )
46 6 8 ring0cl ( 𝑅 ∈ Ring → 0𝐾 )
47 5 46 syl ( 𝜑0𝐾 )
48 47 ad2antrr ( ( ( 𝜑𝑘 ∈ ℕ0 ) ∧ ¬ 𝑘 ∈ ( 0 ..^ 𝑁 ) ) → 0𝐾 )
49 45 48 ifclda ( ( 𝜑𝑘 ∈ ℕ0 ) → if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ∈ 𝐾 )
50 1 ply1sca ( 𝑅 ∈ Ring → 𝑅 = ( Scalar ‘ 𝑃 ) )
51 5 50 syl ( 𝜑𝑅 = ( Scalar ‘ 𝑃 ) )
52 51 fveq2d ( 𝜑 → ( Base ‘ 𝑅 ) = ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
53 6 52 eqtrid ( 𝜑𝐾 = ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
54 53 adantr ( ( 𝜑𝑘 ∈ ℕ0 ) → 𝐾 = ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
55 49 54 eleqtrd ( ( 𝜑𝑘 ∈ ℕ0 ) → if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ∈ ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
56 eqid ( Scalar ‘ 𝑃 ) = ( Scalar ‘ 𝑃 )
57 eqid ( Base ‘ ( Scalar ‘ 𝑃 ) ) = ( Base ‘ ( Scalar ‘ 𝑃 ) )
58 2 56 7 57 lmodvscl ( ( 𝑃 ∈ LMod ∧ if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ∈ ( Base ‘ ( Scalar ‘ 𝑃 ) ) ∧ ( 𝑘 𝑋 ) ∈ 𝐵 ) → ( if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ( 𝑘 𝑋 ) ) ∈ 𝐵 )
59 43 55 34 58 syl3anc ( ( 𝜑𝑘 ∈ ℕ0 ) → ( if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ( 𝑘 𝑋 ) ) ∈ 𝐵 )
60 fzo0ssnn0 ( 0 ..^ 𝑁 ) ⊆ ℕ0
61 60 a1i ( 𝜑 → ( 0 ..^ 𝑁 ) ⊆ ℕ0 )
62 2 13 16 18 38 40 59 61 gsummptres2 ( 𝜑 → ( 𝑃 Σg ( 𝑘 ∈ ℕ0 ↦ ( if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ( 𝑘 𝑋 ) ) ) ) = ( 𝑃 Σg ( 𝑘 ∈ ( 0 ..^ 𝑁 ) ↦ ( if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ( 𝑘 𝑋 ) ) ) ) )
63 simpr ( ( 𝜑𝑘 ∈ ( 0 ..^ 𝑁 ) ) → 𝑘 ∈ ( 0 ..^ 𝑁 ) )
64 63 iftrued ( ( 𝜑𝑘 ∈ ( 0 ..^ 𝑁 ) ) → if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) = 𝐴 )
65 64 oveq1d ( ( 𝜑𝑘 ∈ ( 0 ..^ 𝑁 ) ) → ( if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ( 𝑘 𝑋 ) ) = ( 𝐴 ( 𝑘 𝑋 ) ) )
66 65 mpteq2dva ( 𝜑 → ( 𝑘 ∈ ( 0 ..^ 𝑁 ) ↦ ( if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ( 𝑘 𝑋 ) ) ) = ( 𝑘 ∈ ( 0 ..^ 𝑁 ) ↦ ( 𝐴 ( 𝑘 𝑋 ) ) ) )
67 66 oveq2d ( 𝜑 → ( 𝑃 Σg ( 𝑘 ∈ ( 0 ..^ 𝑁 ) ↦ ( if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ( 𝑘 𝑋 ) ) ) ) = ( 𝑃 Σg ( 𝑘 ∈ ( 0 ..^ 𝑁 ) ↦ ( 𝐴 ( 𝑘 𝑋 ) ) ) ) )
68 62 67 eqtrd ( 𝜑 → ( 𝑃 Σg ( 𝑘 ∈ ℕ0 ↦ ( if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ( 𝑘 𝑋 ) ) ) ) = ( 𝑃 Σg ( 𝑘 ∈ ( 0 ..^ 𝑁 ) ↦ ( 𝐴 ( 𝑘 𝑋 ) ) ) ) )
69 68 fveq2d ( 𝜑 → ( coe1 ‘ ( 𝑃 Σg ( 𝑘 ∈ ℕ0 ↦ ( if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ( 𝑘 𝑋 ) ) ) ) ) = ( coe1 ‘ ( 𝑃 Σg ( 𝑘 ∈ ( 0 ..^ 𝑁 ) ↦ ( 𝐴 ( 𝑘 𝑋 ) ) ) ) ) )
70 69 fveq1d ( 𝜑 → ( ( coe1 ‘ ( 𝑃 Σg ( 𝑘 ∈ ℕ0 ↦ ( if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ( 𝑘 𝑋 ) ) ) ) ) ‘ 𝐿 ) = ( ( coe1 ‘ ( 𝑃 Σg ( 𝑘 ∈ ( 0 ..^ 𝑁 ) ↦ ( 𝐴 ( 𝑘 𝑋 ) ) ) ) ) ‘ 𝐿 ) )
71 49 ralrimiva ( 𝜑 → ∀ 𝑘 ∈ ℕ0 if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ∈ 𝐾 )
72 eqid ( 𝑘 ∈ ℕ0 ↦ if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ) = ( 𝑘 ∈ ℕ0 ↦ if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) )
73 72 18 40 44 47 mptiffisupp ( 𝜑 → ( 𝑘 ∈ ℕ0 ↦ if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ) finSupp 0 )
74 60 10 sselid ( 𝜑𝐿 ∈ ℕ0 )
75 1 2 3 4 5 6 7 8 71 73 74 gsummoncoe1 ( 𝜑 → ( ( coe1 ‘ ( 𝑃 Σg ( 𝑘 ∈ ℕ0 ↦ ( if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) ( 𝑘 𝑋 ) ) ) ) ) ‘ 𝐿 ) = 𝐿 / 𝑘 if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) )
76 70 75 eqtr3d ( 𝜑 → ( ( coe1 ‘ ( 𝑃 Σg ( 𝑘 ∈ ( 0 ..^ 𝑁 ) ↦ ( 𝐴 ( 𝑘 𝑋 ) ) ) ) ) ‘ 𝐿 ) = 𝐿 / 𝑘 if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) )
77 eleq1 ( 𝑘 = 𝐿 → ( 𝑘 ∈ ( 0 ..^ 𝑁 ) ↔ 𝐿 ∈ ( 0 ..^ 𝑁 ) ) )
78 77 12 ifbieq1d ( 𝑘 = 𝐿 → if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) = if ( 𝐿 ∈ ( 0 ..^ 𝑁 ) , 𝐶 , 0 ) )
79 78 adantl ( ( 𝜑𝑘 = 𝐿 ) → if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) = if ( 𝐿 ∈ ( 0 ..^ 𝑁 ) , 𝐶 , 0 ) )
80 10 79 csbied ( 𝜑 𝐿 / 𝑘 if ( 𝑘 ∈ ( 0 ..^ 𝑁 ) , 𝐴 , 0 ) = if ( 𝐿 ∈ ( 0 ..^ 𝑁 ) , 𝐶 , 0 ) )
81 10 iftrued ( 𝜑 → if ( 𝐿 ∈ ( 0 ..^ 𝑁 ) , 𝐶 , 0 ) = 𝐶 )
82 76 80 81 3eqtrd ( 𝜑 → ( ( coe1 ‘ ( 𝑃 Σg ( 𝑘 ∈ ( 0 ..^ 𝑁 ) ↦ ( 𝐴 ( 𝑘 𝑋 ) ) ) ) ) ‘ 𝐿 ) = 𝐶 )