Bisimulation maps in presheaf categories

The category of presheaves on a (small) category is a suitable semantic universe to study behaviour of various dynamical systems. In particular, presheaves can be used to record the executions of a system and their morphisms correspond to simulation maps for various kinds of state-based systems. In this paper, we introduce a notion of bisimulation maps between presheaves (or executions) to capture well known behavioural equivalences in an abstract way. We demonstrate the versatility of this framework by working out the characterisations for standard bisimulation, $\forall$-fair bisimulation, and branching bisimulation.


Introduction
The importance of formal semantics should not be underestimated, especially when aimning to design reliable dynamical systems in heterogeneous environments.Therefore, a variety of state based modelling frameworks at different levels of abstraction have been proposed; to quote Goguen [16]: one person's syntax is another person's semantics.Diversity in algorithms can be desirable; however, as argued in [1,16,34], the proliferation of semantic theories indicates our scattered understanding of concurrent systems.Thus, we seek a framework that provides semantic structure describing the behaviour of a dynamical system and its refinement independently of syntax.
This goal is shared to an extent by the theory of coalgebras [29].In [6], we abandoned state-based modelling in favour of describing behaviour as the set of executions (inspired by [10,28]) because the branching structure of a state in the presence of invisible actions is described by the set of executions (not states).This situation further escalates when one is interested in infinite executions (e.g.fairness properties [17,25]) or dense executions which are omnipresent in hybrid systems (e.g.[12]).The point is not that executions are inexpressible in a coalgebra, but rather that we need a semantic framework where they are treated as first-class citizens just as states are in a coalgebraic framework.Thus, our hypothesis is that behaviour of a system is given solely by its executions.
We anticipate presheaves to be the "right" semantic structure to study executions without fixing a kind of dynamical system.Note that we are not the first in proposing presheaves as the mathematical universe to studying behaviour.Winskel and his colleagues [8,15,19,23,34] have already employed presheaves (among other things) by giving a denotational semantics of process-algebraic terms supported by characterisations of strong bisimulation and weak bisimulation relations using open maps in the context of transition systems.For a more modern treatment, Hirschowitz and his colleagues [13,14,20] advocated game semantics using (pre)sheaves.
The novelty of our work lies in refining the notion of open maps (which we christened bisimulation maps) in a presheaf category and using it to characterise ∀-fair bisimulation [18,24] and branching bisimulation [33] relations.In addition, the prospect of having to specify notions of time and observation (which was absent in the earlier works on presheaf semantics) leads to a clearer modelling, so explicitly highlighting these two dimensions of system modelling is at the core of our contribution (cf.Section 2).This distinction was in turn essential to capture branching bisimulation in the presence of invisible actions τ .
Interestingly, unlike open maps, bisimulation maps are always retracts in the category of presheaves (in turn, they are surjective at the level of executions).As a slogan, presheaf maps are refinement maps, while bisimulation maps (which are special presheaf maps) are complete refinement maps (Section 3).By moving to a finer notion, we are still able to capture functional bisimulations without fairness.However, in the context of fairness, we can show (Theorem 4.7) that the behavioural equivalence induced by a bisimulation map coincides with ∀-fair bisimulation relation.Note that our ∀-fair bisimulations are equivalence relations by definition in contrast to the existing definition [18,24] (see the dicussion after Theorem 4.7 on Page 6).This is an improvement with respect to the previous characterisation of ∃-fair bisimulation [18,24] (called extended bisimulation in [17]) obtained by Hildebrandt [19] using open maps, since any ∀-fair bisimulation relation is strictly finer than an ∃-fair bisimulation relation [18] and our correspondence does not impose any restrictions on the fairness predicates.These restrictions, originally from [17], asserted that fairness predicates on infinite executions are closed under the removal and the addition of finite prefixes.
Another practical aspect of the theory of presheaves is that it guides us in finding the right semantic categories once a notion of time and observation is fixed.Moreover, we can apply concepts (like, e.g., essential geometric morphism [27]) that transform a dynamical system from one observation space O to another space O ′ .This way we can transform (see Section 5) a presheaf of executions (induced by a given transition system) into a presheaf of minimal executions (i.e., executions in which trailing τ -transitions are chopped off).This property is specific to branching bisimulation, which may be the reason why this construction was not discussed in [15] (their objective was to capture weak bisimulation).

Organisation of the paper.
In Section 2, we introduce our mathematical framework to model behaviour of a dynamical system with a special focus on the aspects of time and observation.Then, we introduce the notion of bisimulation maps in presheaves on an arbitrary (small) category in Section 3. Turning our attention towards the first major example, we characterise ∀-fair bisimulation relations in Section 4. The case of invisible actions in Section 5 is based on a change of observation space.We first outline an obvious (but ultimately failed) attempt to capture branching bisimulation, before giving the correct (yet intuitive) construction that characterises branching bisimulation.

Our universe of discourse
The objective of this section is to describe our semantic framework in which one can model behaviour of a dynamical system.By behaviour of a dynamical system, we understand some phenomena that evolve over time.Our aim is to formalise this intuition.We begin by modelling time as a small category T, whose objects are points in time and arrows describe passing of time.
Notation 2.1 An object C (an arrow f ) of a category C will be denoted by the predicate C ∈ C (f ∈ C).Moreover, the codomain and domain of an arrow f ∈ C are denoted as cod(f ) and dom(f ), respectively.
Invariably, dynamical systems come with a notion of observation.For instance, a letter from a fixed alphabet may denote the assignment of model variables in a computer program/controller.We assume that a system under study has a display unit together with the existence of a hypothetical 'observer' O who is watching/measuring behaviour of the system using this display unit over time.In addition, our observer O can remember its observations over time, i.e., earlier observations can be deduced from the later observations.Mathematically, this amounts to saying that O is a contravariant functor T ✲ Set.Proposition 2.2 Let C be a small category.Then, the collection of functors of type C op ✲ Set (i.e., presheaves on a category C) and natural transformations between them form a category PSh(C).
Notation 2.3 Given a presheaf F ∈ PSh(C), we follow [27] in writing x • f to denote the restriction of Note that we use calligraphic letters for specific presheaves, whereas arbitrary ones are denoted by capital letters as above.
Example 2. 4 In this example, we fix the notion of time T and observation O associated with a (labelled) transition system.For time T we take the set of natural numbers N viewed as a category (arrows are the less-than-equal-to relations).For the given alphabet A, we now define a presheaf A ∈ PSh(N): together with the action on A given by σ • n = σ| n (for every σ ∈ A(n ′ ) and n ≤ n ′ ).In other words, A(n) is the set of those finite words σ ∈ A ⋆ whose length is n (denoted by |σ| = n), while the action • n simply maps a word σ of length n ′ to its unique prefix of length n (denoted by σ| n ).Note that A(0) is a singleton set containing the empty word which we denote by ε.
Remark 2.5 In modelling some dynamical systems, like, e.g., those arising from control theory [28], O may have even more structure in that global observations can be constructed by gluing the local observations (smaller neighbourhoods).In such situations, the category of sheaves Sh(C, J) equipped with a Grothendieck topology J on C is more suitable (cf.[30]) for semantic purposes.Moreover, sheaves equipped with discrete Grothendieck topology are exactly presheaves (cf.[27]), so our mathematical universe is actually the category of sheaves (rather than presheaves).But due to the discrete nature of dynamical systems considered in this paper, we restrict ourselves to presheaves.Nevertheless, we will state our definitions so that they are applicable on sheaves (see, e.g., Remark 3.2).
Once a notion of time T and an observation O ∈ PSh(T) is fixed, then a system essentially describes the runs (also known as trajectories or executions) of the system and the observation associated with each run.To answer both, we envisage that a dynamical system is nothing but an object in the slice category PSh(C)/O.In other words, a dynamical system corresponds to a presheaf F modelling the runs of the system and a natural transformation F α ✲ O modelling the observation associated with each run of the system.More importantly, a system homomorphism ϕ between two systems (F, α) and (G, β), denoted (F, α) ) is a refinement of (G, β) (i.e., every observable behaviour of F is also part of the observable behaviour of G).

Refining our framework by unifying time and observation
Although the slice category PSh(T)/O is close to our system theoretic intuition, its presentation can be further simplified.Recall the category of elements of a presheaf F ∈ PSh(C), denoted E C (F ) (we drop the subscript C whenever clear from the context), has as objects the tuples (x, C) with C ∈ C, x ∈ F C and as arrows (x, C) Note that a similar result also holds in the setting of sheaves (cf.[27,Exercise III.8

(b)]).
In other words, time can be made inherent with observation and, thus, we can work in a simpler setting without worrying about the bookkeeping associated with slice categories.To see this, recall Example 2.4 and the poset of finite words A ⋆ (a.k.a.free monoid) generated by a set A, which is ordered by the prefix relation ⊆ A ⋆ × A ⋆ .Notice that the categories E(A) and A ⋆ are isomorphic: since the length of a word is redundant in the objects of E(A) dropping the length results in the elements of A ⋆ .Thus, we obtain Corollary 2.7 There is an equivalence of categories PSh(N)/A ∼ = PSh(A ⋆ ).
As a result, the category of presheaves on A ⋆ can serve as the semantic universe to study behaviour of a transition system (cf.Example 2.8).More generally, by giving the semantics to a 'syntactic' category of a computational model M, we mean identifying the notion of time T and observation O ∈ PSh(T) together with a faithful functor M ✲ PSh(E T (O)), called the semantics functor.By interpreting an arrow in M as M is an implementation of M ′ witnessed by f , then faithfulness of asserts: if an implementation is witnessed by two semantically same morphisms f = g , then f = g must be the same syntactically.
Example 2.8 Consider a transition system (X, A, →) where X is the set of states, A is the set of actions, and →⊆ X × A × X is the transition relation3 .Then the collection of transition systems together with simulation functions form a category denoted LTS.Note that a simulation function is a function X f ✲ Y satisfying: As usual, we write σ} be the prefixes of σ.Next, define a presheaf X ∈ PSh(A ⋆ ) which records all the executions whose trace is σ at X (σ): for any σ ′ σ and p ∈ X (σ) .

Moreover, any function
Thus, we obtain the following result; wherein, the result that presheaf maps encode simulation maps is well known from the early work of Joyal et al. in [23].
Proposition 2.9 The map defined in Example 2.8 is a faithful functor.Moreover, • if f is a presheaf map for any f ∈ LTS, then f is a simulation function.
• if a function f between the underlying state spaces induces a presheaf map f , then f is a simulation map.
As a result, the category of transition systems LTS has presheaf semantics on A ⋆ .In the subsequent sections, we will show the applicability of our semantic framework by giving presheaf semantics to different computational models; namely, transition systems with fairness predicates and invisible transitions.

Bisimulation maps: towards complete refinement
Consider a category of computational models M together with its semantics over a presheaf category PSh(C), i.e., M ✲ PSh(C).As mentioned earlier, an arrow between any two images of the semantics functor as a refinement map from the modelling point of view.In particular, we interpret as the information that M is an implementation of M ′ witnessed by the refinement map f .Note that this is a straightforward generalisation of Proposition 2.9 since simulation maps encode the refinement of behaviour in the case of labelled transition systems.Therefore, to study bisimulation maps at the level of presheaves (executions), we will restrict ourselves to those presheaf morphisms that represent 'complete' refinement of behaviour in the following sense.Theorem 3.3 expresses this in a more formal manner.
• Every observable behaviour in M ′ is also observable in M (thus, M is a refinement of M ′ ).
• Moreover, every observable behaviour in M can be retracted onto an observable behaviour in M ′ .
One possibility is to use the open maps of Joyal et al. [23], which gave a unified definition of functional bisimulations over the range of computational models.In particular, when invoked in a presheaf category, open maps correspond to natural transformations whose naturality squares are the weak-pullback squares in Set (see [8,Proposition 2.3]).Nevertheless, an open map falls short in capturing the complete refinement point of view since an arbitrary open map may not even be a surjective map at the level of executions; i.e., our implementation may not even implement or cover all the behaviour present in the specification.
In [5], open maps [23] were refined to embedding-open maps in the setting of concrete categories.An important difference to the classical definition of open maps is that the parametric notion of path extensions can be replaced by embeddings (see [2,Definition 8.6(2)] for a formal definition).Moreover, embedding-open maps are always retracts under some mild restrictions on concrete categories (cf.[5]).Now, if a category is concrete over itself, then an embedding corresponds to simply a monomorphism.Consequently, we propose the following definition of an embedding-open map, which we simply call a bisimulation map.
and only if, for every commutative square depicted in (2) with a mono P ⊂ g ✲ Q and maps m, n in PSh(C), there is a map Intuitively, (2) states that every extension of behaviour observable in G can be reflected as an extension observable in F through the witnesser f .Remark 3.2 It is interesting to note that a similar definition for sheaves can be derived from the definition of embedding-open maps as given in [5].First, note that Sh(C, J) is concrete over PSh(C) due to the forgetful functor i, which is fully faithful.Moreover, embeddings in this concrete category are actually monomorphisms.This is because any mono is a regular mono in Sh(C, J) and the faithful functor i preserves regular monos (since i is right adjoint to the associated sheaf functor a [27]).Lastly, every regular mono is an embedding whenever the faithful functor preserves regular monos [2,Proposition 8.7.3].Thus, we have the exact same definition of bisimulation maps in Sh(C, J).Theorem 3.3 Every bisimulation map in a (pre)sheaf category is a retract.
We end this section by capturing functional bisimulations in terms of bisimulation maps whose proof can be extracted from the proof of Theorem 4.3.Note that a similar theorem was proven earlier in the seminal paper [23] for functional bisimulation; however, the difference is that we use bisimulation maps (not open maps) in our characterisation.
only if, the function f is a surjection satisfying: (3)

The case of fairness
When considering infinite, rather than finite, behaviour of systems, it is common to take fairness into account.
There are various notions of fairness [18] but the general idea for fair (bi)simulation is to demand that fair executions are matched by fair executions, in addition to classical (bi)simulation properties.In this section, we give a presheaf semantics to fair transition systems and outline how ∀-fair bisimulation can be captured via bisimulation maps.
Let A ω = {σ | N σ ✲ A} be the set of infinite words generated from A and fix A ∞ = A ⋆ ∪ A ω , which is ordered by the prefix relation .The object of study are fair transition systems (X, A, →, Fair X ), where (X, A, →) is a transition system and Fair X is a fairness predicate on infinite executions.An infinite execution is a function ↓ σ p ✲ X ∪ {Ω} whose domain is the history of an infinite word σ ∈ A ω such that p(σ) = Ω and Here, Ω is the chaos state which the system enters once it has executed an infinite execution.Let FExec(X) = Fair X ∪ Exec(X) be the set of all fair executions ordered by the prefix relation , i.e., p p ′ ⇐⇒ p ′ | dom(p) = p (for p, p ′ ∈ FExec(X)).The set of (finite) executions Exec(X) is defined as earlier, i.e., Exec( and only if, f satisfies (1) and ∀ p∈FairX f Ω • p ∈ Fair Y .Henceforth, we do not distinguish between f Ω and f .Note that an infinite, but fair, execution can be seen as the limit of a monotonically increasing sequence of finite executions in FExec(X).Since this limiting sequence is part of behaviour, we should reflect it.Thus, we say a fair bisimulation X ∪ {Ω} f ✲ Y ∪ {Ω} is a surjective fair simulation f satisfying (3) and the following condition for any increasing sequence of finite executions (p i ) i∈N in X: Here, ≈ is the Kleene equality used to equate the partially defined terms above.
To the best of our knowledge, the above notion of fair bisimulation is novel; however, below we will establish its connection with the literature after characterising it in terms of presheaf morphisms.So let FTS be the category of fair transition systems and fair simulation between them.In addition, • Time: Since infinite executions are allowed in a fair transition system, we take T = N ∪ {∞} to be the category of natural numbers extended by a number representing infinity (i.e., ∀ n∈N n ≤ ∞).• Observation: Using the definition of A in Example 2.4, we define: Clearly, the categories E(O) and A ∞ are isomorphic and by applying Theorem 2.6 we obtain PSh(E(O)) ∼ = PSh(A ∞ ).So, we take the category PSh(A ∞ ) as the semantic universe to study fair transition systems.Just as in Example 2.8, for a given fair transition system (X, A, →, Fair X ), we define a presheaf and the action is given by restricting the domain of an execution.Moreover, for any fair simulation function f , we let f σ = f • (for each σ ∈ A ∞ ); thus, resulting in a presheaf semantics to fair transition systems.
Consider the two systems drawn on the right with a function f between the states depicted by dashed lines.
x x ′ y a a a a In the left system, the infinite executions visiting x ′ infinitely often are considered fair, whereas the only infinite execution in the right system is fair.Clearly, f is a fair simulation satisfying (5).But f is not a fair bisimulation because the sequence of finite executions (p i ) i∈N formed by unfolding the self-loop on x has a fair execution i∈N f • p i (looping on y) as the limit in the right system.Yet, (p i ) i∈N has no limit, thus, violating (4).Remark 4.5 In [19], (separated) presheaves with sup topology are used because an increasing sequence of finite executions induced by a fair transition system has at most one limit point.Unlike [19], we are not interested in one-to-one semantic representation of our syntactical models, so we work with arbitrary presheaves.This is because the choice whether the semantic universe should be (separated) presheaves or sheaves depends on observations, i.e., how O is modelled.This is also why we do not require our semantic functor to be full.
Next, we relate fair bisimulation maps with ∀-fair bisimulation relations.
Theorem 4.7 Two states x and x ′ are related by a ∀-fair bisimulation relation if, and only if, there is a fair bisimulation function The requirement of equivalence relations in the above definition may look superfluous at first glance.This is because, traditionally (i.e., when fairness predicates are empty sets), a strong bisimulation relation by definition is not necessarily an equivalence relation on the set of states.Moreover, bisimilarity which is defined as the union of all strong bisimulation relations turns out to be both an equivalence relation and a strong bisimulation relation.However, such closure results do not hold in general for ∀-fair bisimulation relations.∀-fair bisimulation relations are not closed under union and the relational composition (even if we relax Definition 4.6 by replacing 'an equivalence relation' for 'a symmetric relation') 4 .Thus, ∀-fair bisimilarity may, in general, neither be an equivalence relation nor a ∀-fair bisimulation; in other words, ∀-fair bisimilarity is not a coinductive definition (like how strong bisimilarity is).Nevertheless, we deemed all ∀-fair bisimulation relations to be equivalences because: first, the main use of a ∀-fair bisimulation relation is to equate two systems that have the same behaviour sensitive to fair executions; second, the mathematics tells us that the kernel of a (fair bisimulation) function is an equivalence relation.

The case of invisible actions
The behaviour of a specification and its implementation is often spread over different levels of abstraction.The standard process algebraic way to relate the behaviour of an implementation with its specification is by delineating the effect of actions in lower levels of abstraction as invisible.For instance, removing a message from a buffer is considered unobservable in a rendezvous between communicating processes.This is made formal by reinterpreting the notion of (bi)simulation functions in the presence of the invisible action τ .

Branching bisimulation
Notation 5.1 Henceforth, τ ∈ A will denote the invisible action and A τ = A ∪ {τ }.Furthermore, Exec(X, σ) is the set of executions p having trace σ, i.e., max dom(p) = σ and − ։ ⊆ X × A ⋆ × X is the weak reachability relation on (X, A τ , →) given as the smallest relation satisfying the following conditions: (iii) Stuttering of τ -transitions, i.e., for any x 1 , x 2 , x 3 we have A branching bisimulation f is a branching simulation surjection f satisfying the 'weak' reflection of transitions, i.e., for any x ∈ X, y ∈ Y , and a ∈ A τ we have Definition 5.3 Given a labelled transition system (X, A τ , →), then a symmetric relation R ⊆ X × X is a branching bisimulation [33] if, and only if, the following transfer property is satisfied Two states x, x ′ ∈ X are branching bisimilar if there exists a branching bisimulation R such that xRx ′ .
We work with branching bisimulation functions (not relations) because of the following result (Theorem 5.4), which is similar in spirit to Lemma 2.7 proved by Caucal in [9].The difference is that Caucal's branching bisimulation functions (which he calls reduction in [9]) do not respect the stuttering of invisible steps (6).Nevertheless, we are still able to obtain the following correspondence since the largest branching bisimulation relation satisfies the so-called stuttering lemma of [33].In particular, any reduction X Theorem 5.4 Two states x, x ′ ∈ X of a transition system (X, A τ , →) are branching bisimilar if, and only if, there are a transition system (Y, A τ , →) and a branching bisimulation function

The setup
Our first step towards the characterisation of branching bisimulation is the presheaf representation of executions induced by a transition system with invisible actions.Since a transition system evolves in a step-based manner, it is sufficient to model the time by the set of natural numbers N. The only difference, when compared to the strong case (cf.Example 2.4), is in the notion of observation.Instead of recording words from A ⋆ , our hypothetical 'observer' now records words from A ⋆ τ .So, consider a presheaf N op Aτ ✲ Set in the spirit of A as defined in Example 2.4.Recall that the slice category PSh(N)/A τ is equivalent to the category of presheaves on the category of elements E(A τ ), which is isomorphic to the category A ⋆ τ .Thus, for a given transition system (X, A τ , →), we define a presheaf F X ∈ PSh(A ⋆ τ ) as follows: The action on F X is given by the restriction of the domain of an execution.
Incidentally, a branching simulation function X f ✲ Y between (X, A τ , →) and (Y, A τ , →) does not induce a system homomorphism between the underlying dynamical systems (presheaves) F X and F Y because a branching simulation function does not necessarily preserve the length of the executions.For example, a sequence of transitions Thus, we need a procedure that transforms a given presheaf on A ⋆ τ to a presheaf on A ⋆ .It turns out that there already is a general result in category theory for this purpose, which we explain next.In particular, recall the cocompletion of a category C through the Yoneda embedding C YC ✲ PSh(C).Theorem 5.5 (see [27]) For any functor C h ✲ D, when C is small and D is cocomplete, there is a colimit Using the language of Kan extensions, L h is the left Kan extension of h along the Yoneda embedding Y C .Moreover, using the notion of a coend [26], we have:  [27] between PSh(C) ✲ PSh(D).In full, this means that the composition functor h * not only has a right adjoint Π h , but also a left adjoint Σ h (see, for instance, [27] for a formal definition of a geometric morphism).Below, the composition functor h * , its left adjoint Σ h , and its right adjoint Π h are given by (up to isomorphism) R YDh , L YDh , and R h * YD , respectively.Corollary 5.6 (see [27]) Given a functor C h ✲ D between small categories, then the inverse image functor ) has both left and right adjoints: So, in principle, there are two ways to land in PSh(A ⋆ ) from PSh(A ⋆ τ ) whenever there is a functor between A ⋆ τ ✲ A ⋆ .Nevertheless, since our aim is to characterise branching bisimulation functions, we will choose the left adjoint (over the right adjoint) of the composition functor for this task.This is because to reflect (recall (7)) an observable transition -say, of the form • a − → • -, we only need minimal executions which are of the form • − ։ • a − → • (cf.Definition 5.9).In particular, we will show (cf.Theorem 5.11) that the left adjoint Σ h (induced by a suitable h) transforms a presheaf of executions into a presheaf of minimal executions (or those executions in which trailing τ -transitions are chopped off).

An obvious, but failed attempt
There is an evident functor A ⋆ τ h ✲ A ⋆ which treats the letter τ as an empty word.It is then natural to investigate whether the bisimulation maps in PSh(A ⋆ ) between any two induced presheaves Σ h F X , Σ h F Y characterise the branching bisimulation map.Unfortunately, the answer is no!We explain this extensively, as this lays the formal foundation for the desired characterisation given in the next subsection.

So, consider the hiding function A τ h
✲ A ⋆ which treats τ as the unit of A ⋆ (i.e., h(τ ) = ε) and treats an action a ∈ A as observable (i.e., h(a) = a when a ∈ A).This lifts to an order-preserving function A ⋆ τ h ✲ A ⋆ (denoted again as h by abuse of notation).Thus, we have a functor Proposition 5.7 The categories A ⋆ τ , A ⋆ have binary products.Remark 5.8 It is worthwhile noting that h does not generally preserve finite limits (or infimum ⊓ in this case).Consider the words aτ b, ab ∈ A ⋆ τ .Then, h(aτ b ⊓ ab) = h(a) = a; however, h(aτ b) ⊓ h(ab) = ab ⊓ ab = ab.Furthermore, S ⊙ X ∼ = S × X (for any two sets S, X) and the (co)limit in any presheaf category is computed point-wise.Thus, using these observations, we calculate Σ h F (for F ∈ PSh(A ⋆ τ )) at ̺ ∈ A ⋆ as follows: Note that the reason for the last isomorphism is that every colimit can be encoded as a coend (see [26, p. 224-225] for a dual statement).In addition, ( 9) is the colimit of is the equivalence relation defined as follows: It turns out that from a system theoretic viewpoint, the set lim − →ε h(σ) F X (σ) is nothing but the set of minimal executions whose observable trace is an empty observation.Theorem 5.11 states this result in full generality.Definition 5.9 Given a transition system (X, A τ , →) and a word ̺ ∈ A ⋆ , we say an execution p has an observable trace ̺ if h(max dom(p)) = ̺.Furthermore, MExec(X, ̺) is the set of all minimal executions w.r.t. the prefix order on executions whose observable trace is ̺.Formally, p p ′ ⇐⇒ p ′ | dom(p) = p and MExec(X, ̺) = p | ↓ p ∩ {q ∈ Exec(X) | h(max dom(q)) = ̺} = {p} .
Before we prove Theorem 5.11, we need a category theoretic result (which is probably folklore; see [26, Exercise IV.2.7] for a dual statement), namely, that the colimit of a diagram can be decomposed into the coproducts of the colimits of diagrams with smaller shapes under certain restrictions.Lemma 5.10 Given a set J and a small category C = j∈J C j with injections ι j , then for any functor F from C to a cocomplete category D, we have lim Theorem 5.11 For a given transition system (X, A τ , →) and Next, we explore the action of the presheaf Σ h F X from a system theoretic viewpoint.Firstly, it is defined by the universal property of the colimit.Let ̺ ′ ̺ and let σ be a minimal word such that h(σ) = ̺.Then, there is a unique minimal word σ Note that this infimum exists since the history of a word in A ⋆ τ is a finite totally ordered set of words.Therefore, the family of arrows depicted by the dotted arrows in (11) forms a cone, where Thus, the universal property of the colimit gives a map Σ h F X ̺ ✲ Σ h F Y ̺ ′ , which we denote by Σ h (̺, ̺ ′ ).
Secondly, for any ̺ ′ ̺ with ̺, ̺ ′ ∈ A ⋆ , we define a map: where σ = max dom(p).Now we can establish that the isomorphism in Theorem 5.11 is natural in ̺ ∈ A ⋆ .
Now that we know what Σ h does to a presheaf, we use the category PSh(A ⋆ ) as our semantic universe to handle invisible actions.Thus, for a given (X, A τ , →), we let X = Σ h F X .In addition, for a branching simulation function X f ✲ Y , we use the isomorphic view of minimal executions and let f ̺ (p) = p f (for each ̺ ∈ A ⋆ ), where p f is an execution defined inductively using the following rules.Next let LTS τ be the category of transition systems with possible invisible steps, which comprises of transition systems as objects and morphisms are the collection of identity functions and branching simulation functions.Thus, we can now give a presheaf semantics for the category LTS τ .
Finally, we can invoke the bisimulation maps in PSh(A ⋆ ) but the characterisation of branching bisimulation functions fails to hold.The mismatch is in the reflection (7) of invisible steps (not with the reflection of observable transitions), which we explain next in the following example.
Example 5.15 Consider the two transition systems and the branching simulation f depicted below with dashed lines.Note that f is not a branching bisimulation function (even though it is surjective) because it fails to reflect the transition y 1 τ − → y 3 .
Yet f is a bisimulation map in PSh(A ⋆ ).For this consider a given commutative square (2) in PSh(A ⋆ ).The crucial case in defining the functions k ̺ is when ̺ ∈ {ε, a}.
• Let q ∈ Q(a).Then, n a (q) is the minimal execution witnessing y 1 a − → y 2 since there are no other minimal executions in MExec(Y, a).Thus, we let k a (q) to be the minimal execution witnessing the transition x 1 a − → x 2 .

Characterisation of branching bisimulation
Unfortunately, all the information related to silent transitions is lost by transforming a presheaf using the functor Σ h because all the executions with empty observations get fused into their corresponding empty (minimal) executions.In retrospect, the problem lies in our specification of observation since our hypothetical 'observer' O is unable to differentiate between empty observation due to no system move and empty observation due to zero or more system moves.Therefore, to model this latter observation, we introduce a constant τ which can be observed anytime after 0. So for this section, we define O in the next page as follows: for any m ≤ n and σ ∈ O(n) .
Put differently, τ is 'really' a constant observation over time except at 0. The introduction of τ is new and inspired from the constant η [4] which can be viewed as an empty observation due to at least one system move.
Proposition 5. 16 The above mapping N op O ✲ Set is a presheaf.
Moreover, the categories PSh(N)/O and PSh(E(O)) are equivalent (Theorem 2.6).So, consider the category of elements E(O) whose objects are tuples (n, σ) (for n ∈ N, σ ∈ O(n)) and whose arrows are given by the rule: Just as the category E(A τ ) has a simpler description in terms of A ⋆ τ , we simplify E(O) by defining a set .
Note that the leftmost rule is concerned with the elements of A ⋆ τ .Thus, the slice category PSh(N)/O is equivalent to the category PSh(A ⋆ τ τ ) since E(O) ∼ = A ⋆ τ τ .Using the presheaf F X (cf.( 8)) induced by a given transition system (X, A τ , →), define a presheaf FX ∈ PSh(A ⋆ τ τ ) as follows: , where τ 0 = {ε} The executions based on invisible steps are seen stretchable in time by O, i.e., a system may perform invisible executions of length independent of time instants.This is encoded in the second clause of FX .To complete the definition of FX as a presheaf, we define, for any p ∈ FX (σ) and σ ′ σ in A ⋆ τ τ , the action of FX as: Notice how the above formulation closely follows the three defining clauses of O.
Proposition 5.17 The mapping FX defined above is a contravariant functor.
Note that the definition of the maps Σh(̺ ′ , ̺) (for ̺ ′ ̺) is similar to the maps Σ h (̺ ′ , ̺) defined by the universal property of colimits (see (11)).Just like in the previous subsection, we utilise the isomorphic view of minimal executions to define our semantic map LTS τ ✲ PSh(A ⋆ τ ): • For a given transition system, we let X = Σh FX .
• For a given branching simulation function X f ✲ Y , we let f ̺ (p) = p f .Lemma 5. 19 The above mapping is a faithful functor.
Finally, we have obtained the desired result of this section.
Theorem 5.20 A branching simulation function f is a branching bisimulation function iff f is a bisimulation map in PSh(A ⋆ τ ).

Related work and Conclusion
The core idea of Goguen's sheaf semantics [16] is: systems are diagrams of sheaves, behaviour (interconnection) of systems is their limit (colimit).In retrospect, Goguen gave a sheaf semantics of nondeterministic automata by constructing presheaves on the Alexandroff topology induced by the downward closed subsets of A ⋆ (in contrast to presheaves over A ⋆ ).However, it is well that the category of sheaves on Alexandroff spaces induced by a poset (X, ) is equivalent to the category of presheaves on X (a consequence of the so-called comparison lemma in topos theory; see [27, Corollary 3 on Page 590]).In short, we use simpler structures to represent executions and focused on defining bisimulations abstractly which were absent in [16].
Relational presheaves [31] generalise transition systems that are labelled by words from the free monoid A ⋆ .The idea was to accommodate the earlier presheaf approaches [23,34] with algebraic structure on labels.The most insightful observation of [31] was the well-known 'saturation' construction on transition systems can be captured using a 2-adjunction induced by a homomorphism between A ⋆ τ , A ⋆ .Unlike [31], our left adjoint Σ h records the minimal executions induced by a transition system with silent steps.We expect this to be relevant for probabilistic systems, where minimal executions are used to define a probability measure (cf.[6]).
Open maps between presheaves as defined in [23] are instances of the open maps in a topos as introduced in [22].This is because open maps between presheaves (as in [23]) are natural transformations whose naturality square is a weak pullback in Set (cf.[22, Example 1.1]).We discarded the open maps between presheaves because they are incapable of establishing complete refinement between an implementation and its specficiation; though it is still interesting to assert whether the bisimulation maps (Def.3.1) satisfy the axioms given in [22].
Prefix orders are generalisations of trees proposed in [10] to study executions of dynamical systems in an order theoretic manner.In [5], the authors defined functional bisimulation between prefix orders by reinterpreting the definition of open maps in concrete categories.Our bisimulation maps are an instance of this general definition (Section 3).It is unclear, though, how to enrich prefix orders with observations so that we can model labelled executions in a uniformly.This question lead us to model observations as presheaves.
To sum up, bisimulation maps between presheaves are versatile enough to capture different notions of behavioural equivalence.We demonstrated this by characterising ∀-fair bisimulation and branching bisimulation, two notions that are notoriously difficult to capture with a coalgebraic approach.The clear distinction between time and observation proved fruitful in dealing with silent actions, but we also expect our framework to lend itself well to modelling hybrid systems.For instance, sheaves over the translation-invariant interval domain IR /⊲ were introduced in [30] to model hybrid systems.It will be interesting to explore whether bisimulation maps between such sheaves (Remark 3.2) coincides with stateless bisimulation [7,11,32].

A Proofs
Theorem A.1 (Theorem 3.3) Every bisimulation map in a (pre)sheaf category is a retract; thus, every bisimulation map is an epimorphism.
Proof.In the commutative square (2), take P = 0 the initial object in PSh(C) (the proof for sheaves is similar), Q = G, g =! G , n = id G , and m =! P .Clearly, 0 ⊂ !G ✲ G is the monomorphism since any two parallel arrows with initial object as the common codomain ought to be isomorphic.Thus, f is a retract in PSh(C) since there is an arrow k such that f • k = id G .Hence, f is an epimorphism.✷

B Proofs Concerning Section 4
Proposition B.1 (Proposition 4.2) The above map FTS ✲ PSh(A ∞ ) is a faithful functor.
Proof.It is clear that a given fair transition system (X, A, →, Fair X ) induces a presheaf X on A ∞ .Let X ∪ {Ω} f ✲ Y ∪ {Ω} be a given fair simulation function and let p ∈ X (σ).Then f • p preserves the transition structure since f satisfies (1); thus, , for any x ∈ X.Thus, f = g.✷ Theorem B.2 (Theorem 4.3) A fair simulation function f is a fair bisimulation if, and only if, the underlying map f is a bisimulation map in PSh(A ∞ ).
Proof.⇒ Consider the commutative square as depicted below in PSh(A ∞ ).
We will prove the existence of Q k ✲ X by well-founded induction.Note that the relation is a wellfounded relation on A ∞ .To see this, let U ⊆ A ∞ and let σ ∈ U , for some σ ∈ A ∞ .Since the history of σ is discrete, i.e., ↓ σ \ {σ} is isomorphic to ↓ n (for some n when σ is finite) or N (when σ is infinite), we know that the infimum (↓ σ ∩ U ) exists.Thus, every nonempty subset of A ∞ has a minimal element; whence, is a well-founded relation on A ∞ .
Next, we distinguish two cases based on the length of σ.
Consider the square drawn in (B.1) and take m, n as the obvious injections with g ε (ε x ) = ε f (x) and g σ = ∅ (for σ = ε).Then this square commutes, i.e., f • m = n • g.Moreover, the map g is clearly a mono in PSh(A ∞ ).
Thus, there is a diagonal map Q k ✲ X such that the two triangles commute (see (B.1)).Therefore, there is an execution p ∈ X (a) such that p • ε = ε x and f • p = q (due to the commutativity of lower and upper triangles, respectively).I.e., there is a transition x a − → last(p) and f (last(p)) = y.It remains to show that f satisfies (4).Consider an increasing sequence of finite executions (p i ) i∈N .The interesting case is when the supremum i∈N f • p i exists.The other case when the supremum i∈N p i exists is trivial, since a simulation function already preserves such limit executions.Let σ i = max dom(p i ) (for each i ∈ N).Note that the supremum i∈N σ i exists since A ∞ is a directed complete poset.Now construct the following presheaves P, Q ∈ PSh(A ∞ ).
Notice that the last equation holds because f is a natural transformation, which is due to f being a fair simulation function (cf.Proposition 4.2).
Furthermore, taking m, n, and g as the obvious injections in (B.1), we again find that the square drawn in (B.1) commutes.Thus, there is a map Q k ✲ X such that the two triangles commute.Therefore, there is an execution p ∈ FExec(X) such that p| dom(pi) = p i (for each i ∈ N) and f • p = i∈N f • p i .Next, we claim that p = i∈N p i .Clearly, p is an upper bound of the sequence (p i ) i∈N .Let p ′ be another upper bound of this sequence.Then, p ′ (σ i ) = p i (σ i ) = p(σ i ) (for any i ∈ N).Moreover, p ′ ( i∈N σ i ) = Ω = p( i∈N σ i ).Thus, p = p ′ ; whence p is the supremum of the sequence (p i ) i∈N .✷ Theorem B.3 (Theorem 4.7) Two states x and x ′ are related by a ∀-fair bisimulation relation if, and only if, there is a fair bisimulation function f such that f (x) = f (x ′ ).
Proof.Let (X, A, →, Fair X ) be a fair transition system.
⇒ Assume a given fair bisimulation function X ∪ {Ω} f ✲ Y ∪ {Ω} with some fair transition system (Y, A, →, Fair Y ).Then we show that the equivalence relation a − → f (x ′ ), since f (x) = f (y).Using (3) we find some y ′ ∈ X such that y a − → y ′ and f (y ′ ) = f (x ′ ).Thus, x ′ Ry ′ .Let p ∈ Fair X and let q be an infinite execution such that p = R q.Further, let σ = max dom(p).Clearly, σ ∈ A ω .Let r i = r • (σ| i ), for each i ∈ N and r ∈ {p, q}.Then we find f • p i = f • q i because p = R q.Now using (4), we find q = i∈N q i ∈ Fair X because ⇐ Assume a given ∀-fair bisimulation R ⊆ X × X which, by definition, is an equivalence relation.We construct a matching fair bisimulation function whose codomain is the quotient system The fairness predicate on the quotient system Y is defined as follows: where We claim that the predicate Fair Y is well defined, i.e., independent of chosen representatives.To prove we show that So let p, p ′ be such that f • p = f • p ′ .Then we find that dom(p) = dom(p ′ ) and ∀ σ∈dom(p) p(σ)Rp ′ (σ).I.e., p = R p ′ .Clearly, from Definition 4.6(ii) we obtain p ∈ Fair X ⇐⇒ p ′ ∈ Fair X .Thus, Fair Y is well defined.It is straightforward to see that f is a surjective fair simulation.The function f satisfies (1) because Moreover, f preserves fairness by the construction (B.2) of Fair Y .Now to show that f satisfies (4), assume an increasing sequence of finite executions (p i ) i∈N .The interesting case is when the supremum q = i∈N f • p i exists.The other case when the supremum i∈N p i exists is trivial since a fair simulation function preserves this limit.So consider the former case.Then define an infinite execution dom(q) p ✲ X as follows: Note that p is a well defined function since the domain of a fair infinite execution has one unique infinite word.Moreover, we know that p is an infinite execution because of the given increasing sequence of finite executions.Moreover, using (B.2), we find some p ′ ∈ Fair X such that q = f • p ′ .Clearly, dom(p) = dom(q) = dom(p ′ ).In addition, Clearly, p(max dom(q)) = Ω = p ′ (max dom(q)) by the construction of an infinite execution.Thus, p = R p ′ .So, from Definition 4.6(ii), we conclude that p = i∈N p i ∈ Fair X .
It remains to show that 3 holds.So, assume f (x) a − → y.By definition of f it follows that [x] a − → y, which means there exist x 1 ∈ [x], x 2 ∈ y such that x 1 a − → x 2 .By Definition 4.6(i), it follows then that there exists an Proof.Consider the following system X = {✷ i , z | ✷ ∈ {x, y, z} ∧ i ∈ {1, 2, 3}}: where dashed and dotted lines show the relations R and R ′ , respectively.Furthermore, consider the following notion of fairness (note that b 0 = ε): Clearly, R and R ′ are two ∀-fair bisimulation relations.However, their composition R ′ • R is not a ∀-fair bisimulation.To see this, consider two infinite executions: ↓ ab ω p,q ✲ X with p(ε) = x 1 , q(ε) = y 1 and p(ab n ) = x 2 , q(ab n ) = y 3 (for all n ∈ N).Moreover, let p(ab ω ) = Ω = q(ab ω ).Clearly, p = R ′ •R q because p(ε)RzR ′ q(ε) and p(ab n )RzR ′ q(ab n ) (for all n ∈ N).Yet, p a fair execution (i.e., p ∈ Fair X ) and q is an unfair execution (i.e., q ∈ Fair X ).Thus the relation R ′ • R violates Definition 4.6(ii).This shows that the lemma statement holds if we define ∀-fair bisimulation relations as in [24], i.e., without requiring the underlying relation to be an equivalence.Next, we show that how the above counterexample can be modified even if the underlying relations are equivalence relations.First, notice that both R and R ′ are symmetric relations (dashed lines and dotted lines are without any arrows).Consider the following extension of the two relations: Clearly, T is an equivalence relation; notice that the addition of pairs (z, z 2 ) and (z 2 , z) in the relation R results in a transitive and symmetric relation.Moreover, z and z 2 are clearly ∀-fair bisimilar.On similar grounds, we can argue that T ′ is a ∀-fair bisimulation relation.However, it is straightforward to see that the relation T T ′ is not an equivalence relation because it is not transitive ((x 1 , z 1 ), (z 1 , y 1 ) ∈ T T ′ ; however, (x 1 , y 1 ) ∈ T T ′ ).Thus, T T ′ is not a ∀-fair bisimulation relation.
✷ ✷ Lemma B.5 There are two ∀-fair bisimulation relations which are not closed under union.This still holds if we restrict to Streett fairness constraints rather than arbitrary fairness constraints.
Proof.Consider the following system X = {✷ i | ✷ ∈ {x, y} ∧ i ∈ {1, 2}}: whose fairness predicate is defined as follows: Note that the symbol p in Fair X is ranged over all the infinite executions induced by the fair transition system above.Informally, this means that the state x i is infinitely often reached if, and only if, y i (for i ∈ {1, 2}) is infinitely often reached.It should be noted that this constraint can be seen to be a Streett constraint specified by the pairs (x 1 , y 1 ), (y 1 , x 1 ), (x 2 , y 2 ), (y 2 , x 2 ).
First, we observe that R 1 and R 2 are both symmetric.We show for R 2 that also (1) and (2) of Definition 4.6 hold; it can be shown completely analogously for R 1 (observe the symmetric nature of the system).
Analogously for transitions emanating from y i .(ii) Assume p ∈ Fair X , then for i = 1, 2, we find Now we consider R = R 1 ∪ R 2 and the fair infinite execution p such that Moreover, we consider the unfair infinite execution q such that q(σ) = x 2 for all finite words σ.Then for all finite words σ, we have p(σ)Rq(σ), because for all σ of even length p(σ) = x 1 R 2 x 2 = q(σ) and for all σ of odd length p(σ) = y 1 R 1 x 2 = q(σ).So p = R q, but q is not fair, so R cannot be a ∀-fair bisimulation.Also note that R 1 and R 2 can be extended to equivalence relations by adding just the reflexive pairs (which trivially does not impact the bisimulation property), so this lemma even holds when restricted to equivalence relations.✷ We will now demonstrate why the choice to restrict ∀-fair bisimulation to equivalences rather than merely to symmetric relations5 is sensible: ∀-fair bisimulations would not be closed under transitivity otherwise.
Lemma B.6 If we only require R in the definition of ∀-fair bisimulation to be symmetric rather than an equivalence, then ∀-fair bisimulation is not closed under transitivity.
Proof.Consider the following system X = {x j i | i, j ∈ N} over a single letter alphabet (the action is omitted): Where all infinite executions, except for x 1 1 → x 2 2 → x 3 3 → ... are fair.Let R = {(x j i , x j+1 i ), (x j+1 i , x j i ), (x j i , x j i ) | i, j ∈ N}, then R clearly is a ∀-fair bisimulation -except for transitivity of R. The transitive closure R ′ of R is not a ∀-fair bisimulation, though, because Proposition C.1 (Proposition 5.7) The categories A ⋆ τ , A ⋆ have binary products.
Proof.Note that A ⋆ τ = (A ∪ {τ }) ⋆ .Therefore, by showing that A ⋆ for arbitrary A has binary products, we also show that A ⋆ τ does.Moreover, in a poset viewed as a category, binary product corresponds to meet, so for any σ, σ ′ ∈ A ⋆ , we define σ ⊓ σ ′ as the unique element whose history is ↓ σ∩ ↓ σ ′ .It remains to show that ⊓ satisfies the universal property of product.Clearly, σ ⊓ σ ′ σ and σ Clearly, all the isomorphisms are natural in D; thus, we obtain the desired isomorphism from the Yoneda embedding.✷ Theorem C.3 (Theorem 5.11) For a given transition system (X, A τ , →) and ̺ ∈ A ⋆ , we have Proof.Notice that the result in ( 9) can be seen as the colimit of the diagram: Clearly, we can decompose the ordered set in the following way.Here, M (̺) is the set of minimal words σ such that h(σ) = ̺, i.e., This decomposition is due to the downward totality of the set A ⋆ τ .Lemma 5.10 is now applicable and, upon applying, results in the following isomorphism: Notice that the index category {σ ′ | σ ′ σ} (for each σ ∈ A ⋆ τ ) is a directed set; thus, the colimit lim − →σ ′ σ F X (σ ′ ) can be computed using (10).Next, we claim that for any σ ∈ M (̺), we have the following isomorphism: The function f is well-defined because (p 1 , σ 1 ) Thus, the isomorphism in (C.1) holds.Lastly, using (C.3), it is clear that σ∈M(̺) Exec(X, σ) ∼ = MExec(X, ̺).✷ Theorem C.4 (Theorem 5.12) For any ̺, ̺ ′ ∈ A ⋆ with ̺ ′ ̺, the square in (12) commutes.
However, since p is minimal, we find that p To prove this theorem it remains to show that the above square commutes where π forgets the domain of a minimal execution.This is trivial since mpast(̺, Lemma C.5 (Lemma 5.13) For a given branching simulation X f ✲ Y and a minimal execution p ∈ MExec(X, ̺), we have p f ∈ MExec(Y, ̺).
Proof.Let p ∈ MExec(X, ̺).We prove this lemma by performing structural induction on p.
− → p and a ∈ A, then p ′ f a − → q and last(q) = f (last(p)), thus, p f = q.By induction hypothesis, p ′ f is minimal at ̺ ′ = h(max dom(p ′ )) (i.e., p ′ f ∈ MExec(Y, ̺ ′ )) and since p ends with a transition labelled a ∈ A, we know that p f is also minimal at ̺ ′ a.
This we can show by structural induction on p.For the base case, let p = ε x .Then Note that p ′ may not be a minimal execution at ̺ Then, by the induction hypothesis and substituting p by p ′ • σ ̺ ′ in (C.4) we obtain: Moreover, by the definition of p f , we find that (p Using the above equation, (C.5), and (C.6), we can conclude that The faithfulness of is similar to the strong case since empty executions are always minimal executions.✷Proposition C.7 (Proposition 5.16) The above mapping N op O ✲ Set is a presheaf.
Proof.We need to show that O is a functor: The mapping FX induced by a transition system (X, A τ , →) is a contravariant functor. Proof.
Most of the proof remains similar to the proof of Theorem 5.11.For instance, the case when ̺ ∈ A ⋆ \{ε} remains unchanged due to the way h is constructed.The calculation when ̺ = ε also remains similar except that we have to consider terms FX (n, τ ) (for n > 0), which are pairwise equivalent by the way, i.e., for all n, m > 0 we have FX (n, τ ) = F X (m, τ ).Moreover, the structure A ⋆ τ τ op is directed, i.e., we can compute the colimit using (10).Also, since FX (n, τ ) = m∈N Exec(X, τ m ), we have Σh FX (ε) ∼ = MExec(X, ε).
The only difference in computation is when ̺ = τ .In this case, we have to take the colimit over the decreasing sequence (1, τ ) ≻ (2, τ ) ≻ • • • and we observe that the action of FX between any two elements in this sequence is an identity on the set n∈N Exec(X, τ n ).Thus, we conclude that Σh FX (τ ) ∼ = n∈N Exec(X, τ n ).
Next, we need to show that the square drawn in the theorem statement commutes.For this, we recall that Σh FX (τ ) ∼ = lim − →τ h(n,τ ) FX (n, τ ).So due to the universal property of the colimits, we have the following commutative square.Proof.The proof is the same as Theorem 5.14, except that we have to prove the commutativity of the following naturality square when ̺ ′ = ε τ = ̺.Proof.⇒ Consider the commutative square as depicted below in PSh(A ⋆ τ ).
We prove the existence of Q k ✲ X by structural induction on the elements ̺ ∈ A ⋆ τ .For the base case, let ̺ = ε.Notice that the map f ε is surjective since the given f is surjective.Moreover, since every epi splits in Set, there is a map Y (ε) h ✲ X (ε) such that f ε • h = id Y (ε) .Thus, we define k ε (q) = m ε (g −1 ε (q)), if q ∈ g ε P (ε) h(n ε (q)), otherwise.
Clearly, f ε • k ε = n ε and k ε • g ε = m ε .Before we tackle the inductive case, we prove the following claim: To see this, let p f τ − → q.Then, we find that last(p f ) τ − → last(q).Using the reflection of τ -transition (i.e., ( 7)) we find that there are states x, x ′ ∈ X such that last(p f ) ε − ։ x τ − → x ′ and f x = last(p f ), f x ′ = last(q).Let p, p ′ be the extension of p that ends in states x, x ′ , respectively.To complete the proof, it suffices to show that pf = p f .And this follows directly from the fact that f satisfies the stuttering of τ -transitions (i.e., (6)).This completes the proof of Claim C.9.
The argument for the remaining case τ is analogous to the induction step above, where ε plays the role of ̺.Note that then q = ε ỹ for some ỹ ∈ Y , p = ε x for some x ∈ X. and we find the execution p ′ to be in n∈N Exec(X, τ n ).
⇐ We have to show two properties: f is surjective and f satisfies the reflection property (7), which we will in turn differentiate according to whether a silent or non-silent action is being considered.
• First, we show that f is surjective.From Theorem 3.3 we know that f ε is surjective.So for any y ∈ Y , there is some x ∈ X such that f ε (ε x ) = ε f (x) = ε y .Thus, f (x) = y and so f must be surjective.
Consider the square in (C.8) with the maps g ε (ε x ) = ε f (x) , m ε (ε x ) = ε x , n ε (ε f (x) ) = ε f (x) and n a (q) = q.Clearly, g is a mono in PSh(A ⋆ τ ) and the square in (C.8) commutes, i.e., f • m = n • g.Since f is assumed to be a bisimulation map, there is a map Q We compute f a • k a (q) = n a (q) = q.Thus we find a p ∈ X (a) such that p f = q and by restriction to ε using m = k • g, we also obtain p | ε = ε x .By the definition of p f , this means that x τ − ։ x ′ a − → x ′′ and f (x ′′ ) = y as required.
• The case of a τ -step f (x) τ − → y (corresponding to an execution q observable at τ ) can be shown analogously to the visible a-step, where we consider the set Q(τ ) = {q} instead of Q(a) and argue identically, else.✷

Proposition 4 . 2
The above map FTS ✲ PSh(A ∞ ) is a faithful functor.Invoking the bisimulation map definition between any two presheaves generated by fair transition systems results in the characterisation of fair bisimulation.Theorem 4.3 A fair simulation function f is a fair bisimulation if, and only if, the underlying map f is a bisimulation map in PSh(A ∞ ).

Remark 4 . 4 .
It should be noted that fair bisimulation maps are stronger than the open maps studied by Hildebrandt[19] in PSh(A ∞ ) to characterise the extended bisimulation of Hennessy and Stirling[17] for pointed systems, i.e. systems with explicitly initial states.To demonstrate this, recall that an Inf ⊥ -open map of Hildebrandt [19, Proposition 25] is a fair simulation function (not necessarily surjective) X∪{Ω} f ✲ Y ∪{Ω} satisfying (3) and the property:

f✲
Y in the sense of Caucal can be extended to a branching bisimulation function by composing it with the quotient map Y q ✲ Y /R, where R ⊆ Y × Y is the largest branching bisimulation relation on Y .
where D S⊙ ✲ D is the copower functor given by S ⊙ D = s∈S D (taking S disjoint copies of D).If we replace C h ✲ D in the above diagram by a map C h ✲ D YD ✲ PSh(D), then we obtain the so-called essential geometric morphism the function last(p) returns the last visited state by the execution p, i.e., last(p) = p(max dom(p)).Lemma 5.13 For a given branching simulation function X f ✲ Y and a minimal execution p ∈ MExec(X, ̺), we have p f ∈ MExec(Y, ̺).
satisfies the transfer properties of a ∀-fair bisimulation relation.Let xRy and x a − → x ′ .Using (1) we have f (x) a − → f (x ′ ) and therefore f (y)

1
Closure of ∀-fair bisimulation relations under relational composition and union Lemma B.4 There are two ∀-fair bisimulation relations which are not closed under relational composition.

2 (Lemma 5 . 10 )F
Given a set J and a small category C = j∈J C j with the natural injections ι j , then for any functor F from C to a cocomplete category D, we have • ι j .Proof.We are going to use the Yoneda embedding to derive D ∼ = D ′ whenever D(D, ) ∼ = D(D ′ , ), for any two objects D, D ′ ∈ D. Recall the abstract definition of a colimit from [26]: the colimit lim − →C F is a representation of the functor [C, D](F, ∆ ), i.e., we have an isomorphism D(lim − →C F, D) ∼ = [C, D](F, ∆D) natural in D ∈ D. Thus, we can derive

FX❄
Notice that the vertical arrows, which are the injections of the corresponding colimits, are identities.The left vertical arrow is an identity because the restriction of FX between any two elements having the constant τ (say, (n ′ , τ ) (n, τ )) is an identity, i.e., p • (n ′ , τ ) = p (for any p ∈ FX (n, τ )).The right vertical arrow is an identity because the elements in FX (ε) are already minimal elements w.r.t.̺ = ε.Thus, for any p ∈ FX (n, τ ), we conclude that Σh(τ , ε)(p) = p| ε .✷ Lemma C.10 (Lemma 5.19) The mapping f induced by a branching simulation f between (X, A τ , → ), (Y, A τ , →) is a faithful functor.

❄
Let p ∈ n∈N Exec(X, τ n ).Then there is some x ∈ X such that ε x τ n − − ։ p, for some n ∈ N.Moreover, by the definition of f , we can deduce ε f (x)τ m − − ։ p f , for some m ≤ n.Clearly, we have f ε (p| ε ) = ε f (x) = (p f )| ε = ( f τ p)| ε .✷ Theorem C.11 (Theorem 5.20) A branching simulation function f is a branching bisimulation function if, and only if, the induced map f is a bisimulation map in PSh(A ⋆ τ ).

k✲
X such that the upper and lower triangle in (C.8) commute, i.e., f • k = n and k • g = m.

•
If p ′ τ − → p then p and p ′ have the same observable trace.Yet, this case is inapplicable since p ′ ≺ p and thus, p is not minimal.✷ Theorem C.6 (Theorem 5.14) The above mapping LTS τ ✲ PSh(A ⋆ ) is a faithful functor.Proof.Lemma 5.13 ensures that for any p ∈ Σ h F X ̺, we also have p f ∈ Σ h F Y ̺. use the isomorphic view and show that f is a natural transformation, i.e., for any ̺ ′ ̺, we have mpast(̺, ̺ ′