The maximal reduction of a word in a free group #
Main declarations #
FreeGroup.reduce
: the maximal reduction of a word in a free groupFreeGroup.norm
: the length of the maximal reduction of a word in a free group
The maximal reduction of a word. It is computable
iff α
has decidable equality.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The maximal reduction of a word. It is computable iff α
has decidable equality.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The first theorem that characterises the function reduce
: a word reduces to its maximal
reduction.
The first theorem that characterises the function reduce
: a word reduces to its
maximal reduction.
The second theorem that characterises the function reduce
: the maximal reduction of a word
only reduces to itself.
The second theorem that characterises the function reduce
: the maximal reduction of
a word only reduces to itself.
reduce
is idempotent, i.e. the maximal reduction of the maximal reduction of a word is the
maximal reduction of the word.
reduce
is idempotent, i.e. the maximal reduction of the maximal
reduction of a word is the maximal reduction of the word.
If a word reduces to another word, then they have a common maximal reduction.
If a word reduces to another word, then they have a common maximal reduction.
Alias of FreeGroup.reduce.eq_of_red
.
If a word reduces to another word, then they have a common maximal reduction.
Alias of FreeAddGroup.reduce.eq_of_red
.
If a word reduces to another word, then they have a common maximal reduction.
If two words correspond to the same element in the free group, then they have a common maximal reduction. This is the proof that the function that sends an element of the free group to its maximal reduction is well-defined.
If two words correspond to the same element in the additive free group, then they have a common maximal reduction. This is the proof that the function that sends an element of the free group to its maximal reduction is well-defined.
If two words have a common maximal reduction, then they correspond to the same element in the free group.
If two words have a common maximal reduction, then they correspond to the same element in the additive free group.
A word and its maximal reduction correspond to the same element of the free group.
A word and its maximal reduction correspond to the same element of the additive free group.
If words w₁ w₂
are such that w₁
reduces to w₂
, then w₂
reduces to the maximal reduction
of w₁
.
If words w₁ w₂
are such that w₁
reduces to w₂
, then w₂
reduces to the maximal
reduction of w₁
.
The function that sends an element of the free group to its maximal reduction.
Instances For
The function that sends an element of the additive free group to its maximal reduction.
Instances For
Constructive Church-Rosser theorem (compare church_rosser
).
Equations
- FreeGroup.reduce.churchRosser H12 H13 = ⟨FreeGroup.reduce L₁, ⋯⟩
Instances For
Constructive Church-Rosser theorem (compare church_rosser
).
Equations
- FreeAddGroup.reduce.churchRosser H12 H13 = ⟨FreeAddGroup.reduce L₁, ⋯⟩
Instances For
Equations
- FreeGroup.instDecidableEq = ⋯.decidableEq
Equations
- FreeAddGroup.instDecidableEq = ⋯.decidableEq
Equations
- One or more equations did not get rendered due to their size.
- FreeGroup.Red.decidableRel [] [] = isTrue ⋯
- FreeGroup.Red.decidableRel [] (_hd2 :: _tl2) = isFalse ⋯
- FreeGroup.Red.decidableRel ((x_2, b) :: tl) [] = match FreeGroup.Red.decidableRel tl [(x_2, !b)] with | isTrue H => isTrue ⋯ | isFalse H => isFalse ⋯
A list containing every word that w₁
reduces to.
Equations
- FreeGroup.Red.enum L₁ = List.filter (fun (b : List (α × Bool)) => decide (FreeGroup.Red L₁ b)) L₁.sublists
Instances For
Equations
- FreeGroup.instFintypeSubtypeListProdBoolRed L₁ = Fintype.subtype (FreeGroup.Red.enum L₁).toFinset ⋯
The length of reduced words provides a norm on a free group.
Equations
- x.norm = x.toWord.length
Instances For
The length of reduced words provides a norm on an additive free group.
Equations
- x.norm = x.toWord.length