spot
0.9.2
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ltlvisit
contain.hh
Go to the documentation of this file.
1
// Copyright (C) 2011, 2012 Laboratoire de Recherche et Developpement de
2
// l'Epita (LRDE).
3
// Copyright (C) 2006 Laboratoire d'Informatique de Paris 6 (LIP6),
4
// département Systèmes Répartis Coopératifs (SRC), Université Pierre
5
// et Marie Curie.
6
//
7
// This file is part of Spot, a model checking library.
8
//
9
// Spot is free software; you can redistribute it and/or modify it
10
// under the terms of the GNU General Public License as published by
11
// the Free Software Foundation; either version 2 of the License, or
12
// (at your option) any later version.
13
//
14
// Spot is distributed in the hope that it will be useful, but WITHOUT
15
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17
// License for more details.
18
//
19
// You should have received a copy of the GNU General Public License
20
// along with Spot; see the file COPYING. If not, write to the Free
21
// Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
22
// 02111-1307, USA.
23
24
#ifndef SPOT_LTLVISIT_CONTAIN_HH
25
# define SPOT_LTLVISIT_CONTAIN_HH
26
27
#include "
ltlast/formula.hh
"
28
#include "
tgbaalgos/ltl2tgba_fm.hh
"
29
#include "
misc/hash.hh
"
30
#include <map>
31
32
namespace
spot
33
{
34
namespace
ltl
35
{
36
// Check containment of language represented by LTL formulae.
37
class
language_containment_checker
38
{
39
struct
record_
40
{
41
const
tgba
*
translation
;
42
typedef
std::map<const record_*, bool>
incomp_map
;
43
incomp_map
incompatible
;
44
};
45
typedef
Sgi::hash_map
<
const
formula
*,
46
record_
,
formula_ptr_hash
>
trans_map
;
47
public
:
50
language_containment_checker
(
bdd_dict
* dict,
bool
exprop,
51
bool
symb_merge,
52
bool
branching_postponement,
53
bool
fair_loop_approx);
54
55
~language_containment_checker
();
56
58
void
clear
();
59
61
bool
contained
(
const
formula
* l,
const
formula
* g);
63
bool
neg_contained
(
const
formula
* l,
const
formula
* g);
65
bool
contained_neg
(
const
formula
* l,
const
formula
* g);
66
68
bool
equal
(
const
formula
* l,
const
formula
* g);
69
70
protected
:
71
bool
incompatible_
(
record_
* l,
record_
* g);
72
73
record_
*
register_formula_
(
const
formula
* f);
74
75
/* Translation options */
76
bdd_dict
*
dict_
;
77
bool
exprop_
;
78
bool
symb_merge_
;
79
bool
branching_postponement_
;
80
bool
fair_loop_approx_
;
81
/* Translation Maps */
82
trans_map
translated_
;
83
};
84
111
#if __GNUC__
112
const
formula
*
reduce_tau03
(
const
formula
* f,
113
bool
stronger =
true
)
114
__attribute__ ((deprecated));
115
#else
116
const
formula
*
reduce_tau03
(
const
formula
* f,
bool
stronger =
true
);
117
#endif
118
}
119
}
120
121
#endif // SPOT_LTLVISIT_CONTAIN_HH
Please
comment
this page and
report errors
about it on
the RefDocComments page
.
Generated on Mon Jul 2 2012 17:35:47 for spot by
1.8.1.1