### Abstract

Richard Bird and collaborators have proposed a derivation of an intricate cyclic program that implements the Morris-Pratt string matching algorithm. Here we provide a proof of total correctness for Bird's derivation and complete it by adding Knuth's optimisation.

### License

BSD License

### Topics

- Computer science/Functional programming

### Session BirdKMP

- HOLCF_ROOT
- Theory_Of_Lists
- KMP

### Depends on

- HOLCF-Prelude

### Auto-related entries

- Signature-Based Gröbner Basis Algorithms
- Imperative Insertion Sort
- Kleene Algebra with Tests and Demonic Refinement Algebras
- Algebra of Monotonic Boolean Transformers

## Cite

×

BirdKMP-AFP

    @article{BirdKMP-AFP,
      author  = {Peter Gammie},
      title   = {Putting the `K' into Bird's derivation of Knuth-Morris-Pratt string matching},
      journal = {Archive of Formal Proofs},
      month   = {August},
      year    = {2020},
      note    = {\url{https://isa-afp.org/entries/BirdKMP.html},
                 Formal proof development},
      ISSN    = {2150-914x},
    }

Download

## Download

× Download latest

Older releases:

- Sep 13, 2023 : Isabelle2023
- Oct 27, 2022 : Isabelle2022
- Dec 14, 2021 : Isabelle2021-1
- Feb 23, 2021 : Isabelle2021
- Sep 2, 2020 : Isabelle2020