Metamath Proof Explorer


Theorem isringd

Description: Properties that determine a ring. (Contributed by NM, 2-Aug-2013)

Ref Expression
Hypotheses isringd.b ( 𝜑𝐵 = ( Base ‘ 𝑅 ) )
isringd.p ( 𝜑+ = ( +g𝑅 ) )
isringd.t ( 𝜑· = ( .r𝑅 ) )
isringd.g ( 𝜑𝑅 ∈ Grp )
isringd.c ( ( 𝜑𝑥𝐵𝑦𝐵 ) → ( 𝑥 · 𝑦 ) ∈ 𝐵 )
isringd.a ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) )
isringd.d ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) )
isringd.e ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) )
isringd.u ( 𝜑1𝐵 )
isringd.i ( ( 𝜑𝑥𝐵 ) → ( 1 · 𝑥 ) = 𝑥 )
isringd.h ( ( 𝜑𝑥𝐵 ) → ( 𝑥 · 1 ) = 𝑥 )
Assertion isringd ( 𝜑𝑅 ∈ Ring )

Proof

Step Hyp Ref Expression
1 isringd.b ( 𝜑𝐵 = ( Base ‘ 𝑅 ) )
2 isringd.p ( 𝜑+ = ( +g𝑅 ) )
3 isringd.t ( 𝜑· = ( .r𝑅 ) )
4 isringd.g ( 𝜑𝑅 ∈ Grp )
5 isringd.c ( ( 𝜑𝑥𝐵𝑦𝐵 ) → ( 𝑥 · 𝑦 ) ∈ 𝐵 )
6 isringd.a ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) )
7 isringd.d ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) )
8 isringd.e ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) )
9 isringd.u ( 𝜑1𝐵 )
10 isringd.i ( ( 𝜑𝑥𝐵 ) → ( 1 · 𝑥 ) = 𝑥 )
11 isringd.h ( ( 𝜑𝑥𝐵 ) → ( 𝑥 · 1 ) = 𝑥 )
12 eqid ( mulGrp ‘ 𝑅 ) = ( mulGrp ‘ 𝑅 )
13 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
14 12 13 mgpbas ( Base ‘ 𝑅 ) = ( Base ‘ ( mulGrp ‘ 𝑅 ) )
15 1 14 eqtrdi ( 𝜑𝐵 = ( Base ‘ ( mulGrp ‘ 𝑅 ) ) )
16 eqid ( .r𝑅 ) = ( .r𝑅 )
17 12 16 mgpplusg ( .r𝑅 ) = ( +g ‘ ( mulGrp ‘ 𝑅 ) )
18 3 17 eqtrdi ( 𝜑· = ( +g ‘ ( mulGrp ‘ 𝑅 ) ) )
19 15 18 5 6 9 10 11 ismndd ( 𝜑 → ( mulGrp ‘ 𝑅 ) ∈ Mnd )
20 1 eleq2d ( 𝜑 → ( 𝑥𝐵𝑥 ∈ ( Base ‘ 𝑅 ) ) )
21 1 eleq2d ( 𝜑 → ( 𝑦𝐵𝑦 ∈ ( Base ‘ 𝑅 ) ) )
22 1 eleq2d ( 𝜑 → ( 𝑧𝐵𝑧 ∈ ( Base ‘ 𝑅 ) ) )
23 20 21 22 3anbi123d ( 𝜑 → ( ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ↔ ( 𝑥 ∈ ( Base ‘ 𝑅 ) ∧ 𝑦 ∈ ( Base ‘ 𝑅 ) ∧ 𝑧 ∈ ( Base ‘ 𝑅 ) ) ) )
24 23 biimpar ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝑅 ) ∧ 𝑦 ∈ ( Base ‘ 𝑅 ) ∧ 𝑧 ∈ ( Base ‘ 𝑅 ) ) ) → ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) )
25 3 adantr ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → · = ( .r𝑅 ) )
26 eqidd ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → 𝑥 = 𝑥 )
27 2 oveqdr ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( 𝑦 + 𝑧 ) = ( 𝑦 ( +g𝑅 ) 𝑧 ) )
28 25 26 27 oveq123d ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( 𝑥 ( .r𝑅 ) ( 𝑦 ( +g𝑅 ) 𝑧 ) ) )
29 2 adantr ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → + = ( +g𝑅 ) )
30 3 oveqdr ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( 𝑥 · 𝑦 ) = ( 𝑥 ( .r𝑅 ) 𝑦 ) )
31 3 oveqdr ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( 𝑥 · 𝑧 ) = ( 𝑥 ( .r𝑅 ) 𝑧 ) )
32 29 30 31 oveq123d ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) = ( ( 𝑥 ( .r𝑅 ) 𝑦 ) ( +g𝑅 ) ( 𝑥 ( .r𝑅 ) 𝑧 ) ) )
33 7 28 32 3eqtr3d ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( 𝑥 ( .r𝑅 ) ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 ( .r𝑅 ) 𝑦 ) ( +g𝑅 ) ( 𝑥 ( .r𝑅 ) 𝑧 ) ) )
34 2 oveqdr ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( 𝑥 + 𝑦 ) = ( 𝑥 ( +g𝑅 ) 𝑦 ) )
35 eqidd ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → 𝑧 = 𝑧 )
36 25 34 35 oveq123d ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 ( +g𝑅 ) 𝑦 ) ( .r𝑅 ) 𝑧 ) )
37 3 oveqdr ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( 𝑦 · 𝑧 ) = ( 𝑦 ( .r𝑅 ) 𝑧 ) )
38 29 31 37 oveq123d ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) = ( ( 𝑥 ( .r𝑅 ) 𝑧 ) ( +g𝑅 ) ( 𝑦 ( .r𝑅 ) 𝑧 ) ) )
39 8 36 38 3eqtr3d ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( ( 𝑥 ( +g𝑅 ) 𝑦 ) ( .r𝑅 ) 𝑧 ) = ( ( 𝑥 ( .r𝑅 ) 𝑧 ) ( +g𝑅 ) ( 𝑦 ( .r𝑅 ) 𝑧 ) ) )
40 33 39 jca ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( ( 𝑥 ( .r𝑅 ) ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 ( .r𝑅 ) 𝑦 ) ( +g𝑅 ) ( 𝑥 ( .r𝑅 ) 𝑧 ) ) ∧ ( ( 𝑥 ( +g𝑅 ) 𝑦 ) ( .r𝑅 ) 𝑧 ) = ( ( 𝑥 ( .r𝑅 ) 𝑧 ) ( +g𝑅 ) ( 𝑦 ( .r𝑅 ) 𝑧 ) ) ) )
41 24 40 syldan ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝑅 ) ∧ 𝑦 ∈ ( Base ‘ 𝑅 ) ∧ 𝑧 ∈ ( Base ‘ 𝑅 ) ) ) → ( ( 𝑥 ( .r𝑅 ) ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 ( .r𝑅 ) 𝑦 ) ( +g𝑅 ) ( 𝑥 ( .r𝑅 ) 𝑧 ) ) ∧ ( ( 𝑥 ( +g𝑅 ) 𝑦 ) ( .r𝑅 ) 𝑧 ) = ( ( 𝑥 ( .r𝑅 ) 𝑧 ) ( +g𝑅 ) ( 𝑦 ( .r𝑅 ) 𝑧 ) ) ) )
42 41 ralrimivvva ( 𝜑 → ∀ 𝑥 ∈ ( Base ‘ 𝑅 ) ∀ 𝑦 ∈ ( Base ‘ 𝑅 ) ∀ 𝑧 ∈ ( Base ‘ 𝑅 ) ( ( 𝑥 ( .r𝑅 ) ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 ( .r𝑅 ) 𝑦 ) ( +g𝑅 ) ( 𝑥 ( .r𝑅 ) 𝑧 ) ) ∧ ( ( 𝑥 ( +g𝑅 ) 𝑦 ) ( .r𝑅 ) 𝑧 ) = ( ( 𝑥 ( .r𝑅 ) 𝑧 ) ( +g𝑅 ) ( 𝑦 ( .r𝑅 ) 𝑧 ) ) ) )
43 eqid ( +g𝑅 ) = ( +g𝑅 )
44 13 12 43 16 isring ( 𝑅 ∈ Ring ↔ ( 𝑅 ∈ Grp ∧ ( mulGrp ‘ 𝑅 ) ∈ Mnd ∧ ∀ 𝑥 ∈ ( Base ‘ 𝑅 ) ∀ 𝑦 ∈ ( Base ‘ 𝑅 ) ∀ 𝑧 ∈ ( Base ‘ 𝑅 ) ( ( 𝑥 ( .r𝑅 ) ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 ( .r𝑅 ) 𝑦 ) ( +g𝑅 ) ( 𝑥 ( .r𝑅 ) 𝑧 ) ) ∧ ( ( 𝑥 ( +g𝑅 ) 𝑦 ) ( .r𝑅 ) 𝑧 ) = ( ( 𝑥 ( .r𝑅 ) 𝑧 ) ( +g𝑅 ) ( 𝑦 ( .r𝑅 ) 𝑧 ) ) ) ) )
45 4 19 42 44 syl3anbrc ( 𝜑𝑅 ∈ Ring )