Results 1  10
of
24
Typedirected partial evaluation
 Proceedings of the TwentyThird Annual ACM Symposium on Principles of Programming Languages
, 1996
"... Abstract. Typedirected partial evaluation stems from the residualization of arbitrary static values in dynamic contexts, given their type. Its algorithm coincides with the one for coercing asubtype value into a supertype value, which itself coincides with the one of normalization in thecalculus. T ..."
Abstract

Cited by 219 (38 self)
 Add to MetaCart
(Show Context)
Abstract. Typedirected partial evaluation stems from the residualization of arbitrary static values in dynamic contexts, given their type. Its algorithm coincides with the one for coercing asubtype value into a supertype value, which itself coincides with the one of normalization in thecalculus. Typedirected partial evaluation is thus used to specialize compiled, closed programs, given their type. Since Similix, letinsertion is a cornerstone of partial evaluators for callbyvalue procedural programs with computational e ects. It prevents the duplication of residual computations, and more generally maintains the order of dynamic side e ects in residual programs. This article describes the extension of typedirected partial evaluation to insert residual let expressions. This extension requires the userto annotate arrowtypes with e ect information. It is achieved by delimiting and abstracting control, comparably to continuationbased specialization in direct style. It enables typedirected partial evaluation of e ectful programs (e.g.,ade nitional lambdainterpreter for an imperative language) that are in direct style. The residual programs are in Anormal form. 1
A General Formulation of Simultaneous InductiveRecursive Definitions in Type Theory
 Journal of Symbolic Logic
, 1998
"... The first example of a simultaneous inductiverecursive definition in intuitionistic type theory is MartinLöf's universe à la Tarski. A set U0 of codes for small sets is generated inductively at the same time as a function T0 , which maps a code to the corresponding small set, is defined by re ..."
Abstract

Cited by 79 (9 self)
 Add to MetaCart
The first example of a simultaneous inductiverecursive definition in intuitionistic type theory is MartinLöf's universe à la Tarski. A set U0 of codes for small sets is generated inductively at the same time as a function T0 , which maps a code to the corresponding small set, is defined by recursion on the way the elements of U0 are generated. In this paper we argue that there is an underlying general notion of simultaneous inductiverecursive definition which is implicit in MartinLöf's intuitionistic type theory. We extend previously given schematic formulations of inductive definitions in type theory to encompass a general notion of simultaneous inductionrecursion. This enables us to give a unified treatment of several interesting constructions including various universe constructions by Palmgren, Griffor, Rathjen, and Setzer and a constructive version of Aczel's Frege structures. Consistency of a restricted version of the extension is shown by constructing a realisability model ...
Setoids in Type Theory
, 2000
"... Formalising mathematics in dependent type theory often requires to use setoids, i.e. types with an explicit equality relation, as a representation of sets. This paper surveys some possible denitions of setoids and assesses their suitability as a basis for developing mathematics. In particular, we ..."
Abstract

Cited by 44 (4 self)
 Add to MetaCart
Formalising mathematics in dependent type theory often requires to use setoids, i.e. types with an explicit equality relation, as a representation of sets. This paper surveys some possible denitions of setoids and assesses their suitability as a basis for developing mathematics. In particular, we argue that a commonly advocated approach to partial setoids is unsuitable, and more generally that total setoids seem better suited for formalising mathematics. 1
From reductionbased to reductionfree normalization
 Proceedings of the Fourth International Workshop on Reduction Strategies in Rewriting and Programming (WRS'04
, 2004
"... We document an operational method to construct reductionfree normalization functions. Starting from a reductionbased normalization function from a reduction semantics, i.e., the iteration of a onestep reduction function, we successively subject it to refocusing (i.e., deforestation of the inte ..."
Abstract

Cited by 28 (13 self)
 Add to MetaCart
We document an operational method to construct reductionfree normalization functions. Starting from a reductionbased normalization function from a reduction semantics, i.e., the iteration of a onestep reduction function, we successively subject it to refocusing (i.e., deforestation of the intermediate successive terms in the reduction sequence), equational simplication, refunctionalization (i.e., the converse of defunctionalization), and directstyle transformation (i.e., the converse of the CPS transformation), ending with a reductionfree normalization function of the kind usually crafted by hand. We treat in detail four simple examples: calculating arithmetic expressions, recognizing Dyck words, normalizing lambdaterms with explicit substitutions and call/cc, and attening binary trees. The overall method builds on previous work by the author and his students on a syntactic correspondence between reduction semantics and abstract machines and on a functional correspondence between evaluators and abstract machines. The measure of success of these two correspondences is that each of the interderived semantic artifacts (i.e., manmade constructs) could plausibly have been written by hand, as is the actual case for several ones derived here.
Normalization and partial evaluation
 Applied Semantics, number 2395 in LNCS
, 2002
"... Abstract. We give an introduction to normalization by evaluation and typedirected partial evaluation. We first present normalization by evaluation for a combinatory version of Gödel System T. Then we show normalization by evaluation for typed lambda calculus with β and η conversion. Finally, we int ..."
Abstract

Cited by 20 (0 self)
 Add to MetaCart
Abstract. We give an introduction to normalization by evaluation and typedirected partial evaluation. We first present normalization by evaluation for a combinatory version of Gödel System T. Then we show normalization by evaluation for typed lambda calculus with β and η conversion. Finally, we introduce the notion of binding time, and explain the method of typedirected partial evaluation for a small PCFstyle functional programming language. We give algorithms for both callbyname and callbyvalue versions of this language.
Formalising formulasastypesasobjects
 Types for Proofs and Programs
, 2000
"... Abstract. We describe a formalisation of the CurryHowardLawvere correspondence between the natural deduction system for minimal logic, the typed lambda calculus and Cartesian closed categories. We formalise the type of natural deduction proof trees as a family of sets Γ ⊢ A indexed by the current ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Abstract. We describe a formalisation of the CurryHowardLawvere correspondence between the natural deduction system for minimal logic, the typed lambda calculus and Cartesian closed categories. We formalise the type of natural deduction proof trees as a family of sets Γ ⊢ A indexed by the current assumption list Γ and the conclusion A and organise numerous useful lemmas about proof trees categorically. We prove categorical properties about proof trees up to (syntactic) identity as well as up to βηconvertibility. We prove that our notion of proof trees is equivalent in an appropriate sense to more traditional representations of lambda terms. The formalisation is carried out in the proof assistant ALF for MartinLöf type theory. 1
Formalizing Overlap Algebras in Matita
 UNDER CONSIDERATION FOR PUBLICATION IN MATH. STRUCT. IN COMP. SCIENCE
, 2010
"... We describe some formal topological results, formalized in Matita 1/2, presented in predicative intuitionistic logic and in terms of Overlap Algebras. Overlap Algebras are new algebraic structures designed to ease reasoning about subsets in an algebraic way within intuitionistic logic. We find that ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We describe some formal topological results, formalized in Matita 1/2, presented in predicative intuitionistic logic and in terms of Overlap Algebras. Overlap Algebras are new algebraic structures designed to ease reasoning about subsets in an algebraic way within intuitionistic logic. We find that they also ease the formalization of formal topological results in an interactive theorem prover. Our main result is the existence of a functor between two categories of ‘generalized topological spaces’, one with points (Basic Pairs) and the other pointfree (Basic Topologies). The reported formalization is part as a wider scientific collaboration with the inventor of the theory, Giovanni Sambin. His goal is to verify in what sense, and with what difficulties, his theory is ‘implementable’. We check that all intermediate constructions respect the stringent size requirements imposed by predicative logic. The formalization is quite unusual, since it has to make explicit size information that is often hidden. We found that the version of Matita used for the formalization was largely inappropriate. The formalization drove several major improvements of Matita that will be integrated in the next major release (Matita 1.0). We show some motivating examples for these improvements, taken directly from the formalization. We also describe a possibly suboptimal solution in Matita 1/2, exploitable in other similar systems. We briefly discuss a better solution available in Matita 1.0.
Typedirected partial evaluation in Haskell
 Preliminary Proceedings of the 1998 APPSEM Workshop on Normalization by Evaluation, number NS981 in BRICS Notes
, 1998
"... ..."
The simple type theory of normalisation by evaluation
 Proceedings of the First International Workshop on Reduction Strategies in Rewriting and Programming (WRS 2001), number 57 in Electronic Notes in Theoretical Computer Science
, 2001
"... We develop the type theory of the Normalisation by Evaluation (NbE) algorithm for the λcalculus in the simplytyped case. In particular, we show that the algorithm computes long β(η)normal forms by means of Plotkin’s callbyname and callbyvalue βevaluation semantics. This is noteworthy (i) as t ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We develop the type theory of the Normalisation by Evaluation (NbE) algorithm for the λcalculus in the simplytyped case. In particular, we show that the algorithm computes long β(η)normal forms by means of Plotkin’s callbyname and callbyvalue βevaluation semantics. This is noteworthy (i) as the algorithm decides full βηequality and (ii) as the algorithm sofar only has been presented in modeltheoretic terms. To showcase the effective means of the algorithm, we provide an environment machine implementation of the semantics: the NbE Machine. We also analyse the semantics and the environment machine in terms of strategies on the λcalculus and subsequently address the untyped case. The proof burden is slight. 1