Subalgebras in towers of algebras #
In this file we prove facts about subalgebras in towers of algebras.
An algebra tower A/S/R is expressed by having instances of Algebra A S,
Algebra R S, Algebra R A and IsScalarTower R S A, the latter asserting the
compatibility condition (r • s) • a = r • (s • a).
Main results #
IsScalarTower.Subalgebra: ifA/S/Ris a tower andS₀is a subalgebra betweenSandR, thenA/S/S₀is a towerIsScalarTower.Subalgebra': ifA/S/Ris a tower andS₀is a subalgebra betweenSandR, thenA/S₀/Ris a towerSubalgebra.restrictScalars: turn anS-subalgebra ofAinto anR-subalgebra ofA, given thatA/S/Ris a tower
theorem
Algebra.lmul_algebraMap
(R : Type u)
{A : Type w}
[CommSemiring R]
[Semiring A]
[Algebra R A]
(x : R)
:
instance
IsScalarTower.subalgebra
(R : Type u)
(S : Type v)
(A : Type w)
[CommSemiring R]
[CommSemiring S]
[Semiring A]
[Algebra R S]
[Algebra S A]
(S₀ : Subalgebra R S)
:
IsScalarTower (↥S₀) S A
instance
IsScalarTower.subalgebra'
(R : Type u)
(S : Type v)
(A : Type w)
[CommSemiring R]
[CommSemiring S]
[Semiring A]
[Algebra R S]
[Algebra S A]
[Algebra R A]
[IsScalarTower R S A]
(S₀ : Subalgebra R S)
:
IsScalarTower R (↥S₀) A
def
Subalgebra.restrictScalars
(R : Type u)
{S : Type v}
{A : Type w}
[CommSemiring R]
[CommSemiring S]
[Semiring A]
[Algebra R S]
[Algebra S A]
[Algebra R A]
[IsScalarTower R S A]
(U : Subalgebra S A)
:
Subalgebra R A
Given a tower A / ↥U / S / R of algebras, where U is an S-subalgebra of A, reinterpret
U as an R-subalgebra of A.
Equations
- Subalgebra.restrictScalars R U = { toSubsemiring := U.toSubsemiring, algebraMap_mem' := ⋯ }
Instances For
@[simp]
theorem
Subalgebra.coe_restrictScalars
(R : Type u)
{S : Type v}
{A : Type w}
[CommSemiring R]
[CommSemiring S]
[Semiring A]
[Algebra R S]
[Algebra S A]
[Algebra R A]
[IsScalarTower R S A]
{U : Subalgebra S A}
:
@[simp]
theorem
Subalgebra.restrictScalars_top
(R : Type u)
{S : Type v}
{A : Type w}
[CommSemiring R]
[CommSemiring S]
[Semiring A]
[Algebra R S]
[Algebra S A]
[Algebra R A]
[IsScalarTower R S A]
:
@[simp]
theorem
Subalgebra.restrictScalars_toSubmodule
(R : Type u)
{S : Type v}
{A : Type w}
[CommSemiring R]
[CommSemiring S]
[Semiring A]
[Algebra R S]
[Algebra S A]
[Algebra R A]
[IsScalarTower R S A]
{U : Subalgebra S A}
:
@[simp]
theorem
Subalgebra.mem_restrictScalars
(R : Type u)
{S : Type v}
{A : Type w}
[CommSemiring R]
[CommSemiring S]
[Semiring A]
[Algebra R S]
[Algebra S A]
[Algebra R A]
[IsScalarTower R S A]
{U : Subalgebra S A}
{x : A}
:
theorem
Subalgebra.restrictScalars_injective
(R : Type u)
{S : Type v}
{A : Type w}
[CommSemiring R]
[CommSemiring S]
[Semiring A]
[Algebra R S]
[Algebra S A]
[Algebra R A]
[IsScalarTower R S A]
:
def
Subalgebra.ofRestrictScalars
(R : Type u)
{S : Type v}
{A : Type w}
{B : Type u₁}
[CommSemiring R]
[CommSemiring S]
[Semiring A]
[Semiring B]
[Algebra R S]
[Algebra S A]
[Algebra R A]
[Algebra S B]
[Algebra R B]
[IsScalarTower R S A]
[IsScalarTower R S B]
(U : Subalgebra S A)
(f : ↥U →ₐ[S] B)
:
Produces an R-algebra map from U.restrictScalars R given an S-algebra map from U.
This is a special case of AlgHom.restrictScalars that can be helpful in elaboration.
Equations
Instances For
@[simp]
theorem
Subalgebra.range_isScalarTower_toAlgHom
(R : Type u)
(A : Type w)
[CommSemiring R]
[CommSemiring A]
[Algebra R A]
(S : Subalgebra R A)
:
theorem
IsScalarTower.adjoin_range_toAlgHom
(R : Type u)
(S : Type v)
(A : Type w)
[CommSemiring R]
[CommSemiring S]
[CommSemiring A]
[Algebra R S]
[Algebra S A]
[Algebra R A]
[IsScalarTower R S A]
(t : Set A)
:
Subalgebra.restrictScalars R (Algebra.adjoin (↥(toAlgHom R S A).range) t) = Subalgebra.restrictScalars R (Algebra.adjoin S t)