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...

Full description

Bibliographic Details
Published in:Proceedings of the ACM on Programming Languages
Main Authors: Ghalayini, Jad Elkhaleq, Krishnaswami, Neel
Other Authors: European Research Commission
Format: Article in Journal/Newspaper
Language:English
Published: Association for Computing Machinery (ACM) 2023
Subjects:
DML
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