forq: fix bib entry and bind the doxygen doc to a group

* doc/spot.bib: Reformat the FORQ reference in the style of the
rest of the bibliographic file.
* spot/twaalgos/forq_contains.hh: Adjust, and add missing \ingroup.
This commit is contained in:
Alexandre Duret-Lutz 2023-09-05 11:39:13 +02:00
parent ad22eb3e65
commit 28a6471efb
2 changed files with 33 additions and 30 deletions

View file

@ -1,3 +1,4 @@
@InProceedings{ babiak.12.tacas, @InProceedings{ babiak.12.tacas,
author = {Tom{\'a}{\v{s}} Babiak and Mojm{\'i}r author = {Tom{\'a}{\v{s}} Babiak and Mojm{\'i}r
K{\v{r}}et{\'i}nsk{\'y} and Vojt{\v{e}}ch {\v{R}}eh{\'a}k K{\v{r}}et{\'i}nsk{\'y} and Vojt{\v{e}}ch {\v{R}}eh{\'a}k
@ -185,7 +186,7 @@
month = apr, month = apr,
volume = {13244}, volume = {13244},
pages = {99--117}, pages = {99--117},
doi = {10.1007/978-3-030-99527-0_6}, doi = {10.1007/978-3-030-99527-0_6}
} }
@InProceedings{ cerna.03.mfcs, @InProceedings{ cerna.03.mfcs,
@ -336,17 +337,17 @@
month = aug month = aug
} }
@inproceedings{doveriFORQBasedLanguageInclusion2022, @InProceedings{ doveri.22.cav,
title = {{{FORQ-Based Language Inclusion Formal Testing}}}, title = {{FORQ}-Based Language Inclusion Formal Testing},
booktitle = {{{CAV}}'22: {{Proc}}. 32nd {{Int}}. {{Conf}}. on {{Computer Aided Verification}}}, booktitle = {Proceedings of the 32nd International Conference on
author = {Doveri, Kyveli and Ganty, Pierre and Mazzocchi, Nicolas}, Computer Aided Verification (CAV'22)},
year = {2022}, author = {Kyveli Doveri and Pierre Ganty and Nicolas Mazzocchi},
volume = {13372}, year = {2022},
pages = {109--129}, volume = {13372},
publisher = {{Springer International Publishing}}, pages = {109--129},
doi = {10.1007/978-3-031-13188-2_6}, publisher = {Springer International Publishing},
urldate = {2022-09-15}, doi = {10.1007/978-3-031-13188-2_6},
isbn = {978-3-031-13187-5 978-3-031-13188-2} month = aug
} }
@InProceedings{ duret.11.vecos, @InProceedings{ duret.11.vecos,
@ -1099,7 +1100,8 @@
publisher = {Elsevier}, publisher = {Elsevier},
editor = {Rance Cleaveland and Hubert Garavel}, editor = {Rance Cleaveland and Hubert Garavel},
year = {2002}, year = {2002},
month = jul, pdf = {adl/duret.16.atva.pdf}, month = jul,
pdf = {adl/duret.16.atva.pdf},
abstract = {Checking liveness properties with partial-order reductions abstract = {Checking liveness properties with partial-order reductions
requires a cycle proviso to ensure that an action cannot be requires a cycle proviso to ensure that an action cannot be
postponed forever. The proviso forces each cycle to contain postponed forever. The proviso forces each cycle to contain
@ -1111,7 +1113,6 @@
the source of this edge, while this paper also explores the the source of this edge, while this paper also explores the
expansion of the destination and the use of SCC-based expansion of the destination and the use of SCC-based
information.}, information.},
address = {M{\'a}laga, Spain}, address = {M{\'a}laga, Spain},
doi = {10.1016/S1571-0661(04)80409-2} doi = {10.1016/S1571-0661(04)80409-2}
} }

View file

@ -23,29 +23,31 @@
namespace spot namespace spot
{ {
/// \ingroup containment
/// \brief Returns a word accepted by \a left that is rejected by \a right, /// \brief Returns a word accepted by \a left that is rejected by \a right,
/// or nullptr. /// or nullptr.
/// ///
/// This implements the language containment algorithm from /// This implements a FORQ-based language containment algorithm
/// \cite{doveriFORQBasedLanguageInclusion2022} /// \cite doveri.22.cav to check whether L(left)⊆L(right), in which
/// to check whether L(left)⊆L(right), in which case, it returns nullptr. /// case, it returns nullptr. Otherwise, it returns a
/// Otherwise, it returns a counterexample, i.e., a word that is accepted /// counterexample, i.e., a word that is accepted by
/// by $L(left)\setminus L(right)$, hence the name of the function. /// $L(left)\setminus L(right)$, hence the name of the function.
/// ///
/// \pre Automata \a left and \a right should be /// \pre Automata \a left and \a right should be non-alternating
/// non-alternating state-based Büchi-automata. /// Büchi-automata.
SPOT_API twa_word_ptr difference_word_forq( SPOT_API
const_twa_graph_ptr left, spot::const_twa_graph_ptr right); twa_word_ptr difference_word_forq(const_twa_graph_ptr left,
const_twa_graph_ptr right);
/// \ingroup containment
/// \brief Returns a boolean value indicating /// \brief Returns a boolean value indicating
/// whether \a left is included in the language of \a right. /// whether \a left is included in the language of \a right.
/// ///
/// This implements the language containment algorithm from /// This implements a FORQ-based language containment algorithm
/// \cite{doveriFORQBasedLanguageInclusion2022} /// to check whether L(left)⊆L(right). \cite doveri.22.cav
/// to check whether L(left)⊆L(right).
/// ///
/// \pre Automata \a left and \a right should be /// \pre Automata \a left and \a right should be non-alternating
/// non-alternating state-based Büchi-automata. /// Büchi-automata.
SPOT_API bool contains_forq( SPOT_API
const_twa_graph_ptr left, const_twa_graph_ptr right); bool contains_forq(const_twa_graph_ptr left, const_twa_graph_ptr right);
} }