November 7, 2017
Joaquin Arias
s(ASP) is a system which computes stable models of logic programs extended with negation (i.e., a logic program with no negation has a unique minimal model, but logic programs with negation may have multiple incompatible models). Traditional methods, such as Answer Set Programming (ASP) solvers, compute the stable models of a programs from an equivalent ground (variable-free) program, therefore, only programs with a finite grounding are supported. Unlike, the s(ASP) method is goal-directed, therefore, the program does not have to be grounded either before or during the execution, and the range of valid program is extended (e.g., s(ASP) supports the use of list as argument and the domain of the variables does not have to be finite). However, the current prototype of s(ASP), developed by K. Marple et al. at the University of Texas at Dallas (UTD), does not support programs with left-recursion or programs with constraints. During my stay at the UTD, we re-implemented the s(ASP) interpreter using Modular TCLP (a framework that allows the integration of Constraint Solvers with the tabling engine of Ciao). The new implementation is a meta-interpreter for goal-directed ASP, called TCLP(ASP), that also support programs with left-recursion and / or constrains (e.g., CLP(Q), CLP(R) and CLP(FD)).