Skip to main content
Log in

Revisiting causality, coalgebraically

  • Original Article
  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract

In this paper we recast the classical Darondeau–Degano’s causal semantics of concurrency in a coalgebraic setting, where we derive a compact model. Our construction is inspired by the one of Montanari and Pistore yielding causal automata, but we show that it is instance of an existing categorical framework for modeling the semantics of nominal calculi, whose relevance is further demonstrated. The key idea is to represent events as names, and the occurrence of a new event as name generation. We model causal semantics as a coalgebra over a presheaf, along the lines of the Fiore–Turi approach to the semantics of nominal calculi. More specifically, we take a suitable category of finite posets, representing causal relations over events, and we equip it with an endofunctor that allocates new events and relates them to their causes. Presheaves over this category express the relationship between processes and causal relations among the processes’ events. We use the allocation operator to define a category of well-behaved coalgebras: it models the occurrence of a new event along each transition. Then we turn the causal transition relation into a coalgebra in this category, where labels only exhibit maximal events with respect to the source states’ poset, and we show that its bisimilarity is essentially Darondeau–Degano’s strong causal bisimilarity. This coalgebra is still infinite-state, but we exploit the equivalence between coalgebras over a class of presheaves and History Dependent automata to derive a compact representation, where states only retain the poset of the most recent events for each atomic subprocess, and are isomorphic up to order-preserving permutations. Remarkably, this reduction of states is automatically performed along the equivalence.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

References

  1. Adámek, J.: Introduction to coalgebra. Theory Appl. Categ. 14(8), 157–199 (2005)

    MATH  MathSciNet  Google Scholar 

  2. Adámek, J., Bonchi, F., Hülsbusch, M., König, B., Milius, S., Silva, A.: A coalgebraic perspective on minimization and determinization. In: FoSSaCS, pp. 58–73 (2012)

  3. Adámek, J., Rosický, J.: Locally Presentable and Accessible Categories. Cambridge University Press, Cambridge (1994)

    Book  MATH  Google Scholar 

  4. Boreale, M., Sangiorgi, D.: A fully abstract semantics for causality in the \(\pi \)-calculus. Acta Inf. 35(5), 353–400 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  5. Bruni, R., Montanari, U.: Dynamic connectors for concurrency. Theor. Comput. Sci. 281(1–2), 131–176 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  6. Cattani, G.L., Sewell, P.: Models for name-passing processes: interleaving and causal. Inf. Comput. 190(2), 136–178 (2004)

  7. Ciancia, V., Kurz, A., Montanari, U.: Families of symmetries as efficient models of resource binding. Electr. Notes Theor. Comput. Sci. 264(2), 63–81 (2010)

    Article  MathSciNet  Google Scholar 

  8. Ciancia, V., Montanari, U.: Symmetries, local names and dynamic (de)-allocation of names. Inf. Comput. 208(12), 1349–1367 (2010)

    Article  MATH  MathSciNet  Google Scholar 

  9. Darondeau, P., Degano, P.: Causal trees: Interleaving + causality. In: Semantics of Systems of Concurrent Processes, pp. 239–255 (1990)

  10. Ferrari, G.L., Montanari, U., Tuosto, E.: Coalgebraic minimization of HD-automata for the \(\pi \)-calculus using polymorphic types. Theor. Comput. Sci. 331(2–3), 325–365 (2005)

  11. Fiore, M.P, Turi, D.: Semantics of name and value passing. In: LICS, pp. 93–104 (2001)

  12. Gadducci, F., Miculan, M., Montanari, U.: About permutation algebras, (pre)sheaves and named sets. Higher-Order Symb. Comput. 19(2–3), 283–304 (2006)

    Article  MATH  Google Scholar 

  13. Kanellakis, P.C., Smolka, S.A.: Ccs expressions, finite state processes, and three problems of equivalence. Inf. Comput. 86(1), 43–68 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  14. Montanari, U., Pistore, M.: Minimal transition systems for history-preserving bisimulation. In: STACS, pp. 413–425 (1997)

  15. Montanari, U., Pistore, M.: Structured coalgebras and minimal HD-automata for the \(\pi \)-calculus. Theor. Comput. Sci. 340(3), 539–576 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  16. Rutten, J.J.M.M.: Universal coalgebra: a theory of systems. Theor. Comput. Sci. 249(1), 3–80 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  17. Staton, S.: Name-Passing Process Calculi: Operational Models and Structural Operational Semantics. Technical Report 688, University of Cambridge (2007)

  18. Staton, S.: Relating coalgebraic notions of bisimulation. Logical Methods Comput. Sci. 7(1), 1–21 (2011)

  19. Staton, S., Winskel, G.: On the expressivity of symmetry in event structures. In: LICS, pp. 392–401 (2010)

  20. Winskel, G.: Event structures as presheaves—two representation theorems. In: CONCUR, pp. 541–556 (1999)

  21. Worrell, J.: Terminal sequences for accessible endofunctors. Electr. Notes Theor. Comput. Sci. 19, 24–38 (1999)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgments

The research for this paper has been partially funded by the EU Integrated Project 257414 ASCENS and by the Italian MIUR Project CINA (PRIN 2010), Grant Number 2010LHT4KM. We are very grateful to Sam Staton for his clarifications about Hermida Jacobs bisimulations. We thank the anonymous reviewers for their useful comments and suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Matteo Sammartino.

Appendix: Proofs

Appendix: Proofs

Proof

(of Proposition 2)

  • \((\Longrightarrow )\) We prove that the following relation is a causal bisimulation

    $$\begin{aligned} R = \{ (k,k') \mid \exists O :O \rhd k\sim _{\mathtt {PO}}O \rhd k' \} \end{aligned}$$

    Suppose \(O \rhd k\xrightarrow {a,K}_{\mathtt {PO}} O' \rhd k''\) and the simulating transition is \(O \rhd k' \xrightarrow {a,K}_{\mathtt {PO}} O' \rhd k'''\). Then we can recover simulating transitions in LTS\(_{\mathtt {DD}}\) as follows

    $$\begin{aligned} k\xrightarrow {a,{{K\,}\!\!\downarrow _{O}}}_{\mathtt {DD}} k'' \qquad k' \xrightarrow {a,{{K\,}\!\!\downarrow _{O}}}_{\mathtt {DD}} k''' \end{aligned}$$

    where \({{}\!\!\downarrow _{}}\) is extended to sets of causes by performing their closure. Since \(O' \rhd k'' \sim _{\mathtt {PO}}O' \rhd k'''\), we have \((k'',k''') \in R\).

  • \((\Longleftarrow )\) We prove that the following relation is a poset-indexed causal bisimulation

    $$\begin{aligned} R_O = \{ (O \rhd k,O \rhd k') \mid k\sim _{\mathtt {DD}}k' \} \end{aligned}$$

    Suppose \(k\xrightarrow {a,K}_{\mathtt {DD}} k''\) and \(k' \xrightarrow {a,K}_{\mathtt {DD}} k'''\). Then the rule in Definition 9, applied to both transitions, gives transitions in LTS\(_{\mathtt {PO}}\) with the same label, and the same source and target posets. If the the target poset is \(\delta _M(O)\), then from \(k'' \sim _{\mathtt {DD}}k'''\) it follows \((\delta _M(O) \rhd k'', \delta _M(O) \rhd k''') \in R_{\delta _M(O)}\).\(\square \)

Proof

(of Proposition 3) We show (i), the other point is analogous. We rely on the following properties of LTS\(_{\mathtt {DD}}\), which can be easily checked by induction on the inference via rules Fig. 1: for all \(O \rhd k\), \(\sigma :O \rightarrow O'\) injective and poset-reflecting, and \(O''\) such that \(O\) is a subposet of \(O''\), we have

$$\begin{aligned} k\xrightarrow {a,K}_{\mathtt {DD}} k'&\implies k\sigma \xrightarrow {a,K\sigma }_{\mathtt {DD}} k'{\sigma }^{\!+} \end{aligned}$$
(6)
$$\begin{aligned} k\xrightarrow {a,K}_{\mathtt {DD}} k'&\implies {{k}\!\!\downarrow _{O''}} \xrightarrow {a,{{K\,}\!\!\downarrow _{O''}}}_{\mathtt {DD}} {{k'}\!\!\downarrow _{\delta _{{{K\,}\!\!\downarrow _{O''}}}(O'')}} \end{aligned}$$
(7)

Property (7) is the least obvious: the idea is that, since labels of LTS\(_{\mathtt {DD}}\) show the whole history of causes for an action, the additional ones in \(O''\), preceding those in \(K\), should be shown as well; the continuation is closed accordingly.

Now, take \(O \rhd k\xrightarrow {a,K}_{\mathtt {PO}} \delta _K(O) \rhd k'\) and \(\sigma :O \rightarrow O'\) injective and poset-reflecting. By the rule in Definition 9 there is a transition in LTS\(_{\mathtt {DD}}\)

$$\begin{aligned} k\xrightarrow {a,K'}_{\mathtt {DD}} k\qquad K = max_O(K'); \end{aligned}$$

If we apply (6) and then (7) to this transition, we get

$$\begin{aligned} {{(k\sigma )}\!\!\downarrow _{O'}} \xrightarrow {a,{{K'\sigma \,}\!\!\downarrow _{O'}}}_{\mathtt {DD}} {{(k' {\sigma }^{\!+})}\!\!\downarrow _{\delta _{{{K'\sigma \,}\!\!\downarrow _{O'}}}(O')}}. \end{aligned}$$
(8)

Observe that

$$\begin{aligned} max_{O'}({{K'\sigma }\!\!\downarrow _{O'}})&= max_{O'} (K'\sigma ) \nonumber \\&= max_O(K') \sigma \nonumber \\&= K \sigma \end{aligned}$$
(9)

The first equation holds because \({{}\!\!\downarrow _{O'}}\) only adds to \(K'\sigma \) events that are smaller w.r.t. \(\prec _{O'}\). The second equation holds because \(\sigma \) is poset-reflecting: this prevents some maximal, thus unrelated, events in \(K'\) to become non-maximal in \(K'\sigma \) due to additional causal relations involving them in \(O'\).

From (9) it follows

$$\begin{aligned} \delta _{{{K'\sigma \,}\!\!\downarrow _{O'}}}(O')&= \delta _{max_{O'}({{K'\sigma \,}\!\!\downarrow _{O'}})}(O')\nonumber \\&= \delta _{K \sigma }(O') \end{aligned}$$
(10)

where the first equation comes from transitivity: adding causal relations from \(1\) to \(K'\sigma \) and its past causes in \(O'\) is equivalent to adding relations to only maximal events in \(K'\sigma \), because transitivity will take care of adding the missing ones.

We conclude by applying (10) to the continuation of (8), which becomes of the required form, and then the rule of Definition 9 to infer the required transition. The computation of the maximal causes yields the desired result, thanks to (9). \(\square \)

In order to prove Theorem 2, we need the following lemmata, whose proofs are straightforward.

Lemma 3

For each \(O \rhd k\), \(\mu _{O \rhd k}\) is injective and poset-reflecting.

Lemma 4

Let \([\![O \rhd k ]\!] = O' \rhd k'\), then \({{(k'\mu _{O \rhd k})}\!\!\downarrow _{O}} = k\).

An immediate consequence is the following one.

Lemma 5

is generated by \(O \rhd k\xrightarrow {a,K}_{\mathtt {PO}} \delta _K(O) \rhd {{(k'h)}\!\!\downarrow _{\delta _K(O)}}\) via the rule in Definition 12.

Proof

(of Theorem 2)

Item (i). We prove that the following relation is an immediate causes bisimulation

$$\begin{aligned} R = \{([\![O \rhd k ]\!],\sigma ,[\![O \rhd k' ]\!]) \mid \,&O \rhd k\sim _{\mathtt {PO}}O \rhd k',\\&\,\,\sigma (n) = m \iff \mu _{O \rhd k}(n) = \mu _{O \rhd k'}(m)\} \end{aligned}$$

We only show how the derivation of a simulating transition for one of \([\![O \rhd k ]\!]\). The symmetric case is analogous. Let \([\![O \rhd k ]\!] = \tilde{O}\blacktriangleright \tilde{k}\), and suppose it has the following transition

(11)

Then, by Lemma 5, we have

$$\begin{aligned} \tilde{O}\rhd \tilde{k}\xrightarrow {a,K}_{\mathtt {PO}} \delta _K(\tilde{O}) \rhd \tilde{k}_2 \qquad \tilde{k}_2 = {{(\tilde{k}_1 h)}\!\!\downarrow _{\delta _K(\tilde{O})}} \end{aligned}$$
(12)

Now, let \(\mu _1 = \mu _{O \rhd k}\): by Lemma 3, we can apply Proposition 3(i) to the last transition and get

$$\begin{aligned} O \rhd {{(\tilde{k}\mu _1)}\!\!\downarrow _{O}} = k \xrightarrow {a,K\mu _1}_{\mathtt {PO}} \delta _{K\mu _1}(O) \rhd \tilde{k}_3 \qquad \tilde{k}_3 = {{( \tilde{k}_2 {\mu _1}^{\!+} )}\!\!\downarrow _{\delta _{K\mu _1}(O)}} \end{aligned}$$
(13)

where \({{(\tilde{k}\mu _1)}\!\!\downarrow _{O}} = k\) is due to Lemma 4. Therefore we have \([\![\delta _{K\mu _1}(O) \rhd \tilde{k}_3 ]\!] = \tilde{O}' \blacktriangleright \tilde{k}_1\), and the associated map \(\tilde{O}' \rightarrow \delta _{K\mu _1}(O)\) is given by composing those applied to the continuations of (12) and (13), namely

$$\begin{aligned} \mu _{\delta _{K\mu _1}(O) \rhd \tilde{k}_3} = {\mu _1}^{\!+} \circ h \end{aligned}$$
(14)

Suppose (13) can be simulated by \(O \rhd k'\) as follows

$$\begin{aligned} O \rhd k' \xrightarrow {a,K\mu _1}_{\mathtt {PO}} \delta _{K\mu _1}(O) \rhd k''. \end{aligned}$$
(15)

Let \([\![O \rhd k' ]\!] = \tilde{O}'' \blacktriangleright \tilde{k}'\) and \(\mu _2 = \mu _{O \rhd k'}\). Then, by Lemma 3, we can apply Proposition 3(ii) to (15) and \(\mu _2\), obtaining

$$\begin{aligned} \tilde{O}'' \rhd \tilde{k}' \xrightarrow {a,\tilde{K}}_{\mathtt {PO}} \delta _{\tilde{K}}(\tilde{O}'') \rhd \tilde{k}'' \end{aligned}$$
(16)

such that \(\tilde{K}\mu _2 = K \mu _1\) and \({{(\tilde{k}'' {\mu _2}^{\!+})}\!\!\downarrow _{\delta _{K\mu _1}(O)}} = k''\). Let \(h' = \mu _{\delta _{\tilde{K}}(\tilde{O}'') \rhd \tilde{k}''}\). Applying the rule of Definition 12 to (16) we get

(17)

It is not difficult to check that \([\![\delta _{\tilde{K}}(\tilde{O}'') \rhd \tilde{k}'' ]\!] = [\![\delta _{K\mu _1}(O) \rhd k'' ]\!]\): the intuition is that taking immediate causes from \(O \rhd k'\), then adding a new event, and taking again immediate causes, has the same result as adding the event straight away and then taking immediate causes. Therefore \(\mu _{\delta _{K\mu _1}(O) \rhd k''}\) can be expressed as composition of the maps from the continuation of (17) to that of (16), and from the latter to that of (15), namely

$$\begin{aligned} \mu _{\delta _{K\mu _1}(O) \rhd k''} = {\mu _2}^{\!+} \circ h' \end{aligned}$$
(18)

Now we shall check that (11) and (17) are actually simulating transitions. From \(\tilde{K}\mu _2 = K \mu _1\) and the definition of \(\sigma \) (recall that \(\mu _1 = \mu _{O \rhd k}\) and \(\mu _2 = \mu _{O \rhd k'}\)) it follows \(\tilde{K}= K \sigma \). Let \(\sigma '\) be defined by

$$\begin{aligned} \sigma '(n) = m \iff {\mu _1}^{\!+}(h(n)) = {\mu _2}^{\!+}(h'(m)) \end{aligned}$$

The right equation is equivalent to \(\mu _{\delta _{K\mu _1}(O) \rhd k''}(n) = \mu _{\delta _{K\mu _1}(O) \rhd \tilde{k}_3}(m)\), by (14) and (18), so \(([\![\delta _{K\mu _1}(O) \rhd k'' ]\!],\sigma ',[\![\delta _{K\mu _1}(O) \rhd \tilde{k}_3 ]\!]) \in R\). It remains to check that it is a proper bisimulation triple. Take \(n,m\) such that \(\sigma '(n) = m\). We have

$$\begin{aligned} h(n) = 1&\iff {\mu _1}^{\!+}(h(n)) = 1 \\&\iff {\mu _2}^{\!+}(h'(m)) = 1 \\&\iff h'(m) = 1 \end{aligned}$$

where the first and last implication follow from the definition of \({\mu _1}^{\!+}\) and \({\mu _2}^{\!+}\). For \(h(n),h(m) > 1\), expanding the definition of \({\mu _1}^{\!+}\) and \({\mu _2}^{\!+}\) we get \(\mu _1(h(n)-1) = \mu _2(h'(m)-1)\), hence \(\sigma (h(n)-1) = h'(m)-1\), by the definition of \(R\).

Item (ii).We prove that the following family of relations is a poset-indexed causal bisimulation

$$\begin{aligned} R_{\hat{O}} = \{ ( \hat{O}\rhd \hat{k}, \hat{O}\rhd \hat{k}' ) \mid&O \blacktriangleright k \sim _{\mathtt {IC}}^\sigma O' \blacktriangleright k', \text {(ii.a) and (ii.b) hold} \} \end{aligned}$$

To ease notation, let \(\mu _1 = \mu _{\hat{O}\rhd \hat{k}}\) and \(\mu _2 = \mu _{\hat{O}\rhd \hat{k}'}\). We only show that each transition of \(\hat{O}\rhd \hat{k}\) can be simulated by one of \(\hat{O}\rhd \hat{k}'\). The proof for the symmetric statement is analogous. Suppose \(\hat{O}\rhd \hat{k}\) has the following transition

$$\begin{aligned} \hat{O}\rhd \hat{k}\xrightarrow {a,K}_{\mathtt {PO}} \delta _K(\hat{O}) \rhd \hat{k}'' \end{aligned}$$
(19)

Then, by Proposition 3(ii) and Lemma 3, we can rename it via \(\mu _1\) and get

$$\begin{aligned} O \rhd k\xrightarrow {a,\tilde{K}}_{\mathtt {PO}} \delta _{\tilde{K}}(O) \rhd \tilde{k}' \qquad \tilde{k}' = {{(\hat{k}'' {\mu _1}^{\!+})}\!\!\downarrow _{\delta _{\tilde{K}}(O)}} \end{aligned}$$

where \(\tilde{K}\mu _1 = K\). Applying the rule in Definition 12, we get

Now, suppose that this transition can be simulated by \(O' \blacktriangleright k'\) as follows

and \([\![ \delta _{\tilde{K}}(O) \rhd \tilde{k}' ]\!] \sim _{\mathtt {IC}}^\sigma O'' \blacktriangleright k''\). Applying Lemma 5 we get

$$\begin{aligned} O' \rhd k' \xrightarrow {a,\tilde{K}\sigma }_{\mathtt {PO}} \delta _{\tilde{K}\sigma }(O') \rhd k''_1 \qquad k''_1 = {{(k'' h')}\!\!\downarrow _{\delta _{\tilde{K}\sigma }(O')}} \end{aligned}$$

and then, from Proposition 3(i) with renaming \(\mu _2\), and applying Lemma 4 to the resulting source process, we get

$$\begin{aligned} \hat{O}\rhd \hat{k}' \xrightarrow {a,(\tilde{K}\sigma ) \mu _2}_{\mathtt {PO}} \delta _{(\tilde{K}\sigma )\mu _2}(O') \rhd \tilde{k}'' \qquad \tilde{k}'' = {{(k''_1 {\mu _2}^{\!+})}\!\!\downarrow _{\delta _{(\tilde{K}\sigma )\mu _2}(O')}} \end{aligned}$$
(20)

From hypothesis (ii.b) and \(\tilde{K}\subseteq dom(\sigma )\), by definition of \(\sim _{\mathtt {IC}}^\sigma \), we have \((\tilde{K}\sigma ) \mu _2 = \tilde{K}\mu _1 = K\), so (19) and (20) have the same label, and we must have \(\delta _{(\tilde{K}\sigma )\mu _2}(O') = \delta _{K}(\hat{O})\). Finally, we have to check (ii.a) and (ii.b) on continuations:

  1. (ii.a)

    We have \([\![ \delta _{\tilde{K}}(O) \rhd \tilde{k}' ]\!] = [\![\delta _K(\hat{O}) \rhd \hat{k}'' ]\!]\) and \([\![\delta _K(\hat{O}) \rhd \tilde{k}'' ]\!] = O'' \blacktriangleright k''\), as already explained in Item (i) for analogous transitions;

  2. (ii.b)

    Let \(\tilde{\mu }_1 = \mu _{\delta _{\tilde{K}}(O) \rhd \tilde{k}'}\) and \(\tilde{\mu }_2 = \mu _{\delta _K(\hat{O}) \rhd \tilde{k}''}\). We have to check \(\tilde{\mu }_1|_{dom(\sigma ')} = \tilde{\mu }_2 \circ \sigma '\). Take \(n \in dom(\sigma ')\). Then, by the equivalence between continuations exhibited in the proof of (ii.a), we have \(\tilde{\mu }_1 = {\mu _1}^{\!+} \circ h\) and \(\tilde{\mu }_2 = {\mu _2}^{\!+} \circ h'\), so

    $$\begin{aligned} \tilde{\mu }_1(n) = \tilde{\mu }_2(\sigma '(n))&\iff {\mu _1}^{\!+}(h(n)) = {\mu _2}^{\!+}({h'(\sigma '(n))}) \end{aligned}$$

    We have two cases, by the property relating \(\sigma '\) with \(h,h'\) and \(\sigma \):

    • \(h(n) = h'(\sigma (n)) = 1\), then \({\mu _1}^{\!+}(h(n)) = 1 ={\mu _2}^{\!+}({h'(\sigma '(n))})\);

    • \(h(n), h'(\sigma (n)) > 1\), then \(\sigma (h(n)-1) =h'(\sigma '(n)) - 1\), and so

      $$\begin{aligned}&\mu _2(\sigma (h(n) - 1)) = \mu _2(h'(\sigma '(n)) - 1) \quad \text{(applying }\, \mu _2 \text{ on } \text{ both } \text{ sides) } \\&\iff \qquad \!\! \mu _1(h(n)-1) \!=\!\mu _2(h'(\sigma '(n)) \!-\! 1) \quad (\hbox {by hypothesis } \mu _1(n) = \mu _2(\sigma (n))) \\&\iff \qquad \!\! {\mu _1}^{\!+}(h(n)) \!=\! {\mu _2}^{\!+}({h'(\sigma '(n))}) \quad \text{(by } \text{ definition } \text{ of }\,{\mu _1}^{\!+}\,\text{ and }\, {\mu _2}^{\!+},\\&\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \quad \,\hbox {adding}\, 1\, \text{ to } \text{ both } \text{ members) } \end{aligned}$$

\(\square \)

We need the following lemma in order to prove Proposition 4.

Lemma 6

Let \(f,g,h\) morphisms of \(\mathbf {P}\) such that \(f = h \circ g\). If \(f\) and \(h\) are injective and poset-reflecting then so is \(g\).

Proof

Suppose \(f :O_1 \rightarrow O_3\), \(g :O_1 \rightarrow O_2\) and \(h :O_2 \rightarrow O_3\). Injectivity of \(g\) is straightforward to prove. As for poset-reflection, suppose \(g\) does not preserve posets, namely there are \(x,y \in |O_1|\) such that \(x \not \prec _{O_1} y\) and \(g(x) \prec _{O_2} g(y)\). Then \(h(g(x)) \prec _{O_3} h(g(y))\), because \(h\) preserves posets, therefore \(f(x) \prec _{O_3} f(y)\), but then \(f\) does not preserve posets, a contradiction. \(\square \)

Proof

(of Proposition 4) Smallness comes from the same property of \(\mathbf {P}\). We now show that pullbacks exists and are computed as in \(\mathbf {Graph}\). Consider the following pullback in \(\mathbf {Graph}\)

where \(\sigma _1,\sigma _2,q_1,q_2\) are morphisms in \({\mathbf {P}_{m}}\). We have to show that \(O \in |{\mathbf {P}_{m}}|\) and \(p_1,p_2,m\) are morphisms in \({\mathbf {P}_{m}}\). That \(O \in |{\mathbf {P}_{m}}|\), namely it is a dag with reflexive and transitive edges, follows from analogous properties of \(O_1,O_2\) and \(O_3\) and the fact that \(O\) has an edge iff each graph among \(O_1,O_2\) and \(O_3\) has a corresponding edge picked by the pullback morphisms, by definition of pullback in \(\mathbf {Graph}\). From this last observation also follows that \(p_1\) and \(p_2\) preserve posets. They are also injective, because monos are stable under pullbacks, so they belong to \({\mathbf {P}_{m}}\). As for \(m\), it belongs to \({\mathbf {P}_{m}}\) by Lemma 6 applied to the commutative triangle (1). \(\square \)

We need some technical lemmata in order to prove Lemma 1. We fix the following span in \({\mathbf {P}_{m}}\)

Lemma 7

Consider the following pushout in \(\mathbf {Graph}\)

Then:

  1. (i)

    \(p_1\) and \(p_2\) are injective and preserve posets;

  2. (ii)

    \(G\) satisfies antisymmetry and reflexivity.

Proof

  1. (i)

    Injectivity follows from the fact that monomorphisms in \(\mathbf {Graph}\) are stable under pushouts. Suppose \(p_1\) does not reflect posets (the case of \(p_2\) is identical). Then there are \(x,y \in |O_1|\) such that \(x \not \prec _{O_1} y\) and \(p_1(x) \prec _{G} p_1(y)\). But then, by definition of pushout in \(\mathbf {Graph}\), we must have \(x',y' \in |O|\) such that \(\sigma _1(x') = x\), \(\sigma _1(y') = y\) and \(\sigma _2(x') \prec _{O_2} \sigma _2(y')\) (otherwise \(p_1(x) \not \prec _{G} p_1(y)\)). Since \(\sigma _2\) reflects posets, we must have \(x' \prec _O y'\), but then \(\sigma _1\) does not reflect posets, a contradiction.

  2. (ii)

    Reflexivity follows from self-loops of \(O_1\) and \(O_2\) being preserved by \(p_1\) and \(p_2\). Suppose antisymmetry does not hold, namely there are \(x,y \in |G|\), such that \(x \prec _G y\), \(y \prec _G x\) and \(x \ne y\). Then, since \(p_1\) and \(p_2\) reflect posets by (i), we can only have two cases:

    • \(x \prec _G y\) and \(y \prec _G x\), with \(x \ne y\), are images of edges in \(O_i\) via \(p_i\) (\(i \in \{1,2\}\)): then \(O_i\) would not satisfy the antisymmetric property, a contradiction;

    • \(x \prec _G y\) and \(y \prec _G x\) are images of one edge \(x_1 \prec _{O_1} y_1\) in \(O_1\) and one \(y_2 \prec _{O_2} x_2\) in \(O_2\) via \(p_1\) and \(p_2\) respectively, with \(x_i \ne y_i\): then there must be \(x',y' \in |O|\), with \(x' \ne y'\), such that \(\sigma _i(x') = x_i\) and \(\sigma _i(y') = y_i\); but then \(x' \prec _O y'\) and \(y' \prec _O x'\), because \(\sigma _1\) and \(\sigma _2\) reflect posets, i.e., \(O\) does not satisfy the antisymmetric property, a contradiction.

\(\square \)

Lemma 8

If the square on the left is a pushout in \(\mathbf {Graph}\) then the one on the right is a pushout in \(\mathbf {P}\) and a square in \({\mathbf {P}_{m}}\)

where \(G^+\) is the transitive closure of \(G\) and \(cl = G \hookrightarrow G^+\).

Proof

Transitive closure defines a functor \(\mathbf {Graph}\rightarrow \mathbf {Cat}\), where \(\mathbf {Cat}\) is the category of small categories, left adjoint to the functor sending a category to its underlying graph, therefore it preserves pushouts. It is easy to see that \(\mathbf {P}\) is equivalent to a full subcategory of \(\mathbf {Cat}\), and that the left pushout is sent to a pushout in this subcategory, corresponding to the right square. In fact, transitive closure does not affect , by idempotency, and Lemma 7(ii) says that \(G^+\) is indeed an object of \(\mathbf {P}\). The right square is indeed a pushout: mediating morphisms towards objects in \(\mathbf {P}\) correspond, along the equivalence, to those in \(\mathbf {Cat}\).

Finally, in order to show that the right square is in \({\mathbf {P}_{m}}\), we have to prove that \(cl \circ p_1\) and \(cl \circ p_2\) are injective and reflect posets. Injectivity follows from Lemma 7(i) and injectivity of \(cl\). By Lemma 7(ii) we know that \(p_1\) and \(p_2\) reflect posets. Suppose \(cl \circ p_1\) does not (\(cl \circ p_2\) is treated analogously). Then there are \(x,y \in |O_1|\), with \(x \ne y\), such that \(x \not \prec _{O_1} y\) and \(cl(p_1(x)) \prec _{G^+} cl(p_1(y))\). We have two cases:

  • \(cl(p_1(x)) \prec _{G^+} cl(p_1(y))\) is added by the transitive closure. Then there is \(z \in |G|\) such that \(p_1(x) \prec _G z \prec _G p_1(y)\). If \(z\) is the image via \(p_1\) of some \(z' \in |O_1|\), since \(p_1\) reflects posets we must have \(x \prec _{O_1} z' \prec _{O_1} y\), but \(x \not \prec _{O_1} y\) by assumption, which is absurd because \(O_1\) would not be transitively closed. If \(z' = p_2(z)\) then, by definition of pushout, we must have \(x',y' \in |O_2|\) sent by \(p_2\) to \(p_1(x)\) and \(p_1(y)\), respectively. Since \(p_2\) reflects posets, we must have \(x' \prec _{O_2} z' \prec _{O_2} y'\) and \(x' \not \prec _{O_2} y'\), by \(p_1(x) \not \prec _G p_1(y)\), but then \(O_2\) is not transitively closed, a contradiction.

  • \(p_1(x) \prec _G p_1(y)\). Then \(p_1\) would not reflect posets.

\(\square \)

Proof

(of Lemma 1) This is just a corollary of Lemma 8. \(\square \)

Proof

(of Proposition 5) For accessibility: \(\fancyscript{P}_f\) is known to be accessible; \(\mathcal {L}\) is accessible, because it can be regarded as a constant endofunctor on \(\mathbf {Set}^{\mathbf {P}_{m}}\); \(\varDelta \) is accessible, because it has a right adjoint, namely the functor computing right Kan extensions along \(\delta \). The thesis follows from accessibility being preserved by composition and products.

In order to show that \(B\) covers pullbacks, we will show that it has the form \(\fancyscript{P}_f\circ B'\), with \(B'\) a pullback preserving endofunctor on \(\mathbf {Set}^{\mathbf {P}_{m}}\). The thesis will follow from \(\fancyscript{P}_f\) covering pullbacks (see [18]). \(\varDelta \) has a left adjoint, namely the functor computing left Kan extensions along \(\delta \), then it preserves pullbacks; \(\mathcal {L}\) can be seen as a constant, hence pullback-preserving, endofunctor on \(\mathbf {Set}^{\mathbf {P}_{m}}\). \(B'\) is the product of these two functors, so it preserves pullbacks. \(\square \)

Proof

(of Proposition 6) The transition relation can be turned into a natural transformation in \(\mathbf {Set}^{\mathbf {P}_{m}}\): (i) and (ii) guarantee that such relation obeys the naturality condition. The other direction clearly holds. \(\square \)

Proof

(of Proposition 7) Requirement (ii) of Definition 17 corresponds to the fact that a \(B\)-bisimulation \(R\) is a functor with action on \(\sigma \) given by \((p,q) \mapsto (p[\sigma ],q[\sigma ])\). Requirement (i) corresponds to the fact that \(RO\) is “almost” an ordinary bisimulation, because computing \(\overline{B}R(O)\) essentially amounts to computing \(\overline{B_{flts}}(RO)\) (see Sect. 2.2) for each \(O \in |{\mathbf {P}_{m}}|\), as images in \(\mathbf {Set}^{\mathbf {P}_{m}}\) are computed pointwise in \(\mathbf {Set}\), with the difference that continuations are not in \(RO\), but in \(R(\delta O)\). \(\square \)

Proof

(of Proposition 8) Let \(P\) be a pullback-preserving presheaf. It is well-known that the finite powerset \(\mathcal {P}_f\) in \(\mathbf {Set}\) preserves pullbacks of monos, thus so does \(\mathcal {P}_f \circ P\).

The presheaf of label can be seen as an endofunctor on \(\mathbf {Set}^{\mathbf {P}_{m}}\) with constant action \(\mathcal {L}\), so we have to show that \(\mathcal {L}\) preserves pullbacks: it is obtained by combining, via product and composition, the covariant hom functor \(\mathcal {E}\), which is known to preserve pullbacks, the finite powerset and the constant presheaf \(Act \cup \{\tau \}\), which trivially preserves pullbacks; therefore \(\mathcal {L}\) preserves pullbacks.

The interesting case is \(\varDelta \). We have to show that \(\delta \) preserves pullbacks, which implies that \(P \circ \delta \), i.e., \(\varDelta P\), has the same property. Consider the following squares in \({\mathbf {P}_{m}}\), where the left one is a pullback

The left diagram can be embedded into the right one using \(old\) maps. This gives the action of the right diagram’s morphisms on elements that are not generated by \(\delta \), and tells that the right diagram indeed behaves like a pullback on such elements. Now, consider any element added by \(\delta \) to \(O\). This is the top element for a set of incomparable events \(K \subseteq |O|\). Since pullbacks are constructed as in \(\mathbf {Graph}\) (Proposition 4), \(K\) is incomparable in \(O\) if and only if \(p_1(K)\) and \(p_2(K)\) are incomparable in \(O_1\) and \(O_2\), respectively, and have the same image in \(O_3\), again formed by incomparable events. By definition of the action of \(\delta \) on morphisms, \(\delta (p_i)\) maps the fresh top element for \(K\) to the ones for \(p_i(K)\) (\(i=1,2\)), and these are mapped by \(\delta (\sigma _1)\) and \(\delta (\sigma _2)\) to the same one in \(\delta (O_3)\). Therefore \(\delta (O)\) is indeed a pullback object, with pullback maps \(\delta (p_1)\) and \(\delta (p_2)\). \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bruni, R., Montanari, U. & Sammartino, M. Revisiting causality, coalgebraically. Acta Informatica 52, 5–33 (2015). https://doi.org/10.1007/s00236-014-0207-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00236-014-0207-9

Navigation