# Free Groups

- [Introduction](introduction.md)

- [Free Groups and Words](creation.md)

  - [Construction of a Free Group](creation.md#construction-of-a-free-group)

    - [`FreeGroup(n): RngIntElt → GrpFP`](creation.md#function-grpfp-1-freegroup)

    - [`Example: Free`](creation.md#example-ex-f04611)

  - [Construction of Words](creation.md#construction-of-words)

    - [`G ! [ i₁, ..., iₛ ]: GrpFP, [ RngIntElt ] → GrpFPElt`](creation.md#operation-op-grpfp-rngintelt)

    - [`Identity(G): GrpFP → GrpFPElt`](creation.md#function-identity-grpfp)

    - [`Id(G): GrpFP → GrpFPElt`](creation.md#function-id-grpfp)

    - [`G ! 1: GrpFP, RngIntElt → GrpFPElt`](creation.md#operation-op-grpfp-rngintelt-2)

    - [`Random(G, m, n): GrpFP, RngIntElt, RngIntElt → GrpFPElt`](creation.md#function-random-grpfp-rngintelt-rngintelt)

  - [Access Functions for Words](creation.md#access-functions-for-words)

    - [`# w: GrpFPElt → RngIntElt`](creation.md#operation-operation-grpfpelt-rngintelt)

    - [`ElementToSequence(w): GrpFPElt → [ RngIntElt ]`](creation.md#function-elementtosequence-grpfpelt)

    - [`Eltseq(w): GrpFPElt → [ RngIntElt ]`](creation.md#function-eltseq-grpfpelt)

    - [`ExponentSum(w, x): GrpFPElt, GrpFPElt → RngIntElt`](creation.md#function-exponentsum-grpfpelt-grpfpelt)

    - [`Weight(w, x): GrpFPElt, GrpFPElt → RngIntElt`](creation.md#function-weight-grpfpelt-grpfpelt)

    - [`GeneratorNumber(w): GrpFPElt → RngIntElt`](creation.md#function-generatornumber-grpfpelt)

    - [`LeadingGenerator(w): GrpFPElt → GrpFPElt`](creation.md#function-grpfp-1-leadinggenerator)

    - [`Parent(w): GrpFPElt → GrpFP`](creation.md#function-parent-grpfpelt)

    - [`Example: Word Access`](creation.md#example-ex-117fb7)

  - [Arithmetic Operators for Words](creation.md#arithmetic-operators-for-words)

    - [`u * v: GrpFPElt, GrpFPElt → GrpFPElt`](creation.md#operation-op-times-grpfpelt-grpfpelt)

    - [`u ^ n: GrpFPElt, RngIntElt → GrpFPElt`](creation.md#operation-op-pow-grpfpelt-rngintelt)

    - [`u ^ v: GrpFPElt, GrpFPElt → GrpFPElt`](creation.md#operation-op-pow-grpfpelt-grpfpelt)

    - [`(u, v): GrpFPElt, GrpFPElt → GrpFPElt`](creation.md#literal-literal-u-v-grpfpelt-grpfpelt-grpfpelt)

    - [`(u₁, ..., uₙ): List(GrpFPElt) → GrpFPElt`](creation.md#literal-literal-u1-un-list-grpfpelt-grpfpelt)

  - [Comparison of Words](creation.md#comparison-of-words)

    - [`u eq v: GrpFPElt, GrpFPElt → BoolElt`](creation.md#operation-op-eq-grpfpelt-grpfpelt)

    - [`u ne v: GrpFPElt, GrpFPElt → BoolElt`](creation.md#operation-op-ne-grpfpelt-grpfpelt)

    - [`u lt v: GrpFPElt, GrpFPElt → BoolElt`](creation.md#operation-op-lt-grpfpelt-grpfpelt)

    - [`u le v: GrpFPElt, GrpFPElt → BoolElt`](creation.md#operation-op-le-grpfpelt-grpfpelt)

    - [`u ge v: GrpFPElt, GrpFPElt → BoolElt`](creation.md#operation-op-ge-grpfpelt-grpfpelt)

    - [`u gt v: GrpFPElt, GrpFPElt → BoolElt`](creation.md#operation-op-gt-grpfpelt-grpfpelt)

    - [`Example: Words`](creation.md#example-ex-65f8bd)

  - [String Operations on Words](creation.md#string-operations-on-words)

    - [`Eliminate(u, x, v): GrpFPElt, GrpFPElt, GrpFPElt → GrpFPElt`](creation.md#function-eliminate-grpfpelt-grpfpelt-grpfpelt)

    - [`Eliminate(U, x, v): { GrpFPElt }, GrpFPElt, GrpFPElt → { GrpFPElt }`](creation.md#function-eliminate-grpfpelt-grpfpelt-grpfpelt-2)

    - [`Match(u, v, f): GrpFPElt, GrpFPElt, RngIntElt → BoolElt, RngIntElt`](creation.md#function-match-grpfpelt-grpfpelt-rngintelt)

    - [`RotateWord(u, n): GrpFPElt, RngIntElt → GrpFPElt`](creation.md#function-rotateword-grpfpelt-rngintelt)

    - [`Substitute(u, f, n, v): GrpFPElt, RngIntElt, RngIntElt, GrpFPElt → GrpFPElt`](creation.md#function-substitute-grpfpelt-rngintelt-rngintelt-grpfpelt)

    - [`Subword(u, f, n): GrpFPElt, RngIntElt, RngIntElt → GrpFPElt`](creation.md#function-subword-grpfpelt-rngintelt-rngintelt)

    - [`Example: Word Ops`](creation.md#example-ex-b14d33)

- [Finitely Generated Subgroups of Free Groups](subfree.md)

  - [`Supergroup(F): GrpFP → GrpFP`](subfree.md#function-supergroup-grpfp)

  - [`x in H: GrpFP, GrpFPElt → BoolElt`](subfree.md#operation-op-in-grpfp-grpfpelt)

  - [`IsSubgroup(H, K): GrpFP, GrpFP → BoolElt`](subfree.md#function-issubgroup-grpfp-grpfp)

  - [`H eq K: GrpFP, GrpFP → BoolElt`](subfree.md#operation-op-eq-grpfp-grpfp)

  - [`Index(F, H): GrpFP, GrpFP → RngIntElt`](subfree.md#function-index-grpfp-grpfp)

  - [`HasFiniteIndex(F, H): GrpFP, GrpFP → BoolElt`](subfree.md#function-hasfiniteindex-grpfp-grpfp)

  - [`FreeGenerators(H): GrpFP → SeqEnum, GrpFP`](subfree.md#function-freegenerators-grpfp)

  - [`H meet K: GrpFP, GrpFP → GrpFP`](subfree.md#operation-op-meet-grpfp-grpfp)

  - [`Centraliser(F,x): GrpFP, GrpFPElt → GrpFP`](subfree.md#function-centraliser-grpfp-grpfpelt)

  - [`Centralizer(F,x): GrpFP, GrpFPElt → GrpFP`](subfree.md#function-centralizer-grpfp-grpfpelt)

  - [`IsConjugate(F, x, y): GrpFP, GrpFPElt, GrpFPElt → BoolElt, GrpFPElt`](subfree.md#function-isconjugate-grpfp-grpfpelt-grpfpelt)

  - [`Centraliser(F, H): GrpFP, GrpFP → GrpFP`](subfree.md#function-centraliser-grpfp-grpfp)

  - [`Centralizer(F, H): GrpFP, GrpFP → GrpFP`](subfree.md#function-centralizer-grpfp-grpfp)

  - [`Normaliser(F, H): GrpFP, GrpFP → GrpFP`](subfree.md#function-normaliser-grpfp-grpfp)

  - [`Normalizer(F, H): GrpFP, GrpFP → GrpFP`](subfree.md#function-normalizer-grpfp-grpfp)

  - [`IsConjugate(F, H, K): GrpFP, GrpFP, GrpFP → BoolElt, GrpFPElt`](subfree.md#function-isconjugate-grpfp-grpfp-grpfp)

  - [`Example: Free Subgroups`](subfree.md#example-ex-f8ece0)

- [The Automorphism Group of a Free Group](autfree.md)

  - [`AutomorphismGroup(F): GrpFP → GrpAuto`](autfree.md#function-automorphismgroup-grpfp)

  - [`InverseAutomorphismFreeGroup(F, Q): GrpFP, SeqEnum → GrpAutoElt`](autfree.md#function-inverseautomorphismfreegroup-grpfp-seqenum)

  - [`WhiteheadReduction(F, Q): GrpFP, SeqEnum → BoolElt, SeqEnum, GrpAutoElt`](autfree.md#function-whiteheadreduction-grpfp-seqenum)

  - [`Example: Free Aut`](autfree.md#example-ex-baab12)

  - [`Example: Free Aut2`](autfree.md#example-ex-1a5108)
