Alexandre Duret-Lutz
265332dedf
twagraph: merge_edge() can determinize automata
...
Reported by František Blahoudek.
* spot/twa/twagraph.cc: Reset prop_universal() if edges are merged in
a non-deterministic automaton.
* tests/core/det.test: Add test case.
* NEWS: Mention the issue.
2020-01-01 16:18:44 +01:00
Alexandre Duret-Lutz
1f90e1cff9
fix ltl2tgba -B not always returning Inf(0)
...
Reported by František Blahoudek.
* spot/twaalgos/postproc.cc: Turn "t" into "Inf(0)" for BA.
* tests/core/ltl2tgba.test: Add test case.
* NEWS: Mention the bug.
2020-01-01 16:18:44 +01:00
Alexandre Duret-Lutz
44d9a629b1
* NEWS, configure.ac: Bump version to 2.8.4.dev.
2019-12-08 13:37:00 +01:00
Alexandre Duret-Lutz
625a2e2836
Release Spot 2.8.4
...
* NEWS, configure.ac, doc/org/setup.org: Set version to 2.8.4.
2019-12-08 13:35:01 +01:00
Alexandre Duret-Lutz
adc7c93448
remfin: fix tra_to_tba
...
This fixes a complementation bug reported by Juraj Major and Tereza
Šťastná.
* spot/twaalgos/remfin.cc (is_scc_tba_type): Fix the condition for
handling Fin-alone pairs.
* tests/core/complement.test: Add Juraj & Tereza's test case.
* NEWS: Mention it.
2019-12-08 13:32:58 +01:00
Alexandre Duret-Lutz
56e08af896
* NEWS, configure.ac: Bump version to 2.8.3.dev.
2019-11-06 09:56:25 +01:00
Alexandre Duret-Lutz
7ece494794
release Spot 2.8.3
...
* NEWS, configure.ac, doc/org/setup.org: Set version to 2.8.3.
2019-11-06 09:54:52 +01:00
Alexandre Duret-Lutz
2960b8138c
"import spot.foo" may now load "spot-extra/foo.py"
...
This is needed for tcltl.
* python/spot/__init__.py: Alter __path__ to add any spot-extra/
directory we find.
* NEWS: Mention this.
2019-10-28 14:53:32 +01:00
Alexandre Duret-Lutz
d15ce1a773
* NEWS: Fix many typos.
2019-10-28 14:53:30 +01:00
Alexandre Duret-Lutz
cbfcee9449
Bump version to 2.8.2.dev
...
* NEWS, configure.ac: Here.
2019-09-27 20:45:34 +02:00
Alexandre Duret-Lutz
1102def717
Release Spot 2.8.2
...
* NEWS, configure.ac, doc/org/setup.org: Update version to 2.8.2.
2019-09-27 20:45:34 +02:00
Alexandre Duret-Lutz
cfd888076c
ltl2tgba, ltldo: add a --negate option
...
Suggested by Victor Khomenko.
* bin/ltl2tgba.cc, bin/ltldo.cc: Implement it.
* doc/org/hierarchy.org: Use it.
* tests/core/ltldo2.test: Test it.
* bin/common_output.cc: Typo.
* NEWS: Mention the new option.
2019-09-24 10:03:35 +02:00
Alexandre Duret-Lutz
8ec6ea838d
twa_graph: fix precondition on set_init_state
...
Fixes #391 .
* spot/twa/twagraph.hh: Here.
* tests/core/dualize.test, tests/python/except.py: New tests.
* NEWS: Mention the bug.
2019-07-30 15:35:12 +02:00
Alexandre Duret-Lutz
11262d0495
* NEWS, configure.ac: Bump version to 2.8.1.dev.
2019-07-18 10:10:09 +02:00
Alexandre Duret-Lutz
2e28f8c93b
Release Spot 2.8.1
...
* NEWS, configure.ac, doc/org/setup.org: Bump version to 2.8.1.
2019-07-18 10:01:09 +02:00
Alexandre Duret-Lutz
6f37ff8ed0
ltlcross, autcross: add --quiet/-q option
...
* bin/autcross.cc, bin/ltlcross.cc: Implement it.
* doc/org/autcross.org, doc/org/ltlcross.org, NEWS: Document it.
* doc/org/spot.css: Add colors for Makefile snippets.
* tests/core/autcross4.test, tests/core/ltlcross3.test,
tests/core/ltlcrossce.test: Add test cases.
2019-07-17 17:34:01 +02:00
Alexandre Duret-Lutz
738515d7fd
org: work around emacs/gnutls interaction bug
...
* doc/org/init.el.in: Set gnutls-algorithm-priority when needed.
* NEWS: Mention the issue.
2019-07-17 09:16:04 +02:00
Alexandre Duret-Lutz
b4cced9ba8
genltl: add --pps-arbiter-{strict,standard}
...
* spot/gen/formulas.cc, spot/gen/formulas.hh, bin/genltl.cc: Implement
this.
* NEWS, bin/man/genltl.x, doc/spot.bib: Add documentation.
* tests/core/genltl.test, tests/core/ltlfilt.test: Add some tests.
2019-07-12 16:48:10 +02:00
Alexandre Duret-Lutz
e2fad2d7ae
complement: fix handling of output_aborter with postproc
...
Reported by Salomon Sickert.
* spot/twaalgos/complement.cc: Make sure the output of postproc
is deterministic.
* tests/core/ltlcross.test: Add test case.
* NEWS: Mention the bug.
2019-07-11 14:48:50 +02:00
Alexandre Duret-Lutz
2c2daf6b8a
Bump version to 2.8.0.dev
...
* NEWS, configure.ac: Here.
2019-07-10 06:19:57 +02:00
Alexandre Duret-Lutz
85b2d426d9
Release Spot 2.8
...
* configure.ac, doc/org/setup.org, NEWS: Bump version to Spot 2.8.
2019-07-10 06:13:19 +02:00
Alexandre Duret-Lutz
5b1350cab5
autcross: add shorthand for dra2dpa
...
* bin/common_trans.cc: Add it.
* NEWS: Mention it.
2019-07-09 22:10:09 +02:00
Alexandre Duret-Lutz
9f616e0451
ltldo, ltlcross: add support from ltl2ba, ltl2nba, ltl2dgba
...
* bin/common_trans.cc: Here.
* NEWS: Document this.
2019-07-09 16:09:20 +02:00
Alexandre Duret-Lutz
0d9cc29b46
tl: eight new simplification rules
...
* NEWS, doc/tl/tl.tex: Document the rules.
* spot/tl/simplify.cc: Implement them.
* tests/core/reduccmp.test: Test them.
* tests/core/det.test, tests/core/ltl2tgba2.test,
tests/python/stutter-inv.ipynb, tests/core/385.test: Adjust.
2019-07-09 16:09:15 +02:00
Alexandre Duret-Lutz
d244ff5432
* NEWS: Fix some typos.
2019-07-05 22:43:42 +02:00
Alexandre Duret-Lutz
bfe0ada634
deprecate spot::acc_cond::format()
...
* NEWS: Mention it.
* spot/twa/acc.hh (spot::acc_cond::format): Deprecate.
(spot::acc_cond::mark_t::as_string): New function.
* spot/taalgos/dot.cc: Use mark_t::as_string().
* spot/priv/satcommon.cc, spot/priv/satcommon.hh,
spot/twaalgos/dtwasat.cc, spot/twaalgos/emptiness.cc,
tests/core/acc.cc, tests/core/acc.test: Adjust to use << directly.
2019-07-05 22:43:36 +02:00
Alexandre Duret-Lutz
ad2f5524bb
doc: add tut90.org about bdd_dict
...
Fixes #372 .
* doc/org/tut90.org: New file.
* doc/Makefile.am, doc/org/tut.org: Add it.
* NEWS: Mention it.
* python/spot/__init__.py: Allow make_twa_graph with
default bdd_dict.
2019-06-27 10:50:19 +02:00
Alexandre Duret-Lutz
dc34862d3b
twa: get rid of intersecting_run()'s second argument
...
* spot/twa/twa.cc, spot/twa/twa.hh: Here.
* NEWS: Mention the backward incompatibility.
2019-06-21 22:01:27 +02:00
Alexandre Duret-Lutz
f3e57901a4
simulation: improve merging of transiant-SCCs
...
* spot/twaalgos/simulation.cc: Code this.
* tests/core/det.test, tests/core/dra2dba.test,
tests/core/satmin.test, tests/core/sim3.test,
tests/python/decompose.ipynb, tests/python/dualize.py: Adjust test
cases.
* NEWS: Mention the optimization.
2019-06-20 13:25:26 +02:00
Alexandre Duret-Lutz
c66b3d88d0
toparity: revert symmetry-based optimization of LAR
...
Fixes #390 .
* spot/twaalgos/toparity.cc: Revert the relevant part of 516e9536 .
* tests/python/toparity.py: Add test case.
* NEWS: Mention the issue.
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
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
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
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
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
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
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
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