Hooray! We just got word that "Verified Causal Broadcast with Liquid Haskell" (https://arxiv.org/abs/2206.14767), led by my student @redmp, was accepted at IFL '22. (The date is in the past because IFL has a post-conference review process. They're weird like that!)
Short thread about this paper 👇
By "with human assistance", I mean that although Liquid Haskell automates some stuff for you, we (and by "we", I mean @redmp) also had to do a lot of proving by hand to carry out this project. Liquid Haskell is quite possibly the world's weirdest proof assistant, but, amazingly, it actually *is* a proof assistant, which makes this kind of thing possible.
Also, this project is just the first step in what I intend to be a multi-year research agenda that applies refinement types to distributed systems, as described here: https://decomposition.al/blog/2022/01/31/career-building-reliable-distributed-systems-with-refinement-types/
By the way, I'm not in a big rush to hire, but I am casually looking for another Ph.D. student who's specifically interested in working on this (refinement types + distributed systems). If that could be you, let's talk!
@lindsey had a workshop paper “Proof-Carrying Smart Contracts” with @maurice and @vsaraph (+2 more coauthors not on Mastodon as far as I know) that we didn’t end up resubmitting for a full conference because the reviewers wanted a proof of concept implementation and none of us had time to do it, but my idea was to do the POC implementation as higher-order functions in LiquidHaskell.
@elfprince13 @maurice @vsaraph Cool -- last summer @redmp and I were talking with a student at Edinburgh who was interested in using LH for verifying smart contract properties. Not sure if they continued pursuing the idea, but if you're interested, I could put you in touch by email.