libsemigroups  v3.0.0
C++ library for semigroups and monoids
Loading...
Searching...
No Matches
SimsRefinerIdeals

Defined in sims.hpp.

This class provides a pruner for pruning the search tree when looking for right or two-sided congruences arising from ideals (Rees congruences).

See also
pruners
add_pruner

Public Member Functions

 SimsRefinerIdeals ()
 Default constructor.
 
 SimsRefinerIdeals (Presentation< word_type > const &p)
 Construct from presentation.
 
SimsRefinerIdealsinit ()
 Reinitialize an existing SimsRefinerIdeals object.
 
SimsRefinerIdealsinit (Presentation< word_type > const &p)
 Reinitialize an existing SimsRefinerIdeals object from a word_type presentation.
 
bool operator() (Sims1::word_graph_type const &wg)
 Check if a word graph can be extended to one defining a Rees congruence.
 
Presentation< word_type > const & presentation () const noexcept
 Get the presentation over which the refiner is defined.
 

Constructor & Destructor Documentation

◆ SimsRefinerIdeals()

SimsRefinerIdeals ( Presentation< word_type > const & p)
inlineexplicit

Constructs a SimsRefinerIdeals pruner for the semigroup or monoid defined by p.

Parameters
pthe presentation.
Warning
This method assumes that KnuthBendix terminates on the input presentation p. If this is not the case then this pruner may not terminate on certain inputs.

Member Function Documentation

◆ init() [1/2]

SimsRefinerIdeals & init ( )
inline

This function puts an object back into the same state as if it had been newly default constructed.

Returns
A reference to *this.

◆ init() [2/2]

SimsRefinerIdeals & init ( Presentation< word_type > const & p)

This function puts an object back into the same state as if it had been newly constructed from the presentation p.

Parameters
pthe presentation.
Returns
A reference to *this.
Exceptions
LibsemigroupsExceptionif p is not valid
LibsemigroupsExceptionif p has 0-generators and 0-relations.
Libsemigroupsif the alphabet of p is not normalized.
Warning
This function has no exception guarantee, the object will be in the same state as if it was default constructed if an exception is thrown.
This method assumes that KnuthBendix terminates on the input presentation p. If this is not the case then th pruner may not terminate on certain inputs.
See also
presentation(Presentation<word_type> const&)

◆ operator()()

bool operator() ( Sims1::word_graph_type const & wg)

Returns false if there is no way of adding edges and nodes to

wg
which will result in a word graph defining a Rees congruence. Otherwise returns true.
Warning
This method assumes that KnuthBendix terminates on the underlying presentation that was used to construct the SimsRefinerIdeals object. If this is not the case then th pruner may not terminate on certain inputs.

◆ presentation()

Presentation< word_type > const & presentation ( ) const
inlinenodiscardnoexcept

Returns a const reference to the current relations of the underlying presentation.

This function returns the defining presentation of a SimsRefinerIdeals instance.

Returns
A const reference to Presentation<word_type>.
Exceptions
This function is noexcept and is guaranteed never to throw.

The documentation for this class was generated from the following file: