Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  test-stephen.cpp   Sprache: C

 

//
// libsemigroups - C++ library for semigroups and monoids
// Copyright (C) 2022 James D. Mitchell
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.
//

#define CATCH_CONFIG_ENABLE_PAIR_STRINGMAKER

#include <cstddef>   // for size_t
#include <iostream>  // for cout

#include <algorithm>    // for for_each
#include <chrono>       // for duration, microsec...
#>      // for size_t
#nclude cstdint      // for size_t
#include <include <chrono       // for duration, microsec...
# <>    // for advance
#includeinclude<stdint>     // for size_t
#nclude <>  // for remove_reference<>...
# <tility>     // for move
#include<tring>      // for swap, basic_string

# catch
i "est-."// for LIBSEMIGROUPS_TEST_CASE

#include "libsemigroups/constants.hpp"include <utility      
i helper.pp        java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
#include "libsemigroups/digraph.hpp"               // for ActionDigraph, ope...
#include "libsemigroups/exception.hpp"             // for LibsemigroupsExcep...
#include "libsemigroups/fpsemi-examples.hpp"       // for make, fibonacci_se..."hpp // for LIBSEMIGROUPS_TEST_CASE
#int-rangehpp             /for IntegralRange<:v.
#include "libsemigroups/iterator.hpp"              // for ConstIteratorState...
#include "libsemigroups/order.hpp"                 // for LexicographicalCom...
# libsemigroupspresent"               // for add_rule_and_check
 libsemigroups/hpp //for 
#include "libsemigroups/stephen.hpp"               // for Stephen, Stephen::...
#include "libsemigroups/todd-coxeter-digraph.hpp"// for ToddCoxeterDigraph
#"java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 79
"                  

namespace libsemigroupsinclude"// for ConstIteratorState...
  include/ / LexicographicalCom.
    void check_000(Stephen               
      si                 for
      REQUIRE(s.word_graph().number_of_nodes() == 2);
REQUIRE(s.word_graph()
              == action_digraph_helper::make<size_t>(
                  2, {{1, UNDEFINED}, {#include "libsemigroups/todd-coxeter-digraph.hppjava.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
      REQUIRE(stephen::java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 0
      
                  ::();
        auto last      (.(.()= 2)java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
        :(last,10;
        REQUIRE(std::vector<word_type>(first, last)
                                  ,{1,UNDEFINED},{,1})
                                          0,1}
                                           {0, 1, 1}      {
                               ,1,1 }
                       0,,1,,1,
                                           {0, 1REQUIRE:( )
                                           {,,,1 , ,1,
                                           {0, 1, 1, 1, 1, 1, 1, 1},
                                           {0, 1, 1, 1 {0 ,}
                                           {0, 1, 1, 1,  {0 , ,1,
      }
      {
        auto first = stephen::cbegin_left_factors{0  ,1  ,1,
        auto last  ={0,1 ,1 ,1 ,}
        std::advance{, 1 1,,1 ,1,,}
        REQUIRE(                   {,,1 ,1  ,1 ,}};
                =}
                                           ,
                                           {0, 1},
                                           {0 auto last=stephencbegin_left_factors)java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
                                           {,1,1, 1}
                                           {0, 1, 1, 1, 1},
{0 ,1 1 ,1,
                                           {0, 1, 1, 1, 1, 1, 1},
                                           {0, 1,{0 }java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
                                           {0, 1, 1, 1, 1, 1, 1, {0 ,,1 }
      }
    }

    void verify_c4_normal_form{,1 ,1,, 1 ,1,
                               std::string const&               {0 ,,,1 ,1 1 })
                               java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 5
      detail::StringToWord                               std:stringconst               ,
      Stephen              S(p);
      S.set_word))java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45

      autoSs)run;
                                           words = std::vector<word_type>(stephen()
      std::vector<std::      :std:.( "

            :java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
) java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 78
            return detail::word_to_string(p.alphabet(), w.cbegin(), w.cend( returndetail:java.lang.StringIndexOutOfBoundsException: Range [43, 41) out of bounds for length 78
         )

      stdstringsend)
                strings.                java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 55
      java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 43
      REQUIRE(strings.front[S&java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 64

      (:scbegin,
                          strings.cend(),
                          [&S, &string_to_word      REQUIRE(stephen::umber_of_words_accepted()= .size());
                            return stephen::accepts(S, string_to_word(w));
                          })java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
      stephen:number_of_words_acceptedS =strings.();
    }

     (<td:>const&p,
                            std::string constdetail:StringToWord string_to_word(alphabet);
                            std::string const&               word2) {
      detail::      S.set_word(tring_to_wordw).(;
     Sp;
      S.set_word(string_to_word      S.set_word(tring_to_word(word2)run(java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
      REQUIRE(stephen::java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 5
      S.string_to_word(ord2)run(;
      REQUIRE(stephen::accepts(S, string_to_word(word1)));
     std: &word1,

    void verify_c4_not_equal_to(Presentation<std::stringstd:string &               )java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
                                &               word1,
                                std::string const&               word2) {
detail:StringToWordstring_to_wordpalphabet);
                    (pjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
      S.set_wordREQUIRE!:acceptsS (ord1);
      REQUIRE(!stephen::accepts(S,    }
  }/ 
      java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
    }                          "000,

  }// namespace

  LIBSEMIGROUPS_TEST_CASE"quick]stephen" java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47

                          "basic test 1",
                          quickstephen" {
            rg t;
    Presentation<word_type    :add_rule_and_check,{} 0 };
    p.alphabet(2);
    presentation    Stephens
     ;
    s.init(p);
    sinitp;
    scheck_000;
      java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
  }

  (Stephen,
                          "001",
                          "basic test                           "quick]stephen] 
                          "[quick][stephen]") {
    autorg (rue;
    Presentation<word_type> p;
    p.p.alphabet2)
    presentation:dd_rule_and_checkp,{,0 } 0)
    presentation:add_rule_and_check,{ 1 1,{1};
    :add_rule_and_checkp 0 1 ,1,{,0)
     s()
    ss.{,1, 0 }.(;
    REQUIRE    REQUIREsword_graph(( =7)
    REQUIRE(.(
             = ::ake<>7
                                                   , }java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
                                                    ,2,
                                                    {3, 1},
                                                    {4, 5},
                                                     }java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
                                                    6,3,
                                                    5 }java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
    REQUIRE(stephen

    word_type

                    .) ,w.egin()w.)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
                     {,1 ,,,}
                .first:(
            = )java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
w=1 ,,,1 }
    REQUIRE(java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
                .java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 54
                .first
              = 5)

    (:acceptss 1 1 ,0 ,0);
    REQUIRE:s 1 ,0 ,,0};
    REQUIRE(!stephen::accepts(s, REQUIRE!:,1,,1);
REQUIRE!as 0 ,0 , ,0 ,0,0 })java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
QUIRE(!stephen:accepts(s,{ ,1))java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
{
      auto first =      std:advance(ast )
       last=stephen::begin_words_accepteds)
      std::advance(last, 10);==std:<>{,1,0,1}
      REQUIRE(                                         {,1,0,0,0 }
              = java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 54
                                         {1, 1, 0, 0, 0, 1},
                                         {1, 1, 0, 0, 1, 0 {1,1,0,1 ,1},
                                         {1, 1, 0, 1, 0, 0},
                                         {1, 1, 0, 1, 1, 1},
                                         {1, 1, 1, 1, 0, 1}                                         ,1 ,0 ,1 ,0}java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
                                         1 ,,0, 0 ,0,1},
                                         {1, 1, 0, 0, 0,: )
{,  ,,,0 }java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
                                         {1, 1, 0, 0, 0, 1,                                          }
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    {
      auto first = stephen::                             1 0 ,
      auto last  = stephen::cbegin_left_factors(s                                         ,  ,,
      std::advance(last, 10);
      REQUIRE(std::vector<word_type>(first, last)
              == std::vector<word_type>({{},
                                         {1},
                                         1,}
                                         {1, 1, 0},
                                         {1, 1, 1},
                                         {1, 1    
                                         {1, 1, 0, 1}sword_graph)java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 51
                                         {1, 1, 1,1},
                                         {1, 1, 0, 0, 0},
                                         {1, 1, 0, 0, 1}}));
      java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
      std:for_each(irst, last,[s(auto const w java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
        ::is_left_factor(s,w)
      });
       }

    java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 26
    REQUIRE(word_graph(number_of_nodes( = 5)
    REQUIRE3 { , 2,,{ java.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 70
            == action_digraph_helperLIBSEMIGROUPS_TEST_CASE""
                5, {{1,                          002,

    p" "
    presentation::add_rule_and_check(p,                           quick]stephen" 
    presentation::add_rule_and_check(p, {1, 1,auto  ()
    .()set_word{,0)run()
    REQUIRE(s.    auto   p  = make<>(
    (.(java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
            =action_digraph_helpermakesize_t(
                3, {{1, UNDEFINED}, {2, UNDEFINED}, {1, UNDEFINEDp.lphabet(+1;
  }

  LIBSEMIGROUPS_TEST_CASE(    p.()
                          "002",
                          ,
                          []stephen" 
     fpsemigroup;
    auto   rg=ReportGuardtrue;
    size_t n  = 5;
    auto   p  =                 ,{1,2 ,4 ,}java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
        full_transformation_monoid(n, author::Iwahori));
    presentation:replace_word(p,{,{};
    p.alphabet(n + 1);
    presentation::add_identity_rules(p, n{12,13,5 14,UNDEFINED 3},
    p.validate();

    Stephen s;
    s.init(std::move(p)).set_word({0, 1, 0, 1, 1, 1, 0, 2, 0, 1, 2, 0}).java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 52
    REQUIRE(s.word_graph().number_of_nodes() == 121)                      {18 1 19 ,UNDEFINED 6,
    REQUIRE(s.word_graph()
            == action_digraph_helper::make<size_t                      24 ,26 , 8}
                121,{,23 ,5,
                      {5, 6, 7, 8, UNDEFINED, 1},
                      {9, 5, 10, 11, UNDEFINED, 2},{,,,, }
                      {12 ,5 , 3,
                      {15, 16, 17, 5, UNDEFINED, 4},
                      {1, 2,  {,,41 ,14,
{, ,19 , }
                      {21, 22, 1, 23, UNDEFINED, 7},
{,25 ,1,java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 52
                      46 ,4,, }java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
                      29 ,2 , }
                      {32, 33, 34, 2, UNDEFINED, 11},
                      {3, 35, 21, 36,                       {50, 51, 6, 52, UNDEFINED}java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
                      {37, 3, 30,                       7, 56,12 57 ,21,
                      {39, 40, 41, 3, UNDEFINED, 14},
                      {4, 42, 43, 24, UNDEFINED, 15},
                      {44,4, 5,33 UNDEFINED,16}
                      {46, 47,  {65 ,66,,54,UNDEFINED,25}
                      {6,9,48 49,UNDEFINED,18,
{50 51,6,52 , 19}
                      {53, 54, 55, 6, UNDEFINED,  {63,,70,9, ,28}
                      {7, 56, 12, 57, UNDEFINED, 21},
{, 7 ,59,UNDEFINED,22},
                      {60, 61, 62, 7, UNDEFINED, 23},
{8 63 ,15, ,24}
                      {65, 8, 66, 54, UNDEFINED, 25},
                      {67, 68, 8, 62, UNDEFINED, 26},
                      {56, 58, 9, 69, UNDEFINED, 27},
                      {63, 65, 70, 9, UNDEFINED, 28},
                      {10, 50, 56, 71, UNDEFINED, 29},
                      {51, 10, 13, 72, UNDEFINED, 30},{,48 ,82 , 37,
                      {73, 74, 75, 10, UNDEFINED, 31},
                      {,53,76, 63,UNDEFINED, 32},
                      {54, 11,                       {,84 60 64 , }
                      {8,79, 11,75 UNDEFINED,34,
                      {48, 12, 50, 80, UNDEFINED, 35},
                      {, 81,67 12, UNDEFINED,36,
                      {13, 48, 58, 82, UNDEFINED, 37},
                      {83, 77, 79, 13, UNDEFINED                      57 ,,,UNDEFINED,43}
                      {14, 84, 60, 64, UNDEFINED, 39},
                      , 40},
                      {62,{  ,67 java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 54
{,15 ,,  }
                      {57, 87, 15, 60, UNDEFINED, 43},
                      {16, 49{,,35 94 UNDEFINED50,
                     89, 72,16,74 ,45}
                      {17, 90, 57, 67,                      96,,98,19 ,52}
                      {91, 17, 72, 79, UNDEFINED, 47},
                      {35, 37, 18, 92, UNDEFINED, 48},
                      {42, 44, 93, 18, UNDEFINED, 49} {27,21 29 103 UNDEFINED, 56},
                      {19, 29, 35, 94, UNDEFINED, 50}                      43,104 46,21,UNDEFINED,57}
                      {30, 19, 22, 95,                       {106, 100, 102, 22, UNDEFI,
                     ,97 98, 19,UNDEFINED, 52,
                      {20, 32, 99,                       {,23, 97, 61,
{33 20, 100, 25, UNDEFINED }
                      {101, 102, 20, 98, UNDEFINED, 55},
, 56},
                      {43, 104, 46, 21, UNDEFINED, 57},
                      22,27,37,105 ,58}
                      {106, 100, 102, 22, UNDEFINED, 59},
                      {23, 107, 39, 43, UNDEFINED, 60},
                      {108, 23, 97, 100, UNDEFINED, 61},
                      {41, 98, 23, 26, UNDEFINED, 62},
                      {28, 24, 109, 32, UNDEFINED, 63},
                      {36, 110, 24, 39, UNDEFINED, 64},
                      25 28,111,44,UNDEFINED,65,
                      {112, 95, 25, 97, UNDEFINED, 66},
                      ,113, 36,46,UNDEFINED,67,
                      {114, 26, 95, 102,                       {26, 113, 36, 46, UNDEFINED}
                      {107, 108, 115, 27, UNDEFINED, 69},
                      {113, 114, 28, 115, UNDEFINED, 70},
                      {109, 112, 113, 29, UNDEFINED, 71},
                      {116, 45, 47, 30, UNDEFINED, 72},
                      {31, 96, 107, 109, UNDEFINED, 73},
{97,31,40, 45,UNDEFINED, 74}
                      {115, 41, 31, 34, UNDEFINED, 75},
                      {103, 106, 32, 107,                     {,31, 40 ,UNDEFINED 74}
                      {117, 38, 33, 40, UNDEFINED, 77},
                      {34, 101, 103, 113, UNDEFINED,                      {,,103 , }java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
                      {102, 34, 38, 47,  {,,112 , }
                      {99,                      110 ,,37 java.lang.StringIndexOutOfBoundsException: Range [53, 51) out of bounds for length 57
{,36 ,117,java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 57
                      110 ,114 ,82,
                      {38, 99, 106, 110, UNDEFINED, 83},
                      {92, 39, 96, 99, UNDEFINED,{,43 ,106 java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 57
                      ,94 ,,java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 56
                      94 ,42,96 }
                      {105, 43, 116, 106, UNDEFINED, 87},
                      {104, 105,                       ,85 ,48 java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 55
{ ,104 , }
                      {93, 46, 94, 101, UNDEFINED, 90},
                      {47, 93, 105, 114,                       52 ,84 ,java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 54
                      {84,  {118,62,52 55 , 98,
                      {90, 91, 49, 118, UNDEFINED{80,83 ,84,UNDEFINED,99}
                      {                      120,59,54,61 UNDEFINED,100}
                      {119, 66, 68, 51{79 55,59 68 UNDEFINED, 102}
                      ,73 84,86 UNDEFINED, 96}
                      {74, 52, 61, 66, UNDEFINED, 97},
                      {118, 62, 52, 55, UNDEFINED, 98},
                      {80, 83, 53, 84, UNDEFINED, 99},
                      {20,59 54,61 UNDEFINED,100}
                      {55, 78, 80, 90, UNDEFINED, 101},
                      {9 55,59 68,UNDEFINED,102,
                      {76, 120, 78, 56, UNDEFINED, 103},
                      {88, 57, 89, 120, UNDEFINED, 104},
                      {87, 88, 91, 58, UNDEFINED, 105},
                      {59, 76, 83, 87, UNDEFINED, 106},
                      , 107},
                      {61, 69, 85, 88, {81, 82, 65, 85, UNDEFINEDjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
                      {,119, 3, 73, UNDEFINED,109}
                      {82, 64, 119, 83, UNDEFINED, 110},
111}
                      {66, 71, 81, 89, UNDEFINED, 112},
                      {70, 67, 71, 78, UNDEFINED, 113},
                      {,70 82, 91, UNDEFINED, 114}
                      {75, 118, 69, 70, UNDEFINED, 115},
                      {72, 86, 87, 119, UNDEFINED, 116},
                      {77, 80, 120, 81, UNDEFINED, 117},
                      {98, 115, 92, 93, UNDEFINED, 118},
                      {95, 109, 110, 116, UNDEFINED, 119},
                      {100java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  }

,
                          "003",
                          "step_hen 002"
                          "[quick][stephen]") {
    Presentation<std::string>     p.alphabet(ab)
    p.alphabet("ab");
    presentation::add_rule_and_check(p, "aaa", "a");
    presentation:p bbb" b);
    presentation::presentation::add_rule_and_check(p, "abab", "aa");

    Stephen              S(p);
detail:StringToWord string_to_word("b";
    S.set_word(string_to_word("    (!stephen::ccepts, string_to_word(");

    REQUIRE(stephen    REQUIRE(stephen:S java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 64
    REQUIRE!:S (");
    REQUIRE(!stephen::accepts(S, string_to_word("aaaaaaaaaa")));
    REQUIRE(    S.(string_to_word"ba")

    S.set_word(string_to_word("bba"));
    REQUIRE(stephen::accepts(    REQUIRE(stephen::accepts(S, string_to_word("bba")));
    REQUIRE(stephen:"bba));
!:acceptsS string_to_word"");
REQUIRE!::cceptsS string_to_word"");
    REQUIRE(!stephen::S.set_word(string_to_word")

    S.set_word(string_to_word("bbaab"));
    REQUIRE(stephen::accepts(S  (Stephen,
  }

LIBSEMIGROUPS_TEST_CASE,
                          "004",
                          "from step_hen 003","[uick[]){
                          "[quick][stephen]") {
    Presentation<std::string>   p.lphabet(abcdefg)java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    p.alphabet("abcdefg")    presentation:add_rule_and_check,e" ";
    presentation::    Stephen           (p)
   :(p,ef,"g)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52

                  ()java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    : java.lang.StringIndexOutOfBoundsException: Range [41, 39) out of bounds for length 51

    .java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 46
                    11,
    REQUIRE(S.word_graph()
            == UNDEFINED
                11,
                {{1,
                 ,
                  java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 28
                  UNDEFINED,
                  UNDEFINED,java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
                  ,
                  UNDEFINED},
                 {2, 3, UNDEFINED,{java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 28
                 {4,
                  UNDEFINED,
                  ,
                  UNDEFINED,
                  UNDEFINED,
                  UNDEFINED,
                  ,
                 {UNDEFINED,
                  UNDEFINED,
                  5,
                  UNDEFINED,
                  UNDEFINED,
                  java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
                  UNDEFINED},
                 {UNDEFINED,
                  UNDEFINED,
                  UNDEFINED,
                  UNDEFINED,
                  6,
                  {UNDEFINED,
                  UNDEFINED},
                 {UNDEFINED, java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 28
                  ,
                  UNDEFINED,
                  ,
                  UNDEFINED,
                  UNDEFINED,
                  UNDEFINED,java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
                                    10,
                  UNDEFINED},
                  UNDEFINED,
                  ,
                  UNDEFINED,
                  UNDEFINED,
                  UNDEFINED,
                  10},
                 {UNDEFINED,
                  UNDEFINED,
                  UNDEFINED,
                  UNDEFINED
                  UNDEFINED,
                  10,
                  UNDEFINED},
                 7,
                  UNDEFINED,
                  auto rule = string_to_worules0]
                  
                  UNDEFINED,
                 ,
                  UNDEFINED},
                 {UNDEFINED,
                  UNDEFINED,
                  
                                   .) ,(,)
                  UNDEFINED,
                  UNDEFINED,
                  UNDEFINED}})    =)
       p.[);
    auto REQUIRE: java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 60
                 S.word_graph(), 0, rule.(std::vector<word_type>(stephen::cbegin_words_accept
                 .first;
     =p[)
                    { ,,3 } 0 ,2 ,5,{ ,0 ,0,,6};
                 S.java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
                 .first;
     =;
    (! java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 28
    REQUIREm ==)
    REQUIRE( (std:<ord_type>(stephen:(S),
    (::ccepts(S, string_to_word("aaaeaag));
    java.lang.StringIndexOutOfBoundsException: Range [45, 11) out of bounds for length 55
    REQUIRE(std::                                       0, 1,2 ,0 ,0 }
stephen:(S)
            == std::vector<word_type>(
                {{0, 1, 2, 3, 6}

    S.set_word(string_to_word("aaaeaaaeaa")).run();

)
    REQUIRE(stephen::REQUIRE(stephen::number_of_words_accepted=3)
REQUIRE(:acceptsS,string_to_word("aaaeabcd");
    REQUIRE(std::vector<word_type>(stephen::cbegin_words_accepted(S),
                                   :()java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
            == std::                {{0, 1, 2,6,{,1 2,4, 5,{,0,0,4,0,0 6});
                                       {
                                       {0, 0, 0, 4, 0,                          ""

    .(aaaeaag")run(;
    REQUIRE(S.word_graph().number_of_nodes() == 11);
    REQUIRE(stephen::number_of_words_accepted(S) == 3);
    REQUIRE(std::    ."";
                                   stephen::cend_words_accepted(S))
            == std::vector<word_type>(
                {{0, 1, 2, 3    presentation:(,a" "java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
  }

  LIBSEMIGROUPS_TEST_CASE(_(,"c,"c";
                          "005",
                          f java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 46
                          "[quick][presentation::dd_rule_and_check,"c,"";
    Presentation<std::string>     :add_rule_and_check(p,"","")
    p.alphabet("abc");
    presentation::add_rule_and_check(p, "ab", "ba");
    presentation::add_rule_and_check(p, "ac", "cc");
    c", "a)
    presentation::add_rule_and_check(p, "    REQUIRE(stephen::accepts(S, string_to_word;
    presentation::add_rule_and_check(p, "bc", "cc");
    presentation::add_rule_and_check(p, "bcc", "b");
    :add_rule_and_check(p, "bc", "b");
    presentation::add_rule_and_check(p, "}
    presentation::add_rule_and_check(p, "a", "b")LIBSEMIGROUPS_TEST_CASE""java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36

    Stephen                          from step_hen005"
    detail:                          "[uick]stephen]){
    S.set_word(string_to_word("abcc")).run();
(S,string_to_word(");
    REQUIRE(S.word_graph().number_of_nodes() == 3);p.("bcd";
    REQUIRE(S) = POSITIVE_INFINITY;
  }

  LIBSEMIGROUPS_TEST_CASE("Stephen",   ::(,"bc,"";
                          "06"
                          "presentation::add_rule_and_check(p, "aa", "d");
                          "quick]stephen]){
    Presentation<std::    presentation:p d" a)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
    p.alphabet("abcd");
    (p, "b" ");
    presentation:add_rule_and_check,c" c";
    :add_rule_and_checkp b" ")java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
        StephenS()
    presentationndetail: string_to_word"abcd";
presentation:(,"d,"";
    presentation:p d" a)java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
   :add_rule_and_checkp,"bd" b);
:java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 51
    presentation::add_rule_and_check(p,
    presentation::add_rule_and_check(p, "dc", "c");

    StephenSp;
    detail::StringToWord string_to_word("abcd");
    S.set_word(                          [[java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 49
    REQUIRErg  ReportGuard(rue);
    REQUIRE(S.word_graph().number_of_nodes() == 25);
);
  }

 LIBSEMIGROUPS_TEST_CASE""
                          "007",
                          "Fibonacci(4, 6)",
                          "[stephen][extreme]") {
    using namespace fpsemigroup;
    auto    rg = ReportGuard("(4    t),
    auto    p  = make<Presentation<word_type>>(fibonacci_semigroup(4, 6      [stephen]quick" {
Stephen ()java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
Sset_word{,1 ,3)run_for(td::seconds(0)
    REQUIRE(!S.finished    .alphabet")
  }

  LIBSEMIGROUPS_TEST_CASE(
      "Stephen",
      "008",
       detail:string_to_word(");
                        S(p)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    auto                      rg = ReportGuard(false);
    Presentation<std::string> p;
    p.alphabet("abcdefg");
presentation:(,"bcd" c";
    presentation::java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 0

    detail::StringToWord string_to_word("abcdefg");
    S(p)
    S.set_word(string_to_word("dfabcdf")).run();

    REQUIRE(S.word_graph().number_of_nodes() == 9);
    std:t(

     =std:v<>stephen:(S)
                                        stephen :(p.lphabet) cbegin) .()
    std::vector<std::string> strings

    std::transform(
        words.cbegin(), words.cend(), strings.begin(), [&p"dfceg"java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
          return detail::word_to_string(p.alphabet(), w.cbegin(), w.                                         ,
        });

                                         ""
            ="dgabcdg"}));
                                         "dfceg",
                                         ,
                                        "dgceg"
                                         "dfabcdf",
                                         java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 51
                                         "dgabcdf",
                                         "dgabcdg"}));
    std::sort(
        strings.begin(), strings.end(), LexicographicalCompare<std::java.lang.StringIndexOutOfBoundsException: Range [0, 74) out of bounds for length 12
    (tringsfront()= "fabcdf")

    REQUIRE(std::all_of(
        cbegin( cend) &,&]auto  java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
          (w);
        }    words=std:<>:(S,
    REQUIRE(stephen::number_of_words_accepted(S)                                    cend_words_acceptedS)java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68

    S.set_word(string_to_word("words.cbegin(), words.cend(), strings(,[p]auto & ) java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
    REQUIRE:number_of_words_acceptedS)= 16;
    words=:vectorword_type(:cbegin_words_accepted)java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
                                   stephen:    :sortjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
    strings.resize(stephen::number_of_words_accepted(S));REQUIREs

    std:transformjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
        .(, .) .(,[p( &w 
          return detail::word_to_string(p.alphabet(), w.cbegin(),                                         a,
        });

    std::sort(
        strings.begin(), strings.end(), LexicographicalCompare<std::string> "abcdgceg"java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
    REQUIRE(strings
            == std::vector<std::string>({"abcdfabcdf",
                                         "abcdfabcdg",
                                         "
                                         ""cegabcdg"java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
                                         "bcdgabcdf"
                                         "abcdgabcdg",
                                         "abcdgcef",
                                         "abcdgceg",
                                            cefabcdf",
                                         "cefabcdg",
                                         "cefcef
                                         "cefceg",
                                         "cegabcdf",
                                               C normal),
                                         "cegcef",
                                         })java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53

    REQUIRE(strings.frontPresentationstd::tring>
    REQUIRE(stephen:accepts( string_to_word("abcdfabcdf))java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
      detail:: string_to_word(cab);

  LIBSEMIGROUPS_TEST_CASE(
          .((a).(;
      "009",
      "C(4) monoid normal form (test_case_gap_smalloverlap_85)",
      ]"){
    auto                      rg = ReportGuard(false);
    
    alphabet(cab";
    presentationREQUIRE(tephen:( string_to_word(aabcabc")java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60

    ("cab"
    Stephen              stephen:();
    S.set_word(string_to_word("a")).run();
REQUIRE!:S (b))java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55

    S.set_word(string_to_word("aabcabc")).run        words.(,words.(,begin) &] &)
    ("aabccba"))

    S.java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
    REQUIRE(stephen::accepts(S, string_to_word("aabcabc"p a" a";

    S.set_word(  LIBSEMIGROUPS_TEST_CASE("Stjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    auto words                          code
                                        stephen::cend_words_accepted(S));
    std::vector<std::string> strings    :java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 32

    std:    alphabet"";
        words.cbegin(), words    detail: (abcdefg";
          return detail::word_to_string(p.alphabet(), w.cbegin                     =(abbbddbcbcbc;
        });

 == std::vector::string>{acba" aabc");
    verify_c4_normal_form(p, "acba", "aabc");
  

  LIBSEMIGROUPS_TEST_CASE("Stephen",
                          010,
                          "code java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 12
                          "[stephen][quick]") {
    auto                      rg    !:( a")java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
   std: ;
    (p,;
    p    !:S,string_to_word"")

    detail::StringToWord string_to_word("abcdefg");
                  (pjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
    auto                 w = string_to_word("abbbddbcbcbc");
Sset_wordw;
    run(
   S);
    S)
    Sset_word(string_to_word("abbbddbcbcbc"));  // resets
    S.report_every(std::chrono::java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0

    S.run();

    Stephen T(S);
    REQUIRE(    REQUIRE(tephen::umber_of_words_accepted()  1;
REQUIRE!:java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 59
   T =)java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
:)= size)+1;
    REQUIRE(stephen:    nS =)
!java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 59
    REQUIRE(stephen::java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 14
    REQUIRE(stephen    stephenV );

    Stephen U(std::move(S));
    REQUIRE(stephen::accepts(U, w));
    REQUIRE(!stephen::accepts(U,     REQUIRE(V.()== 12)
    REQUIRE(stephen::number_of_words_accepted(U) 
    ::number_of_left_factors(U)==w.() +1);

    stds>p;
    REQUIRE(stephen::accepts(T, w)p.(abcdefgh;
    REQUIRE(!stephen::accepts(T
    REQUIREstephen:number_of_words_acceptedT = 1)
    REQUIREpresentation::(,"f", hd";
   S )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    REQUIRE    p ","bchhd)
    REQUIRE(stephen:    verify_c4_equal_top,"bchd,cef)
    REQUIRE(stephen::number_of_left_factors(S) == w.size() + 1);

    Stephen V;
    verify_c4_equal_to(p,"" dffababcd)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
    REQUIRE(:V )java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    REQUIRE(!stephen:
    REQUIRE(stephen::number_of_words_accepted(V) == 1);
    REQUIRE(stephen"012",
    REQUIRE(V.word() == w);
    REQUIRE(V.accept_state() == 12);
  }

  LIBSEMIGROUPS_TEST_CASE(
  ,
      "
      "rlap_49)"
      "[stephen][quick]") {
    Presentation<std::string> p;
    p.alphabet("abcdefgh");

        verify_c4_no(p,"","fdafhafd";
    presentation::add_rule_and_check(p, "df", "java.lang.StringIndexOutOfBoundsException: Range [0, 49) out of bounds for length 12
    verify_c4_equal_to(p, "abchd", "abcdf");
    verify_c4_equal_to(p, "abchd", "abchd");
    verify_c4_equal_to(p, "abchdf", "p.lphabet("java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    p,a, ")
    verify_c4_equal_to(p, "cefpresentation:( hc,")
(p, "abchf" "bcdf";

    verify_c4_equal_to(p, "hdfabce", "(p, a" ""

    verify_c4_normal_form(p, "hdfabce", "dffababcd");
  }

  LIBSEMIGROUPS_TEST_CASE(
      "Stephen",
       "[tephen][uick]){
      "C(4) monoid normal form (test_case_gap_smalloverlap_63)",
      "[stephen][quick]") {
    Presentation<stdpresentation: ,"";
    palphabet")

    presentation::add_rule_and_check(p, "afh", "bgh");
    presentation::add_rule_and_check(p, "hc", "d");
    verify_c4_equal_to(p    java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 57
    verify_c4_equal_to(p, "bghcafhbgd", "afdafhafd");
    p ,")java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
  }

  LIBSEMIGROUPS_TEST_CASE(
      "Stephen",
      "013",
      "C(4) monoid equal to (java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 23
      "[stephen][quick]") {
    Presentation<std::string> p;
    p.alphabet("abcdefghij");

    
    presentation:add_rule_and_checkp "hc" "";
presentation:( ei j)

    verify_c4_equal_to(p, "afdj",p cbaabcabcaabcaabccba" );
    verify_c4_not_equal_to(p, "xxxxxxxxxxxxxxxxxxxxxxx", "b");
  }

  LIBSEMIGROUPS_TEST_CASE("Stephen"    p ,;
                          ""java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
                          "C(4) monoid normal form (test_case_ex_3_13_14)",
                          "[stephen "016,
    Presentationstd:tring 
    p.alphabet("abcd");
    presentation:add_rule_and_check(, abbba" "";
    <:s ;
    p cjava.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 72

    verify_c4_equal_to:original=;
    verify_c4_equal_top cdabbbcdc ";
    
  }

  LIBSEMIGROUPS_TEST_CASE("Stephen",
                          "015",
                          "    (  ;
                          "[stephen][quick]") {
    Presentation  (Stephen,
    p.alphabet("abcd");
    presentation::add_rule_and_check(p, "aabc", "acba");
    std::string original = "cbacbaabcaabcacbacba";
    std::string expected = "cbaabcabcaabcaabcabc";

    verify_c4_equal_to(p, "    : a" accca)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
    verify_c4_equal_toverify_c4_normal_form(p " ";
    verify_c4_equal_to(p, expected, original);
    java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 60

    verify_c4_equal_to(p, original, "cbaabcabcaabcaabccba");

    verify_c4_equal_to(  cbaabcabcaabcaabccba";
    verify_c4_normal_form( "(4)monoidnormal  ()java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
  }

  LIBSEMIGROUPS_TEST_CASE(Stephen"
                          "016",
                          "C(4)     presentation::add_rule_and_check(p "ac,"bbbbc")
                          "[stephen][quick]") {
    Presentation<std::string> p;
    p.alphabet("abcd");
    presentation:
    ccaccabcddd
    std::string expected =                         ",

    verify_c4_equal_to(p, originalPresentation<std:> pjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
    verify_c4_equal_to(p,    presentation::dd_rule_and_check(, "", "bac";

    verify_c4_normal_form(, original,expected)
    verify_c4_normal_formverify_c4_equal_top bacbaccabccabcbacbac" "bacbacbaccbaccbacbac)
  }

  (""
                            }
                          "C(4) monoid normal form (test_case_mt_3  ("
                          "[stephen][quick]") {
    Presentation<std::string> p;
    p.alphabet("abcd");
    ::add_rule_and_check(,"",);

    verify_c4_normal_formp b" "")
    verify_c4_equal_to(    presentation:(,"c,"";
  }

  LIBSEMIGROUPS_TEST_CASE(
                          "018",
                          "C(4) monoid normal form (test_case_mt_5)",
                          "[stephen][quick]") {
    Presentation<std::string> p;
    p.alphabet("abc");
    presentation::add_rule_and_check(p, "ac", "cbbbbc");

verify_c4_normal_formp,"cbbbbc", "aac");
    verify_c4_equal_to(p, "acbbbbc", "aac");
  }

  (Stephen"
                          "019",
                          "C(4) monoid normal form (test_case_mt_6)",
                          "[stephen][quickverify_c4_normal_form(p,"" "bcdbcd)
Presentations:string>;
    p.java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 3
   :(,","bac)

    verify_c4_normal_form(p, "bacbaccabccabcbacbac", "bacbacbaccbaccbacbac");
    verify_c4_equal_to(p, "bacbaccabccabcbacbac", "bacbacbaccbaccbacbac");
    verify_c4_normal_form(p, "ccabcbaccab", "cbaccbacbac");
    verify_c4_equal_to(p, "ccabcbaccab", "cbaccbacbac");
  }

  LIBSEMIGROUPS_TEST_CASE("
                          "20"
                          "C(4) monoid    (p,"","bcacbd)
                          "[stephen][quick]") {
    Presentation<std::stringLIBSEMIGROUPS_TEST_CASE""
    p.                          023"java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
    presentation::add_rule_and_check(p, "afh", "bgh");
    presentation::add_rule_and_check(p, "hc", "de");
    presentation:alphabet")

    presentation:(,a,"")
    verify_c4_equal_to(
  }

  LIBSEMIGROUPS_TEST_CASE("Stephen",
                          "021",
                          "C(4) monoid normal form (test_case_mt_13)",
                          "stephen]quick]) {
    Presentation<std::string>                           "024"
    p."");
    presentation::add_rule_and_check(p, "                          "]q" java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47

    verify_c4_normal_form(p, "dcbdcba", "abcdbcd");
    verify_c4_equal_to(p, "dcbdcba", "abcdbcd");
  }

  LIBSEMIGROUPS_TEST_CASE("Stephen",
                          "022",
                          "C(4) monoid normal form (test_case_mt_14)",
                          "[stephen][quick]") {
    Presentation<std::string> p;
    p.alphabet("abcd");
    presentation::add_rule_and_check(p, "abca", "dcbd");

    verify_c4_normal_form(p, "dcbabca","(4 java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 70
    verify_c4_equal_to(p, "dcbabca", "abcacbd");
  }

  LIBSEMIGROUPS_TEST_CASE("Stephen",presentation::add_rule_and_checkjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
                          "023",
                          "()monoid normal form (test_case_mt_15)",
                          "[stephen][quick]") {
    Presentation<std::string> p;
    p.alphabet("abcd");
    presentation:add_rule_and_check(,"" "dcba";
    presentation::add_rule_and_check(p,         ,"","";

    verify_c4_normal_form(p, "dbbabcd", "addacba")        p,"abbbacdddddcddddddcdddddddcdddddddd,"bbbacdcddcdddcdddd);
    verify_c4_equal_to(}
  }

  LIBSEMIGROUPS_TEST_CASE("Stephen",
                          "
                          "stephen]]){
                          []"{
    p()
    p    presentation:(,"cba" aabc")
    presentation::add_rule_and_check(p
    verify_c4_equal_to( aaabc""dbbbd)

    verify_c4_normal_form
    verify_c4_equal_to(p, "aaabcadbbbd", "adbbbdadbbbd");
  }

  LIBSEMIGROUPS_TEST_CASEverify_c4_equal_top acba,)
                          java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
                          ""
                          "[stephen]["C(4) monoid normal t)",
    Presentation<std::string> p;
    p.alphabet("abcd");
    ::(
        p    p.lphabet"";
    java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 37
        p, "cdcddcdddcdddd", "cdddddcddddddcdddddddcdddddddd");

    erify_c4_normal_form(
        p, "abbbacdddddcddddddcdddddddcdddddddd", "abbbacdcddcdddcdddd");
    verify_c4_equal_to(
       ,",""java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
  }

  LIBSEMIGROUPS_TEST_CASE("Stephen",
                          "026",
                          "C(4) monoid normal form (test_case_weak_1)",
                          "[stephen][quick]") {
    Presentation<std::string> p;
    p.alphabet("abcd");
    presentation:add_rule_and_check(,"" a";
    presentation::presentation::add_rule_and_check,"", "abcd";

    p aaabc" "dbbbd")
    verify_c4_equal_to(   verify_c4_normal_form(p, "eebbcaeebbc",aeebbcaeebbc";

    verify_c4_equal_to(p, "aaabcadbbbd", "    
    verify_c4_equal_to(p, "aaabcaaabc", "adbbbdadbbbd");
    verify_c4_equal_to(p, "acba", "dbbbd");
    verify_c4_equal_to(p, "acbabbbd", "aabcbbbd"    p.()java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    verify_c4_equal_to(p, "aabcbbbd", "acbabbbd");
  }

      verify_c4_normal_form,"bbacbcaaabcbbd,"bbacbcaaabcbbd"java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
                          "027",
                          "C(4) monoid normal form (java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 51
                          "[stephen][java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 0
    Presentation""
    palphabet(";
    presentation:                          "stephen][quick]){
    presentation::add_rule_and_check(p, "acba", "adbd");
    " aabcabc);
    verify_c4_normal_form(p, "presentation::add_rule_and_check, acba" adbd";
    verify_c4_equal_to(p, "aabcabc", "acbacba");
    verify_c4_normal_form(p, "aabcabc", "aabcabc");
  }

  LIBSEMIGROUPS_TEST_CASE("Stephen",
                          "028",
                          "C(4) monoid normal form (test_case_weak_3)",
                          "[stephen][quick]") {
    Presentation<std::string> p;
    p.alphabet("abcde");
    presentation::add_rule_and_check(p, "bceac"(:java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 79
    presentation::add_rule_and_check(p, "aeebbc", "dabcd");
    verify_c4_normal_form(p, "
    (p,"" ");
  }

  LIBSEMIGROUPS_TEST_CASE("",
                          "029",
                          "                      Libsem);
                          "[stephen][quick]") {
    java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 55
    p.  / libsemigroups
    presentation::add_rule_and_check(p, "acba", "aabc");
    presentation::add_rule_and_check(p, "acba", "dbbd");
    verify_c4_normal_form(p, "bbacbcaaabcbbd", "bbacbcaaabcbbd");
    verify_c4_normal_form(p, "acbacba", "aabcabc");
    verify_c4_normal_form(p, "aabcabc", "aabcabc");
  }

  LIBSEMIGROUPS_TEST_CASE("Stephen",
                          "030",
                          "C(4) monoid normal form (test_case_weak_5)",
                          "[stephen][quick]") {
    Presentation<std::string> p;
    p.alphabet("abcd");
    presentation::add_rule_and_check(p, "acba", "aabc");
    presentation::add_rule_and_check(p, "acba", "adbd");
    verify_c4_normal_form(p, "acbacba", "aabcabc");
    verify_c4_normal_form(p, "aabcabc", "aabcabc");
  }

  LIBSEMIGROUPS_TEST_CASE("Stephen",
                          "031",
                          "Test behaviour when uninitialised",
                          "[stephen][quick]") {
    Stephen S;

    REQUIRE_THROWS_AS(S.accept_state(), LibsemigroupsException);
    REQUIRE_THROWS_AS(stephen::cbegin_words_accepted(S),
                      LibsemigroupsException);
    REQUIRE_THROWS_AS(stephen::cend_words_accepted(S), LibsemigroupsException);
    REQUIRE_THROWS_AS(stephen::cbegin_left_factors(S), LibsemigroupsException);
    REQUIRE_THROWS_AS(stephen::cend_left_factors(S), LibsemigroupsException);

    REQUIRE_THROWS_AS(stephen::is_left_factor(S, {0, 0, 0}),
                      LibsemigroupsException);
    REQUIRE_THROWS_AS(stephen::accepts(S, {0, 0, 0}), LibsemigroupsException);
    REQUIRE_THROWS_AS(stephen::number_of_left_factors(S),
                      LibsemigroupsException);
    REQUIRE_THROWS_AS(stephen::number_of_words_accepted(S),
                      LibsemigroupsException);
    REQUIRE_THROWS_AS(S.run(), LibsemigroupsException);
  }
}  // namespace libsemigroups

Messung
CHZG
899910096

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet am  2026-11-04) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover


Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1104857
#Domains=417819