English
Related papers

Related papers: More declarative tabling in Prolog using multi-pro…

200 papers

In this paper, I propose to implement syllabification in OT as a parser. I propose several innovations that result in a finite and small candidate set. The candidate set problem is handled with several moves: i) MAX and DEP violations are…

cmp-lg · Computer Science 2007-05-23 Michael Hammond

Multi-threading is currently supported by several well-known Prolog systems providing a highly portable solution for applications that can benefit from concurrency. When multi-threading is combined with tabling, we can exploit the power of…

Programming Languages · Computer Science 2012-10-11 Miguel Areias , Ricardo Rocha

Procedural computer languages have long been used in many aspects of mathematics pedagogy. In this work, we examine the use of Prolog, a declarative language for the same purpose. We find the facts+rules aspect of Prolog to be a novel…

Computers and Society · Computer Science 2021-08-24 Tom Bensky

Refactoring is an established technique from the OO-community to restructure code: it aims at improving software readability, maintainability and extensibility. Although refactoring is not tied to the OO-paradigm in particular, its ideas…

Software Engineering · Computer Science 2007-05-23 Tom Schrijvers , Alexander Serebrenik

B-Prolog is a high-performance implementation of the standard Prolog language with several extensions including matching clauses, action rules for event handling, finite-domain constraint solving, arrays and hash tables, declarative loop…

Programming Languages · Computer Science 2011-03-07 Neng-Fa Zhou

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…

Logic in Computer Science · Computer Science 2020-10-01 Joaquín Arias , Manuel Carro

To appear in Theory and Practice of Logic Programming (TPLP), 2008. We are researching the interaction between the rule and the ontology layers of the Semantic Web, by comparing two options: 1) using OWL and its rule extension SWRL to…

Artificial Intelligence · Computer Science 2007-11-22 Ken Samuel , Leo Obrst , Suzette Stoutenberg , Karen Fox , Paul Franklin , Adrian Johnson , Ken Laskey , Deborah Nichols , Steve Lopez , Jason Peterson

Typeclasses provide an elegant and effective way of managing ad-hoc polymorphism in both programming languages and interactive proof assistants. However, the increasingly sophisticated uses of typeclasses within proof assistants, especially…

Programming Languages · Computer Science 2020-01-22 Daniel Selsam , Sebastian Ullrich , Leonardo de Moura

In logic programming, dynamic scheduling refers to a situation where the selection of the atom in each resolution (computation) step is determined at runtime, as opposed to a fixed selection rule such as the left-to-right one of Prolog.…

Logic in Computer Science · Computer Science 2007-05-23 Annalisa Bossi , Sandro Etalle , Sabina Rossi , Jan-Georg Smaus

Spoken Language Understanding (SLU) is a critical component of voice assistants; it consists of converting speech to semantic parses for task execution. Previous works have explored end-to-end models to improve the quality and robustness of…

Computation and Language · Computer Science 2024-06-13 Trang Le , Daniel Lazar , Suyoun Kim , Shan Jiang , Duc Le , Adithya Sagar , Aleksandr Livshits , Ahmed Aly , Akshat Shrivastava

SWI-Prolog is neither a commercial Prolog system nor a purely academic enterprise, but increasingly a community project. The core system has been shaped to its current form while being used as a tool for building research prototypes,…

Programming Languages · Computer Science 2010-11-26 Jan Wielemaker , Tom Schrijvers , Markus Triska , Torbjörn Lager

The past few years have seen a surge of interest in the field of probabilistic logic learning and statistical relational learning. In this endeavor, many probabilistic logics have been developed. ProbLog is a recent probabilistic extension…

Programming Languages · Computer Science 2011-03-04 Angelika Kimmig , Bart Demoen , Luc De Raedt , Vítor Santos Costa , Ricardo Rocha

Tabular reasoning involves multi-step information extraction and logical inference over tabular data. While recent advances have leveraged large language models (LLMs) for reasoning over structured tables, such high-quality textual…

Machine Learning · Computer Science 2025-06-05 Jun-Peng Jiang , Yu Xia , Hai-Long Sun , Shiyin Lu , Qing-Guo Chen , Weihua Luo , Kaifu Zhang , De-Chuan Zhan , Han-Jia Ye

The inclusion of universal quantification and a form of implication in goals in logic programming is considered. These additions provide a logical basis for scoping but they also raise new implementation problems. When universal and…

Programming Languages · Computer Science 2007-05-23 Gopalan Nadathur , Bharat Jayaraman , Keehang Kwon

A range of methodologies and techniques are available to guide the design and implementation of language extensions and domain-specific languages. A simple yet powerful technique is based on source-to-source transformations interleaved…

Programming Languages · Computer Science 2013-02-01 Zoé Drey , José F. Morales , Manuel V. Hermenegildo

There has recently been an increasing interest in declarative data analysis, where analytic tasks are specified using a logical language, and their implementation and optimisation are delegated to a general-purpose query engine. Existing…

Artificial Intelligence · Computer Science 2018-04-26 Mark Kaminski , Bernardo Cuenca Grau , Egor V. Kostylev , Boris Motik , Ian Horrocks

We present cTI, the first system for universal left-termination inference of logic programs. Termination inference generalizes termination analysis and checking. Traditionally, a termination analyzer tries to prove that a given class of…

Programming Languages · Computer Science 2007-05-23 Fred Mesnard , Roberto Bagnara

The advantages of tabled evaluation regarding program termination and reduction of complexity are well known --as are the significant implementation, portability, and maintenance efforts that some proposals (especially those based on…

Programming Languages · Computer Science 2009-01-27 Pablo Chico de Guzman , Manuel Carro , Manuel V. Hermenegildo

Linear logic programming uses provability as the basis for computation. In the operational semantics based on provability, executing the additive-conjunctive goal $G_1 \& G_2$ from a program $P$ simply terminates with a success if both…

Logic in Computer Science · Computer Science 2015-07-02 Keehang Kwon , Mi-Young Park

An efficient and flexible engine for computing fixed points is critical for many practical applications. In this paper, we firstly present a goal-directed fixed point computation strategy in the logic programming paradigm. The strategy…

Programming Languages · Computer Science 2007-05-23 Hai-Feng Guo , Gopal Gupta