Results 1 
6 of
6
Le Fun: Logic, equations, and Functions
 In Proc. 4th IEEE Internat. Symposium on Logic Programming
, 1987
"... Abstract † We introduce a new paradigm for the integration of functional and logic programming. Unlike most current research, our approach is not based on extending unification to generalpurpose equation solving. Rather, we propose a computation delaying mechanism called residuation. This allows a ..."
Abstract

Cited by 44 (1 self)
 Add to MetaCart
Abstract † We introduce a new paradigm for the integration of functional and logic programming. Unlike most current research, our approach is not based on extending unification to generalpurpose equation solving. Rather, we propose a computation delaying mechanism called residuation. This allows a clear distinction between functional evaluation and logical deduction. The former is based on the λcalculus, and the latter on Horn clause resolution. In clear contrast with equationsolving approaches, our model supports higherorder function evaluation and efficient compilation of both functional and logic programming expressions, without being plagued by nondeterministic termrewriting. In addition, residuation lends itself naturally to process synchronization and constrained search. Besides unification (equations), other residuations may be any grounddecidable goal, such as mutual exclusion (inequations), and comparisons (inequalities). We describe an implementation of the residuation paradigm as a prototype language called Le Fun—Logic, equations, and Functions.
The not so simple proofirrelevant model of CC
 OF LECTURE NOTES IN COMPUTER SCIENCE
, 2002
"... It is wellknown that the Calculus of Constructions (CC) bears a simple settheoretical model in which proofterms are mapped onto a single object—a property which is known as proofirrelevance. In this paper, we show that when going into the (generally omitted) technical details, this naive model r ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
It is wellknown that the Calculus of Constructions (CC) bears a simple settheoretical model in which proofterms are mapped onto a single object—a property which is known as proofirrelevance. In this paper, we show that when going into the (generally omitted) technical details, this naive model raises several unexpected difficulties related to the interpretation of the impredicative level, especially for the soundness property which is surprisingly difficult to be given a correct proof in this simple framework. We propose a way to tackle these difficulties, thus giving a (more) detailed elementary consistency proof of CC without going back to a translation to Fω. We also discuss some possible alternatives and possible extensions of our construction.
ProofTerm Synthesis on Dependenttype Systems via Explicit Substitutions
, 1999
"... Typed #terms are used as a compact and linear representation of proofs in intuitionistic logic. This is possible since the CurryHoward isomorphism relates proof trees with typed #terms. The proofsasterms principle can be used to check a proof by type checking the #term extracted from the compl ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
Typed #terms are used as a compact and linear representation of proofs in intuitionistic logic. This is possible since the CurryHoward isomorphism relates proof trees with typed #terms. The proofsasterms principle can be used to check a proof by type checking the #term extracted from the complete proof tree. However, proof trees and typed #terms are built differently. Usually, an auxiliary representation of unfinished proofs is needed, where type checking is possible only on complete proofs. In this paper we present a proof synthesis method for dependenttype systems where typed open terms are built incrementally at the same time as proofs are done. This way, every construction step, not just the last one, may be type checked. The method is based on a suitable calculus where substitutions as well as metavariables are firstclass objects.
Explicit Substitutions and All That
, 2000
"... Explicit substitution calculi are extensions of the lambdacalculus where the substitution mechanism is internalized into the theory. This feature makes them suitable for implementation and theoretical study of logic based tools as strongly typed programming languages and proof assistant systems. In ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
Explicit substitution calculi are extensions of the lambdacalculus where the substitution mechanism is internalized into the theory. This feature makes them suitable for implementation and theoretical study of logic based tools as strongly typed programming languages and proof assistant systems. In this paper we explore new developments on two of the most successful styles of explicit substitution calculi: the lambdasigma and lambda_secalculi.
Coq in Coq
, 1997
"... . We formalize the definition and the metatheory of the Calculus of Constructions (CC) using the proof assistant Coq. In particular, we prove strong normalization and decidability of type inference. From the latter proof, we extract a certified Objective Caml program which performs type inference in ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
. We formalize the definition and the metatheory of the Calculus of Constructions (CC) using the proof assistant Coq. In particular, we prove strong normalization and decidability of type inference. From the latter proof, we extract a certified Objective Caml program which performs type inference in CC and use this code to build a smallscale certified proofchecker. Key words: Type Theory, proofchecker, Calculus of Constructions, metatheory, strong normalization proof, program extraction. 1. Introduction 1.1. Motivations This work can be described as the formal certification in Coq of a proofchecker for the Calculus of Constructions (CC). We view it as a first experimental step towards a certified kernel for the whole Coq system, of which CC is a significative fragment. In decidable type theories, a proofchecker is a program which verifies whether a given judgement (input) is valid or not (output). Valid meaning that there exists a derivation for that judgement following the in...
SUBSTITUTIONS
"... Abstract. Typed λterms are used as a compact and linear representation of proofs in intuitionistic logic. This is possible since the CurryHoward isomorphism relates proof trees with typed λterms. The proofsasterms principle can be used to check a proof by type checking the λterm extracted from ..."
Abstract
 Add to MetaCart
Abstract. Typed λterms are used as a compact and linear representation of proofs in intuitionistic logic. This is possible since the CurryHoward isomorphism relates proof trees with typed λterms. The proofsasterms principle can be used to check a proof by type checking the λterm extracted from the complete proof tree. However, proof trees and typed λterms are built differently. Usually, an auxiliary representation of unfinished proofs is needed, where type checking is possible only on complete proofs. In this paper we present a proof synthesis method for dependenttype systems where typed open terms are built incrementally at the same time as proofs are done. This way, every construction step, not just the last one, may be type checked. The method is based on a suitable calculus where substitutions as well as metavariables are firstclass objects.