cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
dimacs_cnf.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module:
4
5
Author: Daniel Kroening, kroening@kroening.com
6
7
\*******************************************************************/
8
9
10
#ifndef CPROVER_SOLVERS_SAT_DIMACS_CNF_H
11
#define CPROVER_SOLVERS_SAT_DIMACS_CNF_H
12
13
#include <iosfwd>
14
15
#include "
cnf_clause_list.h
"
16
17
class
dimacs_cnft
:
public
cnf_clause_listt
18
{
19
public
:
20
explicit
dimacs_cnft
(
message_handlert
&);
21
virtual
~dimacs_cnft
() { }
22
23
virtual
void
write_dimacs_cnf
(std::ostream &out)
const
;
24
25
// dummy functions
26
27
std::string
solver_text
()
const override
28
{
29
return
"DIMACS CNF"
;
30
}
31
32
void
set_assignment
(
literalt
a,
bool
value)
override
;
33
bool
is_in_conflict
(
literalt
l)
const override
;
34
35
static
void
36
write_dimacs_clause
(
const
bvt
&, std::ostream &,
bool
break_lines
);
37
38
protected
:
39
void
write_problem_line
(std::ostream &out)
const
;
40
void
write_clauses
(std::ostream &out)
const
;
41
42
bool
break_lines
;
43
};
44
45
class
dimacs_cnf_dumpt
:
public
cnft
46
{
47
public
:
48
dimacs_cnf_dumpt
(std::ostream &_out,
message_handlert
&message_handler);
49
virtual
~dimacs_cnf_dumpt
() { }
50
51
std::string
solver_text
()
const override
52
{
53
return
"DIMACS CNF Dumper"
;
54
}
55
56
void
lcnf
(
const
bvt
&bv)
override
;
57
58
tvt
l_get
(
literalt
)
const override
59
{
60
return
tvt::unknown
();
61
}
62
63
size_t
no_clauses
()
const override
64
{
65
return
0;
66
}
67
68
protected
:
69
resultt
do_prop_solve
(
const
bvt
&)
override
70
{
71
return
resultt::P_ERROR
;
72
}
73
74
std::ostream &
out
;
75
};
76
77
#endif
// CPROVER_SOLVERS_SAT_DIMACS_CNF_H
cnf_clause_listt::cnf_clause_listt
cnf_clause_listt(message_handlert &message_handler)
Definition
cnf_clause_list.h:26
cnft::cnft
cnft(message_handlert &message_handler)
Definition
cnf.h:22
dimacs_cnf_dumpt::out
std::ostream & out
Definition
dimacs_cnf.h:74
dimacs_cnf_dumpt::~dimacs_cnf_dumpt
virtual ~dimacs_cnf_dumpt()
Definition
dimacs_cnf.h:49
dimacs_cnf_dumpt::no_clauses
size_t no_clauses() const override
Definition
dimacs_cnf.h:63
dimacs_cnf_dumpt::do_prop_solve
resultt do_prop_solve(const bvt &) override
Definition
dimacs_cnf.h:69
dimacs_cnf_dumpt::solver_text
std::string solver_text() const override
Definition
dimacs_cnf.h:51
dimacs_cnf_dumpt::dimacs_cnf_dumpt
dimacs_cnf_dumpt(std::ostream &_out, message_handlert &message_handler)
Definition
dimacs_cnf.cpp:31
dimacs_cnf_dumpt::l_get
tvt l_get(literalt) const override
Definition
dimacs_cnf.h:58
dimacs_cnf_dumpt::lcnf
void lcnf(const bvt &bv) override
Definition
dimacs_cnf.cpp:98
dimacs_cnft::is_in_conflict
bool is_in_conflict(literalt l) const override
Returns true if an assumption is in the final conflict.
Definition
dimacs_cnf.cpp:25
dimacs_cnft::dimacs_cnft
dimacs_cnft(message_handlert &)
Definition
dimacs_cnf.cpp:15
dimacs_cnft::solver_text
std::string solver_text() const override
Definition
dimacs_cnf.h:27
dimacs_cnft::~dimacs_cnft
virtual ~dimacs_cnft()
Definition
dimacs_cnf.h:21
dimacs_cnft::write_clauses
void write_clauses(std::ostream &out) const
Definition
dimacs_cnf.cpp:77
dimacs_cnft::write_dimacs_clause
static void write_dimacs_clause(const bvt &, std::ostream &, bool break_lines)
Definition
dimacs_cnf.cpp:51
dimacs_cnft::break_lines
bool break_lines
Definition
dimacs_cnf.h:42
dimacs_cnft::set_assignment
void set_assignment(literalt a, bool value) override
Definition
dimacs_cnf.cpp:20
dimacs_cnft::write_dimacs_cnf
virtual void write_dimacs_cnf(std::ostream &out) const
Definition
dimacs_cnf.cpp:38
dimacs_cnft::write_problem_line
void write_problem_line(std::ostream &out) const
Definition
dimacs_cnf.cpp:44
literalt
Definition
literal.h:26
message_handlert
Definition
message.h:27
propt::resultt
resultt
Definition
prop.h:101
propt::resultt::P_ERROR
@ P_ERROR
Definition
prop.h:101
tvt
Definition
threeval.h:20
tvt::unknown
static tvt unknown()
Definition
threeval.h:33
cnf_clause_list.h
CNF Generation.
bvt
std::vector< literalt > bvt
Definition
literal.h:201
solvers
sat
dimacs_cnf.h
Generated by
1.17.0