POSIX lexing with derivatives of regular expressions (proof pearl)

Fahad Ausaf, Roy Dyckhoff, Christian Urban

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Brzozowski introduced the notion of derivatives for regular expressions. They can be used for a very simple regular expression matching algorithm. Sulzmann and Lu cleverly extended this algorithm in order to deal with POSIX matching, which is the underlying disambiguation strategy for regular expressions needed in lexers. Sulzmann and Lu have made available on-line what they call a “rigorous proof” of the correctness of their algorithm w.r.t. their specification; regrettably, it appears to us to have unfillable gaps. In the first part of this paper we give our inductive definition of what a POSIX value is and show (i) that such a value is unique (for given regular expression and string being matched) and (ii) that Sulzmann and Lu’s algorithm always generates such a value (provided that the regular expression matches the string). We also prove the correctness of an optimised version of the POSIX matching algorithm. Our definitions and proof are much simpler than those by Sulzmann and Lu and can be easily formalised in Isabelle/HOL. In the second part we analyse the correctness argument by Sulzmann and Lu and explain why the gaps in this argument cannot be filled easily.
Original languageEnglish
Title of host publicationInteractive Theorem Proving
Subtitle of host publication7th International Conference, ITP 2016, Nancy, France, August 22-25, 2016, Proceedings
EditorsJasmine Christian Blanchette, Stephan Merz
PublisherSpringer
Pages69-86
Number of pages18
ISBN (Electronic)9783319431444
ISBN (Print)9783319431437
DOIs
Publication statusPublished - 2016
EventITP 2016: Interactive Theorem Proving - LORIA Building, Inria Nancy - Grand-Est, Nancy, France
Duration: 22 Aug 201627 Aug 2016
Conference number: 7
https://itp2016.inria.fr/

Publication series

NameLecture Notes in Computer Science
Volume9807
ISSN (Print)0302-9743

Conference

ConferenceITP 2016: Interactive Theorem Proving
Abbreviated titleITP 2016
Country/TerritoryFrance
CityNancy
Period22/08/1627/08/16
Internet address

Keywords

  • POSIX matching
  • Derivatives of regular expressions
  • Isabelle/HOL

Fingerprint

Dive into the research topics of 'POSIX lexing with derivatives of regular expressions (proof pearl)'. Together they form a unique fingerprint.

Cite this