Deciding Kleene Algebra Terms Equivalence in Coq

This paper presents a mechanically verified implementation of an algorithm for deciding the equivalence of Kleene algebra terms within the Coq proof assistant. The algorithm decides equivalence of two given regular expressions through an iterated process of testing the equivalence of their partial d...

Full description

Bibliographic Details
Main Author: Pereira, David (author)
Other Authors: Moreira, Nelma (author), Sousa, Simão Patrício Melo de (author)
Format: article
Language:eng
Published: 2016
Subjects:
Online Access:http://hdl.handle.net/10400.22/7356
Country:Portugal
Oai:oai:recipp.ipp.pt:10400.22/7356
Description
Summary:This paper presents a mechanically verified implementation of an algorithm for deciding the equivalence of Kleene algebra terms within the Coq proof assistant. The algorithm decides equivalence of two given regular expressions through an iterated process of testing the equivalence of their partial derivatives and does not require the construction of the corresponding automata. Recent theoretical and experimental research provides evidence that this method is, on average, more efficient than the classical methods based on automata. We present some performance tests, comparisons with similar approaches, and also introduce a generalization of the algorithm to decide the equivalence of terms of Kleene algebra with tests. The motivation for the work presented in this paper is that of using the libraries developed as trusted frameworks for carrying out certified program verification.