Documentation

Mathlib.GroupTheory.FreeGroup.Orbit

For any w : α × bool, FreeGroup.startsWith w is the set of all elemenents of FreeGroup α that start with w.

The main theorem Orbit.duplicate proves that applying w⁻¹ to the orbit of x under the action of FreeGroup.startsWith w yields the orbit of x under the action of FreeGroup.startsWith v for every v ≠ w⁻¹ (and the point x).

def FreeGroup.startsWith {α : Type u_1} [DecidableEq α] (w : α × Bool) :

All elements of the free Group that start with a certain letter.

Equations
Instances For
    theorem FreeGroup.startsWith.ne_one {α : Type u_1} [DecidableEq α] {w : α × Bool} (g : FreeGroup α) (h : g startsWith w) :
    g 1

    The neutral element is not contained in one of the startsWith sets.

    @[simp]
    theorem FreeGroup.startsWith_mk_mul {α : Type u_1} [DecidableEq α] {w : α × Bool} (g : FreeGroup α) (h : gstartsWith (w.1, !w.2)) :
    instance FreeGroup.instSMulElemStartsWith {α : Type u_1} {X : Type u_2} [DecidableEq α] [MulAction (FreeGroup α) X] {w : α × Bool} :
    SMul (↑(startsWith w)) X
    Equations
    @[simp]
    theorem FreeGroup.startsWith.smul_def {α : Type u_1} {X : Type u_2} [DecidableEq α] [MulAction (FreeGroup α) X] {w : α × Bool} {g : (startsWith w)} {x : X} :
    g x = g x
    theorem FreeGroup.Orbit.duplicate {α : Type u_1} {X : Type u_2} [DecidableEq α] [MulAction (FreeGroup α) X] (x : X) (w : α × Bool) :
    {x_1 : X | yMulAction.orbit (↑(startsWith w)) x, (mk [w])⁻¹ y = x_1} = (⋃ v{z : α × Bool | z (w.1, !w.2)}, MulAction.orbit (↑(startsWith v)) x) {x}

    Applying w⁻¹ to the orbit generated by all elements of a free group that start with w yields the orbit generated by all the words that start with every letter except w⁻¹ (and the original point).