Merge branch 'master' into next

This commit is contained in:
Alexandre Duret-Lutz 2024-09-23 13:34:10 +02:00
commit 368eb6e0cd
3 changed files with 46 additions and 37 deletions

77
NEWS
View file

@ -1,4 +1,4 @@
New in spot 2.12.0.dev (not yet released) New in spot 2.12.1.dev (not yet released)
Command-line tools: Command-line tools:
@ -68,40 +68,40 @@ New in spot 2.12.0.dev (not yet released)
Library: Library:
- restrict_dead_end_edges_here() can reduce non-determinism (but - restrict_dead_end_edges_here() can reduce non-determinism (but
not remove it) by restricting the label L of some edge (S)-L->(D) not remove it) by restricting the label L of some edge (S)-L->(D)
going to a state D that does not have other successor than going to a state D that does not have other successor than
itself. The conditions are detailled in the documentation of itself. The conditions are detailled in the documentation of
this function. this function.
- spot::postprocessor will now call restrict_dead_end_edges_here() - spot::postprocessor will now call restrict_dead_end_edges_here()
in its highest setting. This can be fine-tuned with the "rde" in its highest setting. This can be fine-tuned with the "rde"
extra option, see the spot-x (7) man page for detail. extra option, see the spot-x (7) man page for detail.
- The formula class now keeps track of membership to the Δ₁, Σ₂, - The formula class now keeps track of membership to the Δ₁, Σ₂,
Π₂, and Δ₂ syntactic class. This can be tested with Π₂, and Δ₂ syntactic class. This can be tested with
formula::is_delta1(), formula::is_sigma2(), formula::is_pi2(), formula::is_delta1(), formula::is_sigma2(), formula::is_pi2(),
formula::is_delta2(). See doc/tl/tl.pdf from more discussion. formula::is_delta2(). See doc/tl/tl.pdf from more discussion.
- spot::to_delta2() implements Δ₂-normalization for LTL formulas, - spot::to_delta2() implements Δ₂-normalization for LTL formulas,
following "Efficient Normalization of Linear Temporal Logic" by following "Efficient Normalization of Linear Temporal Logic" by
Esparza et al. (J. ACM, 2024). Esparza et al. (J. ACM, 2024).
- Trivial rewritings (those performed everytime at construction) - Trivial rewritings (those performed everytime at construction)
were missing the rule "[*0]|f ≡ f" when f already accepts the were missing the rule "[*0]|f ≡ f" when f already accepts the
empty word. (Issue #545.) empty word. (Issue #545.)
- spot::match_states(A, B) is a new function that returns a vector - spot::match_states(A, B) is a new function that returns a vector
V such that V[x] contains all states y such that state (x, y) can V such that V[x] contains all states y such that state (x, y) can
reach an accepting cycle in product(A, B). In particular, if A reach an accepting cycle in product(A, B). In particular, if A
and B accept the same language, any word accepted by A from state and B accept the same language, any word accepted by A from state
x can be accepted in B from some state in V[x]. x can be accepted in B from some state in V[x].
That function also has a variant spot::match_states(A, f) where f That function also has a variant spot::match_states(A, f) where f
is an LTL formula. In this case it returns and array of is an LTL formula. In this case it returns and array of
formulas. If f represents a superset of the language of A, then formulas. If f represents a superset of the language of A, then
any word accepted by A from state x satisfies V[x]. Related to any word accepted by A from state x satisfies V[x]. Related to
Issue #591. Issue #591.
- twa_graph::defrag_states(num) no longer require num[i]≤i; num - twa_graph::defrag_states(num) no longer require num[i]≤i; num
can now describe a permutation of the state numbers. can now describe a permutation of the state numbers.
@ -113,8 +113,16 @@ New in spot 2.12.0.dev (not yet released)
Bug fixes: Bug fixes:
- Generating random formulas without any unary opertor would very - "ltlsynt --aiger -q ..." was still printing the realizability
often create formulas much smaller than specified. status and the AIG circuit; it now does the job silently as
requested.
New in spot 2.12.1 (2024-09-23)
Bug fixes:
- Generating random formula without any unary opertors would very
often create formulas much smaller than asked.
- The parity game solver, which internally works on "parity max - The parity game solver, which internally works on "parity max
odd", but actually accept any type of parity acceptance, could be odd", but actually accept any type of parity acceptance, could be
@ -123,9 +131,10 @@ New in spot 2.12.0.dev (not yet released)
- "ltlsynt ... --print-game --dot=ARGS" was ignoring ARGS. - "ltlsynt ... --print-game --dot=ARGS" was ignoring ARGS.
- "ltlsynt --aiger -q ..." was still printing the realizability - Work around various warnings from g++14.
status and the AIG circuit; it now does the job silently as
requested. - Improved handling of spot-extra/ directory with newer Swig
versions. Necessary to recompile Seminator 2 with Swig 4.
New in spot 2.12 (2024-05-16) New in spot 2.12 (2024-05-16)

View file

@ -17,7 +17,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ([2.69]) AC_PREREQ([2.69])
AC_INIT([spot], [2.12.0.dev], [spot@lrde.epita.fr]) AC_INIT([spot], [2.12.1.dev], [spot@lrde.epita.fr])
AC_CONFIG_AUX_DIR([tools]) AC_CONFIG_AUX_DIR([tools])
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.11 gnu tar-ustar color-tests parallel-tests]) AM_INIT_AUTOMAKE([1.11 gnu tar-ustar color-tests parallel-tests])

View file

@ -1,11 +1,11 @@
#+OPTIONS: H:2 num:nil toc:t html-postamble:nil ^:nil #+OPTIONS: H:2 num:nil toc:t html-postamble:nil ^:nil
#+EMAIL: spot@lrde.epita.fr #+EMAIL: spot@lrde.epita.fr
#+HTML_LINK_HOME: index.html #+HTML_LINK_HOME: index.html
#+MACRO: LASTDATE 2024-05-14 #+MACRO: LASTDATE 2024-09-23
#+NAME: SPOT_VERSION #+NAME: SPOT_VERSION
#+BEGIN_SRC python :exports none :results value :wrap org #+BEGIN_SRC python :exports none :results value :wrap org
return "2.12" return "2.12.1"
#+END_SRC #+END_SRC
#+NAME: TARBALL_LINK #+NAME: TARBALL_LINK