############################################################################# ## ## This file is part of GAP, a system for computational discrete algebra. ## This file's authors include Isabel Araújo. ## ## Copyright of GAP belongs to its developers, whose names are too numerous ## to list here. Please refer to the COPYRIGHT file for details. ## ## SPDX-License-Identifier: GPL-2.0-or-later ## ## This file contains the declarations for finitely presented monoids.
############################################################################# ## #C IsElementOfFpMonoid(<elm>) ## ## <ManSection> ## <Filt Name="IsElementOfFpMonoid" Arg='elm' Type='Category'/> ## ## <Description> ## returns true if <A>elm</A> is an element of a finitely presented monoid. ## </Description> ## </ManSection> ##
DeclareCategory( "IsElementOfFpMonoid",
IsMultiplicativeElementWithOne and IsAssociativeElement);
############################################################################# ## #C IsElementOfFpMonoidCollection(<e>) ## ## <ManSection> ## <Filt Name="IsElementOfFpMonoidCollection" Arg='e' Type='Category'/> ## ## <Description> ## Created now so that lists of things in the category IsElementOfFpMonoid ## are given the category CategoryCollections(IsElementOfFpMonoid) ## Otherwise these lists (and other collections) won't create the ## collections category. See CollectionsCategory in the manual. ## ## </Description> ## </ManSection> ##
DeclareCategoryCollections("IsElementOfFpMonoid");
############################################################################# ## #A IsSubmonoidFpMonoid( <t> ) ## ## <ManSection> ## <Filt Name="IsSubmonoidFpMonoid" Arg='t'/> ## ## <Description> ## true if <A>t</A> is a finitely presented monoid or a ## submonoid of a finitely presented monoid ## (generally speaking, such a semigroup can be constructed ## with <C>Monoid(<A>gens</A>)</C>, where <A>gens</A> is a list of elements ## of a finitely presented monoid). ## <P/> ## A submonoid of a monoid has the same identity as the monoid. ## </Description> ## </ManSection> ##
DeclareSynonymAttr( "IsSubmonoidFpMonoid",
IsMonoid and IsElementOfFpMonoidCollection );
############################################################################# ## #F FactorFreeMonoidByRelations( <f>, <rels> ) ## ## <ManSection> ## <Func Name="FactorFreeMonoidByRelations" Arg='f, rels'/> ## ## <Description> ## <A>f</A> is a free monoid and <A>rels</A> is a list of ## pairs of elements of <A>f</A>. Returns the fp monoid which ## is the quotient of <A>f</A> by the least congruence on <A>f</A> generated by ## the pairs in <A>rels</A>. ## </Description> ## </ManSection> ##
DeclareGlobalFunction("FactorFreeMonoidByRelations");
############################################################################# ## #O ElementOfFpMonoid( <fam>, <word> ) ## ## <ManSection> ## <Oper Name="ElementOfFpMonoid" Arg='fam, word'/> ## ## <Description> ## If <A>fam</A> is the elements family of a finitely presented monoid ## and <A>word</A> is a word in the free generators underlying this ## finitely presented monoid, this operation creates the element ## with the representative <A>word</A> in the free monoid. ## </Description> ## </ManSection> ##
DeclareOperation( "ElementOfFpMonoid",
[ IsElementOfFpMonoidFamily, IsAssocWordWithOne ] );
############################################################################# ## #O FpMonoidOfElementOfFpMonoid( <elm> ) ## ## <ManSection> ## <Oper Name="FpMonoidOfElementOfFpMonoid" Arg='elm'/> ## ## <Description> ## returns the fp monoid to which <A>elm</A> belongs to ## </Description> ## </ManSection> ##
DeclareOperation( "FpMonoidOfElementOfFpMonoid",[IsElementOfFpMonoid]);
############################################################################# ## #P IsFpMonoid(<m>) ## ## <ManSection> ## <Filt Name="IsFpMonoid" Arg='m'/> ## ## <Description> ## is a synonym for <C>IsSubmonoidFpMonoid(<A>m</A>)</C> and ## <C>IsWholeFamily(<A>m</A>)</C> (this is because a submonoid ## of a finitely presented monoid is not necessarily finitely presented). ## </Description> ## </ManSection> ##
DeclareSynonym( "IsFpMonoid",IsSubmonoidFpMonoid and IsWholeFamily);
############################################################################# ## #A FreeGeneratorsOfFpMonoid( <m> ) ## ## <ManSection> ## <Attr Name="FreeGeneratorsOfFpMonoid" Arg='m'/> ## ## <Description> ## returns the underlying free generators corresponding to the ## generators of the finitely presented monoid <A>m</A>. ## </Description> ## </ManSection> ##
DeclareAttribute("FreeGeneratorsOfFpMonoid", IsFpMonoid);
############################################################################# ## #A FreeMonoidOfFpMonoid( <m> ) ## ## <ManSection> ## <Attr Name="FreeMonoidOfFpMonoid" Arg='m'/> ## ## <Description> ## returns the underlying free monoid for the finitely presented ## monoid <A>m</A>, ie, the free monoid over which <A>m</A> is defined ## as a quotient ## (this is the free monoid generated by the free generators provided ## by <C>FreeGeneratorsOfFpMonoid(<A>m</A>)</C>). ## </Description> ## </ManSection> ##
DeclareAttribute("FreeMonoidOfFpMonoid", IsFpMonoid);
############################################################################ ## #A RelationsOfFpMonoid(<m>) ## ## <ManSection> ## <Attr Name="RelationsOfFpMonoid" Arg='m'/> ## ## <Description> ## returns the relations of the finitely presented monoid <A>m</A> as ## pairs of words in the free generators provided by ## <C>FreeGeneratorsOfFpMonoid(<A>m</A>)</C>. ## </Description> ## </ManSection> ##
DeclareAttribute("RelationsOfFpMonoid",IsFpMonoid);
############################################################################ ## #A IsomorphismFpMonoid(<m>) ## ## <ManSection> ## <Attr Name="IsomorphismFpMonoid" Arg='m'/> ## ## <Description> ## for a monoid <A>m</A> returns an isomorphism from <A>m</A> to an fp monoid. ## If the option <tt>relations</tt> is given, it must be a list of relations ## given by words in the free group. The monoid then is created with these ## relations (plus the ``inverse'' relations <A>x\cdot x^{-1}=1</A>). No ## particular choice of generators or relations is guaranteed. ## </Description> ## </ManSection> ##
############################################################################ ## #F IsomorphismFpMonoidInversesFirst(<G>) ## ## <ManSection> ## <Func Name="IsomorphismFpMonoid" Arg='G'/> ## ## <Description> ## for a finitely presented group <A>G</A> this function ## returns an isomorphism from <A>G</A> to an fp monoid <A>M</A>. The ## generators of <A>M</A> are chosen to correspond to the generators of ## <A>G</A> in the sequence <A>x_1^{-1},x_1,x_2^{-1},x_2,\ldots</A>. ## If the option <tt>relations</tt> is given, it must be a list of relations ## given by words in the free group. The monoid then is created with these ## relations (plus the ``inverse'' relations <A>x\cdot x^{-1}=1</A>). ## </Description> ## </ManSection> ##
DeclareGlobalFunction("IsomorphismFpMonoidInversesFirst");
############################################################################ ## #F IsomorphismFpMonoidGeneratorsFirst(<G>) ## ## <ManSection> ## <Func Name="IsomorphismFpMonoid" Arg='G'/> ## ## <Description> ## for a finitely presented group <A>G</A> this function ## returns an isomorphism from <A>G</A> to an fp monoid <A>M</A>. The ## generators of <A>M</A> are chosen to correspond to the generators of ## <A>G</A> in the sequence <A>x_1,x_1^{-1},x_2,x_2^{-1},\ldots</A>. ## If the option <tt>relations</tt> is given, it must be a list of relations ## given by words in the free group. The monoid then is created with these ## relations (plus the ``inverse'' relations <A>x\cdot x^{-1}=1</A>). ## </Description> ## </ManSection> ##
DeclareGlobalFunction("IsomorphismFpMonoidGeneratorsFirst");
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-10-13)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.