[Regular-expression derivatives re-examined][1] was the paper for the Programming Languages and Verification Reading Group this week, unfortunately I wasn't able to attend but I went through it by myself and thankfully understood most of it as it's a clear introduction to a topic I have spent some time on in the past.
Back in 2008 I implemented Brzozowski derivatives in Coq, which was quite fun (see attached file basic.v). It describes regular expression semantics and proves that a regexp matches a string if repeatedly taking the derivative for each character in the string results in a nullable regexp. (I didn't implement automata construction as I had other plans for that).
For an additional challenge I implemented logical and/intersection and also an "interleave" operator allowing two regular expressions to be combined into one that matches every possible interleaving of the strings that each match (see attached file extended.v).
I wasn't able to successfully prove the correctness of derivatives with not