English
Related papers

Related papers: Verified Purely Functional Catenable Real-Time Deq…

200 papers

Functional programming offers the perfect ground for building correct-by-construction software. Languages of such paradigm normally feature state-of-the-art type systems, good abstraction mechanisms, and well-defined execution models. We…

Logic in Computer Science · Computer Science 2022-07-21 Daniel Castanho , Mário Pereira

We report on the development of an optimized and verified decision procedure for orthologic equalities and inequalities. This decision procedure is quadratic-time and is used as a sound, efficient and predictable approximation to classical…

Logic in Computer Science · Computer Science 2025-02-05 Simon Guilloud , Clément Pit-Claudel

Exact real computation is an alternative to floating-point arithmetic where operations on real numbers are performed exactly, without the introduction of rounding errors. When proving the correctness of an implementation, one can focus…

Logic in Computer Science · Computer Science 2024-10-22 Michal Konečný , Sewon Park , Holger Thies

In this paper, we provide a comprehensive, hands-on tutorial on how to apply deductive verification to programs written in OCaml. In particular, we show how one can use the GOSPEL specification language and the Cameleer tool to conduct…

Logic in Computer Science · Computer Science 2024-07-23 Mário Pereira

We report on four different approaches to implementing hash-consing in Coq programs. The use cases include execution inside Coq, or execution of the extracted OCaml code. We explore the different trade-offs between faithful use of pristine…

Logic in Computer Science · Computer Science 2015-09-28 Thomas Braibant , Jacques-Henri Jourdan , David Monniaux

The use of function contracts to specify the behavior of functions often remains limited to the scope of a single function call. Relational properties link several function calls together within a single specification. They can express more…

Software Engineering · Computer Science 2022-05-18 Lionel Blatter , Nikolai Kosmatov , Virgile Prevosto , Pascale Le Gall

Lookup tables (finite maps) are a ubiquitous data structure. In pure functional languages they are best represented using trees instead of hash tables. In pure functional languages within constructive logic, without a primitive integer…

Logic in Computer Science · Computer Science 2023-09-06 Andrew W Appel , Xavier Leroy

Deductive verification typically relies on function contracts that specify the behavior of each function for a single function call. Relational properties link several function calls together within a single specification. They can express…

Software Engineering · Computer Science 2024-01-17 Lionel Blatter , Nikolai Kosmatov , Virgile Prevosto , Pascale Le Gall

Chase-Lev deque is a concurrent data structure designed for efficient load balancing in multiprocessor scheduling. It employs a work-stealing strategy, where each thread possesses its own work-stealing deque to store tasks, and idle threads…

Logic in Computer Science · Computer Science 2023-09-08 Jaemin Choi

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 provide a computer verified exact monadic functional implementation of the Riemann integral in type theory. Together with previous work by O'Connor, this may be seen as the beginning of the realization of Bishop's vision to use…

Logic in Computer Science · Computer Science 2010-08-11 Russell O'Connor , Bas Spitters

This notes explains how a standard algorithm that constructs the discrete Fourier transform has been formalised and proved correct in the Coq proof assistant using the SSReflect extension.

Logic in Computer Science · Computer Science 2025-08-15 Laurent Théry

Being able to soundly estimate roundoff errors of finite-precision computations is important for many applications in embedded systems and scientific computing. Due to the discrepancy between continuous reals and discrete finite-precision…

Programming Languages · Computer Science 2018-08-24 Heiko Becker , Nikita Zyuzin , Raphael Monat , Eva Darulova , Magnus O. Myreen , Anthony Fox

In this article we present a method for formally proving the correctness of the lazy algorithms for computing homographic and quadratic transformations -- of which field operations are special cases-- on a representation of real numbers by…

Logic in Computer Science · Computer Science 2015-07-01 Milad Niqui

Comparing provers on a formalization of the same problem is always a valuable exercise. In this paper, we present the formal proof of correctness of a non-trivial algorithm from graph theory that was carried out in three proof assistants:…

Logic in Computer Science · Computer Science 2018-10-30 Ran Chen , Cyril Cohen , Jean-Jacques Levy , Stephan Merz , Laurent Thery

This paper presents an application of specification based runtime verification techniques to control mobile robots in a reactive manner. In our case study, we develop a layered control architecture where runtime monitors constructed from…

Robotics · Computer Science 2019-02-12 Dogan Ulus , Calin Belta

We introduce Clerical, a programming language for exact real-number computation that combines first-order imperative-style programming with a limit operator for computation of real numbers as limits of Cauchy sequences. We address the…

Logic in Computer Science · Computer Science 2024-09-19 Andrej Bauer , Sewon Park , Alex Simpson

We propose a verified approach to the formal verification of timed properties using model-checking techniques. We focus on properties expressed using real-time specification patterns, which can be viewed as a subset of timed temporal logics…

Logic in Computer Science · Computer Science 2013-02-01 Nouha Abid , Silvano Dal Zilio , Didier Le Botlan

We present a formal model of Checked C, a dialect of C that aims to enforce spatial memory safety. Our model pays particular attention to the semantics of dynamically sized, potentially null-terminated arrays. We formalize this model in…

Programming Languages · Computer Science 2022-02-01 Liyi Li , Yiyun Liu , Deena L. Postol , Leonidas Lampropoulos , David Van Horn , Michael Hicks

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