Javascript must be enabled to continue!
Type soundness proofs with definitional interpreters
View through CrossRef
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.
Title: Type soundness proofs with definitional interpreters
Description:
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.
Related Results
Interpreters in Our Midst
Interpreters in Our Midst
When deaf people work in professional environments and participate in public events, we are often accompanied by sign language interpreters. This usually means wonderfully enhanced...
Interpreting Impoliteness: Interpreters’ Voices
Interpreting Impoliteness: Interpreters’ Voices
Interpreters in the public sector in Norway interpret in a variety of institutional encounters, and the interpreters evaluate the majority of these encounters as polite. However, s...
Effect of The Board of Director's Characteristic On Islamic Bank's Financial Soundness
Effect of The Board of Director's Characteristic On Islamic Bank's Financial Soundness
The aims of this study is to diagnose the Board of Director’s characteristics and its impact on the financial soundness of Islamic banks. Regression analysis are applied to test th...
Social Work with Interpreters
Social Work with Interpreters
Social workers help very culturally diverse populations. Therefore social workers are likely to work with language interpreters in various settings such as mental health agencies, ...
Kazakhstani Simultaneous Interpreters’ Perceptions Concerning Interpretation Techniques and Tools
Kazakhstani Simultaneous Interpreters’ Perceptions Concerning Interpretation Techniques and Tools
This study examines the key issues of simultaneous interpretation from the practitioners’ viewpoint. It is framed within the context of interpreters’ competences and the main tools...
The Role of Court Interpreters Under the Attitude of Appraisal Theory Case Study on Sun Yang’s Public Hearing
The Role of Court Interpreters Under the Attitude of Appraisal Theory Case Study on Sun Yang’s Public Hearing
The role of interpreters standing as a controversial topic has aroused unquiet debates in academia of interpreting studies. Traditional interpreting studies emphasize faithfulness ...
Language Discordance in Music Therapy: A Phenomenological Study of Delivering Music Therapy Services with Interpreters
Language Discordance in Music Therapy: A Phenomenological Study of Delivering Music Therapy Services with Interpreters
Abstract
The United States Census Bureau suggests that the number of non-English speakers is on the rise, and thus, music therapists may be faced with working with p...
The Incompatibility between Euclidean Geometry and the Algebraic Solutions of Geometric Problems
The Incompatibility between Euclidean Geometry and the Algebraic Solutions of Geometric Problems
The transition from the “early-modern” mathematical and scientific norms of establishing conventional Euclidean geometric proofs has experienced quite mixed modes of reasoning. For...

