Logical Methods in Computer Science (Jun 2016)

Certified Context-Free Parsing: A formalisation of Valiant's Algorithm in Agda

  • Jean-Philippe Bernardy,
  • Patrik Jansson

DOI
https://doi.org/10.2168/LMCS-12(2:6)2016
Journal volume & issue
Vol. Volume 12, Issue 2

Abstract

Read online

Valiant (1975) has developed an algorithm for recognition of context free languages. As of today, it remains the algorithm with the best asymptotic complexity for this purpose. In this paper, we present an algebraic specification, implementation, and proof of correctness of a generalisation of Valiant's algorithm. The generalisation can be used for recognition, parsing or generic calculation of the transitive closure of upper triangular matrices. The proof is certified by the Agda proof assistant. The certification is representative of state-of-the-art methods for specification and proofs in proof assistants based on type-theory. As such, this paper can be read as a tutorial for the Agda system.

Keywords