Commit graph

1197 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
b44daef42a Merge branch 'master' into next 2020-02-19 15:09:25 +01:00
Alexandre Duret-Lutz
c98f82dc36 * NEWS, configure.ac: Bump version to 2.8.6.dev. 2020-02-19 14:47:34 +01:00
Alexandre Duret-Lutz
39fa829340 Release Spot 2.8.6
* NEWS, configure.ac, doc/org/setup.org: Update version.
2020-02-19 14:45:07 +01:00
Alexandre Duret-Lutz
aad5b135ef fix is_generalized_rabin() and is_generalized_streett()
* spot/twa/acc.cc: Fix detection of single-pairs gen-Rabin and
gen-Streett.
* tests/core/randaut.test: Add test case.
* NEWS: Mention this issue.
2020-02-19 10:52:15 +01:00
Alexandre Duret-Lutz
9365f8de1b relabel: do not create automata with false labels
* spot/twaalgos/relabel.cc: Remove false transitions if
some of the propositions are equivalent to true or false.
* NEWS: Mention the bug.
* tests/core/ltl2tgba2.test: Test it.
2020-02-19 10:52:15 +01:00
Alexandre Duret-Lutz
cf2cfcd2fb _postproc_translate_options: fix syntax error
* python/spot/__init__.py: Here.
* tests/python/except.py: Add test.
* NEWS: Mention the issue.
2020-02-19 10:52:15 +01:00
Alexandre Duret-Lutz
e7ae3d3ae0 fix degeneralize_tba after accepting transition
* spot/twaalgos/degen.cc (degeneralize_tba): Here.
* tests/python/simstate.py: Adjust expected values.
* NEWS: Mention the bug.
2020-02-19 10:52:15 +01:00
Alexandre Duret-Lutz
b5e464e05a autfilt add support for --partial-degeneralize
* bin/autfilt.cc: Add a --partial-degeneralize option.
* NEWS: Mention it.
* spot/twaalgos/degen.cc: Do not restrict partial_degeneralize() to
deterministic automata.
* spot/twaalgos/degen.hh: Adjust documentation.
* tests/core/pdegen.test: New test case.
* tests/Makefile.am: Add it.
* tests/python/pdegen.py: Adjust.
2020-02-15 10:31:28 +01:00
Alexandre Duret-Lutz
bf42b19eff fix is_generalized_rabin() and is_generalized_streett()
* spot/twa/acc.cc: Fix detection of single-pairs gen-Rabin and
gen-Streett.
* tests/core/randaut.test: Add test case.
* NEWS: Mention this issue.
2020-02-15 10:05:27 +01:00
Alexandre Duret-Lutz
443f638b9c relabel: do not create automata with false labels
* spot/twaalgos/relabel.cc: Remove false transitions if
some of the propositions are equivalent to true or false.
* NEWS: Mention the bug.
* tests/core/ltl2tgba2.test: Test it.
2020-02-10 12:05:36 +01:00
Alexandre Duret-Lutz
09bb61db33 _postproc_translate_options: fix syntax error
* python/spot/__init__.py: Here.
* tests/python/except.py: Add test.
* NEWS: Mention the issue.
2020-02-10 11:37:58 +01:00
Alexandre Duret-Lutz
febbe5c2e3 rabin_to_buchi_if_realizable: new function
* spot/twaalgos/remfin.cc, spot/twaalgos/remfin.hh: Implement it.
* tests/python/tra2tba.py: Test it.
* NEWS: Mention it.
2020-02-05 17:44:45 +01:00
Alexandre Duret-Lutz
b733d486be fix degeneralize_tba after accepting transition
* spot/twaalgos/degen.cc (degeneralize_tba): Here.
* tests/python/pdegen.py, tests/python/simstate.py: Adjust expected
values.
* NEWS: Mention the bug.
2020-02-03 15:38:51 +01:00
Alexandre Duret-Lutz
f9e75de647 partial_degeneralize: a support for disjunction of Fin
* spot/twaalgos/degen.cc, spot/twaalgos/degen.hh: Implement this.
Also throw a runtime error in case were todegen does not match any
subformula.
* tests/python/pdegen.py: Add tests.
2020-02-03 11:08:20 +01:00
Alexandre Duret-Lutz
f1008c156b improve partial_degeneralize() on several cases
On these 4 cases, added to pdegen.py, and supplied by Florian Renkin,
partial_degeneralize() is now at least as good as degeneralize_tba(),
and sometimes better.  This is achieved as follows: (1) a
propagate_marks procedure is introduced to propagate marks as far as
possible on the automaton (e.g., common outgoing marks can be push
onto the incoming transitions and vice-versa), (2) the
degeneralization order is compute dynamically, and (3) whenever and
fully-accepting transition is taken in the original automaton, the
destination level is chosen to be the highest existing level.

* spot/twaalgos/degen.cc,
spot/twaalgos/degen.hh (propagate_marks_vector, propagate_marks_here):
New functions.
(partial_degeneralize): Improve, as described above.
* tests/python/pdegen.py: Add test cases.
2020-02-03 09:52:54 +01:00
Alexandre Duret-Lutz
50c0f880dc Inf(i)|Inf(j) -> Inf(k) and Fin(i)&Fin(j) -> Fin(k)
Implement those rules in simplify_acceptance_here().

* NEWS: Mention the change.
* spot/twa/acc.cc,
spot/twa/acc.hh (acc_cond::acc_code::used_once_sets): New method.
* spot/twaalgos/cleanacc.cc, spot/twaalgos/cleanacc.hh:
Implement the above rule.
* tests/core/remfin.test: Adjust expected results.
* tests/python/simplacc.py: New file.
* tests/Makefile.am: Add it.
2020-01-28 09:37:28 +01:00
Alexandre Duret-Lutz
9d70eeef97 ltlcross: display short names when supplied
Suggested by František Blahoudek.

* bin/ltlcross.cc: Implement this.
* NEWS, doc/org/ltlcross.org: Document it.
* tests/core/ltlcross4.test: Test it.
2020-01-04 15:54:18 +01:00
Alexandre Duret-Lutz
6a531be052 Merge branch 'master' into next 2020-01-04 14:25:35 +01:00
Alexandre Duret-Lutz
d8ed0fb8ab * NEWS, configure.ac: Bump version to 2.8.5.dev. 2020-01-04 14:24:49 +01:00
Alexandre Duret-Lutz
68435915e7 Release Spot 2.8.5
* NEWS, configure.ac, doc/org/setup.org: Bump version number.
2020-01-04 14:19:33 +01:00
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
d1ef380d32 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.
2019-12-31 22:34:39 +01:00
Alexandre Duret-Lutz
cfe3ed707a 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.
2019-12-26 23:05:58 +01:00
Alexandre Duret-Lutz
bf7ccfe7e6 new partial_degeneralize() algorithm
* spot/twaalgos/degen.hh, spot/twaalgos/degen.cc: Implement it.
* tests/python/pdegen.py: New file.
* tests/Makefile.am: Add it.
* NEWS: Mention the new function.
2019-12-11 17:09:55 +01:00
Alexandre Duret-Lutz
894fda21f9 Merge branch 'master' into next 2019-12-08 13:38:01 +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
c36b1588fc 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-05 22:44:15 +01:00
Alexandre Duret-Lutz
44df3c0837 add a --check=stutter-sensitive-example option
* spot/twaalgos/stutter.cc,
spot/twaalgos/stutter.hh (check_stutter_invariance): Add a
find_counterexamples argument.
* spot/twaalgos/hoa.cc: Output accepted-word and rejected-word examples.
* bin/common_aoutput.cc: Handle --check=stutter-sensitive-example.
* NEWS: Mention it.
* tests/core/stutter-tgba.test: Test it.
* doc/org/concepts.org, doc/org/hoa.org: Document accepted-word and
rejected-word named properties.
* bin/man/spot-x.x: Mention that --check=stutter-sensitive-example
ignores SPOT_STUTTER_CHECK.
2019-12-05 08:00:47 +01:00
Alexandre Duret-Lutz
3d4e400cda Merge branch 'master' into next 2019-11-06 09:57:42 +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
566a43dd17 improve readability of parity(false, true, 5)
* spot/twa/acc.hh: Introduce parity_min_odd(n) and friends.
* spot/twaalgos/determinize.cc, spot/twaalgos/rabin2parity.cc,
spot/twaalgos/toparity.cc: Use them.
* tests/python/parity.py: Call each function exhaustively.
* NEWS: Mention the new functions.
2019-10-08 15:18:48 +02:00
Alexandre Duret-Lutz
878ef6e084 "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-02 13:34:44 +02:00
Alexandre Duret-Lutz
fef4e2c77f * NEWS: Fix many typos. 2019-09-28 21:27:03 +02:00
Alexandre Duret-Lutz
fdd2eec331 Merge branch 'master' into next 2019-09-27 20:50:43 +02: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
7f21d3ff29 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-23 17:02:06 +02:00
Alexandre Duret-Lutz
be389c5c25 introduce op::strong_X
This was prompted by reports by Andrew Wells and Yong Li.

* NEWS, doc/tl/tl.tex: Document the changes.
* THANKS: Add Andrew.
* bin/ltlfilt.cc: Match --ltl before --from-ltlf if needed.
* spot/parsetl/parsedecl.hh, spot/parsetl/parsetl.yy,
spot/parsetl/scantl.ll: Parse X[!].
* spot/tl/formula.cc, spot/tl/formula.hh: Declare the new operator.
* spot/tl/ltlf.cc: Adjust to handle op::X and op::strong_X correctly.
* spot/tl/dot.cc, spot/tl/mark.cc, spot/tl/mutation.cc,
spot/tl/print.cc, spot/tl/simplify.cc, spot/tl/snf.cc,
spot/tl/unabbrev.cc, spot/twa/formula2bdd.cc,
spot/twaalgos/ltl2taa.cc, spot/twaalgos/ltl2tgba_fm.cc,
tests/core/ltlgrind.test, tests/core/rand.test,
tests/core/sugar.test, tests/python/randltl.ipynb: Adjust.
* tests/core/ltlfilt.test, tests/core/sugar.test,
tests/core/utf8.test: More tests.
2019-09-23 17:01:28 +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