Metamath Proof Explorer


Theorem mhpind

Description: The homogeneous polynomials of degree N are generated by the terms of degree N and addition. (Contributed by SN, 28-Jul-2024)

Ref Expression
Hypotheses mhpind.h 𝐻 = ( 𝐼 mHomP 𝑅 )
mhpind.b 𝐵 = ( Base ‘ 𝑅 )
mhpind.z 0 = ( 0g𝑅 )
mhpind.p 𝑃 = ( 𝐼 mPoly 𝑅 )
mhpind.a + = ( +g𝑃 )
mhpind.d 𝐷 = { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin }
mhpind.s 𝑆 = { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 }
mhpind.r ( 𝜑𝑅 ∈ Grp )
mhpind.x ( 𝜑𝑋 ∈ ( 𝐻𝑁 ) )
mhpind.0 ( 𝜑 → ( 𝐷 × { 0 } ) ∈ 𝐺 )
mhpind.1 ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) ∈ 𝐺 )
mhpind.2 ( ( 𝜑 ∧ ( 𝑥 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ∧ 𝑦 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ) ) → ( 𝑥 + 𝑦 ) ∈ 𝐺 )
Assertion mhpind ( 𝜑𝑋𝐺 )

Proof

Step Hyp Ref Expression
1 mhpind.h 𝐻 = ( 𝐼 mHomP 𝑅 )
2 mhpind.b 𝐵 = ( Base ‘ 𝑅 )
3 mhpind.z 0 = ( 0g𝑅 )
4 mhpind.p 𝑃 = ( 𝐼 mPoly 𝑅 )
5 mhpind.a + = ( +g𝑃 )
6 mhpind.d 𝐷 = { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin }
7 mhpind.s 𝑆 = { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 }
8 mhpind.r ( 𝜑𝑅 ∈ Grp )
9 mhpind.x ( 𝜑𝑋 ∈ ( 𝐻𝑁 ) )
10 mhpind.0 ( 𝜑 → ( 𝐷 × { 0 } ) ∈ 𝐺 )
11 mhpind.1 ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) ∈ 𝐺 )
12 mhpind.2 ( ( 𝜑 ∧ ( 𝑥 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ∧ 𝑦 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ) ) → ( 𝑥 + 𝑦 ) ∈ 𝐺 )
13 eqid ( +g𝑅 ) = ( +g𝑅 )
14 ovexd ( 𝜑 → ( ℕ0m 𝐼 ) ∈ V )
15 6 14 rabexd ( 𝜑𝐷 ∈ V )
16 ssrab2 { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } ⊆ 𝐷
17 16 a1i ( 𝜑 → { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } ⊆ 𝐷 )
18 reldmmhp Rel dom mHomP
19 18 1 9 elfvov1 ( 𝜑𝐼 ∈ V )
20 1 9 mhprcl ( 𝜑𝑁 ∈ ℕ0 )
21 1 3 6 19 8 20 mhp0cl ( 𝜑 → ( 𝐷 × { 0 } ) ∈ ( 𝐻𝑁 ) )
22 21 10 elind ( 𝜑 → ( 𝐷 × { 0 } ) ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) )
23 7 eleq2i ( 𝑎𝑆𝑎 ∈ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } )
24 23 biimpri ( 𝑎 ∈ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } → 𝑎𝑆 )
25 eqid ( Base ‘ 𝑃 ) = ( Base ‘ 𝑃 )
26 20 adantr ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → 𝑁 ∈ ℕ0 )
27 simplrr ( ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) ∧ 𝑠𝐷 ) → 𝑏𝐵 )
28 2 3 grpidcl ( 𝑅 ∈ Grp → 0𝐵 )
29 8 28 syl ( 𝜑0𝐵 )
30 29 ad2antrr ( ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) ∧ 𝑠𝐷 ) → 0𝐵 )
31 27 30 ifcld ( ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) ∧ 𝑠𝐷 ) → if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ∈ 𝐵 )
32 31 fmpttd ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) : 𝐷𝐵 )
33 2 fvexi 𝐵 ∈ V
34 33 a1i ( 𝜑𝐵 ∈ V )
35 34 15 elmapd ( 𝜑 → ( ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) ∈ ( 𝐵m 𝐷 ) ↔ ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) : 𝐷𝐵 ) )
36 35 adantr ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → ( ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) ∈ ( 𝐵m 𝐷 ) ↔ ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) : 𝐷𝐵 ) )
37 32 36 mpbird ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) ∈ ( 𝐵m 𝐷 ) )
38 eqid ( 𝐼 mPwSer 𝑅 ) = ( 𝐼 mPwSer 𝑅 )
39 eqid ( Base ‘ ( 𝐼 mPwSer 𝑅 ) ) = ( Base ‘ ( 𝐼 mPwSer 𝑅 ) )
40 38 2 6 39 19 psrbas ( 𝜑 → ( Base ‘ ( 𝐼 mPwSer 𝑅 ) ) = ( 𝐵m 𝐷 ) )
41 40 adantr ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → ( Base ‘ ( 𝐼 mPwSer 𝑅 ) ) = ( 𝐵m 𝐷 ) )
42 37 41 eleqtrrd ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) ∈ ( Base ‘ ( 𝐼 mPwSer 𝑅 ) ) )
43 3 fvexi 0 ∈ V
44 43 a1i ( 𝜑0 ∈ V )
45 eqid ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) = ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) )
46 15 44 45 sniffsupp ( 𝜑 → ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) finSupp 0 )
47 46 adantr ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) finSupp 0 )
48 4 38 39 3 25 mplelbas ( ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) ∈ ( Base ‘ 𝑃 ) ↔ ( ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) ∈ ( Base ‘ ( 𝐼 mPwSer 𝑅 ) ) ∧ ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) finSupp 0 ) )
49 42 47 48 sylanbrc ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) ∈ ( Base ‘ 𝑃 ) )
50 elneeldif ( ( 𝑎𝑆𝑠 ∈ ( 𝐷𝑆 ) ) → 𝑎𝑠 )
51 50 necomd ( ( 𝑎𝑆𝑠 ∈ ( 𝐷𝑆 ) ) → 𝑠𝑎 )
52 51 adantll ( ( ( 𝜑𝑎𝑆 ) ∧ 𝑠 ∈ ( 𝐷𝑆 ) ) → 𝑠𝑎 )
53 52 adantlrr ( ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) ∧ 𝑠 ∈ ( 𝐷𝑆 ) ) → 𝑠𝑎 )
54 53 neneqd ( ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) ∧ 𝑠 ∈ ( 𝐷𝑆 ) ) → ¬ 𝑠 = 𝑎 )
55 54 iffalsed ( ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) ∧ 𝑠 ∈ ( 𝐷𝑆 ) ) → if ( 𝑠 = 𝑎 , 𝑏 , 0 ) = 0 )
56 15 adantr ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → 𝐷 ∈ V )
57 55 56 suppss2 ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → ( ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) supp 0 ) ⊆ 𝑆 )
58 57 7 sseqtrdi ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → ( ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) supp 0 ) ⊆ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } )
59 1 4 25 3 6 26 49 58 ismhp2 ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) ∈ ( 𝐻𝑁 ) )
60 59 11 elind ( ( 𝜑 ∧ ( 𝑎𝑆𝑏𝐵 ) ) → ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) )
61 24 60 sylanr1 ( ( 𝜑 ∧ ( 𝑎 ∈ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } ∧ 𝑏𝐵 ) ) → ( 𝑠𝐷 ↦ if ( 𝑠 = 𝑎 , 𝑏 , 0 ) ) ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) )
62 elinel1 ( 𝑥 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) → 𝑥 ∈ ( 𝐻𝑁 ) )
63 62 ad2antrl ( ( 𝜑 ∧ ( 𝑥 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ∧ 𝑦 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ) ) → 𝑥 ∈ ( 𝐻𝑁 ) )
64 1 4 25 63 mhpmpl ( ( 𝜑 ∧ ( 𝑥 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ∧ 𝑦 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ) ) → 𝑥 ∈ ( Base ‘ 𝑃 ) )
65 elinel1 ( 𝑦 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) → 𝑦 ∈ ( 𝐻𝑁 ) )
66 65 ad2antll ( ( 𝜑 ∧ ( 𝑥 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ∧ 𝑦 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ) ) → 𝑦 ∈ ( 𝐻𝑁 ) )
67 1 4 25 66 mhpmpl ( ( 𝜑 ∧ ( 𝑥 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ∧ 𝑦 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ) ) → 𝑦 ∈ ( Base ‘ 𝑃 ) )
68 4 25 13 5 64 67 mpladd ( ( 𝜑 ∧ ( 𝑥 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ∧ 𝑦 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ) ) → ( 𝑥 + 𝑦 ) = ( 𝑥f ( +g𝑅 ) 𝑦 ) )
69 8 adantr ( ( 𝜑 ∧ ( 𝑥 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ∧ 𝑦 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ) ) → 𝑅 ∈ Grp )
70 1 4 5 69 63 66 mhpaddcl ( ( 𝜑 ∧ ( 𝑥 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ∧ 𝑦 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ) ) → ( 𝑥 + 𝑦 ) ∈ ( 𝐻𝑁 ) )
71 70 12 elind ( ( 𝜑 ∧ ( 𝑥 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ∧ 𝑦 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ) ) → ( 𝑥 + 𝑦 ) ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) )
72 68 71 eqeltrrd ( ( 𝜑 ∧ ( 𝑥 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ∧ 𝑦 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) ) ) → ( 𝑥f ( +g𝑅 ) 𝑦 ) ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) )
73 1 4 25 9 mhpmpl ( 𝜑𝑋 ∈ ( Base ‘ 𝑃 ) )
74 4 2 25 6 73 mplelf ( 𝜑𝑋 : 𝐷𝐵 )
75 4 25 3 73 mplelsfi ( 𝜑𝑋 finSupp 0 )
76 1 3 6 9 mhpdeg ( 𝜑 → ( 𝑋 supp 0 ) ⊆ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } )
77 2 3 13 8 15 17 22 61 72 74 75 76 fsuppssind ( 𝜑𝑋 ∈ ( ( 𝐻𝑁 ) ∩ 𝐺 ) )
78 77 elin2d ( 𝜑𝑋𝐺 )