Commit df326e03 authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz

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.
parent d064b7da
Pipeline #9991 passed with stages
in 295 minutes and 9 seconds
......@@ -688,7 +688,7 @@ LAYOUT_FILE =
# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
# search path. See also \cite for info how to create references.
CITE_BIB_FILES =
CITE_BIB_FILES = @srcdir@/spot.bib
#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages
......
......@@ -152,6 +152,7 @@ $(srcdir)/userdoc: $(srcdir)/org-stamp
EXTRA_DIST = \
footer.html \
mainpage.dox \
spot.bib \
$(ORG_FILES) \
$(PICTURES_EXTRA) \
$(srcdir)/org-stamp \
......
This diff is collapsed.
## -*- coding: utf-8 -*-
## Copyright (C) 2011, 2012, 2013, 2015 Laboratoire de Recherche et
## Copyright (C) 2011, 2012, 2013, 2015, 2019 Laboratoire de Recherche et
## Développement de l'Epita (LRDE).
##
## This file is part of Spot, a model checking library.
......@@ -24,12 +24,12 @@ all: $(srcdir)/tl.pdf
# recent version of latexmk; but version 4.13a, installed on some
# of our hosts, does not support it. Add -pvc- because some people
# turn pvc on in their config file.
LATEXMK = BIBINPUTS='$(srcdir)' latexmk -pdf -ps- -dvi- -pvc- \
LATEXMK = BIBINPUTS='$(srcdir)/..' latexmk -pdf -ps- -dvi- -pvc- \
-e '$$bibtex_use=2' \
-e '$$pdflatex="pdflatex %O \"\\def\\SpotVersion{$(VERSION)}\\input{%S}\""'
dist_pdf_DATA = $(srcdir)/tl.pdf
EXTRA_DIST = tl.tex tl.bib spotltl.sty
EXTRA_DIST = tl.tex spotltl.sty
# latexmk produces its output in the current directory, and may not
# update its timestamp when no rebuild was necessary. This can cause
......@@ -38,7 +38,7 @@ EXTRA_DIST = tl.tex tl.bib spotltl.sty
# people that do not change the documentation). Hence the "touch"
# below. In case of a VPATH build, we always copy the file, so the
# timestamp is updated anyway.
$(srcdir)/tl.pdf: $(srcdir)/tl.tex $(srcdir)/tl.bib
$(srcdir)/tl.pdf: $(srcdir)/tl.tex $(srcdir)/../spot.bib
$(LATEXMK) $(srcdir)/tl.tex
if test '$(srcdir)' = '.'; then touch $@; else cp tl.pdf $@; fi
......
......@@ -722,7 +722,7 @@ operands are Boolean formulas.
to define a subset of PSL that expresses exactly the
stutter-invariant $\omega$-regular languages.
\item The $\FIRSTMATCH$ operator does not exist in PSL. It comes
from SystemVerilog Assertions (SVA)~\cite{systemverilog.04.lrm}.
from SystemVerilog Assertions (SVA)~\cite{systemverilog.18.std}.
One intuition behind $\FIRSTMATCH\code(f\code)$ is that the
DFA for $\FIRSTMATCH\code(f\code)$ can be obtained from the DFA
for $f$ by removing all transitions leaving accepting states.
......@@ -1805,7 +1805,7 @@ implication can be done in two ways:
we implement are described in Appendix~\ref{ann:syntimpl}.
\item[Language Containment Checks] were initially proposed
by~\citet{tauriainen.03.a83}. This detection is enabled by the
by~\citet{tauriainen.03.tr}. This detection is enabled by the
``\verb|tl_simplifier_options::containment_checks|'' option.
\end{description}
......@@ -1888,7 +1888,7 @@ are counted as one.
\endgroup
Many of the above rules were collected from the
literature~\cite{somenzi.00.cav,tauriainen.03.a83,babiak.12.tacas} and
literature~\cite{somenzi.00.cav,tauriainen.03.tr,babiak.12.tacas} and
sometimes generalized to support operators such as $\M$ and $\W$.
\appendix
......@@ -2043,7 +2043,7 @@ $f_1\AND f_2$ & \bor{f_1}{g}{f_2}{g} & & &
\phantomsection % fix hyperlinks
\addcontentsline{toc}{chapter}{\bibname}
\bibliographystyle{plainnat}
\bibliography{tl}
\bibliography{spot}
\end{document}
%%% Local Variables:
......
......@@ -27,6 +27,12 @@ namespace spot
{
namespace gen
{
/// \defgroup gen Hard-coded families of formulas or automata.
/// @{
/// \defgroup genaut Hard-coded families of automata.
/// @{
/// \brief Identifiers for automaton patterns
enum aut_pattern_id {
AUT_BEGIN = 256,
/// \brief A family of co-Büchi automata.
......@@ -34,23 +40,9 @@ namespace spot
/// Builds a co-Büchi automaton of size 2n+1 that is
/// good-for-games and that has no equivalent deterministic
/// co-Büchi automaton with less than 2^n / (2n+1) states.
/// \cite kuperberg.15.icalp
///
/// Only defined for n>0.
///
/** \verbatim
@InProceedings{ kuperberg.15.icalp,
author = {Denis Kuperberg and Micha{\l} Skrzypczak },
title = {On Determinisation of Good-for-Games Automata},
booktitle = {Proceedings of the 42nd International Colloquium on
Automata, Languages, and Programming (ICALP'15)},
pages = {299--310},
year = {2015},
publisher = {Springer},
series = {Lecture Notes in Computer Science},
volume = 9135,
doi = {10.1007/978-3-662-47666-6_24}
}
\endverbatim */
AUT_KS_NCA = AUT_BEGIN,
/// \brief Hard-to-complement non-deterministic Büchi automata
///
......@@ -59,27 +51,10 @@ namespace spot
/// at least n! states if Streett acceptance is used.
///
/// Only defined for n>0. The automaton constructed corresponds
/// to the right part of Fig.1 in the following paper, except
/// to the right part of Fig.1 of \cite loding.99.fstts , except
/// that only state q_1 is initial. (The fact that states q_2,
/// q_3, ..., and q_n are not initial as in the paper does not
/// change the recognized language.)
///
/** \verbatim
@InProceedings{loding.99.fstts,
author = {Christof L{\"o}ding},
title = {Optimal Bounds for Transformations of
$\omega$-Automata},
booktitle = {Proceedings of the 19th Conference on Foundations of
Software Technology and Theoretical Computer Science
(FSTTCS'99)},
year = 1999,
publisher = {Springer},
pages = {97--109},
series = {Lecture Notes in Computer Science},
volume = 1738,
doi = {10.1007/3-540-46691-6_8}
}
\endverbatim */
AUT_L_NBA,
/// \brief DSA hard to convert to DRA.
///
......@@ -90,43 +65,15 @@ namespace spot
/// Only defined for 1<n<=16 because Spot does not support more
/// than 32 acceptance pairs.
///
/// This automaton corresponds to the right part of Fig.2 in the
/// following paper.
/** \verbatim
@InProceedings{loding.99.fstts,
author = {Christof L{\"o}ding},
title = {Optimal Bounds for Transformations of
$\omega$-Automata},
booktitle = {Proceedings of the 19th Conference on Foundations of
Software Technology and Theoretical Computer Science
(FSTTCS'99)},
year = 1999,
publisher = {Springer},
pages = {97--109},
series = {Lecture Notes in Computer Science},
volume = 1738,
doi = {10.1007/3-540-46691-6_8}
}
\endverbatim */
/// This automaton corresponds to the right part of Fig.2 of
/// \cite loding.99.fstts .
AUT_L_DSA,
/// \brief An NBA with (n+1) states whose complement needs ≥n! states
///
/// This automaton is usually attributed to Max Michel (1988),
/// who described it in some unpublished documents. Other
/// who described it in some unpublished document. Other
/// descriptions of this automaton can be found in a number
/// of papers, like:
/** \verbatim
@InBook{thomas.97.chapter,
author = {Wolfgang Thomas},
title = {Languages, Automata, and Logic},
booktitle = {Handbook of Formal Languages ---
Volume 3 Beyond Words},
editor = {Grzegorz Rozenberg and Arto Salomaa},
chapter = 7,
publisher = {Springer-Verlag},
year = {1997}
}
\endverbatim */
/// of papers \cite thomas.97.chapter .
///
/// Our implementation uses $\lceil \log_2(n+1)\rceil$ atomic
/// propositions to encode the $n+1$ letters used in the
......@@ -153,5 +100,8 @@ namespace spot
/// The returned name is suitable to be used as an option
/// key for the genaut binary.
SPOT_API const char* aut_pattern_name(aut_pattern_id pattern);
/// @}
/// @}
}
}
This diff is collapsed.
// -*- coding: utf-8 -*-
// Copyright (C) 2017-2018 Laboratoire de Recherche et Développement
// Copyright (C) 2017-2019 Laboratoire de Recherche et Développement
// de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -93,19 +93,7 @@ public:
typedef std::unordered_map<unsigned, unsigned> strategy_t;
/// Compute the winning strategy and winning region of this game for player
/// 1 using Zielonka's recursive algorithm.
/** \verbatim
@article{ zielonka.98.tcs
title = "Infinite games on finitely coloured graphs with applications to
automata on infinite trees",
journal = "Theoretical Computer Science",
volume = "200",
number = "1",
pages = "135 - 183",
year = "1998",
author = "Wieslaw Zielonka",
}
\endverbatim */
/// 1 using Zielonka's recursive algorithm. \cite zielonka.98.tcs
void solve(region_t (&w)[2], strategy_t (&s)[2]) const;
private:
......
// -*- coding: utf-8 -*-
// Copyright (C) 2009, 2013, 2014, 2015 Laboratoire de Recherche et
// Copyright (C) 2009, 2013-2015, 2019 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
// Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
......@@ -33,21 +33,7 @@ namespace spot
/// BDD function.
///
/// This algorithm implements a derecursived version the Minato-Morreale
/// algorithm presented in the following paper.
/** \verbatim
@InProceedings{ minato.92.sasimi,
author = {Shin-ichi Minato},
title = {Fast Generation of Irredundant Sum-of-Products Forms
from Binary Decision Diagrams},
booktitle = {Proceedings of the third Synthesis and Simulation
and Meeting International Interchange workshop
(SASIMI'92)},
pages = {64--73},
year = {1992},
address = {Kobe, Japan},
month = {April}
}
\endverbatim */
/// algorithm. \cite minato.92.sasimi
class SPOT_API minato_isop
{
public:
......
// -*- coding: utf-8 -*-
// Copyright (C) 2012-2014, 2016, 2018 Laboratoire de Recherche
// Copyright (C) 2012-2014, 2016, 2018, 2019 Laboratoire de Recherche
// et Dévelopment de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -46,20 +46,7 @@ namespace spot
/// If spot::ta_check::check() returns false, then the product automaton
/// was found empty. Otherwise the automaton accepts some run.
///
/// This is based on the following paper.
/** \verbatim
@InProceedings{ geldenhuys.06.spin,
author = {Jaco Geldenhuys and Henri Hansen},
title = {Larger Automata and Less Work for {LTL} Model Checking},
booktitle = {Proceedings of the 13th International SPIN Workshop
(SPIN'06)},
year = {2006},
pages = {53--70},
series = {Lecture Notes in Computer Science},
volume = {3925},
publisher = {Springer}
}
\endverbatim */
/// This is based on \cite geldenhuys.06.spin .
///
/// the implementation of spot::ta_check::check() is inspired from the
/// two-pass algorithm of the paper above:
......
// -*- coding: utf-8 -*-
// Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Laboratoire de
// Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2019 Laboratoire de
// Recherche et Développement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -36,24 +36,6 @@ namespace spot
/// same executions starting for either of these states. This can be
/// achieved using any algorithm based on partition refinement
///
/// For more detail about this type of algorithm, see the following paper:
/** \verbatim
@InProceedings{valmari.09.icatpn,
author = {Antti Valmari},
title = {Bisimilarity Minimization in in O(m logn) Time},
booktitle = {Proceedings of the 30th International Conference on
the Applications and Theory of Petri Nets
(ICATPN'09)},
series = {Lecture Notes in Computer Science},
publisher = {Springer},
isbn = {978-3-642-02423-8},
pages = {123--142},
volume = 5606,
url = {http://dx.doi.org/10.1007/978-3-642-02424-5_9},
year = {2009}
}
\endverbatim */
///
/// \param ta_ the TA automaton to convert into a simplified TA
SPOT_API ta_explicit_ptr
minimize_ta(const const_ta_ptr& ta_);
......
// -*- coding: utf-8 -*-
// Copyright (C) 2010, 2012-2015, 2017 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
// Copyright (C) 2010, 2012-2015, 2017, 2019 Laboratoire de Recherche
// et Développement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
//
......@@ -28,20 +28,7 @@ namespace spot
/// \ingroup tgba_ta
/// \brief Build a spot::ta_explicit* (TA) from an LTL formula.
///
/// This is based on the following paper.
/** \verbatim
@InProceedings{ geldenhuys.06.spin,
author = {Jaco Geldenhuys and Henri Hansen},
title = {Larger Automata and Less Work for {LTL} Model Checking},
booktitle = {Proceedings of the 13th International SPIN Workshop
(SPIN'06)},
year = {2006},
pages = {53--70},
series = {Lecture Notes in Computer Science},
volume = {3925},
publisher = {Springer}
}
\endverbatim */
/// This is based on \cite geldenhuys.06.spin .
///
/// \param tgba_to_convert The TGBA automaton to convert into a TA automaton
///
......
......@@ -1191,22 +1191,7 @@ namespace spot
/// \brief Create SERE for f[:*min..max]
///
/// This operator is a generalization of the (+) operator
/// defined in the following paper.
/** \verbatim
@InProceedings{ dax.09.atva,
author = {Christian Dax and Felix Klaedtke and Stefan Leue},
title = {Specification Languages for Stutter-Invariant Regular
Properties},
booktitle = {Proceedings of the 7th International Symposium on
Automated Technology for Verification and Analysis
(ATVA'09)},
pages = {244--254},
year = {2009},
volume = {5799},
series = {Lecture Notes in Computer Science},
publisher = {Springer-Verlag}
}
\endverbatim */
/// defined by Dax et al. \cite dax.09.atva
/// @{
SPOT_DEF_BUNOP(FStar);
/// @}
......@@ -1617,44 +1602,18 @@ namespace spot
/// \brief Whether the formula is purely eventual.
///
/// Pure eventuality formulae are defined in
/** \verbatim
@InProceedings{ etessami.00.concur,
author = {Kousha Etessami and Gerard J. Holzmann},
title = {Optimizing {B\"u}chi Automata},
booktitle = {Proceedings of the 11th International Conference on
Concurrency Theory (Concur'2000)},
pages = {153--167},
year = {2000},
editor = {C. Palamidessi},
volume = {1877},
series = {Lecture Notes in Computer Science},
publisher = {Springer-Verlag}
}
\endverbatim */
///
/// A word that satisfies a pure eventuality can be prefixed by
/// anything and still satisfies the formula.
/// \cite etessami.00.concur
SPOT_DEF_PROP(is_eventual);
/// \brief Whether a formula is purely universal.
///
/// Purely universal formulae are defined in
/** \verbatim
@InProceedings{ etessami.00.concur,
author = {Kousha Etessami and Gerard J. Holzmann},
title = {Optimizing {B\"u}chi Automata},
booktitle = {Proceedings of the 11th International Conference on
Concurrency Theory (Concur'2000)},
pages = {153--167},
year = {2000},
editor = {C. Palamidessi},
volume = {1877},
series = {Lecture Notes in Computer Science},
publisher = {Springer-Verlag}
}
\endverbatim */
///
/// Any (non-empty) suffix of a word that satisfies a purely
/// universal formula also satisfies the formula.
/// \cite etessami.00.concur
SPOT_DEF_PROP(is_universal);
/// Whether a PSL/LTL formula is syntactic safety property.
SPOT_DEF_PROP(is_syntactic_safety);
......
// -*- coding: utf-8 -*-
// Copyright (C) 2013, 2015 Laboratoire de Recherche et Developpement
// de l'Epita (LRDE).
// Copyright (C) 2013, 2015, 2019 Laboratoire de Recherche et
// Developpement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
//
......@@ -23,24 +23,14 @@
namespace spot
{
/// \ingroup tl_rewriting
/// \brief Rewrite a stutter-insensitive formula \a f without
/// using the X operator.
///
/// This function may also be applied to stutter-sensitive formulas,
/// but in that case the resulting formula is not equivalent.
///
/** \verbatim
@Article{ etessami.00.ipl,
author = {Kousha Etessami},
title = {A note on a question of {P}eled and {W}ilke regarding
stutter-invariant {LTL}},
journal = {Information Processing Letters},
volume = {75},
number = {6},
year = {2000},
pages = {261--263}
}
\endverbatim */
/// \see \cite etessami.00.ipl
SPOT_API
formula remove_x(formula f);
}
// -*- coding: utf-8 -*-
// Copyright (C) 2011-2017 Laboratoire de Recherche et Developpement
// Copyright (C) 2011-2017, 2019 Laboratoire de Recherche et Developpement
// de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -121,21 +121,8 @@ namespace spot
///
/// Returns whether \a f syntactically implies \a g.
///
/// This is adapted from
/** \verbatim
@InProceedings{ somenzi.00.cav,
author = {Fabio Somenzi and Roderick Bloem},
title = {Efficient {B\"u}chi Automata for {LTL} Formulae},
booktitle = {Proceedings of the 12th International Conference on
Computer Aided Verification (CAV'00)},
pages = {247--263},
year = {2000},
volume = {1855},
series = {Lecture Notes in Computer Science},
publisher = {Springer-Verlag}
}
\endverbatim */
///
/// This is adapted from the rules of Somenzi and
/// Bloem. \cite somenzi.00.cav
bool syntactic_implication(formula f, formula g);
/// \brief Syntactic implication with one negated argument.
///
......
// -*- coding: utf-8 -*-
// Copyright (C) 2012, 2013, 2014, 2015 Laboratoire de Recherche et
// Copyright (C) 2012-2015, 2019 Laboratoire de Recherche et
// Developpement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -26,29 +26,20 @@ namespace spot
{
typedef std::unordered_map<formula, formula> snf_cache;
/// Helper to rewrite a sere in Star Normal Form.
/// \ingroup tl_rewriting
/// \brief Helper to rewrite a sere in Star Normal Form.
///
/// This should only be called on children of a Star operator. It
/// corresponds to the E° operation defined in the following
/// paper.
///
/** \verbatim
@Article{ bruggeman.96.tcs,
author = {Anne Br{\"u}ggemann-Klein},
title = {Regular Expressions into Finite Automata},
journal = {Theoretical Computer Science},
year = {1996},
volume = {120},
pages = {87--98}
}
\endverbatim */
/// corresponds to the E° operation defined by Brüggemann-Klein.
/// \cite bruggeman.96.tcs
///
/// \param sere the SERE to rewrite
/// \param cache an optional cache
SPOT_API formula
star_normal_form(formula sere, snf_cache* cache = nullptr);
/// A variant of star_normal_form() for r[*0..j] where j < ω.
/// \ingroup tl_rewriting
/// \brief A variant of star_normal_form() for `r[*0..j]` where `j < ω`.
SPOT_API formula
star_normal_form_bounded(formula sere, snf_cache* cache = nullptr);
}
// -*- coding: utf-8 -*-
// Copyright (C) 2017, 2018 Laboratoire de Recherche et Développement
// Copyright (C) 2017-2019 Laboratoire de Recherche et Développement
// de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -58,18 +58,8 @@ namespace spot
/// \brief Converts a nondet Streett-like aut. to a nondet. co-Büchi aut.
///
/// This function works in top of the augmented subset construction algorithm
/// and is described in section 3.1 of:
/** \verbatim
@Article{boker.2011.fossacs,
author = {Udi Boker and Orna Kupferman},
title = {Co-Büching Them All},
booktitle = {Foundations of Software Science and Computational
Structures - 14th International Conference, FOSSACS 2011}
year = {2011},
pages = {184--198},
url = {\url{www.cs.huji.ac.il/~ornak/publications/fossacs11b.pdf}}
}
\endverbatim */
/// and is described in section 3.1 of \cite boker.2011.fossacs .
///
/// This implementation is quite different from the described algorithm. It
/// is made to work with automaton with Street-like acceptance (including
/// Büchi).
......@@ -86,18 +76,7 @@ namespace spot
///
/// This function converts the Rabin-like automaton into a Strett-like
/// automaton and then calls nsa_to_nca() on it. It is described in section
/// 3.2 of:
/** \verbatim
@Article{boker.2011.fossacs,
author = {Udi Boker and Orna Kupferman},
title = {Co-Büching Them All},
booktitle = {Foundations of Software Science and Computational
Structures - 14th International Conference, FOSSACS 2011}
year = {2011},
pages = {184--198},
url = {\url{www.cs.huji.ac.il/~ornak/publications/fossacs11b.pdf}}
}
\endverbatim */
/// 3.2 of \cite boker.2011.fossacs .
///
/// \a aut The automaton to convert.
/// \a named_states name each state for easier debugging.
......@@ -122,18 +101,7 @@ namespace spot
///
/// This function calls first nsa_to_nca() in order to retrieve som
/// information and then runs a breakpoint construction. The algorithm is
/// described in section 4 of:
/** \verbatim
@Article{boker.2011.fossacs,
author = {Udi Boker and Orna Kupferman},
title = {Co-Büching Them All},
booktitle = {Foundations of Software Science and Computational
Structures - 14th International Conference, FOSSACS 2011}
year = {2011},
pages = {184--198},
url = {\url{www.cs.huji.ac.il/~ornak/publications/fossacs11b.pdf}}
}
\endverbatim */
/// described in section 4 of \cite boker.2011.fossacs .
///
/// \a aut The automaton to convert.
/// \a named_states name each state for easier debugging.
......@@ -144,18 +112,7 @@ namespace spot
///
/// This function calls first nra_to_nca() in order to retrieve som
/// information and then runs a breakpoint construction. The algorithm is
/// described in section 4 of:
/** \verbatim
@Article{boker.2011.fossacs,
author = {Udi Boker and Orna Kupferman},
title = {Co-Büching Them All},
booktitle = {Foundations of Software Science and Computational
Structures - 14th International Conference, FOSSACS 2011}
year = {2011},
pages = {184--198},
url = {\url{www.cs.huji.ac.il/~ornak/publications/fossacs11b.pdf}}
}
\endverbatim */
/// described in section 4 of \cite boker.2011.fossacs .
///
/// \a aut The automaton to convert.
/// \a named_states name each state for easier debugging.
......
// -*- coding: utf-8 -*-
// Copyright (C) 2012, 2013, 2014, 2015, 2018 Laboratoire de Recherche et
// Copyright (C) 2012-2015, 2018-2019 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -28,20 +28,7 @@ namespace spot
/// \brief Enumerate elementary cycles in a SCC.
///
/// This class implements a non-recursive version of the algorithm
/// on page 170 of:
/** \verbatim
@Article{loizou.82.is,
author = {George Loizou and Peter Thanisch},
title = {Enumerating the Cycles of a Digraph: A New
Preprocessing Strategy},
journal = {Information Sciences},
year = {1982},
volume = {27},
number = {3},
pages = {163--182},
month = aug
}
\endverbatim */
/// on page 170 of \cite loizou.82.is .
/// (the additional preprocessings described later in that paper are
/// not implemented).
///
......
// -*- coding: utf-8 -*-
// Copyright (C) 2017, 2018 Laboratoire de Recherche et Développement
// Copyright (C) 2017, 2018, 2019 Laboratoire de Recherche et Développement
// de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -43,17 +43,7 @@ namespace spot
/// If the input automaton is existential, the output will be universal.
/// If the input automaton is universal, the output will be existential.
/// Finally, if the input automaton is alternating, the result is alternating.
/// More can be found on page 22 (Definition 1.6) of:
/** \verbatim
@mastersthesis{loding.98.methodsfor
author = {Christof Löding}
title = {Methods for the Transformation of ω-Automata: Complexity
and Connection to Second Order Logic}
school = {Institute of Computer Science and Applied Mathematics
Christian-Albrechts-University of Kiel}
year = {1998}
}
\endverbatim */
/// More can be found on page 22 (Definition 1.6) of \cite loding.98.msc .
SPOT_API twa_graph_ptr
dualize(const const_twa_graph_ptr& aut);
}
// -*- coding: utf-8 -*-
// Copyright (C) 2008, 2013, 2014, 2015, 2016, 2018 Laboratoire de Recherche
// Copyright (C) 2008, 2013-2016, 2018-2019 Laboratoire de Recherche
// et Développement de l'Epita (LRDE).
// Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de
// Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
......@@ -34,24 +34,7 @@ namespace spot
/// \brief Check whether the language of an automate is empty.
///
/// This is based on the following paper.
/** \verbatim
@InProceedings{couvreur.99.fm,
author = {Jean-Michel Couvreur},
title = {On-the-fly Verification of Temporal Logic},
pages = {253--271},
editor = {Jeannette M. Wing and Jim Woodcock and Jim Davies},
booktitle = {Proceedings of the World Congress on Formal Methods in
the Development of Computing Systems (FM'99)},
publisher = {Springer-Verlag},
series = {Lecture Notes in Computer Science},
volume = {1708},
year = {1999},
address = {Toulouse, France},
month = {September},
isbn = {3-540-66587-0}
}
\endverbatim */
/// This is based on \cite couvreur.99.fm .
///
/// A recursive definition of the algorithm would look as follows,
/// but the implementation is of course not recursive.
......
// -*- coding: utf-8 -*-
// Copyright (C) 2013, 2014 Laboratoire de Recherche et Developpement
// de l'Epita (LRDE).
// Copyright (C) 2013, 2014, 2019 Laboratoire de Recherche et
// Developpement de l'Epita (LRDE).
// Copyright (C) 2004, 2005 Laboratoire d'Informatique de Paris 6 (LIP6),
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
// et Marie Curie.
......@@ -33,25 +33,9 @@ namespace spot
/// \ingroup emptiness_check_algorithms
/// \pre The automaton \a a must have at most one acceptance condition.
///
/// The original algorithm, coming from the following paper, has only
/// been slightly modified to work on transition-based automata.
/** \verbatim
@InProceedings{geldenhuys.04.tacas,
author = {Jaco Geldenhuys and Antti Valmari},
title = {Tarjan's Algorithm Makes On-the-Fly {LTL} Verification
More Efficient},
booktitle = {Proceedings of the 10th International Conference on Tools
and Algorithms for the Construction and Analysis of Systems
(TACAS'04)},
editor = {Kurt Jensen and Andreas Podelski},
pages = {205--219},
year = {2004},
publisher = {Springer-Verlag},
series = {Lecture Notes in Computer Science},
volume = {2988},
isbn = {3-540-21299-X}
}
\endverbatim */
/// The original algorithm, coming from \cite geldenhuys.04.tacas ,
/// has only been slightly modified to work on transition-based
/// automata.
SPOT_API emptiness_check_ptr
explicit_gv04_check(const const_twa_ptr& a, option_map o = option_map());
}
// -*- coding: utf-8 -*-
// Copyright (C) 2009, 2010, 2013, 2014, 2015 Laboratoire de Recherche
// Copyright (C) 2009, 2010, 2013-2015, 2019 Laboratoire de Recherche
// et Développement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
......@@ -27,21 +27,7 @@ namespace spot
/// \ingroup twa_ltl
/// \brief Build a spot::taa* from an LTL formula.
///
/// This is based on the following.
/** \verbatim
@techreport{HUT-TCS-A104,