Metamath Proof Explorer


Theorem mhpvscacl

Description: Homogeneous polynomials are closed under scalar multiplication. (Contributed by SN, 25-Sep-2023) Remove closure hypotheses. (Revised by SN, 4-Sep-2025)

Ref Expression
Hypotheses mhpvscacl.h 𝐻 = ( 𝐼 mHomP 𝑅 )
mhpvscacl.p 𝑃 = ( 𝐼 mPoly 𝑅 )
mhpvscacl.t · = ( ·𝑠𝑃 )
mhpvscacl.k 𝐾 = ( Base ‘ 𝑅 )
mhpvscacl.r ( 𝜑𝑅 ∈ Ring )
mhpvscacl.x ( 𝜑𝑋𝐾 )
mhpvscacl.f ( 𝜑𝐹 ∈ ( 𝐻𝑁 ) )
Assertion mhpvscacl ( 𝜑 → ( 𝑋 · 𝐹 ) ∈ ( 𝐻𝑁 ) )

Proof

Step Hyp Ref Expression
1 mhpvscacl.h 𝐻 = ( 𝐼 mHomP 𝑅 )
2 mhpvscacl.p 𝑃 = ( 𝐼 mPoly 𝑅 )
3 mhpvscacl.t · = ( ·𝑠𝑃 )
4 mhpvscacl.k 𝐾 = ( Base ‘ 𝑅 )
5 mhpvscacl.r ( 𝜑𝑅 ∈ Ring )
6 mhpvscacl.x ( 𝜑𝑋𝐾 )
7 mhpvscacl.f ( 𝜑𝐹 ∈ ( 𝐻𝑁 ) )
8 eqid ( Base ‘ 𝑃 ) = ( Base ‘ 𝑃 )
9 eqid ( 0g𝑅 ) = ( 0g𝑅 )
10 eqid { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } = { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin }
11 reldmmhp Rel dom mHomP
12 11 1 7 elfvov1 ( 𝜑𝐼 ∈ V )
13 1 7 mhprcl ( 𝜑𝑁 ∈ ℕ0 )
14 eqid ( Scalar ‘ 𝑃 ) = ( Scalar ‘ 𝑃 )
15 eqid ( Base ‘ ( Scalar ‘ 𝑃 ) ) = ( Base ‘ ( Scalar ‘ 𝑃 ) )
16 2 12 5 mpllmodd ( 𝜑𝑃 ∈ LMod )
17 6 4 eleqtrdi ( 𝜑𝑋 ∈ ( Base ‘ 𝑅 ) )
18 2 12 5 mplsca ( 𝜑𝑅 = ( Scalar ‘ 𝑃 ) )
19 18 fveq2d ( 𝜑 → ( Base ‘ 𝑅 ) = ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
20 17 19 eleqtrd ( 𝜑𝑋 ∈ ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
21 1 2 8 7 mhpmpl ( 𝜑𝐹 ∈ ( Base ‘ 𝑃 ) )
22 8 14 3 15 16 20 21 lmodvscld ( 𝜑 → ( 𝑋 · 𝐹 ) ∈ ( Base ‘ 𝑃 ) )
23 2 4 8 10 22 mplelf ( 𝜑 → ( 𝑋 · 𝐹 ) : { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ⟶ 𝐾 )
24 eqid ( .r𝑅 ) = ( .r𝑅 )
25 6 adantr ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → 𝑋𝐾 )
26 21 adantr ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → 𝐹 ∈ ( Base ‘ 𝑃 ) )
27 eldifi ( 𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) → 𝑘 ∈ { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } )
28 27 adantl ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → 𝑘 ∈ { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } )
29 2 3 4 8 24 10 25 26 28 mplvscaval ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → ( ( 𝑋 · 𝐹 ) ‘ 𝑘 ) = ( 𝑋 ( .r𝑅 ) ( 𝐹𝑘 ) ) )
30 2 4 8 10 21 mplelf ( 𝜑𝐹 : { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ⟶ 𝐾 )
31 ssidd ( 𝜑 → ( 𝐹 supp ( 0g𝑅 ) ) ⊆ ( 𝐹 supp ( 0g𝑅 ) ) )
32 fvexd ( 𝜑 → ( 0g𝑅 ) ∈ V )
33 30 31 7 32 suppssrg ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → ( 𝐹𝑘 ) = ( 0g𝑅 ) )
34 33 oveq2d ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → ( 𝑋 ( .r𝑅 ) ( 𝐹𝑘 ) ) = ( 𝑋 ( .r𝑅 ) ( 0g𝑅 ) ) )
35 4 24 9 5 6 ringrzd ( 𝜑 → ( 𝑋 ( .r𝑅 ) ( 0g𝑅 ) ) = ( 0g𝑅 ) )
36 35 adantr ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → ( 𝑋 ( .r𝑅 ) ( 0g𝑅 ) ) = ( 0g𝑅 ) )
37 29 34 36 3eqtrd ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → ( ( 𝑋 · 𝐹 ) ‘ 𝑘 ) = ( 0g𝑅 ) )
38 23 37 suppss ( 𝜑 → ( ( 𝑋 · 𝐹 ) supp ( 0g𝑅 ) ) ⊆ ( 𝐹 supp ( 0g𝑅 ) ) )
39 1 9 10 7 mhpdeg ( 𝜑 → ( 𝐹 supp ( 0g𝑅 ) ) ⊆ { 𝑔 ∈ { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } )
40 38 39 sstrd ( 𝜑 → ( ( 𝑋 · 𝐹 ) supp ( 0g𝑅 ) ) ⊆ { 𝑔 ∈ { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } )
41 1 2 8 9 10 12 5 13 22 40 ismhp2 ( 𝜑 → ( 𝑋 · 𝐹 ) ∈ ( 𝐻𝑁 ) )