Derivations
This file defines derivation. A derivation D
from the R
-algebra A
to the A
-module M
is an
R
-linear map that satisfy the Leibniz rule D (a * b) = a * D b + D a * b
.
Notation
The notation ⁅D1, D2⁆
is used for the commutator of two derivations.
TODO: this file is just a stub to go on with some PRs in the geometry section. It only implements the definition of derivations in commutative algebra. This will soon change: as soon as bimodules will be there in mathlib I will change this file to take into account the non-commutative case. Any development on the theory of derivations is discouraged until the definitive definition of derivation will be implemented.
- to_linear_map : A →ₗ[R] M
- leibniz' : ∀ (a b : A), c.to_linear_map.to_fun (a * b) = a • c.to_linear_map.to_fun b + b • c.to_linear_map.to_fun a
D : derivation R A M
is an R
-linear map from A
to M
that satisfies the leibniz
equality.
TODO: update this when bimodules are defined.
Equations
- derivation.has_coe_to_fun = {F := λ (D : derivation R A M), A → M, coe := λ (D : derivation R A M), D.to_linear_map.to_fun}
Equations
- derivation.has_coe_to_linear_map = {coe := λ (D : derivation R A M), D.to_linear_map}
Equations
- derivation.has_zero = {zero := {to_linear_map := 0, leibniz' := _}}
Equations
- derivation.inhabited = {default := 0}
Equations
- derivation.derivation.Rsemimodule = {to_distrib_mul_action := {to_mul_action := {to_has_scalar := {smul := λ (r : R) (D : derivation R A M), {to_linear_map := r • ↑D, leibniz' := _}}, one_smul := _, mul_smul := _}, smul_add := _, smul_zero := _}, add_smul := _, zero_smul := _}
Equations
- derivation.semimodule = {to_distrib_mul_action := {to_mul_action := {to_has_scalar := {smul := λ (a : A) (D : derivation R A M), {to_linear_map := {to_fun := λ (b : A), a • ⇑D b, map_add' := _, map_smul' := _}, leibniz' := _}}, one_smul := _, mul_smul := _}, smul_add := _, smul_zero := _}, add_smul := _, zero_smul := _}
Equations
Equations
- derivation.add_comm_group = {add := add_comm_monoid.add derivation.add_comm_monoid, add_assoc := _, zero := add_comm_monoid.zero derivation.add_comm_monoid, zero_add := _, add_zero := _, neg := λ (D : derivation R A M), {to_linear_map := -↑D, leibniz' := _}, add_left_neg := _, add_comm := _}
Lie structures
The commutator of derivations is again a derivation.
Equations
- D1.commutator D2 = {to_linear_map := ⁅↑D1,↑D2⁆, leibniz' := _}
Equations
- derivation.has_bracket = {bracket := derivation.commutator _inst_3}
Equations
- derivation.lie_ring = {to_add_comm_group := derivation.add_comm_group derivation.lie_ring._proof_3, to_has_bracket := derivation.has_bracket _inst_3, add_lie := _, lie_add := _, lie_self := _, jacobi := _}
Equations
The composition of a linear map and a derivation is a derivation.