Metamath Proof Explorer


Theorem issubrng2

Description: Characterize the subrings of a ring by closure properties. (Contributed by AV, 15-Feb-2025)

Ref Expression
Hypotheses issubrng2.b B=BaseR
issubrng2.t ·˙=R
Assertion issubrng2 Could not format assertion : No typesetting found for |- ( R e. Rng -> ( A e. ( SubRng ` R ) <-> ( A e. ( SubGrp ` R ) /\ A. x e. A A. y e. A ( x .x. y ) e. A ) ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 issubrng2.b B=BaseR
2 issubrng2.t ·˙=R
3 subrngsubg Could not format ( A e. ( SubRng ` R ) -> A e. ( SubGrp ` R ) ) : No typesetting found for |- ( A e. ( SubRng ` R ) -> A e. ( SubGrp ` R ) ) with typecode |-
4 2 subrngmcl Could not format ( ( A e. ( SubRng ` R ) /\ x e. A /\ y e. A ) -> ( x .x. y ) e. A ) : No typesetting found for |- ( ( A e. ( SubRng ` R ) /\ x e. A /\ y e. A ) -> ( x .x. y ) e. A ) with typecode |-
5 4 3expb Could not format ( ( A e. ( SubRng ` R ) /\ ( x e. A /\ y e. A ) ) -> ( x .x. y ) e. A ) : No typesetting found for |- ( ( A e. ( SubRng ` R ) /\ ( x e. A /\ y e. A ) ) -> ( x .x. y ) e. A ) with typecode |-
6 5 ralrimivva Could not format ( A e. ( SubRng ` R ) -> A. x e. A A. y e. A ( x .x. y ) e. A ) : No typesetting found for |- ( A e. ( SubRng ` R ) -> A. x e. A A. y e. A ( x .x. y ) e. A ) with typecode |-
7 3 6 jca Could not format ( A e. ( SubRng ` R ) -> ( A e. ( SubGrp ` R ) /\ A. x e. A A. y e. A ( x .x. y ) e. A ) ) : No typesetting found for |- ( A e. ( SubRng ` R ) -> ( A e. ( SubGrp ` R ) /\ A. x e. A A. y e. A ( x .x. y ) e. A ) ) with typecode |-
8 simpl RRngASubGrpRxAyAx·˙yARRng
9 simprl RRngASubGrpRxAyAx·˙yAASubGrpR
10 eqid R𝑠A=R𝑠A
11 10 subgbas ASubGrpRA=BaseR𝑠A
12 9 11 syl RRngASubGrpRxAyAx·˙yAA=BaseR𝑠A
13 eqid +R=+R
14 10 13 ressplusg ASubGrpR+R=+R𝑠A
15 9 14 syl RRngASubGrpRxAyAx·˙yA+R=+R𝑠A
16 10 2 ressmulr ASubGrpR·˙=R𝑠A
17 9 16 syl RRngASubGrpRxAyAx·˙yA·˙=R𝑠A
18 rngabl RRngRAbel
19 10 subgabl RAbelASubGrpRR𝑠AAbel
20 18 9 19 syl2an2r RRngASubGrpRxAyAx·˙yAR𝑠AAbel
21 simprr RRngASubGrpRxAyAx·˙yAxAyAx·˙yA
22 oveq1 x=ux·˙y=u·˙y
23 22 eleq1d x=ux·˙yAu·˙yA
24 oveq2 y=vu·˙y=u·˙v
25 24 eleq1d y=vu·˙yAu·˙vA
26 23 25 rspc2v uAvAxAyAx·˙yAu·˙vA
27 21 26 syl5com RRngASubGrpRxAyAx·˙yAuAvAu·˙vA
28 27 3impib RRngASubGrpRxAyAx·˙yAuAvAu·˙vA
29 1 subgss ASubGrpRAB
30 9 29 syl RRngASubGrpRxAyAx·˙yAAB
31 30 sseld RRngASubGrpRxAyAx·˙yAuAuB
32 30 sseld RRngASubGrpRxAyAx·˙yAvAvB
33 30 sseld RRngASubGrpRxAyAx·˙yAwAwB
34 31 32 33 3anim123d RRngASubGrpRxAyAx·˙yAuAvAwAuBvBwB
35 34 imp RRngASubGrpRxAyAx·˙yAuAvAwAuBvBwB
36 1 2 rngass RRnguBvBwBu·˙v·˙w=u·˙v·˙w
37 36 adantlr RRngASubGrpRxAyAx·˙yAuBvBwBu·˙v·˙w=u·˙v·˙w
38 35 37 syldan RRngASubGrpRxAyAx·˙yAuAvAwAu·˙v·˙w=u·˙v·˙w
39 1 13 2 rngdi RRnguBvBwBu·˙v+Rw=u·˙v+Ru·˙w
40 39 adantlr RRngASubGrpRxAyAx·˙yAuBvBwBu·˙v+Rw=u·˙v+Ru·˙w
41 35 40 syldan RRngASubGrpRxAyAx·˙yAuAvAwAu·˙v+Rw=u·˙v+Ru·˙w
42 1 13 2 rngdir RRnguBvBwBu+Rv·˙w=u·˙w+Rv·˙w
43 42 adantlr RRngASubGrpRxAyAx·˙yAuBvBwBu+Rv·˙w=u·˙w+Rv·˙w
44 35 43 syldan RRngASubGrpRxAyAx·˙yAuAvAwAu+Rv·˙w=u·˙w+Rv·˙w
45 12 15 17 20 28 38 41 44 isrngd RRngASubGrpRxAyAx·˙yAR𝑠ARng
46 1 issubrng Could not format ( A e. ( SubRng ` R ) <-> ( R e. Rng /\ ( R |`s A ) e. Rng /\ A C_ B ) ) : No typesetting found for |- ( A e. ( SubRng ` R ) <-> ( R e. Rng /\ ( R |`s A ) e. Rng /\ A C_ B ) ) with typecode |-
47 8 45 30 46 syl3anbrc Could not format ( ( R e. Rng /\ ( A e. ( SubGrp ` R ) /\ A. x e. A A. y e. A ( x .x. y ) e. A ) ) -> A e. ( SubRng ` R ) ) : No typesetting found for |- ( ( R e. Rng /\ ( A e. ( SubGrp ` R ) /\ A. x e. A A. y e. A ( x .x. y ) e. A ) ) -> A e. ( SubRng ` R ) ) with typecode |-
48 47 ex Could not format ( R e. Rng -> ( ( A e. ( SubGrp ` R ) /\ A. x e. A A. y e. A ( x .x. y ) e. A ) -> A e. ( SubRng ` R ) ) ) : No typesetting found for |- ( R e. Rng -> ( ( A e. ( SubGrp ` R ) /\ A. x e. A A. y e. A ( x .x. y ) e. A ) -> A e. ( SubRng ` R ) ) ) with typecode |-
49 7 48 impbid2 Could not format ( R e. Rng -> ( A e. ( SubRng ` R ) <-> ( A e. ( SubGrp ` R ) /\ A. x e. A A. y e. A ( x .x. y ) e. A ) ) ) : No typesetting found for |- ( R e. Rng -> ( A e. ( SubRng ` R ) <-> ( A e. ( SubGrp ` R ) /\ A. x e. A A. y e. A ( x .x. y ) e. A ) ) ) with typecode |-