M. Abadi, A. Birrell, T. Harris, and M. Isard, Semantics of transactional memory and automatic mutual exclusion, Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, POPL '08, pp.63-74, 2008.

M. Abadi and T. Harris, Perspectives on Transactional Memory, 20th International Conference on Concurrency Theory (CONCUR), pp.1-14
DOI : 10.1016/j.scico.2005.03.001

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.157.2236

]. S. Abramsky, A structural approach to reversible computation, Theoretical Computer Science, vol.347, issue.3, pp.441-464, 2005.
DOI : 10.1016/j.tcs.2005.07.002

L. Acciai, M. Boreale, and S. Dal-zilio, A Concurrent Calculus with Atomic Transactions, 16th European Symposium on Programming (ESOP), pp.48-63, 2007.
DOI : 10.1007/978-3-540-71316-6_5

URL : https://hal.archives-ouvertes.fr/hal-00109264

T. Akgul, V. J. Mooney, and I. , Assembly instruction level reverse execution for debugging, ACM Transactions on Software Engineering and Methodology, vol.13, issue.2
DOI : 10.1145/1018210.1018211

H. B. Axelsen and R. Glück, What Do Reversible Programs Compute?, FOSSACS, pp.42-56, 2011.
DOI : 10.1007/978-3-642-19805-2_4

H. B. Axelsen, R. Glück, and T. Yokoyama, Reversible Machine Code and Its Abstract Processor Architecture, Computer Science -Theory and Applications, Second International Symposium on Computer Science in Russia Proceedings, pp.56-69, 2007.
DOI : 10.1007/978-3-540-74510-5_9

H. Barendregt, The Lambda Calculus ? Its Syntax and Semantics, 1984.

]. P. Benioff, Quantum Mechanical Models of Turing Machines That Dissipate No Energy, Physical Review Letters, vol.48, issue.23
DOI : 10.1103/PhysRevLett.48.1581

P. A. Bernstein, V. Hadzilacos, and N. Goodman, Concurrency Control and Recovery in Database Systems, 1987.

L. Bocchi, C. Laneve, and G. Zavattaro, A Calculus for Long-Running Transactions, 6th IFIP WG 6.1 International Conference Formal Methods for Open Object-Based Distributed Systems (FMOODS), pp.124-138, 2003.
DOI : 10.1016/0890-5401(92)90008-4

]. B. Boothe, Efficient algorithms for bidirectional debugging, ACM SIGPLAN 2000 conference on Programming language design and implementation, pp.299-310, 2000.
DOI : 10.1145/358438.349339

M. Boreale and D. Sangiorgi, A fully abstract semantics for causality in the ??-calculus
DOI : 10.1007/3-540-59042-0_77

]. G. Boudol, Towards a Lambda-Calculus for Concurrent and Communicating Sys- tems

R. Bruni, H. C. Melgratti, and U. Montanari, Nested Commits For Mobile Calculi: Extending Join, 3rd International Conference on Theoretical Computer Science (TCS), pp.563-576, 2004.
DOI : 10.1007/1-4020-8141-3_43

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.120.6285

R. Bruni, H. C. Melgratti, and U. Montanari, Theoretical foundations for compensations in flow composition lan- guages

H. Buhrman, J. Tromp, and P. M. Vitányi, Time and Space Bounds for Reversible Simulation, 28th International Colloquium on Automata, Languages and Programming (ICALP), pp.1017-1027, 2001.
DOI : 10.1007/3-540-48224-5_82

URL : http://arxiv.org/abs/quant-ph/0101133

L. Cardelli and C. Laneve, Reversibility in Massive Concurrent Systems. CoRR, abs/1108, 2011.

L. Cardelli and C. Laneve, Reversible structures, Proceedings of the 9th International Conference on Computational Methods in Systems Biology, CMSB '11, pp.131-140, 2011.
DOI : 10.1145/2037509.2037529

C. D. Carothers, K. S. Perumalla, and R. Fujimoto, Efficient optimistic parallel simulations using reverse computation, ACM Transactions on Modeling and Computer Simulation, vol.9, issue.3, pp.224-253, 1999.
DOI : 10.1145/347823.347828

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.113.1702

G. L. Cattani and P. Sewell, Models for name-passing processes: interleaving and causal, Information and Computation, vol.190, issue.2, pp.136-178, 2004.
DOI : 10.1016/j.ic.2003.12.003

URL : http://doi.org/10.1016/j.ic.2003.12.003

T. Chothia and D. Duggan, Abstractions for fault-tolerant global computing, Theoretical Computer Science, vol.322, issue.3, pp.567-613, 2004.
DOI : 10.1016/j.tcs.2003.09.014

S. Crafa, D. Varacca, N. Yoshida, K. Czarnecki, J. N. Foster et al., Compositional Event Structure Semantics for the Internal Pi-Calculus, 18th International Conference Concurrency Theory (CONCUR) Bidirectional Transformations : A Cross-Discipline Perspective GRACE Meeting Notes , State of the Art , and Outlook, 2007.

V. Danos and J. Krivine, Reversible Communicating Systems, 15th International Conference on Concurrency Theory (CONCUR), pp.292-307
DOI : 10.1007/BFb0012800

URL : https://hal.archives-ouvertes.fr/hal-00784051

V. Danos and J. Krivine, Transactions in RCCS, 16th International Conference on Concurrency Theory (CONCUR), pp.398-412
DOI : 10.1007/11539452_31

URL : https://hal.archives-ouvertes.fr/hal-00164585

V. Danos and L. Regnier, Reversible, Irreversible and Optimal lambda-Machines
DOI : 10.1016/s0304-3975(99)00049-3

URL : http://doi.org/10.1016/s0304-3975(99)00049-3

R. De-nicola, U. Montanari, and F. W. Vaandrager, Back and forth bisimulations, CONCUR '90, Theories of Concurrency: Unification and Extension, pp.152-165
DOI : 10.1007/BFb0039058

E. De-vries, V. Koutavas, and M. Hennessy, Communicating Transactions, 21st International Conference on Concurrency Theory (CONCUR), pp.569-583
DOI : 10.1007/978-3-642-15375-4_39

E. N. Elnozahy, L. Alvisi, Y. Wang, and D. B. Johnson, A survey of rollback-recovery protocols in message-passing systems, ACM Computing Surveys, vol.34, issue.3, 2002.
DOI : 10.1145/568522.568525

J. L. Eppinger, L. B. Mummert, and A. Z. Spector, Camelot and Avalon: A Distributed Transaction Facility, 1991.

S. I. Feldman and C. B. Brown, Igor: A system for program debugging via reversible execution, Workshop on Parallel and Distributed Debugging, 1988.

J. Field and C. A. Varela, Transactors: a programming model for maintaining globally consistent distributed state in unreliable environments

C. Fournet and G. Gonthier, The reflexive chemical abstract machine and the join-calculus, 23rd ACM Symp. on Princ. of Prog. Languages (POPL), pp.372-385, 1996.

C. Fournet and G. Gonthier, The Join Calculus: A Language for Distributed Mobile Programming, Applied Semantics, pp.1-66, 2000.
DOI : 10.1007/3-540-45699-6_6

E. Fredkin and T. Toffoli, Conservative logic, International Journal of Theoretical Physics, vol.43, issue.3-4, pp.219-253, 1982.
DOI : 10.1007/BF01857727

H. Garcia-molina, D. Gawlick, J. Klein, K. Kleissner, and K. Salem, Modeling long-running activities as nested sagas, IEEE Data Eng. Bull, vol.14, issue.1, pp.14-18, 1991.

H. Garcia-molina and K. Salem, Sagas, ACM SIGMOD Record, vol.16, issue.3, pp.249-259, 1987.
DOI : 10.1145/38714.38742

]. D. Gorla, Towards a unified approach to encodability and separation results for process calculi

J. Gray and A. Reuter, Transaction Processing: Concepts and Techniques, 1992.

C. Guidi, I. Lanese, F. Montesi, and G. Zavattaro, On the interplay between fault handling and request-response service invocations, 2008 8th International Conference on Application of Concurrency to System Design
DOI : 10.1109/ACSD.2008.4574611

]. I. Hasuo, Generic Forward and Backward Simulations, 17th International Conference on Concurrency Theory, pp.447-461, 2006.
DOI : 10.1007/11817949_27

URL : http://basics.sjtu.edu.cn/~yuehg/concur/generic forward and backward simulations(2006).pdf

M. Herlihy, J. Eliot, and B. Moss, Transactional Memory: Architectural Support for Lock-Free Data Structures

B. Jacobs and F. Piessens, Failboxes: Provably Safe Exception Handling, 23rd European Conference on Object-Oriented Programming, pp.470-494, 2009.
DOI : 10.1007/978-3-540-24851-4_24

S. Jagannathan, J. Vitek, A. Welc, and A. L. Hosking, A transactional object calculus, Science of Computer Programming, vol.57, issue.2, pp.164-186, 2005.
DOI : 10.1016/j.scico.2005.03.001

I. Lanese, C. A. Mezzina, A. Schmitt, and J. Stefani, Controlling Reversibility in Higher-Order Pi, In CONCUR, pp.297-311, 2011.
DOI : 10.1007/11539452_31

I. Lanese, C. A. Mezzina, and J. Stefani, Reversing Higher-Order Pi, In CONCUR, pp.478-493, 2010.
DOI : 10.1007/978-3-642-15375-4_33

I. Lanese and F. Montesi, Error Handling: From Theory to Practice, ISoLA, pp.66-81, 2010.
DOI : 10.1007/978-3-642-16561-0_13

I. Lanese, C. Vaz, and C. Ferreira, On the Expressive Power of Primitives for Compensation Handling, 19th European Symposium on Programming, pp.366-386, 2010.
DOI : 10.1007/978-3-642-11957-6_20

C. Laneve and G. Zavattaro, Foundations of Web Transactions, Foundations of Software Science and Computational Structures, 8th International Conference (FOSSACS), pp.282-298, 2005.
DOI : 10.1007/978-3-540-31982-5_18

G. B. Leeman, A formal approach to undo operations in programming languages, ACM Transactions on Programming Languages and Systems, vol.8, issue.1
DOI : 10.1145/5001.5005

S. Lenglet, A. Schmitt, and J. Stefani, Normal Bisimulations in Calculi with Passivation, FOSSACS, pp.257-271, 2009.
DOI : 10.1007/978-3-540-31794-4_9

URL : https://hal.archives-ouvertes.fr/inria-00330565

]. B. Liskov, Distributed programming in Argus, Communications of the ACM, vol.31, issue.3, pp.300-312, 1988.
DOI : 10.1145/42392.42399

B. Liskov and R. Scheifler, Guardians and actions, Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '82
DOI : 10.1145/582153.582155

N. A. Lynch and F. W. Vaandrager, Forward and Backward Simulations, Information and Computation, vol.121, issue.2, pp.214-233, 1995.
DOI : 10.1006/inco.1995.1134

URL : http://doi.org/10.1006/inco.1996.0060

]. R. Milner, A Calculus of Communicating Systems, Lecture Notes in Computer Science, vol.92, issue.92
DOI : 10.1007/3-540-10235-3

R. Springer and . Milner, Calculi for Synchrony and Asynchrony, Theor. Comput. Sci, vol.25, pp.267-310, 1980.

]. R. Milner, Functions as processes, Mathematical Structures in Computer Science, vol.4, issue.02, pp.119-141, 1992.
DOI : 10.1016/0304-3975(87)90045-4

URL : https://hal.archives-ouvertes.fr/inria-00075405

F. Montesi, C. Guidi, I. Lanese, and G. Zavattaro, Dynamic Fault Handling Mechanisms for Service-Oriented Applica- tions

K. F. Moore and D. Grossman, High-level small-step operational semantics for transactions, ACM SIGPLAN Notices, vol.43, issue.1, pp.51-62, 2008.
DOI : 10.1145/1328897.1328448

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.153.8823

]. J. Moss, Open Nested Transactions: Semantics and Support (poster)

M. R. Mousavi, M. A. Reniers, and J. F. Groote, SOS formats and meta-theory: 20 years after, Theoretical Computer Science, vol.373, issue.3, pp.238-272, 2007.
DOI : 10.1016/j.tcs.2006.12.019

URL : http://doi.org/10.1016/j.tcs.2006.12.019

C. Papadimitriou, The theory of database concurrency control, 1986.

J. A. Pérez, Higher-Order Concurrency: Expressiveness and Decidability Results, 2010.

K. Peters, J. Schicke, and U. Nestmann, Synchrony vs Causality in the Asynchronous Pi-Calculus, EXPRESS, pp.89-103, 2011.
DOI : 10.4204/EPTCS.64.7

A. Phillips and L. Cardelli, A programming language for composable DNA circuits, Journal of The Royal Society Interface, vol.31, issue.13, pp.419-436, 2009.
DOI : 10.1093/nar/gkg595

URL : http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2843959

I. C. Phillips and I. Ulidowski, A Logic with Reverse Modalities for History-preserving Bisimulations, EXPRESS, pp.104-118, 2011.
DOI : 10.4204/EPTCS.64.8

M. F. Ringenburg and D. Grossman, AtomCaml: first-class atomicity via rollback, 10th ACM SIGPLAN International Conference on Functional Programming (ICFP), 2005.

]. D. Sangiorgi, Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms

]. D. Sangiorgi, Bisimulation for Higher-Order Process Calculi, Information and Computation, vol.131, issue.2, 1996.
DOI : 10.1006/inco.1996.0096

URL : https://hal.archives-ouvertes.fr/inria-00074170

]. D. Sangiorgi, From ?? to ??; or, Rediscovering continuations, Mathematical Structures in Computer Science, vol.9, issue.4, pp.367-401, 1999.
DOI : 10.1017/S0960129599002881

A. Schmitt and J. Stefani, The m-calculus: a higher-order distributed process calculus, POPL, pp.50-61, 2003.
URL : https://hal.archives-ouvertes.fr/inria-00072227

H. Schuldt, G. Alonso, C. Beeri, and H. Schek, Atomicity and isolation for transactional processes, ACM Transactions on Database Systems, vol.27, issue.1
DOI : 10.1145/507234.507236

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.16.199

]. L. Szilard, On the decrease of entropy in a thermodynamic system by the intervention of intelligent beings, Behavioral Science, vol.32, issue.4, pp.301-310, 1964.
DOI : 10.1002/bs.3830090402

D. Varacca and N. Yoshida, Typed event structures and the linear <mml:math altimg="si1.gif" display="inline" overflow="scroll" xmlns:xocs="http://www.elsevier.com/xml/xocs/dtd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.elsevier.com/xml/ja/dtd" xmlns:ja="http://www.elsevier.com/xml/ja/dtd" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:tb="http://www.elsevier.com/xml/common/table/dtd" xmlns:sb="http://www.elsevier.com/xml/common/struct-bib/dtd" xmlns:ce="http://www.elsevier.com/xml/common/dtd" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:cals="http://www.elsevier.com/xml/common/cals/dtd"><mml:mi>??</mml:mi></mml:math>-calculus, Theoretical Computer Science, vol.411, issue.19, pp.1949-1973, 2010.
DOI : 10.1016/j.tcs.2010.01.024

P. M. Vitányi, Time, space, and energy in reversible computing, Proceedings of the 2nd conference on Computing frontiers , CF '05, pp.435-444, 2005.
DOI : 10.1145/1062261.1062335

T. Yokoyama, H. B. Axelsen, and R. Glück, Principles of a reversible programming language, Proceedings of the 2008 conference on Computing frontiers , CF '08, pp.43-54, 2008.
DOI : 10.1145/1366230.1366239

]. T. Yokoyama and R. Glück, A reversible programming language and its invertible self-interpreter, Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation , PEPM '07
DOI : 10.1145/1244381.1244404

P. ?a, Q: by definition P = (l)?a. Ql. So f n(P ) = f n(Q) \ {l, a}. By inductive hypothesis we have that

A. Lemma, 5 Be P an HO? + process. If P ? Q then fn(Q) ? fn(P )

. App, V ? F ? with ? = match(V, ?) By definition fn((?)F V ) = (fn(F ) \ dom(?)) ? fn(V ) and fn(F ?) = (fn(F ) \ dom(?))?fn(cod, and we can conclude by noticing that fn(cod(?)) ? fn(V )

R. Q-n-]-?-c-?-1, S. ?. R{-s-?-1, /. Y. , and X. }. , Since identity is included in R (it suffices to consider a 0-ary context), and since (S i , S ? i ) ? R (since they are subterms) we have that (R{ S 1

A. Lemma, 20 Axiom Ex.P and its instantiation are correct with respect to weak bf barbed bisimulation

R. Let, addG(l 1 P | 2 Q | S(l 1