English
Related papers

Related papers: Feasibly Reducing KAT Equations to KA Equations

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é

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

Kleene algebra with tests (KAT) is an algebraic framework for reasoning about the control flow of sequential programs. Generalising KAT to reason about concurrent programs is not straightforward, because axioms native to KAT in conjunction…

Logic in Computer Science · Computer Science 2023-02-03 Tobias Kappé , Paul Brunet , Jurriaan Rot , Alexandra Silva , Jana Wagemaker , Fabio Zanasi

Kleene algebra with tests (KAT) was introduced as an algebraic structure to model and reason about classic imperative programs, i.e. sequences of discrete transitions guarded by Boolean tests. This paper introduces two generalisations of…

Logic in Computer Science · Computer Science 2019-11-05 Leandro Gomes , Alexandre Madeira , Luís Soares Barbosa

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

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

Kleene algebra with tests (KAT) is a foundational equational framework for reasoning about programs, which has found applications in program transformations, networking and compiler optimizations, among many other areas. In his seminal…

Programming Languages · Computer Science 2022-08-08 Cheng Zhang , Arthur Azevedo de Amorim , Marco Gaboardi

We investigate the algebraic reasoning of quantum programs inspired by the success of classical program analysis based on Kleene algebra. One prominent example of such is the famous Kleene Algebra with Tests (KAT), which has furnished both…

Programming Languages · Computer Science 2022-03-30 Yuxiang Peng , Mingsheng Ying , Xiaodi Wu

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

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

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

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

Relational verification encompasses information flow security, regression verification, translation validation for compilers, and more. Effective alignment of the programs and computations to be related facilitates use of simpler relational…

Logic in Computer Science · Computer Science 2023-03-27 Timos Antonopoulos , Eric Koskinen , Ton Chanh Le , Ramana Nagasamudram , David A. Naumann , Minh Ngo

In the literature on Kleene algebra, a number of variants have been proposed which impose additional structure specified by a theory, such as Kleene algebra with tests (KAT) and the recent Kleene algebra with observations (KAO), or make…

Logic in Computer Science · Computer Science 2024-08-07 Damien Pous , Jurriaan Rot , Jana Wagemaker

Kleene algebras (KA) and Kleene algebras with tests (KAT) provide an algebraic framework to capture the behavior of conventional programming constructs. This paper explores a broader understanding of these structures, in order to enable the…

Logic in Computer Science · Computer Science 2025-06-09 Juliana Cunha , Alexandre Madeira , Luís S. Barbosa

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

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

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

Concurrent Kleene Algebra (CKA) extends basic Kleene algebra with a parallel composition operator, which enables reasoning about concurrent programs. However, CKA fundamentally misses tests, which are needed to model standard programming…

Logic in Computer Science · Computer Science 2023-02-03 Tobias Kappé , Paul Brunet , Alexandra Silva , Jana Wagemaker , Fabio Zanasi

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
‹ Prev 1 2 3 10 Next ›