File tree Expand file tree Collapse file tree 2 files changed +14
-11
lines changed Expand file tree Collapse file tree 2 files changed +14
-11
lines changed Original file line number Diff line number Diff line change @@ -15,7 +15,10 @@ Author: Daniel Kroening, kroening@kroening.com
15
15
#include < iosfwd>
16
16
#include < string>
17
17
18
+ #include " literal.h"
19
+
18
20
class exprt ;
21
+ class tvt ;
19
22
20
23
class decision_proceduret
21
24
{
@@ -26,6 +29,9 @@ class decision_proceduret
26
29
// returns nil if not available
27
30
virtual exprt get (const exprt &expr) const =0;
28
31
32
+ // specialized variant of get
33
+ virtual tvt l_get (literalt) const = 0;
34
+
29
35
// print satisfying assignment
30
36
virtual void print_assignment (std::ostream &out) const =0;
31
37
@@ -39,6 +45,14 @@ class decision_proceduret
39
45
void set_to_false (const exprt &expr)
40
46
{ set_to (expr, false ); }
41
47
48
+ // conversion to handle
49
+ virtual literalt convert (const exprt &expr) = 0;
50
+
51
+ literalt operator ()(const exprt &expr)
52
+ {
53
+ return convert (expr);
54
+ }
55
+
42
56
// solve the problem
43
57
enum class resultt { D_SATISFIABLE, D_UNSATISFIABLE, D_ERROR };
44
58
Original file line number Diff line number Diff line change @@ -30,19 +30,8 @@ class prop_convt:public decision_proceduret
30
30
public:
31
31
virtual ~prop_convt () { }
32
32
33
- // conversion to handle
34
- virtual literalt convert (const exprt &expr)=0;
35
-
36
- literalt operator ()(const exprt &expr)
37
- {
38
- return convert (expr);
39
- }
40
-
41
33
using decision_proceduret::operator ();
42
34
43
- // specialised variant of get
44
- virtual tvt l_get (literalt a) const =0;
45
-
46
35
// incremental solving
47
36
virtual void set_frozen (literalt a);
48
37
virtual void set_frozen (const bvt &);
You can’t perform that action at this time.
0 commit comments