Meertens, L. Formal Aspects of Computing (1992) 4: 413. doi:10.1007/BF01211391
“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.