Partial derivatives of regular expressions and finite automaton constructions
Theoretical Computer Science
Derivatives of Regular Expressions
Journal of the ACM (JACM)
Automata and Coinduction (An Exercise in Coalgebra)
CONCUR '98 Proceedings of the 9th International Conference on Concurrency Theory
From Mirkin's Prebases to Antimirov's Word Partial Derivatives
Fundamenta Informaticae
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
Packaging Mathematical Structures
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Regular expression containment: coinductive axiomatization and computational interpretation
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Partial derivative automata formalized in Coq
CIAA'10 Proceedings of the 15th international conference on Implementation and application of automata
An efficient coq tactic for deciding kleene algebras
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Proof Pearl: Regular Expression Equivalence and Relation Algebra
Journal of Automated Reasoning
CICM'12 Proceedings of the 11th international conference on Intelligent Computer Mathematics
Deciding regular expressions (in-)equivalence in coq
RAMiCS'12 Proceedings of the 13th international conference on Relational and Algebraic Methods in Computer Science
Kleene algebra with tests and coq tools for while programs
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Hi-index | 0.00 |
We study a derivative method allowing to prove termination of computations on regular expressions. A Coq formalisation of a canonical non-deterministic finite automaton construction on a regular expression is presented. The correctness of the functional definitions is formally verified in Coq using the libraries and the small-scale reflection tools of Ssreflect. We propose to extend the proofs further, and this is a work in progress, to study termination of containment and equivalence in terms of partial derivatives. This serves as a major motivation and intended application of the presented approach. A method that we develop in the paper, called shadowing, allows for a smooth program extraction from decision procedures whatever the complexity of the dependently typed proofs.