St Andrews Research Repository

St Andrews University Home
View Item 
  •   St Andrews Research Repository
  • University of St Andrews Research
  • University of St Andrews Research
  • University of St Andrews Research
  • View Item
  •   St Andrews Research Repository
  • University of St Andrews Research
  • University of St Andrews Research
  • University of St Andrews Research
  • View Item
  •   St Andrews Research Repository
  • University of St Andrews Research
  • University of St Andrews Research
  • University of St Andrews Research
  • View Item
  • Login
JavaScript is disabled for your browser. Some features of this site may not work without it.

POSIX lexing with derivatives of regular expressions (proof pearl)

Thumbnail
View/Open
Ausaf_2016_POSIX_ITP2016_AAM.pdf (97.64Kb)
Date
2016
Author
Ausaf, Fahad
Dyckhoff, Roy
Urban, Christian
Keywords
POSIX matching
Derivatives of regular expressions
Isabelle/HOL
BC Logic
QA75 Electronic computers. Computer science
NDAS
Metadata
Show full item record
Altmetrics Handle Statistics
Altmetrics DOI Statistics
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.
Citation
Ausaf , 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 . https://doi.org/10.1007/978-3-319-43144-4_5
 
conference
 
Publication
Interactive Theorem Proving
DOI
https://doi.org/10.1007/978-3-319-43144-4_5
ISSN
0302-9743
Type
Conference item
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 link.springer.com / https://dx.doi.org/10.1007/978-3-319-43144-4_5
Collections
  • University of St Andrews Research
URI
http://hdl.handle.net/10023/9472

Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.

Advanced Search

Browse

All of RepositoryCommunities & CollectionsBy Issue DateNamesTitlesSubjectsClassificationTypeFunderThis CollectionBy Issue DateNamesTitlesSubjectsClassificationTypeFunder

My Account

Login

Open Access

To find out how you can benefit from open access to research, see our library web pages and Open Access blog. For open access help contact: openaccess@st-andrews.ac.uk.

Accessibility

Read our Accessibility statement.

How to submit research papers

The full text of research papers can be submitted to the repository via Pure, the University's research information system. For help see our guide: How to deposit in Pure.

Electronic thesis deposit

Help with deposit.

Repository help

For repository help contact: Digital-Repository@st-andrews.ac.uk.

Give Feedback

Cookie policy

This site may use cookies. Please see Terms and Conditions.

Usage statistics

COUNTER-compliant statistics on downloads from the repository are available from the IRUS-UK Service. Contact us for information.

© University of St Andrews Library

University of St Andrews is a charity registered in Scotland, No SC013532.

  • Facebook
  • Twitter