This program is tentative and subject to change.
Graphs and their algorithms are fundamental to computer science, but they can be difficult to formalise, especially in dependently-typed proof assistants. Part of the problem is that graphs aren’t as well-behaved as inductive data types like trees or lists; another problem is that graph algorithms (at least in standard presentations) often aren’t structurally recursive. Instead of trying to find a way to make graphs behave like other familiar inductive types, this paper builds a formal theory of graphs and their algorithms where graphs are treated as coinductive structures from the beginning. We formalise our theory in Agda. This approach has its own unique challenges: Agda is more comfortable with induction than coinduction. Additionally, our formalisation relies on quotient types, which tend to make coinduction even harder to deal with. Nonetheless, we develop reusable techniques to deal with these difficulties, and the simple graph representation at the heart of our work turns out to be flexible, powerful, and formalisable.
This program is tentative and subject to change.
Fri 24 JanDisplayed time zone: Mountain Time (US & Canada) change
13:20 - 14:20 | |||
13:20 20mTalk | Archmage and CompCertCast: End-to-End Verification Supporting Integer-Pointer Casting POPL Yonghyun Kim Seoul National University, South Korea, Minki Cho Seoul National University, Jaehyung Lee Seoul National University, Jinwoo Kim Seoul National University, Taeyoung Yoon Seoul National University, Youngju Song MPI-SWS, Chung-Kil Hur Seoul National University | ||
13:40 20mResearch paper | Formalising Graph Algorithms with Coinduction POPL Pre-print | ||
14:00 20mTalk | VeriRT: An End-To-End Verification Framework for Real-Time Distributed Systems POPL Yoonseung Kim Yale University, Sung-Hwan Lee Seoul National University, Yonghyun Kim Seoul National University, South Korea, Chung-Kil Hur Seoul National University |