This file defines some extra lemmas for free groups, in particular about cyclically reduced words.
Main declarations #
FreeGroup.IsCyclicallyReduced
: the predicate for cyclically reduced words
Predicate asserting that the word L
is cyclically reduced, i.e., it is reduced and furthermore
the first and the last letter of the word do not cancel. The empty word is by convention also
cyclically reduced.
Equations
- FreeGroup.IsCyclicallyReduced L = (FreeGroup.IsReduced L ∧ ∀ a ∈ L.getLast?, ∀ b ∈ L.head?, a.1 = b.1 → a.2 = b.2)
Instances For
Predicate asserting that the word L
is cyclically reduced, i.e., it is reduced
and furthermore the first and the last letter of the word do not cancel. The empty word is by
convention also cyclically reduced.
Equations
- FreeAddGroup.IsCyclicallyReduced L = (FreeAddGroup.IsReduced L ∧ ∀ a ∈ L.getLast?, ∀ b ∈ L.head?, a.1 = b.1 → a.2 = b.2)
Instances For
@[simp]
@[simp]
theorem
FreeGroup.IsCyclicallyReduced.isReduced
{α : Type u}
{L : List (α × Bool)}
(h : IsCyclicallyReduced L)
:
theorem
FreeAddGroup.IsCyclicallyReduced.isReduced
{α : Type u}
{L : List (α × Bool)}
(h : IsCyclicallyReduced L)
:
theorem
FreeGroup.IsCyclicallyReduced.flatten_replicate
{α : Type u}
{L : List (α × Bool)}
(n : ℕ)
(h : IsCyclicallyReduced L)
:
theorem
FreeAddGroup.IsCyclicallyReduced.flatten_replicate
{α : Type u}
{L : List (α × Bool)}
(n : ℕ)
(h : IsCyclicallyReduced L)
: