1 Introduction
Fixed points and concepts related to them, such as induction and coinduction, have applications in numerous scientific fields. These mathematical concepts have applications also in social sciences, and even in common culture, usually under disguise.^{1}^{1}1For more on the intuitions and applications of fixed points and related notions, the interested reader is invited to check the companion tutorial article [3].
Fixed points, induction and coinduction have been formulated and studied in various subfields of mathematics, usually using different vocabulary in each field. Fields for studying these concepts, formally, include order theory, set theory, programming languages (PL) type theory^{2}^{2}2That is, the study of data types in computer programming languages., firstorder logic, and category theory.
In this article—which started as a brief selfnote (now summarized in 7)—we compare the various formulations of these concepts by presenting how these concepts, and many related ones—such as prefixed points, postfixed points, inductive sets/types, coinductive sets/types, algebras, and coalgebras—are defined in each of these mathematical subfields. As such this article is structured as follows.
In 2 (2 Order Theory) we start by presenting how these mathematical concepts are formulated in a natural and simple manner in order theory. Then, in 3 (3 Set Theory), we present the standard formulation of these concepts in set theory. Since PL type theory builds on set theory, we next present the formulation of these concepts in the theory of types of functional programming languages (which is largely structurallytyped) in 4.1 (4.1 Inductive and Coinductive Functional Data Types), then, in 4.2 (4.2 ObjectOriented Type Theory), we follow that by presenting their formulation in the type theory of objectoriented programming languages (which is largely nominallytyped). Building on intuitions gained from the formulation of the concepts we presented in 3, we then suggest in 5 (5 FirstOrder Logic) a formulation of these concepts in firstorder logic. Then we present the most general formulation of these concepts, in the context of category theory, in 6 (6 Category Theory).
In 7 (7 Comparison Summary) we summarize the article by presenting tables that collect the formulations given in the previous sections. We conclude in 8 (8 A Fundamental and More Abstract Treatment) by hinting at the possibility of a more abstract, and more unified formulation of the concepts we discussed in this article, using concepts from category theory, namely monads and comonads.
It should be noted that in each particular subfield we discuss in this article we try to use what seems (to us) to be the most natural terminology in that field. Hence, in agreement with standard mathematical practice, the same mathematical concepts may have significantly different names when presented in different fields in this article. Noting the significant similarity of the mathematical concepts, via abstracting away from their names, should be a main goal of readers of this article.
It should be noted also that mathematicalbutnoncomputerscience readers—presumably interested mainly in comparing “pure” mathematical subdisciplines, i.e., in comparing formulations in order theory, set theory, firstorder logic, and category theory, but not in PL type theory—may safely skip reading 4. Those readers may like to also ignore the rightmost column of Table 1 and the nexttoleftmost column of Table 2 in 7. This material is mainly of interest to PL theorists only.^{3}^{3}3PL theorists may also like to read the more indepth article [2].
2 Order Theory
Order theory—which includes lattice theory as a subfield—is the branch of mathematics where the concepts fixed point, prefixed point, postfixed point, least fixed point, greatest fixed point, induction, and coinduction were first formulated in some generality and the relations between them were proven [23]. Order theory seems to be the simplest and most natural setting in which these concepts can be defined and studied. We thus start this article by presenting the ordertheoretic formulation of these concepts in this section.
Formulation
Let (‘is less than or equal to’) be an ordering relation—also called a partial order—over a set and let be an endofunction over (also called a selfmap over , i.e., a function whose domain and codomain are the same set, thus mapping a set into itself^{4}^{4}4We are focused on unary functions in this article because we are interested in discussing fixed points and closelyrelated concepts, to which multiarity makes little difference. Note that a binary function can be transformed into an equivalent unary one via the technique of “currying” (also known in logic as exportation). By iterating currying, it can be applied to multiary functions, i.e.
, functions with any finite arity greater than two. Currying does preserve monotonicity/variance, and it seems currying is applicable to all fields of interest to us in this article since, in each field, the objects of that field—
i.e., posets, power sets, types, etc.—and the “morphisms/arrows” between these objects seem to form what is called (in category theory) a closed monoidal category.).Given a point , we call point —the image of under —the ‘image’^{5}^{5}5In this article, nonstandard names (suggested by the author) are singlequoted like this ‘—’ when first introduced. of .
A point is called a prefixed point of if its image is less than or equal to it, i.e., if
(A prefixed point of is sometimes also called an closed point, ‘lower bounded point’, or ‘large point’; or, when disregarding , an inductive point or algebraic point.) The greatest element of , if it exists (in ), is usually denoted by , and it is a prefixed point of for all endofunctions . In fact , when it exists, is the greatest prefixed point of for all .
A point is called a postfixed point of if it is less than or equal to its image, i.e., if
(A postfixed point of is sometimes also called an consistent point, ‘(upper)’ bounded point, or ‘small point’; or, when disregarding , a coinductive point or coalgebraic point.) The least element of , if it exists (in ), is usually denoted by , and it is a postfixed point of for all endofunctions . In fact , when it exists, is the least postfixed point of for all .
A point is called a fixed point (or ‘fixed element’) of if it is equal to its image, i.e., if
As such, a fixed point of is simultaneously a prefixed point of and a postfixed point of .
Now, if is a complete lattice over (i.e., if is an ordering relation where meets and joins of all subsets of are guaranteed to exist in ) and if, in addition, is a monotonic endofunction over , i.e., if
then is called a generating function (or generator) and—as was proven by Tarski [23]—the least prefixed point of , called , exists in (due to the completeness of ) and is also the least fixed point (or, lfp) of (due to the monotonicity of ), and the greatest postfixed point of , called , exists in (again, due to the completeness of ) and is also the greatest fixed point (or, gfp) of (again, due to the monotonicity of ).^{6}^{6}6See Table 1 for the definitions of and in order theory. Further, given that is the least prefixed point of and is the greatest postfixed point of , for any element we have:

(induction) if , then ,
which, in words, means that if is a prefixed/inductive point of (i.e., if the image of is less than or equal to it), then point is less than or equal to , and, 
(coinduction) if , then ,
which, in words, means that if is a postfixed/coinductive point of (i.e., if is less than or equal to its image), then point is less than or equal to point .
References
3 Set Theory
In set theory, the set of subsets of any set—i.e., the powerset of the set—is always a complete lattice under the inclusion () ordering. As such, Tarski’s result in lattice theory (see 2) was first formulated and proved in the specific context of powersets [12], which present a simple and very basic example of a context in which the ordertheoretic formulation of induction/coinduction and related concepts can be applied and demonstrated. Given the unique foundational significance of set theory in mathematics—unparalleled except, arguably, by the foundational significance of category theory—the settheoretic formulation of the induction and coinduction principles are in fact the standard formulations of these principles. The settheoretic formulation also forms the basis for very similar formulations of these concepts in (structural) type theory (see 4.1) and in firstorder logic (see 5).
Formulation
Let (‘is a subset of’) denote the inclusion ordering of set theory and let (‘is a member of’) denote the membership relation. Further, let be the partiallyordered set of all subsets of some fixed set , under the inclusion ordering (as such , where is the powerset operation, and is always a complete lattice) and let be an endofunction over .
A set (equivalently, ) is called an closed set if its image is a subset of it, i.e., if
(An closed subset is sometimes also called an lower bounded set or large set.) Set , the largest set in , is an closed set for all endofunctions —in fact is the largest closed set for all .
A set is called an consistent set if it is a subset of its image, i.e., if
(An consistent subset is sometimes also called an (upper) bounded set^{7}^{7}7From which comes the name bounded polymorphism in functional programming. (See 4.1.) , correct set, or small set.) The empty set, , the smallest set in , is an consistent set for all endofunctions —in fact is the smallest consistent set for all .
A set is called a fixed point (or ‘fixed set’) of if it is equal to its image, i.e., if
As such, a fixed point of is simultaneously an closed set and an consistent set.
Now, given that is a complete lattice, if, in addition, is a monotonic endofunction, i.e., if
then is called a setsgenerating function (or generator) and an inductivelydefined subset , the smallest closed set, exists in , and is also the smallest fixed point of , and a coinductivelydefined subset , the largest consistent set, exists in , and is also the largest fixed point of .^{8}^{8}8See Table 1 for the definitions of and in set theory. Further, for any set we have:

(induction)
(i.e., ),
which, in words, means that if (we can prove that) set is an closed set, then (by induction, we get that) set is a subset of , and 
(coinduction)
(i.e., ),
which, in words, means that if (we can prove that) set is an consistent set, then (by coinduction, we get that) is a subset of set .
Induction Instances

An instance of the settheoretic induction principle presented above is the standard mathematical induction principle. In this wellknown instance, induction is setup as follows: is the “successor” function (of Peano)^{9}^{9}9Namely, , where, e.g., ., (the smallest fixed point of the successor function ) is the set of natural numbers , and is any inductive property/set of numbers.

For an example of an inductive set, the reader is invited to check 2 of the tutorial article [3].


Another instance of the induction principle is lexicographic induction, defined on lexicographically linearlyordered (i.e.
, “dictionary ordered”) pairs of elements
[16, 18]. In 4.1 we will see a typetheoretic formulation of the induction principle that is closely related to the settheoretic one above. The typetheoretic formulation is the basis for yet a third instance of the induction principle—called structural induction—that is extensively used in programming semantics and automated theorem proving (ATP), including reasoning about and proving properties of (functional) software.
Coinduction Instances and Intuition

Another lessobvious instance of a coinductive set is the standard subtyping relation in (nominallytyped) objectoriented programming languages. See the notes of 2.2 of [2] for more details.

For developing intuitions for coinduction, coinductive sets, and coinductive types, the reader is invited to check 3 of the tutorial article [3].
Illustrations
In 4 of the tutorial article [3] we present diagrams that use examples from set theory, number theory, and real analysis to concretely illustrate inductive sets, coinductive sets, and the other related concepts we discuss in this survey article.
References
4 Programming Languages Theory
Given the ‘types as sets’ view of types in programming languages, this section builds on the settheoretic presentation in 3 to present the formulation of the induction and coinduction principles in the context of programming languages type theory.
4.1 Inductive and Coinductive Functional Data Types
The formulation of the induction and coinduction principles in the context of functional programming type theory builds on the concepts developed in 3. For the motivations behind this formulation, and more details, see 2.1 of [2].
Formulation
Let be the set of structural types in functional programming.
Let (‘is a subset/subtype of’) denote the structural subtyping/inclusion relation between structural data types, and let (‘has type/is a member of/has structural property’) denote the structural typing relation between structural data values and structural data types.
Now, if is a polynomial (with powers) datatype constructor, i.e., if
then an inductivelydefined type/set , the smallest closed set, exists in , and is also the smallest fixed point of , and a coinductivelydefined type/set , the largest consistent set, exists in , and is also the largest fixed point of .^{10}^{10}10See Table 1 for the definitions of and .
Further, for any type (where , as a structural type, expresses a structural property of data values) we have:

(structural induction, and recursion)
(i.e., ),
which, in words, means that if the (structural) property is preserved by (i.e., if is closed), then all data values of the inductive type have property (i.e., ).
Furthermore, borrowing terminology from category theory (see 6), a recursive function that maps data values of the inductive type to data values of type (i.e., having structural property ) is the unique catamorphism (also called a fold) from to (where is viewed as an initial algebra and as an algebra), and 
(structural coinduction, and corecursion)
(i.e.,
which, in words, means that if the (structural) property is reflected by (i.e., if is consistent), then all data values that have property are data values of the coinductive type (i.e., ).
Furthermore, borrowing terminology from category theory, a corecursive function that maps data values of type (i.e., having structural property ) to data values of the coinductive type is the unique anamorphism from to (where is viewed as an coalgebra and as a final coalgebra).
Notes

To guarantee the existence of and in for all type constructors , and hence to guarantee the ability to reason easily—i.e., inductively and coinductively—about functional programs, the domain of types in functional programming is deliberately constructed to be a complete lattice under the inclusion ordering. This is achieved by limiting the type constructors used in constructing and over to structural type constructors only (i.e., to the constructors , , and their compositions, in addition to basic types such as Unit, Bool, Top, Nat and Int). More details can be found in 2.1 of [2].
4.2 ObjectOriented Type Theory
The formulation of the induction and coinduction principles in the context of objectoriented type theory roughly mimics the formulation in 4.1. For the motivations behind the exact formulation, and more details, see 2.2 of [2].
Formulation
Let (‘is a subtype of’) denote the nominal subtyping relation between nominal data types (i.e., class types), and let (‘has type’) denote the nominal typing relation between nominal data values (i.e., objects) and nominal data types.
Further, let be the set of nominal types in objectoriented programming, ordered by the nominal subtyping relation, and let be a type constructor over (e.g., a generic class).^{11}^{11}11Unlike poset in 4.1 (of structural types under the structural subtyping relation), poset (of nominal types under the nominal subtyping relation) is not guaranteed to be a complete lattice.
A type is called an ‘supertype’ if its image is a subtype of it, i.e., if
and is said to be preserved by . (An supertype is sometimes also called an closed type, lower bounded type, or large type). The root or top of the subtyping hierarchy, if it exists (in ), is usually called Object or All, and it is an supertype for all generic classes . In fact the top type, when it exists, is the greatest supertype for all .
A type is called an ‘subtype’ if it is a subtype of its image, i.e., if
and is said to be reflected by . (An subtype is sometimes also called an consistent type, (upper) bounded type^{12}^{12}12From which comes the name bounded generics in objectoriented programming., or small type). The bottom of the subtyping hierarchy, if it exists (in ), is usually called Null or Nothing, and it is an subtype for all generic classes . In fact the bottom type, when it exists, is the least subtype for all .
A type is called a fixed point (or ‘fixed type’) of if it is equal to its image, i.e., if
As such, a fixed point of is simultaneously an supertype and an subtype. (Such fixed types/points are rare in OOP practice).
Now, if is a covariant generic class (i.e., a typesgenerator), i.e., if
and if , the ‘least supertype’ exists in , and is also the least fixed point of , and if , the ‘greatest subtype’, exists in , and is also the greatest fixed point of ,^{13}^{13}13See Table 2 for the definitions of and in the (rare) case when happens to be a complete lattice. then, for any type we have:

(induction)
(i.e., ),
which, in words, means that if the contract (i.e., behavioral type) is preserved by (i.e., is an supertype), then the inductive type is a subtype of , and 
(coinduction)
(i.e., ),
which, in words, means that if the contract (i.e., behavioral type) is reflected by (i.e., is an subtype), then is a subtype of the coinductive type .
Notes

More on the differences between structural subtyping, as found in functional programming type theory, and nominal typing, as found in objectoriented programming type theory, can be found in 2.2 of [2].
5 FirstOrder Logic
Mathematical logic, particularly firstorder logic (FOL), is the foundation of set theory and similar theories. Specifically, via the Aussonderungsaxiom and other axioms in set theory (see [11, 2]), firstorder logic is strongly tied to set theory^{14}^{14}14The Aussonderungsaxiom (German) is also called the subset/separation axiom or the axiom of specification/comprehension., as well as to class theory and nonwellfounded set theory (see [5]).
As such, in correspondence with the settheoretic concepts and definitions presented in 3, one should expect to find counterparts in firstorder logic. Even though seemingly unpopular in mathematical logic literature, we try to explore these corresponding concepts in this section. The discussion of these concepts in logic is also a step that prepares for discussing these concepts in 6 in the more general setting of category theory.
Formulation
Let (‘implies’) denote the implication relation between predicates/logical statements of firstorder logic^{15}^{15}15Note that, as in earlier sections, we use the long implication symbol ‘’ to denote the implication relation in the metalogic (i.e., the logic used to reason about objects of interest to us, e.g., points, sets, types, or—as is the case in this section—statements of firstorder logic). The reader in this section should be careful not to confuse the metalogical implication relation (denoted by the long implication symbol ) with the implication relation of firstorder logic (used to reason in FOL, and denoted by the short implication symbol )., and let juxtaposition or (‘is satisfied by/applies to’) denote the satisfiability relation between predicates and objects/elements. Further, let be the set of statements (i.e., the wellformed formulas) of firstorder logic ordered by implication ( is thus a complete lattice) and let be a logical operator over .^{16}^{16}16Such as [and] and [or] (both of which are covariant/monotonic logical operators), [not] (which is contravariant/antimonotonic), or compositions thereof.
A statement is called an ‘weak statement’ if its image implies it, i.e., if
Statement is an weak statement for all endofunctors —in fact is the weakest weak statement for all .
A statement is called an ‘strong statement’ if it implies its image, i.e., if
Statement is an strong statement for all endofunctors —in fact is the strongest strong statement for all .
A statement is called a fixed point (or ‘fixed statement’) of if it is equivalent to its image, i.e., if
As such, a fixed point of is simultaneously an weak statement and an strong statement.
Now, if is a covariant logical operator (i.e., a statementsgenerator), i.e., if
then , the ‘strongest weak statement’, exists in , and is also the ‘strongest fixed point’ of , and , the ‘weakest strong statement’, exists in , and is also the ‘weakest fixed point’ of .^{17}^{17}17See Table 2 for the definitions of and . Further, for any statement we have:

(induction) if , then ,
which, in words, means that if is an weak statement, then implies , and 
(coinduction) if , then ,
which, in words, means that if is an strong statement, then implies .
References
6 Category Theory
Category theory seems to present the most general context in which the notions of induction, coinduction, fixed points, prefixed points (called algebras) and postfixed points (called coalgebras) can be studied.
Formulation
Let (‘is related to’/‘arrow’) denote that two objects in a category are related (i.e., denote the ‘isrelatedto’ relation, or, more concisely, denote relatedness).^{18}^{18}18For mostly historical reasons, an arrow relating two objects in a category is sometimes also called a morphism. We prefer using isrelatedto (i.e., has some relationship with) or arrow instead, since these terms seem to be more easily and intuitively understood, and also because they seem to be more in agreement with the abstract and general nature of category theory. Further, let be the collection of objects of a category (i.e., the category and the collection of its objects are homonyms) and let be^{19}^{19}19Note that, similar to the situation for symbols and that we met in 5, in this section the same exact symbol is used to denote two (stronglyrelated but slightly different) meanings: the first, that two objects in a category are related (which is the meaning specific to category theory), while the second is the functional type of a selfmap/endofunction/endofunctor that acts on objects of interest to us (i.e., points, sets, types, etc.), which is the meaning for that we have been using all along since the beginning of this article. an endofunctor over .
An object is called an algebra if its image is related to it, i.e., if
An object is called an coalgebra if it is related to its image, i.e., if
Now, if is a covariant endofunctor, i.e., if
and if an initial algebra exists in and a final coalgebra exists in ,^{20}^{20}20While referring to 2, note that a categorytheoretic initial algebra and final coalgebra are not the exact counterparts of an ordertheoretic least fixed point and greatest fixed point but of a least prefixed point and greatest postfixed point. This slight difference is significant, since, for example, a least prefixed point is not necessarily a least fixed point, unless the underlying ordering is a complete lattice (or at least is a meetcomplete lattice), and also a greatest postfixed point is not necessarily a greatest fixed point, unless the underlying ordering is a complete lattice (or at least is a joincomplete lattice). The difference is demonstrated, for example, by the subtyping relation in generic nominallytyped OOP (see Footnote 14 in 2.2 of [2]). then for any object we have:

(induction) if , then ,
which, in words, means that if is an algebra, then is related to (via a unique “complextosimple” arrow called a catamorphism), and 
(coinduction) if , then ,
which, in words, means that if is an coalgebra, then is related to (via a unique “simpletocomplex” arrow called an anamorphism).
Notes

Even though each of an initial algebra and a final coalgebra is simultaneously an algebra and a coalgebra, it should be noted that there is no explicit concept in category theory corresponding to the concept of a fixed point in order theory, due to the general lack of an equality relation in category theory and the use of the isomorphism relation instead.

If such a “fixedness” notion is defined in category theory, it would denote an object that is simultaneously an algebra and a coalgebra, i.e., for a functor , a “fixed object” of will be related to the object and vice versa. This usually means that and , if not the same object, are isomorphic objects. (That is in fact the case for any initial algebra and for any final coalgebra, which—given the uniqueness of arrows from an initial algebra and to a final coalgebra—are indeed isomorphic to their images).


Note also that, unlike the case in order theory, the induction and coinduction principles can be expressed in category theory using a “pointfree style” (as we do in this article) but they can be also expressed using a “pointwise style”^{21}^{21}21By giving a name to a specific arrow that relates two objects of a category, e.g., using notation such as to mean not only that objects and are related but also that they are related by a particular arrow named .. As such, regarding the possibility of expressing the two principles using either a pointwise style or a pointfree style, category theory agrees more with set theory, type theory, and (first order) logic than it does with order theory.

Incidentally, categories are more similar to preorders (sometimes, but not invariably, also called quasiorders) than they are similar to partialorders (i.e., posets). This is because a category, when viewed as an ordered set, is not necessarily antisymmetric.

Categories are more general than preorders however, since a category can have multiple arrows between any pair of its objects, whereas any two elements/points of a preorder can only either have one “arrow” between the two points (denoted by rather than ) or not have one. (This possible multiplicity is what enables, and sometimes even necessitates, the use of arrow names, so as to distinguish between different arrows when multiple arrows relate the same pair of objects). As such, every preorder is a category, or, more precisely, every preorder has a unique (small) category—appropriately called a category, a thin category, or a bool(ean)category—corresponding to it, and vice versa. However, generallyspeaking, while there is a unique preorder corresponding to each category but there is not a unique category corresponding to each preorder (typically many categories correspond to a single preorder , including the thin category corresponding to ).^{22}^{22}22Indeed the relation between the two fields is precise to the extent that the relation can be described, formally, as an adjunction from the category of preorders to the category of small categories. The said adjunction mathematically expresses the intuition that “preorders approximate categories,” asserting thereby that every concept in order theory has a corresponding more general concept in category theory. For more on the relation between order theory and category theory (i.e., metaphorically, on ) and on the correspondence between their concepts see 8.

References
7 Comparison Summary
Order Theory  Set Theory  FP Type Theory  
Domain  Points of a Set  =Subsets of a Set  Structural Data Types 
Relation  Abstract Ordering  Inclusion  Inclusion 
Operator  Function  Function  Type Cons. 
Generator  Monotonic  Monotonic  Poly. Type Constr. 
(, and comp.)  
PreFix Pt  PreFixed Point  Large Set  Closed Type 
PostFix Pt  PostFixed Point  Small Set  Bounded Type 
If Complete Lattice  Smallest Large Set  Smallest Closed Type  
Least FP  
( denotes ‘meet’)  (Inductive Type)  
If Complete Lattice  Largest Small Set  Largest Bounded Type  
Grt. FP  
( denotes ‘join’)  (Coinductive Type)  
Induction  
Principle  
Coinduction  
Principle  
Complete Latt.  Sometimes  Always  Always 
Op. Generator  Sometimes  Sometimes  Always 
OOP Type Theory  FirstOrder Logic  Category Theory  
Domain  Class Types  Statements  Objects 
Relation  Subtyping  Implication  Arrow 
Operator  Gen. Class  Operator  Functor 
Generator  Covariant  Covariant  Covariant 
PreFix Pt  Supertype  Weak  Algebra 
PostFix Pt  Subtype  Strong  Coalgebra 
Least Supertype  Strongest Weak Stmt  Initial Algebra  
Least FP  
( denotes ‘meet’)  ( denotes conjunction)  
Greatest Subtype  Weakest Strong Stmt  Final Coalgebra  
Grt. FP  
( denotes ‘join’)  ( denotes disjunction)  
Induction  
Principle  
Coinduction  
Principle  
Complete Latt.  Rarely  Always  Sometimes 
Op. Generator  Sometimes  Sometimes  Sometimes 
8 A Fundamental and More Abstract Treatment
As we hinted to in 6, order theory and category theory are strongly related. In fact the connection between the two fields goes much, much further than we hinted at.
Closure and Kernel Operators
In order theory a closure operator over a poset is an idempotent extensive generator [7]. An extensive (or inflationary) endofunction over is an endofunction where
meaning that all points of are small (i.e., are postfixed points of ). An endofunction is idempotent iff
i.e., iff , meaning that applying twice does not transform or change an element of any more than applying to the element once does.
Also, in order theory a kernel (or interior) operator over is an idempotent intensive generator. An intensive (or deflationary) endofunction over is an endofunction where
meaning that all points of are large (i.e., are prefixed points of ).^{23}^{23}23It may be helpful here to check Figure 1 of [3]. If in Figure 1 of [3] is a closure operator then the upper diamond minus the inner diamond “collapses” (becomes empty), and we have . That is because, since is extensive, we have , and thus —if it exists in —is always a fixed point of , in fact the gfp (greatest fixed point) of . Dually, if in Figure 1 of [3] is a kernel operator then the lower diamond minus the inner diamond “collapses”, and we have . That is because, since is intensive, we have , and thus —if it exists in —is always a fixed point of , in fact the lfp (least fixed point) of .
Monads and Comonads
In category theory, on the other hand, when a partiallyordered set is viewed as a category, then a monad on a poset turns out to be exactly a closure operator over [22]. By the definition of monads, all objects of a category are coalgebras of a monad, which translates to all elements of a poset being postfixed points of the corresponding closure operator on (which we noted above). As such, the algebras for this monad correspond to the prefixed points of the closure operator, and thus correspond exactly to its fixed points.
Similarly, a comonad (the dual of a monad) on turns out to be exactly a kernel operator over . As such, by a dual argument, the coalgebras for this comonad are the postfixed points of the kernel operator, and thus also correspond exactly to its fixed points.
An Alternative Presentation
Based on these observations that further relate category theory and order theory, the whole technical discussion in this article can be presented, more succinctly if also more abstractly, by rewriting it in terms of the very general language of monads/comonads, then specializing the abstract argument by applying it to each of the six categories we are interested in.^{24}^{24}24Namely, (1) category OrdE of partiallyordered sets together with selfmaps, (2) category PSetE of power sets (ordered by inclusion) together with endofunctions, (3) category TypS of structural types (ordered by inclusion/structural subtyping) together with structural type constructors, (4) category TypN of nominal types (ordered by nominal subtyping) together with generic classes, (5) category FOL of firstorder logical statements (ordered by implication) together with logical operators, and (6) category CatE of (small) categories (ordered/related by arrows) together with endofunctors. Given that our goal, however, is to compare the concepts in their most natural and most concrete mathematical contexts, we refrain from presenting such a fundamental treatment here, keeping the possibility of making such a presentation in some future work, e.g., as a separate article, or as an appendix to future versions of this article.
References
Acknowledgments
The author would like to thank John Greiner (Rice University) and David Spivak (MIT) for their suggestions and their valuable feedback on earlier versions of this article.
References
 [1] Moez A. AbdelGawad. Induction, coinduction, and fixed points in order theory, set theory, type theory, firstorder logic, and category theory: A concise comparative survey. eprint available at http://arxiv.org/abs/1812.10026, 2018.
 [2] Moez A. AbdelGawad. Induction, coinduction, and fixed points in programming languages type theory. eprint available at http://arxiv.org/abs/1902.xxxxxx, 2019.
 [3] Moez A. AbdelGawad. Induction, coinduction, and fixed points: Intuitions and tutorial. eprint available at http://arxiv.org/abs/1902.xxxxxx, 2019.
 [4] Roland Carl Backhouse, Roy L. Crole, and Jeremy Gibbons, editors. Algebraic and Coalgebraic Methods in the Mathematics of Program Construction, International Summer School and Workshop, Oxford, UK, April 1014, 2000, Revised Lectures, volume 2297 of Lectures Notes in Computer Science. Springer, 2002.
 [5] Jon Barwise and Lawrence Moss. Vicious Circles: On the Mathematics of Nonwellfounded Phenomena. Cambridge University Press, 1996.
 [6] M. Brandt and F. Henglein. Coinductive axiomatization of recursive type equality and subtyping. Fundamenta Informaticae, 33(4):309–338, 1998.
 [7] B. A. Davey and H. A. Priestley. Introduction to Lattices and Order. Cambridge University Press, 2nd edition, 2002.
 [8] Herbert B. Enderton. A Mathematical Introduction to Logic. Academic Press, New York, 1972.
 [9] Brendan Fong and David Spivak. Seven Sketches in Compositionality: An Invitation to Applied Category Theory. Draft, 2018.
 [10] Thomas Forster. Logic, Induction, and Sets. London Mathematical Society Student Texts. Cambridge University Press, 2003.
 [11] Paul R. Halmos. Naive Set Theory. D. Van Nostrand Company, Inc., 1960.
 [12] B. Knaster. Un thorme sur les fonctions d’ensembles. Ann. Soc. Polon. Math., 6:133–134, 1928.
 [13] Dexter Kozen and Alexandra Silva. Practical coinduction. Mathematical Structures in Computer Science, 27(7):1132–1152, 2016.
 [14] Steven G. Krantz. Handbook of Logic and Proof Techniques for Computer Science. Birkhäuser, 2002.
 [15] Benjamin C. Pierce. Basic Category Theory for Computer Scientists. MIT Press, 1991.
 [16] Benjamin C. Pierce. Types and Programming Languages. MIT Press, 2002.
 [17] Steven Roman. Lattices and Ordered Sets. Springer, 2008.
 [18] Kenneth A. Ross and Charles R. B. Wright. Discrete Mathematics. Prentice Hall, third edition, 1992.
 [19] Davide Sangiorgi. Introduction to Bisimulation and Coinduction. 2012.
 [20] Luigi Santocanale. On the equational definition of the least prefixed point. Theoretical Computer Science, 2003.
 [21] Joseph R. Shoenfield. Mathematical Logic. AddisonWesley, 1967.
 [22] David Spivak. Category theory for the sciences. MIT Press, 2014.
 [23] Alfred Tarski. A latticetheoretical fixpoint theorem and its applications. Pacific Journal of Mathematics, 5:285–309, 1955.
 [24] Rik van Geldrop and Jaap van der Woude. Inductive sets, the algebraic way, 2009.
Comments
There are no comments yet.