1. 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
      * 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.
  2. 02 Jun, 2017 1 commit
    • 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.
  3. 18 May, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      bin: release all subformulas between runs · f6607f1a
      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.
  4. 10 May, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      parseaut: misc cleanups · 762dd455
      Alexandre Duret-Lutz authored
      * spot/parseaut/parseaut.yy: Remove extra ;.
      * spot/parseaut/scanaut.ll: Use nullptr instead of 0.
    • 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.
  5. 08 May, 2017 1 commit
    • 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.
  6. 04 May, 2017 1 commit
  7. 19 Apr, 2017 1 commit
    • 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.
  8. 08 Apr, 2017 1 commit
  9. 07 Apr, 2017 1 commit
    • 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.
  10. 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.
  11. 29 Mar, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      twa_graph: fix purge_unreachable_states on alternating automata · 6623af67
      Alexandre Duret-Lutz authored
      The algorithm had two problems: it was removing only useless
      destination from universal destination (instead of removing the entire
      edge), and it was not properly iterating over the entire reachable
      * spot/twa/twagraph.cc: Fix it.
      * spot/twa/twagraph.hh: Adjust documentation.
      * tests/core/alternating.test: Add more tests.
      * tests/python/twagraph.py: Adjust.
      * NEWS: Mention the bug.
  12. 28 Mar, 2017 1 commit
  13. 22 Mar, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      parsetl: improve coverage · bf31ff12
      Alexandre Duret-Lutz authored
      * spot/parsetl/parsetl.yy: Adjust one diagnostic.
      * spot/parsetl/scantl.ll: Fix recovering of missing closing brace
      in lenient mode.
      * tests/python/ltlparse.py: Add tests.
      * NEWS: Mention the lenient mode bug.
  14. 10 Mar, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      emptiness checks: replace assert-preconditions by exceptions · d6d987bd
      Alexandre Duret-Lutz authored
      * spot/twaalgos/couvreurnew.cc, spot/twaalgos/gv04.cc,
      spot/twaalgos/magic.cc, spot/twaalgos/se05.cc, spot/twaalgos/tau03.cc,
      spot/twaalgos/tau03opt.cc: Throw if precondition on acceptance
      condition is not satisfied.
      * tests/python/misc-ec.py: New file.
      * tests/Makefile.am: Add it.
      * NEWS: Mention the change.
  15. 08 Mar, 2017 2 commits
  16. 07 Mar, 2017 3 commits
  17. 03 Mar, 2017 3 commits
    • Alexandre Duret-Lutz's avatar
      monitor: fix -MD/-M difference in property output · 0621e0e9
      Alexandre Duret-Lutz authored
      Fixes #241.
      * spot/twaalgos/postproc.cc: Use the deterministic monitor if it
      has as many states as the non-deterministic one.
      * spot/twaalgos/minimize.cc (minimize_monitor): Quickly check
      for terminal automata.
      * spot/twaalgos/stripacc.cc: Set the weak property.
      * spot/twaalgos/stripacc.hh: Improve documentation.
      * tests/core/monitor.test, tests/core/sbacc.test: Update.
      * NEWS: Mention the issue.
    • Alexandre Duret-Lutz's avatar
      postproc: fix monitor code · 9defdad2
      Alexandre Duret-Lutz authored
      Fixes #240.
      * spot/twaalgos/postproc.cc: Do not call do_simul on the output of
      minimize_monitor(), and do not skip complete() when PREF_==Any.
      * tests/core/monitor.test: Add a test case.
      * NEWS: Mention the bug.
      * doc/org/ltl2tgba.org: Document complete monitors.
    • Alexandre Duret-Lutz's avatar
      sbacc: fix a typo and remove some useless code · 57ea6d96
      Alexandre Duret-Lutz authored
      * spot/twaalgos/sbacc.cc: Do not assign to one_in twice, and
      fix the value of init_acc.
      * tests/core/sbacc.test: Add a test case.
      * NEWS: Mention the bug.
  18. 28 Feb, 2017 1 commit
  19. 16 Feb, 2017 2 commits
    • Arthur Remaud's avatar
      autfilt: Better display of cluster when universal edge loops in it · f7bbfd28
      Arthur Remaud authored
      Fixes #208
      * NEWS: Informations about the modifications
      * spot/twaalgos/dot.cc (print): Gestion of cluster for
      universal transitions
      * tests/core/alternating.test: tests added
      * tests/core/neverclaimread.test: tests changed for
      new dot format
      * tests/core/readsave.test: tests changed
      * tests/core/sccdot.test: tests changed
      * tests/python/_altscc.ipynb: tests changed
      * tests/python/decompose.ipynb: tests changed
    • Arthur Remaud's avatar
      autfilt: add option (y) to --dot to split universal transitions · 34859568
      Arthur Remaud authored
      Fixes #207
      * NEWS: Informations about the option 'y' for --dot added
      * bin/common_aoutput.cc: Documentation for the option 'y'
      for --dot added
      * spot/twaalgos/dot.cc (print_dst, process_link): Functions
      modified for the new option
      * tests/core/alternating.test: Tests added
  20. 12 Feb, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      is_alternating() -> !is_existential() · fefb375d
      Alexandre Duret-Lutz authored
      Part of #212.
      * spot/misc/common.hh (SPOT_DEPRECATED): Improve support current
      compilers and options flags.
      * spot/twa/twagraph.hh, spot/graph/graph.hh (is_alternating): Mark it
      as deprecated.
      (is_existential): New method.
      * bin/autfilt.cc, bin/ltlcross.cc, spot/parseaut/parseaut.yy,
      spot/twa/twa.cc, spot/twa/twagraph.cc, spot/twaalgos/alternation.cc,
      spot/twaalgos/are_isomorphic.cc, spot/twaalgos/canonicalize.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/hoa.cc,
      spot/twaalgos/isunamb.cc, spot/twaalgos/isweakscc.cc,
      spot/twaalgos/mask.hh, spot/twaalgos/minimize.cc,
      spot/twaalgos/postproc.cc, spot/twaalgos/product.cc,
      spot/twaalgos/randomize.cc, spot/twaalgos/remfin.cc,
      spot/twaalgos/sbacc.cc, spot/twaalgos/sccfilter.cc,
      spot/twaalgos/sccinfo.cc, spot/twaalgos/simulation.cc,
      spot/twaalgos/strength.cc, tests/core/graph.cc, tests/core/ngraph.cc,
      tests/python/alternating.py: Adjust all uses.
      * NEWS: Mention the renaming.
    • Alexandre Duret-Lutz's avatar
      alternation: fix detection of non-weak automata · 15c6fd95
      Alexandre Duret-Lutz authored
      Fixes #218.
      * spot/twaalgos/alternation.cc: Adjust check.
      * tests/core/alternating.test: Add test case from #218.
      * NEWS: Mention the bug.
  21. 08 Feb, 2017 1 commit
  22. 04 Feb, 2017 1 commit
  23. 02 Feb, 2017 1 commit
    • Maximilien Colange's avatar
      Rework the 'down_cast' macro, closing #196. · 3f547089
      Maximilien Colange authored
      * spot/misc/casts.hh: New inline functions and compile-time checks.
      * spot/kripke/kripkegraph.hh, spot/ta/taexplicit.cc,
        spot/ta/taproduct.cc, spot/ta/tgtaproduct.cc, spot/taalgos/tgba2ta.cc,
        spot/twa/taatgba.hh, spot/twa/taatgba.cc, spot/twa/twagraph.hh,
        spot/twa/twaproduct.cc, spot/twaalgos/emptiness.cc,
        spot/twaalgos/stutter.cc, spot/ltsmin/ltsmin.cc, tests/core/ikwiad.cc,
        tests/core/ngraph.cc: Remove downcast checks from code.
  24. 01 Feb, 2017 5 commits
  25. 21 Jan, 2017 1 commit
  26. 20 Jan, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      fix some incorrect AP registrations · 5a441e1b
      Alexandre Duret-Lutz authored
      * spot/ltsmin/ltsmin.cc: Do not forget to register dead.
      * spot/twa/twaproduct.cc: Use copy_ap_of() instead of
      register_all_propositions_of() because the latter does
      do update ap().
  27. 18 Jan, 2017 2 commits