{{About|the computer science term|the term in biology|Apomorphy}} In formal methods of computer science, an '''apomorphism''' (from ''ἀπό'' — Greek for "apart") is the categorical dual of a paramorphism and an extension of the concept of anamorphism (coinduction). Whereas a paramorphism models primitive recursion over an inductive data type, an apomorphism models primitive corecursion over a coinductive data type.
==Origins== The term "apomorphism" was introduced in ''Functional Programming with Apomorphisms (Corecursion)''.<ref>{{citation| last=Vene| first=Varmo| first2=Tarmo| last2=Uustalu| title=Functional Programming with Apomorphisms (Corecursion)| journal=Proceedings of the Estonian Academy of Sciences: Physics, Mathematics| volume=47| pages=147–161| year=1998| url=https://cs.ioc.ee/~tarmo/papers/vene-uustalu-nwpt97-peas.pdf| issue=3}}</ref>
==See also== * Morphism * Morphisms of F-algebras ** From an initial algebra to an algebra: Catamorphism ** From a coalgebra to a final coalgebra: Anamorphism ** An anamorphism followed by an catamorphism: Hylomorphism ** Extension of the idea of catamorphisms: Paramorphism
==References== <references/>
Category:Recursion schemes
{{formalmethods-stub}}