Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn...

11
E-KRHyper 1/11 Björn Pelzer (AGKI) E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer [email protected]
  • 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...

Page 1: Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer bpelzer@uni-koblenz.de.

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

E-KRHyperA Hyper Tableau Theorem Prover with Equality

Björn Pelzer

[email protected]

Page 2: Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer bpelzer@uni-koblenz.de.

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: Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer bpelzer@uni-koblenz.de.

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: Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer bpelzer@uni-koblenz.de.

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: Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer bpelzer@uni-koblenz.de.

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: Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer bpelzer@uni-koblenz.de.

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: Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer bpelzer@uni-koblenz.de.

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: Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer bpelzer@uni-koblenz.de.

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: Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer bpelzer@uni-koblenz.de.

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: Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer bpelzer@uni-koblenz.de.

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: Björn Pelzer (AGKI)E-KRHyper1/11 E-KRHyper A Hyper Tableau Theorem Prover with Equality Björn Pelzer bpelzer@uni-koblenz.de.

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!