Fixed Points, Induction, and Coinduction in Order Theory, Set Theory, (PL) Type Theory, Category Theory, and Logic: A Concise Summary
In this note we present the formulation of the induction and coinduction principles, and notions related to them such as fixed points, using the language and conventions of each of order theory, set theory, the theory of types in (object-oriented/OOP and functional/FP) programming languages, first-order logic, and category theory, for the purpose of examining some of the similarities and dissimilarities between these six mathematical subdisciplines. As a side-benefit that is relevant to programming languages researchers in particular, our comparison demonstrates one of the fundamental differences between nominal typing (predominant in mainstream OOP) and structural typing (predominant in FP).
READ FULL TEXT