Skip to content

katydid/regex-deriv-lean

Repository files navigation

regex-deriv-lean

Proofs for derivatives of regular expressions in Lean4.

Check Proofs

This derivatives for regular expressions is used as the foundation for the katydid validation algorithm. Understanding how derivatives work for regular expressions is important before trying to understand the katydid validation algorithm.

This repo contains:

A lot of work was done by building on our previous work in Coq and our attempt at Reproving Agda in Lean

Contributing

The contributing guidelines are short and shouldn't be surprising. Please read the contributing guidelines.

Understanding Brzozowski derivatives

Contributing to this repo requires an understanding the underlying algorithm that is the subject of the proofs in this repo:

Understanding LeanProver

This repo also requires an understanding of proof assistants, since all the proofs in this repo are done using LeanProver:

  • Knowledge of dependent types, induction and understanding the difference between a property True and a boolean true. We recommend reading The Little Typer to gain an understanding of the basics.
  • Experience with an Interactive Theorem Prover, like Coq or Lean, including using tactics and Inductive Predicates. If you are unfamiliar with interactive theorem provers you can watch our talk for a taste. We recommend reading Coq in a Hurry as a quick overview and Coq Art up to Chapter 8: Inductive Predicates for a proper understanding.

Optionally the following will also be helpful, but this is not required:

Questions about Lean4 can be asked on proofassistants.stackexchange by tagging questions with lean and lean4 or in the Zulip Chat.

Setup

  • Lean4 has exceptional instructions for installing Lean4 in VS Code.
  • Remember to also add lake (the build system for lean) to your PATH. You can do this on mac by adding export PATH=~/.elan/bin/:${PATH} to your ~/.zshrc file
  • Use mathlib's cache to speed up building time by running: $ lake exe cache get

About

Proofs written in Lean4 for the core katydid validation algorithm

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages