Metamath Proof Explorer


Theorem ringsrg

Description: Any ring is also a semiring. (Contributed by Thierry Arnoux, 1-Apr-2018)

Ref Expression
Assertion ringsrg ( 𝑅 ∈ Ring → 𝑅 ∈ SRing )

Proof

Step Hyp Ref Expression
1 ringcmn ( 𝑅 ∈ Ring → 𝑅 ∈ CMnd )
2 eqid ( mulGrp ‘ 𝑅 ) = ( mulGrp ‘ 𝑅 )
3 2 ringmgp ( 𝑅 ∈ Ring → ( mulGrp ‘ 𝑅 ) ∈ Mnd )
4 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
5 eqid ( +g𝑅 ) = ( +g𝑅 )
6 eqid ( .r𝑅 ) = ( .r𝑅 )
7 4 2 5 6 isring ( 𝑅 ∈ Ring ↔ ( 𝑅 ∈ Grp ∧ ( mulGrp ‘ 𝑅 ) ∈ Mnd ∧ ∀ 𝑥 ∈ ( Base ‘ 𝑅 ) ∀ 𝑦 ∈ ( Base ‘ 𝑅 ) ∀ 𝑧 ∈ ( Base ‘ 𝑅 ) ( ( 𝑥 ( .r𝑅 ) ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 ( .r𝑅 ) 𝑦 ) ( +g𝑅 ) ( 𝑥 ( .r𝑅 ) 𝑧 ) ) ∧ ( ( 𝑥 ( +g𝑅 ) 𝑦 ) ( .r𝑅 ) 𝑧 ) = ( ( 𝑥 ( .r𝑅 ) 𝑧 ) ( +g𝑅 ) ( 𝑦 ( .r𝑅 ) 𝑧 ) ) ) ) )
8 7 simp3bi ( 𝑅 ∈ Ring → ∀ 𝑥 ∈ ( Base ‘ 𝑅 ) ∀ 𝑦 ∈ ( Base ‘ 𝑅 ) ∀ 𝑧 ∈ ( Base ‘ 𝑅 ) ( ( 𝑥 ( .r𝑅 ) ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 ( .r𝑅 ) 𝑦 ) ( +g𝑅 ) ( 𝑥 ( .r𝑅 ) 𝑧 ) ) ∧ ( ( 𝑥 ( +g𝑅 ) 𝑦 ) ( .r𝑅 ) 𝑧 ) = ( ( 𝑥 ( .r𝑅 ) 𝑧 ) ( +g𝑅 ) ( 𝑦 ( .r𝑅 ) 𝑧 ) ) ) )
9 eqid ( 0g𝑅 ) = ( 0g𝑅 )
10 4 6 9 ringlz ( ( 𝑅 ∈ Ring ∧ 𝑥 ∈ ( Base ‘ 𝑅 ) ) → ( ( 0g𝑅 ) ( .r𝑅 ) 𝑥 ) = ( 0g𝑅 ) )
11 4 6 9 ringrz ( ( 𝑅 ∈ Ring ∧ 𝑥 ∈ ( Base ‘ 𝑅 ) ) → ( 𝑥 ( .r𝑅 ) ( 0g𝑅 ) ) = ( 0g𝑅 ) )
12 10 11 jca ( ( 𝑅 ∈ Ring ∧ 𝑥 ∈ ( Base ‘ 𝑅 ) ) → ( ( ( 0g𝑅 ) ( .r𝑅 ) 𝑥 ) = ( 0g𝑅 ) ∧ ( 𝑥 ( .r𝑅 ) ( 0g𝑅 ) ) = ( 0g𝑅 ) ) )
13 12 ralrimiva ( 𝑅 ∈ Ring → ∀ 𝑥 ∈ ( Base ‘ 𝑅 ) ( ( ( 0g𝑅 ) ( .r𝑅 ) 𝑥 ) = ( 0g𝑅 ) ∧ ( 𝑥 ( .r𝑅 ) ( 0g𝑅 ) ) = ( 0g𝑅 ) ) )
14 r19.26 ( ∀ 𝑥 ∈ ( Base ‘ 𝑅 ) ( ∀ 𝑦 ∈ ( Base ‘ 𝑅 ) ∀ 𝑧 ∈ ( Base ‘ 𝑅 ) ( ( 𝑥 ( .r𝑅 ) ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 ( .r𝑅 ) 𝑦 ) ( +g𝑅 ) ( 𝑥 ( .r𝑅 ) 𝑧 ) ) ∧ ( ( 𝑥 ( +g𝑅 ) 𝑦 ) ( .r𝑅 ) 𝑧 ) = ( ( 𝑥 ( .r𝑅 ) 𝑧 ) ( +g𝑅 ) ( 𝑦 ( .r𝑅 ) 𝑧 ) ) ) ∧ ( ( ( 0g𝑅 ) ( .r𝑅 ) 𝑥 ) = ( 0g𝑅 ) ∧ ( 𝑥 ( .r𝑅 ) ( 0g𝑅 ) ) = ( 0g𝑅 ) ) ) ↔ ( ∀ 𝑥 ∈ ( Base ‘ 𝑅 ) ∀ 𝑦 ∈ ( Base ‘ 𝑅 ) ∀ 𝑧 ∈ ( Base ‘ 𝑅 ) ( ( 𝑥 ( .r𝑅 ) ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 ( .r𝑅 ) 𝑦 ) ( +g𝑅 ) ( 𝑥 ( .r𝑅 ) 𝑧 ) ) ∧ ( ( 𝑥 ( +g𝑅 ) 𝑦 ) ( .r𝑅 ) 𝑧 ) = ( ( 𝑥 ( .r𝑅 ) 𝑧 ) ( +g𝑅 ) ( 𝑦 ( .r𝑅 ) 𝑧 ) ) ) ∧ ∀ 𝑥 ∈ ( Base ‘ 𝑅 ) ( ( ( 0g𝑅 ) ( .r𝑅 ) 𝑥 ) = ( 0g𝑅 ) ∧ ( 𝑥 ( .r𝑅 ) ( 0g𝑅 ) ) = ( 0g𝑅 ) ) ) )
15 8 13 14 sylanbrc ( 𝑅 ∈ Ring → ∀ 𝑥 ∈ ( Base ‘ 𝑅 ) ( ∀ 𝑦 ∈ ( Base ‘ 𝑅 ) ∀ 𝑧 ∈ ( Base ‘ 𝑅 ) ( ( 𝑥 ( .r𝑅 ) ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 ( .r𝑅 ) 𝑦 ) ( +g𝑅 ) ( 𝑥 ( .r𝑅 ) 𝑧 ) ) ∧ ( ( 𝑥 ( +g𝑅 ) 𝑦 ) ( .r𝑅 ) 𝑧 ) = ( ( 𝑥 ( .r𝑅 ) 𝑧 ) ( +g𝑅 ) ( 𝑦 ( .r𝑅 ) 𝑧 ) ) ) ∧ ( ( ( 0g𝑅 ) ( .r𝑅 ) 𝑥 ) = ( 0g𝑅 ) ∧ ( 𝑥 ( .r𝑅 ) ( 0g𝑅 ) ) = ( 0g𝑅 ) ) ) )
16 4 2 5 6 9 issrg ( 𝑅 ∈ SRing ↔ ( 𝑅 ∈ CMnd ∧ ( mulGrp ‘ 𝑅 ) ∈ Mnd ∧ ∀ 𝑥 ∈ ( Base ‘ 𝑅 ) ( ∀ 𝑦 ∈ ( Base ‘ 𝑅 ) ∀ 𝑧 ∈ ( Base ‘ 𝑅 ) ( ( 𝑥 ( .r𝑅 ) ( 𝑦 ( +g𝑅 ) 𝑧 ) ) = ( ( 𝑥 ( .r𝑅 ) 𝑦 ) ( +g𝑅 ) ( 𝑥 ( .r𝑅 ) 𝑧 ) ) ∧ ( ( 𝑥 ( +g𝑅 ) 𝑦 ) ( .r𝑅 ) 𝑧 ) = ( ( 𝑥 ( .r𝑅 ) 𝑧 ) ( +g𝑅 ) ( 𝑦 ( .r𝑅 ) 𝑧 ) ) ) ∧ ( ( ( 0g𝑅 ) ( .r𝑅 ) 𝑥 ) = ( 0g𝑅 ) ∧ ( 𝑥 ( .r𝑅 ) ( 0g𝑅 ) ) = ( 0g𝑅 ) ) ) ) )
17 1 3 15 16 syl3anbrc ( 𝑅 ∈ Ring → 𝑅 ∈ SRing )