Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

HOπ in Coq

Published: 01 January 2021 Publication History

Abstract

We present a formalization of HOπ in Coq, a process calculus where messages carry processes. Such a higher-order calculus features two very different kinds of binder: process input, similar to λ-abstraction, and name restriction, whose scope can be expanded by communication. For the latter, we compare four approaches to represent binders: locally nameless, de Bruijn indices, nominal, and Higher-Order Abstract Syntax. In each case, we formalize strong context bisimilarity and prove it is compatible, i.e., closed under every context, using Howe’s method, based on several proof schemes we developed in a previous paper.

References

[1]
Ambler S and Crole RL Bertot Y, Dowek G, Hirschowitz A, Paulin-Mohring C, and Théry L Mechanized operational semantics via (co)induction TPHOLs’99, Volume 1690 of Lecture Notes in Computer Science 1999 Nice Springer 221-238
[2]
Anand A and Rahli V Klein G and Gamboa R Towards a formally verified proof assistant ITP 2014, Volume 8558 of Lecture Notes in Computer Science 2014 Vienna Springer 27-44
[3]
Aydemir, B., Bohannon, A., Fairbairn, M., Foster, J.N., Pierce, B.C., Sewell, P., Vytiniotis, D., Washburn, G., Weirich, S., Zdancewic, S.: Mechanized metatheory for the masses: the PoplMark challenge. In: TPHOLs, pp. 50–65 (2005)
[4]
Aydemir, B.E., Weirich, S.: LNgen: tool support for locally nameless representations. Technical report, University of Pennsylvania (2010)
[5]
Baelde D, Chaudhuri K, Gacek A, Miller D, Nadathur G, Tiu A, and Wang Y Abella: a system for reasoning about relational specifications J. Formaliz. Reason. 2014 7 2 1-89
[6]
Bengtson J and Parrow J Formalising the pi-calculus using nominal logic Log. Methods Comput. Sci. 2009 5 2 16
[7]
Bird RS and Paterson R De Bruijn notation as a nested datatype J. Funct. Program. 1999 9 1 77-91
[8]
Bucalo A, Honsell F, Miculan M, Scagnetto I, and Hofmann M Consistency of the theory of contexts J. Funct. Program. 2006 16 3 327-372
[9]
Cervesato I and Pfenning F A linear logical framework Inf. Comput. 2002 179 1 19-75
[10]
Cervesato, I., Pfenning, F., Walker, D., Watkins, K.: A concurrent logical framework II: examples and applications. Technical report CMU-CS-02-102, Carnegie Mellon University (2002)
[11]
Charguéraud, A.: LN: locally nameless representation with cofinite quantification. http://www.chargueraud.org/softs/ln/
[12]
Charguéraud, A.: TLC: a non-constructive library for Coq. http://www.chargueraud.org/softs/tlc/
[13]
Charguéraud A The locally nameless representation J. Autom. Reason. 2012 49 3 363-408
[14]
Ciaffaglione A and Scagnetto I Mechanizing type environments in weak HOAS Theor. Comput. Sci. 2015 606 57-78
[15]
Dal Zilio, S.: Mobile processes: a commented bibliography. In: MOVEP’2K—4th Summer school on Modelling and Verification of Parallel Processes, Volume 2067 of Lecture Notes in Computer Science, pp. 206–222. Springer (2001)
[16]
de Bruijn NG Lambda calculus notation with nameless dummies: a tool for automatic formula manipulation, with application to the Church–Rosser theorem Indag. Math. 1972 75 5 381-392
[17]
Despeyroux J van Leeuwen J, Watanabe O, Hagiya M, Mosses PD, and Ito T A higher-order specification of the pi-calculus IFIP TCS 2000, Volume 1872 of Lecture Notes in Computer Science 2000 New York Springer 425-439
[18]
Despeyroux J, Felty AP, and Hirschowitz A Dezani-Ciancaglini M and Plotkin GD Higher-order abstract syntax in coq TLCA ”95, Volume 902 of Lecture Notes in Computer Science 1995 New York Springer 124-138
[19]
Gay SJ Boulton Richard J and Jackson Paul B A framework for the formalisation of pi calculus type systems in Isabelle/HOL TPHOLs 2001 2001 Edinburgh Springer 217-232
[20]
Gordon AD Bisimilarity as a theory of functional programming Electron. Notes Theor. Comput. Sci. 1995 1 232-252
[21]
Henry-Gréard, L.: Proof of the subject reduction property for a pi-calculus in COQ. Technical report RR-3698, INRIA (1999)
[22]
Hirschkoff, D.: A full formalisation of pi-calculus theory in the calculus of constructions. In: Proceedings of the 10th International Conference on Theorem Proving in Higher Order Logics, vol. 1275, pp. 153–169. Springer (1997)
[23]
Hirschkoff, D.: Up to context proofs for the π-calculus in the Coq system. Technical report 97-82, CERMICS (1997)
[24]
Hirschkoff, D., Pous, D.: A distribution law for CCS and a new congruence result for the pi-calculus. In: Proceedings of FoSSaCS’07, Volume 4423 of LNCS, pp. 228–242. Springer (2007)
[25]
Honsell F, Miculan M, and Scagnetto I pi-calculus in (co)inductive-type theory Theor. Comput. Sci. 2000 253 2 239-285
[26]
Honsell F, Miculan M, and Scagnetto I The theory of contexts for first order and higher order abstract syntax Electr. Notes Theor. Comput. Sci. 2001 62 116-135
[27]
Howe DJ Proving congruence of bisimulation in functional programming languages Inf. Comput. 1996 124 2 103-112
[28]
Gabbay MJ The pi-calculus in FM Thirty Five Years Autom. Math. 2003 28 247-269
[29]
Keuchel, S., Weirich, S., Schrijvers, T.: Needle & knot: binder boilerplate tied up. In: ESOP 16, Volume 9632 of Lecture Notes in Computer Science, pp. 419–445. Springer (2016)
[30]
Lenglet, S., Schmitt, A.: Howe’s method for contextual semantics. In: Aceto, L., de Frutos-Escrig, D. (eds.) 26th International Conference on Concurrency Theory, CONCUR 2015, Volume 42 of LIPIcs, pp. 212–225. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Madrid, Spain (2015)
[31]
Lenglet S and Schmitt A Andronick J and Felty AP HOπ in Coq CPP 2018 2018 Copenhagen ACM 252-265
[32]
Lenglet S, Schmitt A, and Stefani J-B Characterizing contextual equivalence in calculi with passivation Inf. Comput. 2011 209 11 1390-1433
[33]
Maksimovic P and Schmitt A Urban C and Zhang X Hocore in Coq ITP 2015, Volume 9236 of Lecture Notes in Computer Science 2015 Nanjing Springer 278-293
[34]
McKinna J and Pollack R Bezem M and Groote JF Pure type systems formalized TLCA ’93, Volume 664 of Lecture Notes in Computer Science 1993 New York Springer 289-305
[35]
Melham TF A mechanized theory of the pi-calculus in HOL Nord. J. Comput. 1994 1 1 50-76
[36]
Miller D and Tiu A A proof theory for generic judgments ACM Trans. Comput. Log. 2005 6 4 749-783
[37]
Milner R, Parrow J, and Walker D A calculus of mobile processes. I Inf. Comput. 1992 100 1 1-40
[38]
Mohamed, O.A.: Mechanizing a pi-calculus equivalence in hol. In: TPHOL 95, pp. 1–16. Springer (1995)
[39]
Momigliano, A.: A supposedly fun thing I may have to do again: a HOAS encoding of Howe’s method. In: LFMTP 12, pp. 33–42(2012). ACM, Copenhagen, Denmark
[40]
Parrow J, Borgström J, Raabjerg P, and Åman Pohjola J Higher-order psi-calculi Math. Struct. Comput. Sci. 2014 First View 1-37
[41]
Perera R and Cheney J Proof-relevant π-calculus: a constructive account of concurrency and causality Math. Struct. Comput. Sci. 2018 28 9 1541-1577
[42]
Pfenning, F., Elliott, C.: Higher-order abstract syntax. In: PLDI 88, pp. 199–208. ACM, Atlanta, Georgia, USA (1988)
[43]
Pfenning F and Schürmann C Ganzinger H System description: Twelf—a meta-logical framework for deductive systems CADE 99, Volume 1632 of Lecture Notes in Computer Science 1999 New York Springer 202-206
[44]
Pientka B and Dunfield J Giesl J and Hähnle R Beluga: a framework for programming and reasoning with deductive systems (system description) IJCAR 2010, Volume of 6173 Lecture Notes in Computer Science 2010 Edinburgh Springer 15-21
[45]
Pitts AM Nominal logic, a first order theory of names and binding Inf. Comput. 2003 186 2 165-193
[46]
Röckl C A first-order syntax for the pi-calculus in isabelle/hol using permutations Electr. Notes Theor. Comput. Sci. 2001 58 1 1-17
[47]
Röckl C and Hirschkoff D A fully adequate shallow embedding of the [pi]-calculus in isabelle/hol with mechanized syntax analysis J. Funct. Program. 2003 13 2 415-451
[48]
Sangiorgi D Bisimulation for higher-order process calculi Inf. Comput. 1996 131 2 141-178
[49]
Sangiorgi D and Walker D The Pi-Calculus: A Theory of Mobile Processes 2001 Cambridge Cambridge University Press
[50]
Stark K, Schäfer S, and Kaiser J Mahboubi A and Myreen MO Autosubst 2: reasoning with multi-sorted de Bruijn terms and vector substitutions CPP 19 2019 Copenhagen ACM 166-180
[51]
The Penn PL Club: The Penn locally nameless metatheory library. https://github.com/plclub/metalib
[52]
Thibodeau, D., Momigliano, A., Pientka, B.: A case-study in programming coinductive proofs: Howe’s method. http://www.momigliano.di.unimi.it/papers/bhowe.pdf (2016)
[53]
Urban C Nominal techniques in Isabelle/HOL J. Autom. Reason. 2008 40 4 327-356
[54]
Urban, C., Berghofer, S., Kaliszyk, C.: Nominal 2. Archive of Formal Proofs (2013). http://isa-afp.org/entries/Nominal2.html, Formal proof development

Cited By

View all
  • (2024)The Concurrent Calculi Formalisation BenchmarkCoordination Models and Languages10.1007/978-3-031-62697-5_9(149-158)Online publication date: 17-Jun-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Journal of Automated Reasoning
Journal of Automated Reasoning  Volume 65, Issue 1
Jan 2021
152 pages

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 January 2021
Accepted: 10 April 2020
Received: 19 December 2018

Author Tags

  1. Higher-order process calculus
  2. Howe’s method
  3. Coq

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)The Concurrent Calculi Formalisation BenchmarkCoordination Models and Languages10.1007/978-3-031-62697-5_9(149-158)Online publication date: 17-Jun-2024

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media