Periodic Reporting for period 1 - CRETE (Certified Refinement Types)
Berichtszeitraum: 2022-07-01 bis 2024-12-31
Refinement types is a static verification technique that is designed to be practical, meaning to get integrated in mainstream programming. As such, it was designed to be automated by SMTs and easily extend existing programming languages, but did not have the foundations required by a formal verifier. The objective of this project is to both set the theoretical foundations of refinement types (by proving the technology correct and by developing a translation to existing correct theories) and to apply them to prove sophisticated properties.
First, we have started the mechanization of the core calculus of refinement types in the Liquid Haskell refinement type checker (as presented at POPL'24).
Second, we have started the translation of refinement types to the Coq theorem prover. Early stages of this work were presented at TYPES'23 and this project is currently led by the PhD student of the PI.
Finally, we are using refinement types to prove sophisticated theorems of web security under the existence of dynamic policies.
Other than this, the PI has been invited to teach verification via refinement types at a master course at Complutense University of Madrid, has joined two IFIP working groups (WG 2.8 and WG 2.6) has invited to give the keynote of ICFP'24, and as an invited speaker at LambdaWord and Munihac.