Support for Structured Mining in Knowledge Representation and Reasoning
Matthias van der Hallen - GOA (20/10/15)
Our solution: Templates
Templates are Second Order Definitions
{
homomorphism(F,G1,G2) ← (∀x : (∃y (G1(x,y) ∧ G1(y,x)) ⇔ ∃y : y=F(x)) ∧
(∀x,y : G1(x,y) ⇒ G2(F(x),F(y))).
}
Interesting templates might be:
I. Dasseville, M. van der Hallen, G. Janssens, M. Denecker: Semantics of templates in a compositional framework for building logics, Theory and Practice of Logic Programming 15
Work published in paper:
We need quantification over predicates and functions:
Eg. homomorphism, isomorphism
∃F : homomorphism(F,G1,G2).
Reducing the number of quantifiers makes for smaller groundings
Skolemization: Replace existential quantifiers by (Skolem) constants:
Unnested ∃: introduce skolem constant
Nested ∃: introduce functions
∃a : P(a).
∀a : ∃b : Q(a,b).
P(S).
∀a : Q(a,S(a)).
Extensions & other techniques exist:
Rewrite ∀ quantifiers to ∃
Rewritings such as in Presburger Arithmetic (Cooper1972)
Propagation technique using nested solvers to allow quantification over predicates:
Ensure quantifications are existential
Encapsulate quantification body as theory
Solve this Existential SO theory using
subsolver as oracle
Require it to pass/fail
matthias.vanderhallen@cs.kuleuven.be
Celestijnenlaan 200A, Leuven
+32 16 37 39 84
Efficiently share resources between different (sub)solver processes
Evaluate eager / lazy activation
How to represent information learnt from subsolver conflicts