/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, 50 ms] (2) IRSwT (3) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (4) IRSwT (5) IntTRSCompressionProof [EQUIVALENT, 9 ms] (6) IRSwT (7) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (8) IRSwT (9) IRSwTTerminationDigraphProof [EQUIVALENT, 38 ms] (10) IRSwT (11) IntTRSCompressionProof [EQUIVALENT, 0 ms] (12) IRSwT (13) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (14) IRSwT (15) TempFilterProof [SOUND, 30 ms] (16) IntTRS (17) PolynomialOrderProcessor [EQUIVALENT, 14 ms] (18) YES ---------------------------------------- (0) Obligation: Clauses: test_fun(X, Y) :- loop(X, Y, 0). loop(X, Y, C) :- ','(is(Y1, +(Y, 1)), ','(>=(X, Y1), ','(is(C1, +(C, 1)), loop(X, Y1, C1)))). loop(X, Y, X1) :- ','(is(Y1, +(Y, 1)), <(X, Y1)). 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)", "(loop X Y (0))" ], [ "(loop X Y C)", "(',' (is Y1 (+ Y (1))) (',' (>= X Y1) (',' (is C1 (+ C (1))) (loop X Y1 C1))))" ], [ "(loop X Y X1)", "(',' (is Y1 (+ Y (1))) (< X Y1))" ] ] }, "graph": { "nodes": { "29": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (>= T21 T23) (',' (is X38 (+ (0) (1))) (loop T21 T23 X38)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }] }, "ground": [ "T23", "T22", "T21" ], "free": [ "X37", "X38" ], "exprvars": [ "T23", "T22" ] } }, "2210": { "goal": [ { "clause": 1, "scope": 3, "term": "(loop T21 T23 T24)" }, { "clause": 2, "scope": 3, "term": "(loop T21 T23 T24)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T24", "T23", "T21" ], "free": [], "exprvars": [ "T24", "T23", "T22", "T21" ] } }, "2276": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "2275": { "goal": [{ "clause": -1, "scope": -1, "term": "(< T62 T64)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T64", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T63", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }] }, "ground": [ "T64", "T63", "T62" ], "free": ["X91"], "exprvars": [ "T64", "T63" ] } }, "2274": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "2273": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X91 (+ T63 (1))) (< T62 X91))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T62", "T63" ], "free": ["X91"], "exprvars": [] } }, "type": "Nodes", "2272": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "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": "T57", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T55", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T57", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [], "free": [], "exprvars": [ "T24", "T57", "T23", "T56", "T22", "T55", "T21", "T54" ] } }, "2271": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "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": "T57", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T55", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T57", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T57", "T55", "T54" ], "free": ["X80"], "exprvars": [ "T24", "T57", "T23", "T56", "T22", "T55", "T21", "T54" ] } }, "2293": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T64", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T63", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T62", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T64", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [], "free": [], "exprvars": [ "T64", "T63", "T62" ] } }, "2270": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "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": "T57", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T55", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T57", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T57", "T55", "T54" ], "free": ["X80"], "exprvars": [ "T24", "T57", "T23", "T56", "T22", "T55", "T21", "T54" ] } }, "2292": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T64", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T63", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T62", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T64", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T64", "T63", "T62" ], "free": ["X91"], "exprvars": [ "T64", "T63", "T62" ] } }, "2291": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T64", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T63", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T62", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T64", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T64", "T63", "T62" ], "free": ["X91"], "exprvars": [ "T64", "T63", "T62" ] } }, "2207": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X38 (+ (0) (1))) (loop T21 T23 X38))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T23", "T22", "T21" ], "free": [ "X37", "X38" ], "exprvars": [ "T23", "T22", "T21" ] } }, "30": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "2209": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T21 T23 T24)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T24", "T23", "T22", "T21" ], "free": [ "X37", "X38" ], "exprvars": [ "T24", "T23", "T22", "T21" ] } }, "2208": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": ">" } ] }, "ground": [ "T23", "T22", "T21" ], "free": [ "X37", "X38" ], "exprvars": [ "T23", "T22", "T21" ] } }, "13": { "goal": [ { "clause": 1, "scope": 2, "term": "(loop T9 T10 (0))" }, { "clause": 2, "scope": 2, "term": "(loop T9 T10 (0))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "16": { "goal": [{ "clause": 1, "scope": 2, "term": "(loop T9 T10 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "17": { "goal": [{ "clause": 2, "scope": 2, "term": "(loop T9 T10 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "18": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X37 (+ T22 (1))) (',' (>= T21 X37) (',' (is X38 (+ (0) (1))) (loop T21 X37 X38))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T21", "T22" ], "free": [ "X37", "X38" ], "exprvars": [] } }, "19": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "2260": { "goal": [{ "clause": -1, "scope": -1, "term": "(< T54 T57)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "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": "T57", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T55", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T57", "T55", "T54" ], "free": ["X80"], "exprvars": [ "T24", "T57", "T23", "T56", "T22", "T55", "T21", "T54" ] } }, "3": { "goal": [{ "clause": -1, "scope": -1, "term": "(test_fun T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "2259": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X80 (+ T55 (1))) (< T54 X80))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "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": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T54", "T55" ], "free": ["X80"], "exprvars": [ "T24", "T23", "T56", "T22", "T55", "T21", "T54" ] } }, "2214": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (>= T40 T43) (',' (is X64 (+ T42 (1))) (loop T40 T43 X64)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "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": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T41", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T40", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T42", "T41", "T40", "T43" ], "free": [ "X63", "X64" ], "exprvars": [ "T42", "T41", "T24", "T40", "T23", "T22", "T21", "T43" ] } }, "2236": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T40 T43 T44)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "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": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T41", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T44", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T42", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T40", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T40", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T42", "T41", "T40", "T44", "T43" ], "free": [ "X63", "X64" ], "exprvars": [ "T42", "T41", "T24", "T40", "T23", "T22", "T44", "T21", "T43" ] } }, "5": { "goal": [{ "clause": 0, "scope": 1, "term": "(test_fun T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "2213": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X63 (+ T41 (1))) (',' (>= T40 X63) (',' (is X64 (+ T42 (1))) (loop T40 X63 X64))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "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": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T40", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T40", "T41", "T42" ], "free": [ "X63", "X64" ], "exprvars": [ "T42", "T41", "T24", "T40", "T23", "T22", "T21" ] } }, "2235": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "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": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T41", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T40", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T40", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T42", "T41", "T40", "T43" ], "free": [ "X63", "X64" ], "exprvars": [ "T42", "T41", "T24", "T40", "T23", "T22", "T21", "T43" ] } }, "2212": { "goal": [{ "clause": 2, "scope": 3, "term": "(loop T21 T23 T24)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T24", "T23", "T21" ], "free": [], "exprvars": [ "T24", "T23", "T22", "T21" ] } }, "2234": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X64 (+ T42 (1))) (loop T40 T43 X64))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "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": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T41", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T40", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T40", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T42", "T41", "T40", "T43" ], "free": [ "X63", "X64" ], "exprvars": [ "T42", "T41", "T24", "T40", "T23", "T22", "T21", "T43" ] } }, "2211": { "goal": [{ "clause": 1, "scope": 3, "term": "(loop T21 T23 T24)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T22", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T23", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T24", "T23", "T21" ], "free": [], "exprvars": [ "T24", "T23", "T22", "T21" ] } }, "9": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T9 T10 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } } }, "edges": [ { "from": 3, "to": 5, "label": "CASE" }, { "from": 5, "to": 9, "label": "ONLY EVAL with clause\ntest_fun(X11, X12) :- loop(X11, X12, 0).\nand substitutionT1 -> T9,\nX11 -> T9,\nT2 -> T10,\nX12 -> T10" }, { "from": 9, "to": 13, "label": "CASE" }, { "from": 13, "to": 16, "label": "PARALLEL" }, { "from": 13, "to": 17, "label": "PARALLEL" }, { "from": 16, "to": 18, "label": "ONLY EVAL with clause\nloop(X34, X35, X36) :- ','(is(X37, +(X35, 1)), ','(>=(X34, X37), ','(is(X38, +(X36, 1)), loop(X34, X37, X38)))).\nand substitutionT9 -> T21,\nX34 -> T21,\nT10 -> T22,\nX35 -> T22,\nX36 -> 0" }, { "from": 17, "to": 2273, "label": "ONLY EVAL with clause\nloop(X88, X89, X90) :- ','(is(X91, +(X89, 1)), <(X88, X91)).\nand substitutionT9 -> T62,\nX88 -> T62,\nT10 -> T63,\nX89 -> T63,\nX90 -> 0" }, { "from": 18, "to": 19, "label": "IS ERROR" }, { "from": 18, "to": 29, "label": "\nX37 -> T23" }, { "from": 29, "to": 30, "label": "IS ERROR" }, { "from": 29, "to": 2207, "label": "ARITHCOMP SUCCESS" }, { "from": 29, "to": 2208, "label": "ARITHCOMP FAIL" }, { "from": 2207, "to": 2209, "label": "\nX38 -> T24" }, { "from": 2209, "to": 2210, "label": "CASE" }, { "from": 2210, "to": 2211, "label": "PARALLEL" }, { "from": 2210, "to": 2212, "label": "PARALLEL" }, { "from": 2211, "to": 2213, "label": "ONLY EVAL with clause\nloop(X60, X61, X62) :- ','(is(X63, +(X61, 1)), ','(>=(X60, X63), ','(is(X64, +(X62, 1)), loop(X60, X63, X64)))).\nand substitutionT21 -> T40,\nX60 -> T40,\nT23 -> T41,\nX61 -> T41,\nT24 -> T42,\nX62 -> T42" }, { "from": 2212, "to": 2259, "label": "ONLY EVAL with clause\nloop(X77, X78, X79) :- ','(is(X80, +(X78, 1)), <(X77, X80)).\nand substitutionT21 -> T54,\nX77 -> T54,\nT23 -> T55,\nX78 -> T55,\nT24 -> T56,\nX79 -> T56" }, { "from": 2213, "to": 2214, "label": "\nX63 -> T43" }, { "from": 2214, "to": 2234, "label": "ARITHCOMP SUCCESS" }, { "from": 2214, "to": 2235, "label": "ARITHCOMP FAIL" }, { "from": 2234, "to": 2236, "label": "\nX64 -> T44" }, { "from": 2236, "to": 2209, "label": "INSTANCE with matching:\nT21 -> T40\nT23 -> T43\nT24 -> T44\nX37 -> X63\nX38 -> X64" }, { "from": 2259, "to": 2260, "label": "\nX80 -> T57" }, { "from": 2260, "to": 2270, "label": "ARITHCOMP SUCCESS" }, { "from": 2260, "to": 2271, "label": "ARITHCOMP FAIL" }, { "from": 2270, "to": 2272, "label": "SUCCESS" }, { "from": 2273, "to": 2274, "label": "IS ERROR" }, { "from": 2273, "to": 2275, "label": "\nX91 -> T64" }, { "from": 2275, "to": 2276, "label": "IS ERROR" }, { "from": 2275, "to": 2291, "label": "ARITHCOMP SUCCESS" }, { "from": 2275, "to": 2292, "label": "ARITHCOMP FAIL" }, { "from": 2291, "to": 2293, "label": "SUCCESS" } ], "type": "Graph" } } ---------------------------------------- (2) Obligation: Rules: f2213_out(T41, T40, T42) -> f2211_out(T40, T41, T42) :|: TRUE f2211_in(x, x1, x2) -> f2213_in(x1, x, x2) :|: TRUE f2214_out(x3, x4, x5, x6) -> f2213_out(x6, x3, x5) :|: TRUE f2213_in(x7, x8, x9) -> f2214_in(x8, x10, x9, x7) :|: x10 = x7 + 1 f2234_in(x11, x12, x13, x14) -> f2236_in(x12, x13, x15, x11, x14) :|: x15 = x11 + 1 f2236_out(x16, x17, x18, x19, x20) -> f2234_out(x19, x16, x17, x20) :|: TRUE f2210_out(T21, T23, T24) -> f2209_out(T21, T23, T24, T22) :|: TRUE f2209_in(x21, x22, x23, x24) -> f2210_in(x21, x22, x23) :|: TRUE f2236_in(x25, x26, x27, x28, x29) -> f2209_in(x25, x26, x27, x30) :|: TRUE f2209_out(x31, x32, x33, x34) -> f2236_out(x31, x32, x33, x35, x36) :|: TRUE f2210_in(x37, x38, x39) -> f2211_in(x37, x38, x39) :|: TRUE f2211_out(x40, x41, x42) -> f2210_out(x40, x41, x42) :|: TRUE f2212_out(x43, x44, x45) -> f2210_out(x43, x44, x45) :|: TRUE f2210_in(x46, x47, x48) -> f2212_in(x46, x47, x48) :|: TRUE f2235_out(x49, x50, x51, x52) -> f2214_out(x51, x52, x49, x50) :|: x51 < x52 f2214_in(x53, x54, x55, x56) -> f2235_in(x55, x56, x53, x54) :|: x53 < x54 f2234_out(x57, x58, x59, x60) -> f2214_out(x58, x59, x57, x60) :|: x58 >= x59 f2214_in(x61, x62, x63, x64) -> f2234_in(x63, x61, x62, x64) :|: x61 >= x62 f3_in(T1, T2) -> f5_in(T1, T2) :|: TRUE f5_out(x65, x66) -> f3_out(x65, x66) :|: TRUE f9_out(T9, T10) -> f5_out(T9, T10) :|: TRUE f5_in(x67, x68) -> f9_in(x67, x68) :|: TRUE f9_in(x69, x70) -> f13_in(x69, x70) :|: TRUE f13_out(x71, x72) -> f9_out(x71, x72) :|: TRUE f16_out(x73, x74) -> f13_out(x73, x74) :|: TRUE f17_out(x75, x76) -> f13_out(x75, x76) :|: TRUE f13_in(x77, x78) -> f16_in(x77, x78) :|: TRUE f13_in(x79, x80) -> f17_in(x79, x80) :|: TRUE f18_out(x81, x82) -> f16_out(x82, x81) :|: TRUE f16_in(x83, x84) -> f18_in(x84, x83) :|: TRUE f29_out(x85, x86, x87) -> f18_out(x87, x85) :|: TRUE f19_out -> f18_out(x88, x89) :|: TRUE f18_in(x90, x91) -> f19_in :|: TRUE f18_in(x92, x93) -> f29_in(x93, x94, x92) :|: x94 = x92 + 1 f30_out -> f29_out(x95, x96, x97) :|: TRUE f29_in(x98, x99, x100) -> f2207_in(x98, x99, x100) :|: x98 >= x99 f2207_out(x101, x102, x103) -> f29_out(x101, x102, x103) :|: x101 >= x102 f29_in(x104, x105, x106) -> f30_in :|: TRUE f2208_out(x107, x108, x109) -> f29_out(x109, x107, x108) :|: x109 < x107 f29_in(x110, x111, x112) -> f2208_in(x111, x112, x110) :|: x110 < x111 f2207_in(x113, x114, x115) -> f2209_in(x113, x114, x116, x115) :|: x116 = 0 + 1 f2209_out(x117, x118, x119, x120) -> f2207_out(x117, x118, x120) :|: TRUE Start term: f3_in(T1, T2) ---------------------------------------- (3) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f2211_in(x, x1, x2) -> f2213_in(x1, x, x2) :|: TRUE f2213_in(x7, x8, x9) -> f2214_in(x8, x10, x9, x7) :|: x10 = x7 + 1 f2234_in(x11, x12, x13, x14) -> f2236_in(x12, x13, x15, x11, x14) :|: x15 = x11 + 1 f2209_in(x21, x22, x23, x24) -> f2210_in(x21, x22, x23) :|: TRUE f2236_in(x25, x26, x27, x28, x29) -> f2209_in(x25, x26, x27, x30) :|: TRUE f2210_in(x37, x38, x39) -> f2211_in(x37, x38, x39) :|: TRUE f2214_in(x61, x62, x63, x64) -> f2234_in(x63, x61, x62, x64) :|: x61 >= x62 ---------------------------------------- (4) Obligation: Rules: f2211_in(x, x1, x2) -> f2213_in(x1, x, x2) :|: TRUE f2213_in(x7, x8, x9) -> f2214_in(x8, x10, x9, x7) :|: x10 = x7 + 1 f2234_in(x11, x12, x13, x14) -> f2236_in(x12, x13, x15, x11, x14) :|: x15 = x11 + 1 f2209_in(x21, x22, x23, x24) -> f2210_in(x21, x22, x23) :|: TRUE f2236_in(x25, x26, x27, x28, x29) -> f2209_in(x25, x26, x27, x30) :|: TRUE f2210_in(x37, x38, x39) -> f2211_in(x37, x38, x39) :|: TRUE f2214_in(x61, x62, x63, x64) -> f2234_in(x63, x61, x62, x64) :|: x61 >= x62 ---------------------------------------- (5) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (6) Obligation: Rules: f2234_in(x11:0, x12:0, x13:0, x14:0) -> f2234_in(x11:0 + 1, x12:0, x13:0 + 1, x13:0) :|: x13:0 + 1 <= x12:0 ---------------------------------------- (7) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (8) Obligation: Rules: f2234_in(x11:0, x12:0, x13:0, x14:0) -> f2234_in(arith, x12:0, arith1, x13:0) :|: x13:0 + 1 <= x12:0 && arith = x11:0 + 1 && arith1 = x13:0 + 1 ---------------------------------------- (9) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f2234_in(x11:0, x12:0, x13:0, x14:0) -> f2234_in(arith, x12:0, arith1, x13:0) :|: x13:0 + 1 <= x12:0 && arith = x11:0 + 1 && arith1 = x13:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (10) Obligation: Termination digraph: Nodes: (1) f2234_in(x11:0, x12:0, x13:0, x14:0) -> f2234_in(arith, x12:0, arith1, x13:0) :|: x13:0 + 1 <= x12:0 && arith = x11:0 + 1 && arith1 = x13:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (11) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (12) Obligation: Rules: f2234_in(x11:0:0, x12:0:0, x13:0:0, x14:0:0) -> f2234_in(x11:0:0 + 1, x12:0:0, x13:0:0 + 1, x13:0:0) :|: x13:0:0 + 1 <= x12:0:0 ---------------------------------------- (13) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f2234_in(x1, x2, x3, x4) -> f2234_in(x2, x3) ---------------------------------------- (14) Obligation: Rules: f2234_in(x12:0:0, x13:0:0) -> f2234_in(x12:0:0, x13:0:0 + 1) :|: x13:0:0 + 1 <= x12:0:0 ---------------------------------------- (15) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f2234_in(INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (16) Obligation: Rules: f2234_in(x12:0:0, x13:0:0) -> f2234_in(x12:0:0, c) :|: c = x13:0:0 + 1 && x13:0:0 + 1 <= x12:0:0 ---------------------------------------- (17) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f2234_in(x, x1)] = x - x1 The following rules are decreasing: f2234_in(x12:0:0, x13:0:0) -> f2234_in(x12:0:0, c) :|: c = x13:0:0 + 1 && x13:0:0 + 1 <= x12:0:0 The following rules are bounded: f2234_in(x12:0:0, x13:0:0) -> f2234_in(x12:0:0, c) :|: c = x13:0:0 + 1 && x13:0:0 + 1 <= x12:0:0 ---------------------------------------- (18) YES