The Undecidability of System F Typability and Type Checking for Reductionists

被引:1
|
作者
Dudenhefner, Andrej [1 ]
机构
[1] Saarland Univ, Saarbrucken, Germany
关键词
lambda-calculus; system F; typability; type checking; undecidability; constructive mathematics; mechanization; EQUIVALENT;
D O I
10.1109/LICS52264.2021.9470520
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The undecidability of both typability and type checking for System F (polymorphic lambda-calculus) was established by Wells in the 1990s. For type checking Wells gave an astonishingly simple reduction from semi-unification (first-order unification combined with first-order matching). For typability Wells developed an intricate calculus to control the shape of type assumptions across type derivations via term structure. This calculus of invariant type assumptions allows for a reduction from type checking to typability. Unfortunately, this approach relies on heavy machinery that complicates surveyability of the overall argument. The present work gives comparatively simple, direct reduction from semi-unification to System F typability. The key observation is as follows: in the existential setting of typability, it suffices to consider some specific (but not all, as for invariant type assumptions) type derivations. Additionally, the particular result requires only to consider closed types without nested quantification. The undecidability of type checking is obtained via a folklore reduction from typability. Profiting from its smaller footprint, correctness of the new approach is witnessed by a mechanization in the Coq proof assistant. The mechanization is incorporated into the existing Coq library of undecidability proofs. For free, the library provides constructive, mechanically verified many-one reductions from Turing machine halting to both System F typability and System F type checking.
引用
收藏
页数:10
相关论文
共 50 条
  • [21] SafeGI: Type Checking to Improve Correctness in Rendering System Implementation
    Ou, Jiawei
    Pellacini, Fabio
    COMPUTER GRAPHICS FORUM, 2010, 29 (04) : 1269 - 1277
  • [22] Hybrid Type Checking
    Knowles, Kenneth
    Flanagan, Cormac
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2010, 32 (02):
  • [23] TYPE CHECKING WITH UNIVERSES
    HARPER, R
    POLLACK, R
    THEORETICAL COMPUTER SCIENCE, 1991, 89 (01) : 107 - 136
  • [24] Preemptive type checking
    Grech, Neville
    Fischer, Bernd
    Rathke, Julian
    JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2018, 101 : 151 - 181
  • [25] TYPE CHECKING IN THE LARGE
    LEVY, MR
    LECTURE NOTES IN COMPUTER SCIENCE, 1989, 371 : 137 - 145
  • [26] Hybrid type checking
    Flanagan, C
    ACM SIGPLAN NOTICES, 2006, 41 (01) : 245 - 256
  • [27] A Partial Type Checking Algorithm for Type : Type
    Abel, Andreas
    Altenkirch, Thorsten
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2011, 229 (05) : 3 - 17
  • [28] A correspondence between type checking via reduction and type checking via evaluation
    Sergey, Ilya
    Clarke, Dave
    INFORMATION PROCESSING LETTERS, 2012, 112 (1-2) : 13 - 20
  • [29] Type Checking with Open Type Functions
    Schrijvers, Tom
    Jones, Simon Peyton
    Chakravarty, Manuel
    Sulzmann, Martin
    ICFP'08: PROCEEDINGS OF THE 2008 SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING, 2008, : 51 - 62
  • [30] Type checking with open type functions
    Schrijvers, Tom
    Jones, Simon Peyton
    Chakravarty, Manuel
    ACM SIGPLAN NOTICES, 2008, 43 (09) : 51 - 62