/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 test_fun(g,g) w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) PrologToDTProblemTransformerProof [SOUND, 53 ms] (2) TRIPLES (3) TPisEmptyProof [EQUIVALENT, 0 ms] (4) YES ---------------------------------------- (0) Obligation: Clauses: test_fun(X, Y) :- ','(>(X, 0), ','(>(Y, 0), loop(X, Y, 0))). loop(X, Y, C) :- ','(=\=(X, 0), loop_body(X, Y, C)). loop(X, Y, C) :- =:=(X, 0). loop_body(X, Y, C) :- ','(>(X, Y), ','(is(X1, Y), ','(is(C1, +(C, 1)), loop(X1, Y, C1)))). loop_body(X, Y, C) :- ','(=<(X, Y), ','(>(X, 0), ','(is(X1, -(X, 1)), ','(is(C1, +(C, 1)), loop(X1, Y, C1))))). Query: test_fun(g,g) ---------------------------------------- (1) PrologToDTProblemTransformerProof (SOUND) Built DT problem from termination graph DT10. { "root": 3, "program": { "directives": [], "clauses": [ [ "(test_fun X Y)", "(',' (> X (0)) (',' (> Y (0)) (loop X Y (0))))" ], [ "(loop X Y C)", "(',' (=\\= X (0)) (loop_body X Y C))" ], [ "(loop X Y C)", "(=:= X (0))" ], [ "(loop_body X Y C)", "(',' (> X Y) (',' (is X1 Y) (',' (is C1 (+ C (1))) (loop X1 Y C1))))" ], [ "(loop_body X Y C)", "(',' (=< X Y) (',' (> X (0)) (',' (is X1 (- X (1))) (',' (is C1 (+ C (1))) (loop X1 Y C1)))))" ] ] }, "graph": { "nodes": { "3387": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T5 T6 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T5", "T6" ], "free": [], "exprvars": [ "T5", "T6" ] } }, "3463": { "goal": [{ "clause": 4, "scope": 3, "term": "(loop_body T15 T16 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T16", "T15" ], "free": [], "exprvars": [ "T5", "T6", "T16", "T15" ] } }, "3462": { "goal": [{ "clause": 3, "scope": 3, "term": "(loop_body T15 T16 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T16", "T15" ], "free": [], "exprvars": [ "T5", "T6", "T16", "T15" ] } }, "3461": { "goal": [ { "clause": 3, "scope": 3, "term": "(loop_body T15 T16 (0))" }, { "clause": 4, "scope": 3, "term": "(loop_body T15 T16 (0))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T16", "T15" ], "free": [], "exprvars": [ "T5", "T6", "T16", "T15" ] } }, "type": "Nodes", "3460": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T16", "T15" ], "free": [], "exprvars": [ "T5", "T6", "T16", "T15" ] } }, "3481": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T39", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T39", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T40", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [], "free": [], "exprvars": [ "T5", "T6", "T40", "T39" ] } }, "3480": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T39", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T39", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T40", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": ["T39"], "free": [], "exprvars": [ "T5", "T6", "T40", "T39" ] } }, "3459": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop_body T15 T16 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T16", "T15" ], "free": [], "exprvars": [ "T5", "T6", "T16", "T15" ] } }, "3479": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T39", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T39", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T40", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": ["T39"], "free": [], "exprvars": [ "T5", "T6", "T40", "T39" ] } }, "1935": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "10": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "3398": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (=\\= T15 (0)) (loop_body T15 T16 (0)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T15", "T16" ], "free": [], "exprvars": [ "T5", "T6", "T16", "T15" ] } }, "3475": { "goal": [{ "clause": -1, "scope": -1, "term": "(=:= T39 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T39", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T40", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": ["T39"], "free": [], "exprvars": [ "T5", "T6", "T40", "T39" ] } }, "3397": { "goal": [{ "clause": 2, "scope": 2, "term": "(loop T5 T6 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T5", "T6" ], "free": [], "exprvars": [ "T5", "T6" ] } }, "3396": { "goal": [{ "clause": 1, "scope": 2, "term": "(loop T5 T6 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T5", "T6" ], "free": [], "exprvars": [ "T5", "T6" ] } }, "3472": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (=< T33 T34) (',' (> T33 (0)) (',' (is X58 (- T33 (1))) (',' (is X59 (+ (0) (1))) (loop X58 T34 X59)))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T5", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T6", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T5", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T6", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T33", "T34" ], "free": [ "X58", "X59" ], "exprvars": [ "T5", "T6", "T34", "T33", "T16", "T15" ] } }, "761": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T6 (0)) (loop T5 T6 (0)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }] }, "ground": [ "T5", "T6" ], "free": [], "exprvars": ["T5"] } }, "3": { "goal": [{ "clause": -1, "scope": -1, "term": "(test_fun T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "762": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": ">=" }] }, "ground": [ "T5", "T6" ], "free": [], "exprvars": ["T5"] } }, "5": { "goal": [{ "clause": 0, "scope": 1, "term": "(test_fun T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "3389": { "goal": [ { "clause": 1, "scope": 2, "term": "(loop T5 T6 (0))" }, { "clause": 2, "scope": 2, "term": "(loop T5 T6 (0))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T5", "T6" ], "free": [], "exprvars": [ "T5", "T6" ] } }, "3388": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T5", "T6" ], "free": [], "exprvars": [ "T5", "T6" ] } }, "3465": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T27 T28) (',' (is X45 T28) (',' (is X46 (+ (0) (1))) (loop X45 T28 X46))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T15", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T5", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T6", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T5", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T5", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T6", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T6", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T27", "T28" ], "free": [ "X45", "X46" ], "exprvars": [ "T5", "T6", "T28", "T16", "T27", "T15" ] } }, "9": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T5 (0)) (',' (> T6 (0)) (loop T5 T6 (0))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T5", "T6" ], "free": [], "exprvars": [] } } }, "edges": [ { "from": 3, "to": 5, "label": "CASE" }, { "from": 5, "to": 9, "label": "ONLY EVAL with clause\ntest_fun(X4, X5) :- ','(>(X4, 0), ','(>(X5, 0), loop(X4, X5, 0))).\nand substitutionT1 -> T5,\nX4 -> T5,\nT2 -> T6,\nX5 -> T6" }, { "from": 9, "to": 10, "label": "IS ERROR" }, { "from": 9, "to": 761, "label": "ARITHCOMP SUCCESS" }, { "from": 9, "to": 762, "label": "ARITHCOMP FAIL" }, { "from": 761, "to": 1935, "label": "IS ERROR" }, { "from": 761, "to": 3387, "label": "ARITHCOMP SUCCESS" }, { "from": 761, "to": 3388, "label": "ARITHCOMP FAIL" }, { "from": 3387, "to": 3389, "label": "CASE" }, { "from": 3389, "to": 3396, "label": "PARALLEL" }, { "from": 3389, "to": 3397, "label": "PARALLEL" }, { "from": 3396, "to": 3398, "label": "ONLY EVAL with clause\nloop(X18, X19, X20) :- ','(=\\=(X18, 0), loop_body(X18, X19, X20)).\nand substitutionT5 -> T15,\nX18 -> T15,\nT6 -> T16,\nX19 -> T16,\nX20 -> 0" }, { "from": 3397, "to": 3475, "label": "ONLY EVAL with clause\nloop(X66, X67, X68) :- =:=(X66, 0).\nand substitutionT5 -> T39,\nX66 -> T39,\nT6 -> T40,\nX67 -> T40,\nX68 -> 0" }, { "from": 3398, "to": 3459, "label": "ARITHCOMP SUCCESS" }, { "from": 3398, "to": 3460, "label": "ARITHCOMP FAIL" }, { "from": 3459, "to": 3461, "label": "CASE" }, { "from": 3461, "to": 3462, "label": "PARALLEL" }, { "from": 3461, "to": 3463, "label": "PARALLEL" }, { "from": 3462, "to": 3465, "label": "ONLY EVAL with clause\nloop_body(X42, X43, X44) :- ','(>(X42, X43), ','(is(X45, X43), ','(is(X46, +(X44, 1)), loop(X45, X43, X46)))).\nand substitutionT15 -> T27,\nX42 -> T27,\nT16 -> T28,\nX43 -> T28,\nX44 -> 0" }, { "from": 3463, "to": 3472, "label": "ONLY EVAL with clause\nloop_body(X55, X56, X57) :- ','(=<(X55, X56), ','(>(X55, 0), ','(is(X58, -(X55, 1)), ','(is(X59, +(X57, 1)), loop(X58, X56, X59))))).\nand substitutionT15 -> T33,\nX55 -> T33,\nT16 -> T34,\nX56 -> T34,\nX57 -> 0" }, { "from": 3475, "to": 3479, "label": "ARITHCOMP SUCCESS" }, { "from": 3475, "to": 3480, "label": "ARITHCOMP FAIL" }, { "from": 3479, "to": 3481, "label": "SUCCESS" } ], "type": "Graph" } } ---------------------------------------- (2) Obligation: Triples: Clauses: Afs: ---------------------------------------- (3) TPisEmptyProof (EQUIVALENT) There are no more dependency triples. Hence, the dependency triple problem trivially terminates. ---------------------------------------- (4) YES