English
Related papers

Related papers: An algebra of alignment for relational verificatio…

200 papers

We introduce Probabilistic Guarded Kleene Algebra with Tests (ProbGKAT), an extension of GKAT that allows reasoning about uninterpreted imperative programs with probabilistic branching. We give its operational semantics in terms of special…

Logic in Computer Science · Computer Science 2023-05-04 Wojciech Różowski , Tobias Kappé , Dexter Kozen , Todd Schmid , Alexandra Silva

This booklet serves as an introduction to Kleene Algebra (KA), a set of laws that can be used to study general equivalences between programs. It discusses how general programs can be modeled using regular expressions, how those expressions…

Programming Languages · Computer Science 2025-11-17 Tobias Kappé , Alexandra Silva , Jana Wagemaker

Guarded Kleene Algebra with Tests (GKAT) is the fragment of Kleene Algebra with Tests (KAT) that arises by replacing the union and iteration operations of KAT with predicate-guarded variants. GKAT is more efficiently decidable than KAT and…

Formal Languages and Automata Theory · Computer Science 2023-06-22 Stefan Zetzsche , Alexandra Silva , Matteo Sammartino

We present simple new Hoare logics and refinement calculi for hybrid systems in the style of differential dynamic logic. (Refinement) Kleene algebra with tests is used for reasoning about the program structure and generating verification…

Logic in Computer Science · Computer Science 2019-10-31 Simon Foster , Jonathan Julián Huerta y Munive , Georg Struth

Guarded Kleene Algebra with Tests (GKAT) is a variation on Kleene Algebra with Tests (KAT) that arises by restricting the union ($+$) and iteration ($*$) operations from KAT to predicate-guarded versions. We develop the (co)algebraic theory…

Logic in Computer Science · Computer Science 2023-02-03 Steffen Smolka , Nate Foster , Justin Hsu , Tobias Kappé , Dexter Kozen , Alexandra Silva

We present a Coq library about Kleene algebra with tests, including a proof of their completeness over the appropriate notion of languages, a decision procedure for their equational theory, and tools for exploiting hypotheses of a…

Logic in Computer Science · Computer Science 2013-02-08 Damien Pous

Kleene algebra with tests is an extension of Kleene algebra, the algebra of regular expressions, which can be used to reason about programs. We develop a coalgebraic theory of Kleene algebra with tests, along the lines of the coalgebraic…

Logic in Computer Science · Computer Science 2007-05-23 Hubie Chen , Riccardo Pucella

We propose a generalisation of concurrent Kleene algebra \cite{Hoa09} that can take account of probabilistic effects in the presence of concurrency. The algebra is proved sound with respect to a model of automata modulo a variant of rooted…

Formal Languages and Automata Theory · Computer Science 2013-01-31 Annabelle McIver , Tahiry Rabehaja , Georg Struth

Guarded Kleene Algebra with Tests (GKAT) is a fragment of Kleene Algebra with Tests (KAT) that was recently introduced to reason efficiently about imperative programs. In contrast to KAT, GKAT does not have an algebraic axiomatization, but…

Logic in Computer Science · Computer Science 2024-10-02 Tobias Kappé , Todd Schmid , Alexandra Silva

This paper studies how to use relation algebras, which are useful for high-level specification and verification, for proving the correctness of lower-level array-based implementations of algorithms. We give a simple relation-algebraic…

Logic in Computer Science · Computer Science 2026-04-08 Walter Guttmann

We introduce a formal language for specifying dynamic updates for Software Defined Networks. Our language builds upon Network Kleene Algebra with Tests (NetKAT) and adds constructs for synchronisations and multi-packet behaviour to capture…

Networking and Internet Architecture · Computer Science 2021-05-25 Georgiana Caltais , Hossein Hojjat , Mohammad Mousavi , Hunkar Can Tunc

We aim at a holistic perspective on program logics, including Hoare and incorrectness logics. To this end, we study different classes of properties arising from the generalization of the aforementioned logics. We compare our results with…

Logic in Computer Science · Computer Science 2023-12-18 Lena Verscht , Benjamin Kaminski

TopKAT is the algebraic theory of Kleene algebra with tests (KAT) extended with a top element. Compared to KAT, one pleasant feature of TopKAT is that, in relational models, the top element allows us to express the domain and codomain of a…

Programming Languages · Computer Science 2024-04-30 Cheng Zhang , Arthur Azevedo de Amorim , Marco Gaboardi

Many security- and performance-critical domains, such as cryptography, rely on low-level verification to minimize the trusted computing surface and allow code to be written directly in assembly. However, verifying assembly code against a…

Logic in Computer Science · Computer Science 2025-05-21 Denis Mazzucato , Abdalrhman Mohamed , Juneyoung Lee , Clark Barrett , Jim Grundy , John Harrison , Corina S. Pasareanu

Modern software is constantly changing. Researchers and practitioners are increasingly aware that verification tools can be impactful if they embrace change through analyses that are compositional and span program versions. Reasoning about…

Programming Languages · Computer Science 2019-03-19 Timos Antonopoulos , Eric Koskinen , Ton-Chanh Le

Kleene algebra with tests, KAT, provides a simple two-sorted algebraic framework for verifying properties of propositional while programs. Kleene algebra with domain, KAD, is a one-sorted alternative to KAT. The equational theory of KAT…

Logic in Computer Science · Computer Science 2022-05-09 Igor Sedlár , Johann J. Wannenburg

We study Hoare-like logics, including partial and total correctness Hoare logic, incorrectness logic, Lisbon logic, and many others through the lens of predicate transformers \`a la Dijkstra and through the lens of Kleene algebra with top…

Programming Languages · Computer Science 2024-12-02 Lena Verscht , Benjamin Lucien Kaminski

Concurrent Kleene Algebra (CKA) is a formalism to study concurrent programs. Like previous Kleene Algebra extensions, developing a correspondence between denotational and operational perspectives is important, for both foundations and…

Formal Languages and Automata Theory · Computer Science 2023-02-03 Tobias Kappé , Paul Brunet , Bas Luttik , Alexandra Silva , Fabio Zanasi

Relational Hoare logics extend the applicability of modular, deductive verification to encompass important 2-run properties including dependency requirements such as confidentiality and program relations such as equivalence or similarity…

Logic in Computer Science · Computer Science 2022-07-19 David A. Naumann

Relational program verification is a variant of program verification where one can reason about two programs and as a special case about two executions of a single program on different inputs. Relational program verification can be used for…

Programming Languages · Computer Science 2019-10-23 Alejandro Aguirre , Gilles Barthe , Marco Gaboardi , Deepak Garg , Pierre-Yves Strub