A New Look at Generalized Rewriting in Type Theory

Rewriting is an essential tool for computer-based reasoning, both automated and assisted. This is because rewriting is a general notion that permits modeling a wide range of problems and provides a means to effectively solve them. In a proof assistant, rewriting can be used to replace terms in arbit...

Full description

Bibliographic Details
Main Author: Matthieu Sozeau
Format: Article
Language:English
Published: University of Bologna 2009-01-01
Series:Journal of Formalized Reasoning
Online Access:http://jfr.cib.unibo.it/article/view/1574/1077
id doaj-191804b0ac494262ae3ba323fdd2307b
record_format Article
spelling doaj-191804b0ac494262ae3ba323fdd2307b2020-11-24T22:24:20ZengUniversity of BolognaJournal of Formalized Reasoning1972-57872009-01-01214162A New Look at Generalized Rewriting in Type TheoryMatthieu SozeauRewriting is an essential tool for computer-based reasoning, both automated and assisted. This is because rewriting is a general notion that permits modeling a wide range of problems and provides a means to effectively solve them. In a proof assistant, rewriting can be used to replace terms in arbitrary contexts, generalizing the usual equational reasoning to reasoning modulo arbitrary relations. This can be done provided the necessary proofs that functions appearing in goals are congruent with respect to specific relations. We present a new implementation of generalized rewriting in the Coq proof assistant, making essential use of the expressive power of dependent types and the recently implemented type class mechanism. The new rewrite tactic improves on and generalizes previous versions by natively supporting higher-order functions, polymorphism and subrelations. The type class system inspired by Haskell provides a perfect interface between the user and the tactic, making it easily extensible.http://jfr.cib.unibo.it/article/view/1574/1077
collection DOAJ
language English
format Article
sources DOAJ
author Matthieu Sozeau
spellingShingle Matthieu Sozeau
A New Look at Generalized Rewriting in Type Theory
Journal of Formalized Reasoning
author_facet Matthieu Sozeau
author_sort Matthieu Sozeau
title A New Look at Generalized Rewriting in Type Theory
title_short A New Look at Generalized Rewriting in Type Theory
title_full A New Look at Generalized Rewriting in Type Theory
title_fullStr A New Look at Generalized Rewriting in Type Theory
title_full_unstemmed A New Look at Generalized Rewriting in Type Theory
title_sort new look at generalized rewriting in type theory
publisher University of Bologna
series Journal of Formalized Reasoning
issn 1972-5787
publishDate 2009-01-01
description Rewriting is an essential tool for computer-based reasoning, both automated and assisted. This is because rewriting is a general notion that permits modeling a wide range of problems and provides a means to effectively solve them. In a proof assistant, rewriting can be used to replace terms in arbitrary contexts, generalizing the usual equational reasoning to reasoning modulo arbitrary relations. This can be done provided the necessary proofs that functions appearing in goals are congruent with respect to specific relations. We present a new implementation of generalized rewriting in the Coq proof assistant, making essential use of the expressive power of dependent types and the recently implemented type class mechanism. The new rewrite tactic improves on and generalizes previous versions by natively supporting higher-order functions, polymorphism and subrelations. The type class system inspired by Haskell provides a perfect interface between the user and the tactic, making it easily extensible.
url http://jfr.cib.unibo.it/article/view/1574/1077
work_keys_str_mv AT matthieusozeau anewlookatgeneralizedrewritingintypetheory
AT matthieusozeau newlookatgeneralizedrewritingintypetheory
_version_ 1725761862456311808