This page contains links to the documentation related to the implementation of the Knuth-Bendix algorithm in libsemigroups.
The purpose of this algorithm is to find a locally confluent presentation for a semigroup or monoid, with respect to some alphabet order and reduction ordering. 
◆ operator<<()
template<typename Word, typename Rewriter, typename ReductionOrder> 
      
 
Defined in knuth-bendix.hpp.
This function allows a KnuthBendix object to be left shifted into a std::ostream, such as std::cout. The currently active rules of the system are represented in the output.
- Parameters
- 
  
    | os | the output stream to insert into. |  | kb | the KnuthBendix object. |  
 
- Returns
- A reference to the first argument. 
 
 
◆ to_human_readable_repr()
template<typename Word, typename Rewriter, typename ReductionOrder> 
      
        
          | std::string to_human_readable_repr | ( | KnuthBendix< Word, Rewriter, ReductionOrder > & | kb | ) |  | 
      
 
Defined in knuth-bendix.hpp.
This function returns a string representation of a KnuthBendix instance, specifying the size of the underlying alphabet and the number of active rules.
- Template Parameters
- 
  
    | Rewriter | the first template parameter for KnuthBendix. |  | ReductionOrder | the second template parameter for KnuthBendix. |  
 
- Parameters
- 
  
  
- Returns
- The representation, a value of type std::string.