Certification of Confluence Proofs using CeTA

Julian Nagele,René Thiemann
DOI: https://doi.org/10.48550/arXiv.1505.01337
2015-05-06
Abstract:CeTA was originally developed as a tool for certifying termination proofs which have to be provided as certificates in the CPF-format. Its soundness is proven as part of IsaFoR, the Isabelle Formalization of Rewriting. By now, CeTA can also be used for certifying confluence and non-confluence proofs. In this system description, we give a short overview on what kind of proofs are supported, and what information has to be given in the certificates. As we will see, only a small amount of information is required and so we hope that CSI will not stay the only confluence tool which can produce certificates.
Logic in Computer Science
What problem does this paper attempt to address?
The problem that this paper attempts to solve is: How to use the CeTA tool to certify the confluence and non - confluence proofs of term rewrite systems (TRSs). Specifically, the paper focuses on the following aspects: 1. **Certifying termination and confluence proofs**: - CeTA was originally developed to certify termination proofs. It verifies these proofs through certificates provided in the CPF format and formally proves its correctness in IsaFoR. - This paper extends the functionality of CeTA to enable it to certify confluence and non - confluence proofs. 2. **Types of supported proofs**: - **Confluence of terminating TRSs**: For terminating TRSs, confluence can be determined by checking the joinability of all critical pairs. - **Confluence of non - terminating TRSs**: Two confluence conditions that do not require termination are introduced: strongly closed and linear TRS, as well as weakly orthogonal TRS. - **Non - confluence**: Non - confluence is proved by providing non - joinable forks. 3. **Specific methods of certification**: - **Terminating TRSs**: The user only needs to provide the termination proof, and CeTA will automatically construct all critical pairs and check their joinability. - **Non - terminating TRSs**: The user needs to provide some additional information, such as the upper limit of the connection derivation length of critical pairs. - **Non - confluence**: Specific derivation paths and certificates proving non - joinability need to be provided. 4. **Modular confluence**: - The paper also discusses how to certify the confluence or non - confluence of multiple TRSs through a modular method. In particular, if a TRS is non - confluent, then its disjoint union with another TRS is also non - confluent. In summary, the main goal of this paper is to extend the functionality of the CeTA tool so that it can effectively certify various types of confluence and non - confluence proofs and ensure the formal correctness of these certification processes. This helps to improve the reliability and application range of automated tools in the theory of rewrite systems. ### Formula Examples - **Definition of critical pairs**: \[ CP(R) = \{(r\sigma, C[r']\sigma) \mid \ell \to r \in R, \ell' \to r' \in R, \ell = C[u], u \notin V, \text{mgu}(u, \ell') = \sigma\} \] - **Definition of non - joinability (Non - Joinability)**: \[ NJ_{R_1, R_2}(t_1, t_2) = (\neg \exists u. t_1 \rightarrow^*_{R_1} u \land t_2 \rightarrow^*_{R_2} u) \] - **Modal theorem (Theorem 7)**: \[ \text{If } F(R) \cap F(S) = \emptyset, \text{and the variable condition } VC \supseteq (R), VC_{lhs}(S) \text{ is satisfied, then } \neg CR(R) \implies \neg CR(R \cup S) \] These formulas show the key concepts and technical details involved in the paper.