English
Related papers

Related papers: Generalising KAT to verify weighted computations

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

Local Completeness Logic (LCL) has been put forward as a program logic for proving both the correctness and incorrectness of program specifications. LCL is an abstract logic, parameterized by an abstract domain that allows combining over-…

Logic in Computer Science · Computer Science 2022-08-26 Marco Milanese , Francesco Ranzato

Kleene algebras with tests (KATs) offer sound, complete, and decidable equational reasoning about regularly structured programs. Interest in KATs has increased greatly since NetKAT demonstrated how well extensions of KATs with…

Programming Languages · Computer Science 2022-04-05 Michael Greenberg , Ryan Beckett , Eric Campbell

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

Kleene Algebra with Tests (KAT) provides an elegant algebraic framework for describing non-deterministic finite-state computations. Using a small finite set of non-deterministic programming constructs (sequencing, non-deterministic choice,…

Programming Languages · Computer Science 2025-01-17 Balder ten Cate , Tobias Kappé

Kleene algebra (KA) is an important tool for reasoning about general program equivalences, with a decidable and complete equational theory. However, KA cannot always prove equivalences between specific programs. For this purpose, one adds…

Programming Languages · Computer Science 2026-01-21 Liam Chung , Tobias Kappé

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é

We study Kleene iteration in the categorical context. A celebrated completeness result by Kozen introduced Kleene algebra (with tests) as a ubiquitous tool for lightweight reasoning about program equivalence, and yet, numerous variants of…

Logic in Computer Science · Computer Science 2024-07-19 Sergey Goncharov , Tarmo Uustalu

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

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

Building on \'Esik and Kuich's completeness result for finitely weighted Kleene algebra, we establish relational and language completeness results for finitely weighted Kleene algebra with tests. Similarly as \'Esik and Kuich, we assume…

Logic in Computer Science · Computer Science 2024-07-11 Igor Sedlár

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

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

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

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

We extend the formalisation of confluence results in Kleene algebras to a formalisation of coherent confluence proofs. For this, we introduce the structure of higher globular Kleene algebra, a higher-dimensional generalisation of modal and…

Logic in Computer Science · Computer Science 2023-06-22 Cameron Calk , Eric Goubault , Philippe Malbos , Georg Struth

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

Concurrent Kleene Algebra is an elegant tool for equational reasoning about concurrent programs. An important feature of concurrent programs that is missing from CKA is the ability to restrict legal interleavings. To remedy this we extend…

Logic in Computer Science · Computer Science 2020-05-07 Paul Brunet , David Pym

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