A case study in programming coinductive proofs: Howe's method

被引:3
|
作者
Momigliano, Alberto [1 ]
Pientka, Brigitte [2 ]
Thibodeau, David [2 ]
机构
[1] Univ Milan, Dipartimento Informat, Milan, Italy
[2] McGill Univ, Sch Comp Sci, Montreal, PQ, Canada
关键词
SYNTACTIC LOGICAL RELATIONS; SYSTEM; TERMINATION; FRAMEWORK;
D O I
10.1017/S0960129518000415
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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 the Beluga 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 of Beluga'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 in Beluga's reasoning logic. The end result is succinct and elegant, thanks to the high-level abstractions and primitives Beluga provides. We believe that this mechanization is a significant example that illustrates Beluga's strength at mechanizing challenging (co)inductive proofs using HOAS encodings.
引用
收藏
页码:1309 / 1343
页数:35
相关论文
共 50 条
  • [21] Formal Ontology and Mathematics. A Case Study on the Identity of Proofs
    Matteo Bianchetti
    Giorgio Venturi
    Topoi, 2023, 42 : 307 - 321
  • [22] A case study to motivate engineering students to do mathematical proofs
    Roberts, RG
    INTERNATIONAL JOURNAL OF ELECTRICAL ENGINEERING EDUCATION, 2003, 40 (04) : 231 - 242
  • [23] Gravimetric adaptation of Howe's method for the titration of albumins and globulins in the blood serum
    Duliere, WL
    COMPTES RENDUS DES SEANCES DE LA SOCIETE DE BIOLOGIE ET DE SES FILIALES, 1937, 126 : 924 - 926
  • [24] On Chubanov's Method for Linear Programming
    Basu, Amitabh
    De Loera, Jesus A.
    Junod, Mark
    INFORMS JOURNAL ON COMPUTING, 2014, 26 (02) : 336 - 350
  • [25] Video case teaching method in programming courses
    Chen, Hanrong
    PROCEEDINGS OF THE 2013 8TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE & EDUCATION (ICCSE 2013), 2013, : 1098 - 1101
  • [26] Embedded Programming Method with ARM Application Case
    Liu Yukun
    PROCEEDINGS OF THE SECOND INTERNATIONAL SYMPOSIUM ON TEST AUTOMATION AND INSTRUMENTATION, VOL 4, 2008, : 2178 - 2181
  • [27] CONGRESSMAN HOWE IN SALT LAKE MEDIA - CASE-STUDY OF PRESS AS PILLORY
    HOLLSTEIN, M
    JOURNALISM QUARTERLY, 1977, 54 (03): : 454 - &
  • [28] A method for optimizing waste collection using mathematical programming: a Buenos Aires case study
    Bonomo, Flavio
    Duran, Guillermo
    Larumbe, Frederico
    Marenco, Javier
    WASTE MANAGEMENT & RESEARCH, 2012, 30 (03) : 311 - 324
  • [29] STUDY OF TRAINING IN A COMPUTER PROGRAMMING METHOD
    HOC, JM
    TRAVAIL HUMAIN, 1978, 41 (01): : 111 - 126
  • [30] Teaching Computer Programming: The Macedonian Case Study of Functional Programming
    Trivodalie, Kire
    Stojkoska, Biljana Risteska
    Mihova, Marija
    Jovanov, Mile
    Kalajdziski, Slobodan
    PROCEEDINGS OF 2017 IEEE GLOBAL ENGINEERING EDUCATION CONFERENCE (EDUCON2017), 2017, : 1282 - 1289