English
Related papers

Related papers: Guarded Kleene Algebra with Tests: Coequations, Co…

200 papers

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é

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 algebra with tests (KAT) is an equational system for program verification, which is the combination of Boolean algebra (BA) and Kleene algebra (KA), the algebra of regular expressions. In particular, KAT subsumes the propositional…

Formal Languages and Automata Theory · Computer Science 2012-10-10 Ricardo Almeida , Sabine Broda , Nelma Moreira

We prove two completeness results for Kleene algebra with tests and a top element, with respect to guarded string languages and binary relations. While the equational theories of those two classes of models coincide over the signature of…

Formal Languages and Automata Theory · Computer Science 2024-10-09 Damien Pous , Jana Wagemaker

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

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é

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

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

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

We study versions of Kleene algebra with dynamic tests, that is, extensions of Kleene algebra with domain and antidomain operators. We show that Kleene algebras with tests and Propositional dynamic logic correspond to special cases of the…

Logic in Computer Science · Computer Science 2023-11-14 Igor Sedlár

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é

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

Synchronous Kleene algebra (SKA), an extension of Kleene algebra (KA), was proposed by Prisacariu as a tool for reasoning about programs that may execute synchronously, i.e., in lock-step. We provide a countermodel witnessing that the…

Logic in Computer Science · Computer Science 2023-02-03 Jana Wagemaker , Marcello Bonsangue , Tobias Kappé , Jurriaan Rot , Alexandra Silva

Weighted programs generalize probabilistic programs and offer a framework for specifying and encoding mathematical models by means of an algorithmic representation. Kleene algebra with tests is an algebraic formalism based on regular…

Logic in Computer Science · Computer Science 2023-03-02 Igor Sedlár

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

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

Concurrent Kleene Algebra (CKA) is a mathematical formalism to study programs that exhibit concurrent behaviour. As with previous extensions of Kleene Algebra, characterizing the free model is crucial in order to develop the foundations of…

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

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