ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
cnf_conv.h
Go to the documentation of this file.
1#ifndef _ESBMC_SOLVERS_SMT_CNF_CONV_H_
2#define _ESBMC_SOLVERS_SMT_CNF_CONV_H_
3
5#include <bitblast_conv.h>
6#include <cnf_iface.h>
7
8class cnf_convt : public sat_iface
9{
10public:
12 ~cnf_convt();
13
14 // The API we're implementing: all reducing to cnf(), eventually.
15 virtual literalt lnot(literalt a);
16 virtual literalt lselect(literalt a, literalt b, literalt c);
17 virtual literalt lequal(literalt a, literalt b);
18 virtual literalt limplies(literalt a, literalt b);
19 virtual literalt lxor(literalt a, literalt b);
20 virtual literalt lor(literalt a, literalt b);
21 virtual literalt land(literalt a, literalt b);
22 virtual void gate_xor(literalt a, literalt b, literalt o);
23 virtual void gate_or(literalt a, literalt b, literalt o);
24 virtual void gate_and(literalt a, literalt b, literalt o);
25 virtual void set_equal(literalt a, literalt b);
26
28};
29
30#endif /* _ESBMC_SOLVERS_SMT_CNF_CONV_H_ */
cnf_convt(cnf_iface *cnf_api)
Definition cnf_conv.cpp:3
virtual literalt lselect(literalt a, literalt b, literalt c)
Definition cnf_conv.cpp:17
virtual literalt lequal(literalt a, literalt b)
Definition cnf_conv.cpp:33
virtual literalt land(literalt a, literalt b)
Definition cnf_conv.cpp:75
virtual literalt lor(literalt a, literalt b)
Definition cnf_conv.cpp:59
~cnf_convt()
Definition cnf_conv.cpp:7
virtual void gate_and(literalt a, literalt b, literalt o)
Definition cnf_conv.cpp:155
virtual void set_equal(literalt a, literalt b)
Definition cnf_conv.cpp:180
virtual literalt lxor(literalt a, literalt b)
Definition cnf_conv.cpp:43
cnf_iface * cnf_api
Definition cnf_conv.h:27
virtual void gate_xor(literalt a, literalt b, literalt o)
Definition cnf_conv.cpp:93
virtual literalt lnot(literalt a)
Definition cnf_conv.cpp:11
virtual void gate_or(literalt a, literalt b, literalt o)
Definition cnf_conv.cpp:130
virtual literalt limplies(literalt a, literalt b)
Definition cnf_conv.cpp:38
Definition cnf_iface.h:5
Definition literal.h:8
Definition sat_iface.h:9
SMT conversion tools and utilities.