Formal Aspects of Computing

, Volume 4, Issue 5, pp 413-424

First online:


  • Lambert MeertensAffiliated withDepartment of Algorithmics and Architecture, CWIDepartment of Computing Science, Utrecht University

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


“Catamorphisms” are functions on an initial data type (an inductively defined domain) whose inductive definitional pattern mimics that of the type. These functions have powerful calculation properties by which inductive reasoning can be replaced by equational reasoning. This paper introduces a generalisation of catamorphisms, dubbed “paramorphisms”. Paramorphisms correspond to a larger class of inductive definition patterns; in fact, we show that any function defined on an initial type can be expressed as a paramorphism. In spite of this generality, it turns out that paramorphisms have calculation properties very similar to those of catamorphisms. In particular, we prove a Unique Extension Property and a Promotion Theorem for paramorphisms.


Formal program construction Initial data type