English
Related papers

Related papers: Deciding KAT and Hoare Logic with Derivatives

200 papers

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 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

In the literature on Kleene algebra (KA), a number of variants have been proposed such as Kleene algebra with tests, commutative KA, bi-KA, and concurrent KA. The equational theories of some of these structures have then been studied in the…

Logic in Computer Science · Computer Science 2026-05-19 Lukas Mulder , Damien Pous , Jana Wagemaker

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

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

We propose Kleene algebra with domain (KAD), an extension of Kleene algebra with two equational axioms for a domain and a codomain operation, respectively. KAD considerably augments the expressiveness of Kleene algebra, in particular for…

Logic in Computer Science · Computer Science 2007-05-23 J. Desharnais , B. Möller , G. Struth

Guarded Kleene Algebra with Tests (GKAT) is an efficient fragment of KAT, as it allows for almost linear decidability of equivalence. In this paper, we study the (co)algebraic properties of GKAT. Our initial focus is on the fragment that…

Logic in Computer Science · Computer Science 2023-02-03 Todd Schmid , Tobias Kappé , Dexter Kozen , Alexandra Silva

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

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

General program equivalence is undecidable. However, if we abstract away the semantics of statements, then this problem becomes not just decidable, but practically feasible. For instance, a program of the form "if $b$ then $e$ else $f$"…

Programming Languages · Computer Science 2025-07-11 Tobias Kappé

In relational verification, judicious alignment of computational steps facilitates proof of relations between programs using simple relational assertions. Relational Hoare logics (RHL) provide compositional rules that embody various…

Logic in Computer Science · Computer Science 2023-07-21 Anindya Banerjee , Ramana Nagasamudram , David A. Naumann

We introduce partially observable concurrent Kleene algebra (POCKA), an algebraic framework to reason about concurrent programs with control structures, such as conditionals and loops. POCKA enables reasoning about programs that can access…

Logic in Computer Science · Computer Science 2023-02-06 Jana Wagemaker , Paul Brunet , Simon Docherty , Tobias Kappé , Jurriaan Rot , Alexandra Silva

Kleene Algebra (KA) is a useful tool for proving that two programs are equivalent. Because KA's equational theory is decidable, it integrates well with interactive theorem provers. This raises the question: which equations can we (not)…

Formal Languages and Automata Theory · Computer Science 2026-03-11 Tobias Kappé

Concurrent Kleene Algebra (CKA) is a recently proposed algebraic structure by Hoare and collaborators that unifies the laws of concurrent programming. The unifying power of CKA rests largely on the so-called exchange law that describes how…

Logic in Computer Science · Computer Science 2014-10-20 Alex Horn , Jade Alglave

In relational verification, judicious alignment of computational steps facilitates proof of relations between programs using simple relational assertions. Relational Hoare logics (RHL) provide compositional rules that embody various…

Logic in Computer Science · Computer Science 2025-11-12 Ramana Nagasamudram , Anindya Banerjee , David A. Naumann

Kozen and Tiuryn have introduced the substructural logic $\mathsf{S}$ for reasoning about correctness of while programs (ACM TOCL, 2003). The logic $\mathsf{S}$ distinguishes between tests and partial correctness assertions, representing…

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

We propose Weighted Guarded Kleene Algebra with Tests (wGKAT), an uninterpreted weighted programming language equipped with branching, conditionals, and loops. We provide an operational semantics for wGKAT using a variant of weighted…

Logic in Computer Science · Computer Science 2025-04-30 Spencer Van Koevering , Wojciech Różowski , Alexandra Silva

We present a reflexive tactic for deciding the equational theory of Kleene algebras in the Coq proof assistant. This tactic relies on a careful implementation of efficient finite automata algorithms, so that it solves casual equations…

Logic in Computer Science · Computer Science 2015-07-01 Thomas Braibant , Damien Pous

Hoare logic provides a syntax-oriented method to reason about program correctness and has been proven effective in the verification of classical and probabilistic programs. Existing proposals for quantum Hoare logic either lack completeness…

Logic in Computer Science · Computer Science 2022-06-29 Yuan Feng , Mingsheng Ying

Quantum Hoare logic (QHL) is a formal verification tool specifically designed to ensure the correctness of quantum programs. There has been an ongoing challenge to achieve a relatively complete satisfaction-based QHL with while-loop since…

Logic in Computer Science · Computer Science 2024-05-06 Xin Sun , Xingchi Su , Xiaoning Bian , Huiwen Wu