Commit graph

898 commits

Author SHA1 Message Date
0505ee9310 tl: implement suffix operator normal form
* spot/tl/Makefile.am: New sonf files
* spot/tl/sonf.cc,spot/tl/sonf.hh: Here.
* python/spot/impl.i: include sonf.hh header
* doc/spot.bib: add entry for the SONF paper
* tests/python/formulas.ipynb: show sample usage
* tests/python/spot.py: test automata equivalence before/after SONF
* NEWS: mention the change
2022-03-03 09:13:04 +01:00
Alexandre Duret-Lutz
a3753e608b improve support for LTLf semantics
* spot/twaalgos/remprop.cc, spot/twaalgos/remprop.hh (to_finite): New
function.
* bin/autfilt.cc (--to-finite): Add it.
* doc/org/tut12.org: Update to use it.
* spot/twa/twagraph.cc (purge_dead_states): Also remove false edges.
* spot/parseaut/parseaut.yy: Do not ignore false self-loops, and
add false self-loop on accepting states without successors.
* NEWS: List the above changes.
* tests/core/ltlf.test: New file.
* tests/Makefile.am: Add it.
* tests/core/complete.test: Adjust expected output.
2022-02-07 16:41:59 +01:00
Alexandre Duret-Lutz
9b0a20412b dot: Add option @ to support aliases
Fixes #497.

* spot/twaalgos/dot.cc: Implement this option.
* tests/core/ltl2tgba.test, tests/core/randaut.test: @ is
now a valid option for --dot, use something else.
* tests/python/aliases.ipynb: New file.
* tests/Makefile.am, doc/org/tut.org: Add it.
* doc/org/hoa.org: Mention aliases.
* NEWS: Mention this new feature.
2022-02-04 14:35:46 +01:00
Alexandre Duret-Lutz
95b2e7366f Merge branch 'master' into next 2022-02-01 13:53:52 +01:00
Alexandre Duret-Lutz
bf77d0f0d3 Release Spot 2.10.4
* NEWS, configure.ac, doc/org/setup.org: Bump version to 2.10.4.
2022-02-01 13:50:56 +01:00
Alexandre Duret-Lutz
dac3d78244 hoa: better support for aliases on output
Part of issue #497.

* doc/org/concepts.org: Declare a new "aliases" named property.
* spot/parseaut/parseaut.yy: Fill the aliases named property.
* spot/twa/twa.cc (copy_named_properties_of): Copy it.
* spot/twaalgos/hoa.cc: Use "aliases" while encoding BDDs for
output.
* spot/twaalgos/hoa.hh: Add helper function to set/get aliases.
* python/spot/impl.i: Create a type for aliases.
* tests/core/parseaut.test: Adjust test case.
* tests/python/aliases.py: New file.
* tests/Makefile.am: Add it.
* NEWS: Mention this change.
2022-01-21 16:53:11 +01:00
Alexandre Duret-Lutz
6b46dbd907 Merge branch 'master' into next 2022-01-15 08:12:47 +01:00
Alexandre Duret-Lutz
dd33950836 Release Spot 2.10.3
* NEWS, configure.ac, doc/org/setup.org: Update version.
2022-01-15 08:09:01 +01:00
Alexandre Duret-Lutz
346260c684 org: install from GNU
Fixes #496.

* doc/org/init.el.in: Install org-mode from GNU ELPA.
2022-01-14 20:29:10 +01:00
Alexandre Duret-Lutz
cdbf830010 * doc/org/tut40.org: Finish a sentence. 2022-01-14 20:29:10 +01:00
Alexandre Duret-Lutz
25d6bfd64d bib: more references
* doc/spot.bib (blahoudek.16.atva, degiacomo.13.ijcai): New entries.
* spot/tl/ltlf.hh, spot/twaalgos/complement.hh: Use them.
2022-01-14 20:29:10 +01:00
Alexandre Duret-Lutz
b860bb242e tl: fix first_match definition
* doc/tl/tl.tex: Here.
2022-01-14 20:26:44 +01:00
Alexandre Duret-Lutz
6dd7097148 org: update mailman urls
* doc/org/index.org, tests/python/bdditer.py: Here.
2022-01-14 20:26:44 +01:00
Alexandre Duret-Lutz
c44aab4025 org: install from GNU
Fixes #496.

* doc/org/init.el.in: Install org-mode from GNU ELPA.
2022-01-14 17:38:14 +01:00
Alexandre Duret-Lutz
8ec945f3ac * doc/org/tut40.org: Finish a sentence. 2022-01-14 15:52:52 +01:00
Alexandre Duret-Lutz
b2b37ba3e9 bib: more references
* doc/spot.bib (blahoudek.16.atva, degiacomo.13.ijcai): New entries.
* spot/tl/ltlf.hh, spot/twaalgos/complement.hh: Use them.
2022-01-14 15:52:49 +01:00
Alexandre Duret-Lutz
8c33f959a3 hoa: add support for controllable-AP
* doc/spot.bib (perez.19.hoa): New entry.
* spot/parseaut/public.hh: Mention it.
* spot/parseaut/parseaut.yy, spot/parseaut/scanaut.ll: Learn to parse
the controllable-AP header.
* spot/twaalgos/hoa.cc: Print it.
* tests/core/ltlsynt.test, tests/core/parseaut.test,
tests/core/readsave.test, tests/python/_synthesis.ipynb,
tests/python/except.py, tests/python/games.ipynb,
tests/python/mealy.py, tests/python/synthesis.py: Adjust or augment
test cases.
2022-01-10 14:51:34 +01:00
Alexandre Duret-Lutz
20bcc216a0 introduce the original-classes named property
* doc/org/concepts.org, NEWS: Document it.
* spot/twaalgos/determinize.cc, spot/twaalgos/determinize.hh,
spot/twaalgos/sbacc.cc, spot/twaalgos/sbacc.hh: Use it.
* spot/twa/twagraph.cc: Update it on defrag.
* spot/twa/twa.cc (copy_named_properties_of): Copy it.
* tests/python/det.py: New file.
* tests/Makefile.am: Add it.
* python/spot/impl.i (get_original_states, get_original_classes): New
methods, to help with the tests.
2021-12-17 22:36:16 +01:00
Alexandre Duret-Lutz
e7f0df048a tl: fix first_match definition
* doc/tl/tl.tex: Here.
2021-12-14 14:18:53 +01:00
Alexandre Duret-Lutz
4dc6bb08a2 org: update mailman urls
* doc/org/index.org, tests/python/bdditer.py: Here.
2021-12-13 10:08:34 +01:00
Alexandre Duret-Lutz
6eabc517ad Release Spot 2.10.2
* NEWS, configure.ac, doc/org/setup.org: Set version to 2.10.2.
2021-12-03 08:54:57 +01:00
Alexandre Duret-Lutz
6b46401d36 * doc/org/install.org: Stable Debian packages are for Bullseye. 2021-11-23 10:22:23 +01:00
Alexandre Duret-Lutz
1782af3924 Release Spot 2.10.1
* NEWS, configure.ac, doc/org/setup.org: Update for release.
2021-11-19 09:46:12 +01:00
Alexandre Duret-Lutz
5dfa039a48 * doc/org/compile.org: Fix instructions to uses -std=c++17. 2021-11-16 09:56:37 +01:00
Alexandre Duret-Lutz
a5f080338c Python 3.5 is now needed
* NEWS, README, HACKING, doc/org/install.org, m4/pypath.m4: Adjust.
2021-11-16 09:51:59 +01:00
Alexandre Duret-Lutz
aeb05f0ff0 * doc/org/index.org: Fix link to zlktree.html. 2021-11-14 22:17:15 +01:00
Alexandre Duret-Lutz
37de3470b8 Release Spot 2.10
* NEWS, configure.ac, doc/org/setup.org: Bump version.
2021-11-13 21:43:57 +01:00
Alexandre Duret-Lutz
0706887e62 * doc/Makefile.am (svgo): preserve the IDs in oaut-dot4.svg. 2021-11-13 21:43:57 +01:00
Alexandre Duret-Lutz
8d91aa4267 * doc/org/index.org: Advertise more features. 2021-11-13 11:08:12 +01:00
Alexandre Duret-Lutz
c72c285552 * doc/spot.bib: Add entries for multi-core emptiness-checks. 2021-11-05 17:06:20 +01:00
Alexandre Duret-Lutz
f99ddef787 bin: use regexes to detect shorthands, and add support for owl-21.0
Fixes #480.

* bin/common_trans.cc (shorthands_ltl, shorthands_autproc): Write
those lists using regexes.  Add entries for Owl 21.0.
(show_shorthands, tool_spec): Adjust to use those regexes.
* doc/org/autcross.org, doc/org/ltlcross.org, doc/org/ltldo.org:
Update the list of shorthands.
* tests/core/ltldo.test: Add a couple of tests.
* NEWS: Mention this new feature.
2021-11-04 15:24:10 +01:00
Alexandre Duret-Lutz
0ec1ee6de3 move parts of games.ipynb into synthesis.ipynb
* tests/python/synthesis.ipynb: New file, with bits removed from...
* tests/python/games.ipynb: ... here.
* tests/Makefile.am: Add synthesis.ipynb.
* NEWS, doc/org/tut.org: Mention the new notebook.
2021-10-07 10:48:02 +02:00
Alexandre Duret-Lutz
7bc2c31043 game: teach solve_game to use solve_safety_game
* spot/twaalgos/game.cc, spot/twaalgos/game.hh: Here.
* doc/org/tut40.org: Adjust example.
2021-10-07 09:25:01 +02:00
Alexandre Duret-Lutz
0ac5bbc05d ltlsynt: replace -x minimization-lvl=N by --simplify
* bin/ltlsynt.cc: Implement the new option, and make it default
to bisimulation with output assignment (a.k.a. bwoa).
* NEWS, bin/spot-x.cc, doc/org/ltlsynt.org: Update the documentation.
* spot/twaalgos/game.hh: Make bwoa the default.
* tests/core/ltlsynt.test: Add and adjust test cases.
* tests/python/games.ipynb: Adjust.
2021-10-06 18:00:24 +02:00
Alexandre Duret-Lutz
af5474d791 ltlsynt: replace -x specification-decomposition by --decompose
* bin/ltlsynt.cc: Implement the option, and enable it by default.
* doc/org/ltlsynt.org, doc/org/ltlsynt.tex, bin/spot-x.cc, NEWS:
Document it.
* tests/core/ltlsynt.test: Adjust test cases.
2021-10-06 10:51:42 +02:00
Alexandre Duret-Lutz
5d722ca584 * doc/org/tut.org: Fix a title. 2021-10-06 10:46:22 +02:00
Alexandre Duret-Lutz
405f76f0a0 games, synthetis: improve Doxygen
* spot/twaalgos/game.hh, spot/twaalgos/synthesis.hh,
spot/twaalgos/aiger.hh: Declare new Doxygen groups for games and
synthesis.
* doc/spot.bib: Cleanup.
2021-10-03 19:27:08 +02:00
Alexandre Duret-Lutz
590929fbcf ltlsynt: improve documentation
This addresses a few points from #479.

* doc/org/ltlsynt.tex: New file.
* doc/Makefile.am: Add it.
* doc/org/ltlsynt.org: Show the architecture, and mention more
options.
* bin/spot-x.cc: Document ltlsynt's -x options.
* bin/ltlsynt.cc: Fix default value of --aiger, and typo in its
documentation.
2021-10-03 15:24:23 +02:00
Alexandre Duret-Lutz
1b69ed96f9 ltlsynt: deduce --outs from --ins or vice-versa
* bin/ltlsynt.cc: Implement it.
* NEWS, doc/org/ltlsynt.org: Document it.
* tests/core/ltlsynt.test: Test it.
2021-10-02 21:57:58 +02:00
Alexandre Duret-Lutz
88d0d2e112 org: cleanup tut40
* doc/org/tut40.org: Add more explanations and some cleanup.
* python/spot/__init__.py (set_state_players, get_state_winners,
get_state_players, set_state_player, get_state_winner,
get_state_player, get_strategy): Add these methods to the twa_graph
class for convenience.
* NEWS, doc/org/tut.org: Mention tut40.org.
2021-10-01 08:48:11 +02:00
Jerome Dubois
211e7d90d3 org: Add a pratical example for games
* doc/org/tut40.org: Add a documentation on how to use games in a
pratical case. In this example, we compute simulation using
games. Fixes #445.
* doc/Makefile.am: Add tut40.org.
2021-10-01 08:47:28 +02:00
Florian Renkin
98ab826255 Introducing formula split
Split a LTL formula to a set of formula that don't share
output proposition. It allows to create multiple
strategies in ltlsynt.

* spot/twaalgos/synthesis.cc,
  spot/twaalgos/synthesis.hh: here
* doc/spot.bib: Add reference
2021-09-16 14:53:48 +02:00
Alexandre Duret-Lutz
5c5790039b zlktree: cleanup the interface, and add interactive ACD
* tests/python/_zlktree.ipynb: Remove and replace by...
* tests/python/zlktree.ipynb: ... this more documented notebook.
* tests/Makefile.am: Adjust.
* doc/org/tut.org, NEWS: Mention zlktree.ipynb.
* spot/twaalgos/zlktree.hh, spot/twaalgos/zlktree.cc,
python/spot/__init__.py: Cleanup interface, and add support for
interactive display.
2021-09-04 12:48:57 +02:00
Alexandre Duret-Lutz
dc17762e14 * doc/org/oaut.org (dot2tex): Acknowledge the 2.11 release. 2021-09-03 22:38:24 +02:00
Alexandre Duret-Lutz
4855d3c877 dot: add an option to output id= attributes
This will be handy latter to develop widgets with interactive
highlighting of automata.

* spot/twaalgos/dot.cc: Implement it.
* bin/common_aoutput.cc, NEWS, doc/org/oaut.org,
doc/org/spot.css: Document it.
* tests/core/alternating.test, tests/core/readsave.test,
tests/core/sccdot.test: Test it.
2021-09-03 22:38:24 +02:00
Alexandre Duret-Lutz
c924c63255 Merge branch 'master' into next 2021-08-10 17:43:20 +02:00
Alexandre Duret-Lutz
db0440f1fe Release Spot 2.9.8
* NEWS, configure.ac, doc/org/setup.org: Bump version to 2.9.8.
2021-08-10 17:37:00 +02:00
Alexandre Duret-Lutz
bb7426c0b9 org: we have a conda-forge package
* doc/org/install.org: Add conda instructions.
2021-08-10 13:39:45 +02:00
Alexandre Duret-Lutz
af511707c0 introduce a zielonka_tree class
* spot/twaalgos/zlktree.cc, spot/twaalgos/zlktree.hh: New files.
* spot/twaalgos/Makefile.am: Add them.
* tests/python/_zlktree.ipynb: New file.
* tests/Makefile.am: Add it.
* python/spot/__init__.py, python/spot/impl.i: Add bindings for it.
* doc/spot.bib (casares.21.icalp): New entry.
* NEWS: Mention this.
2021-07-30 11:00:25 +02:00
Alexandre Duret-Lutz
d43f23b423 org: we have a conda-forge package.
* doc/org/install.org: Add conda instructions.
2021-06-29 12:36:57 +02:00