specialized translation for GF(guarantee) and FG(safety)
This is adapted from a proposition in a paper by J. Esparza, J. Křentínský, and S. Sickert, submitted to LICS'18. We should add proper references to the code and documentation once that paper is accepted. * spot/twaalgos/gfguarantee.cc, spot/twaalgos/gfguarantee.hh: New files. * spot/twaalgos/Makefile.am, python/spot/impl.i: Add them. * spot/twa/fwd.hh: Add a forward declaration of bdd_dict_ptr. * spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh: Make it possible to call finalize() from the translator subclass. Constify all the do_* functions while we are there. * spot/twaalgos/translate.cc, spot/twaalgos/translate.hh: Add a "gf-guarantee" option to decide whether to use the new translation. * bin/spot-x.cc: Document it. * tests/core/dca2.test, tests/core/genltl.test, tests/core/ltl2tgba2.test, tests/core/parity2.test, tests/core/satmin.test, tests/python/automata.ipynb, tests/python/sbacc.py: Adjust test cases. * tests/python/except.py: Add a couple more tests.
This commit is contained in:
parent
89f7047925
commit
7a65bdf6bc
19 changed files with 3140 additions and 1932 deletions
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2013, 2014, 2015, 2016, 2017 Laboratoire de Recherche et
|
||||
// Copyright (C) 2013, 2014, 2015, 2016, 2017, 2018 Laboratoire de Recherche et
|
||||
// Développement de l'Epita (LRDE).
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
|
|
@ -107,6 +107,14 @@ the determinization algorithm.") },
|
|||
the determinization algorithm.") },
|
||||
{ DOC("det-stutter", "Set to 0 to disable optimizations based on \
|
||||
the stutter-invariance in the determinization algorithm.") },
|
||||
// FIXME: Add bibliographic reference to their paper ASAP.
|
||||
{ DOC("gf-guarantee", "Set to 0 to disable alternate constructions \
|
||||
for GF(guarantee)->[D]BA and FG(safety)->DCA. Those constructions \
|
||||
are based on work by J. Esparza, J. Křentínský, and S. Sickert. \
|
||||
This is enabled by default for medium and high optimization \
|
||||
levels. Unless we are building deterministic automata, the \
|
||||
resulting automata are compared to the automata built using the \
|
||||
more traditional pipeline, and only kept if they are better.") },
|
||||
{ DOC("simul", "Set to 0 to disable simulation-based reductions. \
|
||||
Set to 1 to use only direct simulation. Set to 2 to use only reverse \
|
||||
simulation. Set to 3 to iterate both direct and reverse simulations. \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue