Subalgebras in towers of algebras #
In this file we prove facts about subalgebras in towers of algebra.
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 later asserting the
compatibility condition (r • s) • a = r • (s • a)
.
Main results #
IsScalarTower.Subalgebra
: ifA/S/R
is a tower andS₀
is a subalgebra betweenS
andR
, thenA/S/S₀
is a towerIsScalarTower.Subalgebra'
: ifA/S/R
is a tower andS₀
is a subalgebra betweenS
andR
, thenA/S₀/R
is a towerSubalgebra.restrictScalars
: turn anS
-subalgebra ofA
into anR
-subalgebra ofA
, given thatA/S/R
is a tower
theorem
Algebra.lmul_algebraMap
(R : Type u)
{A : Type w}
[CommSemiring R]
[Semiring A]
[Algebra R A]
(x : R)
:
(Algebra.lmul R A) ((algebraMap R A) x) = (Algebra.lsmul R R A) x
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
Equations
- ⋯ = ⋯
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
Equations
- ⋯ = ⋯
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}
:
↑(Subalgebra.restrictScalars R U) = ↑U
@[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}
:
Subalgebra.toSubmodule (Subalgebra.restrictScalars R U) = Submodule.restrictScalars R (Subalgebra.toSubmodule U)
@[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}
:
x ∈ Subalgebra.restrictScalars R U ↔ x ∈ U
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)
:
↥(Subalgebra.restrictScalars R U) →ₐ[R] 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)
:
LinearMap.range (IsScalarTower.toAlgHom R (↥S) A) = Subalgebra.toSubmodule S
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 (↥(IsScalarTower.toAlgHom R S A).range) t) = Subalgebra.restrictScalars R (Algebra.adjoin S t)