Results 1  10
of
11
Extraction in Coq: An overview
 In CiE ’08, volume 5028 of Lecture
"... Abstract. The extraction mechanism of Coq allows one to transform Coq proofs and functions into functional programs. We illustrate the behavior of this tool by reviewing several variants of Coq de nitions for Euclidean division, as well as some more advanced examples. We then continue with a more ge ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Abstract. The extraction mechanism of Coq allows one to transform Coq proofs and functions into functional programs. We illustrate the behavior of this tool by reviewing several variants of Coq de nitions for Euclidean division, as well as some more advanced examples. We then continue with a more general description of this tool: key features, main examples, strengths, limitations and perspectives. hal00338973, version 1 14 Nov 2008 1
TRX: A formally verified parser interpreter
 LOGICAL METHODS IN COMPUTER SCIENCE 7(2
, 2011
"... Parsing is an important problem in computer science and yet surprisingly little attention has been devoted to its formal verification. In this paper, we present TRX: a parser interpreter formally developed in the proof assistant Coq, capable of producing formally correct parsers. We are using parsi ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Parsing is an important problem in computer science and yet surprisingly little attention has been devoted to its formal verification. In this paper, we present TRX: a parser interpreter formally developed in the proof assistant Coq, capable of producing formally correct parsers. We are using parsing expression grammars (PEGs), a formalism essentially representing recursive descent parsing, which we consider an attractive alternative to contextfree grammars (CFGs). From this formalization we can extract a parser for an arbitrary PEG grammar with the warranty of total correctness, i.e., the resulting parser is terminating and correct with respect to its grammar and the semantics of PEGs; both properties formally proven in Coq.
Validating LR(1) Parsers
"... Abstract. An LR(1) parser is a finitestate automaton, equipped with a stack, which uses a combination of its current state and one lookahead symbol in order to determine which action to perform next. We present a validator which, when applied to a contextfree grammar G and an automaton A, checks t ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Abstract. An LR(1) parser is a finitestate automaton, equipped with a stack, which uses a combination of its current state and one lookahead symbol in order to determine which action to perform next. We present a validator which, when applied to a contextfree grammar G and an automaton A, checks that A and G agree. Validating the parser provides the correctness guarantees required by verified compilers and other highassurance software that involves parsing. The validation process is independent of which technique was used to construct A. The validator is implemented and proved correct using the Coq proof assistant. As an application, we build a formallyverified parser for the C99 language. 1
Program Verification using Coq Introduction to the WHY tool
 TYPES SUMMER SCHOOL 2005
, 2005
"... ..."
A Case Study in Formalizing Projective Geometry in Coq: Desargues Theorem
, 2012
"... Formalizing geometry theorems in a proof assistant like Coq is challenging. As emphasized in the literature, the nondegeneracy conditions lead to long technical proofs. In addition, when considering higherdimensions, the amount of incidence relations (e.g. pointline, pointplane, lineplane) indu ..."
Abstract
 Add to MetaCart
Formalizing geometry theorems in a proof assistant like Coq is challenging. As emphasized in the literature, the nondegeneracy conditions lead to long technical proofs. In addition, when considering higherdimensions, the amount of incidence relations (e.g. pointline, pointplane, lineplane) induce numerous technical lemmas. In this article, we investigate formalizing projective plane geometry as well as projective space geometry. We mainly focus on one of the fundamental properties of the projective space, namely Desargues property. We formally prove that it is independent of projective plane geometry axioms but can be derived from Pappus property in a twodimensional setting. Regarding at least three dimensional projective geometry, we present an original approach based on the notion of rank which allows to describe incidence and nonincidence relations such as equality, collinearity and coplanarity homogeneously. This approach allows to carry out proofs in a more systematic way and was successfully used to fairly easily formalize Desargues theorem in Coq. This illustrates the power and efficiency of our approach (using only ranks) to prove properties of the projective space.
1 Efficient Verified RedBlack Trees
"... I present a new implementation of balanced binary search trees, compatible with the MSets interface of the Coq Standard Library. Like the current Library implementation, mine is formally verified (in Coq) to be correct with respect to the MSets specification, and to be balanced (which implies asympt ..."
Abstract
 Add to MetaCart
I present a new implementation of balanced binary search trees, compatible with the MSets interface of the Coq Standard Library. Like the current Library implementation, mine is formally verified (in Coq) to be correct with respect to the MSets specification, and to be balanced (which implies asymptotic efficiency guarantees). Benchmarks show that my implementation runs significantly faster than the library implementation, because (1) RedBlack trees avoid the significant overhead of arithmetic incurred by AVL trees for balancing computations; (2) a specialized deletemin operation makes priorityqueue operations much faster; and (3) dynamically choosing between three algorithms for set union/intersection leads to better asymptotic efficiency. 1
DOI: 10.1007/9783642288692_20 Validating LR(1) Parsers
, 2013
"... Abstract. An LR(1) parser is a finitestate automaton, equipped with a stack, which uses a combination of its current state and one lookahead symbol in order to determine which action to perform next. We present a validator which, when applied to a contextfree grammar G and an automaton A, checks t ..."
Abstract
 Add to MetaCart
Abstract. An LR(1) parser is a finitestate automaton, equipped with a stack, which uses a combination of its current state and one lookahead symbol in order to determine which action to perform next. We present a validator which, when applied to a contextfree grammar G and an automaton A, checks that A and G agree. Validating the parser provides the correctness guarantees required by verified compilers and other highassurance software that involves parsing. The validation process is independent of which technique was used to construct A. The validator is implemented and proved correct using the Coq proof assistant. As an application, we build a formallyverified parser for the C99 language. 1