Metamath Proof Explorer


Theorem rhmval0

Description: The set of ring homomorphisms. (Contributed by Jeff Madsen, 19-Jun-2010) (Revised by Mario Carneiro, 22-Sep-2015) (Revised by AV, 24-Jul-2026)

Ref Expression
Hypotheses rhmval0.b 𝐵 = ( Base ‘ 𝑅 )
rhmval0.c 𝐶 = ( Base ‘ 𝑆 )
rhmval0.1 1 = ( 1r𝑅 )
rhmval0.i 𝑁 = ( 1r𝑆 )
rhmval0.m · = ( .r𝑅 )
rhmval0.n × = ( .r𝑆 )
rhmval0.p + = ( +g𝑅 )
rhmval0.q = ( +g𝑆 )
Assertion rhmval0 ( ( 𝑅 ∈ Ring ∧ 𝑆 ∈ Ring ) → ( 𝑅 RingHom 𝑆 ) = { 𝑓 ∈ ( 𝐶m 𝐵 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝐵𝑦𝐵 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } )

Proof

Step Hyp Ref Expression
1 rhmval0.b 𝐵 = ( Base ‘ 𝑅 )
2 rhmval0.c 𝐶 = ( Base ‘ 𝑆 )
3 rhmval0.1 1 = ( 1r𝑅 )
4 rhmval0.i 𝑁 = ( 1r𝑆 )
5 rhmval0.m · = ( .r𝑅 )
6 rhmval0.n × = ( .r𝑆 )
7 rhmval0.p + = ( +g𝑅 )
8 rhmval0.q = ( +g𝑆 )
9 fveq2 ( 𝑟 = 𝑅 → ( Base ‘ 𝑟 ) = ( Base ‘ 𝑅 ) )
10 9 1 eqtr4di ( 𝑟 = 𝑅 → ( Base ‘ 𝑟 ) = 𝐵 )
11 10 adantr ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( Base ‘ 𝑟 ) = 𝐵 )
12 fveq2 ( 𝑟 = 𝑅 → ( 1r𝑟 ) = ( 1r𝑅 ) )
13 12 3 eqtr4di ( 𝑟 = 𝑅 → ( 1r𝑟 ) = 1 )
14 13 fveq2d ( 𝑟 = 𝑅 → ( 𝑓 ‘ ( 1r𝑟 ) ) = ( 𝑓1 ) )
15 fveq2 ( 𝑠 = 𝑆 → ( 1r𝑠 ) = ( 1r𝑆 ) )
16 15 4 eqtr4di ( 𝑠 = 𝑆 → ( 1r𝑠 ) = 𝑁 )
17 14 16 eqeqan12d ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( ( 𝑓 ‘ ( 1r𝑟 ) ) = ( 1r𝑠 ) ↔ ( 𝑓1 ) = 𝑁 ) )
18 fveq2 ( 𝑟 = 𝑅 → ( +g𝑟 ) = ( +g𝑅 ) )
19 18 7 eqtr4di ( 𝑟 = 𝑅 → ( +g𝑟 ) = + )
20 19 oveqd ( 𝑟 = 𝑅 → ( 𝑥 ( +g𝑟 ) 𝑦 ) = ( 𝑥 + 𝑦 ) )
21 20 fveq2d ( 𝑟 = 𝑅 → ( 𝑓 ‘ ( 𝑥 ( +g𝑟 ) 𝑦 ) ) = ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) )
22 fveq2 ( 𝑠 = 𝑆 → ( +g𝑠 ) = ( +g𝑆 ) )
23 22 8 eqtr4di ( 𝑠 = 𝑆 → ( +g𝑠 ) = )
24 23 oveqd ( 𝑠 = 𝑆 → ( ( 𝑓𝑥 ) ( +g𝑠 ) ( 𝑓𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) )
25 21 24 eqeqan12d ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( ( 𝑓 ‘ ( 𝑥 ( +g𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( +g𝑠 ) ( 𝑓𝑦 ) ) ↔ ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ) )
26 fveq2 ( 𝑟 = 𝑅 → ( .r𝑟 ) = ( .r𝑅 ) )
27 26 5 eqtr4di ( 𝑟 = 𝑅 → ( .r𝑟 ) = · )
28 27 oveqd ( 𝑟 = 𝑅 → ( 𝑥 ( .r𝑟 ) 𝑦 ) = ( 𝑥 · 𝑦 ) )
29 28 fveq2d ( 𝑟 = 𝑅 → ( 𝑓 ‘ ( 𝑥 ( .r𝑟 ) 𝑦 ) ) = ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) )
30 fveq2 ( 𝑠 = 𝑆 → ( .r𝑠 ) = ( .r𝑆 ) )
31 30 6 eqtr4di ( 𝑠 = 𝑆 → ( .r𝑠 ) = × )
32 31 oveqd ( 𝑠 = 𝑆 → ( ( 𝑓𝑥 ) ( .r𝑠 ) ( 𝑓𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) )
33 29 32 eqeqan12d ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( ( 𝑓 ‘ ( 𝑥 ( .r𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( .r𝑠 ) ( 𝑓𝑦 ) ) ↔ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) )
34 25 33 anbi12d ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( ( ( 𝑓 ‘ ( 𝑥 ( +g𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( +g𝑠 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 ( .r𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( .r𝑠 ) ( 𝑓𝑦 ) ) ) ↔ ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) )
35 34 2ralbidv ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 ( +g𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( +g𝑠 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 ( .r𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( .r𝑠 ) ( 𝑓𝑦 ) ) ) ↔ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) )
36 17 35 anbi12d ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( ( ( 𝑓 ‘ ( 1r𝑟 ) ) = ( 1r𝑠 ) ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 ( +g𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( +g𝑠 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 ( .r𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( .r𝑠 ) ( 𝑓𝑦 ) ) ) ) ↔ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) ) )
37 36 rabbidv ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓 ‘ ( 1r𝑟 ) ) = ( 1r𝑠 ) ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 ( +g𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( +g𝑠 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 ( .r𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( .r𝑠 ) ( 𝑓𝑦 ) ) ) ) } = { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } )
38 37 csbeq2dv ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( Base ‘ 𝑠 ) / 𝑤 { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓 ‘ ( 1r𝑟 ) ) = ( 1r𝑠 ) ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 ( +g𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( +g𝑠 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 ( .r𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( .r𝑠 ) ( 𝑓𝑦 ) ) ) ) } = ( Base ‘ 𝑠 ) / 𝑤 { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } )
39 11 38 csbeq12dv ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( Base ‘ 𝑟 ) / 𝑣 ( Base ‘ 𝑠 ) / 𝑤 { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓 ‘ ( 1r𝑟 ) ) = ( 1r𝑠 ) ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 ( +g𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( +g𝑠 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 ( .r𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( .r𝑠 ) ( 𝑓𝑦 ) ) ) ) } = 𝐵 / 𝑣 ( Base ‘ 𝑠 ) / 𝑤 { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } )
40 fveq2 ( 𝑠 = 𝑆 → ( Base ‘ 𝑠 ) = ( Base ‘ 𝑆 ) )
41 40 2 eqtr4di ( 𝑠 = 𝑆 → ( Base ‘ 𝑠 ) = 𝐶 )
42 41 adantl ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( Base ‘ 𝑠 ) = 𝐶 )
43 42 csbeq1d ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( Base ‘ 𝑠 ) / 𝑤 { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } = 𝐶 / 𝑤 { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } )
44 43 csbeq2dv ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → 𝐵 / 𝑣 ( Base ‘ 𝑠 ) / 𝑤 { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } = 𝐵 / 𝑣 𝐶 / 𝑤 { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } )
45 1 fvexi 𝐵 ∈ V
46 2 fvexi 𝐶 ∈ V
47 oveq12 ( ( 𝑤 = 𝐶𝑣 = 𝐵 ) → ( 𝑤m 𝑣 ) = ( 𝐶m 𝐵 ) )
48 47 ancoms ( ( 𝑣 = 𝐵𝑤 = 𝐶 ) → ( 𝑤m 𝑣 ) = ( 𝐶m 𝐵 ) )
49 raleq ( 𝑣 = 𝐵 → ( ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ↔ ∀ 𝑥𝐵𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) )
50 raleq ( 𝑣 = 𝐵 → ( ∀ 𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ↔ ∀ 𝑦𝐵 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) )
51 50 ralbidv ( 𝑣 = 𝐵 → ( ∀ 𝑥𝐵𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ↔ ∀ 𝑥𝐵𝑦𝐵 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) )
52 49 51 bitrd ( 𝑣 = 𝐵 → ( ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ↔ ∀ 𝑥𝐵𝑦𝐵 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) )
53 52 adantr ( ( 𝑣 = 𝐵𝑤 = 𝐶 ) → ( ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ↔ ∀ 𝑥𝐵𝑦𝐵 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) )
54 53 anbi2d ( ( 𝑣 = 𝐵𝑤 = 𝐶 ) → ( ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) ↔ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝐵𝑦𝐵 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) ) )
55 48 54 rabeqbidv ( ( 𝑣 = 𝐵𝑤 = 𝐶 ) → { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } = { 𝑓 ∈ ( 𝐶m 𝐵 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝐵𝑦𝐵 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } )
56 45 46 55 csbie2 𝐵 / 𝑣 𝐶 / 𝑤 { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } = { 𝑓 ∈ ( 𝐶m 𝐵 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝐵𝑦𝐵 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) }
57 56 a1i ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → 𝐵 / 𝑣 𝐶 / 𝑤 { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } = { 𝑓 ∈ ( 𝐶m 𝐵 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝐵𝑦𝐵 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } )
58 39 44 57 3eqtrd ( ( 𝑟 = 𝑅𝑠 = 𝑆 ) → ( Base ‘ 𝑟 ) / 𝑣 ( Base ‘ 𝑠 ) / 𝑤 { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓 ‘ ( 1r𝑟 ) ) = ( 1r𝑠 ) ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 ( +g𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( +g𝑠 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 ( .r𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( .r𝑠 ) ( 𝑓𝑦 ) ) ) ) } = { 𝑓 ∈ ( 𝐶m 𝐵 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝐵𝑦𝐵 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } )
59 df-rhm RingHom = ( 𝑟 ∈ Ring , 𝑠 ∈ Ring ↦ ( Base ‘ 𝑟 ) / 𝑣 ( Base ‘ 𝑠 ) / 𝑤 { 𝑓 ∈ ( 𝑤m 𝑣 ) ∣ ( ( 𝑓 ‘ ( 1r𝑟 ) ) = ( 1r𝑠 ) ∧ ∀ 𝑥𝑣𝑦𝑣 ( ( 𝑓 ‘ ( 𝑥 ( +g𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( +g𝑠 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 ( .r𝑟 ) 𝑦 ) ) = ( ( 𝑓𝑥 ) ( .r𝑠 ) ( 𝑓𝑦 ) ) ) ) } )
60 ovex ( 𝐶m 𝐵 ) ∈ V
61 60 rabex { 𝑓 ∈ ( 𝐶m 𝐵 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝐵𝑦𝐵 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } ∈ V
62 58 59 61 ovmpoa ( ( 𝑅 ∈ Ring ∧ 𝑆 ∈ Ring ) → ( 𝑅 RingHom 𝑆 ) = { 𝑓 ∈ ( 𝐶m 𝐵 ) ∣ ( ( 𝑓1 ) = 𝑁 ∧ ∀ 𝑥𝐵𝑦𝐵 ( ( 𝑓 ‘ ( 𝑥 + 𝑦 ) ) = ( ( 𝑓𝑥 ) ( 𝑓𝑦 ) ) ∧ ( 𝑓 ‘ ( 𝑥 · 𝑦 ) ) = ( ( 𝑓𝑥 ) × ( 𝑓𝑦 ) ) ) ) } )