Revista: | Computación y sistemas |
Base de datos: | |
Número de sistema: | 000560763 |
ISSN: | 1405-5546 |
Autores: | Suárez Polo, Axel1 Lavalle Martínez, José de Jesús1 Molina Rebolledo, Iván1 |
Instituciones: | 1Benemérita Universidad Autónoma de Puebla, Puebla. México |
Año: | 2023 |
Periodo: | Ene-Mar |
Volumen: | 27 |
Número: | 1 |
Paginación: | 333-340 |
País: | México |
Idioma: | Inglés |
Tipo de documento: | Artículo |
Resumen en inglés | It is well known that some recursive functions admit a tail recursive counterpart which have a more efficient time-complexity behavior. This paper presents a formal specification and verification of such process. A monoid is used to generate a recursive function and its tail-recursive counterpart. Also, the monoid properties are used to prove extensional equality of both functions. In order to achieve this goal, the Agda programming language and proof assistant is used to generate a parametrized module with a monoid, via dependent types. This technique is exemplified with the length, reverse, and indices functions over lists. |
Disciplinas: | Ciencias de la computación |
Palabras clave: | Procesamiento de datos |
Keyword: | Data processing |
Texto completo: | Texto completo (Ver HTML) Texto completo (Ver PDF) |