# Another Look at Function Domains

## Invited talk

**Mathematical Foundations of Programming Semantics, 25th Annual Conference**(1571-0661 ). Vol. 249 (2009), ENTCS, p. 61-74.

[Konferensbidrag, övrigt]

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.

**Nyckelord: **General recursive functions, partial functions, nested functions, constructive type theory

Denna post skapades 2009-12-11. Senast ändrad 2009-12-11.

CPL Pubid: 103334