Metamath Proof Explorer


Theorem mplidom

Description: The multivariate polynomials over an integral domain form an integral domain. See ply1idom . (Contributed by Thierry Arnoux, 4-May-2026)

Ref Expression
Hypotheses mplidom.p 𝑃 = ( 𝐼 mPoly 𝑅 )
mplidom.i ( 𝜑𝐼 ∈ Fin )
mplidom.r ( 𝜑𝑅 ∈ IDomn )
Assertion mplidom ( 𝜑𝑃 ∈ IDomn )

Proof

Step Hyp Ref Expression
1 mplidom.p 𝑃 = ( 𝐼 mPoly 𝑅 )
2 mplidom.i ( 𝜑𝐼 ∈ Fin )
3 mplidom.r ( 𝜑𝑅 ∈ IDomn )
4 fveq2 ( 𝑒 = 𝑓 → ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑒 ) = ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑓 ) )
5 4 fveq1d ( 𝑒 = 𝑓 → ( ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑒 ) ‘ { ⟨ 𝑥 , ( 𝑚 ‘ ∅ ) ⟩ } ) = ( ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑓 ) ‘ { ⟨ 𝑥 , ( 𝑚 ‘ ∅ ) ⟩ } ) )
6 5 mpteq2dv ( 𝑒 = 𝑓 → ( 𝑚 ∈ ( ℕ0m 1o ) ↦ ( ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑒 ) ‘ { ⟨ 𝑥 , ( 𝑚 ‘ ∅ ) ⟩ } ) ) = ( 𝑚 ∈ ( ℕ0m 1o ) ↦ ( ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑓 ) ‘ { ⟨ 𝑥 , ( 𝑚 ‘ ∅ ) ⟩ } ) ) )
7 6 cbvmptv ( 𝑒 ∈ ( Base ‘ ( ( 𝑗 ∪ { 𝑥 } ) mPoly 𝑅 ) ) ↦ ( 𝑚 ∈ ( ℕ0m 1o ) ↦ ( ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑒 ) ‘ { ⟨ 𝑥 , ( 𝑚 ‘ ∅ ) ⟩ } ) ) ) = ( 𝑓 ∈ ( Base ‘ ( ( 𝑗 ∪ { 𝑥 } ) mPoly 𝑅 ) ) ↦ ( 𝑚 ∈ ( ℕ0m 1o ) ↦ ( ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑓 ) ‘ { ⟨ 𝑥 , ( 𝑚 ‘ ∅ ) ⟩ } ) ) )
8 fveq1 ( 𝑚 = 𝑛 → ( 𝑚 ‘ ∅ ) = ( 𝑛 ‘ ∅ ) )
9 8 opeq2d ( 𝑚 = 𝑛 → ⟨ 𝑥 , ( 𝑚 ‘ ∅ ) ⟩ = ⟨ 𝑥 , ( 𝑛 ‘ ∅ ) ⟩ )
10 9 sneqd ( 𝑚 = 𝑛 → { ⟨ 𝑥 , ( 𝑚 ‘ ∅ ) ⟩ } = { ⟨ 𝑥 , ( 𝑛 ‘ ∅ ) ⟩ } )
11 10 fveq2d ( 𝑚 = 𝑛 → ( ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑓 ) ‘ { ⟨ 𝑥 , ( 𝑚 ‘ ∅ ) ⟩ } ) = ( ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑓 ) ‘ { ⟨ 𝑥 , ( 𝑛 ‘ ∅ ) ⟩ } ) )
12 11 cbvmptv ( 𝑚 ∈ ( ℕ0m 1o ) ↦ ( ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑓 ) ‘ { ⟨ 𝑥 , ( 𝑚 ‘ ∅ ) ⟩ } ) ) = ( 𝑛 ∈ ( ℕ0m 1o ) ↦ ( ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑓 ) ‘ { ⟨ 𝑥 , ( 𝑛 ‘ ∅ ) ⟩ } ) )
13 12 mpteq2i ( 𝑓 ∈ ( Base ‘ ( ( 𝑗 ∪ { 𝑥 } ) mPoly 𝑅 ) ) ↦ ( 𝑚 ∈ ( ℕ0m 1o ) ↦ ( ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑓 ) ‘ { ⟨ 𝑥 , ( 𝑚 ‘ ∅ ) ⟩ } ) ) ) = ( 𝑓 ∈ ( Base ‘ ( ( 𝑗 ∪ { 𝑥 } ) mPoly 𝑅 ) ) ↦ ( 𝑛 ∈ ( ℕ0m 1o ) ↦ ( ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑓 ) ‘ { ⟨ 𝑥 , ( 𝑛 ‘ ∅ ) ⟩ } ) ) )
14 7 13 eqtri ( 𝑒 ∈ ( Base ‘ ( ( 𝑗 ∪ { 𝑥 } ) mPoly 𝑅 ) ) ↦ ( 𝑚 ∈ ( ℕ0m 1o ) ↦ ( ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑒 ) ‘ { ⟨ 𝑥 , ( 𝑚 ‘ ∅ ) ⟩ } ) ) ) = ( 𝑓 ∈ ( Base ‘ ( ( 𝑗 ∪ { 𝑥 } ) mPoly 𝑅 ) ) ↦ ( 𝑛 ∈ ( ℕ0m 1o ) ↦ ( ( ( ( ( 𝑗 ∪ { 𝑥 } ) selectVars 𝑅 ) ‘ { 𝑥 } ) ‘ 𝑓 ) ‘ { ⟨ 𝑥 , ( 𝑛 ‘ ∅ ) ⟩ } ) ) )
15 eqid ( Base ‘ ( ( 𝑗 ∪ { 𝑥 } ) mPoly 𝑅 ) ) = ( Base ‘ ( ( 𝑗 ∪ { 𝑥 } ) mPoly 𝑅 ) )
16 eqid ( ( 𝑗 ∪ { 𝑥 } ) mPoly 𝑅 ) = ( ( 𝑗 ∪ { 𝑥 } ) mPoly 𝑅 )
17 eqid ( ( ( 𝑗 ∪ { 𝑥 } ) ∖ { 𝑥 } ) mPoly 𝑅 ) = ( ( ( 𝑗 ∪ { 𝑥 } ) ∖ { 𝑥 } ) mPoly 𝑅 )
18 eqid ( Poly1 ‘ ( ( ( 𝑗 ∪ { 𝑥 } ) ∖ { 𝑥 } ) mPoly 𝑅 ) ) = ( Poly1 ‘ ( ( ( 𝑗 ∪ { 𝑥 } ) ∖ { 𝑥 } ) mPoly 𝑅 ) )
19 1 2 3 14 15 16 17 18 mplidomlem ( 𝜑𝑃 ∈ IDomn )