Results 11 
19 of
19
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 Categorical Semantics for InductiveInductive Definitions
"... Abstract. Inductioninduction is a principle for defining data types in MartinLöf Type Theory. An inductiveinductive definition consists of a set A, together with an Aindexed family B: A Ñ Set, where both A and B are inductively defined in such a way that the constructors for A can refer to B and ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. Inductioninduction is a principle for defining data types in MartinLöf Type Theory. An inductiveinductive definition consists of a set A, together with an Aindexed family B: A Ñ Set, where both A and B are inductively defined in such a way that the constructors for A can refer to B and vice versa. In addition, the constructors for B can refer to the constructors for A. We extend the usual initial algebra semantics for ordinary inductive data types to the inductiveinductive setting by considering dialgebras instead of ordinary algebras. This gives a new and compact formalisation of inductiveinductive definitions, which we prove is equivalent to the usual formulation with elimination rules. 1
Algebraic MetaTheories and . . .
"... Fiore and Hur [18] recently introduced a novel methodology—henceforth referred to as Sol—for the Synthesis of equational and rewriting logics from mathematical models. In [18], Sol was successfully applied to rationally reconstruct the traditional equational logic for universal algebra of Birkhoff [ ..."
Abstract
 Add to MetaCart
Fiore and Hur [18] recently introduced a novel methodology—henceforth referred to as Sol—for the Synthesis of equational and rewriting logics from mathematical models. In [18], Sol was successfully applied to rationally reconstruct the traditional equational logic for universal algebra of Birkhoff [3] and its multisorted version [26], and also to synthesise a new version of the Nominal Algebra of Gabbay and Mathijssen [41] and the Nominal Equational Logic of Clouston and Pitts [8] for reasoning about languages with namebinding operators. Based on these case studies and further preliminary investigations, we contend that Sol can make an impact in the problem of engineering logics for modern computational languages. For example, our proposed research on secondorder equational logic will provide foundations for designing a secondorder extension of the Maude system [37], a firstorder semantic and logical framework used in formal software engineering for specification and programming. Our research strategy can be visualised as follows: (I)
Chapter 1 Coalgebras as Types determined by their Elimination Rules
"... Abstract We develop rules for coalgebras in type theory, and give meaning explanations for them. We show that elements of coalgebras are determined by their elimination rules, whereas the introduction rules can be considered as derived. This is in contrast with algebraic data types, for which the op ..."
Abstract
 Add to MetaCart
Abstract We develop rules for coalgebras in type theory, and give meaning explanations for them. We show that elements of coalgebras are determined by their elimination rules, whereas the introduction rules can be considered as derived. This is in contrast with algebraic data types, for which the opposite is true: elements are determined by their introduction rules, and the elimination rules can be considered as derived. In this sense, the function type from the logical framework is more like a coalgebraic data type, the elements of which are determined by the elimination rule. We illustrate why the simplest form of guarded recursion is nothing but the introduction rule originating from the formulation of coalgebras in category theory. We discuss restrictions needed in order to preserve decidability of equality. Dedicated to Per MartinLöf on the occasion of his retirement. 1.1
unknown title
"... the introduction rules for A may also refer to B. So we have formation rules A ∶ Set, B ∶ A → Set and typical introduction rules might take the form a ∶ A b ∶ B(a)... introA(a, b,...) ∶ A a0 ∶ A b ∶ B(a0) a1 ∶ A... ..."
Abstract
 Add to MetaCart
the introduction rules for A may also refer to B. So we have formation rules A ∶ Set, B ∶ A → Set and typical introduction rules might take the form a ∶ A b ∶ B(a)... introA(a, b,...) ∶ A a0 ∶ A b ∶ B(a0) a1 ∶ A...
hangingUnder ∶ ((p ∶ Platform) × (b ∶ Building(p))) → Building(extension(⟨p, b⟩)).
"... the introduction rules for A may also refer to B. So we have formation rules A ∶ Set, B ∶ A → Set and typical introduction rules might take the form a ∶ A b ∶ B(a)... introA(a, b,...) ∶ A a0 ∶ A b ∶ B(a0) a1 ∶ A... ..."
Abstract
 Add to MetaCart
the introduction rules for A may also refer to B. So we have formation rules A ∶ Set, B ∶ A → Set and typical introduction rules might take the form a ∶ A b ∶ B(a)... introA(a, b,...) ∶ A a0 ∶ A b ∶ B(a0) a1 ∶ A...
MFPS 2009 Continuous Functions on Final Coalgebras
"... In a previous paper we gave a representation of, and simultaneously a way of programming with, continuous functions on streams, whether discretevalued functions, or functions between streams. We also defined a combinator on the representations of such continuous functions that reflects composition. ..."
Abstract
 Add to MetaCart
In a previous paper we gave a representation of, and simultaneously a way of programming with, continuous functions on streams, whether discretevalued functions, or functions between streams. We also defined a combinator on the representations of such continuous functions that reflects composition. Streams are one of the simplest examples of nontrivial final coalgebras. Here we extend our previous results to cover the case of final coalgebras for a broader class of functors than that giving rise to streams. Among the functors we can deal with are those that arise from countable signatures of finiteplace untyped operators. These have many applications. The topology we put on the final coalgebra for such a functor is that induced by taking for basic neighbourhoods the set of infinite objects which share a common ‘prefix’, a la Baire space. The datatype of prefixes is defined together with the set of ‘growth points ’ in a prefix, simultaneously. This we call beheading. To program and reason about representations of continuous functions requires a language whose type system incorporates the dependent function and pair types, inductive definitions at types Set, I → Set and (Σ I: Set) Set I, coinductive definitions at types Set and I → Set, as well as universal arrows for such definitions. Keywords: Continuous functions, final coalgebras, containers
Small Induction Recursion, Indexed Containers and Dependent Polynomials are equivalent ∗
"... There are several different approaches to the theory of data types. At the simplest level, polynomials and containers give a theory of data types as free standing entities. At a second level of complexity, dependent polynomials and indexed containers handle more sophisticated data types in which the ..."
Abstract
 Add to MetaCart
There are several different approaches to the theory of data types. At the simplest level, polynomials and containers give a theory of data types as free standing entities. At a second level of complexity, dependent polynomials and indexed containers handle more sophisticated data types in which the data have an associated indices which can be used to store important computational information. The crucial and salient feature of dependent polynomials and indexed containers is that the index types are defined in advance of the data. At the most sophisticated level, inductionrecursion allows us to define the data and the indices simultaneously. The aim of this work is to investigate the relationship between the theory of small inductive recursive definitions and the theory of dependent polynomials and indexed containers. Our central result is that the expressiveness of small inductive recursive definitions is exactly the same as that of dependent polynomials and indexed containers. Formally, this result applies not just to the data types definable in these theories, but also to the morphisms between such data