Results 1 
4 of
4
Supercompilation and Normalisation by Evaluation
 SECOND INTERNATIONAL WORKSHOP ON METACOMPUTATION IN RUSSIA (META 2010)
, 2010
"... It has been long recognised that partial evaluation is related to proof normalisation. Normalisation by evaluation, which has been presented for theories with simple types, has made this correspondence formal. Recently Andreas Abel formalised an algorithm for normalisation by evaluation for System F ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
It has been long recognised that partial evaluation is related to proof normalisation. Normalisation by evaluation, which has been presented for theories with simple types, has made this correspondence formal. Recently Andreas Abel formalised an algorithm for normalisation by evaluation for System F. This is an important step towards the use of such techniques on practical functional programming languages such as Haskell which can reasonably be embedded in relatives of System Fω. Supercompilation is a program transformation technique which performs a superset of the simplifications performed by partial evaluation. The focus of this paper is to formalise the relationship between supercompilation and normalisation by evaluation for System F with recursive types and terms.
Kripke Models for Classical Logic
, 2010
"... We introduce a notion of Kripke model for classical logic for which we constructively prove soundness and cutfree completeness. We discuss the novelty of the notion and its potential applications. ..."
Abstract
 Add to MetaCart
We introduce a notion of Kripke model for classical logic for which we constructively prove soundness and cutfree completeness. We discuss the novelty of the notion and its potential applications.
Development of the Productive Forces
"... Abstract. Proofs involving infinite structures can use corecursive functions as inhabitants of a corecursive type. Admissibility of such functions in theorem provers such as Coq or Agda, requires that these functions are productive. Typically this is proved by showing satisfaction of a guardedness c ..."
Abstract
 Add to MetaCart
Abstract. Proofs involving infinite structures can use corecursive functions as inhabitants of a corecursive type. Admissibility of such functions in theorem provers such as Coq or Agda, requires that these functions are productive. Typically this is proved by showing satisfaction of a guardedness condition. The guardedness condition however is extremely restrictive and many programs which are in fact productive and therefore will not compromise soundness are nonetheless rejected. Supercompilation is a family of program transformations which retain program equivalence. Using supercompilation we can take programs whose productivity is suspected and transform them into programs for which guardedness is syntactically apparent. 1
Abstract
"... It is possible to provide a proof for a coinductive type using a corecursive function coupled with aguardedness condition. The guardedness condition, however, is quiterestrictive and many programs which are in fact productive and do not compromise soundness will be rejected. We present a system of c ..."
Abstract
 Add to MetaCart
It is possible to provide a proof for a coinductive type using a corecursive function coupled with aguardedness condition. The guardedness condition, however, is quiterestrictive and many programs which are in fact productive and do not compromise soundness will be rejected. We present a system of cyclic proof for an extension of System F extended with sums, products and (co)inductive types. Using program transformation techniques we are able to take some programs whose productivity is suspected and transform them, using a suitable theory of equivalence, into programs for which guardedness is syntactically apparent. The equivalence of the proof prior and subsequent to transformation is given by a bisimulation relation. 1