11
E-KRHyper 1/11 Björn Pelzer (AGKI) E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer [email protected]

E-KRHyper A Hyper Tableau Theorem Prover with Equality

  • Upload
    manchu

  • View
    37

  • Download
    0

Embed Size (px)

DESCRIPTION

E-KRHyper A Hyper Tableau Theorem Prover with Equality. Björn Pelzer [email protected]. Overview and Motivation. KRHyper theorem prover. E-KRHyper theorem prover. add equality. hyper tableau calculus. E-hyper tableau calculus. reasoning. KRHyper: - PowerPoint PPT Presentation

Citation preview

Page 1: E-KRHyper A Hyper Tableau Theorem Prover with Equality

E-KRHyper 1/11Björn Pelzer (AGKI)

E-KRHyperA Hyper Tableau Theorem Prover with Equality

Björn Pelzer

[email protected]

Page 2: E-KRHyper A Hyper Tableau Theorem Prover with Equality

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

Page 3: E-KRHyper A Hyper Tableau Theorem Prover with Equality

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.

Page 4: E-KRHyper A Hyper Tableau Theorem Prover with Equality

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))

Page 5: E-KRHyper A Hyper Tableau Theorem Prover with Equality

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

Page 6: E-KRHyper A Hyper Tableau Theorem Prover with Equality

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)

Page 7: E-KRHyper A Hyper Tableau Theorem Prover with Equality

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}

Page 8: E-KRHyper A Hyper Tableau Theorem Prover with Equality

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

Page 9: E-KRHyper A Hyper Tableau Theorem Prover with Equality

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

Page 10: E-KRHyper A Hyper Tableau Theorem Prover with Equality

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)

Page 11: E-KRHyper A Hyper Tableau Theorem Prover with Equality

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!