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):
- 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 exponent2
. - 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. - Show that no element of
P
has order precisely2
. This is an argument by cases on theQ
part of a general element ofP
. - Finally, show that if an element
g : G
of a groupG
satisfiesg ^ n = (1 : G)
, then it also satisfies(g ^ 2) ^ n = (1 : G)
. - Together, these statements show that
P
is torsion-free.
Torsion-free groups #
ℤ is torsion-free, since it is an integral domain.
Equations
- instAddTorsionFreeIntInstAddGroupInt = { torsionFree := instAddTorsionFreeIntInstAddGroupInt.proof_1 }
instance
instAddTorsionFreeProdInstAddGroupSum
{A : Type u_1}
{B : Type u_2}
[inst : AddGroup A]
[inst : AddGroup B]
[inst : AddTorsionFree A]
[inst : AddTorsionFree B]
:
AddTorsionFree (A × B)
The product of torsion-free additive groups is torsion-free.
The kernel ℤ³
is torsion-free.
Equations
- K.torsionFree = inferInstance
Some basic lemmas about integers needed to prove facts about P
.
Step 4: Showing that if the n
-th power of a group element is trivial, then so is that of its square. #
Step 5: Putting the facts together. #
P
is torsion-free.
Equations
- P.torsionFree = { torsionFree := P.torsionFree.proof_1 }