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 · ˙ = R
Assertion isringrng R Ring R Rng x B y B x · ˙ y = y y · ˙ x = y

Proof

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