gfguarante: update citation

* spot/twaalgos/gfguarantee.hh: Properly cite the LICS'18 paper.
* doc/spot.bib: Add the entry.
This commit is contained in:
Alexandre Duret-Lutz 2023-11-14 16:52:41 +01:00
parent 997f7ec7fb
commit b7a0a8c324
2 changed files with 28 additions and 15 deletions

View file

@ -1,4 +1,3 @@
@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
@ -457,6 +456,20 @@
doi = {10.1007/978-3-642-01702-5_17} doi = {10.1007/978-3-642-01702-5_17}
} }
@InProceedings{ esparza.18.lics,
author = {Javier Esparza and Jan K\v{r}et{\'{\i}}nsk{\'{y}} and
Salomon Sickert},
title = {One Theorem to Rule Them All: {A} Unified Translation of
{LTL} into $\omega$-Automata},
booktitle = {Proceedings of the 33rd Annual {ACM/IEEE} Symposium on
Logic in Computer Science (LICS'18)},
pages = {384--393},
year = {2018},
editor = {Anuj Dawar and Erich Gr{\"{a}}del},
publisher = {ACM},
doi = {10.1145/3209108.3209161}
}
@InProceedings{ etessami.00.concur, @InProceedings{ etessami.00.concur,
author = {Kousha Etessami and Gerard J. Holzmann}, author = {Kousha Etessami and Gerard J. Holzmann},
title = {Optimizing {B\"u}chi Automata}, title = {Optimizing {B\"u}chi Automata},

View file

@ -1,6 +1,6 @@
// -*- coding: utf-8 -*- // -*- coding: utf-8 -*-
// Copyright (C) 2018, 2022 Laboratoire de Recherche et Développement // Copyright (C) 2018, 2022, 2023 Laboratoire de Recherche et
// de l'Epita (LRDE). // Développement de l'Epita (LRDE).
// //
// This file is part of Spot, a model checking library. // This file is part of Spot, a model checking library.
// //
@ -30,17 +30,17 @@ namespace spot
/// \brief Given a terminal automaton \a f_terminal recognizing /// \brief Given a terminal automaton \a f_terminal recognizing
/// some formula F(φ), modify it to recognize GF(φ). /// some formula F(φ), modify it to recognize GF(φ).
/// ///
/// If \a state_based is set, the automaton all terminal states are /// If \a state_based is set, the automaton's terminal states are
/// replaced by a unique accepting state that has the same outgoing /// all replaced by a unique accepting state that has the same
/// transitions as the initial state, and the initial state is /// outgoing transitions as the initial state, and the initial state
/// actually relocated to that accepting state. The latter point is /// is actually relocated to that accepting state. The latter point
/// not necessary, but it favors shorter accepting cycles. /// is not necessary, but it favors shorter accepting cycles.
/// ///
/// If \a state_based is not set, all transition going to terminal /// If \a state_based is not set, all transition going to terminal
/// states are made accepting and redirected to the initial state. /// states are made accepting and redirected to the initial state.
/// ///
/// This construction is inspired by a similar construction in the /// This construction is inspired by a similar construction in the
/// LICS'18 paper by J. Esparza, J. Křetínský, and S. Sickert. /// LICS'18 paper by Esparza et al. \cite esparza.18.lics
SPOT_API twa_graph_ptr SPOT_API twa_graph_ptr
g_f_terminal_inplace(twa_graph_ptr f_terminal, bool state_based = false); g_f_terminal_inplace(twa_graph_ptr f_terminal, bool state_based = false);
@ -57,12 +57,12 @@ namespace spot
/// Return nullptr if the input formula is not of the supported /// Return nullptr if the input formula is not of the supported
/// form. /// form.
/// ///
/// This construction generalizes a construction in the LICS'18 /// This construction generalizes a construction in a LICS'18
/// paper of J. Esparza, J. Křetínský, and S. Sickert. This version /// paper by Esparza et al. \cite esparza.18.lics
/// will work if Φ represent a safety property, even if it is not a /// This version will work if Φ represents a safety property, even if
/// syntactic safety. When building deterministic transition-based /// it is not a syntactic safety. When building deterministic
/// automata, it will also try to remove useless trivial components /// transition-based automata, it will also try to remove useless
/// at the beginning of wdba(A_Φ). /// trivial components at the beginning of wdba(A_Φ).
SPOT_API twa_graph_ptr SPOT_API twa_graph_ptr
gf_guarantee_to_ba_maybe(formula gf, const bdd_dict_ptr& dict, gf_guarantee_to_ba_maybe(formula gf, const bdd_dict_ptr& dict,
bool deterministic = true, bool state_based = false); bool deterministic = true, bool state_based = false);