Documentation

Mathlib.RingTheory.FormalGroup.Basic

Formal group laws over commutative ring #

Let R be a commutative ring, a one dimensional formal group law is a formal power series F(X,Y) ∈ R⟦X,Y⟧ such that

Under this definition, we can prove that F(X,0) = X and F(0,X) = X. Moreover, there is a unique power series i(X) such that F(X, i(X)) = 0, which is considered to be the inverse of the formal group law F(X,Y).

Main definitions/lemmas #

References #

structure FormalGroup (R : Type u_1) [CommRing R] :
Type u_1

A structure for a 1-dimensional formal group law over R.

Instances For
    theorem FormalGroup.ext {R : Type u_1} {inst✝ : CommRing R} {x y : FormalGroup R} (toPowerSeries : x.toPowerSeries = y.toPowerSeries) :
    x = y
    theorem FormalGroup.ext_iff {R : Type u_1} {inst✝ : CommRing R} {x y : FormalGroup R} :
    @[implicit_reducible]

    The natural inclusion from formal group law into formal power series.

    Equations
    class FormalGroup.IsComm {R : Type u_1} [CommRing R] (F : FormalGroup R) :

    Given a formal group F, F.IsComm is a proposition that $F(X,Y) = F(Y,X)$.

    Instances
      def FormalGroup.Point {R : Type u_1} [CommRing R] (F : FormalGroup R) (σ : Type u_6) :
      Type (max 0 u_1 u_6)

      F.Point σ represents the mathematical space of points of a formal group $F$ taking values in the formal power series ring MvPowerSeries σ R with the property that constant coefficient is nilpotent.

      TODO: Mathematically, a 1-dimensional formal group law $F$ over a ring $R$ defines a group structure on the elements of a complete local $R$-algebra (specifically, its maximal ideal) via the substitution operation $x +_F y = F(x, y)$.

      Equations
      Instances For
        @[implicit_reducible]
        noncomputable instance FormalGroup.instAddPoint {R : Type u_1} [CommRing R] {σ : Type u_5} (F : FormalGroup R) :
        Add (F.Point σ)
        Equations
        @[simp]
        theorem FormalGroup.add_apply {R : Type u_1} [CommRing R] {σ : Type u_5} (F : FormalGroup R) {x y : F.Point σ} :
        @[implicit_reducible]
        instance FormalGroup.instZeroPoint {R : Type u_1} [CommRing R] {σ : Type u_5} (F : FormalGroup R) :
        Zero (F.Point σ)
        Equations
        @[simp]
        theorem FormalGroup.zero_apply {R : Type u_1} [CommRing R] {σ : Type u_5} (F : FormalGroup R) :
        0 = 0
        noncomputable def FormalGroup.𝔾ₐ {R : Type u_1} [CommRing R] :

        Additive formal group law 𝔾ₐ(X,Y) = X + Y.

        Equations
        Instances For
          noncomputable def FormalGroup.𝔾ₘ {R : Type u_1} [CommRing R] :

          Multiplicative formal group law 𝔾ₘ(X,Y) = X + Y + XY.

          Equations
          Instances For
            noncomputable def FormalGroup.map {R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] (F : FormalGroup R) (f : R →+* S) :

            Given an algebra map f : R →+* S and a formal group law F over R, then f_* F is a formal group law formal group law over S. This is constructed by applying f to all coefficients of the underlying power series.

            Equations
            Instances For
              @[simp]
              theorem FormalGroup.map_toPowerSeries {R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] (F : FormalGroup R) (f : R →+* S) :
              @[reducible, inline]
              noncomputable abbrev FormalGroup.Xzero {R : Type u_1} [CommRing R] (F : FormalGroup R) :

              An abbreviation of $F(X,0)$ for a formal group $F$.

              Equations
              Instances For
                @[simp]
                @[reducible, inline]
                noncomputable abbrev FormalGroup.zeroX {R : Type u_1} [CommRing R] (F : FormalGroup R) :

                An abbreviation of $F(0,X)$ for a formal group $F$.

                Equations
                Instances For
                  @[simp]
                  @[implicit_reducible]
                  noncomputable instance FormalGroup.instAddMonoidPoint {R : Type u_1} [CommRing R] {σ : Type u_3} (F : FormalGroup R) :
                  Equations
                  @[implicit_reducible]
                  noncomputable instance FormalGroup.instAddCommMonoidPointOfIsComm {R : Type u_1} [CommRing R] {σ : Type u_3} (F : FormalGroup R) [F.IsComm] :
                  Equations