aa r X i v : . [ c s . L O ] M a y An English Draft of Dr. Yong Wang
An Algebra of ReversibleComputation
Yong Wang
College of Computer Science and Technology,Faculty of Information Technology,Beijing University of Technology, Beijing, China
Abstract.
Process algebra ACP based on the interleaving semantics can not be reversed. We design a re-versible version of APTC called RAPTC. It has algebraic laws of reversible choice, sequence, parallelism,communication, silent step and abstraction, and also the soundness and completeness modulo stronglyforward-reverse truly concurrent bisimulations and weakly forward-reverse truly concurrent bisimulations.
Keywords:
Reversible Computation; True Concurrency; Behaviorial Equivalence; Bisimilarity
1. Introduction
Reversible computation [5] [6] [7] is an interesting topic, and in [5], an algebraic way of reversible computationused communication key was proposed. In [5], a reversible version of process algebra CCS [2] [3] was presented,however, properties of this reversible CCS based on the so-called forward-reverse interleaving bisimulationsemantics were not discussed.We tried to do some work on reversible ACP [1] [4] in the former version of this paper, but, there weresome errors that can not be remedied, just because ACP based on the interleaving semantics can not bereversed. Until we found algebraic laws for true concurrency called
AP T C [8], we recall the axiomatizationof reversible process algebra, and design a reversible version of
AP T C called
RAP T C .This paper is organized as follows. In section 2, we give a background of
AP T C . In section 3, we interpretthe concepts of the so-called forward-reverse truly concurrent bisimulations on which
RAP T C is based. Weintroduce Basic Reversible Algebra for True Concurrency (
BRAT C ) in section 4 and Reversible Algebra forParallelism in True Concurrency (
RAP T C ) in section 5, and abstraction in section 6. Finally, in section 7,we conclude this paper.
Correspondence and offprint requests to : Yong Wang, Pingleyuan 100, Chaoyang District, Beijing, China. e-mail:[email protected] Yong Wang
2. Backgrounds
In this subsection, we introduce the preliminaries on truly concurrent process algebra
AP T C [8], whichis based on the truly concurrent bisimulation semantics.
AP T C has an almost perfect axiomatization tocapture laws on truly concurrent bisimulation equivalence, including equational logic and truly concurrentbisimulation semantics, and also the soundness and completeness bridged between them.
AP T C captures several computational properties in the form of algebraic laws, and proves the soundness andcompleteness modulo truly concurrent bisimulation/rooted branching truly concurrent bisimulation equiva-lence. These computational properties are organized in a modular way by use of the concept of conservationalextension, which include the following modules, note that, every algebra are composed of constants and op-erators, the constants are the computational objects, while operators capture the computational properties.1.
BAT C (Basic Algebras for True Concurrency) . BAT C has sequential composition ⋅ and alternativecomposition + to capture causality computation and conflict. The constants are ranged over E , the set ofatomic events. The algebraic laws on ⋅ and + are sound and complete modulo truly concurrent bisimulationequivalences, such as pomset bisimulation ∼ p , step bisimulation ∼ s , history-preserving (hp-) bisimulation ∼ hp and hereditary history-preserving (hhp-) bisimulation ∼ hhp .2. AP T C (Algebra for Parallelism for True Concurrency) . AP T C uses the whole parallel operator ≬ , the parallel operator ∥ to model parallelism, and the communication merge ∣ to model causality (com-munication) among different parallel branches. Since a communication may be blocked, a new constantcalled deadlock δ is extended to E , and also a new unary encapsulation operator ∂ H is introduced to elim-inate δ , which may exist in the processes. And also a conflict elimination operator Θ to eliminate conflictsexisting in different parallel branches. The algebraic laws on these operators are also sound and completemodulo truly concurrent bisimulation equivalences, such as pomset bisimulation ∼ p , step bisimulation ∼ s , history-preserving (hp-) bisimulation ∼ hp . Note that, these operators in a process except the paralleloperator ∥ can be eliminated by deductions on the process using axioms of AP T C , and eventually besteadied by ⋅ , + and ∥ , this is also why bisimulations are called an truly concurrent semantics.3. Recursion . To model infinite computation, recursion is introduced into
AP T C . In order to obtaina sound and complete theory, guarded recursion and linear recursion are needed. The correspondingaxioms are
RSP (Recursive Specification Principle) and
RDP (Recursive Definition Principle),
RDP says the solutions of a recursive specification can represent the behaviors of the specification, while
RSP says that a guarded recursive specification has only one solution, they are sound with respectto
AP T C with guarded recursion modulo truly concurrent bisimulation equivalences, such as pomsetbisimulation ∼ p , step bisimulation ∼ s , history-preserving (hp-) bisimulation ∼ hp , and they are completewith respect to AP T C with linear recursion modulo truly concurrent bisimulation equivalence, such aspomset bisimulation ∼ p , step bisimulation ∼ s , history-preserving (hp-) bisimulation ∼ hp .4. Abstraction . To abstract away internal implementations from the external behaviors, a new constant τ called silent step is added to E , and also a new unary abstraction operator τ I is used to rename actions in I into τ (the resulted AP T C with silent step and abstraction operator is called
AP T C τ ). The recursivespecification is adapted to guarded linear recursion to prevent infinite τ -loops specifically. The axiomsfor τ and τ I are sound modulo rooted branching truly concurrent bisimulation equivalences (a kind ofweak truly concurrent bisimulation equivalence), such as rooted branching pomset bisimulation ≈ p , rootedbranching step bisimulation ≈ s , rooted branching history-preserving (hp-) bisimulation ≈ hp . To eliminateinfinite τ -loops caused by τ I and obtain the completeness, CF AR (Cluster Fair Abstraction Rule) is usedto prevent infinite τ -loops in a constructible way. AP T C can be used to verify the correctness of system behaviors, by deduction on the description ofthe system using the axioms of
AP T C . Base on the modularity of
AP T C , it can be extended easily andelegantly. For more details, please refer to the manuscript of
AP T C [8]. raft of An Algebra of Reversible Computation 3
The semantics of
AP T C is based on truly concurrent bisimulation/rooted branching truly concurrent bisim-ulation equivalences, and the modularity of
AP T C relies on the concept of conservative extension, for theconveniences, we introduce some concepts and conclusions on them.
Definition 2.1 (Prime event structure with silent event) . Let Λ be a fixed set of labels, ranged over a, b, c, ⋯ and τ . A ( Λ -labelled) prime event structure with silent event τ is a tuple E = ⟨ E , ≤ , ♯ , λ ⟩ , where E is adenumerable set of events, including the silent event τ . Let ˆ E = E /{ τ } , exactly excluding τ , it is obvious that ˆ τ ∗ = ǫ , where ǫ is the empty event. Let λ ∶ E → Λ be a labelling function and let λ ( τ ) = τ . And ≤ , ♯ are binaryrelations on E , called causality and conflict respectively, such that: ≤ is a partial order and ⌈ e ⌉ = { e ′ ∈ E ∣ e ′ ≤ e } is finite for all e ∈ E . It is easy to see that e ≤ τ ∗ ≤ e ′ = e ≤ τ ≤⋯ ≤ τ ≤ e ′ , then e ≤ e ′ . ♯ is irreflexive, symmetric and hereditary with respect to ≤ , that is, for all e, e ′ , e ′′ ∈ E , if e ♯ e ′ ≤ e ′′ , then e ♯ e ′′ .Then, the concepts of consistency and concurrency can be drawn from the above definition: e, e ′ ∈ E are consistent, denoted as e ⌢ e ′ , if ¬ ( e ♯ e ′ ) . A subset X ⊆ E is called consistent, if e ⌢ e ′ for all e, e ′ ∈ X . e, e ′ ∈ E are concurrent, denoted as e ∥ e ′ , if ¬ ( e ≤ e ′ ) , ¬ ( e ′ ≤ e ) , and ¬ ( e ♯ e ′ ) . Definition 2.2 (Configuration) . Let E be a PES. A (finite) configuration in E is a (finite) consistent subsetof events C ⊆ E , closed with respect to causality (i.e. ⌈ C ⌉ = C ). The set of finite configurations of E is denotedby C ( E ) . We let ˆ C = C /{ τ } . A consistent subset of X ⊆ E of events can be seen as a pomset. Given X, Y ⊆ E , ˆ X ∼ ˆ Y if ˆ X and ˆ Y areisomorphic as pomsets. In the following of the paper, we say C ∼ C , we mean ˆ C ∼ ˆ C . Definition 2.3 (Pomset transitions and step) . Let E be a PES and let C ∈ C ( E ) , and ∅ ≠ X ⊆ E , if C ∩ X = ∅ and C ′ = C ∪ X ∈ C ( E ) , then C X Ð→ C ′ is called a pomset transition from C to C ′ . When the events in X arepairwise concurrent, we say that C X Ð→ C ′ is a step. Definition 2.4 (Weak pomset transitions and weak step) . Let E be a PES and let C ∈ C ( E ) , and ∅ ≠ X ⊆ ˆ E ,if C ∩ X = ∅ and ˆ C ′ = ˆ C ∪ X ∈ C ( E ) , then C X Ô⇒ C ′ is called a weak pomset transition from C to C ′ , wherewe define e Ô⇒ ≜ τ ∗ Ð→ e Ð→ τ ∗ Ð→ . And X Ô⇒ ≜ τ ∗ Ð→ e Ð→ τ ∗ Ð→ , for every e ∈ X . When the events in X are pairwise concurrent,we say that C X Ô⇒ C ′ is a weak step. We will also suppose that all the PESs in this paper are image finite, that is, for any PES E and C ∈ C ( E ) and a ∈ Λ, { e ∈ E ∣ C e Ð→ C ′ ∧ λ ( e ) = a } and { e ∈ ˆ E ∣ C e Ô⇒ C ′ ∧ λ ( e ) = a } is finite. Definition 2.5 (Pomset, step bisimulation) . Let E , E be PESs. A pomset bisimulation is a relation R ⊆ C ( E ) × C ( E ) , such that if ( C , C ) ∈ R , and C X Ð→ C ′ then C X Ð→ C ′ , with X ⊆ E , X ⊆ E , X ∼ X and ( C ′ , C ′ ) ∈ R , and vice-versa. We say that E , E are pomset bisimilar, written E ∼ p E , if there existsa pomset bisimulation R , such that ( ∅ , ∅ ) ∈ R . By replacing pomset transitions with steps, we can get thedefinition of step bisimulation. When PESs E and E are step bisimilar, we write E ∼ s E . Definition 2.6 (Weak pomset, step bisimulation) . Let E , E be PESs. A weak pomset bisimulation is arelation R ⊆ C ( E ) × C ( E ) , such that if ( C , C ) ∈ R , and C X Ô⇒ C ′ then C X Ô⇒ C ′ , with X ⊆ ˆ E , X ⊆ ˆ E , X ∼ X and ( C ′ , C ′ ) ∈ R , and vice-versa. We say that E , E are weak pomset bisimilar, written E ≈ p E ,if there exists a weak pomset bisimulation R , such that ( ∅ , ∅ ) ∈ R . By replacing weak pomset transitionswith weak steps, we can get the definition of weak step bisimulation. When PESs E and E are weak stepbisimilar, we write E ≈ s E . Definition 2.7 (Posetal product) . Given two PESs E , E , the posetal product of their configurations,denoted C ( E ) × C ( E ) , is defined as Yong Wang {( C , f, C )∣ C ∈ C ( E ) , C ∈ C ( E ) , f ∶ C → C isomorphism } . A subset R ⊆ C ( E ) × C ( E ) is called a posetal relation. We say that R is downward closed when forany ( C , f, C ) , ( C ′ , f ′ , C ′ ) ∈ C ( E ) × C ( E ) , if ( C , f, C ) ⊆ ( C ′ , f ′ , C ′ ) pointwise and ( C ′ , f ′ , C ′ ) ∈ R , then ( C , f, C ) ∈ R .For f ∶ X → X , we define f [ x ↦ x ] ∶ X ∪ { x } → X ∪ { x } , z ∈ X ∪ { x } ,(1) f [ x ↦ x ]( z ) = x ,if z = x ;(2) f [ x ↦ x ]( z ) = f ( z ) , otherwise. Where X ⊆ E , X ⊆ E , x ∈ E , x ∈ E . Definition 2.8 (Weakly posetal product) . Given two PESs E , E , the weakly posetal product of theirconfigurations, denoted C ( E ) × C ( E ) , is defined as {( C , f, C )∣ C ∈ C ( E ) , C ∈ C ( E ) , f ∶ ˆ C → ˆ C isomorphism } . A subset R ⊆ C ( E ) × C ( E ) is called a weakly posetal relation. We say that R is downward closed when forany ( C , f, C ) , ( C ′ , f, C ′ ) ∈ C ( E ) × C ( E ) , if ( C , f, C ) ⊆ ( C ′ , f ′ , C ′ ) pointwise and ( C ′ , f ′ , C ′ ) ∈ R , then ( C , f, C ) ∈ R .For f ∶ X → X , we define f [ x ↦ x ] ∶ X ∪ { x } → X ∪ { x } , z ∈ X ∪ { x } ,(1) f [ x ↦ x ]( z ) = x ,if z = x ;(2) f [ x ↦ x ]( z ) = f ( z ) , otherwise. Where X ⊆ ˆ E , X ⊆ ˆ E , x ∈ ˆ E , x ∈ ˆ E . Also, we define f ( τ ∗ ) = f ( τ ∗ ) . Definition 2.9 ((Hereditary) history-preserving bisimulation) . A history-preserving (hp-) bisimulation isa posetal relation R ⊆ C ( E ) × C ( E ) such that if ( C , f, C ) ∈ R , and C e Ð→ C ′ , then C e Ð→ C ′ , with ( C ′ , f [ e ↦ e ] , C ′ ) ∈ R , and vice-versa. E , E are history-preserving (hp-)bisimilar and are written E ∼ hp E if there exists a hp-bisimulation R such that ( ∅ , ∅ , ∅ ) ∈ R .A hereditary history-preserving (hhp-)bisimulation is a downward closed hp-bisimulation. E , E are hered-itary history-preserving (hhp-)bisimilar and are written E ∼ hhp E . Definition 2.10 (Weak (hereditary) history-preserving bisimulation) . A weak history-preserving (hp-) bisim-ulation is a weakly posetal relation R ⊆ C ( E ) × C ( E ) such that if ( C , f, C ) ∈ R , and C e Ô⇒ C ′ , then C e Ô⇒ C ′ , with ( C ′ , f [ e ↦ e ] , C ′ ) ∈ R , and vice-versa. E , E are weak history-preserving (hp-)bisimilarand are written E ≈ hp E if there exists a hp-bisimulation R such that ( ∅ , ∅ , ∅ ) ∈ R .A weakly hereditary history-preserving (hhp-)bisimulation is a downward closed weak hp-bisimulation. E , E are weakly hereditary history-preserving (hhp-)bisimilar and are written E ≈ hhp E . Definition 2.11 (Congruence) . Let Σ be a signature. An equivalence relation R on T ( Σ ) is a congruenceif for each f ∈ Σ , if s i Rt i for i ∈ { , ⋯ , ar ( f )} , then f ( s , ⋯ , s ar ( f ) ) Rf ( t , ⋯ , t ar ( f ) ) . Definition 2.12 (Conservative extension) . Let T and T be TSSs (transition system specifications) oversignatures Σ and Σ , respectively. The TSS T ⊕ T is a conservative extension of T if the LTSs (labeledtransition systems) generated by T and T ⊕ T contain exactly the same transitions t a Ð→ t ′ and tP with t ∈ T ( Σ ) . Definition 2.13 (Source-dependency) . The source-dependent variables in a transition rule of ρ are definedinductively as follows: (1) all variables in the source of ρ are source-dependent; (2) if t a Ð→ t ′ is a premise of ρ and all variables in t are source-dependent, then all variables in t ′ are source-dependent. A transition ruleis source-dependent if all its variables are. A TSS is source-dependent if all its rules are. Definition 2.14 (Freshness) . Let T and T be TSSs over signatures Σ and Σ , respectively. A term in T ( T ⊕ T ) is said to be fresh if it contains a function symbol from Σ ∖ Σ . Similarly, a transition label orpredicate symbol in T is fresh if it does not occur in T . Theorem 2.15 (Conservative extension) . Let T and T be TSSs over signatures Σ and Σ , respectively,where T and T ⊕ T are positive after reduction. Under the following conditions, T ⊕ T is a conservativeextension of T . (1) T is source-dependent. (2) For each ρ ∈ T , either the source of ρ is fresh, or ρ has apremise of the form t a Ð→ t ′ or tP , where t ∈ T ( Σ ) , all variables in t occur in the source of ρ and t ′ , a or P is fresh. raft of An Algebra of Reversible Computation 5 In this subsection, we introduce the concepts and conclusions about elimination, which is very important inthe proof of completeness theorem.
Definition 2.16 (Elimination property) . Let a process algebra with a defined set of basic terms as a subsetof the set of closed terms over the process algebra. Then the process algebra has the elimination to basicterms property if for every closed term s of the algebra, there exists a basic term t of the algebra such thatthe algebra ⊢ s = t . Definition 2.17 (Strongly normalizing) . A term s is called strongly normalizing if does not an infiniteseries of reductions beginning in s . Definition 2.18.
We write s > lpo t if s → + t where → + is the transitive closure of the reduction relationdefined by the transition rules of a algebra. Theorem 2.19 (Strong normalization) . Let a term rewriting (TRS) system with finitely many rewritingrules and let > be a well-founded ordering on the signature of the corresponding algebra. If s > lpo t for eachrewriting rule s → t in the TRS, then the term rewriting system is strongly normalizing.
3. Forward-reverse Truly Concurrent Bisimulations
Definition 3.1 (Forward-reverse (FR) pomset transitions and forward-reverse (FR) step) . Let E be a PESand let C ∈ C ( E ) , ∅ ≠ X ⊆ E , K ⊆ N , and X [ K ] denotes that for each e ∈ X , there is e [ m ] ∈ X [ K ] where ( m ∈ K ) , which is called the past of e , and we extend E to E ∪ τ E [ K ] . If C ∩ X [ K ] = ∅ and C ′ = C ∪ X [ K ] , X ∈ C ( E ) , then C X Ð→ C ′ is called a forward pomset transition from C to C ′ , and C ′ X [K] ÐÐ↠ C is called a reversepomset transition from C ′ to C . When the events in X are pairwise concurrent, we say that C X Ð→ C ′ is aforward step and C ′ X [K] ÐÐ↠ C is a reverse step. Definition 3.2 (Weak forward-reverse (FR) pomset transitions and weak forward-reverse (FR) step) . Let E be a PES and let C ∈ C ( E ) , and ∅ ≠ X ⊆ ˆ E , K ⊆ N , and X [ K ] denotes that for each e ∈ X , there is e [ m ] ∈ X [ K ] where ( m ∈ K ) , which is called the past of e . If C ∩ X [ K ] = ∅ and ˆ C ′ = ˆ C ∪ X [ K ] , X ∈ C ( E ) ,then C X Ô⇒ C ′ is called a weak forward pomset transition from C to C ′ , where we define e Ô⇒ ≜ τ ∗ Ð→ e Ð→ τ ∗ Ð→ and X Ô⇒ ≜ τ ∗ Ð→ e Ð→ τ ∗ Ð→ , for every e ∈ X . And C ′ X [K] ÔÔ⇉ C is called a weak reverse pomset transition from C ′ to C ,where we define e [ m ] ÔÔ⇉ ≜ τ ∗ ÐÐ↠ e [ m ] ÐÐ↠ τ ∗ ÐÐ↠ , X [K] ÔÔ⇉ ≜ τ ∗ ÐÐ↠ e [ m ] ÐÐ↠ τ ∗ ÐÐ↠ , for every e ∈ X and m ∈ K . When the events in X arepairwise concurrent, we say that C X Ô⇒ C ′ is a weak forward step and C ′ X [K] ÔÔ⇉ C is a weak reverse step. We will also suppose that all the PESs in this paper are image finite, that is, for any PES E and C ∈ C ( E ) ,and a ∈ Λ, { e ∈ E ∣ C e Ð→ C ′ ∧ λ ( e ) = a } and { e ∈ ˆ E ∣ C e Ô⇒ C ′ ∧ λ ( e ) = a } , and a ∈ Λ, { e ∈ E ∣ C ′ e [ m ] ÐÐ↠ C ∧ λ ( e ) = a } and { e ∈ ˆ E ∣ C ′ e [ m ] ÔÔ⇉ C ∧ λ ( e ) = a } are finite. Definition 3.3 (Forward-reverse (FR) pomset, step bisimulation) . Let E , E be PESs. An FR pomsetbisimulation is a relation R ⊆ C ( E ) × C ( E ) , such that (1) if ( C , C ) ∈ R , and C X Ð→ C ′ then C X Ð→ C ′ ,with X ⊆ E , X ⊆ E , X ∼ X and ( C ′ , C ′ ) ∈ R , and vice-versa; (2) if ( C ′ , C ′ ) ∈ R , and C ′ X [K ] ÐÐÐÐ↠ C then C ′ X [K ] ÐÐÐÐ↠ C , with X ⊆ E , X ⊆ E , K , K ⊆ N , X ∼ X and ( C , C ) ∈ R , and vice-versa. We saythat E , E are FR pomset bisimilar, written E ∼ frp E , if there exists an FR pomset bisimulation R , suchthat ( ∅ , ∅ ) ∈ R . By replacing FR pomset transitions with FR steps, we can get the definition of FR stepbisimulation. When PESs E and E are FR step bisimilar, we write E ∼ frs E . Definition 3.4 (Weak forward-reverse (FR) pomset, step bisimulation) . Let E , E be PESs. A weak FRpomset bisimulation is a relation R ⊆ C ( E ) × C ( E ) , such that (1) if ( C , C ) ∈ R , and C X Ô⇒ C ′ then Yong Wang C X Ô⇒ C ′ , with X ⊆ ˆ E , X ⊆ ˆ E , X ∼ X and ( C ′ , C ′ ) ∈ R , and vice-versa; (2) if ( C ′ , C ′ ) ∈ R , and C ′ X [K ] ÔÔÔÔ⇉ C then C ′ X [K ] ÔÔÔÔ⇉ C , with X ⊆ ˆ E , X ⊆ ˆ E , K , K ⊆ N , X ∼ X and ( C , C ) ∈ R , andvice-versa. We say that E , E are weak FR pomset bisimilar, written E ≈ frp E , if there exists a weak FRpomset bisimulation R , such that ( ∅ , ∅ ) ∈ R . By replacing weak FR pomset transitions with weak FR steps,we can get the definition of weak FR step bisimulation. When PESs E and E are weak FR step bisimilar,we write E ≈ frs E . Definition 3.5 (Forward-reverse (FR) (hereditary) history-preserving bisimulation) . An FR history-preserving(hp-) bisimulation is a posetal relation R ⊆ C ( E ) × C ( E ) such that (1) if ( C , f, C ) ∈ R , and C e Ð→ C ′ , then C e Ð→ C ′ , with ( C ′ , f [ e ↦ e ] , C ′ ) ∈ R , and vice-versa, (2) if ( C ′ , f ′ , C ′ ) ∈ R , and C ′ e [ m ] ÐÐÐÐ↠ C , then C ′ e [ n ] ÐÐ↠ C , with ( C , f ′ [ e [ m ] ↦ e [ n ]] , C ) ∈ R , and vice-versa. E , E are FR history-preserving (hp-)bisimilar and are written E ∼ frhp E if there exists an FR hp-bisimulation R such that ( ∅ , ∅ , ∅ ) ∈ R .An FR hereditary history-preserving (hhp-)bisimulation is a downward closed FR hp-bisimulation. E , E are FR hereditary history-preserving (hhp-)bisimilar and are written E ∼ frhhp E . Definition 3.6 (Weak forward-reverse (FR) (hereditary) history-preserving bisimulation) . A weak FRhistory-preserving (hp-) bisimulation is a weakly posetal relation R ⊆ C ( E ) × C ( E ) such that (1) if ( C , f, C ) ∈ R , and C e Ô⇒ C ′ , then C e Ô⇒ C ′ , with ( C ′ , f [ e ↦ e ] , C ′ ) ∈ R , and vice-versa, (2) if ( C ′ , f ′ , C ′ ) ∈ R , and C ′ e [ m ] ÔÔ⇉ C , then C ′ e [ n ] ÔÔ⇉ C , with ( C , f ′ [ e [ m ] ↦ e [ n ]] , C ) ∈ R , and vice-versa. E , E are weak FRhistory-preserving (hp-) bisimilar and are written E ≈ frhp E if there exists a weak FR hp-bisimulation R suchthat ( ∅ , ∅ , ∅ ) ∈ R .A weak FR hereditary history-preserving (hhp-) bisimulation is a downward closed weak FR hp-bisimulation. E , E are weak FR hereditary history-preserving (hhp-) bisimilar and are written E ≈ frhhp E . Definition 3.7 (Branching forward-reverse pomset, step bisimulation) . Assume a special termination pred-icate ↓ , and let √ represent a state with √ ↓ . Let E , E be PESs. A branching FR pomset bisimulation is arelation R ⊆ C ( E ) × C ( E ) , such that: if ( C , C ) ∈ R , and C X Ð→ C ′ then ● either X ≡ τ ∗ , and ( C ′ , C ) ∈ R ; ● or there is a sequence of (zero or more) τ -transitions C τ ∗ Ð→ C , such that ( C , C ) ∈ R and C X Ô⇒ C ′ with ( C ′ , C ′ ) ∈ R ; if ( C , C ) ∈ R , and C X Ð→ C ′ then ● either X ≡ τ ∗ , and ( C , C ′ ) ∈ R ; ● or there is a sequence of (zero or more) τ -transitions C τ ∗ Ð→ C , such that ( C , C ) ∈ R and C X Ô⇒ C ′ with ( C ′ , C ′ ) ∈ R ; if ( C , C ) ∈ R and C ↓ , then there is a sequence of (zero or more) τ -transitions C τ ∗ Ð→ C such that ( C , C ) ∈ R and C ↓ ; if ( C , C ) ∈ R and C ↓ , then there is a sequence of (zero or more) τ -transitions C τ ∗ Ð→ C such that ( C , C ) ∈ R and C ↓ ; if ( C ′ , C ′ ) ∈ R , and C ′ X [K] ÐÐ↠ C then ● either X [ K ] ≡ τ ∗ , and ( C , C ′ ) ∈ R ; ● or there is a sequence of (zero or more) τ -transitions C ′ τ ∗ ÐÐ↠ C ′ , such that ( C ′ , C ′ ) ∈ R and C ′ X [K] ÔÔ⇉ C with ( C , C ) ∈ R ; raft of An Algebra of Reversible Computation 7 if ( C ′ , C ′ ) ∈ R , and C ′ X ÐÐ↠ C then ● either X [ K ] ≡ τ ∗ , and ( C ′ , C ) ∈ R ; ● or there is a sequence of (zero or more) τ -transitions C ′ τ ∗ ÐÐ↠ C ′ , such that ( C ′ , C ′ ) ∈ R and C ′ X [K] ÔÔ⇉ C with ( C , C ) ∈ R ; if ( C ′ , C ′ ) ∈ R and C ′ ↓ , then there is a sequence of (zero or more) τ -transitions C ′ τ ∗ ÐÐ↠ C ′ such that ( C ′ , C ′ ) ∈ R and C ′ ↓ ; if ( C ′ , C ′ ) ∈ R and C ′ ↓ , then there is a sequence of (zero or more) τ -transitions C ′ τ ∗ ÐÐ↠ C ′ such that ( C ′ , C ′ ) ∈ R and C ′ ↓ .We say that E , E are branching FR pomset bisimilar, written E ≈ frbp E , if there exists a branching FRpomset bisimulation R , such that ( ∅ , ∅ ) ∈ R .By replacing FR pomset transitions with FR steps, we can get the definition of branching FR step bisim-ulation. When PESs E and E are branching FR step bisimilar, we write E ≈ frbs E . Definition 3.8 (Rooted branching forward-reverse (FR) pomset, step bisimulation) . Assume a special ter-mination predicate ↓ , and let √ represent a state with √ ↓ . Let E , E be PESs. A rooted branching FRpomset bisimulation is a relation R ⊆ C ( E ) × C ( E ) , such that: if ( C , C ) ∈ R , and C X Ð→ C ′ then C X Ð→ C ′ with C ′ ≈ bp C ′ ; if ( C , C ) ∈ R , and C X Ð→ C ′ then C X Ð→ C ′ with C ′ ≈ bp C ′ ; if ( C ′ , C ′ ) ∈ R , and C ′ X [K] ÐÐ↠ C then C ′ X [K] ÐÐ↠ C with C ≈ frbp C ; if ( C ′ , C ′ ) ∈ R , and C ′ X [K] ÐÐ↠ C then C ′ X [K] ÐÐ↠ C with C ≈ frbp C ; if ( C , C ) ∈ R and C ↓ , then C ↓ ; if ( C , C ) ∈ R and C ↓ , then C ↓ .We say that E , E are rooted branching FR pomset bisimilar, written E ≈ frrbp E , if there exists a rootedbranching FR pomset bisimulation R , such that ( ∅ , ∅ ) ∈ R .By replacing FR pomset transitions with FR steps, we can get the definition of rooted branching FR stepbisimulation. When PESs E and E are rooted branching FR step bisimilar, we write E ≈ frrbs E . Definition 3.9 (Branching forward-reverse (FR) (hereditary) history-preserving bisimulation) . Assume aspecial termination predicate ↓ , and let √ represent a state with √ ↓ . A branching FR history-preserving(hp-) bisimulation is a weakly posetal relation R ⊆ C ( E ) × C ( E ) such that: if ( C , f, C ) ∈ R , and C e Ð→ C ′ then ● either e ≡ τ , and ( C ′ , f [ e ↦ τ ] , C ) ∈ R ; ● or there is a sequence of (zero or more) τ -transitions C τ ∗ Ð→ C , such that ( C , f, C ) ∈ R and C e Ð→ C ′ with ( C ′ , f [ e ↦ e ] , C ′ ) ∈ R ; if ( C , f, C ) ∈ R , and C e Ð→ C ′ then ● either e ≡ τ , and ( C , f [ e ↦ τ ] , C ′ ) ∈ R ; ● or there is a sequence of (zero or more) τ -transitions C τ ∗ Ð→ C , such that ( C , f, C ) ∈ R and C e Ð→ C ′ with ( C ′ , f [ e ↦ e ] , C ′ ) ∈ R ; if ( C , f, C ) ∈ R and C ↓ , then there is a sequence of (zero or more) τ -transitions C τ ∗ Ð→ C such that ( C , f, C ) ∈ R and C ↓ ; if ( C , f, C ) ∈ R and C ↓ , then there is a sequence of (zero or more) τ -transitions C τ ∗ Ð→ C such that ( C , f, C ) ∈ R and C ↓ ; Yong Wang if ( C ′ , f ′ , C ′ ) ∈ R , and C ′ e [ m ] ÐÐÐÐ↠ C then ● either e [ m ] ≡ τ , and ( C , f ′ [ e [ m ] ↦ τ ] , C ′ ) ∈ R ; ● or there is a sequence of (zero or more) τ -transitions C ′ τ ∗ ÐÐ↠ C ′ , such that ( C ′ , f ′ , C ′ ) ∈ R and C ′ e [ n ] ÐÐ↠ C with ( C , f ′ [ e [ m ] ↦ e [ n ]] , C ) ∈ R ; if ( C ′ , f ′ , C ′ ) ∈ R , and C ′ e [ n ] ÐÐ↠ C then ● either e [ n ] ≡ τ , and ( C ′ , f ′ [ e [ n ] ↦ τ ] , C ) ∈ R ; ● or there is a sequence of (zero or more) τ -transitions C ′ τ ∗ ÐÐ↠ C ′ , such that ( C ′ , f ′ , C ′ ) ∈ R and C ′ e [ m ] ÐÐÐÐ↠ C with ( C , f [ e [ n ] ↦ e [ m ]] , C ) ∈ R ; if ( C ′ , f ′ , C ′ ) ∈ R and C ′ ↓ , then there is a sequence of (zero or more) τ -transitions C ′ τ ∗ ÐÐ↠ C ′ such that ( C ′ , f ′ , C ′ ) ∈ R and C ′ ↓ ; if ( C ′ , f ′ , C ′ ) ∈ R and C ′ ↓ , then there is a sequence of (zero or more) τ -transitions C ′ τ ∗ ÐÐ↠ C ′ such that ( C ′ , f ′ , C ′ ) ∈ R and C ′ ↓ . E , E are branching FR history-preserving (hp-)bisimilar and are written E ≈ frbhp E if there exists abranching FR hp-bisimulation R such that ( ∅ , ∅ , ∅ ) ∈ R .A branching FR hereditary history-preserving (hhp-)bisimulation is a downward closed branching FR hp-bisimulation. E , E are branching FR hereditary history-preserving (hhp-)bisimilar and are written E ≈ frbhhp E . Definition 3.10 (Rooted branching forward-reverse (FR) (hereditary) history-preserving bisimulation) . Assume a special termination predicate ↓ , and let √ represent a state with √ ↓ . A rooted branching FRhistory-preserving (hp-) bisimulation is a weakly posetal relation R ⊆ C ( E ) × C ( E ) such that: if ( C , f, C ) ∈ R , and C e Ð→ C ′ , then C e Ð→ C ′ with C ′ ≈ bhp C ′ ; if ( C , f, C ) ∈ R , and C e Ð→ C ′ , then C e Ð→ C ′ with C ′ ≈ bhp C ′ ; if ( C ′ , f ′ , C ′ ) ∈ R , and C ′ e [ m ] ÐÐÐÐ↠ C , then C ′ e [ n ] ÐÐ↠ C with C ≈ frbhp C ; if ( C ′ , f ′ , C ′ ) ∈ R , and C ′ e [ n ] ÐÐ↠ C , then C ′ e [ m ] ÐÐÐÐ↠ C with C ≈ frbhp C ; if ( C , f, C ) ∈ R and C ↓ , then C ↓ ; if ( C , f, C ) ∈ R and C ↓ , then C ↓ . E , E are rooted branching FR history-preserving (hp-)bisimilar and are written E ≈ frrbhp E if there existsa rooted branching FR hp-bisimulation R such that ( ∅ , ∅ , ∅ ) ∈ R .A rooted branching FR hereditary history-preserving (hhp-)bisimulation is a downward closed rootedbranching FR hp-bisimulation. E , E are rooted branching FR hereditary history-preserving (hhp-)bisimilarand are written E ≈ frrbhhp E .
4. Basic Reversible Algebra for True Concurrency
In this section, we will discuss the algebraic laws for prime event structure E , exactly for causality ≤ and con-flict ♯ , with a reversible flavor. The resulted algebra is called Basic Reversible Algebra for True Concurrency,abbreviated BRAT C . BRAT C
In the following, let e , e , e ′ , e ′ ∈ E , and let variables x, y, z range over the set of terms for true concurrency, p, q, s range over the set of closed terms, the the predicate Std(p) represents that p is a standard process raft of An Algebra of Reversible Computation 9No. Axiom A x + y = y + xA ( x + y ) + z = x + ( y + z ) A x + x = xA x ⋅ ( y + z ) = x ⋅ y + x ⋅ z ( Std ( x ) , Std ( y ) , Std ( z )) RA ( x + y ) ⋅ z = x ⋅ z + y ⋅ z ( NStd ( x ) , NStd ( y ) , NStd ( z )) A ( x ⋅ y ) ⋅ z = x ⋅ ( y ⋅ z ) Table 1. Axioms of
BRAT C
No. Rewriting Rule
RRA x + x → xRRA x ⋅ ( y + z ) → x ⋅ y + x ⋅ zRRRA ( x + y ) ⋅ z → x ⋅ z + y ⋅ zRRA ( x ⋅ y ) ⋅ z → x ⋅ ( y ⋅ z ) Table 2. Term rewrite system of
BRAT C containing no past events, the the predicate NStd(p) represents that p is a process full of past events. Theset of axioms of BRAT C consists of the laws given in Table 1.Intuitively, the axiom A + satisfies commutative law. The axiom A + satisfies associativity. A + satisfies idempotency. The axiom A ⋅ to + . The axiom RA ⋅ to + . And A ⋅ . BRAT C
Definition 4.1 (Basic terms of
BRAT C ) . The set of basic terms of
BRAT C , B ( BRAT C ) , is inductivelydefined as follows: E ⊂ B ( BRAT C ) ; if e ∈ E , t ∈ B ( BRAT C ) then e ⋅ t ∈ B ( BRAT C ) ; if t, s ∈ B ( BRAT C ) then t + s ∈ B ( BRAT C ) . Theorem 4.2 (Elimination theorem of
BRAT C ) . Let p be a closed BRAT C term. Then there is a basic
BRAT C term q such that BRAT C ⊢ p = q .Proof. (1) Firstly, suppose that the following ordering on the signature of BRAT C is defined: ⋅ > + and thesymbol ⋅ is given the lexicographical status for the first argument, then for each rewrite rule p → q (or p ↠ q )in Table 2 relation p > lpo q can easily be proved. We obtain that the term rewrite system shown in Table2 is strongly normalizing, for it has finitely many rewriting rules, and > is a well-founded ordering on thesignature of BRAT C , and if s > lpo t , for each rewriting rule s → t is in Table 2 (see Theorem 2.19).(2) Then we prove that the normal forms of closed BRAT C terms are basic
BRAT C terms.Suppose that p is a normal form of some closed BRAT C term and suppose that p is not a basic term.Let p ′ denote the smallest sub-term of p which is not a basic term. It implies that each sub-term of p ′ is abasic term. Then we prove that p is not a term in normal form. It is sufficient to induct on the structure of p ′ : ● Case p ′ ≡ eore [ m ] , e ∈ E . p ′ is a basic term, which contradicts the assumption that p ′ is not a basic term,so this case should not occur. ● Case p ′ ≡ p ⋅ p . By induction on the structure of the basic term p : – Subcase p ∈ E . p ′ would be a basic term, which contradicts the assumption that p ′ is not a basicterm; e e Ð→ e [ m ] x e Ð→ e [ m ] e ∉ yx + y e Ð→ e [ m ] + y x e Ð→ x ′ e ∉ yx + y e Ð→ x ′ + yy e Ð→ e [ m ] e ∉ xx + y e Ð→ x + e [ m ] y e Ð→ y ′ e ∉ xx + y e Ð→ x + y ′ x e Ð→ e [ m ] y e Ð→ e [ m ] x + y e Ð→ e [ m ] + e [ m ] x e Ð→ x ′ y e Ð→ e [ m ] x + y e Ð→ x ′ + e [ m ] x e Ð→ e [ m ] y e Ð→ y ′ x + y e Ð→ e [ m ] + y ′ x e Ð→ x ′ y e Ð→ y ′ x + y e Ð→ x ′ + y ′ x e Ð→ e [ m ] Std ( y ) x ⋅ y e Ð→ e [ m ] ⋅ y x e Ð→ x ′ Std ( y ) x ⋅ y e Ð→ x ′ ⋅ yy e ′ Ð→ e ′ [ n ] NStd ( x ) x ⋅ y e ′ Ð→ x ⋅ e ′ [ n ] y e ′ Ð→ y ′ NStd ( x ) x ⋅ y e ′ Ð→ x ⋅ y ′ Table 3. Forward single event transition rules of
BRAT C – Subcase p ≡ e ⋅ p ′ . RRA p is not a normal form; – Subcase p ≡ p ′ ⋅ e [ m ] . RRA p is not a normal form; – Subcase p ≡ p ′ + p ′′ . RRA
RRRA p is not a normal form. ● Case p ′ ≡ p + p . By induction on the structure of the basic terms both p and p , all subcases will leadto that p ′ would be a basic term, which contradicts the assumption that p ′ is not a basic term. BRAT C
In this subsection, we will define a term-deduction system which gives the operational semantics of
BRAT C .We give the operational transition rules for operators ⋅ and + as Table 3 and Table 4 show. And the predicate α Ð→ α [ m ] represents successful forward termination after execution of the action α , the predicate α [ m ] ÐÐ↠ α represents successful reverse termination after execution of the event α [ m ] .The pomset transition rules are shown in Table 5 and Table 6, different to single event transition rulesin Table 3 and Table 4, the pomset transition rules are labeled by pomsets, which are defined by causality ⋅ and conflict + . Theorem 4.3 (Congruence of
BRAT C with respect to FR pomset bisimulation equivalence) . FR pomsetbisimulation equivalence ∼ frp is a congruence with respect to BRAT C .Proof.
It is easy to see that FR pomset bisimulation is an equivalent relation on
BRAT C terms, we onlyneed to prove that ∼ frp is preserved by the operators ⋅ and + . ● Causality operator ⋅ . Let x , x and y , y be BRAT C processes, and x ∼ frp y , x ∼ frp y , it is sufficientto prove that x ⋅ x ∼ frp y ⋅ y . raft of An Algebra of Reversible Computation 11 e [ m ] e [ m ] ÐÐ↠ ex e [ m ] ÐÐ↠ e e ∉ yx + y e [ m ] ÐÐ↠ e + y x e [ m ] ÐÐ↠ x ′ e ∉ yx + y e [ m ] ÐÐ↠ x ′ + yy e [ m ] ÐÐ↠ e e ∉ xx + y e [ m ] ÐÐ↠ x + e y e [ m ] ÐÐ↠ y ′ e ∉ xx + y e [ m ] ÐÐ↠ x + y ′ x e [ m ] ÐÐ↠ e y e [ m ] ÐÐ↠ ex + y e [ m ] ÐÐ↠ e + e x e [ m ] ÐÐ↠ x ′ y e [ m ] ÐÐ↠ ex + y e [ m ] ÐÐ↠ x ′ + ex e [ m ] ÐÐ↠ e y e [ m ] ÐÐ↠ y ′ x + y e [ m ] ÐÐ↠ e + y ′ x e [ m ] ÐÐ↠ x ′ y e [ m ] ÐÐ↠ y ′ x + y e [ m ] ÐÐ↠ x ′ + y ′ x e [ m ] ÐÐ↠ e Std ( y ) x ⋅ y e [ m ] ÐÐ↠ e ⋅ y x e [ m ] ÐÐ↠ x ′ Std ( y ) x ⋅ y e [ m ] ÐÐ↠ x ′ ⋅ yy e ′ [ n ] ÐÐ↠ e ′ NStd ( x ) x ⋅ y e ′ [ n ] ÐÐ↠ x ⋅ e ′ y e ′ [ n ] ÐÐ↠ y ′ NStd ( x ) x ⋅ y e ′ [ n ] ÐÐ↠ x ⋅ y ′ Table 4. Reverse single event transition rules of
BRAT C X X Ð→ X [ K ] x X Ð→ X [ K ] X ⊈ yx + y X Ð→ X [ K ] + y x X Ð→ x ′ X ⊈ yx + y X Ð→ x ′ + yy Y Ð→ Y [ J ] Y ⊈ xx + y Y Ð→ x + Y [ J ] y Y Ð→ y ′ Y ⊈ xx + y Y Ð→ x + y ′ x X Ð→ X [ K ] y X Ð→ X [ K ] x + y X Ð→ X [ K ] + X [ K ] x X Ð→ x ′ y X Ð→ X [ K ] x + y X Ð→ x ′ + X [ K ] x X Ð→ X [ K ] y X Ð→ y ′ x + y X Ð→ X [ K ] + y ′ x X Ð→ x ′ y X Ð→ y ′ x + y X Ð→ x ′ + y ′ x X Ð→ X [ K ] Std ( y ) x ⋅ y X Ð→ X [ K ] ⋅ y ( X ⊆ x ) x X Ð→ x ′ Std ( y ) x ⋅ y X Ð→ x ′ ⋅ y ( X ⊆ x ) y Y Ð→ Y [ J ] NStd ( x ) x ⋅ y Y Ð→ x ⋅ Y [ J ] ( Y ⊆ y ) y Y Ð→ y ′ NStd ( x ) x ⋅ y Y Ð→ x ⋅ y ′ ( Y ⊆ y ) Table 5. Forward pomset transition rules of
BRAT C X [ K ] X [K] ÐÐÐÐ↠ Xx X [K] ÐÐÐÐ↠
X X ⊈ yx + y X [K] ÐÐÐÐ↠ X + y x X [K] ÐÐÐÐ↠ x ′ X ⊈ yx + y X [K] ÐÐÐÐ↠ x ′ + yy Y [J ] ÐÐÐÐ↠
Y Y ⊈ xx + y Y [J ] ÐÐÐÐ↠ x + Y y Y [J ] ÐÐÐÐ↠ y ′ Y ⊈ xx + y Y [J ] ÐÐÐÐ↠ x + y ′ x X [K] ÐÐÐÐ↠
X y X [K] ÐÐÐÐ↠ Xx + y X [K] ÐÐÐÐ↠ X + X x X [K] ÐÐÐÐ↠ x ′ y X [K] ÐÐÐÐ↠ Xx + y X [K] ÐÐÐÐ↠ x ′ + Xx X [K] ÐÐÐÐ↠
X y X [K] ÐÐÐÐ↠ y ′ x + y X [K] ÐÐÐÐ↠ X + y ′ x X [K] ÐÐÐÐ↠ x ′ y X [K] ÐÐÐÐ↠ y ′ x + y X [K] ÐÐÐÐ↠ x ′ + y ′ x X [K] ÐÐÐÐ↠ X Std ( y ) x ⋅ y X [K] ÐÐÐÐ↠ X ⋅ y ( X ⊆ x ) x X [K] ÐÐÐÐ↠ x ′ Std ( y ) x ⋅ y X [K] ÐÐÐÐ↠ x ′ ⋅ y ( X ⊆ x ) y Y [J ] ÐÐÐÐ↠ Y NStd ( x ) x ⋅ y Y [J ] ÐÐÐÐ↠ x ⋅ Y ( Y ⊆ y ) y Y [J ] ÐÐÐÐ↠ y ′ NStd ( x ) x ⋅ y Y [J ] ÐÐÐÐ↠ x ⋅ y ′ ( Y ⊆ y ) Table 6. Reverse pomset transition rules of
BRAT C
By the definition of FR pomset bisimulation ∼ frp (Definition 3.3), x ∼ frp y means that x X Ð→ x ′ y Y Ð→ y ′ x X [K] ÐÐÐÐ↠ x ′′ y Y [J ] ÐÐÐÐ↠ y ′′ with X ⊆ x , Y ⊆ y , X ∼ Y , x ′ ∼ frp y ′ and x ′′ ∼ frp y ′′ . The meaning of x ∼ frp y is similar.By the FR pomset transition rules for causality operator ⋅ in Table 5 and Table 6, we can get x ⋅ x X Ð→ X [ K ] ⋅ x y ⋅ y Y Ð→ Y [ J ] ⋅ y x ⋅ x X [K] ÐÐÐÐ↠ x ⋅ X y ⋅ y Y [J ] ÐÐÐÐ↠ y ⋅ Y with X ⊆ x , Y ⊆ y , X ⊆ x , Y ⊆ y , X ∼ Y , X ∼ Y , and the assumptions X [ K ] ⋅ x ∼ frp Y [ J ] ⋅ y and x ⋅ X ∼ frp y ⋅ Y , so, we get x ⋅ x ∼ frp y ⋅ y , as desired.Or, we can get x ⋅ x X Ð→ x ′ ⋅ x y ⋅ y Y Ð→ y ′ ⋅ y x ⋅ x X [K] ÐÐÐÐ↠ x ⋅ x ′ y ⋅ y Y [J ] ÐÐÐÐ↠ y ⋅ y ′ with X ⊆ x , Y ⊆ y , X ⊆ x , Y ⊆ y , X ∼ Y , X ∼ Y , and the assumptions x ′ ⋅ x ∼ frp y ′ ⋅ y , x ⋅ x ′ ∼ frp y ⋅ y ′ , so, we get x ⋅ x ∼ frp y ⋅ y , as desired. ● Conflict operator + . Let x , x and y , y be BRAT C processes, and x ∼ frp y , x ∼ frp y , it is sufficientto prove that x + x ∼ frp y + y . The meanings of x ∼ frp y and x ∼ frp y are the same as the above case,according to the definition of FR pomset bisimulation ∼ frp in Definition 3.3. raft of An Algebra of Reversible Computation 13 By the FR pomset transition rules for conflict operator + in Table 5 and Table 6, we can get severalcases: x + x X Ð→ X [ K ] + x y + y Y Ð→ Y [ J ] + y x + x X [K] ÐÐÐÐ↠ X + x y + y Y [J ] ÐÐÐÐ↠ Y + y with X ⊆ x , Y ⊆ y , X ∼ Y , and the assumptions X [ K ] + x ∼ frp Y [ J ] + y and X + x ∼ frp Y + y ,so, we get x + x ∼ frp y + y , as desired.Or, we can get x + x X Ð→ x ′ + x y + y Y Ð→ y ′ + y x + x X [K] ÐÐÐÐ↠ x ′ + x y + y Y [J ] ÐÐÐÐ↠ y ′ + y with X ⊆ x , Y ⊆ y , X ∼ Y , and x ′ + x ∼ frp y ′ + y , so, we get x + x ∼ frp y + y , as desired.Or, we can get x + x X Ð→ x + X [ K ] y + y Y Ð→ y + Y [ J ] x + x X [K] ÐÐÐ→ x + X y + y Y [J ] ÐÐÐ→ y + Y with X ⊆ x , Y ⊆ y , X ∼ Y , and the assumptions x + X [ K ] ∼ frp y + Y [ J ] and x + X ∼ frp y + Y ,so, we get x + x ∼ frp y + y , as desired.Or, we can get x + x X Ð→ x + x ′ y + y Y Ð→ y + y ′ x + x X [K] ÐÐÐÐ↠ x + x ′ y + y Y [J ] ÐÐÐÐ↠ y + y ′ with X ⊆ x , Y ⊆ y , X ∼ Y , and the assumption x + x ′ ∼ frp y + y ′ , so, we get x + x ∼ frp y + y , asdesired.Or, we can get x + x X Ð→ x ′ + x ′ y + y Y Ð→ y ′ + y ′ x + x X [K] ÐÐ↠ x ′ + x ′ y + y Y [J ] ÐÐ↠ y ′ + y ′ with X ⊆ x , Y ⊆ y , X ⊆ x , Y ⊆ y , X ∼ Y , and the assumption x ′ + x ′ ∼ frp y ′ + y ′ , so, we get x + x ∼ frp y + y , as desired. Theorem 4.4 (Soundness of
BRAT C modulo FR pomset bisimulation equivalence) . Let x and y be BRAT C terms. If
BRAT C ⊢ x = y , then x ∼ frp y .Proof. Since FR pomset bisimulation ∼ frp is both an equivalent and a congruent relation, we only need tocheck if each axiom in Table 1 is sound modulo FR pomset bisimulation equivalence. ● Axiom A
1. Let p, q be BRAT C processes, and p + q = q + p , it is sufficient to prove that p + q ∼ frp q + p .By the forward pomset transition rules for operator + in Table 5, we get p P Ð→ P [ K ] p + q P Ð→ P [ K ] + q ( P ⊆ p, P ⊈ q ) p P Ð→ P [ K ] q + p P Ð→ q + P [ K ] ( P ⊆ p, P ⊈ q ) p P Ð→ p ′ p + q P Ð→ p ′ + q ( P ⊆ p, P ⊈ q ) p P Ð→ p ′ q + p P Ð→ q + p ′ ( P ⊆ p, P ⊈ q ) q Q Ð→ Q [ J ] p + q Q Ð→ p + Q [ J ] ( Q ⊆ q, Q ⊈ p ) q Q Ð→ Q [ J ] q + p Q Ð→ Q [ J ] + p ( Q ⊆ q, Q ⊈ p ) q Q Ð→ q ′ p + q Q Ð→ p + q ′ ( Q ⊆ q, Q ⊈ p ) q Q Ð→ q ′ q + p Q Ð→ q ′ + p ( Q ⊆ q, Q ⊈ p ) p P Ð→ p ′ q P Ð→ q ′ p + q P Ð→ p ′ + q ′ ( P ⊆ p, P ⊆ q ) p P Ð→ p ′ q P Ð→ q ′ q + p P Ð→ q ′ + p ′ ( P ⊆ p, P ⊆ q ) By the reverse pomset transition rules for operator + in Table 6, we get p P [K] ÐÐ↠
P P ⊈ qp + q P [K] ÐÐÐ→ P + q ( P ⊆ p ) p P [K] ÐÐ↠
P P ⊈ qq + p P [K] ÐÐ↠ q + P ( P ⊆ p ) p P [K] ÐÐ↠ p ′ P ⊈ qp + q P [K] ÐÐ↠ p ′ + q ( P ⊆ p ) p P [K] ÐÐ↠ p ′ P ⊈ qq + p P [K] ÐÐ↠ q + p ′ ( P ⊆ p ) q Q [J ] ÐÐ↠
Q Q ⊈ pp + q Q [J ] ÐÐ↠ p + Q ( Q ⊆ q ) q Q [J ] ÐÐ↠
Q Q ⊈ pq + p Q [J ] ÐÐ↠ Q + p ( Q ⊆ q ) q Q [J ] ÐÐ↠ q ′ Q ⊈ pp + q Q [J ] ÐÐ↠ p + q ′ ( Q ⊆ q ) q Q [J ] ÐÐ↠ q ′ Q ⊈ pq + p Q [J ] ÐÐ↠ q ′ + p ( Q ⊆ q ) p P [K] ÐÐ↠ p ′ q P [K] ÐÐ↠ q ′ p + q P [K] ÐÐ↠ p ′ + q ′ ( P ⊆ p, P ⊆ q ) p P [K] ÐÐ↠ p ′ q P [K] ÐÐ↠ q ′ q + p P [K] ÐÐ↠ q ′ + p ′ ( P ⊆ p, P ⊆ q ) With the assumptions P [ K ] + q ∼ frp q + P [ K ] , P + q ∼ frp q + P , p + Q [ J ] ∼ frp Q [ J ] + p , p ′ + q ∼ frp q + p ′ , p + q ′ ∼ frp q ′ + p and p ′ + q ′ ∼ frp q ′ + p ′ so, p + q ∼ frp q + p , as desired. ● Axiom A
2. Let p, q, s be BRAT C processes, and ( p + q ) + s = p + ( q + s ) , it is sufficient to prove that ( p + q ) + s ∼ frp p + ( q + s ) . By the forward pomset transition rules for operator + in Table 5, we get p P Ð→ P [ K ] P ⊈ q P ⊈ s ( p + q ) + s P Ð→ ( P [ K ] + q ) + s ( P ⊆ p ) p P Ð→ P [ K ] P ⊈ q P ⊈ sp + ( q + s ) P Ð→ P [ K ] + ( q + s ) ( P ⊆ p ) p P Ð→ p ′ P ⊈ q P ⊈ s ( p + q ) + s P Ð→ ( p ′ + q ) + s ( P ⊆ p ) p P Ð→ p ′ P ⊈ q P ⊈ sp + ( q + s ) P Ð→ p ′ + ( q + s ) ( P ⊆ p ) raft of An Algebra of Reversible Computation 15 q Q Ð→ Q [ J ] Q ⊈ p Q ⊈ s ( p + q ) + s Q Ð→ ( p + Q [ J ]) + s ( Q ⊆ q ) q Q Ð→ Q [ J ] Q ⊈ p Q ⊈ sp + ( q + s ) Q Ð→ p + ( Q [ J ] + s ) ( Q ⊆ q ) q Q Ð→ q ′ Q ⊈ p Q ⊈ s ( p + q ) + s Q Ð→ ( p + q ′ ) + s ( Q ⊆ q ) q Q Ð→ q ′ Q ⊈ p Q ⊈ sp + ( q + s ) Q Ð→ p + ( q ′ + s ) ( Q ⊆ q ) s S Ð→ S [ I ] S ⊈ p S ⊈ q ( p + q ) + s S Ð→ ( p + q ) + S [ I ] ( S ⊆ s ) s S Ð→ S [ I ] S ⊈ p S ⊈ qp + ( q + s ) S Ð→ p + ( q + S [ I ]) ( S ⊆ s ) s S Ð→ s ′ S ⊈ p S ⊈ q ( p + q ) + s S Ð→ ( p + q ) + s ′ ( S ⊆ s ) s S Ð→ s ′ S ⊈ p S ⊈ qp + ( q + s ) S Ð→ p + ( q + s ′ ) ( S ⊆ s ) p P Ð→ p ′ q P Ð→ q ′ s P Ð→ s ′ ( p + q ) + s P Ð→ ( p ′ + q ′ ) + s ′ ( P ⊆ p, P ⊆ q, P ⊆ s ) p P Ð→ p ′ q P Ð→ q ′ s P Ð→ s ′ p + ( q + s ) P Ð→ p ′ + ( q ′ + s ′ ) ( P ⊆ p, P ⊆ q, P ⊆ s ) By the reverse pomset transition rules for operator + in Table 6, we get p P [K] ÐÐ↠
P P ⊈ q P ⊈ s ( p + q ) + s P [K] ÐÐ↠ ( P + q ) + s ( P ⊆ p ) p P [K] ÐÐ↠
P P ⊈ q P ⊈ sp + ( q + s ) P [K] ÐÐ↠ P + ( q + s ) ( P ⊆ p ) p P [K] ÐÐ↠ p ′ P ⊈ q P ⊈ s ( p + q ) + s P [K] ÐÐ↠ ( p ′ + q ) + s ( P ⊆ p ) p P [K] ÐÐ↠ p ′ P ⊈ q P ⊈ sp + ( q + s ) P [K] ÐÐ↠ p ′ + ( q + s ) ( P ⊆ p ) q Q [J ] ÐÐ↠
Q Q ⊈ p Q ⊈ s ( p + q ) + s Q [J ] ÐÐ↠ ( p + Q ) + s ( Q ⊆ q ) q Q [J ] ÐÐ↠
Q Q ⊈ p Q ⊈ sp + ( q + s ) Q [J ] ÐÐ↠ p + ( Q + s ) ( Q ⊆ q ) q Q [J ] ÐÐ↠ q ′ Q ⊈ p Q ⊈ s ( p + q ) + s Q [J ] ÐÐÐ→ ( p + q ′ ) + s ( Q ⊆ q ) q Q [J ] ÐÐ↠ q ′ Q ⊈ p Q ⊈ sp + ( q + s ) Q [J ] ÐÐ↠ p + ( q ′ + s ) ( Q ⊆ q ) s S [I] ÐÐ↠
S S ⊈ p S ⊈ q ( p + q ) + s S [I] ÐÐ↠ ( p + q ) + S ( S ⊆ s ) s S [I] ÐÐ↠
S S ⊈ p S ⊈ qp + ( q + s ) S [I] ÐÐ↠ p + ( q + S ) ( S ⊆ s ) s S [I] ÐÐ↠ s ′ S ⊈ p S ⊈ q ( p + q ) + s S [I] ÐÐ↠ ( p + q ) + s ′ ( S ⊆ s ) s S [I] ÐÐ↠ s ′ S ⊈ p S ⊈ qp + ( q + s ) S [I] ÐÐ↠ p + ( q + s ′ ) ( S ⊆ s ) p P [K] ÐÐ↠ p ′ q P [K] ÐÐ↠ q ′ s P [K] ÐÐ↠ s ′ ( p + q ) + s P [K] ÐÐ↠ ( p ′ + q ′ ) + s ′ ( P ⊆ p, P ⊆ q, P ⊆ s ) p P [K] ÐÐ↠ p ′ q P [K] ÐÐ↠ q ′ s P [K] ÐÐ↠ s ′ p + ( q + s ) P [K] ÐÐ↠ p ′ + ( q ′ + s ′ ) ( P ⊆ p, P ⊆ q, P ⊆ s ) with the assumptions ( P [ K ] + q ) + s ∼ frp P [ K ] + ( q + s ) , ( P + q ) + s ∼ frp P + ( q + s ) , ( p + Q [ J ]) + s ∼ frp p + ( Q [ J ] + s ) , ( p + Q ) + s ∼ frp p + ( Q + s ) , ( p + q ) + S [ I ] ∼ frp p + ( q + S [ I ]) , ( p + q ) + S ∼ frp p + ( q + S ) , ( p ′ + q ) + s ∼ frp p ′ + ( q + s ) , ( p + q ′ ) + s ∼ frp p + ( q ′ + s ) , ( p + q ) + s ′ ∼ frp p + ( q + s ′ ) and ( p ′ + q ′ ) + s ′ ∼ frp p ′ + ( q ′ + s ′ ) so, ( p + q ) + s ∼ frp p + ( q + s ) , as desired. ● Axiom A
3. Let p be a BRAT C process, and p + p = p , it is sufficient to prove that p + p ∼ frp p . By theforward pomset transition rules for operator + in Table 5, we get p P Ð→ P [ K ] p + p P Ð→ P [ K ] + P [ K ] ( P ⊆ p ) p P Ð→ P [ K ] p P Ð→ P [ K ] ( P ⊆ p ) p P Ð→ p ′ p + p P Ð→ p ′ + p ′ ( P ⊆ p ) p P Ð→ p ′ p P Ð→ p ′ ( P ⊆ p ) By the reverse pomset transition rules for operator + in Table 6, we get p P [K] ÐÐ↠ Pp + p P [K] ÐÐ↠ P + P ( P ⊆ p ) p P [K] ÐÐ↠ Pp P [K] ÐÐ↠ P ( P ⊆ p ) p P [K] ÐÐ↠ p ′ p + p P [K] ÐÐ↠ p ′ + p ′ ( P ⊆ p ) p P [K] ÐÐ↠ p ′ p P [K] ÐÐ↠ p ′ ( P ⊆ p ) with the assumptions P [ K ] + P [ K ] ∼ frp P [ K ] , P + P ∼ frp P and p ′ + p ′ ∼ frp p ′ , so, p + p ∼ frp p , as desired. ● Axiom A
4. Let p, q, s be BRAT C processes, and p ⋅ ( q + s ) = p ⋅ q + p ⋅ s ( Std ( p ) , Std ( q ) , Std ( s )) , it issufficient to prove that p ⋅ ( q + s ) ∼ frp p ⋅ q + p ⋅ s . By the pomset transition rules for operators + and ⋅ inTable 5, we get p P Ð→ P [ K ] p ⋅ ( q + s ) P Ð→ P [ K ] ⋅ ( q + s ) ( P ⊆ p ) p P Ð→ P [ K ] p ⋅ q + p ⋅ s P Ð→ P [ K ] ⋅ q + P [ K ] ⋅ s ( P ⊆ p ) p P Ð→ p ′ p ⋅ ( q + s ) P Ð→ p ′ ⋅ ( q + s ) ( P ⊆ p ) p P Ð→ p ′ p ⋅ q + p ⋅ s P Ð→ p ′ ⋅ q + p ′ ⋅ s ( P ⊆ p ) By the reverse transition rules for operators + and ⋅ in Table 6, there are no transitions.with the assumptions P [ K ] ⋅ ( q + s ) ∼ frp P [ K ] ⋅ q + P [ K ] ⋅ s , p ′ ⋅ ( q + s ) ∼ frp p ′ ⋅ q + p ′ ⋅ s , so, p ⋅ ( q + s ) ∼ frp p ⋅ q + p ⋅ s ( Std ( p ) , Std ( q ) , Std ( s )) , as desired. ● Axiom RA
4. Let p, q, s be BRAT C processes, and ( q + s ) ⋅ p = q ⋅ p + s ⋅ p ( NStd ( p ) , NStd ( q ) , NStd ( s )) , itis sufficient to prove that ( q + s ) ⋅ p ∼ frp q ⋅ p + s ⋅ p . By the pomset transition rules for operators + and ⋅ inTable 5, there are no transitions.By the reverse transition rules for operators + and ⋅ in Table 6, we get p P [K] ÐÐ↠ P ( q + s ) ⋅ p P [K] ÐÐ↠ ( q + s ) ⋅ P ( P ⊆ p ) p P [K] ÐÐ↠ Pq ⋅ p + s ⋅ p P [K] ÐÐ↠ q ⋅ P + s ⋅ P ( P ⊆ p ) p P [K] ÐÐ↠ p ′ ( q + s ) ⋅ p P [K] ÐÐ↠ ( q + s ) ⋅ p ′ ( P ⊆ p ) p P [K] ÐÐ↠ p ′ q ⋅ p + s ⋅ p P [K] ÐÐ↠ q ⋅ p ′ + s ⋅ p ′ ( P ⊆ p ) with the assumptions ( q + s ) ⋅ P ∼ frp q ⋅ P + s ⋅ P , ( q + s ) ⋅ p ′ ∼ frp q ⋅ p ′ + s ⋅ p ′ , so, ( q + s ) ⋅ p ∼ frp q ⋅ p + s ⋅ p ( NStd ( p ) , NStd ( q ) , NStd ( s )) , as desired. ● Axiom A
5. Let p, q, s be BRAT C processes, and ( p ⋅ q ) ⋅ s = p ⋅ ( q ⋅ s ) , it is sufficient to prove that ( p ⋅ q ) ⋅ s ∼ frp p ⋅ ( q ⋅ s ) . By the forward pomset transition rules for operator ⋅ in Table 5, we get raft of An Algebra of Reversible Computation 17 p P Ð→ P [ K ]( p ⋅ q ) ⋅ s P Ð→ ( P [ K ] ⋅ q ) ⋅ s ( P ⊆ p ) p P Ð→ P [ K ] p ⋅ ( q ⋅ s ) P Ð→ P [ K ] ⋅ ( q ⋅ s ) ( P ⊆ p ) p P Ð→ p ′ ( p ⋅ q ) ⋅ s P Ð→ ( p ′ ⋅ q ) ⋅ s ( P ⊆ p ) p P Ð→ p ′ p ⋅ ( q ⋅ s ) P Ð→ p ′ ⋅ ( q ⋅ s ) ( P ⊆ p ) By the reverse pomset transition rules for operator ⋅ in Table 6, we get s S [I] ÐÐ↠ S ( p ⋅ q ) ⋅ s S [I] ÐÐ↠ ( p ⋅ q ) ⋅ S ( S ⊆ s ) s S [I] ÐÐ↠ Sp ⋅ ( q ⋅ s ) S [I] ÐÐ↠ p ⋅ ( q ⋅ S ) ( S ⊆ s ) s S [I] ÐÐ↠ s ′ ( p ⋅ q ) ⋅ s S [I] ÐÐ↠ ( p ⋅ q ) ⋅ s ′ ( S ⊆ s ) s S [I] ÐÐ↠ s ′ p ⋅ ( q ⋅ s ) S [I] ÐÐ↠ p ⋅ ( q ⋅ s ′ ) ( S ⊆ s ) With assumptions ( P [ K ] ⋅ q ) ⋅ s ∼ frp P [ K ] ⋅ ( q ⋅ s ) , ( p ′ ⋅ q ) ⋅ s ∼ frp p ′ ⋅ ( q ⋅ s ) , ( p ⋅ q ) ⋅ S ∼ frp p ⋅ ( q ⋅ S ) , ( p ⋅ q ) ⋅ s ′ ∼ frp p ⋅ ( q ⋅ s ′ ) , so, ( p ⋅ q ) ⋅ s ∼ frp p ⋅ ( q ⋅ s ) , as desired. Proposition 4.5 (About Completeness of
BRAT C modulo FR truly concurrent bisimulation equivalence) . Let p and q be closed BRAT C terms, if p ∼ frp q then there may be p ≠ q .Proof. Firstly, by the elimination theorem of
BRAT C , we know that for each closed
BRAT C term p , thereexists a closed basic BRAT C term p ′ , such that BRAT C ⊢ p = p ′ , so, we only need to consider closed basic BRAT C terms.The basic terms (see Definition 4.1) modulo associativity and commutativity (AC) of conflict + (definedby axioms A A = AC . Then, each equivalence class s modulo AC of + has the following normal form s + ⋯ + s k with each s i either an atomic event or of the form t ⋅ t , and each s i is called the summand of s .Now, we try to prove that for normal forms n and n ′ , if n ∼ frp n ′ then n = AC n ′ . It is sufficient to inducton the sizes of n and n ′ .Consider a summand e ⋅ e ⋅ e of n . Then n e Ð→ e Ð→ e Ð→ e [ ] ⋅ e [ ] ⋅ e [ ] , n ′ should also have n ′ e Ð→ e Ð→ e Ð→ n ′′ ,but maybe n ′′ = e [ ] ⋅ e [ ] ⋅ e [ ] , or maybe n ′′ = e [ ] ⋅ e [ ] + e [ ] ⋅ e according to the transition rules of + . Note that in the reversible version of AP T C , the choice + is different to that alternative composition + in AP T C . Though we define in + , if one branch forward or reverse executes successfully, then + forward orreverse executes successfully, the above situation still stands.That is, we cannot get n = AC n ′ . So, we cannot give the completeness of BRAT C modulo FR pomsetbisimulation equivalence. Similarly, we cannot give the completeness of
BRAT C modulo any FR trulyconcurrent bisimulation equivalence. And in section 5, since
BRAT C is an embedding of
RAP T C , so wealso cannot give the completeness of
RAP T C modulo any FR truly concurrent bisimulation equivalence.And more, in section 6, since
RAP T C τ is a conservative extension of RAP T C , so we also cannot give thecompleteness of
RAP T C τ modulo any weakly FR truly concurrent bisimulation equivalence.The FR step transition rules are defined in Table 7 and Table 8, different to FR pomset transition rules,the FR step transition rules are labeled by steps, in which every event is pairwise concurrent. Theorem 4.6 (Congruence of
BRAT C with respect to FR step bisimulation equivalence) . FR step bisim-ulation equivalence ∼ frs is a congruence with respect to BRAT C . X X Ð→ X [ K ] ( ∀ e , e ∈ X are pairwise concurrent. ) x X Ð→ X [ K ] X ⊈ yx + y X Ð→ X [ K ] + y ( ∀ e , e ∈ X are pairwise concurrent. ) x X Ð→ x ′ X ⊈ yx + y X Ð→ x ′ + y ( ∀ e , e ∈ X are pairwise concurrent. ) y Y Ð→ Y [ J ] Y ⊈ xx + y Y Ð→ x + Y [ J ] ( ∀ e , e ∈ Y are pairwise concurrent. ) y Y Ð→ y ′ Y ⊈ xx + y Y Ð→ x + y ′ ( ∀ e , e ∈ Y are pairwise concurrent. ) x X Ð→ X [ K ] y X Ð→ X [ K ] x + y X Ð→ X [ K ] + X [ K ] ( ∀ e , e ∈ X are pairwise concurrent. ) x X Ð→ x ′ y X Ð→ X [ K ] x + y X Ð→ x ′ + X [ K ] ( ∀ e , e ∈ X are pairwise concurrent. ) x X Ð→ X [ K ] y X Ð→ y ′ x + y X Ð→ X [ K ] + y ′ ( ∀ e , e ∈ X are pairwise concurrent. ) x X Ð→ x ′ y X Ð→ y ′ x + y X Ð→ x ′ + y ′ ( ∀ e , e ∈ X are pairwise concurrent. ) x X Ð→ X [ K ] Std ( y ) x ⋅ y X Ð→ X [ K ] ⋅ y ( X ⊆ x, ∀ e , e ∈ X are pairwise concurrent. ) x X Ð→ x ′ Std ( y ) x ⋅ y X Ð→ x ′ ⋅ y ( X ⊆ x, ∀ e , e ∈ X are pairwise concurrent. ) y Y Ð→ Y [ J ] NStd ( x ) x ⋅ y Y Ð→ x ⋅ Y [ J ] ( Y ⊆ y, ∀ e , e ∈ Y are pairwise concurrent. ) y Y Ð→ y ′ NStd ( x ) x ⋅ y Y Ð→ x ⋅ y ′ ( Y ⊆ y, ∀ e , e ∈ Y are pairwise concurrent. ) Table 7. Forward step transition rules of
BRAT C
Proof.
It is easy to see that FR step bisimulation is an equivalent relation on
BRAT C terms, we only needto prove that ∼ frs is preserved by the operators ⋅ and + . ● Causality operator ⋅ . Let x , x and y , y be BRAT C processes, and x ∼ frs y , x ∼ frs y , it is sufficientto prove that x ⋅ x ∼ frs y ⋅ y .By the definition of FR step bisimulation ∼ frs (Definition 3.3), x ∼ frs y means that x X Ð→ x ′ y Y Ð→ y ′ x X [K] ÐÐÐÐ↠ x ′′ y Y [J ] ÐÐÐÐ↠ y ′′ raft of An Algebra of Reversible Computation 19 X [ K ] X [K] ÐÐÐÐ↠ X ( ∀ e , e ∈ X are pairwise concurrent. ) x X [K] ÐÐÐÐ↠
X X ⊈ yx + y X [K] ÐÐÐÐ↠ X + y ( ∀ e , e ∈ X are pairwise concurrent. ) x X [K] ÐÐÐÐ↠ x ′ X ⊈ yx + y X [K] ÐÐÐÐ↠ x ′ + y ( ∀ e , e ∈ X are pairwise concurrent. ) y Y [J ] ÐÐÐÐ↠
Y Y ⊈ xx + y Y [J ] ÐÐÐÐ↠ x + Y ( ∀ e , e ∈ Y are pairwise concurrent. ) y Y [J ] ÐÐÐÐ↠ y ′ Y ⊈ xx + y Y [J ] ÐÐÐÐ↠ x + y ′ ( ∀ e , e ∈ Y are pairwise concurrent. ) x X [K] ÐÐÐÐ↠
X y X [K] ÐÐÐÐ↠ Xx + y X [K] ÐÐÐÐ↠ X + X ( ∀ e , e ∈ X are pairwise concurrent. ) x X [K] ÐÐÐÐ↠ x ′ y X [K] ÐÐÐÐ↠ Xx + y X [K] ÐÐÐÐ↠ x ′ + X ( ∀ e , e ∈ X are pairwise concurrent. ) x X [K] ÐÐÐÐ↠
X y X [K] ÐÐÐÐ↠ y ′ x + y X [K] ÐÐÐÐ↠ X + y ′ ( ∀ e , e ∈ X are pairwise concurrent. ) x X [K] ÐÐÐÐ↠ x ′ y X [K] ÐÐÐÐ↠ y ′ x + y X [K] ÐÐÐÐ↠ x ′ + y ′ ( ∀ e , e ∈ X are pairwise concurrent. ) x X [K] ÐÐÐÐ↠ X Std ( y ) x ⋅ y X [K] ÐÐÐÐ↠ X ⋅ y ( X ⊆ x, ∀ e , e ∈ X are pairwise concurrent. ) x X [K] ÐÐÐÐ↠ x ′ Std ( y ) x ⋅ y X [K] ÐÐÐÐ↠ x ′ ⋅ y ( X ⊆ x, ∀ e , e ∈ X are pairwise concurrent. ) y Y [J ] ÐÐÐÐ↠ Y NStd ( x ) x ⋅ y Y [J ] ÐÐÐÐ↠ x ⋅ Y ( Y ⊆ y, ∀ e , e ∈ Y are pairwise concurrent. ) y Y [J ] ÐÐÐÐ↠ y ′ NStd ( x ) x ⋅ y Y [J ] ÐÐÐÐ↠ x ⋅ y ′ ( Y ⊆ y, ∀ e , e ∈ Y are pairwise concurrent. ) Table 8. Reverse step transition rules of
BRAT C with X ⊆ x , ∀ e , e ∈ X are pairwise concurrent, Y ⊆ y , ∀ e , e ∈ Y are pairwise concurrent, X ∼ Y , x ′ ∼ frs y ′ and x ′′ ∼ frs y ′′ . The meaning of x ∼ frs y is similar.By the FR step transition rules for causality operator ⋅ in Table 5 and Table 6, we can get x ⋅ x X Ð→ X [ K ] ⋅ x y ⋅ y Y Ð→ Y [ J ] ⋅ y x ⋅ x X [K] ÐÐÐÐ↠ x ⋅ X y ⋅ y Y [J ] ÐÐÐÐ↠ y ⋅ Y with X ⊆ x , ∀ e , e ∈ X are pairwise concurrent, Y ⊆ y , ∀ e , e ∈ Y are pairwise concurrent, X ⊆ x , ∀ e , e ∈ X are pairwise concurrent, Y ⊆ y , ∀ e , e ∈ Y are pairwise concurrent, X ∼ Y , X ∼ Y , andthe assumptions X [ K ] ⋅ x ∼ frs Y [ J ] ⋅ y and x ⋅ X ∼ frs y ⋅ Y , so, we get x ⋅ x ∼ frs y ⋅ y , as desired.Or, we can get x ⋅ x X Ð→ x ′ ⋅ x y ⋅ y Y Ð→ y ′ ⋅ y x ⋅ x X [K] ÐÐÐÐ↠ x ⋅ x ′ y ⋅ y Y [J ] ÐÐÐÐ↠ y ⋅ y ′ with X ⊆ x , ∀ e , e ∈ X are pairwise concurrent, Y ⊆ y , ∀ e , e ∈ Y are pairwise concurrent, X ⊆ x , ∀ e , e ∈ X are pairwise concurrent, Y ⊆ y , ∀ e , e ∈ Y are pairwise concurrent, X ∼ Y , X ∼ Y , andthe assumptions x ′ ⋅ x ∼ frs y ′ ⋅ y , x ⋅ x ′ ∼ frs y ⋅ y ′ , so, we get x ⋅ x ∼ frs y ⋅ y , as desired. ● Conflict operator + . Let x , x and y , y be BRAT C processes, and x ∼ frs y , x ∼ frs y , it is sufficientto prove that x + x ∼ frs y + y . The meanings of x ∼ frs y and x ∼ frs y are the same as the above case,according to the definition of FR step bisimulation ∼ frs in Definition 3.3.By the FR step transition rules for conflict operator + in Table 5 and Table 6, we can get several cases: x + x X Ð→ X [ K ] + x y + y Y Ð→ Y [ J ] + y x + x X [K] ÐÐÐÐ↠ X + x y + y Y [J ] ÐÐÐÐ↠ Y + y with X ⊆ x , ∀ e , e ∈ X are pairwise concurrent, Y ⊆ y , ∀ e , e ∈ Y are pairwise concurrent, X ∼ Y ,and the assumptions X [ K ] + x ∼ frs Y [ J ] + y and X + x ∼ frs Y + y , so, we get x + x ∼ frs y + y , asdesired.Or, we can get x + x X Ð→ x ′ + x y + y Y Ð→ y ′ + y x + x X [K] ÐÐÐÐ↠ x ′ + x y + y Y [J ] ÐÐÐÐ↠ y ′ + y with X ⊆ x , ∀ e , e ∈ X are pairwise concurrent, Y ⊆ y , ∀ e , e ∈ Y are pairwise concurrent, X ∼ Y ,and x ′ + x ∼ frs y ′ + y , so, we get x + x ∼ frs y + y , as desired.Or, we can get x + x X Ð→ x + X [ K ] y + y Y Ð→ y + Y [ J ] x + x X [K] ÐÐÐ→ x + X y + y Y [J ] ÐÐÐ→ y + Y with X ⊆ x , ∀ e , e ∈ X are pairwise concurrent, Y ⊆ y , ∀ e , e ∈ Y are pairwise concurrent, X ∼ Y ,and the assumptions x + X [ K ] ∼ frs y + Y [ J ] and x + X ∼ frs y + Y , so, we get x + x ∼ frs y + y , asdesired.Or, we can get x + x X Ð→ x + x ′ y + y Y Ð→ y + y ′ x + x X [K] ÐÐÐÐ↠ x + x ′ y + y Y [J ] ÐÐÐÐ↠ y + y ′ with X ⊆ x , ∀ e , e ∈ X are pairwise concurrent, Y ⊆ y , X ∼ Y , ∀ e , e ∈ Y are pairwise concurrent,and the assumption x + x ′ ∼ frs y + y ′ , so, we get x + x ∼ frs y + y , as desired.Or, we can get x + x X Ð→ x ′ + x ′ y + y Y Ð→ y ′ + y ′ raft of An Algebra of Reversible Computation 21 x + x X [K] ÐÐ↠ x ′ + x ′ y + y Y [J ] ÐÐ↠ y ′ + y ′ with X ⊆ x , Y ⊆ y , X ⊆ x , Y ⊆ y , ∀ e , e ∈ X are pairwise concurrent, ∀ e , e ∈ Y are pairwise concurrent, X ∼ Y , and the assumption x ′ + x ′ ∼ frs y ′ + y ′ , so, we get x + x ∼ frs y + y , as desired. Theorem 4.7 (Soundness of
BRAT C modulo FR step bisimulation equivalence) . Let x and y be BRAT C terms. If
BRAT C ⊢ x = y , then x ∼ frs y .Proof. Since FR step bisimulation ∼ frs is both an equivalent and a congruent relation, we only need to checkif each axiom in Table 1 is sound modulo FR step bisimulation equivalence. ● Axiom A
1. Let p, q be BRAT C processes, and p + q = q + p , it is sufficient to prove that p + q ∼ frs q + p .By the forward step transition rules for operator + in Table 7, we get p P Ð→ P [ K ] p + q P Ð→ P [ K ] + q ( P ⊆ p, P ⊈ q, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ P [ K ] q + p P Ð→ q + P [ K ] ( P ⊆ p, P ⊈ q, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ p ′ p + q P Ð→ p ′ + q ( P ⊆ p, P ⊈ q, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ p ′ q + p P Ð→ q + p ′ ( P ⊆ p, P ⊈ q, ∀ e , e ∈ P are pairwise concurrent. ) q Q Ð→ Q [ J ] p + q Q Ð→ p + Q [ J ] ( Q ⊆ q, Q ⊈ p, ∀ e , e ∈ Q are pairwise concurrent. ) q Q Ð→ Q [ J ] q + p Q Ð→ Q [ J ] + p ( Q ⊆ q, Q ⊈ p, ∀ e , e ∈ Q are pairwise concurrent. ) q Q Ð→ q ′ p + q Q Ð→ p + q ′ ( Q ⊆ q, Q ⊈ p, ∀ e , e ∈ Q are pairwise concurrent. ) q Q Ð→ q ′ q + p Q Ð→ q ′ + p ( Q ⊆ q, Q ⊈ p, ∀ e , e ∈ Q are pairwise concurrent. ) p P Ð→ p ′ q P Ð→ q ′ p + q P Ð→ p ′ + q ′ ( P ⊆ p, P ⊆ q, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ p ′ q P Ð→ q ′ q + p P Ð→ q ′ + p ′ ( P ⊆ p, P ⊆ q, ∀ e , e ∈ P are pairwise concurrent. ) By the reverse step transition rules for operator + in Table 8, we get p P [K] ÐÐ↠
P P ⊈ qp + q P [K] ÐÐÐ→ P + q ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P [K] ÐÐ↠
P P ⊈ qq + p P [K] ÐÐ↠ q + P ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P [K] ÐÐ↠ p ′ P ⊈ qp + q P [K] ÐÐ↠ p ′ + q ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P [K] ÐÐ↠ p ′ P ⊈ qq + p P [K] ÐÐ↠ q + p ′ ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) q Q [J ] ÐÐ↠
Q Q ⊈ pp + q Q [J ] ÐÐ↠ p + Q ( Q ⊆ q, ∀ e , e ∈ Q are pairwise concurrent. ) q Q [J ] ÐÐ↠
Q Q ⊈ pq + p Q [J ] ÐÐ↠ Q + p ( Q ⊆ q, ∀ e , e ∈ Q are pairwise concurrent. ) q Q [J ] ÐÐ↠ q ′ Q ⊈ pp + q Q [J ] ÐÐ↠ p + q ′ ( Q ⊆ q, ∀ e , e ∈ Q are pairwise concurrent. ) q Q [J ] ÐÐ↠ q ′ Q ⊈ pq + p Q [J ] ÐÐ↠ q ′ + p ( Q ⊆ q, ∀ e , e ∈ Q are pairwise concurrent. ) p P [K] ÐÐ↠ p ′ q P [K] ÐÐ↠ q ′ p + q P [K] ÐÐ↠ p ′ + q ′ ( P ⊆ p, P ⊆ q, ∀ e , e ∈ P are pairwise concurrent. ) p P [K] ÐÐ↠ p ′ q P [K] ÐÐ↠ q ′ q + p P [K] ÐÐ↠ q ′ + p ′ ( P ⊆ p, P ⊆ q, ∀ e , e ∈ P are pairwise concurrent. ) With the assumptions P [ K ] + q ∼ frs q + P [ K ] , P + q ∼ frs q + P , p + Q [ J ] ∼ frs Q [ J ] + p , p ′ + q ∼ frs q + p ′ , p + q ′ ∼ frs q ′ + p and p ′ + q ′ ∼ frs q ′ + p ′ so, p + q ∼ frs q + p , as desired. ● Axiom A
2. Let p, q, s be BRAT C processes, and ( p + q ) + s = p + ( q + s ) , it is sufficient to prove that ( p + q ) + s ∼ frs p + ( q + s ) . By the forward step transition rules for operator + in Table 7, we get p P Ð→ P [ K ] P ⊈ q P ⊈ s ( p + q ) + s P Ð→ ( P [ K ] + q ) + s ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ P [ K ] P ⊈ q P ⊈ sp + ( q + s ) P Ð→ P [ K ] + ( q + s ) ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ p ′ P ⊈ q P ⊈ s ( p + q ) + s P Ð→ ( p ′ + q ) + s ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) raft of An Algebra of Reversible Computation 23 p P Ð→ p ′ P ⊈ q P ⊈ sp + ( q + s ) P Ð→ p ′ + ( q + s ) ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) q Q Ð→ Q [ J ] Q ⊈ p Q ⊈ s ( p + q ) + s Q Ð→ ( p + Q [ J ]) + s ( Q ⊆ q, ∀ e , e ∈ Q are pairwise concurrent. ) q Q Ð→ Q [ J ] Q ⊈ p Q ⊈ sp + ( q + s ) Q Ð→ p + ( Q [ J ] + s ) ( Q ⊆ q, ∀ e , e ∈ Q are pairwise concurrent. ) q Q Ð→ q ′ Q ⊈ p Q ⊈ s ( p + q ) + s Q Ð→ ( p + q ′ ) + s ( Q ⊆ q, ∀ e , e ∈ Q are pairwise concurrent. ) q Q Ð→ q ′ Q ⊈ p Q ⊈ sp + ( q + s ) Q Ð→ p + ( q ′ + s ) ( Q ⊆ q, ∀ e , e ∈ Q are pairwise concurrent. ) s S Ð→ S [ I ] S ⊈ p S ⊈ q ( p + q ) + s S Ð→ ( p + q ) + S [ I ] ( S ⊆ s, ∀ e , e ∈ S are pairwise concurrent. ) s S Ð→ S [ I ] S ⊈ p S ⊈ qp + ( q + s ) S Ð→ p + ( q + S [ I ]) ( S ⊆ s, ∀ e , e ∈ S are pairwise concurrent. ) s S Ð→ s ′ S ⊈ p S ⊈ q ( p + q ) + s S Ð→ ( p + q ) + s ′ ( S ⊆ s, ∀ e , e ∈ S are pairwise concurrent. ) s S Ð→ s ′ S ⊈ p S ⊈ qp + ( q + s ) S Ð→ p + ( q + s ′ ) ( S ⊆ s, ∀ e , e ∈ S are pairwise concurrent. ) p P Ð→ p ′ q P Ð→ q ′ s P Ð→ s ′ ( p + q ) + s P Ð→ ( p ′ + q ′ ) + s ′ ( P ⊆ p, P ⊆ q, P ⊆ s, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ p ′ q P Ð→ q ′ s P Ð→ s ′ p + ( q + s ) P Ð→ p ′ + ( q ′ + s ′ ) ( P ⊆ p, P ⊆ q, P ⊆ s, ∀ e , e ∈ P are pairwise concurrent. ) By the reverse step transition rules for operator + in Table 8, we get p P [K] ÐÐ↠
P P ⊈ q P ⊈ s ( p + q ) + s P [K] ÐÐ↠ ( P + q ) + s ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P [K] ÐÐ↠
P P ⊈ q P ⊈ sp + ( q + s ) P [K] ÐÐ↠ P + ( q + s ) ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P [K] ÐÐ↠ p ′ P ⊈ q P ⊈ s ( p + q ) + s P [K] ÐÐ↠ ( p ′ + q ) + s ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P [K] ÐÐ↠ p ′ P ⊈ q P ⊈ sp + ( q + s ) P [K] ÐÐ↠ p ′ + ( q + s ) ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) q Q [J ] ÐÐ↠
Q Q ⊈ p Q ⊈ s ( p + q ) + s Q [J ] ÐÐ↠ ( p + Q ) + s ( Q ⊆ q, ∀ e , e ∈ Q are pairwise concurrent. ) q Q [J ] ÐÐ↠
Q Q ⊈ p Q ⊈ sp + ( q + s ) Q [J ] ÐÐ↠ p + ( Q + s ) ( Q ⊆ q, ∀ e , e ∈ Q are pairwise concurrent. ) q Q [J ] ÐÐ↠ q ′ Q ⊈ p Q ⊈ s ( p + q ) + s Q [J ] ÐÐÐ→ ( p + q ′ ) + s ( Q ⊆ q, ∀ e , e ∈ Q are pairwise concurrent. ) q Q [J ] ÐÐ↠ q ′ Q ⊈ p Q ⊈ sp + ( q + s ) Q [J ] ÐÐ↠ p + ( q ′ + s ) ( Q ⊆ q, ∀ e , e ∈ Q are pairwise concurrent. ) s S [I] ÐÐ↠
S S ⊈ p S ⊈ q ( p + q ) + s S [I] ÐÐ↠ ( p + q ) + S ( S ⊆ s, ∀ e , e ∈ S are pairwise concurrent. ) s S [I] ÐÐ↠
S S ⊈ p S ⊈ qp + ( q + s ) S [I] ÐÐ↠ p + ( q + S ) ( S ⊆ s, ∀ e , e ∈ S are pairwise concurrent. ) s S [I] ÐÐ↠ s ′ S ⊈ p S ⊈ q ( p + q ) + s S [I] ÐÐ↠ ( p + q ) + s ′ ( S ⊆ s, ∀ e , e ∈ S are pairwise concurrent. ) s S [I] ÐÐ↠ s ′ S ⊈ p S ⊈ qp + ( q + s ) S [I] ÐÐ↠ p + ( q + s ′ ) ( S ⊆ s, ∀ e , e ∈ S are pairwise concurrent. ) p P [K] ÐÐ↠ p ′ q P [K] ÐÐ↠ q ′ s P [K] ÐÐ↠ s ′ ( p + q ) + s P [K] ÐÐ↠ ( p ′ + q ′ ) + s ′ ( P ⊆ p, P ⊆ q, P ⊆ s, ∀ e , e ∈ P are pairwise concurrent. ) p P [K] ÐÐ↠ p ′ q P [K] ÐÐ↠ q ′ s P [K] ÐÐ↠ s ′ p + ( q + s ) P [K] ÐÐ↠ p ′ + ( q ′ + s ′ ) ( P ⊆ p, P ⊆ q, P ⊆ s, ∀ e , e ∈ P are pairwise concurrent. ) with the assumptions ( P [ K ] + q ) + s ∼ frs P [ K ] + ( q + s ) , ( P + q ) + s ∼ frs P + ( q + s ) , ( p + Q [ J ]) + s ∼ frs p + ( Q [ J ] + s ) , ( p + Q ) + s ∼ frs p + ( Q + s ) , ( p + q ) + S [ I ] ∼ frs p + ( q + S [ I ]) , ( p + q ) + S ∼ frs p + ( q + S ) , ( p ′ + q ) + s ∼ frs p ′ + ( q + s ) , ( p + q ′ ) + s ∼ frs p + ( q ′ + s ) , ( p + q ) + s ′ ∼ frs p + ( q + s ′ ) and ( p ′ + q ′ ) + s ′ ∼ frs p ′ + ( q ′ + s ′ ) so, ( p + q ) + s ∼ frs p + ( q + s ) , as desired. ● Axiom A
3. Let p be a BRAT C process, and p + p = p , it is sufficient to prove that p + p ∼ frs p . By theforward step transition rules for operator + in Table 7, we get p P Ð→ P [ K ] p + p P Ð→ P [ K ] + P [ K ] ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) raft of An Algebra of Reversible Computation 25 p P Ð→ P [ K ] p P Ð→ P [ K ] ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ p ′ p + p P Ð→ p ′ + p ′ ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ p ′ p P Ð→ p ′ ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) By the reverse step transition rules for operator + in Table 8, we get p P [K] ÐÐ↠ Pp + p P [K] ÐÐ↠ P + P ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P [K] ÐÐ↠ Pp P [K] ÐÐ↠ P ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P [K] ÐÐ↠ p ′ p + p P [K] ÐÐ↠ p ′ + p ′ ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P [K] ÐÐ↠ p ′ p P [K] ÐÐ↠ p ′ ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) with the assumptions P [ K ] + P [ K ] ∼ frs P [ K ] , P + P ∼ frs P and p ′ + p ′ ∼ frs p ′ , so, p + p ∼ frs p , as desired. ● Axiom A
4. Let p, q, s be BRAT C processes, and p ⋅ ( q + s ) = p ⋅ q + p ⋅ s ( Std ( p ) , Std ( q ) , Std ( s )) , it issufficient to prove that p ⋅ ( q + s ) ∼ frp p ⋅ q + p ⋅ s . By the pomset transition rules for operators + and ⋅ inTable 5, we get p P Ð→ P [ K ] p ⋅ ( q + s ) P Ð→ P [ K ] ⋅ ( q + s ) ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ P [ K ] p ⋅ q + p ⋅ s P Ð→ P [ K ] ⋅ q + P [ K ] ⋅ s ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ p ′ p ⋅ ( q + s ) P Ð→ p ′ ⋅ ( q + s ) ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ p ′ p ⋅ q + p ⋅ s P Ð→ p ′ ⋅ q + p ′ ⋅ s ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) By the reverse transition rules for operators + and ⋅ in Table 6, there are no transitions.with the assumptions P [ K ] ⋅ ( q + s ) ∼ frp P [ K ] ⋅ q + P [ K ] ⋅ s , p ′ ⋅ ( q + s ) ∼ frp p ′ ⋅ q + p ′ ⋅ s , so, p ⋅ ( q + s ) ∼ frp p ⋅ q + p ⋅ s ( Std ( p ) , Std ( q ) , Std ( s )) , as desired. ● Axiom RA
4. Let p, q, s be BRAT C processes, and ( q + s ) ⋅ p = q ⋅ p + s ⋅ p ( NStd ( p ) , NStd ( q ) , NStd ( s )) , itis sufficient to prove that ( q + s ) ⋅ p ∼ frp q ⋅ p + s ⋅ p . By the pomset transition rules for operators + and ⋅ inTable 5, there are no transitions.By the reverse transition rules for operators + and ⋅ in Table 6, we get p P [K] ÐÐ↠ P ( q + s ) ⋅ p P [K] ÐÐ↠ ( q + s ) ⋅ P ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P [K] ÐÐ↠ Pq ⋅ p + s ⋅ p P [K] ÐÐ↠ q ⋅ P + s ⋅ P ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P [K] ÐÐ↠ p ′ ( q + s ) ⋅ p P [K] ÐÐ↠ ( q + s ) ⋅ p ′ ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P [K] ÐÐ↠ p ′ q ⋅ p + s ⋅ p P [K] ÐÐ↠ q ⋅ p ′ + s ⋅ p ′ ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) with the assumptions ( q + s ) ⋅ P ∼ frp q ⋅ P + s ⋅ P , ( q + s ) ⋅ p ′ ∼ frp q ⋅ p ′ + s ⋅ p ′ , so, ( q + s ) ⋅ p ∼ frp q ⋅ p + s ⋅ p ( NStd ( p ) , NStd ( q ) , NStd ( s )) , as desired. ● Axiom A
5. Let p, q, s be BRAT C processes, and ( p ⋅ q ) ⋅ s = p ⋅ ( q ⋅ s ) , it is sufficient to prove that ( p ⋅ q ) ⋅ s ∼ frs p ⋅ ( q ⋅ s ) . By the forward step transition rules for operator ⋅ in Table 7, we get p P Ð→ P [ K ]( p ⋅ q ) ⋅ s P Ð→ ( P [ K ] ⋅ q ) ⋅ s ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ P [ K ] p ⋅ ( q ⋅ s ) P Ð→ P [ K ] ⋅ ( q ⋅ s ) ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ p ′ ( p ⋅ q ) ⋅ s P Ð→ ( p ′ ⋅ q ) ⋅ s ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) p P Ð→ p ′ p ⋅ ( q ⋅ s ) P Ð→ p ′ ⋅ ( q ⋅ s ) ( P ⊆ p, ∀ e , e ∈ P are pairwise concurrent. ) By the reverse step transition rules for operator ⋅ in Table 8, we get s S [I] ÐÐ↠ S ( p ⋅ q ) ⋅ s S [I] ÐÐ↠ ( p ⋅ q ) ⋅ S ( S ⊆ s, ∀ e , e ∈ S are pairwise concurrent. ) s S [I] ÐÐ↠ Sp ⋅ ( q ⋅ s ) S [I] ÐÐ↠ p ⋅ ( q ⋅ S ) ( S ⊆ s, ∀ e , e ∈ S are pairwise concurrent. ) s S [I] ÐÐ↠ s ′ ( p ⋅ q ) ⋅ s S [I] ÐÐ↠ ( p ⋅ q ) ⋅ s ′ ( S ⊆ s, ∀ e , e ∈ S are pairwise concurrent. ) s S [I] ÐÐ↠ s ′ p ⋅ ( q ⋅ s ) S [I] ÐÐ↠ p ⋅ ( q ⋅ s ′ ) ( S ⊆ s, ∀ e , e ∈ S are pairwise concurrent. ) With assumptions ( P [ K ] ⋅ q ) ⋅ s ∼ frs P [ K ] ⋅ ( q ⋅ s ) , ( p ′ ⋅ q ) ⋅ s ∼ frs p ′ ⋅ ( q ⋅ s ) , ( p ⋅ q ) ⋅ S ∼ frs p ⋅ ( q ⋅ S ) , ( p ⋅ q ) ⋅ s ′ ∼ frs p ⋅ ( q ⋅ s ′ ) , so, ( p ⋅ q ) ⋅ s ∼ frs p ⋅ ( q ⋅ s ) , as desired. raft of An Algebra of Reversible Computation 27 The transition rules for FR (hereditary) hp-bisimulation of
BRAT C are the same as single event transitionrules in Table 3.
Theorem 4.8 (Congruence of
BRAT C with respect to FR hp-bisimulation equivalence) . FR hp-bisimulationequivalence ∼ frhp is a congruence with respect to BRAT C .Proof.
It is easy to see that FR history-preserving bisimulation is an equivalent relation on
BRAT C terms,we only need to prove that ∼ frhp is preserved by the operators ⋅ and + . ● Causality operator ⋅ . Let x , x and y , y be BRAT C processes, and x ∼ frhp y , x ∼ frhp y , it is sufficientto prove that x ⋅ x ∼ frhp y ⋅ y .By the definition of FR hp-bisimulation ∼ frhp (Definition 3.5), x ∼ frhp y means that there is a posetalrelation ( C ( x ) , f, C ( y )) ∈∼ frhp , and x e Ð→ x ′ y e Ð→ y ′ x e [ m ] ÐÐÐÐ↠ x ′ y e [ m ] ÐÐÐÐ↠ y ′ with ( C ( x ′ ) , f [ e ↦ e ] , C ( y ′ )) ∈∼ frhp . The meaning of x ∼ frhp y is similar.By the FR hp-transition rules for causality operator ⋅ in Table 3 and Table 4, we can get x ⋅ x e Ð→ e [ m ] ⋅ x y ⋅ y e Ð→ e [ n ] ⋅ y x ⋅ x e ′ [ m ÐÐ↠ x ⋅ e ′ y ⋅ y e ′ [ n ÐÐ↠ y ⋅ e ′ with the assumptions ( C ( e [ m ] ⋅ x ) , f [ e ↦ e ] , C ( e [ n ] ⋅ y )) ∈∼ frhp and ( C ( x ⋅ e ′ ) , f [ e ′ ↦ e ′ ] , C ( y ⋅ e ′ )) ∈∼ frhp , so, we get x ⋅ x ∼ frhp y ⋅ y , as desired.Or, we can get x ⋅ x e Ð→ x ′ ⋅ x y ⋅ y e Ð→ y ′ ⋅ y x ⋅ x e ′ [ m ] ÐÐÐÐ↠ x ⋅ x ′ y ⋅ y e ′ [ n ] ÐÐ↠ y ⋅ y ′ with the assumptions ( C ( x ′ ⋅ x ) , f [ e ↦ e ] , C ( y ′ ⋅ y )) ∈∼ frhp and ( C ( x ⋅ x ′ ) , f [ e ′ ↦ e ′ ] , C ( y ⋅ y ′ )) ∈∼ frhp ,so, we get x ⋅ x ∼ frhp y ⋅ y , as desired. ● Conflict operator + . Let x , x and y , y be BRAT C processes, and x ∼ frhp y , x ∼ frhp y , it is sufficientto prove that x + x ∼ frhp y + y . The meanings of x ∼ frhp y and x ∼ frhp y are the same as the abovecase, according to the definition of FR hp-bisimulation ∼ frhp in Definition 3.5.By the FR hp-transition rules for conflict operator + in Table 3 and Table 4, we can get several cases: x + x e Ð→ e [ m ] + x y + y e Ð→ e [ n ] + y x + x e [ m ] ÐÐÐÐ↠ e + x y + y e [ n ] ÐÐ↠ e + y with the assumptions ( C ( e [ m ] + x ) , f [ e ↦ e ] , C ( e [ n ] + y )) ∈∼ frhp and ( C ( e + x ) , f [ e ↦ e ] , C ( e + y )) ∈∼ frhp , so, we get x + x ∼ frhp y + y , as desired.Or, we can get x + x e Ð→ x ′ + x y + y e Ð→ y ′ + y x + x e [ m ] ÐÐÐÐ↠ x ′ + x y + y e [ n ] ÐÐ↠ y ′ + y with the assumptions ( C ( x ′ + x ) , f [ e ↦ e ] , C ( y ′ + y )) ∈∼ frhp , so, we get x + x ∼ frhp y + y , as desired.Or, we can get x + x e ′ Ð→ x + e ′ [ m ] y + y e ′ Ð→ y + e ′ [ n ] x + x e ′ [ m ] ÐÐÐ→ x + e ′ y + y e ′ [ n ] ÐÐÐ→ y + e ′ with the assumptions ( C ( x + e ′ [ m ]) , f [ e ′ ↦ e ′ ] , C ( y + e ′ [ n ])) ∈∼ frhp and ( C ( x + e ′ ) , f [ e ′ ↦ e ′ ] , C ( y + e ′ )) ∈∼ frhp , so, we get x + x ∼ frhp y + y , as desired.Or, we can get x + x e ′ Ð→ x + x ′ y + y e ′ Ð→ y + y ′ x + x e ′ [ m ] ÐÐÐÐ↠ x + x ′ y + y e ′ [ n ] ÐÐ↠ y + y ′ with the assumptions ( C ( x + x ′ ) , f [ e ′ ↦ e ′ ] , C ( y + y ′ )) ∈∼ frhp , so, we get x + x ∼ frhp y + y , as desired.Or, we can get x + x e Ð→ x ′ + x ′ y + y e Ð→ y ′ + y ′ x + x e [ m ] ÐÐÐÐ↠ x ′ + x ′ y + y e [ n ] ÐÐ↠ y ′ + y ′ with the assumptions ( C ( x ′ + x ′ ) , f [ e ↦ e ] , C ( y ′ + y ′ )) ∈∼ frhp , so, we get x + x ∼ frhp y + y , as desired. Theorem 4.9 (Soundness of
BRAT C modulo FR hp-bisimulation equivalence) . Let x and y be BRAT C terms. If
BRAT C ⊢ x = y , then x ∼ frhp y .Proof. Since FR hp-bisimulation ∼ frhp is both an equivalent and a congruent relation, we only need to checkif each axiom in Table 1 is sound modulo FR hp-bisimulation equivalence. ● Axiom A
1. Let p, q be BRAT C processes, and p + q = q + p , it is sufficient to prove that p + q ∼ frhp q + p .By the forward hp-transition rules for operator + in Table 3, we get p e Ð→ e [ m ] p + q e Ð→ e [ m ] + q ( e ∈ p, e ∉ q ) p e Ð→ e [ m ] q + p e Ð→ q + e [ m ] ( e ∈ p, e ∉ q ) p e Ð→ p ′ p + q e Ð→ p ′ + q ( e ∈ p, e ∉ q ) p e Ð→ p ′ q + p e Ð→ q + p ′ ( e ∈ p, e ∉ q ) q e Ð→ e [ n ] p + q e Ð→ p + e [ n ] ( e ∈ q, e ∉ p ) q e Ð→ e [ n ] q + p e Ð→ e [ n ] + p ( e ∈ q, e ∉ p ) q e Ð→ q ′ p + q e Ð→ p + q ′ ( e ∈ q, e ∉ p ) q e Ð→ q ′ q + p e Ð→ q ′ + p ( e ∈ q, e ∉ p ) raft of An Algebra of Reversible Computation 29 p e Ð→ p ′ q e Ð→ q ′ p + q e Ð→ p ′ + q ′ ( e ∈ p, e ∈ q ) p e Ð→ p ′ q e Ð→ q ′ q + p e Ð→ q ′ + p ′ ( e ∈ p, e ∈ q ) By the reverse hp-transition rules for operator + in Table 4, we get p e [ m ] ÐÐÐÐ↠ e e ∉ qp + q e [ m ] ÐÐÐ→ e + q ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ e e ∉ qq + p e [ m ] ÐÐÐÐ↠ q + e ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ e ∉ qp + q e [ m ] ÐÐÐÐ↠ p ′ + q ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ e ∉ qq + p e [ m ] ÐÐÐÐ↠ q + p ′ ( e ∈ p ) q e [ n ] ÐÐ↠ e e ∉ pp + q e [ n ] ÐÐ↠ p + e ( e ∈ q ) q e [ n ] ÐÐ↠ e e ∉ pq + p e [ n ] ÐÐ↠ e + p ( e ∈ q ) q e [ n ] ÐÐ↠ q ′ e ∉ pp + q e [ n ] ÐÐ↠ p + q ′ ( e ∈ q ) q e [ n ] ÐÐ↠ q ′ e ∉ pq + p e [ n ] ÐÐ↠ q ′ + p ( e ∈ q ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ p + q e [ m ] ÐÐÐÐ↠ p ′ + q ′ ( e ∈ p, e ∈ q ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ q + p e [ m ] ÐÐÐÐ↠ q ′ + p ′ ( e ∈ p, e ∈ q ) With the assumptions ( C ( e [ m ] + q ) , f [ e ↦ e ] , C ( q + e [ m ])) ∈∼ frhp , C (( e + q ) , f [ e ↦ e ] , C ( q + e )) ∈∼ frhp , ( C ( p + e [ n ]) , f [ e ↦ e ] , C ( e [ n ] + p )) ∈∼ frhp , ( C ( p ′ + q ) , f [ e ↦ e ] , C ( q + p ′ )) ∈∼ frhp , ( C ( p + q ′ ) , f [ e ↦ e ] , C ( q ′ + p )) ∈∼ frhp and ( C ( p ′ + q ′ ) , f [ e ↦ e ] , C ( q ′ + p ′ )) ∈∼ frhp so, p + q ∼ frhp q + p , as desired. ● Axiom A
2. Let p, q, s be BRAT C processes, and ( p + q ) + s = p + ( q + s ) , it is sufficient to prove that ( p + q ) + s ∼ frhp p + ( q + s ) . By the forward hp- transition rules for operator + in Table 3, we get p e Ð→ e [ m ] e ∉ q e ∉ s ( p + q ) + s e Ð→ ( e [ m ] + q ) + s ( e ∈ p ) p e Ð→ e [ m ] e ∉ q e ∉ sp + ( q + s ) e Ð→ e [ m ] + ( q + s ) ( e ∈ p ) p e Ð→ p ′ e ∉ q e ∉ s ( p + q ) + s e Ð→ ( p ′ + q ) + s ( e ∈ p ) p e Ð→ p ′ e ∉ q e ∉ sp + ( q + s ) e Ð→ p ′ + ( q + s ) ( e ∈ p ) q e Ð→ e [ n ] e ∉ p e ∉ s ( p + q ) + s e Ð→ ( p + e [ n ]) + s ( e ∈ q ) q e Ð→ e [ n ] e ∉ p e ∉ sp + ( q + s ) e Ð→ e + ( e [ n ] + s ) ( e ∈ q ) q e Ð→ q ′ e ∉ p e ∉ s ( p + q ) + s e Ð→ ( p + q ′ ) + s ( e ∈ q ) q e Ð→ q ′ e ∉ p e ∉ sp + ( q + s ) e Ð→ p + ( q ′ + s ) ( e ∈ q ) s e Ð→ e [ l ] e ∉ p e ∉ q ( p + q ) + s e Ð→ ( p + q ) + e [ l ] ( e ∈ s ) s e Ð→ e [ l ] e ∉ p e ∉ qp + ( q + s ) e Ð→ p + ( q + e [ l ]) ( e ∈ s ) s e Ð→ s ′ e ∉ p e ∉ q ( p + q ) + s e Ð→ ( p + q ) + s ′ ( e ∈ s ) s e Ð→ s ′ e ∉ p e ∉ qp + ( q + s ) e Ð→ p + ( q + s ′ ) ( e ∈ s ) p e Ð→ p ′ q e Ð→ q ′ s e Ð→ s ′ ( p + q ) + s e Ð→ ( p ′ + q ′ ) + s ′ ( e ∈ p, e ∈ q, e ∈ s ) p e Ð→ p ′ q e Ð→ q ′ s e Ð→ s ′ p + ( q + s ) e Ð→ p ′ + ( q ′ + s ′ ) ( e ∈ p, e ∈ q, e ∈ s ) By the reverse hp-transition rules for operator + in Table 4, we get p e [ m ] ÐÐÐÐ↠ e e ∉ q e ∉ s ( p + q ) + s e [ m ] ÐÐÐÐ↠ ( e + q ) + s ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ e e ∉ q e ∉ sp + ( q + s ) e [ m ] ÐÐÐÐ↠ e + ( q + s ) ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ e ∉ q e ∉ s ( p + q ) + s e [ m ] ÐÐÐÐ↠ ( p ′ + q ) + s ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ e ∉ q e ∉ sp + ( q + s ) e [ m ] ÐÐÐÐ↠ p ′ + ( q + s ) ( e ∈ p ) q e [ n ] ÐÐ↠ e e ∉ p e ∉ s ( p + q ) + s e [ n ] ÐÐ↠ ( p + e ) + s ( e ∈ q ) q e [ n ] ÐÐ↠ e e ∉ p e ∉ sp + ( q + s ) e [ n ] ÐÐ↠ p + ( e + s ) ( e ∈ q ) q e [ n ] ÐÐ↠ q ′ e ∉ p e ∉ s ( p + q ) + s e [ n ] ÐÐÐ→ ( p + q ′ ) + s ( e ∈ q ) q e [ n ] ÐÐ↠ q ′ e ∉ p e ∉ sp + ( q + s ) e [ n ] ÐÐ↠ p + ( q ′ + s ) ( e ∈ q ) s e [ l ] ÐÐ↠ e e ∉ p e ∉ q ( p + q ) + s e [ l ] ÐÐ↠ ( p + q ) + e ( e ∈ s ) s e [ l ] ÐÐ↠ e e ∉ p e ∉ qp + ( q + s ) e [ l ] ÐÐ↠ p + ( q + e ) ( e ∈ s ) s e [ l ] ÐÐ↠ s ′ e ∉ p e ∉ q ( p + q ) + s e [ l ] ÐÐ↠ ( p + q ) + s ′ ( e ∈ s ) s e [ l ] ÐÐ↠ s ′ e ∉ p e ∉ qp + ( q + s ) e [ l ] ÐÐ↠ p + ( q + s ′ ) ( e ∈ s ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ s e [ m ] ÐÐÐÐ↠ s ′ ( p + q ) + s e [ m ] ÐÐÐÐ↠ ( p ′ + q ′ ) + s ′ ( e ∈ p, e ∈ q, e ∈ s ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ s e [ m ] ÐÐÐÐ↠ s ′ p + ( q + s ) e [ m ] ÐÐÐÐ↠ p ′ + ( q ′ + s ′ ) ( e ∈ p, e ∈ q, e ∈ s ) with the assumptions ( C (( e [ m ] + q ) + s ) , f [ e ↦ e ] , C ( e [ m ] + ( q + s ))) ∈∼ frhp , ( C (( e + q ) + s ) , f [ e ↦ e ] , C ( e + ( q + s ))) ∈∼ frhp , ( C (( p + e [ n ]) + s ) , f [ e ↦ e ] , C ( p + ( e [ n ] + s ))) ∈∼ frhp , ( C (( p + e ) + s ) , f [ e ↦ e ] , C ( p + ( e + s ))) ∈∼ frhp , ( C (( p + q ) + e [ l ]) , f [ e ↦ e ] , C ( p + ( q + e [ l ]))) ∈∼ frhp , ( C (( p + q ) + e ∼ frhp p + ( q + e ) , ( p ′ + q ) + s ∼ frhp p ′ + ( q + s ) , ( C (( p + q ′ ) + s ) , f [ e ↦ e ] , C ( p + ( q ′ + s ))) ∈∼ frhp , ( C (( p + q ) + s ′ ) , f [ e ↦ e ] , C ( p + ( q + s ′ ))) ∈∼ frhp and ( C (( p ′ + q ′ ) + s ′ ) , f [ e ↦ e ] , C ( p ′ + ( q ′ + s ′ ))) ∈∼ frhp so, ( p + q ) + s ∼ frhp p + ( q + s ) ,as desired. ● Axiom A
3. Let p be a BRAT C process, and p + p = p , it is sufficient to prove that p + p ∼ frhp p . By theforward hp-transition rules for operator + in Table 3, we get p e Ð→ e [ m ] p + p e Ð→ e [ m ] + e [ m ] ( e ∈ p ) p e Ð→ e [ m ] p e Ð→ e [ m ] ( e ∈ p ) p e Ð→ p ′ p + p e Ð→ p ′ + p ′ ( e ∈ p ) p e Ð→ p ′ p e Ð→ p ′ ( e ∈ p ) By the reverse hp-transition rules for operator + in Table 4, we get p e [ m ] ÐÐÐÐ↠ e p + p e [ m ] ÐÐÐÐ↠ e + e ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ e p e [ m ] ÐÐÐÐ↠ e ( e ∈ p ) raft of An Algebra of Reversible Computation 31 p e [ m ] ÐÐÐÐ↠ p ′ p + p e [ m ] ÐÐÐÐ↠ p ′ + p ′ ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ p e [ m ] ÐÐÐÐ↠ p ′ ( e ∈ p ) with the assumptions ( C ( e [ m ] + e [ m ]) , f [ e ↦ e ] , C ( e [ m ])) ∈∼ frhp , ( C ( e + e ) , f [ e ↦ e ] , C ( e )) ∈∼ frhp and ( C ( p ′ + p ′ ) , f [ e ↦ e ] , C ( p ′ )) ∈∼ frhp , so, p + p ∼ frhp p , as desired. ● Axiom A
4. Let p, q, s be BRAT C processes, and p ⋅ ( q + s ) = p ⋅ q + p ⋅ s ( Std ( p ) , Std ( q ) , Std ( s )) , it issufficient to prove that p ⋅ ( q + s ) ∼ frhp p ⋅ q + p ⋅ s . By the hp-transition rules for operators + and ⋅ in Table3, we get p e Ð→ e [ m ] p ⋅ ( q + s ) e Ð→ e [ m ] ⋅ ( q + s ) ( e ∈ p ) p e Ð→ e [ m ] p ⋅ q + p ⋅ s e Ð→ e [ m ] ⋅ q + e [ m ] ⋅ s ( e ∈ p ) p e Ð→ p ′ p ⋅ ( q + s ) e Ð→ p ′ ⋅ ( q + s ) ( e ∈ p ) p e Ð→ p ′ p ⋅ q + p ⋅ s e Ð→ p ′ ⋅ q + p ′ ⋅ s ( e ∈ p ) By the reverse transition rules for operators + and ⋅ in Table 4, there are no transition rules.with the assumptions ( C ( e [ m ] ⋅ ( q + s )) , f [ e ↦ e ] , C ( e [ m ] ⋅ q + e [ m ] ⋅ s )) ∈∼ frhp , ( C ( p ′ ⋅ ( q + s )) , f [ e ↦ e ] , C ( p ′ ⋅ q + p ′ ⋅ s )) ∈∼ frhp , so, p ⋅ ( q + s ) ∼ frhp p ⋅ q + p ⋅ s ( Std ( p ) , Std ( q ) , Std ( s )) , as desired. ● Axiom RA
4. Let p, q, s be BRAT C processes, and ( q + s ) ⋅ p = q ⋅ p + s ⋅ p ( NStd ( p ) , NStd ( q ) , NStd ( s )) ,it is sufficient to prove that ( q + s ) ⋅ p ∼ frhp q ⋅ p + s ⋅ p . By the hp-transition rules for operators + and ⋅ inTable 3, there are no transition rules.By the reverse transition rules for operators + and ⋅ in Table 4, we get p e [ m ] ÐÐÐÐ↠ e ( q + s ) ⋅ p e [ m ] ÐÐÐÐ↠ ( q + s ) ⋅ e ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ e q ⋅ p + s ⋅ p e [ m ] ÐÐÐÐ↠ q ⋅ e + s ⋅ e ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ ( q + s ) ⋅ p e [ m ] ÐÐÐÐ↠ ( q + s ⋅ p ′ ) ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ q ⋅ p + s ⋅ p e [ m ] ÐÐÐÐ↠ q ⋅ p ′ + s ⋅ p ′ ( e ∈ p ) with the assumptions ( C (( q + s ) ⋅ e ) , f [ e ↦ e ] , C ( q ⋅ e + s ⋅ e )) ∈∼ frhp , ( C (( q + s ) ⋅ p ′ ) , f [ e ↦ e ] , C ( q ⋅ p ′ + s ⋅ p ′ )) ∈∼ frhp , so, ( q + s ) ⋅ p ∼ frhp q ⋅ p + s ⋅ p ( NStd ( p ) , NStd ( q ) , NStd ( s )) , as desired. ● Axiom A
5. Let p, q, s be BRAT C processes, and ( p ⋅ q ) ⋅ s = p ⋅ ( q ⋅ s ) , it is sufficient to prove that ( p ⋅ q ) ⋅ s ∼ frhp p ⋅ ( q ⋅ s ) . By the forward hp-transition rules for operator ⋅ in Table 3, we get p e Ð→ e [ m ]( p ⋅ q ) ⋅ s e Ð→ ( e [ m ] ⋅ q ) ⋅ s ( e ∈ p ) p e Ð→ e [ m ] p ⋅ ( q ⋅ s ) e Ð→ e [ m ] ⋅ ( q ⋅ s ) ( e ∈ p ) p e Ð→ p ′ ( p ⋅ q ) ⋅ s e Ð→ ( p ′ ⋅ q ) ⋅ s ( e ∈ p ) p e Ð→ p ′ p ⋅ ( q ⋅ s ) e Ð→ p ′ ⋅ ( q ⋅ s ) ( e ∈ p ) By the reverse hp-transition rules for operator ⋅ in Table 4, we get s e [ l ] ÐÐ↠ e ( p ⋅ q ) ⋅ s e [ l ] ÐÐ↠ ( p ⋅ q ) ⋅ e ( e ∈ s ) s e [ l ] ÐÐ↠ e p ⋅ ( q ⋅ s ) e [ l ] ÐÐ↠ p ⋅ ( q ⋅ e ) ( e ∈ s ) s e [ l ] ÐÐ↠ s ′ ( p ⋅ q ) ⋅ s e [ l ] ÐÐ↠ ( p ⋅ q ) ⋅ s ′ ( e ∈ s ) s e [ l ] ÐÐ↠ s ′ p ⋅ ( q ⋅ s ) e [ l ] ÐÐ↠ p ⋅ ( q ⋅ s ′ ) ( e ∈ s ) With assumptions ( C (( e [ m ] ⋅ q ) ⋅ s ) , f [ e ↦ e ] , C ( e [ m ] ⋅ ( q ⋅ s ))) ∈∼ frhp , ( C (( p ′ ⋅ q ) ⋅ s ) , f [ e ↦ e ] , C ( p ′ ⋅ ( q ⋅ s ))) ∈∼ frhp , ( C (( p ⋅ q ) ⋅ e ) , f [ e ↦ e ] , C ( p ⋅ ( q ⋅ e ))) ∈∼ frhp , ( C (( p ⋅ q ) ⋅ s ′ ) , f [ e ↦ e ] , C ( p ⋅ ( q ⋅ s ′ ))) ∈∼ frhp ,so, ( p ⋅ q ) ⋅ s ∼ frhp p ⋅ ( q ⋅ s ) , as desired. Theorem 4.10 (Congruence of
BRAT C with respect to FR hhp-bisimulation equivalence) . FR hhp-bisimulation equivalence ∼ frhhp is a congruence with respect to BRAT C .Proof.
It is easy to see that FR hhp-bisimulation is an equivalent relation on
BRAT C terms, we only needto prove that ∼ frhhp is preserved by the operators ⋅ and + . ● Causality operator ⋅ . Let x , x and y , y be BRAT C processes, and x ∼ frhhp y , x ∼ frhhp y , it is sufficientto prove that x ⋅ x ∼ frhhp y ⋅ y .By the definition of FR hhp-bisimulation ∼ frhhp (Definition 3.5), x ∼ frhhp y means that there is a posetalrelation ( C ( x ) , f, C ( y )) ∈∼ frhhp , and x e Ð→ x ′ y e Ð→ y ′ x e [ m ] ÐÐÐÐ↠ x ′ y e [ m ] ÐÐÐÐ↠ y ′ with ( C ( x ′ ) , f [ e ↦ e ] , C ( y ′ )) ∈∼ frhhp . The meaning of x ∼ frhhp y is similar.By the FR hhp-transition rules for causality operator ⋅ in Table 3 and Table 4, we can get x ⋅ x e Ð→ e [ m ] ⋅ x y ⋅ y e Ð→ e [ n ] ⋅ y x ⋅ x e ′ [ m ÐÐ↠ x ⋅ e ′ y ⋅ y e ′ [ n ÐÐ↠ y ⋅ e ′ with the assumptions ( C ( e [ m ] ⋅ x ) , f [ e ↦ e ] , C ( e [ n ] ⋅ y )) ∈∼ frhhp and ( C ( x ⋅ e ′ ) , f [ e ′ ↦ e ′ ] , C ( y ⋅ e ′ )) ∈∼ frhhp , so, we get x ⋅ x ∼ frhhp y ⋅ y , as desired.Or, we can get x ⋅ x e Ð→ x ′ ⋅ x y ⋅ y e Ð→ y ′ ⋅ y x ⋅ x e ′ [ m ] ÐÐÐÐ↠ x ⋅ x ′ y ⋅ y e ′ [ n ] ÐÐ↠ y ⋅ y ′ with the assumptions ( C ( x ′ ⋅ x ) , f [ e ↦ e ] , C ( y ′ ⋅ y )) ∈∼ frhhp and ( C ( x ⋅ x ′ ) , f [ e ′ ↦ e ′ ] , C ( y ⋅ y ′ )) ∈∼ frhhp ,so, we get x ⋅ x ∼ frhhp y ⋅ y , as desired. ● Conflict operator + . Let x , x and y , y be BRAT C processes, and x ∼ frhhp y , x ∼ frhhp y , it is sufficientto prove that x + x ∼ frhhp y + y . The meanings of x ∼ frhhp y and x ∼ frhhp y are the same as the abovecase, according to the definition of FR hhp-bisimulation ∼ frhp in Definition 3.5.By the FR hhp-transition rules for conflict operator + in Table 3 and Table 4, we can get several cases: x + x e Ð→ e [ m ] + x y + y e Ð→ e [ n ] + y raft of An Algebra of Reversible Computation 33 x + x e [ m ] ÐÐÐÐ↠ e + x y + y e [ n ] ÐÐ↠ e + y with the assumptions ( C ( e [ m ] + x ) , f [ e ↦ e ] , C ( e [ n ] + y )) ∈∼ frhhp and ( C ( e + x ) , f [ e ↦ e ] , C ( e + y )) ∈∼ frhhp , so, we get x + x ∼ frhhp y + y , as desired.Or, we can get x + x e Ð→ x ′ + x y + y e Ð→ y ′ + y x + x e [ m ] ÐÐÐÐ↠ x ′ + x y + y e [ n ] ÐÐ↠ y ′ + y with the assumptions ( C ( x ′ + x ) , f [ e ↦ e ] , C ( y ′ + y )) ∈∼ frhhp , so, we get x + x ∼ frhhp y + y , as desired.Or, we can get x + x e ′ Ð→ x + e ′ [ m ] y + y e ′ Ð→ y + e ′ [ n ] x + x e ′ [ m ] ÐÐÐ→ x + e ′ y + y e ′ [ n ] ÐÐÐ→ y + e ′ with the assumptions ( C ( x + e ′ [ m ]) , f [ e ′ ↦ e ′ ] , C ( y + e ′ [ n ])) ∈∼ frhhp and ( C ( x + e ′ ) , f [ e ′ ↦ e ′ ] , C ( y + e ′ )) ∈∼ frhhp , so, we get x + x ∼ frhhp y + y , as desired.Or, we can get x + x e ′ Ð→ x + x ′ y + y e ′ Ð→ y + y ′ x + x e ′ [ m ] ÐÐÐÐ↠ x + x ′ y + y e ′ [ n ] ÐÐ↠ y + y ′ with the assumptions ( C ( x + x ′ ) , f [ e ′ ↦ e ′ ] , C ( y + y ′ )) ∈∼ frhhp , so, we get x + x ∼ frhhp y + y , as desired.Or, we can get x + x e Ð→ x ′ + x ′ y + y e Ð→ y ′ + y ′ x + x e [ m ] ÐÐÐÐ↠ x ′ + x ′ y + y e [ n ] ÐÐ↠ y ′ + y ′ with the assumptions ( C ( x ′ + x ′ ) , f [ e ↦ e ] , C ( y ′ + y ′ )) ∈∼ frhhp , so, we get x + x ∼ frhhp y + y , as desired. Theorem 4.11 (Soundness of
BRAT C modulo FR hhp-bisimulation equivalence) . Let x and y be BRAT C terms. If
BRAT C ⊢ x = y , then x ∼ frhhp y .Proof. Since FR hhp-bisimulation ∼ frhhp is both an equivalent and a congruent relation, we only need to checkif each axiom in Table 1 is sound modulo FR hhp-bisimulation equivalence. ● Axiom A
1. Let p, q be BRAT C processes, and p + q = q + p , it is sufficient to prove that p + q ∼ frhhp q + p .By the forward hhp-transition rules for operator + in Table 3, we get p e Ð→ e [ m ] p + q e Ð→ e [ m ] + q ( e ∈ p, e ∉ q ) p e Ð→ e [ m ] q + p e Ð→ q + e [ m ] ( e ∈ p, e ∉ q ) p e Ð→ p ′ p + q e Ð→ p ′ + q ( e ∈ p, e ∉ q ) p e Ð→ p ′ q + p e Ð→ q + p ′ ( e ∈ p, e ∉ q ) q e Ð→ e [ n ] p + q e Ð→ p + e [ n ] ( e ∈ q, e ∉ p ) q e Ð→ e [ n ] q + p e Ð→ e [ n ] + p ( e ∈ q, e ∉ p ) q e Ð→ q ′ p + q e Ð→ p + q ′ ( e ∈ q, e ∉ p ) q e Ð→ q ′ q + p e Ð→ q ′ + p ( e ∈ q, e ∉ p ) p e Ð→ p ′ q e Ð→ q ′ p + q e Ð→ p ′ + q ′ ( e ∈ p, e ∈ q ) p e Ð→ p ′ q e Ð→ q ′ q + p e Ð→ q ′ + p ′ ( e ∈ p, e ∈ q ) By the reverse hhp-transition rules for operator + in Table 4, we get p e [ m ] ÐÐÐÐ↠ e e ∉ qp + q e [ m ] ÐÐÐ→ e + q ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ e e ∉ qq + p e [ m ] ÐÐÐÐ↠ q + e ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ e ∉ qp + q e [ m ] ÐÐÐÐ↠ p ′ + q ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ e ∉ qq + p e [ m ] ÐÐÐÐ↠ q + p ′ ( e ∈ p ) q e [ n ] ÐÐ↠ e e ∉ pp + q e [ n ] ÐÐ↠ p + e ( e ∈ q ) q e [ n ] ÐÐ↠ e e ∉ pq + p e [ n ] ÐÐ↠ e + p ( e ∈ q ) q e [ n ] ÐÐ↠ q ′ e ∉ pp + q e [ n ] ÐÐ↠ p + q ′ ( e ∈ q ) q e [ n ] ÐÐ↠ q ′ e ∉ pq + p e [ n ] ÐÐ↠ q ′ + p ( e ∈ q ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ p + q e [ m ] ÐÐÐÐ↠ p ′ + q ′ ( e ∈ p, e ∈ q ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ q + p e [ m ] ÐÐÐÐ↠ q ′ + p ′ ( e ∈ p, e ∈ q ) With the assumptions ( C ( e [ m ] + q ) , f [ e ↦ e ] , C ( q + e [ m ])) ∈∼ frhhp , C (( e + q ) , f [ e ↦ e ] , C ( q + e )) ∈∼ frhhp , ( C ( p + e [ n ]) , f [ e ↦ e ] , C ( e [ n ] + p )) ∈∼ frhhp , ( C ( p ′ + q ) , f [ e ↦ e ] , C ( q + p ′ )) ∈∼ frhhp , ( C ( p + q ′ ) , f [ e ↦ e ] , C ( q ′ + p )) ∈∼ frhhp and ( C ( p ′ + q ′ ) , f [ e ↦ e ] , C ( q ′ + p ′ )) ∈∼ frhhp so, p + q ∼ frhhp q + p , as desired. ● Axiom A
2. Let p, q, s be BRAT C processes, and ( p + q ) + s = p + ( q + s ) , it is sufficient to prove that ( p + q ) + s ∼ frhhp p + ( q + s ) . By the forward hhp- transition rules for operator + in Table 3, we get p e Ð→ e [ m ] e ∉ q e ∉ s ( p + q ) + s e Ð→ ( e [ m ] + q ) + s ( e ∈ p ) p e Ð→ e [ m ] e ∉ q e ∉ sp + ( q + s ) e Ð→ e [ m ] + ( q + s ) ( e ∈ p ) p e Ð→ p ′ e ∉ q e ∉ s ( p + q ) + s e Ð→ ( p ′ + q ) + s ( e ∈ p ) p e Ð→ p ′ e ∉ q e ∉ sp + ( q + s ) e Ð→ p ′ + ( q + s ) ( e ∈ p ) q e Ð→ e [ n ] e ∉ p e ∉ s ( p + q ) + s e Ð→ ( p + e [ n ]) + s ( e ∈ q ) q e Ð→ e [ n ] e ∉ p e ∉ sp + ( q + s ) e Ð→ e + ( e [ n ] + s ) ( e ∈ q ) q e Ð→ q ′ e ∉ p e ∉ s ( p + q ) + s e Ð→ ( p + q ′ ) + s ( e ∈ q ) q e Ð→ q ′ e ∉ p e ∉ sp + ( q + s ) e Ð→ p + ( q ′ + s ) ( e ∈ q ) s e Ð→ e [ l ] e ∉ p e ∉ q ( p + q ) + s e Ð→ ( p + q ) + e [ l ] ( e ∈ s ) s e Ð→ e [ l ] e ∉ p e ∉ qp + ( q + s ) e Ð→ p + ( q + e [ l ]) ( e ∈ s ) raft of An Algebra of Reversible Computation 35 s e Ð→ s ′ e ∉ p e ∉ q ( p + q ) + s e Ð→ ( p + q ) + s ′ ( e ∈ s ) s e Ð→ s ′ e ∉ p e ∉ qp + ( q + s ) e Ð→ p + ( q + s ′ ) ( e ∈ s ) p e Ð→ p ′ q e Ð→ q ′ s e Ð→ s ′ ( p + q ) + s e Ð→ ( p ′ + q ′ ) + s ′ ( e ∈ p, e ∈ q, e ∈ s ) p e Ð→ p ′ q e Ð→ q ′ s e Ð→ s ′ p + ( q + s ) e Ð→ p ′ + ( q ′ + s ′ ) ( e ∈ p, e ∈ q, e ∈ s ) By the reverse hhp-transition rules for operator + in Table 4, we get p e [ m ] ÐÐÐÐ↠ e e ∉ q e ∉ s ( p + q ) + s e [ m ] ÐÐÐÐ↠ ( e + q ) + s ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ e e ∉ q e ∉ sp + ( q + s ) e [ m ] ÐÐÐÐ↠ e + ( q + s ) ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ e ∉ q e ∉ s ( p + q ) + s e [ m ] ÐÐÐÐ↠ ( p ′ + q ) + s ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ e ∉ q e ∉ sp + ( q + s ) e [ m ] ÐÐÐÐ↠ p ′ + ( q + s ) ( e ∈ p ) q e [ n ] ÐÐ↠ e e ∉ p e ∉ s ( p + q ) + s e [ n ] ÐÐ↠ ( p + e ) + s ( e ∈ q ) q e [ n ] ÐÐ↠ e e ∉ p e ∉ sp + ( q + s ) e [ n ] ÐÐ↠ p + ( e + s ) ( e ∈ q ) q e [ n ] ÐÐ↠ q ′ e ∉ p e ∉ s ( p + q ) + s e [ n ] ÐÐÐ→ ( p + q ′ ) + s ( e ∈ q ) q e [ n ] ÐÐ↠ q ′ e ∉ p e ∉ sp + ( q + s ) e [ n ] ÐÐ↠ p + ( q ′ + s ) ( e ∈ q ) s e [ l ] ÐÐ↠ e e ∉ p e ∉ q ( p + q ) + s e [ l ] ÐÐ↠ ( p + q ) + e ( e ∈ s ) s e [ l ] ÐÐ↠ e e ∉ p e ∉ qp + ( q + s ) e [ l ] ÐÐ↠ p + ( q + e ) ( e ∈ s ) s e [ l ] ÐÐ↠ s ′ e ∉ p e ∉ q ( p + q ) + s e [ l ] ÐÐ↠ ( p + q ) + s ′ ( e ∈ s ) s e [ l ] ÐÐ↠ s ′ e ∉ p e ∉ qp + ( q + s ) e [ l ] ÐÐ↠ p + ( q + s ′ ) ( e ∈ s ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ s e [ m ] ÐÐÐÐ↠ s ′ ( p + q ) + s e [ m ] ÐÐÐÐ↠ ( p ′ + q ′ ) + s ′ ( e ∈ p, e ∈ q, e ∈ s ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ s e [ m ] ÐÐÐÐ↠ s ′ p + ( q + s ) e [ m ] ÐÐÐÐ↠ p ′ + ( q ′ + s ′ ) ( e ∈ p, e ∈ q, e ∈ s ) with the assumptions ( C (( e [ m ] + q ) + s ) , f [ e ↦ e ] , C ( e [ m ] + ( q + s ))) ∈∼ frhhp , ( C (( e + q ) + s ) , f [ e ↦ e ] , C ( e + ( q + s ))) ∈∼ frhhp , ( C (( p + e [ n ]) + s ) , f [ e ↦ e ] , C ( p + ( e [ n ] + s ))) ∈∼ frhhp , ( C (( p + e ) + s ) , f [ e ↦ e ] , C ( p + ( e + s ))) ∈∼ frhhp , ( C (( p + q ) + e [ l ]) , f [ e ↦ e ] , C ( p + ( q + e [ l ]))) ∈∼ frhhp , ( C (( p + q ) + e ∼ frhhp p + ( q + e ) , ( p ′ + q ) + s ∼ frhhp p ′ + ( q + s ) , ( C (( p + q ′ ) + s ) , f [ e ↦ e ] , C ( p + ( q ′ + s ))) ∈∼ frhhp , ( C (( p + q ) + s ′ ) , f [ e ↦ e ] , C ( p + ( q + s ′ ))) ∈∼ frhhp and ( C (( p ′ + q ′ ) + s ′ ) , f [ e ↦ e ] , C ( p ′ + ( q ′ + s ′ ))) ∈∼ frhhp so, ( p + q ) + s ∼ frhhp p + ( q + s ) ,as desired. ● Axiom A
3. Let p be a BRAT C process, and p + p = p , it is sufficient to prove that p + p ∼ frhhp p . By theforward hhp-transition rules for operator + in Table 3, we get p e Ð→ e [ m ] p + p e Ð→ e [ m ] + e [ m ] ( e ∈ p ) p e Ð→ e [ m ] p e Ð→ e [ m ] ( e ∈ p ) p e Ð→ p ′ p + p e Ð→ p ′ + p ′ ( e ∈ p ) p e Ð→ p ′ p e Ð→ p ′ ( e ∈ p ) By the reverse hhp-transition rules for operator + in Table 4, we get p e [ m ] ÐÐÐÐ↠ e p + p e [ m ] ÐÐÐÐ↠ e + e ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ e p e [ m ] ÐÐÐÐ↠ e ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ p + p e [ m ] ÐÐÐÐ↠ p ′ + p ′ ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ p e [ m ] ÐÐÐÐ↠ p ′ ( e ∈ p ) with the assumptions ( C ( e [ m ] + e [ m ]) , f [ e ↦ e ] , C ( e [ m ])) ∈∼ frhhp , ( C ( e + e ) , f [ e ↦ e ] , C ( e )) ∈∼ frhhp and ( C ( p ′ + p ′ ) , f [ e ↦ e ] , C ( p ′ )) ∈∼ frhhp , so, p + p ∼ frhhp p , as desired. ● Axiom A
4. Let p, q, s be BRAT C processes, and p ⋅ ( q + s ) = p ⋅ q + p ⋅ s ( Std ( p ) , Std ( q ) , Std ( s )) , it issufficient to prove that p ⋅ ( q + s ) ∼ frhhp p ⋅ q + p ⋅ s . By the hhp-transition rules for operators + and ⋅ in Table3, we get p e Ð→ e [ m ] p ⋅ ( q + s ) e Ð→ e [ m ] ⋅ ( q + s ) ( e ∈ p ) p e Ð→ e [ m ] p ⋅ q + p ⋅ s e Ð→ e [ m ] ⋅ q + e [ m ] ⋅ s ( e ∈ p ) p e Ð→ p ′ p ⋅ ( q + s ) e Ð→ p ′ ⋅ ( q + s ) ( e ∈ p ) p e Ð→ p ′ p ⋅ q + p ⋅ s e Ð→ p ′ ⋅ q + p ′ ⋅ s ( e ∈ p ) By the reverse transition rules for operators + and ⋅ in Table 4, there are no transition rules.with the assumptions ( C ( e [ m ] ⋅ ( q + s )) , f [ e ↦ e ] , C ( e [ m ] ⋅ q + e [ m ] ⋅ s )) ∈∼ frhhp , ( C ( p ′ ⋅ ( q + s )) , f [ e ↦ e ] , C ( p ′ ⋅ q + p ′ ⋅ s )) ∈∼ frhhp , so, p ⋅ ( q + s ) ∼ frhhp p ⋅ q + p ⋅ s ( Std ( p ) , Std ( q ) , Std ( s )) , as desired. ● Axiom RA
4. Let p, q, s be BRAT C processes, and ( q + s ) ⋅ p = q ⋅ p + s ⋅ p ( NStd ( p ) , NStd ( q ) , NStd ( s )) , itis sufficient to prove that ( q + s ) ⋅ p ∼ frhhp q ⋅ p + s ⋅ p . By the hhp-transition rules for operators + and ⋅ inTable 3, there are no transition rules.By the reverse transition rules for operators + and ⋅ in Table 4, we get p e [ m ] ÐÐÐÐ↠ e ( q + s ) ⋅ p e [ m ] ÐÐÐÐ↠ ( q + s ) ⋅ e ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ e q ⋅ p + s ⋅ p e [ m ] ÐÐÐÐ↠ q ⋅ e + s ⋅ e ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ ( q + s ) ⋅ p e [ m ] ÐÐÐÐ↠ ( q + s ⋅ p ′ ) ( e ∈ p ) p e [ m ] ÐÐÐÐ↠ p ′ q ⋅ p + s ⋅ p e [ m ] ÐÐÐÐ↠ q ⋅ p ′ + s ⋅ p ′ ( e ∈ p ) with the assumptions ( C (( q + s ) ⋅ e ) , f [ e ↦ e ] , C ( q ⋅ e + s ⋅ e )) ∈∼ frhhp , ( C (( q + s ) ⋅ p ′ ) , f [ e ↦ e ] , C ( q ⋅ p ′ + s ⋅ p ′ )) ∈∼ frhhp , so, ( q + s ) ⋅ p ∼ frhhp q ⋅ p + s ⋅ p ( NStd ( p ) , NStd ( q ) , NStd ( s )) , as desired. ● Axiom A
5. Let p, q, s be BRAT C processes, and ( p ⋅ q ) ⋅ s = p ⋅ ( q ⋅ s ) , it is sufficient to prove that ( p ⋅ q ) ⋅ s ∼ frhhp p ⋅ ( q ⋅ s ) . By the forward hhp-transition rules for operator ⋅ in Table 3, we get p e Ð→ e [ m ]( p ⋅ q ) ⋅ s e Ð→ ( e [ m ] ⋅ q ) ⋅ s ( e ∈ p ) p e Ð→ e [ m ] p ⋅ ( q ⋅ s ) e Ð→ e [ m ] ⋅ ( q ⋅ s ) ( e ∈ p ) p e Ð→ p ′ ( p ⋅ q ) ⋅ s e Ð→ ( p ′ ⋅ q ) ⋅ s ( e ∈ p ) p e Ð→ p ′ p ⋅ ( q ⋅ s ) e Ð→ p ′ ⋅ ( q ⋅ s ) ( e ∈ p ) By the reverse hhp-transition rules for operator ⋅ in Table 4, we get raft of An Algebra of Reversible Computation 37 x e Ð→ e [ m ] y e Ð→ e [ m ] x ∥ y { e ,e } ÐÐÐÐ→ e [ m ] ∥ e [ m ] x e Ð→ x ′ y e Ð→ e [ m ] x ∥ y { e ,e } ÐÐÐÐ→ x ′ ∥ e [ m ] x e Ð→ e [ m ] y e Ð→ y ′ x ∥ y { e ,e } ÐÐÐÐ→ e [ m ] ∥ y ′ x e Ð→ x ′ y e Ð→ y ′ x ∥ y { e ,e } ÐÐÐÐ→ x ′ ≬ y ′ Table 9. Forward transition rules of parallel operator ∥ x e [ m ] ÐÐÐÐ↠ e y e [ m ] ÐÐÐÐ↠ e x ∥ y { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ e ∥ e x e [ m ] ÐÐÐÐ↠ x ′ y e [ m ] ÐÐÐÐ↠ e x ∥ y { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ x ′ ∥ e x e [ m ] ÐÐÐÐ↠ e y e [ m ] ÐÐÐÐ↠ y ′ x ∥ y { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ e ∥ y ′ x e [ m ] ÐÐÐÐ↠ x ′ y e [ m ] ÐÐÐÐ↠ y ′ x ∥ y { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ x ′ ≬ y ′ Table 10. Reverse transition rules of parallel operator ∥ s e [ l ] ÐÐ↠ e ( p ⋅ q ) ⋅ s e [ l ] ÐÐ↠ ( p ⋅ q ) ⋅ e ( e ∈ s ) s e [ l ] ÐÐ↠ e p ⋅ ( q ⋅ s ) e [ l ] ÐÐ↠ p ⋅ ( q ⋅ e ) ( e ∈ s ) s e [ l ] ÐÐ↠ s ′ ( p ⋅ q ) ⋅ s e [ l ] ÐÐ↠ ( p ⋅ q ) ⋅ s ′ ( e ∈ s ) s e [ l ] ÐÐ↠ s ′ p ⋅ ( q ⋅ s ) e [ l ] ÐÐ↠ p ⋅ ( q ⋅ s ′ ) ( e ∈ s ) With assumptions ( C (( e [ m ] ⋅ q ) ⋅ s ) , f [ e ↦ e ] , C ( e [ m ] ⋅ ( q ⋅ s ))) ∈∼ frhhp , ( C (( p ′ ⋅ q ) ⋅ s ) , f [ e ↦ e ] , C ( p ′ ⋅ ( q ⋅ s ))) ∈∼ frhhp , ( C (( p ⋅ q ) ⋅ e ) , f [ e ↦ e ] , C ( p ⋅ ( q ⋅ e ))) ∈∼ frhhp , ( C (( p ⋅ q ) ⋅ s ′ ) , f [ e ↦ e ] , C ( p ⋅ ( q ⋅ s ′ ))) ∈∼ frhhp ,so, ( p ⋅ q ) ⋅ s ∼ frhhp p ⋅ ( q ⋅ s ) , as desired.
5. Reversible Algebra for Parallelism in True Concurrency
In this section, we will discuss reversible parallelism in true concurrency. The resulted algebra is calledReversible Algebra for Parallelism in True Concurrency, abbreviated
RAP T C . The forward transition rules for parallelism ∥ are shown in Table 9, and the reverse transition rules for ∥ areshown in Table 10.The forward and reverse transition rules of communication ∣ are shown in Table 11 and Table 12.The conflict elimination is also captured by two auxiliary operators, the unary conflict elimination opera-tor Θ and the binary unless operator ◁ . The forward and reverse transition rules for Θ and ◁ are expressedby ten transition rules in Table 13 and Table 14. x e Ð→ e [ m ] y e Ð→ e [ m ] x ∣ y γ ( e ,e ) ÐÐÐÐÐ→ γ ( e , e )[ m ] x e Ð→ x ′ y e Ð→ e [ m ] x ∣ y γ ( e ,e ) ÐÐÐÐÐ→ γ ( e , e )[ m ] ⋅ x ′ x e Ð→ e [ m ] y e Ð→ y ′ x ∣ y γ ( e ,e ) ÐÐÐÐÐ→ γ ( e , e )[ m ] ⋅ y ′ x e Ð→ x ′ y e Ð→ y ′ x ∣ y γ ( e ,e ) ÐÐÐÐÐ→ γ ( e , e )[ m ] ⋅ x ′ ≬ y ′ Table 11. Forward transition rules of communication operator ∣ x e [ m ] ÐÐÐÐ↠ e y e [ m ] ÐÐÐÐ↠ e x ∣ y γ ( e ,e )[ m ] ÐÐÐÐÐÐÐÐ↠ γ ( e , e ) x e [ m ] ÐÐÐÐ↠ x ′ y e [ m ] ÐÐÐÐ↠ e x ∣ y γ ( e ,e )[ m ] ÐÐÐÐÐÐÐÐ↠ γ ( e , e ) ⋅ x ′ x e [ m ] ÐÐÐÐ↠ e y e [ m ] ÐÐÐÐ↠ y ′ x ∣ y γ ( e ,e )[ m ] ÐÐÐÐÐÐÐÐ↠ γ ( e , e ) ⋅ y ′ x e [ m ] ÐÐÐÐ↠ x ′ y e [ m ] ÐÐÐÐ↠ y ′ x ∣ y γ ( e ,e )[ m ] ÐÐÐÐÐÐÐÐ↠ γ ( e , e ) ⋅ x ′ ≬ y ′ Table 12. Reverse transition rules of communication operator ∣ Theorem 5.1 (Congruence theorem of
RAP T C ) . FR truly concurrent bisimulation equivalences ∼ frp , ∼ frs , ∼ frhp and ∼ frhhp are all congruences with respect to RAP T C .Proof. (1) Case FR pomset bisimulation equivalence ∼ frp . ● Case parallel operator ∥ . Let x , x and y , y be RAP T C processes, and x ∼ frp y , x ∼ frp y , it issufficient to prove that x ∥ x ∼ frp y ∥ y .By the definition of FR pomset bisimulation ∼ frp (Definition 3.3), x ∼ frp y means that x X Ð→ x ′ y Y Ð→ y ′ with X ⊆ x , Y ⊆ y , X ∼ Y and x ′ ∼ frp y ′ . The meaning of x ∼ frp y is similar.By the forward transition rules for parallel operator ∥ in Table 9, we can get x ∥ x { X ,X } ÐÐÐÐÐ→ X [ K ] ∥ X [ K ] y ∥ y { Y ,Y } ÐÐÐÐ→ Y [ J ] ∥ Y [ J ] x e Ð→ e [ m ] ( ♯ ( e , e )) Θ ( x ) e Ð→ e [ m ] x e Ð→ e [ n ] ( ♯ ( e , e )) Θ ( x ) e Ð→ e [ n ] x e Ð→ x ′ ( ♯ ( e , e )) Θ ( x ) e Ð→ Θ ( x ′ ) x e Ð→ x ′ ( ♯ ( e , e )) Θ ( x ) e Ð→ Θ ( x ′ ) x e Ð→ e [ m ] y ↛ e ( ♯ ( e , e )) x ◁ y τ Ð→ √ x e Ð→ x ′ y ↛ e ( ♯ ( e , e )) x ◁ y τ Ð→ x ′ x e Ð→ e [ m ] y ↛ e ( ♯ ( e , e ) , e ≤ e ) x ◁ y e Ð→ e [ m ] x e Ð→ x ′ y ↛ e ( ♯ ( e , e ) , e ≤ e ) x ◁ y e Ð→ x ′ x e Ð→ e [ l ] y ↛ e ( ♯ ( e , e ) , e ≤ e ) x ◁ y τ Ð→ √ x e Ð→ x ′ y ↛ e ( ♯ ( e , e ) , e ≤ e ) x ◁ y τ Ð→ x ′ Table 13. Forward transition rules of conflict elimination raft of An Algebra of Reversible Computation 39 x e [ m ] ÐÐÐÐ↠ e ( ♯ ( e , e )) Θ ( x ) e [ m ] ÐÐÐÐ↠ e x e [ n ] ÐÐÐÐ↠ e ( ♯ ( e , e )) Θ ( x ) e [ n ] ÐÐÐÐ↠ e x e [ m ] ÐÐÐÐ↠ x ′ ( ♯ ( e , e )) Θ ( x ) e [ m ] ÐÐÐÐ↠ Θ ( x ′ ) x e [ n ] ÐÐÐÐ↠ x ′ ( ♯ ( e , e )) Θ ( x ) e [ n ] ÐÐÐÐ↠ Θ ( x ′ ) x e [ m ] ÐÐÐÐ↠ e y e [ n ] ÐÐ / ÐÐ↠ ( ♯ ( e , e )) x ◁ y τ ÐÐ↠ √ x e [ m ] ÐÐÐÐ↠ x ′ y e [ n ] ÐÐ / ÐÐ↠ ( ♯ ( e , e )) x ◁ y τ ÐÐ↠ x ′ x e [ m ] ÐÐÐÐ↠ e y e [ l ] Ð / Ð↠ ( ♯ ( e , e ) , e ≥ e ) x ◁ y e [ m ] ÐÐÐÐ↠ e x e [ m ] ÐÐÐÐ↠ x ′ y e [ l ] Ð / Ð↠ ( ♯ ( e , e ) , e ≥ e ) x ◁ y e [ m ] ÐÐÐÐ↠ x ′ x e [ l ] ÐÐ↠ e y e [ n ] ÐÐ / ÐÐ↠ ( ♯ ( e , e ) , e ≥ e ) x ◁ y τ ÐÐ↠ √ x e [ l ] ÐÐ↠ x ′ y e [ n ] ÐÐ / ÐÐ↠ ( ♯ ( e , e ) , e ≥ e ) x ◁ y τ ÐÐ↠ x ′ Table 14. Reverse transition rules of conflict elimination x ∥ x { X [K] ,X [K]} ÐÐÐÐÐÐÐÐ↠ X ∥ X y ∥ y { Y [J ] ,Y [J ]} ÐÐÐÐÐÐÐÐ↠ Y ∥ Y with X ⊆ x , Y ⊆ y , X ⊆ x , Y ⊆ y , X ∼ Y and X ∼ Y , and the assumptions X [ K ∥ X [ K ]] ∼ frp Y [ J ] ∥ Y [ J ] and X ∥ X ∼ frp Y ∥ Y , so, we get x ∥ x ∼ frp y ∥ y , as desired.Or, we can get x ∥ x { X ,X } ÐÐÐÐÐ→ x ′ ∥ X [ K ] y ∥ y { Y ,Y } ÐÐÐÐ→ y ′ ∥ Y [ J ] x ∥ x { X [K] ,X [K]} ÐÐÐÐÐÐÐÐ↠ x ′ ∥ X y ∥ y { Y [J ] ,Y [J ]} ÐÐÐÐÐÐÐÐ↠ y ′ ∥ Y with X ⊆ x , Y ⊆ y , X ⊆ x , Y ⊆ y , X ∼ Y , X ∼ Y , and the assumptions x ′ ∥ X [ K ]] ∼ frp y ′ ∥ Y [ J ] and x ′ ∥ X ∼ frp y ′ ∥ Y so, we get x ∥ x ∼ frp y ∥ y , as desired.Or, we can get x ∥ x { X ,X } ÐÐÐÐÐ→ X [ K ] ∥ x ′ y ∥ y { Y ,Y } ÐÐÐÐ→ Y [ J ] ∥ y ′ x ∥ x { X [K] ,X [K]} ÐÐÐÐÐÐÐÐ↠ X ∥ x ′ y ∥ y { Y [J ] ,Y [J ]} ÐÐÐÐÐÐÐÐ↠ Y ∥ y ′ with X ⊆ x , Y ⊆ y , X ⊆ x , Y ⊆ y , X ∼ Y , X ∼ Y , and the assumptions X [ K ∥ x ′ ∼ frp Y [ J ] ∥ y ′ and X ∥ x ′ ∼ frp Y ∥ y ′ , so, we get x ∥ x ∼ frp y ∥ y , as desired.Or, we can get x ∥ x { X ,X } ÐÐÐÐÐ→ x ′ ≬ x ′ y ∥ y { Y ,Y } ÐÐÐÐ→ y ′ ≬ y ′ x ∥ x { X [K] ,X [K]} ÐÐÐÐÐÐÐÐ↠ x ′ ≬ x ′ y ∥ y { Y [J ] ,Y [J ]} ÐÐÐÐÐÐÐÐ↠ y ′ ≬ y ′ with X ⊆ x , Y ⊆ y , X ⊆ x , Y ⊆ y , X ∼ Y , X ∼ Y , and the assumption x ′ ≬ x ′ ∼ frp y ′ ≬ y ′ , so,we get x ∥ x ∼ frp y ∥ y , as desired. ● Case communication operator ∣ . It can be proved similarly to the case of parallel operator ∥ , we omit it.Note that, a communication is defined between two single communicating events. ● Case conflict elimination operator Θ. It can be proved similarly to the above cases, we omit it. Note thatthe conflict elimination operator Θ is a unary operator. ● Case unless operator ◁ . It can be proved similarly to the case of parallel operator ∥ , we omit it. Notethat, a conflict relation is defined between two single events.(2) The cases of FR step bisimulation ∼ frs , FR hp-bisimulation ∼ frhp and FR hhp-bisimulation ∼ frhhp canbe proven similarly, we omit them. Definition 5.2 (Basic terms of
RAP T C ) . The set of basic terms of
RAP T C , B ( RAP T C ) , is inductivelydefined as follows: E ⊂ B ( RAP T C ) ; if e ∈ E , t ∈ B ( RAP T C ) then e ⋅ t ∈ B ( RAP T C ) ; if t, s ∈ B ( RAP T C ) then t + s ∈ B ( RAP T C ) ; if t, s ∈ B ( RAP T C ) then t ∥ s ∈ B ( RAP T C ) . We design the axioms of parallelism in Table 15, including algebraic laws for parallel operator ∥ , com-munication operator ∣ , conflict elimination operator Θ and unless operator ◁ , and also the whole paralleloperator ≬ . Since the communication between two communicating events in different parallel branches maycause deadlock (a state of inactivity), which is caused by mismatch of two communicating events or theimperfectness of the communication channel. We introduce a new constant δ to denote the deadlock, and letthe atomic event e ∈ E ∪ { δ } .Based on the definition of basic terms for RAP T C (see Definition 5.2) and axioms of parallelism (seeTable 15), we can prove the elimination theorem of parallelism.
Theorem 5.3 (Elimination theorem of FR parallelism) . Let p be a closed RAP T C term. Then there is abasic
RAP T C term q such that RAP T C ⊢ p = q .Proof. (1) Firstly, suppose that the following ordering on the signature of RAP T C is defined: ∥ > ⋅ > + andthe symbol ∥ is given the lexicographical status for the first argument, then for each rewrite rule p → q inTable 16 relation p > lpo q can easily be proved. We obtain that the term rewrite system shown in Table16 is strongly normalizing, for it has finitely many rewriting rules, and > is a well-founded ordering on thesignature of RAP T C , and if s > lpo t , for each rewriting rule s → t is in Table 16 (see Theorem 2.19).(2) Then we prove that the normal forms of closed RAP T C terms are basic
RAP T C terms.Suppose that p is a normal form of some closed RAP T C term and suppose that p is not a basic RAP T C term. Let p ′ denote the smallest sub-term of p which is not a basic RAP T C term. It implies that eachsub-term of p ′ is a basic RAP T C term. Then we prove that p is not a term in normal form. It is sufficientto induct on the structure of p ′ : ● Case p ′ ≡ e or e [ m ] , e ∈ E . p ′ is a basic RAP T C term, which contradicts the assumption that p ′ is not abasic RAP T C term, so this case should not occur. ● Case p ′ ≡ p ⋅ p . By induction on the structure of the basic RAP T C term p : – Subcase p ∈ E . p ′ would be a basic RAP T C term, which contradicts the assumption that p ′ is not abasic RAP T C term; – Subcase p ≡ e ⋅ p ′ . RRA p is not a normal form; – Subcase p ≡ p ′ ⋅ e [ m ] . RRA p is not a normal form; – Subcase p ≡ p ′ + p ′′ . RRA p is not a normal form; – Subcase p ≡ p ′ ∥ p ′′ . p ′ would be a basic RAP T C term, which contradicts the assumption that p ′ isnot a basic RAP T C term; raft of An Algebra of Reversible Computation 41No. Axiom A x + δ = xA δ ⋅ x = δP x ≬ y = x ∥ y + x ∣ yP x ∥ y = y ∥ xP ( x ∥ y ) ∥ z = x ∥ ( y ∥ z ) P e ∥ ( e ⋅ y ) = ( e ∥ e ) ⋅ yRP e [ m ] ∥ ( y ⋅ e [ m ]) = y ⋅ ( e [ m ] ∥ e [ m ]) P ( e ⋅ x ) ∥ e = ( e ∥ e ) ⋅ xRP ( x ⋅ e [ m ]) ∥ e [ m ] = x ⋅ ( e [ m ] ∥ e [ m ]) P ( e ⋅ x ) ∥ ( e ⋅ y ) = ( e ∥ e ) ⋅ ( x ≬ y ) RP ( x ⋅ e [ m ]) ∥ ( y ⋅ e [ m ]) = ( x ≬ y ) ⋅ ( e [ m ] ∥ e [ m ]) P ( x + y ) ∥ z = ( x ∥ z ) + ( y ∥ z ) P x ∥ ( y + z ) = ( x ∥ y ) + ( x ∥ z ) P δ ∥ x = δP x ∥ δ = δC e ∣ e = γ ( e , e ) RC e [ m ] ∣ e [ m ] = γ ( e , e )[ m ] C e ∣ ( e ⋅ y ) = γ ( e , e ) ⋅ yRC e [ m ] ∣ ( y ⋅ e [ m ]) = y ⋅ γ ( e , e )[ m ] C ( e ⋅ x ) ∣ e = γ ( e , e ) ⋅ xRC ( x ⋅ e [ m ]) ∣ e [ m ] = x ⋅ γ ( e , e )[ m ] C ( e ⋅ x ) ∣ ( e ⋅ y ) = γ ( e , e ) ⋅ ( x ≬ y ) RC ( x ⋅ e [ m ]) ∣ ( y ⋅ e [ m ]) = ( x ≬ y ) ⋅ γ ( e , e )[ m ] C ( x + y ) ∣ z = ( x ∣ z ) + ( y ∣ z ) C x ∣ ( y + z ) = ( x ∣ y ) + ( x ∣ z ) C δ ∣ x = δC x ∣ δ = δCE
19 Θ ( e ) = eRCE
19 Θ ( e [ m ]) = e [ m ] CE
20 Θ ( δ ) = δCE
21 Θ ( x + y ) = Θ ( x ) ◁ y + Θ ( y ) ◁ xCE
22 Θ ( x ⋅ y ) = Θ ( x ) ⋅ Θ ( y ) CE
23 Θ ( x ∥ y ) = (( Θ ( x ) ◁ y ) ∥ y ) + (( Θ ( y ) ◁ x ) ∥ x ) CE
24 Θ ( x ∣ y ) = (( Θ ( x ) ◁ y ) ∣ y ) + (( Θ ( y ) ◁ x ) ∣ x ) U ( ♯ ( e , e )) e ◁ e = τRU ( ♯ ( e [ m ] , e [ n ])) e [ m ] ◁ e [ n ] = τU ( ♯ ( e , e ) , e ≤ e ) e ◁ e = e RU ( ♯ ( e [ m ] , e [ n ]) , e [ n ] ≥ e [ l ]) e [ m ] ◁ e [ l ] = e [ m ] U ( ♯ ( e , e ) , e ≤ e ) e ◁ e = τRU ( ♯ ( e [ m ] , e [ n ]) , e [ n ] ≥ e [ l ]) e [ l ] ◁ e [ m ] = τU e ◁ δ = eU δ ◁ e = δU ( x + y ) ◁ z = ( x ◁ z ) + ( y ◁ z ) U ( x ⋅ y ) ◁ z = ( x ◁ z ) ⋅ ( y ◁ z ) U ( x ∥ y ) ◁ z = ( x ◁ z ) ∥ ( y ◁ z ) U ( x ∣ y ) ◁ z = ( x ◁ z ) ∣ ( y ◁ z ) U x ◁ ( y + z ) = ( x ◁ y ) ◁ zU x ◁ ( y ⋅ z ) = ( x ◁ y ) ◁ zU x ◁ ( y ∥ z ) = ( x ◁ y ) ◁ zU x ◁ ( y ∣ z ) = ( x ◁ y ) ◁ z Table 15. Axioms of parallelism – Subcase p ≡ p ′ ∣ p ′′ . RRC
11 and
RRRC
11 rewrite rule in Table 16 can be applied. So p is not anormal form; – Subcase p ≡ Θ ( p ′ ) . RRCE
RRRCE
19 and
RRCE
20 rewrite rules in Table 16 can be applied. So p is not a normal form. ● Case p ′ ≡ p + p . By induction on the structure of the basic RAP T C terms both p and p , all subcaseswill lead to that p ′ would be a basic RAP T C term, which contradicts the assumption that p ′ is not abasic RAP T C term. ● Case p ′ ≡ p ∥ p . By induction on the structure of the basic RAP T C terms both p and p , all subcases RRA x + δ → xRRA δ ⋅ x → δRRP x ≬ y → x ∥ y + x ∣ yRRP x ∥ y → y ∥ xRRP ( x ∥ y ) ∥ z → x ∥ ( y ∥ z ) RRP e ∥ ( e ⋅ y ) → ( e ∥ e ) ⋅ yRRRP e [ m ] ∥ ( y ⋅ e [ m ]) → y ⋅ ( e [ m ] ∥ e [ m ]) RRP ( e ⋅ x ) ∥ e → ( e ∥ e ) ⋅ xRRRP ( x ⋅ e [ m ]) ∥ e [ m ] → x ⋅ ( e [ m ] ∥ e [ m ]) RRP ( e ⋅ x ) ∥ ( e ⋅ y ) → ( e ∥ e ) ⋅ ( x ≬ y ) RRRP ( x ⋅ e [ m ]) ∥ ( y ⋅ e [ m ]) → ( x ≬ y ) ⋅ ( e [ m ] ∥ e [ m ]) RRP ( x + y ) ∥ z → ( x ∥ z ) + ( y ∥ z ) RRP x ∥ ( y + z ) → ( x ∥ y ) + ( x ∥ z ) RRP δ ∥ x → δRRP x ∥ δ → δRRC e ∣ e → γ ( e , e ) RRRC e [ m ] ∣ e [ m ] → γ ( e , e )[ m ] RRC e ∣ ( e ⋅ y ) → γ ( e , e ) ⋅ yRRRC e [ m ] ∣ ( y ⋅ e [ m ]) → y ⋅ γ ( e , e )[ m ] RRC ( e ⋅ x ) ∣ e → γ ( e , e ) ⋅ xRRRC ( x ⋅ e [ m ]) ∣ e [ m ] → x ⋅ γ ( e , e )[ m ] RRC ( e ⋅ x ) ∣ ( e ⋅ y ) → γ ( e , e ) ⋅ ( x ≬ y ) RRRC ( x ⋅ e [ m ]) ∣ ( y ⋅ e [ m ]) → ( x ≬ y ) ⋅ γ ( e , e )[ m ] RRC ( x + y ) ∣ z → ( x ∣ z ) + ( y ∣ z ) RRC x ∣ ( y + z ) → ( x ∣ y ) + ( x ∣ z ) RRC δ ∣ x → δRRC x ∣ δ → δRRCE
19 Θ ( e ) → eRRRCE
19 Θ ( e [ m ]) → e [ m ] RRCE
20 Θ ( δ ) → δRRCE
21 Θ ( x + y ) → Θ ( x ) ◁ y + Θ ( y ) ◁ xRRCE
22 Θ ( x ⋅ y ) → Θ ( x ) ⋅ Θ ( y ) RRCE
23 Θ ( x ∥ y ) → (( Θ ( x ) ◁ y ) ∥ y ) + (( Θ ( y ) ◁ x ) ∥ x ) RRCE
24 Θ ( x ∣ y ) → (( Θ ( x ) ◁ y ) ∣ y ) + (( Θ ( y ) ◁ x ) ∣ x ) RRU ( ♯ ( e , e )) e ◁ e → τRRRU ( ♯ ( e [ m ] , e [ n ])) e [ m ] ◁ e [ n ] → τRRU ( ♯ ( e , e ) , e ≤ e ) e ◁ e → e RRRU ( ♯ ( e [ m ] , e [ n ]) , e [ n ] ≥ e [ l ]) e [ m ] ◁ e [ l ] → e [ m ] RRU ( ♯ ( e , e ) , e ≤ e ) e ◁ e → τRRRU ( ♯ ( e [ m ] , e [ n ]) , e [ n ] ≥ e [ l ]) e [ l ] ◁ e [ m ] → τRRU e ◁ δ → eRRU δ ◁ e → δRRU ( x + y ) ◁ z → ( x ◁ z ) + ( y ◁ z ) RRU ( x ⋅ y ) ◁ z → ( x ◁ z ) ⋅ ( y ◁ z ) RRU ( x ∥ y ) ◁ z → ( x ◁ z ) ∥ ( y ◁ z ) RRU ( x ∣ y ) ◁ z → ( x ◁ z ) ∣ ( y ◁ z ) RRU x ◁ ( y + z ) → ( x ◁ y ) ◁ zRRU x ◁ ( y ⋅ z ) → ( x ◁ y ) ◁ zRRU x ◁ ( y ∥ z ) → ( x ◁ y ) ◁ zRRU x ◁ ( y ∣ z ) → ( x ◁ y ) ◁ z Table 16. Term rewrite system of
RAP T C will lead to that p ′ would be a basic RAP T C term, which contradicts the assumption that p ′ is not abasic RAP T C term. ● Case p ′ ≡ p ∣ p . By induction on the structure of the basic RAP T C terms both p and p , all subcaseswill lead to that p ′ would be a basic RAP T C term, which contradicts the assumption that p ′ is not abasic RAP T C term. ● Case p ′ ≡ Θ ( p ) . By induction on the structure of the basic RAP T C term p , RRCE − RRCE p is not a normal form. ● Case p ′ ≡ p ◁ p . By induction on the structure of the basic RAP T C terms both p and p , all subcaseswill lead to that p ′ would be a basic RAP T C term, which contradicts the assumption that p ′ is not abasic RAP T C term. raft of An Algebra of Reversible Computation 43
Theorem 5.4 (Generalization of the reversible algebra for parallelism with respect to
BRAT C ) . The algebrafor parallelism is a generalization of
BRAT C .Proof.
It follows from the following two facts (see Theorem 2.15).1. The transition rules of
BRAT C in section 4 are all source-dependent;2. The sources of the transition rules for the algebra for parallelism contain an occurrence of ≬ , or ∥ , or ∣ ,or Θ, or ◁ ;3. The transition rules of RAP T C are all source-dependent.So, the reversible algebra for parallelism is a generalization of
BRAT C , as desired.
Theorem 5.5 (Soundness of parallelism modulo FR step bisimulation equivalence) . Let x and y be RAP T C terms. If
RAP T C ⊢ x = y , then x ∼ frs y .Proof. Since FR step bisimulation ∼ frs is both an equivalent and a congruent relation with respect to theoperators ≬ , ∥ , ∣ , Θ and ◁ , we only need to check if each axiom in Table 15 is sound modulo FR stepbisimulation equivalence.Though transition rules in Table 9, 11, and 13, 10, 12, and 14 are defined in the flavor of single event,they can be modified into a step (a set of events within which each event is pairwise concurrent), we omitthem. If we treat a single event as a step containing just one event, the proof of this soundness theorem doesnot exist any problem, so we use this way and still use the transition rules in Table 9, 11, and 13, 10, 12,and 14.We omit the defining axioms, and the trivial axioms related to δ , in the following, we only prove thesoundness of the non-trivial axioms, including axioms P − P C − C CE − CE
24 and U − U ● Axiom P
2. Let p, q be RAP T C processes, and p ∥ q = q ∥ p , it is sufficient to prove that p ∥ q ∼ frs q ∥ p .By the forward transition rules for operator ∥ in Table 9, we get p e Ð→ e [ m ] q e Ð→ e [ m ] p ∥ q { e ,e } ÐÐÐÐ→ e [ m ] ∥ e [ m ] p e Ð→ e [ m ] q e Ð→ e [ m ] q ∥ p { e ,e } ÐÐÐÐ→ e [ m ] ∥ e [ m ] p e Ð→ p ′ q e Ð→ e [ m ] p ∥ q { e ,e } ÐÐÐÐ→ p ′ ∥ e [ m ] p e Ð→ p ′ q e Ð→ e [ m ] q ∥ p { e ,e } ÐÐÐÐ→ e [ m ] ∥ p ′ p e Ð→ e [ m ] q e Ð→ q ′ p ∥ q { e ,e } ÐÐÐÐ→ e [ m ] ∥ q ′ p e Ð→ e [ m ] q e Ð→ q ′ q ∥ p { e ,e } ÐÐÐÐ→ q ′ ∥ e [ m ] p e Ð→ p ′ q e Ð→ q ′ p ∥ q { e ,e } ÐÐÐÐ→ p ′ ≬ q ′ p e Ð→ p ′ q e Ð→ q ′ q ∥ p { e ,e } ÐÐÐÐ→ q ′ ≬ p ′ By the reverse transition rules for operator ∥ in Table 10, we get p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e p ∥ q { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ e ∥ e p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e q ∥ p { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ e ∥ e p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e p ∥ q { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ p ′ ∥ e p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e q ∥ p { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ e ∥ p ′ p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ p ∥ q { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ e ∥ q ′ p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ q ∥ p { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ q ′ ∥ e p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ p ∥ q { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ p ′ ≬ q ′ p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ q ∥ p { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ q ′ ≬ p ′ So, with the assumption e [ m ] ∥ e [ m ] ∼ frs e [ m ] ∥ e [ m ] , e ∥ e ∼ frs e ∥ e , p ′ ∥ e [ m ] ∼ frs e [ m ] ∥ p ′ , p ′ ∥ e ∼ frs e ∥ p ′ , e [ m ] ∥ q ′ ∼ frs q ′ ∥ e [ m ] , e ∥ q ′ ∼ frs q ′ ∥ e , p ′ ≬ q ′ ∼ frs q ′ ≬ p ′ , p ∥ q ∼ frs q ∥ p , asdesired. ● Axiom P
3. Let p, q, r be RAP T C processes, and ( p ∥ q ) ∥ r = p ∥ ( q ∥ r ) , it is sufficient to prove that ( p ∥ q ) ∥ r ∼ frs p ∥ ( q ∥ r ) . By the forward transition rules for operator ∥ in Table 9, we get p e Ð→ e [ m ] q e Ð→ e [ m ] r e Ð→ e [ m ]( p ∥ q ) ∥ r { e ,e ,e } ÐÐÐÐÐ→ ( e [ m ] ∥ e [ m ]) ∥ e [ m ] p e Ð→ e [ m ] q e Ð→ e [ m ] r e Ð→ e [ m ] p ∥ ( q ∥ r ) { e ,e ,e } ÐÐÐÐÐ→ e [ m ] ∥ ( e [ m ] ∥ e [ m ]) p e Ð→ p ′ q e Ð→ e [ m ] r e Ð→ e [ m ]( p ∥ q ) ∥ r { e ,e ,e } ÐÐÐÐÐ→ ( p ′ ∥ e [ m ]) ∥ e [ m ] p e Ð→ p ′ q e Ð→ e [ m ] r e Ð→ e [ m ] p ∥ ( q ∥ r ) { e ,e ,e } ÐÐÐÐÐ→ p ′ ∥ ( e [ m ] ∥ e [ m ]) There are also two other cases, we omit them. p e Ð→ p ′ q e Ð→ q ′ r e Ð→ e [ m ]( p ∥ q ) ∥ r { e ,e ,e } ÐÐÐÐÐ→ ( p ′ ≬ q ′ ) ≬ e [ m ] p e Ð→ p ′ q e Ð→ q ′ r e Ð→ e [ m ] p ∥ ( q ∥ r ) { e ,e ,e } ÐÐÐÐÐ→ p ′ ≬ ( q ′ ≬ e [ m ]) There are also other cases, we also omit them. p e Ð→ p ′ q e Ð→ q ′ r e Ð→ r ′ ( p ∥ q ) ∥ r ′ { e ,e ,e } ÐÐÐÐÐ→ ( p ′ ≬ q ′ ) ≬ r ′ p e Ð→ p ′ q e Ð→ q ′ r e Ð→ r ′ p ∥ ( q ∥ r ) { e ,e ,e } ÐÐÐÐÐ→ p ′ ≬ ( q ′ ≬ r ′ ) By the reverse transition rules for operator ∥ in Table 10, we get p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e r e [ m ] ÐÐÐÐ↠ e ( p ∥ q ) ∥ r { e [ m ] ,e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐÐÐÐÐ↠ ( e ∥ e ) ∥ e p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e r e [ m ] ÐÐÐÐ↠ e p ∥ ( q ∥ r ) { e [ m ] ,e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐÐÐÐÐ↠ e ∥ ( e ∥ e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e r e [ m ] ÐÐÐÐ↠ e ( p ∥ q ) ∥ r { e [ m ] ,e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐÐÐÐÐ↠ ( p ′ ∥ e ) ∥ e p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e r e [ m ] ÐÐÐÐ↠ e p ∥ ( q ∥ r ) { e [ m ] ,e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐÐÐÐÐ↠ p ′ ∥ ( e ∥ e ) There are also two other cases, we omit them. p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ r e [ m ] ÐÐÐÐ↠ e ( p ∥ q ) ∥ r { e [ m ] ,e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐÐÐÐÐ↠ ( p ′ ≬ q ′ ) ≬ e p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ r e [ m ] ÐÐÐÐ↠ e p ∥ ( q ∥ r ) { e [ m ] ,e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐÐÐÐÐ↠ p ′ ≬ ( q ′ ≬ e ) There are also other cases, we also omit them. p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ r e [ m ] ÐÐÐÐ↠ r ′ ( p ∥ q ) ∥ r ′ { e [ m ] ,e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐÐÐÐÐ↠ ( p ′ ≬ q ′ ) ≬ r ′ p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ r e [ m ] ÐÐÐÐ↠ r ′ p ∥ ( q ∥ r ) { e [ m ] ,e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐÐÐÐÐ↠ p ′ ≬ ( q ′ ≬ r ′ ) So, with the assumption ( e [ m ] ∥ e [ m ]) ∥ e [ m ] ∼ frs e [ m ] ∥ ( e [ m ] ∥ e [ m ]) , ( e ∥ e ) ∥ e ∼ frs e ∥ ( e ∥ e ) , ( p ′ ∥ e [ m ]) ∥ e [ m ] ∼ frs p ′ ∥ ( e [ m ] ∥ e [ m ]) , ( p ′ ∥ e ) ∥ e ∼ frs p ′ ∥ ( e ∥ e ) , ( p ′ ≬ q ′ ) ≬ raft of An Algebra of Reversible Computation 45 e [ m ] ∼ frs p ′ ≬ ( q ′ ≬ e [ m ]) , ( p ′ ≬ q ′ ) ≬ e ∼ frs p ′ ≬ ( q ′ ≬ e ) , ( p ′ ≬ q ′ ) ≬ r ′ ∼ frs p ′ ≬ ( q ′ ≬ r ′ ) , ( p ∥ q ) ∥ r ∼ frs p ∥ ( q ∥ r ) , as desired. ● Axiom P
4. Let q be an RAP T C process, and e ∥ ( e ⋅ q ) = ( e ∥ e ) ⋅ q , it is sufficient to prove that e ∥ ( e ⋅ q ) ∼ frs ( e ∥ e ) ⋅ q . By the forward transition rules for operator ∥ in Table 9, we get e e Ð→ e [ m ] e e Ð→ e [ m ] e ∥ ( e ⋅ q ) { e ,e } ÐÐÐÐ→ e [ m ] ∥ ( e [ m ] ⋅ q ) e e Ð→ e [ m ] e e Ð→ e [ m ]( e ∥ e ) ⋅ q { e ,e } ÐÐÐÐ→ ( e [ m ] ∥ e [ m ]) ⋅ q By the reverse transition rules for operator ∥ in Table 10, there are no transitions.So, with the assumption e [ m ] ∥ ( e [ m ] ⋅ q ) ∼ frs ( e [ m ] ∥ e [ m ]) ⋅ q , e ∥ ( e ⋅ q ) ∼ frs ( e ∥ e ) ⋅ q , as desired. ● Axiom RP
4. Let q be an RAP T C process, and e [ m ] ∥ ( q ⋅ e [ m ]) = q ⋅ ( e [ m ] ∥ e [ m ]) , it is sufficientto prove that e [ m ] ∥ ( q ⋅ e [ m ]) ∼ frs q ⋅ ( e [ m ] ∥ e [ m ]) . By the forward transition rules for operator ∥ in Table 9, there are no transitions.By the reverse transition rules for operator ∥ in Table 10, we get e [ m ] e [ m ] ÐÐÐÐ↠ e e [ m ] e [ m ] ÐÐÐÐ↠ e e [ m ] ∥ ( q ⋅ e [ m ]) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ e ∥ ( q ⋅ e ) e [ m ] e [ m ] ÐÐÐÐ↠ e e [ m ] e [ m ] ÐÐÐÐ↠ e q ⋅ ( e [ m ] ∥ e [ m ]) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ q ⋅ ( e ∥ e ) So, with the assumption e ∥ ( q ⋅ e ) ∼ frs q ⋅ ( e ∥ e ) , e [ m ] ∥ ( q ⋅ e [ m ]) ∼ frs q ⋅ ( e [ m ] ∥ e [ m ]) , as desired. ● Axiom P
5. Let p be an RAP T C process, and ( e ⋅ p ) ∥ e = ( e ∥ e ) ⋅ p , it is sufficient to prove that ( e ⋅ p ) ∥ e ∼ frs ( e ∥ e ) ⋅ p . By the forward transition rules for operator ∥ in Table 9, we get e e Ð→ e [ m ] e e Ð→ e [ m ]( e ⋅ p ) ∥ e { e ,e } ÐÐÐÐ→ ( e [ m ] ⋅ p ) ∥ e [ m ] e e Ð→ e [ m ] e e Ð→ e [ m ]( e ∥ e ) ⋅ p { e ,e } ÐÐÐÐ→ ( e [ m ] ∥ e [ m ]) ⋅ p By the reverse transition rules for operator ∥ in Table 10, there are no transitions.So, with the assumption ( e [ m ] ⋅ p ) ∥ e [ m ] ∼ frs ( e [ m ] ∥ e [ m ]) ⋅ p , ( e ⋅ p ) ∥ e ∼ frs ( e ∥ e ) ⋅ p , asdesired. ● Axiom RP
5. Let p be an RAP T C process, and ( p ⋅ e [ m ]) ∥ e [ m ] = p ⋅ ( e [ m ] ∥ e [ m ]) , it is sufficientto prove that ( p ⋅ e [ m ]) ∥ e [ m ] ∼ frs p ⋅ ( e [ m ] ∥ e [ m ]) . By the forward transition rules for operator ∥ in Table 9, there are no transitions.By the reverse transition rules for operator ∥ in Table 10, we get e [ m ] e [ m ] ÐÐÐÐ↠ e e [ m ] e [ m ] ÐÐÐÐ↠ e ( p ⋅ e [ m ]) ∥ e [ m ] { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( p ⋅ e ) ∥ e e [ m ] e [ m ] ÐÐÐÐ↠ e e [ m ] e [ m ] ÐÐÐÐ↠ e p ⋅ ( e [ m ] ∥ e [ m ]) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ p ⋅ ( e ∥ e ) So, with the assumption ( p ⋅ e ) ∥ e ∼ frs p ⋅ ( e ∥ e ) , ( p ⋅ e [ m ]) ∥ e [ m ] ∼ frs p ⋅ ( e [ m ] ∥ e [ m ]) , asdesired. ● Axiom P
6. Let p, q be RAP T C processes, and ( e ⋅ p ) ∥ ( e ⋅ q ) = ( e ∥ e ) ⋅ ( p ≬ q ) , it is sufficient toprove that ( e ⋅ p ) ∥ ( e ⋅ q ) ∼ frs ( e ∥ e ) ⋅ ( p ≬ q ) . By the forward transition rules for operator ∥ in Table9, we get e e Ð→ e [ m ] e e Ð→ e [ m ]( e ⋅ p ) ∥ ( e ⋅ q ) { e ,e } ÐÐÐÐ→ ( e [ m ] ⋅ p ) ∥ ( e [ m ] ⋅ q ) e e Ð→ e [ m ] e e Ð→ e [ m ]( e ∥ e ) ⋅ ( p ≬ q ) { e ,e } ÐÐÐÐ→ ( e [ m ] ∥ e [ m ]) ⋅ ( p ≬ q ) By the reverse transition rules for operator ∥ in Table 10, there are no transitions.So, with the assumption ( e [ m ] ⋅ p ) ∥ ( e [ m ] ⋅ q ) ∼ frs ( e [ m ] ∥ e [ m ]) ⋅ ( p ≬ q ) , ( e ⋅ p ) ∥ ( e ⋅ q ) ∼ frs ( e ∥ e ) ⋅ ( p ≬ q ) , as desired. ● Axiom RP
6. Let p, q be RAP T C processes, and ( p ⋅ e [ m ]) ∥ ( q ⋅ e [ m ]) = ( p ≬ q ) ⋅ ( e [ m ] ∥ e [ m ]) , itis sufficient to prove that ( p ⋅ e [ m ]) ∥ ( q ⋅ e [ m ]) ∼ frs ( p ≬ q ) ⋅ ( e [ m ] ∥ e [ m ]) . By the forward transitionrules for operator ∥ in Table 9, there are no transitions.By the reverse transition rules for operator ∥ in Table 10, we get e [ m ] e [ m ] ÐÐÐÐ↠ e e [ m ] e [ m ] ÐÐÐÐ↠ e ( p ⋅ e [ m ]) ∥ ( q ⋅ e [ m ]) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( p ⋅ e ) ∥ ( q ⋅ e ) e e [ m ] ÐÐÐÐ↠ e e e [ m ] ÐÐÐÐ↠ e ( p ≬ q ) ⋅ ( e [ m ] ∥ e [ m ]) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( p ≬ q ) ⋅ ( e ∥ e ) So, with the assumption ( p ⋅ e ) ∥ ( q ⋅ e ) ∼ frs ( p ≬ q ) ⋅ ( e ∥ e ) , ( p ⋅ e [ m ]) ∥ ( q ⋅ e [ m ]) ∼ frs ( p ≬ q ) ⋅ ( e [ m ] ∥ e [ m ]) , as desired. ● Axiom P
7. Let p, q, r be RAP T C processes, and ( p + q ) ∥ r = ( p ∥ r ) + ( q ∥ r ) , it is sufficient to provethat ( p + q ) ∥ r ∼ frs ( p ∥ r ) + ( q ∥ r ) . There are several cases, we will not enumerate all. By the forwardtransition rules for operators + and ∥ in Table 3 and 9, we get p e Ð→ e [ m ] q e Ð→ e [ m ] r e Ð→ e [ m ]( p + q ) ∥ r { e ,e } ÐÐÐÐ→ ( e [ m ] + e [ m ]) ∥ e [ m ] p e Ð→ e [ m ] q e Ð→ e [ m ] r e Ð→ e [ m ]( p ∥ r ) + ( q ∥ r ) { e ,e } ÐÐÐÐ→ ( e [ m ] ∥ e [ m ]) + ( e [ m ] ∥ e [ m ]) p e Ð→ p ′ q e Ð→ q ′ r e Ð→ r ′ ( p + q ) ∥ r { e ,e } ÐÐÐÐ→ ( p ′ + q ′ ) ∥ r ′ p e Ð→ p ′ q e Ð→ q ′ r e Ð→ r ′ ( p ∥ r ) + ( q ∥ r ) { e ,e } ÐÐÐÐ→ ( p ′ ∥ r ′ ) + ( q ′ ∥ r ′ ) By the reverse transition rules for operators + and ∥ in Table 4 and 10, we get p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e r e [ m ] ÐÐÐÐ↠ e ( p + q ) ∥ r { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( e + e ) ∥ e p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e r e [ m ] ÐÐÐÐ↠ e ( p ∥ r ) + ( q ∥ r ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( e ∥ e ) + ( e ∥ e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ r e [ m ] ÐÐÐÐ↠ r ′ ( p + q ) ∥ r { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( p ′ + q ′ ) ∥ r ′ p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ r e [ m ] ÐÐÐÐ↠ r ′ ( p ∥ r ) + ( q ∥ r ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( p ′ ∥ r ′ ) + ( q ′ ∥ r ′ ) So, with the assumptions ( e [ m ] + e [ m ]) ∥ e [ m ] ∼ frs ( e [ m ] ∥ e [ m ]) + ( e [ m ] ∥ e [ m ]) , ( e + e ) ∥ e ∼ frs ( e ∥ e ) + ( e ∥ e ) , ( p ′ + q ′ ) ∥ r ′ ∼ frs ( p ′ ∥ r ′ ) + ( q ′ ∥ r ′ ) , ( p + q ) ∥ r ∼ frs ( p ∥ r ) + ( q ∥ r ) , as desired. raft of An Algebra of Reversible Computation 47 ● Axiom P
8. Let p, q, r be RAP T C processes, and p ∥ ( q + r ) = ( p ∥ q ) + ( p ∥ r ) , it is sufficient to provethat p ∥ ( q + r ) ∼ frs ( p ∥ q ) + ( p ∥ r ) . There are several cases, we will not enumerate all. By the forwardtransition rules for operators + and ∥ in Table 3 and 9, we get p e Ð→ e [ m ] q e Ð→ e [ m ] r e Ð→ e [ m ] p ∥ ( q + r ) { e ,e } ÐÐÐÐ→ e [ m ] ∥ ( e [ m ] + e [ m ]) p e Ð→ e [ m ] q e Ð→ e [ m ] r e Ð→ e [ m ]( p ∥ q ) + ( p ∥ r ) { e ,e } ÐÐÐÐ→ ( e [ m ] ∥ e [ m ]) + ( e [ m ] + e [ m ]) p e Ð→ p ′ q e Ð→ q ′ r e Ð→ r ′ p ∥ ( q + r ) { e ,e } ÐÐÐÐ→ p ′ ∥ ( q ′ + r ′ ) p e Ð→ p ′ q e Ð→ q ′ r e Ð→ r ′ ( p ∥ q ) + ( p ∥ r ) { e ,e } ÐÐÐÐ→ ( p ′ ∥ q ′ ) + ( p ′ + r ′ ) By the reverse transition rules for operators + and ∥ in Table 4 and 10, we get p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e r e [ m ] ÐÐÐÐ↠ e p ∥ ( q + r ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ e ∥ ( e + e ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e r e [ m ] ÐÐÐÐ↠ e ( p ∥ q ) + ( p ∥ r ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( e ∥ e ) + ( e + e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ r e [ m ] ÐÐÐÐ↠ r ′ p ∥ ( q + r ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ p ′ ∥ ( q ′ + r ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ r e [ m ] ÐÐÐÐ↠ r ′ ( p ∥ q ) + ( p ∥ r ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( p ′ ∥ q ′ ) + ( p ′ + r ′ ) So, with the assumptions e [ m ] ∥ ( e [ m ] + e [ m ]) ∼ frs ( e [ m ] ∥ e [ m ]) + ( e [ m ] ∥ e [ m ]) , e ∥ ( e + e ) ∼ frs ( e ∥ e ) + ( e ∥ e ) , p ′ ∥ ( q ′ + r ′ ) ∼ frs ( p ′ ∥ q ′ ) + ( p ′ ∥ r ′ ) , p ∥ ( q + r ) ∼ frs ( p ∥ q ) + ( p ∥ r ) , as desired. ● Axiom C
12. Let q be an RAP T C process, and e ∣ ( e ⋅ q ) = γ ( e , e ) ⋅ q , it is sufficient to prove that e ∣ ( e ⋅ q ) ∼ frs γ ( e , e ) ⋅ q . By the forward transition rules for operator ∣ in Table 11, we get e e Ð→ e [ m ] e e Ð→ e [ m ] e ∣ ( e ⋅ q ) γ ( e ,e ) ÐÐÐÐ→ e [ m ] ∣ ( e [ m ] ⋅ q ) e e Ð→ e [ m ] e e Ð→ e [ m ] γ ( e , e ) ⋅ q γ ( e ,e ) ÐÐÐÐ→ γ ( e , e )[ m ] ⋅ q By the reverse transition rules for operator ∣ in Table 12, there are no transitions.So, with the assumptions e [ m ] ∣ ( e [ m ] ⋅ q ) ∼ frs γ ( e , e )[ m ] ⋅ q , e ∣ ( e ⋅ q ) ∼ frs γ ( e , e ) ⋅ q , as desired. ● Axiom RC
12. Let q be an RAP T C process, and e [ m ] ∣ ( q ⋅ e [ m ]) = q ⋅ γ ( e , e )[ m ] , it is sufficient toprove that e [ m ] ∣ ( q ⋅ e [ m ]) ∼ frs q ⋅ γ ( e , e )[ m ] . By the forward transition rules for operator ∣ in Table11, there are no transitions.By the reverse transition rules for operator ∣ in Table 12, we get e e [ m ] ÐÐÐÐ↠ e e e [ m ] ÐÐÐÐ↠ e e [ m ] ∣ ( q ⋅ e [ m ]) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ e ∣ ( q ⋅ e ) e e [ m ] ÐÐÐÐ↠ e e e [ m ] ÐÐÐÐ↠ e q ⋅ γ ( e , e )[ m ] γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ q ⋅ γ ( e , e ) So, with the assumptions e ∣ ( q ⋅ e ) ∼ frs q ⋅ γ ( e , e ) , e [ m ] ∣ ( q ⋅ e [ m ]) ∼ frs q ⋅ γ ( e , e )[ m ] , as desired. ● Axiom C
13. Let p be an RAP T C process, and ( e ⋅ p ) ∣ e = γ ( e , e ) ⋅ p , it is sufficient to prove that ( e ⋅ p ) ∣ e ∼ frs γ ( e , e ) ⋅ p . By forward the transition rules for operator ∣ in Table 11, we get e e Ð→ e [ m ] e e Ð→ e [ m ]( e ⋅ p ) ∣ e γ ( e ,e ) ÐÐÐÐ→ ( e [ m ] ⋅ p ) ∣ e [ m ] e e Ð→ e [ m ] e e Ð→ e [ m ] γ ( e , e ) ⋅ p γ ( e ,e ) ÐÐÐÐ→ γ ( e , e )[ m ] ⋅ p By reverse the transition rules for operator ∣ in Table 12, there are no transitions.So, with the assumption ( e [ m ] ⋅ p ) ∣ e [ m ] ∼ frs γ ( e , e )[ m ] ⋅ p , ( e ⋅ p ) ∣ e ∼ frs γ ( e , e ) ⋅ p , as desired. ● Axiom RC
13. Let p be an RAP T C process, and ( p ⋅ e [ m ]) ∣ e [ m ] = p ⋅ γ ( e , e )[ m ] , it is sufficient toprove that ( p ⋅ e [ m ]) ∣ e [ m ] ∼ frs p ⋅ γ ( e , e )[ m ] . By forward the transition rules for operator ∣ in Table11, there are no transitions.By reverse the transition rules for operator ∣ in Table 12, we get e e [ m ] ÐÐÐÐ↠ e e e [ m ] ÐÐÐÐ↠ e ( p ⋅ e [ m ]) ∣ e [ m ] γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( p ⋅ e ) ∣ e e e [ m ] ÐÐÐÐ↠ e e e [ m ] ÐÐÐÐ↠ e p ⋅ γ ( e , e )[ m ] γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ p ⋅ γ ( e , e ) So, with the assumption ( p ⋅ e ) ∣ e ∼ frs p ⋅ γ ( e , e ) , ( p ⋅ e [ m ]) ∣ e [ m ] ∼ frs p ⋅ γ ( e , e )[ m ] , as desired. ● Axiom C
14. Let p, q be RAP T C processes, and ( e ⋅ p ) ∣ ( e ⋅ q ) = γ ( e , e ) ⋅ ( p ≬ q ) , it is sufficient toprove that ( e ⋅ p ) ∣ ( e ⋅ q ) ∼ frs γ ( e , e ) ⋅ ( p ≬ q ) . By the forward transition rules for operator ∣ in Table11, we get e e Ð→ e [ m ] e e Ð→ e [ m ]( e ⋅ p ) ∣ ( e ⋅ q ) γ ( e ,e ) ÐÐÐÐ→ ( e [ m ] ⋅ p ) ≬ ( e [ m ] ⋅ q ) e e Ð→ e [ m ] e e Ð→ e [ m ] γ ( e , e ) ⋅ ( p ≬ q ) γ ( e ,e ) ÐÐÐÐ→ γ ( e , e )[ m ] ⋅ ( p ≬ q ) By the reverse transition rules for operator ∣ in Table 12, there are no transitions.So, with the assumption ( e [ m ] ⋅ p ) ∣ ( e [ m ] ⋅ q ) ∼ frs γ ( e , e )[ m ] ⋅ ( p ≬ q ) , ( e ⋅ p ) ∣ ( e ⋅ q ) ∼ frs γ ( e , e ) ⋅ ( p ≬ q ) , as desired. ● Axiom RC
14. Let p, q be RAP T C processes, and ( p ⋅ e [ m ]) ∣ ( q ⋅ e [ m ]) = ( p ≬ q ) ⋅ γ ( e , e )[ m ] , it issufficient to prove that ( p ⋅ e [ m ]) ∣ ( q ⋅ e [ m ]) ∼ frs ( p ≬ q ) ⋅ γ ( e , e )[ m ] . By the forward transition rulesfor operator ∣ in Table 11, there are no transitions.By the reverse transition rules for operator ∣ in Table 12, we get e e [ m ] ÐÐÐÐ↠ e e e [ m ] ÐÐÐÐ↠ e ( p ⋅ e [ m ]) ∣ ( q ⋅ e [ m ]) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( p ⋅ e ) ∣ ( q ⋅ e ) e e [ m ] ÐÐÐÐ↠ e e e [ m ] ÐÐÐÐ↠ e ( p ≬ q ) ⋅ γ ( e , e )[ m ] γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( p ≬ q ) ⋅ γ ( e , e ) So, with the assumption ( p ⋅ e ) ∣ ( q ⋅ e ) ∼ frs ( p ≬ q ) ⋅ γ ( e , e ) , ( p ⋅ e [ m ]) ∣ ( q ⋅ e [ m ]) ∼ frs ( p ≬ q ) ⋅ γ ( e , e )[ m ] , as desired. ● Axiom C
15. Let p, q, r be RAP T C processes, and ( p + q ) ∣ r = ( p ∣ r ) + ( q ∣ r ) , it is sufficient to provethat ( p + q ) ∣ r ∼ frs ( p ∣ r ) + ( q ∣ r ) . There are several cases, we will not enumerate all. By the forwardtransition rules for operators + and ∣ in Table 3 and 11, we get raft of An Algebra of Reversible Computation 49 p e Ð→ e [ m ] q e Ð→ e [ m ] r e Ð→ e [ m ]( p + q ) ∣ r γ ( e ,e ) ÐÐÐÐ→ ( e [ m ] + e [ m ]) ∣ e [ m ] p e Ð→ e [ m ] q e Ð→ e [ m ] r e Ð→ e [ m ]( p ∣ r ) + ( q ∣ r ) γ ( e ,e ) ÐÐÐÐ→ ( e [ m ] ∣ e [ m ]) + ( e [ m ] ∣ e [ m ]) p e Ð→ p ′ q e Ð→ q ′ r e Ð→ r ′ ( p + q ) ∣ r γ ( e ,e ) ÐÐÐÐ→ ( p ′ + q ′ ) ∣ r ′ p e Ð→ p ′ q e Ð→ q ′ r e Ð→ r ′ ( p ∣ r ) + ( q ∣ r ) γ ( e ,e ) ÐÐÐÐ→ ( p ′ ∣ r ′ ) + ( q ′ ∣ r ′ ) By the reverse transition rules for operators + and ∣ in Table 4 and 12, we get p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e r e [ m ] ÐÐÐÐ↠ e ( p + q ) ∣ r γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( e + e ) ∣ e p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e r e [ m ] ÐÐÐÐ↠ e ( p ∣ r ) + ( q ∣ r ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( e ∣ e ) + ( e ∣ e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ r e [ m ] ÐÐÐÐ↠ r ′ ( p + q ) ∣ r γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( p ′ + q ′ ) ∣ r ′ p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ r e [ m ] ÐÐÐÐ↠ r ′ ( p ∣ r ) + ( q ∣ r ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( p ′ ∣ r ′ ) + ( q ′ ∣ r ′ ) So, with the assumptions ( e [ m ] + e [ m ]) ∣ e [ m ] ∼ frs ( e [ m ] ∣ e [ m ]) + ( e [ m ] ∣ e [ m ]) , ( e + e ) ∣ e ∼ frs ( e ∣ e ) + ( e ∣ e ) , ( p ′ + q ′ ) ∣ r ′ ∼ frs ( p ′ ∣ r ′ ) + ( q ′ ∣ r ′ ) , ( p + q ) ∣ r ∼ frs ( p ∣ r ) + ( q ∣ r ) , as desired. ● Axiom C
16. Let p, q, r be RAP T C processes, and p ∣ ( q + r ) = ( p ∣ q ) + ( p ∣ r ) , it is sufficient to provethat p ∣ ( q + r ) ∼ frs ( p ∣ q ) + ( p ∣ r ) . There are several cases, we will not enumerate all. By the forwardtransition rules for operators + and ∣ in Table 3 and 11, we get p e Ð→ e [ m ] q e Ð→ e [ m ] r e Ð→ e [ m ] p ∣ ( q + r ) γ ( e ,e ) ÐÐÐÐ→ e [ m ] ∥ ( e [ m ] + e [ m ]) p e Ð→ e [ m ] q e Ð→ e [ m ] r e Ð→ e [ m ]( p ∣ q ) + ( p ∣ r ) γ ( e ,e ) ÐÐÐÐ→ ( e [ m ] ∣ e [ m ]) + ( e [ m ] ∣ e [ m ]) p e Ð→ p ′ q e Ð→ q ′ r e Ð→ r ′ p ∣ ( q + r ) γ ( e ,e ) ÐÐÐÐ→ p ′ ∥ ( q ′ + r ′ ) p e Ð→ p ′ q e Ð→ q ′ r e Ð→ r ′ ( p ∣ q ) + ( p ∣ r ) γ ( e ,e ) ÐÐÐÐ→ ( p ′ ∣ q ′ ) + ( p ′ ∣ r ′ ) By the reverse transition rules for operators + and ∣ in Table 4 and 12, we get p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e r e [ m ] ÐÐÐÐ↠ e p ∣ ( q + r ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ e ∥ ( e + e ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e r e [ m ] ÐÐÐÐ↠ e ( p ∣ q ) + ( p ∣ r ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( e ∣ e ) + ( e ∣ e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ r e [ m ] ÐÐÐÐ↠ r ′ p ∣ ( q + r ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ p ′ ∥ ( q ′ + r ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ r e [ m ] ÐÐÐÐ↠ r ′ ( p ∣ q ) + ( p ∣ r ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( p ′ ∣ q ′ ) + ( p ′ ∣ r ′ ) So, with the assumptions e [ m ] ∣ ( e [ m ] + e [ m ]) ∼ frs ( e [ m ] ∣ e [ m ]) + ( e [ m ] ∣ e [ m ]) , e ∣ ( e + e ) ∼ frs ( e ∣ e ) + ( e ∣ e ) , p ′ ∣ ( q ′ + r ′ ) ∼ frs ( p ′ ∣ q ′ ) + ( p ′ ∣ r ′ ) , p ∣ ( q + r ) ∼ frs ( p ∣ q ) + ( p ∣ r ) , as desired. ● Axiom CE
21. Let p, q be RAP T C processes, and Θ ( p + q ) = Θ ( p ) ◁ q + Θ ( q ) ◁ p , it is sufficient to provethat Θ ( p + q ) ∼ frs Θ ( p ) ◁ q + Θ ( q ) ◁ p . By the forward transition rules for operators + in Table 3, and Θand ◁ in Table 13, we get p e Ð→ e [ m ]( ♯ ( e , e )) Θ ( p + q ) e Ð→ Θ ( e [ m ] + q ) p e Ð→ e [ m ]( ♯ ( e , e )) Θ ( p ) ◁ q + Θ ( q ) ◁ p e Ð→ Θ ( e [ m ]) ◁ q + Θ ( q ) ◁ e [ m ] q e Ð→ e [ m ]( ♯ ( e , e )) Θ ( p + q ) e Ð→ Θ ( p + e [ m ]) q e Ð→ e [ m ]( ♯ ( e , e )) Θ ( p ) ◁ q + Θ ( q ) ◁ p e Ð→ Θ ( p ) ◁ e [ m ] + Θ ( e [ m ]) ◁ p p e Ð→ p ′ ( ♯ ( e , e )) Θ ( p + q ) e Ð→ Θ ( p ′ + q ) p e Ð→ p ′ ( ♯ ( e , e )) Θ ( p ) ◁ q + Θ ( q ) ◁ p e Ð→ Θ ( p ′ ) ◁ q + Θ ( q ) ◁ p ′ q e Ð→ q ′ ( ♯ ( e , e )) Θ ( p + q ) e Ð→ Θ ( p + q ′ ) q e Ð→ q ′ ( ♯ ( e , e )) Θ ( p ) ◁ q + Θ ( q ) ◁ p e Ð→ Θ ( p ) ◁ q ′ + Θ ( q ′ ) ◁ p By the reverse transition rules for operators + in Table 4, and Θ and ◁ in Table 14, we get p e [ m ] ÐÐÐÐ↠ e ( ♯ ( e , e )) Θ ( p + q ) e [ m ] ÐÐÐÐ↠ Θ ( e + q ) p e [ m ] ÐÐÐÐ↠ e ( ♯ ( e , e )) Θ ( p ) ◁ q + Θ ( q ) ◁ p e [ m ] ÐÐÐÐ↠ Θ ( e ) ◁ q + Θ ( q ) ◁ e q e [ m ] ÐÐÐÐ↠ e ( ♯ ( e , e )) Θ ( p + q ) e [ m ] ÐÐÐÐ↠ Θ ( p + e ) q e [ m ] ÐÐÐÐ↠ e ( ♯ ( e , e )) Θ ( p ) ◁ q + Θ ( q ) ◁ p e [ m ] ÐÐÐÐ↠ Θ ( p ) ◁ e + Θ ( e ) ◁ pp e [ m ] ÐÐÐÐ↠ p ′ ( ♯ ( e , e )) Θ ( p + q ) e [ m ] ÐÐÐÐ↠ Θ ( p ′ + q ) p e [ m ] ÐÐÐÐ↠ p ′ ( ♯ ( e , e )) Θ ( p ) ◁ q + Θ ( q ) ◁ p e [ m ] ÐÐÐÐ↠ Θ ( p ′ ) ◁ q + Θ ( q ) ◁ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( ♯ ( e , e )) Θ ( p + q ) e [ m ] ÐÐÐÐ↠ Θ ( p + q ′ ) q e [ m ] ÐÐÐÐ↠ q ′ ( ♯ ( e , e )) Θ ( p ) ◁ q + Θ ( q ) ◁ p e [ m ] ÐÐÐÐ↠ Θ ( p ) ◁ q ′ + Θ ( q ′ ) ◁ p So, with the assumptions Θ ( e [ m ] + q ) ∼ frs Θ ( e [ m ]) ◁ q + Θ ( q ) ◁ e [ m ] , Θ ( e + q ) ∼ frs Θ ( e ) ◁ q + Θ ( q ) ◁ e ,Θ ( p + e [ m ]) ∼ frs Θ ( p ) ◁ e [ m ] + Θ ( e [ m ]) ◁ p , Θ ( p + e ) ∼ frs Θ ( p ) ◁ e + Θ ( e ) ◁ p , Θ ( p + q ′ ) ∼ frs Θ ( p ) ◁ q ′ + Θ ( q ′ ) ◁ p , Θ ( p ′ + q ) ∼ frs Θ ( p ′ ) ◁ q + Θ ( q ) ◁ p ′ , Θ ( p + q ) ∼ frs Θ ( p ) ◁ q + Θ ( q ) ◁ p , as desired. ● Axiom CE
22. Let p, q be RAP T C processes, and Θ ( p ⋅ q ) = Θ ( p ) ⋅ Θ ( q ) , it is sufficient to prove thatΘ ( p ⋅ q ) ∼ frs Θ ( p ) ⋅ Θ ( q ) . There several cases, we will not enumerate all. By the forward transition rulesfor operators ⋅ in Table 3, and Θ in Table 13, we get p e Ð→ e [ m ] Θ ( p ⋅ q ) e Ð→ Θ ( e [ m ] ⋅ q ) p e Ð→ e [ m ] Θ ( p ) ⋅ Θ ( q ) e Ð→ Θ ( e [ m ]) ⋅ Θ ( q ) p e Ð→ p ′ Θ ( p ⋅ q ) e Ð→ Θ ( p ′ ⋅ q ) p e Ð→ p ′ Θ ( p ) ⋅ Θ ( q ) e Ð→ Θ ( p ′ ) ⋅ Θ ( q ) By the reverse transition rules for operators ⋅ in Table 4, and Θ in Table 14, we get q e [ m ] ÐÐÐÐ↠ e Θ ( p ⋅ q ) e [ m ] ÐÐÐÐ↠ Θ ( p ⋅ e ) q e [ m ] ÐÐÐÐ↠ e Θ ( p ) ⋅ Θ ( q ) e [ m ] ÐÐÐÐ↠ Θ ( p ) ⋅ Θ ( e ) q e [ m ] ÐÐÐÐ↠ q ′ Θ ( p ⋅ q ) e [ m ] ÐÐÐÐ↠ Θ ( p ⋅ q ′ ) q e [ m ] ÐÐÐÐ↠ q ′ Θ ( p ) ⋅ Θ ( q ) e [ m ] ÐÐÐÐ↠ Θ ( p ) ⋅ Θ ( q ′ ) So, with the assumption Θ ( e [ m ] ⋅ q ) ∼ frs Θ ( e [ m ]) ⋅ Θ ( q ) , Θ ( p ⋅ e ) ∼ frs Θ ( p ) ⋅ Θ ( e ) , Θ ( p ′ ⋅ q ) ∼ frs Θ ( p ′ ) ⋅ Θ ( q ) ,Θ ( p ⋅ q ′ ) ∼ frs Θ ( p ) ⋅ Θ ( q ′ ) , Θ ( p ⋅ q ) ∼ frs Θ ( p ) ⋅ Θ ( q ) , as desired. ● Axiom CE
23. Let p, q be RAP T C processes, and Θ ( p ∥ q ) = (( Θ ( p ) ◁ q ) ∥ q ) + (( Θ ( q ) ◁ p ) ∥ p ) , it issufficient to prove that Θ ( p ∥ q ) ∼ frs (( Θ ( p ) ◁ q ) ∥ q ) + (( Θ ( q ) ◁ p ) ∥ p ) . By the forward transition rulesfor operators + in Table 3, and Θ and ◁ in Table 13, and ∥ in Table 9 we get raft of An Algebra of Reversible Computation 51 p e Ð→ e [ m ] q e Ð→ e [ m ] Θ ( p ∥ q ) { e ,e } ÐÐÐÐ→ Θ ( e [ m ] ∥ e [ m ]) p e Ð→ e [ m ] q e Ð→ e [ m ](( Θ ( p ) ◁ q ) ∥ q ) + (( Θ ( q ) ◁ p ) ∥ p ) { e ,e } ÐÐÐÐ→ (( Θ ( e [ m ]) ◁ e [ m ]) ∥ e [ m ]) + (( Θ ( e [ m ]) ◁ e [ m ]) ∥ e [ m ]) p e Ð→ p ′ q e Ð→ e [ m ] Θ ( p ∥ q ) { e ,e } ÐÐÐÐ→ Θ ( p ′ ∥ e [ m ]) p e Ð→ p ′ q e Ð→ e [ m ](( Θ ( p ) ◁ q ) ∥ q ) + (( Θ ( q ) ◁ p ) ∥ p ) { e ,e } ÐÐÐÐ→ (( Θ ( p ) ◁ e [ m ]) ∥ e [ m ]) + (( Θ ( e [ m ]) ◁ p ) ∥ p ) p e Ð→ e [ m ] q e Ð→ q ′ Θ ( p ∥ q ) { e ,e } ÐÐÐÐ→ Θ ( e [ m ] ∥ q ′ ) p e Ð→ e [ m ] q e Ð→ q ′ (( Θ ( p ) ◁ q ) ∥ q ) + (( Θ ( q ) ◁ p ) ∥ p ) { e ,e } ÐÐÐÐ→ (( Θ ( e [ m ]) ◁ q ) ∥ q ) + (( Θ ( q ) ◁ e [ m ]) ∥ e [ m ]) p e Ð→ p ′ q e Ð→ q ′ Θ ( p ∥ q ) { e ,e } ÐÐÐÐ→ Θ ( p ′ ≬ q ′ ) p e Ð→ p ′ q e Ð→ q ′ (( Θ ( p ) ◁ q ) ∥ q ) + (( Θ ( q ) ◁ p ) ∥ p ) { e ,e } ÐÐÐÐ→ (( Θ ( p ′ ) ◁ q ′ ) ≬ q ′ ) + (( Θ ( q ′ ) ◁ p ′ ) ≬ p ′ ) By the reverse transition rules for operators + in Table 4, and Θ and ◁ in Table 14, and ∥ in Table 10we get p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e Θ ( p ∥ q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ Θ ( e ∥ e ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e (( Θ ( p ) ◁ q ) ∥ q ) + (( Θ ( q ) ◁ p ) ∥ p ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ (( Θ ( e ) ◁ e ) ∥ e ) + (( Θ ( e ) ◁ e ) ∥ e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e Θ ( p ∥ q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ Θ ( p ′ ∥ e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e (( Θ ( p ) ◁ q ) ∥ q ) + (( Θ ( q ) ◁ p ) ∥ p ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ (( Θ ( p ) ◁ e ) ∥ e ) + (( Θ ( e ) ◁ p ) ∥ p ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ Θ ( p ∥ q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ Θ ( e ∥ q ′ ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ (( Θ ( p ) ◁ q ) ∥ q ) + (( Θ ( q ) ◁ p ) ∥ p ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ (( Θ ( e ) ◁ q ) ∥ q ) + (( Θ ( q ) ◁ e ) ∥ e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ Θ ( p ∥ q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ Θ ( p ′ ≬ q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ (( Θ ( p ) ◁ q ) ∥ q ) + (( Θ ( q ) ◁ p ) ∥ p ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ (( Θ ( p ′ ) ◁ q ′ ) ≬ q ′ ) + (( Θ ( q ′ ) ◁ p ′ ) ≬ p ′ ) So, with the assumptions Θ ( e [ m ] ∥ e [ m ]) ∼ frs (( Θ ( e [ m ]) ◁ e [ m ]) ∥ e [ m ]) + (( Θ ( e [ m ]) ◁ e [ m ]) ∥ e [ m ]) , Θ ( e ∥ e ) ∼ frs (( Θ ( e ) ◁ e ) ∥ e ) + (( Θ ( e ) ◁ e ) ∥ e ) , Θ ( e [ m ] ∥ q ′ ) ∼ frs (( Θ ( e [ m ]) ◁ q ′ ) ∥ q ′ ) + (( Θ ( q ′ ) ◁ e [ m ]) ∥ e [ m ]) , Θ ( e ∥ q ′ ) ∼ frs (( Θ ( e ) ◁ q ′ ) ∥ q ′ ) + (( Θ ( q ′ ) ◁ e ) ∥ e ) , Θ ( p ′ ∥ e [ m ]) ∼ frs (( Θ ( p ′ ) ◁ e [ m ]) ∥ e [ m ]) + (( Θ ( e [ m ]) ◁ p ′ ) ∥ p ′ ) , Θ ( p ′ ∥ e ) ∼ frs (( Θ ( p ′ ) ◁ e ) ∥ e ) + (( Θ ( e ) ◁ p ′ ) ∥ p ′ ) ,Θ ( p ′ ≬ q ′ ) ∼ frs (( Θ ( p ′ ) ◁ q ′ ) ≬ q ′ ) + (( Θ ( q ′ ) ◁ p ′ ) ≬ p ′ ) , Θ ( p ∥ q ) ∼ frs (( Θ ( p ) ◁ q ) ∥ q ) + (( Θ ( q ) ◁ p ) ∥ p ) ,as desired. ● Axiom CE
24. Let p, q be RAP T C processes, and Θ ( p ∣ q ) = (( Θ ( p ) ◁ q ) ∣ q ) + (( Θ ( q ) ◁ p ) ∣ p ) , it issufficient to prove that Θ ( p ∣ q ) ∼ frs (( Θ ( p ) ◁ q ) ∣ q ) + (( Θ ( q ) ◁ p ) ∣ p ) . By the forward transition rulesfor operators + in Table 3, and Θ and ◁ in Table 13, and ∣ in Table 11 we get p e Ð→ e [ m ] q e Ð→ e [ m ] Θ ( p ∣ q ) γ ( e ,e ) ÐÐÐÐ→ Θ ( e [ m ] ∣ e [ m ]) p e Ð→ e [ m ] q e Ð→ e [ m ](( Θ ( p ) ◁ q ) ∣ q ) + (( Θ ( q ) ◁ p ) ∣ p ) γ ( e ,e ) ÐÐÐÐ→ (( Θ ( e [ m ]) ◁ e [ m ]) ∣ e [ m ]) + (( Θ ( e [ m ]) ◁ e [ m ]) ∣ e [ m ] p e Ð→ p ′ q e Ð→ e [ m ] Θ ( p ∣ q ) γ ( e ,e ) ÐÐÐÐ→ Θ ( p ′ ∣ e [ m ]) p e Ð→ p ′ q e Ð→ e [ m ](( Θ ( p ) ◁ q ) ∣ q ) + (( Θ ( q ) ◁ p ) ∣ p ) γ ( e ,e ) ÐÐÐÐ→ (( Θ ( p ′ ) ◁ e [ m ]) ∣ e [ m ]) + (( Θ ( e [ m ]) ◁ p ′ ) ∣ p ′ p e Ð→ e [ m ] q e Ð→ q ′ Θ ( p ∣ q ) γ ( e ,e ) ÐÐÐÐ→ Θ ( e [ m ] ∣ q ′ ) p e Ð→ e [ m ] q e Ð→ q ′ (( Θ ( p ) ◁ q ) ∣ q ) + (( Θ ( q ) ◁ p ) ∣ p ) γ ( e ,e ) ÐÐÐÐ→ (( Θ ( e [ m ]) ◁ q ′ ) ∣ q ′ ) + (( Θ ( q ′ ) ◁ e [ m ]) ∣ e [ m ] p e Ð→ p ′ q e Ð→ q ′ Θ ( p ∣ q ) γ ( e ,e ) ÐÐÐÐ→ Θ ( p ′ ≬ q ′ ) p e Ð→ p ′ q e Ð→ q ′ (( Θ ( p ) ◁ q ) ∣ q ) + (( Θ ( q ) ◁ p ) ∣ p ) γ ( e ,e ) ÐÐÐÐ→ (( Θ ( p ′ ) ◁ q ′ ) ≬ q ′ ) + (( Θ ( q ′ ) ◁ p ′ ) ≬ p ′ ) By the reverse transition rules for operators + in Table 4, and Θ and ◁ in Table 14, and ∣ in Table 12we get p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e Θ ( p ∣ q ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ Θ ( e ∣ e ) raft of An Algebra of Reversible Computation 53 p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e (( Θ ( p ) ◁ q ) ∣ q ) + (( Θ ( q ) ◁ p ) ∣ p ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ (( Θ ( e ) ◁ e ) ∣ e ) + (( Θ ( e ) ◁ e ) ∣ e p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e [ m ] Θ ( p ∣ q ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ Θ ( p ′ ∣ e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e (( Θ ( p ) ◁ q ) ∣ q ) + (( Θ ( q ) ◁ p ) ∣ p ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ (( Θ ( p ′ ) ◁ e ) ∣ e ) + (( Θ ( e ) ◁ p ′ ) ∣ p ′ p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ Θ ( p ∣ q ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ Θ ( e ∣ q ′ ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ (( Θ ( p ) ◁ q ) ∣ q ) + (( Θ ( q ) ◁ p ) ∣ p ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ (( Θ ( e ) ◁ q ′ ) ∣ q ′ ) + (( Θ ( q ′ ) ◁ e ) ∣ e p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ Θ ( p ∣ q ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ Θ ( p ′ ≬ q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ (( Θ ( p ) ◁ q ) ∣ q ) + (( Θ ( q ) ◁ p ) ∣ p ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ (( Θ ( p ′ ) ◁ q ′ ) ≬ q ′ ) + (( Θ ( q ′ ) ◁ p ′ ) ≬ p ′ ) So, with the assumptions Θ ( e [ m ] ∣ e [ m ]) ∼ frs (( Θ ( e [ m ]) ◁ e [ m ]) ∣ e [ m ]) + (( Θ ( e [ m ]) ◁ e [ m ]) ∣ e [ m ]) , Θ ( e ∣ e ) ∼ frs (( Θ ( e ) ◁ e ) ∣ e ) + (( Θ ( e ) ◁ e ) ∣ e ) , Θ ( e [ m ] ∣ q ′ ) ∼ frs (( Θ ( e [ m ]) ◁ q ′ ) ∣ q ′ ) + (( Θ ( q ′ ) ◁ e [ m ]) ∣ e [ m ]) , Θ ( e ∣ q ′ ) ∼ frs (( Θ ( e ) ◁ q ′ ) ∣ q ′ ) + (( Θ ( q ′ ) ◁ e ) ∣ e ) , Θ ( p ′ ∣ e [ m ]) ∼ frs (( Θ ( p ′ ) ◁ e [ m ]) ∣ e [ m ]) + (( Θ ( e [ m ]) ◁ p ′ ) ∣ p ′ ) , Θ ( p ′ ∣ e ) ∼ frs (( Θ ( p ′ ) ◁ e ) ∣ e ) + (( Θ ( e ) ◁ p ′ ) ∣ p ′ ) ,Θ ( p ′ ≬ q ′ ) ∼ frs (( Θ ( p ′ ) ◁ q ′ ) ≬ q ′ ) + (( Θ ( q ′ ) ◁ p ′ ) ≬ p ′ ) , Θ ( p ∣ q ) ∼ frs (( Θ ( p ) ◁ q ) ∣ q ) + (( Θ ( q ) ◁ p ) ∣ p ) ,as desired. ● Axiom U
30. Let p, q, r be RAP T C processes, and ( p + q ) ◁ r = ( p ◁ r ) + ( q ◁ r ) , it is sufficient to provethat ( p + q ) ◁ r ∼ frs ( p ◁ r ) + ( q ◁ r ) . By the forward transition rules for operators + and ◁ in Table 3and 13, we get p e Ð→ e [ m ] e ∉ q ( p + q ) ◁ r e Ð→ ( e [ m ] + q ) ◁ r p e Ð→ e [ m ] e ∉ q ( p ◁ r ) + ( q ◁ r ) e Ð→ ( e [ m ] ◁ r ) + ( q ◁ r ) q e Ð→ e [ m ] e ∉ p ( p + q ) ◁ r e Ð→ ( p + e [ m ]) ◁ r q e Ð→ e [ m ] e ∉ p ( p ◁ r ) + ( q ◁ r ) e Ð→ ( p ◁ r ) + ( e [ m ] ◁ r ) p e Ð→ p ′ e ∉ q ( p + q ) ◁ r e Ð→ ( p ′ + q ) ◁ r p e Ð→ p ′ e ∉ q ( p ◁ r ) + ( q ◁ r ) e Ð→ ( p ′ ◁ r ) + ( q ◁ r ) q e Ð→ q ′ e ∉ p ( p + q ) ◁ r e Ð→ ( p + q ′ ) ◁ r q e Ð→ q ′ e ∉ p ( p ◁ r ) + ( q ◁ r ) e Ð→ ( p ◁ r ) + ( q ′ ◁ r ) p e Ð→ p ′ q e Ð→ q ′ ( p + q ) ◁ r e Ð→ ( p ′ + q ′ ) ◁ r p e Ð→ p ′ q e Ð→ q ′ ( p ◁ r ) + ( q ◁ r ) e Ð→ ( p ′ ◁ r ) + ( q ′ ◁ r ) By the reverse transition rules for operators + and ◁ in Table 4 and 14, we get p e [ m ] ÐÐÐÐ↠ e e ∉ q ( p + q ) ◁ r e [ m ] ÐÐÐÐ↠ ( e + q ) ◁ r p e [ m ] ÐÐÐÐ↠ e e ∉ q ( p ◁ r ) + ( q ◁ r ) e [ m ] ÐÐÐÐ↠ ( e ◁ r ) + ( q ◁ r ) q e ÐÐ↠ e [ m ] e ∉ p ( p + q ) ◁ r e [ m ] ÐÐÐÐ↠ ( p + e ) ◁ r q e [ m ] ÐÐÐÐ↠ e e ∉ p ( p ◁ r ) + ( q ◁ r ) e [ m ] ÐÐÐÐ↠ ( p ◁ r ) + ( e ◁ r ) p e [ m ] ÐÐÐÐ↠ p ′ e ∉ q ( p + q ) ◁ r e [ m ] ÐÐÐÐ↠ ( p ′ + q ) ◁ r p e [ m ] ÐÐÐÐ↠ p ′ e ∉ q ( p ◁ r ) + ( q ◁ r ) e [ m ] ÐÐÐÐ↠ ( p ′ ◁ r ) + ( q ◁ r ) q e [ m ] ÐÐÐÐ↠ q ′ e ∉ p ( p + q ) ◁ r e [ m ] ÐÐÐÐ↠ ( p + q ′ ) ◁ r q e [ m ] ÐÐÐÐ↠ q ′ e ∉ p ( p ◁ r ) + ( q ◁ r ) e [ m ] ÐÐÐÐ↠ ( p ◁ r ) + ( q ′ ◁ r ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( p + q ) ◁ r e [ m ] ÐÐÐÐ↠ ( p ′ + q ′ ) ◁ r p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( p ◁ r ) + ( q ◁ r ) e [ m ] ÐÐÐÐ↠ ( p ′ ◁ r ) + ( q ′ ◁ r ) So, with the assumptions ( e [ m ] + q ) ◁ r ∼ frs ( e [ m ] ◁ r ) + ( q ◁ r ) , ( e + q ) ◁ r ∼ frs ( e ◁ r ) + ( q ◁ r ) , ( p + e [ m ]) ◁ r ∼ frs ( p ◁ r ) + ( e [ m ] ◁ r ) , ( p ′ + q ) ◁ r ∼ frs ( p ′ ◁ r ) + ( q ◁ r ) , ( p + q ′ ) ◁ r ∼ frs ( p ◁ r ) + ( q ′ ◁ r ) , ( p ′ + q ′ ) ◁ r ∼ frs ( p ′ ◁ r ) + ( q ′ ◁ r ) , ( p + q ) ◁ r ∼ frs ( p ◁ r ) + ( q ◁ r ) , as desired. ● Axiom U
31. Let p, q, r be RAP T C processes, and ( p ⋅ q ) ◁ r = ( p ◁ r ) ⋅ ( q ◁ r ) , it is sufficient to provethat ( p ⋅ q ) ◁ r ∼ frs ( p ◁ r ) ⋅ ( q ◁ r ) . By the forward transition rules for operators ⋅ and ◁ in Table 3 and13, we get p e Ð→ e [ m ]( p ⋅ q ) ◁ r e Ð→ ( e [ m ] ⋅ q ) ◁ r p e Ð→ e [ m ]( p ◁ r ) ⋅ ( q ◁ r ) e Ð→ ( e [ m ] ◁ r ) ⋅ ( q ◁ r ) p e Ð→ p ′ ( p ⋅ q ) ◁ r e Ð→ ( p ′ ⋅ q ) ◁ r p e Ð→ p ′ ( p ◁ r ) ⋅ ( q ◁ r ) e Ð→ ( p ′ ◁ r ) ⋅ ( q ◁ r ) By the reverse transition rules for operators ⋅ and ◁ in Table 4 and 14, we get q e [ m ] ÐÐÐÐ↠ e ( p ⋅ q ) ◁ r e [ m ] ÐÐÐÐ↠ ( p ⋅ e ) ◁ r q e [ m ] ÐÐÐÐ↠ e ( p ◁ r ) ⋅ ( q ◁ r ) e [ m ] ÐÐÐÐ↠ ( p ◁ r ) ⋅ ( e ◁ r ) q e [ m ] ÐÐÐÐ↠ q ′ ( p ⋅ q ) ◁ r e [ m ] ÐÐÐÐ↠ ( p ⋅ q ′ ) ◁ r q e [ m ] ÐÐÐÐ↠ q ′ ( p ◁ r ) ⋅ ( q ◁ r ) e [ m ] ÐÐÐÐ↠ ( p ◁ r ) ⋅ ( q ′ ◁ r ) With the assumptions ( e [ m ] ⋅ q ) ◁ r ∼ frs ( e [ m ] ◁ r ) ⋅ ( q ◁ r ) , ( e ⋅ q ) ◁ r ∼ frs ( e ◁ r ) ⋅ ( q ◁ r ) , ( p ′ ⋅ q ) ◁ r = ( p ′ ◁ r ) ⋅ ( q ◁ r ) , ( p ⋅ e [ m ]) ◁ r ∼ frs ( p ◁ r ) ⋅ ( e [ m ] ◁ r ) , ( p ⋅ e ) ◁ r ∼ frs ( p ◁ r ) ⋅ ( e ◁ r ) , ( p ⋅ q ′ ) ◁ r = ( p ◁ r ) ⋅ ( q ′ ◁ r ) ,so, ( p ⋅ q ) ◁ r ∼ frs ( p ◁ r ) ⋅ ( q ◁ r ) , as desired. ● Axiom U
32. Let p, q, r be RAP T C processes, and ( p ∥ q ) ◁ r = ( p ◁ r ) ∥ ( q ◁ r ) , it is sufficient to provethat ( p ∥ q ) ◁ r ∼ frs ( p ◁ r ) ∥ ( q ◁ r ) . By the forward transition rules for operators ∥ and ◁ in Table 9and 13, we get p e Ð→ e [ m ] q e Ð→ e [ m ]( p ∥ q ) ◁ r { e ,e } ÐÐÐÐ→ ( e [ m ] ∥ e [ m ]) ◁ r p e Ð→ e [ m ] q e Ð→ e [ m ]( p ◁ r ) ∥ ( q ◁ r ) { e ,e } ÐÐÐÐ→ ( e [ m ] ◁ r ) ∥ ( e [ m ] ◁ r ) raft of An Algebra of Reversible Computation 55 p e Ð→ p ′ q e Ð→ e [ m ]( p ∥ q ) ◁ r { e ,e } ÐÐÐÐ→ ( p ′ ∥ e [ m ]) ◁ r p e Ð→ p ′ q e Ð→ e [ m ]( p ◁ r ) ∥ ( q ◁ r ) { e ,e } ÐÐÐÐ→ ( p ′ ◁ r ) ∥ ( e [ m ] ◁ r ) p e Ð→ e [ m ] q e Ð→ q ′ ( p ∥ q ) ◁ r { e ,e } ÐÐÐÐ→ ( e [ m ] ∥ q ′ ) ◁ r p e Ð→ e [ m ] q e Ð→ q ′ ( p ◁ r ) ∥ ( q ◁ r ) { e ,e } ÐÐÐÐ→ ( e [ m ] ◁ r ) ∥ ( q ′ ◁ r ) p e Ð→ p ′ q e Ð→ q ′ ( p ∥ q ) ◁ r { e ,e } ÐÐÐÐ→ ( p ′ ≬ q ′ ) ◁ r p e Ð→ p ′ q e Ð→ q ′ ( p ◁ r ) ∥ ( q ◁ r ) { e ,e } ÐÐÐÐ→ ( p ′ ◁ r ) ≬ ( q ′ ◁ r ) By the reverse transition rules for operators ∥ and ◁ in Table 10 and 14, we get p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e ( p ∥ q ) ◁ r { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( e ∥ e ) ◁ r p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e ( p ◁ r ) ∥ ( q ◁ r ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( e ◁ r ) ∥ ( e ◁ r ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e ( p ∥ q ) ◁ r { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( p ′ ∥ e ) ◁ r p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e ( p ◁ r ) ∥ ( q ◁ r ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( p ′ ◁ r ) ∥ ( e ◁ r ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ ( p ∥ q ) ◁ r { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( e ∥ q ′ ) ◁ r p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ ( p ◁ r ) ∥ ( q ◁ r ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( e ◁ r ) ∥ ( q ′ ◁ r ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( p ∥ q ) ◁ r { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( p ′ ≬ q ′ ) ◁ r p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( p ◁ r ) ∥ ( q ◁ r ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ( p ′ ◁ r ) ≬ ( q ′ ◁ r ) With the assumptions ( e [ m ] ∥ e [ m ]) ◁ r ∼ frs ( e [ m ] ◁ r ) ∥ ( e [ m ] ◁ r ) , ( e ∥ e ) ◁ r ∼ frs ( e ◁ r ) ∥ ( e ◁ r ) , ( e [ m ] ∥ q ′ ) ◁ r ∼ frs ( e [ m ] ◁ r ) ∥ ( q ′ ◁ r ) , ( e ∥ q ′ ) ◁ r ∼ frs ( e ◁ r ) ∥ ( q ′ ◁ r ) , ( p ′ ∥ e [ m ]) ◁ r ∼ frs ( p ′ ◁ r ) ∥ ( e [ m ] ◁ r ) , ( p ′ ∥ e ) ◁ r ∼ frs ( p ′ ◁ r ) ∥ ( e ◁ r ) , ( p ′ ≬ q ′ ) ◁ r = ( p ′ ◁ r ) ≬ ( q ′ ◁ r ) , so, ( p ∥ q ) ◁ r ∼ frs ( p ◁ r ) ∥ ( q ◁ r ) , as desired. ● Axiom U
33. Let p, q, r be RAP T C processes, and ( p ∣ q ) ◁ r = ( p ◁ r ) ∣ ( q ◁ r ) , it is sufficient to provethat ( p ∣ q ) ◁ r ∼ frs ( p ◁ r ) ∣ ( q ◁ r ) . By the forward transition rules for operators ∣ and ◁ in Table 11and 13, we get p e Ð→ e [ m ] q e Ð→ e [ m ]( p ∣ q ) ◁ r γ ( e ,e ) ÐÐÐÐ→ ( e [ m ] ∣ e [ m ]) ◁ r p e Ð→ e [ m ] q e Ð→ e [ m ]( p ◁ r ) ∣ ( q ◁ r ) γ ( e ,e ) ÐÐÐÐ→ ( e [ m ] ◁ r ) ∣ ( e [ m ] ◁ r ) p e Ð→ p ′ q e Ð→ e [ m ]( p ∣ q ) ◁ r γ ( e ,e ) ÐÐÐÐ→ ( p ′ ∣ e [ m ]) ◁ r p e Ð→ p ′ q e Ð→ e [ m ]( p ◁ r ) ∣ ( q ◁ r ) γ ( e ,e ) ÐÐÐÐ→ ( p ′ ◁ r ) ∣ ( e [ m ] ◁ r ) p e Ð→ e [ m ] q e Ð→ q ′ ( p ∣ q ) ◁ r γ ( e ,e ) ÐÐÐÐ→ ( e [ m ] ∣ q ′ ) ◁ r p e Ð→ e [ m ] q e Ð→ q ′ ( p ◁ r ) ∣ ( q ◁ r ) γ ( e ,e ) ÐÐÐÐ→ ( e [ m ] ◁ r ) ∣ ( q ′ ◁ r ) p e Ð→ p ′ q e Ð→ q ′ ( p ∣ q ) ◁ r γ ( e ,e ) ÐÐÐÐ→ ( p ′ ≬ q ′ ) ◁ r p e Ð→ p ′ q e Ð→ q ′ ( p ◁ r ) ∣ ( q ◁ r ) γ ( e ,e ) ÐÐÐÐ→ ( p ′ ◁ r ) ≬ ( q ′ ◁ r ) By the reverse transition rules for operators ∣ and ◁ in Table 12 and 14, we get p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e ( p ∣ q ) ◁ r γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( e ∣ e ) ◁ r p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e ( p ◁ r ) ∣ ( q ◁ r ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( e ◁ r ) ∣ ( e ◁ r ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e ( p ∣ q ) ◁ r γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( p ′ ∣ e ) ◁ r p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e ( p ◁ r ) ∣ ( q ◁ r ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( p ′ ◁ r ) ∣ ( e ◁ r ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ ( p ∣ q ) ◁ r γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( e ∣ q ′ ) ◁ r p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ ( p ◁ r ) ∣ ( q ◁ r ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( e ◁ r ) ∣ ( q ′ ◁ r ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( p ∣ q ) ◁ r γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( p ′ ≬ q ′ ) ◁ r p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( p ◁ r ) ∣ ( q ◁ r ) γ ( e ,e )[ m ] ÐÐÐÐÐÐ↠ ( p ′ ◁ r ) ≬ ( q ′ ◁ r ) With the assumptions ( e [ m ] ∣ e [ m ]) ◁ r ∼ frs ( e [ m ] ◁ r ) ∣ ( e [ m ] ◁ r ) , ( e [ m ] ∣ q ′ ) ◁ r ∼ frs ( e [ m ] ◁ r ) ∣( q ′ ◁ r ) , ( e ∣ q ′ ) ◁ r ∼ frs ( e ◁ r ) ∣ ( q ′ ◁ r ) , ( p ′ ∣ e [ m ]) ◁ r ∼ frs ( p ′ ◁ r ) ∣ ( e [ m ] ◁ r ) , ( p ′ ∣ e ) ◁ r ∼ frs ( p ′ ◁ r ) ∣ ( e ◁ r ) , ( p ′ ≬ q ′ ) ◁ r = ( p ′ ◁ r ) ≬ ( q ′ ◁ r ) , so, ( p ∣ q ) ◁ r ∼ frs ( p ◁ r ) ∣ ( q ◁ r ) , as desired. ● Axiom U
34. Let p, q, r be RAP T C processes, and p ◁ ( q + r ) = ( p ◁ q ) ◁ r , it is sufficient to prove that p ◁ ( q + r ) ∼ frs ( p ◁ q ) ◁ r . By the forward transition rules for operators + and ◁ in Table 3 and 13, weget p e Ð→ e [ m ] p ◁ ( q + r ) e Ð→ e [ m ] ◁ ( q + r ) p e Ð→ e [ m ]( p ◁ q ) ◁ r e Ð→ ( e [ m ] ◁ q ) ◁ rp e Ð→ p ′ p ◁ ( q + r ) e Ð→ p ′ ◁ ( q + r ) p e Ð→ p ′ ( p ◁ q ) ◁ r e Ð→ ( p ′ ◁ q ) ◁ r By the reverse transition rules for operators + and ◁ in Table 4 and 14, we get p e [ m ] ÐÐÐÐ↠ e p ◁ ( q + r ) e [ m ] ÐÐÐÐ↠ e ◁ ( q + r ) p e [ m ] ÐÐÐÐ↠ e ( p ◁ q ) ◁ r e [ m ] ÐÐÐÐ↠ ( e ◁ q ) ◁ rp e [ m ] ÐÐÐÐ↠ p ′ p ◁ ( q + r ) e [ m ] ÐÐÐÐ↠ p ′ ◁ ( q + r ) p e [ m ] ÐÐÐÐ↠ p ′ ( p ◁ q ) ◁ r e [ m ] ÐÐÐÐ↠ ( p ′ ◁ q ) ◁ r With the assumptions e [ m ] ◁ ( q + r ) ∼ frs ( e [ m ] ◁ q ) ◁ r , e ◁ ( q + r ) ∼ frs ( e ◁ q ) ◁ r , p ′ ◁ ( q + r ) ∼ frs ( p ′ ◁ q ) ◁ r , so, p ◁ ( q + r ) ∼ frs ( p ◁ q ) ◁ r , as desired. ● Axiom U
35. Let p, q, r be RAP T C processes, and p ◁ ( q ⋅ r ) = ( p ◁ q ) ◁ r , it is sufficient to prove that p ◁ ( q ⋅ r ) ∼ frs ( p ◁ q ) ◁ r . By the forward transition rules for operators ⋅ and ◁ in Table 3 and 13, we get p e Ð→ e [ m ] p ◁ ( q ⋅ r ) e Ð→ e [ m ] ◁ ( q ⋅ r ) p e Ð→ e [ m ]( p ◁ q ) ◁ r e Ð→ ( e [ m ] ◁ q ) ◁ rp e Ð→ p ′ p ◁ ( q ⋅ r ) e Ð→ p ′ ◁ ( q ⋅ r ) p e Ð→ p ′ ( p ◁ q ) ◁ r e Ð→ ( p ′ ◁ q ) ◁ r By the reverse transition rules for operators ⋅ and ◁ in Table 4 and 14, we get raft of An Algebra of Reversible Computation 57 p e [ m ] ÐÐÐÐ↠ e p ◁ ( q ⋅ r ) e [ m ] ÐÐÐÐ↠ e ◁ ( q ⋅ r ) p e [ m ] ÐÐÐÐ↠ e ( p ◁ q ) ◁ r e [ m ] ÐÐÐÐ↠ ( e ◁ q ) ◁ rp e [ m ] ÐÐÐÐ↠ p ′ p ◁ ( q ⋅ r ) e [ m ] ÐÐÐÐ↠ p ′ ◁ ( q ⋅ r ) p e [ m ] ÐÐÐÐ↠ p ′ ( p ◁ q ) ◁ r e [ m ] ÐÐÐÐ↠ ( p ′ ◁ q ) ◁ r With the assumptions e [ m ] ◁ ( q ⋅ r ) ∼ frs ( e [ m ] ◁ q ) ◁ r , e ◁ ( q ⋅ r ) ∼ frs ( e ◁ q ) ◁ r , p ′ ◁ ( q ⋅ r ) ∼ frs ( p ′ ◁ q ) ◁ r ,so, p ◁ ( q ⋅ r ) ∼ frs ( p ◁ q ) ◁ r , as desired. ● Axiom U
36. Let p, q, r be RAP T C processes, and p ◁ ( q ∥ r ) = ( p ◁ q ) ◁ r , it is sufficient to prove that p ◁ ( q ∥ r ) ∼ frs ( p ◁ q ) ◁ r . By the forward transition rules for operators ∥ and ◁ in Table 9 and 13, weget p e Ð→ e [ m ] p ◁ ( q ∥ r ) e Ð→ e [ m ] ◁ ( q ∥ r ) p e Ð→ e [ m ]( p ◁ q ) ◁ r e Ð→ ( e [ m ] ◁ q ) ◁ rp e Ð→ p ′ p ◁ ( q ∥ r ) e Ð→ p ′ ◁ ( q ∥ r ) p e Ð→ p ′ ( p ◁ q ) ◁ r e Ð→ ( p ′ ◁ q ) ◁ r By the reverse transition rules for operators ∥ and ◁ in Table 10 and 14, we get p e [ m ] ÐÐÐÐ↠ e p ◁ ( q ∥ r ) e [ m ] ÐÐÐÐ↠ e ◁ ( q ∥ r ) p e [ m ] ÐÐÐÐ↠ e ( p ◁ q ) ◁ r e [ m ] ÐÐÐÐ↠ ( e ◁ q ) ◁ rp e [ m ] ÐÐÐÐ↠ p ′ p ◁ ( q ∥ r ) e [ m ] ÐÐÐÐ↠ p ′ ◁ ( q ∥ r ) p e [ m ] ÐÐÐÐ↠ p ′ ( p ◁ q ) ◁ r e [ m ] ÐÐÐÐ↠ ( p ′ ◁ q ) ◁ r With the assumptions e [ m ] ◁ ( q ∥ r ) ∼ frs ( e [ m ] ◁ q ) ◁ r , e ◁ ( q ∥ r ) ∼ frs ( e ◁ q ) ◁ r , p ′ ◁ ( q ∥ r ) ∼ frs ( p ′ ◁ q ) ◁ r , so, p ◁ ( q ∥ r ) ∼ frs ( p ◁ q ) ◁ r , as desired. ● Axiom U
37. Let p, q, r be RAP T C processes, and p ◁ ( q ∣ r ) = ( p ◁ q ) ◁ r , it is sufficient to prove that p ◁ ( q ∣ r ) ∼ frs ( p ◁ q ) ◁ r . By the forward transition rules for operators ∣ and ◁ in Table 11 and 13, weget p e Ð→ e [ m ] p ◁ ( q ∣ r ) e Ð→ e [ m ] ◁ ( q ∣ r ) p e Ð→ e [ m ]( p ◁ q ) ◁ r e Ð→ e [ m ] ◁ ( q ∣ r ) p e Ð→ p ′ p ◁ ( q ∣ r ) e Ð→ p ′ ◁ ( q ∣ r ) p e Ð→ p ′ ( p ◁ q ) ◁ r e Ð→ ( p ′ ◁ q ) ◁ r By the reverse transition rules for operators ∣ and ◁ in Table 12 and 14, we get p e [ m ] ÐÐÐÐ↠ e p ◁ ( q ∣ r ) e [ m ] ÐÐÐÐ↠ e ◁ ( q ∣ r ) p e [ m ] ÐÐÐÐ↠ e ( p ◁ q ) ◁ r e [ m ] ÐÐÐ→ e ◁ ( q ∣ r ) p e [ m ] ÐÐÐÐ↠ p ′ p ◁ ( q ∣ r ) e [ m ] ÐÐÐÐ↠ p ′ ◁ ( q ∣ r ) p e [ m ] ÐÐÐÐ↠ p ′ ( p ◁ q ) ◁ r e [ m ] ÐÐÐÐ↠ ( p ′ ◁ q ) ◁ r With the assumptions e [ m ] ◁ ( q ∣ r ) ∼ frs ( e [ m ] ◁ q ) ◁ r , e ◁ ( q ∣ r ) ∼ frs ( e ◁ q ) ◁ r , p ′ ◁ ( q ∣ r ) ∼ frs ( p ′ ◁ q ) ◁ r , so, p ◁ ( q ∣ r ) ∼ frs ( p ◁ q ) ◁ r , as desired. x e Ð→ e [ m ] ∂ H ( x ) e Ð→ ∂ H ( e [ m ]) ( e ∉ H ) x e Ð→ x ′ ∂ H ( x ) e Ð→ ∂ H ( x ′ ) ( e ∉ H ) Table 17. Forward transition rules of encapsulation operator ∂ H Theorem 5.6 (Soundness of parallelism modulo FR pomset bisimulation equivalence) . Let x and y be RAP T C terms. If
RAP T C ⊢ x = y , then x ∼ frp y .Proof. Since FR pomset bisimulation ∼ frp is both an equivalent and a congruent relation with respect to theoperators ≬ , ∥ , ∣ , Θ and ◁ , we only need to check if each axiom in Table 15 is sound modulo FR pomsetbisimulation equivalence.From the definition of FR pomset bisimulation (see Definition 3.3), we know that FR pomset bisimulationis defined by pomset transitions, which are labeled by pomsets. In a pomset transition, the events in thepomset are either within causality relations (defined by ⋅ ) or in concurrency (implicitly defined by ⋅ and + ,and explicitly defined by ≬ ), of course, they are pairwise consistent (without conflicts). In Theorem 5.5, wehave already proven the case that all events are pairwise concurrent, so, we only need to prove the case ofevents in causality. Without loss of generality, we take a pomset of P = { e , e ∶ e ⋅ e } . Then the pomsettransition labeled by the above P is just composed of one single event transition labeled by e succeeded byanother single event transition labeled by e , that is, P Ð→ = e Ð→ e Ð→ or P Ð→ = e [ n ] ÐÐ↠ e [ m ] ÐÐÐÐ↠ .Similarly to the proof of soundness of parallelism modulo FR step bisimulation equivalence (see Theorem5.5), we can prove that each axiom in Table 15 is sound modulo FR pomset bisimulation equivalence, weomit them.
Theorem 5.7 (Soundness of parallelism modulo FR hp-bisimulation equivalence) . Let x and y be RAP T C terms. If
RAP T C ⊢ x = y , then x ∼ frhp y .Proof. Since FR hp-bisimulation ∼ frhp is both an equivalent and a congruent relation with respect to theoperators ≬ , ∥ , ∣ , Θ and ◁ , we only need to check if each axiom in Table 15 is sound modulo FR hp-bisimulation equivalence.From the definition of FR hp-bisimulation (see Definition 3.5), we know that FR hp-bisimulation isdefined on the posetal product ( C , f, C ) , f ∶ C → C isomorphism. Two process terms s related to C and t related to C , and f ∶ C → C isomorphism. Initially, ( C , f, C ) = ( ∅ , ∅ , ∅ ) , and ( ∅ , ∅ , ∅ ) ∈∼ frhp .When s e Ð→ s ′ ( C e Ð→ C ′ ), there will be t e Ð→ t ′ ( C e Ð→ C ′ ), and we define f ′ = f [ e ↦ e ] . And when s e [ m ] ÐÐ↠ s ′ ( C e [ m ] ÐÐ↠ C ′ ), there will be t e [ m ] ÐÐ↠ t ′ ( C e [ m ] ÐÐ↠ C ′ ), and we define f ′ = f [ e [ m ] ↦ e [ m ]] . Then, if ( C , f, C ) ∈∼ frhp , then ( C ′ , f ′ , C ′ ) ∈∼ frhp .Similarly to the proof of soundness of parallelism modulo FR pomset bisimulation equivalence (see The-orem 5.6), we can prove that each axiom in Table 15 is sound modulo FR hp-bisimulation equivalence, wejust need additionally to check the above conditions on FR hp-bisimulation, we omit them. The mismatch of two communicating events in different parallel branches can cause deadlock, so the deadlocksin the concurrent processes should be eliminated. Like
AP T C [8], we also introduce the unary encapsulationoperator ∂ H for set H of atomic events, which renames all atomic events in H into δ . The whole algebraincluding parallelism for true concurrency in the above subsections, deadlock δ and encapsulation operator ∂ H , is called Reversible Algebra for Parallelism in True Concurrency, abbreviated RAP T C .The forward transition rules of encapsulation operator ∂ H are shown in Table 17, and the reverse tran-sition rules of encapsulation operator ∂ H are shown in Table 18. raft of An Algebra of Reversible Computation 59 x e [ m ] ÐÐ↠ e∂ H ( x ) e [ m ] ÐÐ↠ e ( e ∉ H ) x e ÐÐ↠ x ′ ∂ H ( x ) e ÐÐ↠ ∂ H ( x ′ ) ( e ∉ H ) Table 18. Reverse transition rules of encapsulation operator ∂ H No. Axiom D e ∉ H ∂ H ( e ) = eRD e ∉ H ∂ H ( e [ m ]) = e [ m ] D e ∈ H ∂ H ( e ) = δRD e ∈ H ∂ H ( e [ m ]) = δD ∂ H ( δ ) = δD ∂ H ( x + y ) = ∂ H ( x ) + ∂ H ( y ) D ∂ H ( x ⋅ y ) = ∂ H ( x ) ⋅ ∂ H ( y ) D ∂ H ( x ∥ y ) = ∂ H ( x ) ∥ ∂ H ( y ) Table 19. Axioms of encapsulation operatorBased on the transition rules for encapsulation operator ∂ H in Table 17 and Table 18, we design theaxioms as Table 19 shows. Theorem 5.8 (Conservativity of
RAP T C with respect to the reversible algebra for parallelism) . RAP T C is a conservative extension of the reversible algebra for parallelism.Proof.
It follows from the following two facts (see Theorem 2.15).1. The transition rules of the reversible algebra for parallelism in the above subsections are all source-dependent;2. The sources of the transition rules for the encapsulation operator contain an occurrence of ∂ H .So, RAP T C is a conservative extension of the reversible algebra for parallelism, as desired.
Theorem 5.9 (Congruence theorem of encapsulation operator ∂ H ) . FR truly concurrent bisimulation equiv-alences ∼ frp , ∼ frs , ∼ frhp and ∼ frhhp are all congruences with respect to encapsulation operator ∂ H .Proof. (1) Case FR pomset bisimulation equivalence ∼ frp .Let x and y be RAP T C processes, and x ∼ frp y , it is sufficient to prove that ∂ H ( x ) ∼ frp ∂ H ( y ) .By the definition of FR pomset bisimulation ∼ frp (Definition 3.3), x ∼ frp y means that x X Ð→ x ′ y Y Ð→ y ′ x X [K] ÐÐ↠ x ′ y Y [J ] ÐÐ↠ y ′ with X ⊆ x , Y ⊆ y , X ∼ Y and x ′ ∼ frp y ′ .By the FR pomset transition rules for encapsulation operator ∂ H in Table 17 and Table 18, we can get ∂ H ( x ) X Ð→ ∂ H ( X [ K ])( X ⊈ H ) ∂ H ( y ) Y Ð→ ∂ H ( Y [ J ])( Y ⊈ H ) ∂ H ( x ) X [K] ÐÐ↠ ∂ H ( X )( X ⊈ H ) ∂ H ( y ) Y [J ] ÐÐ↠ ∂ H ( Y )( Y ⊈ H ) with X ⊆ x , Y ⊆ y , and X ∼ Y , and the assumptions ∂ H ( X [ K ]) ∼ frp ∂ H ( Y [ J ]) , ∂ H ( X ) ∼ frp ∂ H ( Y ) so,we get ∂ H ( x ) ∼ frp ∂ H ( y ) , as desired.Or, we can get ∂ H ( x ) X Ð→ ∂ H ( x ′ )( X ⊈ H ) ∂ H ( y ) Y Ð→ ∂ H ( y ′ )( Y ⊈ H ) RRD e ∉ H ∂ H ( e ) → eRRRD e ∉ H ∂ H ( e [ m ]) → e [ m ] RRD e ∈ H ∂ H ( e ) → δRRRD e ∈ H ∂ H ( e [ m ]) → δRRD ∂ H ( δ ) → δRRD ∂ H ( x + y ) → ∂ H ( x ) + ∂ H ( y ) RRD ∂ H ( x ⋅ y ) → ∂ H ( x ) ⋅ ∂ H ( y ) RRD ∂ H ( x ∥ y ) → ∂ H ( x ) ∥ ∂ H ( y ) Table 20. Term rewrite system of encapsulation operator ∂ H ∂ H ( x ) X ÐÐ↠ ∂ H ( x ′ )( X ⊈ H ) ∂ H ( y ) Y ÐÐ↠ ∂ H ( y ′ )( Y ⊈ H ) with X ⊆ x , Y ⊆ y , X ∼ Y , x ′ ∼ frp y ′ and the assumption ∂ H ( x ′ ) ∼ frp ∂ H ( y ′ ) , so, we get ∂ H ( x ) ∼ frp ∂ H ( y ) ,as desired.(2) The cases of FR step bisimulation ∼ frs , FR hp-bisimulation ∼ frhp and FR hhp-bisimulation ∼ frhhp canbe proven similarly, we omit them. Theorem 5.10 (Elimination theorem of
RAP T C ) . Let p be a closed RAP T C term including the encapsu-lation operator ∂ H . Then there is a basic RAP T C term q such that RAP T C ⊢ p = q .Proof. (1) Firstly, suppose that the following ordering on the signature of RAP T C is defined: ∥ > ⋅ > + andthe symbol ∥ is given the lexicographical status for the first argument, then for each rewrite rule p → q inTable 20 relation p > lpo q can easily be proved. We obtain that the term rewrite system shown in Table20 is strongly normalizing, for it has finitely many rewriting rules, and > is a well-founded ordering on thesignature of RAP T C , and if s > lpo t , for each rewriting rule s → t is in Table 20 (see Theorem 2.19).(2) Then we prove that the normal forms of closed RAP T C terms including encapsulation operator ∂ H are basic RAP T C terms.Suppose that p is a normal form of some closed RAP T C term and suppose that p is not a basic RAP T C term. Let p ′ denote the smallest sub-term of p which is not a basic RAP T C term. It implies that eachsub-term of p ′ is a basic RAP T C term. Then we prove that p is not a term in normal form. It is sufficientto induct on the structure of p ′ , following from Theorem 5.3, we only prove the new case p ′ ≡ ∂ H ( p ) : ● Case p ≡ e . The transition rules RRD
RRD p is not a normal form; ● Case p ≡ e [ m ] . The transition rules RRRD
RRRD p is not a normal form; ● Case p ≡ δ . The transition rules RRD p is not a normal form; ● Case p ≡ p ′ + p ′′ . The transition rules RRD p is not a normal form; ● Case p ≡ p ′ ⋅ p ′′ . The transition rules RRD p is not a normal form; ● Case p ≡ p ′ ∥ p ′′ . The transition rules RRD p is not a normal form. Theorem 5.11 (Soundness of
RAP T C modulo FR step bisimulation equivalence) . Let x and y be RAP T C terms including encapsulation operator ∂ H . If RAP T C ⊢ x = y , then x ∼ frs y .Proof. Since FR step bisimulation ∼ frs is both an equivalent and a congruent relation with respect to theoperator ∂ H , we only need to check if each axiom in Table 19 is sound modulo FR step bisimulation equiv-alence.Though transition rules in Table 17 and Table 18 are defined in the flavor of single event, they can bemodified into a step (a set of events within which each event is pairwise concurrent), we omit them. If wetreat a single event as a step containing just one event, the proof of this soundness theorem does not existany problem, so we use this way and still use the transition rules in Table 17 and Table 18.We omit the defining axioms, including axioms D − D
3, and we only prove the soundness of the non-trivialaxioms, including axioms D − D raft of An Algebra of Reversible Computation 61 ● Axiom D
4. Let p, q be RAP T C processes, and ∂ H ( p + q ) = ∂ H ( p ) + ∂ H ( q ) , it is sufficient to prove that ∂ H ( p + q ) ∼ frs ∂ H ( p ) + ∂ H ( q ) . By the forward transition rules for operator + in Table 3 and ∂ H in Table17, we get p e Ð→ e [ m ] e ∉ q ( e ∉ H ) ∂ H ( p + q ) e Ð→ ∂ H ( e [ m ] + q ) p e Ð→ e [ m ] e ∉ q ( e ∉ H ) ∂ H ( p ) + ∂ H ( q ) e Ð→ ∂ H ( e [ m ]) + ∂ H ( q ) q e Ð→ e [ m ] e ∉ p ( e ∉ H ) ∂ H ( p + q ) e Ð→ ∂ H ( p + e [ m ]) q e Ð→ e [ m ] e ∉ p ( e ∉ H ) ∂ H ( p ) + ∂ H ( q ) e Ð→ ∂ H ( p ) + ∂ H ( e [ m ]) p e Ð→ p ′ e ∉ q ( e ∉ H ) ∂ H ( p + q ) e Ð→ ∂ H ( p ′ + q ) p e Ð→ p ′ e ∉ q ( e ∉ H ) ∂ H ( p ) + ∂ H ( q ) e Ð→ ∂ H ( p ′ ) + ∂ ( q ) q e Ð→ q ′ e ∉ p ( e ∉ H ) ∂ H ( p + q ) e Ð→ ∂ H ( p + q ′ ) q e Ð→ q ′ e ∉ p ( e ∉ H ) ∂ H ( p ) + ∂ H ( q ) e Ð→ ∂ H ( p ) + ∂ H ( q ′ ) q e Ð→ q ′ e ∉ p ( e ∉ H ) ∂ H ( p + q ) e Ð→ ∂ H ( p + q ′ ) q e Ð→ q ′ e ∉ p ( e ∉ H ) ∂ H ( p ) + ∂ H ( q ) e Ð→ ∂ H ( p ) + ∂ H ( q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e ∉ H ) ∂ H ( p + q ) e Ð→ ∂ H ( p ′ + q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e ∉ H ) ∂ H ( p ) + ∂ H ( q ) e Ð→ ∂ H ( p ′ ) + ∂ ( q ′ ) By the reverse transition rules for operator + in Table 4 and ∂ H in Table 18, we get p e [ m ] ÐÐÐÐ↠ e e ∉ q ( e ∉ H ) ∂ H ( p + q ) e [ m ] ÐÐÐÐ↠ ∂ H ( e + q ) p e [ m ] ÐÐÐÐ↠ e e ∉ q ( e ∉ H ) ∂ H ( p ) + ∂ H ( q ) e [ m ] ÐÐÐÐ↠ ∂ H ( e ) + ∂ H ( q ) q e [ m ] ÐÐÐÐ↠ e e ∉ p ( e ∉ H ) ∂ H ( p + q ) e [ m ] ÐÐÐÐ↠ ∂ H ( p + e ) q e [ m ] ÐÐÐÐ↠ e e ∉ p ( e ∉ H ) ∂ H ( p ) + ∂ H ( q ) e [ m ] ÐÐÐÐ↠ ∂ H ( p ) + ∂ H ( e ) p e [ m ] ÐÐÐÐ↠ p ′ e ∉ q ( e ∉ H ) ∂ H ( p + q ) e [ m ] ÐÐÐÐ↠ ∂ H ( p ′ + q ) p e [ m ] ÐÐÐÐ↠ p ′ e ∉ q ( e ∉ H ) ∂ H ( p ) + ∂ H ( q ) e [ m ] ÐÐÐÐ↠ ∂ H ( p ′ ) + ∂ ( q ) q e [ m ] ÐÐÐÐ↠ q ′ e ∉ p ( e ∉ H ) ∂ H ( p + q ) e [ m ] ÐÐÐÐ↠ ∂ H ( p + q ′ ) q e [ m ] ÐÐÐÐ↠ q ′ e ∉ p ( e ∉ H ) ∂ H ( p ) + ∂ H ( q ) e [ m ] ÐÐÐÐ↠ ∂ H ( p ) + ∂ H ( q ′ ) q e [ m ] ÐÐÐÐ↠ q ′ e ∉ p ( e ∉ H ) ∂ H ( p + q ) e [ m ] ÐÐÐÐ↠ ∂ H ( p + q ′ ) q e [ m ] ÐÐÐÐ↠ q ′ e ∉ p ( e ∉ H ) ∂ H ( p ) + ∂ H ( q ) e [ m ] ÐÐÐÐ↠ ∂ H ( p ) + ∂ H ( q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( e ∉ H ) ∂ H ( p + q ) e [ m ] ÐÐÐÐ↠ ∂ H ( p ′ + q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( e ∉ H ) ∂ H ( p ) + ∂ H ( q ) e [ m ] ÐÐÐÐ↠ ∂ H ( p ′ ) + ∂ ( q ′ ) So, with the assumptions ∂ H ( e [ m ] + q ) ∼ frs ∂ H ( e [ m ]) + ∂ H ( q ) , ∂ H ( e + q ) ∼ frs ∂ H ( e ) + ∂ H ( q ) , ∂ H ( p + e [ m ]) ∼ frs ∂ H ( p ) + ∂ H ( e [ m ]) , ∂ H ( p + e ) ∼ frs ∂ H ( p ) + ∂ H ( e ) , ∂ H ( p ′ + q ) ∼ frs ∂ H ( p ′ ) + ∂ H ( q ) , ∂ H ( p + q ′ ) ∼ frs ∂ H ( p ) + ∂ H ( q ′ ) , ∂ H ( p ′ + q ′ ) ∼ frs ∂ H ( p ′ ) + ∂ H ( q ′ ) , ∂ H ( p + q ) ∼ frs ∂ H ( p ) + ∂ H ( q ) , as desired. ● Axiom D
5. Let p, q be RAP T C processes, and ∂ H ( p ⋅ q ) = ∂ H ( p ) ⋅ ∂ H ( q ) , it is sufficient to prove that ∂ H ( p ⋅ q ) ∼ frs ∂ H ( p ) ⋅ ∂ H ( q ) . By the forward transition rules for operator ⋅ in Table 3 and ∂ H in Table 17,we get p e Ð→ e [ m ] ( e ∉ H ) ∂ H ( p ⋅ q ) e Ð→ ∂ H ( e [ m ] ⋅ q ) p e Ð→ e [ m ] ( e ∉ H ) ∂ H ( p ) ⋅ ∂ H ( q ) e Ð→ ∂ H ( e [ m ]) ⋅ ∂ H ( q ) p e Ð→ p ′ ( e ∉ H ) ∂ H ( p ⋅ q ) e Ð→ ∂ H ( p ′ ⋅ q ) p e Ð→ p ′ ( e ∉ H ) ∂ H ( p ) ⋅ ∂ H ( q ) e Ð→ ∂ H ( p ′ ) ⋅ ∂ H ( q ) By the reverse transition rules for operator ⋅ in Table 4 and ∂ H in Table 18, we get q e [ m ] ÐÐÐÐ↠ e ( e ∉ H ) ∂ H ( p ⋅ q ) e [ m ] ÐÐÐÐ↠ ∂ H ( p ⋅ e ) q e [ m ] ÐÐÐÐ↠ e ( e ∉ H ) ∂ H ( p ) ⋅ ∂ H ( q ) e [ m ] ÐÐÐÐ↠ ∂ H ( p ) ⋅ ∂ H ( e ) q e [ m ] ÐÐÐÐ↠ q ′ ( e ∉ H ) ∂ H ( p ⋅ q ) e [ m ] ÐÐÐÐ↠ ∂ H ( p ⋅ q ′ ) q e [ m ] ÐÐÐÐ↠ q ′ ( e ∉ H ) ∂ H ( p ) ⋅ ∂ H ( q ) e [ m ] ÐÐÐÐ↠ ∂ H ( p ) ⋅ ∂ H ( q ′ ) So, with the assumptions ∂ H ( e [ m ] ⋅ q ) ∼ frs ∂ H ( e [ m ]) ⋅ ∂ H ( q ) , ∂ H ( p ⋅ e ) ∼ frs ∂ H ( p ) ⋅ ∂ H ( e ) , ∂ H ( p ′ ⋅ q ) ∼ frs ∂ H ( p ′ ) ⋅ ∂ H ( q ) , ∂ H ( p ⋅ q ′ ) ∼ frs ∂ H ( p ) ⋅ ∂ H ( q ′ ) , ∂ H ( p ⋅ q ) ∼ frs ∂ H ( p ) ⋅ ∂ H ( q ) , as desired. ● Axiom D
6. Let p, q be RAP T C processes, and ∂ H ( p ∥ q ) = ∂ H ( p ) ∥ ∂ H ( q ) , it is sufficient to prove that ∂ H ( p ∥ q ) ∼ frs ∂ H ( p ) ∥ ∂ H ( q ) . By the forward transition rules for operator ∥ in Table 9 and ∂ H in Table17, we get p e Ð→ e [ m ] q e Ð→ e [ m ] ( e , e ∉ H ) ∂ H ( p ∥ q ) { e ,e } ÐÐÐÐ→ ∂ H ( e [ m ] ∥ e [ m ]) p e Ð→ e [ m ] q e Ð→ e [ m ] ( e , e ∉ H ) ∂ H ( p ) ∥ ∂ H ( q ) { e ,e } ÐÐÐÐ→ ∂ H ( e [ m ]) ∥ ∂ H ( e [ m ]) p e Ð→ p ′ q e Ð→ e [ m ] ( e , e ∉ H ) ∂ H ( p ∥ q ) { e ,e } ÐÐÐÐ→ ∂ H ( p ′ ∥ e [ m ]) p e Ð→ p ′ q e Ð→ e [ m ] ( e , e ∉ H ) ∂ H ( p ) ∥ ∂ H ( q ) { e ,e } ÐÐÐÐ→ ∂ H ( p ′ ) ∥ ∂ H ( e [ m ]) p e Ð→ e [ m ] q e Ð→ q ′ ( e , e ∉ H ) ∂ H ( p ∥ q ) { e ,e } ÐÐÐÐ→ ∂ H ( e [ m ] ∥ q ′ ) p e Ð→ e [ m ] q e Ð→ q ′ ( e , e ∉ H ) ∂ H ( p ) ∥ ∂ H ( q ) { e ,e } ÐÐÐÐ→ ∂ H ( e [ m ]) ∂ H ( q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e , e ∉ H ) ∂ H ( p ∥ q ) { e ,e } ÐÐÐÐ→ ∂ H ( p ′ ≬ q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e , e ∉ H ) ∂ H ( p ) ∥ ∂ H ( q ) { e ,e } ÐÐÐÐ→ ∂ H ( p ′ ) ≬ ∂ H ( q ′ ) By the reverse transition rules for operator ∥ in Table 10 and ∂ H in Table 18, we get p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e ( e , e ∉ H ) ∂ H ( p ∥ q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ∂ H ( e ∥ e ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e ( e , e ∉ H ) ∂ H ( p ) ∥ ∂ H ( q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ∂ H ( e ) ∥ ∂ H ( e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e ( e , e ∉ H ) ∂ H ( p ∥ q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ∂ H ( p ′ ∥ e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e ( e , e ∉ H ) ∂ H ( p ) ∥ ∂ H ( q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ∂ H ( p ′ ) ∥ ∂ H ( e ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ ( e , e ∉ H ) ∂ H ( p ∥ q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ∂ H ( e ∥ q ′ ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ ( e , e ∉ H ) ∂ H ( p ) ∥ ∂ H ( q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ∂ H ( e ) ∂ H ( q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( e , e ∉ H ) ∂ H ( p ∥ q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ∂ H ( p ′ ≬ q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( e , e ∉ H ) ∂ H ( p ) ∥ ∂ H ( q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ ∂ H ( p ′ ) ≬ ∂ H ( q ′ ) raft of An Algebra of Reversible Computation 63 So, with the assumptions ∂ H ( e [ m ] ∥ q ′ ) ∼ frs ∂ H ( e [ m ]) ∥ ∂ H ( q ′ ) , ∂ H ( e ∥ q ′ ) ∼ frs ∂ H ( e ) ∥ ∂ H ( q ′ ) , ∂ H ( p ′ ∥ e [ m ]) ∼ frs ∂ H ( p ′ ) ∥ ∂ H ( e [ m ]) , ∂ H ( p ′ ∥ e ) ∼ frs ∂ H ( p ′ ) ∥ ∂ H ( e ) , ∂ H ( p ′ ≬ q ′ ) ∼ frs ∂ H ( p ′ ) ≬ ∂ H ( q ′ ) , ∂ H ( p ∥ q ) ∼ frs ∂ H ( p ) ∥ ∂ H ( q ) , as desired. Theorem 5.12 (Soundness of
RAP T C modulo FR pomset bisimulation equivalence) . Let x and y be RAP T C terms including encapsulation operator ∂ H . If RAP T C ⊢ x = y , then x ∼ frp y .Proof. Since FR pomset bisimulation ∼ frp is both an equivalent and a congruent relation with respect tothe operator ∂ H , we only need to check if each axiom in Table 19 is sound modulo FR pomset bisimulationequivalence.From the definition of FR pomset bisimulation (see Definition 2.5), we know that FR pomset bisimulationis defined by pomset transitions, which are labeled by pomsets. In a pomset transition, the events in thepomset are either within causality relations (defined by ⋅ ) or in concurrency (implicitly defined by ⋅ and + ,and explicitly defined by ≬ ), of course, they are pairwise consistent (without conflicts). In Theorem 5.11,we have already proven the case that all events are pairwise concurrent, so, we only need to prove the caseof events in causality. Without loss of generality, we take a pomset of P = { e , e ∶ e ⋅ e } . Then the pomsettransition labeled by the above P is just composed of one single event transition labeled by e succeeded byanother single event transition labeled by e , that is, P Ð→ = e Ð→ e Ð→ or P Ð→ = e [ n ] ÐÐ↠ e [ m ] ÐÐÐÐ↠ .Similarly to the proof of soundness of
RAP T C modulo FR step bisimulation equivalence (see Theorem5.11), we can prove that each axiom in Table 19 is sound modulo FR pomset bisimulation equivalence, weomit them.
Theorem 5.13 (Soundness of
RAP T C modulo FR hp-bisimulation equivalence) . Let x and y be RAP T C terms including encapsulation operator ∂ H . If RAP T C ⊢ x = y , then x ∼ frhp y .Proof. Since FR hp-bisimulation ∼ frhp is both an equivalent and a congruent relation with respect to theoperator ∂ H , we only need to check if each axiom in Table 19 is sound modulo FR hp-bisimulation equivalence.From the definition of FR hp-bisimulation (see Definition 2.9), we know that FR hp-bisimulation isdefined on the posetal product ( C , f, C ) , f ∶ C → C isomorphism. Two process terms s related to C and t related to C , and f ∶ C → C isomorphism. Initially, ( C , f, C ) = ( ∅ , ∅ , ∅ ) , and ( ∅ , ∅ , ∅ ) ∈∼ frhp .When s e Ð→ s ′ ( C e Ð→ C ′ ), there will be t e Ð→ t ′ ( C e Ð→ C ′ ), and we define f ′ = f [ e ↦ e ] . And when s e [ m ] ÐÐ↠ s ′ ( C e [ m ] ÐÐ↠ C ′ ), there will be t e [ m ] ÐÐ↠ t ′ ( C e [ m ] ÐÐ↠ C ′ ), and we define f ′ = f [ e [ m ] ↦ e [ m ]] . Then, if ( C , f, C ) ∈∼ frhp , then ( C ′ , f ′ , C ′ ) ∈∼ frhp .Similarly to the proof of soundness of RAP T C modulo FR pomset bisimulation equivalence (see Theorem5.12), we can prove that each axiom in Table 19 is sound modulo FR hp-bisimulation equivalence, we justneed additionally to check the above conditions on FR hp-bisimulation, we omit them.
Definition 5.14 (Weakly guarded recursive expression) . X is weakly guarded in E if each occurrence of X is with some subexpression α.F or ( α ∥ ⋯ ∥ α n ) .F or F.α [ m ] or F. ( α [ m ] ∥ ⋯ ∥ α n [ m ]) of E . Proposition 5.15.
If the variables ̃ X are weakly guarded in E , and E { ̃ P / ̃ X } { α , ⋯ ,α n } ÐÐÐÐÐÐ→ P ′ , or E { ̃ P / ̃ X } { α [ m ] , ⋯ ,α n [ m ]} ÐÐÐÐÐÐÐÐÐÐ↠ P ′ , then P ′ can not takes the form E ′ { ̃ P / ̃ X } for some expression E ′ .Proof. It needs to induct on the depth of the inference of E { ̃ P / ̃ X } { α , ⋯ ,α n } ÐÐÐÐÐÐ→ P ′ or E { ̃ P / ̃ X } { α [ m ] , ⋯ ,α n [ m ]} ÐÐÐÐÐÐÐÐÐÐ↠ P ′ . We consider E { ̃ P / ̃ X } { α , ⋯ ,α n } ÐÐÐÐÐÐ→ P ′ .Case E ≡ E + E . We may have E e Ð→ e [ m ] ⋅ E ′ e ∉ E , E + E e Ð→ e [ m ] ⋅ E ′ + E , e [ m ] ⋅ E ′ + E can not takes the form E ′ { ̃ P / ̃ X } for some expression E ′ .So, there may be not recursive expression for strongly FR truly concurrent bisimulations. For the samereason, there also may be not recursive expression for weakly FR truly concurrent bisimulations. τ τ Ð→ √ τ τ ÐÐ↠ √ Table 21. Transition rule of the silent step
No. Axiom B e ⋅ τ = eRB τ ⋅ e [ m ] = e [ m ] B e ⋅ ( τ ⋅ ( x + y ) + x ) = e ⋅ ( x + y ) RB (( x + y ) ⋅ τ + x ) ⋅ e [ m ] = ( x + y ) ⋅ e [ m ] B x ∥ τ = x Table 22. Axioms of silent step
6. Abstraction
To abstract away from the internal implementations of a program, and verify that the program exhibits thedesired external behaviors, the silent step τ and abstraction operator τ I are introduced, where I ⊆ E denotesthe internal events. The transition rule of τ is shown in Table 21. In the following, let the atomic event e range over E ∪ { δ } ∪ { τ } , and let the communication function γ ∶ E ∪ { τ } × E ∪ { τ } → E ∪ { δ } , with eachcommunication involved τ resulting in δ . Theorem 6.1 (Conservitivity of
RAP T C with silent step) . RAP T C with silent step is a conservativeextension of
RAP T C .Proof.
Since the transition rules of
RAP T C are source-dependent, and the transition rules for silent step inTable 21 contain only a fresh constant τ in their source, so the transition rules of RAP T C with silent stepis a conservative extension of those of
RAP T C . Theorem 6.2 (Congruence theorem of
RAP T C with silent step) . Rooted branching FR truly concurrentbisimulation equivalences ≈ frrbp , ≈ frrbs and ≈ frrbhp are all congruences with respect to RAP T C with silent step.Proof.
It follows the following two facts:1. FR truly concurrent bisimulation equivalences ∼ frp , ∼ frs and ∼ frhp are all congruences with respect to alloperators of RAP T C , while FR truly concurrent bisimulation equivalences ∼ frp , ∼ frs and ∼ frhp imply thecorresponding rooted branching FR truly concurrent bisimulation ≈ rbp fr , ≈ frrbs and ≈ frrbhp , so rootedbranching FR truly concurrent bisimulation ≈ rbp fr , ≈ frrbs and ≈ frrbhp are all congruences with respect toall operators of RAP T C ;2. While E is extended to E ∪ { τ } , it can be proved that rooted branching FR truly concurrent bisimulation ≈ rbp fr , ≈ frrbs and ≈ frrbhp are all congruences with respect to all operators of RAP T C , we omit it.
We design the axioms for the silent step τ in Table 22. Theorem 6.3 (Soundness of
RAP T C with silent step) . Let x and y be RAP T C with silent step terms. If
RAP T C with silent step ⊢ x = y , then x ≈ frrbs y ; raft of An Algebra of Reversible Computation 65 x ≈ frrbp y ; x ≈ frrbhp y .Proof. (1) Soundness of RAP T C with silent step with respect to rooted branching FR step bisimulation ≈ frrbs .Since rooted branching FR step bisimulation ≈ frrbs is both an equivalent and a congruent relation withrespect to RAP T C with silent step, we only need to check if each axiom in Table 22 is sound modulo rootedbranching FR step bisimulation equivalence.Though transition rules in Table 21 are defined in the flavor of single event, they can be modified intoa step (a set of events within which each event is pairwise concurrent), we omit them. If we treat a singleevent as a step containing just one event, the proof of this soundness theorem does not exist any problem,so we use this way and still use the transition rules in Table 21. ● Axiom B
1. Assume that e ⋅ τ = e , it is sufficient to prove that e ⋅ τ ≈ frrbs e . By the forward transition rulesfor operator ⋅ in Table 7 and τ in Table 21, we get e e Ð→ e [ m ] e ⋅ τ e Ð→ τ Ð→ e [ m ] e e Ð→ e [ m ] e e Ð→ e [ m ] By the reverse transition rules for operator ⋅ in Table 8 and τ in Table 21, there are no transitions.So, e ⋅ τ ≈ frrbs e , as desired. ● Axiom RB
1. Assume that τ ⋅ e [ m ] = e [ m ] , it is sufficient to prove that τ ⋅ e [ m ] ≈ frrbs e [ m ] . By the forwardtransition rules for operator ⋅ in Table 7 and τ in Table 21, there are no transitions.By the reverse transition rules for operator ⋅ in Table 8 and τ in Table 21, we get e [ m ] e [ m ] ÐÐ↠ eτ ⋅ e [ m ] e [ m ] ÐÐ↠ τ ÐÐ↠ ee [ m ] e [ m ] ÐÐ↠ ee [ m ] e [ m ] ÐÐ↠ e So, τ ⋅ e [ m ] ≈ frrbs e [ m ] , as desired. ● Axiom B
2. Let p and q be RAP T C with silent step processes, and assume that e ⋅ ( τ ⋅ ( p + q ) + p ) = e ⋅ ( p + q ) ,it is sufficient to prove that e ⋅ ( τ ⋅ ( p + q ) + p ) ≈ frrbs e ⋅ ( p + q ) . There are several cases, we will not enumerateall. By the forward transition rules for operators ⋅ and + in Table 7 and τ in Table 21, we get e e Ð→ e [ m ] p e Ð→ p ′ q e Ð→ q ′ e ⋅ ( τ ⋅ ( p + q ) + p ) e Ð→ τ Ð→ e Ð→ e [ m ] ⋅ (( p ′ + q ′ ) + p ′ ) e e Ð→ e [ m ] p e Ð→ p ′ e ⋅ ( p + q ) e Ð→ e Ð→ e [ m ] ⋅ ( p ′ + q ′ ) By the reverse transition rules for operators ⋅ and + in Table 8 and τ in Table 21, there are no transitions.So, e ⋅ ( τ ⋅ ( p + q ) + p ) ≈ frrbs e ⋅ ( p + q ) , as desired. ● Axiom RB
2. Let p and q be RAP T C with silent step processes, and assume that (( x + y ) ⋅ τ + x ) ⋅ e [ m ] = ( x + y ) ⋅ e [ m ] , it is sufficient to prove that (( x + y ) ⋅ τ + x ) ⋅ e [ m ] ≈ frrbs ( x + y ) ⋅ e [ m ] . There are several cases,we will not enumerate all. By the forward transition rules for operators ⋅ and + in Table 7 and τ in Table21, there are no transitions. By the reverse transition rules for operators ⋅ and + in Table 8 and τ in Table 21, we get e [ m ] e [ m ] ÐÐ↠ e p e [ n ] ÐÐ↠ p ′ q e [ n ] ÐÐ↠ q ′ (( p + q ) ⋅ τ + p ) ⋅ e [ m ] e [ m ] ÐÐ↠ τ ÐÐ↠ e [ n ] ÐÐ↠ (( p ′ + q ′ ) + p ′ ) ⋅ ee [ m ] e [ m ] ÐÐ↠ e p e [ n ] ÐÐ↠ p ′ ( p + q ) ⋅ e [ m ] e [ m ] ÐÐ↠ e [ n ] ÐÐ↠ ( p ′ + q ′ ⋅ e ) So, (( p + q ) ⋅ τ + p ) ⋅ e [ m ] ≈ frrbs ( p + q ) ⋅ e [ m ] , as desired. ● Axiom B
3. Let p be an RAP T C with silent step, and assume that p ∥ τ = p , it is sufficient to provethat p ∥ τ ≈ frrbs p . By the forward transition rules for operator ∥ in Table 9 and τ in Table 21, we get p e Ð→ e [ m ] p ∥ τ e Ô⇒ e [ m ] p e Ð→ p ′ p ∥ τ e Ô⇒ p ′ By the reverse transition rules for operator ∥ in Table 10 and τ in Table 21, we get p e [ m ] ÐÐ↠ ep ∥ τ e [ m ] ÔÔ⇉ ep e [ m ] ÐÐ↠ p ′ p ∥ τ e [ m ] ÔÔ⇉ p ′ So, p ∥ τ ≈ frrbs p , as desired.(2) Soundness of RAP T C with silent step with respect to rooted branching FR pomset bisimulation ≈ frrbp .Since rooted branching FR pomset bisimulation ≈ frrbp is both an equivalent and a congruent relation withrespect to RAP T C with silent step, we only need to check if each axiom in Table 22 is sound modulo rootedbranching FR pomset bisimulation ≈ frrbp .From the definition of rooted branching FR pomset bisimulation ≈ frrbp (see Definition 3.8), we know thatrooted branching FR pomset bisimulation ≈ frrbp is defined by weak pomset transitions, which are labeled bypomsets with τ . In a weak pomset transition, the events in the pomset are either within causality relations(defined by ⋅ ) or in concurrency (implicitly defined by ⋅ and + , and explicitly defined by ≬ ), of course, theyare pairwise consistent (without conflicts). In (1), we have already proven the case that all events are pairwiseconcurrent, so, we only need to prove the case of events in causality. Without loss of generality, we take apomset of P = { e , e ∶ e ⋅ e } . Then the weak pomset transition labeled by the above P is just composed ofone single event transition labeled by e succeeded by another single event transition labeled by e , that is, P Ô⇒ = e Ô⇒ e Ô⇒ or P ÔÔ⇉ = e ÔÔ⇉ e ÔÔ⇉ .Similarly to the proof of soundness of
RAP T C with silent step modulo rooted branching FR step bisim-ulation ≈ frrbs (1), we can prove that each axiom in Table 22 is sound modulo rooted branching FR pomsetbisimulation ≈ frrbp , we omit them.(3) Soundness of RAP T C with silent step with respect to rooted branching FR hp-bisimulation ≈ frrbhp .Since rooted branching FR hp-bisimulation ≈ frrbhp is both an equivalent and a congruent relation withrespect to RAP T C with silent step, we only need to check if each axiom in Table 22 is sound modulo rootedbranching FR hp-bisimulation ≈ frrbhp . raft of An Algebra of Reversible Computation 67 x e Ð→ √ τ I ( x ) e Ð→ √ e ∉ I x e Ð→ x ′ τ I ( x ) e Ð→ τ I ( x ′ ) e ∉ Ix e Ð→ √ τ I ( x ) τ Ð→ √ e ∈ I x e Ð→ x ′ τ I ( x ) τ Ð→ τ I ( x ′ ) e ∈ Ix e [ m ] ÐÐ↠ eτ I ( x ) e [ m ] ÐÐ↠ e e [ m ] ∉ I x e [ m ] ÐÐ↠ x ′ τ I ( x ) e [ m ] ÐÐ↠ τ I ( x ′ ) e [ m ] ∉ Ix e [ m ] ÐÐ↠ √ τ I ( x ) τ ÐÐ↠ √ e [ m ] ∈ I x e [ m ] ÐÐ↠ x ′ τ I ( x ) τ ÐÐ↠ τ I ( x ′ ) e [ m ] ∈ I Table 23. Transition rule of the abstraction operatorFrom the definition of rooted branching FR hp-bisimulation ≈ frrbhp (see Definition 3.10), we know thatrooted branching FR hp-bisimulation ≈ frrbhp is defined on the weakly posetal product ( C , f, C ) , f ∶ ˆ C → ˆ C isomorphism. Two process terms s related to C and t related to C , and f ∶ ˆ C → ˆ C isomorphism.Initially, ( C , f, C ) = ( ∅ , ∅ , ∅ ) , and ( ∅ , ∅ , ∅ ) ∈≈ frrbhp . When s e Ð→ s ′ ( C e Ð→ C ′ ), there will be t e Ô⇒ t ′ ( C e Ô⇒ C ′ ), and we define f ′ = f [ e ↦ e ] . And when s e [ m ] ÔÔ⇉ s ′ ( C e [ m ] ÔÔ⇉ C ′ ), there will be t e [ m ] ÔÔ⇉ t ′ ( C e [ m ] ÔÔ⇉ C ′ ),and we define f ′ = f [ e [ m ] ↦ e [ m ] . Then, if ( C , f, C ) ∈≈ frrbhp , then ( C ′ , f ′ , C ′ ) ∈≈ frrbhp .Similarly to the proof of soundness of RAP T C with silent step modulo rooted branching FR pomsetbisimulation equivalence (2), we can prove that each axiom in Table 22 is sound modulo rooted branchingFR hp-bisimulation equivalence, we just need additionally to check the above conditions on rooted branchingFR hp-bisimulation, we omit them.
The unary abstraction operator τ I ( I ⊆ E ) renames all atomic events in I into τ . RAP T C with silent stepand abstraction operator is called
RAP T C τ . The transition rules of operator τ I are shown in Table 23. Theorem 6.4 (Conservitivity of
RAP T C τ ) . RAP T C τ is a conservative extension of RAP T C with silentstep.Proof.
Since the transition rules of
RAP T C with silent step are source-dependent, and the transition rulesfor abstraction operator in Table 23contain only a fresh operator τ I in their source, so the transition rulesof RAP T C τ is a conservative extension of those of RAP T C with silent step.
Theorem 6.5 (Congruence theorem of
RAP T C τ ) . Rooted branching FR truly concurrent bisimulationequivalences ≈ frrbp , ≈ frrbs and ≈ frrbhp are all congruences with respect to RAP T C τ .Proof. (1) Case rooted branching FR pomset bisimulation equivalence ≈ frrbp .Let x and y be RAP T C τ processes, and x ≈ frrbp y , it is sufficient to prove that τ I ( x ) ≈ frrbp τ I ( y ) .By the transition rules for operator τ I in Table 23, we can get τ I ( x ) X Ð→ X [ K ]( X ⊈ I ) τ I ( y ) Y Ð→ Y [ J ]( Y ⊈ I ) τ I ( x ) X [K] ÐÐ↠ X ( X ⊈ I ) τ I ( y ) Y [J ] ÐÐ↠ Y ( Y ⊈ I ) with X ⊆ x , Y ⊆ y , and X ∼ Y .Or, we can get T I e ∉ I τ I ( e ) = eRT I e [ m ] ∉ I τ I ( e [ m ]) = e [ m ] T I e ∈ I τ I ( e ) = τRT I e [ m ] ∈ I τ I ( e [ m ]) = τT I τ I ( δ ) = δT I τ I ( x + y ) = τ I ( x ) + τ I ( y ) T I τ I ( x ⋅ y ) = τ I ( x ) ⋅ τ I ( y ) T I τ I ( x ∥ y ) = τ I ( x ) ∥ τ I ( y ) Table 24. Axioms of abstraction operator τ I ( x ) X Ð→ τ I ( x ′ )( X ⊈ I ) τ I ( y ) Y Ð→ τ I ( y ′ )( Y ⊈ I ) τ I ( x ) X [K] ÐÐ↠ τ I ( x ′ )( X ⊈ I ) τ I ( y ) Y [J ] ÐÐ↠ τ I ( y ′ )( Y ⊈ I ) with X ⊆ x , Y ⊆ y , and X ∼ Y and the hypothesis τ I ( x ′ ) ≈ frrbp τ I ( y ′ ) .Or, we can get τ I ( x ) τ ∗ Ð→ √( X ⊆ I ) τ I ( y ) τ ∗ Ð→ √( Y ⊆ I ) τ I ( x ) τ ∗ ÐÐ↠ √( X ⊆ I ) τ I ( y ) τ ∗ ÐÐ↠ √( Y ⊆ I ) with X ⊆ x , Y ⊆ y , and X ∼ Y .Or, we can get τ I ( x ) τ ∗ Ð→ τ I ( x ′ )( X ⊆ I ) τ I ( y ) τ ∗ Ð→ τ I ( y ′ )( Y ⊆ I ) τ I ( x ) τ ∗ ÐÐ↠ τ I ( x ′ )( X ⊆ I ) τ I ( y ) τ ∗ ÐÐ↠ τ I ( y ′ )( Y ⊆ I ) with X ⊆ x , Y ⊆ y , and X ∼ Y and the hypothesis τ I ( x ′ ) ≈ frrbp τ I ( y ′ ) .So, we get τ I ( x ) ≈ frrbp τ I ( y ) , as desired(2) The cases of rooted branching FR step bisimulation ≈ frrbs , rooted branching FR hp-bisimulation ≈ frrbhp can be proven similarly, we omit them.We design the axioms for the abstraction operator τ I in Table 24. Theorem 6.6 (Soundness of
RAP T C τ ) . Let x and y be RAP T C τ terms. If RAP T C τ ⊢ x = y , then x ≈ frrbs y ; x ≈ frrbp y ; x ≈ frrbhp y .Proof. (1) Soundness of RAP T C τ with respect to rooted branching FR step bisimulation ≈ frrbs .Since rooted branching FR step bisimulation ≈ frrbs is both an equivalent and a congruent relation withrespect to RAP T C τ , we only need to check if each axiom in Table 24 is sound modulo rooted branching FRstep bisimulation equivalence.Though transition rules in Table 23 are defined in the flavor of single event, they can be modified intoa step (a set of events within which each event is pairwise concurrent), we omit them. If we treat a singleevent as a step containing just one event, the proof of this soundness theorem does not exist any problem,so we use this way and still use the transition rules in Table 24. raft of An Algebra of Reversible Computation 69 We only prove soundness of the non-trivial axioms
T I − T I
6, and omit the defining axioms
T I − T I ● Axiom
T I
4. Let p, q be RAP T C τ processes, and τ I ( p + q ) = τ I ( p ) + τ I ( q ) , it is sufficient to prove that τ I ( p + q ) ≈ frrbs τ I ( p ) + τ I ( q ) . By the forward transition rules for operator + in Table 7 and τ I in Table 23,we get p e Ð→ e [ m ] e ∉ q ( e ∉ I ) τ I ( p + q ) e Ð→ τ I ( e [ m ] + q ) p e Ð→ e [ m ] ( e ∉ I ) τ I ( p ) + τ I ( q ) e Ð→ τ I ( e [ m ]) + τ I ( q ) q e Ð→ e [ m ] e ∉ p ( e ∉ I ) τ I ( p + q ) e Ð→ τ I ( p + e [ m ]) q e Ð→ e [ m ] e ∉ p ( e ∉ I ) τ I ( p ) + τ I ( q ) e Ð→ τ I ( p ) + τ I ( e [ m ]) p e Ð→ p ′ e ∉ q ( e ∉ I ) τ I ( p + q ) e Ð→ τ I ( p ′ + q ) p e Ð→ p ′ e ∉ q ( e ∉ I ) τ I ( p ) + τ I ( q ) e Ð→ τ I ( p ′ ) + τ I ( q ) q e Ð→ q ′ e ∉ p ( e ∉ I ) τ I ( p + q ) e Ð→ τ I ( p + q ′ ) q e Ð→ q ′ e ∉ p ( e ∉ I ) τ I ( p ) + τ I ( q ) e Ð→ τ I ( p ) + τ I ( q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e ∉ I ) τ I ( p + q ) e Ð→ τ I ( p ′ + q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e ∉ I ) τ I ( p ) + τ I ( q ) e Ð→ τ I ( p ′ ) + τ I ( q ′ ) p e Ð→ e [ m ] e ∉ q ( e ∈ I ) τ I ( p + q ) τ Ð→ τ I ( q ) p e Ð→ e [ m ] e ∉ q ( e ∈ I ) τ I ( p ) + τ I ( q ) τ Ð→ τ I ( q ) q e Ð→ e [ m ] e ∉ p ( e ∈ I ) τ I ( p + q ) τ Ð→ τ I ( p ) q e Ð→ e [ m ] e ∉ p ( e ∈ I ) τ I ( p ) + τ I ( q ) τ Ð→ τ I ( p ) p e Ð→ p ′ e ∉ q ( e ∈ I ) τ I ( p + q ) τ Ð→ τ I ( p ′ + q ) p e Ð→ p ′ e ∉ q ( e ∈ I ) τ I ( p ) + τ I ( q ) τ Ð→ τ I ( p ′ ) + τ I ( q ) q e Ð→ q ′ e ∉ p ( e ∈ I ) τ I ( p + q ) τ Ð→ τ I ( p + q ′ ) q e Ð→ q ′ e ∉ p ( e ∈ I ) τ I ( p ) + τ I ( q ) τ Ð→ τ I ( p ) + τ I ( q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e ∈ I ) τ I ( p + q ) τ Ð→ τ I ( p ′ + q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e ∈ I ) τ I ( p ) + τ I ( q ) τ Ð→ τ I ( p ′ ) + τ I ( q ′ ) By the reverse transition rules for operator + in Table 8 and τ I in Table 23, we get p e [ m ] ÐÐÐÐ↠ e e [ m ] ∉ q ( e ∉ I ) τ I ( p + q ) e [ m ] ÐÐÐÐ↠ τ I ( e + q ) p e [ m ] ÐÐÐÐ↠ e ( e [ m ] ∉ I ) τ I ( p ) + τ I ( q ) e [ m ] ÐÐÐÐ↠ τ I ( e ) + τ I ( q ) q e [ m ] ÐÐÐÐ↠ e e ∉ p ( e [ m ] ∉ I ) τ I ( p + q ) e [ m ] ÐÐÐÐ↠ τ I ( p + e ) q e [ m ] ÐÐÐÐ↠ e e ∉ p ( e [ m ] ∉ I ) τ I ( p ) + τ I ( q ) e [ m ] ÐÐÐÐ↠ τ I ( p ) + τ I ( e ) p e [ m ] ÐÐÐÐ↠ p ′ e ∉ q ( e [ m ] ∉ I ) τ I ( p + q ) e [ m ] ÐÐÐÐ↠ τ I ( p ′ + q ) p e [ m ] ÐÐÐÐ↠ p ′ e ∉ q ( e [ m ] ∉ I ) τ I ( p ) + τ I ( q ) e [ m ] ÐÐÐÐ↠ τ I ( p ′ ) + τ I ( q ) q e [ m ] ÐÐÐÐ↠ q ′ e ∉ p ( e [ m ] ∉ I ) τ I ( p + q ) e [ m ] ÐÐÐÐ↠ τ I ( p + q ′ ) q e [ m ] ÐÐÐÐ↠ q ′ e ∉ p ( e [ m ] ∉ I ) τ I ( p ) + τ I ( q ) e [ m ] ÐÐÐÐ↠ τ I ( p ) + τ I ( q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e ÐÐ↠ q ′ ( e [ m ] ∉ I ) τ I ( p + q ) e [ m ] ÐÐÐÐ↠ τ I ( p ′ + q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e ÐÐ↠ q ′ ( e [ m ] ∉ I ) τ I ( p ) + τ I ( q ) e [ m ] ÐÐÐÐ↠ τ I ( p ′ ) + τ I ( q ′ ) p e [ m ] ÐÐÐÐ↠ e e ∉ q ( e [ m ] ∈ I ) τ I ( p + q ) τ ÐÐ↠ τ I ( q ) p e [ m ] ÐÐÐÐ↠ e e ∉ q ( e [ m ] ∈ I ) τ I ( p ) + τ I ( q ) τ ÐÐ↠ τ I ( q ) q e [ m ] ÐÐÐÐ↠ e e ∉ p ( e [ m ] ∈ I ) τ I ( p + q ) τ ÐÐ↠ τ I ( p ) q e [ m ] ÐÐÐÐ↠ e e ∉ p ( e [ m ] ∈ I ) τ I ( p ) + τ I ( q ) τ ÐÐ↠ τ I ( p ) p e [ m ] ÐÐÐÐ↠ p ′ e ∉ q ( e [ m ] ∈ I ) τ I ( p + q ) τ ÐÐ↠ τ I ( p ′ + q ) p e ÐÐ↠ p ′ e ∉ q ( e [ m ] ∈ I ) τ I ( p ) + τ I ( q ) τ ÐÐ↠ τ I ( p ′ ) + τ I ( q ) q e [ m ] ÐÐÐÐ↠ q ′ e ∉ p ( e [ m ] ∈ I ) τ I ( p + q ) τ ÐÐ↠ τ I ( p + q ′ ) q e ÐÐ↠ q ′ e ∉ p ( e [ m ] ∈ I ) τ I ( p ) + τ I ( q ) τ ÐÐ↠ τ I ( p ) + τ I ( q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e ÐÐ↠ q ′ ( e [ m ] ∈ I ) τ I ( p + q ) τ ÐÐ↠ τ I ( p ′ + q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e ÐÐ↠ q ′ ( e [ m ] ∈ I ) τ I ( p ) + τ I ( q ) τ ÐÐ↠ τ I ( p ′ ) + τ I ( q ′ ) So, with the assumptions τ I ( e [ m ] + q ) ≈ frrbs τ I ( e [ m ]) + τ I ( q ) , τ I ( e + q ) ≈ frrbs τ I ( e ) + τ I ( q ) , τ I ( p + e [ m ]) ≈ frrbs τ I ( p ) + τ I ( e [ m ]) , τ I ( p + e ) ≈ frrbs τ I ( p ) + τ I ( e ) , τ I ( p ′ + q ) ≈ frrbs τ I ( p ′ ) + τ I ( q ) , τ I ( p + q ′ ) ≈ frrbs τ I ( p ) + τ I ( q ′ ) , τ I ( p ′ + q ′ ) ≈ frrbs τ I ( p ′ ) + τ I ( q ′ ) τ I ( p + q ) ≈ frrbs τ I ( p ) + τ I ( q ) , as desired. ● Axiom
T I
5. Let p, q be RAP T C τ processes, and τ I ( p ⋅ q ) = τ I ( p ) ⋅ τ I ( q ) , it is sufficient to prove that τ I ( p ⋅ q ) ≈ frrbs τ I ( p ) ⋅ τ I ( q ) . By forward the transition rules for operator ⋅ in Table 7 and τ I in Table 23, weget p e Ð→ e [ m ] ( e ∉ I ) τ I ( p ⋅ q ) e Ð→ τ I ( e [ m ] ⋅ q ) p e Ð→ e [ m ] ( e ∉ I ) τ I ( p ) ⋅ τ I ( q ) e Ð→ τ I ( e [ m ]) ⋅ τ I ( q ) p e Ð→ p ′ ( e ∉ I ) τ I ( p ⋅ q ) e Ð→ τ I ( p ′ ⋅ q ) p e Ð→ p ′ ( e ∉ I ) τ I ( p ) ⋅ τ I ( q ) e Ð→ τ I ( p ′ ) ⋅ τ I ( q ) p e Ð→ e [ m ] ( e ∈ I ) τ I ( p ⋅ q ) τ Ð→ τ I ( q ) p e Ð→ e [ m ] ( e ∈ I ) τ I ( p ) ⋅ τ I ( q ) τ Ð→ τ I ( q ) p e Ð→ p ′ ( e ∈ I ) τ I ( p ⋅ q ) τ Ð→ τ I ( p ′ ⋅ q ) p e Ð→ p ′ ( e ∈ I ) τ I ( p ) ⋅ τ I ( q ) τ Ð→ τ I ( p ′ ) ⋅ τ I ( q ) By reverse the transition rules for operator ⋅ in Table 8 and τ I in Table 23, we get q e [ m ] ÐÐÐÐ↠ e ( e ∉ I ) τ I ( p ⋅ q ) e [ m ] ÐÐÐÐ↠ τ I ( p ⋅ e ) q e [ m ] ÐÐÐÐ↠ e ( e ∉ I ) τ I ( p ) ⋅ τ I ( q ) e [ m ] ÐÐÐÐ↠ τ I ( p ) ⋅ τ I ( e ) raft of An Algebra of Reversible Computation 71 q e [ m ] ÐÐÐÐ↠ q ′ ( e ∉ I ) τ I ( p ⋅ q ) e [ m ] ÐÐÐÐ↠ τ I ( p ⋅ q ′ ) q e [ m ] ÐÐÐÐ↠ q ′ ( e ∉ I ) τ I ( p ) ⋅ τ I ( q ) e [ m ] ÐÐÐÐ↠ τ I ( p ) ⋅ τ I ( q ′ ) q e [ m ] ÐÐÐÐ↠ e ( e [ m ] ∈ I ) τ I ( p ⋅ q ) τ ÐÐ↠ τ I ( p ) q e [ m ] ÐÐÐÐ↠ e ( e [ m ] ∈ I ) τ I ( p ) ⋅ τ I ( q ) τ ÐÐ↠ τ I ( p ) q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] ∈ I ) τ I ( p ⋅ q ) τ ÐÐ↠ τ I ( p ⋅ q ′ ) q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] ∈ I ) τ I ( p ) ⋅ τ I ( q ) τ ÐÐ↠ τ I ( p ) ⋅ τ I ( ′ q ) So, with the assumptions τ I ( e [ m ] ⋅ q ) ≈ frrbs τ I ( e [ m ]) ⋅ τ I ( q ) , τ I ( p ⋅ e ) ≈ frrbs τ I ( p ) ⋅ τ I ( e ) , τ I ( p ′ ⋅ q ) = τ I ( p ′ ) ⋅ τ I ( q ) , τ I ( p ⋅ q ′ ) = τ I ( p ) ⋅ τ I ( q ′ ) , τ I ( p ⋅ q ) ≈ frrbs τ I ( p ) ⋅ τ I ( q ) , as desired. ● Axiom
T I
6. Let p, q be RAP T C τ processes, and τ I ( p ∥ q ) = τ I ( p ) ∥ τ I ( q ) , it is sufficient to prove that τ I ( p ∥ q ) ≈ frrbs τ I ( p ) ∥ τ I ( q ) . By the forward transition rules for operator ∥ in Table 9 and τ I in Table 23,we get p e Ð→ e [ m ] q e Ð→ e [ m ] ( e , e ∉ I ) τ I ( p ∥ q ) { e ,e } ÐÐÐÐ→ τ I ( e [ m ] ∥ e [ m ]) p e Ð→ e [ m ] q e Ð→ e [ m ] ( e , e ∉ I ) τ I ( p ) ∥ τ I ( q ) { e ,e } ÐÐÐÐ→ τ I ( e [ m ]) ∥ τ I ( e [ m ]) p e Ð→ p ′ q e Ð→ e [ m ] ( e , e ∉ I ) τ I ( p ∥ q ) { e ,e } ÐÐÐÐ→ τ I ( p ′ ∥ e [ m ]) p e Ð→ p ′ q e Ð→ e [ m ] ( e , e ∉ I ) τ I ( p ) ∥ τ I ( q ) { e ,e } ÐÐÐÐ→ τ I ( p ′ ) ∥ τ I ( e [ m ]) p e Ð→ e [ m ] q e Ð→ q ′ ( e , e ∉ I ) τ I ( p ∥ q ) { e ,e } ÐÐÐÐ→ τ I ( e [ m ] ∥ q ′ ) p e Ð→ e [ m ] q e Ð→ q ′ ( e , e ∉ I ) τ I ( p ) ∥ τ I ( q ) { e ,e } ÐÐÐÐ→ τ I ( e [ m ]) ∥ τ I ( q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e , e ∉ I ) τ I ( p ∥ q ) { e ,e } ÐÐÐÐ→ τ I ( p ′ ≬ q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e , e ∉ I ) τ I ( p ) ∥ τ I ( q ) { e ,e } ÐÐÐÐ→ τ I ( p ′ ) ≬ τ I ( q ′ ) p e Ð→ e [ m ] q e Ð→ e [ m ] ( e ∉ I, e ∈ I ) τ I ( p ∥ q ) e Ô⇒ τ I ( e [ m ]) p e Ð→ e [ m ] q e Ð→ e [ m ] ( e ∉ I, e ∈ I ) τ I ( p ) ∥ τ I ( q ) e Ô⇒ τ I ( e [ m ]) p e Ð→ p ′ q e Ð→ e [ m ] ( e ∉ I, e ∈ I ) τ I ( p ∥ q ) e Ô⇒ τ I ( p ′ ) p e Ð→ p ′ q e Ð→ e [ m ] ( e ∉ I, e ∈ I ) τ I ( p ) ∥ τ I ( q ) e Ô⇒ τ I ( p ′ ) p e Ð→ e [ m ] q e Ð→ q ′ ( e ∉ I, e ∈ I ) τ I ( p ∥ q ) e Ô⇒ τ I ( e [ m ] ∥ q ′ ) p e Ð→ e [ m ] q e Ð→ q ′ ( e ∉ I, e ∈ I ) τ I ( p ) ∥ τ I ( q ) e Ô⇒ τ I ( e [ m ]) ∥ τ I ( q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e ∉ I, e ∈ I ) τ I ( p ∥ q ) e Ô⇒ τ I ( p ′ ≬ q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e ∉ I, e ∈ I ) τ I ( p ) ∥ τ I ( q ) e Ô⇒ τ I ( p ′ ) ≬ τ I ( q ′ ) p e Ð→ e [ m ] q e Ð→ e [ m ] ( e ∈ I, e ∉ I ) τ I ( p ∥ q ) e Ô⇒ τ I ( e [ m ]) p e Ð→ e [ m ] q e Ð→ e [ m ] ( e ∈ I, e ∉ I ) τ I ( p ) ∥ τ I ( q ) e Ô⇒ τ I ( e [ m ]) p e Ð→ p ′ q e Ð→ e [ m ] ( e ∈ I, e ∉ I ) τ I ( p ∥ q ) e Ô⇒ τ I ( p ′ ∥ e [ m ]) p e Ð→ p ′ q e Ð→ e [ m ] ( e ∈ I, e ∉ I ) τ I ( p ) ∥ τ I ( q ) e Ô⇒ τ I ( p ′ ) ∥ τ I ( e [ m ]) p e Ð→ e [ m ] q e Ð→ q ′ ( e ∈ I, e ∉ I ) τ I ( p ∥ q ) e Ô⇒ τ I ( q ′ ) p e Ð→ e [ m ] q e Ð→ q ′ ( e ∈ I, e ∉ I ) τ I ( p ) ∥ τ I ( q ) e Ô⇒ τ I ( q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e ∈ I, e ∉ I ) τ I ( p ∥ q ) e Ô⇒ τ I ( p ′ ≬ q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e ∈ I, e ∉ I ) τ I ( p ) ∥ τ I ( q ) e Ô⇒ τ I ( p ′ ) ≬ τ I ( q ′ ) p e Ð→ e [ m ] q e Ð→ e [ m ] ( e , e ∈ I ) τ I ( p ∥ q ) τ ∗ Ð→ √ p e Ð→ e [ m ] q e Ð→ e [ m ] ( e , e ∈ I ) τ I ( p ) ∥ τ I ( q ) τ ∗ Ð→ √ p e Ð→ p ′ q e Ð→ e [ m ] ( e , e ∈ I ) τ I ( p ∥ q ) τ ∗ Ð→ τ I ( p ′ ) p e Ð→ p ′ q e Ð→ e [ m ] ( e , e ∈ I ) τ I ( p ) ∥ τ I ( q ) τ ∗ Ð→ τ I ( p ′ ) p e Ð→ e [ m ] q e Ð→ q ′ ( e , e ∈ I ) τ I ( p ∥ q ) τ ∗ Ð→ τ I ( q ′ ) p e Ð→ e [ m ] q e Ð→ q ′ ( e , e ∈ I ) τ I ( p ) ∥ τ I ( q ) τ ∗ Ð→ τ I ( q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e , e ∈ I ) τ I ( p ∥ q ) τ ∗ Ð→ τ I ( p ′ ≬ q ′ ) p e Ð→ p ′ q e Ð→ q ′ ( e , e ∈ I ) τ I ( p ) ∥ τ I ( q ) τ ∗ Ð→ τ I ( p ′ ) ≬ τ I ( q ′ ) By the reverse transition rules for operator ∥ in Table 10 and τ I in Table 23, we get p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e ( e [ m ] , e [ m ] ∉ I ) τ I ( p ∥ q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ τ I ( e ∥ e ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e ( e [ m ] , e [ m ] ∉ I ) τ I ( p ) ∥ τ I ( q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ τ I ( e ) ∥ τ I ( e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e ( e [ m ] , e [ m ] ∉ I ) τ I ( p ∥ q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ τ I ( p ′ ∥ e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e ( e [ m ] , e [ m ] ∉ I ) τ I ( p ) ∥ τ I ( q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ τ I ( p ′ ) ∥ τ I ( e ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] , e [ m ] ∉ I ) τ I ( p ∥ q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ τ I ( e ∥ q ′ ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] , e [ m ] ∉ I ) τ I ( p ) ∥ τ I ( q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ τ I ( e ) ∥ τ I ( q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] , e [ m ] ∉ I ) τ I ( p ∥ q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ τ I ( p ′ ≬ q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] , e [ m ] ∉ I ) τ I ( p ) ∥ τ I ( q ) { e [ m ] ,e [ m ]} ÐÐÐÐÐÐÐÐ↠ τ I ( p ′ ) ≬ τ I ( q ′ ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e ( e [ m ] ∉ I, e [ m ] ∈ I ) τ I ( p ∥ q ) e [ m ] ÔÔ⇉ τ I ( e ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e ( e [ m ] ∉ I, e [ m ] ∈ I ) τ I ( p ) ∥ τ I ( q ) e [ m ] ÔÔ⇉ τ I ( e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e ( e [ m ] ∉ I, e [ m ] ∈ I ) τ I ( p ∥ q ) e [ m ] ÔÔ⇉ τ I ( p ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e ( e [ m ] ∉ I, e [ m ] ∈ I ) τ I ( p ) ∥ τ I ( q ) e [ m ] ÔÔ⇉ τ I ( p ′ ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] ∉ I, e [ m ] ∈ I ) τ I ( p ∥ q ) e [ m ] ÔÔ⇉ τ I ( e ∥ q ′ ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] ∉ I, e [ m ] ∈ I ) τ I ( p ) ∥ τ I ( q ) e [ m ] ÔÔ⇉ τ I ( e ) ∥ τ I ( q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] ∉ I, e [ m ] ∈ I ) τ I ( p ∥ q ) e [ m ] ÔÔ⇉ τ I ( p ′ ≬ q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] ∉ I, e [ m ] ∈ I ) τ I ( p ) ∥ τ I ( q ) e [ m ] ÔÔ⇉ τ I ( p ′ ) ≬ τ I ( q ′ ) raft of An Algebra of Reversible Computation 73 p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e ( e [ m ] ∈ I, e [ m ] ∉ I ) τ I ( p ∥ q ) e [ m ] ÔÔ⇉ τ I ( e ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e ( e [ m ] ∈ I, e [ m ] ∉ I ) τ I ( p ) ∥ τ I ( q ) e [ m ] ÔÔ⇉ τ I ( e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e ( e [ m ] ∈ I, e [ m ] ∉ I ) τ I ( p ∥ q ) e [ m ] ÔÔ⇉ τ I ( p ′ ∥ e ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e ( e [ m ] ∈ I, e [ m ] ∉ I ) τ I ( p ) ∥ τ I ( q ) e [ m ] ÔÔ⇉ τ I ( p ′ ) ∥ τ I ( e ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] ∈ I, e [ m ] ∉ I ) τ I ( p ∥ q ) e [ m ] ÔÔ⇉ τ I ( q ′ ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] ∈ I, e [ m ] ∉ I ) τ I ( p ) ∥ τ I ( q ) e [ m ] ÔÔ⇉ τ I ( q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] ∈ I, e [ m ] ∉ I ) τ I ( p ∥ q ) e [ m ] ÔÔ⇉ τ I ( p ′ ≬ q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] ∈ I, e [ m ] ∉ I ) τ I ( p ) ∥ τ I ( q ) e [ m ] ÔÔ⇉ τ I ( p ′ ) ≬ τ I ( q ′ ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e ( e [ m ] , e [ m ] ∈ I ) τ I ( p ∥ q ) τ ∗ ÐÐ↠ √ p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ e ( e [ m ] , e [ m ] ∈ I ) τ I ( p ) ∥ τ I ( q ) τ ∗ ÐÐ↠ √ p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e ( e [ m ] , e [ m ] ∈ I ) τ I ( p ∥ q ) τ ∗ ÐÐ↠ τ I ( p ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ e ( e [ m ] , e [ m ] ∈ I ) τ I ( p ) ∥ τ I ( q ) τ ∗ ÐÐ↠ τ I ( p ′ ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] , e [ m ] ∈ I ) τ I ( p ∥ q ) τ ∗ ÐÐ↠ τ I ( q ′ ) p e [ m ] ÐÐÐÐ↠ e q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] , e [ m ] ∈ I ) τ I ( p ) ∥ τ I ( q ) τ ∗ ÐÐ↠ τ I ( q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] , e [ m ] ∈ I ) τ I ( p ∥ q ) τ ∗ ÐÐ↠ τ I ( p ′ ≬ q ′ ) p e [ m ] ÐÐÐÐ↠ p ′ q e [ m ] ÐÐÐÐ↠ q ′ ( e [ m ] , e [ m ] ∈ I ) τ I ( p ) ∥ τ I ( q ) τ ∗ ÐÐ↠ τ I ( p ′ ) ≬ τ I ( q ′ ) So, with the assumption τ I ( p ′ ≬ q ′ ) = τ I ( p ′ ) ≬ τ I ( q ′ ) , τ I ( p ∥ q ) ≈ frrbs τ I ( p ) ∥ τ I ( q ) , as desired.(2) Soundness of RAP T C τ with respect to rooted branching FR pomset bisimulation ≈ frrbp .Since rooted branching FR pomset bisimulation ≈ frrbp is both an equivalent and a congruent relation withrespect to RAP T C τ , we only need to check if each axiom in Table 24 is sound modulo rooted branching FRpomset bisimulation ≈ frrbp .From the definition of rooted branching FR pomset bisimulation ≈ frrbp (see Definition 3.8), we know thatrooted branching FR pomset bisimulation ≈ frrbp is defined by weak pomset transitions, which are labeled bypomsets with τ . In a weak pomset transition, the events in the pomset are either within causality relations(defined by ⋅ ) or in concurrency (implicitly defined by ⋅ and + , and explicitly defined by ≬ ), of course, theyare pairwise consistent (without conflicts). In (1), we have already proven the case that all events are pairwiseconcurrent, so, we only need to prove the case of events in causality. Without loss of generality, we take apomset of P = { e , e ∶ e ⋅ e } . Then the weak pomset transition labeled by the above P is just composed ofone single event transition labeled by e succeeded by another single event transition labeled by e , that is, P Ô⇒ = e Ô⇒ e Ô⇒ or P ÔÔ⇉ = e ÔÔ⇉ e ÔÔ⇉ .Similarly to the proof of soundness of
RAP T C τ modulo rooted branching FR step bisimulation ≈ frrbs (1),we can prove that each axiom in Table 24 is sound modulo rooted branching FR pomset bisimulation ≈ frrbp ,we omit them.(3) Soundness of RAP T C τ with respect to rooted branching FR hp-bisimulation ≈ frrbhp .Since rooted branching FR hp-bisimulation ≈ frrbhp is both an equivalent and a congruent relation with respect to RAP T C τ , we only need to check if each axiom in Table 24 is sound modulo rooted branching FRhp-bisimulation ≈ frrbhp .From the definition of rooted branching FR hp-bisimulation ≈ frrbhp (see Definition 3.10), we know thatrooted branching FR hp-bisimulation ≈ frrbhp is defined on the weakly posetal product ( C , f, C ) , f ∶ ˆ C → ˆ C isomorphism. Two process terms s related to C and t related to C , and f ∶ ˆ C → ˆ C isomorphism.Initially, ( C , f, C ) = ( ∅ , ∅ , ∅ ) , and ( ∅ , ∅ , ∅ ) ∈≈ frrbhp . When s e Ð→ s ′ ( C e Ð→ C ′ ), there will be t e Ô⇒ t ′ ( C e Ô⇒ C ′ ), and we define f ′ = f [ e ↦ e ] . And when s e [ m ] ÔÔ⇉ s ′ ( C e [ m ] ÔÔ⇉ C ′ ), there will be t e [ m ] ÔÔ⇉ t ′ ( C e [ m ] ÔÔ⇉ C ′ ),and we define f ′ = f [ e [ m ] ↦ e [ m ] . Then, if ( C , f, C ) ∈≈ frrbhp , then ( C ′ , f ′ , C ′ ) ∈≈ frrbhp .Similarly to the proof of soundness of RAP T C τ modulo rooted branching FR pomset bisimulationequivalence (2), we can prove that each axiom in Table 24 is sound modulo rooted branching FR hp-bisimulation equivalence, we just need additionally to check the above conditions on rooted branching FRhp-bisimulation, we omit them.
7. Conclusions
We design an axiomatization of reversible truly concurrent process algebra
AP T C [8]. It has algebraic lawsof reversible choice, sequence, parallelism, communication, silent step and abstraction, and also the sound-ness and completeness modulo strongly FR truly concurrent bisimulations and weakly FR truly concurrentbisimulations. It can be used in verification of computer systems with a truly concurrent and reversibleflavor.
References [1] M. Hennessy and R. Milner. Algebraic laws for nondeterminism and concurrency. J. ACM, 1985, 32, 137-161.[2] R. Milner. Communication and concurrency. Printice Hall, 1989.[3] R. Milner. A calculus of communicating systems. LNCS 92, Springer, 1980.[4] W. Fokkink. Introduction to process algebra 2nd ed. Springer-Verlag, 2007.[5] I. Phillips, I. Ulidowski.:
Reversing algebraic process calculi.
The Journal of Logic and Algebraic Programming,2007, 73 (2007): 70–96.[6] I. Phillips, I. Ulidowski.:
True Concurrency Semantics via Reversibility.