Fixes to pass sanity checks.
* src/ta/taproduct.cc, src/ta/tgtaproduct.cc, src/ta/tgtaproduct.hh, src/taalgos/emptinessta.cc, src/tgbatest/ltl2ta.test: 80 columns. * src/ta/tgta.hh, src/ta/tgtaproduct.hh, src/taalgos/emptinessta.hh, src/taalgos/tgba2ta.hh: Fix include gards. * src/taalgos/tgba2ta.hh: Remove superfluous includes. * src/taalgos/tgba2ta.cc: Add missing include. * src/tgbatest/ltl2tgba.cc: Fix use of bdd_true().
This commit is contained in:
parent
dcc809ff4a
commit
67bbe6a6c7
10 changed files with 87 additions and 91 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright (C) 2011 Laboratoire de Recherche et Developpement
|
// -*- coding: utf-8 -*-
|
||||||
// de l Epita (LRDE).
|
// Copyright (C) 2011, 2012 Laboratoire de Recherche et 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.
|
||||||
|
|
@ -68,8 +69,9 @@ namespace spot
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
// ta_succ_iterator_product
|
// ta_succ_iterator_product
|
||||||
ta_succ_iterator_product::ta_succ_iterator_product(const state_ta_product* s,
|
ta_succ_iterator_product::ta_succ_iterator_product(const state_ta_product* s,
|
||||||
const ta* t, const kripke* k) :
|
const ta* t,
|
||||||
source_(s), ta_(t), kripke_(k)
|
const kripke* k)
|
||||||
|
: source_(s), ta_(t), kripke_(k)
|
||||||
{
|
{
|
||||||
kripke_source_condition = kripke_->state_condition(s->get_kripke_state());
|
kripke_source_condition = kripke_->state_condition(s->get_kripke_state());
|
||||||
|
|
||||||
|
|
@ -269,7 +271,8 @@ namespace spot
|
||||||
bdd kripke_init_state_condition = kripke_->state_condition(
|
bdd kripke_init_state_condition = kripke_->state_condition(
|
||||||
kripke_init_state);
|
kripke_init_state);
|
||||||
|
|
||||||
spot::state* artificial_initial_state = ta_->get_artificial_initial_state();
|
spot::state* artificial_initial_state =
|
||||||
|
ta_->get_artificial_initial_state();
|
||||||
|
|
||||||
if (artificial_initial_state != 0)
|
if (artificial_initial_state != 0)
|
||||||
{
|
{
|
||||||
|
|
@ -358,8 +361,6 @@ namespace spot
|
||||||
return ta_->is_livelock_accepting_state(stp->get_ta_state());
|
return ta_->is_livelock_accepting_state(stp->get_ta_state());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
ta_product::is_initial_state(const spot::state* s) const
|
ta_product::is_initial_state(const spot::state* s) const
|
||||||
{
|
{
|
||||||
|
|
@ -411,17 +412,14 @@ namespace spot
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ta_succ_iterator_product_by_changeset::
|
||||||
ta_succ_iterator_product_by_changeset::ta_succ_iterator_product_by_changeset(
|
ta_succ_iterator_product_by_changeset(const state_ta_product* s, const ta* t,
|
||||||
const state_ta_product* s, const ta* t, const kripke* k, bdd changeset) :
|
const kripke* k, bdd changeset)
|
||||||
ta_succ_iterator_product(s, t, k)
|
: ta_succ_iterator_product(s, t, k)
|
||||||
{
|
{
|
||||||
current_condition_ = changeset;
|
current_condition_ = changeset;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ta_succ_iterator_product_by_changeset::next_kripke_dest()
|
ta_succ_iterator_product_by_changeset::next_kripke_dest()
|
||||||
{
|
{
|
||||||
|
|
@ -465,8 +463,5 @@ namespace spot
|
||||||
current_condition_);
|
current_condition_);
|
||||||
ta_succ_it_->first();
|
ta_succ_it_->first();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// Copyright (C) 2010, 2011 Laboratoire de Recherche et Developpement
|
// Copyright (C) 2010, 2011, 2012 Laboratoire de Recherche et
|
||||||
// de l Epita_explicit (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.
|
||||||
//
|
//
|
||||||
|
|
@ -18,8 +18,8 @@
|
||||||
// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
// 02111-1307, USA.
|
// 02111-1307, USA.
|
||||||
|
|
||||||
#ifndef SPOT_TA_TGBTA_HH
|
#ifndef SPOT_TA_TGTA_HH
|
||||||
# define SPOT_TA_TGBTA_HH
|
# define SPOT_TA_TGTA_HH
|
||||||
|
|
||||||
#include "tgba/tgba.hh"
|
#include "tgba/tgba.hh"
|
||||||
|
|
||||||
|
|
@ -82,4 +82,4 @@ namespace spot
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // SPOT_TA_TGBTA_HH
|
#endif // SPOT_TA_TGTA_HH
|
||||||
|
|
|
||||||
|
|
@ -74,8 +74,8 @@ namespace spot
|
||||||
// tgbtgta_succ_iterator_product
|
// tgbtgta_succ_iterator_product
|
||||||
tgta_succ_iterator_product::tgta_succ_iterator_product(
|
tgta_succ_iterator_product::tgta_succ_iterator_product(
|
||||||
const state_product* s, const kripke* k, const tgta* t,
|
const state_product* s, const kripke* k, const tgta* t,
|
||||||
fixed_size_pool* pool) :
|
fixed_size_pool* pool)
|
||||||
source_(s), tgta_(t), kripke_(k), pool_(pool)
|
: source_(s), tgta_(t), kripke_(k), pool_(pool)
|
||||||
{
|
{
|
||||||
|
|
||||||
state * tgta_init_state = tgta_->get_init_state();
|
state * tgta_init_state = tgta_->get_init_state();
|
||||||
|
|
@ -151,9 +151,9 @@ namespace spot
|
||||||
}
|
}
|
||||||
|
|
||||||
// If one of the two successor sets is empty initially, we reset
|
// If one of the two successor sets is empty initially, we reset
|
||||||
// kripke_succ_it_, so that done() can detect this situation easily. (We
|
// kripke_succ_it_, so that done() can detect this situation
|
||||||
// choose to reset kripke_succ_it_ because this variable is already used by
|
// easily. (We choose to reset kripke_succ_it_ because this
|
||||||
// done().)
|
// variable is already used by done().)
|
||||||
if (kripke_succ_it_->done())
|
if (kripke_succ_it_->done())
|
||||||
{
|
{
|
||||||
delete kripke_succ_it_;
|
delete kripke_succ_it_;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
// Copyright (C) 2011 Laboratoire de Recherche et Développement
|
// -*- coding: utf-8 -*-
|
||||||
|
// Copyright (C) 2011, 2012 Laboratoire de Recherche et Développement
|
||||||
// de l'Epita (LRDE).
|
// de l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004, 2006 Laboratoire d'Informatique de Paris
|
// Copyright (C) 2003, 2004, 2006 Laboratoire d'Informatique de Paris
|
||||||
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
// 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
||||||
// Université Pierre et Marie Curie.
|
// Université Pierre et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -21,8 +22,8 @@
|
||||||
// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
// 02111-1307, USA.
|
// 02111-1307, USA.
|
||||||
|
|
||||||
#ifndef SPOT_tgta_TGBAPRODUCT_HH
|
#ifndef SPOT_TA_TGTAPRODUCT_HH
|
||||||
# define SPOT_tgta_TGBAPRODUCT_HH
|
# define SPOT_TA_TGTAPRODUCT_HH
|
||||||
|
|
||||||
#include "tgba/tgba.hh"
|
#include "tgba/tgba.hh"
|
||||||
#include "tgba/tgbaproduct.hh"
|
#include "tgba/tgbaproduct.hh"
|
||||||
|
|
@ -54,7 +55,8 @@ namespace spot
|
||||||
class tgta_succ_iterator_product : public tgba_succ_iterator
|
class tgta_succ_iterator_product : public tgba_succ_iterator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
tgta_succ_iterator_product(const state_product* s, const kripke* k, const tgta* tgta, fixed_size_pool* pool);
|
tgta_succ_iterator_product(const state_product* s, const kripke* k,
|
||||||
|
const tgta* tgta, fixed_size_pool* pool);
|
||||||
|
|
||||||
virtual
|
virtual
|
||||||
~tgta_succ_iterator_product();
|
~tgta_succ_iterator_product();
|
||||||
|
|
@ -107,4 +109,4 @@ namespace spot
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // SPOT_tgta_TGBAPRODUCT_HH
|
#endif // SPOT_TA_TGTAPRODUCT_HH
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
// Copyright (C) 2010, 2011 Laboratoire de Recherche et Développement
|
// Copyright (C) 2010, 2011, 2012 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.
|
||||||
//
|
//
|
||||||
|
|
@ -60,7 +60,7 @@ namespace spot
|
||||||
// * h: a hash of all visited nodes, with their order,
|
// * h: a hash of all visited nodes, with their order,
|
||||||
// (it is called "Hash" in Couvreur's paper)
|
// (it is called "Hash" in Couvreur's paper)
|
||||||
numbered_state_heap* h =
|
numbered_state_heap* h =
|
||||||
numbered_state_heap_hash_map_factory::instance()->build(); ///< Heap of visited states.
|
numbered_state_heap_hash_map_factory::instance()->build();
|
||||||
|
|
||||||
// * num: the number of visited nodes. Used to set the order of each
|
// * num: the number of visited nodes. Used to set the order of each
|
||||||
// visited node,
|
// visited node,
|
||||||
|
|
@ -216,7 +216,9 @@ namespace spot
|
||||||
(a_->is_hole_state_in_ta_component(curr))
|
(a_->is_hole_state_in_ta_component(curr))
|
||||||
&& a_->is_livelock_accepting_state(curr);
|
&& a_->is_livelock_accepting_state(curr);
|
||||||
|
|
||||||
//may be Buchi accepting scc or livelock accepting scc (contains a livelock accepting state that have no successors in TA)
|
// May be Buchi accepting scc or livelock accepting scc
|
||||||
|
// (contains a livelock accepting state that have no
|
||||||
|
// successors in TA).
|
||||||
scc.top().is_accepting = (a_->is_accepting_state(curr)
|
scc.top().is_accepting = (a_->is_accepting_state(curr)
|
||||||
&& (!succ->is_stuttering_transition()
|
&& (!succ->is_stuttering_transition()
|
||||||
|| a_->is_livelock_accepting_state(curr)))
|
|| a_->is_livelock_accepting_state(curr)))
|
||||||
|
|
@ -311,13 +313,15 @@ namespace spot
|
||||||
<< "PASS 1: SUCCESS : a_->is_livelock_accepting_state(curr): "
|
<< "PASS 1: SUCCESS : a_->is_livelock_accepting_state(curr): "
|
||||||
<< a_->is_livelock_accepting_state(curr) << std::endl;
|
<< a_->is_livelock_accepting_state(curr) << std::endl;
|
||||||
trace
|
trace
|
||||||
<< "PASS 1: scc.top().condition : " << bdd_format_accset(
|
<< "PASS 1: scc.top().condition : "
|
||||||
a_->get_dict(), scc.top().condition) << std::endl;
|
<< bdd_format_accset(a_->get_dict(), scc.top().condition)
|
||||||
|
<< std::endl;
|
||||||
trace
|
trace
|
||||||
<< "PASS 1: a_->all_acceptance_conditions() : "
|
<< "PASS 1: a_->all_acceptance_conditions() : "
|
||||||
<< (a_->all_acceptance_conditions()) << std::endl;
|
<< (a_->all_acceptance_conditions()) << std::endl;
|
||||||
trace
|
trace
|
||||||
<< "PASS 1 CYCLE and (scc.top().condition == a_->all_acceptance_conditions()) : "
|
<< ("PASS 1 CYCLE and (scc.top().condition == "
|
||||||
|
"a_->all_acceptance_conditions()) : ")
|
||||||
<< (scc.top().condition
|
<< (scc.top().condition
|
||||||
== a_->all_acceptance_conditions()) << std::endl;
|
== a_->all_acceptance_conditions()) << std::endl;
|
||||||
|
|
||||||
|
|
@ -418,7 +422,7 @@ namespace spot
|
||||||
// * h: a hash of all visited nodes, with their order,
|
// * h: a hash of all visited nodes, with their order,
|
||||||
// (it is called "Hash" in Couvreur's paper)
|
// (it is called "Hash" in Couvreur's paper)
|
||||||
numbered_state_heap* h =
|
numbered_state_heap* h =
|
||||||
numbered_state_heap_hash_map_factory::instance()->build(); ///< Heap of visited states.
|
numbered_state_heap_hash_map_factory::instance()->build();
|
||||||
|
|
||||||
// * num: the number of visited nodes. Used to set the order of each
|
// * num: the number of visited nodes. Used to set the order of each
|
||||||
// visited node,
|
// visited node,
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
// Copyright (C) 2008 Laboratoire de Recherche et Development de
|
// -*- coding: utf-8 -*-
|
||||||
|
// Copyright (C) 2008, 2012 Laboratoire de Recherche et Dévelopment de
|
||||||
// l'Epita (LRDE).
|
// l'Epita (LRDE).
|
||||||
// Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de
|
// Copyright (C) 2003, 2004, 2005, 2006 Laboratoire d'Informatique de
|
||||||
// Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
// Paris 6 (LIP6), département Systèmes Répartis Coopératifs (SRC),
|
||||||
// Université Pierre et Marie Curie.
|
// Université Pierre et Marie Curie.
|
||||||
//
|
//
|
||||||
// This file is part of Spot, a model checking library.
|
// This file is part of Spot, a model checking library.
|
||||||
//
|
//
|
||||||
|
|
@ -21,8 +22,8 @@
|
||||||
// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
// 02111-1307, USA.
|
// 02111-1307, USA.
|
||||||
|
|
||||||
#ifndef SPOT_TAALGOS_EMPTINESS_HH
|
#ifndef SPOT_TAALGOS_EMPTINESSTA_HH
|
||||||
# define SPOT_TAALGOS_EMPTINESS_HH
|
# define SPOT_TAALGOS_EMPTINESSTA_HH
|
||||||
|
|
||||||
#include "ta/taproduct.hh"
|
#include "ta/taproduct.hh"
|
||||||
#include "misc/optionmap.hh"
|
#include "misc/optionmap.hh"
|
||||||
|
|
@ -161,4 +162,4 @@ namespace spot
|
||||||
/// \ingroup ta_emptiness_check
|
/// \ingroup ta_emptiness_check
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // SPOT_TAALGOS_EMPTINESS_HH
|
#endif // SPOT_TAALGOS_EMPTINESSTA_HH
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright (C) 2010, 2011 Laboratoire de Recherche et Developpement
|
// -*- coding utf-8 -*-
|
||||||
// de l Epita (LRDE).
|
// Copyright (C) 2010, 2011, 2012 Laboratoire de Recherche et
|
||||||
|
// 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,6 +31,7 @@
|
||||||
#include "ltlast/atomic_prop.hh"
|
#include "ltlast/atomic_prop.hh"
|
||||||
#include "ltlast/constant.hh"
|
#include "ltlast/constant.hh"
|
||||||
#include "tgba/formula2bdd.hh"
|
#include "tgba/formula2bdd.hh"
|
||||||
|
#include "tgba/tgbatba.hh"
|
||||||
#include "misc/bddop.hh"
|
#include "misc/bddop.hh"
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include "ltlvisit/tostring.hh"
|
#include "ltlvisit/tostring.hh"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// Copyright (C) 2010 Laboratoire de Recherche et Developpement
|
// -*- coding: utf-8 -*-
|
||||||
// de l Epita (LRDE).
|
// Copyright (C) 2010, 2012 Laboratoire de Recherche et 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.
|
||||||
//
|
//
|
||||||
|
|
@ -18,17 +19,10 @@
|
||||||
// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
// 02111-1307, USA.
|
// 02111-1307, USA.
|
||||||
|
|
||||||
#ifndef SPOT_TGBAALGOS_SBA2TA_HH
|
#ifndef SPOT_TAALGOS_TGBA2TA_HH
|
||||||
# define SPOT_TGBAALGOS_SBA2TA_HH
|
# define SPOT_TAALGOS_TGBA2TA_HH
|
||||||
|
|
||||||
#include "misc/hash.hh"
|
#include "tgba/tgba.hh"
|
||||||
#include <list>
|
|
||||||
#include <map>
|
|
||||||
#include <set>
|
|
||||||
#include "tgba/tgbatba.hh"
|
|
||||||
#include "ltlast/formula.hh"
|
|
||||||
#include <cassert>
|
|
||||||
#include "misc/bddlt.hh"
|
|
||||||
#include "ta/taexplicit.hh"
|
#include "ta/taexplicit.hh"
|
||||||
#include "ta/tgtaexplicit.hh"
|
#include "ta/tgtaexplicit.hh"
|
||||||
|
|
||||||
|
|
@ -59,7 +53,7 @@ namespace spot
|
||||||
///
|
///
|
||||||
/// \param degeneralized When false, the returned automaton is a generalized
|
/// \param degeneralized When false, the returned automaton is a generalized
|
||||||
/// form of TA, called GTA (Generalized Testing Automaton).
|
/// form of TA, called GTA (Generalized Testing Automaton).
|
||||||
/// Like TGBA, GTA use Generalized Büchi acceptance
|
/// Like TGBA, GTA use Generalized Büchi acceptance
|
||||||
/// conditions intead of Buchi-accepting states: there are several acceptance
|
/// conditions intead of Buchi-accepting states: there are several acceptance
|
||||||
/// sets (of transitions), and a path is accepted if it traverses
|
/// sets (of transitions), and a path is accepted if it traverses
|
||||||
/// at least one transition of each set infinitely often or if it contains a
|
/// at least one transition of each set infinitely often or if it contains a
|
||||||
|
|
@ -107,4 +101,4 @@ namespace spot
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // SPOT_TGBAALGOS_SBA2TA_HH
|
#endif // SPOT_TAALGOS_TGBA2TA_HH
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Copyright (C) 2010, 2011 Laboratoire de Recherche et Développement
|
# Copyright (C) 2010, 2011, 2012 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.
|
||||||
#
|
#
|
||||||
|
|
@ -132,63 +132,61 @@ run 0 ../ltl2tgba -TGTA -Rm -ks 'Gq|Gr|(G(q|FGp)&G(r|FG!p))' >stdout
|
||||||
grep 'transitions: 294$' stdout
|
grep 'transitions: 294$' stdout
|
||||||
grep 'states: 21$' stdout
|
grep 'states: 21$' stdout
|
||||||
|
|
||||||
|
f="FG((WaitRight4 M (HasRight1 W GWaitLeft0)) M HasLeft4)"
|
||||||
|
|
||||||
run 0 ../ltl2tgba -TA -Rm -ks -in -R3f -x -DS "FG((WaitRight4 M (HasRight1 W GWaitLeft0)) M HasLeft4)" >stdout
|
run 0 ../ltl2tgba -TA -Rm -ks -in -R3f -x -DS "$f" >stdout
|
||||||
grep 'transitions: 521$' stdout
|
grep 'transitions: 521$' stdout
|
||||||
grep 'states: 43$' stdout
|
grep 'states: 43$' stdout
|
||||||
|
|
||||||
|
|
||||||
run 0 ../ltl2tgba -TA -Rm -ks -lv -R3f -x -DS "FG((WaitRight4 M (HasRight1 W GWaitLeft0)) M HasLeft4)" >stdout
|
run 0 ../ltl2tgba -TA -Rm -ks -lv -R3f -x -DS "$f" >stdout
|
||||||
grep 'transitions: 636$' stdout
|
grep 'transitions: 636$' stdout
|
||||||
grep 'states: 45$' stdout
|
grep 'states: 45$' stdout
|
||||||
|
|
||||||
|
|
||||||
run 0 ../ltl2tgba -TA -Rm -ks "FG((WaitRight4 M (HasRight1 W GWaitLeft0)) M HasLeft4)" >stdout
|
run 0 ../ltl2tgba -TA -Rm -ks "$f" >stdout
|
||||||
grep 'transitions: 498$' stdout
|
grep 'transitions: 498$' stdout
|
||||||
grep 'states: 34$' stdout
|
grep 'states: 34$' stdout
|
||||||
|
|
||||||
|
|
||||||
run 0 ../ltl2tgba -TA -Rm -ks -sp -lv -in "FG((WaitRight4 M (HasRight1 W GWaitLeft0)) M HasLeft4)" >stdout
|
run 0 ../ltl2tgba -TA -Rm -ks -sp -lv -in "$f" >stdout
|
||||||
grep 'transitions: 566$' stdout
|
grep 'transitions: 566$' stdout
|
||||||
grep 'states: 35$' stdout
|
grep 'states: 35$' stdout
|
||||||
|
|
||||||
|
|
||||||
run 0 ../ltl2tgba -TA -Rm -ks -in -R3 -x -DS "FG((WaitRight4 M (HasRight1 W GWaitLeft0)) M HasLeft4)" >stdout
|
run 0 ../ltl2tgba -TA -Rm -ks -in -R3 -x -DS "$f" >stdout
|
||||||
grep 'transitions: 464$' stdout
|
grep 'transitions: 464$' stdout
|
||||||
grep 'states: 36$' stdout
|
grep 'states: 36$' stdout
|
||||||
|
|
||||||
run 0 ../ltl2tgba -TA -Rm -ks -sp -lv -R3 -x -DS "FG((WaitRight4 M (HasRight1 W GWaitLeft0)) M HasLeft4)" >stdout
|
run 0 ../ltl2tgba -TA -Rm -ks -sp -lv -R3 -x -DS "$f" >stdout
|
||||||
grep 'transitions: 565$' stdout
|
grep 'transitions: 565$' stdout
|
||||||
grep 'states: 38$' stdout
|
grep 'states: 38$' stdout
|
||||||
|
|
||||||
|
|
||||||
run 0 ../ltl2tgba -TA -ks -sp -lv -DS "FG((WaitRight4 M (HasRight1 W GWaitLeft0)) M HasLeft4)" >stdout
|
run 0 ../ltl2tgba -TA -ks -sp -lv -DS "$f" >stdout
|
||||||
grep 'transitions: 831$' stdout
|
grep 'transitions: 831$' stdout
|
||||||
grep 'states: 56$' stdout
|
grep 'states: 56$' stdout
|
||||||
|
|
||||||
|
|
||||||
run 0 ../ltl2tgba -TA -Rm -ks -sp -lv "FG((WaitRight4 M (HasRight1 W GWaitLeft0)) M HasLeft4)" >stdout
|
run 0 ../ltl2tgba -TA -Rm -ks -sp -lv "$f" >stdout
|
||||||
grep 'transitions: 585$' stdout
|
grep 'transitions: 585$' stdout
|
||||||
grep 'states: 36$' stdout
|
grep 'states: 36$' stdout
|
||||||
|
|
||||||
run 0 ../ltl2tgba -TGTA -Rm -ks "FG((WaitRight4 M (HasRight1 W GWaitLeft0)) M HasLeft4)" >stdout
|
run 0 ../ltl2tgba -TGTA -Rm -ks "$f" >stdout
|
||||||
grep 'transitions: 598$' stdout
|
grep 'transitions: 598$' stdout
|
||||||
grep 'states: 35$' stdout
|
grep 'states: 35$' stdout
|
||||||
|
|
||||||
|
g="G(F(GWaitLeft7 U Idle4) U (WaitLeft2 M IsEating2))"
|
||||||
|
|
||||||
run 0 ../ltl2tgba -TA -Rm -ks -DS "G(F(GWaitLeft7 U Idle4) U (WaitLeft2 M IsEating2))" >stdout
|
run 0 ../ltl2tgba -TA -Rm -ks -DS "$g" >stdout
|
||||||
grep 'transitions: 2779$' stdout
|
grep 'transitions: 2779$' stdout
|
||||||
grep 'states: 127$' stdout
|
grep 'states: 127$' stdout
|
||||||
|
|
||||||
|
|
||||||
run 0 ../ltl2tgba -TA -Rm -ks -sp "G(F(GWaitLeft7 U Idle4) U (WaitLeft2 M IsEating2))" >stdout
|
run 0 ../ltl2tgba -TA -Rm -ks -sp "$g" >stdout
|
||||||
grep 'transitions: 1219$' stdout
|
grep 'transitions: 1219$' stdout
|
||||||
grep 'states: 65$' stdout
|
grep 'states: 65$' stdout
|
||||||
|
|
||||||
run 0 ../ltl2tgba -TGTA -Rm -ks "G(F(GWaitLeft7 U Idle4) U (WaitLeft2 M IsEating2))" >stdout
|
run 0 ../ltl2tgba -TGTA -Rm -ks "$g" >stdout
|
||||||
grep 'transitions: 1283$' stdout
|
grep 'transitions: 1283$' stdout
|
||||||
grep 'states: 65$' stdout
|
grep 'states: 65$' stdout
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo '.................. TESTs: OK'
|
|
||||||
|
|
|
||||||
|
|
@ -1103,7 +1103,7 @@ main(int argc, char** argv)
|
||||||
{
|
{
|
||||||
spot::ltl::atomic_prop_set* aps = atomic_prop_collect(f, 0);
|
spot::ltl::atomic_prop_set* aps = atomic_prop_collect(f, 0);
|
||||||
|
|
||||||
bdd atomic_props_set_bdd = bdd_true();
|
bdd atomic_props_set_bdd = bddtrue;
|
||||||
for (spot::ltl::atomic_prop_set::const_iterator i = aps->begin(); i
|
for (spot::ltl::atomic_prop_set::const_iterator i = aps->begin(); i
|
||||||
!= aps->end(); ++i)
|
!= aps->end(); ++i)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue