1. 08 Jun, 2017 3 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
    • Thomas Medioni's avatar
      style: allow the use of initializer-lists in if · 22620e18
      Thomas Medioni authored
      * tests/sanity/style.test: Allow initializer-lists in ifs.
      22620e18
  2. 07 Jun, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      libtool: surrender to Debian's castrated libtool · 1042a8da
      Alexandre Duret-Lutz authored
      The libtool version distributed by Debian is patched to *not* propagate
      dependencies (i.e., if libA depends on libB, then linking against libA
      will not automatically link against libB, it has to be explicit),
      contrary to what the Libtool manual document.  So now we explicitly
      link against both libA and libB in such case.
      
      * configure.ac: Remove the workaround that does not work for
      MinGW.
      * doc/org/compile.org: Mention the issue.
      * bin/Makefile.am, tests/Makefile.am, spot/ltsmin/Makefile.am,
      spot/gen/Makefile.am, doc/org/g++wrap.in: Make the dependencies
      explicit.
      1042a8da
    • Etienne Renault's avatar
      ikwiad: fix accepting run printing · 4de44b42
      Etienne Renault authored
      * tests/core/ikwiad.cc: here.
      4de44b42
  3. 05 Jun, 2017 1 commit
  4. 03 Jun, 2017 1 commit
  5. 02 Jun, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      work around change in pandas 0.20 · dbcde8e3
      Alexandre Duret-Lutz authored
      * tests/core/ltlcross4.test: Replace describe() by agg() to work
      around a backward incompatible change in pandas 0.20.
      dbcde8e3
    • 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
  6. 31 May, 2017 7 commits
    • Alexandre Duret-Lutz's avatar
      sanity: ensure that all environment variables are documented · 101c2533
      Alexandre Duret-Lutz authored
      * tests/sanity/getenv.test: New file.
      * tests/Makefile.am: Add it.
      * bin/man/spot-x.x: Document SPOT_STUTTER_CHECK and SPOT_DEBUG_PARSER.
      101c2533
    • Alexandre Duret-Lutz's avatar
      sanity: catch undocumented named properties · 93969758
      Alexandre Duret-Lutz authored
      * tests/sanity/namedprop.test: New file.
      * tests/Makefile.am: Add it.
      * doc/org/concepts.org: Add documentation for degen-levels and
      simulated-states.
      93969758
    • 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
    • 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
  7. 30 May, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      scc_info: make it possible to ignore or cut edges · 42562015
      Alexandre Duret-Lutz authored
      * spot/twaalgos/sccinfo.hh, spot/twaalgos/sccinfo.cc: Take
      a filter function as optional argument.
      * tests/core/sccif.cc, tests/core/sccif.test: New files.
      * tests/Makefile.am, tests/core/.gitignore: Adjust.
      * NEWS: Mention the new feature.
      42562015
  8. 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
  9. 18 May, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      bin: release all subformulas between runs · acdaaac4
      Alexandre Duret-Lutz authored
      Fixes #262, reported by Maximilien Colange.
      
      * bin/common_output.cc, bin/common_aoutput.cc, bin/common_aoutput.hh:
      Clear the set of atomic propositions if --stats=%[...]x was used.
      * spot/twa/bdddict.cc: Release any formula associated to a BDD when it
      is unregistered, do not wait for the dictionary's destruction.  This
      was the main culprit for #262.
      * tests/core/ltl2tgba.test: Add test cases.
      * NEWS: Mention the bug.
      acdaaac4
  10. 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
  11. 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
  12. 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
  13. 05 May, 2017 4 commits
  14. 04 May, 2017 2 commits
  15. 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
  16. 28 Apr, 2017 6 commits
    • Alexandre Duret-Lutz's avatar
      gen: another automaton family · 469d8067
      Alexandre Duret-Lutz authored
      * spot/gen/automata.hh, spot/gen/automata.cc,
      bin/genaut.cc: Introduce L_DSA.
      * tests/core/genaut.test: Add quick test.
      469d8067
    • Alexandre Duret-Lutz's avatar
      gen: set more properties in automata · ae78e1d2
      Alexandre Duret-Lutz authored
      * spot/gen/automata.cc: Set more properties.
      * tests/python/gen.py: Check that they are set.
      ae78e1d2
    • Alexandre Duret-Lutz's avatar
      gen: introduce a new automaton family · ec51f976
      Alexandre Duret-Lutz authored
      * spot/gen/automata.cc, spot/gen/automata.hh: Define AUT_L_NBA.
      * bin/genaut.cc (--l-nba): New option.
      * bin/man/genaut.x, doc/org/genaut.org, NEWS: Document it.
      * tests/python/gen.py, tests/core/genaut.test: Test it.
      ec51f976
    • Alexandre Duret-Lutz's avatar
      gen: pass the bdd_dict to aut_pattern() · 649793df
      Alexandre Duret-Lutz authored
      * spot/gen/automata.hh (aut_pattern): Add the dict argument.
      * spot/gen/automata.cc, python/spot/gen.i: Adjust.
      * tests/python/gen.py: Make sure two automata built without
      specifying any dictionary share the same one.
      649793df
    • Alexandre Duret-Lutz's avatar
      gen: hide ks_cobuchi(), introduce aut_pattern() · 11ca2803
      Alexandre Duret-Lutz authored
      * spot/gen/automata.hh, spot/gen/automata.cc: Hide ks_cobuchi() behind
      introduce aut_pattern(), as we have already done for the formulas.
      * bin/genaut.cc: Simplify using this interface.
      * python/spot/gen.i: Introduce aut_patterns().
      * tests/python/gen.ipynb, tests/python/gen.py: Adjust.
      11ca2803
    • Alexandre Duret-Lutz's avatar
      gen: prefix ltl_pattern identifiers with LTL_ · ca7f72bb
      Alexandre Duret-Lutz authored
      This helps with autocompletion in IPython, and it will prevent us from
      mixing LTL patterns with automata patterns (once we have more than one
      automata generator).
      
      * spot/gen/formulas.hh: Here.
      * spot/gen/formulas.cc, bin/genltl.cc, tests/python/gen.ipynb,
      tests/python/gen.py: Adjust.
      ca7f72bb
  17. 26 Apr, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      gen: rename genltl() to ltl_pattern() and introduce ltl_patterns() · 540b9713
      Alexandre Duret-Lutz authored
      * spot/gen/formulas.hh, spot/gen/formulas.cc (genltl): Rename as...
      (ltl_pattern): This.
      (ltl_pattern_max): New function.
      * bin/genltl.cc: Adjust names, and simplify using ltl_pattern_max().
      * python/spot/gen.i (ltl_patterns): New function.
      * tests/python/gen.py: Test it.
      * tests/python/gen.ipynb: New file to document the spot.gen package.
      * tests/Makefile.am, doc/org/tut.org: Add gen.ipynb.
      540b9713
  18. 25 Apr, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      genltl: move all formula generation code to spot/gen/ · 8939e0dd
      Alexandre Duret-Lutz authored
      Fixes #254.
      
      * spot/gen/formulas.cc, spot/gen/formulas.hh: New files.
      * spot/gen/Makefile.am: Add them.
      * spot/Makefile.am: Fix build order.
      * bin/genltl.cc: Move most code to the above files and adjust.
      * bin/Makefile.am: Link genltl with libspotgen.
      * doc/org/arch.tex: Adjust picture to show that genltl uses
      libspotgen.
      * python/spot/gen.i: Include formulas.hh.
      * tests/python/gen.py: Make sure genltl() and ltl_pattern_name()
      can be called.
      8939e0dd
  19. 24 Apr, 2017 1 commit