Documentation

LeanPool.Polylean.UnitConjecture.TorsionFree

Torsion-freeness of P #

This file contains a proof that the group P defined is in fact torsion-free.

Roughly, the steps are as follows (further details can be found in the corresponding .md file):

  1. Define a function sq : P -> K taking a group element (q, k) to its square. This element lies in the kernel as the group ℤ/2 × ℤ/2 has exponent 2.
  2. Show that elements in K, which are integer triples of the form (a, b, c), do not have torsion. This requires the fact that the group ℤ, and hence ℤ³, is torsion-free.
  3. Show that no element of P has order precisely 2. This is an argument by cases on the Q part of a general element of P.
  4. Finally, show that if an element g : G of a group G satisfies g ^ n = (1 : G), then it also satisfies (g ^ 2) ^ n = (1 : G).
  5. Together, these statements show that P is torsion-free.

Torsion-free groups #

The definition of a torsion-free group.

  • torsionFree (g : G) (n : ℕ) : g ^ n.succ = 1 → g = 1

    A group is torsion-free if the only element with non-trivial torsion is the identity element.

Instances

    The definition of torsion-free additive groups.

    • torsionFree (a : A) (n : ℕ) : n.succ • a = 0 → a = 0

      An additive group is torsion-free if the only element with non-trivial torsion is the identity element.

    Instances

      ℤ is torsion-free, since it is an integral domain.

      The product of torsion-free additive groups is torsion-free.

      Step 1: Defining the square of an element of P. #

      @[reducible]

      The function taking an element of P to its square, which lies in the kernel K.

      Equations
      Instances For
        @[simp]
        theorem LeanPool.Polylean.sq_square (g : P) :
        g * g = (g.sq, Q.e)

        A proof that the function sq indeed takes an element of P to its square in K.

        Step 2: Proving that K (= ℤ³) is torsion-free. #

        The kernel ℤ³ is torsion-free.

        Step 3: Showing that no element of P has order precisely two. #

        Some basic lemmas about integers needed to prove facts about P.

        No odd integer is zero.

        theorem LeanPool.Polylean.Int.zero_of_twice_zero (a : ℤ) :
        a + a = 0 → a = 0

        If the sum of an integer with itself is zero, then the integer is itself zero.

        theorem LeanPool.Polylean.square_free {g : P} :
        g * g = 1 → g = 1

        The only element of P with order dividing 2 is the identity.

        Step 4: Showing square powers of torsion elements are trivial. #

        theorem LeanPool.Polylean.torsion_implies_square_torsion {G : Type u_1} [Group G] (g : G) (n : ℕ) (g_tor : g ^ n = 1) :
        (g ^ 2) ^ n = 1

        If g is a torsion element of a group, then so is g ^ 2.

        Step 5: Putting the facts together. #