Metamath Proof Explorer


Theorem opprsubrng

Description: Being a subring is a symmetric property. (Contributed by AV, 15-Feb-2025)

Ref Expression
Hypothesis opprsubrng.o ⊢ 𝑂 = ( oppr ‘ 𝑅 )
Assertion opprsubrng ( SubRng ‘ 𝑅 ) = ( SubRng ‘ 𝑂 )

Proof

Step Hyp Ref Expression
1 opprsubrng.o ⊢ 𝑂 = ( oppr ‘ 𝑅 )
2 subrngrcl ⊢ ( 𝑥 ∈ ( SubRng ‘ 𝑅 ) → 𝑅 ∈ Rng )
3 subrngrcl ⊢ ( 𝑥 ∈ ( SubRng ‘ 𝑂 ) → 𝑂 ∈ Rng )
4 1 opprrngb ⊢ ( 𝑅 ∈ Rng ↔ 𝑂 ∈ Rng )
5 3 4 sylibr ⊢ ( 𝑥 ∈ ( SubRng ‘ 𝑂 ) → 𝑅 ∈ Rng )
6 1 opprsubg ⊢ ( SubGrp ‘ 𝑅 ) = ( SubGrp ‘ 𝑂 )
7 6 a1i ⊢ ( 𝑅 ∈ Rng → ( SubGrp ‘ 𝑅 ) = ( SubGrp ‘ 𝑂 ) )
8 7 eleq2d ⊢ ( 𝑅 ∈ Rng → ( 𝑥 ∈ ( SubGrp ‘ 𝑅 ) ↔ 𝑥 ∈ ( SubGrp ‘ 𝑂 ) ) )
9 ralcom ⊢ ( ∀ 𝑧 ∈ 𝑥 ∀ 𝑦 ∈ 𝑥 ( 𝑧 ( .r ‘ 𝑅 ) 𝑦 ) ∈ 𝑥 ↔ ∀ 𝑦 ∈ 𝑥 ∀ 𝑧 ∈ 𝑥 ( 𝑧 ( .r ‘ 𝑅 ) 𝑦 ) ∈ 𝑥 )
10 eqid ⊢ ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
11 eqid ⊢ ( .r ‘ 𝑅 ) = ( .r ‘ 𝑅 )
12 eqid ⊢ ( .r ‘ 𝑂 ) = ( .r ‘ 𝑂 )
13 10 11 1 12 opprmul ⊢ ( 𝑦 ( .r ‘ 𝑂 ) 𝑧 ) = ( 𝑧 ( .r ‘ 𝑅 ) 𝑦 )
14 13 eleq1i ⊢ ( ( 𝑦 ( .r ‘ 𝑂 ) 𝑧 ) ∈ 𝑥 ↔ ( 𝑧 ( .r ‘ 𝑅 ) 𝑦 ) ∈ 𝑥 )
15 14 2ralbii ⊢ ( ∀ 𝑦 ∈ 𝑥 ∀ 𝑧 ∈ 𝑥 ( 𝑦 ( .r ‘ 𝑂 ) 𝑧 ) ∈ 𝑥 ↔ ∀ 𝑦 ∈ 𝑥 ∀ 𝑧 ∈ 𝑥 ( 𝑧 ( .r ‘ 𝑅 ) 𝑦 ) ∈ 𝑥 )
16 9 15 bitr4i ⊢ ( ∀ 𝑧 ∈ 𝑥 ∀ 𝑦 ∈ 𝑥 ( 𝑧 ( .r ‘ 𝑅 ) 𝑦 ) ∈ 𝑥 ↔ ∀ 𝑦 ∈ 𝑥 ∀ 𝑧 ∈ 𝑥 ( 𝑦 ( .r ‘ 𝑂 ) 𝑧 ) ∈ 𝑥 )
17 16 a1i ⊢ ( 𝑅 ∈ Rng → ( ∀ 𝑧 ∈ 𝑥 ∀ 𝑦 ∈ 𝑥 ( 𝑧 ( .r ‘ 𝑅 ) 𝑦 ) ∈ 𝑥 ↔ ∀ 𝑦 ∈ 𝑥 ∀ 𝑧 ∈ 𝑥 ( 𝑦 ( .r ‘ 𝑂 ) 𝑧 ) ∈ 𝑥 ) )
18 8 17 anbi12d ⊢ ( 𝑅 ∈ Rng → ( ( 𝑥 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑧 ∈ 𝑥 ∀ 𝑦 ∈ 𝑥 ( 𝑧 ( .r ‘ 𝑅 ) 𝑦 ) ∈ 𝑥 ) ↔ ( 𝑥 ∈ ( SubGrp ‘ 𝑂 ) ∧ ∀ 𝑦 ∈ 𝑥 ∀ 𝑧 ∈ 𝑥 ( 𝑦 ( .r ‘ 𝑂 ) 𝑧 ) ∈ 𝑥 ) ) )
19 10 11 issubrng2 ⊢ ( 𝑅 ∈ Rng → ( 𝑥 ∈ ( SubRng ‘ 𝑅 ) ↔ ( 𝑥 ∈ ( SubGrp ‘ 𝑅 ) ∧ ∀ 𝑧 ∈ 𝑥 ∀ 𝑦 ∈ 𝑥 ( 𝑧 ( .r ‘ 𝑅 ) 𝑦 ) ∈ 𝑥 ) ) )
20 1 10 opprbas ⊢ ( Base ‘ 𝑅 ) = ( Base ‘ 𝑂 )
21 20 12 issubrng2 ⊢ ( 𝑂 ∈ Rng → ( 𝑥 ∈ ( SubRng ‘ 𝑂 ) ↔ ( 𝑥 ∈ ( SubGrp ‘ 𝑂 ) ∧ ∀ 𝑦 ∈ 𝑥 ∀ 𝑧 ∈ 𝑥 ( 𝑦 ( .r ‘ 𝑂 ) 𝑧 ) ∈ 𝑥 ) ) )
22 4 21 sylbi ⊢ ( 𝑅 ∈ Rng → ( 𝑥 ∈ ( SubRng ‘ 𝑂 ) ↔ ( 𝑥 ∈ ( SubGrp ‘ 𝑂 ) ∧ ∀ 𝑦 ∈ 𝑥 ∀ 𝑧 ∈ 𝑥 ( 𝑦 ( .r ‘ 𝑂 ) 𝑧 ) ∈ 𝑥 ) ) )
23 18 19 22 3bitr4d ⊢ ( 𝑅 ∈ Rng → ( 𝑥 ∈ ( SubRng ‘ 𝑅 ) ↔ 𝑥 ∈ ( SubRng ‘ 𝑂 ) ) )
24 2 5 23 pm5.21nii ⊢ ( 𝑥 ∈ ( SubRng ‘ 𝑅 ) ↔ 𝑥 ∈ ( SubRng ‘ 𝑂 ) )
25 24 eqriv ⊢ ( SubRng ‘ 𝑅 ) = ( SubRng ‘ 𝑂 )