Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Specification and Verification of a Formal System for Structurally Recursive Functions

Summary: Specification and Verification of a Formal
System for Structurally Recursive Functions
Andreas Abel
Department of Computer Science, University of Munich
Abstract. A type theoretic programming language is introduced that is
based on lambda calculus with coproducts, products and inductive types,
and additionally allows the definition of recursive functions in the way
that is common in most functional programming languages. A formal
system is presented that checks whether such a definition is structurally
recursive and a soundness theorem is shown for this system. Thus all
functions passing this check are ensured to terminate on all inputs. For
the moment only non-mutual recursive functions are considered.
1 Introduction
In lambda calculi with inductive types the standard means to construct a func-
tion over an inductive type is the recursor. This method, however, has several
drawbacks, as discussed, e.g., in [Coq92]. One of them is that it is not very in-
tuitive: For instance it is not obvious how to code the following "division by
2"-function with recursors:
half 0 = 0


Source: Abel, Andreas - Theoretische Informatik, Ludwig-Maximilians-Universit√§t M√ľnchen


Collections: Computer Technologies and Information Sciences