Another Look at Function Domains
Konferensbidrag (offentliggjort, men ej förlagsutgivet), 2009

Bove and Capretta have presented a method to deal with partial and general recursive functions in constructive type theory which relies on an inductive characterisation of the domains of the functions. The method separates the logical and the computational aspects of an algorithm, and facilitates the formal verification of the functions being defined. For nested recursive functions, the method uses Dybjer' schema for simultaneous inductive-recursive definitions. However, not all constructive type theories support this kind of definitions. Here we present a new approach for dealing with partial and general recursive functions that preserves the advantages of the method by Bove and Capretta, but which does not rely on inductive-recursive definitions. In this approach, we start by inductively defining the graph of the function, from which we first define the domain and afterwards the type-theoretic version of the function. We show two ways of proving the formal specification of the functions defined with this new approach: by induction on the graph, or by using an induction principle in the style of the induction principle associated to the domain predicates of the Bove-Capretta method.

partial functions

nested functions

constructive type theory

General recursive functions


Ana Bove

Chalmers, Data- och informationsteknik, Datavetenskap

Electronic Notes in Theoretical Computer Science

1571-0661 (ISSN)

Vol. 249 61-74


Datavetenskap (datalogi)