Proving and disproving confluence of context-sensitive rewriting

[EN] Context-sensitive rewriting is a restriction of term rewriting where reductions are allowed on specific arguments of function symbols only, and then in particular positions of terms. Confluence is an abstract property of reduction relations guaranteeing that two diverging reduction sequences ca...

ver descrição completa

Detalhes bibliográficos
Autores: Lucas Alba, Salvador|||0000-0001-9923-2108, Gutiérrez Gil, Raúl|||0000-0002-3984-2868, Vítores-Vicente, Miguel
Tipo de documento: artigo
Data de publicação:2022
País:España
Recursos:Universitat Politècnica de València (UPV)
Repositório:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
Idioma:inglês
OAI Identifier:oai:riunet.upv.es:10251/194829
Acesso em linha:https://riunet.upv.es/handle/10251/194829
Access Level:Acceso aberto
Palavra-chave:Confluence
Context-sensitive rewriting
Program analysis
LENGUAJES Y SISTEMAS INFORMATICOS
Descrição
Resumo:[EN] Context-sensitive rewriting is a restriction of term rewriting where reductions are allowed on specific arguments of function symbols only, and then in particular positions of terms. Confluence is an abstract property of reduction relations guaranteeing that two diverging reduction sequences can always be joined into a common reduct. In this paper we investigate confluence of context-sensitive rewriting and present some novel results. In particular, a characterization of local confluence of context-sensitive rewriting as the joinability of an extended class of critical pairs which we introduce here. We also show that the treatment of joinability of critical pairs using theorem proving and solving feasibility problems is useful to automatically prove and disprove confluence of context-sensitive rewriting. Our techniques have been implemented in a new tool, CONFident. We show by means of benchmarks the impact of the new techniques discussed in the paper.