Congruence¶
-
class
Congruence
: public libsemigroups::CongruenceInterface¶ Defined in
cong.hpp
.On this page we describe the functionality relating to the Congruence class. This class can be used for computing a congruence over a semigroup by running every applicable algorithm from
libsemigroups
(and some variants of the same algorithm) in parallel. This class is provided for convenience, at present it is not very customisable, and lacks some of the fine grained control offered by the classes implementing individual algorithms, such as congruence::ToddCoxeter and congruence::KnuthBendix.- See
congruence_type and tril.
- Example
FpSemigroup S; S.set_alphabet(3); S.set_identity(0); S.add_rule({1, 2}, {0}); S.is_obviously_infinite(); // false Congruence cong(twosided, S); cong.add_pair({1, 1, 1}, {0}); cong.nr_classes(); // 3
Enums¶
Constructors¶
- Congruence()
- Congruence(Congruence const&)
- Congruence(Congruence&&)
- Congruence(congruence_type, FpSemigroup&)
- Congruence(congruence_type, T const&)
- Congruence(congruence_type, policy::runners)
- Congruence(congruence_type, std::shared_ptr<FroidurePinBase>)
- operator=(Congruence const&)
- operator=(Congruence&&)