Explicit Refinement Types
We present λ ert , a type theory supporting refinement types with explicit proofs. Instead of solving refinement constraints with an SMT solver like DML and Liquid Haskell, our system requires and permits programmers to embed proofs of properties within the program text, letting us support a rich lo...
Published in: | Proceedings of the ACM on Programming Languages |
---|---|
Main Authors: | , |
Other Authors: | |
Format: | Article in Journal/Newspaper |
Language: | English |
Published: |
Association for Computing Machinery (ACM)
2023
|
Subjects: | |
Online Access: | http://dx.doi.org/10.1145/3607837 https://dl.acm.org/doi/pdf/10.1145/3607837 |
id |
cracm:10.1145/3607837 |
---|---|
record_format |
openpolar |
spelling |
cracm:10.1145/3607837 2024-05-19T07:39:28+00:00 Explicit Refinement Types Ghalayini, Jad Elkhaleq Krishnaswami, Neel European Research Commission 2023 http://dx.doi.org/10.1145/3607837 https://dl.acm.org/doi/pdf/10.1145/3607837 en eng Association for Computing Machinery (ACM) Proceedings of the ACM on Programming Languages volume 7, issue ICFP, page 187-214 ISSN 2475-1421 journal-article 2023 cracm https://doi.org/10.1145/3607837 2024-05-01T06:46:41Z We present λ ert , a type theory supporting refinement types with explicit proofs. Instead of solving refinement constraints with an SMT solver like DML and Liquid Haskell, our system requires and permits programmers to embed proofs of properties within the program text, letting us support a rich logic of properties including quantifiers and induction. We show that the type system is sound by showing that every refined program erases to a simply-typed program, and by means of a denotational semantics, we show that every erased program has all of the properties demanded by its refined type. All of our proofs are formalised in Lean 4. Article in Journal/Newspaper DML ACM Publications (Association for Computing Machinery) Proceedings of the ACM on Programming Languages 7 ICFP 187 214 |
institution |
Open Polar |
collection |
ACM Publications (Association for Computing Machinery) |
op_collection_id |
cracm |
language |
English |
description |
We present λ ert , a type theory supporting refinement types with explicit proofs. Instead of solving refinement constraints with an SMT solver like DML and Liquid Haskell, our system requires and permits programmers to embed proofs of properties within the program text, letting us support a rich logic of properties including quantifiers and induction. We show that the type system is sound by showing that every refined program erases to a simply-typed program, and by means of a denotational semantics, we show that every erased program has all of the properties demanded by its refined type. All of our proofs are formalised in Lean 4. |
author2 |
European Research Commission |
format |
Article in Journal/Newspaper |
author |
Ghalayini, Jad Elkhaleq Krishnaswami, Neel |
spellingShingle |
Ghalayini, Jad Elkhaleq Krishnaswami, Neel Explicit Refinement Types |
author_facet |
Ghalayini, Jad Elkhaleq Krishnaswami, Neel |
author_sort |
Ghalayini, Jad Elkhaleq |
title |
Explicit Refinement Types |
title_short |
Explicit Refinement Types |
title_full |
Explicit Refinement Types |
title_fullStr |
Explicit Refinement Types |
title_full_unstemmed |
Explicit Refinement Types |
title_sort |
explicit refinement types |
publisher |
Association for Computing Machinery (ACM) |
publishDate |
2023 |
url |
http://dx.doi.org/10.1145/3607837 https://dl.acm.org/doi/pdf/10.1145/3607837 |
genre |
DML |
genre_facet |
DML |
op_source |
Proceedings of the ACM on Programming Languages volume 7, issue ICFP, page 187-214 ISSN 2475-1421 |
op_doi |
https://doi.org/10.1145/3607837 |
container_title |
Proceedings of the ACM on Programming Languages |
container_volume |
7 |
container_issue |
ICFP |
container_start_page |
187 |
op_container_end_page |
214 |
_version_ |
1799479050686693376 |