Extension of algebras #
Main definition #
Algebra.Extension
: An extension of anR
-algebraS
is anR
algebraP
together with a surjectionP →ₐ[R] R
.Algebra.Extension.Hom
: Given a commuting squareR --→ P -→ S | | ↓ ↓ R' -→ P' → S
A hom between
P
andP'
is a ring homomorphism that makes the two squares commute.Algebra.Extension.Cotangent
: The cotangent space wrt an extensionP → S
byI
, i.e. the spaceI/I²
.
An extension of an R
-algebra S
is an R
algebra P
together with a surjection P →ₐ[R] S
.
Also see Algebra.Extension.ofSurjective
.
- Ring : Type w
The underlying algebra of an extension.
- isScalarTower : IsScalarTower R self.Ring S
- σ : S → self.Ring
A chosen (set-theoretic) section of an extension.
Instances For
Equations
- P.instRingOfIsScalarTower = Algebra.compHom P.Ring (algebraMap R₀ R)
Construct Extension
from a surjective algebra homomorphism.
Equations
- Algebra.Extension.ofSurjective f h = Algebra.Extension.mk P (fun (x : S) => ⋯.choose) ⋯
Instances For
The kernel of an extension.
Equations
- P.ker = RingHom.ker (algebraMap P.Ring S)
Instances For
An R
-extension P → S
gives an R
-extension Pₘ → Sₘ
.
Note that this is different from baseChange
as the base does not change.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The base change of an R
-extension of S
to T
gives a T
-extension of T ⊗[R] S
.
Equations
- P.baseChange = Algebra.Extension.mk (TensorProduct R T P.Ring) (Algebra.Extension.ofSurjective (Algebra.TensorProduct.map (AlgHom.id T T) (IsScalarTower.toAlgHom R P.Ring S)) ⋯).σ ⋯
Instances For
Given a commuting square
R --→ P -→ S
| |
↓ ↓
R' -→ P' → S
A hom between P
and P'
is a ring homomorphism that makes the two squares commute.
The underlying ring homomorphism of a hom between extensions.
- toRingHom_algebraMap (x : R) : self.toRingHom ((algebraMap R P.Ring) x) = (algebraMap R' P'.Ring) ((algebraMap R R') x)
- algebraMap_toRingHom (x : P.Ring) : (algebraMap P'.Ring S') (self.toRingHom x) = (algebraMap S S') ((algebraMap P.Ring S) x)
Instances For
A hom between extensions as an algebra homomorphism.
Instances For
The identity hom.
Equations
- Algebra.Extension.Hom.id P = { toRingHom := RingHom.id P.Ring, toRingHom_algebraMap := ⋯, algebraMap_toRingHom := ⋯ }
Instances For
The composition of two homs.
Equations
Instances For
A map between extensions induce a map between kernels.
Equations
Instances For
Given an R
-algebra extension 0 → I → P → S → 0
of S
,
the infinitesimal extension associated to it is 0 → I/I² → P/I² → S → 0
.
Equations
- P.infinitesimal = Algebra.Extension.mk (P.Ring ⧸ P.ker ^ 2) (⇑(Ideal.Quotient.mk (P.ker ^ 2)) ∘ P.σ) ⋯
Instances For
The canonical map P → P/I²
as maps between extensions.
Equations
- P.toInfinitesimal = { toRingHom := Ideal.Quotient.mk (P.ker ^ 2), toRingHom_algebraMap := ⋯, algebraMap_toRingHom := ⋯ }
Instances For
The quotient map from the kernel of P → S
onto the cotangent space.
Equations
- Algebra.Extension.Cotangent.mk = { toFun := fun (x : ↥P.ker) => Algebra.Extension.Cotangent.of (P.ker.toCotangent x), map_add' := ⋯, map_smul' := ⋯ }
Instances For
A hom between two extensions induces a map between cotangent spaces.
Equations
- Algebra.Extension.Cotangent.map f = { toFun := fun (x : P.Cotangent) => Algebra.Extension.Cotangent.of ((P.ker.mapCotangent P'.ker f.toAlgHom ⋯) x.val), map_add' := ⋯, map_smul' := ⋯ }