Abstract
We study an applied typed call-by-value λ-calculus which in addition to the usual types for higher-order functions contains an extra type called proc, for processes; the constructors for terms of this type are similar to those found in standard process calculi such as CCS. We first give an operational semantics for this language in terms of a labelled transition system which is then used to give a behavioural preorderbased on contexts; the expression N dominates M if in every appropriate context if M can produce a boolean value then so can N.
Based on standard domain constructors we define a model, a prime algebraic lattice, which is fully abstract with respect to this behaviour preorder; expressions are related in the model if and only if they are related behaviourally.
The proof method uses concepts which are of independent interest. It involves characterising the domain using filters of a property logic for program expressions and developing a program logic for relating program expressions with property formulae.
Research supported by EPSRC grant GR/K60701 and the EU Working Group EXPRESS
Preview
Unable to display preview. Download preview PDF.
References
D.M. Gabbay and T.S.E.Maibaum, (eds) D.M. Gabbay and T.S.E.Maibaum, (eds) Handbook of Logic in Computer Science vol 1–6, Oxford Science Publications, Clarendon Press, Oxford 1994.
S. Abramsky, “Domain Theory in Logical Form”, Annals of Pure and Applied Logic, vol 51, pp. 1–77, 1991.
S. Abramsky, “A Domain Equation for Bisimulation”, Information and Computation, vol 92, pp. 161–218, 1991.
R. M. Amadio, “Translating Core Facile”, Technical Report ECRC-1994-3, European Computer-Industry Research Center, Munich, 1994.
H.P. Barendregt, The λ-Calculus, its Syntax and Semantics, North-Holland, Amsterdam, 1984.
G. Boudol, “A λ-Calculus for (Strict) Parallel Functions”, Information and Computation, vol 108, pp. 51–127, 1994.
H. Barendregt, M. Coppo and M. Dezani-Ciancaglini, “A Filter Model and the Completeness of Type Assignment”, Journal of Symbolic Logic, vol 48, pp. 931–940, 1983.
M. Dezani-Ciancaglini, U. de Liguoro and A. Piperno, “Fully Abstract Semantics for Concurrent Lambda-Calculus”, Proc. TAGS '94, LNCS 789, SpringerVerlag, Berlin 1994, 16–35.
A. Giacalone, P. Mishra and S. Prasad, “FACILE: A symmetric integration of Concurrent and Functional Programming”, International Journal of Parallel Programming, vol 15, No 2, pp. 121–160, 1989.
W. Fereira, M. Hennessy and A. Jeffrey, “Combining the Typed λ-Calculus with CCS”, Report 2/96, University of Sussex, Computer Science, May 1996.
C. Fournet and G. Gonthier, “The Reflexive CHAM and the Join-Calculus”, Proc. POPL 94, 1994.
A. Jeffrey, “A Fully Abstract Semantics for a Concurrent Functional Language with Monadic Types”, Proc. LICS'95, 1995.
C. Hartonas and M. Hennessy, “Full Abstractness for a Functional/Concurrent Language with Higher-Order Value-Passing”, University of Sussex, Computer Science Technical Report 02/97. To appear in Information and Computation.
M. Hennessy, An Algebraic Theory of Processes, MIT Press, Cambridge, MA, 1988.
M. Hennessy, “A Fully Abstract Denotational Model for Higher-Order Processes”, Information and Computation vol. 112, No 1, pp. 55–95, 1994.
M. Hennessy, “Higher-Order Processes and their Models”, ICALP '94.
K.G. Larsen, “Proof Systems for Satisfiability in Hennessy-Milner Logic with Recursion”, Theoretical Computer Science vol 72, 265–288, 1990.
R. Milner, Communication and Concurrency, Prentice-Hall, Englewood Cliffs, NJ, 1989.
R. Milner, J. Parrow and D. Walker, “A Calculus of Mobile Processes I, II”, Information and Computation vol 100, pp 1–40, pp 41–77, 1992.
E. Moggi, “Notions of Computation and Monads”, Information and Computation93, 1991, pp. 55–92.
J. Morris, “Lambda-Calculus Models of Programming Languages”, Ph.D. Thesis, MIT, 1968.
G. Plotkin, “A Powerdomain Construction”, SIAM Journal on Computation, vol 5, pp 452–487, 1976.
G. Plotkin, “LCP Considered as a Programming Language”, Theoretical Computer Science vol 5, pp. 323–355, 1997.
J.H. Reppy, “A Higher-Order Concurrent Language”, in Proceedings of the ACM SIGPLAN '91 PLDI, SIGPLAN Notices, No 26, pp. 294–305, 1991.
J.H. Reppy, Higher-Order Concurrency, Ph.D. thesis, Cornell University, 1991.
J. Reppy, “CML: A Higher-Order Concurrent Language”, in Proc. ACM-SIGPLAN 91, Conf. on Programming Language Design and Implementation, 1991.
K. Sieber, “Call-by-Value and Nondeterminism”, in Typed λ-Calculi and Applications, eds. M. Bezen and J.P.Groote, LNCS 664, Springer-Verlag 1993.
I. Stark, “A Fully-Abstract Domain Model for the π-Calculus”, Proc. LICS'96, 1996.
C. Stirling, “A Proof-Theoretic Characterization of Observational Equivalence”, Theoretical Computer Science vol 39, 27–45, 1985.
C. Stirling, “Modal Logics for Communicating Systems”, Theoretical Computer Science vol 49, 311–347, 1987.
B. Thomsen, Calculi for Higher-Order Communicating Systems, Ph.D. thesis, Imperial College, 1990.
B. Thomsen, “Plain Chocs: A Second Generation Calculus for Higher Order Processes”, Acta Informatica vol 30, pp 1–59, 1993.
G. Winskel, “A Complete Proof System for SCCS with Modal Assertions”, LNCS vol 206, 392–410, 1985.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hartonas, C., Hennessy, M. (1998). Full abstractness for a functional/concurrent language with higher-order value-passing. In: Nielsen, M., Thomas, W. (eds) Computer Science Logic. CSL 1997. Lecture Notes in Computer Science, vol 1414. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0028018
Download citation
DOI: https://doi.org/10.1007/BFb0028018
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64570-2
Online ISBN: 978-3-540-69353-6
eBook Packages: Springer Book Archive