Publikationsansicht

Nested general recursion and partiality in type theory (2001)

Abstract
Abstract. We extend Bove's technique for formalising simple general recursive algorithms in constructive type theory to nested recursive algorithms. The method consists in dening an inductive special-purpose accessibility predicate, that characterises the inputs on which the algorithm terminates. As a result, the type-theoretic version of the algorithm can be dened by structural recursion on the proof that the input values satisfy this predicate. This technique results in denitions in which the computational and logical parts are clearly separated; hence, the type-theoretic version of the algorithm is given by its purely functional content, similarly to the corresponding program in a functional programming language. In the case of nested recursion, the special predicate and the type-theoretic algorithm must be dened simultaneously, because they depend on each other. This kind of denitions is not allowed in ordinary type theory, but it is provided in type theories extended with Dybjer's schema for simultaneous inductive-recursive denitions. The technique applies also to the formalisation of partial functions as proper type-theoretic functions, rather that relations representing their graphs. 1

Details der Publikation
Download http://citeseerx.ist.psu.edu/viewdoc/summary?doi=?doi=10.1.1.32.1831
Quelle http://www.cs.chalmers.se/~bove/Papers/nested.ps.gz
Herausgeber Springer-Verlag
Mitarbeiter CiteSeerX
Archiv CiteSeerX - Scientific Literature Digital Library and Search Engine (United States)
Typ text
Sprache Englisch
Verknüpfungen 10.1.1.6.4575, 10.1.1.36.7155, 10.1.1.42.8429, 10.1.1.28.601, 10.1.1.32.6626, 10.1.1.66.6139, 10.1.1.57.6947, 10.1.1.106.2828, 10.1.1.103.1797, 10.1.1.64.4589, 10.1.1.96.9826, 10.1.1.15.6834, 10.1.1.15.6924, 10.1.1.4.3007, 10.1.1.4.6073, 10.1.1.6.2892, 10.1.1.65.4057, 10.1.1.65.8081, 10.1.1.110.410, 10.1.1.76.9979, 10.1.1.77.1017, 10.1.1.81.3971, 10.1.1.81.7534, 10.1.1.85.2044, 10.1.1.119.6810, 10.1.1.133.7291, 10.1.1.135.4294