Metamath Proof Explorer


Theorem mpfind

Description: Prove a property of polynomials by "structural" induction, under a simplified model of structure which loses the sum of products structure. (Contributed by Mario Carneiro, 19-Mar-2015)

Ref Expression
Hypotheses mpfind.cb โŠข ๐ต = ( Base โ€˜ ๐‘† )
mpfind.cp โŠข + = ( +g โ€˜ ๐‘† )
mpfind.ct โŠข ยท = ( .r โ€˜ ๐‘† )
mpfind.cq โŠข ๐‘„ = ran ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… )
mpfind.ad โŠข ( ( ๐œ‘ โˆง ( ( ๐‘“ โˆˆ ๐‘„ โˆง ๐œ ) โˆง ( ๐‘” โˆˆ ๐‘„ โˆง ๐œ‚ ) ) ) โ†’ ๐œ )
mpfind.mu โŠข ( ( ๐œ‘ โˆง ( ( ๐‘“ โˆˆ ๐‘„ โˆง ๐œ ) โˆง ( ๐‘” โˆˆ ๐‘„ โˆง ๐œ‚ ) ) ) โ†’ ๐œŽ )
mpfind.wa โŠข ( ๐‘ฅ = ( ( ๐ต โ†‘m ๐ผ ) ร— { ๐‘“ } ) โ†’ ( ๐œ“ โ†” ๐œ’ ) )
mpfind.wb โŠข ( ๐‘ฅ = ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘“ ) ) โ†’ ( ๐œ“ โ†” ๐œƒ ) )
mpfind.wc โŠข ( ๐‘ฅ = ๐‘“ โ†’ ( ๐œ“ โ†” ๐œ ) )
mpfind.wd โŠข ( ๐‘ฅ = ๐‘” โ†’ ( ๐œ“ โ†” ๐œ‚ ) )
mpfind.we โŠข ( ๐‘ฅ = ( ๐‘“ โˆ˜f + ๐‘” ) โ†’ ( ๐œ“ โ†” ๐œ ) )
mpfind.wf โŠข ( ๐‘ฅ = ( ๐‘“ โˆ˜f ยท ๐‘” ) โ†’ ( ๐œ“ โ†” ๐œŽ ) )
mpfind.wg โŠข ( ๐‘ฅ = ๐ด โ†’ ( ๐œ“ โ†” ๐œŒ ) )
mpfind.co โŠข ( ( ๐œ‘ โˆง ๐‘“ โˆˆ ๐‘… ) โ†’ ๐œ’ )
mpfind.pr โŠข ( ( ๐œ‘ โˆง ๐‘“ โˆˆ ๐ผ ) โ†’ ๐œƒ )
mpfind.a โŠข ( ๐œ‘ โ†’ ๐ด โˆˆ ๐‘„ )
Assertion mpfind ( ๐œ‘ โ†’ ๐œŒ )

Proof

Step Hyp Ref Expression
1 mpfind.cb โŠข ๐ต = ( Base โ€˜ ๐‘† )
2 mpfind.cp โŠข + = ( +g โ€˜ ๐‘† )
3 mpfind.ct โŠข ยท = ( .r โ€˜ ๐‘† )
4 mpfind.cq โŠข ๐‘„ = ran ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… )
5 mpfind.ad โŠข ( ( ๐œ‘ โˆง ( ( ๐‘“ โˆˆ ๐‘„ โˆง ๐œ ) โˆง ( ๐‘” โˆˆ ๐‘„ โˆง ๐œ‚ ) ) ) โ†’ ๐œ )
6 mpfind.mu โŠข ( ( ๐œ‘ โˆง ( ( ๐‘“ โˆˆ ๐‘„ โˆง ๐œ ) โˆง ( ๐‘” โˆˆ ๐‘„ โˆง ๐œ‚ ) ) ) โ†’ ๐œŽ )
7 mpfind.wa โŠข ( ๐‘ฅ = ( ( ๐ต โ†‘m ๐ผ ) ร— { ๐‘“ } ) โ†’ ( ๐œ“ โ†” ๐œ’ ) )
8 mpfind.wb โŠข ( ๐‘ฅ = ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘“ ) ) โ†’ ( ๐œ“ โ†” ๐œƒ ) )
9 mpfind.wc โŠข ( ๐‘ฅ = ๐‘“ โ†’ ( ๐œ“ โ†” ๐œ ) )
10 mpfind.wd โŠข ( ๐‘ฅ = ๐‘” โ†’ ( ๐œ“ โ†” ๐œ‚ ) )
11 mpfind.we โŠข ( ๐‘ฅ = ( ๐‘“ โˆ˜f + ๐‘” ) โ†’ ( ๐œ“ โ†” ๐œ ) )
12 mpfind.wf โŠข ( ๐‘ฅ = ( ๐‘“ โˆ˜f ยท ๐‘” ) โ†’ ( ๐œ“ โ†” ๐œŽ ) )
13 mpfind.wg โŠข ( ๐‘ฅ = ๐ด โ†’ ( ๐œ“ โ†” ๐œŒ ) )
14 mpfind.co โŠข ( ( ๐œ‘ โˆง ๐‘“ โˆˆ ๐‘… ) โ†’ ๐œ’ )
15 mpfind.pr โŠข ( ( ๐œ‘ โˆง ๐‘“ โˆˆ ๐ผ ) โ†’ ๐œƒ )
16 mpfind.a โŠข ( ๐œ‘ โ†’ ๐ด โˆˆ ๐‘„ )
17 16 4 eleqtrdi โŠข ( ๐œ‘ โ†’ ๐ด โˆˆ ran ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) )
18 4 mpfrcl โŠข ( ๐ด โˆˆ ๐‘„ โ†’ ( ๐ผ โˆˆ V โˆง ๐‘† โˆˆ CRing โˆง ๐‘… โˆˆ ( SubRing โ€˜ ๐‘† ) ) )
19 16 18 syl โŠข ( ๐œ‘ โ†’ ( ๐ผ โˆˆ V โˆง ๐‘† โˆˆ CRing โˆง ๐‘… โˆˆ ( SubRing โ€˜ ๐‘† ) ) )
20 eqid โŠข ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) = ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… )
21 eqid โŠข ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) = ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) )
22 eqid โŠข ( ๐‘† โ†พs ๐‘… ) = ( ๐‘† โ†พs ๐‘… )
23 eqid โŠข ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) = ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) )
24 20 21 22 23 1 evlsrhm โŠข ( ( ๐ผ โˆˆ V โˆง ๐‘† โˆˆ CRing โˆง ๐‘… โˆˆ ( SubRing โ€˜ ๐‘† ) ) โ†’ ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆˆ ( ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) RingHom ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) )
25 eqid โŠข ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) = ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) )
26 eqid โŠข ( Base โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) = ( Base โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) )
27 25 26 rhmf โŠข ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆˆ ( ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) RingHom ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) โ†’ ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) : ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โŸถ ( Base โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) )
28 19 24 27 3syl โŠข ( ๐œ‘ โ†’ ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) : ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โŸถ ( Base โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) )
29 28 ffnd โŠข ( ๐œ‘ โ†’ ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) Fn ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
30 fvelrnb โŠข ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) Fn ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( ๐ด โˆˆ ran ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ†” โˆƒ ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘ฆ ) = ๐ด ) )
31 29 30 syl โŠข ( ๐œ‘ โ†’ ( ๐ด โˆˆ ran ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ†” โˆƒ ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘ฆ ) = ๐ด ) )
32 17 31 mpbid โŠข ( ๐œ‘ โ†’ โˆƒ ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘ฆ ) = ๐ด )
33 28 ffund โŠข ( ๐œ‘ โ†’ Fun ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) )
34 eqid โŠข ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) = ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) )
35 eqid โŠข ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) = ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) )
36 eqid โŠข ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) = ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) )
37 eqid โŠข ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) = ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) )
38 eqid โŠข ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) = ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) )
39 19 simp1d โŠข ( ๐œ‘ โ†’ ๐ผ โˆˆ V )
40 19 simp2d โŠข ( ๐œ‘ โ†’ ๐‘† โˆˆ CRing )
41 19 simp3d โŠข ( ๐œ‘ โ†’ ๐‘… โˆˆ ( SubRing โ€˜ ๐‘† ) )
42 22 subrgcrng โŠข ( ( ๐‘† โˆˆ CRing โˆง ๐‘… โˆˆ ( SubRing โ€˜ ๐‘† ) ) โ†’ ( ๐‘† โ†พs ๐‘… ) โˆˆ CRing )
43 40 41 42 syl2anc โŠข ( ๐œ‘ โ†’ ( ๐‘† โ†พs ๐‘… ) โˆˆ CRing )
44 crngring โŠข ( ( ๐‘† โ†พs ๐‘… ) โˆˆ CRing โ†’ ( ๐‘† โ†พs ๐‘… ) โˆˆ Ring )
45 43 44 syl โŠข ( ๐œ‘ โ†’ ( ๐‘† โ†พs ๐‘… ) โˆˆ Ring )
46 21 mplring โŠข ( ( ๐ผ โˆˆ V โˆง ( ๐‘† โ†พs ๐‘… ) โˆˆ Ring ) โ†’ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) โˆˆ Ring )
47 39 45 46 syl2anc โŠข ( ๐œ‘ โ†’ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) โˆˆ Ring )
48 47 adantr โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) โˆˆ Ring )
49 simprl โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) )
50 elpreima โŠข ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) Fn ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ๐‘– โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
51 29 50 syl โŠข ( ๐œ‘ โ†’ ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ๐‘– โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
52 51 adantr โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ๐‘– โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
53 49 52 mpbid โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ๐‘– โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
54 53 simpld โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ๐‘– โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
55 simprr โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) )
56 elpreima โŠข ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) Fn ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ๐‘— โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
57 29 56 syl โŠข ( ๐œ‘ โ†’ ( ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ๐‘— โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
58 57 adantr โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ๐‘— โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
59 55 58 mpbid โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ๐‘— โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
60 59 simpld โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ๐‘— โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
61 25 36 ringacl โŠข ( ( ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) โˆˆ Ring โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ๐‘— โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โ†’ ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
62 48 54 60 61 syl3anc โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
63 rhmghm โŠข ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆˆ ( ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) RingHom ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) โ†’ ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆˆ ( ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) GrpHom ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) )
64 19 24 63 3syl โŠข ( ๐œ‘ โ†’ ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆˆ ( ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) GrpHom ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) )
65 64 adantr โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆˆ ( ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) GrpHom ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) )
66 eqid โŠข ( +g โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) = ( +g โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) )
67 25 36 66 ghmlin โŠข ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆˆ ( ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) GrpHom ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ๐‘— โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) ) = ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) ( +g โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) )
68 65 54 60 67 syl3anc โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) ) = ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) ( +g โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) )
69 40 adantr โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ๐‘† โˆˆ CRing )
70 ovexd โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ๐ต โ†‘m ๐ผ ) โˆˆ V )
71 28 adantr โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) : ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โŸถ ( Base โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) )
72 71 54 ffvelcdmd โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ ( Base โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) )
73 71 60 ffvelcdmd โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ ( Base โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) )
74 23 26 69 70 72 73 2 66 pwsplusgval โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) ( +g โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) = ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f + ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) )
75 68 74 eqtrd โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) ) = ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f + ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) )
76 simpl โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ๐œ‘ )
77 fnfvelrn โŠข ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) Fn ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ ran ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) )
78 29 54 77 syl2an2r โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ ran ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) )
79 78 4 eleqtrrdi โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ ๐‘„ )
80 fvimacnvi โŠข ( ( Fun ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆง ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
81 33 49 80 syl2an2r โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
82 79 81 jca โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
83 fnfvelrn โŠข ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) Fn ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ๐‘— โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ ran ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) )
84 29 60 83 syl2an2r โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ ran ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) )
85 84 4 eleqtrrdi โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ ๐‘„ )
86 fvimacnvi โŠข ( ( Fun ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
87 33 55 86 syl2an2r โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
88 85 87 jca โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
89 fvex โŠข ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ V
90 fvex โŠข ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ V
91 eleq1 โŠข ( ๐‘“ = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โ†’ ( ๐‘“ โˆˆ ๐‘„ โ†” ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ ๐‘„ ) )
92 vex โŠข ๐‘“ โˆˆ V
93 92 9 elab โŠข ( ๐‘“ โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ๐œ )
94 eleq1 โŠข ( ๐‘“ = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โ†’ ( ๐‘“ โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
95 93 94 bitr3id โŠข ( ๐‘“ = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โ†’ ( ๐œ โ†” ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
96 91 95 anbi12d โŠข ( ๐‘“ = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โ†’ ( ( ๐‘“ โˆˆ ๐‘„ โˆง ๐œ ) โ†” ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
97 eleq1 โŠข ( ๐‘” = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โ†’ ( ๐‘” โˆˆ ๐‘„ โ†” ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ ๐‘„ ) )
98 vex โŠข ๐‘” โˆˆ V
99 98 10 elab โŠข ( ๐‘” โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ๐œ‚ )
100 eleq1 โŠข ( ๐‘” = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โ†’ ( ๐‘” โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
101 99 100 bitr3id โŠข ( ๐‘” = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โ†’ ( ๐œ‚ โ†” ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
102 97 101 anbi12d โŠข ( ๐‘” = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โ†’ ( ( ๐‘” โˆˆ ๐‘„ โˆง ๐œ‚ ) โ†” ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
103 96 102 bi2anan9 โŠข ( ( ๐‘“ = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆง ๐‘” = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โ†’ ( ( ( ๐‘“ โˆˆ ๐‘„ โˆง ๐œ ) โˆง ( ๐‘” โˆˆ ๐‘„ โˆง ๐œ‚ ) ) โ†” ( ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) )
104 103 anbi2d โŠข ( ( ๐‘“ = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆง ๐‘” = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โ†’ ( ( ๐œ‘ โˆง ( ( ๐‘“ โˆˆ ๐‘„ โˆง ๐œ ) โˆง ( ๐‘” โˆˆ ๐‘„ โˆง ๐œ‚ ) ) ) โ†” ( ๐œ‘ โˆง ( ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) ) )
105 ovex โŠข ( ๐‘“ โˆ˜f + ๐‘” ) โˆˆ V
106 105 11 elab โŠข ( ( ๐‘“ โˆ˜f + ๐‘” ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ๐œ )
107 oveq12 โŠข ( ( ๐‘“ = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆง ๐‘” = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โ†’ ( ๐‘“ โˆ˜f + ๐‘” ) = ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f + ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) )
108 107 eleq1d โŠข ( ( ๐‘“ = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆง ๐‘” = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โ†’ ( ( ๐‘“ โˆ˜f + ๐‘” ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f + ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
109 106 108 bitr3id โŠข ( ( ๐‘“ = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆง ๐‘” = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โ†’ ( ๐œ โ†” ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f + ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
110 104 109 imbi12d โŠข ( ( ๐‘“ = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆง ๐‘” = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โ†’ ( ( ( ๐œ‘ โˆง ( ( ๐‘“ โˆˆ ๐‘„ โˆง ๐œ ) โˆง ( ๐‘” โˆˆ ๐‘„ โˆง ๐œ‚ ) ) ) โ†’ ๐œ ) โ†” ( ( ๐œ‘ โˆง ( ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f + ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
111 89 90 110 5 vtocl2 โŠข ( ( ๐œ‘ โˆง ( ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f + ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
112 76 82 88 111 syl12anc โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f + ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
113 75 112 eqeltrd โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
114 elpreima โŠข ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) Fn ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
115 29 114 syl โŠข ( ๐œ‘ โ†’ ( ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
116 115 adantr โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
117 62 113 116 mpbir2and โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) )
118 117 adantlr โŠข ( ( ( ๐œ‘ โˆง ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ๐‘– ( +g โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) )
119 25 37 ringcl โŠข ( ( ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) โˆˆ Ring โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ๐‘— โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โ†’ ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
120 48 54 60 119 syl3anc โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
121 eqid โŠข ( mulGrp โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) = ( mulGrp โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) )
122 eqid โŠข ( mulGrp โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) = ( mulGrp โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) )
123 121 122 rhmmhm โŠข ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆˆ ( ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) RingHom ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) โ†’ ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆˆ ( ( mulGrp โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) MndHom ( mulGrp โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) ) )
124 19 24 123 3syl โŠข ( ๐œ‘ โ†’ ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆˆ ( ( mulGrp โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) MndHom ( mulGrp โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) ) )
125 124 adantr โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆˆ ( ( mulGrp โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) MndHom ( mulGrp โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) ) )
126 121 25 mgpbas โŠข ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) = ( Base โ€˜ ( mulGrp โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
127 121 37 mgpplusg โŠข ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) = ( +g โ€˜ ( mulGrp โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
128 eqid โŠข ( .r โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) = ( .r โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) )
129 122 128 mgpplusg โŠข ( .r โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) = ( +g โ€˜ ( mulGrp โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) )
130 126 127 129 mhmlin โŠข ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆˆ ( ( mulGrp โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) MndHom ( mulGrp โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) ) โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ๐‘— โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) ) = ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) ( .r โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) )
131 125 54 60 130 syl3anc โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) ) = ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) ( .r โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) )
132 23 26 69 70 72 73 3 128 pwsmulrval โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) ( .r โ€˜ ( ๐‘† โ†‘s ( ๐ต โ†‘m ๐ผ ) ) ) ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) = ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f ยท ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) )
133 131 132 eqtrd โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) ) = ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f ยท ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) )
134 ovex โŠข ( ๐‘“ โˆ˜f ยท ๐‘” ) โˆˆ V
135 134 12 elab โŠข ( ( ๐‘“ โˆ˜f ยท ๐‘” ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ๐œŽ )
136 oveq12 โŠข ( ( ๐‘“ = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆง ๐‘” = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โ†’ ( ๐‘“ โˆ˜f ยท ๐‘” ) = ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f ยท ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) )
137 136 eleq1d โŠข ( ( ๐‘“ = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆง ๐‘” = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โ†’ ( ( ๐‘“ โˆ˜f ยท ๐‘” ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f ยท ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
138 135 137 bitr3id โŠข ( ( ๐‘“ = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆง ๐‘” = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โ†’ ( ๐œŽ โ†” ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f ยท ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
139 104 138 imbi12d โŠข ( ( ๐‘“ = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆง ๐‘” = ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โ†’ ( ( ( ๐œ‘ โˆง ( ( ๐‘“ โˆˆ ๐‘„ โˆง ๐œ ) โˆง ( ๐‘” โˆˆ ๐‘„ โˆง ๐œ‚ ) ) ) โ†’ ๐œŽ ) โ†” ( ( ๐œ‘ โˆง ( ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f ยท ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
140 89 90 139 6 vtocl2 โŠข ( ( ๐œ‘ โˆง ( ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ ๐‘„ โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f ยท ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
141 76 82 88 140 syl12anc โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘– ) โˆ˜f ยท ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
142 133 141 eqeltrd โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
143 elpreima โŠข ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) Fn ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
144 29 143 syl โŠข ( ๐œ‘ โ†’ ( ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
145 144 adantr โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
146 120 142 145 mpbir2and โŠข ( ( ๐œ‘ โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) )
147 146 adantlr โŠข ( ( ( ๐œ‘ โˆง ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โˆง ( ๐‘– โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โˆง ๐‘— โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) ) โ†’ ( ๐‘– ( .r โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ๐‘— ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) )
148 21 mplassa โŠข ( ( ๐ผ โˆˆ V โˆง ( ๐‘† โ†พs ๐‘… ) โˆˆ CRing ) โ†’ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) โˆˆ AssAlg )
149 39 43 148 syl2anc โŠข ( ๐œ‘ โ†’ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) โˆˆ AssAlg )
150 eqid โŠข ( Scalar โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) = ( Scalar โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) )
151 38 150 asclrhm โŠข ( ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) โˆˆ AssAlg โ†’ ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆˆ ( ( Scalar โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) RingHom ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
152 eqid โŠข ( Base โ€˜ ( Scalar โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) = ( Base โ€˜ ( Scalar โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
153 152 25 rhmf โŠข ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆˆ ( ( Scalar โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) RingHom ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) : ( Base โ€˜ ( Scalar โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โŸถ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
154 149 151 153 3syl โŠข ( ๐œ‘ โ†’ ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) : ( Base โ€˜ ( Scalar โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โŸถ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
155 154 adantr โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) : ( Base โ€˜ ( Scalar โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โŸถ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
156 21 39 43 mplsca โŠข ( ๐œ‘ โ†’ ( ๐‘† โ†พs ๐‘… ) = ( Scalar โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
157 156 fveq2d โŠข ( ๐œ‘ โ†’ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) = ( Base โ€˜ ( Scalar โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) )
158 157 eleq2d โŠข ( ๐œ‘ โ†’ ( ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) โ†” ๐‘– โˆˆ ( Base โ€˜ ( Scalar โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) ) )
159 158 biimpa โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ๐‘– โˆˆ ( Base โ€˜ ( Scalar โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) )
160 155 159 ffvelcdmd โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ€˜ ๐‘– ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
161 39 adantr โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ๐ผ โˆˆ V )
162 40 adantr โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ๐‘† โˆˆ CRing )
163 41 adantr โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ๐‘… โˆˆ ( SubRing โ€˜ ๐‘† ) )
164 1 subrgss โŠข ( ๐‘… โˆˆ ( SubRing โ€˜ ๐‘† ) โ†’ ๐‘… โІ ๐ต )
165 22 1 ressbas2 โŠข ( ๐‘… โІ ๐ต โ†’ ๐‘… = ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) )
166 41 164 165 3syl โŠข ( ๐œ‘ โ†’ ๐‘… = ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) )
167 166 eleq2d โŠข ( ๐œ‘ โ†’ ( ๐‘– โˆˆ ๐‘… โ†” ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) ) )
168 167 biimpar โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ๐‘– โˆˆ ๐‘… )
169 20 21 22 1 38 161 162 163 168 evlssca โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ€˜ ๐‘– ) ) = ( ( ๐ต โ†‘m ๐ผ ) ร— { ๐‘– } ) )
170 14 ralrimiva โŠข ( ๐œ‘ โ†’ โˆ€ ๐‘“ โˆˆ ๐‘… ๐œ’ )
171 ovex โŠข ( ๐ต โ†‘m ๐ผ ) โˆˆ V
172 vsnex โŠข { ๐‘“ } โˆˆ V
173 171 172 xpex โŠข ( ( ๐ต โ†‘m ๐ผ ) ร— { ๐‘“ } ) โˆˆ V
174 173 7 elab โŠข ( ( ( ๐ต โ†‘m ๐ผ ) ร— { ๐‘“ } ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ๐œ’ )
175 sneq โŠข ( ๐‘“ = ๐‘– โ†’ { ๐‘“ } = { ๐‘– } )
176 175 xpeq2d โŠข ( ๐‘“ = ๐‘– โ†’ ( ( ๐ต โ†‘m ๐ผ ) ร— { ๐‘“ } ) = ( ( ๐ต โ†‘m ๐ผ ) ร— { ๐‘– } ) )
177 176 eleq1d โŠข ( ๐‘“ = ๐‘– โ†’ ( ( ( ๐ต โ†‘m ๐ผ ) ร— { ๐‘“ } ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ( ( ๐ต โ†‘m ๐ผ ) ร— { ๐‘– } ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
178 174 177 bitr3id โŠข ( ๐‘“ = ๐‘– โ†’ ( ๐œ’ โ†” ( ( ๐ต โ†‘m ๐ผ ) ร— { ๐‘– } ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
179 178 cbvralvw โŠข ( โˆ€ ๐‘“ โˆˆ ๐‘… ๐œ’ โ†” โˆ€ ๐‘– โˆˆ ๐‘… ( ( ๐ต โ†‘m ๐ผ ) ร— { ๐‘– } ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
180 170 179 sylib โŠข ( ๐œ‘ โ†’ โˆ€ ๐‘– โˆˆ ๐‘… ( ( ๐ต โ†‘m ๐ผ ) ร— { ๐‘– } ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
181 180 r19.21bi โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐‘… ) โ†’ ( ( ๐ต โ†‘m ๐ผ ) ร— { ๐‘– } ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
182 168 181 syldan โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( ( ๐ต โ†‘m ๐ผ ) ร— { ๐‘– } ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
183 169 182 eqeltrd โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ€˜ ๐‘– ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
184 elpreima โŠข ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) Fn ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ€˜ ๐‘– ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ€˜ ๐‘– ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ€˜ ๐‘– ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
185 29 184 syl โŠข ( ๐œ‘ โ†’ ( ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ€˜ ๐‘– ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ€˜ ๐‘– ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ€˜ ๐‘– ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
186 185 adantr โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ€˜ ๐‘– ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ€˜ ๐‘– ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ€˜ ๐‘– ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
187 160 183 186 mpbir2and โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ€˜ ๐‘– ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) )
188 187 adantlr โŠข ( ( ( ๐œ‘ โˆง ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โˆง ๐‘– โˆˆ ( Base โ€˜ ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( ( algSc โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ€˜ ๐‘– ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) )
189 39 adantr โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐ผ ) โ†’ ๐ผ โˆˆ V )
190 45 adantr โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐ผ ) โ†’ ( ๐‘† โ†พs ๐‘… ) โˆˆ Ring )
191 simpr โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐ผ ) โ†’ ๐‘– โˆˆ ๐ผ )
192 21 35 25 189 190 191 mvrcl โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐ผ ) โ†’ ( ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) โ€˜ ๐‘– ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
193 40 adantr โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐ผ ) โ†’ ๐‘† โˆˆ CRing )
194 41 adantr โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐ผ ) โ†’ ๐‘… โˆˆ ( SubRing โ€˜ ๐‘† ) )
195 20 35 22 1 189 193 194 191 evlsvar โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐ผ ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) โ€˜ ๐‘– ) ) = ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘– ) ) )
196 171 mptex โŠข ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘“ ) ) โˆˆ V
197 196 8 elab โŠข ( ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘“ ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ๐œƒ )
198 15 197 sylibr โŠข ( ( ๐œ‘ โˆง ๐‘“ โˆˆ ๐ผ ) โ†’ ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘“ ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
199 198 ralrimiva โŠข ( ๐œ‘ โ†’ โˆ€ ๐‘“ โˆˆ ๐ผ ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘“ ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
200 fveq2 โŠข ( ๐‘“ = ๐‘– โ†’ ( ๐‘” โ€˜ ๐‘“ ) = ( ๐‘” โ€˜ ๐‘– ) )
201 200 mpteq2dv โŠข ( ๐‘“ = ๐‘– โ†’ ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘“ ) ) = ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘– ) ) )
202 201 eleq1d โŠข ( ๐‘“ = ๐‘– โ†’ ( ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘“ ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘– ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
203 202 cbvralvw โŠข ( โˆ€ ๐‘“ โˆˆ ๐ผ ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘“ ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” โˆ€ ๐‘– โˆˆ ๐ผ ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘– ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
204 199 203 sylib โŠข ( ๐œ‘ โ†’ โˆ€ ๐‘– โˆˆ ๐ผ ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘– ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
205 204 r19.21bi โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐ผ ) โ†’ ( ๐‘” โˆˆ ( ๐ต โ†‘m ๐ผ ) โ†ฆ ( ๐‘” โ€˜ ๐‘– ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
206 195 205 eqeltrd โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐ผ ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) โ€˜ ๐‘– ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
207 elpreima โŠข ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) Fn ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โ†’ ( ( ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) โ€˜ ๐‘– ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ( ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) โ€˜ ๐‘– ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) โ€˜ ๐‘– ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
208 29 207 syl โŠข ( ๐œ‘ โ†’ ( ( ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) โ€˜ ๐‘– ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ( ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) โ€˜ ๐‘– ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) โ€˜ ๐‘– ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
209 208 adantr โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐ผ ) โ†’ ( ( ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) โ€˜ ๐‘– ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) โ†” ( ( ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) โ€˜ ๐‘– ) โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) โˆง ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ( ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) โ€˜ ๐‘– ) ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) ) )
210 192 206 209 mpbir2and โŠข ( ( ๐œ‘ โˆง ๐‘– โˆˆ ๐ผ ) โ†’ ( ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) โ€˜ ๐‘– ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) )
211 210 adantlr โŠข ( ( ( ๐œ‘ โˆง ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โˆง ๐‘– โˆˆ ๐ผ ) โ†’ ( ( ๐ผ mVar ( ๐‘† โ†พs ๐‘… ) ) โ€˜ ๐‘– ) โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) )
212 simpr โŠข ( ( ๐œ‘ โˆง ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โ†’ ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) )
213 39 adantr โŠข ( ( ๐œ‘ โˆง ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โ†’ ๐ผ โˆˆ V )
214 43 adantr โŠข ( ( ๐œ‘ โˆง ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โ†’ ( ๐‘† โ†พs ๐‘… ) โˆˆ CRing )
215 34 35 21 36 37 38 25 118 147 188 211 212 213 214 mplind โŠข ( ( ๐œ‘ โˆง ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โ†’ ๐‘ฆ โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) )
216 fvimacnvi โŠข ( ( Fun ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โˆง ๐‘ฆ โˆˆ ( โ—ก ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€œ { ๐‘ฅ โˆฃ ๐œ“ } ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘ฆ ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
217 33 215 216 syl2an2r โŠข ( ( ๐œ‘ โˆง ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โ†’ ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘ฆ ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
218 eleq1 โŠข ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘ฆ ) = ๐ด โ†’ ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘ฆ ) โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ๐ด โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
219 217 218 syl5ibcom โŠข ( ( ๐œ‘ โˆง ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ) โ†’ ( ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘ฆ ) = ๐ด โ†’ ๐ด โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
220 219 rexlimdva โŠข ( ๐œ‘ โ†’ ( โˆƒ ๐‘ฆ โˆˆ ( Base โ€˜ ( ๐ผ mPoly ( ๐‘† โ†พs ๐‘… ) ) ) ( ( ( ๐ผ evalSub ๐‘† ) โ€˜ ๐‘… ) โ€˜ ๐‘ฆ ) = ๐ด โ†’ ๐ด โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } ) )
221 32 220 mpd โŠข ( ๐œ‘ โ†’ ๐ด โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } )
222 13 elabg โŠข ( ๐ด โˆˆ ๐‘„ โ†’ ( ๐ด โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ๐œŒ ) )
223 16 222 syl โŠข ( ๐œ‘ โ†’ ( ๐ด โˆˆ { ๐‘ฅ โˆฃ ๐œ“ } โ†” ๐œŒ ) )
224 221 223 mpbid โŠข ( ๐œ‘ โ†’ ๐œŒ )