English
Related papers

Related papers: Indexing dif/2

200 papers

Making a Prolog program more efficient by transforming its source code, without changing its operational semantics, is not an obvious task. It requires the user to have a clear understanding of how the Prolog compiler works, and in…

Programming Languages · Computer Science 2007-11-01 Francois Gobert , Baudouin Le Charlier

Difference constraints have been used for termination analysis in the literature, where they denote relational inequalities of the form x' <= y + c, and describe that the value of x in the current state is at most the value of y in the…

Programming Languages · Computer Science 2015-08-21 Moritz Sinn , Florian Zuleger , Helmut Veith

To remain useful for their users, software systems need to continuously enhance and extend their functionality. Nevertheless, in many object-oriented applications, features are not represented explicitly. The lack of modularization is known…

Software Engineering · Computer Science 2014-07-07 T. Pandiyavathi

The programming language Prolog makes declarative programming possible, at least to a substantial extent. Programs may be written and reasoned about in terms of their declarative semantics. All the advantages of declarative programming are…

Logic in Computer Science · Computer Science 2023-08-31 Włodzimierz Drabent

ProFIT is an extension of Standard Prolog with Features, Inheritance and Templates. ProFIT allows the programmer or grammar developer to declare an inheritance hierarchy, features and templates. Sorted feature terms can be used in ProFIT…

cmp-lg · Computer Science 2016-08-31 Gregor Erbach

Refinement transforms an abstract system model into a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development…

Logic in Computer Science · Computer Science 2021-10-27 Aurel Bílý , Christoph Matheja , Peter Müller

Logic Programming languages and combinational circuit synthesis tools share a common "combinatorial search over logic formulae" background. This paper attempts to reconnect the two fields with a fresh look at Prolog encodings for the…

Logic in Computer Science · Computer Science 2008-12-18 Paul Tarau , Brenda Luderman

Prolog's very useful expressive power is not captured by traditional logic programming semantics, due mainly to the cut and goal and clause order. Several alternative semantics have been put forward, exposing operational details of the…

Programming Languages · Computer Science 2011-07-28 António Porto

We propose a framework for reasoning about programs that manipulate coinductive data as well as inductive data. Our approach is based on using equational programs, which support a seamless combination of computation and reasoning, and using…

Computational Complexity · Computer Science 2012-01-06 Daniel Leivant , Ramyaa Ramyaa

We want to obtain derivatives in discontinuous program code, where default Algorithmic Differentiation may not perform well. Specifically, we consider discontinuities induced by control flow statements, where meaningful derivatives should…

Programming Languages · Computer Science 2023-05-12 Sebastian Christodoulou , Uwe Naumann

Refactoring is an established technique from the object-oriented (OO) programming community to restructure code: it aims at improving software readability, maintainability and extensibility. Although refactoring is not tied to the…

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

A key feature of inductive logic programming (ILP) is its ability to learn first-order programs, which are intrinsically more expressive than propositional programs. In this paper, we introduce techniques to learn higher-order programs.…

Machine Learning · Computer Science 2019-07-26 Andrew Cropper , Rolf Morel , Stephen H. Muggleton

A logic program is an executable specification. For example, merge sort in pure Prolog is a logical formula, yet shows creditable performance on long linked lists. But such executable specifications are a compromise: the logic is distorted…

Programming Languages · Computer Science 2015-09-29 M. H. van Emden

Modern program verifiers use logic-based encodings of the verification problem that are discharged by a back end reasoning engine. However, instances of such encodings for large programs can quickly overwhelm these back end solvers. Hence,…

Logic in Computer Science · Computer Science 2016-07-18 Peter Schrammel

Rule-based models are attractive for various tasks because they inherently lead to interpretable and explainable decisions and can easily incorporate prior knowledge. However, such systems are difficult to apply to problems involving…

Computation and Language · Computer Science 2019-06-17 Leon Weber , Pasquale Minervini , Jannes Münchmeyer , Ulf Leser , Tim Rocktäschel

Splitting a logic program allows us to reduce the task of computing its stable models to similar tasks for its subprograms. This can be used to increase solving performance and prove program correctness. We generalize the conditions under…

Artificial Intelligence · Computer Science 2025-03-30 Jorge Fandinno , Yuliya Lierler

For many compiled languages, source-level types are erased very early in the compilation process. As a result, further compiler passes may convert type-safe source into type-unsafe machine code. Type-unsafe idioms in the original source and…

Programming Languages · Computer Science 2016-03-22 Matthew Noonan , Alexey Loginov , David Cok

We present a novel verification technique to prove interesting properties of a class of array programs with a symbolic parameter N denoting the size of arrays. The technique relies on constructing two slightly different versions of the same…

Programming Languages · Computer Science 2021-07-05 Supratik Chakraborty , Ashutosh Gupta , Divyesh Unadkat

This short paper describes a simple and intuitive Prolog program, a metainterpreter, that computes the bottom up meaning of a simple positive Horn clause definition. It involves a simple transformation of the object program rules into…

Programming Languages · Computer Science 2025-02-14 David S. Warren

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
‹ Prev 1 2 3 10 Next ›