1. 05 May, 2017 2 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
  2. 04 May, 2017 1 commit
  3. 01 May, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      minimize_dfa: use the twa_graph interface · 172bee49
      Alexandre Duret-Lutz authored
      Fixes #233, although more cleanup would be welcome.
      
      * spot/twaalgos/minimize.cc: Replace the uses of twa methods by
      twa_graph methods, and simplify some data structures.
      * tests/core/acc_word.test, tests/core/readsave.test,
      tests/python/automata.ipynb: Adjust changed output due
      to different data structures.
      172bee49
  4. 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
  5. 22 Apr, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      ks_cobuchi: forbid n=0 · d25cdd4c
      Alexandre Duret-Lutz authored
      * spot/gen/automata.hh: State the precondition.
      * spot/gen/automata.cc: Catch n==0.
      * tests/core/genaut.test: Test it.
      d25cdd4c
    • Alexandre Duret-Lutz's avatar
      genaut: minor fixes and add test case · e4a5bf81
      Alexandre Duret-Lutz authored
      * bin/genaut.cc: Use RANGE instead of N, and document it.
      Output the FORMAT documentation, and fix handling of %F and %L.
      * tests/core/genaut.test: New file.
      * tests/Makefile.am: Add it.
      e4a5bf81
  6. 20 Apr, 2017 1 commit
    • 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
  7. 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
  8. 07 Apr, 2017 5 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
    • 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
      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
  9. 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
  10. 03 Apr, 2017 1 commit
    • Thomas Medioni's avatar
      sum: Fix universal initial state bug · cebc4b00
      Thomas Medioni authored
      * spot/twaalgos/sum.cc: Fix the sum of automatas having universal
        initial transitions.
      * tests/core/explsum.test: Add test case testing the handling of
        universal initial transitions in sum.
      cebc4b00
  11. 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
  12. 28 Mar, 2017 1 commit
  13. 27 Mar, 2017 1 commit
  14. 22 Mar, 2017 4 commits
  15. 20 Mar, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      twa: add support for prop_complete() · 0de5f50d
      Alexandre Duret-Lutz authored
      * spot/twa/twa.hh: Add support.  Make two constructors for prop_set in
      order to diagnose constructions with 5 arguments.
      * spot/parseaut/parseaut.yy: Adjust diagnostics for complete and
      deterministic.
      * spot/tl/exclusive.cc, spot/twa/twagraph.cc,
      spot/twaalgos/alternation.cc, spot/twaalgos/complete.cc,
      spot/twaalgos/complete.hh, spot/twaalgos/degen.cc,
      spot/twaalgos/determinize.cc, spot/twaalgos/hoa.cc,
      spot/twaalgos/isdet.cc, spot/twaalgos/mask.cc,
      spot/twaalgos/minimize.cc, spot/twaalgos/product.cc,
      spot/twaalgos/remfin.cc, spot/twaalgos/remprop.cc,
      spot/twaalgos/sbacc.cc, spot/twaalgos/sccfilter.cc,
      spot/twaalgos/simulation.cc, spot/twaalgos/strength.cc,
      spot/twaalgos/stutter.cc, spot/twaalgos/totgba.cc,
      tests/core/parseaut.test, tests/python/product.ipynb: Adjust.
      * NEWS, doc/org/concepts.org, doc/org/hoa.org,
      doc/org/tut21.org: Document it.
      0de5f50d
  16. 10 Mar, 2017 1 commit
  17. 09 Mar, 2017 1 commit
    • Thomas Medioni's avatar
      Implement sum(..) and sum_and(..). · 194c1992
      Thomas Medioni authored
      Fixes #231.
      
      * NEWS: Mention of implementation of sum, sum_and.
      * bin/autfilt.cc: Add --sum, --sum-or and --sum-and options.
      * python/spot/impl.i: Add bindings for sum, sum_and.
      * spot/twaalgos/Makefile.am: Add sum.cc, sum.hh.
      * spot/twaalgos/sum.cc: Implement sum, sum_and.
      * spot/twaalgos/sum.hh: Declaration of sum, sum_and.
      * tests/Makefile.am: Add sum tests.
      * tests/core/explsum.test: Test the sum of two automatons,
        false or false, unsatisfied mark propagation, handling of univ.
        transitions.
      * tests/python/sum.py: Check that two automatons that does not
        share their bdd dict are not accepted, then run tests over the
        sum of randomly generated LTL formulas.
      194c1992
  18. 08 Mar, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      degen: improve test coverage · 0d8a88b2
      Alexandre Duret-Lutz authored
      * spot/twaalgos/degen.cc: Make use_cust_acc_orders as unlikely, as it
      was never true in the whole test suite before this patch.
      * tests/core/ltlcross2.test: Play with degen-order and degen-lcache
      options to test more cases.
      0d8a88b2
  19. 07 Mar, 2017 3 commits
  20. 03 Mar, 2017 6 commits
    • Alexandre Duret-Lutz's avatar
      monitor: fix -MD/-M difference in property output · 0621e0e9
      Alexandre Duret-Lutz authored
      Fixes #241.
      
      * spot/twaalgos/postproc.cc: Use the deterministic monitor if it
      has as many states as the non-deterministic one.
      * spot/twaalgos/minimize.cc (minimize_monitor): Quickly check
      for terminal automata.
      * spot/twaalgos/stripacc.cc: Set the weak property.
      * spot/twaalgos/stripacc.hh: Improve documentation.
      * tests/core/monitor.test, tests/core/sbacc.test: Update.
      * NEWS: Mention the issue.
      0621e0e9
    • Alexandre Duret-Lutz's avatar
      postproc: fix monitor code · 9defdad2
      Alexandre Duret-Lutz authored
      Fixes #240.
      
      * spot/twaalgos/postproc.cc: Do not call do_simul on the output of
      minimize_monitor(), and do not skip complete() when PREF_==Any.
      * tests/core/monitor.test: Add a test case.
      * NEWS: Mention the bug.
      * doc/org/ltl2tgba.org: Document complete monitors.
      9defdad2
    • Alexandre Duret-Lutz's avatar
      sbacc: fix a typo and remove some useless code · 57ea6d96
      Alexandre Duret-Lutz authored
      * spot/twaalgos/sbacc.cc: Do not assign to one_in twice, and
      fix the value of init_acc.
      * tests/core/sbacc.test: Add a test case.
      * NEWS: Mention the bug.
      57ea6d96
    • Alexandre Duret-Lutz's avatar
      monitor: fix -MD/-M difference in property output · a66e7704
      Alexandre Duret-Lutz authored
      Fixes #241.
      
      * spot/twaalgos/postproc.cc: Use the deterministic monitor if it
      has as many states as the non-deterministic one.
      * spot/twaalgos/minimize.cc (minimize_monitor): Quickly check
      for terminal automata.
      * spot/twaalgos/stripacc.cc: Set the weak property.
      * spot/twaalgos/stripacc.hh: Improve documentation.
      * tests/core/monitor.test, tests/core/sbacc.test: Update.
      * NEWS: Mention the issue.
      a66e7704
    • Alexandre Duret-Lutz's avatar
      postproc: fix monitor code · 2b9accdf
      Alexandre Duret-Lutz authored
      Fixes #240.
      
      * spot/twaalgos/postproc.cc: Do not call do_simul on the output of
      minimize_monitor(), and do not skip complete() when PREF_==Any.
      * tests/core/monitor.test: Add a test case.
      * NEWS: Mention the bug.
      * doc/org/ltl2tgba.org: Document complete monitors.
      2b9accdf
    • Alexandre Duret-Lutz's avatar
      sbacc: fix a typo and remove some useless code · 37fc948b
      Alexandre Duret-Lutz authored
      * spot/twaalgos/sbacc.cc: Do not assign to one_in twice, and
      fix the value of init_acc.
      * tests/core/sbacc.test: Add a test case.
      * NEWS: Mention the bug.
      37fc948b
  21. 02 Mar, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      add options to %x to list atomic propositions · dfe02f72
      Alexandre Duret-Lutz authored
      * bin/common_aoutput.cc, bin/common_aoutput.hh, bin/common_output.cc,
      bin/common_output.hh: Add options to %x to list atomic propositions
      with various quoting scheme.  Deprecate --format=%a in favor of the
      new --format=%x for consistency with --stats=%x.
      * tests/core/format.test, tests/core/remprop.test: Adjust and add more
      tests.
      * NEWS: Mention these changes.
      dfe02f72
    • Alexandre Duret-Lutz's avatar
      acc: implement min_set() and max_set() using gcc builtins · 1eb5be54
      Alexandre Duret-Lutz authored
      Fixes #238.
      
      * spot/twa/acc.hh (max_set): Add a version using __builtin_clz().
      (min_set): New method.
      * tests/core/acc.cc, tests/core/acc.test: Add some tests.
      1eb5be54