Results 1 
9 of
9
Haskell overloading is dexptimecomplete
 Information Processing Letters
, 1994
"... ..."
(Show Context)
Walther Recursion
 Proceedings CADE 13, Springer LNCS
, 1996
"... . Primitive recursion is a well known syntactic restriction on recursive definitions which guarantees termination. Unfortunately many natural definitions, such as the most common definition of Euclid's GCD algorithm, are not primitive recursive. Walther has recently given a proof system for ..."
Abstract

Cited by 19 (0 self)
 Add to MetaCart
(Show Context)
. Primitive recursion is a well known syntactic restriction on recursive definitions which guarantees termination. Unfortunately many natural definitions, such as the most common definition of Euclid's GCD algorithm, are not primitive recursive. Walther has recently given a proof system for verifying termination of a broader class of definitions. Although Walther's system is highly automatible, the class of acceptable definitions remains only semidecidable. Here we simplify Walther's calculus and give a syntactic criterion on definitions which guarantees termination. This syntactic criteria generalizes primitive recursion and handles most of the examples given by Walther. We call the corresponding class of acceptable definitions "Walther recursive". 1 Introduction One of the central problems in verification logics, such as the BoyerMoore theorem prover [2], [10], is the need to prove termination for recursive definitions. Many logics, such as that of Boyer and Moore, assu...
On the Complexity of SetBased Analysis
, 1997
"... : We formally define the setbased abstraction of any language whose operational semantics can be defined by environment evaluation. The AikenWimmers soft type system precisely corresponds to this setbased abstraction under their operational semantics. The Heintze setbased analysis is precisely t ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
(Show Context)
: We formally define the setbased abstraction of any language whose operational semantics can be defined by environment evaluation. The AikenWimmers soft type system precisely corresponds to this setbased abstraction under their operational semantics. The Heintze setbased analysis is precisely this setbased abstraction under a different operational semantics. In general, setbased abstraction determines a notion of SBAsafety. AikenWimmers typability is a form of SBAsafety. SBA safety is decidable in most cases. For monovariant functional programs with shallow case statements SBAsafety is decidable in O(n 3 ) time under any standard operational semantics. We show here that if we allow deep patterns in the case statements of monovariant functional programs the problem of determining SBAsafety becomes complete for deterministic exponential time (under any standard operational semantics). We also systematically characterize the complexity of determining SBAsafety for monov...
A Methodological View of Constraint Solving
, 1996
"... Constraints have become very popular during the last decade. Constraints allow to define sets of data by means of logical formulae. Our goal here is to survey the notion of constraint system and to give examples of constraint systems operating on various domains, such as natural, rational or real nu ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
Constraints have become very popular during the last decade. Constraints allow to define sets of data by means of logical formulae. Our goal here is to survey the notion of constraint system and to give examples of constraint systems operating on various domains, such as natural, rational or real numbers, finite domains, and term domains. We classify the different methods used for solving constraints, syntactic methods based on transformations, semantic methods based on adequate representations of constraints, hybrid methods combining transformations and enumerations. Examples are used throughout the paper to illustrate the concepts and methods. We also discuss applications of constraints to various fields, such as programming, operations research, and theorem proving. y CNRS and LRI, Bat. 490, Universit'e de Paris Sud, 91405 ORSAY Cedex, France fcomon, jouannaudg@lri.lri.fr z COSYTEC, Parc Club Orsay Universit'e, 4 Rue Jean Rostand, 91893 Orsay Cedex, France dincbas@cosytec.fr x ...
Inferring Recursive Data Types
"... . This paper contains five results on the problem of inferring types. The first is that type inference over recursive types with unions and data constructors can be done in cubic time using a flow analysis. The second is a general theorem characterizing the time complexity of bottomup logic pro ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
(Show Context)
. This paper contains five results on the problem of inferring types. The first is that type inference over recursive types with unions and data constructors can be done in cubic time using a flow analysis. The second is a general theorem characterizing the time complexity of bottomup logic programs. The O(n 3 ) running time of the flow analysis is a corollary of this bottomup run time theorem. The third is that for shallow case statements typability by the semantic types of Aiken, Wimmers and Lakshman is equivalent to typability by recursive types and hence can be determined by flow analysis. The fourth is that, even for first order programs of arity one, typability by recursive types is PSPACE hard for polymorphic programs. The final result is that for any fixed bound on order and arity HindleyMilner typability can be determined in pseudolinear time, i.e., O(nff(n)) where ff is the inverse Ackerman function. The last two results suggest that letpolymorphism over s...
Automatically Inferring Properties of Computer Programs
, 1996
"... requirements for the degree of Doctor of Philosophy in Computer Science Abstract This thesis presents two independent pieces of research. First, we consider the problem of automatically inferring properties of programs. Our approach is to explore the application of familiar type inference principles ..."
Abstract
 Add to MetaCart
(Show Context)
requirements for the degree of Doctor of Philosophy in Computer Science Abstract This thesis presents two independent pieces of research. First, we consider the problem of automatically inferring properties of programs. Our approach is to explore the application of familiar type inference principles to a &quot;type system &quot; sufficiently expressive that the typing problem is effectively the checking of program specifications. We present such a type system, and use familiar syntaxdirected type inference rules to give a polynomialtime procedure for inferring type theorems in this type system. We discuss examples of simple functional programs and the specification information this procedure automatically infers. The enriched notion of type allows the definition of any recursively enumerable set as a type, and includes argumentdependent output types for functions. The inference procedure is capable for example of automatically inferring that an insertion sort program always returns a sorted permutation of its input. We present both firstorder and higherorder versions of our sample programming language and inference algorithms for both languages. We believe most of the interesting inferential challenges are already present in the firstorder case.