Documentation

Mathlib.RingTheory.Derivation.DifferentialRing

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.

class Differential (R : Type u_1) [CommRing R] :
Type u_1

A derivation from a ring to itself, as a typeclass.

Instances
    theorem Differential.ext_iff {R : Type u_1} {inst✝ : CommRing R} {x y : Differential R} :
    theorem Differential.ext {R : Type u_1} {inst✝ : CommRing R} {x y : Differential R} (deriv : deriv = deriv) :
    x = y

    The Derivation associated with the ring.

    Equations
      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
          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) :
              a = (↑a)
              class Differential.ContainConstants (A : Type u_1) (B : Type u_2) [CommRing A] [CommRing B] [Algebra A B] [Differential B] :

              A differential ring A and an algebra over it B share constants if all constants in B are in the range of algberaMap A B.

              • mem_range_of_deriv_eq_zero {x : B} (h : x = 0) : x (algebraMap A B).range

                If the derivative of x is 0, then it's in the range of algberaMap A B.

              Instances
                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
                  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.