Action Emulation - Semantic Scholar

Report 3 Downloads 135 Views
Action Emulation Jan van Eijck1 and Ji Ruan2 and Tomasz Sadzik3 CWI1 and ILLC1,2 , Amsterdam, Stanford University3 , Stanford

November 22, 2006

Abstract A key notion of equivalence for modal and epistemic logic is bisimulation. However, to capture the update effects of action models in epistemic update logic, this notion turns out to be too strong. We propose necessary and sufficient conditions for having the same update effect, in the cases of action models with propositional preconditions and action models with modal precondions. Next, the notion of an action emulation is proposed as a notion of equivalence more appropriate for action models than bisimulation. It is proved that every bisimulation is an action emulation, but not vice versa, and that in the context of action models with propositional or modal preconditions, action emulation provides a full characterisation of update effect.

1

Introduction

Actions with epistemic effects, such as informing someone that something is the case, are quite similar to situations with epistemic aspects, such as models of the states of knowledge of groups of agents. Knowledge of agents is encoded in epistemic models, with i transition relations → modelling the epistemic state of each agent i, and valuations over a set of proposition letters modelling factual states of affairs. Definition 1 Let a set of propositional variables P and a finite set of agents Ag be given. An epistemic model is a triple M = (W, V, R) where W is a set of worlds, V : W → P(P ) assigns a valuation to each world w ∈ W , and R : Ag → P(W 2 ) assigns an accessibility i relation → to each agent i ∈ Ag. A pair M = (M, U ) with U ⊆ W is a multiple pointed epistemic model, indicating that the actual world is among U .

1

[4] proposes to model epistemic actions as epistemic models, with valuations replaced by preconditions. (See also: [1, 2, 3, 5, 6, 7, 8, 9, 10].) Definition 2 (Action models for a given language L) Let a finite set of agents Ag and an epistemic language L be given. An action model for L is a triple A = (W, pre, R) where W is a set of action states, pre : W → L assigns a precondition to each action i state, and R : Ag → P(W 2 ) assigns an accessibility relation → to each agent i ∈ Ag. A pair A = (A, S) with S ⊆ W is a multiple-pointed action model, indicating that the actual action that takes place is a member of S. The epistemic language LAN G is defined as follows. Definition 3 (LAN G) Assume p ranges over set of basic propositions P , i ranges over the set of agents Ag and B ranges over subsets of Ag. The formulas of LAN G are given by: ϕ ::= > | p | ¬ϕ | ϕ1 ∧ ϕ2 | 2i ϕ | EB ϕ | CB ϕ | [A, S]ϕ where (A, S) is a multiple pointed finite LAN G (action) model. We employ the usual abbreviations. In particular, ϕ1 ∨ ϕ2 is shorthand for ¬(¬ϕ1 ∧ ¬ϕ2 ), ϕ1 → ϕ2 for ¬(ϕ1 ∧ ¬ϕ2 ), 3i ϕ for ¬2i ¬ϕ, hA, Siϕ for ¬[A, S]¬ϕ. The reason to employ multiple pointed models for updating is that it allows us to handle choice. Suppose we want to model the action of testing whether ϕ followed by a public announcement of the result. This involves choice: if the outcome of the test is affirmative, then do this, else do that. Choice is modelled in a straightforward way in multiple pointed action models. Once we allow multiple pointed action models, it is reasonable to also take our epistemic models to be multiple pointed, with the multiple points constraining the whereabouts of the actual world. Let MOD be the class of multiple pointed epistemic models and ACT the class of multiple pointed finite LAN G models. Then LAN G-update is an operation of the following type: ⊗ : MOD × ACT → MOD. The operation ⊗ and the truth definition for LAN G are defined by mutual recursion, as follows. Definition 4 (Update, Truth) Given a multiple pointed epistemic model (M, U ) and an action model (A, S), we define the update M ⊗ A as (W 0 , V 0 , R0 ) and the update (M, U ) ⊗ (A, S) as ((W 0 , V 0 , R0 ), {(u, s) | u ∈ U, s ∈ S, (u, s) ∈ W 0 }), 2

where W 0 := {(w, s) | w ∈ WM , s ∈ WA , M |=w preA (s)}, V 0 (w, s) := VM (w), i

i

i

(w, s) → (w0 , s0 ) ∈ R0 :≡ w → w0 ∈ RM and s → s0 ∈ RA , and where the truth definition is given by: M |=w > always M |=w p :≡ p ∈ VM (w) M |=w ¬ϕ :≡ not M |=w ϕ M |=w ϕ1 ∧ ϕ2 :≡ M |=w ϕ1 and M |=w ϕ2 i

M |=w 2i ϕ :≡

for all w0 with w → w0 M |=w0 ϕ

M |=w EB ϕ :≡

for all w0 with w → w0 M |=w0 ϕ

B

B∗

for all w0 with w → w0 M |=w0 ϕ for all s ∈ S, if M |=w pres then M ⊗ A |=(w,s) ϕ.

M |=w CB ϕ :≡ M |=w [A, S]ϕ :≡

B

In this definition → is the relation

S

B∗

i

i∈B

→, and → its reflexive transitive closure.

This paper addresses the question of the appropriate notion of equivalence for action models. It may seem that generalizing bisimulations to action models in the obvious way to ‘precondition preserving bisimulation’, as is proposed in [2], is the way to go. Definition 5 (Bisimulation on Action models) Let A, B be L action models. Let ≡L be the appropriate equivalence notion for L. Then relation C ⊆ WA × WB is a L bisimulation if whenever sCt the following hold: • pres ≡L pret , i

i

• for all i ∈ Ag, all states m0 with s → s0 there is a state t0 with t → t0 and s0 Ct0 . • same requirement vice versa. A pointed bisimulation between (A, S) and (B, T ) is a bisimulation that connects each s ∈ S to some t ∈ T , and vice versa. If there is a pointed bisimulation between (A, S) and (B, T ), this is expressed as (A, S) ↔ (B, T ). Note that pointed bisimulations are defined in terms of a lift of a bisimulation at the state level to one at the state-set level.

3

Given two epistemic models M = (M, U ) and N = (N, V ), we say that M ↔ N if every actual world u ∈ U of M is connected by a bisimulation to some actual world v ∈ V of N, and vice versa. The following two theorems summarize what can be said in terms of bisimulations. Theorem 6 (Preservation of epistemic bisimulation; Baltag, Moss, Solecki) The action update operation ⊗ preserves ordinary bisimulation on epistemic models: if M ↔ N then M ⊗ A ↔ N ⊗ A. Of course, we can also look at the action models modulo LAN G bisimulation: Theorem 7 (Preservation of action bisimulation) The action update operation preserves action bisimulation: if A ↔ B then M ⊗ A ↔ M ⊗ B. Proof. We have to show that for every (u, si ) among the actual worlds of M ⊗ A there is a (v, tj ) among the actual worlds of M ⊗ B with (u, si ) ↔ (v, tj ), and vice versa. This follows immediately from the existence of the bisimulation ↔ between A and B, for the relation on M ⊗ A × M ⊗ B defined by means of (u, s)C(v, t) iff u = v and s ↔ t 2

is a bisimulation.

2

Same Update Effect

Thinking of the finite multiple pointed action models A as ‘action programs’, the basic semantic notion of equivalence between such programs is that of having the same update effect: Definition 8 (Same update effect) A ≡ACT B iff ∀M : M ⊗ A ↔ M ⊗ B. From the update bisimulation preservation theorem it follows that: Theorem 9 A ↔ B implies A ≡ACT B. Can we turn this around? No we cannot. Here is a simple counterexample. Let A = (({0}, 0 7→ ⊥, ∅), {0}), 4

and let 0 = ((∅, ∅, ∅), ∅). Then A ≡ACT 0, but A and 0 are not bisimilar. Removing the inconsistent states (the states with a precondition equivalent to ⊥) from an action model does not affect its update potential, so we might as well assume that action models contain only consistent states. This would reduce A to 0. However, Figure 1 provides another example of non-bisimilar action models with consistent states and with the same update potentials. Figure 1: Non-bisimilar actions with the same update effects

Clearly, state 0 in Figure 1 is not bisimilar to 1, for these states have different preconditions. Also 0 is not bisimilar to 2, for the same reason. Still the two action models have the same update effects: they both act as the identity update. Figure 2: More non-bisimilar actions with the same update effects

For another example, consider Figure 2. Each of the action models in this figure has the effect of selecting the accessibility paths with p ∨ q holding at every node along the paths. Examples like these suggest that the notion of LAN G bisimilarity is too strong to capture the ‘essence’ of our update actions. 5

In the next two section, we characterize the notion of having the same update effect in terms of a kind of canonical updates. On the basis of that, we will define a structural relation on action models directly, called action emulation, and show that this notion exactly captures the update effects of action models.

3

Update Effects of Actions with Propositional Preconditions

In this section we will show that in the case of actions with propositional preconditions, having the same update effect can be characterized by a structural relation between action models called propositional action emulation. Let Q be a set of proposition letters occurring in two arbitrary actions models A and B. Clearly, Q is finite. Then a valuation over Q is a subset of Q. Use v |= ϕ to express that valuation v models a propositional formula ϕ. The epistemic model VALQ is the model (W, V, R) where W = P(Q), V is the identity function, and R is the universal relation on W for every agent i. Thus, worlds are valuations, and the valuation at each world is that world itself. We use VAL∗Q to denote the multi-pointed model (VALQ , W ). Definition 10 (Propositional Action Emulation) Given action models A = (A, S) and B = (B, T ), a relation E ⊆ WA × WB is an action emulation if whenever sEt the following hold: Preconditions pres ∧ pret is consistent. i

Zig If s → s0 then there are t1 , . . . , tn with i

i

t → t1 , . . . , t → tn , s0 Et1 , . . . , s0 Etn and pres0 |= pret1 ∨ · · · ∨ pretn . i

Zag If t → t0 then there are s1 , . . . , sn with i

i

s → s1 , . . . , s → sn , s1 Et0 , . . . , sn Et0 and pret0 |= pres1 ∨ · · · ∨ presn In addition, E should satisfy the following extra requirement: for every s ∈ S(⊆ WA ) there are t1 , . . . , tn ∈ T (⊆ WB ) such that sEt1 , . . . , sEtn and pres |= pret1 ∨ · · · ∨ pre(tn ), and for every t ∈ T there are s1 , . . . , sn ∈ S with s1 Et, . . . , sn Et and pre(t) |= pre(s1 ) ∨ · · · ∨ pre(sn ). We denote this as A  B.

6

Observe that the examples of propositional actions with the same update effects all satisfy this structural requirement. Also it is easy to see that propositional action emulation is a weakening of bisimulation, in the following sense: Theorem 11 Given pointed action model (A, S) and (B, T ), if (A, S) ↔ (B, T ) then (A, S)  (B, T ). Proof. The bisimulation Z witnessing (A, S) ↔ (B, T ), is also a propositional action emulation witnessing (A, S)  (B, T ), since the three conditions of action emulation follows from three conditions of action bisimulation respectively. 2 In the follow, we show that propositional action emulation is a sufficient and necessary requirement for two propositional action models having the same update effect. Theorem 12 Given pointed action models (A, S) and (B, T ), If (A, S)  (B, T ) then (A, S) ≡ACT (B, T ). Proof. Let (M, X) be an arbitrary pointed epistemic model. Assume (A, S)  (B, T ) and let E be an action emulation witnessing this. Define R ⊆ M ⊗ A × M ⊗ B by means of: (w, s)R(v, t) :≡ w = v ∧ sEt. We show that R is a bisimulation: suppose (w, s)R(v, t), Invariance From (w, s)R(v, t) we get that w = v and hence V (w, s) = V (v, t). i

i

i

Zig Let (w, s) → (w0 , s0 ). Then w → w0 , s → s0 , and M |=w0 pres0 . From (w, s)R(v, t) we i i have that sEt. By sEt, there are t1 , . . . , tn with t → t1 , . . . , t → tn , s0 Et1 , . . . , s0 Etn , and pres0 |= pret1 ∨ · · · ∨ pretn . Since M |=w0 pres0 , it follows from pres0 |= pret1 ∨ · · · ∨ pretn that there is some ti with M |=w0 preti . Thus (w0 , s0 )R(w0 , ti ). Zag Same reasoning vice versa. Now show R connects the pointed models (M, X) ⊗ (A, S) and (M, X) ⊗ (B, T ). Given (w, s) ∈ M ⊗ A with w ∈ X and s ∈ S, we have M |=w pres . Since E connects (A, S) and (B, T ), there must be t1 , . . . , tn , such that sEt1 , . . . , sEtn and pres |= pret1 ∨ . . . ∨ pretn ; hence M |=w pret1 ∨ . . . ∨ pretn . So there must be ti such that M |=w preti , therefore (w, s)R(w, ti ). And the other direction is similar. 2 Theorem 13 Given pointed action models (A, S) and (B, T ), If (A, S) ≡ACT (B, T ) then (A, S)  (B, T ) .

7

Proof. Suppose (A, S) ≡ACT (B, T ). We have that VAL∗Q ⊗ (A, S) ↔ VAL∗Q ⊗ (B, T ). Define a binary relation E ⊆ WA × WB by means of: sEt ≡ there is a v ∈ VALQ such that (v, s) ↔V(v, t). We V show that E is a propositional action emulation. For any v ∈ VALQ , let v :≡ p∈v p ∧ p∈v / ¬p. Suppose sEt: Invariance By definition, there is v such that (v, s) ↔ (v, t), so v |= pres and v |= pret . Therefore pres ∧ pret is consistent. i

Zig Suppose s → s0 . There must be a set {v1 , ..., vn } such that |= pres0 ↔ v1 ∨ ... ∨ vn . i Since the accessibility relation in VALQ is universal, we have v → vj , j = 1, ..., n. i So (v, s) → (vj , s0 ), j = 1, ..., n. According to (v, s) ↔ (v, t), there must be t1 , ..., tn i such that (v, t) → (vj , tj ) and (vj , s0 ) ↔ (vj , tj ), j = 1, .., n. It follows that pres0 |= pret1 ∨ ... ∨ pretn since vj |= pretj , j = 1, .., n. Zag Same reasoning vice versa. 2

Easy to check that E connects S and T . Combine theorem 12 and 13, we have: Theorem 14 Given pointed action models (A, S) and (B, T ), (A, S) ≡ACT (B, T ) iff (A, S)  (B, T ) .

4

Update Effects of Actions with Modal Preconditions

We now turn to the case where the preconditions are multimodal formulas, i.e., where they belong to the language defined by: ϕ ::= > | p | ¬ϕ | ϕ1 ∧ ϕ2 | 2i ϕ | EG ϕ | CG ϕ Let A and B be action models with propositional or modal preconditions. Let Π be the preconditions occurring in A, B, Q be the set of all proposition letters occurring in Π. Let SubΠ consist of all subformulas of ϕ ∈ Π together with the formulas EG (ψ∧CG ψ), ψ∧CG ψ, and Ki (ψ ∧ CG ψ) for each subformula CG ψ of ϕ ∈ Π and i ∈ G, and the formulas Ki ψ for each subformula EG ψ of ϕ and i ∈ G. Let ¬SubΠ be the closure of SubΠ under single negation. The axiom system we use for consistency is the KC n taken from [8]. Let MCONSΠ be the set of all maximal consistent subsets taken from ¬SubΠ. Since ¬SubΠ is finite, 8

these maximal consistent subsets are finite as well. Let EXPΠ be the triple (W, V, R) where W = MCONSΠ , V is the function that assigns to every maximal consistent subset Γ ∈ MCONSΠ a set of propositional variables X such that Γ ∩ Q ⊆ X and if Γ1 6= Γ2 i then V (Γ1 ) 6= V (Γ2 ), and R assigns to each agent i the relation → given by: i

Γ → Γ0 iff ∀ϕ ∈ Γ0 , 2i ¬ϕ ∈ / Γ. Thus, the accessibilities now take the modal constraints imposed by the preconditions into acccount. Let EXP∗Π be (EXPΠ , W ). Let ΠM w be the set {ϕ ∈ ¬SubΠ | M |=w ϕ}. Note that ΠM ∈ MCONS . Π w The following lemma will play a role in our proof: Lemma 15 (Truth Lemma) Given EXPΠ and Γ ∈ MCONSΠ . For any ϕ ∈ ¬SubΠ, EXPΠ |=Γ ϕ iff ϕ ∈ Γ Proof. The proof follows from a standard induction on the structure of formulas. A detailed proof could be found in [8], page 68. 2 For x ∈ WA ∪ WB , let G(x) be the set {Γ | Γ ∈ MCONSΠ , prex ∈ Γ}. Thus, G(x) is the set of those maximal consistent subsets taken from ¬SubΠ that contain the precondition of x. Definition 16 (Action Emulation: Full version) Let A = (A, S) and B = (B, T ) be action models. Let RΓ be a relation on WA × WB if whenever sRΓ t the following hold: Index condition pres ∈ Γ and pret ∈ Γ. i

i

i

Zig if s → s0 and Γ0 ∈ G(s0 ) such that Γ → Γ0 , then there is a t ∈ WB with t → t0 and s0 RΓ0 t0 . i

i

i

Zag if t → t0 and Γ0 ∈ G(t0 ) such that Γ → Γ0 , then there is a s ∈ WA with s → s0 and s0 RΓ0 t0 . Use (A, S)  (B, T ) if there is an action emulation satisfying the following conditions: • for any s ∈ S, there is Γ ∈ G(s) such that there is a t ∈ T with sRΓ t. • for any t ∈ T , there is Γ ∈ G(t) such that there is a s ∈ T with sRΓ t.

9

It is not hard to see that propositional action emulation is a special case of the definition above. In the propositional case, each maximal consistency set Γ corresponds to a v such i that Γ ∩ Q = v. We always have Γ → Γ0 for any i ∈ Ag because there is no modal operator in propositions. For the index condition, it is equivalent to the consistency requirement in propositional case. For each precondition pres , there is a set {v1 , ..., vn } such that |= pres ↔ v1 ∨ ... ∨ vn . This is the reason we have multiple points in the Zig Zag condition of propositional case. Clearly, every bisimulation on action models corresponds to an action emulation: Theorem 17 Let A, B be action models. If A ↔ B then A  B. Proof. Let R be a bisimulation between A and B, at the level of states. Assume sRt. We will show that R is a Γ indexed bisimulation between s and t for some Γ ∈ G(s)∩G(t). Index condition By the invariance condition for s and t, pres ≡ pret . There must be a Γ ∈ G(s) ∩ G(t). i

i

Zig Suppose s → s0 , and Γ0 ∈ G(s0 ) such that Γ → Γ0 . Then by the fact that R is a i bisimulation with sRt, there is a t0 with t → t0 and s0 Rt0 . It follows that pres0 ≡ pret0 . Therefore Γ ∈ G(s0 ). Zag Same reasoning vice versa. 2 As we already saw, action models may emulate without being bisimilar. We will now prove that emulating action models have the same update effects: Theorem 18 If (A, S)  (B, T ), then (A, S) ≡ACT (B, T ). Proof. Let R be a relation witnessing (A, S)  (B, T ). We wish to show for arbitrary (M, U ) that (M, U ) ⊗ (A, S) ↔ (M, U ) ⊗ (B, T ). Let (M, U ) be arbitrary. Define a relation C on WM⊗A × WM⊗B by means of: (w, s)C(v, t) :≡ w = v and sRΠM t. w We show that C is a bisimulation. Suppose (w, s)C(v, t). We show that C is a bisimulation. Invariance (w, s) and (v, t) have the same valuation. 10

i

i

i

Zig Let (w, s) → (w0 , s0 ). Then w → w0 , s → s0 , and M |=w0 pres0 . It follows from M |=w0 pres0 that pres0 ∈ ΠM w0 . M M Let ϕ ∈ ΠM w0 . Assume, for a contradiction, that 2i ¬ϕ ∈ Πw . Then, because Πw is maximally consistent, 3i ϕ ∈ / ΠM w , and contradiction with the fact that M |=w 3i ϕ. i M M It follows that 2i ¬ϕ ∈ / Πw . Thus, ΠM w → Πw 0 . i

i

i

M 0 0 0 Since sRΠM t, s → s0 , and ΠM t0 . w → Πw0 , there must be t , such that t → t and s RΠM w w0 0 0 0 0 It follows that pret0 ∈ ΠM w0 , i.e. M |=w0 pret0 . So (w , s )C(w , t ).

Zag Same reasoning vice versa. 2 Theorem 18 shows that action emulation is a sufficient condition for having the same update effect. We show that it is also necessary. Theorem 19 If (A, S) ≡ACT (B, T ), then (A, S)  (B, T ). Proof. Assume (A, S) ≡ACT (B, T ). It follows that (EXPΠ , W )⊗(A, S) ↔ (EXPΠ , W )⊗ (B, T ). Let R be the above bisimulation. We define a binary relation Z as follows Z :≡ {(s, t) | (Γ, s)R(Γ, t) for some Γ ∈ MCONSΠ }. We show Z is an emulation (indexed bisimulation). Suppose sZt, Index condition There is a Γ such that (Γ, s)R(Γ, t). Therefore EXPΠ |=Γ pres , and EXPΠ |=Γ pret . According to Truth Lemma 15, we have pres ∈ Γ and pret ∈ Γ. i

i

Zig Suppose s → s0 and Γ0 ∈ G(s0 ) such that Γ → Γ0 . It follows that pres0 ∈ Γ0 . Again by Truth Lemma 15, we have EXPΠ |=Γ0 pres0 , so (Γ0 , s0 ) ∈ EXPΠ ⊗ A. Therefore, i i we have (Γ, s) → (Γ0 , s0 ). By R, there must be (Γ00 , t0 ) such that (Γ, t) → (Γ0 , t0 ) and (Γ0 , s0 )R(Γ00 , t0 ). Since in our construction of EXPΠ , the valuation of each world is i different, here Γ0 = Γ00 . Therefore t → t0 and (s0 , t0 ) ∈ Z. Zag Same reasoning vice versa. 2

It follows that (A, S)  (B, T ). Combining the above, we have: Theorem 20 (A, S) ≡ACT (B, T ) iff (A, S)  (B, T ). Proof.

Immediate from Theorem 18 and 19.

11

2

5

Model transformation preserving same update effects

Model expansion, Model contraction. etc.

6

Further Issues

Action emulation is defined at the state set level, in terms of a set-theoretic lift of indexed bisimulation. This family tie with standard bisimulation generates a number of behavioural similarities to bisimulation. E.g., as with bisimulations, there always is a largest action emulation. S Theorem 21 If Rj (j ∈ J) are action emulations between A and B, then j∈J Rj is an action emulation between A and B. Proof. Let Rj (j ∈ J) be action emulations between A and B, with corresponding S indexed bisimulations (j, Γ). Suppose X j∈J Rj Y . Let x ∈ X and Γ ∈ G(x). Then there is a j ∈ J and a y ∈ Y with x(j, Γ)y. **** proof has to be completed **** 2 It follows from this that the union of all action emulations connecting A and B is an action emulation, i.e., there always is a largest action emulation connecting A and B. We end with two open questions: Question 22 What is the (modal) language characterization of action emulation (compare the characterization theorems for bisimulation)? Question 23 What is the complexity of determining whether two action models emulate? Is this more complex than bisimulation, or is it also polynomial, like the decision problem for bisimilarity? In particular, can something like a partition refinement algorithm in the style of [11] be made to work for this? Acknowledgement Thanks to Johan van Benthem and Albert Visser for inspiring discussion.

12

References [1] Baltag, A. A logic for suspicious players: epistemic action and belief-updates in games. Bulletin of Economic Research 54, 1 (2002), 1–45. [2] Baltag, A., and Moss, L. Logics for epistemic programs. Synthese 139, 2 (2004), 165–224. [3] Baltag, A., Moss, L., and Solecki, S. The logic of public announcements, common knowledge, and private suspicions. Tech. Rep. SEN-R9922, CWI, Amsterdam, 1999. [4] Baltag, A., Moss, L., and Solecki, S. The logic of public announcements, common knowledge, and private suspicions. Tech. rep., Dept of Cognitive Science, Indiana University and Dept of Computing, Oxford University, 2003. [5] Benthem, J. v. Language, logic, and communication. In Logic in Action, J. van Benthem, P. Dekker, J. van Eijck, M. de Rijke, and Y. Venema, Eds. ILLC, 2001, pp. 7–25. [6] Benthem, J. v. One is a lonely number: on the logic of communication. Tech. Rep. PP-2002-27, ILLC, Amsterdam, 2002. [7] Ditmarsch, H. v. Knowledge Games. PhD thesis, ILLC, Amsterdam, 2000. [8] Fagin, R., Halpern, J., Moses, Y., and Vardi, M. Reasoning about Knowledge. MIT Press, 1995. [9] Gerbrandy, J. Bisimulations on planet Kripke. PhD thesis, ILLC, 1999. [10] Kooi, B. P. Knowledge, Chance, and Change. PhD thesis, Groningen University, 2003. [11] Paige, R., and Tarjan, R. E. Three partition refinement algorithms. SIAM J. Comput. 16, 6 (1987), 973–989.

13