Public Types

This page contains information about the member types of the fpsemigroup::KnuthBendix class that are not present in any of its base classes.

using libsemigroups::fpsemigroup::KnuthBendix::const_normal_form_iterator = detail::ConstIteratorStateful<NormalFormsIteratorTraits>

Type of an const iterator to a normal form.

using libsemigroups::fpsemigroup::KnuthBendix::froidure_pin_type = FroidurePin<detail::KBE, FroidurePinTraits<detail::KBE, KnuthBendix>>

The type of the return value of froidure_pin().

froidure_pin() returns a std::shared_ptr to a FroidurePinBase, which is really of type froidure_pin_type.

struct options

This type contains various enums for specifying certain options to a KnuthBendix instance.

enum class libsemigroups::fpsemigroup::KnuthBendix::options::overlap

Values for specifying how to measure the length of an overlap.

The values in this enum determine how a KnuthBendix instance measures the length \(d(AB, BC)\) of the overlap of two words \(AB\) and \(BC\):

Values:

enumerator ABC

\(d(AB, BC) = |A| + |B| + |C|\)

enumerator AB_BC

\(d(AB, BC) = |AB| + |BC|\)

enumerator MAX_AB_BC

\(d(AB, BC) = max(|AB|, |BC|)\)