Differential and Algebras #
This file defines derivations from a commutative ring to itself as a typeclass, which lets us use the x′ notation for the derivative of x.
A derivation from a ring to itself, as a typeclass.
- deriv : Derivation ℤ R R
The
Derivationassociated with the ring.
Instances
theorem
Differential.ext
{R : Type u_1}
{inst✝ : CommRing R}
{x y : Differential R}
(deriv : deriv = deriv)
:
The Derivation associated with the ring.
Equations
- Differential.«term_′» = Lean.ParserDescr.trailingNode `Differential.«term_′» 1024 1024 (Lean.ParserDescr.symbol "′")
Instances For
A delaborator for the x′ notation. This is required because it's not direct function application, so the default delaborator doesn't work.
Equations
- One or more equations did not get rendered due to their size.
Instances For
class
DifferentialAlgebra
(A : Type u_1)
(B : Type u_2)
[CommRing A]
[CommRing B]
[Algebra A B]
[Differential A]
[Differential B]
:
A differential algebra is an Algebra where the derivation commutes with algebraMap.
Instances
theorem
algebraMap.coe_deriv
{A : Type u_1}
{B : Type u_2}
[CommRing A]
[CommRing B]
[Algebra A B]
[Differential A]
[Differential B]
[DifferentialAlgebra A B]
(a : A)
:
theorem
mem_range_of_deriv_eq_zero
(A : Type u_1)
{B : Type u_2}
[CommRing A]
[CommRing B]
[Algebra A B]
[Differential B]
[Differential.ContainConstants A B]
{x : B}
(h : x′ = 0)
:
@[reducible]
def
Differential.equiv
{R : Type u_1}
{R₂ : Type u_2}
[CommRing R]
[CommRing R₂]
[Differential R₂]
(h : R ≃+* R₂)
:
Transfer a Differential instance across a RingEquiv.
Equations
- Differential.equiv h = { deriv := Derivation.mk' (h.symm.toAddMonoidHom.toIntLinearMap ∘ₗ ↑Differential.deriv ∘ₗ h.toAddMonoidHom.toIntLinearMap) ⋯ }
Instances For
theorem
DifferentialAlgebra.equiv
{A : Type u_1}
[CommRing A]
[Differential A]
{R : Type u_2}
{R₂ : Type u_3}
[CommRing R]
[CommRing R₂]
[Differential R₂]
[Algebra A R]
[Algebra A R₂]
[DifferentialAlgebra A R₂]
(h : R ≃ₐ[A] R₂)
:
Transfer a DifferentialAlgebra instance across a AlgEquiv.