libsemigroups  v3.0.0
C++ library for semigroups and monoids
Loading...
Searching...
No Matches
to-cong.hpp
1//
2// libsemigroups - C++ library for semigroups and monoids
3// Copyright (C) 2025 James D. Mitchell
4//
5// This program is free software: you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14//
15// You should have received a copy of the GNU General Public License
16// along with this program. If not, see <http://www.gnu.org/licenses/>.
17//
18
19#ifndef LIBSEMIGROUPS_TO_CONG_HPP_
20#define LIBSEMIGROUPS_TO_CONG_HPP_
21
22#include <type_traits> // for enable_if_t, is_same_v
23
24#include "cong-class.hpp" // for Congruence
25#include "froidure-pin-base.hpp" // for FroidurePinBase
26#include "to-todd-coxeter.hpp" // for to<ToddCoxeter>
27#include "types.hpp" // for congruence_kind
28#include "word-graph.hpp" // for WordGraph
29
30namespace libsemigroups {
31
42
74 template <typename Result, typename Node>
76 -> std::enable_if_t<
77 std::is_same_v<Congruence<typename Result::native_word_type>, Result>,
78 Result>;
79
80} // namespace libsemigroups
81
82#include "to-cong.tpp"
83
84#endif // LIBSEMIGROUPS_TO_CONG_HPP_
Base class for FroidurePin containing non-element specific data and member functions.
Definition froidure-pin-base.hpp:66
Class for representing word graphs.
Definition word-graph.hpp:82
auto to(detail::KnuthBendixImpl< Rewriter, ReductionOrder > &kb) -> std::enable_if_t< std::is_same_v< Presentation< typename Result::word_type >, Result >, Result >
No doc.
congruence_kind
Enum to indicate the sided-ness of a congruence.
Definition types.hpp:69
Namespace for everything in the libsemigroups library.
Definition action.hpp:44