Documentation

TauCeti.Combinatorics.Graph.Stallings.Product

Products of labelled graphs #

The product of two based labelled Serre graphs pairs darts carrying the same signed letter. Its closed paths project to closed paths in both factors. For folded factors, paths with the same reduced label combine in the product, so it accepts exactly the subgroup intersection. Foldedness and finiteness are preserved by the product.

The construction is the fibre product over the labelled rose used in Stallings' subgroup intersection method.

References #

The based fibre product of labelled graphs: vertices are pairs and darts are pairs with identical signed labels.

Instances For
    @[simp]
    @[simp]
    theorem TauCeti.StallingsGraph.prod_label {α : Type u} (S : StallingsGraph α) (T : StallingsGraph α) (e : (S.prod T).graph.E) :
    (S.prod T).label e = S.label (↑e).1
    @[simp]
    theorem TauCeti.StallingsGraph.prod_src {α : Type u} (S : StallingsGraph α) (T : StallingsGraph α) (e : (S.prod T).graph.E) :
    (S.prod T).graph.src e = (S.graph.src (↑e).1, T.graph.src (↑e).2)
    @[simp]
    theorem TauCeti.StallingsGraph.prod_rev {α : Type u} (S : StallingsGraph α) (T : StallingsGraph α) (e : (S.prod T).graph.E) :
    ↑((S.prod T).graph.rev e) = (S.graph.rev (↑e).1, T.graph.rev (↑e).2)
    @[simp]
    theorem TauCeti.StallingsGraph.prod_tgt {α : Type u} (S : StallingsGraph α) (T : StallingsGraph α) (e : (S.prod T).graph.E) :
    (S.prod T).graph.tgt e = (S.graph.tgt (↑e).1, T.graph.tgt (↑e).2)

    The first projection preserves the base point and labels.

    Instances For

      The second projection preserves the base point and labels.

      Instances For
        @[simp]
        theorem TauCeti.StallingsGraph.prodFst_mapV {α : Type u} (S : StallingsGraph α) (T : StallingsGraph α) (p : (S.prod T).graph.V) :
        (S.prodFst T).graphHom.mapV p = p.1
        @[simp]
        theorem TauCeti.StallingsGraph.prodSnd_mapV {α : Type u} (S : StallingsGraph α) (T : StallingsGraph α) (p : (S.prod T).graph.V) :
        (S.prodSnd T).graphHom.mapV p = p.2
        @[simp]
        theorem TauCeti.StallingsGraph.prodFst_mapE {α : Type u} (S : StallingsGraph α) (T : StallingsGraph α) (e : (S.prod T).graph.E) :
        (S.prodFst T).graphHom.mapE e = (↑e).1
        @[simp]
        theorem TauCeti.StallingsGraph.prodSnd_mapE {α : Type u} (S : StallingsGraph α) (T : StallingsGraph α) (e : (S.prod T).graph.E) :
        (S.prodSnd T).graphHom.mapE e = (↑e).2
        def TauCeti.StallingsGraph.prodLift {α : Type u} {R : StallingsGraph α} {S : StallingsGraph α} {T : StallingsGraph α} (f : R.Hom S) (g : R.Hom T) :
        R.Hom (S.prod T)

        Pair two morphisms with a common source into the labelled fibre product.

        Instances For
          @[simp]
          theorem TauCeti.StallingsGraph.prodLift_mapV {α : Type u} {R : StallingsGraph α} {S : StallingsGraph α} {T : StallingsGraph α} (f : R.Hom S) (g : R.Hom T) (a : R.graph.V) :
          @[simp]
          theorem TauCeti.StallingsGraph.prodLift_mapE {α : Type u} {R : StallingsGraph α} {S : StallingsGraph α} {T : StallingsGraph α} (f : R.Hom S) (g : R.Hom T) (e : R.graph.E) :
          @[simp]
          theorem TauCeti.StallingsGraph.prodFst_comp_prodLift {α : Type u} {R : StallingsGraph α} {S : StallingsGraph α} {T : StallingsGraph α} (f : R.Hom S) (g : R.Hom T) :
          (S.prodFst T).comp (prodLift f g) = f
          @[simp]
          theorem TauCeti.StallingsGraph.prodSnd_comp_prodLift {α : Type u} {R : StallingsGraph α} {S : StallingsGraph α} {T : StallingsGraph α} (f : R.Hom S) (g : R.Hom T) :
          (S.prodSnd T).comp (prodLift f g) = g
          theorem TauCeti.StallingsGraph.prodLift_unique {α : Type u} {R : StallingsGraph α} {S : StallingsGraph α} {T : StallingsGraph α} (h : R.Hom (S.prod T)) :
          prodLift ((S.prodFst T).comp h) ((S.prodSnd T).comp h) = h

          A map into the product is determined by its two projections.

          theorem TauCeti.StallingsGraph.prod_subgroup_le {α : Type u} (S : StallingsGraph α) (T : StallingsGraph α) (a : S.graph.V) (b : T.graph.V) :
          (S.prod T).subgroup (a, b) ≤ S.subgroup a ⊓ T.subgroup b

          Every word read at a vertex pair is read at each coordinate.

          theorem TauCeti.StallingsGraph.exists_prod_path_of_word_eq {α : Type u} (S : StallingsGraph α) (T : StallingsGraph α) {a b : S.graph.V} {c d : T.graph.V} (p : S.graph.Path a b) (q : T.graph.Path c d) (h : S.word p = T.word q) :

          Paths with the same sequence of signed labels pair to a path in the product.

          theorem TauCeti.StallingsGraph.prod_subgroup {α : Type u} {S : StallingsGraph α} {T : StallingsGraph α} (hS : S.IsFolded) (hT : T.IsFolded) (a : S.graph.V) (b : T.graph.V) :
          (S.prod T).subgroup (a, b) = S.subgroup a ⊓ T.subgroup b

          The product of folded labelled graphs reads exactly the intersection of their accepted subgroups, at every pair of vertices.

          theorem TauCeti.StallingsGraph.IsFolded.prod {α : Type u} {S : StallingsGraph α} {T : StallingsGraph α} (hS : S.IsFolded) (hT : T.IsFolded) :

          A product of folded labelled graphs is folded.

          A morphism into the second factor makes the product accept exactly the first subgroup.

          A morphism into the first factor makes the product accept exactly the second subgroup.

          The rose imposes no additional restriction on accepted words.

          A rose in the first factor imposes no additional restriction on accepted words.