spot
1.2.6
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
ltlvisit
contain.hh
1
// -*- coding: utf-8 -*-
2
// Copyright (C) 2011, 2012, 2013 Laboratoire de Recherche et
3
// Developpement de l'Epita (LRDE).
4
// Copyright (C) 2006 Laboratoire d'Informatique de Paris 6 (LIP6),
5
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
6
// et Marie Curie.
7
//
8
// This file is part of Spot, a model checking library.
9
//
10
// Spot is free software; you can redistribute it and/or modify it
11
// under the terms of the GNU General Public License as published by
12
// the Free Software Foundation; either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// Spot is distributed in the hope that it will be useful, but WITHOUT
16
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
18
// License for more details.
19
//
20
// You should have received a copy of the GNU General Public License
21
// along with this program. If not, see <http://www.gnu.org/licenses/>.
22
23
#ifndef SPOT_LTLVISIT_CONTAIN_HH
24
# define SPOT_LTLVISIT_CONTAIN_HH
25
26
#include "
ltlast/formula.hh
"
27
#include "tgbaalgos/ltl2tgba_fm.hh"
28
#include "misc/hash.hh"
29
#include <map>
30
31
namespace
spot
32
{
33
namespace
ltl
34
{
36
class
SPOT_API
language_containment_checker
37
{
38
struct
record_
39
{
40
const
tgba
* translation;
41
typedef
std::map<const record_*, bool> incomp_map;
42
incomp_map incompatible;
43
};
44
typedef
Sgi::hash_map<
const
formula
*,
45
record_,
formula_ptr_hash
> trans_map;
46
public
:
49
language_containment_checker
(
bdd_dict
* dict,
bool
exprop,
50
bool
symb_merge,
51
bool
branching_postponement,
52
bool
fair_loop_approx);
53
54
~
language_containment_checker
();
55
57
void
clear();
58
60
bool
contained(
const
formula
* l,
const
formula
* g);
62
bool
neg_contained(
const
formula
* l,
const
formula
* g);
64
bool
contained_neg(
const
formula
* l,
const
formula
* g);
65
67
bool
equal(
const
formula
* l,
const
formula
* g);
68
69
protected
:
70
bool
incompatible_(record_* l, record_* g);
71
72
record_* register_formula_(
const
formula
* f);
73
74
/* Translation options */
75
bdd_dict
* dict_;
76
bool
exprop_;
77
bool
symb_merge_;
78
bool
branching_postponement_;
79
bool
fair_loop_approx_;
80
/* Translation Maps */
81
trans_map translated_;
82
};
83
87
103
SPOT_API SPOT_DEPRECATED
111
const
formula
* reduce_tau03(
const
formula
* f,
112
bool
stronger =
true
);
113
}
114
}
115
116
#endif // SPOT_LTLVISIT_CONTAIN_HH
Please direct any
question
,
comment
, or
bug report
to the Spot mailing list at
spot@lrde.epita.fr
.
Generated on Sat Dec 6 2014 12:28:43 for spot by
1.8.4