19#ifndef LIBSEMIGROUPS_TO_KNUTH_BENDIX_HPP_
20#define LIBSEMIGROUPS_TO_KNUTH_BENDIX_HPP_
24#include "knuth-bendix-class.hpp"
25#include "presentation.hpp"
26#include "to-presentation.hpp"
36 template <
typename Word>
76 template <
typename Result>
78 std::is_same_v<KnuthBendix<
typename Result::native_word_type,
79 typename Result::rewriter_type>,
82 using Word =
typename Result::native_word_type;
83 using Rewriter =
typename Result::rewriter_type;
113 template <
template <
typename...>
typename Thing,
typename Word>
115 -> std::enable_if_t<std::is_same_v<Thing<Word>, KnuthBendix<Word>>,
148 template <
typename Result>
150 ToddCoxeter<typename Result::native_word_type>& tc)
152 std::is_same_v<KnuthBendix<
typename Result::native_word_type,
153 typename Result::rewriter_type>,
156 using Word =
typename Result::native_word_type;
157 using Rewriter =
typename Result::rewriter_type;
Base class for FroidurePin containing non-element specific data and member functions.
Definition froidure-pin-base.hpp:67
For an implementation of presentations for semigroups or monoids.
Definition presentation.hpp:103
KnuthBendix(congruence_kind, Presentation< Word > const &) -> KnuthBendix< Word >
Deduction guide.
congruence_kind
Enum to indicate the sided-ness of a congruence.
Definition types.hpp:67
Namespace for everything in the libsemigroups library.
Definition action.hpp:44
auto to(detail::KnuthBendixImpl< Rewriter, ReductionOrder > &kb) -> std::enable_if_t< std::is_same_v< Presentation< typename Result::word_type >, Result >, Result >
No doc.