Results 1 
2 of
2
A data type of partial recursive functions in MartinLöf Type Theory. 35pp, submitted
, 2007
"... In this article we investigate how to represent partialrecursive functions in MartinLöf’s type theory. Our representation will be based on the approach by Bove and Capretta, which makes use of indexed inductiverecursive definitions (IIRD). We will show how to restrict the IIRD used so that we obt ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
In this article we investigate how to represent partialrecursive functions in MartinLöf’s type theory. Our representation will be based on the approach by Bove and Capretta, which makes use of indexed inductiverecursive definitions (IIRD). We will show how to restrict the IIRD used so that we obtain directly executable partial recursive functions, Then we introduce a data type of partial recursive functions. We show how to evaluate elements of this data type inside MartinLöf’s type theory, and that therefore the functions defined by this data type are in fact partialrecursive. The data type formulates a very general schema for defining functions recursively in dependent type theory. The initial version of this data type, for which we introduce an induction principle, needs to be expanded, in order to obtain closure under composition. We will obtain two versions of this expanded data type, and prove that they define the same set of partialrecursive functions. Both versions will be large types. Next we prove a Kleenestyle normal form theorem. Using it we will show how to obtain a data type of partial recursive functions which is a small set. Finally, we show how to define selfevaluation as a partial recursive function. We obtain a correct version of this evaluation function, which not only computes recursively a result, but as well a proof that the result is correct. Keywords: MartinLöf type theory, computability theory, recursion theory, Kleene index, Kleene brackets, Kleene’s normal form theorem, partial recursive functions, inductiverecursive definitions, indexed inductionrecursion, selfevaluation. 1
A Type of Partial Recursive Functions
"... Abstract. Our goal is to define a type of partial recursive functions in constructive type theory. In a series of previous articles, we studied two different formulations of partial functions and general recursion. In both cases, we could obtain a type only by extending the theory with either an imp ..."
Abstract
 Add to MetaCart
Abstract. Our goal is to define a type of partial recursive functions in constructive type theory. In a series of previous articles, we studied two different formulations of partial functions and general recursion. In both cases, we could obtain a type only by extending the theory with either an impredicative universe or with coinductive definitions. Here we present a new type constructor that eludes such entities of dubious constructive credentials. We start by showing how to break down a recursive function definition into three components: the first component generates the arguments of the recursive calls, the second one evaluates them, and the last one computes the output from the results of the recursive calls. We use this dissection as the basis for the introduction rule of the new type constructor: a partial recursive function is created by giving the first and third of the above components. As in one of our previous methods, every partial recursive function is associated with an inductive domain predicate and the evaluation of the function requires a proof that the predicate holds on the input values. We give a constructive justification for the new construct by means of an interpretation from the extended type theory into the base one. This shows that the extended theory is consistent and constructive. 1