Corpus ID: 233739725

Refinements of Futures Past: Higher-Order Specification with Implicit Refinement Types (Extended Version)

@article{Tondwalkar2021RefinementsOF,
  title={Refinements of Futures Past: Higher-Order Specification with Implicit Refinement Types (Extended Version)},
  author={Anish Tondwalkar and Matthew Kolosick and Ranjit Jhala},
  journal={ArXiv},
  year={2021},
  volume={abs/2105.01954}
}
Refinement types decorate types with assertions that enable automatic verification. Like assertions, refinements are limited to binders that are in scope, and hence, cannot express higher-order specifications. Ghost variables circumvent this limitation but are prohibitively tedious to use as the programmer must divine and explicate their values at all call-sites. We introduce Implicit Refinement Types which turn ghost variables into implicit pair and function types, in a way that lets the… Expand

Figures and Tables from this paper

References

SHOWING 1-10 OF 66 REFERENCES
Abstract Refinement Types
Type-based data structure verification
Local refinement typing
Refinement reflection: complete verification with SMT
Bounded refinement types
Refinement types for Haskell
...
1
2
3
4
5
...