Commit graph

6734 commits

Author SHA1 Message Date
7b376a212c Add ltl2aa binary to tests/core 2025-03-17 16:11:36 +01:00
ffd60219b5 psl not working 2025-03-17 16:11:36 +01:00
43ed07d283 ltl2aa: factorize self-loop creation 2025-03-17 16:11:36 +01:00
e4bfebf36f twaalgos: add LTL to AA translation 2025-03-17 16:11:36 +01:00
6ebbb93024 twaalgos: filter accepting sinks in oe combiner 2025-03-17 16:11:36 +01:00
00ad02070b graph: filter accepting sinks in univ_dest_mapper 2025-03-17 16:11:36 +01:00
a046a4983c derive: use first 2025-03-17 16:11:36 +01:00
1925910f4a derive: handle AndNLM 2025-03-17 16:11:36 +01:00
eea35cdb31 derive: extract AndNLM rewriting 2025-03-17 16:11:36 +01:00
5b3b292b10 derive: no nullptr handling 2025-03-17 16:11:36 +01:00
2df8e200d8 derive: use from_finite 2025-03-17 16:11:36 +01:00
3b3ec16b20 twaalgos: add from_finite
* spot/twaalgos/remprop.cc, spot/twaalgos/remprop.hh: add a from_finite
  function to perform the opposite operation to to_finite
2025-03-17 16:11:36 +01:00
175012b919 twaalgos: extract internal sere2dfa 2025-03-17 16:11:36 +01:00
4a646e5aa0 tl: implement SERE derivation 2025-03-17 16:11:36 +01:00
2ae9da1bc6 twagraph: merge_edges supports finite automata
* spot/twa/twagraph.cc: don't remove false-labeled edges if the
  automaton uses state-based acceptance and the edge is a self loop
2025-03-17 16:11:36 +01:00
Alexandre Duret-Lutz
b6e782589e bin: handle '--parity=X --colored-parity' like '--colored-parity=X'
Fixes #602.

* bin/common_post.cc (-P, -p): Do not overwrite an existing parity
specification if none were given.
* tests/core/parity2.test: Test this.
2025-03-11 14:19:30 +01:00
Alexandre Duret-Lutz
1dd2ce3ae2 sanity: improve bin.test
* tests/sanity/bin.test: Add missing exit status on error,
and report manpage and binaries missing from spot.spec.in.
* spot.spec.in: Add ltlmix and ltlmix.1.
* bin/ltlsynt.cc: Fix formating for --algo.
2025-03-11 14:19:30 +01:00
c4e3509d18 * bin/.gitignore: Add ltlmix to gitignore 2025-03-07 10:34:56 +01:00
Alexandre Duret-Lutz
539d250587 * spot/twaalgos/gtec/gtec.cc: Work around spurious warning. 2025-02-26 12:08:46 +01:00
Alexandre Duret-Lutz
00456e5211 ltlfilt: add a --save-part-file option
* bin/ltlfilt.cc: Add support for --save-part-file.
* NEWS, doc/org/ltlfilt.org: Mention it.
* tests/core/ltlfilt.test: Test it.
2025-02-25 22:47:51 +01:00
Alexandre Duret-Lutz
b1b06ef7bd ltlsynt: remove superfluous output options
No point in having options such as --spin, --lbtt, --check, etc.
Also --dot was documented twice...

* bin/ltlsynt.cc (children): Remove aoutput_argp.
(options): Add explicit support for -d, -H, -q.
* bin/common_aoutput.cc, bin/common_aoutput.hh: Share the HOA help
text.
2025-02-25 22:47:10 +01:00
Alexandre Duret-Lutz
d0e404fec0 gnulib: fix argp --help formatting
This is a patch that was sent by Simon Reinhardt to gnulib and has
never been applied.  It fixes a several formatting issues in --help.
https://lists.gnu.org/archive/html/bug-gnulib/2016-02/msg00013.html

* lib/argp-fmtstream.c (__argp_fmtstream_update): Flush output as soon
as possible.
* lib/argp-fmtstream.h (struct argp_fmtstream): Member point_offs is
no longer needed.
* lib/argp-help.c (indent_to): Flush output to avoid a spurious
newline before an overlong word.
2025-02-25 17:26:36 +01:00
Alexandre Duret-Lutz
27fb175276 ltlsynt: fix a memory leak
* bin/ltlsynt.cc: Declare the realizability_simplifier as a unique_ptr
so that it gets deleted after use.
* NEWS: Mention the bug.
2025-02-25 17:26:18 +01:00
Alexandre Duret-Lutz
aba0e8dd24 * spot/twaalgos/mealy_machine.hh: Typo in documentation. 2025-02-25 17:26:10 +01:00
Alexandre Duret-Lutz
602aad013f aiger: never use state names for encoding
* spot/twaalgos/aiger.cc (mealy_machine_to_aig): Remove the code that
attempted to convert state names to integer, throwing exceptions on
failure.  That code was not exercised anywhere, but it caused failure
in the implementation of an LTLf->AIG pipeline in which LTLf formulas
that label states are preserved.
2025-02-25 17:26:01 +01:00
Alexandre Duret-Lutz
c5a0f323c8 Merge branch 'master' into next 2025-01-18 22:36:56 +01:00
Alexandre Duret-Lutz
5cbc28897e * configure.ac, NEWS: Bump version to 2.12.2.dev. 2025-01-18 16:20:57 +01:00
Alexandre Duret-Lutz
ec3e6750ee release Spot 2.12.2
* configure.ac, doc/org/setup.org: Bump version to 2.12.2.
* bin/common_setup.cc, debian/copyright: Bump copyright year to 2025.
* NEWS: Update.
2025-01-18 16:20:46 +01:00
Philipp Schlehuber-Caissier
480e5e999b Fix slight error in aiger
The negation of global equivalences for outputs
contained a slight error when the output corresponded
to a negated gate.

* spot/twaalgos/aiger.cc: Fix
* tests/core/ltlsynt.test: Test
2025-01-17 22:33:35 +01:00
Alexandre Duret-Lutz
465210cbc9 python: improve ACD's CSS
Some colleagues complained that the highlighting of edges and nodes
in the ACD display where not very readable, especially when sharing
screen during some video call.  This should improve it.

* python/spot/__init__.py (acd): Fill the contents of the nodes when
they are highlighted.  Add some glowing effect the the highlighted
edges.
* tests/python/zlktree.ipynb: Adjust.
2025-01-17 22:30:44 +01:00
Alexandre Duret-Lutz
e4a49cda02 work around a change in python 3.13
* python/spot/__init__.py: Unindent the docstring for
formula.__format__.  Because Python 3.13 strips the indentation but
previous version didn't, the following test case failed with Python
3.13.
* tests/python/formulas.ipynb: Adjust to unindented docstring.
2025-01-17 22:30:19 +01:00
Alexandre Duret-Lutz
c67332f825 Fix LaTeX rendering of strong next
Fix #597.

* spot/tl/print.cc: Fix rendering of X[!].
* doc/tl/spotltl.sty: Add a \StrongX definition.
* tests/core/latex.test: Add a test case.
* NEWS: Mention the issue.
2025-01-17 22:29:59 +01:00
Alexandre Duret-Lutz
6e6219af54 correct to_finite
This fixes issue #596.

* spot/twaalgos/remprop.cc: Rewrite main loop.
* tests/core/ltlf.test: Add test case.
* tests/python/game.py: Remove a test that appears
to make incorrect assumptions about to_finite.
* NEWS: Mention the bug.
2025-01-17 22:29:55 +01:00
Alexandre Duret-Lutz
cd5ac041f2 hierarchy: improve error message
* spot/tl/hierarchy.cc (mp_class): Fix type of o so that it is
displayed as an character in error messages.
2025-01-17 22:29:53 +01:00
Philipp Schlehuber-Caissier
ddbe0e32b0 Fix slight error in aiger
The negation of global equivalences for outputs
contained a slight error when the output corresponded
to a negated gate.

* spot/twaalgos/aiger.cc: Fix
* tests/core/ltlsynt.test: Test
2025-01-09 08:56:43 +01:00
Alexandre Duret-Lutz
461dc842e9 work around a change in python 3.13
* python/spot/__init__.py: Unindent the docstring for
formula.__format__.  Because Python 3.13 strips the indentation but
previous version didn't, the following test case failed with Python
3.13.
* tests/python/formulas.ipynb: Adjust to unindented docstring.
2025-01-01 21:55:23 +01:00
Alexandre Duret-Lutz
c971ce57a6 Fix LaTeX rendering of strong next
Fix #597.

* spot/tl/print.cc: Fix rendering of X[!].
* doc/tl/spotltl.sty: Add a \StrongX definition.
* tests/core/latex.test: Add a test case.
* NEWS: Mention the issue.
2025-01-01 21:55:15 +01:00
Alexandre Duret-Lutz
82401b3254 correct to_finite
This fixes issue #596.

* spot/twaalgos/remprop.cc: Rewrite main loop.
* tests/core/ltlf.test: Add test case.
* tests/python/game.py: Remove a test that appears
to make incorrect assumptions about to_finite.
* NEWS: Mention the bug.
2025-01-01 21:55:12 +01:00
Alexandre Duret-Lutz
4a33f0fe65 hierarchy: improve error message
* spot/tl/hierarchy.cc (mp_class): Fix type of o so that it is
displayed as an character in error messages.
2024-10-30 12:07:55 +01:00
Alexandre Duret-Lutz
368eb6e0cd Merge branch 'master' into next 2024-09-23 13:42:31 +02:00
Alexandre Duret-Lutz
b05c90cd87 bump version to 2.12.1.dev
* NEWS, configure.ac: Here.
2024-09-23 13:33:08 +02:00
Alexandre Duret-Lutz
b63f16060a release Spot 2.12.1
* NEWS, configure.ac, doc/org/setup.org: Update.
2024-09-23 12:04:28 +02:00
Alexandre Duret-Lutz
c92418b51c * .gitlab-ci.yml (publish-stable): Add scp for LRE's dload host. 2024-09-23 11:56:34 +02:00
Alexandre Duret-Lutz
376755dbd4 game: avoid a spurious g++14 warning
* spot/twaalgos/game.cc, spot/twaalgos/game.hh (get_state_winners):
Declare a non-const version as well to avoid a "possibly dangling
reference" error in code show by tut40.org.
2024-09-23 11:55:22 +02:00
Alexandre Duret-Lutz
941475fbdb fix spurious g++-14 warning
* spot/twaalgos/mealy_machine.cc (mm_sat_prob_t<true>::get_sol): Here.
2024-09-23 11:55:02 +02:00
Alexandre Duret-Lutz
1a36ea6ce4 ltlsynt: fix usage for --dot's argument
* bin/ltlsynt.cc (dispatch_print_hoa): Pass the right argument to
print_dot.
* tests/core/ltlsynt.test: Test it.
* NEWS: Mention the bug.
2024-09-23 11:54:57 +02:00
Alexandre Duret-Lutz
514209e80f * configure.ac: Typo. 2024-09-23 11:54:51 +02:00
Alexandre Duret-Lutz
f5ab5678b5 python: improve support of spot-extra, and recent swig
I could not run "make check" in a copy of seminator 2.0 regenerated
with swig 4.0, because of changes in the way Swig imports its shared
libraries.

* python/spot/__init__.py: If sys.path contains "/spot-extra"
directory, add it to spot.__path__ as well.  This helps situations
where a plugin use libtool and the development tree has the shared
libraries in .../spot-extra/.libs/
2024-09-23 11:54:40 +02:00
Alexandre Duret-Lutz
cc0f6f1e0d game: fix solving "parity min" games with multi-colored edges
* spot/twaalgos/game.cc: If the original acceptance is "parity min",
use min_set(), not max_set(), to read edge priorities.
* tests/python/game.py: Add a test case.
* NEWS: Mention the bug.
2024-09-23 11:54:22 +02:00
Alexandre Duret-Lutz
97832af321 randltl: fix generation without unary operators
* spot/tl/randomltl.hh (has_unary_ops): New method.
* spot/tl/randomltl.cc: Avoid creating subformulas of even size
when we do not have unary operators.
* tests/core/randpsl.test: Test it.
* NEWS: Mention it.
2024-09-23 11:53:41 +02:00