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 𝐵 = ( Base ‘ 𝑅 )
issubrng2.t · = ( .r𝑅 )
Assertion issubrng2 ( 𝑅 ∈ Rng → ( 𝐴 ∈ ( SubRng ‘ 𝑅 ) ↔ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) )

Proof

Step Hyp Ref Expression
1 issubrng2.b 𝐵 = ( Base ‘ 𝑅 )
2 issubrng2.t · = ( .r𝑅 )
3 subrngsubg ( 𝐴 ∈ ( SubRng ‘ 𝑅 ) → 𝐴 ∈ ( SubGrp ‘ 𝑅 ) )
4 2 subrngmcl ( ( 𝐴 ∈ ( SubRng ‘ 𝑅 ) ∧ 𝑥𝐴𝑦𝐴 ) → ( 𝑥 · 𝑦 ) ∈ 𝐴 )
5 4 3expb ( ( 𝐴 ∈ ( SubRng ‘ 𝑅 ) ∧ ( 𝑥𝐴𝑦𝐴 ) ) → ( 𝑥 · 𝑦 ) ∈ 𝐴 )
6 5 ralrimivva ( 𝐴 ∈ ( SubRng ‘ 𝑅 ) → ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 )
7 3 6 jca ( 𝐴 ∈ ( SubRng ‘ 𝑅 ) → ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) )
8 simpl ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → 𝑅 ∈ Rng )
9 simprl ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → 𝐴 ∈ ( SubGrp ‘ 𝑅 ) )
10 eqid ( 𝑅s 𝐴 ) = ( 𝑅s 𝐴 )
11 10 subgbas ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) → 𝐴 = ( Base ‘ ( 𝑅s 𝐴 ) ) )
12 9 11 syl ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → 𝐴 = ( Base ‘ ( 𝑅s 𝐴 ) ) )
13 eqid ( +g𝑅 ) = ( +g𝑅 )
14 10 13 ressplusg ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) → ( +g𝑅 ) = ( +g ‘ ( 𝑅s 𝐴 ) ) )
15 9 14 syl ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → ( +g𝑅 ) = ( +g ‘ ( 𝑅s 𝐴 ) ) )
16 10 2 ressmulr ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) → · = ( .r ‘ ( 𝑅s 𝐴 ) ) )
17 9 16 syl ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → · = ( .r ‘ ( 𝑅s 𝐴 ) ) )
18 rngabl ( 𝑅 ∈ Rng → 𝑅 ∈ Abel )
19 10 subgabl ( ( 𝑅 ∈ Abel ∧ 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ) → ( 𝑅s 𝐴 ) ∈ Abel )
20 18 9 19 syl2an2r ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → ( 𝑅s 𝐴 ) ∈ Abel )
21 simprr ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 )
22 oveq1 ( 𝑥 = 𝑢 → ( 𝑥 · 𝑦 ) = ( 𝑢 · 𝑦 ) )
23 22 eleq1d ( 𝑥 = 𝑢 → ( ( 𝑥 · 𝑦 ) ∈ 𝐴 ↔ ( 𝑢 · 𝑦 ) ∈ 𝐴 ) )
24 oveq2 ( 𝑦 = 𝑣 → ( 𝑢 · 𝑦 ) = ( 𝑢 · 𝑣 ) )
25 24 eleq1d ( 𝑦 = 𝑣 → ( ( 𝑢 · 𝑦 ) ∈ 𝐴 ↔ ( 𝑢 · 𝑣 ) ∈ 𝐴 ) )
26 23 25 rspc2v ( ( 𝑢𝐴𝑣𝐴 ) → ( ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 → ( 𝑢 · 𝑣 ) ∈ 𝐴 ) )
27 21 26 syl5com ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → ( ( 𝑢𝐴𝑣𝐴 ) → ( 𝑢 · 𝑣 ) ∈ 𝐴 ) )
28 27 3impib ( ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) ∧ 𝑢𝐴𝑣𝐴 ) → ( 𝑢 · 𝑣 ) ∈ 𝐴 )
29 1 subgss ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) → 𝐴𝐵 )
30 9 29 syl ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → 𝐴𝐵 )
31 30 sseld ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → ( 𝑢𝐴𝑢𝐵 ) )
32 30 sseld ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → ( 𝑣𝐴𝑣𝐵 ) )
33 30 sseld ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → ( 𝑤𝐴𝑤𝐵 ) )
34 31 32 33 3anim123d ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → ( ( 𝑢𝐴𝑣𝐴𝑤𝐴 ) → ( 𝑢𝐵𝑣𝐵𝑤𝐵 ) ) )
35 34 imp ( ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) ∧ ( 𝑢𝐴𝑣𝐴𝑤𝐴 ) ) → ( 𝑢𝐵𝑣𝐵𝑤𝐵 ) )
36 1 2 rngass ( ( 𝑅 ∈ Rng ∧ ( 𝑢𝐵𝑣𝐵𝑤𝐵 ) ) → ( ( 𝑢 · 𝑣 ) · 𝑤 ) = ( 𝑢 · ( 𝑣 · 𝑤 ) ) )
37 36 adantlr ( ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) ∧ ( 𝑢𝐵𝑣𝐵𝑤𝐵 ) ) → ( ( 𝑢 · 𝑣 ) · 𝑤 ) = ( 𝑢 · ( 𝑣 · 𝑤 ) ) )
38 35 37 syldan ( ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) ∧ ( 𝑢𝐴𝑣𝐴𝑤𝐴 ) ) → ( ( 𝑢 · 𝑣 ) · 𝑤 ) = ( 𝑢 · ( 𝑣 · 𝑤 ) ) )
39 1 13 2 rngdi ( ( 𝑅 ∈ Rng ∧ ( 𝑢𝐵𝑣𝐵𝑤𝐵 ) ) → ( 𝑢 · ( 𝑣 ( +g𝑅 ) 𝑤 ) ) = ( ( 𝑢 · 𝑣 ) ( +g𝑅 ) ( 𝑢 · 𝑤 ) ) )
40 39 adantlr ( ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) ∧ ( 𝑢𝐵𝑣𝐵𝑤𝐵 ) ) → ( 𝑢 · ( 𝑣 ( +g𝑅 ) 𝑤 ) ) = ( ( 𝑢 · 𝑣 ) ( +g𝑅 ) ( 𝑢 · 𝑤 ) ) )
41 35 40 syldan ( ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) ∧ ( 𝑢𝐴𝑣𝐴𝑤𝐴 ) ) → ( 𝑢 · ( 𝑣 ( +g𝑅 ) 𝑤 ) ) = ( ( 𝑢 · 𝑣 ) ( +g𝑅 ) ( 𝑢 · 𝑤 ) ) )
42 1 13 2 rngdir ( ( 𝑅 ∈ Rng ∧ ( 𝑢𝐵𝑣𝐵𝑤𝐵 ) ) → ( ( 𝑢 ( +g𝑅 ) 𝑣 ) · 𝑤 ) = ( ( 𝑢 · 𝑤 ) ( +g𝑅 ) ( 𝑣 · 𝑤 ) ) )
43 42 adantlr ( ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) ∧ ( 𝑢𝐵𝑣𝐵𝑤𝐵 ) ) → ( ( 𝑢 ( +g𝑅 ) 𝑣 ) · 𝑤 ) = ( ( 𝑢 · 𝑤 ) ( +g𝑅 ) ( 𝑣 · 𝑤 ) ) )
44 35 43 syldan ( ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) ∧ ( 𝑢𝐴𝑣𝐴𝑤𝐴 ) ) → ( ( 𝑢 ( +g𝑅 ) 𝑣 ) · 𝑤 ) = ( ( 𝑢 · 𝑤 ) ( +g𝑅 ) ( 𝑣 · 𝑤 ) ) )
45 12 15 17 20 28 38 41 44 isrngd ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → ( 𝑅s 𝐴 ) ∈ Rng )
46 1 issubrng ( 𝐴 ∈ ( SubRng ‘ 𝑅 ) ↔ ( 𝑅 ∈ Rng ∧ ( 𝑅s 𝐴 ) ∈ Rng ∧ 𝐴𝐵 ) )
47 8 45 30 46 syl3anbrc ( ( 𝑅 ∈ Rng ∧ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) → 𝐴 ∈ ( SubRng ‘ 𝑅 ) )
48 47 ex ( 𝑅 ∈ Rng → ( ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) → 𝐴 ∈ ( SubRng ‘ 𝑅 ) ) )
49 7 48 impbid2 ( 𝑅 ∈ Rng → ( 𝐴 ∈ ( SubRng ‘ 𝑅 ) ↔ ( 𝐴 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑥𝐴𝑦𝐴 ( 𝑥 · 𝑦 ) ∈ 𝐴 ) ) )