## Abstract

Logic programming with the stable model semantics is put forward as a novel constraint programming paradigm. This paradigm is interesting because it bring advantages of logic programming based knowledge representation techniques to constraint programming and because implementation methods for the stable model semantics for ground (variable-free) programs have advanced significantly in recent years. For a program with variables these methods need a grounding procedure for generating a variable-free program. As a practical approach to handling the grounding problem a subclass of logic programs, domain restricted programs, is proposed. This subclass enables efficient grounding procedures and serves as a basis for integrating built-in predicates and functions often needed in applications. It is shown that the novel paradigm embeds classical logical satisfiability and standard (finite domain) constraint satisfaction problems but seems to provide a more expressive framework from a knowledge representation point of view. The first steps towards a programming methodology for the new paradigm are taken by presenting solutions to standard constraint satisfaction problems, combinatorial graph problems and planning problems. An efficient implementation of the paradigm based on domain restricted programs has been developed. This is an extension of a previous implementation of the stable model semantics, the Smodels system, and is publicly available. It contains, e.g., built-in integer arithmetic integrated to stable model computation. The implementation is described briefly and some test results illustrating the current level of performance are reported.

Original language | English |
---|---|

Pages (from-to) | 241-273 |

Number of pages | 33 |

Journal | Annals of Mathematics and Artificial Intelligence |

Volume | 25 |

Issue number | 3-4 |

DOIs | |

Publication status | Published - 1999 |

MoE publication type | A1 Journal article-refereed |

## Keywords

- constraint satisfaction
- logic programs
- stable model semantics