English
Related papers

Related papers: Restructuring a concurrent refinement algebra

200 papers

Commutativity reasoning based on Lipton's movers is a powerful technique for verification of concurrent programs. The idea is to define a program transformation that preserves a subset of the initial set of interleavings, which is sound…

Programming Languages · Computer Science 2026-01-21 Namratha Gangamreddypalli , Constantin Enea , Shaz Qadeer

Rewriting logic is naturally concurrent: several subterms of the state term can be rewritten simultaneously. But state terms are global, which makes compositionality difficult to achieve. Compositionality here means being able to decompose…

Logic in Computer Science · Computer Science 2020-01-31 Óscar Martín , Alberto Verdejo , Narciso Martí-Oliet

We formally introduce a systematic (de/re)-composition approach, based on the algebraic formalism of "Multi-Dimensional Homomorphisms (MDHs)". Our approach is designed as general enough to be applicable to a wide range of data-parallel…

Programming Languages · Computer Science 2025-07-01 Ari Rasch

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

Algebraic effects and handlers are a mechanism to structure programs with computational effects in a modular way. They are recently gaining popularity and being adopted in practical languages, such as OCaml. Meanwhile, there has been…

Programming Languages · Computer Science 2023-11-20 Fuga Kawamata , Hiroshi Unno , Taro Sekiyama , Tachio Terauchi

Linear logic Concurrent Constraint programming (LCC) is an extension of concurrent constraint programming (CC) where the constraint system is based on Girard's linear logic instead of the classical logic. In this paper we address the…

Programming Languages · Computer Science 2011-08-02 Rémy Haemmerlé

This paper presents the mechanization of a process algebra for Mobile Ad hoc Networks and Wireless Mesh Networks, and the development of a compositional framework for proving invariant properties. Mechanizing the core process algebra in…

Logic in Computer Science · Computer Science 2014-07-15 Timothy Bourke , Robert J. van Glabbeek , Peter Höfner

A wide-spectrum language integrates specification constructs into a programming language in a manner that treats a specification command just like any other command. This paper investigates a semantic model for a wide-spectrum language that…

Logic in Computer Science · Computer Science 2016-09-02 Robert J. Colvin , Ian J. Hayes , Larissa A. Meinicke

The paper presents a novel modular hybrid parallel robot for pancreatic surgery and its higher-order kinematics derived based on various formalisms. The classical vector, homogeneous transformation matrices and dual quaternion approaches…

Robotics · Computer Science 2025-03-31 Calin Vaida , Iosif Birlescu , Bogdan Gherman , Daniel Condurache , Damien Chablat , Doina Pisla

We explore asynchronous programming with algebraic effects. We complement their conventional synchronous treatment by showing how to naturally also accommodate asynchrony within them, namely, by decoupling the execution of operation calls…

Programming Languages · Computer Science 2024-09-25 Danel Ahman , Matija Pretnar

There are two intertwined factors that affect performance of concurrent data structures: the ability of processes to access the data in parallel and the cost of synchronization. It has been observed that for a large class of…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-10 Vitaly Aksenov , Petr Kuznetsov

Relational verification encompasses information flow security, regression verification, translation validation for compilers, and more. Effective alignment of the programs and computations to be related facilitates use of simpler relational…

Logic in Computer Science · Computer Science 2023-03-27 Timos Antonopoulos , Eric Koskinen , Ton Chanh Le , Ramana Nagasamudram , David A. Naumann , Minh Ngo

Proving only over source code that programs do not leak sensitive data leaves a gap between reasoning and reality that can only be filled by accounting for the behaviour of the compiler. Furthermore, software does not always have the luxury…

Programming Languages · Computer Science 2023-06-22 Robert Sison , Toby Murray

We study the problem of constructing concurrent objects in a setting where $P$ processes run in parallel and interact through a shared memory that is subject to write contention. Our goal is to transform hardware primitives that are subject…

Data Structures and Algorithms · Computer Science 2026-04-17 Michael A. Bender , Guy E. Blelloch , Martin Farach-Colton , Yang Hu , Rob Johnson , Rotem Oshman , Renfei Zhou

Concurrent Kleene Algebra (CKA) extends basic Kleene algebra with a parallel composition operator, which enables reasoning about concurrent programs. However, CKA fundamentally misses tests, which are needed to model standard programming…

Logic in Computer Science · Computer Science 2023-02-03 Tobias Kappé , Paul Brunet , Alexandra Silva , Jana Wagemaker , Fabio Zanasi

The formalization of process algebras usually starts with a minimal core of operators and rules for its transition system, and then relax the system to improve its usability and ease the proofs. In the calculus of communicating systems…

Formal Languages and Automata Theory · Computer Science 2020-05-15 Clément Aubert , Ioana Cristescu

We show how concurrent quantales and concurrent Kleene algebras arise as convolution algebras $Q^X$ of functions from structures $X$ with two ternary relations that satisfy relational interchange laws into concurrent quantales or Kleene…

Logic in Computer Science · Computer Science 2020-02-07 James Cranch , Simon Doherty , Georg Struth

Many areas of machine learning and science involve large linear algebra problems, such as eigendecompositions, solving linear systems, computing matrix exponentials, and trace estimation. The matrices involved often have Kronecker,…

Machine Learning · Computer Science 2023-11-30 Andres Potapczynski , Marc Finzi , Geoff Pleiss , Andrew Gordon Wilson

Proving correctness of distributed or concurrent algorithms is a mind-challenging and complex process. Slight errors in the reasoning are difficult to find, calling for computer-checked proof systems. In order to build computer-checked…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-21 Armando Castañeda , Aurélie Hurault , Philippe Quéinnec , Matthieu Roy

What is Sequence Algebra? This is a question that any teacher or student of mathematics or computer science can engage with. Sequences are in Calculus, Combinatorics, Statistics and Computation. They are foundational, a step up from number…

Combinatorics · Mathematics 2019-03-01 Kieran Clenaghan