1 / 11

E-KRHyper A Hyper Tableau Theorem Prover with Equality

E-KRHyper A Hyper Tableau Theorem Prover with Equality. Björn Pelzer bpelzer@uni-koblenz.de. Overview and Motivation. KRHyper theorem prover. E-KRHyper theorem prover. add equality. hyper tableau calculus. E-hyper tableau calculus. reasoning. KRHyper:

manchu
Download Presentation

E-KRHyper A Hyper Tableau Theorem Prover with Equality

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. E-KRHyperA Hyper Tableau Theorem Prover with Equality Björn Pelzer bpelzer@uni-koblenz.de E-KRHyper

  2. Overview and Motivation KRHyper theorem prover E-KRHyper theorem prover add equality hyper tableau calculus E-hyper tableau calculus reasoning 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 E-KRHyper

  3. 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. Hyper Tableau Calculus - Hyper Extension p(b, f(a)) p(b, f(a)) p(x, y)  q(f(x), z)  p(z, f(a))  r(g(a)) p(z, f(a)) r(g(a))  = {z b} q(a, x) r(g(x)) r(g(x))  = {x a} p(a, y)  q(f(a), b)  p(b, f(a))  r(g(a)) r(g(a)) q(f(a), b) p(a, y) p(b, f(a)) • 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 E-KRHyper

  5. 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. E-Hyper Tableau Calculus - Superposition f(x)x  q(f(x), b) p(f(a)) f(x) f(x)x  r(g(b)) p(b) q(f(x), b) p(f(a)) f(a) q(f(x), b) p(a) q(f(x), b) p(a) The superposition rules derive a new node by applying a positive equation unit to another clause from the same branch. E-KRHyper

  7. E-Hyper Tableau Calculus - Reflexivity and Split p(f(x, y)) q(y)  g(b)g(x) p(f(x, y)) q(y)  g(b)g(x) p(f(b, y)) q(y)  The split-rule uses a positive disjunction to split the branch. p(f(b, a)) q(a)  p(f(b, y)) q(y)   = {y a} p(f(b, a)) q(a)  The reflexivity-rule eliminates a trivial negative equation. p(f(b, y)) q(y)  E-KRHyper

  8. E-Hyper Tableau Calculus - Handling Redundancy f(x)x  q(f(a), b)  q(f(a), b)  f(x)x  q(f(a), b)  r(g(b)) p(b) q(a, b)  q(a, b)  • If a clause... • is subsumed, or • follows from smaller clauses, • then it can be removed. tt  q(f(a), b)  E-KRHyper

  9. 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. 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. 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! E-KRHyper

More Related