1. 29 Sep, 2017 2 commits
    • Maximilien Colange's avatar
      Fix a bug in scc_info, and clarify documentation · f45112a2
      Maximilien Colange authored
      * spot/twaalgos/sccinfo.hh, spot/twaalgos/sccinfo.cc: Implement it
      * tests/python/sccinfo.py: Test it
      * NEWS: Document the fix
      f45112a2
    • Alexandre Duret-Lutz's avatar
      twa_graph: do not order BDDs by IDs in merge_edges() · cdfe78f1
      Alexandre Duret-Lutz authored
      Fixes #282.
      
      * spot/misc/bddlt.hh (bdd_less_than_stable): New function.
      * spot/twa/twagraph.cc (merge_edges): Use it.
      * tests/core/complement.test, tests/core/degenid.test,
      tests/core/ltldo.test, tests/core/prodor.test,
      tests/core/readsave.test, tests/core/sbacc.test,
      tests/python/atva16-fig2a.ipynb, tests/python/automata.ipynb,
      tests/python/decompose.ipynb, tests/python/dualize.py,
      tests/python/highlighting.ipynb, tests/python/piperead.ipynb,
      tests/python/product.ipynb, tests/python/simstate.py,
      tests/python/tra2tba.py: Adjust all expected outputs.
      * NEWS: Mention the bug.
      cdfe78f1
  2. 05 Sep, 2017 1 commit
    • Clément Gillard's avatar
      fix typos and indentation · ad358842
      Clément Gillard authored
      * bin/autfilt.cc, python/spot/__init__.py, spot/twa/twa.hh,
      spot/twa/twaproduct.cc, spot/twaalgos/couvreurnew.cc,
      tests/python/bugdet.py: Here.
      ad358842
  3. 03 Sep, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      gen: rename KS_COBUCHI to KS_NCA for consistency · e7df182a
      Alexandre Duret-Lutz authored
      * spot/gen/automata.cc, spot/gen/automata.hh, bin/genaut.cc: Rename
      the enum, function, and command-line option.
      * tests/core/genaut.test, tests/python/gen.ipynb, tests/python/gen.py:
      Adjust test cases.
      * doc/org/genaut.org: Adjust doc.
      e7df182a
  4. 31 Aug, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      dot: add x option for dot2tex · fbb9e437
      Alexandre Duret-Lutz authored
      * spot/twa/acc.cc, spot/twa/acc.hh: Add a LaTeX output for acceptance
      conditions.
      * spot/twaalgos/dot.cc: Implement the 'x' option and refactor the code
      a bit to limit duplication.
      * tests/core/dot2tex.test: New test case (requires dot2tex).
      * tests/Makefile.am: Add dot2tex.test.
      * tests/core/alternating.test, tests/core/readsave.test,
      tests/python/automata-io.ipynb: Adjust expected output.
      * NEWS, doc/org/oaut.org: Mention the new option.
      fbb9e437
  5. 30 Aug, 2017 1 commit
  6. 29 Aug, 2017 1 commit
  7. 17 Aug, 2017 3 commits
    • Alexandre Duret-Lutz's avatar
      dot: display acceptance names · 1cc45b24
      Alexandre Duret-Lutz authored
      * spot/twaalgos/dot.cc: Display common acceptance names.
      * NEWS: Mention the change.
      * doc/org/oaut.org: Adjust text.
      * tests/core/alternating.test, tests/core/readsave.test,
      tests/python/_altscc.ipynb, tests/python/alternation.ipynb,
      tests/python/atva16-fig2a.ipynb, tests/python/atva16-fig2b.ipynb,
      tests/python/automata.ipynb, tests/python/decompose.ipynb,
      tests/python/gen.ipynb, tests/python/highlighting.ipynb,
      tests/python/product.ipynb, tests/python/randaut.ipynb: Adjust test
      cases.
      1cc45b24
    • Alexandre Duret-Lutz's avatar
      acc: fix operator| and operator& · f8ef06ac
      Alexandre Duret-Lutz authored
      Bug introduced in abe2c08b, visible in tests/python/product.ipynb,
      and tests/python/acc_cond.ipynb.
      
      * spot/twa/acc.hh: fix operator| and operator&.
      * tests/python/acc_cond.ipynb: Adjust test case.
      f8ef06ac
    • Thomas Medioni's avatar
      to_weak_alternating(): fixes a bug on generalized co-Büchi automata · 4b5606e7
      Thomas Medioni authored
      Fixes #278. Also adds a test ensuring non-regression.
      
      * spot/twaalgos/toweak.cc: Fixes the bug.
      * tests/python/toweak.py: Add a test case.
      4b5606e7
  8. 09 Aug, 2017 1 commit
    • Thomas Medioni's avatar
      Fix typo automatons -> automata · 30a68d28
      Thomas Medioni authored
      * NEWS, spot/twaalgos/dualize.cc, spot/twaalgos/dualize.hh,
        spot/twaalgos/langmap.cc, spot/twaalgos/sum.hh,
        tests/python/streett_totgba.py: Fixes typo.
      30a68d28
  9. 03 Aug, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      dot: extend the palette from 9 to 16 colors · e041db61
      Alexandre Duret-Lutz authored
      Let's close #212 even if this does not cover the 32 sets.
      
      * spot/twaalgos/dot.cc: Change the palette.
      * doc/org/autfilt.org, NEWS: Adjust documentation.
      * tests/core/alternating.test, tests/core/readsave.test,
      tests/core/tgbagraph.test, tests/python/_altscc.ipynb,
      tests/python/alternation.ipynb, tests/python/atva16-fig2a.ipynb,
      tests/python/automata-io.ipynb, tests/python/automata.ipynb,
      tests/python/decompose.ipynb, tests/python/gen.ipynb,
      tests/python/highlighting.ipynb, tests/python/ltsmin-dve.ipynb,
      tests/python/piperead.ipynb, tests/python/product.ipynb,
      tests/python/randaut.ipynb, tests/python/word.ipynb: Adjust
      test cases.
      e041db61
  10. 31 Jul, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      hoa: fix I/O of determinism · d3607a7c
      Alexandre Duret-Lutz authored
      Fixes #212.
      
      * spot/parseaut/parseaut.yy, spot/twaalgos/hoa.cc: Recognize
      exist-branch, and adjust printer to the 1.1 semantics.
      * tests/core/alternating.test, tests/core/complete.test,
      tests/core/det.test, tests/core/explsum.test,
      tests/core/parseaut.test, tests/core/readsave.test,
      tests/core/sbacc.test, tests/core/tgbagraph.test,
      tests/python/alternating.py, tests/python/dualize.py: Adjust test
      cases.
      * NEWS: Mention the change.
      d3607a7c
  11. 25 Jul, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      acc: make &= and |= symmetrical · abe2c08b
      Alexandre Duret-Lutz authored
      Operator &= used to always move Fin to the front, it does not anymore.
      The only thing it does now is to merge Inf(x)&Inf(y) as Inf({x,y}).
      Operator |= is now symmetrical and merges Fin()s.
      
      Fixes #253.
      
      * spot/twa/acc.cc, spot/twa/acc.hh: Simplify &= and make |= symmetrical.
      * spot/twaalgos/cleanacc.cc: Fix conjunction order.
      * tests/core/acc.test, tests/core/acc2.test, tests/core/parseaut.test,
      tests/core/readsave.test, tests/core/satmin2.test,
      tests/core/sccdot.test, tests/python/acc_cond.ipynb,
      tests/python/accparse.ipynb, tests/python/automata.ipynb,
      tests/python/product.ipynb, tests/python/randaut.ipynb: Adjust test
      cases.
      abe2c08b
  12. 24 Jul, 2017 2 commits
  13. 20 Jul, 2017 1 commit
  14. 19 Jul, 2017 1 commit
    • Thomas Medioni's avatar
      Implement to_weak_alternating() which weakifies tgbas · c8889e65
      Thomas Medioni authored
      * NEWS: mention the modification.
      * python/spot/impl.i: makes to_weak_alternating visible from python
      * spot/twaalgos/Makefile.am, spot/twaalgos/toweak.cc,
        spot/twaalgos/toweak.hh: Implements to_weak_alternating.
      * tests/Makefile.am, tests/python/toweak.py: Test the results of
        to_weak_alternating.
      c8889e65
  15. 17 Jul, 2017 4 commits
    • Henrich Lauko's avatar
      remfin: Use tra2tba as new rabin strategy in remove_fin · d45b60a4
      Henrich Lauko authored
      Move implementation of tra2tba to remfin.
      
      * python/spot/impl.i: Remove tra2tba python bindings
      * spot/twaalgos/Makefile.am: Remove tra2tba
      * spot/twaalgos/remfin.cc: Update rabin_strategy
      * spot/twaalgos/tra2tba.cc: Delete the file
      * spot/twaalgos/tra2tba.hh: Delete the file
      * tests/core/remfin.test: Update tests
      * tests/python/tra2tba.py: Update tests
      d45b60a4
    • Henrich Lauko's avatar
      tra2tba: Merge edges of resulting automaton · bd8ede62
      Henrich Lauko authored
      * spot/twaalgos/tra2tba.cc: Call 'merge_edges'
      * tests/python/tra2tba.py: Update tests
      bd8ede62
    • Henrich Lauko's avatar
      tra2tba: Add support for Rabin like automata · 69cf3c55
      Henrich Lauko authored
      * spot/twaalgos/tra2tba.cc: Support Rabin like input
      * tests/core/tra2tba.cc: Remove C tests
      * tests/core/tra2tba.test: Remove C tests
      * tests/python/tra2tba.py: Convert C tests to python
      * tests/Makefile.am: Remove C tests and add python tests
      69cf3c55
    • Alexandre Duret-Lutz's avatar
      python: export the sbacc() algorithm · 2ecd93ac
      Alexandre Duret-Lutz authored
      Fixes #274.
      
      * python/spot/impl.i: Bind sbacc().
      * tests/python/sbacc.py: New tesat.
      * tests/Makefile.am: Add sbacc.py.
      2ecd93ac
  16. 30 Jun, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      decompose: merge decompose_strength() and decompose_scc() · 09e47d64
      Alexandre Duret-Lutz authored
      These two functions were doing almost identical work, the only
      difference was the way to select the SCC to keep.  Now we have a more
      uniform way to do that.  Closes #172.
      
      * bin/autfilt.cc: Offer a unique --decompose-scc option, but keep
      --decompose-strength as an alias for backward compatibility.
      * spot/twaalgos/strength.cc, spot/twaalgos/strength.hh: Rename
      decompose_strength as decompose_scc, and handle a way to list
      all SCC numers in the string specifier.  This gets rid
      of the nearly identical
      * tests/core/scc.test, tests/core/strength.test,
      tests/python/decompose.ipynb, tests/python/decompose_scc.py: Adjust
      test cases.
      * NEWS: Adjust.
      09e47d64
  17. 21 Jun, 2017 1 commit
  18. 20 Jun, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      relabel_here: make it compatible with relabel_bse · 0bc1dd44
      Alexandre Duret-Lutz authored
      * spot/twaalgos/relabel.cc: Deal with the cases where the substitution
      value is a Boolean formula.
      * spot/twaalgos/relabel.hh: Improve documentation.
      * tests/python/relabel.py: Add more tests.
      * python/spot/impl.i: Add bindings for are_isomorphic for the above
      test.
      * NEWS: Mention the news.
      0bc1dd44
  19. 08 Jun, 2017 2 commits
    • Thomas Medioni's avatar
      streett_to_generalized_buchi() now works on Streett-like · 7b5b8f34
      Thomas Medioni authored
      * NEWS: Mention the modification.
      * spot/twaalgos/remfin.cc: Adapt to avoid infinite recursion.
      * spot/twaalgos/totgba.cc: Work on Streett-like.
      * tests/Makefile.am, tests/python/streett_totgba.py: Tests the
        modification.
      * tests/core/remfin.test: Fix one test case that is now handled by
        the modification.
      7b5b8f34
    • Thomas Medioni's avatar
      introduce spot::simplify_acceptance() · a12d676b
      Thomas Medioni authored
      Simplify some automata where some marks are identical,
      or complementary to another. Fixes #216.
      
      * NEWS: mention the new function.
      * spot/twaalgos/cleanacc.cc, spot/twaalgos/cleanacc.hh: Implement
        the function.
      * tests/Makefile.am, tests/python/merge.py: Test this implementation.
      a12d676b
  20. 05 Jun, 2017 1 commit
  21. 03 Jun, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      simulation: do not depend on bdd numbers for ordering classes · ae0e84ac
      Alexandre Duret-Lutz authored
      Fixes #262 again.  Reported by Maximilien Colange.
      
      * spot/twaalgos/simulation.cc: Use state numbers to order classes, not
      their signatures.  The problem was that even if two simulation of the
      same automaton assign the same signature, the BDD identifier used for
      that signature might be different, and therefore the ordering obtained
      by using BDDs as keys in a map can be different.  A side-effect of
      this change is that the order of states in automata produced by
      simulation-based reduction may change; many tests had to be updated.
      * tests/core/ltl2tgba.test: Add a new test case based on Maximilien's
      report.
      * tests/core/complement.test, tests/core/det.test,
      tests/core/parseaut.test, tests/core/prodor.test,
      tests/python/atva16-fig2a.ipynb, tests/python/automata.ipynb,
      tests/python/decompose.ipynb, tests/python/highlighting.ipynb,
      tests/python/piperead.ipynb, tests/python/testingaut.ipynb,
      tests/python/word.ipynb: Update test cases for new order of states.
      ae0e84ac
  22. 02 Jun, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      simulation: do not depend on bdd numbers for ordering classes · 9ab4b840
      Alexandre Duret-Lutz authored
      Fixes #262 again.  Reported by Maximilien Colange.
      
      * spot/twaalgos/simulation.cc: Use state numbers to order classes, not
      their signatures.  The problem was that even if two simulation of the
      same automaton assign the same signature, the BDD identifier used for
      that signature might be different, and therefore the ordering obtained
      by using BDDs as keys in a map can be different.  A side-effect of
      this change is that the order of states in automata produced by
      simulation-based reduction may change; many tests had to be updated.
      * tests/core/ltl2tgba.test: Add a new test case based on Maximilien's
      report.
      * tests/core/complement.test, tests/core/det.test,
      tests/core/parseaut.test, tests/core/prodor.test, tests/core/scc.test,
      tests/python/atva16-fig2a.ipynb, tests/python/automata.ipynb,
      tests/python/decompose.ipynb, tests/python/decompose_scc.py,
      tests/python/highlighting.ipynb, tests/python/piperead.ipynb,
      tests/python/sccinfo.py, tests/python/simstate.py,
      tests/python/testingaut.ipynb, tests/python/word.ipynb: Update
      test case for new order of states.
      9ab4b840
    • Alexandre Duret-Lutz's avatar
      dot: fix printing of alternating automata · 7b6cfd44
      Alexandre Duret-Lutz authored
      Related to #208.
      
      * spot/twaalgos/dot.cc: Fix missing definitions of universal nodes,
      and inclusion of universal nodes inside of SCC when none of the
      destination comes back to the SCC.
      * tests/python/_altscc.ipynb: Adjust and add more test cases.
      * tests/core/alternating.test, tests/core/neverclaimread.test,
      tests/core/readsave.test, tests/core/sccdot.test,
      tests/python/decompose.ipynb: Adjust test cases.
      * NEWS: Mention the bug.
      7b6cfd44
  23. 31 May, 2017 4 commits
    • Alexandre Duret-Lutz's avatar
      dot: fix printing of alternating automata · 97f3efab
      Alexandre Duret-Lutz authored
      Related to #208.
      
      * spot/twaalgos/dot.cc: Fix missing definitions of universal nodes,
      and inclusion of universal nodes inside of SCC when none of the
      destination comes back to the SCC.
      * tests/python/_altscc.ipynb: Adjust and add more test cases.
      * tests/core/alternating.test, tests/core/neverclaimread.test,
      tests/core/readsave.test, tests/core/sccdot.test,
      tests/python/decompose.ipynb: Adjust test cases.
      * NEWS: Mention the bug.
      97f3efab
    • Alexandre Duret-Lutz's avatar
      acc: add a maybe_accepting() method · 78add1d4
      Alexandre Duret-Lutz authored
      * spot/twa/acc.cc, spot/twa/acc.hh: Implement the new method, and
      use it to implement inf_accepting().
      * tests/python/accparse2.py: Add some tests.
      78add1d4
    • Maximilien Colange's avatar
      Degeneralization keeps track of levels. · f7d14ab5
      Maximilien Colange authored
      * NEWS: Document this.
      * spot/twa/twagraph.cc: `copy_state_names_from` handles this new info.
      * spot/twaalgos/degen.hh, spot/twaalgos/degen.cc: Implement it.
      * tests/python/origstate.py, tests/python/simstate.py: Update tests to
        reflect the change.
      f7d14ab5
    • Maximilien Colange's avatar
      Simulation keeps track of simulated states in the input automaton. · 7b5ab545
      Maximilien Colange authored
      * NEWS: Document the change.
      * spot/twaalgos/simulation.cc: Implement the change.
      * spot/twa/twagraph.cc: `copy_state_names_from` uses simulated states
        info if present.
      * spot/twaalgos/determinize.cc: Pretty-print in determinization follows
        simulated states, avoiding possible confusion.
      * tests/Makefile.am, tests/python/simstate.py: Add a test.
      7b5ab545
  24. 29 May, 2017 1 commit
    • Thomas Medioni's avatar
      rs_like: fix bug to accept Fin | Fin , Inf & Inf · 4da6a5cd
      Thomas Medioni authored
      co-Büchi is now recognized as Streett-like, Büchi as Rabin-like.
      Also recognized Inf & Inf & Inf... as Streett-like and
      Fin | Fin | Fin... as Rabin-like.
      
      * spot/twa/acc.cc: Fix the bug
      * tests/python/rs_like.py: Add some test case
      4da6a5cd
  25. 09 May, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      scc_info: introduce edges_of() and inner_edges_of() · 8e19d3f4
      Alexandre Duret-Lutz authored
      This is motivated by some upcoming patch by Heňo.
      
      * spot/twaalgos/sccinfo.hh (edges_of, inner_edges_of): New methods.
      * spot/twaalgos/sccinfo.cc, spot/twaalgos/strength.cc: Use them.
      * spot/twa/twagraph.hh (edge_number): Add an overload.
      * python/spot/impl.i: Bind the new methods.
      * tests/python/sccinfo.py: Add tests.
      * NEWS: Mention the changes.
      8e19d3f4
  26. 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
  27. 05 May, 2017 1 commit
    • 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