1. 05 May, 2017 3 commits
    • Alexandre Duret-Lutz's avatar
      introduce spot::split_edges() · 19aae6f9
      Alexandre Duret-Lutz authored
      Fixes #255.
      
      * spot/twaalgos/split.cc, spot/twaalgos/split.hh,
      tests/core/split.test: New files.
      * spot/twaalgos/Makefile.am, tests/Makefile.am: Add them.
      * bin/autfilt.cc (--split-edges): New option.
      * python/spot/impl.i: Process split.hh.
      * tests/python/alternating.py: Test split_edges() on
      an alternating automaton.
      19aae6f9
    • Alexandre Duret-Lutz's avatar
      degen: consider incoming edges to select initial levels · 679b6cff
      Alexandre Duret-Lutz authored
      Fixes #257.
      
      * spot/twaalgos/degen.cc: Implement this optimization.
      * tests/core/degendet.test: Add a few test cases.
      * tests/core/ltl2tgba2.test: Adjust expected sizes.
      * NEWS: Mention the change.
      679b6cff
    • Alexandre Duret-Lutz's avatar
      twa_graph: introduce copy_state_names_from() · 46d8aaaa
      Alexandre Duret-Lutz authored
      * spot/twa/twagraph.cc, spot/twa/twagraph.hh: Here.  Also
      make sure "original-states" survives defrag_states().
      * NEWS: Mention it.
      * tests/python/origstate.py: New file.
      * tests/Makefile.am: Add it.
      46d8aaaa
  2. 04 May, 2017 1 commit
  3. 28 Apr, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      gen: another automaton family · 469d8067
      Alexandre Duret-Lutz authored
      * spot/gen/automata.hh, spot/gen/automata.cc,
      bin/genaut.cc: Introduce L_DSA.
      * tests/core/genaut.test: Add quick test.
      469d8067
    • Alexandre Duret-Lutz's avatar
      gen: introduce a new automaton family · ec51f976
      Alexandre Duret-Lutz authored
      * spot/gen/automata.cc, spot/gen/automata.hh: Define AUT_L_NBA.
      * bin/genaut.cc (--l-nba): New option.
      * bin/man/genaut.x, doc/org/genaut.org, NEWS: Document it.
      * tests/python/gen.py, tests/core/genaut.test: Test it.
      ec51f976
  4. 26 Apr, 2017 1 commit
  5. 23 Apr, 2017 1 commit
  6. 22 Apr, 2017 1 commit
  7. 21 Apr, 2017 3 commits
    • Maximilien Colange's avatar
      Add a genaut binary. · 3c0aecf4
      Maximilien Colange authored
      Similarly to genltl that generates LTL formulas for various classes that
      appear in the literature, genaut generates automata.
      
      * NEWS: Mention the modification.
      * bin/Makefile.am: Build the new binary.
      * bin/genaut.cc: The new binary itself.
      3c0aecf4
    • Maximilien Colange's avatar
      Add a new library to generate formulas and automata. · d90e38eb
      Maximilien Colange authored
      This library, called libspotgen, gathers functions to generate classes
      of automata found in the literature.
      Related to #254.
      
      * NEWS, README: Mention the modification.
      * Makefile.am, debian/control, debian/libspotgen0.install: Build the new
        library in a separate package.
      * spot/gen/automata.hh, spot/gen/automata.cc: Add a family of co-Büchi
        automata.
      * configure.ac, spot/Makefile.am, spot/gen/Makefile.am: Build the new
        library.
      d90e38eb
    • Thomas Medioni's avatar
      Implements is_streett_like() and streett_like_pairs(), is_rabin_like... · b428ed31
      Thomas Medioni authored
      Adds the method spot::acc_cond::is_streett_like() that behaves like
      spot::acc_cond::is_streett() except that it works on a wider range
      of acceptance conditions, called Streett-like. Also adds
      spot::acc_cond::streett_like_pairs() that returns a boolean assessing
      whether the acceptance condition is Streett-like and also returns all
      the Streett_like pairs.
      Defines the new struct type spot::acc_cond::rs_pair.
      Similarily, Adds the methods spot::acc_cond::is_rabin_like() and
      spot::acc_cond::rabin_like_pairs().
      
      * NEWS: Mention this modification
      * python/spot/impl.i: Declares the new struct to SWIG, and defines
      the streett_like_pairs() vector as an output parameter, which makes
      the python code return a tuple (boolean, vector) rather than a
      pass-by-reference vector.
      * spot/twa/acc.cc, spot/twa/acc.hh: Declares an implements the new
      methods and the new nested struct.
      * tests/Makefile.am: Add new tests to the suite
      * tests/python/rs_like.py: Tests the new methods and
      the SWIG bindings.
      b428ed31
  8. 20 Apr, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      introduce original-states · 07c2dd3b
      Alexandre Duret-Lutz authored
      * spot/twaalgos/degen.cc, spot/twaalgos/degen.hh,
      spot/twaalgos/mask.hh: Store original states in "original-states"
      properties.
      * spot/twaalgos/dot.cc: Add support for option 'd'.
      * bin/common_aoutput.cc: Document it.
      * doc/org/concepts.org, NEWS: Document "original-states".
      * tests/core/readsave.test: Add some tests.
      07c2dd3b
    • Thomas Medioni's avatar
      mark_t: sets() no longer returns a vector · cc3bdfcd
      Thomas Medioni authored
      spot::mark_t::sets() was modified so that it now returns an iterable
      object rather than an std::vector<unsigned>.
      
      * NEWS: Mention the modification.
      * python/spot/impl.i: Declares mark_container as iterable to SWIG.
      * spot/parseaut/parseaut.yy: Adapts to the modification.
      * spot/twa/acc.hh: Implement the modification.
      * tests/python/acc_cond.ipynb: Adapts to the modification.
      cc3bdfcd
  9. 19 Apr, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      sbacc: fix a serious bug · 9377db2e
      Alexandre Duret-Lutz authored
      Reported by Thibaud Michaud
      
      * spot/twaalgos/sbacc.cc: Do not label rejecting SCCs with the empty
      mark, as it might be accepting.
      * tests/core/sbacc.test: Add test cases.
      * NEWS: Mention the bug.
      9377db2e
  10. 11 Apr, 2017 2 commits
  11. 07 Apr, 2017 9 commits
    • Thomas Medioni's avatar
      autfilt: Add --dualize option · 0d884d4a
      Thomas Medioni authored
      * NEWS: Mention this addition.
      * bin/autfilt.cc: Add dualize option
      * tests/Makefile.am: Add dualize option test file to the suite.
      * tests/core/dualize.test: Test the dualize option.
      0d884d4a
    • Thomas Medioni's avatar
      dtwa_complement: deprecated, use dualize() instead. · 152b5d0d
      Thomas Medioni authored
      * NEWS: Mention of the deprecation
      * bench/stutter/stutter_invariance_randomgraph.cc,
        bin/autfilt.cc, bin/ltlcross.cc, spot/twaalgos/langmap.cc,
        spot/twaalgos/minimize.cc, spot/twaalgos/powerset.cc,
        spot/twaalgos/stutter.cc, tests/core/ikwiad.cc,
        tests/python/bugdet.py, tests/python/remfin.py,
        tests/python/sum.py: Refactor calls to dtwa_complement() with calls
        to dualize().
      * doc/org/upgrade2.org: Change mention of dtwa_complement with dualize.
      * spot/twaalgos/complement.hh: Add deprecation notice.
      * python/spot/impl.i: Add deprecation notice for the python bindings.
      152b5d0d
    • Thomas Medioni's avatar
      dtwa_complement: replace code with call to dualize · 073a6e81
      Thomas Medioni authored
      * NEWS: Mention of this modification
      * spot/twaalgos/complement.cc: Replace dtwa_complement with a call
        to dualize
      073a6e81
    • Thomas Medioni's avatar
      implement dualize to complement automatons · c9d8d41f
      Thomas Medioni authored
      * NEWS: Mention the implementation
      * python/spot/impl.i: Add dualize() to python interface.
      * spot/twaalgos/Makefile.am: Add dualize.cc,hh to the build
      * spot/twaalgos/dualize.cc: Implement dualize() that takes an automaton
        and returns its dual
      * spot/twaalgos/dualize.hh: Implement dualize()
      * tests/Makefile.am: Add dualize tests to the test suite
      * tests/python/dualize.py: Test cases for dualize
      c9d8d41f
    • Alexandre Duret-Lutz's avatar
      genltl: add support for --p-patterns · 08c153d3
      Alexandre Duret-Lutz authored
      Fixes #246.
      
      * bin/genltl.cc: Implement it.
      * bin/man/genltl.x, doc/org/genltl.org, NEWS: Document it.
      * tests/core/ltl2tgba2.test: Test it.
      08c153d3
    • Alexandre Duret-Lutz's avatar
      genltl: add --hkrss-patterns · 4b7a6238
      Alexandre Duret-Lutz authored
      Fixes #245.
      
      * bin/genltl.cc: Add the option.
      * bin/man/genltl.x: Add reference.
      * tests/core/ltl2tgba2.test: Use these patterns.
      * doc/org/genltl.org, NEWS: Document the options.
      4b7a6238
    • Alexandre Duret-Lutz's avatar
      genltl: add --spec-patterns as an alias to --dac-patterns · 14addce6
      Alexandre Duret-Lutz authored
      * bin/genltl.cc: Here.
      * NEWS: Mention it.
      14addce6
    • Alexandre Duret-Lutz's avatar
      bin: add shorthands for ltl2dpa ltl2da and ltl2ldba · 276f4060
      Alexandre Duret-Lutz authored
      * bin/common_trans.cc: Here.
      * doc/org/ltlcross.org, doc/org/ltldo.org, NEWS: Adjust.
      276f4060
    • Alexandre Duret-Lutz's avatar
      remfin: fix a corner case for rabin_to_buchi_maybe · 1daffe12
      Alexandre Duret-Lutz authored
      when fin_alone sets where presents (i.e., not really Rabin condition),
      the rabin_to_buchi_maybe() could fail to notice DBA-typeness.
      
      * spot/twaalgos/remfin.cc: Don't set scc_ba_type to false when
      fin_alone is present.
      * tests/core/remfin.test: Add a test case.
      1daffe12
  12. 06 Apr, 2017 1 commit
  13. 04 Apr, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      remfin: fix a corner case for rabin_to_buchi_maybe · b442d2bb
      Alexandre Duret-Lutz authored
      when fin_alone sets where presents (i.e., not really Rabin condition),
      the rabin_to_buchi_maybe() could fail to notice DBA-typeness.
      
      * spot/twaalgos/remfin.cc: Don't set scc_ba_type to false when
      fin_alone is present.
      * tests/core/remfin.test: Add a test case.
      b442d2bb
  14. 31 Mar, 2017 2 commits
    • Thomas Medioni's avatar
      bench: fix stutter bench compiler errors. · 01ee4929
      Thomas Medioni authored
      * NEWS: mention this fix.
      * bench/stutter/stutter_bench.sh, bench/stutter/user.sh: Path to spot
        binaries would include an inexistant src directory.
      * bench/stutter/stutter_invariance_formulas.cc: Add override qualifier
        to satisfy -Wsuggest-override.
      01ee4929
    • Thomas Medioni's avatar
      bench: fix stutter bench compiler errors. · 5f43fec8
      Thomas Medioni authored
      * NEWS: mention this fix.
      * bench/stutter/stutter_bench.sh, bench/stutter/user.sh: Path to spot
        binaries would include an inexistant src directory.
      * bench/stutter/stutter_invariance_formulas.cc: Add override qualifier
        to satisfy -Wsuggest-override.
      5f43fec8
  15. 29 Mar, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      twa_graph: fix purge_unreachable_states on alternating automata · 6623af67
      Alexandre Duret-Lutz authored
      The algorithm had two problems: it was removing only useless
      destination from universal destination (instead of removing the entire
      edge), and it was not properly iterating over the entire reachable
      automaton.
      
      * spot/twa/twagraph.cc: Fix it.
      * spot/twa/twagraph.hh: Adjust documentation.
      * tests/core/alternating.test: Add more tests.
      * tests/python/twagraph.py: Adjust.
      * NEWS: Mention the bug.
      6623af67
    • Alexandre Duret-Lutz's avatar
      twa_graph: fix purge_unreachable_states on alternating automata · f6a238ef
      Alexandre Duret-Lutz authored
      The algorithm had two problems: it was removing only useless
      destination from universal destination (instead of removing the entire
      edge), and it was not properly iterating over the entire reachable
      automaton.
      
      * spot/twa/twagraph.cc: Fix it.
      * spot/twa/twagraph.hh: Adjust documentation.
      * tests/core/alternating.test: Add more tests.
      * tests/python/twagraph.py: Adjust.
      * NEWS: Mention the bug.
      f6a238ef
  16. 28 Mar, 2017 1 commit
  17. 27 Mar, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      complement: reset the terminal property · a90f2193
      Alexandre Duret-Lutz authored
      Reported by Thomas Medioni.
      
      * spot/twaalgos/complement.cc: Here.
      * tests/core/complement.test: Add a test case.
      * NEWS: Mention it.
      a90f2193
    • Alexandre Duret-Lutz's avatar
      rename is_deterministic to is_universal · 4a5d7a39
      Alexandre Duret-Lutz authored
      For #212.
      
      * spot/twa/twa.hh: Rename prop_deterministic() as prop_universal(),
      and keep the old name as deprecated.
      * spot/twaalgos/isdet.cc, spot/twaalgos/isdet.hh: Rename
      is_deterministic() as is_universal(), and add a new function
      for is_deterministic().
      * doc/org/concepts.org, doc/org/hoa.org, doc/org/tut21.org,
      spot/tl/hierarchy.cc, spot/twa/twagraph.cc,
      spot/twaalgos/are_isomorphic.cc, spot/twaalgos/determinize.cc,
      spot/twaalgos/dtbasat.cc, spot/twaalgos/dtwasat.cc,
      spot/twaalgos/hoa.cc, spot/twaalgos/minimize.cc,
      spot/twaalgos/postproc.cc, spot/twaalgos/product.cc,
      spot/twaalgos/randomgraph.cc, spot/twaalgos/remfin.cc,
      spot/twaalgos/simulation.cc, spot/twaalgos/totgba.cc,
      spot/twaalgos/word.cc, tests/python/product.ipynb,
      tests/python/remfin.py: Adjust.
      * NEWS: Mention the change.
      4a5d7a39
  18. 22 Mar, 2017 5 commits