English
Related papers

Related papers: A Formalization of Operads in Coq

200 papers

Proofs in proof assistants like Rocq can be brittle, breaking easily in response to changes. To address this, recent work introduced an algorithm and tool in Rocq to automatically repair broken proofs in response to changes that correspond…

Programming Languages · Computer Science 2025-08-26 Cosmo Viola , Max Fan , Talia Ringer

The present paper introduces Scala-of-Coq, a new compiler that allows a Coq-based synthesis of Scala programs which are "correct-by-construction". A typical workflow features a user implementing a Coq functional program, proving this…

Programming Languages · Computer Science 2017-06-19 Youssef El Bakouny , Tristan Crolard , Dani Mezher

We present a formalization of convex polyhedra in the proof assistant Coq. The cornerstone of our work is a complete implementation of the simplex method, together with the proof of its correctness and termination. This allows us to define…

Logic in Computer Science · Computer Science 2018-08-14 Xavier Allamigeon , Ricardo D. Katz

We investigate the formal semantics of a simple imperative language that has both classical and quantum constructs. More specifically, we provide an operational semantics, a denotational semantics and two Hoare-style proof systems: an…

Logic in Computer Science · Computer Science 2021-07-05 Yuxin Deng , Yuan Feng

In order to reason about the behaviour of programs described in a programming language, a mathematically rigorous definition of that language is needed. In this paper, we present a machine-checked formalisation of concurrent Core Erlang (a…

Programming Languages · Computer Science 2023-11-20 Péter Bereczky , Dániel Horpácsi , Simon Thompson

Operational semantics have been enormously successful, in large part due to its flexibility and simplicity, but they are not compositional. Denotational semantics, on the other hand, are compositional but the lattice-theoretic models are…

Programming Languages · Computer Science 2017-10-24 Jeremy G. Siek

Termination is an important property of programs; notably required for programs formulated in proof assistants. It is a very active subject of research in the Turing-complete formalism of term rewriting systems, where many methods and tools…

Logic in Computer Science · Computer Science 2012-03-01 Frédéric Blanqui , Adam Koprowski

This paper proposes a general semantic framework for verifying programs with arbitrary monadic side-effects using Dijkstra monads, which we define as monad-like structures indexed by a specification monad. We prove that any monad morphism…

Programming Languages · Computer Science 2019-06-27 Kenji Maillard , Danel Ahman , Robert Atkey , Guido Martinez , Catalin Hritcu , Exequiel Rivas , Éric Tanter

Cyber-physical systems (CPS) such as autonomous cars, aircraft, and robots are often also safety-critical; thus it is imperative that they operate as intended with a high degree of certainty. Formal verification has been employed to verify…

Programming Languages · Computer Science 2026-05-07 Serra Z. Dane , Jiawei Chen , Marc Pouzet , Jean-Baptiste Jeannin

As software systems increase in size and complexity dramatically, ensuring their correctness, security, and reliability becomes an increasingly formidable challenge. Despite significant advancements in verification techniques and tools,…

The formal analysis of automated systems is an important and growing industry. This activity routinely requires new verification frameworks to be developed to tackle new programming features, or new considerations (bugs of interest). Often,…

Logic in Computer Science · Computer Science 2026-02-17 Paul Brunet

We present an approach to program reasoning which inserts between a program and its verification conditions an additional layer, the denotation of the program expressed in a declarative form. The program is first translated into its…

Logic in Computer Science · Computer Science 2012-02-23 Wolfgang Schreiner

Reasoning about real number expressions in a proof assistant is challenging. Several problems in theorem proving can be solved by using exact real number computation. I have implemented a library for reasoning and computing with complete…

Logic in Computer Science · Computer Science 2010-08-04 Russell O'Connor

In the recent years, we have linked a large corpus of formal mathematics with automated theorem proving (ATP) tools, and started to develop combined AI/ATP systems working in this setting. In this paper we first relate this project to the…

Artificial Intelligence · Computer Science 2012-12-18 Josef Urban , Jiri Vyskocil

The use of formal methods provides confidence in the correctness of developments. Yet one may argue about the actual level of confidence obtained when the method itself -- or its implementation -- is not formally checked. We address this…

Logic in Computer Science · Computer Science 2009-02-24 Eric Jaeger , Catherine Dubois

The uniform interpolation property in a given logic can be understood as the definability of propositional quantifiers. We mechanise the computation of these quantifiers and prove correctness in the Coq proof assistant for three modal…

Logic in Computer Science · Computer Science 2024-04-30 Hugo Férée , Iris van der Giessen , Sam van Gool , Ian Shillito

We present Soda (Symbolic Objective Descriptive Analysis), a language that helps to treat qualities and quantities in a natural way and greatly simplifies the task of checking their correctness. We present key properties for the language…

Programming Languages · Computer Science 2024-11-21 Julian Alfredo Mendez

We study induction on the program structure as a proof method for bisimulation-based compiler correctness. We consider a first-order language with mutually recursive function definitions, system calls, and an environment semantics. The…

Programming Languages · Computer Science 2016-11-30 Sigurd Schneider , Gert Smolka , Sebastian Hack

Context-oriented programming (COP) is a new technique for programming that allows changing the context in which commands execute as a program executes. Compared to object-oriented programming (aspect-oriented programming), COP is more…

Programming Languages · Computer Science 2014-02-25 Mohamed A. El-Zawawy , Eisa A. Aleisa

We present an executable, proven-safe, faithful, and future-proof Coq mechanization of JavaScript regular expression (regex) matching, as specified by the latest published edition of ECMA-262 section 22.2. This is, to our knowledge, the…

Programming Languages · Computer Science 2024-07-29 Noé De Santo , Aurèle Barrière , Clément Pit-Claudel