Goto Chapter: Top 1 2 3 Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

3 Pregroup Presentations
 3.1 Concepts
 3.2 Attributes
 3.3 Creating Pregroup Presentations
 3.4 Filters, Attributes, and Properties
 3.5 Hyperbolicity testing for pregroup presentations
 3.6 Input and Output of Pregroup Presentations

3 Pregroup Presentations

3.1 Concepts

Given a pregroup \(P\) there is a universal group \(\mathcal{U}(P)\) that contains \(P\). 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.

For the purposes of the RSym tester we introduce some more concepts.

3.1-1 Locations

A location on a pregroup relator \( w = a_1a_2\ldots a_n\) is an index \(i\) between \(1\) and \(n\) and denotes the location between \(a_i\) (the InLetter (3.2-2)) and \(a_{i+1}\) (the OutLetter (3.2-3)), where the relator is considered cyclically, that is, when \(i=n\) then the outletter is \(a_1\).

3.1-2 Places

A place \(R(L, x, C)\) on a pregroup relator \(R\) is a location (3.1-1) together with a letter from the pregroup and a colour, which is either red or green.

3.2 Attributes

3.2-1 IsPregroupLocation
‣ IsPregroupLocation( arg )( filter )

Returns: true or false

3.2-2 InLetter
‣ InLetter( arg )( attribute )

3.2-3 OutLetter
‣ OutLetter( arg )( attribute )

3.2-4 Places
‣ Places( arg )( attribute )

3.2-5 NextLocation
‣ NextLocation( arg )( attribute )

3.2-6 PrevLocation
‣ PrevLocation( arg )( attribute )

3.2-7 __ID
‣ __ID( arg )( attribute )

3.3 Creating Pregroup Presentations

3.3-1 NewPregroupPresentation
‣ NewPregroupPresentation( pregroup, relators )( function )

Returns: a pregroup presentation

Creates a pregroup presentation over the pregroup with relators relators.

3.3-2 PregroupPresentationFromFp
‣ PregroupPresentationFromFp( F, rred, rgreen )( function )

Returns: a pregroup presentation

Creates a pregroup presentation over the pregroup defined by F and rred with relators rgreen.

3.3-3 PregroupPresentationToFpGroup
‣ PregroupPresentationToFpGroup( presentation )( function )

Returns: a finitely presented group

Converts the pregroup presentation presentation into a finitely presented group.

3.4 Filters, Attributes, and Properties

3.4-1 IsPregroupPresentation
‣ IsPregroupPresentation( arg )( filter )

Returns: true or false

3.4-2
( arg )( filter )

Returns: true or false

3.5 Hyperbolicity testing for pregroup presentations

3.5-1 RSymTestOp
‣ RSymTestOp( presentation, epsilon )( operation )

Test the group presented by presentation for hyperbolicity using the RSym tester with parameter epsilon.

3.5-2 RSymTest
‣ RSymTest( args... )( function )

This is a wrapper for RSymTestOp (3.5-1). 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 RSymTestOp (3.5-1) on it. If the first argument is a pregroup presentation and the second argument is rational number, then it invokes RSymTestOp (3.5-1) on that input.

3.5-3 IsHyperbolic
‣ IsHyperbolic( presentation )( operation )
‣ IsHyperbolic( presentation, epsilon )( operation )
‣ IsHyperbolic( F, rred, rgreen, epsilon )( operation )

Tests a given presentation for hyperbolicity using the RSym test procedure.

3.6 Input and Output of Pregroup Presentations

3.6-1 PregroupPresentationToKBMAG
‣ PregroupPresentationToKBMAG( presentation )( function )

Returns: A KBMAG rewriting system

Turns the pregroup presentation presentation into valid input for Knuth-Bendix rewriting using KBMAG. Only available if the kbmag package is available.

3.6-2 PregroupPresentationToStream
‣ PregroupPresentationToStream( stream, presentation )( function )

Writes the pregroup presentation presentation to stream.

gap> T := TriangleGroup(2,3,7);;
gap> str := "";; stream := OutputTextString(str, true);;
gap> PregroupPresentationToStream(stream, T);
gap> Print(str);
rec(
  rels := [ [ 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3 ] ],
  table := [ [ 1, 2, 3, 4 ], [ 2, 1, 0, 0 ], [ 3, 0, 4, 1 ], [ 4, 0, 1, 3 ] ] );

3.6-3 PregroupPresentationFromStream
‣ PregroupPresentationFromStream( stream )( function )

Returns: A pregroup presentation

Reads a pregroup presentation from an input stream in the same format that PregroupPresentationToStream (3.6-2) uses.

gap> stream := InputTextString(str);
InputTextString(0,146)
gap> PregroupPresentationFromStream(stream);
<pregroup presentation with 3 generators and 1 relators>

3.6-4 PregroupPresentationToSimpleStream
‣ PregroupPresentationToSimpleStream( stream, presentation )( function )

Writes the pregroup presentation presentation to stream. Uses a simpler format than PregroupPresentationToStream (3.6-2)

3.6-5 PregroupPresentationToFile
‣ PregroupPresentationToFile( filename, presentation )( function )

Writes the pregroup presentation presentation to file with name filename.

3.6-6 PregroupPresentationFromFile
‣ PregroupPresentationFromFile( filename )( function )

Reads a pregroup presentation from file with filename.

3.6-7 PregroupPresentationToSimpleFile
‣ PregroupPresentationToSimpleFile( stream, presentation )( function )

Writes the pregroup presentation presentation to file with name filename in a simple format.

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 Ind

generated by GAPDoc2HTML