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 defining an inductive special-purpose accessibility predicate, that characterizes the inputs on which the algorithm terminates. As a result, the type-theoretic version of the algorithm can be defined by structural recursion on the proof that the input values satisfy this predicate. This technique results in definitions 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 defined simultaneously, because they depend on each other. This kind of definitions is not allowed in ordinary type theory, but it is provided in type theories extended with Dybjer’s schema for simultaneous inductive-recursive definitions. The technique applies also to the formalisation of partial functions as proper type-theoretic functions, rather than relations representing their graphs. 1

Details der Publikation
Download http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.78.1348
Quelle http://www.cs.kun.nl/~venanzio/publications/Nested_Recursion_TPHOLs_2001.pdf
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.25.9745, 10.1.1.28.601, 10.1.1.32.6626, 10.1.1.15.6834, 10.1.1.57.6947, 10.1.1.106.2828, 10.1.1.103.1797, 10.1.1.64.4589, 10.1.1.6.2892, 10.1.1.96.9826, 10.1.1.4.3007, 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, 10.1.1.15.6924, 10.1.1.139.8925