English
Related papers

Related papers: Kleene Algebra with Tests and Coq Tools for While …

200 papers

To evaluate large language models (LLMs) for code, research has used manually created unit test-based benchmarks. However, these tests are often inadequate, missing corner cases and other implementation-specific oddities. This work…

Software Engineering · Computer Science 2025-02-27 Miltiadis Allamanis , Pengcheng Yin

An invaluable feature of computer algebra systems is their ability to plot the graph of functions. Unfortunately, when one is trying to design a library of mathematical functions, this feature often falls short, producing incorrect and…

Software Engineering · Computer Science 2021-08-10 Guillaume Melquiond

We propose a new library to model and verify hardware circuits in the Coq proof assistant. This library allows one to easily build circuits by following the usual pen-and-paper diagrams. We define a deep-embedding: we use a (dependently…

Logic in Computer Science · Computer Science 2011-08-23 Thomas Braibant

We introduce the two substructural propositional logics KL, KL+, which use disjunction, fusion and a unary, (quasi-)exponential connective. For both we prove strong completeness with respect to the interpretation in Kleene algebras and a…

Logic in Computer Science · Computer Science 2014-08-27 Christian Wurm

Typical arguments for results like Kleene's Second Recursion Theorem and the existence of self-writing computer programs bear the fingerprints of equational reasoning and combinatory logic. In fact, the connection of combinatory logic and…

Logic in Computer Science · Computer Science 2024-02-14 Lawrence S. Moss

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

This paper summarises the results obtained by the author and his collaborators in a program logic approach to the verification of quantum programs, including quantum Hoare logic, invariant generation and termination analysis for quantum…

Quantum Physics · Physics 2018-08-01 Mingsheng Ying

interpreters are tools to compute approximations for behaviors of a program. These approximations can then be used for optimisation or for error detection. In this paper, we show how to describe an abstract interpreter using the type-theory…

Logic in Computer Science · Computer Science 2008-10-20 Yves Bertot

We are interested in algorithms that manipulate mathematical expressions in mathematically meaningful ways. Expressions are syntactic, but most logics do not allow one to discuss syntax. ${\rm CTT}_{\rm qe}$ is a version of Church's type…

Logic in Computer Science · Computer Science 2018-05-15 Jacques Carette , William M. Farmer , Patrick Laskowski

Reactive programs are ubiquitous in modern applications, and so verification is highly desirable. We present a verification strategy for reactive programs with a large or infinite state space utilising algebraic laws for reactive relations.…

Logic in Computer Science · Computer Science 2018-08-08 Simon Foster , Kangfeng Ye , Ana Cavalcanti , Jim Woodcock

A structural theorem for Kleene algebras is proved, showing that an element of a Kleene algebra can be looked upon as an ordered pair of sets. Further, we show that negation with the Kleene property (called the `Kleene negation') always…

Logic · Mathematics 2020-07-24 Arun Kumar , Mohua Banerjee

Good tools can bring mechanical verification to programs written in mainstream functional languages. We use hs-to-coq to translate significant portions of Haskell's containers library into Coq, and verify it against specifications that we…

Programming Languages · Computer Science 2018-03-21 Joachim Breitner , Antal Spector-Zabusky , Yao Li , Christine Rizkallah , John Wiegley , Stephanie Weirich

We present a comprehensive programme analysing the decomposition of proof systems for non-classical logics into proof systems for other logics, especially classical logic, using an algebra of constraints. That is, one recovers a proof…

Logic in Computer Science · Computer Science 2023-10-20 Alexander V. Gheorghiu , David J. Pym

Computer Algebra systems are widely spread because of some of their remarkable features such as their ease of use and performance. Nonetheless, this focus on performance sometimes leads to unwanted consequences: algorithms and computations…

Logic in Computer Science · Computer Science 2014-01-27 Jesús Aransay , Jose Divasón

We survey the landscape of Hoare logics for quantum programs. We review three papers: "Reasoning about imperative quantum programs" by Chadha, Mateus and Sernadas; "A logic for formal verification of quantum programs" by Yoshihiko Kakutani;…

Logic in Computer Science · Computer Science 2019-04-10 Robert Rand

In purely functional programming languages imperative features, more generally computational effects are prohibited. However, non-functional lan- guages do involve effects. The theory of decorated logic provides a rigorous for- malism (with…

Logic in Computer Science · Computer Science 2014-11-27 Burak Ekici

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

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

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

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