ICFP 2022
Sun 11 - Fri 16 September 2022 Ljubljana, Slovenia
Thu 15 Sep 2022 12:00 - 12:30 at Kosovel - Verification Chair(s): Wouter Swierstra

Liquid Haskell is a popular verifier for Haskell programs, leveraging the power of SMT solvers to ease users’ burden of proof. However, this reliance on SMT does not come without a price: convincing the Liquid Haskell typechecker that a program is correct often necessitates giving hints to the underlying solver, which can be a tedious and verbose process that sometimes requires intricate knowledge of Liquid Haskell’s inner workings.

In this paper, we present Liquid Proof Macros, an extensible metaprogramming technique and framework for simplifying the development of Liquid Haskell proofs. We describe how to leverage Template Haskell to generate Liquid Haskell proof terms, via a tactic-inspired DSL interface for more concise and user-friendly proofs, and we demonstrate the framework’s capabilities by automating a wide variety of proofs from an existing Liquid Haskell benchmark.

Thu 15 Sep

Displayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change

11:00 - 12:30
VerificationHaskell at Kosovel
Chair(s): Wouter Swierstra Utrecht University, Netherlands
11:00
30m
Talk
Coinduction Inductively: Mechanizing Coinductive Proofs in Liquid Haskell
Haskell
Lykourgos Mastorou National Technical University of Athens, Nikolaos Papaspyrou National Technical University of Athens, Niki Vazou IMDEA Software Institute
11:30
30m
Talk
How to Safely Use Extensionality in Liquid Haskell
Haskell
Niki Vazou IMDEA Software Institute, Michael Greenberg Stevens Institute of Technology
12:00
30m
Talk
Liquid Proof Macros
Haskell
Henry Blanchette , Niki Vazou IMDEA Software Institute, Leonidas Lampropoulos University of Maryland, College Park