Ingmar Dasseville , Matthias van der Hallen, Gerda Janssens, Marc Denecker
ICLP 2015
a purely declarative KR language
an integration of classical logic with (extended) logic programs
based on the thesis :
rule set under
well-founded semantics
=
inductive definition as found in mathematical text
Closely connected with ASP and abductive LP
IDP: a knowledge base system
+ applications in software engineeringWith a meaning which is embedded in the language
A logical view of templates: second order definitions
Treat templates as
(rule based) definitions
Extend the semantics
of an arbitrary KR-language with templates
{transitiveClosure(P,Q) ←
{Q(x,y) ← P(x,y).
Q(x,y) ← (∃ z: Q(x,z)∧Q(z,y)).
}.
}
Well Founded Semantics +
⇒Recursive templates
Adding aggregates is done in a 1000 ways
New framework for adding language constructs and building logics
Define rule formalism
for an existing logic L
Lift two-valued semantics
to three-valued ones
Nested logics with a recursive syntax
TEMPLATES
Define rule formalism
for an existing logic L
Lift two-valued semantics
to three-valued ones
Nested logics with a recursive syntax
TEMPLATES
When can we define well-founded and stable semantics
for sets of rules of the form:
∀x: P(x) <- φ[x]
where φ is an expression of L?
When L has a
3-valued truth assignment:
(Partial Structure, φ) -> Three
= The logic of well-founded rulesets over L
if I is a well-founded model of rule set R
= The logic of stable rulesets over L
Results obtained through Approximation Fixpoint Theory
L can already contain definitions!
Define rule formalism
for an existing logic L
Lift two-valued semantics
to three-valued ones
Nested logics with a recursive syntax
TEMPLATES
∧: (Two² → Two)
t ∧ u = u
f ∧ u = f
u ∧ t = u
u ∧ f = f
Define rule formalism
for an existing logic L
Lift two-valued semantics
to three-valued ones
Nested logics with a recursive syntax
TEMPLATES
Logic =
Syntax + Semantics
Logic =
Set of Language Constructs
Language Construct =
Syntax + Semantics
Syntax:
Semantics:
&: (Three² → Three)
&(t , u) = u
&(f , u) = f
&(u , t) = u
&(u , f) = f
Also works for rulesets!
*
Define rule formalism
for an existing logic L
Lift two-valued semantics
to three-valued ones
Nested logics with a recursive syntax
TEMPLATES
A second order, (well-founded) definition.
(Which we now can define over any logic L!)
∧
∧
DLT is consistent with our work