1. 27 Mar, 2018 3 commits
    • Etienne Renault's avatar
      convert: twa to twacube translation · 93acf313
      Etienne Renault authored
      * spot/twacube/Makefile.am, spot/twacube/twacube.cc,
      spot/twacube/twacube.hh, spot/twacube_algos/convert.cc,
      spot/twacube_algos/convert.hh, tests/Makefile.am,
      tests/core/.gitignore, tests/core/twacube.cc,
      tests/core/twacube.test: here.
      93acf313
    • Etienne Renault's avatar
      convert: BDD to cube conversions · ed6e414d
      Etienne Renault authored
      * README, configure.ac, spot/Makefile.am,
      spot/twacube_algos/Makefile.am, spot/twacube_algos/convert.cc
      spot/twacube_algos/convert.hh, tests/core/cube.cc,
      tests/core/cube.test: here.
      ed6e414d
    • Etienne Renault's avatar
      Introduce cube data structure · ea4a4b1e
      Etienne Renault authored
      * README, configure.ac, spot/Makefile.am,
      spot/twacube/Makefile.am, spot/twacube/cube.cc,
      spot/twacube/cube.hh, tests/Makefile.am,
      tests/core/.gitignore, tests/core/cube.cc,
      tests/core/cube.test: here.
      ea4a4b1e
  2. 23 Mar, 2018 2 commits
  3. 19 Mar, 2018 1 commit
  4. 18 Mar, 2018 2 commits
  5. 16 Mar, 2018 2 commits
  6. 15 Mar, 2018 2 commits
    • Maximilien Colange's avatar
      Clean the usage of spot::acc_cond::mark_t · b09c293f
      Maximilien Colange authored
      spot::acc_cond::mark_t is implemented as a bit vector using a single
      unsigned, and implicit conversions between mark_t and unsigned may be
      confusing. We try to use the proper interface.
      
      * bin/autfilt.cc, bin/ltlsynt.cc, spot/kripke/kripke.cc,
        spot/misc/game.hh, spot/parseaut/parseaut.yy, spot/priv/accmap.hh,
        spot/ta/ta.cc, spot/ta/taexplicit.cc, spot/ta/taproduct.cc,
        spot/taalgos/emptinessta.cc, spot/taalgos/tgba2ta.cc, spot/twa/acc.cc,
        spot/twa/acc.hh, spot/twa/taatgba.cc, spot/twa/taatgba.hh,
        spot/twa/twagraph.hh, spot/twaalgos/alternation.cc,
        spot/twaalgos/cleanacc.cc, spot/twaalgos/cobuchi.cc,
        spot/twaalgos/complete.cc, spot/twaalgos/couvreurnew.cc,
        spot/twaalgos/degen.cc, spot/twaalgos/dot.cc,
        spot/twaalgos/dtwasat.cc, spot/twaalgos/dualize.cc,
        spot/twaalgos/emptiness.cc, spot/twaalgos/gtec/ce.cc,
        spot/twaalgos/gtec/gtec.cc, spot/twaalgos/gtec/sccstack.cc,
        spot/twaalgos/gv04.cc, spot/twaalgos/hoa.cc, spot/twaalgos/lbtt.cc,
        spot/twaalgos/ltl2tgba_fm.cc, spot/twaalgos/magic.cc,
        spot/twaalgos/ndfs_result.hxx, spot/twaalgos/rabin2parity.cc,
        spot/twaalgos/randomgraph.cc, spot/twaalgos/remfin.cc,
        spot/twaalgos/sbacc.cc, spot/twaalgos/sccfilter.cc,
        spot/twaalgos/sccinfo.cc, spot/twaalgos/sccinfo.hh,
        spot/twaalgos/se05.cc, spot/twaalgos/sepsets.cc,
        spot/twaalgos/simulation.cc, spot/twaalgos/strength.cc,
        spot/twaalgos/stripacc.cc, spot/twaalgos/stutter.cc,
        spot/twaalgos/sum.cc, spot/twaalgos/tau03.cc,
        spot/twaalgos/tau03opt.cc, spot/twaalgos/totgba.cc,
        spot/twaalgos/toweak.cc, python/spot/impl.i, tests/core/acc.cc,
        tests/core/twagraph.cc: do not confuse mark_t and unsigned
      * tests/python/acc_cond.ipynb: warn about possible change of the API
      b09c293f
    • Alexandre Duret-Lutz's avatar
      simplify: reduce {r;1} to {r} or {1} · cfcc18e6
      Alexandre Duret-Lutz authored
      Fixes #3.
      
      * spot/tl/simplify.cc: Implement this new rule.
      * doc/tl/tl.tex, NEWS: Document it.
      * tests/core/reduccmp.test: Test it.
      cfcc18e6
  7. 14 Mar, 2018 1 commit
  8. 10 Mar, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      dot: make "a" the default · 2a308182
      Alexandre Duret-Lutz authored
      Fixes #319.
      
      * spot/twaalgos/dot.cc: Enable "a" by default.
      * bin/common_aoutput.cc, NEWS: Document it.
      * doc/org/autfilt.org, doc/org/concepts.org, doc/org/dstar2tgba.org,
      doc/org/hierarchy.org, doc/org/ltl2tgba.org, doc/org/oaut.org,
      doc/org/randaut.org, doc/org/satmin.org, doc/org/tut23.org,
      doc/org/tut24.org, doc/org/tut30.org, doc/org/tut31.org: Adjust or
      simplify the documentation.
      * tests/core/det.test, tests/core/dstar.test, tests/core/monitor.test,
      tests/core/neverclaimread.test, tests/core/readsave.test,
      tests/core/tgbagraph.test, tests/core/wdba.test,
      tests/python/_autparserr.ipynb, tests/python/automata-io.ipynb,
      tests/python/automata.ipynb, tests/python/highlighting.ipynb
      tests/python/ltsmin-dve.ipynb, tests/python/ltsmin-pml.ipynb,
      tests/python/product.ipynb, tests/python/testingaut.ipynb,
      tests/python/word.ipynb: Adjust test cases.
      2a308182
  9. 01 Mar, 2018 1 commit
  10. 23 Feb, 2018 2 commits
    • Maximilien Colange's avatar
      Improve purge_unreachable_states() · d44cc82e
      Maximilien Colange authored
      * NEWS: document it
      * spot/twa/twagraph.hh, spot/twa/twagraph.cc: implement it
      * tests/core/tgbagraph.test, tests/core/twagraph.cc: test it
      d44cc82e
    • Alexandre Duret-Lutz's avatar
      setup bug-reference for emacs · e4b8cd3f
      Alexandre Duret-Lutz authored
      * .dir-locals.el: Here.
      * tests/core/remfin.test, tests/core/unambig.test:
      Make consistent references to issue numbers.
      * HACKING: Document convention for mentioning issues.
      e4b8cd3f
  11. 21 Feb, 2018 2 commits
    • Maximilien Colange's avatar
      Slight improvement of the determinization · 41d5e449
      Maximilien Colange authored
      * spot/twaalgos/determinize.cc: the acceptance condition
        of the determinized automaton should be simpler
      * tests/core/safra.test, tests/python/simstate.py: update tests
      41d5e449
    • Alexandre Duret-Lutz's avatar
      include config.h in all *.cc files · ac6b0c94
      Alexandre Duret-Lutz authored
      This helps working around missing C functions like strcasecmp that do
      not exist everywhere (e.g. on Cygwin), and for which lib/ supplies a
      replacement.  Unfortunately we do not have such build in our current
      continuous integration suite, so we cannot easily detect files where
      such config.h inclusion would be useful.  Therefore this patch simply
      makes it mandatory to include config.h in *.cc files.  Including this
      in public *.hh file is currently forbidden.
      
      * spot/gen/automata.cc, spot/gen/formulas.cc,
      spot/kripke/fairkripke.cc, spot/kripke/kripke.cc,
      spot/ltsmin/ltsmin.cc, spot/misc/game.cc, spot/parseaut/fmterror.cc,
      spot/parsetl/fmterror.cc, spot/parsetl/parsetl.yy,
      spot/priv/bddalloc.cc, spot/priv/freelist.cc, spot/priv/satcommon.cc,
      spot/priv/trim.cc, spot/priv/weight.cc, spot/ta/ta.cc,
      spot/ta/taexplicit.cc, spot/ta/taproduct.cc, spot/ta/tgtaexplicit.cc,
      spot/ta/tgtaproduct.cc, spot/taalgos/dot.cc,
      spot/taalgos/emptinessta.cc, spot/taalgos/minimize.cc,
      spot/taalgos/reachiter.cc, spot/taalgos/statessetbuilder.cc,
      spot/taalgos/stats.cc, spot/taalgos/tgba2ta.cc, spot/tl/apcollect.cc,
      spot/tl/contain.cc, spot/tl/declenv.cc, spot/tl/defaultenv.cc,
      spot/tl/dot.cc, spot/tl/exclusive.cc, spot/tl/hierarchy.cc,
      spot/tl/length.cc, spot/tl/ltlf.cc, spot/tl/mark.cc,
      spot/tl/mutation.cc, spot/tl/nenoform.cc, spot/tl/print.cc,
      spot/tl/randomltl.cc, spot/tl/relabel.cc, spot/tl/remove_x.cc,
      spot/tl/simplify.cc, spot/tl/snf.cc, spot/tl/unabbrev.cc,
      spot/twa/acc.cc, spot/twa/bdddict.cc, spot/twa/bddprint.cc,
      spot/twa/formula2bdd.cc, spot/twa/taatgba.cc, spot/twa/twa.cc,
      spot/twa/twagraph.cc, spot/twa/twaproduct.cc, spot/twaalgos/aiger.cc,
      spot/twaalgos/alternation.cc, spot/twaalgos/are_isomorphic.cc,
      spot/twaalgos/bfssteps.cc, spot/twaalgos/canonicalize.cc,
      spot/twaalgos/cleanacc.cc, spot/twaalgos/cobuchi.cc,
      spot/twaalgos/complement.cc, spot/twaalgos/complete.cc,
      spot/twaalgos/compsusp.cc, spot/twaalgos/couvreurnew.cc,
      spot/twaalgos/cycles.cc, spot/twaalgos/degen.cc,
      spot/twaalgos/determinize.cc, spot/twaalgos/dot.cc,
      spot/twaalgos/dtbasat.cc, spot/twaalgos/dtwasat.cc,
      spot/twaalgos/dualize.cc, spot/twaalgos/emptiness.cc,
      spot/twaalgos/gtec/ce.cc, spot/twaalgos/gtec/gtec.cc,
      spot/twaalgos/gtec/sccstack.cc, spot/twaalgos/gtec/status.cc,
      spot/twaalgos/gv04.cc, spot/twaalgos/hoa.cc,
      spot/twaalgos/iscolored.cc, spot/twaalgos/isdet.cc,
      spot/twaalgos/isunamb.cc, spot/twaalgos/isweakscc.cc,
      spot/twaalgos/langmap.cc, spot/twaalgos/lbtt.cc,
      spot/twaalgos/ltl2taa.cc, spot/twaalgos/ltl2tgba_fm.cc,
      spot/twaalgos/magic.cc, spot/twaalgos/mask.cc,
      spot/twaalgos/minimize.cc, spot/twaalgos/neverclaim.cc,
      spot/twaalgos/parity.cc, spot/twaalgos/postproc.cc,
      spot/twaalgos/powerset.cc, spot/twaalgos/product.cc,
      spot/twaalgos/rabin2parity.cc, spot/twaalgos/randomgraph.cc,
      spot/twaalgos/randomize.cc, spot/twaalgos/reachiter.cc,
      spot/twaalgos/relabel.cc, spot/twaalgos/remfin.cc,
      spot/twaalgos/remprop.cc, spot/twaalgos/sbacc.cc,
      spot/twaalgos/sccfilter.cc, spot/twaalgos/sccinfo.cc,
      spot/twaalgos/se05.cc, spot/twaalgos/sepsets.cc,
      spot/twaalgos/simulation.cc, spot/twaalgos/split.cc,
      spot/twaalgos/stats.cc, spot/twaalgos/strength.cc,
      spot/twaalgos/stripacc.cc, spot/twaalgos/stutter.cc,
      spot/twaalgos/sum.cc, spot/twaalgos/tau03.cc,
      spot/twaalgos/tau03opt.cc, spot/twaalgos/totgba.cc,
      spot/twaalgos/toweak.cc, spot/twaalgos/translate.cc,
      spot/twaalgos/word.cc, tests/core/acc.cc, tests/core/bitvect.cc,
      tests/core/checkpsl.cc, tests/core/checkta.cc, tests/core/consterm.cc,
      tests/core/emptchk.cc, tests/core/equalsf.cc, tests/core/graph.cc,
      tests/core/ikwiad.cc, tests/core/intvcmp2.cc, tests/core/intvcomp.cc,
      tests/core/kind.cc, tests/core/kripkecat.cc, tests/core/length.cc,
      tests/core/ltlrel.cc, tests/core/ngraph.cc, tests/core/parity.cc,
      tests/core/randtgba.cc, tests/core/readltl.cc, tests/core/reduc.cc,
      tests/core/safra.cc, tests/core/sccif.cc, tests/core/syntimpl.cc,
      tests/core/taatgba.cc, tests/core/tostring.cc, tests/core/trival.cc,
      tests/core/twagraph.cc, tests/ltsmin/modelcheck.cc,
      spot/parseaut/scanaut.ll, spot/parsetl/scantl.ll: Include config.h.
      * spot/gen/Makefile.am, spot/graph/Makefile.am,
      spot/kripke/Makefile.am, spot/ltsmin/Makefile.am,
      spot/parseaut/Makefile.am, spot/parsetl/Makefile.am,
      spot/priv/Makefile.am, spot/ta/Makefile.am, spot/taalgos/Makefile.am,
      spot/tl/Makefile.am, spot/twa/Makefile.am, spot/twaalgos/Makefile.am,
      spot/twaalgos/gtec/Makefile.am, tests/Makefile.am: Add the -I lib/
      flags.
      * tests/sanity/includes.test: Catch missing config.h in *.cc, and
      diagnose config.h in *.hh.
      * tests/sanity/style.test: Better diagnostics.
      ac6b0c94
  12. 19 Feb, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      fix handling of Rabin-like input for dnf_to_dca() · 81e5357e
      Alexandre Duret-Lutz authored
      The bug is mentioned by Maximilien Colange in a comment to issue #317,
      but turned out to be unrelated to that original issue.
      
      * spot/twaalgos/totgba.cc (dnf_to_streett): Save the correspondence
      between the created states an the DNF clause in a named property.
      * doc/org/concepts.org, spot/twaalgos/totgba.hh: Mention the new
      property.
      * spot/twaalgos/cobuchi.cc (save_inf_nca_st): Rewrite using the named
      property.  Relying on seen marks and trying to deduce the matching
      original clause could only work from plain Rabin.
      * tests/core/dca.test: Add the test from Maximilien.
      * NEWS: Mention the issue.
      81e5357e
  13. 17 Feb, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      fix tra_to_tba() · e42fea09
      Alexandre Duret-Lutz authored
      Fixes #324, reported by Tobias Meggendorfer and František Blahoudek.
      
      * spot/twa/acc.hh (rs_pairs_view::paired_with): Rename as...
      (rs_pairs_view::paired_with_fin):... this and adjust the code.
      * spot/twaalgos/remfin.cc: Use paired_with_fin instead of
      paired_with, and do it once per pair.
      * tests/core/remfin.test: Add a test case.
      * NEWS: Mention the issue.
      e42fea09
  14. 16 Feb, 2018 1 commit
  15. 24 Jan, 2018 1 commit
    • Maximilien Colange's avatar
      Improve IAR construction · 1ebd86de
      Maximilien Colange authored
      spot::iar() was fixed to handle correctly Rabin-like conditions.
      It also now supports Streett-like conditions.
      
      * NEWS, spot/twaalgos/postproc.cc: document it
      * spot/twaalgos/rabin2parity.cc, spot/twaalgos/rabin2parity.hh:
        implement it
      * tests/core/rabin2parity.test, tests/python/except.py: test it
      1ebd86de
  16. 23 Jan, 2018 1 commit
  17. 16 Jan, 2018 1 commit
    • Maximilien Colange's avatar
      Rabin to parity translation · 7e02aae3
      Maximilien Colange authored
      * spot/twaalgos/rabin2parity.cc, spot/twaalgos/rabin2parity.hh:
        implement it
      * spot/twaalgos/postproc.cc: use it
      * spot/twaalgos/Makefile.am: build the new files
      * NEWS: document the new function
      * python/spot/impl.i: Python bindings for the new function
      * tests/Makefile.am, tests/core/rabin2parity.test: test the new function
      7e02aae3
  18. 14 Jan, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      postproc: add support for co-Büchi output · 61b0a542
      Alexandre Duret-Lutz authored
      * spot/twaalgos/cobuchi.cc, spot/twaalgos/cobuchi.hh (to_nca): New
      function.
      (weak_to_cobuchi): New internal function, used in to_nca and to_dca
      when appropriate.
      * spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh: Implement
      the CoBuchi option.
      * python/spot/__init__.py: Support it in Python.
      * bin/common_post.cc: Add support for --buchi.
      * bin/autfilt.cc: Remove the --dca option.
      * tests/core/dca.test, tests/python/automata.ipynb: Adjust and add
      more tests.  In particular, add more complex persistence and
      recurrence formulas to the list of dca.test.
      * tests/python/dca.test: Adjust and rename to...
      * tests/core/dca2.test: ... this.  Add more tests, to the point
      that this is now failing, as described in issue #317.
      * tests/python/dca.py: Remove.
      * tests/Makefile.am: Adjust.
      61b0a542
  19. 10 Jan, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      misc: fix some down_cast issues · 8a74ae6c
      Alexandre Duret-Lutz authored
      We had new failure on MinGW with GCC believing that some pointer
      returned by down_cast could be NULL; and the down_cast function was in
      the global namespace.
      
      * spot/misc/casts.hh: Rewrite.
      * NEWS: Mention the small issues.
      * tests/core/ikwiad.cc, tests/core/ngraph.cc: Adjust to use
      spot::down_cast instead of down_cast.
      8a74ae6c
  20. 09 Jan, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      genltl: add --gf-implies · 0b71df3f
      Alexandre Duret-Lutz authored
      * spot/gen/formulas.cc, spot/gen/formulas.hh: Implement
      LTL_GF_IMPLIES.
      * bin/genltl.cc: Add --gf-implies.
      * NEWS: Mention it.
      * tests/core/genltl.test: Use it.
      0b71df3f
  21. 08 Jan, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      postproc: add support for colored-parity · bd6dc7a8
      Alexandre Duret-Lutz authored
      * spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh: Add support
      for a colored option.
      * bin/common_post.cc, bin/common_post.hh bin/autfilt.cc,
      bin/ltl2tgba.cc, bin/dstar2tgba.cc: Add support for --colored-parity.
      * bin/ltldo.cc: Adjust as well for consistency, even if --parity and
      --colored-parity is not used here.
      * tests/core/parity2.test: Add tests.
      * doc/org/autfilt.org, doc/org/ltl2tgba.org: Add examples.
      * NEWS: Mention --colored-parity.
      bd6dc7a8
  22. 06 Jan, 2018 3 commits
    • Alexandre Duret-Lutz's avatar
      ltlcross: detect remove_fin failures · 020c9811
      Alexandre Duret-Lutz authored
      Fixes #314, reported by František Blahoudek.
      
      * bin/ltlcross.cc: Here.
      * tests/core/ltlcross3.test: Add new test case.
      * NEWS: Mention the bug.
      020c9811
    • Alexandre Duret-Lutz's avatar
      remove_fin: use simplify_acceptance · a924bc56
      Alexandre Duret-Lutz authored
      * spot/twaalgos/remfin.cc: Simplify acceptance before trying the
      different strategies.
      * spot/twaalgos/cleanacc.cc: Skip simplify_complementary_marks_here()
      on generalized Büchi.
      * tests/core/remfin.test, tests/python/tra2tba.py: Adjust.
      * spot/twaalgos/totgba.cc: Simplify the result of Streett->GBA.
      * NEWS: Adjust.
      a924bc56
    • Alexandre Duret-Lutz's avatar
      simplify_acceptance: fix handling of first edge · 2feba6ad
      Alexandre Duret-Lutz authored
      Fixes #315.
      
      * spot/twaalgos/cleanacc.cc (simplify_acceptance_here): Do not
      compare the first edge against previous_a.
      * tests/core/accsimpl.test: New file.
      * tests/Makefile.am: Add it.
      * NEWS: Mention the bug.
      2feba6ad
  23. 02 Jan, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      postproc: introduce --parity output · 42ebf8b1
      Alexandre Duret-Lutz authored
      * spot/twaalgos/postproc.hh, spot/twaalgos/postproc.cc: Add parity
        options.
      * bin/common_post.cc: Add support for --parity.
      * NEWS: Mention it.
      * tests/core/parity2.test: New file.
      * tests/Makefile.am: Add it.
      42ebf8b1
  24. 25 Dec, 2017 3 commits
  25. 24 Dec, 2017 1 commit
  26. 22 Dec, 2017 2 commits
  27. 10 Dec, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      Add support for computing operator nesting depth · 62d1e021
      Alexandre Duret-Lutz authored
      * spot/tl/hierarchy.hh, spot/tl/hierarchy.cc (nesting_depth): New
      function.
      * python/spot/__init__.py: Also make it a method of formula in Python
      * bin/common_output.cc, bin/common_output.hh: Implement
      --stats=%[OP]n.
      * NEWS: Mention it.
      * tests/core/format.test, tests/python/formulas.ipynb: Test it.
      62d1e021