Results 1 -
4 of
4
Reflecting proofs in first-order logic with equality
- In Proceedings of EUROSPEECH’97
, 2005
"... Abstract. Our general goal is to provide better automation in interactive proof assistants such as Coq. We present an interpreter of proof traces in first-order multi-sorted logic with equality. Thanks to the reflection ability of Coq, this interpreter is both implemented and formally proved sound — ..."
Abstract
-
Cited by 10 (3 self)
- Add to MetaCart
Abstract. Our general goal is to provide better automation in interactive proof assistants such as Coq. We present an interpreter of proof traces in first-order multi-sorted logic with equality. Thanks to the reflection ability of Coq, this interpreter is both implemented and formally proved sound — with respect to a reflective interpretation of formulae as Coq properties — inside Coq’s type theory. Our generic framework allows to interpret proofs traces computed by any automated theorem prover, as long as they are precise enough: we illustrate that on traces produced by the CiME tool when solving unifiability problems by ordered completion. We discuss some benchmark results obtained on the TPTP library. The aim of this paper is twofold: first we want to validate a reflective approach for proofs in interactive proof assistants, and second show how to provide a better automation for such assistants. Both aspects can be achieved by using external provers designed to automatically solve some problems of interest: these provers can “feed ” the assistant with large proofs, and help to compare the direct and the reflective approaches, and they can also release the user from (parts of) the proof.
A Declarative Language For The Coq Proof Assistant. ⋆
"... Abstract. This paper presents a new proof language for the Coq proof assistant. This language uses the declarative style. It aims at providing a simple, natural and robust alternative to the existing Ltac tactic language. We give the syntax of our language, an informal description of its commands an ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. This paper presents a new proof language for the Coq proof assistant. This language uses the declarative style. It aims at providing a simple, natural and robust alternative to the existing Ltac tactic language. We give the syntax of our language, an informal description of its commands and its operational semantics. We explain how this language can be used to implement formal proof sketches. Finally, we present some extra features we wish to implement in the future.
Checking the Influence of Non-Termination on Free Theorems
"... Free theorems are a helpful tool for validating program transformations, based only on types. Also in other areas they are useful proof utilities. General recursion and hence the possibility of endless looping reduces the strength of free theorems by forcing additional restrictions. These are, depen ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Free theorems are a helpful tool for validating program transformations, based only on types. Also in other areas they are useful proof utilities. General recursion and hence the possibility of endless looping reduces the strength of free theorems by forcing additional restrictions. These are, dependent on the type, sometimes dispensable. We present two algorithms, one claimed to disprove the need of the restrictions and one verifying their need, dependent on a given input type. 1
Automatically Generating Counterexamples to Naive Free Theorems
, 2009
"... Disproof can be as important as proof in studying programs and programming languages. In particular, a somehow conditioned statement about program behavior is sometimes best understood and explored by trying to exhibit a falsifying example in the absence of a condition in question. Automation is as ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Disproof can be as important as proof in studying programs and programming languages. In particular, a somehow conditioned statement about program behavior is sometimes best understood and explored by trying to exhibit a falsifying example in the absence of a condition in question. Automation is as desirable for such falsification as it is for verification tasks. We develop formal and implemented tools for counterexample generation in the context of free theorems, i.e., statements derived from polymorphic types à la relational parametricity. The machinery we employ is rooted in constraining the type system and intuitionistic proof search.

