Efficient Validation of FOL ID Cyclic Induction Reasoning - Archive ouverte HAL Access content directly
Other Publications Year : 2019

Efficient Validation of FOL ID Cyclic Induction Reasoning


Checking the soundness of the cyclic induction reasoning for first-order logic with in-ductive definitions (FOL_ID) is decidable but the standard checking method is based on a doubly exponential complement operation for Büchi automata. We present a polynomial method 'semi-deciding' this problem; its most expensive steps recall the comparisons with multiset path orderings. In practice, it has been integrated in the Cyclist prover and successfully checked all the proofs included in its distribution. FOL_ID cyclic proofs may also be hard to certify. Our method helps to represent the cyclic induction reasoning as being well-founded, where the ordering constraints are automatically built from the analysis of the proofs. Hence, it creates a bridge between the two induction reasoning methods and opens the perspective to use the certification methods adapted for well-founded induction proofs. Introduction. Cyclic pre-proofs for the classical first-order logic with inductive predicates (FOL_ID) have been extensively studied in [1, 2, 4]. They are finite sequent-based derivations where some terminal nodes, called buds, are labelled with sequents already occurring in the derivation, called companions. Bud-companion (BC) relations, graphically represented as back-links, are described by an induction function attached to the derivation, such that only one companion is assigned to each bud, but a node can be the companion of one or several buds. The pre-proofs can be viewed as digraphs whose cycles, if any, are introduced by the BC-relations. It is easy to build unsound pre-proofs, for example by creating a BC-relation between the nodes labelled by the sequents from a stuttering step. The classical soundness criterion is the global trace condition. Firstly, the paths are annotated by traces built from inductive antecedent atoms (IAAs) found on the lhs of the sequents in the path, then it is shown that for every infinite path p in the cyclic derivation of a false sequent, there is some trace following p such that all successive steps starting from some point are decreasing and certain steps occurring infinitely often are strictly decreasing w.r.t. some semantic ordering. We say that a progress point happens in the trace when a step is strictly decreasing. A proof is a pre-proof if every infinite path has an infinitely progressing trace starting from some point. The standard checking method [2] of the global trace condition is decidable but based on a doubly exponential complement operation for Büchi automata [5]. It has been implemented in the Cyclist prover [3] and experiments showed that the soundness checking can take up to 44% of the proof time. On the other hand, a less costly, polynomial-time, checking method has been presented in [7, 9]. 1 The pre-proof to be checked is firstly normalized into a digraph consisting of a set of derivation trees to which is attached an extended induction function. The resulting digraph counts among its roots the companions and the root of the pre-proof to be checked. The normalized pre-proof is a proof if every strongly connected component (SCC) of the digraph satisfies some ordering constraints, similar to those used for certifying cyclic Noetherian induction proofs [8].
Fichier principal
Vignette du fichier
CiSS2019.pdf (327.62 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-02398634 , version 1 (07-12-2019)


  • HAL Id : hal-02398634 , version 1


Sorin Stratulat. Efficient Validation of FOL ID Cyclic Induction Reasoning: preliminary version of "E-Cyclist: Implementation of an Efficient Validation of FOLID Cyclic Induction Reasoning", presented at SCSS 2021, Hagenberg, Austria. 2019. ⟨hal-02398634⟩


58 View
46 Download


Gmail Facebook Twitter LinkedIn More