This is the third post in the Cartesian frames sequence. Read the first post here.

This post will introduce the standard equivalence relations we’ll be using for Cartesian frames. Our primary interest will be in homotopy equivalence, which will allow us to classify frames according to their agents’ and environments’ effect on possible worlds.

1. Isomorphism

Before defining homotopy equivalence, I want to define isomorphism between Cartesian frames.

Definition: A morphism (g,h):C→D is an isomorphism if both g and h are bijective. If there is an isomorphism between C and D, we say C≅D.

Claim:≅ is an equivalence relation.

Proof: Reflexivity is trivial because the identity is an isomorphism. For symmetry, we have that if (g,h) is an isomorphism from C to D, then (g−1,h−1) is an isomorphism from D to C. Transitivity follows from the fact that bijection is transitive. □

Claim:C≅D if and only if there is a pair of morphisms ϕ:C→D and ψ:D→C that compose to the identity morphism in both orders.

Proof: If C≅D, we have (g,h):C→D with both g and h bijective, and we can take ϕ=(g,h) and ψ=(g−1,h−1).

Conversely, if (g1,h1)∘(g0,h0) is the identity morphism on C=(A,E,⋅), then g1∘g0 is the identity on A, so g0 must be injective. Similarly, h0∘h1 is the identity on E, so h0 must be surjective. Surjectivity of g0 and injectivity of h0 follow similarly from the fact that (g0,h0)∘(g1,h1) is the identity on D. □

Isomorphism is pretty intuitive. It is basically saying that it doesn’t matter what the possible agents and possible environments are, other than how they interact with the evaluation function.

We will basically always be working up to at least isomorphism. For example, in the last post (“Additive Operations on Cartesian Frames”), we noted that ⊕ and & are commutative and associative up to isomorphism.

2. Homotopy Equivalence

2.1. Homotopic Morphisms

Our initial definition of homotopy equivalence will be devoid of interpretation, but the meaning will become clear later.

We say that two morphisms from C to D are homotopic if you can take the first function from the first morphism and the second function from the second morphism, and the resulting object is still a morphism.

Definition: Two morphisms (g0,h0),(g1,h1):C→D with the same source and target are called homotopic if (g0,h1) is also a morphism.

Note that the mere existence of two morphisms from C to D doesn’t entail that those morphisms are homotopic. Consider the frame C0=(A,E,⋅) given by

C0=e0e1a0a1(w1w0w0w1).

There are two morphisms from C0 to itself: the identity morphism (idA,idE):C0→C0, and a morphism (g,h):C0→C0 that flips C0’s rows and columns, sending a0 to a1, a1 to a0, e0 to e1, and e1 to e0. These two morphisms are not homotopic, because neither (idA,h) nor (g,idE) is a morphism.

Being homotopic is an equivalence relation on morphisms. (As such, in the above example it would have been superfluous to demonstrate that both (idA,h) and (g,idE) aren’t morphisms.)

Claim: Homotopic is an equivalence relation.

Proof: Let (gi,hi):(A,E,⋅)→(B,F,⋆).

Reflexivity is trivial. For symmetry, we want to show that if (g0,h0), (g1,h1), and (g0,h1) are all morphisms, then so is (g1,h0). Indeed, for all a∈A and f∈F,

g1(a)⋆f=a⋅h1(f)=g0(a)⋆f=a⋅h0(f).

For transitivity, we want to show that if (g0,h0), (g0,h1), (g1,h1), (g1,h2), and (g2,h2) are all morphisms, then so is (g0,h2). Indeed, for all a∈A and f∈F,

g0(a)⋆f=a⋅h1(f)=g1(a)⋆f=a⋅h2(f).

□

Being homotopic is also respected by composition.

Claim: If ϕ0:C0→C1 is homotopic to ϕ1:C0→C1, and ψ0:C1→C2 is homotopic to ψ0:C1→C2, then ψ0∘ϕ0 is homotopic to ψ1∘ϕ1.

Proof: Let Ci=(Ai,Ei,⋅i), let ϕi=(gi,hi), and let ψi=(ji,ki). We want to show that (j0∘g0,h1∘k1) is a morphism. Indeed, since (g0,h1) and (j0,k1) are morphisms,

j0(g0(a))⋅2f=g0(a)⋅1k1(f)=a⋅0h1(k1(f)).

□

Next, we define when two Cartesian frames are homotopy equivalent in the standard way.

2.2. Homotopy Equivalence

Homotopy equivalence relies on the existence of morphisms between C and D that we can compose in either order and end up with something that is homotopic to the identity morphism.

Definition:C is homotopy equivalent to D, written C≃D, if there exists a pair of morphisms ϕ:C→D and ψ:D→C such that ψ∘ϕ is homotopic to the identity on C and ϕ∘ψ is homotopic to the identity on D.

Claim:≃ is an equivalence relation.

Proof: Reflexivity is trivial, by taking ψ=ϕ to be the identity. Symmetry is also trivial by swapping ϕ and ψ.

For transitivity, assume that for i=0,1, we have ϕi:Ci→Ci+1 and ψi:Ci+1→Ci such that ϕi∘ψi and ψi∘ϕi are homotopic to the identity. It suffices to show that ϕ0∘ϕ1∘ψ1∘ψ0 and ψ1∘ψ0∘ϕ0∘ϕ1 are both homotopic to the identity. In both cases, since composition respects what is homotopic, we have that the inner pair of morphisms cancels, and then the outer pair of morphisms cancels. □

Note that homotopy equivalence is weaker than isomorphism.

Claim: If C≅D, then C≃D.

Proof: Trivial. □

We now have the homotopy equivalence relation on Cartesian frames, but no real philosophical interpretation. To understand the meaning of ≃, we will first need to define biextensional collapse.

3. Biextensional Equivalence

3.1. Biextensionality

Definition: A Cartesian frame C=(A,E,⋅) is called biextensional if whenever a0,a1∈A are such that a0⋅e=a1⋅e, for all e∈E, we have a0=a1, and whenever e0,e1∈E are such that a⋅e0=a⋅e1, for all a∈A, we have e0=e1.

This is basically saying that a Cartesian frame is biextensional if all of its possible agents and possible environments are distinct when viewed as functions from environment to world and functions from agent to world respectively. The agent doesn’t have two options that invariably produce the same outcomes as each other, nor does the environment.

Viewed as a matrix, C is biextensional if all of its rows and columns are distinct.

We have the following lemma that hints at the relationship between biextensionality and homotopy equivalence.

Lemma: Let C and D be biextensional Cartesian frames. Then, C≃D if and only if C≅D.

Proof: The “if” direction is trivial. For the “only if” direction, let C=(A,E,⋅) and D=(B,F,⋆) be two biextensional Cartesian frames, and let C≃D. Thus, there is a pair of morphisms (g,h):C→D and (j,k):D→C such that (j∘g,h∘k) is homotopic to the identity on C, and (g∘j,k∘h) is homotopic to the identity on D. Thus (j∘g,idE) and (g∘j,idF) are both morphisms, where idS is the identity on the set S. This means that j(g(a))⋅e=a⋅e for all a and e, which since C is biextensional implies that j∘g is the identity on A. Similarly, since (g∘j,idF) is a morphism, we have that g∘j is the identity on B. Thus g:A→B is a bijection.

By the symmetry of homotopic, we also have that (idA,k∘h) and (idB,h∘k), which similarly gives us that k∘h is the identity on E and h∘k is the identity of F, so h:F→E is a bijection. Thus, C≅D. □

Thus, we now understand how to interpret homotopy equivalence for biextensional Cartesian frames: it is equivalent to isomorphism.

To understand homotopy equivalence in general, we will first show how to collapse any Cartesian frame into a biextensional one.

3.2. Biextensional Collapse

Given a Cartesian frame C=(A,E,⋅), we can define an equivalence relation on A that says two possible agents are equivalent if they implement the same function from E to W; and we can similarly say that two elements of E are equivalent if they implement the same function from A to W.

Definition: Given a Cartesian frame C=(A,E,⋅), for a0,a1∈A, we say a0∼a1 if a0⋅e=a1⋅e for all e∈E. For e0,e1∈E, we say that e0∼e1 if a⋅e0=a⋅e1 for all a∈A.

Claim:∼ is an equivalence relation on A and on E .

Proof: Trivial. □

Definition: Given a Cartesian frame C=(A,E,⋅), for a∈A, let ^a denote the equivalence class of a up to ∼. Let ^A denote the set of equivalence classes of ∼ in A. Similarly, for e∈E, let ^e denote the equivalence class of e up to ∼, and let ^E denote the set of equivalence classes of ∼ in E.

Definition: Given a Cartesian frame C=(A,E,⋅), the biextensional collapse of C, denoted ^C, is the Cartesian frame (^A,^E,^⋅), where ^a^⋅^e=a⋅e.

Claim:^C is well-defined.

Proof: We need to show that ^⋅ is well defined, meaning we need to show that for all a0∼a1 and e0∼e1, we have that a0⋅e0=a1⋅e1. This is immediate from the definition of ∼. □

Viewed as a matrix, ^C is basically formed from C by deleting any duplicate rows and any duplicate columns. It doesn’t matter whether you delete duplicate rows or duplicate columns first. After doing both, you will end up with a matrix with no duplicates.

Claim: ^C is biextensional for all Cartesian frames C.

Proof: Let C=(A,E,⋅). We want to show that for all ^a0≠^a1∈^A, there exists an ^e∈^E such that ^a0^⋅^e≠^a1^⋅^e. Indeed, since ^a0≠^a1, we have that a0≁a1, so there exists an e∈E such that a0⋅e≠a1⋅e, which gives us that ^a0^⋅^e≠^a1^⋅^e. Similarly, for all ^e0≠^e1∈^E, there exists an ^e∈^E such that ^a^⋅^e0≠^a^⋅^e1. □

Claim:C is biextensional if and only if C≅^C.

Proof: If C is biextensional, then all equivalence classes up to ∼ on both A and E are singletons. Thus, the morphism (g,h):C→^C given by g(a)=^a and h(^e)=e is well-defined, and both g and h are bijective, so C≅^C.

Conversely, if C≅^C, then C is isomorphic to a biextensional Cartesian frame, and since biextensionality is clearly preserved by isomorphism, C is also biextensional. □

3.3. Biextensional Equivalence

We can now (finally) use biextensional collapse to give an intuitive meaning to homotopy equivalence.

Claim:C≃D if and only if ^C≅^D.

Proof: It suffices to show that C≃^C for all Cartesian frames C. Then, we will have that if C≃D, then ^C≃C≃D≃^D. Since homotopy equivalence is the same as isomorphism on biextensional Cartesian frames, this gives ^C≅^D. And conversely, if ^C≅^D then C≃^C≅^D≃D, so C≃D.

Let C=(A,E,⋅). We want to show that C≃^C. We do this by constructing a pair of morphisms (g,h):C→^C, and (j,k):^C→C. We will define g:A→^A by a↦^a, and k:E→^E by e↦^e. For h:^E→E, and j:^A→A, we can send each equivalence class to any one member of that class. The choice does not matter.

Now, we want to show that (g∘j,k∘h) is homotopic to the identity on ^C, and that (j∘g,h∘k) is homotopic to the identity on C. The first case is trivial, since g∘j and k∘h are the identity on ^A and ^E respectively.j∘g and h∘k need not be the identity on A and E, but j(g(a))∼a and h(k(e))∼e for all a∈A and e∈E. To show that (j∘g,h∘k) is homotopic to the identity on C, we just need to show that (j∘g,idE) is a morphism, where idE is the identity on E. However, this just means that j(g(a))⋅e=a⋅e for all a∈A and e∈E, which follows from the fact that j(g(a))∼a. □

We now have that two Cartesian frames are homotopy equivalent if and only if their biextensional collapses are isomorphic. Thus, when C and D are homotopy equivalent, we will also call them biextensionally equivalent.

Definition: We say C and D are biextensionally equivalent if C≃D.

When working up to biextensional equivalence, we are basically saying that we are ignoring any multiplicity in the space of possible worlds and possible environments.

Claim: Each biextensional equivalence class contains a unique biextensional Cartesian frame.

Proof: Each biextensional equivalence class has at least one element, C, and ^C is in the same equivalence class as C and is biextensional, so there must be at least one biextensional Cartesian frame in the class. If there were two biextensional Cartesian frames, they would have to be isomorphic, because isomorphic is equivalent to biextensional equivalence on biextensional Cartesian frames. □

From my perspective, the value of this equivalence relation is that it lets us be less realist about possible agents and possible environments, and instead just care about differences between possible worlds.

This fits well with our general approach in this sequence. Cartesian frames are particular ways of looking at the world and mentally carving it up into an agent component and an environment component, but we allow many different carvings, and we do not give any one carving privileged status as the “true” carving. Thus, we put less weight on our conception of the agent and environment, and more weight on the worlds themselves.

Giving less realism to possible agents/environments also fits with the fact that “worlds” may include details about the agent and environment, “possible agents” may specify features of the agent beyond its “actions,” and so on.

Imagine an agent with two unrelated choices: which color to think about (green G, or red R) and whether to go for a walk or stay home (W or H). This yields the possible agents A={GH,GW,RH,RW}. The environment either is safe or has bears: E={S,B}. If we represent this scenario with the Cartesian frame

C0=SBGHGWRHRW⎛⎜
⎜
⎜⎝w0w1w2w3w4w5w6w7⎞⎟
⎟
⎟⎠,

then the possible worlds w0 and w4 differ only in which thought the agent is thinking; likewise w1 and w5, etc.

We could have instead described a frame

C1=SBGHGWRHRW⎛⎜
⎜
⎜⎝w8w9w10w11w8w9w10w11⎞⎟
⎟
⎟⎠,

in which case we would not be treating the agent’s thoughts as a relevant difference between possible worlds.^{1} But we have the option of fully representing “agent-internal” properties using possible worlds, just the same as “environment-internal” properties. As such, we don’t need to separately reify possible agents or possible environments.

3.4. Example

One reason there are two definitions here is because the homotopy definition is easier to work with categorically, while the biextensionality definition is easier to work with directly with matrices.

Let C0 and C1 be the Cartesian frames given by:

C0≅⎛⎜⎝w0w1w1w2w3w3w0w1w1⎞⎟⎠ and C1≅⎛⎜⎝w2w3w2w0w1w0w2w3w2⎞⎟⎠.

Note that when working up to isomorphism, there is no need to label the rows or columns.

We can then see that C0≃C1 because

^C0≅^C1≅(w0w1w2w3).

To verify the equivalence using the the homotopy definition would be far more tedious.

3.5. Relationship to Additive Operations

Since we will often want to work with Cartesian frames up to biextensional equivalence, it will be helpful to know that all of our additive operations respect biextensional equivalence.

Claim: If C0≃C1 and D0≃D1, then C∗0≃C∗1, C0⊕D0≃C1⊕D1, and C0&D0≃C1&D1.

Proof: It is clear from the definition of biextensional collapse that ^− commutes with −∗. Thus since ^C0≅^C1, we have ^C∗0≅^C∗1, so C∗0≃C∗1.

For the rest, it suffices to show that if C0≃C1, then C0⊕D≃C1⊕D. Then, since ⊕ is symmetric up to isomorphism, we have

C0⊕D0≃C1⊕D0≅D0⊕C1≃D1⊕C1≅C1⊕D1,

and using the fact that ⊕ and & are De Morgan dual, we have

C0&D0≅(C∗0⊕D∗0)∗≃(C∗1⊕D∗1)∗≅C1&D1.

We will use the homotopy equivalence definition. Let Ci=(Ai,Ei,⋅i) and let D=(B,F,⋆). Let (g0,h0):C0→C1 and (g1,h1):C1→C0 compose to something homotopic to the identity in both orders. We want to construct a (g′0,h′0):C0⊕D→C1⊕D and (g′1,h′1):C1⊕D→C0⊕D, that similarly compose to something homotopic to the identity in both orders. We will take g′i:Ai⊔B→A1−i⊔B to be given by g′i(a)=gi(a) if a∈Ai, and g′i(a)=a if a∈B. Similarly, we will take h′i:E1−i×F→Ei×F to be given by h′i(e,f)=(hi(e),f).

Without loss of generality, it suffices to show that (g′0,h′0) is a morphism and that (g′1,h′1)∘(g′0,h′0) is homotopic to the identity on C0⊕D. The fact that (g′1,h′1) is a morphism and (g′0,h′0)∘(g′1,h′1) is homotopic to the identity will follow symmetrically. Let ⋄i=Eval(Ci⊕D).

To show that (g′0,h′0) is a morphism, observe that for all a∈A0 and (e,f)∈E1×F, we have

To show that (g′1,h′1)∘(g′0,h′0) is homotopic to the identity on C0⊕D, we just need that for all a∈A0⊔B and all (e,f)∈E0×F, we have a⋄0(e,f)=g′1(g′0(a))⋄0(e,f). Indeed, if a∈B, then a=g′1(g′0(a)), and if a∈A0, then

a⋄0(e,f)=a⋅0e=g1(g0(a))⋅0e=g′1(g′0(a))⋄0(e,f).

□

Image is also clearly preserved by biextensional equivalence.

Claim: If C≃D, then Image(C)=Image(D).

Proof: Trivial from the biextensional collapse definition. □

4. Some Small Cartesian Frames

We will now classify all biextensional Cartesian frames (and thus biextensional equivalence classes of Cartesian frames) in which the agent’s size is at most one and/or the environment’s size is at most one.

Definition:null is the Cartesian frame ({},{},⋅) with empty agent, empty environment, and empty evaluation function.

If you have an empty Cartesian frame—one with no image, no elements of W—then it must be biextensionally equivalent to either null, 0, or ⊤.

Claim: If |Agent(C)|=0 and |Env(C)|≠0, then C≃0. If |Env(C)|=0 and |Agent(C)|≠0, then C≃⊤. If |Agent(C)|=|Env(C)|=0, then C≃null.

Proof: If |Agent(C)|=0 and |Env(C)|≠0, then all environments are equivalent up to ∼, so ^C has one possible environment and no possible agents, so ^C≅0, so C≃0. Similarly, if |Env(C)|=0 and |Agent(C)|≠0, all agents are equivalent up to ∼, so ^C≅⊤ and C≃⊤. If |Agent(C)|=|Env(C)|=0, then C is already equal to null. □

Claim: The only three biextensional Cartesian frames C with Image(C)={} are 0, ⊤, and null.

Proof: A Cartesian frame has empty image if and only if it has empty agent or empty environment.All three of 0, ⊤, and null are clearly biextensional, and any other Cartesian frame with empty image is biextensionally equivalent to one of them, and so cannot be biextensional. □

We now understand all biextensional Cartesian frames with empty agent or empty environment. Let’s look at the case where either the agent or environment is a singleton.

1S is the biextensional Cartesian frame you get when the agent has only one option, and the frame’s image is some set of possible worlds S. Since Env(1S) will be in bijective correspondence with S=Image(1S) and the labels on Env(1S) don’t matter, we will identify Env(1S) with S.

Definition: Given S⊆W, 1S is the Cartesian frame 1S=({a},S,⋆), where a⋆s=s for all s∈S. 1 is the Cartesian frame 1W.

We can think of 1S as the perspective of a bystander who has no control, and is just observing which world the environment brings about.

⊥S is the transpose of 1S, where the environment has only one option and the agent’s options are S. You can think of ⊥S as a powerful agent facing no obstacles, beyond being constrained to S: it gets to choose exactly what world we’re in.

Definition: Given S⊆W, ⊥S is the Cartesian frame ⊥S=(S,{e},⋆), where s⋆e=s for all s∈S. ⊥ is the Cartesian frame ⊥W.

The names 1 and ⊥ will make more sense later, when we define multiplicative operations on Cartesian frames.^{2}

We can think of 1 as a powerless, all-knowing agent, and 1S as 1 with a promise from the environment that the world will be in S. Similarly, we can think of ⊥ as an all-powerful agent, and ⊥S as ⊥ with a commitment to do S.

The class of frames where the agent has only one option, 1S, contains 1 at one extreme (where S=W) and ⊤ at the other extreme (where S={}). Meanwhile, the class of frames where the environment has only one option, ⊥S, contains ⊥ at one extreme (where S=W) and 0 at the other (where S={}).

Claim:1∗=⊥, ⊥∗=1, 1∗S=⊥S, ⊥∗S=1S,1{}=⊤, ⊥{}=0.

Proof: Trivial. □

Claim: If |Agent(C)|=1, then C≃1S, where S=Image(C). If |Env(C)|=1, then C≃⊥S, where S=Image(C).

Proof: If Agent(C)={a}, then equivalence classes of environments are given by where they send a. There will be one such equivalence class for each s∈Image(C), and it will send a to s. Thus ^C=1S, so C≃1S. The |Env(C)|=1 case is the same with agent and environment swapped. □

Now that we have built up language for talking about Cartesian frames categorically, we are ready to revisit controllables and observables and interpret them through the lens of category theory. This will be the focus of our next post.

Footnotes

1. Similarly, we could have decided that we don’t care about certain things about the environment. For example, if we only care whether there are bears in possible worlds where the agent went for a walk and might therefore encounter them, then we could construct a frame

2. Indeed, this section on small Cartesian frames would make more sense as part of our discussion of multiplicative operations on Cartesian frames; our motivation for discussing these objects will be provided there. I’m introducing these objects early because they will be useful in a few contexts before we get to multiplicative operations. ↩

## Biextensional Equivalence

This is the third post in the Cartesian frames sequence. Read the first post here.

This post will introduce the standard equivalence relations we’ll be using for Cartesian frames. Our primary interest will be in homotopy equivalence, which will allow us to classify frames according to their agents’ and environments’ effect on possible worlds.

## 1. Isomorphism

Before defining homotopy equivalence, I want to define isomorphism between Cartesian frames.

Definition:A morphism (g,h):C→D is anisomorphismif both g and h are bijective. If there is an isomorphism between C and D, we say C≅D.Claim:≅ is an equivalence relation.Proof:Reflexivity is trivial because the identity is an isomorphism. For symmetry, we have that if (g,h) is an isomorphism from C to D, then (g−1,h−1) is an isomorphism from D to C. Transitivity follows from the fact that bijection is transitive. □Claim:C≅D if and only if there is a pair of morphisms ϕ:C→D and ψ:D→C that compose to the identity morphism in both orders.Proof:If C≅D, we have (g,h):C→D with both g and h bijective, and we can take ϕ=(g,h) and ψ=(g−1,h−1).Conversely, if (g1,h1)∘(g0,h0) is the identity morphism on C=(A,E,⋅), then g1∘g0 is the identity on A, so g0 must be injective. Similarly, h0∘h1 is the identity on E, so h0 must be surjective. Surjectivity of g0 and injectivity of h0 follow similarly from the fact that (g0,h0)∘(g1,h1) is the identity on D. □

Isomorphism is pretty intuitive. It is basically saying that it doesn’t matter what the possible agents and possible environments are, other than how they interact with the evaluation function.

We will basically always be working up to at least isomorphism. For example, in the last post (“Additive Operations on Cartesian Frames”), we noted that ⊕ and & are commutative and associative up to isomorphism.

## 2. Homotopy Equivalence

2.1. Homotopic MorphismsOur initial definition of homotopy equivalence will be devoid of interpretation, but the meaning will become clear later.

We say that two morphisms from C to D are homotopic if you can take the first function from the first morphism and the second function from the second morphism, and the resulting object is still a morphism.

Definition:Two morphisms (g0,h0),(g1,h1):C→D with the same source and target are calledhomotopicif (g0,h1) is also a morphism.Note that the mere existence of two morphisms from C to D doesn’t entail that those morphisms are homotopic. Consider the frame C0=(A,E,⋅) given by

C0=e0e1a0a1(w1w0w0w1).

There are two morphisms from C0 to itself: the identity morphism (idA,idE):C0→C0, and a morphism (g,h):C0→C0 that flips C0’s rows and columns, sending a0 to a1, a1 to a0, e0 to e1, and e1 to e0. These two morphisms are not homotopic, because neither (idA,h) nor (g,idE) is a morphism.

Being homotopic is an equivalence relation on morphisms. (As such, in the above example it would have been superfluous to demonstrate that both (idA,h) and (g,idE) aren’t morphisms.)

Claim:Homotopic is an equivalence relation.Proof:Let (gi,hi):(A,E,⋅)→(B,F,⋆).Reflexivity is trivial. For symmetry, we want to show that if (g0,h0), (g1,h1), and (g0,h1) are all morphisms, then so is (g1,h0). Indeed, for all a∈A and f∈F,

g1(a)⋆f=a⋅h1(f)=g0(a)⋆f=a⋅h0(f).For transitivity, we want to show that if (g0,h0), (g0,h1), (g1,h1), (g1,h2), and (g2,h2) are all morphisms, then so is (g0,h2). Indeed, for all a∈A and f∈F,

g0(a)⋆f=a⋅h1(f)=g1(a)⋆f=a⋅h2(f).□

Being homotopic is also respected by composition.

Claim:If ϕ0:C0→C1 is homotopic to ϕ1:C0→C1, and ψ0:C1→C2 is homotopic to ψ0:C1→C2, then ψ0∘ϕ0 is homotopic to ψ1∘ϕ1.

j0(g0(a))⋅2f=g0(a)⋅1k1(f)=a⋅0h1(k1(f)).Proof:Let Ci=(Ai,Ei,⋅i), let ϕi=(gi,hi), and let ψi=(ji,ki). We want to show that (j0∘g0,h1∘k1) is a morphism. Indeed, since (g0,h1) and (j0,k1) are morphisms,□

Next, we define when two Cartesian frames are homotopy equivalent in the standard way.

2.2. Homotopy EquivalenceHomotopy equivalence relies on the existence of morphisms between C and D that we can compose in either order and end up with something that is homotopic to the identity morphism.

Definition:C ishomotopy equivalentto D, written C≃D, if there exists a pair of morphisms ϕ:C→D and ψ:D→C such that ψ∘ϕ is homotopic to the identity on C and ϕ∘ψ is homotopic to the identity on D.Claim:≃ is an equivalence relation.Proof:Reflexivity is trivial, by taking ψ=ϕ to be the identity. Symmetry is also trivial by swapping ϕ and ψ.For transitivity, assume that for i=0,1, we have ϕi:Ci→Ci+1 and ψi:Ci+1→Ci such that ϕi∘ψi and ψi∘ϕi are homotopic to the identity. It suffices to show that ϕ0∘ϕ1∘ψ1∘ψ0 and ψ1∘ψ0∘ϕ0∘ϕ1 are both homotopic to the identity. In both cases, since composition respects what is homotopic, we have that the inner pair of morphisms cancels, and then the outer pair of morphisms cancels. □

Note that homotopy equivalence is weaker than isomorphism.

Claim:If C≅D, then C≃D.Proof:Trivial. □We now have the homotopy equivalence relation on Cartesian frames, but no real philosophical interpretation. To understand the meaning of ≃, we will first need to define biextensional collapse.

## 3. Biextensional Equivalence

3.1. BiextensionalityDefinition:A Cartesian frame C=(A,E,⋅) is calledbiextensionalif whenever a0,a1∈A are such that a0⋅e=a1⋅e, for all e∈E, we have a0=a1, and whenever e0,e1∈E are such that a⋅e0=a⋅e1, for all a∈A, we have e0=e1.This is basically saying that a Cartesian frame is biextensional if all of its possible agents and possible environments are distinct when viewed as functions from environment to world and functions from agent to world respectively. The agent doesn’t have two options that invariably produce the same outcomes as each other, nor does the environment.

Viewed as a matrix, C is biextensional if all of its rows and columns are distinct.

We have the following lemma that hints at the relationship between biextensionality and homotopy equivalence.

Lemma:Let C and D be biextensional Cartesian frames. Then, C≃D if and only if C≅D.Proof:The “if” direction is trivial. For the “only if” direction, let C=(A,E,⋅) and D=(B,F,⋆) be two biextensional Cartesian frames, and let C≃D. Thus, there is a pair of morphisms (g,h):C→D and (j,k):D→C such that (j∘g,h∘k) is homotopic to the identity on C, and (g∘j,k∘h) is homotopic to the identity on D. Thus (j∘g,idE) and (g∘j,idF) are both morphisms, where idS is the identity on the set S. This means that j(g(a))⋅e=a⋅e for all a and e, which since C is biextensional implies that j∘g is the identity on A. Similarly, since (g∘j,idF) is a morphism, we have that g∘j is the identity on B. Thus g:A→B is a bijection.By the symmetry of homotopic, we also have that (idA,k∘h) and (idB,h∘k), which similarly gives us that k∘h is the identity on E and h∘k is the identity of F, so h:F→E is a bijection. Thus, C≅D. □

Thus, we now understand how to interpret homotopy equivalence for biextensional Cartesian frames: it is equivalent to isomorphism.

To understand homotopy equivalence in general, we will first show how to collapse any Cartesian frame into a biextensional one.

3.2. Biextensional CollapseGiven a Cartesian frame C=(A,E,⋅), we can define an equivalence relation on A that says two possible agents are equivalent if they implement the same function from E to W; and we can similarly say that two elements of E are equivalent if they implement the same function from A to W.

Definition:Given a Cartesian frame C=(A,E,⋅), for a0,a1∈A, we say a0∼a1 if a0⋅e=a1⋅e for all e∈E. For e0,e1∈E, we say that e0∼e1 if a⋅e0=a⋅e1 for all a∈A.Claim:∼ is an equivalence relation on A and on E .Proof:Trivial. □Definition:Given a Cartesian frame C=(A,E,⋅), for a∈A, let ^a denote the equivalence class of a up to ∼. Let ^A denote the set of equivalence classes of ∼ in A. Similarly, for e∈E, let ^e denote the equivalence class of e up to ∼, and let ^E denote the set of equivalence classes of ∼ in E.Definition:Given a Cartesian frame C=(A,E,⋅), thebiextensional collapseof C, denoted ^C, is the Cartesian frame (^A,^E,^⋅), where ^a^⋅^e=a⋅e.Claim:^C is well-defined.Proof:We need to show that ^⋅ is well defined, meaning we need to show that for all a0∼a1 and e0∼e1, we have that a0⋅e0=a1⋅e1. This is immediate from the definition of ∼. □Viewed as a matrix, ^C is basically formed from C by deleting any duplicate rows and any duplicate columns. It doesn’t matter whether you delete duplicate rows or duplicate columns first. After doing both, you will end up with a matrix with no duplicates.

Claim:^C is biextensional for all Cartesian frames C.Proof:Let C=(A,E,⋅). We want to show that for all ^a0≠^a1∈^A, there exists an ^e∈^E such that ^a0^⋅^e≠^a1^⋅^e. Indeed, since ^a0≠^a1, we have that a0≁a1, so there exists an e∈E such that a0⋅e≠a1⋅e, which gives us that ^a0^⋅^e≠^a1^⋅^e. Similarly, for all ^e0≠^e1∈^E, there exists an ^e∈^E such that ^a^⋅^e0≠^a^⋅^e1. □Claim:C is biextensional if and only if C≅^C.Proof:If C is biextensional, then all equivalence classes up to ∼ on both A and E are singletons. Thus, the morphism (g,h):C→^C given by g(a)=^a and h(^e)=e is well-defined, and both g and h are bijective, so C≅^C.Conversely, if C≅^C, then C is isomorphic to a biextensional Cartesian frame, and since biextensionality is clearly preserved by isomorphism, C is also biextensional. □

3.3. Biextensional EquivalenceWe can now (finally) use biextensional collapse to give an intuitive meaning to homotopy equivalence.

Claim:C≃D if and only if ^C≅^D.Proof:It suffices to show that C≃^C for all Cartesian frames C. Then, we will have that if C≃D, then ^C≃C≃D≃^D. Since homotopy equivalence is the same as isomorphism on biextensional Cartesian frames, this gives ^C≅^D. And conversely, if ^C≅^D then C≃^C≅^D≃D, so C≃D.Let C=(A,E,⋅). We want to show that C≃^C. We do this by constructing a pair of morphisms (g,h):C→^C, and (j,k):^C→C. We will define g:A→^A by a↦^a, and k:E→^E by e↦^e. For h:^E→E, and j:^A→A, we can send each equivalence class to any one member of that class. The choice does not matter.

Now, we want to show that (g∘j,k∘h) is homotopic to the identity on ^C, and that (j∘g,h∘k) is homotopic to the identity on C. The first case is trivial, since g∘j and k∘h are the identity on ^A and ^E respectively.j∘g and h∘k need not be the identity on A and E, but j(g(a))∼a and h(k(e))∼e for all a∈A and e∈E. To show that (j∘g,h∘k) is homotopic to the identity on C, we just need to show that (j∘g,idE) is a morphism, where idE is the identity on E. However, this just means that j(g(a))⋅e=a⋅e for all a∈A and e∈E, which follows from the fact that j(g(a))∼a. □

We now have that two Cartesian frames are homotopy equivalent if and only if their biextensional collapses are isomorphic. Thus, when C and D are homotopy equivalent, we will also call them biextensionally equivalent.

Definition:We say C and D arebiextensionally equivalentif C≃D.When working up to biextensional equivalence, we are basically saying that we are ignoring any multiplicity in the space of possible worlds and possible environments.

Claim:Each biextensional equivalence class contains a unique biextensional Cartesian frame.Proof:Each biextensional equivalence class has at least one element, C, and ^C is in the same equivalence class as C and is biextensional, so there must be at least one biextensional Cartesian frame in the class. If there were two biextensional Cartesian frames, they would have to be isomorphic, because isomorphic is equivalent to biextensional equivalence on biextensional Cartesian frames. □From my perspective, the value of this equivalence relation is that it lets us be less realist about possible agents and possible environments, and instead just care about differences between possible worlds.

This fits well with our general approach in this sequence. Cartesian frames are particular ways of looking at the world and mentally carving it up into an agent component and an environment component, but we allow many different carvings, and we do not give any one carving privileged status as the “true” carving. Thus, we put less weight on our conception of the agent and environment, and more weight on the worlds themselves.

Giving less realism to possible agents/environments also fits with the fact that “worlds” may include details about the agent and environment, “possible agents” may specify features of the agent beyond its “actions,” and so on.

Imagine an agent with two unrelated choices: which color to think about (green G, or red R) and whether to go for a walk or stay home (W or H). This yields the possible agents A={GH,GW,RH,RW}. The environment either is safe or has bears: E={S,B}. If we represent this scenario with the Cartesian frame

C0=SBGHGWRHRW⎛⎜ ⎜ ⎜⎝w0w1w2w3w4w5w6w7⎞⎟ ⎟ ⎟⎠,

then the possible worlds w0 and w4 differ only in which

thoughtthe agent is thinking; likewise w1 and w5, etc.We could have instead described a frame

C1=SBGHGWRHRW⎛⎜ ⎜ ⎜⎝w8w9w10w11w8w9w10w11⎞⎟ ⎟ ⎟⎠,

in which case we would not be treating the agent’s thoughts as a relevant difference between possible worlds.

^{1}But we have theoptionof fully representing “agent-internal” properties using possible worlds, just the same as “environment-internal” properties. As such, we don’t need to separately reify possible agents or possible environments.3.4. ExampleOne reason there are two definitions here is because the homotopy definition is easier to work with categorically, while the biextensionality definition is easier to work with directly with matrices.

Let C0 and C1 be the Cartesian frames given by:

C0≅⎛⎜⎝w0w1w1w2w3w3w0w1w1⎞⎟⎠ and C1≅⎛⎜⎝w2w3w2w0w1w0w2w3w2⎞⎟⎠.

Note that when working up to isomorphism, there is no need to label the rows or columns.

We can then see that C0≃C1 because

^C0≅^C1≅(w0w1w2w3).

To verify the equivalence using the the homotopy definition would be far more tedious.

3.5. Relationship to Additive OperationsSince we will often want to work with Cartesian frames up to biextensional equivalence, it will be helpful to know that all of our additive operations respect biextensional equivalence.

Claim:If C0≃C1 and D0≃D1, then C∗0≃C∗1, C0⊕D0≃C1⊕D1, and C0&D0≃C1&D1.Proof:It is clear from the definition of biextensional collapse that ^− commutes with −∗. Thus since ^C0≅^C1, we have ^C∗0≅^C∗1, so C∗0≃C∗1.For the rest, it suffices to show that if C0≃C1, then C0⊕D≃C1⊕D. Then, since ⊕ is symmetric up to isomorphism, we have

C0⊕D0≃C1⊕D0≅D0⊕C1≃D1⊕C1≅C1⊕D1,and using the fact that ⊕ and & are De Morgan dual, we have

C0&D0≅(C∗0⊕D∗0)∗≃(C∗1⊕D∗1)∗≅C1&D1.We will use the homotopy equivalence definition. Let Ci=(Ai,Ei,⋅i) and let D=(B,F,⋆). Let (g0,h0):C0→C1 and (g1,h1):C1→C0 compose to something homotopic to the identity in both orders. We want to construct a (g′0,h′0):C0⊕D→C1⊕D and (g′1,h′1):C1⊕D→C0⊕D, that similarly compose to something homotopic to the identity in both orders. We will take g′i:Ai⊔B→A1−i⊔B to be given by g′i(a)=gi(a) if a∈Ai, and g′i(a)=a if a∈B. Similarly, we will take h′i:E1−i×F→Ei×F to be given by h′i(e,f)=(hi(e),f).

Without loss of generality, it suffices to show that (g′0,h′0) is a morphism and that (g′1,h′1)∘(g′0,h′0) is homotopic to the identity on C0⊕D. The fact that (g′1,h′1) is a morphism and (g′0,h′0)∘(g′1,h′1) is homotopic to the identity will follow symmetrically. Let ⋄i=Eval(Ci⊕D).

To show that (g′0,h′0) is a morphism, observe that for all a∈A0 and (e,f)∈E1×F, we have

g′0(a)⋄1(e,f)=g0(a)⋅1e=a⋅0h0(e)=a⋄0(h0(e),f)=a⋄0h′0(e,f).Similarly, for all a∈B and (e,f)∈E1×F, we have

g′0(a)⋄1(e,f)=a⋆f=a⋄0(h0(e),f)=a⋄0h′0(e,f).To show that (g′1,h′1)∘(g′0,h′0) is homotopic to the identity on C0⊕D, we just need that for all a∈A0⊔B and all (e,f)∈E0×F, we have a⋄0(e,f)=g′1(g′0(a))⋄0(e,f). Indeed, if a∈B, then a=g′1(g′0(a)), and if a∈A0, then

a⋄0(e,f)=a⋅0e=g1(g0(a))⋅0e=g′1(g′0(a))⋄0(e,f).□

Image is also clearly preserved by biextensional equivalence.

Claim:If C≃D, then Image(C)=Image(D).Proof:Trivial from the biextensional collapse definition. □## 4. Some Small Cartesian Frames

We will now classify all biextensional Cartesian frames (and thus biextensional equivalence classes of Cartesian frames) in which the agent’s size is at most one and/or the environment’s size is at most one.

Definition:null is the Cartesian frame ({},{},⋅) with empty agent, empty environment, and empty evaluation function.If you have an empty Cartesian frame—one with no image, no elements of W—then it must be biextensionally equivalent to either null, 0, or ⊤.

Claim:If |Agent(C)|=0 and |Env(C)|≠0, then C≃0. If |Env(C)|=0 and |Agent(C)|≠0, then C≃⊤. If |Agent(C)|=|Env(C)|=0, then C≃null.Proof:If |Agent(C)|=0 and |Env(C)|≠0, then all environments are equivalent up to ∼, so ^C has one possible environment and no possible agents, so ^C≅0, so C≃0. Similarly, if |Env(C)|=0 and |Agent(C)|≠0, all agents are equivalent up to ∼, so ^C≅⊤ and C≃⊤. If |Agent(C)|=|Env(C)|=0, then C is already equal to null. □Claim:The only three biextensional Cartesian frames C with Image(C)={} are 0, ⊤, and null.Proof:A Cartesian frame has empty image if and only if it has empty agent or empty environment.We now understand all biextensional Cartesian frames with empty agent or empty environment. Let’s look at the case where either the agent or environment is a singleton.

1S is the biextensional Cartesian frame you get when the agent has only one option, and the frame’s image is some set of possible worlds S. Since Env(1S) will be in bijective correspondence with S=Image(1S) and the labels on Env(1S) don’t matter, we will identify Env(1S) with S.

Definition:Given S⊆W, 1S is the Cartesian frame 1S=({a},S,⋆), where a⋆s=s for all s∈S. 1 is the Cartesian frame 1W.We can think of 1S as the perspective of a bystander who has no control, and is just observing which world the environment brings about.

⊥S is the transpose of 1S, where the environment has only one option and the agent’s options are S. You can think of ⊥S as a powerful agent facing no obstacles, beyond being constrained to S: it gets to choose exactly what world we’re in.

Definition:Given S⊆W, ⊥S is the Cartesian frame ⊥S=(S,{e},⋆), where s⋆e=s for all s∈S. ⊥ is the Cartesian frame ⊥W.The names 1 and ⊥ will make more sense later, when we define multiplicative operations on Cartesian frames.

^{2}We can think of 1 as a powerless, all-knowing agent, and 1S as 1 with a promise from the environment that the world will be in S. Similarly, we can think of ⊥ as an all-powerful agent, and ⊥S as ⊥ with a commitment to do S.

The class of frames where the agent has only one option, 1S, contains 1 at one extreme (where S=W) and ⊤ at the other extreme (where S={}). Meanwhile, the class of frames where the environment has only one option, ⊥S, contains ⊥ at one extreme (where S=W) and 0 at the other (where S={}).

Claim:1∗=⊥, ⊥∗=1, 1∗S=⊥S, ⊥∗S=1S, 1{}=⊤, ⊥{}=0.Proof:Trivial. □Claim:If |Agent(C)|=1, then C≃1S, where S=Image(C). If |Env(C)|=1, then C≃⊥S, where S=Image(C).Proof:If Agent(C)={a}, then equivalence classes of environments are given by where they send a. There will be one such equivalence class for each s∈Image(C), and it will send a to s. Thus ^C=1S, so C≃1S. The |Env(C)|=1 case is the same with agent and environment swapped. □Now that we have built up language for talking about Cartesian frames categorically, we are ready to revisit controllables and observables and interpret them through the lens of category theory. This will be the focus of our next post.

## Footnotes

1. Similarly, we could have decided that we don’t care about certain things about the environment. For example, if we only care whether there are bears in possible worlds where the agent went for a walk and might therefore encounter them, then we could construct a frame

C2=SBGHGWRHRW⎛⎜ ⎜ ⎜⎝w12w12w13w14w15w15w16w17⎞⎟ ⎟ ⎟⎠.

↩

2. Indeed, this section on small Cartesian frames would make more sense as part of our discussion of multiplicative operations on Cartesian frames; our motivation for discussing these objects will be provided there. I’m introducing these objects early because they will be useful in a few contexts before we get to multiplicative operations. ↩