1. 08 Jun, 2017 1 commit
  2. 07 Jun, 2017 1 commit
    • Henrich Lauko's avatar
      remfin: Make removing of fins more modular. · 784681d8
      Henrich Lauko authored and Henrich Lauko's avatar Henrich Lauko committed
      * spot/twaalgos/remfin.cc: Refactore remove_fin implementation. Enable
      filtering of strategies used for fin removing.
      * spot/priv/enumflags.hh: Add support for enum flags from brick-types.
      * spot/priv/Makefile.am: Add enumflags.hh to make.
      * debian/copyright: Update copyright with bricks library license.
      784681d8
  3. 05 Jun, 2017 1 commit
  4. 02 Jun, 2017 1 commit
    • 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
  5. 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
      scc_info: keep track of common acceptance sets · 617a7187
      Alexandre Duret-Lutz authored
      * spot/twaalgos/sccinfo.hh, spot/twaalgos/sccinfo.cc: Do it.
      * tests/core/sccdot.test: Add a test case.
      * NEWS: Mention it.
      617a7187
    • 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
  6. 30 May, 2017 2 commits
  7. 11 May, 2017 1 commit
  8. 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
  9. 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
  10. 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
  11. 04 May, 2017 1 commit
  12. 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
  13. 25 Apr, 2017 1 commit
  14. 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
  15. 19 Apr, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      sbacc: fix a serious bug · f02ca87f
      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.
      f02ca87f
    • 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
  16. 08 Apr, 2017 3 commits
  17. 07 Apr, 2017 4 commits
    • 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
    • Thomas Medioni's avatar
      dtwa_complement: replace code with call to dualize · 073a6e81
      Thomas Medioni authored
      * NEWS: Mention of this modification
      * spot/twaalgos/complement.cc: Replace dtwa_complement with a call
        to dualize
      073a6e81
    • Thomas Medioni's avatar
      implement dualize to complement automatons · c9d8d41f
      Thomas Medioni authored
      * NEWS: Mention the implementation
      * python/spot/impl.i: Add dualize() to python interface.
      * spot/twaalgos/Makefile.am: Add dualize.cc,hh to the build
      * spot/twaalgos/dualize.cc: Implement dualize() that takes an automaton
        and returns its dual
      * spot/twaalgos/dualize.hh: Implement dualize()
      * tests/Makefile.am: Add dualize tests to the test suite
      * tests/python/dualize.py: Test cases for dualize
      c9d8d41f
    • 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
  18. 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
  19. 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
  20. 31 Mar, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      various typos · 1ed6e518
      Alexandre Duret-Lutz authored
      * bench/dtgbasat/gen.py, spot/twaalgos/complement.hh: Fix
      looser->loser and lossing->losing.
      * tests/sanity/style.test: Catch 'an uni[^n]'.
      * spot/ta/ta.hh, spot/taalgos/tgba2ta.cc, spot/taalgos/tgba2ta.hh,
      spot/twa/twagraph.cc, spot/twaalgos/complement.hh,
      spot/twaalgos/sccinfo.cc: Fix various occurences of this pattern.
      1ed6e518
  21. 30 Mar, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      various typos · be411553
      Alexandre Duret-Lutz authored
      * bench/dtgbasat/gen.py, spot/twaalgos/complement.hh: Fix
      looser->loser and lossing->losing.
      * tests/sanity/style.test: Catch 'an uni[^n]'.
      * spot/ta/ta.hh, spot/taalgos/tgba2ta.cc, spot/taalgos/tgba2ta.hh,
      spot/twa/twagraph.cc, spot/twaalgos/complement.hh,
      spot/twaalgos/sccinfo.cc, spot/twaalgos/sum.hh: Fix various occurences
      of this pattern.
      be411553
  22. 28 Mar, 2017 2 commits
  23. 27 Mar, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      complement: reset the terminal property · a90f2193
      Alexandre Duret-Lutz authored
      Reported by Thomas Medioni.
      
      * spot/twaalgos/complement.cc: Here.
      * tests/core/complement.test: Add a test case.
      * NEWS: Mention it.
      a90f2193
    • 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
  24. 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
  25. 10 Mar, 2017 2 commits