Title: E-KRHyper A Hyper Tableau Theorem Prover with Equality
1E-KRHyperA Hyper Tableau Theorem Prover with
Equality
Björn Pelzer bpelzer_at_uni-koblenz.de
2Overview and Motivation
- KRHyper
- theorem prover for first-order logic
- implements hyper tableau calculus
- designed for embedding in knowledge-representation
applications - is used in e-learning, document management,
database schema processing, ontology
reasoning,... - limitation for use with modal and description
logics no equality reasoning
3Hyper Tableau Calculus - Overview
- theorem proving and model generation method for
FOL clauses - based on clausal normal form tableaux
- Technique
- Given a set of clauses,
- constructs a literal tree,
- uses a single rule for attaching nodes hyper
extension.
4Hyper Tableau Calculus - Hyper Extension
- Given some branch in a tableau
- select a clause whose negative literals unify
with branch literals
p(x, y) ? q(f(x), b) ? p(b, f(a)) ? r(g(a))
- if positive literals from the clause share
variables, apply some ground substitution
- attach the substituted literals as new nodes
- branches with negative leaves are closed and
cannot be extended any further
5E-Hyper Tableau Calculus - Overview
- joint work with Peter Baumgartner and Ulrich
Furbach - combines hyper tableaux with superposition-based
handling of equality - sound and complete
- Differences to hyper tableaux
- clause tree instead of literal tree
- four extension rules instead of one
- adds term ordering
- adds redundancy handling
6E-Hyper Tableau Calculus - Superposition
The superposition rules derive a new node by
applying a positive equation unit to another
clause from the same branch.
7E-Hyper Tableau Calculus - Reflexivity and Split
The reflexivity-rule eliminates a trivial
negative equation.
p(f(b, y)) ? q(y) ?
8E-Hyper Tableau Calculus - Handling Redundancy
- If a clause...
- is subsumed, or
- follows from smaller clauses,
- then it can be removed.
t?t ?
q(f(a), b) ?
9E-KRHyper - Overview
- E-hyper tableau is built depth-first, one branch
at a time - splitting delayed as long as possible
- iterative deepening bounded by term weight
- enumerates models
- backward compatible to KRHyper
10E-KRHyper - Specialities
- satisfiable
- yet can cause termination problems for some
provers - p(g(f(x))) ? p(g(g(x))) ?
- p(g(g(f(x)))) ? p(g(g(g(x)))) ?
- ...
- E-KRHyper
- purification creates ground instances
- (1) and (2) allow detection of redundancy
- terminates with model p(a) ?
11E-KRHyper - Experiments and Outlook
- works best so far on problems that are
range-restricted and satisfiable (solves 74 of
the subset in TPTP) - early experiments with blocking transformation
for bottom-up model generation - for the future performance optimization
- Thanks!