Focusing on Liquid Refinement Typing

09/26/2022
by   Dimitrios J. Economou, et al.
0

We present a foundation systematizing, in a way that works for any evaluation order, the variety of mechanisms for SMT constraint generation found in index refinement and liquid type systems. Using call-by-push-value, we design a polarized subtyping relation allowing us to prove that our logically focused typing algorithm is sound, complete, and decidable, even in cases seemingly likely to produce constraints with existential variables. We prove type soundness with respect to an elementary domain-theoretic denotational semantics. Soundness implies, relatively simply, our system's totality and logical consistency.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/10/2020

Data Flow Refinement Type Inference

Refinement types enable lightweight verification of functional programs....
research
10/15/2020

Refinement Types: A Tutorial

Refinement types enrich a language's type system with logical predicates...
research
12/30/2018

A Probabilistic and Non-Deterministic Call-by-Push-Value Language

There is no known way of giving a domain-theoretic semantics to higher-o...
research
05/01/2018

Denotational semantics of recursive types in synthetic guarded domain theory

Just like any other branch of mathematics, denotational semantics of pro...
research
11/22/2022

A Categorical Normalization Proof for the Modal Lambda-Calculus

We investigate a simply typed modal λ-calculus, λ^→□, due to Pfenning, W...
research
10/16/2020

General Semantic Construction of Dependent Refinement Type Systems, Categorically

Refinement types are types equipped with predicates that specify precond...
research
08/04/2020

Intensional Datatype Refinement

The pattern-match safety problem is to verify that a given functional pr...

Please sign up or login with your details

Forgot password? Click here to reset