The SimsRefinerFaithful class
For pruning the search tree when looking for congruences arising from right or two-sided congruences representing faithful actions.
This class provides a pruner for pruning the search tree when looking for right congruences representing faithful actions. A right congruence represents a faithful action if and only if it does not contain any non-trivial two-sided congruence. Equivalently, a word graph of a right congruence represents a faithful action if and only if there is no nontrivial pair of words \((u, v)\) such that every vertex of the word graph is compatible with \((u, v)\).
See also
Contents
| For pruning the search tree when looking for congruences arising from right or two-sided congruences representing faithful actions. | |
| Check if a word graph can be extended to one defining a faithful congruence. | |
| Get the forbidden pairs defining the refiner. | |
| Overloaded function. | 
Full API
- class SimsRefinerFaithful
- __init__(*args, **kwargs)
- Overloaded function. - __init__(self: SimsRefinerFaithful, word: type) None
- This function returns an uninitialized - SimsRefinerFaithfulobject that uses words of type specified by word.- Keyword Arguments:
- word (type) – the type of words to use, must be - list[int].
 
 
 - __init__(self: SimsRefinerFaithful, forbid: list[list[int]]) None
- Construct from set of forbidden pairs. - This function constructs a - SimsRefinerFaithfulpruner with respect to the set of forbidden relations in forbid. If forbid contains no trivial pairs (i.e. pairs of words that are equal in the underlying semigroup or monoid), then all word graphs rejected by- SimsRefinerFaithfulare guaranteed to not be extendable to a word graph representing a faithful congruence. Otherwise, the pruner will incorrectly reject all word graphs.- If in addition forbid is a set of relations containing all minimal congruence generating pairs of a given semigroup or monoid, then - SimsRefinerFaithfulwill also correctly determine if a complete word graph represents a faithful congruence. Otherwise, the complete word graphs accepted by- SimsRefinerFaithfulare not guaranteed to be faithful and must be checked by some other means.
 
 - __call__(self: SimsRefinerFaithful, wg: WordGraph) bool
- Check if a word graph can be extended to one defining a faithful congruence. - Returns - Falseif there is no way of adding edges and nodes to wg which will result in a word graph defining a faithful congruence. Otherwise returns- True.
 - forbid(self: SimsRefinerFaithful) list[list[int]]
- Get the forbidden pairs defining the refiner. - This function returns the defining forbidden pairs of a - SimsRefinerFaithfulinstance.
 - init(self: SimsRefinerFaithful, forbid: list[list[int]]) SimsRefinerFaithful
- Overloaded function. - init(self: SimsRefinerFaithful) SimsRefinerFaithful
- Reinitialize an existing - SimsRefinerFaithfulobject.- This function puts an object back into the same state as if it had been newly default constructed. - Returns:
- The first argument self. 
- Return type:
 
 - init(self: SimsRefinerFaithful, forbid: list[list[int]]) SimsRefinerFaithful
- Reinitialize an existing - SimsRefinerFaithfulobject from a set of forbidden pairs.- This function puts an object back into the same state as if it had been newly constructed from set of forbidden pairs forbid.