Metamath Proof Explorer


Theorem dfring3

Description: The predicate "is a (unital) ring" based on a ring being abelian and with the definition of a monoid expanded. (Contributed by Jeff Hankins, 21-Nov-2006) (Revised by AV, 24-Aug-2026)

Ref Expression
Hypotheses isringrng.b 𝐵 = ( Base ‘ 𝑅 )
isringrng.t · = ( .r𝑅 )
dfring2.g 𝐺 = ( mulGrp ‘ 𝑅 )
dfring2.p + = ( +g𝑅 )
Assertion dfring3 ( 𝑅 ∈ Ring ↔ ( ( 𝑅 ∈ Abel ∧ 𝐺 ∈ Mgm ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) )

Proof

Step Hyp Ref Expression
1 isringrng.b 𝐵 = ( Base ‘ 𝑅 )
2 isringrng.t · = ( .r𝑅 )
3 dfring2.g 𝐺 = ( mulGrp ‘ 𝑅 )
4 dfring2.p + = ( +g𝑅 )
5 1 2 3 4 dfring2 ( 𝑅 ∈ Ring ↔ ( 𝑅 ∈ Abel ∧ 𝐺 ∈ Mnd ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) )
6 3 1 mgpbas 𝐵 = ( Base ‘ 𝐺 )
7 3 2 mgpplusg · = ( +g𝐺 )
8 6 7 ismnddef ( 𝐺 ∈ Mnd ↔ ( 𝐺 ∈ Smgrp ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) )
9 6 7 issgrp ( 𝐺 ∈ Smgrp ↔ ( 𝐺 ∈ Mgm ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ) )
10 8 9 bianbi ( 𝐺 ∈ Mnd ↔ ( ( 𝐺 ∈ Mgm ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) )
11 10 anbi1i ( ( 𝐺 ∈ Mnd ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ( ( ( 𝐺 ∈ Mgm ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) )
12 anass ( ( ( ( 𝐺 ∈ Mgm ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ( ( 𝐺 ∈ Mgm ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ) ∧ ( ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ) )
13 anass ( ( ( 𝐺 ∈ Mgm ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ) ∧ ( ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ) ↔ ( 𝐺 ∈ Mgm ∧ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ) ) )
14 12 13 bitri ( ( ( ( 𝐺 ∈ Mgm ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ( 𝐺 ∈ Mgm ∧ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ) ) )
15 ancom ( ( ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) )
16 15 anbi2i ( ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ) ↔ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ) )
17 anass ( ( ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ↔ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ) )
18 r19.26-2 ( ∀ 𝑥𝐵𝑦𝐵 ( ∀ 𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ∀ 𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) )
19 r19.26 ( ∀ 𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ( ∀ 𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ∀ 𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) )
20 3anass ( ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ↔ ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) )
21 20 bicomi ( ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) )
22 21 ralbii ( ∀ 𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ∀ 𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) )
23 19 22 bitr3i ( ( ∀ 𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ∀ 𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ∀ 𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) )
24 23 2ralbii ( ∀ 𝑥𝐵𝑦𝐵 ( ∀ 𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ∀ 𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) )
25 18 24 bitr3i ( ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) )
26 25 anbi1i ( ( ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ↔ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) )
27 17 26 bitr3i ( ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ) ↔ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) )
28 16 27 bitri ( ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ) ↔ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) )
29 28 anbi2i ( ( 𝐺 ∈ Mgm ∧ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ) ) ↔ ( 𝐺 ∈ Mgm ∧ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ) )
30 14 29 bitri ( ( ( ( 𝐺 ∈ Mgm ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ( 𝐺 ∈ Mgm ∧ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ) )
31 11 30 bitri ( ( 𝐺 ∈ Mnd ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ( 𝐺 ∈ Mgm ∧ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ) )
32 31 anbi2i ( ( 𝑅 ∈ Abel ∧ ( 𝐺 ∈ Mnd ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ) ↔ ( 𝑅 ∈ Abel ∧ ( 𝐺 ∈ Mgm ∧ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ) ) )
33 3anass ( ( 𝑅 ∈ Abel ∧ 𝐺 ∈ Mnd ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ( 𝑅 ∈ Abel ∧ ( 𝐺 ∈ Mnd ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ) )
34 3anass ( ( ( 𝑅 ∈ Abel ∧ 𝐺 ∈ Mgm ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ↔ ( ( 𝑅 ∈ Abel ∧ 𝐺 ∈ Mgm ) ∧ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ) )
35 anass ( ( ( 𝑅 ∈ Abel ∧ 𝐺 ∈ Mgm ) ∧ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ) ↔ ( 𝑅 ∈ Abel ∧ ( 𝐺 ∈ Mgm ∧ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ) ) )
36 34 35 bitri ( ( ( 𝑅 ∈ Abel ∧ 𝐺 ∈ Mgm ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ↔ ( 𝑅 ∈ Abel ∧ ( 𝐺 ∈ Mgm ∧ ( ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) ) ) )
37 32 33 36 3bitr4i ( ( 𝑅 ∈ Abel ∧ 𝐺 ∈ Mnd ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ) ↔ ( ( 𝑅 ∈ Abel ∧ 𝐺 ∈ Mgm ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) )
38 5 37 bitri ( 𝑅 ∈ Ring ↔ ( ( 𝑅 ∈ Abel ∧ 𝐺 ∈ Mgm ) ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( ( 𝑥 · 𝑦 ) · 𝑧 ) = ( 𝑥 · ( 𝑦 · 𝑧 ) ) ∧ ( 𝑥 · ( 𝑦 + 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) + ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 + 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) + ( 𝑦 · 𝑧 ) ) ) ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) )