Goto Chapter: Top 1 2 3 Ind

### 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 (???). 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 (???) on it. If the first argument is a pregroup presentation and the second argument is rational number, then it invokes RSymTestOp (???) 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.

Goto Chapter: Top 1 2 3 Ind

generated by GAPDoc2HTML