1. 29 Dec, 2016 3 commits
  2. 27 Dec, 2016 7 commits
    • Alexandre Duret-Lutz's avatar
      twa: add support for very-weak property · 582d455c
      Alexandre Duret-Lutz authored
      * spot/twa/twa.hh: Implement the property.
      * spot/parseaut/parseaut.yy, spot/twaalgos/hoa.cc: Add input
      and output for it.
      * spot/twaalgos/strength.cc,
      spot/twaalgos/strength.hh (is_very_weak_automaton): New function.
      * tests/core/alternating.test: Add a test for --check=strength
      on an alternating automaton.
      * tests/core/strength.test, tests/core/parseaut.test: Adjust expected
      output.
      * NEWS, doc/org/hoa.org, doc/org/concepts.org: Document it.
      582d455c
    • Alexandre Duret-Lutz's avatar
      sccinfo: adjust to work with alternating automata · a4ce9994
      Alexandre Duret-Lutz authored
      * spot/twaalgos/sccinfo.cc: Consider universal edges as if they were
      existential edges.
      * spot/twaalgos/sccinfo.hh: Document that.
      * spot/twaalgos/dot.cc: Allow option 's' again, for easy testing.
      * tests/core/alternating.test: Adjust tests.
      * tests/python/_altscc.ipynb: New file (more tests).
      * tests/Makefile.am: Add it.
      a4ce9994
    • Alexandre Duret-Lutz's avatar
      parseaut: handle alternating automata with many universal init states · d2f471da
      Alexandre Duret-Lutz authored
      * spot/parseaut/parseaut.yy (fix_initial_state): Use
      spot::internal::outgoing_edge_group to reduce all initial states to a
      single one.
      * tests/core/parseaut.test: Add more tests.
      d2f471da
    • Alexandre Duret-Lutz's avatar
      twa_graph: add support for universal initial states · 48c812a5
      Alexandre Duret-Lutz authored
      The only missing point is that the HOA parser cannot deal with multiple
      universal initial states, as seen in parseaut.test.
      
      * spot/graph/graph.hh (new_univ_dests): New function, extracted from...
      (new_univ_edge): ... this one.
      * spot/twa/twagraph.hh (set_univ_init_state): Implement using
      new_univ_dests.
      * spot/twaalgos/dot.cc, spot/twaalgos/hoa.cc, python/spot/impl.i:
      Add support for universal initial states.
      * spot/parseaut/parseaut.yy: Add preliminary support for
      universal initial states.  Multiple universal initial states
      are still not supported.
      * tests/core/alternating.test, tests/core/parseaut.test,
      tests/python/alternating.py: Adjust tests and exercise this new feature.
      48c812a5
    • Alexandre Duret-Lutz's avatar
      dot: add support for alternating automata · d5c9c345
      Alexandre Duret-Lutz authored
      * spot/twaalgos/dot.cc: Handle universal destinations.
      Ignore option 's' for alternating automata.
      * tests/core/alternating.test: New file.
      * tests/Makefile.am: Add it.
      d5c9c345
    • Alexandre Duret-Lutz's avatar
      parseaut: preliminary support for reading alternating automata · e6203686
      Alexandre Duret-Lutz authored
      Currently this only reads universal branches.  The parser (and the
      automaton code) do not support universal initial states.
      
      * spot/parseaut/parseaut.yy: Read universal branches.  Deal with
      the no-univ-branch/!univ-branch change in HOA 1.1.
      * tests/python/alternating.py: Read the output of print_hoa.
      * tests/core/parseaut.test: Adjust test output, and add more tests.
      e6203686
    • Alexandre Duret-Lutz's avatar
      graph: replace the existing "alternating" interface · 4903f086
      Alexandre Duret-Lutz authored
      * spot/graph/graph.hh: Use the sign bit of destination state X to
      designate a universal edge.  Store the destinations of such an edge in a
      separate array, at index ~X.
      * spot/graph/ngraph.hh, tests/core/graph.cc, tests/core/graph.test,
      tests/core/ngraph.cc: Adjust test case to the new interface.
      4903f086
  3. 13 Dec, 2016 1 commit
    • Maximilien Colange's avatar
      Add a new, parameterized, version of the Couvreur emptiness check. · 1a08eca8
      Maximilien Colange authored
      This version has optimization for explicit twa, and also for weak and
      terminal (depending on whether an accepting run is requested) automata.
      
      * spot/twaalgos/couvreurnew.hh, spot/twaalgos/couvreurnew.cc,
        spot/twaalgos/Makefile.am: New files for the new algorithm.
      * spot/twaalgos/emptiness.cc, tests/core/randtgba.cc:
        Register new algorithm.
      1a08eca8
  4. 10 Dec, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      ltlf: ensure alive holds initially · 15709084
      Alexandre Duret-Lutz authored
      Reported by Shufang Zhu.
      
      * spot/tl/ltlf.cc, spot/tl/ltlf.hh: Fix the transltion
      and update the comments.
      * tests/core/ltlfilt.test: Adjust test cases.
      * NEWS: Mention the fix.
      * THANKS: Add Shufang Zhu.
      15709084
  5. 09 Dec, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      ltlf: ensure alive holds initially · 413eab1d
      Alexandre Duret-Lutz authored
      Reported by Shufang Zhu.
      
      * spot/tl/ltlf.cc, spot/tl/ltlf.hh: Fix the transltion
      and update the comments.
      * tests/core/ltlfilt.test: Adjust test cases.
      * NEWS: Mention the fix.
      * THANKS: Add Shufang Zhu.
      413eab1d
  6. 01 Dec, 2016 3 commits
  7. 29 Nov, 2016 3 commits
  8. 28 Nov, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      strength: fix is_terminal() · 341eeb2b
      Alexandre Duret-Lutz authored
      Fix #198.  Reported by Maximilien Colange.
      
      * spot/twaalgos/strength.cc (is_terminal): Test that no accepting
      transition lead to a rejecting SCC.
      * tests/core/strength.test: Add test case.
      * spot/twaalgos/strength.hh, spot/twa/twa.hh, doc/org/concepts.org:
      Adjust documentation.
      * NEWS: Mention the fix.
      341eeb2b
    • Alexandre Duret-Lutz's avatar
      strength: fix is_terminal() · 9bc978a9
      Alexandre Duret-Lutz authored
      Fix #198.  Reported by Maximilien Colange.
      
      * spot/twaalgos/strength.cc (is_terminal): Test that no accepting
      transition lead to a rejecting SCC.
      * tests/core/strength.test: Add test case.
      * spot/twaalgos/strength.hh, spot/twa/twa.hh, doc/org/concepts.org:
      Adjust documentation.
      * NEWS: Mention the fix.
      9bc978a9
  9. 23 Nov, 2016 2 commits
    • Etienne Renault's avatar
      bitvec: remove useless methods · ec83e60b
      Etienne Renault authored
      * spot/misc/bitvect.hh, tests/core/bitvect.cc,
      tests/core/bitvect.test: here.
      ec83e60b
    • Etienne Renault's avatar
      Prefer emplace_back to push_back · 43ec36cd
      Etienne Renault authored
      * spot/graph/ngraph.hh, spot/ltsmin/ltsmin.cc,
      spot/misc/bitvect.hh, spot/misc/intvcomp.cc,
      spot/misc/satsolver.cc, spot/priv/weight.cc,
      spot/ta/taexplicit.cc, spot/taalgos/minimize.cc,
      spot/taalgos/reachiter.cc, spot/tl/exclusive.cc,
      spot/tl/formula.cc, spot/tl/formula.hh,
      spot/tl/mark.cc, spot/tl/mutation.cc,
      spot/tl/relabel.cc, spot/tl/remove_x.cc,
      spot/tl/simplify.cc, spot/twa/acc.cc,
      spot/twa/acc.hh, spot/twa/formula2bdd.cc,
      spot/twa/taatgba.cc, spot/twa/taatgba.hh,
      spot/twa/twa.hh, spot/twa/twagraph.cc,
      spot/twaalgos/bfssteps.cc, spot/twaalgos/canonicalize.cc,
      spot/twaalgos/compsusp.cc, spot/twaalgos/copy.cc,
      spot/twaalgos/cycles.cc, spot/twaalgos/degen.cc,
      spot/twaalgos/determinize.cc, spot/twaalgos/dtwasat.cc,
      spot/twaalgos/emptiness.cc, spot/twaalgos/gv04.cc,
      spot/twaalgos/hoa.cc, spot/twaalgos/ltl2taa.cc,
      spot/twaalgos/ltl2tgba_fm.cc, spot/twaalgos/magic.cc,
      spot/twaalgos/mask.hh, spot/twaalgos/minimize.cc,
      spot/twaalgos/powerset.cc, spot/twaalgos/product.cc,
      spot/twaalgos/randomgraph.cc, spot/twaalgos/reachiter.cc,
      spot/twaalgos/relabel.cc, spot/twaalgos/remfin.cc,
      spot/twaalgos/sccfilter.cc, spot/twaalgos/se05.cc,
      spot/twaalgos/simulation.cc, spot/twaalgos/stutter.cc,
      spot/twaalgos/tau03opt.cc, spot/twaalgos/totgba.cc,
      spot/twaalgos/word.cc, tests/core/bitvect.cc: here.
      43ec36cd
  10. 19 Nov, 2016 1 commit
  11. 11 Nov, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      remfin: fix handling of weak automata · a70589fe
      Alexandre Duret-Lutz authored
      * spot/twaalgos/remfin.cc: Do not add a sink states to deterministic
      weak automata, and actually apply the "weak" Fin-removal to any weak
      automaton.
      * tests/core/explprod.test: Add a test case for the previous patch,
      but that used to fail because of this bug.
      * NEWS: Mention the bug.
      a70589fe
  12. 08 Nov, 2016 1 commit
  13. 05 Nov, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      from_ltlf: new LTL transformation. · 2e69e045
      Alexandre Duret-Lutz authored
      Fixes #187.
      
      * spot/tl/ltlf.cc, spot/tl/ltlf.hh: New files.
      * spot/tl/Makefile.am: Add them.
      * bin/ltlfilt.cc: Add a new option.
      * bin/man/ltlfilt.x: Add bibliographic reference.
      * tests/core/ltlfilt.test: Add more tests.
      * tests/python/ltlf.py: New file.
      * tests/Makefile.am: Add it.
      * python/spot/impl.i: Python bindings.
      * NEWS: Mention it.
      2e69e045
  14. 29 Oct, 2016 1 commit
  15. 19 Oct, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      remove_fin: improve behavior on unclean acceptance · 56f768f5
      Alexandre Duret-Lutz authored
      Related to #188.  This is a third fix that independently
      makes `'utfilt --is-unambiguous -q smaller.hoa' instantaneous.
      
      * spot/twaalgos/remfin.cc: Clean the received automaton if
      necessary.
      * bin/autfilt.cc: No need to call cleanup_acceptance_here() before
      remove_fin() anymore.
      * tests/core/remfin.test: Add an additional test.
      * NEWS: Mention the change.
      56f768f5
    • Alexandre Duret-Lutz's avatar
      is_unambiguous: rewrite more efficiently · 5384a3b8
      Alexandre Duret-Lutz authored
      Avoid calling scc_info::determine_unknown_acceptance on the product, as
      suggested in #188.
      
      * spot/twaalgos/isunamb.cc (is_unambiguous): Rewrite.
      * tests/core/unambig.test: Add the automaton from #188.
      * NEWS: Mention the improved function.
      * spot/twaalgos/mask.cc,
      spot/twaalgos/mask.hh (mask_keep_accessible_states): New function.
      5384a3b8
  16. 13 Oct, 2016 2 commits
  17. 03 Oct, 2016 1 commit
  18. 22 Sep, 2016 1 commit
  19. 17 Aug, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      bin: add options for --stats=%c · 571f0112
      Alexandre Duret-Lutz authored
      * spot/twaalgos/stats.cc: Implement options.
      * bin/common_aoutput.cc, NEWS: Document them.
      * tests/core/format.test: Add some quick tests.
      571f0112
    • Alexandre Duret-Lutz's avatar
      stats: preparatory change of the implementation of %c · 4f0a630d
      Alexandre Duret-Lutz authored
      This now holds the scc_info while processing the %c sequence, so that
      using options we will soon be able to specify which SCC to count.
      
      * spot/twaalgos/stats.hh, spot/twaalgos/stats.cc (printable_scc_info):
      New class.
      (state_printer): Use it for %c.
      * spot/misc/formater.hh: Add move assignment.
      * bin/common_aoutput.hh, bin/common_aoutput.cc: Use printable_scc_info
      for %C.
      * tests/core/format.test: Add a quick test case to make sure nothing
      changed.
      4f0a630d
  20. 16 Aug, 2016 1 commit
  21. 15 Aug, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      bin: %a,%b,%s format specs for LTL output · 926ffbf9
      Alexandre Duret-Lutz authored
      * NEWS: Mention those.
      * bin/common_output.cc, bin/common_output.hh: Implement them.
      * bin/genltl.cc, bin/ltlfilt.cc, bin/ltlgrind.cc, bin/randltl.cc: Update
      --help.
      * tests/core/format.test: New file.
      * tests/Makefile.am: Add it.
      * doc/org/ioltl.org, doc/org/ltlfilt.org: Update documentation.
      926ffbf9
  22. 14 Aug, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      bin: diagnose more write errors · e97ea5fa
      Alexandre Duret-Lutz authored
      * tests/core/full.test: New file.
      * tests/Makefile.am: Add it.
      * bin/autfilt.cc, bin/common_aoutput.cc, bin/common_aoutput.hh,
      bin/common_file.cc, bin/common_file.hh, bin/genltl.cc, bin/ltlcross.cc,
      bin/ltlfilt.cc, bin/ltlgrind.cc, bin/randltl.cc: Add diagnostics.
      * NEWS: Mention the fix.
      e97ea5fa
  23. 08 Aug, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      autfilt, dstar2tgba: add CSV input · ca0d81b5
      Alexandre Duret-Lutz authored
      Fixes #91.
      
      * bin/autfilt.cc, bin/dstar2tgba.cc: Implement reading CSV files.
      * bin/common_finput.cc: Fix comments.
      * bin/common_aoutput.cc: Show %<, %> in help text.
      * NEWS, doc/org/csv.org: Document it.
      * tests/core/readsave.test: Add a short test case.
      ca0d81b5