Documentation

HexTruncatedSeries.Inverse

def Hex.TSeries.invStep {R : Type u} {n : Nat} [Lean.Grind.CommRing R] (a b : TSeries R n) (m : Nat) :

One bounded Newton inverse update.

Equations
Instances For
    def Hex.TSeries.invUpTo {R : Type u} {n : Nat} [Lean.Grind.CommRing R] (m : Nat) (a : TSeries R n) (u : R) :

    Invert through coefficient m - 1, zeroing all later stored coefficients.

    Equations
    Instances For
      def Hex.TSeries.invOfUnit {R : Type u} {n : Nat} [Lean.Grind.CommRing R] (a : TSeries R n) (u : R) :

      The inverse of a, given an inverse of its constant coefficient.

      Equations
      Instances For
        def Hex.TSeries.inv? {R : Type u} {n : Nat} [Lean.Grind.CommRing R] [UnitOps R] (a : TSeries R n) :

        Look up a constant-coefficient inverse and invert the series.

        Equations
        Instances For
          theorem Hex.TSeries.coeff_invUpTo {R : Type u} {n : Nat} [Lean.Grind.CommRing R] (m : Nat) (a : TSeries R n) (u : R) (hu : a.coeff 0 * u = 1) (i : Nat) (hi : i < n) :
          (invUpTo m a u).coeff i = if i < m then (a.invOfUnit u).coeff i else 0

          Bounded inversion agrees with full inversion below its requested bound.

          theorem Hex.TSeries.invOfUnit_mul {R : Type u} {n : Nat} [Lean.Grind.CommRing R] (a : TSeries R n) (u : R) (hu : a.coeff 0 * u = 1) :
          a * a.invOfUnit u = 1

          Newton inversion satisfies the defining multiplicative equation.

          theorem Hex.TSeries.invOfUnit_unique {R : Type u} {n : Nat} [Lean.Grind.CommRing R] (a b : TSeries R n) (u : R) (hu : a.coeff 0 * u = 1) (hb : a * b = 1) :
          b = a.invOfUnit u

          A multiplicative inverse with the supplied constant witness is unique.

          theorem Hex.TSeries.inv?_isSome_iff {R : Type u} {n : Nat} [Lean.Grind.CommRing R] [UnitOps R] [LawfulUnitOps R] (a : TSeries R n) :
          a.inv?.isSome = true ↔ n = 0 ∨ ∃ (u : R), a.coeff 0 * u = 1

          Optional inversion succeeds exactly for units of the truncated-series ring, including the unconditional precision-zero case.