English
Related papers

Related papers: A Generic Logic for Proving Linearizability (Exten…

200 papers

The equivalence test is a main part in any classification problem. It helps to prove bounds for the main parameters of the considered combinatorial structures and to study their properties. In this paper, we present algorithms for…

Discrete Mathematics · Computer Science 2022-02-07 Iliya Bouyukliev , Stefka Bouyuklieva

Value independence is enormously beneficial for reasoning about software systems at scale. These benefits carry over into the world of formal verification. Reasoning about programs algebraically is a simple affair in a proof assistant,…

Programming Languages · Computer Science 2026-02-09 Liam O'Connor , Pilar Selene Linares Arevalo , Christine Rizkallah

In the interleaving model of concurrency, where events are totally ordered, linearizability is compositional: the composition of two linearizable objects is guaranteed to be linearizable. However, linearizability is not compositional when…

Logic in Computer Science · Computer Science 2018-02-07 Simon Doherty , John Derrick , Brijesh Dongol , Heike Wehrheim

Coalition Logic is an important logic in logical studies of strategic reasoning, whose models are concurrent game models. In this paper, first, we systematically discuss three assumptions of concurrent game models and argue that they are…

Logic in Computer Science · Computer Science 2025-09-12 Yinfeng Li , Fengkui Ju

We define a logic of propositional formula schemata adding to the syntax of propositional logic indexed propositions and iterated connectives ranging over intervals parameterized by arithmetic variables. The satisfiability problem is shown…

Logic in Computer Science · Computer Science 2014-01-17 Vincent Aravantinos , Ricardo Caferra , Nicolas Peltier

The rely-guarantee technique allows one to reason compositionally about concurrent programs. To handle interference the technique makes use of rely and guarantee conditions, both of which are binary relations on states. A rely condition is…

Logic in Computer Science · Computer Science 2016-03-08 Ian J. Hayes

Tabled logic programming is receiving increasing attention in the Logic Programming community. It avoids many of the shortcomings of SLD execution and provides a more flexible and often extremely efficient execution mechanism for logic…

Logic in Computer Science · Computer Science 2007-05-23 Sofie Verbaeten , Danny De Schreye , Konstantinos Sagonas

Formal verification provides strong guarantees of correctness of software, which are especially important in safety or security critical systems. Hoare logic is a widely used formalism for rigorous verification of software against…

Programming Languages · Computer Science 2021-03-11 Jayaraj Poroor

Linearizability has become the de facto correctness specification for implementations of concurrent data structures. While formally verifying such implementations remains challenging, linearizability monitoring has emerged as a promising…

Programming Languages · Computer Science 2025-09-16 Lee Zheng Han , Umang Mathur

Correctness of multi-threaded programs typically requires that they satisfy liveness properties. For example, a program may require that no thread is starved of a shared resource, or that all threads eventually agree on a single value. This…

Logic in Computer Science · Computer Science 2016-05-10 Azadeh Farzan , Zachary Kincaid , Andreas Podelski

Some approaches to increasing program reliability involve a disciplined use of programming languages so as to minimise the hazards introduced by error-prone features. This is realised by writing code that is constrained to a subset of the a…

Programming Languages · Computer Science 2007-11-06 Guillem Marpons-Ucero , Julio Mariño , Ángel Herranz , Lars-Åke Fredlund , Manuel Carro , Juan José Moreno-Navarro

Concurrent program refinement algebra provides a suitable basis for supporting mechanised reasoning about shared-memory concurrent programs in a compositional manner, for example, it supports the rely/guarantee approach of Jones. The…

Logic in Computer Science · Computer Science 2018-05-30 Ian J. Hayes , Larissa A. Meinicke

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

Multicore parallel programming has some very difficult problems such as deadlocks during synchronizations and race conditions brought by concurrency. Added to the difficulty is the lack of a simple, well-accepted computing model for…

Programming Languages · Computer Science 2010-12-09 Yibing Wang

We present a type theory combining both linearity and dependency by stratifying typing rules into a level for logics and a level for programs. The distinction between logics and programs decouples their semantics, allowing the type system…

Programming Languages · Computer Science 2025-10-08 Qiancheng Fu , Hongwei Xi

Program synthesis is the generation of a program from a specification. Correct synthesis is difficult, and methods that provide formal guarantees suffer from scalability issues. On the other hand, neural networks are able to generate…

Logic in Computer Science · Computer Science 2020-01-28 Elizabeth Polgreen , Ralph Abboud , Daniel Kroening

A logic is presented for reasoning on iterated sequences of formulae over some given base language. The considered sequences, or "schemata", are defined inductively, on some algebraic structure (for instance the natural numbers, the lists,…

Logic in Computer Science · Computer Science 2012-04-16 Mnacho Echenim , Nicolas Peltier

In this paper we consider the problem of certified static checking of module-like constructs of programming languages. We argue that there are algorithms and properties related to modules that can be defined and proven in an abstract way.…

Programming Languages · Computer Science 2017-06-20 Julia Belyakova

Choreographic programming is a paradigm where a concurrent or distributed system is developed in a top-down fashion. Programs, called choreographies, detail the desired interactions between processes, and can be compiled to distributed…

Programming Languages · Computer Science 2023-05-01 Luís Cruz-Filipe , Eva Graversen , Fabrizio Montesi , Marco Peressotti

Several formal systems, such as resolution and minimal model semantics, provide a framework for logic programming. In this paper, we will survey the use of structural proof theory as an alternative foundation. Researchers have been using…

Logic in Computer Science · Computer Science 2021-11-02 Dale Miller