normal_form(std::string const&)ΒΆ

std::string libsemigroups::CongruenceWrapper::normal_form(std::string const &w)

Returns a normal form for a string.

If u and v represent the same element of the finitely presented semigroup represented by this, then normal_form(u) is guaranteed to equal normal_form(v). No further guarantees are given, the return value of normal_form() depends on the implementation and may vary between finitely presented semigroups defined in precisely the same way.

Return

the normal form of the parameter w, a value of type std::string.

Complexity

See warning.

Warning

The function for finding the structure of a finitely presented semigroup may be non-deterministic, or since the problem is undecidable in general, this function may never return a result.

See

normal_form(word_type const&).

Parameters
  • w: the word whose normal form we want to find. The parameter w must be a std::string consisting of letters in alphabet().

Exceptions