Metamath Proof Explorer


Theorem isrngd

Description: Properties that determine a non-unital ring. (Contributed by AV, 14-Feb-2025)

Ref Expression
Hypotheses isrngd.b φB=BaseR
isrngd.p φ+˙=+R
isrngd.t φ·˙=R
isrngd.g φRAbel
isrngd.c φxByBx·˙yB
isrngd.a φxByBzBx·˙y·˙z=x·˙y·˙z
isrngd.d φxByBzBx·˙y+˙z=x·˙y+˙x·˙z
isrngd.e φxByBzBx+˙y·˙z=x·˙z+˙y·˙z
Assertion isrngd φRRng

Proof

Step Hyp Ref Expression
1 isrngd.b φB=BaseR
2 isrngd.p φ+˙=+R
3 isrngd.t φ·˙=R
4 isrngd.g φRAbel
5 isrngd.c φxByBx·˙yB
6 isrngd.a φxByBzBx·˙y·˙z=x·˙y·˙z
7 isrngd.d φxByBzBx·˙y+˙z=x·˙y+˙x·˙z
8 isrngd.e φxByBzBx+˙y·˙z=x·˙z+˙y·˙z
9 eqid mulGrpR=mulGrpR
10 eqid BaseR=BaseR
11 9 10 mgpbas BaseR=BasemulGrpR
12 1 11 eqtrdi φB=BasemulGrpR
13 eqid R=R
14 9 13 mgpplusg R=+mulGrpR
15 3 14 eqtrdi φ·˙=+mulGrpR
16 fvexd φmulGrpRV
17 12 15 5 6 16 issgrpd Could not format ( ph -> ( mulGrp ` R ) e. Smgrp ) : No typesetting found for |- ( ph -> ( mulGrp ` R ) e. Smgrp ) with typecode |-
18 1 eleq2d φxBxBaseR
19 1 eleq2d φyByBaseR
20 1 eleq2d φzBzBaseR
21 18 19 20 3anbi123d φxByBzBxBaseRyBaseRzBaseR
22 21 biimpar φxBaseRyBaseRzBaseRxByBzB
23 3 adantr φxByBzB·˙=R
24 eqidd φxByBzBx=x
25 2 oveqdr φxByBzBy+˙z=y+Rz
26 23 24 25 oveq123d φxByBzBx·˙y+˙z=xRy+Rz
27 2 adantr φxByBzB+˙=+R
28 3 oveqdr φxByBzBx·˙y=xRy
29 3 oveqdr φxByBzBx·˙z=xRz
30 27 28 29 oveq123d φxByBzBx·˙y+˙x·˙z=xRy+RxRz
31 7 26 30 3eqtr3d φxByBzBxRy+Rz=xRy+RxRz
32 2 oveqdr φxByBzBx+˙y=x+Ry
33 eqidd φxByBzBz=z
34 23 32 33 oveq123d φxByBzBx+˙y·˙z=x+RyRz
35 3 oveqdr φxByBzBy·˙z=yRz
36 27 29 35 oveq123d φxByBzBx·˙z+˙y·˙z=xRz+RyRz
37 8 34 36 3eqtr3d φxByBzBx+RyRz=xRz+RyRz
38 31 37 jca φxByBzBxRy+Rz=xRy+RxRzx+RyRz=xRz+RyRz
39 22 38 syldan φxBaseRyBaseRzBaseRxRy+Rz=xRy+RxRzx+RyRz=xRz+RyRz
40 39 ralrimivvva φxBaseRyBaseRzBaseRxRy+Rz=xRy+RxRzx+RyRz=xRz+RyRz
41 eqid +R=+R
42 10 9 41 13 isrng Could not format ( R e. Rng <-> ( R e. Abel /\ ( mulGrp ` R ) e. Smgrp /\ A. x e. ( Base ` R ) A. y e. ( Base ` R ) A. z e. ( Base ` R ) ( ( x ( .r ` R ) ( y ( +g ` R ) z ) ) = ( ( x ( .r ` R ) y ) ( +g ` R ) ( x ( .r ` R ) z ) ) /\ ( ( x ( +g ` R ) y ) ( .r ` R ) z ) = ( ( x ( .r ` R ) z ) ( +g ` R ) ( y ( .r ` R ) z ) ) ) ) ) : No typesetting found for |- ( R e. Rng <-> ( R e. Abel /\ ( mulGrp ` R ) e. Smgrp /\ A. x e. ( Base ` R ) A. y e. ( Base ` R ) A. z e. ( Base ` R ) ( ( x ( .r ` R ) ( y ( +g ` R ) z ) ) = ( ( x ( .r ` R ) y ) ( +g ` R ) ( x ( .r ` R ) z ) ) /\ ( ( x ( +g ` R ) y ) ( .r ` R ) z ) = ( ( x ( .r ` R ) z ) ( +g ` R ) ( y ( .r ` R ) z ) ) ) ) ) with typecode |-
43 4 17 40 42 syl3anbrc φRRng