Metamath Proof Explorer


Theorem evlvvval

Description: Give a formula for the evaluation of a polynomial given assignments from variables to values. (Contributed by SN, 5-Mar-2025)

Ref Expression
Hypotheses evlvvval.q 𝑄 = ( 𝐼 eval 𝑅 )
evlvvval.p 𝑃 = ( 𝐼 mPoly 𝑅 )
evlvvval.b 𝐵 = ( Base ‘ 𝑃 )
evlvvval.d 𝐷 = { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin }
evlvvval.k 𝐾 = ( Base ‘ 𝑅 )
evlvvval.m 𝑀 = ( mulGrp ‘ 𝑅 )
evlvvval.w = ( .g𝑀 )
evlvvval.x · = ( .r𝑅 )
evlvvval.i ( 𝜑𝐼𝑉 )
evlvvval.r ( 𝜑𝑅 ∈ CRing )
evlvvval.f ( 𝜑𝐹𝐵 )
evlvvval.a ( 𝜑𝐴 ∈ ( 𝐾m 𝐼 ) )
Assertion evlvvval ( 𝜑 → ( ( 𝑄𝐹 ) ‘ 𝐴 ) = ( 𝑅 Σg ( 𝑏𝐷 ↦ ( ( 𝐹𝑏 ) · ( 𝑀 Σg ( 𝑖𝐼 ↦ ( ( 𝑏𝑖 ) ( 𝐴𝑖 ) ) ) ) ) ) ) )

Proof

Step Hyp Ref Expression
1 evlvvval.q 𝑄 = ( 𝐼 eval 𝑅 )
2 evlvvval.p 𝑃 = ( 𝐼 mPoly 𝑅 )
3 evlvvval.b 𝐵 = ( Base ‘ 𝑃 )
4 evlvvval.d 𝐷 = { ∈ ( ℕ0m 𝐼 ) ∣ ( “ ℕ ) ∈ Fin }
5 evlvvval.k 𝐾 = ( Base ‘ 𝑅 )
6 evlvvval.m 𝑀 = ( mulGrp ‘ 𝑅 )
7 evlvvval.w = ( .g𝑀 )
8 evlvvval.x · = ( .r𝑅 )
9 evlvvval.i ( 𝜑𝐼𝑉 )
10 evlvvval.r ( 𝜑𝑅 ∈ CRing )
11 evlvvval.f ( 𝜑𝐹𝐵 )
12 evlvvval.a ( 𝜑𝐴 ∈ ( 𝐾m 𝐼 ) )
13 eqid ( ( 𝐼 evalSub 𝑅 ) ‘ ( Base ‘ 𝑅 ) ) = ( ( 𝐼 evalSub 𝑅 ) ‘ ( Base ‘ 𝑅 ) )
14 eqid ( 𝐼 mPoly ( 𝑅s ( Base ‘ 𝑅 ) ) ) = ( 𝐼 mPoly ( 𝑅s ( Base ‘ 𝑅 ) ) )
15 eqid ( 𝑅s ( Base ‘ 𝑅 ) ) = ( 𝑅s ( Base ‘ 𝑅 ) )
16 eqid ( Base ‘ ( 𝐼 mPoly ( 𝑅s ( Base ‘ 𝑅 ) ) ) ) = ( Base ‘ ( 𝐼 mPoly ( 𝑅s ( Base ‘ 𝑅 ) ) ) )
17 10 crngringd ( 𝜑𝑅 ∈ Ring )
18 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
19 18 subrgid ( 𝑅 ∈ Ring → ( Base ‘ 𝑅 ) ∈ ( SubRing ‘ 𝑅 ) )
20 17 19 syl ( 𝜑 → ( Base ‘ 𝑅 ) ∈ ( SubRing ‘ 𝑅 ) )
21 18 ressid ( 𝑅 ∈ CRing → ( 𝑅s ( Base ‘ 𝑅 ) ) = 𝑅 )
22 10 21 syl ( 𝜑 → ( 𝑅s ( Base ‘ 𝑅 ) ) = 𝑅 )
23 22 oveq2d ( 𝜑 → ( 𝐼 mPoly ( 𝑅s ( Base ‘ 𝑅 ) ) ) = ( 𝐼 mPoly 𝑅 ) )
24 23 2 eqtr4di ( 𝜑 → ( 𝐼 mPoly ( 𝑅s ( Base ‘ 𝑅 ) ) ) = 𝑃 )
25 24 fveq2d ( 𝜑 → ( Base ‘ ( 𝐼 mPoly ( 𝑅s ( Base ‘ 𝑅 ) ) ) ) = ( Base ‘ 𝑃 ) )
26 25 3 eqtr4di ( 𝜑 → ( Base ‘ ( 𝐼 mPoly ( 𝑅s ( Base ‘ 𝑅 ) ) ) ) = 𝐵 )
27 11 26 eleqtrrd ( 𝜑𝐹 ∈ ( Base ‘ ( 𝐼 mPoly ( 𝑅s ( Base ‘ 𝑅 ) ) ) ) )
28 13 1 14 15 16 9 10 20 27 evlsevl ( 𝜑 → ( ( ( 𝐼 evalSub 𝑅 ) ‘ ( Base ‘ 𝑅 ) ) ‘ 𝐹 ) = ( 𝑄𝐹 ) )
29 28 fveq1d ( 𝜑 → ( ( ( ( 𝐼 evalSub 𝑅 ) ‘ ( Base ‘ 𝑅 ) ) ‘ 𝐹 ) ‘ 𝐴 ) = ( ( 𝑄𝐹 ) ‘ 𝐴 ) )
30 13 14 16 15 4 5 6 7 8 9 10 20 27 12 evlsvvval ( 𝜑 → ( ( ( ( 𝐼 evalSub 𝑅 ) ‘ ( Base ‘ 𝑅 ) ) ‘ 𝐹 ) ‘ 𝐴 ) = ( 𝑅 Σg ( 𝑏𝐷 ↦ ( ( 𝐹𝑏 ) · ( 𝑀 Σg ( 𝑖𝐼 ↦ ( ( 𝑏𝑖 ) ( 𝐴𝑖 ) ) ) ) ) ) ) )
31 29 30 eqtr3d ( 𝜑 → ( ( 𝑄𝐹 ) ‘ 𝐴 ) = ( 𝑅 Σg ( 𝑏𝐷 ↦ ( ( 𝐹𝑏 ) · ( 𝑀 Σg ( 𝑖𝐼 ↦ ( ( 𝑏𝑖 ) ( 𝐴𝑖 ) ) ) ) ) ) ) )