word: introduce use_all_aps()

This allows fixing issue #388 reported by Victor Khomenko.

* spot/twaalgos/word.cc, spot/twaalgos/word.hh (use_all_aps): New
method.
* tests/python/stutter-inv.ipynb: Use it.
* tests/python/stutter.py: New file, with Victor's test case.
* tests/Makefile.am: Add python/stutter.py.
This commit is contained in:
Alexandre Duret-Lutz 2019-05-24 21:42:42 +02:00
parent 90a88d0b5a
commit 36d20696bf
5 changed files with 80 additions and 13 deletions

View file

@ -1,5 +1,5 @@
// -*- coding: utf-8 -*-
// Copyright (C) 2013, 2014, 2015, 2016, 2018 Laboratoire de Recherche et
// Copyright (C) 2013, 2014, 2015, 2016, 2018, 2019 Laboratoire de Recherche et
// Développement de l'Epita (LRDE).
//
// This file is part of Spot, a model checking library.
@ -62,6 +62,13 @@ namespace spot
/// single operand.
void simplify();
/// \brief Use all atomic proposition.
///
/// Make sure each letters actually use all variables in \a aps.
/// By default, missing variables are introduced as negative,
/// but setting \a positive to true will reverse that.
void use_all_aps(bdd aps, bool positive = false);
typedef std::list<bdd> seq_t;
seq_t prefix;
seq_t cycle;