Skip to content
0:00 / 0:00

#ghc#coq#hs-to-coq

Embracing a mechanized formalization gap by Yao Li (HIW@ICFP 2020)

Yao Li

2 subscribers • 1 video on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Yao Li

Advanced. Deep dive for people who know the field.

206 views6 years ago1 recommendation

Programming languagesComputer scienceHaskellCompilers and interpretersFormal methods and verification

Yao Li discusses translating core parts of the GHC compiler into Coq using hs-to-coq to verify invariants despite a formalization gap.

If a codebase is so big and complicated that complete mechanical verification is intractable, can we still benefit from verification methods? We show that by constructing a deliberate mechanized formalization gap we can shrink and simplify the model until it is manageable, while still retaining a meaningful, declaratively documented connection to the original, unmodified source code. Concretely, we translate core parts of the Haskell compiler GHC into Coq, using hs-to-coq, and verify invariants related to the use of term variables.

Why it's here

1 person recommends this

What people say. Recommended for its perspective on the formalization gap when verifying Haskell programs with hs-to-coq.

u/Syrakin r/haskell • Recommends

On “Tutorial: Verify Haskell Programs with hs-to-coq”

…well-founded induction. Where hs-to-coq succeeds, it provides further evidence of that, and an environment for mechanized reasoning in that terminating fragment. hs-to-coq raises many questions about the formalization gap. The following talk from this summer's Haskell Implementors Workshop presents the hs-to-coq team's perspective on that topic: link to this video…