Metamath Proof Explorer


Theorem isringrng

Description: The predicate "is a unital ring" as extension of the predicate "is a non-unital ring". (Contributed by AV, 17-Feb-2020)

Ref Expression
Hypotheses isringrng.b 𝐵 = ( Base ‘ 𝑅 )
isringrng.t · = ( .r𝑅 )
Assertion isringrng ( 𝑅 ∈ Ring ↔ ( 𝑅 ∈ Rng ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) )

Proof

Step Hyp Ref Expression
1 isringrng.b 𝐵 = ( Base ‘ 𝑅 )
2 isringrng.t · = ( .r𝑅 )
3 ringrng ( 𝑅 ∈ Ring → 𝑅 ∈ Rng )
4 1 2 ringideu ( 𝑅 ∈ Ring → ∃! 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) )
5 reurex ( ∃! 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) → ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) )
6 4 5 syl ( 𝑅 ∈ Ring → ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) )
7 3 6 jca ( 𝑅 ∈ Ring → ( 𝑅 ∈ Rng ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) )
8 rngabl ( 𝑅 ∈ Rng → 𝑅 ∈ Abel )
9 ablgrp ( 𝑅 ∈ Abel → 𝑅 ∈ Grp )
10 8 9 syl ( 𝑅 ∈ Rng → 𝑅 ∈ Grp )
11 10 adantr ( ( 𝑅 ∈ Rng ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) → 𝑅 ∈ Grp )
12 eqid ( mulGrp ‘ 𝑅 ) = ( mulGrp ‘ 𝑅 )
13 12 rngmgp ( 𝑅 ∈ Rng → ( mulGrp ‘ 𝑅 ) ∈ Smgrp )
14 13 anim1i ( ( 𝑅 ∈ Rng ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) → ( ( mulGrp ‘ 𝑅 ) ∈ Smgrp ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) )
15 12 1 mgpbas 𝐵 = ( Base ‘ ( mulGrp ‘ 𝑅 ) )
16 12 2 mgpplusg · = ( +g ‘ ( mulGrp ‘ 𝑅 ) )
17 15 16 ismnddef ( ( mulGrp ‘ 𝑅 ) ∈ Mnd ↔ ( ( mulGrp ‘ 𝑅 ) ∈ Smgrp ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) )
18 14 17 sylibr ( ( 𝑅 ∈ Rng ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) → ( mulGrp ‘ 𝑅 ) ∈ Mnd )
19 eqid ( +g𝑅 ) = ( +g𝑅 )
20 1 12 19 2 isrng ( 𝑅 ∈ Rng ↔ ( 𝑅 ∈ Abel ∧ ( mulGrp ‘ 𝑅 ) ∈ Smgrp ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) ( +g𝑅 ) ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 ( +g𝑅 ) 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) ( +g𝑅 ) ( 𝑦 · 𝑧 ) ) ) ) )
21 20 simp3bi ( 𝑅 ∈ Rng → ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) ( +g𝑅 ) ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 ( +g𝑅 ) 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) ( +g𝑅 ) ( 𝑦 · 𝑧 ) ) ) )
22 21 adantr ( ( 𝑅 ∈ Rng ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) → ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) ( +g𝑅 ) ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 ( +g𝑅 ) 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) ( +g𝑅 ) ( 𝑦 · 𝑧 ) ) ) )
23 1 12 19 2 isring ( 𝑅 ∈ Ring ↔ ( 𝑅 ∈ Grp ∧ ( mulGrp ‘ 𝑅 ) ∈ Mnd ∧ ∀ 𝑥𝐵𝑦𝐵𝑧𝐵 ( ( 𝑥 · ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 · 𝑦 ) ( +g𝑅 ) ( 𝑥 · 𝑧 ) ) ∧ ( ( 𝑥 ( +g𝑅 ) 𝑦 ) · 𝑧 ) = ( ( 𝑥 · 𝑧 ) ( +g𝑅 ) ( 𝑦 · 𝑧 ) ) ) ) )
24 11 18 22 23 syl3anbrc ( ( 𝑅 ∈ Rng ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) → 𝑅 ∈ Ring )
25 7 24 impbii ( 𝑅 ∈ Ring ↔ ( 𝑅 ∈ Rng ∧ ∃ 𝑥𝐵𝑦𝐵 ( ( 𝑥 · 𝑦 ) = 𝑦 ∧ ( 𝑦 · 𝑥 ) = 𝑦 ) ) )