2009
DOI: 10.1016/j.scico.2008.01.004
|View full text |Cite
|
Sign up to set email alerts
|

Type-based termination of generic programs

Abstract: a b s t r a c tInstances 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 type-based termination using sized ty… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
6
0

Year Published

2009
2009
2023
2023

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 9 publications
(6 citation statements)
references
References 25 publications
0
6
0
Order By: Relevance
“…But since the size j of the rose argument is present, we can verify termination. 3 This is usually a severe problem for untyped termination checkers. The current solution in Coq requires Rose and List to be defined mutually, destroying important modularity in library development.…”
Section: Data List ++(A : Set) : Set { Nil : List a ; Cons : A -> Lismentioning
confidence: 99%
“…But since the size j of the rose argument is present, we can verify termination. 3 This is usually a severe problem for untyped termination checkers. The current solution in Coq requires Rose and List to be defined mutually, destroying important modularity in library development.…”
Section: Data List ++(A : Set) : Set { Nil : List a ; Cons : A -> Lismentioning
confidence: 99%
“…For example, adding μ-reduction is not sufficient to check the guardedness of coinductive proofs computed by proof specialization, although it is not clear at this point what is stopping the guardedness checker from unrolling the proof sufficiently. Ultimately, a semantic approach, possibly type based (Abel 2006(Abel , 2009, would be preferable but such approaches are not currently available for Coq.…”
Section: Reflectionmentioning
confidence: 99%
“…[62,22] address termination analysis for higher-order functional programs; it may be possible to extend these systems with awareness for onelayer traversal and generic functions for traversal. [2] addresses termination analysis for generic functional programs of the kind of Generic Haskell [25]; the approach is based on type-based termination and exploits the fact that generic functions are defined by induction on types, which is not directly the case for traversal strategies, though.…”
Section: Simplified Traversal Programmingmentioning
confidence: 99%