/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) PrologToIRSwTTransformerProof [SOUND, 49 ms] (2) IRSwT (3) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (4) IRSwT (5) IntTRSCompressionProof [EQUIVALENT, 51 ms] (6) IRSwT (7) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (8) IRSwT (9) IRSwTTerminationDigraphProof [EQUIVALENT, 19 ms] (10) IRSwT (11) IntTRSCompressionProof [EQUIVALENT, 0 ms] (12) IRSwT (13) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (14) IRSwT (15) TempFilterProof [SOUND, 39 ms] (16) IntTRS (17) RankingReductionPairProof [EQUIVALENT, 21 ms] (18) YES ---------------------------------------- (0) Obligation: Clauses: test_fun(X, Y) :- loop1(X, Y, 0). loop1(X, Y, C) :- ','(>=(X, 0), ','(is(Y1, 1), loop2(X, Y1, C))). loop1(X, Y, C) :- <(X, 0). loop2(X, Y, C) :- ','(>(X, Y), ','(>(Y, 0), ','(is(Y1, *(2, Y)), ','(is(C1, +(C, 1)), loop2(X, Y1, C1))))). loop2(X, Y, C) :- ','(=<(X, Y), ','(is(X1, -(X, 1)), loop1(X1, Y, C))). Query: test_fun(g,g) ---------------------------------------- (1) PrologToIRSwTTransformerProof (SOUND) Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert { "root": 3, "program": { "directives": [], "clauses": [ [ "(test_fun X Y)", "(loop1 X Y (0))" ], [ "(loop1 X Y C)", "(',' (>= X (0)) (',' (is Y1 (1)) (loop2 X Y1 C)))" ], [ "(loop1 X Y C)", "(< X (0))" ], [ "(loop2 X Y C)", "(',' (> X Y) (',' (> Y (0)) (',' (is Y1 (* (2) Y)) (',' (is C1 (+ C (1))) (loop2 X Y1 C1)))))" ], [ "(loop2 X Y C)", "(',' (=< X Y) (',' (is X1 (- X (1))) (loop1 X1 Y C)))" ] ] }, "graph": { "nodes": { "22": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "3365": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T53 T54) (',' (> T54 (0)) (',' (is X84 (* (2) T54)) (',' (is X85 (+ T55 (1))) (loop2 T53 X84 X85)))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "name": "T36", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "2" }, { "name": "T35", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T37", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "2" }, { "name": "T35", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "2" }, { "name": "T35", "type": "PlainIntegerVariable" } ], "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": "T35", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T34", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T35", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T53", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T34", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T35", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T35", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T21", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T21", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T53", "T54", "T55" ], "free": [ "X84", "X85" ], "exprvars": [ "T53", "T36", "T35", "T23", "T34", "T55", "T21", "T54", "T37" ] } }, "3387": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "3364": { "goal": [{ "clause": 4, "scope": 4, "term": "(loop2 T34 T36 T37)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "name": "T36", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "2" }, { "name": "T35", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T37", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T35", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T34", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T35", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T36", "T34", "T37" ], "free": [], "exprvars": [ "T36", "T35", "T23", "T34", "T21", "T37" ] } }, "3363": { "goal": [{ "clause": 3, "scope": 4, "term": "(loop2 T34 T36 T37)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "name": "T36", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "2" }, { "name": "T35", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T37", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T35", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T34", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T35", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T36", "T34", "T37" ], "free": [], "exprvars": [ "T36", "T35", "T23", "T34", "T21", "T37" ] } }, "3385": { "goal": [{ "clause": -1, "scope": -1, "term": "(< T78 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T78"], "free": [], "exprvars": [] } }, "3362": { "goal": [ { "clause": 3, "scope": 4, "term": "(loop2 T34 T36 T37)" }, { "clause": 4, "scope": 4, "term": "(loop2 T34 T36 T37)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "name": "T36", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "2" }, { "name": "T35", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T37", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T35", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T34", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T35", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T36", "T34", "T37" ], "free": [], "exprvars": [ "T36", "T35", "T23", "T34", "T21", "T37" ] } }, "type": "Nodes", "3361": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop2 T34 T36 T37)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "name": "T36", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "2" }, { "name": "T35", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T37", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T35", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T34", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T35", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T36", "T35", "T34", "T37" ], "free": [ "X58", "X59" ], "exprvars": [ "T36", "T35", "T23", "T34", "T21", "T37" ] } }, "890": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": ">" }] }, "ground": ["T21"], "free": ["X33"], "exprvars": ["T21"] } }, "2721": { "goal": [{ "clause": 4, "scope": 3, "term": "(loop2 T21 T23 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T23", "T21" ], "free": [], "exprvars": [ "T23", "T21" ] } }, "3359": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X59 (+ (0) (1))) (loop2 T34 T36 X59))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "name": "T36", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "2" }, { "name": "T35", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T35", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T34", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T35", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T36", "T35", "T34" ], "free": [ "X58", "X59" ], "exprvars": [ "T36", "T35", "T23", "T34", "T21" ] } }, "3436": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T78", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<" }] }, "ground": [], "free": [], "exprvars": ["T78"] } }, "3358": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "name": "T35", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T34", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T35", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T35", "T34" ], "free": [ "X58", "X59" ], "exprvars": [ "T35", "T23", "T34", "T21" ] } }, "3435": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T78", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": ">=" }] }, "ground": ["T78"], "free": [], "exprvars": ["T78"] } }, "3357": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X58 (* (2) T35)) (',' (is X59 (+ (0) (1))) (loop2 T34 X58 X59)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "name": "T35", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T34", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T35", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T35", "T34" ], "free": [ "X58", "X59" ], "exprvars": [ "T35", "T23", "T34", "T21" ] } }, "3379": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop1 T71 T70 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "name": "T71", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T69", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T69", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T69", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T70", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T70", "T69", "T71" ], "free": ["X107"], "exprvars": [ "T70", "T69", "T23", "T71", "T21" ] } }, "3434": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T78", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<" }] }, "ground": ["T78"], "free": [], "exprvars": ["T78"] } }, "3378": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "name": "T69", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T70", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T69", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T70", "T69" ], "free": ["X107"], "exprvars": [ "T70", "T69", "T23", "T21" ] } }, "3377": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X107 (- T69 (1))) (loop1 X107 T70 (0)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T69", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T69", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T70", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T70", "T69" ], "free": ["X107"], "exprvars": [ "T70", "T69", "T23", "T21" ] } }, "2748": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T34 T35) (',' (> T35 (0)) (',' (is X58 (* (2) T35)) (',' (is X59 (+ (0) (1))) (loop2 T34 X58 X59)))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T34", "T35" ], "free": [ "X58", "X59" ], "exprvars": [ "T35", "T23", "T34", "T21" ] } }, "18": { "goal": [ { "clause": 1, "scope": 2, "term": "(loop1 T9 T10 (0))" }, { "clause": 2, "scope": 2, "term": "(loop1 T9 T10 (0))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "19": { "goal": [{ "clause": 1, "scope": 2, "term": "(loop1 T9 T10 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "3370": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (=< T69 T70) (',' (is X107 (- T69 (1))) (loop1 X107 T70 (0))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T69", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T69", "T70" ], "free": ["X107"], "exprvars": [ "T70", "T69", "T23", "T21" ] } }, "3": { "goal": [{ "clause": -1, "scope": -1, "term": "(test_fun T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "6": { "goal": [{ "clause": 0, "scope": 1, "term": "(test_fun T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "3366": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (=< T62 T63) (',' (is X96 (- T62 (1))) (loop1 X96 T63 T64)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "name": "T36", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "2" }, { "name": "T35", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T37", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "2" }, { "name": "T35", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "2" }, { "name": "T35", "type": "PlainIntegerVariable" } ], "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": "T35", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T34", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T35", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T62", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T34", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T35", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T35", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T21", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T21", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T62", "T63", "T64" ], "free": ["X96"], "exprvars": [ "T64", "T36", "T63", "T35", "T62", "T23", "T34", "T21", "T37" ] } }, "8": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop1 T9 T10 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "1709": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop2 T21 T23 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T23", "T21" ], "free": ["X33"], "exprvars": [ "T23", "T21" ] } }, "2719": { "goal": [{ "clause": 3, "scope": 3, "term": "(loop2 T21 T23 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T23", "T21" ], "free": [], "exprvars": [ "T23", "T21" ] } }, "20": { "goal": [{ "clause": 2, "scope": 2, "term": "(loop1 T9 T10 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "729": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X33 (1)) (loop2 T21 X33 (0)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": ["T21"], "free": ["X33"], "exprvars": ["T21"] } }, "1725": { "goal": [ { "clause": 3, "scope": 3, "term": "(loop2 T21 T23 (0))" }, { "clause": 4, "scope": 3, "term": "(loop2 T21 T23 (0))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T23", "T21" ], "free": [], "exprvars": [ "T23", "T21" ] } }, "2935": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T35", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T34", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T35", "T34" ], "free": [ "X58", "X59" ], "exprvars": [ "T35", "T23", "T34", "T21" ] } }, "21": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (>= T21 (0)) (',' (is X33 (1)) (loop2 T21 X33 (0))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T21"], "free": ["X33"], "exprvars": [] } }, "2934": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T35 (0)) (',' (is X58 (* (2) T35)) (',' (is X59 (+ (0) (1))) (loop2 T34 X58 X59))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "name": "T35", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T34", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T35", "T34" ], "free": [ "X58", "X59" ], "exprvars": [ "T35", "T23", "T34", "T21" ] } } }, "edges": [ { "from": 3, "to": 6, "label": "CASE" }, { "from": 6, "to": 8, "label": "ONLY EVAL with clause\ntest_fun(X10, X11) :- loop1(X10, X11, 0).\nand substitutionT1 -> T9,\nX10 -> T9,\nT2 -> T10,\nX11 -> T10" }, { "from": 8, "to": 18, "label": "CASE" }, { "from": 18, "to": 19, "label": "PARALLEL" }, { "from": 18, "to": 20, "label": "PARALLEL" }, { "from": 19, "to": 21, "label": "ONLY EVAL with clause\nloop1(X30, X31, X32) :- ','(>=(X30, 0), ','(is(X33, 1), loop2(X30, X33, X32))).\nand substitutionT9 -> T21,\nX30 -> T21,\nT10 -> T22,\nX31 -> T22,\nX32 -> 0" }, { "from": 20, "to": 3385, "label": "ONLY EVAL with clause\nloop1(X118, X119, X120) :- <(X118, 0).\nand substitutionT9 -> T78,\nX118 -> T78,\nT10 -> T79,\nX119 -> T79,\nX120 -> 0" }, { "from": 21, "to": 22, "label": "IS ERROR" }, { "from": 21, "to": 729, "label": "ARITHCOMP SUCCESS" }, { "from": 21, "to": 890, "label": "ARITHCOMP FAIL" }, { "from": 729, "to": 1709, "label": "\nX33 -> T23" }, { "from": 1709, "to": 1725, "label": "CASE" }, { "from": 1725, "to": 2719, "label": "PARALLEL" }, { "from": 1725, "to": 2721, "label": "PARALLEL" }, { "from": 2719, "to": 2748, "label": "ONLY EVAL with clause\nloop2(X55, X56, X57) :- ','(>(X55, X56), ','(>(X56, 0), ','(is(X58, *(2, X56)), ','(is(X59, +(X57, 1)), loop2(X55, X58, X59))))).\nand substitutionT21 -> T34,\nX55 -> T34,\nT23 -> T35,\nX56 -> T35,\nX57 -> 0" }, { "from": 2721, "to": 3370, "label": "ONLY EVAL with clause\nloop2(X104, X105, X106) :- ','(=<(X104, X105), ','(is(X107, -(X104, 1)), loop1(X107, X105, X106))).\nand substitutionT21 -> T69,\nX104 -> T69,\nT23 -> T70,\nX105 -> T70,\nX106 -> 0" }, { "from": 2748, "to": 2934, "label": "ARITHCOMP SUCCESS" }, { "from": 2748, "to": 2935, "label": "ARITHCOMP FAIL" }, { "from": 2934, "to": 3357, "label": "ARITHCOMP SUCCESS" }, { "from": 2934, "to": 3358, "label": "ARITHCOMP FAIL" }, { "from": 3357, "to": 3359, "label": "\nX58 -> T36" }, { "from": 3359, "to": 3361, "label": "\nX59 -> T37" }, { "from": 3361, "to": 3362, "label": "CASE" }, { "from": 3362, "to": 3363, "label": "PARALLEL" }, { "from": 3362, "to": 3364, "label": "PARALLEL" }, { "from": 3363, "to": 3365, "label": "ONLY EVAL with clause\nloop2(X81, X82, X83) :- ','(>(X81, X82), ','(>(X82, 0), ','(is(X84, *(2, X82)), ','(is(X85, +(X83, 1)), loop2(X81, X84, X85))))).\nand substitutionT34 -> T53,\nX81 -> T53,\nT36 -> T54,\nX82 -> T54,\nT37 -> T55,\nX83 -> T55" }, { "from": 3364, "to": 3366, "label": "ONLY EVAL with clause\nloop2(X93, X94, X95) :- ','(=<(X93, X94), ','(is(X96, -(X93, 1)), loop1(X96, X94, X95))).\nand substitutionT34 -> T62,\nX93 -> T62,\nT36 -> T63,\nX94 -> T63,\nT37 -> T64,\nX95 -> T64" }, { "from": 3370, "to": 3377, "label": "ARITHCOMP SUCCESS" }, { "from": 3370, "to": 3378, "label": "ARITHCOMP FAIL" }, { "from": 3377, "to": 3379, "label": "\nX107 -> T71" }, { "from": 3379, "to": 8, "label": "INSTANCE with matching:\nT9 -> T71\nT10 -> T70" }, { "from": 3385, "to": 3387, "label": "IS ERROR" }, { "from": 3385, "to": 3434, "label": "ARITHCOMP SUCCESS" }, { "from": 3385, "to": 3435, "label": "ARITHCOMP FAIL" }, { "from": 3434, "to": 3436, "label": "SUCCESS" } ], "type": "Graph" } } ---------------------------------------- (2) Obligation: Rules: f18_in(T9, T10) -> f19_in(T9, T10) :|: TRUE f18_in(x, x1) -> f20_in(x, x1) :|: TRUE f20_out(x2, x3) -> f18_out(x2, x3) :|: TRUE f19_out(x4, x5) -> f18_out(x4, x5) :|: TRUE f3378_out(T70, T69) -> f3370_out(T69, T70) :|: T69 > T70 f3377_out(x6, x7) -> f3370_out(x6, x7) :|: x6 <= x7 f3370_in(x8, x9) -> f3378_in(x9, x8) :|: x8 > x9 f3370_in(x10, x11) -> f3377_in(x10, x11) :|: x10 <= x11 f3377_in(x12, x13) -> f3379_in(x14, x13, x12) :|: x14 = x12 - 1 f3379_out(x15, x16, x17) -> f3377_out(x17, x16) :|: TRUE f3370_out(x18, x19) -> f2721_out(x18, x19) :|: TRUE f2721_in(x20, x21) -> f3370_in(x20, x21) :|: TRUE f1725_in(T21, T23) -> f2721_in(T21, T23) :|: TRUE f1725_in(x22, x23) -> f2719_in(x22, x23) :|: TRUE f2719_out(x24, x25) -> f1725_out(x24, x25) :|: TRUE f2721_out(x26, x27) -> f1725_out(x26, x27) :|: TRUE f21_out(x28) -> f19_out(x28, x29) :|: TRUE f19_in(x30, x31) -> f21_in(x30) :|: TRUE f1725_out(x32, x33) -> f1709_out(x32, x33) :|: TRUE f1709_in(x34, x35) -> f1725_in(x34, x35) :|: TRUE f729_in(x36) -> f1709_in(x36, x37) :|: x37 = 1 f1709_out(x38, x39) -> f729_out(x38) :|: TRUE f890_out(x40) -> f21_out(x40) :|: x40 < 0 f21_in(x41) -> f22_in :|: TRUE f22_out -> f21_out(x42) :|: TRUE f21_in(x43) -> f890_in(x43) :|: x43 < 0 f21_in(x44) -> f729_in(x44) :|: x44 >= 0 f729_out(x45) -> f21_out(x45) :|: x45 >= 0 f3379_in(x46, x47, x48) -> f8_in(x46, x47) :|: TRUE f8_out(x49, x50) -> f3379_out(x49, x50, x51) :|: TRUE f18_out(x52, x53) -> f8_out(x52, x53) :|: TRUE f8_in(x54, x55) -> f18_in(x54, x55) :|: TRUE f6_out(T1, T2) -> f3_out(T1, T2) :|: TRUE f3_in(x56, x57) -> f6_in(x56, x57) :|: TRUE f6_in(x58, x59) -> f8_in(x58, x59) :|: TRUE f8_out(x60, x61) -> f6_out(x60, x61) :|: TRUE Start term: f3_in(T1, T2) ---------------------------------------- (3) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f18_in(T9, T10) -> f19_in(T9, T10) :|: TRUE f3370_in(x10, x11) -> f3377_in(x10, x11) :|: x10 <= x11 f3377_in(x12, x13) -> f3379_in(x14, x13, x12) :|: x14 = x12 - 1 f2721_in(x20, x21) -> f3370_in(x20, x21) :|: TRUE f1725_in(T21, T23) -> f2721_in(T21, T23) :|: TRUE f19_in(x30, x31) -> f21_in(x30) :|: TRUE f1709_in(x34, x35) -> f1725_in(x34, x35) :|: TRUE f729_in(x36) -> f1709_in(x36, x37) :|: x37 = 1 f21_in(x44) -> f729_in(x44) :|: x44 >= 0 f3379_in(x46, x47, x48) -> f8_in(x46, x47) :|: TRUE f8_in(x54, x55) -> f18_in(x54, x55) :|: TRUE ---------------------------------------- (4) Obligation: Rules: f18_in(T9, T10) -> f19_in(T9, T10) :|: TRUE f3370_in(x10, x11) -> f3377_in(x10, x11) :|: x10 <= x11 f3377_in(x12, x13) -> f3379_in(x14, x13, x12) :|: x14 = x12 - 1 f2721_in(x20, x21) -> f3370_in(x20, x21) :|: TRUE f1725_in(T21, T23) -> f2721_in(T21, T23) :|: TRUE f19_in(x30, x31) -> f21_in(x30) :|: TRUE f1709_in(x34, x35) -> f1725_in(x34, x35) :|: TRUE f729_in(x36) -> f1709_in(x36, x37) :|: x37 = 1 f21_in(x44) -> f729_in(x44) :|: x44 >= 0 f3379_in(x46, x47, x48) -> f8_in(x46, x47) :|: TRUE f8_in(x54, x55) -> f18_in(x54, x55) :|: TRUE ---------------------------------------- (5) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (6) Obligation: Rules: f18_in(T9:0, T10:0) -> f18_in(T9:0 - 1, 1) :|: T9:0 > -1 && T9:0 < 2 ---------------------------------------- (7) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (8) Obligation: Rules: f18_in(T9:0, T10:0) -> f18_in(arith, 1) :|: T9:0 > -1 && T9:0 < 2 && arith = T9:0 - 1 ---------------------------------------- (9) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f18_in(T9:0, T10:0) -> f18_in(arith, 1) :|: T9:0 > -1 && T9:0 < 2 && arith = T9:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (10) Obligation: Termination digraph: Nodes: (1) f18_in(T9:0, T10:0) -> f18_in(arith, 1) :|: T9:0 > -1 && T9:0 < 2 && arith = T9:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (11) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (12) Obligation: Rules: f18_in(T9:0:0, T10:0:0) -> f18_in(T9:0:0 - 1, 1) :|: T9:0:0 > -1 && T9:0:0 < 2 ---------------------------------------- (13) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f18_in(x1, x2) -> f18_in(x1) ---------------------------------------- (14) Obligation: Rules: f18_in(T9:0:0) -> f18_in(T9:0:0 - 1) :|: T9:0:0 > -1 && T9:0:0 < 2 ---------------------------------------- (15) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f18_in(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (16) Obligation: Rules: f18_in(T9:0:0) -> f18_in(c) :|: c = T9:0:0 - 1 && (T9:0:0 > -1 && T9:0:0 < 2) ---------------------------------------- (17) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f18_in ] = f18_in_1 The following rules are decreasing: f18_in(T9:0:0) -> f18_in(c) :|: c = T9:0:0 - 1 && (T9:0:0 > -1 && T9:0:0 < 2) The following rules are bounded: f18_in(T9:0:0) -> f18_in(c) :|: c = T9:0:0 - 1 && (T9:0:0 > -1 && T9:0:0 < 2) ---------------------------------------- (18) YES