Metamath Proof Explorer


Theorem ismhp

Description: Property of being a homogeneous polynomial. (Contributed by Steven Nguyen, 25-Aug-2023)

Ref Expression
Hypotheses ismhp.h 𝐻 = ( 𝐼 mHomP 𝑅 )
ismhp.p 𝑃 = ( 𝐼 mPoly 𝑅 )
ismhp.b 𝐵 = ( Base ‘ 𝑃 )
ismhp.0 0 = ( 0g𝑅 )
ismhp.d 𝐷 = { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin }
ismhp.n ( 𝜑𝑁 ∈ ℕ0 )
Assertion ismhp ( 𝜑 → ( 𝑋 ∈ ( 𝐻𝑁 ) ↔ ( 𝑋𝐵 ∧ ( 𝑋 supp 0 ) ⊆ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } ) ) )

Proof

Step Hyp Ref Expression
1 ismhp.h 𝐻 = ( 𝐼 mHomP 𝑅 )
2 ismhp.p 𝑃 = ( 𝐼 mPoly 𝑅 )
3 ismhp.b 𝐵 = ( Base ‘ 𝑃 )
4 ismhp.0 0 = ( 0g𝑅 )
5 ismhp.d 𝐷 = { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin }
6 ismhp.n ( 𝜑𝑁 ∈ ℕ0 )
7 reldmmhp Rel dom mHomP
8 id ( 𝑋 ∈ ( 𝐻𝑁 ) → 𝑋 ∈ ( 𝐻𝑁 ) )
9 7 1 8 elfvov1 ( 𝑋 ∈ ( 𝐻𝑁 ) → 𝐼 ∈ V )
10 7 1 8 elfvov2 ( 𝑋 ∈ ( 𝐻𝑁 ) → 𝑅 ∈ V )
11 9 10 jca ( 𝑋 ∈ ( 𝐻𝑁 ) → ( 𝐼 ∈ V ∧ 𝑅 ∈ V ) )
12 11 anim2i ( ( 𝜑𝑋 ∈ ( 𝐻𝑁 ) ) → ( 𝜑 ∧ ( 𝐼 ∈ V ∧ 𝑅 ∈ V ) ) )
13 reldmmpl Rel dom mPoly
14 13 2 3 elbasov ( 𝑋𝐵 → ( 𝐼 ∈ V ∧ 𝑅 ∈ V ) )
15 14 adantr ( ( 𝑋𝐵 ∧ ( 𝑋 supp 0 ) ⊆ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } ) → ( 𝐼 ∈ V ∧ 𝑅 ∈ V ) )
16 15 anim2i ( ( 𝜑 ∧ ( 𝑋𝐵 ∧ ( 𝑋 supp 0 ) ⊆ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } ) ) → ( 𝜑 ∧ ( 𝐼 ∈ V ∧ 𝑅 ∈ V ) ) )
17 simprl ( ( 𝜑 ∧ ( 𝐼 ∈ V ∧ 𝑅 ∈ V ) ) → 𝐼 ∈ V )
18 simprr ( ( 𝜑 ∧ ( 𝐼 ∈ V ∧ 𝑅 ∈ V ) ) → 𝑅 ∈ V )
19 6 adantr ( ( 𝜑 ∧ ( 𝐼 ∈ V ∧ 𝑅 ∈ V ) ) → 𝑁 ∈ ℕ0 )
20 1 2 3 4 5 17 18 19 mhpval ( ( 𝜑 ∧ ( 𝐼 ∈ V ∧ 𝑅 ∈ V ) ) → ( 𝐻𝑁 ) = { 𝑓𝐵 ∣ ( 𝑓 supp 0 ) ⊆ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } } )
21 20 eleq2d ( ( 𝜑 ∧ ( 𝐼 ∈ V ∧ 𝑅 ∈ V ) ) → ( 𝑋 ∈ ( 𝐻𝑁 ) ↔ 𝑋 ∈ { 𝑓𝐵 ∣ ( 𝑓 supp 0 ) ⊆ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } } ) )
22 oveq1 ( 𝑓 = 𝑋 → ( 𝑓 supp 0 ) = ( 𝑋 supp 0 ) )
23 22 sseq1d ( 𝑓 = 𝑋 → ( ( 𝑓 supp 0 ) ⊆ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } ↔ ( 𝑋 supp 0 ) ⊆ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } ) )
24 23 elrab ( 𝑋 ∈ { 𝑓𝐵 ∣ ( 𝑓 supp 0 ) ⊆ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } } ↔ ( 𝑋𝐵 ∧ ( 𝑋 supp 0 ) ⊆ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } ) )
25 21 24 bitrdi ( ( 𝜑 ∧ ( 𝐼 ∈ V ∧ 𝑅 ∈ V ) ) → ( 𝑋 ∈ ( 𝐻𝑁 ) ↔ ( 𝑋𝐵 ∧ ( 𝑋 supp 0 ) ⊆ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } ) ) )
26 12 16 25 pm5.21nd ( 𝜑 → ( 𝑋 ∈ ( 𝐻𝑁 ) ↔ ( 𝑋𝐵 ∧ ( 𝑋 supp 0 ) ⊆ { 𝑔𝐷 ∣ ( ( ℂflds0 ) Σg 𝑔 ) = 𝑁 } ) ) )