Deciding Kleene Algebra Terms Equivalence in Coq
Autor(a) principal: | |
---|---|
Data de Publicação: | 2015 |
Outros Autores: | , |
Tipo de documento: | Artigo |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10400.22/7356 |
Resumo: | 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. |
id |
RCAP_fb23f73624210d71febd156eeb3cc0d4 |
---|---|
oai_identifier_str |
oai:recipp.ipp.pt:10400.22/7356 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Deciding Kleene Algebra Terms Equivalence in CoqProof assistantsRegular expressionsKleene algebra with testsProgram verificationThis 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.ElsevierRepositório Científico do Instituto Politécnico do PortoPereira, DavidMoreira, NelmaSousa, Simão Patrício Melo de2016-01-11T11:16:27Z2015-052015-05-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/articleapplication/pdfhttp://hdl.handle.net/10400.22/7356eng10.1016/j.jlamp.2014.12.004info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-03-13T12:47:50Zoai:recipp.ipp.pt:10400.22/7356Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T17:27:52.012929Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Deciding Kleene Algebra Terms Equivalence in Coq |
title |
Deciding Kleene Algebra Terms Equivalence in Coq |
spellingShingle |
Deciding Kleene Algebra Terms Equivalence in Coq Pereira, David Proof assistants Regular expressions Kleene algebra with tests Program verification |
title_short |
Deciding Kleene Algebra Terms Equivalence in Coq |
title_full |
Deciding Kleene Algebra Terms Equivalence in Coq |
title_fullStr |
Deciding Kleene Algebra Terms Equivalence in Coq |
title_full_unstemmed |
Deciding Kleene Algebra Terms Equivalence in Coq |
title_sort |
Deciding Kleene Algebra Terms Equivalence in Coq |
author |
Pereira, David |
author_facet |
Pereira, David Moreira, Nelma Sousa, Simão Patrício Melo de |
author_role |
author |
author2 |
Moreira, Nelma Sousa, Simão Patrício Melo de |
author2_role |
author author |
dc.contributor.none.fl_str_mv |
Repositório Científico do Instituto Politécnico do Porto |
dc.contributor.author.fl_str_mv |
Pereira, David Moreira, Nelma Sousa, Simão Patrício Melo de |
dc.subject.por.fl_str_mv |
Proof assistants Regular expressions Kleene algebra with tests Program verification |
topic |
Proof assistants Regular expressions Kleene algebra with tests Program verification |
description |
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. |
publishDate |
2015 |
dc.date.none.fl_str_mv |
2015-05 2015-05-01T00:00:00Z 2016-01-11T11:16:27Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/article |
format |
article |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10400.22/7356 |
url |
http://hdl.handle.net/10400.22/7356 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
10.1016/j.jlamp.2014.12.004 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Elsevier |
publisher.none.fl_str_mv |
Elsevier |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799131374523777024 |