Matthias van der Hallen - ICLP DC (31/08/15)
Studied Engineering: Computer science
Graduated from KU Leuven in 2014
Joined the Knowledge Representation & Reasoning research group after graduation.
Promotor: Gerda Janssens
Copromotor: Marc Denecker
A grounder and solver that supports certain FO(·) extensions
Family of Languages extending FO with:
Large, or even infinite, domains: costly enumeration
Potentially backed by a traditional database
Same concepts reoccur often.
E.g. Homomorphism, isomorphism
We write the transitive closure of binary relations very often:
∀a, b : ClosureOfP ( a, b ) ← P( a, b ).
∀a, b : ClosureOfP ( a, b ) ← ∃c : P( a, c ) ∧ P( c, b ).
FO(·) misses:
∀a, b : ClosureOfP ( a, b ) ← P( a, b ).
∀a, b : ClosureOfP ( a, b ) ← ∃c : P( a, c ) ∧ P( c, b ).
Higher Order Support is an important step towards Modularity:
Templates are Second Order definitions
{
Closure(P,Q) ← {
Q(x,y) ← P(x,y) ∨ (∃ z: Q(x,z)∧Q(z,y)).
}.
}
Many solving systems, such as IDP, depend on a grounding phase.
Grounding translates FO(·) constraints to a propositional level
but when domain enumeration is costly or impossible, we can't ground naively.
∀a : P(a) ⇒ ∀b : Q(a,b).
¬P(a1) ∨ Q(a1,b1).
¬P(a1) ∨ Q(a1,b2).
¬P(a2) ∨ Q(a2,b1).
¬P(a2) ∨ Q(a2,b2).
We need smarter techniques to handle large domains and higher order constraints:
∀a : P(a) ⇒ ∀b : Q(a,b).
For large domains, this is grounded when:
P(a) is made True for some a
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)).
Requires support for functions & CP
Extensions & other techniques exist:
Rewrite ∀ quantifiers to ∃
Rewritings such as in Presburger Arithmetic (Cooper1972)
Bootstrapping technique 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