A case study in programming coinductive proofs: Howe's method. (31st October 2018)
- Record Type:
- Journal Article
- Title:
- A case study in programming coinductive proofs: Howe's method. (31st October 2018)
- Main Title:
- A case study in programming coinductive proofs: Howe's method
- Authors:
- MOMIGLIANO, ALBERTO
PIENTKA, BRIGITTE
THIBODEAU, DAVID - Abstract:
- Abstract : Bisimulation proofs play a central role in programming languages in establishing rich properties such as contextual equivalence. They are also challenging to mechanize, since they require a combination of inductive and coinductive reasoning on open terms. In this paper, we describe mechanizing the property that similarity in the call-by-name lambda calculus is a pre-congruence using Howe's method in theBeluga formal reasoning system. The development relies on three key ingredients: (1) we give a higher order abstract syntax (HOAS) encoding of lambda terms together with their operational semantics as intrinsically typed terms, thereby avoiding not only the need to deal with binders, renaming and substitutions, but keeping all typing invariants implicit; (2) we take advantage ofBeluga 's support for representing open terms using built-in contexts and simultaneous substitutions: this allows us to directly state central definitions such as open simulation without resorting to the usual inductive closure operation and to encode very elegantly notoriously painful proofs such as the substitutivity of the Howe relation; (3) we exploit the possibility of reasoning by coinduction inBeluga 's reasoning logic. The end result is succinct and elegant, thanks to the high-level abstractions and primitivesBeluga provides. We believe that this mechanization is a significant example that illustratesBeluga 's strength at mechanizing challenging (co)inductive proofs using HOASAbstract : Bisimulation proofs play a central role in programming languages in establishing rich properties such as contextual equivalence. They are also challenging to mechanize, since they require a combination of inductive and coinductive reasoning on open terms. In this paper, we describe mechanizing the property that similarity in the call-by-name lambda calculus is a pre-congruence using Howe's method in theBeluga formal reasoning system. The development relies on three key ingredients: (1) we give a higher order abstract syntax (HOAS) encoding of lambda terms together with their operational semantics as intrinsically typed terms, thereby avoiding not only the need to deal with binders, renaming and substitutions, but keeping all typing invariants implicit; (2) we take advantage ofBeluga 's support for representing open terms using built-in contexts and simultaneous substitutions: this allows us to directly state central definitions such as open simulation without resorting to the usual inductive closure operation and to encode very elegantly notoriously painful proofs such as the substitutivity of the Howe relation; (3) we exploit the possibility of reasoning by coinduction inBeluga 's reasoning logic. The end result is succinct and elegant, thanks to the high-level abstractions and primitivesBeluga provides. We believe that this mechanization is a significant example that illustratesBeluga 's strength at mechanizing challenging (co)inductive proofs using HOAS encodings. … (more)
- Is Part Of:
- Mathematical structures in computer science. Volume 29:Number 8(2019)
- Journal:
- Mathematical structures in computer science
- Issue:
- Volume 29:Number 8(2019)
- Issue Display:
- Volume 29, Issue 8 (2019)
- Year:
- 2019
- Volume:
- 29
- Issue:
- 8
- Issue Sort Value:
- 2019-0029-0008-0000
- Page Start:
- 1309
- Page End:
- 1343
- Publication Date:
- 2018-10-31
- Subjects:
- Computer science -- Mathematics -- Periodicals
004.015105 - Journal URLs:
- http://journals.cambridge.org/action/displayJournal?jid=MSC ↗
- DOI:
- 10.1017/S0960129518000415 ↗
- Languages:
- English
- ISSNs:
- 0960-1295
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library HMNTS - ELD Digital store
- Ingest File:
- 11845.xml