1. 02 Feb, 2016 1 commit
  2. 01 Feb, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      dot, hoa: default to "k" for kripke structure · 02b5460b
      Alexandre Duret-Lutz authored
      * spot/twaalgos/dot.cc, spot/twaalgos/hoa.cc: If a Kripke
      structure is passed, automatically enable the "k" option.
      * tests/core/parse_print_test.cc, tests/ltsmin/modelcheck.cc,
      tests/python/ltsmin.ipynb: Remove the explicit use of "k".
      * NEWS: Mention the change.
      02b5460b
    • Alexandre Duret-Lutz's avatar
      dot: add option "k" · a9b4560f
      Alexandre Duret-Lutz authored
      Fixes #134.
      
      * spot/twaalgos/dot.cc: Implement it.
      * bin/common_aoutput.cc, spot/twaalgos/dot.hh, NEWS: Document it.
      * tests/core/readsave.test, tests/python/ltsmin.ipynb: Test it.
      a9b4560f
  3. 29 Jan, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      dot: use circles if state names are all short · eb0a0b6b
      Alexandre Duret-Lutz authored
      * spot/twaalgos/dot.cc: Check for state names sizes.
      * tests/core/readsave.test: Test the change.
      * tests/core/tgbagraph.test: Adjust.
      eb0a0b6b
    • Alexandre Duret-Lutz's avatar
      dot: add a <N option · b11c07b3
      Alexandre Duret-Lutz authored
      * spot/twaalgos/dot.cc: Implement it.
      * spot/taalgos/dot.cc: Ignore it.
      * spot/twaalgos/copy.cc, spot/twaalgos/copy.hh: Add option
      to limit the number of states.
      * tests/python/ltsmin.ipynb: Improve test case.
      * tests/Makefile.am: Cleanup the files generated by ltsmin.ipynb.
      * python/spot/__init__.py (setup): Add a max_states argument
      that default to 50.
      * bin/common_aoutput.cc: Mention the <INT option.
      * NEWS: Likewise.
      b11c07b3
  4. 28 Jan, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      copy: rewrite as a BFS without using reachiter · 4571d6dd
      Alexandre Duret-Lutz authored
      * spot/twaalgos/copy.hh: Trim includes.
      * spot/twaalgos/copy.cc: Rewrite.
      * tests/python/ltsmin.ipynb: Adjust.
      4571d6dd
    • Alexandre Duret-Lutz's avatar
      twa: introduce the state_map template alias · 9b95b697
      Alexandre Duret-Lutz authored
      * spot/twa/twa.hh: Introduce the type.
      * spot/taalgos/emptinessta.cc, spot/taalgos/emptinessta.hh,
      spot/taalgos/minimize.cc, spot/taalgos/reachiter.cc,
      spot/taalgos/reachiter.hh, spot/taalgos/tgba2ta.cc,
      spot/twa/twasafracomplement.cc, spot/twaalgos/dtwasat.cc,
      spot/twaalgos/emptiness.cc, spot/twaalgos/gtec/status.cc,
      spot/twaalgos/gtec/status.hh, spot/twaalgos/gv04.cc,
      spot/twaalgos/magic.cc, spot/twaalgos/minimize.cc,
      spot/twaalgos/minimize.hh, spot/twaalgos/reachiter.cc,
      spot/twaalgos/reachiter.hh, spot/twaalgos/se05.cc,
      spot/twaalgos/tau03.cc, spot/twaalgos/tau03opt.cc: Use it.
      9b95b697
  5. 26 Jan, 2016 3 commits
    • Alexandre Duret-Lutz's avatar
      ltl2tgba_fm: fix setting of unambiguous property · c968e7b8
      Alexandre Duret-Lutz authored
      Report from Joachim Klein.
      
      * spot/twaalgos/ltl2tgba_fm.cc: Set the property, do not read it.
      * tests/core/unambig.test: Add a test.
      * NEWS: Mention the bug.
      c968e7b8
    • Alexandre Duret-Lutz's avatar
      ltsmin: add accessors for variable names and types · db1e842a
      Alexandre Duret-Lutz authored
      * spot/ltsmin/ltsmin.hh, spot/ltsmin/ltsmin.cc: Expose more of the
      ltsmin interface.
      * python/spot/ltsmin.i: Add some helper functions on top of this
      new interface.
      * tests/python/ltsmin.ipynb: Test them.
      * NEWS: Mention it.
      db1e842a
    • Alexandre Duret-Lutz's avatar
      ltsmin: implement a two-step loading · 907b72fb
      Alexandre Duret-Lutz authored
      * spot/ltsmin/ltsmin.cc, spot/ltsmin/ltsmin.hh: Split load_ltsmin() into
      ltsmin_model::load() and ltsmin_model::kripke().  Report errors using
      exceptions instead of on std::cerr.
      * python/spot/ltsmin.i: Deal with exceptions.
      * tests/ltsmin/modelcheck.cc, tests/python/ltsmin.ipynb: Adjust.
      907b72fb
  6. 23 Jan, 2016 1 commit
  7. 21 Jan, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      typos · 2364ff81
      Alexandre Duret-Lutz authored
      * bin/autfilt.cc, spot/twaalgos/degen.cc, spot/twaalgos/dtwasat.cc,
      spot/twaalgos/remfin.cc, spot/twaalgos/sccfilter.cc: "only work" ->
      "only works".
      2364ff81
  8. 14 Jan, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      fix complete · 51483b9b
      Alexandre Duret-Lutz authored
      Alexandre Lewkowicz reported a case where complete() would peek an
      existing state that is accepting, and wrongly use it as a sink.
      
      * spot/twaalgos/complete.cc: Fix the function.
      * tests/core/complete.test: Add two more tests.
      * NEWS: Mention the bug.
      51483b9b
    • Alexandre Duret-Lutz's avatar
      parseaut: add support for negated properties · 6c62362f
      Alexandre Duret-Lutz authored
      * spot/parseaut/parseaut.yy: Here.
      * tests/core/parseaut.test: Test it.
      * NEWS: Mention it.
      6c62362f
  9. 13 Jan, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      twa: store property bits as trivals · da391492
      Alexandre Duret-Lutz authored
      * spot/twa/twa.hh: Store property bits as trivals.
      * NEWS: Mention the change.
      * spot/parseaut/parseaut.yy, spot/twaalgos/are_isomorphic.cc,
      spot/twaalgos/complete.cc, spot/twaalgos/dot.cc, spot/twaalgos/hoa.cc,
      spot/twaalgos/isdet.cc, spot/twaalgos/isunamb.cc, spot/twaalgos/lbtt.cc,
      spot/twaalgos/ltl2tgba_fm.cc, spot/twaalgos/postproc.cc,
      spot/twaalgos/remfin.cc, spot/twaalgos/strength.cc,
      spot/twaalgos/stutter.cc, spot/twaalgos/stutter.hh,
      spot/twaalgos/totgba.cc, tests/core/ikwiad.cc,
      tests/python/product.ipynb, tests/python/remfin.py: Adjust.
      * doc/org/hoa.org, doc/org/tut21.org: Update documentation.
      da391492
    • Alexandre Duret-Lutz's avatar
      trival: new class for tri-valued logic · 1aeb260a
      Alexandre Duret-Lutz authored
      * spot/misc/trival.hh: New file.
      * spot/misc/Makefile.am: Add it.
      * python/spot_impl.i: Add Python bindings.
      * tests/core/trival.cc, tests/core/trival.test,
      tests/python/trival.py: New files, testing it.
      * tests/Makefile.am: Add them.
      1aeb260a
  10. 12 Jan, 2016 1 commit
  11. 10 Jan, 2016 1 commit
  12. 05 Jan, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      move the sanity tests in tests/sanity/ · 6e854b6d
      Alexandre Duret-Lutz authored
      * spot/sanity/: Move ...
      * tests/sanity/: ... here.
      * spot/sanity/Makefile.am: Merge with...
      * tests/Makefile.am: ... this.
      * tests/run.in: Learn to run perl tests.
      * README, configure.ac, spot/Makefile.am: Adjust.
      * spot/tl/mark.hh: Add missing SPOT_API detected by
      fixed private.test.
      
      * spot/twaalgos/weight.cc, spot/twaalgos/weight.hh: Move...
      * spot/priv/weight.cc, spot/priv/weight.hh: ... here, as
      suggested by fixed private.test.
      * spot/twaalgos/tau03opt.cc, spot/twaalgos/Makefile.am,
      spot/priv/Makefile.am: Adjust.
      6e854b6d
    • Alexandre Duret-Lutz's avatar
      move ltsmin tests to tests/ltsmin/ · ddc424f5
      Alexandre Duret-Lutz authored
      * spot/ltsmin/defs.in: Delete.
      * spot/ltsmin/README, spot/ltsmin/beem-peterson.4.dve,
      spot/ltsmin/check.test, spot/ltsmin/elevator2.1.pm,
      spot/ltsmin/finite.dve, spot/ltsmin/finite.pm, spot/ltsmin/finite.test,
      spot/ltsmin/finite2.test, spot/ltsmin/kripke.test,
      spot/ltsmin/modelcheck.cc: Move...
      * tests/ltsmin/: ... here.
      * spot/ltsmin/README: Point to tests/ltsmin/README.
      * README, configure.ac, spot/ltsmin/Makefile.am, tests/.gitignore,
      tests/Makefile.am, tests/core/defs.in: Adjust.
      ddc424f5
  13. 04 Jan, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      Merge the core and python tests in the tests/ directory · 5cb94a1a
      Alexandre Duret-Lutz authored
      * tests/: Rename as...
      * tests/core/: ... this.
      * python/tests/: Rename as...
      * tests/python/: ... this.
      * python/tests/run.in: Move as...
      * tests/run.in: This, and adjust.
      * tests/Makefile.am: Adjust to run both core and python tests.
      * configure.ac, README, debian/python3-spot.examples, debian/rules,
      doc/org/tut.org, python/Makefile.am, spot/ltsmin/Makefile.am,
      spot/ltsmin/kripke.test, spot/sanity/ipynb.test: Adjust.
      5cb94a1a
  14. 28 Dec, 2015 1 commit
  15. 27 Dec, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      move spot/bin/ and spot/tests/ up by one level · 134dfc73
      Alexandre Duret-Lutz authored
      * spot/bin/: Move...
      * bin/: ... here.
      * spot/tests/: Move...
      * tests/: ... here.
      * Makefile.am, README, bench/stutter/Makefile.am,
      bench/stutter/stutter_invariance_formulas.cc, doc/Makefile.am,
      configure.ac, debian/rules, spot/Makefile.am, spot/ltsmin/Makefile.am,
      spot/ltsmin/kripke.test, spot/sanity/style.test, python/tests/run.in:
      Adjust.
      134dfc73
  16. 25 Dec, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      Move spot-if/ltsmin/ to spot/ltsmin/ · 6fb4df43
      Alexandre Duret-Lutz authored
      * spot-if/ltsmin/: Rename as...
      * spot/ltsmin/: ... this.
      * spot-if/: Delete.
      * Makefile.am, NEWS, README, configure.ac, debian/libspot-dev.install,
      doc/Doxyfile.in, spot/Makefile.am, spot/sanity/80columns.test,
      spot/sanity/style.test: Adjust.
      6fb4df43
    • Alexandre Duret-Lutz's avatar
      rename wrap/python/ to python/ · 34c3c1ce
      Alexandre Duret-Lutz authored
      * wrap/python/: Rename to...
      * python/: ... this.
      * wrap/: Delete.
      * Makefile.am, README, configure.ac, debian/python3-spot.examples,
      debian/rules, doc/org/.dir-locals.el.in, doc/org/init.el.in,
      spot/sanity/ipynb.test: Adjust.
      34c3c1ce
  17. 24 Dec, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      show how to implement product in Python · 74ec9c54
      Alexandre Duret-Lutz authored
      * wrap/python/tests/product.ipynb: New file.
      * wrap/python/tests/Makefile.am, doc/org/tut.org: Add it.
      * wrap/python/tests/ipnbdoctest.py: Ignore %timeit results.
      * wrap/python/spot_impl.i: Add bindings for
      set_state_names()/get_state_names().
      * spot/twaalgos/product.cc: Fix computation of properties.
      * doc/org/hoa.org: Name.
      * NEWS: Update.
      74ec9c54
    • Alexandre Duret-Lutz's avatar
      twa: fix duplicate propositions in ap() · ad37cacb
      Alexandre Duret-Lutz authored
      Calling register_ap() with same atomic proposition several time, for
      instance via copy_ap() in a product, would create duplicate atomic
      propositions.  This fix will be exercised by the next patch.
      
      * spot/twa/twa.hh: Here.
      * spot/twaalgos/compsusp.cc, spot/twaalgos/ltl2taa.cc: Fix
      to correctly register atomic propositions.
      * NEWS: Mention it.
      ad37cacb
  18. 18 Dec, 2015 4 commits
    • Alexandre Duret-Lutz's avatar
      acc_cond: get rid of generalized_buchi() · fbf5ac0e
      Alexandre Duret-Lutz authored
      It is already in acc_cond::acc_code::generalized_buchi() along with all
      other acceptance condition constructors.
      
      * spot/twa/acc.hh (acc_cond::generalized_buchi): Remove.
      * spot/tests/ikwiad.cc, spot/twaalgos/postproc.cc: Adjust.
      fbf5ac0e
    • Alexandre Duret-Lutz's avatar
      acc_code: parse from the constructor · df1ef302
      Alexandre Duret-Lutz authored
      * spot/twa/acc.hh, spot/twa/acc.cc (parse_acc_code): Rename as...
      (acc_cond::acc_code): ... this, making it a lot easier to build
      acceptance conditions from strings.
      * NEWS: Mention the change.
      * spot/twaalgos/dtwasat.cc, spot/bin/randaut.cc, spot/tests/acc.cc:
      Adjust.
      * wrap/python/tests/acc_cond.ipynb, wrap/python/tests/accparse.ipynb,
      wrap/python/tests/accparse2.py: Simplify, but not completely to exercise
      all variants.
      * wrap/python/spot_impl.i: Make acc_code's constructor implicit.
      df1ef302
    • Alexandre Duret-Lutz's avatar
      acc_cond: allow ctor from acc_code only + bind unsat_mark() · d0b29051
      Alexandre Duret-Lutz authored
      * spot/twa/acc.hh: Here.
      * wrap/python/spot_impl.i: Adjust for the strange return type of
      unsat_mark().
      * wrap/python/tests/acc_cond.ipynb: Augment.
      d0b29051
    • Alexandre Duret-Lutz's avatar
      python: better binding for is_parity() · 15131e74
      Alexandre Duret-Lutz authored
      * wrap/python/spot_impl.i: Here.
      * wrap/python/tests/acc_cond.ipynb: Document it.
      * spot/twa/acc.cc (is_parity): Always initialize max.
      15131e74
  19. 17 Dec, 2015 2 commits
    • Alexandre Duret-Lutz's avatar
      acc: get rid of join() · fd6ad991
      Alexandre Duret-Lutz authored
      * spot/twa/acc.hh: Here.  Also make sure << takes an unsigned
      argument.
      * spot/twa/twaproduct.cc, spot/twaalgos/compsusp.cc,
      spot/twaalgos/product.cc, spot/twaalgos/remfin.cc,
      spot/twaalgos/totgba.cc, spot/tests/acc.cc: Adjust.
      fd6ad991
    • Alexandre Duret-Lutz's avatar
      acc_cond: rename is_tt/is_ff as is_t/is_f and add printer · 94cca9de
      Alexandre Duret-Lutz authored
      * spot/twa/acc.cc, spot/twa/acc.hh: Here.
      * spot/parseaut/parseaut.yy, spot/twa/acc.hh,
      spot/twaalgos/gtec/gtec.cc, spot/twaalgos/hoa.cc,
      spot/twaalgos/neverclaim.cc, spot/twaalgos/product.cc,
      spot/twaalgos/remfin.cc, spot/twaalgos/strength.cc: Adjust.
      * NEWS: Mention the changes.
      * wrap/python/spot_impl.i: Bind acc_cond the printer.
      * wrap/python/tests/acc_cond.ipynb: Add more examples.
      94cca9de
  20. 16 Dec, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      acc: simplify interface using operators · 4993e807
      Alexandre Duret-Lutz authored
      * spot/twa/acc.hh, spot/twa/acc.cc: Here.  Also remove
      some redundant functions.
      * spot/parseaut/parseaut.yy, spot/priv/accmap.hh, spot/tests/acc.cc,
      spot/tests/twagraph.cc, spot/twa/taatgba.hh, spot/twa/twaproduct.cc,
      spot/twaalgos/dtwasat.cc, spot/twaalgos/hoa.cc, spot/twaalgos/lbtt.cc,
      spot/twaalgos/ltl2tgba_fm.cc, spot/twaalgos/product.cc,
      spot/twaalgos/remfin.cc, spot/twaalgos/simulation.cc,
      spot/twaalgos/tau03opt.cc, spot/twaalgos/weight.cc,
      spot/twaalgos/weight.hh: Adjust.
      * NEWS: Mention the changes.
      4993e807
  21. 14 Dec, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      python: allow iterating over the successors of a state · 9313222e
      Alexandre Duret-Lutz authored
      Fixes #118.
      
      * spot/twa/twagraph.hh: Avoid using graph_t::state to help Swig.
      * wrap/python/spot_impl.i: Add a __str__ function for acc_cond::mark_t.
      * doc/org/tut21.org: Add the Python version.
      * doc/org/tut.org: Move tut21.org to the Python/C++ section.
      * NEWS: Update.
      9313222e
  22. 11 Dec, 2015 1 commit
  23. 09 Dec, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      speed up equivalence check for LTL formulas · 679be1d7
      Alexandre Duret-Lutz authored
      With this patch reduc.test goes from 4:57 down to 4:06 on my laptop.
      
      * spot/tl/contain.cc (equal): Use are_isomorphic() before testing
      for containment.
      * spot/twaalgos/are_isomorphic.hh, spot/twaalgos/are_isomorphic.cc:
      (are_isomorphic): New static method.
      679be1d7
    • Alexandre Duret-Lutz's avatar
      decompose_strength: work with inherently weak SCCs · 2e15ed95
      Alexandre Duret-Lutz authored
      * wrap/python/tests/decompose.ipynb: Adjust text.
      * spot/twaalgos/strength.hh, spot/twaalgos/strength.cc:
      Adjust to extract inherently weak SCCs instead of weak SCCs.  This gets
      rids of the special handling for the "corner cases".
      * spot/tests/strength.test: Adjust.
      * NEWS: Mention it.
      2e15ed95
    • Alexandre Duret-Lutz's avatar
      acc: move unsat_mark in acc_cond · 9bbcf85b
      Alexandre Duret-Lutz authored
      so that we can optimize it when no Fin are used
      
      * spot/twa/acc.cc, spot/twa/acc.hh: Do it.
      * spot/twaalgos/complete.cc, spot/twaalgos/strength.cc: Adjust.
      9bbcf85b
  24. 08 Dec, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      introduce is_inherently_weak_automaton() · 1f2260f9
      Alexandre Duret-Lutz authored
      * spot/twaalgos/strength.cc, spot/twaalgos/strength.hh
      (is_inherently_weak_automaton): New function.
      (is_type_automaton): Adjust to implement the above and
      set prop_inherently_weak().
      * spot/twaalgos/isweakscc.cc, spot/twaalgos/isweakscc.hh:
      Rewrite is_inherently_weak_scc() to not enumerate cycles.
      * spot/bin/autfilt.cc: Add a --is-inherently-weak option.
      * spot/tests/readsave.test: More tests.
      * spot/tests/strength.test: Adjust expected output.
      * doc/org/hoa.org: Adjust documentation of --check.
      * NEWS: Mention those changes.
      1f2260f9