Type-Based Termination, Inflationary Fixed-Points, and Mixed Inductive-Coinductive Types
Type-Based Termination, Inflationary Fixed-Points, and Mixed Inductive-Coinductive Types
Blog Article
Type systems certify program properties in a compositional way.From a bigger program one can abstract out a part and certify the properties of the resulting abstract program by just using the type of the part that was abstracted moen rothbury faucet away.Termination and productivity are non-trivial yet desired program properties, and several type systems have been put forward that guarantee termination, compositionally.These type systems are intimately connected to the definition of least and greatest fixed-points by ordinal iteration.While most type systems use conventional iteration, we consider inflationary iteration in this article.
We demonstrate how this leads to a more principled type system, with recursion based on well-founded induction.The type system has a prototypical implementation, cubs foam finger MiniAgda, and we show in particular how it certifies productivity of corecursive and mixed recursive-corecursive functions.