Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn...
-
date post
15-Jan-2016 -
Category
Documents
-
view
216 -
download
0
Transcript of Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn...
E-KRHyper 1/11Björn Pelzer (AGKI)
E-KRHyperA Hyper Tableau Theorem Prover with Equality
Björn Pelzer
E-KRHyper 2/11Björn Pelzer (AGKI)
Overview 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
hyper tableau calculus
KRHypertheorem prover
E-hyper tableau calculus
E-KRHypertheorem proveradd equality
reasoning
E-KRHyper 3/11Björn Pelzer (AGKI)
Hyper 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.
E-KRHyper 4/11Björn Pelzer (AGKI)
Hyper Tableau Calculus - Hyper Extension
r(g(x))
q(a, x)
p(b, f(a))p(x, y) q(f(x), z) p(z, f(a)) r(g(a))
Given some branch in a tableau:
• select a clause whose negative literals unify with branch literals:
p(a, y) q(f(a), b)
p(b, f(a))
r(g(a))
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
= {z b}
• attach the substituted literals as new nodes
= {x a}
p(a, y) q(f(a), b) p(b, f(a)) r(g(a))
• branches with negative leaves are closed and cannot be extended any further
p(z, f(a))p(b, f(a))
r(g(a))
r(g(x))
E-KRHyper 5/11Björn Pelzer (AGKI)
E-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
E-KRHyper 6/11Björn Pelzer (AGKI)
f(x)x
E-Hyper Tableau Calculus - Superposition
The superposition rules derive a new node by applying a positive equation unit to another clause from the same branch.
r(g(b)) p(b)
f(x)x
q(f(x), b) p(f(a))
q(f(x), b) p(a)q(f(x), b) p(a)
q(f(x), b) p(f(a))f(a)
f(x)
E-KRHyper 7/11Björn Pelzer (AGKI)
p(f(x, y)) q(y) g(b)g(x)
E-Hyper Tableau Calculus - Reflexivity and Split
The reflexivity-rule eliminates a trivial negative equation.
p(f(x, y)) q(y) g(b)g(x)
p(f(b, y)) q(y) p(f(b, y)) q(y)
p(f(b, y)) q(y)
p(f(b, a)) q(a) The split-rule uses a positive disjunction to split the branch.
p(f(b, a)) q(a)
= {y a}
E-KRHyper 8/11Björn Pelzer (AGKI)
E-Hyper Tableau Calculus - Handling Redundancy
If a clause...
• is subsumed, or
• follows from smaller clauses,
then it can be removed.
r(g(b)) p(b)
f(x)x
q(f(a), b)
q(a, b)
f(x)x
q(a, b) q(f(a), b)
q(f(a), b)
q(f(a), b)
tt
E-KRHyper 9/11Björn Pelzer (AGKI)
E-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
E-KRHyper 10/11Björn Pelzer (AGKI)
E-KRHyper - Specialities
(1) f(a)a
(2) g(a)a
(3) f(g(x))g(f(x))
(4) p(f(x)) p(g(x))
• 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)
E-KRHyper 11/11Björn Pelzer (AGKI)
E-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!