English
Related papers

Related papers: Certified proofs in programs involving exceptions

200 papers

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

We present a new approach to termination analysis of numerical computations in logic programs. Traditional approaches fail to analyse them due to non well-foundedness of the integers. We present a technique that allows to overcome these…

Programming Languages · Computer Science 2007-05-23 Alexander Serebrenik , Danny De Schreye

We present an approach to support partiality in type-level computation without compromising expressiveness or type safety. Existing frameworks for type-level computation either require totality or implicitly assume it. For example, type…

Programming Languages · Computer Science 2017-06-30 J. Garrett Morris , Richard Eisenberg

We describe how we connected three programs that compute Groebner bases to Coq, to do automated proofs on algebraic, geometrical and arithmetical expressions. The result is a set of Coq tactics and a certificate mechanism (downloadable at…

Symbolic Computation · Computer Science 2010-07-22 Loïc Pottier

We present a new modular proof method of termination for second-order computation, and report its implementation SOL. The proof method is useful for proving termination of higher-order foundational calculi. To establish the method, we use a…

Symbolic Computation · Computer Science 2023-06-22 Makoto Hamana

Relational properties describe multiple runs of one or more programs. They characterize many useful notions of security, program refinement, and equivalence for programs with diverse computational effects, and they have received much…

Quantum computing technology may soon deliver revolutionary improvements in algorithmic performance, but these are only useful if computed answers are correct. While hardware-level decoherence errors have garnered significant attention, a…

Programming Languages · Computer Science 2022-04-15 Yuxiang Peng , Kesha Hietala , Runzhou Tao , Liyi Li , Robert Rand , Michael Hicks , Xiaodi Wu

Existing methods for dealing with knowledge updates differ greatly depending on the underlying knowledge representation formalism. When Classical Logic is used, updates are typically performed by manipulating the knowledge base on the…

Artificial Intelligence · Computer Science 2017-06-05 Martin Slota , Joao Leite

The need for formal definition of the very basis of mathematics arose in the last century. The scale and complexity of mathematics, along with discovered paradoxes, revealed the danger of accumulating errors across theories. Although,…

Logic in Computer Science · Computer Science 2018-09-10 Artem Yushkovskiy

$\{log\}$ is a programming language at the intersection of Constraint Logic Programming, set programming and declarative programming. But $\{log\}$ is also a satisfiability solver for a theory of finite sets and finite binary relations.…

Logic in Computer Science · Computer Science 2021-04-19 Maximiliano Cristiá , Gianfranco Rossi

Choreographic programming is a paradigm for writing coordination plans for distributed systems from a global point of view, from which correct-by-construction decentralised implementations can be generated automatically. Theory of…

Logic in Computer Science · Computer Science 2022-09-07 Luís Cruz-Filipe , Fabrizio Montesi , Marco Peressotti

We apply the foundational proof certificate (FPC) framework to the problem of designing high-level outlines of proofs. The FPC framework provides a means to formally define and check a wide range of proof evidence. A focused proof system is…

Logic in Computer Science · Computer Science 2015-11-16 Roberto Blanco , Dale Miller

Refinement transforms an abstract system model into a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development…

Logic in Computer Science · Computer Science 2021-10-27 Aurel Bílý , Christoph Matheja , Peter Müller

Some total languages, like Agda and Coq, allow the use of guarded corecursion to construct infinite values and proofs. Guarded corecursion is a form of recursion in which arbitrary recursive calls are allowed, as long as they are guarded by…

Logic in Computer Science · Computer Science 2010-12-23 Nils Anders Danielsson

We explore asynchronous programming with algebraic effects. We complement their conventional synchronous treatment by showing how to naturally also accommodate asynchrony within them, namely, by decoupling the execution of operation calls…

Programming Languages · Computer Science 2024-09-25 Danel Ahman , Matija Pretnar

Almost from the inception of Hilbert's program, foundational and structural efforts in proof theory have been directed towards the goal of clarifying the computational content of modern mathematical methods. This essay surveys various…

Logic · Mathematics 2010-06-17 Jeremy Avigad

This paper presents a proof system for reasoning about execution time bounds for a core imperative programming language. Proof systems are defined for three different scenarios: approximations of the worst-case execution time, exact time…

Programming Languages · Computer Science 2022-10-28 Ana Carolina Silva , Manuel Barbosa , Mario Florido

Correctness proofs for floating point programs are difficult to verify. To simplify the task, a similar, but less complex system, known as logarithmic arithmetic can be used. The Boyer-Moore Theorem Prover, NQTHM, mechanically verified the…

Logic in Computer Science · Computer Science 2024-11-21 Mark G. Arnold , Thomas A. Bailey , John R. Cowles

Sharing of notations and theories across an inheritance hierarchy of mathematical structures, e.g., groups and rings, is important for productivity when formalizing mathematics in proof assistants. The packed classes methodology is a…

Programming Languages · Computer Science 2020-09-22 Kazuhiko Sakaguchi

This article describes haggies, a program for the generation of optimised programs for the efficient numerical evaluation of mathematical expressions. It uses a multivariate Horner-scheme and Common Subexpression Elimination to reduce the…

High Energy Physics - Phenomenology · Physics 2014-11-20 Thomas Reiter