English
Related papers

Related papers: Encoding and Reasoning about Arrays in Constraint …

200 papers

Formal reasoning about finite sets and cardinality is an important tool for many applications, including software verification, where very often one needs to reason about the size of a given data structure and not only about what its…

Logic in Computer Science · Computer Science 2021-10-06 Maximiliano Cristiá , Gianfranco Rossi

$\{log\}$ is a programming language at the intersection of Constraint Logic Programming, set programming and declarative programming. But $\{log\}$ is also a satisfiability solver for a theory of finite sets and finite binary relations.…

Logic in Computer Science · Computer Science 2021-04-19 Maximiliano Cristiá , Gianfranco Rossi

{log} (read 'setlog') was born as a Constraint Logic Programming (CLP) language where sets and binary relations are first-class citizens, thus fostering set programming. Internally, {log} is a constraint satisfiability solver implementing…

Logic in Computer Science · Computer Science 2026-03-13 Maximiliano Cristiá , Alfredo Capozucca , Gianfranco Rossi

Set functions are a feature of functional logic programming to encapsulate all results of a non-deterministic computation in a single data structure. Given a function $f$ of a functional logic program written in Curry, we describe a…

Programming Languages · Computer Science 2018-08-23 Sergio Antoy , Michael Hanus , Finn Teegen

Matching Logic is a framework for specifying programming language semantics and reasoning about programs. Its formulas are called patterns and are built with variables, symbols, connectives and quantifiers. A pattern is a combination of…

Logic in Computer Science · Computer Science 2018-11-16 Andrei Arusoaie , Dorel Lucanu

Constraint-logic object-oriented programming provides a useful symbiosis between object-oriented programming and constraint-logic search. The ability to use logic variables, constraints, non-deterministic search, and object-oriented…

Programming Languages · Computer Science 2020-09-01 Jan C. Dageförde , Herbert Kuchen

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

Matching logic is a logical framework for specifying and reasoning about programs using pattern matching semantics. A pattern is made up of a number of structural components and constraints. Structural components are syntactically matched,…

Logic in Computer Science · Computer Science 2024-11-01 Ádám Kurucz , Péter Bereczky , Dániel Horpácsi

We consider the problem of deciding the satisfiability of quantifier-free formulas in the theory of finite sets with cardinality constraints. Sets are a common high-level data structure used in programming; thus, such a theory is useful for…

Logic in Computer Science · Computer Science 2023-06-22 Kshitij Bansal , Clark Barrett , Andrew Reynolds , Cesare Tinelli

Rule-based reasoning is an essential part of human intelligence prominently formalized in artificial intelligence research via logic programs. Describing complex objects as the composition of elementary ones is a common strategy in computer…

Artificial Intelligence · Computer Science 2023-12-15 Christian Antic

This paper presents matching logic, a first-order logic (FOL) variant for specifying and reasoning about structure by means of patterns and pattern matching. Its sentences, the patterns, are constructed using variables, symbols, connectives…

Logic in Computer Science · Computer Science 2019-03-14 Grigore Rosu

Logic programming is a flexible programming paradigm due to the use of predicates without a fixed data flow. To extend logic languages with the compact notation of functional programming, there are various proposals to map evaluable…

Programming Languages · Computer Science 2022-05-17 Michael Hanus

Many logic programming based approaches can be used to describe and solve combinatorial search problems. On the one hand there is constraint logic programming which computes a solution as an answer substitution to a query containing the…

Artificial Intelligence · Computer Science 2007-05-23 Nikolay Pelov , Emmanuel De Mot , Marc Denecker

Sequence theories are an extension of theories of strings with an infinite alphabet of letters, together with a corresponding alphabet theory (e.g. linear integer arithmetic). Sequences are natural abstractions of extendable arrays, which…

Logic in Computer Science · Computer Science 2023-08-02 Artur Jeż , Anthony W. Lin , Oliver Markgraf , Philipp Rümmer

Over the past decade a considerable amount of research has been done to expand logic programming languages to handle incomplete information. One such language is the language of epistemic specifications. As is usual with logic programming…

Artificial Intelligence · Computer Science 2007-05-23 Richard Watson

In this paper, we introduce a set of tools for providing user-friendly explanations in an explanation-based constraint programming system. The idea is to represent the constraints of a problem as an hierarchy (a tree). Users are then…

Programming Languages · Computer Science 2007-05-23 Narendra Jussien , Samir Ouis

Arrays are ubiquitous in the context of software verification. However, effective reasoning over arrays is still rare in CP, as local reasoning is dramatically ill-conditioned for constraints over arrays. In this paper, we propose an…

Logic in Computer Science · Computer Science 2013-12-03 Sébastien Bardin , Arnaud Gotlieb

The paper proposes a theoretical approach of the debugging of constraint programs based on a notion of explanation tree. The proposed approach is an attempt to adapt algorithmic debugging to constraint programming. In this theoretical…

Software Engineering · Computer Science 2007-05-23 Gerard Ferrand , Willy Lesaint , Alexandre Tessier

The idea of using unfolding as a way of computing a program semantics has been applied successfully to logic programs and has shown itself a powerful tool that provides concrete, implementable results, as its outcome is actually source…

Programming Languages · Computer Science 2017-08-29 José María Rey-Poza , Julio Mariño-Carballo

Separation Logic is a widely used formalism for describing dynamically allocated linked data structures, such as lists, trees, etc. The decidability status of various fragments of the logic constitutes a long standing open problem. Current…

Logic in Computer Science · Computer Science 2013-04-02 Radu Iosif , Adam Rogalewicz , Jiri Simacek
‹ Prev 1 2 3 10 Next ›