Metamath Proof Explorer


Theorem mhpvscacl

Description: Homogeneous polynomials are closed under scalar multiplication. (Contributed by SN, 25-Sep-2023) Remove sethood hypothesis. (Revised by SN, 18-May-2025)

Ref Expression
Hypotheses mhpvscacl.h 𝐻 = ( 𝐼 mHomP 𝑅 )
mhpvscacl.p 𝑃 = ( 𝐼 mPoly 𝑅 )
mhpvscacl.t · = ( ·𝑠𝑃 )
mhpvscacl.k 𝐾 = ( Base ‘ 𝑅 )
mhpvscacl.r ( 𝜑𝑅 ∈ Ring )
mhpvscacl.n ( 𝜑𝑁 ∈ ℕ0 )
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.n ( 𝜑𝑁 ∈ ℕ0 )
7 mhpvscacl.x ( 𝜑𝑋𝐾 )
8 mhpvscacl.f ( 𝜑𝐹 ∈ ( 𝐻𝑁 ) )
9 eqid ( Base ‘ 𝑃 ) = ( Base ‘ 𝑃 )
10 eqid ( 0g𝑅 ) = ( 0g𝑅 )
11 eqid { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } = { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin }
12 reldmmhp Rel dom mHomP
13 12 1 8 elfvov1 ( 𝜑𝐼 ∈ V )
14 2 mpllmod ( ( 𝐼 ∈ V ∧ 𝑅 ∈ Ring ) → 𝑃 ∈ LMod )
15 13 5 14 syl2anc ( 𝜑𝑃 ∈ LMod )
16 7 4 eleqtrdi ( 𝜑𝑋 ∈ ( Base ‘ 𝑅 ) )
17 2 13 5 mplsca ( 𝜑𝑅 = ( Scalar ‘ 𝑃 ) )
18 17 fveq2d ( 𝜑 → ( Base ‘ 𝑅 ) = ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
19 16 18 eleqtrd ( 𝜑𝑋 ∈ ( Base ‘ ( Scalar ‘ 𝑃 ) ) )
20 1 2 9 13 5 6 8 mhpmpl ( 𝜑𝐹 ∈ ( Base ‘ 𝑃 ) )
21 eqid ( Scalar ‘ 𝑃 ) = ( Scalar ‘ 𝑃 )
22 eqid ( Base ‘ ( Scalar ‘ 𝑃 ) ) = ( Base ‘ ( Scalar ‘ 𝑃 ) )
23 9 21 3 22 lmodvscl ( ( 𝑃 ∈ LMod ∧ 𝑋 ∈ ( Base ‘ ( Scalar ‘ 𝑃 ) ) ∧ 𝐹 ∈ ( Base ‘ 𝑃 ) ) → ( 𝑋 · 𝐹 ) ∈ ( Base ‘ 𝑃 ) )
24 15 19 20 23 syl3anc ( 𝜑 → ( 𝑋 · 𝐹 ) ∈ ( Base ‘ 𝑃 ) )
25 2 4 9 11 24 mplelf ( 𝜑 → ( 𝑋 · 𝐹 ) : { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ⟶ 𝐾 )
26 eqid ( .r𝑅 ) = ( .r𝑅 )
27 7 adantr ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → 𝑋𝐾 )
28 20 adantr ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → 𝐹 ∈ ( Base ‘ 𝑃 ) )
29 eldifi ( 𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) → 𝑘 ∈ { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } )
30 29 adantl ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → 𝑘 ∈ { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } )
31 2 3 4 9 26 11 27 28 30 mplvscaval ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → ( ( 𝑋 · 𝐹 ) ‘ 𝑘 ) = ( 𝑋 ( .r𝑅 ) ( 𝐹𝑘 ) ) )
32 2 4 9 11 20 mplelf ( 𝜑𝐹 : { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ⟶ 𝐾 )
33 ssidd ( 𝜑 → ( 𝐹 supp ( 0g𝑅 ) ) ⊆ ( 𝐹 supp ( 0g𝑅 ) ) )
34 ovexd ( 𝜑 → ( ℕ0m 𝐼 ) ∈ V )
35 11 34 rabexd ( 𝜑 → { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∈ V )
36 fvexd ( 𝜑 → ( 0g𝑅 ) ∈ V )
37 32 33 35 36 suppssr ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → ( 𝐹𝑘 ) = ( 0g𝑅 ) )
38 37 oveq2d ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → ( 𝑋 ( .r𝑅 ) ( 𝐹𝑘 ) ) = ( 𝑋 ( .r𝑅 ) ( 0g𝑅 ) ) )
39 4 26 10 ringrz ( ( 𝑅 ∈ Ring ∧ 𝑋𝐾 ) → ( 𝑋 ( .r𝑅 ) ( 0g𝑅 ) ) = ( 0g𝑅 ) )
40 5 7 39 syl2anc ( 𝜑 → ( 𝑋 ( .r𝑅 ) ( 0g𝑅 ) ) = ( 0g𝑅 ) )
41 40 adantr ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → ( 𝑋 ( .r𝑅 ) ( 0g𝑅 ) ) = ( 0g𝑅 ) )
42 31 38 41 3eqtrd ( ( 𝜑𝑘 ∈ ( { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∖ ( 𝐹 supp ( 0g𝑅 ) ) ) ) → ( ( 𝑋 · 𝐹 ) ‘ 𝑘 ) = ( 0g𝑅 ) )
43 25 42 suppss ( 𝜑 → ( ( 𝑋 · 𝐹 ) supp ( 0g𝑅 ) ) ⊆ ( 𝐹 supp ( 0g𝑅 ) ) )
44 1 10 11 13 5 6 8 mhpdeg ( 𝜑 → ( 𝐹 supp ( 0g𝑅 ) ) ⊆ { 𝑔 ∈ { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } )
45 43 44 sstrd ( 𝜑 → ( ( 𝑋 · 𝐹 ) supp ( 0g𝑅 ) ) ⊆ { 𝑔 ∈ { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin } ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } )
46 1 2 9 10 11 13 5 6 24 45 ismhp2 ( 𝜑 → ( 𝑋 · 𝐹 ) ∈ ( 𝐻𝑁 ) )