.. Copyright (c) 2019, 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
===========

.. doxygenclass:: libsemigroups::FpSemigroup
   :project: libsemigroups

Type Aliases
------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__const_iterator
       libsemigroups__fpsemigroup__rule_type

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

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__fpsemigroup
       libsemigroups__fpsemigroup__fpsemigroup_t_const__
       libsemigroups__fpsemigroup__fpsemigroup_std__shared_ptr_froidurepinbase__

Deleted constructors
--------------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__fpsemigroup_fpsemigroup_const__
       libsemigroups__fpsemigroup__fpsemigroup_fpsemigroup___
       libsemigroups__fpsemigroup__operator__fpsemigroup_const__
       libsemigroups__fpsemigroup__operator__fpsemigroup___

Validation
----------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__validate_letter_char__const
       libsemigroups__fpsemigroup__validate_letter_letter_type__const
       libsemigroups__fpsemigroup__validate_word_std__string_const___const
       libsemigroups__fpsemigroup__validate_word_word_type_const___const

Initialization
--------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__add_rule_relation_type_
       libsemigroups__fpsemigroup__add_rule_rule_type_
       libsemigroups__fpsemigroup__add_rule_std__initializer_list_size_t___std__initializer_list_size_t__
       libsemigroups__fpsemigroup__add_rule_std__string_const___std__string_const__
       libsemigroups__fpsemigroup__add_rule_word_type_const___word_type_const__
       libsemigroups__fpsemigroup__add_rules_froidurepinbase__
       libsemigroups__fpsemigroup__add_rules_std__vector_rule_type__const__
       libsemigroups__fpsemigroup__alphabet
       libsemigroups__fpsemigroup__identity
       libsemigroups__fpsemigroup__inverses
       libsemigroups__fpsemigroup__nr_rules
       libsemigroups__fpsemigroup__set_alphabet_size_t_
       libsemigroups__fpsemigroup__set_alphabet_std__string_const__
       libsemigroups__fpsemigroup__set_identity_letter_type_
       libsemigroups__fpsemigroup__set_identity_std__string_const__
       libsemigroups__fpsemigroup__set_inverses

Reporting
---------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__report
       libsemigroups__fpsemigroup__report_every_tinttype_
       libsemigroups__fpsemigroup__report_every_std__chrono__nanoseconds_
       libsemigroups__fpsemigroup__report_why_we_stopped

Operators
---------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__kill
       libsemigroups__fpsemigroup__run
       libsemigroups__fpsemigroup__run_for_tinttype_
       libsemigroups__fpsemigroup__run_for_std__chrono__nanoseconds_
       libsemigroups__fpsemigroup__run_until

State
-----

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__dead
       libsemigroups__fpsemigroup__finished
       libsemigroups__fpsemigroup__running
       libsemigroups__fpsemigroup__started
       libsemigroups__fpsemigroup__stopped
       libsemigroups__fpsemigroup__stopped_by_predicate
       libsemigroups__fpsemigroup__timed_out

Normal forms and equality testing
---------------------------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__equal_to_std__initializer_list_letter_type___std__initializer_list_letter_type__
       libsemigroups__fpsemigroup__equal_to_std__string_const___std__string_const__
       libsemigroups__fpsemigroup__equal_to_word_type_const___word_type_const__
       libsemigroups__fpsemigroup__normal_form_std__initializer_list_letter_type__
       libsemigroups__fpsemigroup__normal_form_std__string_const__
       libsemigroups__fpsemigroup__normal_form_word_type_const__

Words to strings and vice versa
-------------------------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__char_to_uint
       libsemigroups__fpsemigroup__string_to_word
       libsemigroups__fpsemigroup__uint_to_char
       libsemigroups__fpsemigroup__word_to_string

Related semigroups
------------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__froidure_pin
       libsemigroups__fpsemigroup__has_froidure_pin

Related algorithms
------------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__has_knuth_bendix
       libsemigroups__fpsemigroup__has_todd_coxeter
       libsemigroups__fpsemigroup__knuth_bendix
       libsemigroups__fpsemigroup__todd_coxeter

Finiteness
----------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__is_obviously_finite
       libsemigroups__fpsemigroup__is_obviously_infinite
       libsemigroups__fpsemigroup__size

Iterators
---------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__cbegin_rules
       libsemigroups__fpsemigroup__cend_rules

Miscellanea
-----------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__to_gap_string
