## Semi-continuous sized types and termination

### Cached

### Download Links

Venue: | In Zoltán Ésik, editor, Computer Science Logic, 20th International Workshop, CSL 2006, 15th Annual Conference of the EACSL |

Citations: | 10 - 5 self |

### BibTeX

@INPROCEEDINGS{Abel_semi-continuoussized,

author = {Andreas Abel},

title = {Semi-continuous sized types and termination},

booktitle = {In Zoltán Ésik, editor, Computer Science Logic, 20th International Workshop, CSL 2006, 15th Annual Conference of the EACSL},

year = {},

pages = {21--24},

publisher = {Springer-Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

Abstract. Some type-based approaches to termination use sized types: an ordinal bound for the size of a data structure is stored in its type. A recursive function over a sized type is accepted if it is visible in the type system that recursive calls occur just at a smaller size. This approach is only sound if the type of the recursive function is admissible, i.e., depends on the size index in a certain way. To explore the space of admissible functions in the presence of higher-kinded data types and impredicative polymorphism, a semantics is developed where sized types are interpreted as functions from ordinals into sets of strongly normalizing terms. It is shown that upper semi-continuity of such functions is a sufficient semantic criterion for admissibility. To provide a syntactical criterion, a calculus for semicontinuous functions is developed. 1.

### Citations

707 |
Types and Programming Languages
- Pierce
- 2002
(Show Context)
Citation Context ...actical examples for admissible types. 1.3. Preliminaries. We assume that the reader is to some extent acquainted with the higher-order polymorphic lambda-calculus, System F ω (see Pierce’s text book =-=[Pie02]-=-) and has some knowledge of ordinals, inductive types, and strong normalization. 2. Overview of System Fω� In this section we introduce Fω�, an a posteriori strongly normalizing extension of System F ... |

122 | Proving the correctness of reactive systems using sized types
- Hughes, Pareto, et al.
- 1996
(Show Context)
Citation Context ...tion on n. To get started, we need to show fix f : A(0) which requires A(ı) to be of a special shape, for instance A(ı) = GRose ı F B → C (this corresponds to Hughes, Pareto, and Sabry’s bottom check =-=[HPS96]-=-). Then A(0) denotes functions which have to behave well for all arguments in GRose 0 F B, i. e., for no arguments, since GRose 0 F B is empty. Trivially, any program fulfills this condition. In the s... |

95 |
Inductive types and type constraints in the second-order lambda calculus
- Mendler
(Show Context)
Citation Context ...ed on the Curry-Howard Isomorphism and offer a functional programming language to write down proofs usually reject non-terminating programs to ensure consistency. Since the pioneering work of Mendler =-=[Men87]-=-, termination analysis has been combined with typing, with much success for strongly-typed languages [HPS96, ACG98, Gim98, Xi01, BFG + 04, Bla04]. The resulting technique, type-based termination check... |

77 | Monadic presentations of lambda terms using generalized inductive types - Altenkirch, Reus - 1999 |

76 | Flexible Type Analysis
- Crary, Weirich
- 1999
(Show Context)
Citation Context ...l correctness and termination of partial evaluation. In languages with a notion of computation on the type-level, such as dependently-typed languages or rich typed intermediate languages in compilers =-=[CW99]-=-, termination of expressions that compute a type is required for type checking and type soundness. Further, theorem provers that are based on the Curry-Howard Isomorphism and offer a functional progra... |

68 | R.: De Bruijn notation as a nested datatype - Bird, Paterson - 1999 |

36 | Dependent Types for Program Termination Verification
- Xi
- 2001
(Show Context)
Citation Context ... in previous work widened the criterion, but only for a type system without polymorphism [Abe03]. Other recent works on type-based termination [Bla04, Bla05, BGP05] stick to the restriction of λ�. Xi =-=[Xi01]-=- uses dependent types and lexicographic measures to ensure termination of recursive programs in a call-by-value language, but his indices are natural numbers instead of ordinals; this excludes infinit... |

34 | Structural recursive definitions in type theory
- Gimenez
- 1998
(Show Context)
Citation Context ...en87] pioneered this field; he used a certain polymorphic typing of the functional f to obtain primitive (co)recursive functions over arbitrary datatypes. Amadio and Coupet-Grimal [ACG98] and Giménez =-=[Gim98]-=- developed Mendler’s approach further, until a presentation using ordinal-indexed (co)inductive types was found and proven sound by Barthe et al. [BFG + 04]. The system λ� presented in loc. cit. restr... |

32 | Polarized Higher-Order Subtyping
- Steffen
- 1998
(Show Context)
Citation Context ...se if F is monotone. So GRose F A is only well-formed for monotone F . To distinguish type constructors by their monotonicity behavior, also called variance, we equip function kinds with polarities p =-=[Ste98]-=-, which are written before the domain or on top of the arrow. Polarity + denotes covariant constructors, − contravariant constructors and ◦ mixed-variant constructors [DC99]. For instance: λX. X → 1 :... |

31 | Generalizing generalized tries - Hinze |

28 | Termination checking with types
- Abel
- 2002
(Show Context)
Citation Context ...o the shape µ ı F → C(ı) where the domain must be an inductive type µ ı F indexed by ı and the codomain a type C(ı) that is monotonic in ı. This criterion, which has also been described by the author =-=[2]-=-, allows for a simple soundness proof in the limit case of the transfinite induction, but excludes interesting types like the considered Eq (GRose ı F A) = GRose ı F A → GRose ı F A → Bool which has a... |

28 |
Inductive definitions in the system Coq—rules and properties
- Paulin-Mohring
- 1993
(Show Context)
Citation Context ...ized rose trees with F A = Nat → A. Other examples of infinite branching, which come from the area of type-theoretic theorem provers, are the W -type, Brouwer ordinals and the accessibility predicate =-=[PM92]-=-. In the presence of ordinal indices, rule (2) has to be proven sound by transfinite induction. In the case of a limit ordinal λ, we have to infer fix f : A(λ) from the induction hypothesis fix f : ∀α... |

25 |
A Polymorphic Lambda-Calculus with Sized Higher-Order Types
- Abel
- 2006
(Show Context)
Citation Context ...ally, we allow polymorphic recursion, impredicative polymorphism and higher-kinded inductive and coinductive types such as GRose. This article summarizes the main results of the author’s dissertation =-=[4]-=-. 1.2 Preliminaries We assume that the reader is firm in the higher-order polymorphic lambda-calculus, System F ω (see Pierce’s text book [18]) and has some knowledge of ordinals, inductive types, and... |

21 | A type-based termination criterion for dependently-typed higher-order rewrite systems - BLANQUI |

14 |
Types for Crash Prevention
- Pareto
- 2000
(Show Context)
Citation Context ...atural numbers instead of ordinals; this excludes infinite objects we are interested in. Closest to the present work is the sized type system of Hughes, Pareto, and Sabry [HPS96], Synchronous Haskell =-=[Par00]-=-, which admits ordinal indices up to ω. Index quantifiers as in ∀ı. A(ı) range over natural numbers, but can be instantiated to ω if A(ı) is ω-undershooting. Sound semantic criteria for ω-undershootin... |

12 | Representations of first order function types as terminal coalgebras - Altenkirch - 2001 |

11 |
Polarized subtyping for sized types
- Abel
- 2006
(Show Context)
Citation Context ... that in order to obtain a normalizing language, any constructor underlying an inductive type must be covariant [15], hence, we restrict formation of least fixed-points µ a κF to covariant F s. (Abel =-=[3]-=- and Matthes [5] provide more explanation on polarities.) The first argument, a, to µ, which we usually write as superscript, denotes the upper bound for the height of elements in the inductive type. ... |

11 | Efficient generalized folds
- Hinze
- 1999
(Show Context)
Citation Context ... treat programs involving so-called nested or heterogeneous types. A simple example of a heterogeneous type is the type of powerlists PList A which contains lists of As whose length is a power of two =-=[Hin00a]-=-. The type constructor PList : ∗ + → ∗ can be modeled as µλXλA. A + X (A × A) which is the least fixed-point of a type constructor of kind (∗ + → ∗) + → (∗ + → ∗). Sized heterogeneous types are obtain... |

8 | Subtyping union types
- Vouillon
- 2004
(Show Context)
Citation Context ...e last two notations are lifted pointwise to operators F ∈ �pκ → κ ′ � by setting F ∇ (G) = (F(G)) ∇ , where ∇ ∈ {µ, ν}. Remark 3.2. Our definition of product and function space (inspired by Vouillon =-=[Vou04]-=-) makes it immediate that × and → operate on saturated sets. But it is just a reformulation of the usual A × B = {r | fst r ∈ A and snd r ∈ B} and A → B = {r | r s ∈ B for all s ∈ A}. Notice that the ... |

8 | CIC: Type-based termination of recursive definitions in the Calculus of Inductive Constructions - Barthe, Grégoire, et al. |

7 | Termination and guardedness checking with continuous types
- Abel
- 2003
(Show Context)
Citation Context ...A) = GRose ı F A → GRose ı F A → Bool which has an antitonic codomain C(ı) = GRose ı F A → Bool. The author has in previous work widened the criterion, but only for a type system without polymorphism =-=[1]-=-. Other recent works on type-based termination [9, 10, 8] stick to the restriction of λ� . Xi [20] uses dependent types and lexicographic measures to ensure termination of recursive programs in a call... |

7 | Fixed points of type constructors and primitive recursion
- Abel, Matthes
- 2004
(Show Context)
Citation Context ...o obtain a normalizing language, any constructor underlying an inductive type must be covariant [15], hence, we restrict formation of least fixed-points µ a κF to covariant F s. (Abel [3] and Matthes =-=[5]-=- provide more explanation on polarities.) The first argument, a, to µ, which we usually write as superscript, denotes the upper bound for the height of elements in the inductive type. The index a is a... |

6 | Practical inference for typebased termination in a polymorphic setting - Barthe, Grégoire, et al. - 2005 |

4 | Tarmo Uustalu. Type-based termination of recursive definitions - Barthe, Frade, et al. |

3 |
and Adriana Compagnoni. Subtyping for object type constructors
- Duggan
- 1999
(Show Context)
Citation Context ...n kinds with polarities p [Ste98], which are written before the domain or on top of the arrow. Polarity + denotes covariant constructors, − contravariant constructors and ◦ mixed-variant constructors =-=[DC99]-=-. For instance: λX. X → 1 : ∗ − → ∗ λX. X → X : ∗ ◦ → ∗ λX. Int → (1 + X) : ∗ + → ∗ GRose : (∗ + → ∗) + → ∗ + → ∗ Abel [Abe06a] and Matthes [AM04] provide more explanation on polarities. 2.3. Sized in... |

2 |
and Solange Coupet-Grimal. Analysis of a guard condition in type theory (extended abstract
- Amadio
(Show Context)
Citation Context ...explored. Mendler [Men87] pioneered this field; he used a certain polymorphic typing of the functional f to obtain primitive (co)recursive functions over arbitrary datatypes. Amadio and Coupet-Grimal =-=[ACG98]-=- and Giménez [Gim98] developed Mendler’s approach further, until a presentation using ordinal-indexed (co)inductive types was found and proven sound by Barthe et al. [BFG + 04]. The system λ� presente... |

1 |
The step to the next number class. http://www.dcs.ed.ac.uk/home/pgh/numberclasses.html
- Hancock
- 2002
(Show Context)
Citation Context ...aining < j keys of type A. Example 3.1 (Number classes). Here we show that higher-kinded inductive types may require strictly higher closure ordinals than inductive types of kind ∗. Following Hancock =-=[Han02]-=-, we can define the number classes as inductive types as follows: NC0 := µ ∞ λX. 1 ∼ = 1 NC1 := µ ∞ λX. 1 + (NC0 → X) ∼ = Nat ∞ NC2 := µ ∞ λX. 1 + (NC0 → X) + (NC1 → X) ∼ = µ ∞ λX. 1 + X + (Nat ∞ → X)... |