, If ? contains at least one predicate atom, we can still apply (RU), which contradicts the fact that D is maximal. Otherwise, because ? = / 0 consists of conjunctions of tree-shaped sets and does not contain any predicate atoms, it must be the case that ? contains only non-trivial conjunctions, obtained from previous applications of (RU) or (RD). We distinguish the following cases: ? ? \ r(y) = / 0, Then ? ? is of the form R, ? \ r(y) ? , where (R, r(y)) ? S is an inductive rule

?. , If (R) is the first occurrence of a rule (LU) then it must be the case that ? \ r(y) = / 0, which contradicts our assumption. Then there must have been a previous application of (LU) on ?, and, because D is structured, (RD) must have been applied between them. Therefore, since ? is tree-shaped, ? \ r(x) can only contain predicates, because the constraints introduced by (LU) are always eliminated by (RD)

|. , RU) Then ? ? is of the form ? { R i (y, z i )} m i=1 , ? \ r(y), where r(y) is a predicate atom and r(y) := S R 1

. |-r-m, If ? \ r(y) contains at least one predicate, we can apply (RU) and extend D, contradiction. Otherwise, because ? = / 0 consists of conjunctions over tree-shaped sets and it does not contain any predicates, then it must be the case that ? contains only non-trivial conjunctions, obtained from previous applications of (RU) or (RD)

.. .. , y m ) and we can apply (LU) -or even (?R), (RU) or (SP) if possible -to ? ?, Then ? ? is of the form r 1 (y 1 ), . . . , r m (y m ) Q 1 (y 1

?. ?-q, Since we only apply (?R) as cleanup after (RD), ? only contains predicate atoms and Q is a conjunction of predicate atoms. Then we can continue to apply (?R) if r(y) ? Q or any member of ? contains some conjunction s 1 (z) ? . . . ? s k (z), or apply (LU), ? ? is of the form ? r(y)

). and .. .. , We will now show that the sequence of inference rules fired on each maximal path in D is captured by the strategy S. Let ? be an arbitrary maximal path in D. Since D is a maximal derivation, ? cannot be extended any further by the application of an inference rule. W.l.o.g. we assume that the first application of (LU) is not immediately preceded by an application of (RU) -otherwise, one can obtain the same sequent by first applying (LU) before any (RU). The proof goes by induction on the number N ? 1 of basic sequents that occur on ?. If N = 1, then the only basic sequent p(x) q 1 (x), . . . , q n (x) occurs on the first position of ?. In this case (SP) is never applied on ?, because its premiss is also basic sequent, Then ? ? is of the form r(y) s, vol.1

.. , Else, since (LU) is applied on ?, then it must be applied in the beginning, because only (LU) and (RU) are applicable on p(x) q 1 (x)

, Because (SP) is never applied on ?, either (AX) or (RD) can be applied next. In the first case, we obtain R(?) ? LU · RU · AX ? S. In the second case, if n = 1 in the premiss of (RD), since S has the fvi property, we obtain that the premiss of (RD) is a basic sequent, contradicting our assumption. Then it must be the case that n > 1, and now (RD) is not applicable any longer, because the number of predicate atoms will always be bigger than the number of subgoal variables in the constraint from the antecedent. The only possibilities for continuation are then (AX), (ID), (?R), (LU) and (RU). However, (?R) is applicable only a finite number of times, equal to the number of conjunctions of predicate atoms with the same arguments from the consequent, (RU) can also only be applied a finite number of times, equal to the number of singleton predicate atoms from the antecedent, and (LU) is applicable at most once, because (RD) is no longer applicable, S is an inductive rule and (LU) cannot be applied again without applying (RD) first, due to the assumption that D is structured. Since ? = {q 1 (x), . . . , q n (x)}, we can now apply (RU)

.. , In the latter case, the sequent's antecedent consists of a single predicate atom. In the former case, there is an application of (RD) optionally followed by several applications of (?R) preceding the last vertex of ?, and consider now the conclusion of the last application of (RD) on a vertex in ?. As argued before, the antecedent of this conclusion is a predicate rule of S with goal r(y), introduced by a previous application of (LU). Since, between the premiss of this (LU) instance and the conclusion of (RD), the antecedent of the sequents is unchanged, the only possibility is that (RU) has been used between them, thus R(?) ? LU · RU * · RD · ?R * · SP? · R(?), If N > 1, let ? = ? · ?, where ? starts with the second occurrence of a basic sequent in ?. As before, the first occurrence is the initial sequent p(x) q 1 (x), vol.5

S. Berardi and M. Tatsuta, Classical system of Martin-Löf's inductive definitions is not equivalent to cyclic proof system, Foundations of Software Science and Computation Structures (FoSSaCS), pp.301-317, 2017.

J. Brotherston, Cyclic proofs for first-order logic with inductive definitions, Proc. of the 14th International Conference on Automated Reasoning with Analytic Tableaux and Related Methods, pp.78-92, 2005.

J. Brotherston, Sequent Calculus Proof Systems for Inductive Definitions, 2006.

J. Brotherston and A. Simpson, Sequent calculi for induction and infinite descent, J. Log. Comput, vol.21, issue.6, pp.1177-1216, 2011.

W. H. Bussey, Fermat's method of infinite descent, The American Mathematical Monthly, vol.25, issue.8, pp.333-337, 1918.

H. Comon, M. Dauchet, R. Gilleron, F. Jacquemard, D. Lugiez et al., Tree automata techniques and applications, 2005.

H. Comon and P. Lescanne, Equational problems and disunification, J. Symb. Comput, vol.7, issue.3/4, pp.371-425, 1989.
URL : https://hal.archives-ouvertes.fr/inria-00075652

N. Dershowitz and Z. Manna, Proving termination with multiset orderings, Commun. ACM, vol.22, issue.8, pp.465-476, 1979.

L. Holík, O. Lengál, J. Simácek, and T. Vojnar, Efficient inclusion checking on explicit and semi-symbolic tree automata, ATVA 2011, Proc. pp, pp.243-258, 2011.

R. Iosif and C. Serban, An entailment checker for separation logic with inductive definitions, 18th International Workshop on Automated Verification of Critical Systems, 2018.
URL : https://hal.archives-ouvertes.fr/hal-02388030

P. Madhusudan, X. Qiu, and A. Stefanescu, Recursive proofs for inductive tree data-structures, SIGPLAN Not, vol.47, issue.1, pp.123-136, 2012.

R. Pichler, On the complexity of equational problems in cnf, Journal of Symbolic Computation, vol.36, pp.235-269, 2003.

J. C. Reynolds, Separation logic: A logic for shared mutable data structures, Proc. of LICS, pp.55-74, 2002.

R. N. Rowe and J. Brotherston, Realizability in cyclic proof: Extracting ordering information for infinite descent, Automated Reasoning with Analytic Tableaux and Related Methods, pp.295-310, 2017.

C. Serban, Automated Reasoning in Separation Logic with Inductive Definitions, 2018.
URL : https://hal.archives-ouvertes.fr/tel-01908769

M. Sipser, Introduction to the Theory of Computation, 1997.

A. Stump, D. Oe, A. Reynolds, L. Hadarean, and C. Tinelli, SMT proof checking using a logical framework, Formal Methods in System Design, vol.42, issue.1, pp.91-118, 2013.

I. Walukiewicz, Completeness of Kozen's axiomatisation of the propositional mu-calculus, Information and Computation, vol.157, issue.1, pp.142-182, 2000.