, Since S is a progressing and connected set of rules and, moreover (s, h) | = F (u), by Lemma 2, there exists a bijection ? : dom(h) ? nodes(u)\{?} such that, for all wi ? nodes(u), where i ? N, we have ? ?1 (wi) ? h(? ?1 (w)). Moreover, since (s, h) > t, there exists an injective mapping f : nodes(t) ? dom(h)\s(? ?{0, 1}) such that, for all w ? nodes(t) such that wi ? nodes(t), we have f (wi) ? h( f (w)). Consequently, we obtain the bijection ? ? f : nodes(t) ? nodes(u) \ {?} where, for all wi ? nodes(t), such that i ? N, there exists j ? N such that f (wi) = h( f (w)) j . Since ? is bijective and ? img(?)
, Since f is injective, h( f (w)) j = f (wi) f (w). Moreover, h( f (w)) j s(? ? {0, 1}) thus, by Fact 2, we obtain that f (w) = ? ?1 (v), as a consequence of h( f (w)) j = h(? ?1 (v)) m . Then we obtain that, for all wi ? nodes(t), By Lemma 2, there exists m ? N such that ? ?1 (vk) = h(? ?1 (v)) m
, By the definition of S, namely rule (32), there exists a unique node w 0 ? nodes(u) \ {?} such that u(w 0 ) = (c i , ? i ), for some formula ? i , where i ? {1, 2, 3}. Distinguishing the cases i = 1, 2, 3 and using the fact that (s, h) > t, one shows that t breaks the one of the conditions (I), (II) or (III), respectively, thus t is not a derivation of M. The proof is along the lines of the second point of Lemma 3
0 ) as a sibling to a hat of height N, that occurs in c i (y 0 ), for all i = 1, 2, 3. Then the entailment p M (x) | = c M (x) holds if and only if, for each structure (s, h) such that (s, h) | = p M (x) and each extension s ,
, Lemma 5. The entailment p M (x) | = S c M (x) holds if and only if the membership problem (M, ) has a negative answer
, Since t is a derivation, it is also a pseudo-derivation of M and, by Lemma 3, there exists a structure (s, h) such that (s, h) | = S p M (x) and (s, h) t. Moreover, (s, h) > t follows from (s, h) t and
Foundations for decision problems in separation logic with general inductive predicates, Foundations of Software Science and Computation Structures -17th International Conference, FOSSACS 2014, Held as Part of the European Joint Conferences on Theory and Practice of Software, vol.8412, pp.411-425, 2014. ,
A decision procedure for satisfiability in separation logic with inductive predicates, Joint Meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic (CSL) and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), CSL-LICS '14, vol.25, pp.1-25, 2014. ,
, Alternation. J. ACM, vol.28, issue.1, pp.114-133, 1981.
The tree width of separation logic with recursive definitions, Proc. of CADE-24, vol.7898, 2013. ,
URL : https://hal.archives-ouvertes.fr/hal-01418897
Deciding entailments in inductive separation logic with tree automata, Automated Technology for Verification and Analysis -12th International Symposium, vol.2014, pp.201-218, 2014. ,
URL : https://hal.archives-ouvertes.fr/hal-01418889
Bi as an assertion language for mutable data structures, ACM SIGPLAN Notices, vol.36, pp.14-26, 2001. ,
Effective entailment checking for separation logic with inductive definitions, Tools and Algorithms for the Construction and Analysis of Systems -25th International Conference, TACAS 2019, Held as Part of the European Joint Conferences on Theory and Practice of Software, vol.11428, pp.319-336, 2019. ,