File: Mathlib/Algebra/Category/ModuleCat/Differentials/Basic.lean

full_name: ModuleCat.Derivation
code: /-- The type of derivations with values in a `B`-module `M` relative
to a morphism `f : A ⟶ B` in the category `CommRingCat`. -/
nonrec def Derivation : Type _ 
goal: Type (max v u)

full_name: ModuleCat.Derivation.mk
code: /-- Constructor for `ModuleCat.Derivation`. -/
def mk (d : B → M) (d_add : ∀ (b b' : B), d (b + b') = d b + d b' := by simp)
    (d_mul : ∀ (b b' : B), d (b * b') = b • d b' + b' • d b := by simp)
    (d_map : ∀ (a : A), d (f a) = 0 := by simp) :
    M.Derivation f 
goal: M.Derivation f

full_name: ModuleCat.Derivation.d
code: /-- The underlying map `B → M` of a derivation `M.Derivation f` when `M : ModuleCat B`
and `f : A ⟶ B` is a morphism in `CommRingCat`. -/
def d (b : B) : M 
goal: ↑M

full_name: ModuleCat.Derivation.d_add
code: @[simp]
lemma d_add (b b' : B) : D.d (b + b') = D.d b + D.d b' 
goal: D.d (b + b') = D.d b + D.d b'

full_name: ModuleCat.Derivation.d_mul
code: @[simp]
lemma d_mul (b b' : B) : D.d (b * b') = b • D.d b' + b' • D.d b 
goal: D.d (b * b') = b • D.d b' + b' • D.d b

full_name: ModuleCat.Derivation.d_map
code: @[simp]
lemma d_map (a : A) : D.d (f a) = 0 
goal: D.d (f a) = 0

full_name: CommRingCat.KaehlerDifferential
code: /-- The module of differentials of a morphism `f : A ⟶ B` in the category `CommRingCat`. -/
noncomputable def KaehlerDifferential : ModuleCat.{u} B 
goal: ModuleCat ↑B

full_name: CommRingCat.KaehlerDifferential.D
code: /-- The (universal) derivation in `(KaehlerDifferential f).Derivation f`
when `f : A ⟶ B` is a morphism in the category `CommRingCat`. -/
noncomputable def D : (KaehlerDifferential f).Derivation f 
goal: (CommRingCat.KaehlerDifferential f).Derivation f

full_name: CommRingCat.KaehlerDifferential.d
code: /-- When `f : A ⟶ B` is a morphism in the category `CommRingCat`, this is the
differential map `B → KaehlerDifferential f`. -/
noncomputable abbrev d (b : B) : KaehlerDifferential f 
goal: ↑(CommRingCat.KaehlerDifferential f)

full_name: CommRingCat.KaehlerDifferential.ext
code: @[ext]
lemma ext {M : ModuleCat B} {α β : KaehlerDifferential f ⟶ M}
    (h : ∀ (b : B), α (d b) = β (d b)) : α = β 
goal: α = β

full_name: CommRingCat.KaehlerDifferential.map
code: /-- The map `KaehlerDifferential f ⟶ (ModuleCat.restrictScalars g').obj (KaehlerDifferential f')`
induced by a commutative square (given by an equality `g ≫ f' = f ≫ g'`)
in the category `CommRingCat`. -/
noncomputable def map :
    KaehlerDifferential f ⟶
      (ModuleCat.restrictScalars g').obj (KaehlerDifferential f') 
goal: CommRingCat.KaehlerDifferential f ⟶ (ModuleCat.restrictScalars g').obj (CommRingCat.KaehlerDifferential f')

full_name: CommRingCat.KaehlerDifferential.map_d
code: @[simp]
lemma map_d (b : B) : map fac (d b) = d (g' b) 
goal: (CommRingCat.KaehlerDifferential.map fac) (CommRingCat.KaehlerDifferential.d b) =
  CommRingCat.KaehlerDifferential.d (g' b)

full_name: ModuleCat.Derivation.desc
code: /-- Given `f : A ⟶ B` a morphism in the category `CommRingCat`, `M : ModuleCat B`,
and `D : M.Derivation f`, this is the induced
morphism `CommRingCat.KaehlerDifferential f ⟶ M`. -/
noncomputable def desc : CommRingCat.KaehlerDifferential f ⟶ M 
goal: CommRingCat.KaehlerDifferential f ⟶ M

full_name: ModuleCat.Derivation.desc_d
code: @[simp]
lemma desc_d (b : B) : D.desc (CommRingCat.KaehlerDifferential.d b) = D.d b 
goal: D.desc (CommRingCat.KaehlerDifferential.d b) = D.d b