Decision Procedures in Theorem Proving
- Decision procedures for various small theories, e.g.,
- propositional logic: truth tables; binary decision diagrams. DP method...
- some flavours of equational logic
- logic without function symbols and existential quantifiers
- cf. earlier lecture
- some flavours of arithmetic: linear arithmetic
- Given formula of a theory, decision procedure says whether it is provable or not
- Advantage: a black box does all the work
- Terminates but may be very inefficient
e.g. decision procedure for elementary geometry (Tarski) by definition
Linear Arithmetic
✁First order theory of real (or rational) numbers with:
✂,
✄,
☎,and
✆,but not
✝ ✞,and
✟ ✁note that can be expressed using < and =
✁- nly multiplication by a constant is allowed
e.g.
X
✠3 X
✡X
✡X
which can be thought of as
✁Essentially theory of dense ordered Abelian groups without endpoints
there is a number between any two different numbers e.g. the reals or the rationals
☛Commonly used to reason about time, loops in programs, etc.
☛Want a special-purpose way (rather than resolution) of dealing with such problems
☛Linear Arithmetic is decidable e.g. trivial for ground formulae (e.g. 2 + 3 < 6)
☛Decision procedure works by reducing a quantified conjecture to an equivalent formula which does not contain quantifiers or variables i.e. a ground formula
☛Applies sequence of normal forming transformations
Automated Reasoning
Decision Procedure for linear arithmetic Jacques Fleuriot
Lecture XIII
Decidability
Decidable There is a decision procedure e.g. tautology checking, linear arithmetic, elementary geometry Undecidable The problem is not decidable: there is no decision procedure e.g. termination of a set of rewrite rules, inductive theorem proving ... Semi-decidable Special class of undecidable problems: there is a procedure which will terminate if the answer is yes. e.g. - the halting problem: can run the program
- first order theorem proving: enumerate all proofs