@@ -56,9 +56,11 @@ getting an over-view of the solvers currently supported.
56
56
57
57
Many (but not all) decision procedures have a notion of logical
58
58
expression and can provide information about logical expressions
59
- within the solver. ` prop_convt ` expands on the interface of
60
- ` decision_proceduret ` to add a data-type (` literalt ` ) and interfaces
61
- for manipulating logical expressions within the solver.
59
+ within the solver. ` decision_proceduret ` also has functions to
60
+ get a handle (in the form of a ` literalt ` ) on a particular
61
+ Boolean expression within the solver, which is useful the
62
+ retrieve to easily the truth value of that expression from
63
+ a satisfying assignment.
62
64
63
65
Within decision procedures it is common to reduce the logical
64
66
expressions to equivalent expressions in a simpler language. This is
@@ -75,15 +77,15 @@ processors, creating a good SAT solver is a very specialised skill, so
75
77
CPROVER uses third-party SAT solvers. By default this is MiniSAT, but
76
78
others are supported (see the ` sat/ ` directory). To do this it needs a
77
79
software interface to a SAT solver : this is ` propt ` . It uses the
78
- same ` literalt ` to refer to Boolean variables, just as ` prop_convt `
80
+ same ` literalt ` to refer to Boolean variables, just as ` decision_proceduret `
79
81
uses them to refer to logical expressions. ` land ` , ` lor ` , ` lxor ` and
80
82
so on allow gates to be constructed to express the formulae to be
81
83
solved. If ` cnf_handled_well ` is true then you may also use ` lcnf ` to
82
84
build formulae. Finally, ` prop_solve ` will run the decision procedure.
83
85
84
86
As previously mentioned, many decision procedures reduce formulae to
85
87
CNF and solve with a SAT solver. ` prop_conv_solvert ` contains the
86
- foundations of this conversion. It implements the ` prop_convt ` by
88
+ foundations of this conversion. It implements the ` decision_proceduret ` by
87
89
having an instance of ` propt ` (a SAT solver) and reducing the
88
90
expressions that are input into CNF. The key entry point to this
89
91
procedure is ` prop_conv_solvert::convert ` which then splits into
0 commit comments