File: Mathlib/FieldTheory/Laurent.lean

full_name: RatFunc.taylor_mem_nonZeroDivisors
code: theorem taylor_mem_nonZeroDivisors (hp : p ∈ R[X]⁰) : taylor r p ∈ R[X]⁰ 
goal: (Polynomial.taylor r) p ∈ nonZeroDivisors (Polynomial R)

full_name: RatFunc.laurentAux
code: /-- The Laurent expansion of rational functions about a value.
Auxiliary definition, usage when over integral domains should prefer `RatFunc.laurent`. -/
def laurentAux : RatFunc R →+* RatFunc R 
goal: RatFunc R →+* RatFunc R

full_name: RatFunc.laurentAux_ofFractionRing_mk
code: theorem laurentAux_ofFractionRing_mk (q : R[X]⁰) :
    laurentAux r (ofFractionRing (Localization.mk p q)) =
      ofFractionRing (.mk (taylor r p) ⟨taylor r q, taylor_mem_nonZeroDivisors r q q.prop⟩) 
goal: (RatFunc.laurentAux r) { toFractionRing := Localization.mk p q } =
  { toFractionRing := Localization.mk ((Polynomial.taylor r) p) ⟨(Polynomial.taylor r) ↑q, ⋯⟩ }

full_name: RatFunc.laurentAux_div
code: theorem laurentAux_div :
    laurentAux r (algebraMap _ _ p / algebraMap _ _ q) =
      algebraMap _ _ (taylor r p) / algebraMap _ _ (taylor r q) 
goal: (RatFunc.laurentAux r) ((algebraMap (Polynomial R) (RatFunc R)) p / (algebraMap (Polynomial R) (RatFunc R)) q) =
  (algebraMap (Polynomial R) (RatFunc R)) ((Polynomial.taylor r) p) /
    (algebraMap (Polynomial R) (RatFunc R)) ((Polynomial.taylor r) q)

full_name: RatFunc.laurentAux_algebraMap
code: @[simp]
theorem laurentAux_algebraMap : laurentAux r (algebraMap _ _ p) = algebraMap _ _ (taylor r p) 
goal: (RatFunc.laurentAux r) ((algebraMap (Polynomial R) (RatFunc R)) p) =
  (algebraMap (Polynomial R) (RatFunc R)) ((Polynomial.taylor r) p)

full_name: RatFunc.laurent
code: /-- The Laurent expansion of rational functions about a value. -/
def laurent : RatFunc R →ₐ[R] RatFunc R 
goal: RatFunc R →ₐ[R] RatFunc R

full_name: RatFunc.laurent_div
code: theorem laurent_div :
    laurent r (algebraMap _ _ p / algebraMap _ _ q) =
      algebraMap _ _ (taylor r p) / algebraMap _ _ (taylor r q) 
goal: (RatFunc.laurent r) ((algebraMap (Polynomial R) (RatFunc R)) p / (algebraMap (Polynomial R) (RatFunc R)) q) =
  (algebraMap (Polynomial R) (RatFunc R)) ((Polynomial.taylor r) p) /
    (algebraMap (Polynomial R) (RatFunc R)) ((Polynomial.taylor r) q)

full_name: RatFunc.laurent_algebraMap
code: @[simp]
theorem laurent_algebraMap : laurent r (algebraMap _ _ p) = algebraMap _ _ (taylor r p) 
goal: (RatFunc.laurent r) ((algebraMap (Polynomial R) (RatFunc R)) p) =
  (algebraMap (Polynomial R) (RatFunc R)) ((Polynomial.taylor r) p)

full_name: RatFunc.laurent_X
code: @[simp]
theorem laurent_X : laurent r X = X + C r 
goal: (RatFunc.laurent r) RatFunc.X = RatFunc.X + RatFunc.C r

full_name: RatFunc.laurent_C
code: @[simp]
theorem laurent_C (x : R) : laurent r (C x) = C x 
goal: (RatFunc.laurent r) (RatFunc.C x) = RatFunc.C x

full_name: RatFunc.laurent_at_zero
code: @[simp]
theorem laurent_at_zero : laurent 0 f = f 
goal: (RatFunc.laurent 0) f = f

full_name: RatFunc.laurent_laurent
code: theorem laurent_laurent : laurent r (laurent s f) = laurent (r + s) f 
goal: (RatFunc.laurent r) ((RatFunc.laurent s) f) = (RatFunc.laurent (r + s)) f

full_name: RatFunc.laurent_injective
code: theorem laurent_injective : Function.Injective (laurent r) 
goal: Function.Injective ⇑(RatFunc.laurent r)