Partial derivatives of regular expressions and finite automaton constructions
Theoretical Computer Science
Languages, automata, and logic
Handbook of formal languages, vol. 3
Derivatives of Regular Expressions
Journal of the ACM (JACM)
Mona: Monadic Second-Order Logic in Practice
TACAS '95 Proceedings of the First International Workshop on Tools and Algorithms for Construction and Analysis of Systems
Automata and Coinduction (An Exercise in Coalgebra)
CONCUR '98 Proceedings of the 9th International Conference on Concurrency Theory
MONA 1.x: New Techniques for WS1S and WS2S
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
A Theory of Restrictions for Logics and Automata
CAV '99 Proceedings of the 11th International Conference on Computer Aided Verification
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Bounded Model Construction for Monadic Second-Order Logics
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Regular-expression derivatives re-examined
Journal of Functional Programming
Formalizing the Logic-Automaton Connection
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
A play on regular expressions: functional pearl
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Partial derivatives of an extended regular expression
LATA'11 Proceedings of the 5th international conference on Language and automata theory and applications
A formalisation of the Myhill-Nerode theorem based on regular expressions (proof pearl)
ITP'11 Proceedings of the Second international conference on Interactive theorem proving
Parsing with derivatives: a functional pearl
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Interpretation of locales in isabelle: theories and proof contexts
MKM'06 Proceedings of the 5th international conference on Mathematical Knowledge Management
Code generation via higher-order rewrite systems
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
An efficient coq tactic for deciding kleene algebras
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
A decision procedure for regular expression equivalence in type theory
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
Proof Pearl: Regular Expression Equivalence and Relation Algebra
Journal of Automated Reasoning
Deciding regular expressions (in-)equivalence in coq
RAMiCS'12 Proceedings of the 13th international conference on Relational and Algebraic Methods in Computer Science
Data refinement in Isabelle/HOL
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Hi-index | 0.00 |
Monadic second-order logic on finite words (MSO) is a decidable yet expressive logic into which many decision problems can be encoded. Since MSO formulas correspond to regular languages, equivalence of MSO formulas can be reduced to the equivalence of some regular structures (e.g. automata). This paper presents a verified functional decision procedure for MSO formulas that is not based on automata but on regular expressions. Functional languages are ideally suited for this task: regular expressions are data types and functions on them are defined by pattern matching and recursion and are verified by structural induction. Decision procedures for regular expression equivalence have been formalized before, usually based on Brzozowski derivatives. Yet, for a straightforward embedding of MSO formulas into regular expressions an extension of regular expressions with a projection operation is required. We prove total correctness and completeness of an equivalence checker for regular expressions extended in that way. We also define a language-preserving translation of formulas into regular expressions with respect to two different semantics of MSO. Our results have been formalized and verified in the theorem prover Isabelle. Using Isabelle's code generation facility, this yields purely functional, formally verified programs that decide equivalence of MSO formulas.