Show simple item record

Files in this item


Item metadata

dc.contributor.authorAusaf, Fahad
dc.contributor.authorDyckhoff, Roy
dc.contributor.authorUrban, Christian
dc.contributor.editorBlanchette, Jasmine Christian
dc.contributor.editorMerz, Stephan
dc.identifier.citationAusaf , F , Dyckhoff , R & Urban , C 2016 , POSIX lexing with derivatives of regular expressions (proof pearl) . in J C Blanchette & S Merz (eds) , Interactive Theorem Proving : 7th International Conference, ITP 2016, Nancy, France, August 22-25, 2016, Proceedings . Lecture Notes in Computer Science , vol. 9807 , Springer , pp. 69-86 , ITP 2016: Interactive Theorem Proving , Nancy , France , 22/08/16 .
dc.identifier.otherPURE: 245601547
dc.identifier.otherPURE UUID: 1c6a22ab-6956-4699-8525-e15b0a70a056
dc.identifier.otherScopus: 84984782921
dc.identifier.otherWOS: 000417366000005
dc.description.abstractBrzozowski 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.
dc.relation.ispartofInteractive Theorem Provingen
dc.relation.ispartofseriesLecture Notes in Computer Scienceen
dc.rights© 2016, Springer. This work is made available online in accordance with the publisher’s policies. This is the author created, accepted version manuscript following peer review and may differ slightly from the final published version. The final published version of this work is available at /
dc.subjectPOSIX matchingen
dc.subjectDerivatives of regular expressionsen
dc.subjectBC Logicen
dc.subjectQA75 Electronic computers. Computer scienceen
dc.titlePOSIX lexing with derivatives of regular expressions (proof pearl)en
dc.typeConference itemen
dc.contributor.institutionUniversity of St Andrews. School of Computer Scienceen
dc.contributor.institutionUniversity of St Andrews. Centre for Interdisciplinary Research in Computational Algebraen

This item appears in the following Collection(s)

Show simple item record