1. 19 Jan, 2018 2 commits
  2. 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
  3. 08 Dec, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      doxygen doc: minor improvements · 49b76bcf
      Alexandre Duret-Lutz authored
      * doc/footer.html: Make the footer XML compatible.
      * doc/mainpage.dox: Fix references to modules.
      * spot/tl/formula.hh: Introduce a hierarchy module.
      * spot/tl/hierarchy.hh: Use it.
      49b76bcf
  4. 28 Nov, 2017 1 commit
  5. 23 Nov, 2017 2 commits
  6. 21 Nov, 2017 1 commit
  7. 17 Nov, 2017 1 commit
  8. 16 Nov, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      introduce is_obligation(f) · 50fe34a5
      Alexandre Duret-Lutz authored
      This is not optimal yet because it still construct a minimal WDBA
      internally, but it's better than the previous way to call
      minimize_obligation() since it can avoid constructing the minimized
      automaton in a few more cases.
      
      * spot/tl/hierarchy.cc, spot/tl/hierarchy.hh: Introduce
      is_obligation().
      * bin/ltlfilt.cc: Wire it to --obligation.
      * spot/twaalgos/minimize.cc: Implement is_wdba_realizable(),
      needed by the above.
      * tests/core/obligation.test: Test it.
      * bin/man/spot-x.x, NEWS: Document it.
      50fe34a5
    • Alexandre GBAGUIDI AISSE's avatar
      hierarchy: Fix #303 · f7ee9ed1
      Alexandre GBAGUIDI AISSE authored
      * spot/tl/hierarchy.cc: code was actually reachable.
      f7ee9ed1
  9. 18 Oct, 2017 1 commit
  10. 15 Oct, 2017 1 commit
  11. 03 Oct, 2017 2 commits
  12. 29 Sep, 2017 1 commit
  13. 26 Sep, 2017 1 commit
  14. 20 Sep, 2017 1 commit
  15. 19 Sep, 2017 1 commit
  16. 02 Sep, 2017 3 commits
    • Alexandre Duret-Lutz's avatar
      simplify: rewrite GF(a & Fb) as G(Fa & Fb) · 6cd6802a
      Alexandre Duret-Lutz authored
      This addresses part of #35, and is just a generalization of the rules
      from 646c5170 for #263 (hence, no new documentation).
      
      * spot/tl/simplify.cc: Implement this.
      * tests/core/reduccmp.test: Add test cases.
      * tests/core/stutter-tgba.test: Adjust to expect smaller automata.
      6cd6802a
    • Alexandre Duret-Lutz's avatar
      Improve simplification of expr[*0..1] · e8527d5a
      Alexandre Duret-Lutz authored
      Fixes #108.
      
      * spot/tl/simplify.cc: Implement the reduction.
      * doc/tl/tl.tex, NEWS: Document it.
      * tests/core/reduccmp.test: Test it.
      e8527d5a
    • Alexandre Duret-Lutz's avatar
      simplify: some new simplification rules · 646c5170
      Alexandre Duret-Lutz authored
      For #263, reported by Mikuláš Klokočka.
      
      G(a & Xe1 & F(b & e2)) = G(a & e1 & Fb & e2)
      F(a | Xu1 | G(b | u2)) = F(a | u1 | Gb | u2)
      
      * spot/tl/simplify.cc: Implement the rules.
      * doc/tl/tl.tex, NEWS: Document them.
      * tests/core/reduccmp.test, tests/core/eventuniv.test: Add test cases.
      * tests/core/det.test, tests/core/ltl2tgba2.test: Adjust to expect
      smaller automata.
      * THANKS: Add Mikuláš.
      646c5170
  17. 17 Aug, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      hierarchy: avoid sbacc() · 2e8a6702
      Alexandre Duret-Lutz authored
      * spot/tl/hierarchy.cc (is_recurrence): Do not request state-based
      acceptance, now that the Rabin->DBA conversionn works on
      transition-based acceptance as well.
      2e8a6702
  18. 02 Aug, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      formula: hide throw statements from inline methods · ab42075d
      Alexandre Duret-Lutz authored
      * spot/tl/formula.hh: Move all throw statements behind
      some [[noreturn]] report...() methods...
      * spot/tl/formula.cc: ... defined here.  This makes the methods
      shorter and helps their inlining.  Incidentally, this also removes the
      uninitialized read that weirdly occurs when _GLIBCXX_DEBUG is on, as
      observed with #184, but I do not know why.
      ab42075d
  19. 10 May, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      ltl2tgba: clear simplification cache between translations · aa404823
      Alexandre Duret-Lutz authored
      The cache used in formula simplification will keep atomic propositions
      defined between several translations, and may impact variable order.
      Reported by Maximilien Colange.
      
      * spot/tl/simplify.hh, spot/tl/simplify.cc,
      spot/twaalgos/translate.cc, spot/twaalgos/translate.hh (clear_cache):
      New method.
      * bin/ltl2tgba.cc, bin/ltl2tgta.cc: Call it.
      * spot/twaalgos/stats.cc: Do not keep a point to the formula after
      printing statistics.
      * tests/core/ltl2tgba.test: Add a test case.
      * tests/core/readsave.test: Adjust one formula.
      * NEWS: Mention the issue.
      aa404823
    • Alexandre Duret-Lutz's avatar
      ltl2tgba: clear simplification cache between translations · f07fbbae
      Alexandre Duret-Lutz authored
      The cache used in formula simplification will keep atomic propositions
      defined between several translations, and may impact variable order.
      Reported by Maximilien Colange.
      
      * spot/tl/simplify.hh, spot/tl/simplify.cc,
      spot/twaalgos/translate.cc, spot/twaalgos/translate.hh (clear_cache):
      New method.
      * bin/ltl2tgba.cc, bin/ltl2tgta.cc: Call it.
      * spot/twaalgos/stats.cc: Do not keep a point to the formula after
      printing statistics.
      * tests/core/ltl2tgba.test: Add a test case.
      * tests/core/readsave.test: Adjust one formula.
      * NEWS: Mention the issue.
      f07fbbae
  20. 08 May, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      simplify: fix related to event_univ handling · 8968bf6c
      Alexandre Duret-Lutz authored
      Fixes #260.  Reported by František Blahoudek.
      
      The simplification F(f)|q = F(f|q), where q designates an event_univ
      formula, was not always applied because of a couple of issue: (1) the
      mospliter was ignoring event_univ unless favor_event_univ was set, (2)
      when processing formulas from res_EventUniv they were not put back
      into res_F or res_G to be subject to the F/G rules.
      
      * spot/tl/simplify.cc: Improve handling of the above points.
      * tests/core/reduccmp.test: Adjust and add test case.
      * tests/core/ltl2tgba2.test, tests/python/atva16-fig2a.ipynb: Adjust.
      8968bf6c
    • Alexandre Duret-Lutz's avatar
      simplify: fix related to event_univ handling · 84595883
      Alexandre Duret-Lutz authored
      Fixes #260.  Reported by František Blahoudek.
      
      The simplification F(f)|q = F(f|q), where q designates an event_univ
      formula, was not always applied because of a couple of issue: (1) the
      mospliter was ignoring event_univ unless favor_event_univ was set, (2)
      when processing formulas from res_EventUniv they were not put back
      into res_F or res_G to be subject to the F/G rules.
      
      * spot/tl/simplify.cc: Improve handling of the above points.
      * tests/core/reduccmp.test: Adjust and add test case.
      * tests/core/ltl2tgba2.test, tests/python/atva16-fig2a.ipynb: Adjust.
      84595883
  21. 27 Mar, 2017 1 commit
    • 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
  22. 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
  23. 08 Feb, 2017 1 commit
  24. 14 Jan, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      hierarchy: expose mp_class to python · ebdb198b
      Alexandre Duret-Lutz authored
      * bin/common_output.cc: Move some of the printing code...
      * spot/tl/hierarchy.cc, spot/tl/hierarchy.hh: ... here, as new
        variants of mp_class...
      * python/spot/impl.i: ... that we can now call from Python.
      * python/ajax/spotcgi.in: Use those to simplify and extend
      the code printing class membership.
      ebdb198b
  25. 12 Jan, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      minimize_wdba: fix handling of input with useless SCCs · c9918f64
      Alexandre Duret-Lutz authored
      * spot/twaalgos/minimize.cc (minimize_wdba): Diminish the color of
      terminal SCCs that are incomplete, as if they had a non-accepting
      sink as successor.
      * spot/twaalgos/strength.hh, spot/twaalgos/strength.cc
      (is_terminal_automaton): Add an option to ignore trivial SCC as we did
      before, since it matters for deciding membership to the guarantee
      class.
      (is_safety_mwdba): Rewrite as ...
      (is_safety_automaton): ... generalizating to any acceptance, and
      ignoring trivial SCCs.
      * bin/ltlfilt.cc, python/ajax/spotcgi.in, spot/tl/hierarchy.cc,
      tests/core/ikwiad.cc: Adjust usage of is_terminal_automaton and
      is_safety_automaton().
      * tests/core/hierarchy.test: Add a problematic formula as test-case.
      * NEWS: Mention the bug.
      c9918f64
  26. 10 Jan, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      tl: mp_class() and --format=%[vw]h · 7d9ce0d6
      Alexandre Duret-Lutz authored
      Tools for deciding the class of a formula.
      
      * spot/tl/hierarchy.cc, spot/tl/hierarchy.hh: New files.
      * spot/tl/Makefile.am: Add them.
      * bin/common_output.cc, bin/common_output.hh: Implement --format=%h.
      * tests/core/hierarchy.test: More tests.
      * NEWS: Update.
      7d9ce0d6
  27. 30 Dec, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      twa: add prop_set::improve_det · 684c9c47
      Alexandre Duret-Lutz authored
      Algorithms that remove transitions can turn a non-deterministic
      automaton into a deterministic one, so we need to be able to specify
      that determinism can be improved (as opposed to preserved).
      
      * spot/twa/twa.hh (twa::prop_set::improve_det): New attribute.
      (twa::prop_keep, twa::prop_copy): Honor it.
      * spot/tl/exclusive.cc, spot/twaalgos/alternation.cc,
      spot/twaalgos/complete.cc, spot/twaalgos/degen.cc,
      spot/twaalgos/determinize.cc, spot/twaalgos/mask.cc,
      spot/twaalgos/minimize.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: Adjust calls to prop_keep() and
      prop_copy().
      684c9c47
  28. 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
  29. 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
  30. 23 Nov, 2016 1 commit
    • 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
  31. 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
  32. 29 Oct, 2016 1 commit