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 โŠข ๐ท = { โ„Ž โˆˆ ( โ„•0 โ†‘m ๐ผ ) โˆฃ ( โ—ก โ„Ž โ€œ โ„• ) โˆˆ 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 โŠข ๐ท = { โ„Ž โˆˆ ( โ„•0 โ†‘m ๐ผ ) โˆฃ ( โ—ก โ„Ž โ€œ โ„• ) โˆˆ 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 ( ๐‘– โˆˆ ๐ผ โ†ฆ ( ( ๐‘ โ€˜ ๐‘– ) โ†‘ ( ๐ด โ€˜ ๐‘– ) ) ) ) ) ) ) )