  
  [1X3 [33X[0;0YPregroup Presentations[133X[101X
  
  
  [1X3.1 [33X[0;0YConcepts[133X[101X
  
  [33X[0;0YGiven  a  pregroup [22XP[122X there is a universal group [22XmathcalU(P)[122X that contains [22XP[122X.
  The  concept of a pregroup presentation is a generalisation of presentations
  over  the free group, that is a pregroup presentation is a way of defining a
  group  as  a quotient of a universal group over a pregroup by giving relator
  words over the pregroup.[133X
  
  [33X[0;0YFor the purposes of the RSym tester we introduce some more concepts.[133X
  
  
  [1X3.1-1 [33X[0;0YLocations[133X[101X
  
  [33X[0;0YA  [13Xlocation[113X  on a pregroup relator [22Xw = a_1a_2... a_n[122X is an index [22Xi[122X between [22X1[122X
  and  [22Xn[122X and denotes the location between [22Xa_i[122X (the [2XInLetter[102X ([14X3.2-2[114X)) and [22Xa_i+1[122X
  (the  [2XOutLetter[102X  ([14X3.2-3[114X)),  where the relator is considered cyclically, that
  is, when [22Xi=n[122X then the outletter is [22Xa_1[122X.[133X
  
  
  [1X3.1-2 [33X[0;0YPlaces[133X[101X
  
  [33X[0;0YA  [13Xplace[113X  [22XR(L,  x, C)[122X on a pregroup relator [22XR[122X is a location ([14X3.1-1[114X) together
  with a letter from the pregroup and a colour, which is either [13Xred[113X or [13Xgreen[113X.[133X
  
  
  [1X3.2 [33X[0;0YAttributes[133X[101X
  
  [1X3.2-1 IsPregroupLocation[101X
  
  [33X[1;0Y[29X[2XIsPregroupLocation[102X( [3Xarg[103X ) [32X filter[133X
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X[133X
  
  [1X3.2-2 InLetter[101X
  
  [33X[1;0Y[29X[2XInLetter[102X( [3Xarg[103X ) [32X attribute[133X
  
  [1X3.2-3 OutLetter[101X
  
  [33X[1;0Y[29X[2XOutLetter[102X( [3Xarg[103X ) [32X attribute[133X
  
  [1X3.2-4 Places[101X
  
  [33X[1;0Y[29X[2XPlaces[102X( [3Xarg[103X ) [32X attribute[133X
  
  [1X3.2-5 NextLocation[101X
  
  [33X[1;0Y[29X[2XNextLocation[102X( [3Xarg[103X ) [32X attribute[133X
  
  [1X3.2-6 PrevLocation[101X
  
  [33X[1;0Y[29X[2XPrevLocation[102X( [3Xarg[103X ) [32X attribute[133X
  
  [1X3.2-7 __ID[101X
  
  [33X[1;0Y[29X[2X__ID[102X( [3Xarg[103X ) [32X attribute[133X
  
  
  [1X3.3 [33X[0;0YCreating Pregroup Presentations[133X[101X
  
  [1X3.3-1 NewPregroupPresentation[101X
  
  [33X[1;0Y[29X[2XNewPregroupPresentation[102X( [3Xpregroup[103X, [3Xrelators[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10Ya pregroup presentation[133X
  
  [33X[0;0YCreates a pregroup presentation over the [3Xpregroup[103X with relators [3Xrelators[103X.[133X
  
  [1X3.3-2 PregroupPresentationFromFp[101X
  
  [33X[1;0Y[29X[2XPregroupPresentationFromFp[102X( [3XF[103X, [3Xrred[103X, [3Xrgreen[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10Ya pregroup presentation[133X
  
  [33X[0;0YCreates a pregroup presentation over the pregroup defined by [3XF[103X and [3Xrred[103X with
  relators [3Xrgreen[103X.[133X
  
  [1X3.3-3 PregroupPresentationToFpGroup[101X
  
  [33X[1;0Y[29X[2XPregroupPresentationToFpGroup[102X( [3Xpresentation[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10Ya finitely presented group[133X
  
  [33X[0;0YConverts  the  pregroup  presentation [3Xpresentation[103X into a finitely presented
  group.[133X
  
  
  [1X3.4 [33X[0;0YFilters, Attributes, and Properties[133X[101X
  
  [1X3.4-1 IsPregroupPresentation[101X
  
  [33X[1;0Y[29X[2XIsPregroupPresentation[102X( [3Xarg[103X ) [32X filter[133X
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X[133X
  
  [1X3.4-2 [101X
  
  [33X[1;0Y[29X[2X[102X( [3Xarg[103X ) [32X filter[133X
  [6XReturns:[106X  [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X[133X
  
  
  [1X3.5 [33X[0;0YHyperbolicity testing for pregroup presentations[133X[101X
  
  [1X3.5-1 RSymTestOp[101X
  
  [33X[1;0Y[29X[2XRSymTestOp[102X( [3Xpresentation[103X, [3Xepsilon[103X ) [32X operation[133X
  
  [33X[0;0YTest  the  group  presented by [3Xpresentation[103X for hyperbolicity using the RSym
  tester with parameter [3Xepsilon[103X.[133X
  
  [1X3.5-2 RSymTest[101X
  
  [33X[1;0Y[29X[2XRSymTest[102X( [3Xargs...[103X ) [32X function[133X
  
  [33X[0;0YThis  is  a wrapper for [2XRSymTestOp[102X ([14X3.5-1[114X). If the first argument given is a
  free group, the second and third lists of words over the free group, and the
  fourth  a  rational, then this function creates a pregroup presentation from
  the  input  data and invokes [2XRSymTestOp[102X ([14X3.5-1[114X) on it. If the first argument
  is  a pregroup presentation and the second argument is rational number, then
  it invokes [2XRSymTestOp[102X ([14X3.5-1[114X) on that input.[133X
  
  [1X3.5-3 IsHyperbolic[101X
  
  [33X[1;0Y[29X[2XIsHyperbolic[102X( [3Xpresentation[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XIsHyperbolic[102X( [3Xpresentation[103X, [3Xepsilon[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XIsHyperbolic[102X( [3XF[103X, [3Xrred[103X, [3Xrgreen[103X, [3Xepsilon[103X ) [32X operation[133X
  
  [33X[0;0YTests a given presentation for hyperbolicity using the RSym test procedure.[133X
  
  
  [1X3.6 [33X[0;0YInput and Output of Pregroup Presentations[133X[101X
  
  [1X3.6-1 PregroupPresentationToKBMAG[101X
  
  [33X[1;0Y[29X[2XPregroupPresentationToKBMAG[102X( [3Xpresentation[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA KBMAG rewriting system[133X
  
  [33X[0;0YTurns   the   pregroup   presentation  [3Xpresentation[103X  into  valid  input  for
  Knuth-Bendix  rewriting  using KBMAG. Only available if the kbmag package is
  available.[133X
  
  [1X3.6-2 PregroupPresentationToStream[101X
  
  [33X[1;0Y[29X[2XPregroupPresentationToStream[102X( [3Xstream[103X, [3Xpresentation[103X ) [32X function[133X
  
  [33X[0;0YWrites the pregroup presentation [3Xpresentation[103X to [3Xstream[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XT := TriangleGroup(2,3,7);;[127X[104X
    [4X[25Xgap>[125X [27Xstr := "";; stream := OutputTextString(str, true);;[127X[104X
    [4X[25Xgap>[125X [27XPregroupPresentationToStream(stream, T);[127X[104X
    [4X[25Xgap>[125X [27XPrint(str);[127X[104X
    [4X[28Xrec([128X[104X
    [4X[28X  rels := [ [ 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3 ] ],[128X[104X
    [4X[28X  table := [ [ 1, 2, 3, 4 ], [ 2, 1, 0, 0 ], [ 3, 0, 4, 1 ], [ 4, 0, 1, 3 ] ] );[128X[104X
  [4X[32X[104X
  
  [1X3.6-3 PregroupPresentationFromStream[101X
  
  [33X[1;0Y[29X[2XPregroupPresentationFromStream[102X( [3Xstream[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YA pregroup presentation[133X
  
  [33X[0;0YReads  a  pregroup presentation from an input stream in the same format that
  [2XPregroupPresentationToStream[102X ([14X3.6-2[114X) uses.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xstream := InputTextString(str);[127X[104X
    [4X[28XInputTextString(0,146)[128X[104X
    [4X[25Xgap>[125X [27XPregroupPresentationFromStream(stream);[127X[104X
    [4X[28X<pregroup presentation with 3 generators and 1 relators>[128X[104X
  [4X[32X[104X
  
  [1X3.6-4 PregroupPresentationToSimpleStream[101X
  
  [33X[1;0Y[29X[2XPregroupPresentationToSimpleStream[102X( [3Xstream[103X, [3Xpresentation[103X ) [32X function[133X
  
  [33X[0;0YWrites  the  pregroup  presentation  [3Xpresentation[103X  to [3Xstream[103X. Uses a simpler
  format than [2XPregroupPresentationToStream[102X ([14X3.6-2[114X)[133X
  
  [1X3.6-5 PregroupPresentationToFile[101X
  
  [33X[1;0Y[29X[2XPregroupPresentationToFile[102X( [3Xfilename[103X, [3Xpresentation[103X ) [32X function[133X
  
  [33X[0;0YWrites the pregroup presentation [3Xpresentation[103X to file with name [3Xfilename[103X.[133X
  
  [1X3.6-6 PregroupPresentationFromFile[101X
  
  [33X[1;0Y[29X[2XPregroupPresentationFromFile[102X( [3Xfilename[103X ) [32X function[133X
  
  [33X[0;0YReads a pregroup presentation from file with [3Xfilename[103X.[133X
  
  [1X3.6-7 PregroupPresentationToSimpleFile[101X
  
  [33X[1;0Y[29X[2XPregroupPresentationToSimpleFile[102X( [3Xstream[103X, [3Xpresentation[103X ) [32X function[133X
  
  [33X[0;0YWrites  the pregroup presentation [3Xpresentation[103X to file with name [3Xfilename[103X in
  a simple format.[133X
  
