Proving Confluence in the Confluence Framework with CONFident

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Gutiérrez, Raúl, Lucas, Salvador, Vítores, Miguel
Format: Preprint
Publié: 2023
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866918431296585728
author Gutiérrez, Raúl
Lucas, Salvador
Vítores, Miguel
author_facet Gutiérrez, Raúl
Lucas, Salvador
Vítores, Miguel
contents This article describes the *Confluence Framework*, a novel framework for proving and disproving confluence using a divide-and-conquer modular strategy, and its implementation in CONFident. Using this approach, we are able to automatically prove and disprove confluence of *Generalized Term Rewriting Systems*, where (i) only selected arguments of function symbols can be rewritten and (ii) a rather general class of conditional rules can be used. This includes, as particular cases, several variants of rewrite systems such as (context-sensitive) *term rewriting systems*, *string rewriting systems*, and (context-sensitive) *conditional term rewriting systems*. The divide-and-conquer modular strategy allows us to combine in a proof tree different techniques for proving confluence, including modular decompositions, checking joinability of (conditional) critical and variable pairs, transformations, etc., and auxiliary tasks required by them, e.g., joinability of terms, joinability of conditional pairs, etc.
format Preprint
id arxiv_https___arxiv_org_abs_2306_16330
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Proving Confluence in the Confluence Framework with CONFident
Gutiérrez, Raúl
Lucas, Salvador
Vítores, Miguel
Logic in Computer Science
Programming Languages
This article describes the *Confluence Framework*, a novel framework for proving and disproving confluence using a divide-and-conquer modular strategy, and its implementation in CONFident. Using this approach, we are able to automatically prove and disprove confluence of *Generalized Term Rewriting Systems*, where (i) only selected arguments of function symbols can be rewritten and (ii) a rather general class of conditional rules can be used. This includes, as particular cases, several variants of rewrite systems such as (context-sensitive) *term rewriting systems*, *string rewriting systems*, and (context-sensitive) *conditional term rewriting systems*. The divide-and-conquer modular strategy allows us to combine in a proof tree different techniques for proving confluence, including modular decompositions, checking joinability of (conditional) critical and variable pairs, transformations, etc., and auxiliary tasks required by them, e.g., joinability of terms, joinability of conditional pairs, etc.
title Proving Confluence in the Confluence Framework with CONFident
topic Logic in Computer Science
Programming Languages
url https://arxiv.org/abs/2306.16330