Results 1 
6 of
6
Complexity Analysis for a Lazy HigherOrder Language
 In Proceedings of the 3rd European Symposium on Programming
, 1990
"... This paper is concerned with the timeanalysis of functional programs. Techniques which enable us to reason formally about a program's execution costs have had relatively little attention in the study of functional programming. We concentrate here on the construction of equations which compute t ..."
Abstract

Cited by 47 (2 self)
 Add to MetaCart
This paper is concerned with the timeanalysis of functional programs. Techniques which enable us to reason formally about a program's execution costs have had relatively little attention in the study of functional programming. We concentrate here on the construction of equations which compute the timecomplexity of expressions in a lazy higherorder language. The problem with higherorder functions is that complexity is dependent on the cost of applying functional parameters. Structures called costclosures are introduced to allow us to model both functional parameters and the cost of their application. The problem with laziness is that complexity is dependent on context. Projections are used to characterise the context in which an expression is evaluated, and costequations are parameterised by this contextdescription to give a compositional timeanalysis. Using this form of context information we introduce two types of timeequation: sufficienttime equations and nece...
A Naïve Time Analysis and its Theory of Cost Equivalence
 Journal of Logic and Computation
, 1995
"... Techniques for reasoning about extensional properties of functional programs are well understood, but methods for analysing the underlying intensional or operational properties have been much neglected. This paper begins with the development of a simple but useful calculus for time analysis of nons ..."
Abstract

Cited by 39 (7 self)
 Add to MetaCart
Techniques for reasoning about extensional properties of functional programs are well understood, but methods for analysing the underlying intensional or operational properties have been much neglected. This paper begins with the development of a simple but useful calculus for time analysis of nonstrict functional programs with lazy lists. One limitation of this basic calculus is that the ordinary equational reasoning on functional programs is not valid. In order to buy back some of these equational properties we develop a nonstandard operational equivalence relation called cost equivalence, by considering the number of computation steps as an `observable' component of the evaluation process. We define this relation by analogy with Park's definition of bisimulation in CCS. This formulation allows us to show that cost equivalence is a contextual congruence (and thus is substitutive with respect to the basic calculus) and provides useful proof techniques for establishing costequivalen...
A normalization proof for MartinLöf's type theory
, 1996
"... The theory we will be concerned with in this paper is MartinLöf's polymorphic type theory with intensional equality and the universe of small sets. We will give a different proof of normalization for this theory. ..."
Abstract
 Add to MetaCart
The theory we will be concerned with in this paper is MartinLöf's polymorphic type theory with intensional equality and the universe of small sets. We will give a different proof of normalization for this theory.
Some remarks on ... . Introduction to the abstracted size of extracted objects from Coq
, 1995
"... Automatic synthesis of programs certified with respect to their specification may be seen as a new method in software developping, whose main advantage is to carry a known behavior in terms of terminating properties. This very improvement of programming design however arouses some critics about the ..."
Abstract
 Add to MetaCart
Automatic synthesis of programs certified with respect to their specification may be seen as a new method in software developping, whose main advantage is to carry a known behavior in terms of terminating properties. This very improvement of programming design however arouses some critics about the performances of produced programs. The aim of this paper is to provide interesting basis for program behaviour control in terms of complexity. We particularly focus on defining a size notion for the manipulated objects in a formalism very close to functional languages: the F! system. The study of inductive types will let us generate a function that automatically performs the size of objects belonging to a given type. R'esum'e La g'en'eration automatique de programmes prouv'es corrects par rapport `a leurs sp'ecifications peut etre vue comme un nouveau moyen de cr'eation de logiciels dont le principal atout est d'avoir un comportement connu en termes de propri'et'es de terminaison. Cette am...
Recursive Program Optimization Through Inductive Synthesis Proof Transformation
, 1999
"... The research described in this paper involved developing transformation techniques which increase the efficiency of the noriginal program, the source, by transforming its synthesis proof into one, the target, which yields a computationally more efficient algorithm. We describe a working proof tran ..."
Abstract
 Add to MetaCart
The research described in this paper involved developing transformation techniques which increase the efficiency of the noriginal program, the source, by transforming its synthesis proof into one, the target, which yields a computationally more efficient algorithm. We describe a working proof transformation system which, by exploiting the duality between mathematical induction and recursion, employs the novel strategy of optimizing recursive programs by transforming inductive proofs. We compare and contrast this approach with the more traditional approaches to program transformation, and highlight the benefits of proof transformation with regards to search, correctness, automatability and generality.