, If g ? i f i is autonomous, then g ? f is autonomous; likewise, if g ? i 1 f i 1 ? i 2 f i 2 . . . is autonomous for some pairwise distinct i 1 , i 2
, Laws 1 and 2 are proved by induction on M , using algebraic reasoning and Lemma 2.2.10. Law 1 is needed to show law 2
,
,
, Since x is the eager normal-form of M and N , x ? y. Note that y can contain more names
then the equation uses a purely-divergent term. We choose the encoding of ? for this ,
) I ,
, then the equation encodes an abstraction whose body refers to the normal forms of M , N , via the variable X M
, z). !z(x, q, p.p
we separate the evaluation contexts and the values, as in Definition 2.2.3. In the body of the equation, this is achieved by: (i) rewriting C e [xV ] into (?z. C e [z])(xV ), for some fresh z, and similarly for C e and V (such a transformation is valid for , as per law 2.1, which is established in Lemma 2.2.22); and (ii) referring to the equation variable associated to the evaluation contexts ,
,
, pre-fixed point of E for S can be obtained from a pre-fixed point of E (for S) by removing the components corresponding to indices in J
, 2. the same as (1) with post-fixed points in place of pre-fixed points
, Consider two systems of equations E and E where E extends E with respect to tr . Furthermore, suppose E is guarded and has a divergence-free syntactic solution. If F is a pre-fixed point for tr of E, and G a post-fixed point
, -eager normal-form similarity, written ? ? . It is obtained by imposing that M ? ? N for all N , whenever M is divergent. Thus, with respect to the bisimilarity relation ? , we only have to change clause
, A relation R between ?-terms is an ?-eager normal-form simulation if
,
,
,
,
C e [xV ] for some x, z, V and C e such that V Rz and C e [y]Ry for some y fresh in C e ,
, ?-eager normal form similarity is the largest ?-eager normal-form simulation
, For any M, N ? ?, we have M ? ? N iff I
The lazy ?-calculus, Research Topics in Functional Programming, pp.65-117, 1987. ,
On the relative usefulness of fireballs, 30th Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2015, pp.141-155, 2015. ,
URL : https://hal.archives-ouvertes.fr/hal-01244833
On bisimulations for the asynchronous pi-calculus, Theor. Comput. Sci, vol.195, issue.2, pp.291-324, 1998. ,
URL : https://hal.archives-ouvertes.fr/inria-00073784
Handbook of Process Algebra, chapter Structural operational semantics, 2001. ,
Open call-by-value ,
URL : https://hal.archives-ouvertes.fr/hal-01425465
, , 2016.
Call-by-value games, Proceedings of, CSL '97, Annual Conference of the EACSL, Selected Papers, pp.1-17, 1997. ,
Productive coprogramming with guarded recursion, ACM SIGPLAN International Conference on Functional Programming, ICFP'13, pp.197-208, 2013. ,
The lambda calculus: its syntax and semantics. Studies in logic and the foundations of mathematics, 1984. ,
Fully Abstract Encodings of ?-Calculus in HOcore through Abstract Machines, 32nd Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2017, pp.1-12, 2017. ,
, Process Algebra: Equational Theories of Communicating Processes, 2010.
Undecidable problems for probabilistic automata of fixed dimension, Theory Comput. Syst, vol.36, issue.3, pp.231-245, 2003. ,
T2: temporal property verification, Tools and Algorithms for the Construction and Analysis of Systems -22nd International Conference, TACAS 2016, Held as Part of the European Joint Conferences on Theory and Practice of Software, pp.387-393, 2016. ,
On the expressive power of recursion, replication and iteration in process calculi, Mathematical Structures in Computer Science, vol.19, issue.6, pp.1191-1222, 2009. ,
A theory of communicating sequential processes, J. ACM, vol.31, issue.3, pp.560-599, 1984. ,
Sequentiality and the picalculus, TLCA, pp.29-45, 2001. ,
Bisimulation can't be traced, Conference Record of the Fifteenth Annual ACM Symposium on Principles of Programming Languages, pp.229-239, 1988. ,
Structural operational semantics for weak bisimulations, Theor. Comput. Sci, vol.146, issue.1&2, pp.25-68, 1995. ,
Proving soundness of extensional normal-form bisimilarities, Electr. Notes Theor. Comput. Sci, vol.336, pp.41-56, 2018. ,
URL : https://hal.archives-ouvertes.fr/hal-01650000
On the semantics of the call-by-name CPS transform, Theor. Comput. Sci, vol.234, issue.1-2, pp.309-321, 2000. ,
Checking NFA equivalence with bisimulations up to congruence, The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '13, pp.457-468, 2013. ,
URL : https://hal.archives-ouvertes.fr/hal-00639716
Topological birkhoff, Transactions of the American Mathematical Society, vol.367, issue.4, pp.2527-2549, 2015. ,
URL : https://hal.archives-ouvertes.fr/hal-00756921
Hacking nondeterminism with induction and coinduction, Commun. ACM, vol.58, issue.2, pp.87-95, 2015. ,
URL : https://hal.archives-ouvertes.fr/hal-01284907
Reconstructing the topology of clones, Transactions of the American Mathematical Society, vol.369, issue.5, pp.3707-3740, 2017. ,
A general account of coinduction up-to, Acta Inf, vol.54, issue.2, pp.127-190, 2017. ,
URL : https://hal.archives-ouvertes.fr/hal-01442724
An improved failures model for communicating processes, Seminar on Concurrency, pp.281-305, 1984. ,
, Process Algebra, 1990.
Infinite objects in type theory, Types for Proofs and Programs, International Workshop TYPES'93, pp.62-78, 1993. ,
Two sides of the same coin: session types and game semantics: a synchronous side and an asynchronous side, PACMPL, vol.3, 2019. ,
A proof system for the linear time µ-calculus, Proceedings of the 26th International Conference on Foundations of Software Technology and Theoretical Computer Science, FSTTCS'06, pp.273-284, 2006. ,
Termination in impure concurrent languages, CONCUR 2010 -Concurrency Theory, 21th International Conference, pp.328-342, 2010. ,
URL : https://hal.archives-ouvertes.fr/hal-00798789
Divergence and Unique Solution of Equations, 28th International Conference on Concurrency Theory, vol.85, pp.1-11, 2017. ,
URL : https://hal.archives-ouvertes.fr/hal-02376814
Eager functions as processes, Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2018, pp.364-373, 2018. ,
URL : https://hal.archives-ouvertes.fr/hal-01917255
Divergence and unique solution of equations, Logical Methods in Computer Science, vol.15, issue.3, 2019. ,
URL : https://hal.archives-ouvertes.fr/hal-02376814
Towards 'up to context' reasoning about higher-order processes, Theor. Comput. Sci, vol.807, pp.154-168, 2020. ,
URL : https://hal.archives-ouvertes.fr/hal-01857391
Higher-level synchronising devices in meije-sccs, Theor. Comput. Sci, vol.37, pp.245-267, 1985. ,
Ensuring termination by typability, Inf. Comput, vol.204, issue.7, pp.1045-1082, 2006. ,
URL : https://hal.archives-ouvertes.fr/hal-00159679
Divergence and unique solution of equations in an abstract setting, Coq formal proof, 2017. ,
Divide and congruence II: delay and weak bisimilarity, Proceedings of the 31st Annual ACM/IEEE Symposium on Logic in Computer Science, LICS '16, pp.778-787, 2016. ,
Game semantics for untyped lambda beta eta-calculus, Proceedings of the 4th International Conference on Typed Lambda Calculi and Applications, TLCA '99, pp.114-128, 1999. ,
Codifying guarded definitions with recursive schemes, Types for Proofs and Programs, International Workshop TYPES'94, pp.39-59, 1994. ,
A compiled implementation of strong reduction, Proceedings of the Seventh ACM SIGPLAN International Conference on Functional Programming (ICFP '02), pp.235-246, 2002. ,
Modeling and Analysis of Communicating Systems, 2014. ,
A system-level game semantics, Proceedings of the 28th Conference on the Mathematical Foundations of Programming Semantics, vol.286, pp.191-211, 2012. ,
Structured operational semantics and bisimulation as a congruence, Inf. Comput, vol.100, issue.2, pp.202-260, 1992. ,
The power of parameterization in coinductive proof, The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '13, pp.193-206, 2013. ,
Pi-calculus, dialogue games and PCF, Proceedings of FPCA 1995, pp.96-107, 1995. ,
On full abstraction for PCF: i, ii, and III, Inf. Comput, vol.163, issue.2, pp.285-408, 2000. ,
Communicating Sequential Processes, 1985. ,
The category theoretic understanding of universal algebra: Lawvere theories and monads, Electronic Notes in Theoretical Computer Science, vol.172, pp.437-458, 2007. ,
Introduction to Combinators and Lambda-Calculus, 1986. ,
Game-theoretic analysis of call-by-value computation, Theor. Comput. Sci, vol.221, issue.1-2, pp.393-456, 1999. ,
A universal innocent game model for the böhm tree lambda theory, Computer Science Logic, 13th International Workshop, CSL '99, pp.405-419, 1999. ,
Innocent game models of untyped lambda-calculus, Theor. Comput. Sci, vol.272, issue.1-2, pp.247-292, 2002. ,
Adapting innocent game models for the böhm treelambda-theory, Theor. Comput. Sci, vol.308, issue.1-3, pp.333-366, 2003. ,
Small bisimulations for reasoning about higher-order imperative programs, Proc. POPL'06, pp.141-152, 2006. ,
Relational Reasoning about Functions and Nondeterminism, 1998. ,
Relational reasoning about contexts, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute, pp.91-135, 1998. ,
Eager normal form bisimulation, 20th IEEE Symposium on Logic in Computer Science (LICS 2005), pp.345-354, 2005. ,
, CompCert C verified compiler
An algebraic interpretation of the lambda beta -calculus and a labeled lambda -calculus, Lambda-Calculus and Computer Science Theory, Proceedings of the Symposium Held in Rome, pp.147-165, 1975. ,
Eager normal form bisimulation, Proc. 20th Annual IEEE Symposium on Logic in Computer Science, pp.345-354, 2005. ,
Set-theoretical models of ?-calculus: theories, expansions, isomorphisms, Annals of Pure and Applied Logic, vol.24, issue.2, pp.153-188, 1983. ,
Games and full abstraction for FPC, Inf. Comput, vol.160, issue.1-2, pp.1-61, 2000. ,
Communication and concurrency. PHI Series in computer science, 1989. ,
Functions as processes, INRIA, 1990. ,
URL : https://hal.archives-ouvertes.fr/inria-00075405
Functions as processes, Automata, Languages and Programming, 17th International Colloquium, vol.90, pp.167-180, 1990. ,
URL : https://hal.archives-ouvertes.fr/inria-00075405
Functions as processes, Mathematical Structures in Computer Science, vol.2, issue.2, pp.119-141, 1992. ,
URL : https://hal.archives-ouvertes.fr/inria-00075405
The polyadic ?-calculus: a tutorial. In Logic and algebra of specification, Series F: Computer & Systems Sciences), vol.94, pp.203-246, 1993. ,
Communicating and mobile systems -the Pi-calculus, 1999. ,
Behavioral theory for mobile ambients, J. ACM, vol.52, issue.6, pp.961-1023, 2005. ,
Bisimulations up-to: Beyond first-order transition systems, CONCUR 2014 -Concurrency Theory -25th International Conference, pp.93-108, 2014. ,
URL : https://hal.archives-ouvertes.fr/hal-00990859
A calculus of mobile processes, I. Inf. Comput, vol.100, issue.1, pp.1-40, 1992. ,
SOS formats and meta-theory: 20 years after, Theor. Comput. Sci, vol.373, issue.3, pp.238-272, 2007. ,
Barbed bisimulation, Automata, Languages and Programming, vol.92, pp.685-695, 1992. ,
On asynchrony in name-passing calculi, Mathematical Structures in Computer Science, vol.14, issue.5, pp.715-767, 2004. ,
A modality for recursion, 15th Annual IEEE Symposium on Logic in Computer Science, pp.255-266, 2000. ,
Games characterizing levy-longo trees, Theor. Comput. Sci, vol.312, issue.1, pp.121-142, 2004. ,
Effects as sessions, sessions as effects, Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp.568-581, 2016. ,
Call-by-name, call-by-value and the lambda-calculus, Theor. Comput. Sci, vol.1, issue.2, pp.125-159, 1975. ,
Complete lattices and up-to techniques, Programming Languages and Systems, 5th Asian Symposium, pp.351-366, 2007. ,
URL : https://hal.archives-ouvertes.fr/ensl-00155308
Up to techniques for bisimulations, 2008. ,
URL : https://hal.archives-ouvertes.fr/tel-01441480
Coinduction all the way up, Proceedings of the 31st Annual ACM/IEEE Symposium on Logic in Computer Science, LICS '16, pp.307-316, 2016. ,
URL : https://hal.archives-ouvertes.fr/hal-01259622
, , 2017.
Typing and subtyping for mobile processes, Mathematical Structures in Computer Science, vol.6, issue.5, pp.409-453, 1996. ,
Advanced Topics in Bisimulation and Coinduction (D. Sangiorgi and J. Rutten editors), chapter Enhancements of the coinductive proof method, 2011. ,
Coalgebraic bisimulation-up-to, SOFSEM 2013: Theory and Practice of Computer Science, 39th International Conference on Current Trends in Theory and Practice of Computer Science, pp.369-381, 2013. ,
An alternative order for the failures model, J. Log. Comput, vol.2, issue.5, pp.557-577, 1992. ,
The Theory and Practice of Concurrency, 1997. ,
Understanding Concurrent Systems, 2010. ,
The Parametric Lambda Calculus -A Metamodel for Computation, Texts in Theoretical Computer Science. An EATCS Series, 2004. ,
Expressing mobility in process algebras : first-order and higherorder paradigms, 1993. ,
An investigation into functions as processes, Proc. of MFPS'93, vol.802, pp.143-159 ,
, , 1993.
The lazy lambda calculus in a concurrency scenario, Inf. Comput, vol.111, issue.1, pp.120-153, 1994. ,
On the proof method for bisimulation (extended abstract), 20th International Symposium, MFCS'95, pp.479-488, 1995. ,
Bisimulation for higher-order process calculi, Inf. Comput, vol.131, issue.2, pp.141-178, 1996. ,
URL : https://hal.archives-ouvertes.fr/inria-00074170
pi-calculus, internal mobility, and agent-passing calculi, Theor. Comput. Sci, vol.167, issue.1&2, pp.235-274, 1996. ,
URL : https://hal.archives-ouvertes.fr/inria-00074139
On the bisimulation proof method, Mathematical Structures in Computer Science, vol.8, issue.5, pp.447-479, 1998. ,
Lazy functions and mobile processes, Proof, Language and Interaction: Essays in Honour of Robin Milner, 2000. ,
URL : https://hal.archives-ouvertes.fr/inria-00074163
Introduction to Bisimulation and Coinduction, 2011. ,
URL : https://hal.archives-ouvertes.fr/hal-00907026
Equations, contractions, and unique solutions, Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp.421-432, 2015. ,
URL : https://hal.archives-ouvertes.fr/hal-01089205
A course in universal algebra, vol.78, 1981. ,
Environmental bisimulations for higher-order languages, ACM Trans. Program. Lang. Syst, vol.33, issue.1, 2011. ,
URL : https://hal.archives-ouvertes.fr/hal-01337665
A complete, co-inductive syntactic theory of sequential control and state, Semantics and Algebraic Specification, Essays Dedicated to Peter D. Mosses on the Occasion of His 60th Birthday, pp.329-375, 2009. ,
The problem of "weak bisimulation up to, CONCUR '92, Third International Conference on Concurrency Theory, pp.32-46, 1992. ,
Advanced Topics in Bisimulation and Coinduction, 2011. ,
URL : https://hal.archives-ouvertes.fr/hal-00907322
The Pi-Calculus -a theory of mobile processes, 2001. ,
Trees from functions as processes, 25th International Conference, pp.78-92, 2014. ,
URL : https://hal.archives-ouvertes.fr/hal-01931186
Clones in universal algebra. Les presses de L'universite de Montreal, 1986. ,
Functions as session-typed processes, Foundations of Software Science and Computational Structures -15th International Conference, FOSSACS 2012, Held as Part of the European Joint Conferences on Theory and Practice of Software, vol.2012, pp.346-360, 2012. ,
, The Coq Development Team. Coq proof assistant
On polymorphic sessions and functions -A tale of two (fully abstract) encodings, Proc. of ESOP, vol.10801, pp.827-855, 2018. ,
Ordered SOS process languages for branching and eager bisimulations, Inf. Comput, vol.178, issue.1, pp.180-213, 2002. ,
The linear time-branching time spectrum (extended abstract). In CONCUR '90, Theories of Concurrency: Unification and Extension, Proceedings, pp.278-297, 1990. ,
The linear time -branching time spectrum II, CON-CUR '93, 4th International Conference on Concurrency Theory, pp.66-81, 1993. ,
On cool congruence formats for weak bisimulations, Theoretical Aspects of Computing -ICTAC 2005, Second International Colloquium, pp.318-333, 2005. ,
On cool congruence formats for weak bisimulations, Theor. Comput. Sci, vol.412, issue.28, pp.3283-3302, 2011. ,
Objects in the pi-calculus, Inf. Comput, vol.116, issue.2, pp.253-271, 1995. ,
Strong Normalisation in the Pi-Calculus. Information and Computation, vol.191, pp.145-202, 2004. ,
=? Q for some Q, then there exists P and n such that ,
? Q for some Q, then there exists P and n such that ,
, Let E be a guarded system of equations, and K E its syntactic solution. Suppose K E has no divergence. If F is a post-fixed point for tr of E
, For simplicity, we only give the proof for a single equation E, rather than a system of equations. The generalisation to systems of equations is straightforward. Consider an equation E, a process abstraction F , and suppose F tr E[F ]. We fix a set of fresh names a, and write P for F a
, Sets of Operations and unique solution Theorem 1. O contains the identity function
, O is closed by composition (that is, f ? g ? O whenever f, g ? O)
, A 'symmetric variant' of clause 3 always holds: if f is autonomous, then so is f ? g: indeed, transitions of f (x) do not depend on x, hence transitions of f (g(x)) do not depend on either x or g. Clause 4 expresses congruence of the equivalence w.r.t. the set of contexts: here, the state functions in O. The autonomous transitions of a set of R-operations yield an LTS whose states are the operations themselves
, ?q (r q | q p) | ?y (z y | y x )) and z(r, z ). (r p | z x ) (for all non-continuation names x or x , z
, We show that this is an expansion up to expansion and contexts, using the previous laws (each of those processes has only one possible action)
, We have: 1. ?x (I
,
, By induction over the structure of M . We use Lemma 2.2.10, and usual laws of expansion, vol.01
| x y) = ?x (p(z ). z z | x y) ? p(z ). z z = I ,
| x y) = ?x (p(z). z x | x y) ? p(z). ?x (z x | x y) p(z). z y (by lemma 2.2.10) ?z. M : ?x (I, | x y) = ?x (p(z) . !z (z, q). I ,
, | x y) = ?x (?q (I
, ? ?q (?x (I
, | x y) | q(u). ?r (r(w). u(w , r ). (w w | r p) | ?x (I
?p (I[[x]] p | p q) = ?p (p(y). y x | p q) ?y (y x | q(z) ,
, ? q(z). ?y (z y | y x) q(z). z x (by Lemma 2.2.10) ?x. M : ?p (I
, | y(x, r). (w x | r p)) q(z). !z(w, p). ?x, r (I[[M ]] r | w x | r p) q(z). !z(w, p). I[[M {x/w}]] p (by induction hypothesis and using case 1) 2 : ?p (I
, | r s))) (by Lemma 2.2.10)
, | x y) ? !x(z, q). ?w, p (I, ? If V = ?x. M , then I V
= !y(w, q). z(w , q ). (w w | q q) = y z ,
, Validity of ? v -reduction). For any M, N in ?, M ?? N implies I
, exploiting algebraic properties of replication; then the result follows by the compositionality of the encoding and the congruence of . We start by simplifying I
= ?q (q(y). !y(x, s). I[[M ]] s | q(y). ?r ( r(w). I V, | r(w). y(w , p ) ,
, ?x, p.p p | ?w
, | ?w (!w(z, s). I V
, ?x (I
, We now prove, by induction over M , that ?x (I
,
p(z). ?x (z x | I V [[V ]] x ) p(z). I V [[V ]] z (by Lemma 2.2.12) ?w. M : ?x (I, = ?x (p(z). z x | I V ,
,
is always replicated, so: I V, ? If M = M 1 M 2 . First recall that I V ,
, ? ?q (?x (I
, ). (w w | r p))) (by induction hypothesis, | q(u). ?r (I
, of the encoding and the congruence of , it follows that for all evaluation context C e I
, We have to show that I
, ?r (r(w). I V [[V ]] w | r(w). y(w , p ). (w w | p p))) ?y (y x | ?w (I V, p = ?p (q(y). y x | q(y)
, p (x(z, q). (z w | q p ) | ?w (!w(z, s). I V, ?w
, w ) (by Lemma 2.2.10) x(z, q). (q p | I V
,
, | q(y). I
, | q(y). ?s ( (I
?r (I ,
, ] r ) | r(w). u(w , r ). (w w | r p))) (by induction hypothesis) ?u (I V
, ). (w w | r p))))) (because I V
,
N : assuming O, q , we have, by definition O, p.p ,
,
, ?r (O[[V ]] r | r(w). y(w , p ). (w w | p p))) (IH) ?(y, w) (y x | O V
| z w | w w | q p | p p) x(z, q). ?w (O V ,
,
= ?q (q(y). !y(x, p ). I ,
| q(y). ?r (r(w). O V [[V ]] w | r(w). y(w , p ). (w w | p p))) (IH) ?(y, p , w) (!y(x, p ). I ,
| y(x, p ). (x w | p p)) (IH) N : I ,
, y(w , p ). (w w | p p))) (IH) ?y (O V, r | r(w). y(w , p ). (w w | p p))) N V : I
, ?r (r(w). O V [[V ]] r | r(w). y(w , p )
, For any M ? ? and fresh p, process O
,
,
,
,
Completeness: systems of equations We provide the full description of the systems of equations E R (Figure D.1) and E R (Figure D.2). There, y is assumed to be the ordering of fv(M, N ) ,
,
) I ,
,
,
,
,
,
,
,