The module I ⧸ I ^ 2
#
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
In this file, we provide special API support for the module I ⧸ I ^ 2
. The official
definition is a quotient module of I
, but the alternative definition as an ideal of R ⧸ I ^ 2
is
also given, and the two are R
-equivalent as in ideal.cotangent_equiv_ideal
.
Additional support is also given to the cotangent space m ⧸ m ^ 2
of a local ring.
I ⧸ I ^ 2
as a quotient of I
.
Instances for ideal.cotangent
Equations
I ⧸ I ^ 2
as an ideal of R ⧸ I ^ 2
.
Equations
- I.cotangent_ideal = let rq : R →+* R ⧸ I ^ 2 := ideal.quotient.mk (I ^ 2) in submodule.map rq.to_semilinear_map I
The equivalence of the two definitions of I / I ^ 2
, either as the quotient of I
or the
ideal of R / I ^ 2
.
Equations
- I.cotangent_equiv_ideal = {to_fun := (linear_map.cod_restrict (submodule.restrict_scalars R I.cotangent_ideal) I.cotangent_to_quotient_square _).to_fun, map_add' := _, map_smul' := _, inv_fun := (equiv.of_bijective (λ (c : I.cotangent), ⟨⇑(I.cotangent_to_quotient_square) c, _⟩) _).inv_fun, left_inv := _, right_inv := _}
The lift of f : A →ₐ[R] B
to A ⧸ J ^ 2 →ₐ[R] B
with J
being the kernel of f
.
Equations
- f.ker_square_lift = {to_fun := (ideal.quotient.lift (ring_hom.ker f.to_ring_hom ^ 2) f.to_ring_hom _).to_fun, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _, commutes' := _}
The quotient ring of I ⧸ I ^ 2
is R ⧸ I
.
Equations
- I.quot_cotangent = (ideal.quot_equiv_of_eq _).trans ((double_quot.quot_quot_equiv_quot_sup (I ^ 2) I).trans (ideal.quot_equiv_of_eq _))
The A ⧸ I
-vector space I ⧸ I ^ 2
.