This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Behavioral Mereology: A Modal Logic for Passing Constraints

Brendan Fong    David Jaz Myers    David I. Spivak
Abstract

Mereology is the study of parts and the relationships that hold between them. We introduce a behavioral approach to mereology, in which systems and their parts are known only by the types of behavior they can exhibit. Our discussion is formally topos-theoretic, and agnostic to the topos, providing maximal generality; however, by using only its internal logic we can hide the details and readers may assume a completely elementary set-theoretic discussion. We consider the relationship between various parts of a whole in terms of how behavioral constraints are passed between them, and give an inter-modal logic that generalizes the usual alethic modalities in the setting of symmetric accessibility.

1 Introduction

Many thinkers, from Heidegger to Isham and Döring have asked “What is a thing?” [Hei68, DI10]. Heidegger for example says,

From the range of the basic questions of metaphysics we shall here ask this one question: What is a thing? The question is quite old. What remains ever new about it is merely that it must be asked again and again.

In this article, our way of asking about things is focused on the mereological aspect of things, i.e. the relationship between parts and wholes. The point of departure is that, at the very least, a part affects a whole: “when you pull on a part, the rest comes with.” For example, wherever my left hand is, my right hand is not far away. A whole then, has the property that it coordinates constraints—or said another way, it enables constraints to be passed—between parts. In this article, we present a logic for constraint passing.

Our approach has roots in categorical logic, and in particular Lawvere’s observation that existential and universal quantification can be characterized as adjoints to pullback, in any topos. In particular, a system, or more evocatively a behavior type BSB_{S}, will be a set which we imagine as the set of ways a system can behave over time. If SS is a dynamical system, then we may think of BSB_{S} as the set of lawful trajectories of this system.111More generally, we may take a behavior type to be an object in any topos [MM92]. This allows behavior types which where the behaviors may vary in time (or space). Since we don’t expect our audience to know any topos theory, and since all the ideas we describe will make sense in any topos, we will use the language of sets through this paper, and leave experts to make the topos-theoretic translation themselves. We are inspired here by Willem’s behavioral approach to control theory (see \citesWillems:1998aWillems:2007aWillems.Polderman:2013a).

We work behavior-theoretically; to paraphrase Gump, “X is as X does”. We associate to a system SS its set BSB_{S} of possible behaviors — BSB_{S} is the behavior type of SS. If PP is a part of our system SS, then if we know the total behavior of SS we also know the behavior of PP; so, we have a function |P:BSBP|_{P}:B_{S}\to B_{P} which we think of as “restricting” the behavior bBSb\in B_{S} of SS to the behavior b|PBPb|_{P}\in B_{P} of PP. However, we are considering PP as a part of SS, so every behavior of PP must come from some behavior of the whole system SS; so, the restriction map |P:BSBP\big{|}_{P}\colon B_{S}\to B_{P} must be surjective.

We use this analysis of parthood to define a part of the system SS to be a quotient of BSB_{S}, i.e. a surjection BSBPB_{S}\twoheadrightarrow B_{P} from the behavior type. This surjection describes how a behavior of the entire system determines a behavior of the part, and any behavior of the part qua part must extend to the behavior of the whole: for any behavior of my hand, there exists at least one compatible behavior of my whole body. Given a behavior on one part, we can consider all possible extensions to the whole, and subsequently ask how those extensions restrict to behaviors of other parts. In this way one part may constrain another.

To describe the logic of these constraints, we introduce two new logical operators, or “inter-modalities”, closely related to the classical “it is possible that” and “it is necessary that” modalities, known as the alethic modalities [Kri63]. We view a constraint ϕ\phi on a part PP as a predicate on the behaviors of PP — the predicate “satisfies the constraint ϕ\phi”. We may ask whether satisfying this predicate allows, or whether it ensures, various behaviors on another part BQB_{Q}: the constraint ϕ\phi is passed in these two ways from PP to QQ. To be a bit more explicit, the first new operator is called allows, written QPϕ\Diamond_{Q}^{P}\phi. This describes the set of behaviors in BQB_{Q} for which there exists an extension in BSB_{S} that restricts to some behavior satisfying ϕ\phi. The second is the operator ensures, written QPϕ\Box_{Q}^{P}\phi. This describes the set of behaviors in BQB_{Q} for which all extensions to BSB_{S} restrict to some behavior satisfying ϕ\phi in BPB_{P}. Our goal in this paper is to describe the properties of these inter-modalities (“inter” because they go from one part to another), and to demonstrate their utility with some elementary examples.

Our inter-modalities allow us to faithfully express concepts of the behavioral approach to control theory as expressed in Willems’ Open Dynamical Systems and their Control [Wil98]. In particular:

  • A time-invariant system SS is controllable if and only if for any two behaviors b1b_{1} and b2b_{2}, there is a time delay DD such that the behavior b1|<0b_{1}|_{<0} restricted to time before 0 and b2|>Db_{2}|_{>D} restricted to time after DD are compatible in the sense of Definition 4.

  • If b1b_{1} is a behavior of a part PP of SS and b2b_{2} a behavior of part QQ of SS, then b1b_{1} is observable from b2b_{2} if and only if b1b_{1} determines b2b_{2} in the sense of Definition 9.

  • If CC is the constraint a controller PP places on the behavior of a plant QQ, then the controlled behavior is the constraint QPC\Diamond_{Q}^{P}C of behaviors of QQ which are allowed by CC in the sense of Definition 14.

  • The control problem is the problem of choosing a constraint CC on PP so that a constraint ϕ\phi of the plant QQ is satisfied. The universal solution to this problem is given by the constraint PQϕ\Box_{P}^{Q}\phi of behaviors on PP which ensure that QQ behaves according to ϕ\phi, in the sense of Definition 14.

We believe the logic for constraint passing presented in this paper can be a useful tool for formalizing arguments in the behavioral approach to control theory.

2 Systems and Their Parts: Behavioral perspective

When we constrain a part of a system, we are constraining what it does. This suggests that we should model a system by its type of possible behaviors, its behavior type.

2.1 Systems as behavior types

Luckily, we won’t need to settle on what precisely a behavior type is, so long as we can reason about it logically. For this, we need the behavior type of our system and its parts to be objects in a topos; then, we can use the internal logic of the topos to reason about our behavior types. A topos can be understood as a system of variable sets; in our case, this allows us the freedom to have sets varying in time, in space, or according to different observers. We will just work in the topos of sets and functions, leaving it to the experts to extend the theory to arbitrary toposes.

So, a behavior type is simply a set whose elements are regarded as possible behaviors of a system. We can think of it as the “phase space” of our system, in a general sense. This terminology is inspired by Willem’s behavioral approach to control theory [WP13], which describes a dynamical system as a subset BWTB\subseteq W^{T} of lawful trajectories parameterized by time TT in some value space WW. The set BB is the behavior type of this system, where a behavior of the system is simply a lawful trajectory. Many of our examples follow this general form.

Example 1.

We will present a few running examples of systems considered in terms of their behavior types. Let’s introduce them now.

  • Consider a bicycle. The bicycle pedals might be moving at some speed pp, and the bicycle wheels might be moving at some speed ww, both real numbers. If the pedal is pushing at a certain speed, then the wheels are moving at a least a constant multiple of that speed. Therefore, we will take the behavior type of our bicycle to be

    B:={(p,w)×wrp}B:=\{(p,w)\in\operatorname{\mathbb{R}}\times\operatorname{\mathbb{R}}\mid w\geq rp\}

    for some fixed ratio rr\in\operatorname{\mathbb{R}}.

  • Consider a glass of water placed in a room of temperature RR. The glass of water has temperature TtT_{t}\in\operatorname{\mathbb{R}} for every time tt\in\operatorname{\mathbb{N}}. By Newton’s principle, the temperature of the water satisfies the following simple recurrence relation:

    Tt+1=Tt+k(RTt).T_{t+1}=T_{t}+k(R-T_{t}).

    Therefore, the behavior type of this glass of water is

    B:={TTt+1=Tt+k(RTt)}.B:=\{T\in\operatorname{\mathbb{N}}\to\operatorname{\mathbb{R}}\mid T_{t+1}=T_{t}+k(R-T_{t})\}.
  • Consider an ecosystem consisting of foxes and rabbits. At any given time tt\in\operatorname{\mathbb{N}}, there are ftf_{t} foxes and rtr_{t} rabbits, where we mask our uncertainty about the precise population by allowing these to be arbitrary real values, rather than integer values. The population of the species at time t+1t+1 is determined by its population at time tt, according to the relation Rt(f,r)R_{t}(f,r) given by the following standard recurrences:

    ft+1\displaystyle f_{t+1} =(1df)ft+cfrtft,and\displaystyle=(1-d_{f})f_{t}+c_{f}r_{t}f_{t},\quad\text{and}
    rt+1\displaystyle r_{t+1} =(1+br)rtcrrtft.\displaystyle=(1+b_{r})r_{t}-c_{r}r_{t}f_{t}.

    This is known as the Lotka–Volterra predator–prey model, but we could use any model. Here dfd_{f} is the death rate of the foxes, brb_{r} is the birth rate of rabbits, and cfc_{f} and crc_{r} are rates at which the consumption of rabbits by foxes affect their respective populations. From here, we take the behavior type of this ecosystem to be

    B:={(f,r):×t.Rt(f,r)}.B:=\{(f,r):\operatorname{\mathbb{N}}\to\operatorname{\mathbb{R}}\times\operatorname{\mathbb{R}}\mid\forall t.\,R_{t}(f,r)\}.

2.2 Parts as quotients of behavior type

If we know a whole system SS (say, my body) is behaving like bb, then we also know how any part PP of SS (say, my hand) is behaving: we just look at what PP is doing while SS does bb. In other words, there should be a restriction function, which we denote |P:BSBP\big{|}_{P}\colon B_{S}\to B_{P}, from the behavior type of the whole system to the behavior type of the part.

Moreover, every behavior of a part PP will arise from some behavior of the whole system: how could a part of the system do something if the system as a whole had no behaviors in which PP was doing that thing? Remember, we are considering the part PP as a part of the system SS, not on its own: my hand, not a severed hand. If we sever PP from the system SS, it may be able to behave in ways that have no extension to SS. But as a part of the system SS, every behavior of the PP must be restricted from a behavior of SS. We will give examples below, but first a definition.

Definition 2.

The behavior type of a part of a system SS is a surjection |P:BSBP\big{|}_{P}\colon B_{S}\to B_{P} out of BSB_{S} which we call the “restriction from SS to PP”. We define the category of parts of BSB_{S} to have as objects the parts of SS and as morphisms the commuting triangles

BS{B_{S}}BP{B_{P}}BQ{B_{Q}}|P\scriptstyle{|_{P}}|Q\scriptstyle{|_{Q}}|Q\scriptstyle{|_{Q}}

Note that if such a map BPBQB_{P}\to B_{Q} exists, then it will be unique and a surjection. If there is such a map, we write PQP\geq Q and say that QQ is a part of PP. This gives a preorder on parts, which we refer to as the lattice of parts of SS.222We will see in Section 2.4 that it is indeed a lattice.

For example, suppose that a system SS is divided into a plant PP and a controller CC. For example, BSB_{S} might be {α:p+c(α)}\{\alpha:\operatorname{\mathbb{R}}\to\operatorname{\mathbb{R}}^{p+c}\mid\operatorname{\mathcal{L}}(\alpha)\} a set of p+cp+c real variables satisfying a dynamical law ff, the first pp of which concern the plant PP and the last cc of which concern the controller CC. Then BPB_{P} would be {ρ:pγ:c.(ρ,γ)}\{\rho:\operatorname{\mathbb{R}}\to\operatorname{\mathbb{R}}^{p}\mid\exists\gamma:\operatorname{\mathbb{R}}\to\operatorname{\mathbb{R}}^{c}.\,\operatorname{\mathcal{L}}(\rho,\gamma)\} of pp real variables for which there is some extension of cc variables (the behavior of the controller) which is valid according to the dynamical law. The projection map p+cp\operatorname{\mathbb{R}}^{p+c}\to\operatorname{\mathbb{R}}^{p} gives a surjection from BSBPB_{S}\twoheadleftarrow B_{P}, witnessing that the plant is a part of the whole system.

In practice, we may have certain parts of SS in mind, and so we may consider a sublattice of that defined in Definition 2.

Remark 1.

Definition 2 may look a little backwards. Usually a “part” is a subset; here we have defined a part to be a quotient. What we have defined to be a part is often called a partition (of BSB_{S}).

What is happening here is a well-known “space/function” duality: we are not considering the system SS as some sort of object in space, but rather its type of behaviors BSB_{S}. Often, the behaviors BSB_{S} of a system SS may be realized as functions on some sort of space SS; this gives us a contravariance in SS, which we see in the definition of part QQ is part of PP if there is a map “going the other way,” BPBQB_{P}\to B_{Q}.

Example 3.

Here are some examples of parts.

  • The two parts of the bicycle under consideration are the pedal and the wheel. Explicitly, the behavior types of these parts of the bicycle are the types of all possible behaviors which arise as some behavior of the whole bicycle:

    B\displaystyle B :={pw.(p,w)B},\displaystyle:=\{p\in\operatorname{\mathbb{R}}\mid\exists w.(p,w)\in B\},
    B\displaystyle B :={wp.(p,w)B}.\displaystyle:=\{w\in\operatorname{\mathbb{R}}\mid\exists p.(p,w)\in B\}.

    In this case, every real number is a possible speed of the pedal, and every real number a possible speed of the wheel.

  • In the system of the cup of water sitting in the room, there is just one thing we are considering the behavior of: the cup. But, we can see this behavior at many different times. For every time tt\in\operatorname{\mathbb{N}}, we get a part t of the cup at time tt with behaviors

    Bi:={xTB.Tt=x}.B_{{}_{i}}:=\{x\in\operatorname{\mathbb{R}}\mid\exists T\in B.\,T_{t}=x\}.

    In fact, for any set DD\subseteq\operatorname{\mathbb{N}} of times, we get the behavior type of the cup during DD:

    BD:={xDTB.dD.Td=xd}.B_{{}_{D}}:=\{x\in D\to\operatorname{\mathbb{R}}\mid\exists T\in B.\,\forall d\in D.\,T_{d}=x_{d}\}.
  • The ecosystem consisting of foxes and rabbits is more complicated than the cup, but the principle is the same. We can consider the system at different times, and restrict our attention to just foxes or rabbits as we please. In particular, we let t be the system of foxes at time tt, and t be the system of rabbits at time tt. These have behavior types

    Bt\displaystyle B_{{}_{t}} :={x(f,r)B.ft=x},\displaystyle:=\{x\in\operatorname{\mathbb{R}}\mid\exists(f,r)\in B.\,f_{t}=x\},
    Bt\displaystyle B_{{}_{t}} :={x(f,r)B.rt=x}.\displaystyle:=\{x\in\operatorname{\mathbb{R}}\mid\exists(f,r)\in B.\,r_{t}=x\}.

A surjection |P:BSBP\big{|}_{P}\colon B_{S}\to B_{P} out of a set may equally be presented by its kernel pair, the equivalence relation on BSB_{S} where bPbb\sim_{P}b^{\prime} iff b|P=b|Pb\big{|}_{P}=b^{\prime}\big{|}_{P}. We may call this relation observational equivalence; the behaviors b,bb,b^{\prime} with bPbb\sim_{P}b^{\prime} are observationally equivalent relative to PP. This is clearest when thinking of PP as some measuring device in a larger system; two behaviors of the whole system are observationally equivalent relative to our measuring device when it measures them to be the same. Two behaviors of my body are hand-equivalent if they are indistinguishable by looking at my hand; and two times are clock-equivalent when they read the same on the clock face.

There is essentially (i.e. up to isomorphism) no distinciton between a quotient of BSB_{S} and an equivalence relation on BSB_{S}. Thus we are defining parts of SS to be equivalence relations on SS-behaviors. This seems to be a novel approach to mereology, though we cannot claim to know the literature well enough to be sure.

2.3 Compatibility

Now we turn our attention to how behaviors of various parts of the system relate to one another. The most basic relation between behaviors of two parts is that of being simultaneously realizable by a behavior of the whole system. We call this relation compatibility.

Definition 4.

If PP and QQ are parts of SS, then we say behaviors aBPa\in B_{P} and bBQb\in B_{Q} are compatible, denoted 𝔠(a,b)\mathfrak{c}(a,b), if there is a behavior sBSs\in B_{S} of the whole system that restricts to both aa and bb, i.e.

𝔠(a,b):sS.a=s|Ps|Q=b.\mathfrak{c}(a,b):\equiv\exists s\in S.\,a=s\big{|}_{P}\,\wedge\,s\big{|}_{Q}=b.

Generally, if aiPia_{i}\in P_{i} is some family of behaviors indexed by a set II, then this family is said to be compatible if there is an sSs\in S such that s|Pi=ais\big{|}_{P_{i}}=a_{i} for all iIi\in I.

In other words, two behaviors (one on each of two parts) are compatible if there is a behavior of the whole system that restricts to both of them.

Example 5.

Examples of compatible behaviors are easily obtained by restricting a single system behavior to two parts.

  • In the bicycle example, we see that a speed pp of the pedal is compatible with a speed ww of the wheel if and only if wrpw\geq rp:

    𝔠(p,w)=wrp.\mathfrak{c}(p,w)=w\geq rp.
  • In the cup of water example, a temperature T0BtT^{0}\in B_{{}_{t}} at time tt is compatible with a temperature T1BtT^{1}\in B_{{}_{t^{\prime}}} at a later time tt^{\prime} are compatible if and only if T1T^{1} follows from T0T^{0} via the recurrence relation. In particular, if t=t+1t^{\prime}=t+1, then

    𝔠(T0,T1)=(T1=T0+k(RT0)).\mathfrak{c}(T^{0},T^{1})=(T^{1}=T^{0}+k(R-T^{0})).
  • In the ecosystem example, we have a number a different comparisons to choose from. A fox population f0Btf^{0}\in B_{{}_{t}} at time tt is compatible with f1Bt+1f^{1}\in B_{{}_{t+1}} at time t+1t+1 if and only if there is simultaneous rabbit population r0r^{0} so that f1=(1df)f0+cfr0f0f^{1}=(1-d_{f})f^{0}+c_{f}r^{0}f^{0}.

    Two simultaneous fox and rabbit populations are compatible if and only if there is some history of the ecosystem which achieves those population at that time. In particular, any two populations of foxes and rabbits at time 0 are compatible.

2.4 Compatibility and the lattice of parts

We can express some of the parts-lattice operations in terms of the compatibility relation.

Proposition 6.

The meet PQP\cap Q of parts PP and QQ of SS has behavior type given by the following pushout.

BS{B_{S}}BP{B_{P}}BQ{B_{Q}}BPQ{B_{P\cap Q}}

\urcorner

In other words, a behavior of PQP\cap Q is either a behavior of PP or a behavior of QQ, where these are considered equal if they are compatible.

BPQBP+BQ𝔠.B_{P\cap Q}\cong\frac{B_{P}+B_{Q}}{\mathfrak{c}}.

Here, BP+BQB_{P}+B_{Q} is the disjoint union of these two sets, and we are quotienting out by the smallest equivalence relation for which pqp\sim q whenever 𝔠(p,q)\mathfrak{c}(p,q).

Dually, the join PQP\cup Q has behaviors given by the image factorization of the induced map BSBP×BQB_{S}\to B_{P}\times B_{Q}.

BS{B_{S}}BP{B_{P}}BPQ{B_{P\cup Q}}BQ{B_{Q}}BP×BQ{B_{P}\times B_{Q}}

In other words, a behavior of PQP\cup Q is a pair of compatible behaviors from PP and from QQ.

BPQ{(a,b)BP×BQ|𝔠(a,b)}.B_{P\cup Q}\cong\{(a,b)\in B_{P}\times B_{Q}|\mathfrak{c}(a,b)\}.

Furthermore, the largest part \top is SS, and the smallest part \bot is empty if SS is empty and a singleton otherwise.

Definition 7.

A part PP is strongly disjoint from a part QQ if every behavior of PP is compatible with every behavior of QQ. The two parts PP and QQ are disjoint if their intersection PQP\cap Q is the minimal part. Strongly disjoint parts are disjoint:

aBP.bBQ.𝔠(a,b)BPQ=\forall a\in B_{P}.\,\forall b\in B_{Q}.\,\mathfrak{c}(a,b)\quad\Rightarrow\quad B_{P\cap Q}=\bot

In general, we will be more interested in joins than in meets because joins are easier to work with (being subsets of a product, rather than quotients of a disjoint union by a non-transitive relation).

Example 8.

Let’s consider some examples of joins and meets of parts.

  • In the example of the bicycle, note that we have

    B=B,B=B_{\cup},

    since a behavior of the bicycle was defined precisely to be a behavior of a pedal and a wheel satisfying a compatibility constraint.

  • In the example of the cup of water, the behaviors BDB_{{}_{D}} over a duration DD\subset\operatorname{\mathbb{N}} of times are the union of the behaviors BdB_{{}_{d}} for each time dDd\in D:

    BD=Bd.B_{{}_{D}}=B_{\bigcup_{d}}.
  • Similarly, in the ecosystem example, the parts of the ecosystem at various times are the join of parts at particular times. More interestingly, recall that every behavior of 0 (starting population of foxes) is compatible with every behavior of 0 (starting population of rabbits). Therefore,

    B00=B_{{}_{0}\cap_{0}}=\bot

    This witnesses the fact that the parts 0 and 0 do not at all mutually constrain each other, and so have no shared sub-parts.

2.5 Determination recovers the order of parts

Definition 9.

If PP and QQ are parts of SS, and aBPa\in B_{P} and bBQb\in B_{Q}, then aa determines bb if every behavior ss of the whole system SS which restricts to aa also restricts to bb.

𝔡(a,b):sS.s|P=as|Q=b.\mathfrak{d}(a,b):\equiv\forall s\in S.\,s\big{|}_{P}=a\Rightarrow s\big{|}_{Q}=b.

We say that a part PP determines a part QQ if every behavior aBPa\in B_{P}, determines some behavior bBQb\in B_{Q}.

This is a much stronger notion than compatibility, and we shall show in Section 11 that it can be used to recover the original order relation \geq on parts.

Lemma 10.

A behavior always determines uniquely: if 𝔡(a,b)\mathfrak{d}(a,b) and 𝔡(a,b)\mathfrak{d}(a,b^{\prime}), then b=bb=b^{\prime}.

Proof.

We know there is some sSs\in S which restricts to aa. Since aa determines bb and bb^{\prime}, ss restricts to both bb and bb^{\prime}; but then b=bb=b^{\prime}. ∎

Proposition 11.

For parts PP and QQ of SS, the following are equivalent:

  1. 1.

    QQ is a part of PP, i.e. there is a surjection BPBQB_{P}\twoheadrightarrow B_{Q} under BSB_{S}.

  2. 2.

    PP 𝔠\mathfrak{c}-determines QQ, in the sense that for every aBPa\in B_{P} there is a unique bBQb\in B_{Q} such that aa is compatible with bb. In other words, aBP.!bBQ.𝔠(a,b)\forall a\in B_{P}.\,\exists!b\in B_{Q}.\,\mathfrak{c}(a,b).

  3. 3.

    PP 𝔡\mathfrak{d}-determines QQ, in the sense that for every aBPa\in B_{P} there is a bBQb\in B_{Q} such that aa determines bb. In other words, aBP.bBQ.𝔡(a,b)\forall a\in B_{P}.\,\exists b\in B_{Q}.\,\mathfrak{d}(a,b).

  4. 4.

    For all aBPa\in B_{P} and bBQb\in B_{Q}, if aa is compatible with bb, then aa determines bb.

3 Constraints, Allowance, and Ensurance

In this section, we introduce our new logical operators, \Diamond and \Box, and prove some basic properties about them. We shall see in Section 3.2 that these two operators pass constraints between parts. But first, what is a constraint?

3.1 Constraints as predicates

We will identify a constraint ϕ\phi on a part PP with the predicate “satisfies ϕ\phi” on behaviors BPB_{P} of PP. In other words, we have the following definition.

Let Prop\operatorname{\textbf{Prop}} be the two element set {𝚝𝚛𝚞𝚎,𝚏𝚊𝚕𝚜𝚎}\{\mathtt{true},\mathtt{false}\} of truth values. We think of functions ϕ:XProp\phi:X\to\operatorname{\textbf{Prop}} as predicates concerning the elements of XX — applied to xXx\in X, ϕ\phi gives a truth value ϕ(x)\phi(x) which says whether or not xx satisfies the predicate ϕ\phi.

Definition 12.

A constraint on a part PP is a map ϕ:BPProp\phi:B_{P}\to\operatorname{\textbf{Prop}}. The type of constraints on PP is PropP\operatorname{\textbf{Prop}}^{P}. We write

ϕψ\phi\vdash\psi

to mean that ϕ\phi entails ψ\psi, that is, if ϕ(b)=𝚝𝚛𝚞𝚎\phi(b)=\mathtt{true}, then ψ(b)=𝚝𝚛𝚞𝚎\psi(b)=\mathtt{true}.

For parts PQP\geq Q, we get an adjoint triple that allows us to transform constraints on PP to those on QQ, and vice versa, given by the logical quantifiers:

PropBP{\operatorname{\textbf{Prop}}^{B_{P}}}PropBQ{\operatorname{\textbf{Prop}}^{B_{Q}}}QP\scriptstyle{\exists^{P}_{Q}}QP\scriptstyle{\forall^{P}_{Q}}ΔPQ\scriptstyle{\Delta^{Q}_{P}}{\Rightarrow}{\Leftarrow}

These functors are defined logically as follows:

QPϕ(q)\displaystyle\exists^{P}_{Q}\phi(q) :=pBP.((p|Q=q)ϕ(p))\displaystyle:=\exists p\in B_{P}.\,\big{(}(p\big{|}_{Q}=q)\operatorname{\wedge}\phi(p)\big{)}
ΔPQψ(p)\displaystyle\Delta^{Q}_{P}\psi(p) :=ψ(p|Q)\displaystyle:=\psi(p\big{|}_{Q})
QPϕ(q)\displaystyle\forall^{P}_{Q}\phi(q) :=pBP.((p|Q=q)ϕ(p))\displaystyle:=\forall p\in B_{P}.\,\big{(}(p\big{|}_{Q}=q)\Rightarrow\phi(p)\big{)}

The fact that they are adjoint means that

QPϕψ\displaystyle\exists^{P}_{Q}\phi\vdash\psi\quad ϕΔPQψ\displaystyle\iff\quad\phi\vdash\Delta^{Q}_{P}\psi
ΔPQψξ\displaystyle\Delta^{Q}_{P}\psi\vdash\xi\quad ψQPξ\displaystyle\iff\quad\psi\vdash\forall^{P}_{Q}\xi

We will write P\exists_{P}, ΔP\Delta^{P}, and P\forall_{P} for PS\exists^{S}_{P}, ΔSP\Delta^{P}_{S} and PS\forall^{S}_{P} respectively. As mentioned, these operations are functorial, meaning that PP(ϕ)=ΔPP(ϕ)=PP(ϕ)=ϕ\exists^{P}_{P}(\phi)=\Delta^{P}_{P}(\phi)=\forall^{P}_{P}(\phi)=\phi and for RQPR\leq Q\leq P,

RQQP\displaystyle\exists^{Q}_{R}\exists^{P}_{Q} =RP,\displaystyle=\exists^{P}_{R},
ΔQRΔPQ\displaystyle\Delta^{R}_{Q}\Delta^{Q}_{P} =ΔPR,\displaystyle=\Delta^{R}_{P},
RQQP\displaystyle\forall^{Q}_{R}\forall^{P}_{Q} =RP.\displaystyle=\forall^{P}_{R}.
Lemma 13.

Recall that for part PP of system SS we write sPss\sim_{P}s^{\prime} for the relation s|P=s|Ps\big{|}_{P}=s^{\prime}\big{|}_{P} on BSB_{S}. Then for any predicate ϕ\phi on SS we have:

  1. 1.

    ΔPPϕ(s)=s.(sPs)ϕ(s)\Delta^{P}\exists_{P}\phi(s)=\exists s^{\prime}.\,(s\sim_{P}s^{\prime})\wedge\phi(s^{\prime})

  2. 2.

    ΔPPϕ(s)=s.(sPs)ϕ(s)\Delta^{P}\forall_{P}\phi(s)=\forall s^{\prime}.\,(s\sim_{P}s^{\prime})\Rightarrow\phi(s^{\prime})

  3. 3.

    ϕΔPPϕ\phi\vdash\Delta^{P}\exists_{P}\phi and  ΔPPϕϕ\Delta^{P}\forall_{P}\phi\vdash\phi

Thinking again of PP as a way to observe behaviors, ΔPPϕ\Delta^{P}\exists_{P}\phi is the set of system behaviors ss that our observer says plausibly satisfy ϕ\phi: there is something PP-equivalent to ss that satisfies ϕ\phi. And ΔPPϕ\Delta^{P}\forall_{P}\phi is the set of system behaviors that our observer can guarantee satisfy ϕ\phi.

3.2 The allowance and ensurance operators

Now we turn to the question of how constraints on the behavior of some part of the system constrain the behavior of other parts. We discuss two ways to pass constraints between parts.

Definition 14.

A constraint ϕ\phi on a part PP induces a constraint on a part QQ (of the same system SS) in two universal ways:

  • “Allows ϕ\phi”: QPϕ:=QΔPϕ\Diamond_{Q}^{P}\phi:=\exists_{Q}\Delta^{P}\phi

    QPϕ(q)\displaystyle\Diamond_{Q}^{P}\phi(q) =sBS.(s|Q=q)ϕ(s|P)\displaystyle=\exists s\in B_{S}.\,(s\big{|}_{Q}=q)\wedge\phi(s\big{|}_{P})
    =pBP.𝔠(p,q)ϕ(p).\displaystyle=\exists p\in B_{P}.\,\mathfrak{c}(p,q)\operatorname{\wedge}\phi(p).
  • “Ensures ϕ\phi”: QPϕ:=QΔPϕ\Box_{Q}^{P}\phi:=\forall_{Q}\Delta^{P}\phi

    QPϕ(q)\displaystyle\Box_{Q}^{P}\phi(q) =sBS.(s|Q=q)ϕ(s|P)\displaystyle=\forall s\in B_{S}.\,(s\big{|}_{Q}=q)\Rightarrow\phi(s\big{|}_{P})
    =pBp.𝔠(p,q)ϕ(p).\displaystyle=\forall p\in B_{p}.\,\mathfrak{c}(p,q)\Rightarrow\phi(p).

A behavior qq of QQ allows a constraint ϕ\phi on PP if QQ can be doing qq while PP is satisfying ϕ\phi; we write this as QPϕ(q)\Diamond_{Q}^{P}\phi(q). A behavior qq of QQ ensures ϕ\phi on PP if whenever QQ does qq, PP must satisfy ϕ\phi; we write this as QPϕ(q)\Box_{Q}^{P}\phi(q).

These symbols are chosen due to their relation to the usual modalities of possibility (\Diamond) and necessity (\Box) [Kri63]; a behavior qq allows ϕ\phi if it is possible that PP satisfies ϕ\phi while QQ does qq, and a behavior qq ensures ϕ\phi if it is necessary that PP satisfies ϕ\phi while QQ does qq. Indeed, in the case that the accessibility relation in the Kripke frame is an equivalence relation, we will be able to recover the usual possibility and necessity modalities from our allowance and ensurance operators (see Section 3.3).

Note that compatibility and determination appear as particular, pointwise cases of the allowance and ensurance operators. For any pBPp\in B_{P} and qBQq\in B_{Q}, we have

𝔠(p,q)\displaystyle\mathfrak{c}(p,q) =QP(=p)(q)=PQ(=q)(p)\displaystyle=\Diamond_{Q}^{P}(=p)(q)=\Diamond_{P}^{Q}(=q)(p)
𝔡(p,q)\displaystyle\mathfrak{d}(p,q) =PQ(=q)(p)\displaystyle=\Box_{P}^{Q}(=q)(p)

We write (=p)(=p) for the map BPPropB_{P}\to\operatorname{\textbf{Prop}} that sends pp^{\prime} to 𝚝𝚛𝚞𝚎\mathtt{true} if and only if p=pp=p^{\prime}.

Example 15.

We return to our running examples to see our new operators in action.

  • In the example of the bicycle with gear ratio of rr, we can ask what behavior of the pedal is ensured by the wheels moving slower than w=2w=2 mph. We have (2)\Box(\leq 2) is the constraint p2rp\leq\frac{2}{r}.

  • If the cup of water has temperature T00T^{0}\in_{0} at time 0, then it cannot have a temperature further away from the ambient room temperature RR at a later time. Therefore,

    |RTt|>|RT0|¬t0(=T0)(Tt).|R-T^{t}|>|R-T^{0}|\vdash\neg\Diamond_{{}_{t}}^{{}_{0}}(=T^{0})(T^{t}).
  • Suppose that in the ecosystem example, one was given the goal of introducing a fox population at time 0 in order to keep the rabbit population in check after a given deadline dd. Let’s say that being kept in check means being between two fixed bounds,

    rt𝗂𝗇𝖢𝗁𝖾𝖼𝗄(rt):=k1<rt<k2r_{t}\mapsto\mathsf{{inCheck}}(r_{t}):=k_{1}<r_{t}<k_{2}

    so that 𝗂𝗇𝖢𝗁𝖾𝖼𝗄:BtProp\mathsf{{inCheck}}:B_{{}_{t}}\to\operatorname{\textbf{Prop}} is a constraint on rabbits at time tt. The constraint of being kept in check for all times after the deadline dd is the constraint

    rtd.𝗂𝗇𝖢𝗁𝖾𝖼𝗄(rt)r\mapsto\forall t\geq d.\,\mathsf{{inCheck}}(r_{t})

    on the join tdt\bigvee_{t\geq d}{}_{t}. The goal may then be expressed as finding a starting fox population f0f_{0} which ensures that the rabbit population is kept in check at all times after the deadline:

    0tdt(td.𝗂𝗇𝖢𝗁𝖾𝖼𝗄)(f0).\Box_{{}_{0}}^{\bigvee_{t\geq d}{}_{t}}(\forall t\geq d.\,\mathsf{{inCheck}})(f_{0}).
Example 16.

We can see a higher-order ensurance in the ecosystem example. If there are any rabbits at time 0, and if the rabbit population is bounded independent of time, then the rabbits must ensure that there are foxes, and that the foxes ensure there are rabbits:

r00r<kRF(f>0FR(r>0)).r_{0}\geq 0\operatorname{\wedge}r<k\vdash\Box_{R}^{F}(f>0\operatorname{\wedge}\Box_{F}^{R}(r>0)).

If there are no foxes, then the rabbit population is unbounded, and if there are foxes, then there must be rabbits for them to eat. We see that this ecosystem model exhibits a rudimentary form of symbiosis; though the foxes eat the rabbits, they counter-intuitively must ensure that the rabbits do not go extinct, lest they themselves go extinct.

Assuming the law of excluded middle, our operators are inter-definable by conjugating with negation.

Proposition 17.

Assuming Boolean logic, allowance and ensurance are de Morgan duals. That is, ¬QP¬=QP\neg\Diamond_{Q}^{P}\neg=\Box_{Q}^{P}.

Proof.

The proof uses the law of excluded middle twice:

¬QP¬ϕ(q)\displaystyle\neg\Diamond_{Q}^{P}\neg\phi(q) =¬p.𝔠(p,q)¬ϕ(p)\displaystyle=\neg\exists p.\,\mathfrak{c}(p,q)\operatorname{\wedge}\neg\phi(p)
=p.¬(𝔠(p,q)¬ϕ(p))\displaystyle=\forall p.\,\neg(\mathfrak{c}(p,q)\operatorname{\wedge}\neg\phi(p))
=p.¬𝔠(p,q)¬¬ϕ(p)\displaystyle=\forall p.\,\neg\mathfrak{c}(p,q)\operatorname{\vee}\neg\neg\phi(p)
=p.𝔠(p,q)ϕ(p).\displaystyle=\forall p.\,\mathfrak{c}(p,q)\Rightarrow\phi(p).\qed

Note that Proposition 17 does not generalize to arbitrary toposes, where the variation of the sets (in time or in space) means that one must reason constructively in general.

3.3 Allowance and ensurance, possibility and necessity

Finally, we describe the manner in which our intermodalities generalize the classical alethic modalities of possibility and necessity.

Proposition 18.

Let PP and QQ be parts of the system SS and ϕ\phi a constraint on PP. Then:

  1. 1.

    If a constraint ϕ\phi entails ψ\psi, then allowing ϕ\phi entails allowing ψ\psi, and ensuring ϕ\phi entails ensuring ϕ\phi. That is, QP\Diamond_{Q}^{P} and QP\Box_{Q}^{P} are monotone.

  2. 2.

    If qq ensures that PP does ϕ\phi, then qq allows PP doing ϕ\phi. That is, QPϕQPϕ\Box_{Q}^{P}\phi\vdash\Diamond_{Q}^{P}\phi.

  3. 3.

    Allowing ϕ\phi entails ψ\psi if and only if ϕ\phi entails ensuring ψ\psi. That is, QP\Diamond_{Q}^{P} is left adjoint to PQ\Box_{P}^{Q}.

  4. 4.

    QP\Diamond_{Q}^{P} commutes with \operatorname{\vee} and \exists, and QP\Box_{Q}^{P} commutes with \operatorname{\wedge} and \forall.

Fix a part PP. Then for any part QQ, we obtain two modalities on PP by composing our intermodalities from PP to QQ with their corresponding intermodality from QQ to PP.

Proposition 19.

The operators PQQP\Diamond_{P}^{Q}\Diamond_{Q}^{P} and PQQP\Box_{P}^{Q}\Box_{Q}^{P} are a pair of adjoint modalities on PropBP\operatorname{\textbf{Prop}}^{B_{P}}. They are the identity modality if and only if PQP\leq Q.

Proof.

By Proposition 18 item 3, these two modalities are the composites of adjoint pairs of operators, and hence are adjoint themselves. Moreover, PQQP\Diamond_{P}^{Q}\Diamond_{Q}^{P} is the identity if and only if PQQPϕϕ\Diamond_{P}^{Q}\Diamond_{Q}^{P}\phi\vdash\phi for all ϕ\phi, which occurs if and only if QPϕQPϕ\Diamond_{Q}^{P}\phi\vdash\Box_{Q}^{P}\phi for all ϕ\phi, which occurs if and only if PQP\leq Q. ∎

These modalities describe constraints on PP as seen through the part QQ. To obtain a description of possibility and necessity, assume that BSB_{S} is inhabted — that there is some behavior of the system. We let Q=Q=\bot be the system whose behavior type BQ=B_{Q}=\ast consists of just a single element. Then the adjoint modalities

PPleft adjoint toPP\Diamond_{P}^{\bot}\Diamond_{\bot}^{P}\qquad\textrm{left adjoint to}\qquad\Box_{P}^{\bot}\Box_{\bot}^{P}

describe possibility and necessity on BPB_{P}.

For example, for any constraint φ\varphi on BPB_{P}, the constraint PP(φ)\Diamond_{P}^{\bot}\Diamond_{\bot}^{P}(\varphi) maps all elements of BPB_{P} to 𝚝𝚛𝚞𝚎\mathtt{true} if there is some behavior pp that satisfies φ\varphi, and maps all elements to 𝚏𝚊𝚕𝚜𝚎\mathtt{false} otherwise. Thus the modality detects whether φ\varphi is possible: that is, whether there is some behavior that satisfies φ\varphi.

On the other hand, PP(φ)\Box_{P}^{\bot}\Box_{\bot}^{P}(\varphi) is the constraint that maps all elements of BPB_{P} to 𝚝𝚛𝚞𝚎\mathtt{true} if all behaviors pBPp\in B_{P} satisfy φ\varphi, and maps all elements to 𝚏𝚊𝚕𝚜𝚎\mathtt{false} otherwise; thus this modality detects whether φ\varphi is always satisfied, and hence necessary.

More generally, the usual semantics of the “it is possible that” and “it is necessary that” modalities \Diamond and \Box take place in a Kripke frame (W,A)(W,A), where WW is a set, known as the set of worlds, and AA is a binary relation on WW known as the accessibility relation. The predicate then (φ)(w)\Diamond(\varphi)(w) holds if φ(w)\varphi(w^{\prime}) for some ww^{\prime} such that wAwwAw^{\prime}, and (φ)(w)\Box(\varphi)(w) holds if φ(w)\varphi(w^{\prime}) for all ww^{\prime} such that wAwwAw^{\prime} [Kri63]. If AA is an equivalence relation, then we may equivalently describe AA by an epi WW/AW\twoheadrightarrow W/A. In this case, we have =WW/AW/AW\Diamond=\Diamond_{W}^{W/A}\Diamond_{W/A}^{W} and =WW/AW/AW\Box=\Box_{W}^{W/A}\Box_{W/A}^{W} as modalities on PropW\operatorname{\textbf{Prop}}^{W}.

4 Outlook and Conclusion

We have presented a logic that describes how constraints—restrictions on behavior—are passed from one part of a system to another. While we have presented this from a set theoretic point of view, we have taken care to use arguments that are valid in any topos (with the noted exception of Proposition 17, which only holds in boolean toposes). As a consequence, our logic retains its character as a logic of constraint passing across a wide variety of semantics. One possibly valuable notion of semantics is one that captures a notion of time.

Indeed, behavior is best conceived as occurring over time, though of course the question of what time is remains an issue. One can imagine that a system has, for any interval or “window” of time, a set of possible behaviors, and that each such behavior can be cropped or “clipped” to any smaller window of time. This is the perspective of temporal type theory [SS18]. While that work uses topos theory in a significant way, the main idea is easy enough.

Whether we speak of a bicycle, an ecosystem, or anything else that could be said to exist in time, it is possible to consider the set of behaviors of that thing over an interval of time, say over the ten-minute window (0,10)(0,10). Above we often discussed an idea which can be generalized to any system SS that exists in time. Namely, we can consider different parts of time as parts of SS. Given any behavior ss over the 10-minute window, we can clip it to the first minute s|(0,1)s\big{|}_{(0,1)}; this gives a function S(0,10)S(0,1)S(0,10)\to S(0,1), which is often called restriction, though we will continue to call it clipping. Let’s assume that every possible behavior at (0,1)(0,1) extends to some behavior over the whole interval—i.e. that the universe doesn’t just end under certain conditions on (0,1)(0,1)-behavior—at which point we have declared that the clipping function is surjective, and hence gives a part in the sense of section Definition 2. We call it a temporal part.

What then does it mean to pass constraints between temporal parts? The idea begins to take on a control-theoretic flavor: behavioral constraints at one time window may allow or ensure constraints at other time windows. A mother could say “doing this now ensures no dessert tonight”. The child could ask “does our position on the road now allow me to play with Rutherford this afternoon?” A control system could attempt to solve the problem “what values of parameter PP can I choose, 5 seconds from now, that both allow current conditions and ensure that in 10 minutes we will achieve our target?”

In any case, as mentioned in the introduction, our original goal was to understand what makes a thing a thing, e.g. what gives things like bricks the quality of being cohesive (not two bricks) and closed (not the left half of a brick). We believe that a good logic of constraint passing between parts is essential for that, but perhaps not sufficient. The question of what additional structures need to be added or considered in order construct a viable notion of thing, remains future work.

References

  • [DI10] A. Döring and C. Isham ““What is a Thing?”: Topos Theory in the Foundations of Physics” In Lecture Notes in Physics Springer Berlin Heidelberg, 2010, pp. 753–937 DOI: 10.1007/978-3-642-12821-9_13
  • [Hei68] Martin Heidegger “What Is a Thing?” H. Regnery Co., 1968
  • [Kri63] Saul Kripke “Semantical Considerations on Modal Logic” In Acta Philosophica Fennica 16, 1963
  • [MM92] Saunders MacLane and Ieke Moerdijk “Sheaves in Geometry and Logic: A First Introduction to Topos Theory” Springer, 1992
  • [SS18] Patrick Schultz and David I. Spivak “Temporal Type Theory: A topos-theoretic approach to systems and behavior” Springer, Berkhauser, To appear, 2018
  • [Wil07] Jan C Willems “The behavioral approach to open and interconnected systems” In IEEE Control Systems 27.6 IEEE, 2007, pp. 46–99 DOI: 10.1109/MCS.2007.4339280
  • [Wil98] Jan C Willems “Open dynamical systems and their control” In Proceedings of the International Conference of Mathematicians ICM 1998 Berlin: Documenta Mathematica, 1998, pp. 697–706
  • [WP13] Jan C Willems and Jan W Polderman “Introduction to mathematical systems theory: a behavioral approach” Springer Science & Business Media, 2013