/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.pl /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.pl # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Left Termination of the query pattern goal(g) w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) PrologToDTProblemTransformerProof [SOUND, 28 ms] (2) TRIPLES (3) UndefinedPredicateInTriplesTransformerProof [SOUND, 0 ms] (4) TRIPLES (5) TriplesToPiDPProof [SOUND, 0 ms] (6) PiDP (7) DependencyGraphProof [EQUIVALENT, 0 ms] (8) PiDP (9) PiDPToQDPProof [SOUND, 0 ms] (10) QDP (11) QDPSizeChangeProof [EQUIVALENT, 0 ms] (12) YES ---------------------------------------- (0) Obligation: Clauses: goal(X) :- ','(s2t(X, T), tree(T)). tree(nil) :- !. tree(X) :- ','(left(T, L), ','(right(T, R), ','(tree(L), tree(R)))). s2t(0, L) :- ','(!, eq(L, nil)). s2t(X, node(T, X1, T)) :- ','(p(X, P), s2t(P, T)). s2t(X, node(nil, X2, T)) :- ','(p(X, P), s2t(P, T)). s2t(X, node(T, X3, nil)) :- ','(p(X, P), s2t(P, T)). s2t(X, node(nil, X4, nil)). left(nil, nil). left(node(L, X5, X6), L). right(nil, nil). right(node(X7, X8, R), R). p(0, 0). p(s(X), X). eq(X, X). Query: goal(g) ---------------------------------------- (1) PrologToDTProblemTransformerProof (SOUND) Built DT problem from termination graph DT10. { "root": 3, "program": { "directives": [], "clauses": [ [ "(goal X)", "(',' (s2t X T) (tree T))" ], [ "(tree (nil))", "(!)" ], [ "(tree X)", "(',' (left T L) (',' (right T R) (',' (tree L) (tree R))))" ], [ "(s2t (0) L)", "(',' (!) (eq L (nil)))" ], [ "(s2t X (node T X1 T))", "(',' (p X P) (s2t P T))" ], [ "(s2t X (node (nil) X2 T))", "(',' (p X P) (s2t P T))" ], [ "(s2t X (node T X3 (nil)))", "(',' (p X P) (s2t P T))" ], [ "(s2t X (node (nil) X4 (nil)))", null ], [ "(left (nil) (nil))", null ], [ "(left (node L X5 X6) L)", null ], [ "(right (nil) (nil))", null ], [ "(right (node X7 X8 R) R)", null ], [ "(p (0) (0))", null ], [ "(p (s X) X)", null ], [ "(eq X X)", null ] ] }, "graph": { "nodes": { "907": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (tree (nil)) (tree (nil)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "908": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "909": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (right (node X325 X326 X327) X305) (',' (tree X325) (tree X305)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X305", "X325", "X326", "X327" ], "exprvars": [] } }, "type": "Nodes", "910": { "goal": [ { "clause": 10, "scope": 20, "term": "(',' (right (node X325 X326 X327) X305) (',' (tree X325) (tree X305)))" }, { "clause": 11, "scope": 20, "term": "(',' (right (node X325 X326 X327) X305) (',' (tree X325) (tree X305)))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X305", "X325", "X326", "X327" ], "exprvars": [] } }, "911": { "goal": [{ "clause": 11, "scope": 20, "term": "(',' (right (node X325 X326 X327) X305) (',' (tree X325) (tree X305)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X305", "X325", "X326", "X327" ], "exprvars": [] } }, "912": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (tree X343) (tree X345))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X343", "X345" ], "exprvars": [] } }, "913": { "goal": [{ "clause": 6, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" }], "kb": { "nonunifying": [[ "(s2t T3 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T3"], "free": [ "X11", "X16" ], "exprvars": [] } }, "914": { "goal": [{ "clause": 7, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" }], "kb": { "nonunifying": [[ "(s2t T3 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T3"], "free": [ "X11", "X16" ], "exprvars": [] } }, "915": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (',' (p T60 X375) (s2t X375 X376)) (tree (node X376 X377 (nil))))" }], "kb": { "nonunifying": [[ "(s2t T60 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T60"], "free": [ "X11", "X16", "X376", "X377", "X375" ], "exprvars": [] } }, "916": { "goal": [ { "clause": 12, "scope": 21, "term": "(',' (',' (p T60 X375) (s2t X375 X376)) (tree (node X376 X377 (nil))))" }, { "clause": 13, "scope": 21, "term": "(',' (',' (p T60 X375) (s2t X375 X376)) (tree (node X376 X377 (nil))))" } ], "kb": { "nonunifying": [[ "(s2t T60 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T60"], "free": [ "X11", "X16", "X376", "X377", "X375" ], "exprvars": [] } }, "10": { "goal": [{ "clause": 0, "scope": 1, "term": "(goal T1)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "917": { "goal": [{ "clause": 13, "scope": 21, "term": "(',' (',' (p T60 X375) (s2t X375 X376)) (tree (node X376 X377 (nil))))" }], "kb": { "nonunifying": [[ "(s2t T60 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T60"], "free": [ "X11", "X16", "X376", "X377", "X375" ], "exprvars": [] } }, "11": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (s2t T3 X11) (tree X11))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T3"], "free": ["X11"], "exprvars": [] } }, "918": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (s2t T63 X376) (tree (node X376 X377 (nil))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T63"], "free": [ "X376", "X377" ], "exprvars": [] } }, "12": { "goal": [ { "clause": 3, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" }, { "clause": 4, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" }, { "clause": 5, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" }, { "clause": 6, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" }, { "clause": 7, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T3"], "free": ["X11"], "exprvars": [] } }, "919": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "121": { "goal": [ { "clause": 3, "scope": 6, "term": "(s2t T11 X54)" }, { "clause": 4, "scope": 6, "term": "(s2t T11 X54)" }, { "clause": 5, "scope": 6, "term": "(s2t T11 X54)" }, { "clause": 6, "scope": 6, "term": "(s2t T11 X54)" }, { "clause": 7, "scope": 6, "term": "(s2t T11 X54)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T11"], "free": ["X54"], "exprvars": [] } }, "122": { "goal": [ { "clause": -1, "scope": -1, "term": "(',' (!_6) (eq X70 (nil)))" }, { "clause": 4, "scope": 6, "term": "(s2t (0) X54)" }, { "clause": 5, "scope": 6, "term": "(s2t (0) X54)" }, { "clause": 6, "scope": 6, "term": "(s2t (0) X54)" }, { "clause": 7, "scope": 6, "term": "(s2t (0) X54)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X54", "X70" ], "exprvars": [] } }, "123": { "goal": [ { "clause": 4, "scope": 6, "term": "(s2t T11 X54)" }, { "clause": 5, "scope": 6, "term": "(s2t T11 X54)" }, { "clause": 6, "scope": 6, "term": "(s2t T11 X54)" }, { "clause": 7, "scope": 6, "term": "(s2t T11 X54)" } ], "kb": { "nonunifying": [[ "(s2t T11 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T11"], "free": [ "X54", "X69" ], "exprvars": [] } }, "882": { "goal": [{ "clause": -1, "scope": -1, "term": "(tree X251)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X251"], "exprvars": [] } }, "3": { "goal": [{ "clause": -1, "scope": -1, "term": "(goal T1)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "124": { "goal": [{ "clause": -1, "scope": -1, "term": "(eq X70 (nil))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X70"], "exprvars": [] } }, "762": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "883": { "goal": [{ "clause": -1, "scope": -1, "term": "(tree X253)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X253"], "exprvars": [] } }, "125": { "goal": [{ "clause": 14, "scope": 7, "term": "(eq X70 (nil))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X70"], "exprvars": [] } }, "884": { "goal": [ { "clause": 1, "scope": 15, "term": "(tree X253)" }, { "clause": 2, "scope": 15, "term": "(tree X253)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X253"], "exprvars": [] } }, "126": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "764": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "885": { "goal": [ { "clause": -1, "scope": -1, "term": "(!_15)" }, { "clause": 2, "scope": 15, "term": "(tree X253)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X253"], "exprvars": [] } }, "127": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "886": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "887": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "920": { "goal": [{ "clause": -1, "scope": -1, "term": "(s2t T63 X376)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T63"], "free": ["X376"], "exprvars": [] } }, "888": { "goal": [{ "clause": 5, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" }], "kb": { "nonunifying": [[ "(s2t T3 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T3"], "free": [ "X11", "X16" ], "exprvars": [] } }, "921": { "goal": [{ "clause": -1, "scope": -1, "term": "(tree (node T64 X377 (nil)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X377"], "exprvars": [] } }, "647": { "goal": [{ "clause": 4, "scope": 6, "term": "(s2t T11 X54)" }], "kb": { "nonunifying": [[ "(s2t T11 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T11"], "free": [ "X54", "X69" ], "exprvars": [] } }, "889": { "goal": [ { "clause": 6, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" }, { "clause": 7, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" } ], "kb": { "nonunifying": [[ "(s2t T3 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T3"], "free": [ "X11", "X16" ], "exprvars": [] } }, "922": { "goal": [ { "clause": 1, "scope": 22, "term": "(tree (node T64 X377 (nil)))" }, { "clause": 2, "scope": 22, "term": "(tree (node T64 X377 (nil)))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X377"], "exprvars": [] } }, "648": { "goal": [ { "clause": 5, "scope": 6, "term": "(s2t T11 X54)" }, { "clause": 6, "scope": 6, "term": "(s2t T11 X54)" }, { "clause": 7, "scope": 6, "term": "(s2t T11 X54)" } ], "kb": { "nonunifying": [[ "(s2t T11 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T11"], "free": [ "X54", "X69" ], "exprvars": [] } }, "923": { "goal": [{ "clause": 2, "scope": 22, "term": "(tree (node T64 X377 (nil)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X377"], "exprvars": [] } }, "649": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (p T17 X106) (s2t X106 X107))" }], "kb": { "nonunifying": [[ "(s2t T17 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T17"], "free": [ "X54", "X69", "X107", "X106" ], "exprvars": [] } }, "927": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (left X395 X396) (',' (right X395 X397) (',' (tree X396) (tree X397))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X395", "X396", "X397" ], "exprvars": [] } }, "928": { "goal": [ { "clause": 8, "scope": 23, "term": "(',' (left X395 X396) (',' (right X395 X397) (',' (tree X396) (tree X397))))" }, { "clause": 9, "scope": 23, "term": "(',' (left X395 X396) (',' (right X395 X397) (',' (tree X396) (tree X397))))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X395", "X396", "X397" ], "exprvars": [] } }, "929": { "goal": [{ "clause": 8, "scope": 23, "term": "(',' (left X395 X396) (',' (right X395 X397) (',' (tree X396) (tree X397))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X395", "X396", "X397" ], "exprvars": [] } }, "24": { "goal": [ { "clause": -1, "scope": -1, "term": "(',' (',' (!_2) (eq X17 (nil))) (tree X17))" }, { "clause": 4, "scope": 2, "term": "(',' (s2t (0) X11) (tree X11))" }, { "clause": 5, "scope": 2, "term": "(',' (s2t (0) X11) (tree X11))" }, { "clause": 6, "scope": 2, "term": "(',' (s2t (0) X11) (tree X11))" }, { "clause": 7, "scope": 2, "term": "(',' (s2t (0) X11) (tree X11))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X11", "X17" ], "exprvars": [] } }, "25": { "goal": [ { "clause": 4, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" }, { "clause": 5, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" }, { "clause": 6, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" }, { "clause": 7, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" } ], "kb": { "nonunifying": [[ "(s2t T3 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T3"], "free": [ "X11", "X16" ], "exprvars": [] } }, "28": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (eq X17 (nil)) (tree X17))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X17"], "exprvars": [] } }, "29": { "goal": [{ "clause": 14, "scope": 3, "term": "(',' (eq X17 (nil)) (tree X17))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X17"], "exprvars": [] } }, "890": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (',' (p T48 X283) (s2t X283 X285)) (tree (node (nil) X284 X285)))" }], "kb": { "nonunifying": [[ "(s2t T48 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T48"], "free": [ "X11", "X16", "X284", "X285", "X283" ], "exprvars": [] } }, "891": { "goal": [ { "clause": 12, "scope": 16, "term": "(',' (',' (p T48 X283) (s2t X283 X285)) (tree (node (nil) X284 X285)))" }, { "clause": 13, "scope": 16, "term": "(',' (',' (p T48 X283) (s2t X283 X285)) (tree (node (nil) X284 X285)))" } ], "kb": { "nonunifying": [[ "(s2t T48 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T48"], "free": [ "X11", "X16", "X284", "X285", "X283" ], "exprvars": [] } }, "650": { "goal": [ { "clause": 12, "scope": 8, "term": "(',' (p T17 X106) (s2t X106 X107))" }, { "clause": 13, "scope": 8, "term": "(',' (p T17 X106) (s2t X106 X107))" } ], "kb": { "nonunifying": [[ "(s2t T17 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T17"], "free": [ "X54", "X69", "X107", "X106" ], "exprvars": [] } }, "892": { "goal": [{ "clause": 13, "scope": 16, "term": "(',' (',' (p T48 X283) (s2t X283 X285)) (tree (node (nil) X284 X285)))" }], "kb": { "nonunifying": [[ "(s2t T48 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T48"], "free": [ "X11", "X16", "X284", "X285", "X283" ], "exprvars": [] } }, "651": { "goal": [{ "clause": 13, "scope": 8, "term": "(',' (p T17 X106) (s2t X106 X107))" }], "kb": { "nonunifying": [[ "(s2t T17 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T17"], "free": [ "X54", "X69", "X107", "X106" ], "exprvars": [] } }, "893": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (s2t T51 X285) (tree (node (nil) X284 X285)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T51"], "free": [ "X284", "X285" ], "exprvars": [] } }, "652": { "goal": [{ "clause": -1, "scope": -1, "term": "(s2t T20 X107)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T20"], "free": ["X107"], "exprvars": [] } }, "773": { "goal": [ { "clause": 1, "scope": 11, "term": "(tree (node T12 X55 T12))" }, { "clause": 2, "scope": 11, "term": "(tree (node T12 X55 T12))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X55"], "exprvars": [] } }, "894": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "653": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "774": { "goal": [{ "clause": 2, "scope": 11, "term": "(tree (node T12 X55 T12))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X55"], "exprvars": [] } }, "895": { "goal": [{ "clause": -1, "scope": -1, "term": "(s2t T51 X285)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T51"], "free": ["X285"], "exprvars": [] } }, "654": { "goal": [{ "clause": 5, "scope": 6, "term": "(s2t T11 X54)" }], "kb": { "nonunifying": [[ "(s2t T11 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T11"], "free": [ "X54", "X69" ], "exprvars": [] } }, "775": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (left X211 X212) (',' (right X211 X213) (',' (tree X212) (tree X213))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X211", "X212", "X213" ], "exprvars": [] } }, "896": { "goal": [{ "clause": -1, "scope": -1, "term": "(tree (node (nil) X284 T52))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X284"], "exprvars": [] } }, "655": { "goal": [ { "clause": 6, "scope": 6, "term": "(s2t T11 X54)" }, { "clause": 7, "scope": 6, "term": "(s2t T11 X54)" } ], "kb": { "nonunifying": [[ "(s2t T11 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T11"], "free": [ "X54", "X69" ], "exprvars": [] } }, "776": { "goal": [ { "clause": 8, "scope": 12, "term": "(',' (left X211 X212) (',' (right X211 X213) (',' (tree X212) (tree X213))))" }, { "clause": 9, "scope": 12, "term": "(',' (left X211 X212) (',' (right X211 X213) (',' (tree X212) (tree X213))))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X211", "X212", "X213" ], "exprvars": [] } }, "897": { "goal": [ { "clause": 1, "scope": 17, "term": "(tree (node (nil) X284 T52))" }, { "clause": 2, "scope": 17, "term": "(tree (node (nil) X284 T52))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X284"], "exprvars": [] } }, "930": { "goal": [{ "clause": 9, "scope": 23, "term": "(',' (left X395 X396) (',' (right X395 X397) (',' (tree X396) (tree X397))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X395", "X396", "X397" ], "exprvars": [] } }, "656": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (p T25 X145) (s2t X145 X147))" }], "kb": { "nonunifying": [[ "(s2t T25 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T25"], "free": [ "X54", "X69", "X147", "X145" ], "exprvars": [] } }, "777": { "goal": [{ "clause": 8, "scope": 12, "term": "(',' (left X211 X212) (',' (right X211 X213) (',' (tree X212) (tree X213))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X211", "X212", "X213" ], "exprvars": [] } }, "898": { "goal": [{ "clause": 2, "scope": 17, "term": "(tree (node (nil) X284 T52))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X284"], "exprvars": [] } }, "931": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (right (nil) X397) (',' (tree (nil)) (tree X397)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X397"], "exprvars": [] } }, "657": { "goal": [ { "clause": 12, "scope": 9, "term": "(',' (p T25 X145) (s2t X145 X147))" }, { "clause": 13, "scope": 9, "term": "(',' (p T25 X145) (s2t X145 X147))" } ], "kb": { "nonunifying": [[ "(s2t T25 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T25"], "free": [ "X54", "X69", "X147", "X145" ], "exprvars": [] } }, "778": { "goal": [{ "clause": 9, "scope": 12, "term": "(',' (left X211 X212) (',' (right X211 X213) (',' (tree X212) (tree X213))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X211", "X212", "X213" ], "exprvars": [] } }, "899": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (left X303 X304) (',' (right X303 X305) (',' (tree X304) (tree X305))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X303", "X304", "X305" ], "exprvars": [] } }, "932": { "goal": [ { "clause": 10, "scope": 24, "term": "(',' (right (nil) X397) (',' (tree (nil)) (tree X397)))" }, { "clause": 11, "scope": 24, "term": "(',' (right (nil) X397) (',' (tree (nil)) (tree X397)))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X397"], "exprvars": [] } }, "658": { "goal": [{ "clause": 13, "scope": 9, "term": "(',' (p T25 X145) (s2t X145 X147))" }], "kb": { "nonunifying": [[ "(s2t T25 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T25"], "free": [ "X54", "X69", "X147", "X145" ], "exprvars": [] } }, "779": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (right (nil) X213) (',' (tree (nil)) (tree X213)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X213"], "exprvars": [] } }, "933": { "goal": [{ "clause": 10, "scope": 24, "term": "(',' (right (nil) X397) (',' (tree (nil)) (tree X397)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X397"], "exprvars": [] } }, "659": { "goal": [{ "clause": -1, "scope": -1, "term": "(s2t T28 X147)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T28"], "free": ["X147"], "exprvars": [] } }, "934": { "goal": [{ "clause": 11, "scope": 24, "term": "(',' (right (nil) X397) (',' (tree (nil)) (tree X397)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X397"], "exprvars": [] } }, "935": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (tree (nil)) (tree (nil)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "936": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "937": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (right (node X417 X418 X419) X397) (',' (tree X417) (tree X397)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X397", "X417", "X418", "X419" ], "exprvars": [] } }, "31": { "goal": [{ "clause": -1, "scope": -1, "term": "(tree (nil))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "938": { "goal": [ { "clause": 10, "scope": 25, "term": "(',' (right (node X417 X418 X419) X397) (',' (tree X417) (tree X397)))" }, { "clause": 11, "scope": 25, "term": "(',' (right (node X417 X418 X419) X397) (',' (tree X417) (tree X397)))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X397", "X417", "X418", "X419" ], "exprvars": [] } }, "939": { "goal": [{ "clause": 11, "scope": 25, "term": "(',' (right (node X417 X418 X419) X397) (',' (tree X417) (tree X397)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X397", "X417", "X418", "X419" ], "exprvars": [] } }, "33": { "goal": [ { "clause": 1, "scope": 4, "term": "(tree (nil))" }, { "clause": 2, "scope": 4, "term": "(tree (nil))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "35": { "goal": [ { "clause": -1, "scope": -1, "term": "(!_4)" }, { "clause": 2, "scope": 4, "term": "(tree (nil))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "37": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "38": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "780": { "goal": [ { "clause": 10, "scope": 13, "term": "(',' (right (nil) X213) (',' (tree (nil)) (tree X213)))" }, { "clause": 11, "scope": 13, "term": "(',' (right (nil) X213) (',' (tree (nil)) (tree X213)))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X213"], "exprvars": [] } }, "660": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "781": { "goal": [{ "clause": 10, "scope": 13, "term": "(',' (right (nil) X213) (',' (tree (nil)) (tree X213)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X213"], "exprvars": [] } }, "782": { "goal": [{ "clause": 11, "scope": 13, "term": "(',' (right (nil) X213) (',' (tree (nil)) (tree X213)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X213"], "exprvars": [] } }, "783": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (tree (nil)) (tree (nil)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "784": { "goal": [{ "clause": -1, "scope": -1, "term": "(tree (nil))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "785": { "goal": [{ "clause": -1, "scope": -1, "term": "(tree (nil))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "786": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "940": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (tree X435) (tree X437))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X435", "X437" ], "exprvars": [] } }, "666": { "goal": [{ "clause": 6, "scope": 6, "term": "(s2t T11 X54)" }], "kb": { "nonunifying": [[ "(s2t T11 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T11"], "free": [ "X54", "X69" ], "exprvars": [] } }, "941": { "goal": [{ "clause": -1, "scope": -1, "term": "(tree (node (nil) X446 (nil)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X446"], "exprvars": [] } }, "667": { "goal": [{ "clause": 7, "scope": 6, "term": "(s2t T11 X54)" }], "kb": { "nonunifying": [[ "(s2t T11 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T11"], "free": [ "X54", "X69" ], "exprvars": [] } }, "42": { "goal": [{ "clause": 4, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" }], "kb": { "nonunifying": [[ "(s2t T3 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T3"], "free": [ "X11", "X16" ], "exprvars": [] } }, "43": { "goal": [ { "clause": 5, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" }, { "clause": 6, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" }, { "clause": 7, "scope": 2, "term": "(',' (s2t T3 X11) (tree X11))" } ], "kb": { "nonunifying": [[ "(s2t T3 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T3"], "free": [ "X11", "X16" ], "exprvars": [] } }, "48": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (',' (p T8 X53) (s2t X53 X54)) (tree (node X54 X55 X54)))" }], "kb": { "nonunifying": [[ "(s2t T8 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T8"], "free": [ "X11", "X16", "X54", "X55", "X53" ], "exprvars": [] } }, "671": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (p T33 X184) (s2t X184 X185))" }], "kb": { "nonunifying": [[ "(s2t T33 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T33"], "free": [ "X54", "X69", "X185", "X184" ], "exprvars": [] } }, "50": { "goal": [ { "clause": 12, "scope": 5, "term": "(',' (',' (p T8 X53) (s2t X53 X54)) (tree (node X54 X55 X54)))" }, { "clause": 13, "scope": 5, "term": "(',' (',' (p T8 X53) (s2t X53 X54)) (tree (node X54 X55 X54)))" } ], "kb": { "nonunifying": [[ "(s2t T8 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T8"], "free": [ "X11", "X16", "X54", "X55", "X53" ], "exprvars": [] } }, "51": { "goal": [{ "clause": 13, "scope": 5, "term": "(',' (',' (p T8 X53) (s2t X53 X54)) (tree (node X54 X55 X54)))" }], "kb": { "nonunifying": [[ "(s2t T8 X11)", "(s2t (0) X16)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T8"], "free": [ "X11", "X16", "X54", "X55", "X53" ], "exprvars": [] } }, "53": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (s2t T11 X54) (tree (node X54 X55 X54)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T11"], "free": [ "X54", "X55" ], "exprvars": [] } }, "55": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "683": { "goal": [ { "clause": 12, "scope": 10, "term": "(',' (p T33 X184) (s2t X184 X185))" }, { "clause": 13, "scope": 10, "term": "(',' (p T33 X184) (s2t X184 X185))" } ], "kb": { "nonunifying": [[ "(s2t T33 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T33"], "free": [ "X54", "X69", "X185", "X184" ], "exprvars": [] } }, "684": { "goal": [{ "clause": 13, "scope": 10, "term": "(',' (p T33 X184) (s2t X184 X185))" }], "kb": { "nonunifying": [[ "(s2t T33 X54)", "(s2t (0) X69)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T33"], "free": [ "X54", "X69", "X185", "X184" ], "exprvars": [] } }, "685": { "goal": [{ "clause": -1, "scope": -1, "term": "(s2t T36 X185)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T36"], "free": ["X185"], "exprvars": [] } }, "686": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "844": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (right (node X233 X234 X235) X213) (',' (tree X233) (tree X213)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X213", "X233", "X234", "X235" ], "exprvars": [] } }, "845": { "goal": [ { "clause": 10, "scope": 14, "term": "(',' (right (node X233 X234 X235) X213) (',' (tree X233) (tree X213)))" }, { "clause": 11, "scope": 14, "term": "(',' (right (node X233 X234 X235) X213) (',' (tree X233) (tree X213)))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X213", "X233", "X234", "X235" ], "exprvars": [] } }, "846": { "goal": [{ "clause": 11, "scope": 14, "term": "(',' (right (node X233 X234 X235) X213) (',' (tree X233) (tree X213)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X213", "X233", "X234", "X235" ], "exprvars": [] } }, "847": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (tree X251) (tree X253))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X251", "X253" ], "exprvars": [] } }, "101": { "goal": [{ "clause": -1, "scope": -1, "term": "(s2t T11 X54)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T11"], "free": ["X54"], "exprvars": [] } }, "102": { "goal": [{ "clause": -1, "scope": -1, "term": "(tree (node T12 X55 T12))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X55"], "exprvars": [] } }, "900": { "goal": [ { "clause": 8, "scope": 18, "term": "(',' (left X303 X304) (',' (right X303 X305) (',' (tree X304) (tree X305))))" }, { "clause": 9, "scope": 18, "term": "(',' (left X303 X304) (',' (right X303 X305) (',' (tree X304) (tree X305))))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X303", "X304", "X305" ], "exprvars": [] } }, "901": { "goal": [{ "clause": 8, "scope": 18, "term": "(',' (left X303 X304) (',' (right X303 X305) (',' (tree X304) (tree X305))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X303", "X304", "X305" ], "exprvars": [] } }, "902": { "goal": [{ "clause": 9, "scope": 18, "term": "(',' (left X303 X304) (',' (right X303 X305) (',' (tree X304) (tree X305))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [ "X303", "X304", "X305" ], "exprvars": [] } }, "903": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (right (nil) X305) (',' (tree (nil)) (tree X305)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X305"], "exprvars": [] } }, "904": { "goal": [ { "clause": 10, "scope": 19, "term": "(',' (right (nil) X305) (',' (tree (nil)) (tree X305)))" }, { "clause": 11, "scope": 19, "term": "(',' (right (nil) X305) (',' (tree (nil)) (tree X305)))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X305"], "exprvars": [] } }, "905": { "goal": [{ "clause": 10, "scope": 19, "term": "(',' (right (nil) X305) (',' (tree (nil)) (tree X305)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X305"], "exprvars": [] } }, "906": { "goal": [{ "clause": 11, "scope": 19, "term": "(',' (right (nil) X305) (',' (tree (nil)) (tree X305)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X305"], "exprvars": [] } } }, "edges": [ { "from": 3, "to": 10, "label": "CASE" }, { "from": 10, "to": 11, "label": "ONLY EVAL with clause\ngoal(X10) :- ','(s2t(X10, X11), tree(X11)).\nand substitutionT1 -> T3,\nX10 -> T3" }, { "from": 11, "to": 12, "label": "CASE" }, { "from": 12, "to": 24, "label": "EVAL with clause\ns2t(0, X16) :- ','(!_2, eq(X16, nil)).\nand substitutionT3 -> 0,\nX11 -> X17,\nX16 -> X17" }, { "from": 12, "to": 25, "label": "EVAL-BACKTRACK" }, { "from": 24, "to": 28, "label": "CUT" }, { "from": 25, "to": 42, "label": "PARALLEL" }, { "from": 25, "to": 43, "label": "PARALLEL" }, { "from": 28, "to": 29, "label": "CASE" }, { "from": 29, "to": 31, "label": "ONLY EVAL with clause\neq(X22, X22).\nand substitutionX17 -> nil,\nX22 -> nil,\nX23 -> nil" }, { "from": 31, "to": 33, "label": "CASE" }, { "from": 33, "to": 35, "label": "ONLY EVAL with clause\ntree(nil) :- !_4.\nand substitution" }, { "from": 35, "to": 37, "label": "CUT" }, { "from": 37, "to": 38, "label": "SUCCESS" }, { "from": 42, "to": 48, "label": "ONLY EVAL with clause\ns2t(X50, node(X51, X52, X51)) :- ','(p(X50, X53), s2t(X53, X51)).\nand substitutionT3 -> T8,\nX50 -> T8,\nX51 -> X54,\nX52 -> X55,\nX11 -> node(X54, X55, X54)" }, { "from": 43, "to": 888, "label": "PARALLEL" }, { "from": 43, "to": 889, "label": "PARALLEL" }, { "from": 48, "to": 50, "label": "CASE" }, { "from": 50, "to": 51, "label": "BACKTRACK\nfor clause: p(0, 0)\nwith clash: (s2t(T8, X11), s2t(0, X16))" }, { "from": 51, "to": 53, "label": "EVAL with clause\np(s(X60), X60).\nand substitutionX60 -> T11,\nT8 -> s(T11),\nX53 -> T11" }, { "from": 51, "to": 55, "label": "EVAL-BACKTRACK" }, { "from": 53, "to": 101, "label": "SPLIT 1" }, { "from": 53, "to": 102, "label": "SPLIT 2\nnew knowledge:\nT11 is ground\nreplacements:X54 -> T12" }, { "from": 101, "to": 121, "label": "CASE" }, { "from": 102, "to": 773, "label": "CASE" }, { "from": 121, "to": 122, "label": "EVAL with clause\ns2t(0, X69) :- ','(!_6, eq(X69, nil)).\nand substitutionT11 -> 0,\nX54 -> X70,\nX69 -> X70" }, { "from": 121, "to": 123, "label": "EVAL-BACKTRACK" }, { "from": 122, "to": 124, "label": "CUT" }, { "from": 123, "to": 647, "label": "PARALLEL" }, { "from": 123, "to": 648, "label": "PARALLEL" }, { "from": 124, "to": 125, "label": "CASE" }, { "from": 125, "to": 126, "label": "ONLY EVAL with clause\neq(X75, X75).\nand substitutionX70 -> nil,\nX75 -> nil,\nX76 -> nil" }, { "from": 126, "to": 127, "label": "SUCCESS" }, { "from": 647, "to": 649, "label": "ONLY EVAL with clause\ns2t(X103, node(X104, X105, X104)) :- ','(p(X103, X106), s2t(X106, X104)).\nand substitutionT11 -> T17,\nX103 -> T17,\nX104 -> X107,\nX105 -> X108,\nX54 -> node(X107, X108, X107)" }, { "from": 648, "to": 654, "label": "PARALLEL" }, { "from": 648, "to": 655, "label": "PARALLEL" }, { "from": 649, "to": 650, "label": "CASE" }, { "from": 650, "to": 651, "label": "BACKTRACK\nfor clause: p(0, 0)\nwith clash: (s2t(T17, X54), s2t(0, X69))" }, { "from": 651, "to": 652, "label": "EVAL with clause\np(s(X113), X113).\nand substitutionX113 -> T20,\nT17 -> s(T20),\nX106 -> T20" }, { "from": 651, "to": 653, "label": "EVAL-BACKTRACK" }, { "from": 652, "to": 101, "label": "INSTANCE with matching:\nT11 -> T20\nX54 -> X107" }, { "from": 654, "to": 656, "label": "ONLY EVAL with clause\ns2t(X142, node(nil, X143, X144)) :- ','(p(X142, X145), s2t(X145, X144)).\nand substitutionT11 -> T25,\nX142 -> T25,\nX143 -> X146,\nX144 -> X147,\nX54 -> node(nil, X146, X147)" }, { "from": 655, "to": 666, "label": "PARALLEL" }, { "from": 655, "to": 667, "label": "PARALLEL" }, { "from": 656, "to": 657, "label": "CASE" }, { "from": 657, "to": 658, "label": "BACKTRACK\nfor clause: p(0, 0)\nwith clash: (s2t(T25, X54), s2t(0, X69))" }, { "from": 658, "to": 659, "label": "EVAL with clause\np(s(X152), X152).\nand substitutionX152 -> T28,\nT25 -> s(T28),\nX145 -> T28" }, { "from": 658, "to": 660, "label": "EVAL-BACKTRACK" }, { "from": 659, "to": 101, "label": "INSTANCE with matching:\nT11 -> T28\nX54 -> X147" }, { "from": 666, "to": 671, "label": "ONLY EVAL with clause\ns2t(X181, node(X182, X183, nil)) :- ','(p(X181, X184), s2t(X184, X182)).\nand substitutionT11 -> T33,\nX181 -> T33,\nX182 -> X185,\nX183 -> X186,\nX54 -> node(X185, X186, nil)" }, { "from": 667, "to": 762, "label": "ONLY EVAL with clause\ns2t(X200, node(nil, X201, nil)).\nand substitutionT11 -> T39,\nX200 -> T39,\nX201 -> X202,\nX54 -> node(nil, X202, nil)" }, { "from": 671, "to": 683, "label": "CASE" }, { "from": 683, "to": 684, "label": "BACKTRACK\nfor clause: p(0, 0)\nwith clash: (s2t(T33, X54), s2t(0, X69))" }, { "from": 684, "to": 685, "label": "EVAL with clause\np(s(X191), X191).\nand substitutionX191 -> T36,\nT33 -> s(T36),\nX184 -> T36" }, { "from": 684, "to": 686, "label": "EVAL-BACKTRACK" }, { "from": 685, "to": 101, "label": "INSTANCE with matching:\nT11 -> T36\nX54 -> X185" }, { "from": 762, "to": 764, "label": "SUCCESS" }, { "from": 773, "to": 774, "label": "BACKTRACK\nfor clause: tree(nil) :- !because of non-unification" }, { "from": 774, "to": 775, "label": "ONLY EVAL with clause\ntree(X210) :- ','(left(X211, X212), ','(right(X211, X213), ','(tree(X212), tree(X213)))).\nand substitutionT12 -> T42,\nX55 -> X214,\nX210 -> node(T42, X214, T42)" }, { "from": 775, "to": 776, "label": "CASE" }, { "from": 776, "to": 777, "label": "PARALLEL" }, { "from": 776, "to": 778, "label": "PARALLEL" }, { "from": 777, "to": 779, "label": "ONLY EVAL with clause\nleft(nil, nil).\nand substitutionX211 -> nil,\nX212 -> nil" }, { "from": 778, "to": 844, "label": "ONLY EVAL with clause\nleft(node(X230, X231, X232), X230).\nand substitutionX230 -> X233,\nX231 -> X234,\nX232 -> X235,\nX211 -> node(X233, X234, X235),\nX212 -> X233" }, { "from": 779, "to": 780, "label": "CASE" }, { "from": 780, "to": 781, "label": "PARALLEL" }, { "from": 780, "to": 782, "label": "PARALLEL" }, { "from": 781, "to": 783, "label": "ONLY EVAL with clause\nright(nil, nil).\nand substitutionX213 -> nil" }, { "from": 782, "to": 786, "label": "BACKTRACK\nfor clause: right(node(X7, X8, R), R)because of non-unification" }, { "from": 783, "to": 784, "label": "SPLIT 1" }, { "from": 783, "to": 785, "label": "SPLIT 2" }, { "from": 784, "to": 31, "label": "INSTANCE" }, { "from": 785, "to": 31, "label": "INSTANCE" }, { "from": 844, "to": 845, "label": "CASE" }, { "from": 845, "to": 846, "label": "BACKTRACK\nfor clause: right(nil, nil)because of non-unification" }, { "from": 846, "to": 847, "label": "ONLY EVAL with clause\nright(node(X248, X249, X250), X250).\nand substitutionX233 -> X251,\nX248 -> X251,\nX234 -> X252,\nX249 -> X252,\nX235 -> X253,\nX250 -> X253,\nX213 -> X253" }, { "from": 847, "to": 882, "label": "SPLIT 1" }, { "from": 847, "to": 883, "label": "SPLIT 2\nreplacements:X251 -> T43" }, { "from": 882, "to": 883, "label": "INSTANCE with matching:\nX253 -> X251" }, { "from": 883, "to": 884, "label": "CASE" }, { "from": 884, "to": 885, "label": "ONLY EVAL with clause\ntree(nil) :- !_15.\nand substitutionX253 -> nil" }, { "from": 885, "to": 886, "label": "CUT" }, { "from": 886, "to": 887, "label": "SUCCESS" }, { "from": 888, "to": 890, "label": "ONLY EVAL with clause\ns2t(X280, node(nil, X281, X282)) :- ','(p(X280, X283), s2t(X283, X282)).\nand substitutionT3 -> T48,\nX280 -> T48,\nX281 -> X284,\nX282 -> X285,\nX11 -> node(nil, X284, X285)" }, { "from": 889, "to": 913, "label": "PARALLEL" }, { "from": 889, "to": 914, "label": "PARALLEL" }, { "from": 890, "to": 891, "label": "CASE" }, { "from": 891, "to": 892, "label": "BACKTRACK\nfor clause: p(0, 0)\nwith clash: (s2t(T48, X11), s2t(0, X16))" }, { "from": 892, "to": 893, "label": "EVAL with clause\np(s(X290), X290).\nand substitutionX290 -> T51,\nT48 -> s(T51),\nX283 -> T51" }, { "from": 892, "to": 894, "label": "EVAL-BACKTRACK" }, { "from": 893, "to": 895, "label": "SPLIT 1" }, { "from": 893, "to": 896, "label": "SPLIT 2\nnew knowledge:\nT51 is ground\nreplacements:X285 -> T52" }, { "from": 895, "to": 101, "label": "INSTANCE with matching:\nT11 -> T51\nX54 -> X285" }, { "from": 896, "to": 897, "label": "CASE" }, { "from": 897, "to": 898, "label": "BACKTRACK\nfor clause: tree(nil) :- !because of non-unification" }, { "from": 898, "to": 899, "label": "ONLY EVAL with clause\ntree(X302) :- ','(left(X303, X304), ','(right(X303, X305), ','(tree(X304), tree(X305)))).\nand substitutionX284 -> X306,\nT52 -> T55,\nX302 -> node(nil, X306, T55)" }, { "from": 899, "to": 900, "label": "CASE" }, { "from": 900, "to": 901, "label": "PARALLEL" }, { "from": 900, "to": 902, "label": "PARALLEL" }, { "from": 901, "to": 903, "label": "ONLY EVAL with clause\nleft(nil, nil).\nand substitutionX303 -> nil,\nX304 -> nil" }, { "from": 902, "to": 909, "label": "ONLY EVAL with clause\nleft(node(X322, X323, X324), X322).\nand substitutionX322 -> X325,\nX323 -> X326,\nX324 -> X327,\nX303 -> node(X325, X326, X327),\nX304 -> X325" }, { "from": 903, "to": 904, "label": "CASE" }, { "from": 904, "to": 905, "label": "PARALLEL" }, { "from": 904, "to": 906, "label": "PARALLEL" }, { "from": 905, "to": 907, "label": "ONLY EVAL with clause\nright(nil, nil).\nand substitutionX305 -> nil" }, { "from": 906, "to": 908, "label": "BACKTRACK\nfor clause: right(node(X7, X8, R), R)because of non-unification" }, { "from": 907, "to": 783, "label": "INSTANCE" }, { "from": 909, "to": 910, "label": "CASE" }, { "from": 910, "to": 911, "label": "BACKTRACK\nfor clause: right(nil, nil)because of non-unification" }, { "from": 911, "to": 912, "label": "ONLY EVAL with clause\nright(node(X340, X341, X342), X342).\nand substitutionX325 -> X343,\nX340 -> X343,\nX326 -> X344,\nX341 -> X344,\nX327 -> X345,\nX342 -> X345,\nX305 -> X345" }, { "from": 912, "to": 847, "label": "INSTANCE with matching:\nX251 -> X343\nX253 -> X345" }, { "from": 913, "to": 915, "label": "ONLY EVAL with clause\ns2t(X372, node(X373, X374, nil)) :- ','(p(X372, X375), s2t(X375, X373)).\nand substitutionT3 -> T60,\nX372 -> T60,\nX373 -> X376,\nX374 -> X377,\nX11 -> node(X376, X377, nil)" }, { "from": 914, "to": 941, "label": "ONLY EVAL with clause\ns2t(X444, node(nil, X445, nil)).\nand substitutionT3 -> T70,\nX444 -> T70,\nX445 -> X446,\nX11 -> node(nil, X446, nil)" }, { "from": 915, "to": 916, "label": "CASE" }, { "from": 916, "to": 917, "label": "BACKTRACK\nfor clause: p(0, 0)\nwith clash: (s2t(T60, X11), s2t(0, X16))" }, { "from": 917, "to": 918, "label": "EVAL with clause\np(s(X382), X382).\nand substitutionX382 -> T63,\nT60 -> s(T63),\nX375 -> T63" }, { "from": 917, "to": 919, "label": "EVAL-BACKTRACK" }, { "from": 918, "to": 920, "label": "SPLIT 1" }, { "from": 918, "to": 921, "label": "SPLIT 2\nnew knowledge:\nT63 is ground\nreplacements:X376 -> T64" }, { "from": 920, "to": 101, "label": "INSTANCE with matching:\nT11 -> T63\nX54 -> X376" }, { "from": 921, "to": 922, "label": "CASE" }, { "from": 922, "to": 923, "label": "BACKTRACK\nfor clause: tree(nil) :- !because of non-unification" }, { "from": 923, "to": 927, "label": "ONLY EVAL with clause\ntree(X394) :- ','(left(X395, X396), ','(right(X395, X397), ','(tree(X396), tree(X397)))).\nand substitutionT64 -> T67,\nX377 -> X398,\nX394 -> node(T67, X398, nil)" }, { "from": 927, "to": 928, "label": "CASE" }, { "from": 928, "to": 929, "label": "PARALLEL" }, { "from": 928, "to": 930, "label": "PARALLEL" }, { "from": 929, "to": 931, "label": "ONLY EVAL with clause\nleft(nil, nil).\nand substitutionX395 -> nil,\nX396 -> nil" }, { "from": 930, "to": 937, "label": "ONLY EVAL with clause\nleft(node(X414, X415, X416), X414).\nand substitutionX414 -> X417,\nX415 -> X418,\nX416 -> X419,\nX395 -> node(X417, X418, X419),\nX396 -> X417" }, { "from": 931, "to": 932, "label": "CASE" }, { "from": 932, "to": 933, "label": "PARALLEL" }, { "from": 932, "to": 934, "label": "PARALLEL" }, { "from": 933, "to": 935, "label": "ONLY EVAL with clause\nright(nil, nil).\nand substitutionX397 -> nil" }, { "from": 934, "to": 936, "label": "BACKTRACK\nfor clause: right(node(X7, X8, R), R)because of non-unification" }, { "from": 935, "to": 783, "label": "INSTANCE" }, { "from": 937, "to": 938, "label": "CASE" }, { "from": 938, "to": 939, "label": "BACKTRACK\nfor clause: right(nil, nil)because of non-unification" }, { "from": 939, "to": 940, "label": "ONLY EVAL with clause\nright(node(X432, X433, X434), X434).\nand substitutionX417 -> X435,\nX432 -> X435,\nX418 -> X436,\nX433 -> X436,\nX419 -> X437,\nX434 -> X437,\nX397 -> X437" }, { "from": 940, "to": 847, "label": "INSTANCE with matching:\nX251 -> X435\nX253 -> X437" }, { "from": 941, "to": 102, "label": "INSTANCE with matching:\nT12 -> nil\nX55 -> X446" } ], "type": "Graph" } } ---------------------------------------- (2) Obligation: Triples: s2tA(s(X1), node(X2, X3, X2)) :- s2tA(X1, X2). s2tA(s(X1), node(nil, X2, X3)) :- s2tA(X1, X3). s2tA(s(X1), node(X2, X3, nil)) :- s2tA(X1, X2). pD :- treeB. pD :- ','(treecB, treeB). pE(X1, X2) :- treeC(X1). pE(X1, X2) :- ','(treecC(X1), treeC(X2)). treeF(X1, X2) :- pD. treeF(X1, X2) :- pE(X3, X4). goalG(0) :- treeB. goalG(s(X1)) :- s2tA(X1, X2). goalG(s(X1)) :- ','(s2tcA(X1, X2), treeF(X2, X3)). goalG(s(X1)) :- s2tA(X1, X2). goalG(s(X1)) :- ','(s2tcA(X1, X2), pD). goalG(s(X1)) :- ','(s2tcA(X1, X2), pE(X3, X4)). goalG(s(X1)) :- s2tA(X1, X2). goalG(s(X1)) :- ','(s2tcA(X1, X2), pD). goalG(s(X1)) :- ','(s2tcA(X1, X2), pE(X3, X4)). goalG(X1) :- treeF(nil, X2). Clauses: s2tcA(0, nil). s2tcA(s(X1), node(X2, X3, X2)) :- s2tcA(X1, X2). s2tcA(s(X1), node(nil, X2, X3)) :- s2tcA(X1, X3). s2tcA(s(X1), node(X2, X3, nil)) :- s2tcA(X1, X2). s2tcA(X1, node(nil, X2, nil)). treecB. treecC(nil). qcD :- ','(treecB, treecB). qcE(X1, X2) :- ','(treecC(X1), treecC(X2)). treecF(X1, X2) :- qcD. treecF(X1, X2) :- qcE(X3, X4). Afs: goalG(x1) = goalG(x1) ---------------------------------------- (3) UndefinedPredicateInTriplesTransformerProof (SOUND) Deleted triples and predicates having undefined goals [DT09]. ---------------------------------------- (4) Obligation: Triples: s2tA(s(X1), node(X2, X3, X2)) :- s2tA(X1, X2). s2tA(s(X1), node(nil, X2, X3)) :- s2tA(X1, X3). s2tA(s(X1), node(X2, X3, nil)) :- s2tA(X1, X2). goalG(s(X1)) :- s2tA(X1, X2). goalG(s(X1)) :- s2tA(X1, X2). goalG(s(X1)) :- s2tA(X1, X2). Clauses: s2tcA(0, nil). s2tcA(s(X1), node(X2, X3, X2)) :- s2tcA(X1, X2). s2tcA(s(X1), node(nil, X2, X3)) :- s2tcA(X1, X3). s2tcA(s(X1), node(X2, X3, nil)) :- s2tcA(X1, X2). s2tcA(X1, node(nil, X2, nil)). treecB. treecC(nil). qcD :- ','(treecB, treecB). qcE(X1, X2) :- ','(treecC(X1), treecC(X2)). treecF(X1, X2) :- qcD. treecF(X1, X2) :- qcE(X3, X4). Afs: goalG(x1) = goalG(x1) ---------------------------------------- (5) TriplesToPiDPProof (SOUND) We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: goalG_in_1: (b) s2tA_in_2: (b,f) Transforming TRIPLES into the following Term Rewriting System: Pi DP problem: The TRS P consists of the following rules: GOALG_IN_G(s(X1)) -> U4_G(X1, s2tA_in_ga(X1, X2)) GOALG_IN_G(s(X1)) -> S2TA_IN_GA(X1, X2) S2TA_IN_GA(s(X1), node(X2, X3, X2)) -> U1_GA(X1, X2, X3, s2tA_in_ga(X1, X2)) S2TA_IN_GA(s(X1), node(X2, X3, X2)) -> S2TA_IN_GA(X1, X2) S2TA_IN_GA(s(X1), node(nil, X2, X3)) -> U2_GA(X1, X2, X3, s2tA_in_ga(X1, X3)) S2TA_IN_GA(s(X1), node(nil, X2, X3)) -> S2TA_IN_GA(X1, X3) S2TA_IN_GA(s(X1), node(X2, X3, nil)) -> U3_GA(X1, X2, X3, s2tA_in_ga(X1, X2)) S2TA_IN_GA(s(X1), node(X2, X3, nil)) -> S2TA_IN_GA(X1, X2) R is empty. The argument filtering Pi contains the following mapping: s(x1) = s(x1) s2tA_in_ga(x1, x2) = s2tA_in_ga(x1) node(x1, x2, x3) = node(x1, x3) nil = nil GOALG_IN_G(x1) = GOALG_IN_G(x1) U4_G(x1, x2) = U4_G(x1, x2) S2TA_IN_GA(x1, x2) = S2TA_IN_GA(x1) U1_GA(x1, x2, x3, x4) = U1_GA(x1, x4) U2_GA(x1, x2, x3, x4) = U2_GA(x1, x4) U3_GA(x1, x2, x3, x4) = U3_GA(x1, x4) We have to consider all (P,R,Pi)-chains Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES ---------------------------------------- (6) Obligation: Pi DP problem: The TRS P consists of the following rules: GOALG_IN_G(s(X1)) -> U4_G(X1, s2tA_in_ga(X1, X2)) GOALG_IN_G(s(X1)) -> S2TA_IN_GA(X1, X2) S2TA_IN_GA(s(X1), node(X2, X3, X2)) -> U1_GA(X1, X2, X3, s2tA_in_ga(X1, X2)) S2TA_IN_GA(s(X1), node(X2, X3, X2)) -> S2TA_IN_GA(X1, X2) S2TA_IN_GA(s(X1), node(nil, X2, X3)) -> U2_GA(X1, X2, X3, s2tA_in_ga(X1, X3)) S2TA_IN_GA(s(X1), node(nil, X2, X3)) -> S2TA_IN_GA(X1, X3) S2TA_IN_GA(s(X1), node(X2, X3, nil)) -> U3_GA(X1, X2, X3, s2tA_in_ga(X1, X2)) S2TA_IN_GA(s(X1), node(X2, X3, nil)) -> S2TA_IN_GA(X1, X2) R is empty. The argument filtering Pi contains the following mapping: s(x1) = s(x1) s2tA_in_ga(x1, x2) = s2tA_in_ga(x1) node(x1, x2, x3) = node(x1, x3) nil = nil GOALG_IN_G(x1) = GOALG_IN_G(x1) U4_G(x1, x2) = U4_G(x1, x2) S2TA_IN_GA(x1, x2) = S2TA_IN_GA(x1) U1_GA(x1, x2, x3, x4) = U1_GA(x1, x4) U2_GA(x1, x2, x3, x4) = U2_GA(x1, x4) U3_GA(x1, x2, x3, x4) = U3_GA(x1, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (7) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 5 less nodes. ---------------------------------------- (8) Obligation: Pi DP problem: The TRS P consists of the following rules: S2TA_IN_GA(s(X1), node(nil, X2, X3)) -> S2TA_IN_GA(X1, X3) S2TA_IN_GA(s(X1), node(X2, X3, X2)) -> S2TA_IN_GA(X1, X2) S2TA_IN_GA(s(X1), node(X2, X3, nil)) -> S2TA_IN_GA(X1, X2) R is empty. The argument filtering Pi contains the following mapping: s(x1) = s(x1) node(x1, x2, x3) = node(x1, x3) nil = nil S2TA_IN_GA(x1, x2) = S2TA_IN_GA(x1) We have to consider all (P,R,Pi)-chains ---------------------------------------- (9) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (10) Obligation: Q DP problem: The TRS P consists of the following rules: S2TA_IN_GA(s(X1)) -> S2TA_IN_GA(X1) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (11) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *S2TA_IN_GA(s(X1)) -> S2TA_IN_GA(X1) The graph contains the following edges 1 > 1 ---------------------------------------- (12) YES