English
Related papers

Related papers: Deciding Separation Logic with Pointer Arithmetic …

200 papers

We encode arrays as functions which, in turn, are encoded as sets of ordered pairs. The set cardinality of each of these functions coincides with the length of the array it is representing. Then we define a fragment of set theory that is…

Logic in Computer Science · Computer Science 2026-05-12 Maximiliano Cristiá , Gianfranco Rossi

We identify difference-bound set constraints (DBS), an analogy of difference-bound arithmetic constraints for sets. DBS can express not only set constraints but also arithmetic constraints over set elements. We integrate DBS into separation…

Logic in Computer Science · Computer Science 2018-11-05 Chong Gao , Taolue Chen , Zhilin Wu

We define a class of Separation Logic formulae, whose entailment problem: given formulae $\phi, \psi_1, \ldots, \psi_n$, is every model of $\phi$ a model of some $\psi_i$? is 2EXPTIME-complete. The formulae in this class are existentially…

Logic in Computer Science · Computer Science 2020-10-13 Mnacho Echenim , Radu Iosif , Nicolas Peltier

The correctness of many algorithms and data structures depends on reachability properties, that is, on the existence of chains of references between objects in the heap. Reasoning about reachability is difficult for two main reasons. First,…

Programming Languages · Computer Science 2019-08-19 Arshavir Ter-Gabrielyan , Alexander J. Summers , Peter Müller

Most automated verifiers for separation logic target the symbolic-heap fragment, disallowing both the magic-wand operator and the application of classical Boolean operators to spatial formulas. This is not surprising, as support for the…

Logic in Computer Science · Computer Science 2021-03-15 Jens Pagel , Florian Zuleger

We develop a doubly-exponential decision procedure for the satisfiability problem of guarded separation logic -- a novel fragment of separation logic featuring user-supplied inductive predicates, Boolean connectives, and separating…

Logic in Computer Science · Computer Science 2021-04-21 Jens Pagel , Christoph Matheja , Florian Zuleger

Separation logic is a Hoare-style logic for reasoning about programs with heap-allocated mutable data structures. As a step toward extending separation logic to high-level languages with ML-style general (higher-order) storage, we…

Logic in Computer Science · Computer Science 2015-07-01 Jan Schwinghammer , Lars Birkedal , Bernhard Reus , Hongseok Yang

Recent work on loglinear models in probabilistic constraint logic programming is applied to first-order probabilistic reasoning. Probabilities are defined directly on the proofs of atomic formulae, and by marginalisation on the atomic…

Artificial Intelligence · Computer Science 2013-01-30 James Cussens

Decision lists (DLs) find a wide range of uses for classification problems in Machine Learning (ML), being implemented in a number of ML frameworks. DLs are often perceived as interpretable. However, building on recent results for decision…

Artificial Intelligence · Computer Science 2021-05-17 Alexey Ignatiev , Joao Marques-Silva

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

We study the problem of learning differentiable functions expressed as programs in a domain-specific language. Such programmatic models can offer benefits such as composability and interpretability; however, learning them requires…

Machine Learning · Computer Science 2021-03-30 Ameesh Shah , Eric Zhan , Jennifer J. Sun , Abhinav Verma , Yisong Yue , Swarat Chaudhuri

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

The list segment predicate ls used in separation logic for verifying programs with pointers is well-suited to express properties on singly-linked lists. We study the effects of adding ls to the full quantifier-free separation logic with the…

Logic in Computer Science · Computer Science 2021-03-02 Stéphane Demri , Etienne Lozes , Alessio Mansutti

Foundational verification considers the functional correctness of programming languages with formalized semantics and uses proof assistants (e.g., Coq, Isabelle) to certify proofs. The need for verifying complex programs compels it to…

Programming Languages · Computer Science 2025-07-08 Qiyuan Xu , David Sanan , Zhe Hou , Xiaokun Luan , Conrad Watt , Yang Liu

Memory allocation is a fairly mature field of computer science. However, we challenge a prevailing assumption in the literature over the last 50 years which, if reconsidered, necessitates a fundamental reevaluation of many classical memory…

Software Engineering · Computer Science 2024-05-14 Oren Bell , Ashwin Kumar , Chris Gill

The integration of reasoning, learning, and decision-making is key to build more general artificial intelligence systems. As a step in this direction, we propose a novel neural-logic architecture, called differentiable logic machine (DLM),…

Artificial Intelligence · Computer Science 2023-07-07 Matthieu Zimmer , Xuening Feng , Claire Glanois , Zhaohui Jiang , Jianyi Zhang , Paul Weng , Dong Li , Jianye Hao , Wulong Liu

Answer Set Programming (ASP) is a successful method for solving a range of real-world applications. Despite the availability of fast ASP solvers, computing answer sets demands a very large computational power, since the problem tackled is…

Artificial Intelligence · Computer Science 2021-09-20 Rachel Ben-Eliyahu-Zohary

Answer Set Programming (ASP) is a purely declarative formalism developed in the field of logic programming and nonmonotonic reasoning: computational problems are encoded by logic programs whose answer sets, corresponding to solutions, are…

Artificial Intelligence · Computer Science 2020-02-19 Francesco Calimeri , Simona Perri , Jessica Zangari

The points-to problem is the problem of determining the possible run-time targets of pointer variables and is usually considered part of the more general aliasing problem, which consists in establishing whether and when different…

Programming Languages · Computer Science 2008-10-07 Stefano Soffia

Machine learning components commonly appear in larger decision-making pipelines; however, the model training process typically focuses only on a loss that measures accuracy between predicted values and ground truth values. Decision-focused…

Machine Learning · Computer Science 2019-07-19 Aaron Ferber , Bryan Wilder , Bistra Dilkina , Milind Tambe