/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.pl /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.pl # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Left Termination of the query pattern test_fun(g,g,g) w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) PrologToIRSwTTransformerProof [SOUND, 89 ms] (2) IRSwT (3) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (4) IRSwT (5) IntTRSCompressionProof [EQUIVALENT, 26 ms] (6) IRSwT (7) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (8) IRSwT (9) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (10) TRUE ---------------------------------------- (0) Obligation: Clauses: test_fun(X, Y, Z) :- loop1(X, Y, Z, 0). loop1(X, Y, Z, C) :- ','(=:=(X, Y), ','(>(X, Z), loop2(X, Y, Z, C))). loop1(X, Y, Z, C) :- =\=(X, Y). loop1(X, Y, Z, C) :- =<(X, Z). loop2(X, Y, Z, C) :- ','(>(Y, Z), ','(is(X1, -(X, 1)), ','(is(Y1, -(Y, 1)), ','(is(C1, +(C, 1)), loop2(X1, Y1, Z, C1))))). loop2(X, Y, Z, C) :- ','(=<(Y, Z), loop1(X, Y, Z, C)). Query: test_fun(g,g,g) ---------------------------------------- (1) PrologToIRSwTTransformerProof (SOUND) Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert { "root": 1, "program": { "directives": [], "clauses": [ [ "(test_fun X Y Z)", "(loop1 X Y Z (0))" ], [ "(loop1 X Y Z C)", "(',' (=:= X Y) (',' (> X Z) (loop2 X Y Z C)))" ], [ "(loop1 X Y Z C)", "(=\\= X Y)" ], [ "(loop1 X Y Z C)", "(=< X Z)" ], [ "(loop2 X Y Z C)", "(',' (> Y Z) (',' (is X1 (- X (1))) (',' (is Y1 (- Y (1))) (',' (is C1 (+ C (1))) (loop2 X1 Y1 Z C1)))))" ], [ "(loop2 X Y Z C)", "(',' (=< Y Z) (loop1 X Y Z C))" ] ] }, "graph": { "nodes": { "22": { "goal": [ { "clause": 2, "scope": 2, "term": "(loop1 T13 T14 T15 (0))" }, { "clause": 3, "scope": 2, "term": "(loop1 T13 T14 T15 (0))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T14", "T15" ], "free": [], "exprvars": [] } }, "23": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (=:= T31 T32) (',' (> T31 T33) (loop2 T31 T32 T33 (0))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T31", "T32", "T33" ], "free": [], "exprvars": [] } }, "24": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "3387": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T50", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T49", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T51", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T50", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T51", "T50", "T49" ], "free": [ "X72", "X73", "X74" ], "exprvars": [ "T31", "T51", "T50", "T33", "T49", "T32" ] } }, "3386": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X72 (- T49 (1))) (',' (is X73 (- T50 (1))) (',' (is X74 (+ (0) (1))) (loop2 X72 X73 T51 X74))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T50", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T49", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T51", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T50", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T51", "T50", "T49" ], "free": [ "X72", "X73", "X74" ], "exprvars": [ "T31", "T51", "T50", "T33", "T49", "T32" ] } }, "3562": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T124", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T126", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": [], "free": [], "exprvars": [ "T126", "T124" ] } }, "3561": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T124", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T126", "type": "PlainIntegerVariable" }, "operation": ">" }] }, "ground": [ "T126", "T124" ], "free": [], "exprvars": [ "T126", "T124" ] } }, "3560": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T124", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T126", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": [ "T126", "T124" ], "free": [], "exprvars": [ "T126", "T124" ] } }, "type": "Nodes", "2093": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop2 T31 T32 T33 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T31", "T33", "T32" ], "free": [], "exprvars": [ "T31", "T33", "T32" ] } }, "997": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "979": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T31 T33) (loop2 T31 T32 T33 (0)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }] }, "ground": [ "T31", "T33", "T32" ], "free": [], "exprvars": [ "T31", "T32" ] } }, "3519": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (=< T88 T89) (loop1 T87 T88 T89 T90))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T50", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T52", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T49", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T53", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T50", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T32", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T32", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T49", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T49", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T50", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T50", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T49", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T51", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T50", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T50", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T50", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T87", "T88", "T89", "T90" ], "free": [], "exprvars": [ "T31", "T53", "T90", "T51", "T50", "T33", "T88", "T49", "T52", "T89", "T32", "T54", "T87" ] } }, "3390": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop2 T52 T53 T51 T54)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T50", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T52", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T49", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T53", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T50", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T49", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T51", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T50", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T53", "T52", "T51", "T50", "T49", "T54" ], "free": [ "X72", "X73", "X74" ], "exprvars": [ "T31", "T53", "T52", "T51", "T50", "T33", "T49", "T32", "T54" ] } }, "19": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop1 T13 T14 T15 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T14", "T15" ], "free": [], "exprvars": [] } }, "3551": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "2780": { "goal": [ { "clause": 4, "scope": 3, "term": "(loop2 T31 T32 T33 (0))" }, { "clause": 5, "scope": 3, "term": "(loop2 T31 T32 T33 (0))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T31", "T33", "T32" ], "free": [], "exprvars": [ "T31", "T33", "T32" ] } }, "3550": { "goal": [{ "clause": -1, "scope": -1, "term": "(=< T124 T126)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T124", "T126" ], "free": [], "exprvars": [] } }, "3393": { "goal": [{ "clause": 5, "scope": 4, "term": "(loop2 T52 T53 T51 T54)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T50", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T52", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T49", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T53", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T50", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T49", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T51", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T50", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T53", "T52", "T51", "T54" ], "free": [], "exprvars": [ "T31", "T53", "T52", "T51", "T50", "T33", "T49", "T32", "T54" ] } }, "3392": { "goal": [{ "clause": 4, "scope": 4, "term": "(loop2 T52 T53 T51 T54)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T50", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T52", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T49", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T53", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T50", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T49", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T51", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T50", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T53", "T52", "T51", "T54" ], "free": [], "exprvars": [ "T31", "T53", "T52", "T51", "T50", "T33", "T49", "T32", "T54" ] } }, "3391": { "goal": [ { "clause": 4, "scope": 4, "term": "(loop2 T52 T53 T51 T54)" }, { "clause": 5, "scope": 4, "term": "(loop2 T52 T53 T51 T54)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T50", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T52", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T49", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T53", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T50", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T49", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T51", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T50", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T53", "T52", "T51", "T54" ], "free": [], "exprvars": [ "T31", "T53", "T52", "T51", "T50", "T33", "T49", "T32", "T54" ] } }, "3527": { "goal": [{ "clause": 3, "scope": 2, "term": "(loop1 T13 T14 T15 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T14", "T15" ], "free": [], "exprvars": [] } }, "1": { "goal": [{ "clause": -1, "scope": -1, "term": "(test_fun T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2", "T3" ], "free": [], "exprvars": [] } }, "2811": { "goal": [{ "clause": 4, "scope": 3, "term": "(loop2 T31 T32 T33 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T31", "T33", "T32" ], "free": [], "exprvars": [ "T31", "T33", "T32" ] } }, "3526": { "goal": [{ "clause": 2, "scope": 2, "term": "(loop1 T13 T14 T15 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T14", "T15" ], "free": [], "exprvars": [] } }, "3525": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T98", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T97", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T98", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T99", "type": "PlainIntegerVariable" }, "operation": ">" } ] }, "ground": [ "T97", "T99", "T98" ], "free": [], "exprvars": [ "T31", "T97", "T33", "T99", "T32", "T98" ] } }, "3524": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop1 T97 T98 T99 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T98", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T97", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T98", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T99", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T97", "T99", "T98" ], "free": [], "exprvars": [ "T31", "T97", "T33", "T99", "T32", "T98" ] } }, "3522": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (=< T98 T99) (loop1 T97 T98 T99 (0)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T98", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T97", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T97", "T98", "T99" ], "free": [], "exprvars": [ "T31", "T97", "T33", "T99", "T32", "T98" ] } }, "3544": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T115", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T116", "type": "PlainIntegerVariable" }, "operation": "!=" }] }, "ground": [], "free": [], "exprvars": [ "T115", "T116" ] } }, "6": { "goal": [{ "clause": 0, "scope": 1, "term": "(test_fun T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2", "T3" ], "free": [], "exprvars": [] } }, "2113": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T31", "T33", "T32" ], "free": [], "exprvars": [ "T31", "T33", "T32" ] } }, "3389": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X74 (+ (0) (1))) (loop2 T52 T53 T51 X74))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T50", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T52", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T49", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T53", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T50", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T49", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T51", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T50", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T53", "T52", "T51", "T50", "T49" ], "free": [ "X72", "X73", "X74" ], "exprvars": [ "T31", "T53", "T52", "T51", "T50", "T33", "T49", "T32" ] } }, "3400": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T76 T77) (',' (is X108 (- T75 (1))) (',' (is X109 (- T76 (1))) (',' (is X110 (+ T78 (1))) (loop2 X108 X109 T77 X110)))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T50", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T52", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T49", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T53", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T50", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T32", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T32", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T49", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T49", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T50", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T50", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T49", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T51", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T50", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T50", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T50", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T75", "T76", "T77", "T78" ], "free": [ "X108", "X109", "X110" ], "exprvars": [ "T31", "T53", "T75", "T51", "T50", "T33", "T77", "T49", "T52", "T78", "T32", "T54", "T76" ] } }, "3543": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T115", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T116", "type": "PlainIntegerVariable" }, "operation": "=" }] }, "ground": [ "T115", "T116" ], "free": [], "exprvars": [ "T115", "T116" ] } }, "3388": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X73 (- T50 (1))) (',' (is X74 (+ (0) (1))) (loop2 T52 X73 T51 X74)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T50", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T52", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T49", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T49", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T51", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T50", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T52", "T51", "T50", "T49" ], "free": [ "X72", "X73", "X74" ], "exprvars": [ "T31", "T52", "T51", "T50", "T33", "T49", "T32" ] } }, "3542": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T115", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T116", "type": "PlainIntegerVariable" }, "operation": "!=" }] }, "ground": [ "T115", "T116" ], "free": [], "exprvars": [ "T115", "T116" ] } }, "988": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "!=" }] }, "ground": [ "T31", "T33", "T32" ], "free": [], "exprvars": [ "T31", "T32" ] } }, "2817": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T50 T51) (',' (is X72 (- T49 (1))) (',' (is X73 (- T50 (1))) (',' (is X74 (+ (0) (1))) (loop2 X72 X73 T51 X74)))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T50", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T49", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T49", "T50", "T51" ], "free": [ "X72", "X73", "X74" ], "exprvars": [ "T31", "T51", "T50", "T33", "T49", "T32" ] } }, "20": { "goal": [ { "clause": 1, "scope": 2, "term": "(loop1 T13 T14 T15 (0))" }, { "clause": 2, "scope": 2, "term": "(loop1 T13 T14 T15 (0))" }, { "clause": 3, "scope": 2, "term": "(loop1 T13 T14 T15 (0))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T14", "T15" ], "free": [], "exprvars": [] } }, "3529": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "21": { "goal": [{ "clause": 1, "scope": 2, "term": "(loop1 T13 T14 T15 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T13", "T14", "T15" ], "free": [], "exprvars": [] } }, "2813": { "goal": [{ "clause": 5, "scope": 3, "term": "(loop2 T31 T32 T33 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T31", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T32", "type": "PlainIntegerVariable" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T31", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T31", "T33", "T32" ], "free": [], "exprvars": [ "T31", "T33", "T32" ] } }, "3528": { "goal": [{ "clause": -1, "scope": -1, "term": "(=\\= T115 T116)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T115", "T116" ], "free": [], "exprvars": [] } } }, "edges": [ { "from": 1, "to": 6, "label": "CASE" }, { "from": 6, "to": 19, "label": "ONLY EVAL with clause\ntest_fun(X12, X13, X14) :- loop1(X12, X13, X14, 0).\nand substitutionT1 -> T13,\nX12 -> T13,\nT2 -> T14,\nX13 -> T14,\nT3 -> T15,\nX14 -> T15" }, { "from": 19, "to": 20, "label": "CASE" }, { "from": 20, "to": 21, "label": "PARALLEL" }, { "from": 20, "to": 22, "label": "PARALLEL" }, { "from": 21, "to": 23, "label": "ONLY EVAL with clause\nloop1(X35, X36, X37, X38) :- ','(=:=(X35, X36), ','(>(X35, X37), loop2(X35, X36, X37, X38))).\nand substitutionT13 -> T31,\nX35 -> T31,\nT14 -> T32,\nX36 -> T32,\nT15 -> T33,\nX37 -> T33,\nX38 -> 0" }, { "from": 22, "to": 3526, "label": "PARALLEL" }, { "from": 22, "to": 3527, "label": "PARALLEL" }, { "from": 23, "to": 24, "label": "IS ERROR" }, { "from": 23, "to": 979, "label": "ARITHCOMP SUCCESS" }, { "from": 23, "to": 988, "label": "ARITHCOMP FAIL" }, { "from": 979, "to": 997, "label": "IS ERROR" }, { "from": 979, "to": 2093, "label": "ARITHCOMP SUCCESS" }, { "from": 979, "to": 2113, "label": "ARITHCOMP FAIL" }, { "from": 2093, "to": 2780, "label": "CASE" }, { "from": 2780, "to": 2811, "label": "PARALLEL" }, { "from": 2780, "to": 2813, "label": "PARALLEL" }, { "from": 2811, "to": 2817, "label": "ONLY EVAL with clause\nloop2(X68, X69, X70, X71) :- ','(>(X69, X70), ','(is(X72, -(X68, 1)), ','(is(X73, -(X69, 1)), ','(is(X74, +(X71, 1)), loop2(X72, X73, X70, X74))))).\nand substitutionT31 -> T49,\nX68 -> T49,\nT32 -> T50,\nX69 -> T50,\nT33 -> T51,\nX70 -> T51,\nX71 -> 0" }, { "from": 2813, "to": 3522, "label": "ONLY EVAL with clause\nloop2(X131, X132, X133, X134) :- ','(=<(X132, X133), loop1(X131, X132, X133, X134)).\nand substitutionT31 -> T97,\nX131 -> T97,\nT32 -> T98,\nX132 -> T98,\nT33 -> T99,\nX133 -> T99,\nX134 -> 0" }, { "from": 2817, "to": 3386, "label": "ARITHCOMP SUCCESS" }, { "from": 2817, "to": 3387, "label": "ARITHCOMP FAIL" }, { "from": 3386, "to": 3388, "label": "\nX72 -> T52" }, { "from": 3388, "to": 3389, "label": "\nX73 -> T53" }, { "from": 3389, "to": 3390, "label": "\nX74 -> T54" }, { "from": 3390, "to": 3391, "label": "CASE" }, { "from": 3391, "to": 3392, "label": "PARALLEL" }, { "from": 3391, "to": 3393, "label": "PARALLEL" }, { "from": 3392, "to": 3400, "label": "ONLY EVAL with clause\nloop2(X104, X105, X106, X107) :- ','(>(X105, X106), ','(is(X108, -(X104, 1)), ','(is(X109, -(X105, 1)), ','(is(X110, +(X107, 1)), loop2(X108, X109, X106, X110))))).\nand substitutionT52 -> T75,\nX104 -> T75,\nT53 -> T76,\nX105 -> T76,\nT51 -> T77,\nX106 -> T77,\nT54 -> T78,\nX107 -> T78" }, { "from": 3393, "to": 3519, "label": "ONLY EVAL with clause\nloop2(X119, X120, X121, X122) :- ','(=<(X120, X121), loop1(X119, X120, X121, X122)).\nand substitutionT52 -> T87,\nX119 -> T87,\nT53 -> T88,\nX120 -> T88,\nT51 -> T89,\nX121 -> T89,\nT54 -> T90,\nX122 -> T90" }, { "from": 3522, "to": 3524, "label": "ARITHCOMP SUCCESS" }, { "from": 3522, "to": 3525, "label": "ARITHCOMP FAIL" }, { "from": 3524, "to": 19, "label": "INSTANCE with matching:\nT13 -> T97\nT14 -> T98\nT15 -> T99" }, { "from": 3526, "to": 3528, "label": "ONLY EVAL with clause\nloop1(X155, X156, X157, X158) :- =\\=(X155, X156).\nand substitutionT13 -> T115,\nX155 -> T115,\nT14 -> T116,\nX156 -> T116,\nT15 -> T117,\nX157 -> T117,\nX158 -> 0" }, { "from": 3527, "to": 3550, "label": "ONLY EVAL with clause\nloop1(X167, X168, X169, X170) :- =<(X167, X169).\nand substitutionT13 -> T124,\nX167 -> T124,\nT14 -> T125,\nX168 -> T125,\nT15 -> T126,\nX169 -> T126,\nX170 -> 0" }, { "from": 3528, "to": 3529, "label": "IS ERROR" }, { "from": 3528, "to": 3542, "label": "ARITHCOMP SUCCESS" }, { "from": 3528, "to": 3543, "label": "ARITHCOMP FAIL" }, { "from": 3542, "to": 3544, "label": "SUCCESS" }, { "from": 3550, "to": 3551, "label": "IS ERROR" }, { "from": 3550, "to": 3560, "label": "ARITHCOMP SUCCESS" }, { "from": 3550, "to": 3561, "label": "ARITHCOMP FAIL" }, { "from": 3560, "to": 3562, "label": "SUCCESS" } ], "type": "Graph" } } ---------------------------------------- (2) Obligation: Rules: f20_out(T13, T14, T15) -> f19_out(T13, T14, T15) :|: TRUE f19_in(x, x1, x2) -> f20_in(x, x1, x2) :|: TRUE f997_out -> f979_out(T31, T33, T32) :|: TRUE f979_in(x3, x4, x5) -> f2113_in(x3, x4, x5) :|: x3 <= x4 f979_in(x6, x7, x8) -> f2093_in(x6, x8, x7) :|: x6 > x7 f2093_out(x9, x10, x11) -> f979_out(x9, x11, x10) :|: x9 > x11 f979_in(x12, x13, x14) -> f997_in :|: TRUE f2113_out(x15, x16, x17) -> f979_out(x15, x16, x17) :|: x15 <= x16 f2093_in(x18, x19, x20) -> f2780_in(x18, x19, x20) :|: TRUE f2780_out(x21, x22, x23) -> f2093_out(x21, x22, x23) :|: TRUE f21_out(x24, x25, x26) -> f20_out(x24, x25, x26) :|: TRUE f22_out(x27, x28, x29) -> f20_out(x27, x28, x29) :|: TRUE f20_in(x30, x31, x32) -> f21_in(x30, x31, x32) :|: TRUE f20_in(x33, x34, x35) -> f22_in(x33, x34, x35) :|: TRUE f979_out(x36, x37, x38) -> f23_out(x36, x38, x37) :|: x36 = x38 f988_out(x39, x40, x41) -> f23_out(x39, x41, x40) :|: !(x39 = x41) f23_in(x42, x43, x44) -> f979_in(x42, x44, x43) :|: x42 = x43 f23_in(x45, x46, x47) -> f988_in(x45, x47, x46) :|: !(x45 = x46) f24_out -> f23_out(x48, x49, x50) :|: TRUE f23_in(x51, x52, x53) -> f24_in :|: TRUE f3524_in(T97, T98, T99) -> f19_in(T97, T98, T99) :|: TRUE f19_out(x54, x55, x56) -> f3524_out(x54, x55, x56) :|: TRUE f3522_in(x57, x58, x59) -> f3524_in(x59, x57, x58) :|: x57 <= x58 f3524_out(x60, x61, x62) -> f3522_out(x61, x62, x60) :|: x61 <= x62 f3522_in(x63, x64, x65) -> f3525_in(x65, x64, x63) :|: x63 > x64 f3525_out(x66, x67, x68) -> f3522_out(x68, x67, x66) :|: x68 > x67 f2811_out(x69, x70, x71) -> f2780_out(x69, x70, x71) :|: TRUE f2813_out(x72, x73, x74) -> f2780_out(x72, x73, x74) :|: TRUE f2780_in(x75, x76, x77) -> f2813_in(x75, x76, x77) :|: TRUE f2780_in(x78, x79, x80) -> f2811_in(x78, x79, x80) :|: TRUE f21_in(x81, x82, x83) -> f23_in(x81, x82, x83) :|: TRUE f23_out(x84, x85, x86) -> f21_out(x84, x85, x86) :|: TRUE f3522_out(x87, x88, x89) -> f2813_out(x89, x87, x88) :|: TRUE f2813_in(x90, x91, x92) -> f3522_in(x91, x92, x90) :|: TRUE f1_in(T1, T2, T3) -> f6_in(T1, T2, T3) :|: TRUE f6_out(x93, x94, x95) -> f1_out(x93, x94, x95) :|: TRUE f19_out(x96, x97, x98) -> f6_out(x96, x97, x98) :|: TRUE f6_in(x99, x100, x101) -> f19_in(x99, x100, x101) :|: TRUE Start term: f1_in(T1, T2, T3) ---------------------------------------- (3) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f19_in(x, x1, x2) -> f20_in(x, x1, x2) :|: TRUE f979_in(x6, x7, x8) -> f2093_in(x6, x8, x7) :|: x6 > x7 f2093_in(x18, x19, x20) -> f2780_in(x18, x19, x20) :|: TRUE f20_in(x30, x31, x32) -> f21_in(x30, x31, x32) :|: TRUE f23_in(x42, x43, x44) -> f979_in(x42, x44, x43) :|: x42 = x43 f3524_in(T97, T98, T99) -> f19_in(T97, T98, T99) :|: TRUE f3522_in(x57, x58, x59) -> f3524_in(x59, x57, x58) :|: x57 <= x58 f2780_in(x75, x76, x77) -> f2813_in(x75, x76, x77) :|: TRUE f21_in(x81, x82, x83) -> f23_in(x81, x82, x83) :|: TRUE f2813_in(x90, x91, x92) -> f3522_in(x91, x92, x90) :|: TRUE ---------------------------------------- (4) Obligation: Rules: f19_in(x, x1, x2) -> f20_in(x, x1, x2) :|: TRUE f979_in(x6, x7, x8) -> f2093_in(x6, x8, x7) :|: x6 > x7 f2093_in(x18, x19, x20) -> f2780_in(x18, x19, x20) :|: TRUE f20_in(x30, x31, x32) -> f21_in(x30, x31, x32) :|: TRUE f23_in(x42, x43, x44) -> f979_in(x42, x44, x43) :|: x42 = x43 f3524_in(T97, T98, T99) -> f19_in(T97, T98, T99) :|: TRUE f3522_in(x57, x58, x59) -> f3524_in(x59, x57, x58) :|: x57 <= x58 f2780_in(x75, x76, x77) -> f2813_in(x75, x76, x77) :|: TRUE f21_in(x81, x82, x83) -> f23_in(x81, x82, x83) :|: TRUE f2813_in(x90, x91, x92) -> f3522_in(x91, x92, x90) :|: TRUE ---------------------------------------- (5) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (6) Obligation: Rules: ---------------------------------------- (7) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (8) Obligation: Rules: ---------------------------------------- (9) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: No arcs! This digraph is fully evaluated! ---------------------------------------- (10) TRUE