Download presentation
Presentation is loading. Please wait.
1
Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer bpelzer@uni-koblenz.de
2
Björn Pelzer (AGKI)E-KRHyper2/11 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 KRHyper theorem prover E-hyper tableau calculus E-KRHyper theorem prover add equality reasoning
3
Björn Pelzer (AGKI)E-KRHyper3/11 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.
4
Björn Pelzer (AGKI)E-KRHyper4/11 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))
5
Björn Pelzer (AGKI)E-KRHyper5/11 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
6
Björn Pelzer (AGKI)E-KRHyper6/11 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(f(a)) f(a)f(a) f(x)f(x)
7
Björn Pelzer (AGKI)E-KRHyper7/11 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, a)) q(a) The split-rule uses a positive disjunction to split the branch. p(f(b, a)) q(a) = {y a}
8
Björn Pelzer (AGKI)E-KRHyper8/11 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) t t
9
Björn Pelzer (AGKI)E-KRHyper9/11 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
10
Björn Pelzer (AGKI)E-KRHyper10/11 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)
11
Björn Pelzer (AGKI)E-KRHyper11/11 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!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.