English
Related papers

Related papers: A Separation Logic for Concurrent Randomized Progr…

200 papers

Concurrent systems identify systems, either software, hardware or even biological systems, that are characterized by sets of independent actions that can be executed in any order or simultaneously. Computer scientists resort to a causal…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-03-07 Silvia Crafa , Federica Russo

Probabilistic logic programs are logic programs where some facts hold with a specified probability. Here, we investigate these programs with a causal framework that allows counterfactual queries. Learning the program structure from…

Logic in Computer Science · Computer Science 2023-08-31 Kilian Rückschloß , Felix Weitkämper

A temporal logic is presented for reasoning about the correctness of timed concurrent constraint programs. The logic is based on modalities which allow one to specify what a process produces as a reaction to what its environment inputs.…

Logic in Computer Science · Computer Science 2007-05-23 F. S. de Boer , M. Gabbrielli , M. C. Meo

Common approaches to concurrent programming begin with languages whose semantics are naturally sequential and add new constructs that provide limited access to concurrency, as exemplified by futures. This approach has been quite successful,…

Programming Languages · Computer Science 2023-06-22 Klaas Pruiksma , Frank Pfenning

We present a novel sampling framework for probabilistic programs. The framework combines two recent ideas -- \emph{control-data separation} and \emph{logical condition propagation} -- in a nontrivial manner so that the two ideas boost the…

Machine Learning · Computer Science 2023-10-02 Ichiro Hasuo , Yuichiro Oyabu , Clovis Eberhart , Kohei Suenaga , Kenta Cho , Shin-ya Katsumata

Probabilistic separation logic offers an approach to reasoning about imperative probabilistic programs in which a separating conjunction is used as a mechanism for expressing independence properties. Crucial to the effectiveness of the…

Logic in Computer Science · Computer Science 2026-03-03 Janez Ignacij Jereb , Alex Simpson

Multi-core and highly-connected architectures have become ubiquitous, and this has brought renewed interest in language-based approaches to the exploitation of parallelism. Since its inception, logic programming has been recognized as a…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-01-25 Agostino Dovier , Andrea Formisano , Gopal Gupta , Manuel V. Hermenegildo , Enrico Pontelli , Ricardo Rocha

Counting propositional logic was recently introduced in relation to randomized computation and shown able to logically characterize the full counting hierarchy. In this paper we aim to clarify the intuitive meaning and expressive power of…

Logic in Computer Science · Computer Science 2022-11-17 Melissa Antonelli

We propose a probabilistic Hoare logic aHL based on the union bound, a tool from basic probability theory. While the union bound is simple, it is an extremely common tool for analyzing randomized algorithms. In formal verification terms,…

Logic in Computer Science · Computer Science 2019-11-11 Gilles Barthe , Marco Gaboardi , Benjamin Grégoire , Justin Hsu , Pierre-Yves Strub

Probabilistic Logic Programming is an effective formalism for encoding problems characterized by uncertainty. Some of these problems may require the optimization of probability values subject to constraints among probability distributions…

Logic in Computer Science · Computer Science 2023-06-22 Damiano Azzolini , Fabrizio Riguzzi

Proving linearizability of concurrent data structures remains a key challenge for verification. We present temporal interpolation as a new proof principle to conduct such proofs using hindsight arguments within concurrent separation logic.…

Programming Languages · Computer Science 2023-04-25 Roland Meyer , Thomas Wies , Sebastian Wolff

Creating safe concurrent algorithms is challenging and error-prone. For this reason, a formal verification framework is necessary especially when those concurrent algorithms are used in safety-critical systems. The goal of this guide is to…

Logic in Computer Science · Computer Science 2025-01-24 Elizabeth Dietrich

Probabilistic coupling is a powerful tool for analyzing pairs of probabilistic processes. Roughly, coupling two processes requires finding an appropriate witness process that models both processes in the same probability space. Couplings…

Logic in Computer Science · Computer Science 2018-03-16 Gilles Barthe , Thomas Espitau , Benjamin Grégoire , Justin Hsu , Léo Stefanesco , Pierre-Yves Strub

Proving programs terminating is a fundamental computer science challenge. Recent research has produced powerful tools that can check a wide range of programs for termination. The analog for probabilistic programs, namely termination with…

Logic in Computer Science · Computer Science 2012-04-16 Javier Esparza , Andreas Gaiser , Stefan Kiefer

Proof by coupling is a classical proof technique for establishing probabilistic properties of two probabilistic processes, like stochastic dominance and rapid mixing of Markov chains. More recently, couplings have been investigated as a…

Programming Languages · Computer Science 2017-04-04 Gilles Barthe , Thomas Espitau , Benjamin Grégoire , Justin Hsu , Pierre-Yves Strub

Abstract. Matching logic cannot handle concurrency. We introduce concurrent matching logic (CML) to reason about fault-free partial correctness of shared-memory concurrent programs. We also present a soundness proof for concurrent matching…

Logic in Computer Science · Computer Science 2021-09-02 Shangbei Wang

We present Foxtrot, the first higher-order separation logic for proving contextual refinement of higher-order concurrent probabilistic programs with higher-order local state. From a high level, Foxtrot inherits various concurrency reasoning…

Logic in Computer Science · Computer Science 2026-04-28 Kwing Hei Li , Alejandro Aguirre , Joseph Tassarotti , Lars Birkedal

This article aims to describe and explain the theoretical foundations of concurrent and set concurrent algorithms, considering an asynchronous shared memory system where any number of processes can crash. Verification of concurrent…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-07-27 Jose Damian Lopez Diaz

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

Chance constrained program is computationally intractable due to the existence of chance constraints, which are randomly disturbed and should be satisfied with a probability. This paper proposes a two-layer randomized algorithm to address…

Optimization and Control · Mathematics 2019-11-11 Xun Shen , Jiancang Zhuang , Xingguo Zhang