Guarded Recursive Types in Type Theory

Detta är en avhandling från Chalmers University of Technology

Sammanfattning: In total functional (co)programming valid programs are guaranteed to always produce (part of) their output in a finite number of steps. Enforcing this property while not sacrificing expressivity has been challenging. Traditionally systems like Agda and Coq have relied on a syntactic restriction on (co)recursive calls, but this is inherently anti-modular. Guarded recursion, first introduced by Nakano, has been recently applied in the coprogramming case to ensure totality through typing instead. The relationship between the consumption and the production of data is captured by a delay modality, which allows to give a safe type to a general fixpoint combinator. This thesis consists of two parts. In the first we formalize, using the proof assistant Agda, a result about strong normalization for a small language extended with guarded recursive types. In the second we extend guarded recursive types to additionally ensure termination of recursive programs: the main result is a model based on relational parametricity for the dependently typed calculus we designed.

  Denna avhandling är EVENTUELLT nedladdningsbar som PDF. Kolla denna länk för att se om den går att ladda ner.