AlgebraicCurves.Differentials.Proofs.KaehlerDifferential_map_injective_of_constantFieldExtension.KInjSol.kerField
The intermediate field of elements annihilated by the specified derivation.
Source context 5 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Differentials.Proofs
namespace KaehlerDifferential_map_injective_of_constantFieldExtension
open AlgebraicCurve KaehlerDifferential
namespace KInjSolLean source · full declaration
def kerField {E FE : Type*} [Field E] [Field FE] [Algebra E FE]
(d : Derivation E FE Ω[FE⁄E]) : IntermediateField E FE where
carrier := {z | d z = 0}
mul_mem' {a b} ha hb := by
simp only [Set.mem_ofPred_eq] at ha hb ⊢
rw [Derivation.leibniz, ha, hb, smul_zero, smul_zero, add_zero]
one_mem' := by simp only [Set.mem_ofPred_eq]; exact Derivation.map_one_eq_zero _
add_mem' {a b} ha hb := by
simp only [Set.mem_ofPred_eq] at ha hb ⊢
rw [map_add, ha, hb, add_zero]
zero_mem' := by simp only [Set.mem_ofPred_eq]; exact map_zero _
algebraMap_mem' r := by simp only [Set.mem_ofPred_eq]; exact Derivation.map_algebraMap _ _
inv_mem' a ha := by
simp only [Set.mem_ofPred_eq] at ha ⊢
rw [Derivation.leibniz_inv, ha, smul_zero]