The module of kaehler differentials #
Main results #
KaehlerDifferential
: The module of kaehler differentials. For anR
-algebraS
, we provide the notationΩ[S⁄R]
forKaehlerDifferential R S
. Note that the slash is\textfractionsolidus
.KaehlerDifferential.D
: The derivation into the module of kaehler differentials.KaehlerDifferential.span_range_derivation
: The image ofD
spansΩ[S⁄R]
as anS
-module.KaehlerDifferential.linearMapEquivDerivation
: The isomorphismHom_R(Ω[S⁄R], M) ≃ₗ[S] Der_R(S, M)
.KaehlerDifferential.quotKerTotalEquiv
: An alternative description ofΩ[S⁄R]
asS
copies ofS
with kernel (KaehlerDifferential.kerTotal
) generated by the relations:dx + dy = d(x + y)
x dy + y dx = d(x * y)
dr = 0
forr ∈ R
KaehlerDifferential.map
: Given a map between the arrowsR → A
andS → B
, we have anA
-linear mapΩ[A⁄R] → Ω[B⁄S]
.
Future project #
- Define the
IsKaehlerDifferential
predicate.
The kernel of the multiplication map S ⊗[R] S →ₐ[R] S
.
Equations
Instances For
For a R
-derivation S → M
, this is the map S ⊗[R] S →ₗ[S] M
sending s ⊗ₜ t ↦ s • D t
.
Equations
- Derivation.tensorProductTo D = TensorProduct.AlgebraTensorModule.lift ((LinearMap.flip (LinearMap.lsmul S (S →ₗ[R] M))) ↑D)
Instances For
The kernel of S ⊗[R] S →ₐ[R] S
is generated by 1 ⊗ s - s ⊗ 1
as a S
-module.
The module of Kähler differentials (Kahler differentials, Kaehler differentials).
This is implemented as I / I ^ 2
with I
the kernel of the multiplication map S ⊗[R] S →ₐ[R] S
.
To view elements as a linear combination of the form s • D s'
, use
KaehlerDifferential.tensorProductTo_surjective
and Derivation.tensorProductTo_tmul
.
We also provide the notation Ω[S⁄R]
for KaehlerDifferential R S
.
Note that the slash is \textfractionsolidus
.
Equations
Instances For
Equations
- instAddCommGroupKaehlerDifferential R S = id inferInstance
The module of Kähler differentials (Kahler differentials, Kaehler differentials).
This is implemented as I / I ^ 2
with I
the kernel of the multiplication map S ⊗[R] S →ₐ[R] S
.
To view elements as a linear combination of the form s • D s'
, use
KaehlerDifferential.tensorProductTo_surjective
and Derivation.tensorProductTo_tmul
.
We also provide the notation Ω[S⁄R]
for KaehlerDifferential R S
.
Note that the slash is \textfractionsolidus
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- (_ : IsScalarTower S (TensorProduct R S S) (Ω[S⁄R])) = (_ : IsScalarTower S (TensorProduct R S S) (Ideal.Cotangent (KaehlerDifferential.ideal R S)))
Equations
- (_ : IsScalarTower R₁ R₂ (Ω[S⁄R])) = (_ : IsScalarTower R₁ R₂ (↥(KaehlerDifferential.ideal R S) ⧸ KaehlerDifferential.ideal R S • ⊤))
Equations
- (_ : IsScalarTower R (TensorProduct R S S) (Ω[S⁄R])) = (_ : IsScalarTower R (TensorProduct R S S) (↥(KaehlerDifferential.ideal R S) ⧸ KaehlerDifferential.ideal R S • ⊤))
The quotient map I → Ω[S⁄R]
with I
being the kernel of S ⊗[R] S → S
.
Equations
Instances For
The linear map from Ω[S⁄R]
, associated with a derivation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The S
-linear maps from Ω[S⁄R]
to M
are (S
-linearly) equivalent to R
-derivations
from S
to M
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The quotient ring of S ⊗ S ⧸ J ^ 2
by Ω[S⁄R]
is isomorphic to S
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The quotient ring of S ⊗ S ⧸ J ^ 2
by Ω[S⁄R]
is isomorphic to S
as an S
-algebra.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A shortcut instance to prevent timing out. Hopefully to be removed in the future.
Equations
- smul_SSmod_SSmod R S = Mul.toSMul (TensorProduct R S S ⧸ KaehlerDifferential.ideal R S ^ 2)
Instances For
A shortcut instance to prevent timing out. Hopefully to be removed in the future.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A shortcut instance to prevent timing out. Hopefully to be removed in the future.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A shortcut instance to prevent timing out. Hopefully to be removed in the future.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A shortcut instance to prevent timing out. Hopefully to be removed in the future.
Equations
Instances For
A shortcut instance to prevent timing out. Hopefully to be removed in the future.
Equations
Instances For
A shortcut instance to prevent timing out. Hopefully to be removed in the future.
Equations
Instances For
Derivations into Ω[S⁄R]
is equivalent to derivations
into (KaehlerDifferential.ideal R S).cotangentIdeal
.
Equations
Instances For
(Implementation) An Equiv
version of KaehlerDifferential.End_equiv_aux
.
Used in KaehlerDifferential.endEquiv
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The endomorphisms of Ω[S⁄R]
corresponds to sections of the surjection S ⊗[R] S ⧸ J ^ 2 →ₐ[R] S
,
with J
being the kernel of the multiplication map S ⊗[R] S →ₐ[R] S
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The S
-submodule of S →₀ S
(the direct sum of copies of S
indexed by S
) generated by
the relations:
dx + dy = d(x + y)
x dy + y dx = d(x * y)
dr = 0
forr ∈ R
wheredb
is the unit in the copy ofS
with indexb
.
This is the kernel of the surjection Finsupp.total S Ω[S⁄R] S (KaehlerDifferential.D R S)
.
See KaehlerDifferential.kerTotal_eq
and KaehlerDifferential.total_surjective
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The (universal) derivation into (S →₀ S) ⧸ KaehlerDifferential.kerTotal R S
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Ω[S⁄R]
is isomorphic to S
copies of S
with kernel KaehlerDifferential.kerTotal
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The map Ω[A⁄R] →ₗ[A] Ω[B⁄R]
given a square
A --→ B
↑ ↑
| |
R --→ S
Equations
Instances For
The lift of the map Ω[A⁄R] →ₗ[A] Ω[B⁄R]
to the base change along A → B
.
This is the first map in the exact sequence B ⊗[A] Ω[A⁄R] → Ω[B⁄R] → Ω[B⁄A] → 0
.
Equations
- KaehlerDifferential.mapBaseChange R A B = IsBaseChange.lift (_ : IsBaseChange B ((TensorProduct.mk A B (Ω[A⁄R])) 1)) (KaehlerDifferential.map R R A B)