File: Mathlib/Algebra/Algebra/Subalgebra/MulOpposite.lean

full_name: Subalgebra.op
code: /-- Pull a subalgebra back to an opposite subalgebra along `MulOpposite.unop` -/
@[simps toSubsemiring]
protected def op (S : Subalgebra R A) : Subalgebra R Aᵐᵒᵖ 
goal: Subalgebra R Aᵐᵒᵖ

full_name: Subalgebra.op_toSubsemiring
code: /-- Pull a subalgebra back to an opposite subalgebra along `MulOpposite.unop` -/
@[simps toSubsemiring]
protected def op (S : Subalgebra R A) : Subalgebra R Aᵐᵒᵖ 
goal: S.op.toSubsemiring = S.op

full_name: Subalgebra.op_coe
code: @[simp, norm_cast]
theorem op_coe (S : Subalgebra R A) : S.op = MulOpposite.unop ⁻¹' (S : Set A) 
goal: ↑S.op = MulOpposite.unop ⁻¹' ↑S

full_name: Subalgebra.mem_op
code: @[simp]
theorem mem_op {x : Aᵐᵒᵖ} {S : Subalgebra R A} : x ∈ S.op ↔ x.unop ∈ S 
goal: x ∈ S.op ↔ MulOpposite.unop x ∈ S

full_name: Subalgebra.unop
code: /-- Pull an subalgebra subring back to a subalgebra along `MulOpposite.op` -/
@[simps toSubsemiring]
protected def unop (S : Subalgebra R Aᵐᵒᵖ) : Subalgebra R A 
goal: Subalgebra R A

full_name: Subalgebra.unop_toSubsemiring
code: /-- Pull an subalgebra subring back to a subalgebra along `MulOpposite.op` -/
@[simps toSubsemiring]
protected def unop (S : Subalgebra R Aᵐᵒᵖ) : Subalgebra R A 
goal: S.unop.toSubsemiring = S.unop

full_name: Subalgebra.unop_coe
code: @[simp, norm_cast]
theorem unop_coe (S : Subalgebra R Aᵐᵒᵖ) : S.unop = MulOpposite.op ⁻¹' (S : Set Aᵐᵒᵖ) 
goal: ↑S.unop = MulOpposite.op ⁻¹' ↑S

full_name: Subalgebra.mem_unop
code: @[simp]
theorem mem_unop {x : A} {S : Subalgebra R Aᵐᵒᵖ} : x ∈ S.unop ↔ MulOpposite.op x ∈ S 
goal: x ∈ S.unop ↔ MulOpposite.op x ∈ S

full_name: Subalgebra.unop_op
code: @[simp]
theorem unop_op (S : Subalgebra R A) : S.op.unop = S 
goal: S.op.unop = S

full_name: Subalgebra.op_unop
code: @[simp]
theorem op_unop (S : Subalgebra R Aᵐᵒᵖ) : S.unop.op = S 
goal: S.unop.op = S

full_name: Subalgebra.op_le_iff
code: theorem op_le_iff {S₁ : Subalgebra R A} {S₂ : Subalgebra R Aᵐᵒᵖ} : S₁.op ≤ S₂ ↔ S₁ ≤ S₂.unop 
goal: S₁.op ≤ S₂ ↔ S₁ ≤ S₂.unop

full_name: Subalgebra.le_op_iff
code: theorem le_op_iff {S₁ : Subalgebra R Aᵐᵒᵖ} {S₂ : Subalgebra R A} : S₁ ≤ S₂.op ↔ S₁.unop ≤ S₂ 
goal: S₁ ≤ S₂.op ↔ S₁.unop ≤ S₂

full_name: Subalgebra.op_le_op_iff
code: @[simp]
theorem op_le_op_iff {S₁ S₂ : Subalgebra R A} : S₁.op ≤ S₂.op ↔ S₁ ≤ S₂ 
goal: S₁.op ≤ S₂.op ↔ S₁ ≤ S₂

full_name: Subalgebra.unop_le_unop_iff
code: @[simp]
theorem unop_le_unop_iff {S₁ S₂ : Subalgebra R Aᵐᵒᵖ} : S₁.unop ≤ S₂.unop ↔ S₁ ≤ S₂ 
goal: S₁.unop ≤ S₂.unop ↔ S₁ ≤ S₂

full_name: Subalgebra.opEquiv_symm_apply
code: /-- A subalgebra `S` of `A / R` determines a subring `S.op` of the opposite ring `Aᵐᵒᵖ / R`. -/
@[simps]
def opEquiv : Subalgebra R A ≃o Subalgebra R Aᵐᵒᵖ 
goal: (RelIso.symm Subalgebra.opEquiv) S = S.unop

full_name: Subalgebra.opEquiv
code: /-- A subalgebra `S` of `A / R` determines a subring `S.op` of the opposite ring `Aᵐᵒᵖ / R`. -/
@[simps]
def opEquiv : Subalgebra R A ≃o Subalgebra R Aᵐᵒᵖ 
goal: Subalgebra R A ≃o Subalgebra R Aᵐᵒᵖ

full_name: Subalgebra.opEquiv_apply
code: /-- A subalgebra `S` of `A / R` determines a subring `S.op` of the opposite ring `Aᵐᵒᵖ / R`. -/
@[simps]
def opEquiv : Subalgebra R A ≃o Subalgebra R Aᵐᵒᵖ 
goal: Subalgebra.opEquiv S = S.op

full_name: Subalgebra.op_bot
code: @[simp]
theorem op_bot : (⊥ : Subalgebra R A).op = ⊥ 
goal: ⊥.op = ⊥

full_name: Subalgebra.unop_bot
code: @[simp]
theorem unop_bot : (⊥ : Subalgebra R Aᵐᵒᵖ).unop = ⊥ 
goal: ⊥.unop = ⊥

full_name: Subalgebra.op_top
code: @[simp]
theorem op_top : (⊤ : Subalgebra R A).op = ⊤ 
goal: ⊤.op = ⊤

full_name: Subalgebra.unop_top
code: @[simp]
theorem unop_top : (⊤ : Subalgebra R Aᵐᵒᵖ).unop = ⊤ 
goal: ⊤.unop = ⊤

full_name: Subalgebra.op_sup
code: theorem op_sup (S₁ S₂ : Subalgebra R A) : (S₁ ⊔ S₂).op = S₁.op ⊔ S₂.op 
goal: (S₁ ⊔ S₂).op = S₁.op ⊔ S₂.op

full_name: Subalgebra.unop_sup
code: theorem unop_sup (S₁ S₂ : Subalgebra R Aᵐᵒᵖ) : (S₁ ⊔ S₂).unop = S₁.unop ⊔ S₂.unop 
goal: (S₁ ⊔ S₂).unop = S₁.unop ⊔ S₂.unop

full_name: Subalgebra.op_inf
code: theorem op_inf (S₁ S₂ : Subalgebra R A) : (S₁ ⊓ S₂).op = S₁.op ⊓ S₂.op 
goal: (S₁ ⊓ S₂).op = S₁.op ⊓ S₂.op

full_name: Subalgebra.unop_inf
code: theorem unop_inf (S₁ S₂ : Subalgebra R Aᵐᵒᵖ) : (S₁ ⊓ S₂).unop = S₁.unop ⊓ S₂.unop 
goal: (S₁ ⊓ S₂).unop = S₁.unop ⊓ S₂.unop

full_name: Subalgebra.op_sSup
code: theorem op_sSup (S : Set (Subalgebra R A)) : (sSup S).op = sSup (.unop ⁻¹' S) 
goal: (sSup S).op = sSup (Subalgebra.unop ⁻¹' S)

full_name: Subalgebra.unop_sSup
code: theorem unop_sSup (S : Set (Subalgebra R Aᵐᵒᵖ)) : (sSup S).unop = sSup (.op ⁻¹' S) 
goal: (sSup S).unop = sSup (Subalgebra.op ⁻¹' S)

full_name: Subalgebra.op_sInf
code: theorem op_sInf (S : Set (Subalgebra R A)) : (sInf S).op = sInf (.unop ⁻¹' S) 
goal: (sInf S).op = sInf (Subalgebra.unop ⁻¹' S)

full_name: Subalgebra.unop_sInf
code: theorem unop_sInf (S : Set (Subalgebra R Aᵐᵒᵖ)) : (sInf S).unop = sInf (.op ⁻¹' S) 
goal: (sInf S).unop = sInf (Subalgebra.op ⁻¹' S)

full_name: Subalgebra.op_iSup
code: theorem op_iSup (S : ι → Subalgebra R A) : (iSup S).op = ⨆ i, (S i).op 
goal: (iSup S).op = ⨆ i, (S i).op

full_name: Subalgebra.unop_iSup
code: theorem unop_iSup (S : ι → Subalgebra R Aᵐᵒᵖ) : (iSup S).unop = ⨆ i, (S i).unop 
goal: (iSup S).unop = ⨆ i, (S i).unop

full_name: Subalgebra.op_iInf
code: theorem op_iInf (S : ι → Subalgebra R A) : (iInf S).op = ⨅ i, (S i).op 
goal: (iInf S).op = ⨅ i, (S i).op

full_name: Subalgebra.unop_iInf
code: theorem unop_iInf (S : ι → Subalgebra R Aᵐᵒᵖ) : (iInf S).unop = ⨅ i, (S i).unop 
goal: (iInf S).unop = ⨅ i, (S i).unop

full_name: Subalgebra.op_adjoin
code: theorem op_adjoin (s : Set A) :
    (Algebra.adjoin R s).op = Algebra.adjoin R (MulOpposite.unop ⁻¹' s) 
goal: (Algebra.adjoin R s).op = Algebra.adjoin R (MulOpposite.unop ⁻¹' s)

full_name: Subalgebra.unop_adjoin
code: theorem unop_adjoin (s : Set Aᵐᵒᵖ) :
    (Algebra.adjoin R s).unop = Algebra.adjoin R (MulOpposite.op ⁻¹' s) 
goal: (Algebra.adjoin R s).unop = Algebra.adjoin R (MulOpposite.op ⁻¹' s)

full_name: Subalgebra.linearEquivOp_apply_coe
code: /-- Bijection between a subalgebra `S` and its opposite. -/
@[simps!]
def linearEquivOp (S : Subalgebra R A) : S ≃ₗ[R] S.op 
goal: ∀ (a : ↥S.toSubsemiring), ↑(S.linearEquivOp a) = MulOpposite.op ↑a

full_name: Subalgebra.linearEquivOp_symm_apply_coe
code: /-- Bijection between a subalgebra `S` and its opposite. -/
@[simps!]
def linearEquivOp (S : Subalgebra R A) : S ≃ₗ[R] S.op 
goal: ∀ (a : ↥S.op), ↑(S.linearEquivOp.symm a) = MulOpposite.unop ↑a

full_name: Subalgebra.linearEquivOp
code: /-- Bijection between a subalgebra `S` and its opposite. -/
@[simps!]
def linearEquivOp (S : Subalgebra R A) : S ≃ₗ[R] S.op 
goal: ↥S ≃ₗ[R] ↥S.op

full_name: Subalgebra.algEquivOpMop
code: /-- Bijection between a subalgebra `S` and `MulOpposite` of its opposite. -/
@[simps!]
def algEquivOpMop (S : Subalgebra R A) : S ≃ₐ[R] (S.op)ᵐᵒᵖ 
goal: ↥S ≃ₐ[R] (↥S.op)ᵐᵒᵖ

full_name: Subalgebra.algEquivOpMop_symm_apply_coe
code: /-- Bijection between a subalgebra `S` and `MulOpposite` of its opposite. -/
@[simps!]
def algEquivOpMop (S : Subalgebra R A) : S ≃ₐ[R] (S.op)ᵐᵒᵖ 
goal: ∀ (a : (↥S.op)ᵐᵒᵖ), ↑(S.algEquivOpMop.symm a) = MulOpposite.unop ↑(MulOpposite.unop a)

full_name: Subalgebra.algEquivOpMop_apply
code: /-- Bijection between a subalgebra `S` and `MulOpposite` of its opposite. -/
@[simps!]
def algEquivOpMop (S : Subalgebra R A) : S ≃ₐ[R] (S.op)ᵐᵒᵖ 
goal: ∀ (a : ↥S.toSubsemiring), S.algEquivOpMop a = MulOpposite.op (S.addEquivOp a)

full_name: Subalgebra.mopAlgEquivOp_symm_apply
code: /-- Bijection between `MulOpposite` of a subalgebra `S` and its opposite. -/
@[simps!]
def mopAlgEquivOp (S : Subalgebra R A) : Sᵐᵒᵖ ≃ₐ[R] S.op 
goal: ∀ (a : ↥S.op), S.mopAlgEquivOp.symm a = MulOpposite.op (S.addEquivOp.symm a)

full_name: Subalgebra.mopAlgEquivOp
code: /-- Bijection between `MulOpposite` of a subalgebra `S` and its opposite. -/
@[simps!]
def mopAlgEquivOp (S : Subalgebra R A) : Sᵐᵒᵖ ≃ₐ[R] S.op 
goal: (↥S)ᵐᵒᵖ ≃ₐ[R] ↥S.op

full_name: Subalgebra.mopAlgEquivOp_apply_coe
code: /-- Bijection between `MulOpposite` of a subalgebra `S` and its opposite. -/
@[simps!]
def mopAlgEquivOp (S : Subalgebra R A) : Sᵐᵒᵖ ≃ₐ[R] S.op 
goal: ∀ (a : (↥S.toSubsemiring)ᵐᵒᵖ), ↑(S.mopAlgEquivOp a) = MulOpposite.op ↑(MulOpposite.unop a)

full_name: Subalgebra.op_toSubring
code: @[simp]
theorem op_toSubring (S : Subalgebra R A) : S.op.toSubring = S.toSubring.op 
goal: S.op.toSubring = S.toSubring.op

full_name: Subalgebra.unop_toSubring
code: @[simp]
theorem unop_toSubring (S : Subalgebra R Aᵐᵒᵖ) : S.unop.toSubring = S.toSubring.unop 
goal: S.unop.toSubring = S.toSubring.unop