Commit graph

6323 commits

Author SHA1 Message Date
Florian Renkin
4d2c096ec0 dot: fix 'g' with a Mealy machine
* spot/twaalgos/dot.cc: here
* tests/python/mealy.py: add test
2022-10-03 10:35:38 +02:00
Florian Renkin
27816ea438 synthesis: Fix for implication decomposition
* spot/twaalgos/synthesis.cc: here
2022-10-03 10:35:38 +02:00
Alexandre Duret-Lutz
3cd43f618c test: fix running on python test in OpenBSD
* tests/run.in: Add LD_LIBRARY_PATH.
2022-10-02 14:37:21 +02:00
Alexandre Duret-Lutz
0521901e9d revert c45ff0c94 and add test case showing why
* bin/ltlsynt.cc: Revert c45ff0c94.  Also fix documentation of exit
status.
* tests/core/ltlsynt2.test: New file.
* tests/Makefile.am: Add it.
2022-09-26 14:15:33 +02:00
Alexandre Duret-Lutz
51caa5588e update gitlab references
As LRDE is being renamed LRE, gitlab is one of the first URL to
migrate.  The old URL is still supported, but we want to only use the
new one eventually.

* .dir-locals.el, .gitlab-ci.yml, HACKING, NEWS, doc/org/concepts.org,
doc/org/install.org, doc/org/setup.org, elisp/Makefile.am,
elisp/hoa-mode.el, tests/ltsmin/README: Update to the new gitlab URL.
2022-09-23 08:57:57 +02:00
Alexandre Duret-Lutz
383128d983 * doc/tl/tl.tex: Fix a couple of typos detected by ispell. 2022-09-23 08:57:57 +02:00
Alexandre Duret-Lutz
3729dfad90 translate: add a branch-post option
* spot/twaalgos/translate.cc, spot/twaalgos/translate.hh: Here.
* NEWS, bin/spot-x.cc: Mention it.
* tests/core/genltl.test: Test it.
2022-09-23 08:57:57 +02:00
Alexandre Duret-Lutz
7ed62f7eed genltl: introduce --eil-gsi
Based on a mail from Edmond Irani Liu.  The test case also serves for
the previous patch.

* bin/genltl.cc, spot/gen/formulas.cc, spot/gen/formulas.hh: Add it.
* NEWS: Mention it.
* tests/core/genltl.test: Test it.
2022-09-23 08:57:57 +02:00
Alexandre Duret-Lutz
3efab05cf2 introduce delay_branching_here
This is motivated by an example sent by Edmond Irani Liu,
that will be tested in next patch.

* spot/twaalgos/dbranch.cc, spot/twaalgos/dbranch.hh: New files.
* python/spot/impl.i, spot/twaalgos/Makefile.am: Add them.
* spot/twaalgos/translate.cc: Call delay_branching_here
unconditionally.
* spot/twa/twagraph.cc (defrag_states): Do not assume
that games are alternating.
* tests/core/genltl.test: Adjust expected numbers.
* tests/python/dbranch.py: New file.
* tests/Makefile.am: Add it.
2022-09-23 08:57:57 +02:00
Alexandre Duret-Lutz
aa7992c65f simplify some uses of minato_isop
Typically intead of doing

    minato_isop isop(rel & letter);
    while (bdd cube = isop.next()) {
       bdd res = bdd_exists(cube, ap)
       ...
    }

do

    minato_isop isop(bdd_relprod(rel, letter, ap);
    while (bdd res = isop.next()) {
       ...
    }

this way the existential quantification is done once at the same time
of the conjunction, and isop has fewer variable to work with.

* spot/twaalgos/alternation.cc, spot/twaalgos/dualize.cc,
spot/twaalgos/simulation.cc, spot/twaalgos/toweak.cc: Here.
2022-09-23 08:57:57 +02:00
Philipp Schlehuber-Caissier
c45ff0c94c fix: ltlsynt --tlsf does not propagate name to csv
* bin/ltlsynt.cc: Here
2022-09-21 21:03:06 +02:00
Philipp Schlehuber-Caissier
4a24739c3f Improving minimize_mealy benchmarking
* python/spot/__init__.py: Adding helper function for
inline plot of csv
*spot/twaalgos/mealy_machine.cc, spot/twaalgos/mealy_machine.hh:
Main changes
* tests/python/_mealy.ipynb: Update
* tests/python/ipnbdoctest.py: Ignore timing table
* tests/python/synthesis.ipynb: Update
2022-09-21 21:03:06 +02:00
Philipp Schlehuber-Caissier
c63c1796b9 Improve aiger INF encoding
the encoding cna be simplified to produce less gates
when high or low is True.

* spot/twaalgos/aiger.cc: Here
* tests/python/_synthesis.ipynb: Test
2022-09-21 17:28:04 +02:00
Alexandre Duret-Lutz
c1c874b1a5 ltlsynt: add options --dot and --hide-status
* bin/ltlsynt.cc: Implement these options.
* bin/common_aoutput.hh, bin/common_aoutput.cc (automaton_format_opt):
Make extern.
* NEWS: Mention the new options.
* doc/org/ltlsynt.org: Use dot output in documentation.
* tests/core/ltlsynt.test: Quick test of the new options.
2022-09-14 15:33:46 +02:00
Alexandre Duret-Lutz
ef0aeed228 ltlsynt: fix documentation of --aiger option
* bin/ltlsynt.cc: Here.
2022-09-14 11:29:18 +02:00
Alexandre Duret-Lutz
b3b22388c9 postproc: introduce -x merge-states-min
* spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh: Introduce a
merge-states-min option.
* bin/spot-x.cc: Document it.
* spot/gen/automata.cc, spot/gen/automata.hh, bin/genaut.cc: Add
option to generate cyclist test cases.
* NEWS: Document the above.
* tests/core/included.test: Add test cases that used to be too slow.
2022-09-13 15:19:55 +02:00
Alexandre Duret-Lutz
d9248e2e97 * doc/org/concepts.org (T-based vs. S-based acceptance): Adjust example. 2022-09-12 14:15:05 +02:00
Alexandre Duret-Lutz
bdac53511a degen: learn to work on generalized-Co-Büchi as well
* spot/twaalgos/degen.hh, spot/twaalgos/degen.cc: Adjust
degeneralize() and degeneralize_tba() to work on generalized-co-Büchi.
* NEWS: Mention this.
* spot/twaalgos/cobuchi.hh, spot/twaalgos/cobuchi.cc (to_nca): Use
degeneralization on generalized-co-Büchi.
* spot/twaalgos/postproc.cc: Use degeneralization for generalized
co-Büchi as well.
* bin/autfilt.cc: Improve chain products of co-Büchi automata by using
generalization if too many colors are needed.
* tests/core/prodchain.test, tests/python/pdegen.py: Add test cases.
2022-09-12 14:14:43 +02:00
Alexandre Duret-Lutz
fe3ebd370b add the TACAS'22 reference
* doc/org/citing.org, doc/spot.bib: There.
2022-09-07 09:59:31 +02:00
Alexandre Duret-Lutz
0f131f2eee product: Büchi|Büchi=Büchi, CoBüchi&CoBüchi=CoBüchi
Improve the construction of the above constructions, saving colors.

* spot/twaalgos/product.cc: Here.
* spot/twaalgos/product.hh, NEWS: Mention it.
* tests/core/prodchain.test, tests/core/prodor.test,
tests/python/_product_weak.ipynb: Adjust.
2022-09-06 18:05:52 +02:00
Alexandre Duret-Lutz
7cf580a9c5 we want the tarball we distribute to be built on Debian unstable
See issue #512.

* .gitlab-ci.yml (make-dist): New build.
(debian-unstable-gcc-pypy, arch-gcc-glibcxxdebug, mingw-shared,
mingw-static, publish-stable): Depend upon make-dist.
2022-09-02 20:50:04 +02:00
Alexandre Duret-Lutz
2e32793ed1 * .gitlab-ci.yml (debian-unstable-gcc-coverage): Export coverage.css. 2022-09-02 20:49:58 +02:00
Alexandre Duret-Lutz
925ac6bbe4 * .gitlab-ci.yml: Use gcovr and produce an XML report for gitlab. 2022-09-01 10:40:40 +02:00
Alexandre Duret-Lutz
cd21521bfe * spot/twa/twagraph.cc (merge_states): Some cleanup and simplifications. 2022-08-14 23:09:56 +02:00
Alexandre Duret-Lutz
d1b8495510 do not use a global variable to define the number of available threads
* python/spot/impl.i: Make parallel_policy implicitly contractible.
* spot/graph/graph.hh (sort_edges_srcfirst_): Pass a parallel_policy
explicitly.
* spot/twa/twagraph.hh, spot/twa/twagraph.cc (merge_states): Likewise.
* spot/misc/common.cc: Remove file.
* spot/misc/common.hh (set_nthreads, get_nthreads): Remove, and
replace with...
(parallel_policy): ... this.
* spot/misc/Makefile.am, tests/python/mergedge.py, NEWS: Adjust.
2022-08-14 23:09:56 +02:00
Alexandre Duret-Lutz
2848951965 * doc/spot.bib: Add entries for last two tool papers. 2022-08-10 10:28:44 +02:00
Alexandre Duret-Lutz
a7e87a1fc7 Mention the CAV'22 paper
* doc/org/citing.org: Here.
* doc/org/spot.css: Add support for "begin_note...end_note".
2022-08-10 10:28:41 +02:00
Alexandre Duret-Lutz
faa8fe8873 mealy: cleanup the doxygen documentation
* spot/twaalgos/mealy_machine.hh: Create a new "Mealy" section for
all these function, and fix some doc strings.
2022-08-06 15:08:11 +02:00
Alexandre Duret-Lutz
de9041bb31 mealy: make output_assignment the default for reduce_mealy
* spot/twaalgos/mealy_machine.hh: Here. Also cite the FORTE paper.
* doc/spot.bib (renkin.22.forte): New entry.
2022-08-06 14:08:23 +02:00
Alexandre Duret-Lutz
b0165cf39c * doc/org/tut10.org: Use the same formula in C++ as in Python and sh. 2022-08-05 18:55:44 +02:00
Alexandre Duret-Lutz
8b93b6967d rename pg_print() as print_pg() and add it to to_str()
* NEWS: Mention those change.
* spot/twaalgos/game.hh (print_pg): New function.
(pg_print): Mark as deprecated.
* spot/twaalgos/game.cc (pg_print): Redirect to print_pg().
(print_pg): Update to output state names.
* python/spot/__init__.py: Teach to_str() about print_pg().
* bin/ltlsynt.cc: Adjust to call print_pg().
* tests/python/games.ipynb: Add an example.
* tests/core/ltlsynt.test: Adjust to remove the "INIT" note.
2022-07-23 21:38:23 +02:00
Alexandre Duret-Lutz
b3e994c249 * spot/twaalgos/hoa.cc: Typo in error message. 2022-07-22 10:54:15 +02:00
Alexandre Duret-Lutz
444e2b5b89 parseaut: Add support for PGSolver's format
* spot/parseaut/parseaut.yy, spot/parseaut/scanaut.ll: Add rules for
PGSolver's format.
* spot/parseaut/public.hh: PGAME is a new type of output.
* tests/core/pgsolver.test: New file.
* tests/Makefile.am: Add it.
* tests/python/games.ipynb: More exemples.
* NEWS: Mention the new feature.
2022-07-22 10:54:08 +02:00
Alexandre Duret-Lutz
d6b3c757d0 test: ignore OpenBSD's "Terminated" messages
For #501.

* tests/core/autcross4.test: Here.
2022-07-12 15:43:39 +02:00
Alexandre Duret-Lutz
3e2201bd80 tests: add figures from CAV'22 paper
* tests/python/cav22-figs.ipynb: New file.
* doc/org/tut.org, tests/Makefile.am: Add it.
2022-07-12 15:05:09 +02:00
12920c44e3 Trigger archival services on new release
* .gitlab-ci.yml: curl Software Heritage and Internet Archive endpoints
to trigger archival on push to stable
2022-07-07 23:23:41 +02:00
Florian Renkin
6dd99e049b to_parity: Rewrite the function and add new transformations
* spot/twaalgos/synthesis.cc: Now needs to call reduce_parity.
* spot/twaalgos/toparity.cc, spot/twaalgos/toparity.hh: here.
* spot/twaalgos/zlktree.hh: make zielonka_node public
* tests/core/ltlsynt.test, tests/python/games.ipynb,
  tests/python/synthesis.ipynb, tests/python/toparity.py:
  update tests
2022-07-07 20:43:21 +02:00
Florian Renkin
3f333792ff Add a procedure that detects if an automaton is parity-type
* spot/twaalgos/genem.cc, spot/twaalgos/genem.hh: add detection
  of edges that are in at least one accepting cycle.
* spot/twaalgos/toparity.cc,
  spot/twaalgos/toparity.hh: add parity_type_to_parity and
  buchi_type_to_buchi.
2022-07-07 20:43:21 +02:00
Alexandre Duret-Lutz
5b8350bc9b rpm: omit *.la files
* spot.spec.in: It seems RedHat does not distribute *.la files anymore.
2022-07-07 15:51:11 +02:00
Alexandre Duret-Lutz
1cfb4a14ec bloemen: simplify style
Fixes #510.

* spot/mc/bloemen_ec.hh: Here.
2022-07-06 17:11:55 +02:00
Alexandre Duret-Lutz
69eba6fd9a bloemen: fix a unused variable warning
As discussed in #510.

* spot/mc/bloemen_ec.hh: Here.
2022-07-06 16:34:01 +02:00
Alexandre Duret-Lutz
ee55dabfaa * spot/mc/cndfs.hh: Fix a unused variable warning in NDEBUG. 2022-07-05 23:56:36 +02:00
Alexandre Duret-Lutz
a66c305609 gen: work around a warning on red hat
When n is an int, doing "new formula[n];" gives us "warning: argument 1
value '18446744073709551615' exceeds maximum object size
9223372036854775807" on Red Hat.

* spot/gen/formulas.cc (pps_arbiter): Pass n as unsigned.  Also
fix some determinism in the strict variant.
2022-07-05 11:10:43 +02:00
Alexandre Duret-Lutz
ff89601306 utf8: Update to match current version
* utf8/LICENSE, utf8/utf8/cpp11.h, utf8/utf8/cpp17.h: New files.
* Makefile.am: Distribute them.
* utf8/README.md, utf8/utf8/checked.h, utf8/utf8/core.h,
utf8/utf8/unchecked.h: Update to the current version of utfcpp.
* README: Add a link to the upstream github.
2022-07-05 10:56:57 +02:00
Alexandre Duret-Lutz
efee1c4130 * spot/twaalgos/mealy_machine.cc (is_complete_): Define in debug only. 2022-07-05 10:41:24 +02:00
Alexandre Duret-Lutz
833fcdebc1 work around GCC bug 106159
* m4/gccwarn.m4: Add an example of multiple inheritance of virtual
classes to trigger to new -Woverloaded-virtual warning on the
destructor.
2022-07-05 10:38:51 +02:00
Alexandre Duret-Lutz
1fc94ee6f2 gnulib: install the environ module
This should fix compilation on OSX, as reported by Yann Thierry-Mieg.

* m4/environ.m4: New file.
* m4/gnulib-cache.m4, m4/gnulib-comp.m4: Update.
* bin/common_trans.cc [HAVE_SPAWN_H]: Do not define environ.
2022-06-30 09:50:13 +02:00
Alexandre Duret-Lutz
db725ffaf8 * spot/twaalgos/degen.cc (propagate_marks_here): Cleanup previous patch. 2022-06-30 09:18:03 +02:00
Philipp Schlehuber-Caissier
99bf152673 propagate_marks_here can break state-acc prop
* spot/twaalgos/degen.cc: Fix
* tests/python/pdegen.py: Test
2022-06-29 14:02:36 +02:00
Philipp Schlehuber-Caissier
ddbdcd39cb Adept ltlsynt pgame to new solver
* bin/ltlsynt.cc: Remove change/colorize_parity, check alternating
2022-06-29 13:19:57 +02:00