Results 1  10
of
15
Miniagda: Integrating sized and dependent types
 In Partiality and Recursion (PAR
, 2010
"... Sized types are a modular and theoretically wellunderstood tool for checking termination of recursive and productivity of corecursive definitions. The essential idea is to track structural descent and guardedness in the type system to make termination checking robust and suitable for strong abstrac ..."
Abstract

Cited by 21 (2 self)
 Add to MetaCart
(Show Context)
Sized types are a modular and theoretically wellunderstood tool for checking termination of recursive and productivity of corecursive definitions. The essential idea is to track structural descent and guardedness in the type system to make termination checking robust and suitable for strong abstractions like higherorder functions and polymorphism. To study the application of sized types to proof assistants and programming languages based on dependent type theory, we have implemented a core language, MiniAgda, with explicit handling of sizes. New considerations were necessary to soundly integrate sized types with dependencies and pattern matching, which was made possible by modern concepts such as inaccessible patterns and parametric function spaces. This paper provides an introduction to MiniAgda by example and informal explanations of the underlying principles. 1
Amortized Resource Analysis with Polynomial Potential A Static Inference of Polynomial Bounds for Functional Programs (Extended Version)
"... Abstract. In 2003, Hofmann and Jost introduced a type system that uses a potentialbased amortized analysis to infer bounds on the resource consumption of (firstorder) functional programs. This analysis has been successfully applied to many standard algorithms but is limited to bounds that are line ..."
Abstract

Cited by 20 (5 self)
 Add to MetaCart
(Show Context)
Abstract. In 2003, Hofmann and Jost introduced a type system that uses a potentialbased amortized analysis to infer bounds on the resource consumption of (firstorder) functional programs. This analysis has been successfully applied to many standard algorithms but is limited to bounds that are linear in the size of the input. Here we extend this system to polynomial resource bounds. An automatic amortized analysis is used to infer these bounds for functional programs without further annotations if a maximal degree for the bounding polynomials is given. The analysis is generic in the resource and can obtain good bounds on heapspace, stackspace and time usage.
Wellfounded Recursion with Copatterns A Unified Approach to Termination and Productivity
, 2013
"... In this paper, we study strong normalization of a core language based on System Fomega which supports programming with finite and infinite structures. Building on our prior work, finite data such as finite lists and trees are defined via constructors and manipulated via pattern matching, while infi ..."
Abstract

Cited by 15 (3 self)
 Add to MetaCart
In this paper, we study strong normalization of a core language based on System Fomega which supports programming with finite and infinite structures. Building on our prior work, finite data such as finite lists and trees are defined via constructors and manipulated via pattern matching, while infinite data such as streams and infinite trees is defined by observations and synthesized via copattern matching. In this work, we take a typebased approach to strong normalization by tracking size information about finite and infinite data in the type. This guarantees compositionality. More importantly, the duality of pattern and copatterns provide a unifying semantic concept which allows us for the first time to elegantly and uniformly support both wellfounded induction and coinduction by mere rewriting. The strong normalization proof is structured around Girard’s reducibility candidates. As such our system allows for nondeterminism and does not rely on coverage. Since System Fomega is general enough that it can be the target of compilation for the Calculus of Constructions, this work is a significant step towards representing observationcentric infinite data in proof assistants such as Coq and Agda.
Mixed Inductive/Coinductive Types and Strong Normalization
"... Abstract. We introduce the concept of guarded saturated sets, saturated sets of strongly normalizing terms closed under folding of corecursive functions. Using this tool, we can model equiinductive and equicoinductive types with terminating recursion and corecursion principles. Two type systems are ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
(Show Context)
Abstract. We introduce the concept of guarded saturated sets, saturated sets of strongly normalizing terms closed under folding of corecursive functions. Using this tool, we can model equiinductive and equicoinductive types with terminating recursion and corecursion principles. Two type systems are presented: Mendler (co)iteration and sized types. As an application we show that we can directly represent the mixed inductive/coinductive type of stream processors with associated recursive operations. 1
Typebased termination of generic programs
 Science of Computer Programming
, 2007
"... Instances of a polytypic or generic program for a concrete recursive type often exhibit a recursion scheme that is derived from the recursion scheme of the instantiation type. In practice, the programs obtained from a generic program are usually terminating, but the proof of termination cannot be ca ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
Instances of a polytypic or generic program for a concrete recursive type often exhibit a recursion scheme that is derived from the recursion scheme of the instantiation type. In practice, the programs obtained from a generic program are usually terminating, but the proof of termination cannot be carried out with traditional methods as term orderings alone, since termination often crucially relies on the program type. In this article, it is demonstrated that typebased termination using sized types handles such programs very well. A framework for sized polytypic programming is developed which ensures (typebased) termination of all instances. 1
Strong normalization and equi(co)inductive types
 Proc. of the 8th Int. Conf. on Typed Lambda Calculi and Applications, TLCA 2007, volume 4583 of Lect. Notes in Comput. Sci. SpringerVerlag (2007), 8–22
"... Abstract. A type system for the lambdacalculus enriched with recursive and corecursive functions over equiinductive andcoinductive types is presented in which all welltyped programs are strongly normalizing. The choice of equiinductive types, instead of the more common isoinductive types, in ue ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
(Show Context)
Abstract. A type system for the lambdacalculus enriched with recursive and corecursive functions over equiinductive andcoinductive types is presented in which all welltyped programs are strongly normalizing. The choice of equiinductive types, instead of the more common isoinductive types, in uences both reduction rules and the strong normalization proof. By embedding iso into equitypes, the latter ones are recognized as more fundamental. A model based on orthogonality is constructed where a semantical type corresponds to a set of observations, and soundness of the type system is proven. 1
A tutorial on typebased termination, in
 of Lecture Notes in Computer Science
, 2009
"... Abstract. Typebased termination is a method to enforce termination of recursive definitions through a nonstandard type system that introduces a notion of size for inhabitants of inductively defined types. The purpose of this tutorial is to provide a gentle introduction to a polymorphically typed ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Abstract. Typebased termination is a method to enforce termination of recursive definitions through a nonstandard type system that introduces a notion of size for inhabitants of inductively defined types. The purpose of this tutorial is to provide a gentle introduction to a polymorphically typed λcalculus with typebased termination, and to the size inference algorithm which is used to guarantee automatically termination of recursive definitions. 1
Union of reducibility candidates for orthogonal constructor rewriting
 In CiE’08
, 2008
"... Abstract. We revisit Girard’s reducibility candidates by proposing a general of the notion of neutral terms. They are the terms which do not interact with some contexts called elimination contexts. We apply this framework to constructor rewriting, and show that for orthogonal constructor rewriting, ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
Abstract. We revisit Girard’s reducibility candidates by proposing a general of the notion of neutral terms. They are the terms which do not interact with some contexts called elimination contexts. We apply this framework to constructor rewriting, and show that for orthogonal constructor rewriting, Girard’s reducibility candidates are stable by union. 1
Refinement Types as HigherOrder Dependency Pairs
, 2011
"... Abstract. Refinement types are a wellstudied manner of performing indepth analysis on functional programs. The dependency pair method is a very powerful method used to prove termination of rewrite systems; however its extension to higherorder rewrite systems is still the subject of active researc ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. Refinement types are a wellstudied manner of performing indepth analysis on functional programs. The dependency pair method is a very powerful method used to prove termination of rewrite systems; however its extension to higherorder rewrite systems is still the subject of active research. We observe that a variant of refinement types allows us to express a form of higherorder dependency pair method: from the rewrite system labeled with typing information, we build a typelevel approximated dependency graph, and describe a type level embeddingorder. We describe a syntactic termination criterion involving the graph andtheorder, andproveourmainresult: ifthegraphpassesthecriterion, then every welltyped term is strongly normalizing. 1
Automatable Techniques for Proving Termination of Higher Order Term Rewriting Systems Higher Order Termination
"... ig he r O rd er T er ..."