Documentation

LeanPool.StallingsFolding.Flower

The flower graph of a finite list of words #

The flower graph has one common basepoint and one loop spelling each input word. Its vertices are indexed by generator and letter position, so the construction is finite and the input words remain visible in the definition.

@[reducible, inline]

A finite vertex type for the flower of S. none is the common basepoint; some ⟨i,k⟩ is the vertex after k + 1 letters of the ith generator. Only internal positions are retained; empty and singleton words add no vertices.

Equations
Instances For

    Encode flower vertices in a finite lexicographic order.

    Equations
    Instances For
      def Stallings.flowerPos (S : List Word) (i : Fin S.length) (k : ℕ) (hk : k ≤ List.length (S.get i)) :

      The vertex at position k while reading generator i, with both endpoints of the generator loop identified with the common basepoint.

      Equations
      Instances For

        The source vertex of the edge in position j of a generator.

        Equations
        Instances For

          The target vertex of the edge in position j of a generator.

          Equations
          Instances For
            def Stallings.flowerLabel (S : List Word) (i : Fin S.length) (j : Fin (List.length (S.get i))) :

            The signed letter at position j of input generator i.

            Equations
            Instances For

              A directed edge, allowing either the forward letter in an input word or its inverse orientation.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[instance_reducible]
                Equations
                theorem Stallings.flowerEdge_inv {S : List Word} {v w : FlowerVertex S} {x : Letter} (h : flowerEdge S v x w) :

                The initial bouquet of loops spelling the words in S.

                Equations
                Instances For

                  The subgroup generated by the words in the input list.

                  Equations
                  Instances For

                    The word prefix reaching an internal flower vertex, with 1 at the basepoint.

                    Equations
                    Instances For

                      The input flower has a coset potential for the subgroup generated by its loop labels.

                      theorem Stallings.flowerWalk (S : List Word) (i : Fin S.length) :

                      Each input word labels a closed path in the flower graph.

                      The loop subgroup of the initial flower is exactly the subgroup generated by the input words.

                      The folded automaton constructed from a finite generator list.

                      Equations
                      Instances For

                        The folded automaton's based-loop subgroup is exactly the subgroup generated by the input words.

                        Execute the Stallings membership test for the subgroup generated by S.

                        Equations
                        Instances For

                          The executable folded-graph traversal accepts exactly the elements of the subgroup generated by the supplied words.