Proposer:
Suggested Supervisors:
Principal goal of the project:
Description:
One approach to solving the combinatorial explosion in
automated reasoning is to use decision procedures. A decision
procedure is given a formula in a decidable theory and returns
its truth value. When the decision procedure is also efficient
then this solution avoids the combinatorial
explosion. Unfortunately, few interesting theories are
decidable. But even undecidable theories often have decidable
sub-theories. Then, one or more decision procedures can make a
big contribution to proof search by taking care of many minor
sub-goals.
Many efficient decision procedures are known and have been
efficiently encoded and used in practical theorem provers, eg
PVS. However, we frequently encounter new theories in practical
applications of automated reasoning. Consider, for instance,
verification of software. The programs to be verified define new
functions. These definitions constitute a new theory, for which
we are unlikely to have predefined decision procedures.
Many decision procedures have a similar structure. For
instance, they work by applying a sequence of normalisers to
rewrite the input formulae into a tighter and tighter normal
form. At some point it becomes trivial to read off the truth
value from this formulae, eg because it contains no variables and
can be evaluated. Many normalisers also have a family
resemblance. For instance, they may start by using definitions to
remove certain functions. They may then stratify the formula into
layers, so all occurrences of each function are clustered
together. Then each layer may be normalised
separately. Conjunctive normal form and polynomial normal form
are examples of this pattern.
The rewrite rules which implement each stage of these processes
have a syntactic form which can be automatically recognised. So
the project is to automatically recognise the potential for
normalisers/decision procedures from among the definitions,
axioms, theorems etc of a theory and then put it together.
Essentially, we provide a proof plan for a normaliser/decision
procedure and the program will instantiate it with the rewrite
rules available. The essential ideas behind this are described in
more detail in the paper and note below.
Resources Required:
Degree of Difficulty:
Background Needed:
References: