A Theoretical Study of (Full) Tabled Constraint Logic Programming

09/28/2020
by   Joaquín Arias, et al.
0

Logic programming with tabling and constraints (TCLP, tabled constraint logic programming) has been shown to be more expressive and, in some cases, more efficient than LP, CLP, or LP with tabling. In this paper we provide insights regarding the semantics, correctness, completeness, and termination of top-down execution strategies for full TCLP, i.e., TCLP featuring entailment checking in the calls and in the answers. We present a top-down semantics for TCLP and show that it is equivalent to a fixpoint semantics. We study how the constraints that a program generates can effectively impact termination, even for constraint classes that are not constraint compact, generalizing previous results. We also present how different variants of constraint projection impact the correctness and completeness of TCLP implementations. All of the presented characteristics are implemented (or can be experimented with) in Mod TCLP, a modular framework for Tabled Constraint Logic Programming, part of the Ciao Prolog logic programming system.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/15/2018

Description, Implementation, and Evaluation of a Generic Design for Tabled CLP

Logic programming with tabling and constraints (TCLP, tabled constraint ...
research
08/18/2021

On correctness and completeness of an n queens program

Thom Frühwirth presented a short, elegant and efficient Prolog program f...
research
08/14/2018

An Assertion language for slicing Constraint Logic Languages

Constraint Logic Programming (CLP) is a language scheme for combining tw...
research
07/10/2020

Half-checking propagators

Propagators are central to the success of constraint programming, that i...
research
02/24/2014

Timed Soft Concurrent Constraint Programs: An Interleaved and a Parallel Approach

We propose a timed and soft extension of Concurrent Constraint Programmi...
research
06/12/2018

Augmenting Stream Constraint Programming with Eventuality Conditions

Stream constraint programming is a recent addition to the family of cons...
research
12/13/2015

Using Linear Constraints for Logic Program Termination Analysis

It is widely acknowledged that function symbols are an important feature...

Please sign up or login with your details

Forgot password? Click here to reset