[EN] This thesis presents the implementation of a framework to work with term rewriting
systems. Term rewriting systems provide a complete computational model which is very
close to functional programming. Its formulation ...[+]
[EN] This thesis presents the implementation of a framework to work with term rewriting
systems. Term rewriting systems provide a complete computational model which is very
close to functional programming. Its formulation is equational logic and it can also be used
to reason about program properties, not only of functional programs but also of programs
written in other programming languages.
Our framework has been implemented in a tool called TRS.Tool (built on .Net and available
at http://TRS.JarCode.Net) that covers three main objectives:
- Determine the basic properties of a given term rewriting system (signature, set of rules
conservativeness, linearity, etc…).
- Calculate the critical pairs of the term rewriting system and determine its orthogonality.
- Apply the rewriting rules over a given term.
The tool is available as a web based application created using this framework
[-]
[ES] Esta tesis presenta la implementación de un marco para trabajar con sistemas de
reescritura de términos. Los sistemas de reescritura de términos proporcionan un modelo
de cómputo completo que es muy cercano a la ...[+]
[ES] Esta tesis presenta la implementación de un marco para trabajar con sistemas de
reescritura de términos. Los sistemas de reescritura de términos proporcionan un modelo
de cómputo completo que es muy cercano a la programación funcional. Su formulación es
la de la lógica ecuacional y puede ser utilizado también para razonar sobre las propiedades
de los programas, no solo de los programas funcionales, sino también de programas
escritos en otros lenguajes de programación.
Nuestro marco que ha sido implementado en una herramienta llamada TRS.Tool (creada
en .Net y disponible en http://TRS.JarCode.Net) que cubre tres objetivos principales:
- Determinar las propiedades básicas de un sistema de reescritura de términos dado
(signatura, conjunto de reglas, conservativo, lineal, etc...).
- Calcular los pares críticos del sistema de reescritura de términos y determinar su
ortogonalidad.
- Aplicar las reglas de reescritura sobre un término dado.
La herramienta está disponible como una aplicación web creada utilizando este marco
[-]
|