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 ofDspansΩ[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]asScopies ofSwith kernel (KaehlerDifferential.kerTotal) generated by the relations:dx + dy = d(x + y)x dy + y dx = d(x * y)dr = 0forr ∈ R
KaehlerDifferential.map: Given a map between the arrowsR → AandS → B, we have anA-linear mapΩ[A⁄R] → Ω[B⁄S].
Future project #
- Define the
IsKaehlerDifferentialpredicate.
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 = 0forr ∈ Rwheredbis the unit in the copy ofSwith 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)