Results 1  10
of
19
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
(Show Context)
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 5 (0 self)
 Add to MetaCart
(Show Context)
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 4 (0 self)
 Add to MetaCart
(Show Context)
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
"... ..."
Data Refinement in Isabelle/HOL
"... Abstract. The paper shows how the code generator of Isabelle/HOL supports data refinement, i.e., providing efficient code for operations on abstract types, e.g., sets or numbers. This allows all tools that employ code generation, e.g., Quickcheck or proof by evaluation, to compute with these abstrac ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Abstract. The paper shows how the code generator of Isabelle/HOL supports data refinement, i.e., providing efficient code for operations on abstract types, e.g., sets or numbers. This allows all tools that employ code generation, e.g., Quickcheck or proof by evaluation, to compute with these abstract types. At the core is an extension of the code generator to deal with data type invariants. In order to automate the process of setting up specific data refinements, two packages for transferring definitions and theorems between types are exploited. 1
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.
ProjectTeam Proval Proof of programs
"... c t i v it y e p o r t 2009 Table of contents ..."
(Show Context)
ProjectTeam Proval Proof of programs
"... c t i v it y e p o r t 2007 Table of contents ..."
(Show Context)