File Download
Links for fulltext
(May Require Subscription)
- Publisher Website: 10.1145/3341716
- Scopus: eid_2-s2.0-85093342205
- WOS: WOS:000685201900035
- Find via
Supplementary
- Citations:
- Appears in Collections:
Article: A mechanical formalization of higher-ranked polymorphic type inference
Title | A mechanical formalization of higher-ranked polymorphic type inference |
---|---|
Authors | |
Issue Date | 2019 |
Publisher | Association for Computing Machinery: Open Access Journals. The Journal's web site is located at https://dl.acm.org/journal/pacmpl |
Citation | Proceedings of the ACM on Programming Languages, 2019, v. 3 n. ICFP, p. article no. 112 How to Cite? |
Abstract | Modern functional programming languages, such as Haskell or OCaml, use sophisticated forms of type inference. While an important topic in the Programming Languages research, there is little work on the mechanization of the metatheory of type inference in theorem provers. In particular we are unaware of any complete formalization of the type inference algorithms that are the backbone of modern functional languages.
This paper presents the first full mechanical formalization of the metatheory for higher-ranked polymorphic type inference. The system that we formalize is the bidirectional type system by Dunfield and Krishnaswami (DK). The DK type system has two variants (a declarative and an algorithmic one) that have been manually proven sound, complete and decidable. We present a mechanical formalization in the Abella theorem prover of DK’s declarative type system with a novel algorithmic system. We have a few reasons to use a new algorithm. Firstly, our new algorithm employs worklist judgments, which precisely capture the scope of variables and simplify the formalization of scoping in a theorem prover. Secondly, while DK’s original formalization comes with very well-written manual proofs, there are several details missing and some incorrect proofs, which complicate the task of writing a mechanized proof. Despite the use of a different algorithm we prove the same results as DK, although with significantly different proofs and proof techniques. Since such type inference algorithms are quite subtle and have a complex metatheory, mechanical formalizations are an important advance in type-inference research. |
Persistent Identifier | http://hdl.handle.net/10722/301194 |
ISSN | 2023 Impact Factor: 2.2 2023 SCImago Journal Rankings: 1.242 |
ISI Accession Number ID |
DC Field | Value | Language |
---|---|---|
dc.contributor.author | ZHAO, J | - |
dc.contributor.author | Dos Santos Oliveira, BCDS | - |
dc.contributor.author | Schrijvers, T | - |
dc.date.accessioned | 2021-07-27T08:07:31Z | - |
dc.date.available | 2021-07-27T08:07:31Z | - |
dc.date.issued | 2019 | - |
dc.identifier.citation | Proceedings of the ACM on Programming Languages, 2019, v. 3 n. ICFP, p. article no. 112 | - |
dc.identifier.issn | 2475-1421 | - |
dc.identifier.uri | http://hdl.handle.net/10722/301194 | - |
dc.description.abstract | Modern functional programming languages, such as Haskell or OCaml, use sophisticated forms of type inference. While an important topic in the Programming Languages research, there is little work on the mechanization of the metatheory of type inference in theorem provers. In particular we are unaware of any complete formalization of the type inference algorithms that are the backbone of modern functional languages. This paper presents the first full mechanical formalization of the metatheory for higher-ranked polymorphic type inference. The system that we formalize is the bidirectional type system by Dunfield and Krishnaswami (DK). The DK type system has two variants (a declarative and an algorithmic one) that have been manually proven sound, complete and decidable. We present a mechanical formalization in the Abella theorem prover of DK’s declarative type system with a novel algorithmic system. We have a few reasons to use a new algorithm. Firstly, our new algorithm employs worklist judgments, which precisely capture the scope of variables and simplify the formalization of scoping in a theorem prover. Secondly, while DK’s original formalization comes with very well-written manual proofs, there are several details missing and some incorrect proofs, which complicate the task of writing a mechanized proof. Despite the use of a different algorithm we prove the same results as DK, although with significantly different proofs and proof techniques. Since such type inference algorithms are quite subtle and have a complex metatheory, mechanical formalizations are an important advance in type-inference research. | - |
dc.language | eng | - |
dc.publisher | Association for Computing Machinery: Open Access Journals. The Journal's web site is located at https://dl.acm.org/journal/pacmpl | - |
dc.relation.ispartof | Proceedings of the ACM on Programming Languages | - |
dc.rights | This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. | - |
dc.title | A mechanical formalization of higher-ranked polymorphic type inference | - |
dc.type | Article | - |
dc.identifier.email | Dos Santos Oliveira, BCDS: bruno@cs.hku.hk | - |
dc.identifier.authority | Dos Santos Oliveira, BCDS=rp01786 | - |
dc.description.nature | published_or_final_version | - |
dc.identifier.doi | 10.1145/3341716 | - |
dc.identifier.scopus | eid_2-s2.0-85093342205 | - |
dc.identifier.hkuros | 323731 | - |
dc.identifier.volume | 3 | - |
dc.identifier.issue | ICFP | - |
dc.identifier.spage | article no. 112 | - |
dc.identifier.epage | article no. 112 | - |
dc.identifier.isi | WOS:000685201900035 | - |
dc.publisher.place | United States | - |