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
|- B = ( Base ` R )
isringrng.t
|- .x. = ( .r ` R )
Assertion isringrng
|- ( R e. Ring <-> ( R e. Rng /\ E. x e. B A. y e. B ( ( x .x. y ) = y /\ ( y .x. x ) = y ) ) )

Proof

Step Hyp Ref Expression
1 isringrng.b
 |-  B = ( Base ` R )
2 isringrng.t
 |-  .x. = ( .r ` R )
3 ringrng
 |-  ( R e. Ring -> R e. Rng )
4 1 2 ringideu
 |-  ( R e. Ring -> E! x e. B A. y e. B ( ( x .x. y ) = y /\ ( y .x. x ) = y ) )
5 reurex
 |-  ( E! x e. B A. y e. B ( ( x .x. y ) = y /\ ( y .x. x ) = y ) -> E. x e. B A. y e. B ( ( x .x. y ) = y /\ ( y .x. x ) = y ) )
6 4 5 syl
 |-  ( R e. Ring -> E. x e. B A. y e. B ( ( x .x. y ) = y /\ ( y .x. x ) = y ) )
7 3 6 jca
 |-  ( R e. Ring -> ( R e. Rng /\ E. x e. B A. y e. B ( ( x .x. y ) = y /\ ( y .x. x ) = y ) ) )
8 rngabl
 |-  ( R e. Rng -> R e. Abel )
9 ablgrp
 |-  ( R e. Abel -> R e. Grp )
10 8 9 syl
 |-  ( R e. Rng -> R e. Grp )
11 10 adantr
 |-  ( ( R e. Rng /\ E. x e. B A. y e. B ( ( x .x. y ) = y /\ ( y .x. x ) = y ) ) -> R e. Grp )
12 eqid
 |-  ( mulGrp ` R ) = ( mulGrp ` R )
13 12 rngmgp
 |-  ( R e. Rng -> ( mulGrp ` R ) e. Smgrp )
14 13 anim1i
 |-  ( ( R e. Rng /\ E. x e. B A. y e. B ( ( x .x. y ) = y /\ ( y .x. x ) = y ) ) -> ( ( mulGrp ` R ) e. Smgrp /\ E. x e. B A. y e. B ( ( x .x. y ) = y /\ ( y .x. x ) = y ) ) )
15 12 1 mgpbas
 |-  B = ( Base ` ( mulGrp ` R ) )
16 12 2 mgpplusg
 |-  .x. = ( +g ` ( mulGrp ` R ) )
17 15 16 ismnddef
 |-  ( ( mulGrp ` R ) e. Mnd <-> ( ( mulGrp ` R ) e. Smgrp /\ E. x e. B A. y e. B ( ( x .x. y ) = y /\ ( y .x. x ) = y ) ) )
18 14 17 sylibr
 |-  ( ( R e. Rng /\ E. x e. B A. y e. B ( ( x .x. y ) = y /\ ( y .x. x ) = y ) ) -> ( mulGrp ` R ) e. Mnd )
19 eqid
 |-  ( +g ` R ) = ( +g ` R )
20 1 12 19 2 isrng
 |-  ( R e. Rng <-> ( R e. Abel /\ ( mulGrp ` R ) e. Smgrp /\ A. x e. B A. y e. B A. z e. B ( ( x .x. ( y ( +g ` R ) z ) ) = ( ( x .x. y ) ( +g ` R ) ( x .x. z ) ) /\ ( ( x ( +g ` R ) y ) .x. z ) = ( ( x .x. z ) ( +g ` R ) ( y .x. z ) ) ) ) )
21 20 simp3bi
 |-  ( R e. Rng -> A. x e. B A. y e. B A. z e. B ( ( x .x. ( y ( +g ` R ) z ) ) = ( ( x .x. y ) ( +g ` R ) ( x .x. z ) ) /\ ( ( x ( +g ` R ) y ) .x. z ) = ( ( x .x. z ) ( +g ` R ) ( y .x. z ) ) ) )
22 21 adantr
 |-  ( ( R e. Rng /\ E. x e. B A. y e. B ( ( x .x. y ) = y /\ ( y .x. x ) = y ) ) -> A. x e. B A. y e. B A. z e. B ( ( x .x. ( y ( +g ` R ) z ) ) = ( ( x .x. y ) ( +g ` R ) ( x .x. z ) ) /\ ( ( x ( +g ` R ) y ) .x. z ) = ( ( x .x. z ) ( +g ` R ) ( y .x. z ) ) ) )
23 1 12 19 2 isring
 |-  ( R e. Ring <-> ( R e. Grp /\ ( mulGrp ` R ) e. Mnd /\ A. x e. B A. y e. B A. z e. B ( ( x .x. ( y ( +g ` R ) z ) ) = ( ( x .x. y ) ( +g ` R ) ( x .x. z ) ) /\ ( ( x ( +g ` R ) y ) .x. z ) = ( ( x .x. z ) ( +g ` R ) ( y .x. z ) ) ) ) )
24 11 18 22 23 syl3anbrc
 |-  ( ( R e. Rng /\ E. x e. B A. y e. B ( ( x .x. y ) = y /\ ( y .x. x ) = y ) ) -> R e. Ring )
25 7 24 impbii
 |-  ( R e. Ring <-> ( R e. Rng /\ E. x e. B A. y e. B ( ( x .x. y ) = y /\ ( y .x. x ) = y ) ) )