Author:
ABEL ANDREAS,PIENTKA BRIGITTE
Abstract
AbstractIn this paper, we study strong normalization of a core language based on System ${\mathsf{F}_\omega}$ which supports programming with finite and infinite structures. Finite data such as finite lists and trees is 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. Taking a type-based approach to strong normalization, we track size information about finite and infinite data in the type. We exploit the duality of pattern and copatterns to give a unifying semantic framework which allows us to elegantly and uniformly support both well-founded induction and coinduction by rewriting. The strong normalization proof is structured around Girard's reducibility candidates. As such, our system allows for non-determinism and does not rely on coverage. Since System ${\mathsf{F}_\omega}$ is general enough that it can be the target of compilation for the Calculus of Constructions, this work is a significant step towards representing observation-based infinite data in proof assistants such as Coq and Agda.
Publisher
Cambridge University Press (CUP)
Reference37 articles.
1. Semi-continuous Sized Types and Termination
2. Jones G. & Gibbons J. (1993) Linear-Time Breadth-fFrst Tree Algorithms: An Exercise in the Arithmetic of Folds and Zips. Technical Report, University of Auckland.
3. Analysis of a guard condition in type theory
Cited by
27 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献