Type soundness proofs with definitional interpreters

被引:0
|
作者
Amin N. [1 ]
Rompf T. [2 ]
机构
[1] Amin, Nada
[2] Rompf, Tiark
来源
| 2017年 / Association for Computing Machinery卷 / 52期
基金
美国国家科学基金会;
关键词
Definitional interpreters; dependent object types; DOT; Scala; type soundness;
D O I
10.1145/3009837.3009866
中图分类号
学科分类号
摘要
While type soundness proofs are taught in every graduate PL class, the gap between realistic languages and what is accessible to formal proofs is large. In the case of Scala, it has been shown that its formal model, the Dependent Object Types (DOT) calculus, cannot simultaneously support key metatheoretic properties such as environment narrowing and subtyping transitivity, which are usually required for a type soundness proof. Moreover, Scala and many other realistic languages lack a general substitution property. The first contribution of this paper is to demonstrate how type soundness proofs for advanced, polymorphic, type systems can be carried out with an operational semantics based on high-level, definitional interpreters, implemented in Coq. We present the first mechanized soundness proofs in this style for System F and several extensions, including mutable references. Our proofs use only straightforward induction, which is significant, as the combination of big-step semantics, mutable references, and polymorphism is commonly believed to require coinductive proof techniques. The second main contribution of this paper is to show how DOT-like calculi emerge from straightforward generalizations of the operational aspects of F, exposing a rich design space of calculi with path-dependent types inbetween System F and DOT, which we dub the System D Square. By working directly on the target language, definitional interpreters can focus the design space and expose the invariants that actually matter at runtime. Looking at such runtime invariants is an exciting new avenue for type system design. © 2017 ACM.
引用
收藏
页码:666 / 679
页数:13
相关论文
共 50 条
  • [31] A Logical Approach to Type Soundness
    Timany, Amin
    Krebbers, Robbert
    Dreyer, Derek
    Birkedal, Lars
    JOURNAL OF THE ACM, 2024, 71 (06)
  • [32] Multi-linear Strategy Extraction for QBF Expansion Proofs via Local Soundness
    Schlaipfer, Matthias
    Slivovsky, Friedrich
    Weissenbacher, Georg
    Zuleger, Florian
    THEORY AND APPLICATIONS OF SATISFIABILITY TESTING, SAT 2020, 2020, 12178 : 429 - 446
  • [33] Amortized Complexity of Zero-Knowledge Proofs Revisited: Achieving Linear Soundness Slack
    Cramer, Ronald
    Damgard, Ivan
    Xing, Chaoping
    Yuan, Chen
    ADVANCES IN CRYPTOLOGY - EUROCRYPT 2017, PT I, 2017, 10210 : 479 - 500
  • [34] Computational Soundness of Symbolic Zero-Knowledge Proofs: Weaker Assumptions and Mechanized Verification
    Backes, Michael
    Bendun, Fabian
    Unruh, Dominique
    PRINCIPLES OF SECURITY AND TRUST, POST 2013, 2013, 7796 : 206 - 225
  • [35] On the Cost of Type-Tag Soundness
    Greenman, Ben
    Migeed, Zeina
    PROCEEDINGS OF THE ACM SIGPLAN WORKSHOP ON PARTIAL EVALUATION AND PROGRAM MANIPULATION (PEPM'18), 2018, : 30 - 39
  • [36] Type Soundness and Race Freedom for Mezzo
    Balabonski, Thibaut
    Pottier, Francois
    Protzenko, Jonathan
    FUNCTIONAL AND LOGIC PROGRAMMING, FLOPS 2014, 2014, 8475 : 253 - 269
  • [37] SOUNDNESS OF AN INDUCTION-TYPE RHEOSTAT
    GAJIYEV, TN
    VEZIROV, FK
    IZVESTIYA AKADEMII NAUK AZERBAIDZHANSKOI SSR SERIYA FIZIKO-TEKHNICHESKIKH I MATEMATICHESKIKH NAUK, 1977, (03): : 75 - 79
  • [38] Standard Type Soundness for Agents and Artifacts
    Damiani, Ferruccio
    Giannini, Paola
    Ricci, Alessandro
    Viroli, Mirko
    SCIENTIFIC ANNALS OF COMPUTER SCIENCE, 2012, 22 (02) : 267 - 326
  • [39] Prototype proofs in type theory
    Longo, G
    MATHEMATICAL LOGIC QUARTERLY, 2000, 46 (02) : 257 - 266
  • [40] Syntactic type soundness results for the region calculus
    Calcagno, C
    Helsen, S
    Thiemann, P
    INFORMATION AND COMPUTATION, 2002, 173 (02) : 199 - 221