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 条
  • [1] Computer-assisted proofs in analysis and programming in logic: A case study
    Koch, H
    Schenkel, A
    Wittwer, P
    SIAM REVIEW, 1996, 38 (04) : 565 - 604
  • [2] Infinitary Howe's Method
    Levy, Paul Blain
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2006, 164 (01) : 85 - 104
  • [3] Howe's Method for Calculi with Passivation
    Lenglet, Serguei
    Schmitt, Alan
    Stefani, Jean-Bernard
    CONCUR 2009 - CONCURRENCY THEORY, PROCEEDINGS, 2009, 5710 : 448 - +
  • [4] Socratic Proofs and Paraconsistency: A Case Study
    Andrzej Wiśniewski
    Guido Vanackere
    Dorota Leszczyńska
    Studia Logica, 2005, 80 (2-3) : 431 - 466
  • [5] Developer-Oriented Correctness Proofs A Case Study of Cheney's Algorithm
    Gast, Holger
    FORMAL METHODS AND SOFTWARE ENGINEERING, 2011, 6991 : 489 - 504
  • [7] Measuring the Readability of Geometric Proofs: The Area Method Case
    Pedro Quaresma
    Pierluigi Graziani
    Journal of Automated Reasoning, 2023, 67
  • [8] Measuring the Readability of Geometric Proofs: The Area Method Case
    Quaresma, Pedro
    Graziani, Pierluigi
    JOURNAL OF AUTOMATED REASONING, 2023, 67 (01)
  • [9] Automated generation of machine verifiable and readable proofs: A case study of Tarski's geometry
    Durdevic, Sana Stojanovic
    Narboux, Julien
    Janicic, Predrag
    ANNALS OF MATHEMATICS AND ARTIFICIAL INTELLIGENCE, 2015, 74 (3-4) : 249 - 269
  • [10] Automated generation of machine verifiable and readable proofs: A case study of Tarski’s geometry
    Sana Stojanović Ðurđević
    Julien Narboux
    Predrag Janičić
    Annals of Mathematics and Artificial Intelligence, 2015, 74 : 249 - 269