The Next 700 Relational Program Logics

被引:19
|
作者
Maillard, Kenji [1 ,2 ]
Hritcu, Catalin [1 ]
Rivas, Exequiel [1 ]
Van Muylder, Antoine [1 ,3 ]
机构
[1] Inria Paris, Paris, France
[2] ENS Paris, Paris, France
[3] Univ Paris, Paris, France
基金
欧洲研究理事会;
关键词
program verification; relational program logics; side-effects; monads; state; I/O; nondeterrninism; probabilities; exceptions; dependent types; semantics; relative monads; foundations; INFORMATION-FLOW; DEPENDENT TYPES; SAFETY; VERIFICATION; MONADS; STATE;
D O I
10.1145/3371072
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We propose the first framework for defining relational program logics for arbitrary monadic effects. The framework is embedded within a relational dependent type theory and is highly expressive. At the semantic level, we provide an algebraic presentation of relational specifications as a class of relative monads, and link computations and specifications by introducing relational effect observations, which map pairs of monadic computations to relational specifications in a way that respects the algebraic structure. For an arbitrary relational effect observation, we generically define the core of a sound relational program logic, and explain how to complete it to a full-fledged logic for the monadic effect at hand. We show that this generic framework can be used to define relational program logics for effects as diverse as state, input-output, nondeterminism, and discrete probabilities. We, moreover, show that by instantiating our framework with state and unbounded iteration we can embed a variant of Benton's Relational Hoare Logic, and also sketch how to reconstruct Relational Hoare Type Theory. Finally, we identify and overcome conceptual challenges that prevented previous relational program logics from properly dealing with control effects, and are the first to provide a relational program logic for exceptions.
引用
收藏
页数:33
相关论文
共 50 条
  • [21] RELATIONAL PROOF SYSTEM FOR RELEVANT LOGICS
    ORLOWSKA, E
    JOURNAL OF SYMBOLIC LOGIC, 1992, 57 (04) : 1425 - 1440
  • [22] Relational proof systems for modal logics
    Orlowska, E
    PROOF THEORY OF MODAL LOGIC, 1996, 2 : 55 - 78
  • [23] Agent logics as program logics: Grounding KARO
    Hindriks, Koen V.
    Meyer, John-Jules Ch.
    KI 2006: ADVANCES IN ARTIFICIAL INTELLIGENCE, PROCEEDINGS, 2007, 4314 : 404 - +
  • [24] HIERARCHIES OF PROGRAM LOGICS
    TAITSLIN, MA
    SIBERIAN MATHEMATICAL JOURNAL, 1983, 24 (03) : 469 - 476
  • [25] The next 700 programming libraries
    INESC-ID/Technical University of Lisbon, Rua Alves Redol n 9, Lisboa, 1000-029, Portugal
    Proc. Int. Lisp Conf., ILC, 2007,
  • [26] The Next 700 BFT Protocols
    Guerraoui, Rachid
    Knezevic, Nikola
    Quema, Vivien
    Vukolic, Marko
    EUROSYS'10: PROCEEDINGS OF THE EUROSYS 2010 CONFERENCE, 2010, : 363 - 376
  • [27] NEXT 700 PROGRAMMING LANGUAGES
    LANDIN, PJ
    COMMUNICATIONS OF THE ACM, 1966, 9 (03) : 157 - &
  • [28] The Next 700 BFT Protocols
    Aublin, Pierre-Louis
    Guerraoui, Rachid
    Knezevic, Nikola
    Quema, Vivien
    Vukolic, Marko
    ACM TRANSACTIONS ON COMPUTER SYSTEMS, 2015, 32 (04):
  • [29] Implicational Tonoid Logics: Algebraic and Relational Semantics
    Eunsuk Yang
    J. Michael Dunn
    Logica Universalis, 2021, 15 : 435 - 456
  • [30] Implicational Partial Galois Logics: Relational Semantics
    Yang, Eunsuk
    Dunn, J. Michael
    LOGICA UNIVERSALIS, 2021, 15 (04) : 457 - 476