English
Related papers

Related papers: Separation Logic Modulo Theories

200 papers

We develop a simple functional programming language aimed at manipulating infinite, but first-order definable structures, such as the countably infinite clique graph or the set of all intervals with rational endpoints. Internally, such sets…

Programming Languages · Computer Science 2016-04-06 Bartek Klin , Michał Szynwelski

Separation logic's compositionality and local reasoning properties have led to significant advances in scalable static analysis. But program analysis has new challenges -- many programs display computational effects and, orthogonally,…

Logic in Computer Science · Computer Science 2024-03-15 Noam Zilberstein , Angelina Saliling , Alexandra Silva

We present Lilac, a separation logic for reasoning about probabilistic programs where separating conjunction captures probabilistic independence. Inspired by an analogy with mutable state where sampling corresponds to dynamic allocation, we…

Programming Languages · Computer Science 2023-05-29 John M. Li , Amal Ahmed , Steven Holtzen

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

We study the complexity of reasoning tasks for logics in team semantics. Our main focus is on the data complexity of model checking but we also derive new results for logically defined counting and enumeration problems. Our approach is…

Logic in Computer Science · Computer Science 2022-04-04 Arnaud Durand , Juha Kontinen , Jouko Väänänen

Satisfiability modulo theories (SMT) is a core tool in formal verification. While the SMT-LIB specification language can be used to interact with theorem proving software, a high-level interface allows for faster and easier specifications…

Logic in Computer Science · Computer Science 2024-12-05 Emiko Soroka , Mykel J. Kochenderfer , Sanjay Lall

We present some applications of intermediate logics in the field of Answer Set Programming (ASP). A brief, but comprehensive introduction to the answer set semantics, intuitionistic and other intermediate logics is given. Some equivalence…

Logic in Computer Science · Computer Science 2007-05-23 Mauricio Osorio , Juan Antonio Navarro , Jose Arrazola

Separation logic was conceived in order to make the verification of pointer programs scalable to large systems and it has proven extremely effective. The key idea is that programs typically access only small parts of memory, allowing for…

Logic in Computer Science · Computer Science 2025-08-05 Berend van Starkenburg , Henning Basold , Chase Ford

Type-based amortised resource analysis following Hofmann and Jost---where resources are associated with individual elements of data structures and doled out to the programmer under a linear typing discipline---have been successful in…

Logic in Computer Science · Computer Science 2015-07-01 Robert Atkey

Satisfiability Modulo Theories (SMT) solvers incorporate decision procedures for theories of data types that commonly occur in software. This makes them important tools for automating verification problems. A limitation frequently…

Logic in Computer Science · Computer Science 2015-08-28 Kshitij Bansal , Andrew Reynolds , Tim King , Clark Barrett , Thomas Wies

Abstract separation logics are a family of extensions of Hoare logic for reasoning about programs that manipulate resources such as memory locations. These logics are "abstract" because they are independent of any particular concrete…

Logic in Computer Science · Computer Science 2018-03-28 Zhé Hóu , Ranald Clouston , Rajeev Goré , Alwen Tiu

An old dream of concurrency theory and programming language semantics has been to uncover the fundamental synchronization mechanisms which regulate situations as different as game semantics for higher-order programs, and Hoare logic for…

Logic in Computer Science · Computer Science 2020-05-12 Paul-André Melliès , Léo Stefanesco

SEAL is a static analyser for the verification of programs that manipulate unbounded linked data structures. It is based on separation logic to represent abstract memory states and, unlike other separation-logic-based approaches, it employs…

Software Engineering · Computer Science 2026-02-09 Tomáš Brablec , Tomáš Dacík , Tomáš Vojnar

Artificial Intelligence problems, ranging form planning/scheduling up to game control, include an essential crucial step: describing a model which accurately defines the problem's required data, requirements, allowed transitions and…

Artificial Intelligence · Computer Science 2019-03-25 Andrei Arusoaie , Ionut Pistol

We show how to give a coherent semantics to programs that are well-specified in a version of separation logic for a language with higher types: idealized algol extended with heaps (but with immutable stack variables). In particular, we…

Logic in Computer Science · Computer Science 2017-01-11 Lars Birkedal , Noah Torp-Smith , Hongseok Yang

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

Modal logic S5 has attracted significant attention and has led to several practical applications, owing to its simplified approach to dealing with nesting modal operators. Efficient implementations for evaluating satisfiability of S5…

Artificial Intelligence · Computer Science 2023-06-22 Mario Alviano , Sotiris Batsakis , George Baryannis

Reasoning about array data structures is a key requirement for many applications in hardware and software verification, especially in combination with machine integers. The Satisfiability Modulo Theories (SMT) theory of extensional arrays…

Logic in Computer Science · Computer Science 2026-05-20 Mathias Preiner , Aina Niemetz , Clark Barrett

Answer Set Programming (ASP) is an important logic programming paradigm within the field of Knowledge Representation and Reasoning. As a concise, human-readable, declarative language, ASP is an excellent tool for developing trustworthy…

Logic in Computer Science · Computer Science 2025-02-14 Zachary Hansen

Separation Logic (SL) is a well-known assertion language used in Hoare-style modular proof systems for programs with dynamically allocated data structures. In this paper we investigate the fragment of first-order SL restricted to the…

Logic in Computer Science · Computer Science 2016-11-24 Andrew Reynolds , Radu Iosif , Cristina Serban