# Mutual Coinduction

In this paper we present mutual coinduction as a dual of mutual induction and as a generalization of standard coinduction. In particular, we present a formal definition of mutual induction and mutual coinduction, and in the process we present, and prove, the associated mutual induction and mutual coinduction proof principles. In spite of the existence of some mention of mutual induction in mathematical and programming languages research literature, but the formal definition of mutual (co)induction and the proof of the mutual (co)induction proof principles we present here seem to be the first such definition and proof. As such, to the best of our knowledge, it seems our work is the first to point out that, unlike the case for standard (co)induction, monotonicity is not sufficient for guaranteeing the existence of least and greatest simultaneous fixed points, and that continuity is sufficient for guaranteeing their existence. A main goal behind defining mutual coinduction is to help make transparent what is currently perceived as opaque. In particular, a motivating example behind us formally defining mutual coinduction, and presenting a formulation of it in PL type theory in particular, is the study of the mutually-recursive definitions of the subtyping relation between types and the containment relation between interval types in object-oriented programming. These two relations together, as sets of pairs, seem to form an example of mutually-coinductive sets. As another possible application of mutual coinduction in PL semantics, noting the equivalence of some of the `worst' imperative (and object-oriented) programs to mutually-recursive functional programs hints that mutual coinduction may enable combining the accurate mathematical-reasoning benefits of functional programming with the accurate world-modeling benefits of object-oriented programming.

02/26/2019

### Induction, Coinduction, and Fixed Points in PL Type Theory

Recently we presented a concise survey of the formulation of the inducti...
05/31/2019

### Interaction Trees: Representing Recursive and Impure Programs in Coq (Work In Progress)

We present "interaction trees" (ITrees), a general-purpose data structur...
02/08/2022

### Evolution of SASyLF 2008-2021

SASyLF was released in 2008 and used as a proof assistant in courses at ...
12/25/2018

### Induction, Coinduction, and Fixed Points in Order Theory, Set Theory, (PL) Type Theory, Logic, and Category Theory: A Concise Survey (and Tutorial)

In this paper we present the formulation of the induction and coinductio...
12/19/2011

### What is an OS?

While the engineering of operating systems is well understood, their for...
12/25/2018

### Fixed Points, Induction, and Coinduction in Order Theory, Set Theory, Type Theory, Category Theory, and Logic: A Concise Summary

In this note we present the formulation of the induction and co-inductio...
05/18/2020

### Automatic Knowledge Acquisition for Object-Oriented Expert Systems

We describe an Object Oriented Model for building Expert Systems. This m...

## 1 Introduction

Induction and coinduction, henceforth called standard (co)induction, present mathematical models for (standard) recursive definitions (also called direct recursive or self-recursive definitions). In the same way, mutual induction and mutual coinduction, henceforth called mutual (co)induction, present mathematical models for mutually-recursive definitions, which are sometimes also called indirect recursive definitions or simultaneous recursive definitions.

In other concurrent work we present some practical motivations (from programming languages theory) for defining mutual (co)induction [7], some intuitions for their mathematical definitions as well as examples of their use [6], and possible formulations of mutual (co)induction in other mathematical disciplines [5]. In that work we conclude that: if mutually-recursive functional programs can be reasoned about mathematically, then also imperative and object-oriented programs (even the worst such programs) can be reasoned about mathematically. Interested readers are invited to check this concurrent work.

This article is structured as follows. We first motivate the formal definition of mutual (co)induction by presenting in 2 the formal definitions of standard (co)induction, in the context of order theory. Then we present in 3 the order-theoretic definitions of mutual (co)induction and we present the mutual (co)induction proof principles. (We present proofs for the lemmas and theorems of 3 in Appendix A.) We briefly discuss some work related to ours in 4, then we conclude and discuss some possible future work in 5.

Our work here is a followup on our earlier introductory work in [2, 4, 3]. In addition to the practical motivations mentioned above (whose interest in we started in [1]), the work presented here has also been motivated by that earlier introductory work.

## 2 Standard Induction and Coinduction

The formulation of standard induction and standard coinduction and related concepts we present here is a summary of the formulation presented in [2, 2.1].

Let (‘is less than or equal to’) be an ordering relation over a set and let be an endofunction over (also called a self-map over , i.e., a function whose domain and codomain are the same set, thus mapping a set into itself).

Given a point , the point is called the -image of .

A point is called a pre-fixed point of if its -image is less than or equal to it, i.e., if

 F(P)≤P.

Dually, a point is called a post-fixed point of if it is less than or equal to its -image, i.e., if

 P≤F(P).

A point is called a fixed point of if it is equal to its -image, i.e., if

 P=F(P).

(A fixed point of is simultaneously a pre-fixed point of and a post-fixed point of .)

Now, if is a complete lattice over and if is a monotonic endofunction over (then called a generator), then the least pre-fixed point of , called , exists in and is also the least fixed point (lfp) of , and the greatest post-fixed point of , called , exists in and is also the greatest fixed point (gfp) of .

Further, for any element we have:

• (standard induction)co if , then ,
which, in words, means that if is a pre-fixed/inductive point of , then point is less than or equal to (since , by definition, is the least -inductive point), and,

• (standard coinduction) if , then ,
which, in words, means that if is a post-fixed/coinductive point of , then point is less than or equal to point (since , by definition, is the greatest -coinductive point).

See [12, 26, 2].

## 3 Mutual Induction and Mutual Coinduction

Intuitively-speaking, compared to standard (co)induction, mutual (co)induction simply involves two or more mappings between two or more ordered sets. That’s all. In this paper, for simplicity, we focus only on the case involving just two mappings (also called generators) between two posets. As we define it below, our definition of mutual induction can be extended easily to involve more than two orderings, more than two underlying sets, and more than two mappings between the ordered sets. Also, it should be noted that in some practical applications of mutual (co)induction the two orderings, and their underlying sets, may happen to be the same ordering and set. For proper mutual (co)induction, however, there has to be at least two mutual generators/mappings between the two ordered sets.111Standard induction is then obtained as a special case of mutual induction by having one ordering and one underlying set and also having one of the two generators—or, more accurately, all but one of the generators—to be the identity function. See also Footnote 4.

Also intuitively-speaking, the mutual induction and mutual coinduction proof principles are expressions of the properties of two points that are together (i.e., simultaneously) least pre-fixed points of each of the two generators and of two points that are together greatest post-fixed points of each of the two generators. As such they generalize the standard induction and standard coinduction proof principles. As is the case for standard (co)induction, in case the orderings are complete lattices and the mappings are continuous (thereby called generators or mutual generators), these two least simultaneous pre-fixed points and two greatest simultaneous post-fixed points will also be mutual fixed points (sometimes also called simultaneous or reciprocal fixed points) of the generators. (For a glimpse see Figures 3.13.2, and 3.3.)

#### Formulation

Let be an ordering relation over a set and let be an ordering relation over a set . Further, let and be mutual endofunctions over and (also called indirect or reciprocal self-maps over and , i.e., two functions where the domain of the first is the same as the codomain of the second and vice versa, such that each of the two posets is mapped into the other).222As in [2], we are focused on unary functions in this article because we are interested in discussing fixed points and closely-related concepts such as induction and coinduction, to which multi-arity seems to make little difference. For more details, see the brief discussion on arity and currying in [2]. Note that given two mutual endofunctions and we can always compose and to get the (standard) endofunctions and .333Upon seeing these compositions, readers familiar with category theory may immediately suspect a possible connection with adjunctions. That possibility of a connection will increase when readers check the definitions below, of simultaneous pre-fixed points and simultaneous post-fixed points. We intend to dwell on the possibility of such a connection in future work (or in later versions of this article).,444Note that if we have (the two underlying sets are the same), (with the same orderings), and if (or , where is the identity function), then we obtain standard (co)induction as a special case of mutual (co)induction. In particular, all definitions presented below will smoothly degenerate to their standard counterparts (i.e., will correspond to ones for standard (co)induction. See 2).

Given points and , the points and are called the -image of and the -image of , respectively.

Two points , are called simultaneous (or mutual or reciprocal) pre-fixed points of and if the -image of is less than or equal to and the -image of is less than or equal to (that is, intuitively, if “the images of the two points are less than the two points themselves”), i.e., if

 F(O)⊑P and G(P)≤O.

Simultaneous pre-fixed points are also called mutually-inductive points of and . See Figure 3.1 for an illustration of simultaneous pre-fixed points.

• It should be immediately noted from the definition of simultaneous pre-fixed points that, generally-speaking, a single point can be paired with more than one point such that and form a single pair of simultaneous pre-fixed points of and . Symmetrically, a single point can also be paired with more than one point to form such a pair. See Figure 3.2 for an illustration.

• As such, two functions and that compute these sets of points in and , respectively, can be derived from and . In particular, we have

 PreFPF,G(O)={P∈P|F(O)⊑P and G(P)≤O}, and
 PreFPG,F(P)={O∈O|F(O)⊑P and G(P)≤O}.

Note that for some points , the sets can be the empty set , meaning that such points are not paired with any points in so as to form simultaneous pre-fixed points of and . Symmetrically, the same observation holds for some points and their images .555Note that in standard induction—or, more accurately, in the encoding of standard induction using mutual induction—(ultimately due to the transitivity of and ) it can be said that a standard pre-fixed point is “paired” with one point, namely itself, to form a pair of simultaneous pre-fixed points that encodes the standard pre-fixed point. In other words, standard pre-fixed points in standard induction, when encoded as mutual induction, correspond to simultaneous pre-fixed points (e.g., using the encoding of we mentioned in Footnote 4), and vice versa (i.e., simultaneous pre-fixed points, in such an encoding, will correspond to standard pre-fixed points).

Dually, two points , are called simultaneous (or mutual or reciprocal) post-fixed points of and if is less than or equal to the -image of and is less than or equal to the -image of (that is, intuitively, if “the two points are less than their two own images”), i.e., if

 P⊑F(O) and O≤G(P).

Simultaneous post-fixed points are also called mutually-coinductive points of and .

• Like for simultaneous pre-fixed points, a point or can be paired with more than one point of the other poset to form a single pair of simultaneous post-fixed points of and . (Similar to and , two functions and that compute these sets can be derived from and .)

Two points , are called simultaneous (or mutual or reciprocal) fixed points of and if the -image of is equal to and the -image of is equal to , i.e., if

 F(O)=P and G(P)=O.

(As such, two simultaneous fixed points of and are, simultaneously, simultaneous pre-fixed points of and and simultaneous post-fixed points of and .)

• Unlike for simultaneous pre-fixed and post-fixed points, a point in or in can be paired with only one point of the other poset to form a pair of simultaneous fixed points of and .

Unlike the case for standard (co)induction where the monotonicity of generators is enough to guarantee the existence of least and greatest standard fixed points, due to the possibility of multiple pairings in and , the monotonicity of two mutual endofunctions and is not enough for proving the existence of least and greatest simultaneous fixed points of and . Rather (as can be seen in the proofs in Appendix A), it is the continuity of the mutual endofunctions and that guarantees the existence of such fixed points. Hence, before proceeding with the formulation of mutual (co)induction we now introduce the important and useful concept of continuity.

###### Definition 1 (Continuous Mutual Endofunctions).

Two mutual endofunctions and defined over two posets and are continuous mutual endofunctions if and only if for all subsets and whenever greatest lower bounds (also called glbs) and and least upper bounds (also called lubs) and exist then the corresponding points , , , and also exist (in and in ), and further, more significantly, we have

 ⊓F(M)=F(∧M) and ∧G(N)=G(⊓N), and
 ⊔F(M)=F(∨M) and ∨G(N)=G(⊔N).

As such, if two mutual endofunctions and are continuous then they are said to preserve glbs and lubs of and , whenever these points exist.666In category theory jargon, if and are continuous then and are said to commute with the meet/glb () and join/lub () operations. (Even though somewhat similar, but the notion of continuity used here is stricter and more uniform than the notion of Scott-continuity that is used in domain theory, which requires mappings to preserve only lubs/joins of only directed subsets [27, 16, 8, 14, 11].)

Figure 3.3 illustrates meet-continuous (also called semi-continuous) mutual endofunctions and , which preserve the glbs in and whenever they exist. Dually, join-continuous mutual endofunctions preserve the lubs in and whenever they exist. Mutual endofunctions are (fully) continuous if and only if they are meet-continuous and join-continuous.

The continuity of two mutual endofunctions has a number of useful implications, which we will need to prove that continuity guarantees the existence of least and greatest simultaneous fixed points.

• First, if and are continuous mutual endofunctions then and are also monotonic mutual endofunctions (Lemma 1 in Appendix A).

• Note that if and are monotonic but not continuous then only we can assert that the points and are lower bounds of the sets of points and but not that they are necessarily the greatest lower bounds of these sets, and we can also assert that the elements and are upper bounds of the two sets, respectively, but not that they are necessarily the least upper bounds of these sets. More precisely, if and are monotonic (but not necessarily continuous) then we have

 ⊔F(M)⊑F(∨M)%and∨G(N)≤G(⊔N).

Compared to monotonicity, as such, the continuity of and can be seen as requiring or asserting the equality of these points whenever they exist, intuitively thereby “allowing no elements in between”. Continuity, thus, is said to allow functions and that “have no jumps” or “have no surprises”. (See [6] for intuitions on mutual continuity.)

• Second, if and are continuous mutual endofunctions, then the compositions and are (standard) continuous endofunctions, and they are monotonic endofunctions too (Lemma 2 in Appendix A).

• Further, if and are complete lattices, then the composition functions and (like any standard monotonic endofunctions over complete lattices) have standard pre-fixed points and standard post-fixed points in and respectively. Even further, the components and of simultaneous fixed points of and are always, each component individually, among the standard fixed points of the compositions and (Lemma 3 in Appendix A). The converse does not necessarily hold, however.

• Third, if and are continuous mutual endofunctions then and (and their compositions) map complete lattices to complete lattices (note that, by definition, the empty set is not a complete lattice, and that a singleton poset is a trivial complete lattice). In other words, if subsets and happen to be complete sublattices of and then and are complete sublattices of and respectively (Lemma 4 in Appendix A).

• Fourth and finally, if and are continuous mutual endofunctions, then for all and the posets and are complete lattices (Lemma 5 in Appendix A). Continuity also guaranteesthe existence of least simultaneous pre-fixed points (Lemma 6 in Appendix A), and we use it to prove that these are also the least simultaneous fixed points (Theorem 1 (The Simultaneous Fixed Points Theorem). in Appendix A).777Note that singleton posets are trivial complete lattices. As such, this condition is already satisfied in an encoding of standard (co)induction using mutual (co)induction. That is because in such an encoding a given pre-fixed point is an element that is paired with precisely one element, namely itself, to form a pair of simultaneous pre-fixed points. Thus, in mutual (co)induction encodings of standard (co)induction, the sets , , , and are always either or singleton posets for all and all ..

Having made a digression to discuss the continuity of mutual endofunctions, and some of its implications, we now resume our formulation of mutual (co)induction.

Now, if is a complete lattice over and 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 similarly for , , and in ) and if and are continuous mutual endofunctions over and then we have the following:

• and are called simultaneous generating functions (or simultaneous generators or mutual generators or reciprocal generators),

• the least simultaneous pre-fixed points of and , called and , exist in and ,

• together, the points and are also the least simultaneous fixed points of and (as we prove in Theorem 1 (The Simultaneous Fixed Points Theorem).),

• the greatest simultaneous post-fixed points of and , called and , exist in and , and

• together, the points and are also the greatest simultaneous fixed points of and (as we prove in Theorem 1 (The Simultaneous Fixed Points Theorem).).

Further, given that and are the least simultaneous pre-fixed points of and and and are the greatest simultaneous post-fixed points of and , for any element and we have:

• (mutual induction)co if and , then and ,
which, in words, means that if and are simultaneous pre-fixed/inductive/large points of and , then points and are less than or equal to and (i.e., and are the smallest simultaneously-large points of and ), and,

• (mutual coinduction) if and , then and ,
which, in words, means that if and are simultaneous post-fixed/coinductive/small points of and , then points and are less than or equal to points and (i.e., and are the largest simultaneously-small points of and ).

## 4 Related Work

The work closest to the one we present here seems to be that of Paulson, presented e.g. in [22], to support the development of the Isabelle [21] proof assistant. We already mentioned in 1 the influence of Paulson’s work on motivating our definition of mutual coinduction (we discuss this motivation, and others, in more detail in [7]). Due to Paulson’s interest in providing semantics for datatypes in functional programming languages (in ML, particularly), which are largely structurally-typed and structurally-subtyped, Paulson was interested in the set-theoretic definition of standard (co)induction and mutual (co)induction [23]. Given that our interest is in providing semantics for datatypes in object-oriented programming languages (in Java, particularly), which are typically nominally-typed and nominally-subtyped, we are interested more in the order-theoretic and the category-theoretic formulations of mutual (co)induction (see [5] and also [4, 3, 7]).

More technically, it seems that Paulson was interested in only requiring generators (i.e., datatype constructors) to be monotonic (as opposed to requiring continuity, which is sometimes viewed as an undesirably strong assumption [25, p.72]), and that, as such, Paulson used monotonic generators over the powerset of a disjoint sum domain so as to define (or, rather, encode) set-theoretic mutual (co)induction using set-theoretic standard (co)induction888In spite of Paulson noting an order-isomorphism between (the powerset of a disjoint sum) and (the product of powersets), in our opinion the use of the disjoint sum in Paulson’s definition of mutual (co)induction (demonstrated, e.g., in the examples of [23, 4.5]) is both unnatural, and unintuitive. In our opinion, using the disjoint sum seems to have directed Paulson’s definition of mutual (co)induction into complexity (despite an explicit desire for avoiding it) and has unnecessarily negatively-impacted the definition due to this unnaturality and unintuitiveness.. In his work, it thus seems to us, Paulson, possibly for some practical considerations, was not interested in considering the continuity condition of generators that we used to prove the existence of least and greatest simultaneous fixed points. Moreover, in [23, p.33] Paulson inaccurately asserted that the standard Fixed Point Theorem has been proven (in Isabelle?) ‘only for a simple powerset lattice,’ which made Paulson limit the applicability of the theorem to such “simple powerset lattices” when the theorem indeed be applies to any complete lattice [12, 9] (note that the product of complete lattices is a complete lattice), not just to a particular instance of them (i.e., to powerset lattices).

Given this difference between our work and Paulson’s work in how mutual (co)induction is formulated, we anticipate that results in both works (i.e., ours and Paulson’s, particularly regarding the definition of simultaneous fixed points) may not agree and may not be in one-to-one correspondence with each other. We, however, keep a more detailed comparison of our work to that of Paulson—that may reveal more similarities and resolve the differences between the two formalizations—for future work.

[15, 18, 29, 10, 17, 9, 28, 20, 19, 13]

## 5 Conclusion and Future Work

Standard induction (which includes the standard, and widely-known, notions of mathematical induction and structural induction) is well-known, and it is relatively easy reason about. Mutual induction is also known, if somewhat lesser than standard induction. Mutual induction is a bit harder to reason about than standard induction however. Additionally, standard coinduction is also known, but it is a bit shrouded in mystery and unreasonability (likely due to its strong connections with negation) [19, 4]. Mutual coinduction—the main topic of this article–is, however, almost unknown, and has (so far) been perceived as being both mysterious and hard to reason about. It is our hope, though, that this article and other related ones [6, 5, 7] have made mutual coinduction more familiar, less mysterious, and also a bit simpler to reason about.

Going further, while the continuity condition on generators in our formulation of mutual (co)induction is sufficient for proving the existence of least and greatest simultaneous fixed points in complete lattices (while monotonicity is insufficient), but it is not clear to us whether (full) continuity is necessary for such a proof. As a possible future work, it may be useful to consider possibilities for relaxing the continuity condition, while still guaranteeing the existence of simultaneous fixed points. It may be useful to also consider the effect of having other more liberal continuity conditions (such as Scott-continuity) on the existence of simultaneous fixed points, or to study simultaneous pre-fixed points and simultaneous post-fixed points that are not necessarily fixed points (as is done, for example, in the study of algebras and coalgebras in category theory).

As another possible future work that builds on the definition of mutual coinduction we presented here, it may be useful to consider infinite mutual coinduction, which, as we perceive it, generalizes mutual coinduction to involve an infinite (countable, or even uncountable!) number of orderings and generators. As of the time of this writing, we are not aware of immediate applications of infinite mutual coinduction. Given the mystery surrounding both coinduction and some particular areas of science, we conjecture though that infinite mutual coinduction (if it is indeed reasonably definable) may have applications in areas of science such as quantum physics, e.g., by it offering mathematical models of quantum phenomena such as superposition, entanglement, and/or interference999For example, Penrose calls in [24] for some new kind of mathematics for having an accurate understanding of our universe. Perhaps infinite mutual coinduction is a piece of such “new math.”. Inline with this conjecture, we also intuit and conjecture that infinite mutual coinduction may have an impact on quantum computing, including reasoning about quantum programs and quantum software.

## Appendix A Lemmas, Theorems and Proofs

In this appendix we present proofs for the lemmas and theorems of 3.

### a.1 Supporting Lemmas

###### Lemma 1 (Continuous Functions are Monotonous).

If and are continuous mutual endofunctions over posets and then and are also monotonic, i.e., for all

 O1≤O2⟹F(O1)⊑F(O2)

and for all

 P1⊑P2⟹G(P1)≤G(P2).
###### Proof.

Let such that (i.e., in Definition 1, take where ). From the definition of (as a greatest lower bound), we particularly have

 ⨅F({O1,O2})=⨅{F(O1),F(O2)}⊑F(O2). (A.1)

By the continuity of , we also have . Given that , we have and thus, further, we have . As such, we have . Substituting for (the l.h.s.) in (A.1), we get , as required.

Similarly for .∎

###### Lemma 2 (Composition Preserves Monotonicity and Continuity).

If and are monotonic (continuous) mutual endofunctions over posets and , then the compositions and are monotonic (continuous) endofunctions over and respectively.

###### Proof.

By substitution, since and for all , then, by the monotonicity of then that of , we have

 O1≤O2⟹F(O1)⊑F(O2)⟹G(F(O1))≤G(F(O2)),

i.e., that is monotonic.

Similarly, for all , the monotonicity of then of implies

 P1⊑P2⟹G(P1)≤G(P2)⟹F(G(P1))⊑F(G(P2)),

i.e., that is monotonic.

Using a very similar but much more tedious argument we can prove that composition preserves continuity too.∎

###### Lemma 3 (Components of Simultaneous Fixed Points are Standard Fixed Points of Compositions).

If and are monotonic mutual endofunctions over posets and , then the components of their simultaneous pre-/post-/fixed points are standard pre-/post-/fixed points of the compositions and .

###### Proof.

For each pair of points and of simultaneous pre-fixed points of and , by the definition of simultaneous pre-fixed points we have both inequalities

 F(O)⊑P and G(P)≤O.

Applying to both sides of the first inequality, the monotonicity of implies that .101010Note that continuity is not needed here. Combining this with the second inequality via the common expression , we have

 G(F(O))≤G(P)≤O.

Then, by the transitivity of ,

 G(F(O))≤O

i.e., point is a standard pre-fixed point of the composition .

Symmetrically, by applying to both sides of the second inequality, the monotonicity of implies that

 F(G(P))⊑F(O)⊑P.

and thus, by the transitivity of , point is a standard pre-fixed point of the composition . (See Figure A.1 for illustration.)

A dual argument implies that components of simultaneous post-fixed points of and are standard post-fixed points of and respectively.

Combining both results implies that components of simultaneous fixed points of and are also standard fixed points of and .∎

###### Lemma 4 (Continuous Functions Preserve Complete Lattices).

If and are continuous mutual endofunctions over posets and , then for all subsets and , if and are complete sublattices of and then the images and are also complete sublattices of and , respectively.

###### Proof.

First, let’s consider the case where is a complete lattice. By the definition of a complete lattice, the points and exist in for all subsets . As such, the points and exist in , and, accordingly, by the definition of , are also members of . By the continuity of , we also have and . As such, for any image set a greatest lower bound, , and a least upper bound, , exist. Further, because of the continuity of , these two points are members of . Thus, all subsets of have images of their glbs and lubs in . That by itself does not, however, prove that the set is a complete lattice, yet.

To prove that is a complete lattice, we have to prove that the points and exist in for all sets . Given that is subset of , the image of , then there exists some (one or more) set such that . Pick one such set .111111Sounds like the Axiom of Choice is needed here. Then, for that particular , we have and . Since we proved that for all sets the points and are members of , we conclude that and are members of for all sets . As such, the set is a complete lattice.

Next, by a symmetric argument, if is a complete lattice then, by the continuity of , the set is also a complete lattice, as required.∎

###### Lemma 5 (Component Images of Simultaneous Pre-/Post-Fixed Points form Complete Lattices).

If and are continuous mutual endofunctions over complete lattices and , then, for all and , the component image sets , , , and , as defined in 3, are either empty or are complete lattices.

###### Proof.

For a point such that is nonempty, define

 PO=PreFPF,G(O)={P∈P|F(O)⊑P and G(P)≤O}.

Since is a complete lattice, the set (as a subset of ) has a greatest lower bound and a least upper bound that are members of . To prove that itself is a complete lattice, first we prove that these two points (i.e., the glb and lub of ) are members of .

Let’s note that for all points where is non-empty we always have the point as a member of . That’s because, by the reflexivity of , we have . Further, using Lemma 3, we have . As such, by the definition of simultaneous pre-fixed points, the points and are simultaneous pre-fixed points of and .121212This brings one of the most delicate points in proving the mutual (co)induction principles. Note that and are not necessarily simultaneous pre-fixed points for all , but that, according to Lemma 3, points and are simultaneous pre-fixed points only whenever there is some (possibly equal to , and possibly not) such that and are simultaneous pre-fixed points of and , i.e., such that witnesses, via , that . In particular, it is not necessarily true that for all we have (Otherwise, all elements would have formed simultaneous pre-fixed points of and , simply by pairing each with . This goes counter to intuitions about mutual (co)induction, since it would eventually lead to concluding that all points of —and similarly of —are simultaneous fixed points of and !). Readers should be aware of this delicate and tricky point specific to mutual (co)induction. That’s because this point has no counterpart in standard (co)induction (or, at least, has no obvious counterpart, since in an encoding of standard (co)induction using mutual (co)induction, where say , we will have only if ). Hence, . Given that, by the definition of , the point is less than or equal to all members of , we have

 ⊓PO=F(O),

and, as such, the greatest lower bound of is a member of , i.e., we have as needed.

For , we prove that it is a member of more directly, using the definition of and the continuity of . As for any member of , for to be a member of we must have and . The first condition is satisfied since we just proved that is exactly , and, as for any set, we have whenever such points exist, and as such we have . For the second condition (this is where continuity is needed), we have by continuity. Since, by the definition of , all members of are less than or equal to , then is an upper bound of . As such, we have . Hence, for , we have , as required. Hence, as needed.

Since the greatest lower bound of and the least upper bound of are members of , so far we can assert that the set is a bounded poset.

To prove that is not only a bounded poset but, rather, that it is a complete lattice, we have to also consider proper subsets of . The argument for proper subsets of is very similar to the one we just used for (as an improper subset of itself). In particular, let be some proper subset of (i.e., is some set of points of that, paired with , are simultaneous pre-fixed points of and ). Again, since is a complete lattice, the elements and exist. We proceed to prove that these points are also members of .

In particular, to be members of the two points and have to satisfy the membership condition of , i.e., they have to form, when paired with , simultaneous pre-fixed points of and . Again using the continuity of , we can see that this is true since, like we had for and , we have

 F(O)⊑⊓N and G(⊓N)=∧G(N)≤O, and
 F(O)⊑⊔N and G(⊔N)=∨G(N)≤O.

As such, points and are members of . Thus, is a complete lattice.

Using a symmetric argument and the continuity of , we can also prove that the set is either empty or is a complete lattice for all . (Figure A.1 illustrates the sets and .)

Dually, we can also prove that, for all and , the sets and are either empty or are complete lattices, as required.∎

###### Lemma 6 (Components of Pre-/Post-Fixed Points form Complete Lattices).

If and are continuous mutual endofunctions over complete lattices and , then the sets

 C={O∈O|∃P∈P.F(O)⊑P and G(P)≤O}, and (A.2)
 D={P∈P|∃O∈O.F(O)⊑P and G(P)≤O} (A.3)

of all components of simultaneous pre-fixed points are complete sublattices of and , respectively. Similarly for simultaneous post-fixed points.

###### Proof.

First, let’s note that the definitions of and mean that is the set of all where there is some such that the -image of is less than and the -image of is less than and, symmetrically, that is the set of all where there is some such that the -image of is less than and the -image of is less than . (As such, the variables and in Equations (A.2) and (A.3) range over the set of all simultaneous pre-fixed points of .)

Note also that and , but that Lemma 5 does not (by itself) imply that and are complete lattices, since the union of complete lattices is not necessarily a complete lattice.

We do proceed, though, similarlyto first prove that is a meet-complete lattice. Particularly, assuming , we prove that . Since is a complete lattice, the point exists in , and since is a subset of then the image set is a subset of (by the definition of ). By continuity, we have . Also, let the set be the set of all points in that form simultaneous pre-fixed points when paired with some point in . Given that for each point there exists a point such that and (by the definition of simultaneous fixed points), then the meet of all points is less than or equal to the meet of all points , i.e., we have . Using a similar argument, we also have . By continuity, substituting for and we have

 F(⋀A)⊑⨅B and G(⨅B)≤⋀A.

As such, for all , the point , when paired with the point , forms a pair of simultaneous pre-fixed points of and , and is thus a member of . As such, is a meet-complete lattice. (Figure A.2 illustrates the proof for subsets of and that have two elements.)

Dually, we can prove that set is also a join-complete lattice (with the point , the top element of , at its top). Hence, set is a meet-complete lattice and a join-complete lattice, i.e., is a complete lattice.

Symmetrically, or by using Lemma 4, we can prove that set also is a complete lattice (with the point , the top element of , at its top). As such, the sets of all components of simultaneous pre-fixed points are complete lattices.

Dually, we can also prove that the two sets and of all components of simultaneous post-fixed points—i.e., duals of sets and —are complete lattices (with the points and at their bottom), as required. ∎

### a.2 The Simultaneous Fixed Points Theorem

The following theorem, asserting the existence of least and greatest simultaneous fixed points, is the central theorem of this paper.131313To the best of our knowledge, neither mutual (co)induction as we define it in this paper nor a proof of the Simultaneous Fixed Points Theorem have been presented formally before.

###### Theorem 1 (The Simultaneous Fixed Points Theorem).

If and are two complete lattices and and are two continuous mutual endofunctions (i.e., two simultaneous generators) over and then we have the following:

• the least simultaneous pre-fixed points of and , called and , exist in and ,

• and are also the least simultaneous fixed points of and ,

• the greatest simultaneous post-fixed points of and , called and , exist in and , and

• and are also the greatest simultaneous fixed points of and .

###### Proof.

Let the set

 C={O∈O|∃P∈P.F(O)⊑P and G(P)≤O}

and the set

 D={P∈P|∃O∈O.F(O)⊑P and G(P)≤O}

be the sets of all components of simultaneous pre-fixed points of and , and let points be defined as

 μF = ⋀OF(O)⊑P and G(P)≤O=⋀C (A.4) μG = ⨅PF(O)⊑P and G(P)≤O=⨅D. (A.5)

By Lemma 6, points are guaranteed to exist as the least elements of and . By the antisymmetry of and , we can conclude that

 F(μF)=μG and G(μG)=μF. (A.6)

First, we note that because is the least element of and thus, according to the definition of simultaneous pre-fixed points (and as noted in the proof of Lemma 5), its image is less than any element of , including the point , but, second, also we note that since is the least element of and thus is less than any point in , including the point . By the antisymmetry of , we conclude that .

Symmetrically, we also have .

As such, the points and are simultaneous fixed points of and . They are also the least simultaneous pre-fixed points of and since, by Equation (A.6), less-demandingly we have

 F(μF)⊑μG and G(μG)≤μF,

meaning that points and are simultaneous pre-fixed points of and , and, by the individual uniqueness and minimality of each of and (as the meets of the complete lattices and ), points and are the least such points.

Now we have established both that form the least simultaneous pre-fixed points of and , and that are simultaneous fixed points of and , so are the least simultaneous fixed points of and .

Using a dual argument, we can also prove that , where sets and are the duals of sets and (see proof of Lemma 6), are the greatest simultaneous fixed points of , as required.∎