.. Copyright (c) 2019-20, J. D. Mitchell

   Distributed under the terms of the GPL license version 3.

   The full license is in the file LICENSE, distributed with this software.

   This file was auto-generated by docs/generate_from_yml.py, do not edit.

fpsemigroup::KnuthBendix
========================

.. doxygenclass:: libsemigroups::fpsemigroup::KnuthBendix
   :project: libsemigroups

Public Types
------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__policy__overlap
       libsemigroups__fpsemigroup__knuthbendix__const_iterator
       libsemigroups__fpsemigroup__knuthbendix__froidure_pin_type
       libsemigroups__fpsemigroup__knuthbendix__rule_type

Constructors
------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__knuthbendix
       libsemigroups__fpsemigroup__knuthbendix__knuthbendix_froidurepinbase__
       libsemigroups__fpsemigroup__knuthbendix__knuthbendix_knuthbendix_const__
       libsemigroups__fpsemigroup__knuthbendix__knuthbendix_knuthbendix___
       libsemigroups__fpsemigroup__knuthbendix__knuthbendix_std__shared_ptr_froidurepinbase__
       libsemigroups__fpsemigroup__knuthbendix__operator__knuthbendix_const__

Validation
----------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__validate_letter_char__const
       libsemigroups__fpsemigroup__knuthbendix__validate_letter_letter_type__const
       libsemigroups__fpsemigroup__knuthbendix__validate_word_std__string_const___const
       libsemigroups__fpsemigroup__knuthbendix__validate_word_word_type_const___const

Converters
----------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__char_to_uint
       libsemigroups__fpsemigroup__knuthbendix__string_to_word
       libsemigroups__fpsemigroup__knuthbendix__to_gap_string
       libsemigroups__fpsemigroup__knuthbendix__uint_to_char
       libsemigroups__fpsemigroup__knuthbendix__word_to_string

Initialisation
--------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__add_rule_rule_type_
       libsemigroups__fpsemigroup__knuthbendix__add_rule_std__initializer_list_size_t___std__initializer_list_size_t__
       libsemigroups__fpsemigroup__knuthbendix__add_rule_std__string_const___std__string_const__
       libsemigroups__fpsemigroup__knuthbendix__add_rule_word_type_const___word_type_const__
       libsemigroups__fpsemigroup__knuthbendix__add_rules_froidurepinbase__
       libsemigroups__fpsemigroup__knuthbendix__add_rules_std__vector_rule_type__const__
       libsemigroups__fpsemigroup__knuthbendix__set_alphabet_size_t_
       libsemigroups__fpsemigroup__knuthbendix__set_alphabet_std__string_const__
       libsemigroups__fpsemigroup__knuthbendix__set_identity_letter_type_
       libsemigroups__fpsemigroup__knuthbendix__set_identity_std__string_const__
       libsemigroups__fpsemigroup__knuthbendix__set_inverses

Iterators
---------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__cbegin_normal_forms_size_t_const__size_t_const_
       libsemigroups__fpsemigroup__knuthbendix__cbegin_normal_forms_std__string_const___size_t_const__size_t_const_
       libsemigroups__fpsemigroup__knuthbendix__cbegin_rules
       libsemigroups__fpsemigroup__knuthbendix__cend_normal_forms
       libsemigroups__fpsemigroup__knuthbendix__cend_rules

Attributes
----------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__active_rules
       libsemigroups__fpsemigroup__knuthbendix__alphabet___const
       libsemigroups__fpsemigroup__knuthbendix__alphabet_size_t__const
       libsemigroups__fpsemigroup__knuthbendix__confluent
       libsemigroups__fpsemigroup__knuthbendix__contains_empty_string
       libsemigroups__fpsemigroup__knuthbendix__froidure_pin
       libsemigroups__fpsemigroup__knuthbendix__gilman_digraph
       libsemigroups__fpsemigroup__knuthbendix__has_froidure_pin
       libsemigroups__fpsemigroup__knuthbendix__identity
       libsemigroups__fpsemigroup__knuthbendix__inverses
       libsemigroups__fpsemigroup__knuthbendix__is_obviously_finite
       libsemigroups__fpsemigroup__knuthbendix__is_obviously_infinite
       libsemigroups__fpsemigroup__knuthbendix__nr_active_rules
       libsemigroups__fpsemigroup__knuthbendix__nr_rules
       libsemigroups__fpsemigroup__knuthbendix__number_of_normal_forms
       libsemigroups__fpsemigroup__knuthbendix__size

Settings
--------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__check_confluence_interval
       libsemigroups__fpsemigroup__knuthbendix__max_overlap
       libsemigroups__fpsemigroup__knuthbendix__max_rules
       libsemigroups__fpsemigroup__knuthbendix__overlap_policy
       libsemigroups__fpsemigroup__knuthbendix__report
       libsemigroups__fpsemigroup__knuthbendix__report_every_tinttype_
       libsemigroups__fpsemigroup__knuthbendix__report_every_std__chrono__nanoseconds_
       libsemigroups__fpsemigroup__knuthbendix__report_why_we_stopped

Running
-------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__kill
       libsemigroups__fpsemigroup__knuthbendix__knuth_bendix_by_overlap_length
       libsemigroups__fpsemigroup__knuthbendix__run
       libsemigroups__fpsemigroup__knuthbendix__run_for_tinttype_
       libsemigroups__fpsemigroup__knuthbendix__run_for_std__chrono__nanoseconds_
       libsemigroups__fpsemigroup__knuthbendix__run_until_t___
       libsemigroups__fpsemigroup__knuthbendix__run_until_bool_____

State
-----

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__dead
       libsemigroups__fpsemigroup__knuthbendix__finished
       libsemigroups__fpsemigroup__knuthbendix__running
       libsemigroups__fpsemigroup__knuthbendix__started
       libsemigroups__fpsemigroup__knuthbendix__stopped
       libsemigroups__fpsemigroup__knuthbendix__stopped_by_predicate
       libsemigroups__fpsemigroup__knuthbendix__timed_out

Operators
---------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__equal_to_std__initializer_list_letter_type___std__initializer_list_letter_type__
       libsemigroups__fpsemigroup__knuthbendix__equal_to_std__string_const___std__string_const__
       libsemigroups__fpsemigroup__knuthbendix__equal_to_word_type_const___word_type_const__
       libsemigroups__fpsemigroup__knuthbendix__normal_form_std__initializer_list_letter_type__
       libsemigroups__fpsemigroup__knuthbendix__normal_form_std__string_const__
       libsemigroups__fpsemigroup__knuthbendix__normal_form_word_type_const__
       libsemigroups__fpsemigroup__knuthbendix__rewrite_std__string____const
       libsemigroups__fpsemigroup__knuthbendix__rewrite_std__string__const
