Inductive relations offer a powerful and expressive way of writing
program specifications while facilitating compositional reasoning.
Their widespread use by proof assistant users has made them a
particularly attractive target for proof engineering tools such as
QuickChick, a property-based testing tool for Coq which can
automatically derive generators for values satisfying an inductive
relation.
However, while such generators are generally efficient, there is
an infrequent yet seemingly inevitable situation where their
performance greatly degrades: when multiple inductive relations
constrain the same piece of data.
In this paper, we introduce an algorithm for merging two such
inductively defined properties that share an index. The algorithm
finds shared structure between the two relations, and creates a
single merged relation that is provably equivalent to the
conjunction of the two.
We demonstrate, through a series of case studies,
that the merged relations can improve the performance of automatic
generation by orders of magnitude, as well as simplify mechanized
proofs by getting rid of the need for nested induction and tedious
low-level book-keeping.
Mon 19 JunDisplayed time zone: Eastern Time (US & Canada) change
13:40 - 15:20 | PLDI: Verification & Proof AssistantsPLDI Research Papers at Royal Chair(s): Adam Chlipala Massachusetts Institute of Technology | ||
13:40 20mTalk | PureCake: A Verified Compiler for a Lazy Functional Language PLDI Research Papers Hrutvik Kanabar University of Kent, Samuel Vivien École Normale Supérieure, PSL & Chalmers University of Technology Sweden, Oskar Abrahamsson Chalmers University of Technology, Sweden, Magnus O. Myreen Chalmers University of Technology, Michael Norrish CSIRO’s Data61; Australian National University, Johannes Åman Pohjola University of New South Wales, Australia, Riccardo Zanetti Chalmers University of Technology, Sweden DOI Pre-print | ||
14:00 20mTalk | Iris-Wasm: Robust and Modular Verification of WebAssembly Programs PLDI Research Papers Xiaojia Rao Imperial College, Aina Linn Georges Aarhus University, Maxime Legoupil Aarhus University, Conrad Watt University of Cambridge, Jean Pichon-Pharabod Aarhus University, Philippa Gardner Imperial College London, Lars Birkedal Aarhus University DOI | ||
14:20 20mTalk | WasmRef-Isabelle: A Verified Monadic Interpreter and Industrial Fuzzing Oracle for WebAssembly PLDI Research Papers Conrad Watt University of Cambridge, Maja Trela University of Cambridge, Peter Lammich The University of Manchester, Florian Märkl DOI | ||
14:40 20mTalk | Merging Inductive Relations PLDI Research Papers Jacob Prinz University of Maryland, College Park, Leonidas Lampropoulos University of Maryland, College Park DOI | ||
15:00 20mTalk | Cakes That Bake Cakes: Dynamic Computation in CakeML PLDI Research Papers Thomas Sewell University of Cambridge, Magnus O. Myreen Chalmers University of Technology, Yong Kiam Tan None, Ramana Kumar None, Alexander Mihajlovic Chalmers University of Technology, Oskar Abrahamsson Chalmers University of Technology, Scott Owens University of Kent, UK DOI |