/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 ackermann(g,g,a) w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) PrologToDTProblemTransformerProof [SOUND, 56 ms] (2) TRIPLES (3) TPisEmptyProof [EQUIVALENT, 0 ms] (4) YES ---------------------------------------- (0) Obligation: Clauses: ackermann(X, Y, Z) :- ','(=:=(X, 0), ','(>=(Y, 0), ','(!, is(Z, +(Y, 1))))). ackermann(X, Y, Z) :- ','(>(X, 0), ','(=:=(Y, 0), ','(!, ackermann(-(X, 1), 1, Z)))). ackermann(X, Y, Z) :- ','(>(X, 0), ','(>(Y, 0), ','(!, ','(ackermann(X, -(Y, 1), W), ackermann(-(X, 1), W, Z))))). Query: ackermann(g,g,a) ---------------------------------------- (1) PrologToDTProblemTransformerProof (SOUND) Built DT problem from termination graph DT10. { "root": 2, "program": { "directives": [], "clauses": [ [ "(ackermann X Y Z)", "(',' (=:= X (0)) (',' (>= Y (0)) (',' (!) (is Z (+ Y (1))))))" ], [ "(ackermann X Y Z)", "(',' (> X (0)) (',' (=:= Y (0)) (',' (!) (ackermann (- X (1)) (1) Z))))" ], [ "(ackermann X Y Z)", "(',' (> X (0)) (',' (> Y (0)) (',' (!) (',' (ackermann X (- Y (1)) W) (ackermann (- X (1)) W Z)))))" ] ] }, "graph": { "nodes": { "2099": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T8", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [], "free": [], "exprvars": [ "T7", "T11", "T8" ] } }, "2098": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": ["T8"], "free": [], "exprvars": [ "T7", "T8" ] } }, "490": { "goal": [ { "clause": -1, "scope": -1, "term": "(',' (>= T8 (0)) (',' (!_1) (is T10 (+ T8 (1)))))" }, { "clause": 1, "scope": 1, "term": "(ackermann T7 T8 T3)" }, { "clause": 2, "scope": 1, "term": "(ackermann T7 T8 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T7", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }] }, "ground": [ "T7", "T8" ], "free": [], "exprvars": ["T7"] } }, "2097": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T8", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T11", "T8" ], "free": [], "exprvars": [ "T7", "T11", "T8" ] } }, "type": "Nodes", "2096": { "goal": [{ "clause": -1, "scope": -1, "term": "(is T10 (+ T8 (1)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": ["T8"], "free": [], "exprvars": [ "T7", "T8" ] } }, "2095": { "goal": [ { "clause": 1, "scope": 1, "term": "(ackermann T7 T8 T3)" }, { "clause": 2, "scope": 1, "term": "(ackermann T7 T8 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" } ] }, "ground": [ "T7", "T8" ], "free": [], "exprvars": [ "T7", "T8" ] } }, "2271": { "goal": [{ "clause": 2, "scope": 1, "term": "(ackermann T15 T16 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "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": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T15", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T16", "T15" ], "free": [], "exprvars": [ "T7", "T8", "T16", "T15" ] } }, "2094": { "goal": [ { "clause": -1, "scope": -1, "term": "(',' (!_1) (is T10 (+ T8 (1))))" }, { "clause": 1, "scope": 1, "term": "(ackermann T7 T8 T3)" }, { "clause": 2, "scope": 1, "term": "(ackermann T7 T8 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T7", "T8" ], "free": [], "exprvars": [ "T7", "T8" ] } }, "2270": { "goal": [ { "clause": -1, "scope": -1, "term": "(',' (=:= T16 (0)) (',' (!_1) (ackermann (- T15 (1)) (1) T18)))" }, { "clause": 2, "scope": 1, "term": "(ackermann T15 T16 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "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": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T15", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T16", "T15" ], "free": [], "exprvars": [ "T7", "T8", "T16", "T15" ] } }, "494": { "goal": [ { "clause": 1, "scope": 1, "term": "(ackermann T7 T8 T3)" }, { "clause": 2, "scope": 1, "term": "(ackermann T7 T8 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T7", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "!=" }] }, "ground": [ "T7", "T8" ], "free": [], "exprvars": ["T7"] } }, "498": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "2424": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T37 (0)) (',' (> T38 (0)) (',' (!_1) (',' (ackermann T37 (- T38 (1)) X35) (ackermann (- T37 (1)) X35 T40)))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "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": { "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": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T15", "type": "PlainIntegerVariable" }, "operation": ">=" }, { "lhs": { "name": "T37", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T15", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T37", "T38" ], "free": ["X35"], "exprvars": [ "T7", "T8", "T16", "T38", "T15", "T37" ] } }, "10": { "goal": [ { "clause": 0, "scope": 1, "term": "(ackermann T1 T2 T3)" }, { "clause": 1, "scope": 1, "term": "(ackermann T1 T2 T3)" }, { "clause": 2, "scope": 1, "term": "(ackermann T1 T2 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "11": { "goal": [ { "clause": -1, "scope": -1, "term": "(',' (=:= T7 (0)) (',' (>= T8 (0)) (',' (!_1) (is T10 (+ T8 (1))))))" }, { "clause": 1, "scope": 1, "term": "(ackermann T7 T8 T3)" }, { "clause": 2, "scope": 1, "term": "(ackermann T7 T8 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T7", "T8" ], "free": [], "exprvars": [] } }, "12": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "2100": { "goal": [ { "clause": -1, "scope": -1, "term": "(',' (> T15 (0)) (',' (=:= T16 (0)) (',' (!_1) (ackermann (- T15 (1)) (1) T18))))" }, { "clause": 2, "scope": 1, "term": "(ackermann T15 T16 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "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": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" } ] }, "ground": [ "T15", "T16" ], "free": [], "exprvars": [ "T7", "T8", "T16", "T15" ] } }, "2441": { "goal": [ { "clause": -1, "scope": -1, "term": "(',' (> T44 (0)) (',' (=:= T45 (0)) (',' (!_1) (ackermann (- T44 (1)) (1) T47))))" }, { "clause": 2, "scope": 1, "term": "(ackermann T44 T45 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "!=" } ] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [ "T7", "T44" ] } }, "2281": { "goal": [ { "clause": -1, "scope": -1, "term": "(',' (=:= (- T24 (1)) (0)) (',' (>= (1) (0)) (',' (!_2) (is T26 (+ (1) (1))))))" }, { "clause": 1, "scope": 2, "term": "(ackermann (- T24 (1)) (1) T18)" }, { "clause": 2, "scope": 2, "term": "(ackermann (- T24 (1)) (1) T18)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "name": "T16", "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": { "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": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T15", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T15", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": ["T24"], "free": [], "exprvars": [ "T24", "T7", "T8", "T16", "T15" ] } }, "2280": { "goal": [ { "clause": 0, "scope": 2, "term": "(ackermann (- T15 (1)) (1) T18)" }, { "clause": 1, "scope": 2, "term": "(ackermann (- T15 (1)) (1) T18)" }, { "clause": 2, "scope": 2, "term": "(ackermann (- T15 (1)) (1) T18)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T15", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": ["T15"], "free": [], "exprvars": [ "T7", "T8", "T16", "T15" ] } }, "2": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "2358": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T30 (0)) (',' (> T31 (0)) (',' (!_1) (',' (ackermann T30 (- T31 (1)) X28) (ackermann (- T30 (1)) X28 T33)))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "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": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "name": "T16", "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": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T15", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T30", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T15", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T30", "T31" ], "free": ["X28"], "exprvars": [ "T31", "T30", "T7", "T8", "T16", "T15" ] } }, "2279": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (- T15 (1)) (1) T18)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T15", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": ["T15"], "free": [], "exprvars": [ "T7", "T8", "T16", "T15" ] } }, "2278": { "goal": [{ "clause": 2, "scope": 1, "term": "(ackermann T15 T16 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T15", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T16", "T15" ], "free": [], "exprvars": [ "T7", "T8", "T16", "T15" ] } }, "2277": { "goal": [ { "clause": -1, "scope": -1, "term": "(',' (!_1) (ackermann (- T15 (1)) (1) T18))" }, { "clause": 2, "scope": 1, "term": "(ackermann T15 T16 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T7", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T16", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T15", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T16", "T15" ], "free": [], "exprvars": [ "T7", "T8", "T16", "T15" ] } } }, "edges": [ { "from": 2, "to": 10, "label": "CASE" }, { "from": 10, "to": 11, "label": "ONLY EVAL with clause\nackermann(X4, X5, X6) :- ','(=:=(X4, 0), ','(>=(X5, 0), ','(!_1, is(X6, +(X5, 1))))).\nand substitutionT1 -> T7,\nX4 -> T7,\nT2 -> T8,\nX5 -> T8,\nT3 -> T10,\nX6 -> T10,\nT9 -> T10" }, { "from": 11, "to": 12, "label": "IS ERROR" }, { "from": 11, "to": 490, "label": "ARITHCOMP SUCCESS" }, { "from": 11, "to": 494, "label": "ARITHCOMP FAIL" }, { "from": 490, "to": 498, "label": "IS ERROR" }, { "from": 490, "to": 2094, "label": "ARITHCOMP SUCCESS" }, { "from": 490, "to": 2095, "label": "ARITHCOMP FAIL" }, { "from": 494, "to": 2441, "label": "ONLY EVAL with clause\nackermann(X39, X40, X41) :- ','(>(X39, 0), ','(=:=(X40, 0), ','(!_1, ackermann(-(X39, 1), 1, X41)))).\nand substitutionT7 -> T44,\nX39 -> T44,\nT8 -> T45,\nX40 -> T45,\nT3 -> T47,\nX41 -> T47,\nT46 -> T47" }, { "from": 2094, "to": 2096, "label": "CUT" }, { "from": 2095, "to": 2100, "label": "ONLY EVAL with clause\nackermann(X10, X11, X12) :- ','(>(X10, 0), ','(=:=(X11, 0), ','(!_1, ackermann(-(X10, 1), 1, X12)))).\nand substitutionT7 -> T15,\nX10 -> T15,\nT8 -> T16,\nX11 -> T16,\nT3 -> T18,\nX12 -> T18,\nT17 -> T18" }, { "from": 2096, "to": 2097, "label": "\nT10 -> T11" }, { "from": 2096, "to": 2098, "label": "IS FAIL" }, { "from": 2097, "to": 2099, "label": "SUCCESS" }, { "from": 2100, "to": 2270, "label": "ARITHCOMP SUCCESS" }, { "from": 2100, "to": 2271, "label": "ARITHCOMP FAIL" }, { "from": 2270, "to": 2277, "label": "ARITHCOMP SUCCESS" }, { "from": 2270, "to": 2278, "label": "ARITHCOMP FAIL" }, { "from": 2271, "to": 2424, "label": "ONLY EVAL with clause\nackermann(X32, X33, X34) :- ','(>(X32, 0), ','(>(X33, 0), ','(!_1, ','(ackermann(X32, -(X33, 1), X35), ackermann(-(X32, 1), X35, X34))))).\nand substitutionT15 -> T37,\nX32 -> T37,\nT16 -> T38,\nX33 -> T38,\nT3 -> T40,\nX34 -> T40,\nT39 -> T40" }, { "from": 2277, "to": 2279, "label": "CUT" }, { "from": 2278, "to": 2358, "label": "ONLY EVAL with clause\nackermann(X25, X26, X27) :- ','(>(X25, 0), ','(>(X26, 0), ','(!_1, ','(ackermann(X25, -(X26, 1), X28), ackermann(-(X25, 1), X28, X27))))).\nand substitutionT15 -> T30,\nX25 -> T30,\nT16 -> T31,\nX26 -> T31,\nT3 -> T33,\nX27 -> T33,\nT32 -> T33" }, { "from": 2279, "to": 2280, "label": "CASE" }, { "from": 2280, "to": 2281, "label": "ONLY EVAL with clause\nackermann(X19, X20, X21) :- ','(=:=(X19, 0), ','(>=(X20, 0), ','(!_2, is(X21, +(X20, 1))))).\nand substitutionT15 -> T24,\nX19 -> -(T24, 1),\nX20 -> 1,\nT18 -> T26,\nX21 -> T26,\nT25 -> T26" } ], "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