Alexandre Duret-Lutz
a8e47d0bd2
toparity: typo in pretty print
...
* spot/twaalgos/toparity.cc: Fix pretty print.
2019-06-18 19:12:42 +02:00
Alexandre Duret-Lutz
8c13d7209e
ltlsynt: misc typos
...
* doc/org/ltlsynt.org: Fix example.
* bin/ltlsynt.cc: Fix --help text.
2019-06-18 19:12:42 +02:00
Alexandre Duret-Lutz
8df5f5137e
gfguarantee: fix #357 again
...
The previous patch triggered this issue again, failing
core/ltl2tgba2.test.
* spot/twaalgos/gfguarantee.cc: Separate the replaying of history from
the modification of the automaton.
* NEWS: Mention the bug.
* tests/python/twagraph-internals.ipynb, tests/python/automata.ipynb:
Adjust.
2019-06-18 19:12:36 +02:00
Alexandre Duret-Lutz
da5d23f0a2
simplify: GF(f)=GF(dnf(f)) FG(f)=FG(cnf(f))
...
These rules come from Delag's paper, and help some cases
in issue #385 .
* spot/tl/simplify.cc: Implement the simplification.
* doc/tl/tl.tex, NEWS: Document it.
* tests/core/385.test: New file.
* tests/Makefile.am: Add it.
* tests/core/reduccmp.test: More tests.
* tests/core/ltl2tgba2.test: Adjust one improved case.
* tests/python/automata.ipynb, tests/python/twagraph-internals.ipynb:
Adjust expected output, as the cnf/dnf reorder some subformulas.
2019-06-18 10:03:56 +02:00
Alexandre Duret-Lutz
df326e032b
use a bibtex file to collect all references in Doxygen
...
* doc/tl/tl.bib: Move ...
* doc/spot.bib: ... here, and augment it with all references that
appeared verbatim in Doxygen comments.
* doc/Makefile.am, doc/tl/Makefile.am
doc/tl/tl.tex: Adjust for the move.
* doc/Doxyfile.in: Point to spot.bib.
* spot/gen/automata.hh, spot/gen/formulas.hh, spot/misc/game.hh,
spot/misc/minato.hh spot/taalgos/emptinessta.hh,
spot/taalgos/minimize.hh, spot/taalgos/tgba2ta.hh, spot/tl/formula.hh,
spot/tl/remove_x.hh, spot/tl/simplify.hh, spot/tl/snf.hh,
spot/twaalgos/cobuchi.hh, spot/twaalgos/cycles.hh,
spot/twaalgos/dualize.hh, spot/twaalgos/gtec/gtec.hh,
spot/twaalgos/gv04.hh, spot/twaalgos/ltl2taa.hh,
spot/twaalgos/ltl2tgba_fm.hh, spot/twaalgos/magic.hh,
spot/twaalgos/minimize.hh, spot/twaalgos/parity.hh,
spot/twaalgos/powerset.hh, spot/twaalgos/randomgraph.hh,
spot/twaalgos/se05.hh, spot/twaalgos/simulation.hh,
spot/twaalgos/strength.hh, spot/twaalgos/stutter.hh,
spot/twaalgos/tau03.hh, spot/twaalgos/totgba.hh,
spot/twaalgos/toweak.hh: Use \cite instead of a verbatim bibtex entry.
2019-06-14 21:02:27 +02:00
Alexandre Duret-Lutz
d064b7dad2
is_parity: fix unitialized value of max on False return
...
* spot/twa/acc.cc: Here. This fixes two failures on the buildfarm.
2019-06-13 09:55:35 +02:00
Alexandre Duret-Lutz
b4da0cf660
hierarchy: add a new way to check DBA-realizability via DPA
...
* spot/tl/hierarchy.cc, spot/tl/hierarchy.hh: Here.
* tests/core/hierarchy.test: Test it.
* bin/man/spot-x.x: Document SPOT_PR_CHECK.
* doc/org/hierarchy.org, NEWS: Update.
2019-06-12 23:38:17 +02:00
Alexandre Duret-Lutz
2617c17b45
* NEWS: Typos.
2019-06-12 22:09:07 +02:00
Alexandre Duret-Lutz
eb7b68ad58
use reduce_parity in translator and posprocessor
...
* spot/twaalgos/postproc.cc, spot/twaalgos/translate.cc: Here.
* tests/core/genltl.test, tests/core/parity2.test,
tests/core/sccsimpl.test, tests/python/twagraph-internals.ipynb:
Adjust test cases.
* NEWS: Mention it.
2019-06-12 22:05:04 +02:00
Alexandre Duret-Lutz
ebfa3a377a
parity: introduce reduce_parity()
...
* spot/twaalgos/parity.cc, spot/twaalgos/parity.hh: Here.
* tests/core/parity.cc: Add test case.
* tests/python/parity.ipynb, NEWS: More documentation.
2019-06-12 22:05:02 +02:00
Alexandre Duret-Lutz
f6575d2ec5
improve cleanup_parity() and colorize_parity()
...
Fixes #384 .
* spot/twaalgos/parity.cc: Here.
* tests/core/parity2.test, tests/python/highlighting.ipynb,
tests/python/parity.py: Adjust test cases.
* tests/python/parity.ipynb: Improve the presentation.
* NEWS: Mention the change.
2019-06-11 21:24:55 +02:00
Alexandre Duret-Lutz
f0b77e21c8
autcross: simplify code using complement() and intersecting_word()
...
* bin/autcross.cc: Let complement() decide how to complement automata.
Do not apply remove_fin(), because we have a generic emptiness check
now. Use intersecting_word() instead of product()+accepting_word() so
that the former can maybe be optimized in the future.
* tests/core/autcross2.test: Adjust test case to use TGBA instead
of monitors, as calling complement() had a side-effect of setting
the "weak" property on the input.
2019-06-07 14:56:56 +02:00
Alexandre Duret-Lutz
cba012328e
genaut: introduce --m-nba
...
* bin/genaut.cc: Implement the --m-nba option.
* spot/gen/automata.hh, spot/gen/automata.cc: Add the generation code.
* NEWS, bin/man/genaut.x: Document it.
* doc/org/genaut.org: Update.
* tests/core/genaut.test, tests/core/parity2.test: Add some tests.
2019-06-07 14:16:42 +02:00
Alexandre Duret-Lutz
435fec89b0
Merge branch 'master' into next
2019-06-05 08:12:35 +02:00
Alexandre Duret-Lutz
f30c941583
* NEWS, configure.ac: Bump version to 2.7.5.dev.
2019-06-05 08:09:19 +02:00
Alexandre Duret-Lutz
e9fb50114f
Release Spot 2.7.5
...
* NEWS, configure.ac, doc/org/setup.org: Bump version.
2019-06-05 08:05:24 +02:00
Alexandre Duret-Lutz
0ff6c5c43b
* NEWS: Mention swig4 support.
2019-06-04 13:58:19 +02:00
Alexandre Duret-Lutz
57e6208e1e
Update instructions for divine-ltsmin installation
...
* tests/ltsmin/README: Here.
* THANKS: Reported by Jiraphapa Jiravaraphan.
2019-06-04 13:58:19 +02:00
Alexandre Duret-Lutz
7d6bfe545f
remprop: reset no-terminal property
...
Reported by Yong Li.
* spot/twaalgos/remprop.cc: Here.
* tests/python/removeap.py: New test case.
* tests/Makefile.am: Add it.
* NEWS: Document the issue.
* THANKS: Add Yong Li.
2019-06-04 13:58:19 +02:00
Alexandre Duret-Lutz
65e8d16f57
tests: add missing copyright blobs
...
* tests/python/remfin.py, tests/python/tra2tba.py: Here.
2019-06-04 13:58:19 +02:00
Alexandre Duret-Lutz
4a5259d1fa
work around another swig4 change
...
* python/spot/impl.i: Make sure spot::acc_cond::mark_t::operator<<
exceptions are not ignored.
2019-06-04 13:58:19 +02:00
Alexandre Duret-Lutz
bae8be9333
work around swig4 regression
...
* python/Makefile.am: Here.
2019-06-04 11:32:50 +02:00
Alexandre Duret-Lutz
05b3007885
work around new import statements generated by swig-4.0
...
Those statements are not compatible with the fact that
libtool-generated modules are in .libs/ until they get installed.
* python/spot/__init__.py: Add sys.path to __path__ if SPOT_BUILD is
set.
* tests/run.in: Set SPOT_BUILD.
2019-06-04 11:32:46 +02:00
Alexandre Duret-Lutz
428607df1a
python: remove the -nofastproxy option
...
This was introduced by b893b5597 to work around some IPython 2 issue
(https://github.com/ipython/ipython/issues/7003 ).
* python/Makefile.am (SWIGFLAGS): Remove obsolete option.
* python/spot/__init__.py: Adjust.
2019-06-04 11:32:37 +02:00
Alexandre Duret-Lutz
bdd5a0b981
test: add missing copyright boilerplate
...
* tests/python/genem.py: Here.
2019-06-04 11:32:24 +02:00
Alexandre Duret-Lutz
2950833929
translate: relabel_bool was ignored when option_map was not supplied
...
* spot/twaalgos/translate.cc: Set relabel_bool_ to 4 by default, not
-1.
* NEWS: Mention the bug.
2019-06-04 11:31:50 +02:00
Alexandre Duret-Lutz
11e8f9592f
dot: replace large labels by "(label too long)"
...
Based on a report by Victor Khomenko.
* spot/twaalgos/dot.cc: Here.
* tests/core/readsave.test: Add test case.
* NEWS: Mention it.
2019-06-04 11:27:47 +02:00
Alexandre Duret-Lutz
58389bdb80
tl: extend F[n:m] and G[n:m] to the case of m=$
...
Suggested by Victor Khomenko.
* spot/tl/formula.cc, spot/tl/formula.hh, spot/parsetl/parsetl.yy:
Implement this.
* NEWS, doc/tl/tl.tex: Document it.
* tests/core/sugar.test, tests/python/ltlparse.py: Add some tests.
2019-06-02 14:39:21 +02:00
Alexandre Duret-Lutz
74786324f4
remprop: reset no-terminal property
...
Reported by Yong Li.
* spot/twaalgos/remprop.cc: Here.
* tests/python/removeap.py: New test case.
* tests/Makefile.am: Add it.
* NEWS: Document the issue.
* THANKS: Add Yong Li.
2019-06-02 09:00:08 +02:00
Alexandre Duret-Lutz
03b8db0fed
tests: add missing copyright blobs
...
* tests/python/remfin.py, tests/python/tra2tba.py: Here.
2019-06-02 08:33:13 +02:00
Alexandre Duret-Lutz
1cb92f8da1
work around another swig4 change
...
* python/spot/impl.i: Make sure spot::acc_cond::mark_t::operator<<
exceptions are not ignored.
2019-06-01 22:27:06 +02:00
Alexandre Duret-Lutz
52e2d11330
work around swig4 regression
...
* python/Makefile.am: Here.
2019-06-01 20:30:32 +02:00
Alexandre Duret-Lutz
72d6527b6c
work around new import statements generated by swig-4.0
...
Those statements are not compatible with the fact that
libtool-generated modules are in .libs/ until they get installed.
* python/spot/__init__.py: Add sys.path to __path__ if SPOT_BUILD is
set.
* tests/run.in: Set SPOT_BUILD.
2019-05-31 21:16:45 +02:00
Alexandre Duret-Lutz
377285b1d6
python: remove the -nofastproxy option
...
This was introduced by b893b5597 to work around some IPython 2 issue
(https://github.com/ipython/ipython/issues/7003 ).
* python/Makefile.am (SWIGFLAGS): Remove obsolete option.
* python/spot/__init__.py: Adjust.
2019-05-29 10:21:34 +02:00
Alexandre Duret-Lutz
a85045091b
introduce output_aborter, and use it in ltlcross
...
* spot/twaalgos/alternation.cc, spot/twaalgos/alternation.hh,
spot/twaalgos/complement.cc, spot/twaalgos/complement.hh,
spot/twaalgos/determinize.cc, spot/twaalgos/determinize.hh,
spot/twaalgos/minimize.cc, spot/twaalgos/minimize.hh,
spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh,
spot/twaalgos/powerset.cc, spot/twaalgos/powerset.hh,
spot/twaalgos/product.cc, spot/twaalgos/product.hh: Use an
output_aborter argument to abort if the output is too large.
* bin/ltlcross.cc: Use complement() with an output_aborter
so that ltlcross will not attempt to build complement larger
than 500 states or 5000 edges. Add --determinize-max-states
and --determinize-max-edges options.
* tests/core/ltlcross3.test, tests/core/ltlcrossce2.test,
tests/core/sccsimpl.test, tests/core/wdba2.test,
tests/python/stutter-inv.ipynb: Adjust test cases.
* NEWS: Document this.
* bin/spot-x.cc: Add documentation for postprocessor's
det-max-states and det-max-edges arguments.
* doc/org/ltlcross.org: Update description.
2019-05-28 14:27:30 +02:00
Alexandre Duret-Lutz
5c3a33f720
test: add missing copyright boilerplate
...
* tests/python/genem.py: Here.
2019-05-24 23:26:49 +02:00
Alexandre Duret-Lutz
36d20696bf
word: introduce use_all_aps()
...
This allows fixing issue #388 reported by Victor Khomenko.
* spot/twaalgos/word.cc, spot/twaalgos/word.hh (use_all_aps): New
method.
* tests/python/stutter-inv.ipynb: Use it.
* tests/python/stutter.py: New file, with Victor's test case.
* tests/Makefile.am: Add python/stutter.py.
2019-05-24 23:26:43 +02:00
Alexandre Duret-Lutz
90a88d0b5a
tl: fix handling of f##[0:0]g, and of ##[0:n]g
...
The first issue was reported by Victor Khomenko.
* spot/tl/formula.cc: Introduce a single-argument
version of sugar_delay().
* spot/parsetl/parsetl.yy: Use it.
* doc/tl/tl.tex, spot/tl/formula.hh: Adjust doc.
* tests/core/ltlfilt.test, tests/core/sugar.test: More tests.
2019-05-20 20:59:33 +02:00
Alexandre Duret-Lutz
66a3b6f7cb
tl: fix the definition of ##[i:j]
...
Reported by Victor Khomenko.
* NEWS, doc/tl/tl.tex, spot/tl/formula.cc: Fix the definition.
* tests/core/ltl2tgba.test: Add some test cases.
2019-05-19 09:16:42 +02:00
Alexandre Duret-Lutz
60bdf5de19
translate: relabel_bool was ignored when option_map was not supplied
...
* spot/twaalgos/translate.cc: Set relabel_bool_ to 4 by default, not
-1. Also call relabel_apply when the formula is relabeled.
2019-05-18 20:51:38 +02:00
Alexandre Duret-Lutz
89fcd2b455
dot: replace large labels by "(label too long)"
...
Based on a report by Victor Khomenko.
* spot/twaalgos/dot.cc: Here.
* tests/core/readsave.test: Add test case.
* NEWS: Mention it.
2019-05-18 13:46:33 +02:00
Alexandre Duret-Lutz
f476483f4a
tl: add support for ##[+] and ##[*]
...
Suggested by Victor Khomenko.
* spot/parsetl/parsetl.yy, spot/parsetl/scantl.ll: Implement them.
* NEWS, doc/tl/tl.tex: Document them.
* tests/core/sugar.test: Add a couple of tests.
2019-05-18 12:06:35 +02:00
Alexandre Duret-Lutz
b726d78cbd
tl: new simplification rules
...
Related to issue #385 .
* doc/tl/tl.tex, NEWS: Document the rules.
* spot/tl/simplify.cc: Implement the rules.
* tests/core/reduccmp.test, tests/core/ltl2tgba2.test: Add tests.
* tests/core/degenscc.test: Adjust.
2019-05-18 11:39:09 +02:00
Alexandre Duret-Lutz
066133b829
tl: implement relabel_apply()
...
* spot/tl/relabel.hh, spot/tl/relabel.cc: Here.
* NEWS: Mention it.
* tests/python/relabel.py: Use it.
2019-05-18 11:22:52 +02:00
Alexandre Duret-Lutz
e325289a12
simplify: more rules for first_match
...
* spot/tl/simplify.cc: Implement the rules.
* tests/core/reduccmp.test: Test them.
* doc/tl/tl.tex: Document them.
2019-05-11 14:10:57 +02:00
Alexandre Duret-Lutz
c6605e951d
tl: add some simplifications for first_match
...
Following a discussion with Victor Khomenko.
* doc/tl/tl.tex: Document those rules.
* spot/tl/simplify.cc: Implement them.
* tests/core/reduccmp.test: Test them.
2019-05-08 15:08:31 +02:00
Alexandre Duret-Lutz
b7cd475632
tl: first_match does not preserve syntactic_si
...
* spot/tl/formula.cc: Fix it.
* tests/core/kind.test: Add test case.
2019-05-06 21:52:05 +02:00
Alexandre Duret-Lutz
ef8de879dc
tut03: add missing operators
...
* doc/org/tut03.org: Here.
2019-05-06 15:16:09 +02:00
Alexandre Duret-Lutz
6fac026454
implement SVA's first_match operator
...
* NEWS, doc/tl/tl.tex, doc/tl/tl.bib: Document it.
* spot/parsetl/parsetl.yy, spot/parsetl/scantl.ll: Parse it.
* spot/tl/formula.cc, spot/tl/formula.hh, spot/tl/dot.cc,
spot/tl/mutation.cc, spot/tl/print.cc, spot/tl/randomltl.cc,
spot/twaalgos/ltl2tgba_fm.cc: Adjust to support first_match.
* spot/tl/mark.cc, spot/tl/simplify.cc, spot/tl/snf.cc,
spot/tl/unabbrev.cc, spot/twa/formula2bdd.cc,
spot/twaalgos/ltl2taa.cc: Ignore it.
* tests/core/acc_word.test, tests/core/randpsl.test: Add more tests.
* tests/core/rand.test, tests/core/unambig.test,
tests/python/randltl.ipynb: Adjust.
* tests/python/formulas.ipynb: Show first_match.
2019-05-06 15:11:30 +02:00
Alexandre Duret-Lutz
caf1eaa4ce
tl.pdf: add missing precedence and grammar rules
...
* doc/tl/tl.tex: Here.
2019-05-05 14:26:10 +02:00