Metamath Proof Explorer


Theorem evls1maprhm

Description: The function F mapping polynomials p to their subring evaluation at a given point X is a ring homomorphism. (Contributed by Thierry Arnoux, 8-Feb-2025)

Ref Expression
Hypotheses evls1maprhm.q 𝑂 = ( 𝑅 evalSub1 𝑆 )
evls1maprhm.p 𝑃 = ( Poly1 ‘ ( 𝑅s 𝑆 ) )
evls1maprhm.b 𝐵 = ( Base ‘ 𝑅 )
evls1maprhm.u 𝑈 = ( Base ‘ 𝑃 )
evls1maprhm.r ( 𝜑𝑅 ∈ CRing )
evls1maprhm.s ( 𝜑𝑆 ∈ ( SubRing ‘ 𝑅 ) )
evls1maprhm.y ( 𝜑𝑋𝐵 )
evls1maprhm.f 𝐹 = ( 𝑝𝑈 ↦ ( ( 𝑂𝑝 ) ‘ 𝑋 ) )
Assertion evls1maprhm ( 𝜑𝐹 ∈ ( 𝑃 RingHom 𝑅 ) )

Proof

Step Hyp Ref Expression
1 evls1maprhm.q 𝑂 = ( 𝑅 evalSub1 𝑆 )
2 evls1maprhm.p 𝑃 = ( Poly1 ‘ ( 𝑅s 𝑆 ) )
3 evls1maprhm.b 𝐵 = ( Base ‘ 𝑅 )
4 evls1maprhm.u 𝑈 = ( Base ‘ 𝑃 )
5 evls1maprhm.r ( 𝜑𝑅 ∈ CRing )
6 evls1maprhm.s ( 𝜑𝑆 ∈ ( SubRing ‘ 𝑅 ) )
7 evls1maprhm.y ( 𝜑𝑋𝐵 )
8 evls1maprhm.f 𝐹 = ( 𝑝𝑈 ↦ ( ( 𝑂𝑝 ) ‘ 𝑋 ) )
9 eqid ( 1r𝑃 ) = ( 1r𝑃 )
10 eqid ( 1r𝑅 ) = ( 1r𝑅 )
11 eqid ( .r𝑃 ) = ( .r𝑃 )
12 eqid ( .r𝑅 ) = ( .r𝑅 )
13 eqid ( 𝑅s 𝑆 ) = ( 𝑅s 𝑆 )
14 13 subrgcrng ( ( 𝑅 ∈ CRing ∧ 𝑆 ∈ ( SubRing ‘ 𝑅 ) ) → ( 𝑅s 𝑆 ) ∈ CRing )
15 5 6 14 syl2anc ( 𝜑 → ( 𝑅s 𝑆 ) ∈ CRing )
16 2 ply1crng ( ( 𝑅s 𝑆 ) ∈ CRing → 𝑃 ∈ CRing )
17 15 16 syl ( 𝜑𝑃 ∈ CRing )
18 17 crngringd ( 𝜑𝑃 ∈ Ring )
19 5 crngringd ( 𝜑𝑅 ∈ Ring )
20 fveq2 ( 𝑝 = ( 1r𝑃 ) → ( 𝑂𝑝 ) = ( 𝑂 ‘ ( 1r𝑃 ) ) )
21 20 fveq1d ( 𝑝 = ( 1r𝑃 ) → ( ( 𝑂𝑝 ) ‘ 𝑋 ) = ( ( 𝑂 ‘ ( 1r𝑃 ) ) ‘ 𝑋 ) )
22 4 9 ringidcl ( 𝑃 ∈ Ring → ( 1r𝑃 ) ∈ 𝑈 )
23 18 22 syl ( 𝜑 → ( 1r𝑃 ) ∈ 𝑈 )
24 fvexd ( 𝜑 → ( ( 𝑂 ‘ ( 1r𝑃 ) ) ‘ 𝑋 ) ∈ V )
25 8 21 23 24 fvmptd3 ( 𝜑 → ( 𝐹 ‘ ( 1r𝑃 ) ) = ( ( 𝑂 ‘ ( 1r𝑃 ) ) ‘ 𝑋 ) )
26 13 10 subrg1 ( 𝑆 ∈ ( SubRing ‘ 𝑅 ) → ( 1r𝑅 ) = ( 1r ‘ ( 𝑅s 𝑆 ) ) )
27 6 26 syl ( 𝜑 → ( 1r𝑅 ) = ( 1r ‘ ( 𝑅s 𝑆 ) ) )
28 27 fveq2d ( 𝜑 → ( ( algSc ‘ 𝑃 ) ‘ ( 1r𝑅 ) ) = ( ( algSc ‘ 𝑃 ) ‘ ( 1r ‘ ( 𝑅s 𝑆 ) ) ) )
29 15 crngringd ( 𝜑 → ( 𝑅s 𝑆 ) ∈ Ring )
30 eqid ( algSc ‘ 𝑃 ) = ( algSc ‘ 𝑃 )
31 eqid ( 1r ‘ ( 𝑅s 𝑆 ) ) = ( 1r ‘ ( 𝑅s 𝑆 ) )
32 2 30 31 9 ply1scl1 ( ( 𝑅s 𝑆 ) ∈ Ring → ( ( algSc ‘ 𝑃 ) ‘ ( 1r ‘ ( 𝑅s 𝑆 ) ) ) = ( 1r𝑃 ) )
33 29 32 syl ( 𝜑 → ( ( algSc ‘ 𝑃 ) ‘ ( 1r ‘ ( 𝑅s 𝑆 ) ) ) = ( 1r𝑃 ) )
34 28 33 eqtr2d ( 𝜑 → ( 1r𝑃 ) = ( ( algSc ‘ 𝑃 ) ‘ ( 1r𝑅 ) ) )
35 34 fveq2d ( 𝜑 → ( 𝑂 ‘ ( 1r𝑃 ) ) = ( 𝑂 ‘ ( ( algSc ‘ 𝑃 ) ‘ ( 1r𝑅 ) ) ) )
36 35 fveq1d ( 𝜑 → ( ( 𝑂 ‘ ( 1r𝑃 ) ) ‘ 𝑋 ) = ( ( 𝑂 ‘ ( ( algSc ‘ 𝑃 ) ‘ ( 1r𝑅 ) ) ) ‘ 𝑋 ) )
37 10 subrg1cl ( 𝑆 ∈ ( SubRing ‘ 𝑅 ) → ( 1r𝑅 ) ∈ 𝑆 )
38 6 37 syl ( 𝜑 → ( 1r𝑅 ) ∈ 𝑆 )
39 1 2 13 3 30 5 6 38 7 evls1scafv ( 𝜑 → ( ( 𝑂 ‘ ( ( algSc ‘ 𝑃 ) ‘ ( 1r𝑅 ) ) ) ‘ 𝑋 ) = ( 1r𝑅 ) )
40 25 36 39 3eqtrd ( 𝜑 → ( 𝐹 ‘ ( 1r𝑃 ) ) = ( 1r𝑅 ) )
41 5 adantr ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → 𝑅 ∈ CRing )
42 6 adantr ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → 𝑆 ∈ ( SubRing ‘ 𝑅 ) )
43 simprl ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → 𝑞𝑈 )
44 simprr ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → 𝑟𝑈 )
45 7 adantr ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → 𝑋𝐵 )
46 1 3 2 13 4 11 12 41 42 43 44 45 evls1muld ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( ( 𝑂 ‘ ( 𝑞 ( .r𝑃 ) 𝑟 ) ) ‘ 𝑋 ) = ( ( ( 𝑂𝑞 ) ‘ 𝑋 ) ( .r𝑅 ) ( ( 𝑂𝑟 ) ‘ 𝑋 ) ) )
47 fveq2 ( 𝑝 = ( 𝑞 ( .r𝑃 ) 𝑟 ) → ( 𝑂𝑝 ) = ( 𝑂 ‘ ( 𝑞 ( .r𝑃 ) 𝑟 ) ) )
48 47 fveq1d ( 𝑝 = ( 𝑞 ( .r𝑃 ) 𝑟 ) → ( ( 𝑂𝑝 ) ‘ 𝑋 ) = ( ( 𝑂 ‘ ( 𝑞 ( .r𝑃 ) 𝑟 ) ) ‘ 𝑋 ) )
49 18 adantr ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → 𝑃 ∈ Ring )
50 4 11 49 43 44 ringcld ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( 𝑞 ( .r𝑃 ) 𝑟 ) ∈ 𝑈 )
51 fvexd ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( ( 𝑂 ‘ ( 𝑞 ( .r𝑃 ) 𝑟 ) ) ‘ 𝑋 ) ∈ V )
52 8 48 50 51 fvmptd3 ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( 𝐹 ‘ ( 𝑞 ( .r𝑃 ) 𝑟 ) ) = ( ( 𝑂 ‘ ( 𝑞 ( .r𝑃 ) 𝑟 ) ) ‘ 𝑋 ) )
53 fveq2 ( 𝑝 = 𝑞 → ( 𝑂𝑝 ) = ( 𝑂𝑞 ) )
54 53 fveq1d ( 𝑝 = 𝑞 → ( ( 𝑂𝑝 ) ‘ 𝑋 ) = ( ( 𝑂𝑞 ) ‘ 𝑋 ) )
55 fvexd ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( ( 𝑂𝑞 ) ‘ 𝑋 ) ∈ V )
56 8 54 43 55 fvmptd3 ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( 𝐹𝑞 ) = ( ( 𝑂𝑞 ) ‘ 𝑋 ) )
57 fveq2 ( 𝑝 = 𝑟 → ( 𝑂𝑝 ) = ( 𝑂𝑟 ) )
58 57 fveq1d ( 𝑝 = 𝑟 → ( ( 𝑂𝑝 ) ‘ 𝑋 ) = ( ( 𝑂𝑟 ) ‘ 𝑋 ) )
59 fvexd ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( ( 𝑂𝑟 ) ‘ 𝑋 ) ∈ V )
60 8 58 44 59 fvmptd3 ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( 𝐹𝑟 ) = ( ( 𝑂𝑟 ) ‘ 𝑋 ) )
61 56 60 oveq12d ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( ( 𝐹𝑞 ) ( .r𝑅 ) ( 𝐹𝑟 ) ) = ( ( ( 𝑂𝑞 ) ‘ 𝑋 ) ( .r𝑅 ) ( ( 𝑂𝑟 ) ‘ 𝑋 ) ) )
62 46 52 61 3eqtr4d ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( 𝐹 ‘ ( 𝑞 ( .r𝑃 ) 𝑟 ) ) = ( ( 𝐹𝑞 ) ( .r𝑅 ) ( 𝐹𝑟 ) ) )
63 eqid ( +g𝑃 ) = ( +g𝑃 )
64 eqid ( +g𝑅 ) = ( +g𝑅 )
65 eqid ( eval1𝑅 ) = ( eval1𝑅 )
66 1 3 2 13 4 65 5 6 ressply1evl ( 𝜑𝑂 = ( ( eval1𝑅 ) ↾ 𝑈 ) )
67 66 adantr ( ( 𝜑𝑝𝑈 ) → 𝑂 = ( ( eval1𝑅 ) ↾ 𝑈 ) )
68 67 fveq1d ( ( 𝜑𝑝𝑈 ) → ( 𝑂𝑝 ) = ( ( ( eval1𝑅 ) ↾ 𝑈 ) ‘ 𝑝 ) )
69 simpr ( ( 𝜑𝑝𝑈 ) → 𝑝𝑈 )
70 69 fvresd ( ( 𝜑𝑝𝑈 ) → ( ( ( eval1𝑅 ) ↾ 𝑈 ) ‘ 𝑝 ) = ( ( eval1𝑅 ) ‘ 𝑝 ) )
71 68 70 eqtrd ( ( 𝜑𝑝𝑈 ) → ( 𝑂𝑝 ) = ( ( eval1𝑅 ) ‘ 𝑝 ) )
72 71 fveq1d ( ( 𝜑𝑝𝑈 ) → ( ( 𝑂𝑝 ) ‘ 𝑋 ) = ( ( ( eval1𝑅 ) ‘ 𝑝 ) ‘ 𝑋 ) )
73 eqid ( Poly1𝑅 ) = ( Poly1𝑅 )
74 eqid ( Base ‘ ( Poly1𝑅 ) ) = ( Base ‘ ( Poly1𝑅 ) )
75 5 adantr ( ( 𝜑𝑝𝑈 ) → 𝑅 ∈ CRing )
76 7 adantr ( ( 𝜑𝑝𝑈 ) → 𝑋𝐵 )
77 eqid ( PwSer1 ‘ ( 𝑅s 𝑆 ) ) = ( PwSer1 ‘ ( 𝑅s 𝑆 ) )
78 eqid ( Base ‘ ( PwSer1 ‘ ( 𝑅s 𝑆 ) ) ) = ( Base ‘ ( PwSer1 ‘ ( 𝑅s 𝑆 ) ) )
79 73 13 2 4 6 77 78 74 ressply1bas2 ( 𝜑𝑈 = ( ( Base ‘ ( PwSer1 ‘ ( 𝑅s 𝑆 ) ) ) ∩ ( Base ‘ ( Poly1𝑅 ) ) ) )
80 inss2 ( ( Base ‘ ( PwSer1 ‘ ( 𝑅s 𝑆 ) ) ) ∩ ( Base ‘ ( Poly1𝑅 ) ) ) ⊆ ( Base ‘ ( Poly1𝑅 ) )
81 79 80 eqsstrdi ( 𝜑𝑈 ⊆ ( Base ‘ ( Poly1𝑅 ) ) )
82 81 sselda ( ( 𝜑𝑝𝑈 ) → 𝑝 ∈ ( Base ‘ ( Poly1𝑅 ) ) )
83 65 73 3 74 75 76 82 fveval1fvcl ( ( 𝜑𝑝𝑈 ) → ( ( ( eval1𝑅 ) ‘ 𝑝 ) ‘ 𝑋 ) ∈ 𝐵 )
84 72 83 eqeltrd ( ( 𝜑𝑝𝑈 ) → ( ( 𝑂𝑝 ) ‘ 𝑋 ) ∈ 𝐵 )
85 84 8 fmptd ( 𝜑𝐹 : 𝑈𝐵 )
86 1 3 2 13 4 63 64 41 42 43 44 45 evls1addd ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( ( 𝑂 ‘ ( 𝑞 ( +g𝑃 ) 𝑟 ) ) ‘ 𝑋 ) = ( ( ( 𝑂𝑞 ) ‘ 𝑋 ) ( +g𝑅 ) ( ( 𝑂𝑟 ) ‘ 𝑋 ) ) )
87 fveq2 ( 𝑝 = ( 𝑞 ( +g𝑃 ) 𝑟 ) → ( 𝑂𝑝 ) = ( 𝑂 ‘ ( 𝑞 ( +g𝑃 ) 𝑟 ) ) )
88 87 fveq1d ( 𝑝 = ( 𝑞 ( +g𝑃 ) 𝑟 ) → ( ( 𝑂𝑝 ) ‘ 𝑋 ) = ( ( 𝑂 ‘ ( 𝑞 ( +g𝑃 ) 𝑟 ) ) ‘ 𝑋 ) )
89 49 ringgrpd ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → 𝑃 ∈ Grp )
90 4 63 89 43 44 grpcld ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( 𝑞 ( +g𝑃 ) 𝑟 ) ∈ 𝑈 )
91 fvexd ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( ( 𝑂 ‘ ( 𝑞 ( +g𝑃 ) 𝑟 ) ) ‘ 𝑋 ) ∈ V )
92 8 88 90 91 fvmptd3 ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( 𝐹 ‘ ( 𝑞 ( +g𝑃 ) 𝑟 ) ) = ( ( 𝑂 ‘ ( 𝑞 ( +g𝑃 ) 𝑟 ) ) ‘ 𝑋 ) )
93 56 60 oveq12d ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( ( 𝐹𝑞 ) ( +g𝑅 ) ( 𝐹𝑟 ) ) = ( ( ( 𝑂𝑞 ) ‘ 𝑋 ) ( +g𝑅 ) ( ( 𝑂𝑟 ) ‘ 𝑋 ) ) )
94 86 92 93 3eqtr4d ( ( 𝜑 ∧ ( 𝑞𝑈𝑟𝑈 ) ) → ( 𝐹 ‘ ( 𝑞 ( +g𝑃 ) 𝑟 ) ) = ( ( 𝐹𝑞 ) ( +g𝑅 ) ( 𝐹𝑟 ) ) )
95 4 9 10 11 12 18 19 40 62 3 63 64 85 94 isrhmd ( 𝜑𝐹 ∈ ( 𝑃 RingHom 𝑅 ) )