/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.pl /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.pl # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Left Termination of the query pattern iterate(g) w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) PrologToIRSwTTransformerProof [SOUND, 45 ms] (2) IRSwT (3) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (4) IRSwT (5) IntTRSCompressionProof [EQUIVALENT, 31 ms] (6) IRSwT (7) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (8) IRSwT (9) IRSwTTerminationDigraphProof [EQUIVALENT, 37 ms] (10) IRSwT (11) IntTRSCompressionProof [EQUIVALENT, 0 ms] (12) IRSwT (13) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 1 ms] (14) IRSwT (15) TempFilterProof [SOUND, 36 ms] (16) IntTRS (17) PolynomialOrderProcessor [EQUIVALENT, 13 ms] (18) YES ---------------------------------------- (0) Obligation: Clauses: iterate(Bound) :- loop(Bound, 0, 0). loop(Bound, I, Sum) :- ','(<(I, Bound), ','(is(Sum1, +(Sum, I)), ','(is(I1, +(I, 1)), loop(Bound, I1, Sum1)))). loop(Bound, I, Sum) :- >=(I, Bound). Query: iterate(g) ---------------------------------------- (1) PrologToIRSwTTransformerProof (SOUND) Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert { "root": 5, "program": { "directives": [], "clauses": [ [ "(iterate Bound)", "(loop Bound (0) (0))" ], [ "(loop Bound I Sum)", "(',' (< I Bound) (',' (is Sum1 (+ Sum I)) (',' (is I1 (+ I (1))) (loop Bound I1 Sum1))))" ], [ "(loop Bound I Sum)", "(>= I Bound)" ] ] }, "graph": { "nodes": { "22": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "1186": { "goal": [ { "clause": 1, "scope": 3, "term": "(loop T11 T13 T12)" }, { "clause": 2, "scope": 3, "term": "(loop T11 T13 T12)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T13", "T12", "T11" ], "free": [], "exprvars": [ "T13", "T12", "T11" ] } }, "1184": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T11 T13 T12)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T13", "T12", "T11" ], "free": [ "X33", "X34" ], "exprvars": [ "T13", "T12", "T11" ] } }, "type": "Nodes", "1182": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X34 (+ (0) (1))) (loop T11 X34 T12))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T12", "T11" ], "free": [ "X33", "X34" ], "exprvars": [ "T12", "T11" ] } }, "1976": { "goal": [{ "clause": -1, "scope": -1, "term": "(>= (0) T48)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T48"], "free": [], "exprvars": [] } }, "1975": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "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": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T44", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [], "free": [], "exprvars": [ "T13", "T12", "T45", "T11", "T44", "T43" ] } }, "1831": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (< T30 T29) (',' (is X59 (+ T31 T30)) (',' (is X60 (+ T30 (1))) (loop T29 X60 X59))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "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": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T29", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T29", "T30", "T31" ], "free": [ "X59", "X60" ], "exprvars": [ "T31", "T30", "T13", "T29", "T12", "T11" ] } }, "1974": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "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": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T44", "type": "PlainIntegerVariable" }, "operation": ">" } ] }, "ground": [ "T44", "T43" ], "free": [], "exprvars": [ "T13", "T12", "T45", "T11", "T44", "T43" ] } }, "1159": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": ">=" }] }, "ground": ["T11"], "free": [ "X33", "X34" ], "exprvars": ["T11"] } }, "1830": { "goal": [{ "clause": 2, "scope": 3, "term": "(loop T11 T13 T12)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T13", "T12", "T11" ], "free": [], "exprvars": [ "T13", "T12", "T11" ] } }, "1973": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "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": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T44", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T44", "T43" ], "free": [], "exprvars": [ "T13", "T12", "T45", "T11", "T44", "T43" ] } }, "1157": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X33 (+ (0) (0))) (',' (is X34 (+ (0) (1))) (loop T11 X34 X33)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }] }, "ground": ["T11"], "free": [ "X33", "X34" ], "exprvars": ["T11"] } }, "10": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T5 (0) (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T5"], "free": [], "exprvars": [] } }, "1977": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "14": { "goal": [ { "clause": 1, "scope": 2, "term": "(loop T5 (0) (0))" }, { "clause": 2, "scope": 2, "term": "(loop T5 (0) (0))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T5"], "free": [], "exprvars": [] } }, "19": { "goal": [{ "clause": 1, "scope": 2, "term": "(loop T5 (0) (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T5"], "free": [], "exprvars": [] } }, "1891": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T29 T33 T32)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "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": "T32", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T31", "type": "PlainIntegerVariable" }, { "name": "T30", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T30", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T29", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T30", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T29", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T31", "T30", "T29", "T33", "T32" ], "free": [ "X59", "X60" ], "exprvars": [ "T31", "T30", "T13", "T29", "T12", "T11", "T33", "T32" ] } }, "1890": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X60 (+ T30 (1))) (loop T29 X60 T32))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "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": "T32", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T31", "type": "PlainIntegerVariable" }, { "name": "T30", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T29", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T30", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T29", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T31", "T30", "T29", "T32" ], "free": [ "X59", "X60" ], "exprvars": [ "T31", "T30", "T13", "T29", "T12", "T11", "T32" ] } }, "1888": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X59 (+ T31 T30)) (',' (is X60 (+ T30 (1))) (loop T29 X60 X59)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "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": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T29", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T30", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T29", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T31", "T30", "T29" ], "free": [ "X59", "X60" ], "exprvars": [ "T31", "T30", "T13", "T29", "T12", "T11" ] } }, "1985": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T48", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" }] }, "ground": [], "free": [], "exprvars": ["T48"] } }, "1984": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T48", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": ">" }] }, "ground": ["T48"], "free": [], "exprvars": ["T48"] } }, "1983": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T48", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" }] }, "ground": ["T48"], "free": [], "exprvars": ["T48"] } }, "5": { "goal": [{ "clause": -1, "scope": -1, "term": "(iterate T1)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "6": { "goal": [{ "clause": 0, "scope": 1, "term": "(iterate T1)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "1829": { "goal": [{ "clause": 1, "scope": 3, "term": "(loop T11 T13 T12)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T13", "T12", "T11" ], "free": [], "exprvars": [ "T13", "T12", "T11" ] } }, "1968": { "goal": [{ "clause": -1, "scope": -1, "term": "(>= T44 T43)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "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": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T43", "T44" ], "free": [], "exprvars": [ "T13", "T12", "T45", "T11", "T44", "T43" ] } }, "20": { "goal": [{ "clause": 2, "scope": 2, "term": "(loop T5 (0) (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T5"], "free": [], "exprvars": [] } }, "21": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (< (0) T11) (',' (is X33 (+ (0) (0))) (',' (is X34 (+ (0) (1))) (loop T11 X34 X33))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T11"], "free": [ "X33", "X34" ], "exprvars": [] } }, "1889": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "0" } ], "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": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T29", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T30", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T29", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T31", "T30", "T29" ], "free": [ "X59", "X60" ], "exprvars": [ "T31", "T30", "T13", "T29", "T12", "T11" ] } } }, "edges": [ { "from": 5, "to": 6, "label": "CASE" }, { "from": 6, "to": 10, "label": "ONLY EVAL with clause\niterate(X8) :- loop(X8, 0, 0).\nand substitutionT1 -> T5,\nX8 -> T5" }, { "from": 10, "to": 14, "label": "CASE" }, { "from": 14, "to": 19, "label": "PARALLEL" }, { "from": 14, "to": 20, "label": "PARALLEL" }, { "from": 19, "to": 21, "label": "ONLY EVAL with clause\nloop(X30, X31, X32) :- ','(<(X31, X30), ','(is(X33, +(X32, X31)), ','(is(X34, +(X31, 1)), loop(X30, X34, X33)))).\nand substitutionT5 -> T11,\nX30 -> T11,\nX31 -> 0,\nX32 -> 0" }, { "from": 20, "to": 1976, "label": "ONLY EVAL with clause\nloop(X81, X82, X83) :- >=(X82, X81).\nand substitutionT5 -> T48,\nX81 -> T48,\nX82 -> 0,\nX83 -> 0" }, { "from": 21, "to": 22, "label": "IS ERROR" }, { "from": 21, "to": 1157, "label": "ARITHCOMP SUCCESS" }, { "from": 21, "to": 1159, "label": "ARITHCOMP FAIL" }, { "from": 1157, "to": 1182, "label": "\nX33 -> T12" }, { "from": 1182, "to": 1184, "label": "\nX34 -> T13" }, { "from": 1184, "to": 1186, "label": "CASE" }, { "from": 1186, "to": 1829, "label": "PARALLEL" }, { "from": 1186, "to": 1830, "label": "PARALLEL" }, { "from": 1829, "to": 1831, "label": "ONLY EVAL with clause\nloop(X56, X57, X58) :- ','(<(X57, X56), ','(is(X59, +(X58, X57)), ','(is(X60, +(X57, 1)), loop(X56, X60, X59)))).\nand substitutionT11 -> T29,\nX56 -> T29,\nT13 -> T30,\nX57 -> T30,\nT12 -> T31,\nX58 -> T31" }, { "from": 1830, "to": 1968, "label": "ONLY EVAL with clause\nloop(X72, X73, X74) :- >=(X73, X72).\nand substitutionT11 -> T43,\nX72 -> T43,\nT13 -> T44,\nX73 -> T44,\nT12 -> T45,\nX74 -> T45" }, { "from": 1831, "to": 1888, "label": "ARITHCOMP SUCCESS" }, { "from": 1831, "to": 1889, "label": "ARITHCOMP FAIL" }, { "from": 1888, "to": 1890, "label": "\nX59 -> T32" }, { "from": 1890, "to": 1891, "label": "\nX60 -> T33" }, { "from": 1891, "to": 1184, "label": "INSTANCE with matching:\nT11 -> T29\nT13 -> T33\nT12 -> T32\nX33 -> X59\nX34 -> X60" }, { "from": 1968, "to": 1973, "label": "ARITHCOMP SUCCESS" }, { "from": 1968, "to": 1974, "label": "ARITHCOMP FAIL" }, { "from": 1973, "to": 1975, "label": "SUCCESS" }, { "from": 1976, "to": 1977, "label": "IS ERROR" }, { "from": 1976, "to": 1983, "label": "ARITHCOMP SUCCESS" }, { "from": 1976, "to": 1984, "label": "ARITHCOMP FAIL" }, { "from": 1983, "to": 1985, "label": "SUCCESS" } ], "type": "Graph" } } ---------------------------------------- (2) Obligation: Rules: f1186_in(T11, T13, T12) -> f1830_in(T11, T13, T12) :|: TRUE f1186_in(x, x1, x2) -> f1829_in(x, x1, x2) :|: TRUE f1829_out(x3, x4, x5) -> f1186_out(x3, x4, x5) :|: TRUE f1830_out(x6, x7, x8) -> f1186_out(x6, x7, x8) :|: TRUE f1890_out(T30, T29, T32, T31) -> f1888_out(T31, T30, T29) :|: TRUE f1888_in(x9, x10, x11) -> f1890_in(x10, x11, x12, x9) :|: x12 = x9 + x10 f1186_out(x13, x14, x15) -> f1184_out(x13, x14, x15) :|: TRUE f1184_in(x16, x17, x18) -> f1186_in(x16, x17, x18) :|: TRUE f1831_out(x19, x20, x21) -> f1829_out(x20, x19, x21) :|: TRUE f1829_in(x22, x23, x24) -> f1831_in(x23, x22, x24) :|: TRUE f1831_in(x25, x26, x27) -> f1889_in(x27, x25, x26) :|: x25 >= x26 f1889_out(x28, x29, x30) -> f1831_out(x29, x30, x28) :|: x29 >= x30 f1888_out(x31, x32, x33) -> f1831_out(x32, x33, x31) :|: x32 < x33 f1831_in(x34, x35, x36) -> f1888_in(x36, x34, x35) :|: x34 < x35 f1891_out(x37, x38, x39, x40, x41) -> f1890_out(x41, x37, x39, x40) :|: TRUE f1890_in(x42, x43, x44, x45) -> f1891_in(x43, x46, x44, x45, x42) :|: x46 = x42 + 1 f1184_out(x47, x48, x49) -> f1891_out(x47, x48, x49, x50, x51) :|: TRUE f1891_in(x52, x53, x54, x55, x56) -> f1184_in(x52, x53, x54) :|: TRUE f5_in(T1) -> f6_in(T1) :|: TRUE f6_out(x57) -> f5_out(x57) :|: TRUE f6_in(T5) -> f10_in(T5) :|: TRUE f10_out(x58) -> f6_out(x58) :|: TRUE f10_in(x59) -> f14_in(x59) :|: TRUE f14_out(x60) -> f10_out(x60) :|: TRUE f14_in(x61) -> f19_in(x61) :|: TRUE f19_out(x62) -> f14_out(x62) :|: TRUE f20_out(x63) -> f14_out(x63) :|: TRUE f14_in(x64) -> f20_in(x64) :|: TRUE f21_out(x65) -> f19_out(x65) :|: TRUE f19_in(x66) -> f21_in(x66) :|: TRUE f21_in(x67) -> f1157_in(x67) :|: 0 < x67 f21_in(x68) -> f22_in :|: TRUE f21_in(x69) -> f1159_in(x69) :|: 0 >= x69 f22_out -> f21_out(x70) :|: TRUE f1157_out(x71) -> f21_out(x71) :|: 0 < x71 f1159_out(x72) -> f21_out(x72) :|: 0 >= x72 f1182_out(x73, x74) -> f1157_out(x73) :|: TRUE f1157_in(x75) -> f1182_in(x75, x76) :|: x76 = 0 + 0 f1182_in(x77, x78) -> f1184_in(x77, x79, x78) :|: x79 = 0 + 1 f1184_out(x80, x81, x82) -> f1182_out(x80, x82) :|: TRUE Start term: f5_in(T1) ---------------------------------------- (3) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f1186_in(x, x1, x2) -> f1829_in(x, x1, x2) :|: TRUE f1888_in(x9, x10, x11) -> f1890_in(x10, x11, x12, x9) :|: x12 = x9 + x10 f1184_in(x16, x17, x18) -> f1186_in(x16, x17, x18) :|: TRUE f1829_in(x22, x23, x24) -> f1831_in(x23, x22, x24) :|: TRUE f1831_in(x34, x35, x36) -> f1888_in(x36, x34, x35) :|: x34 < x35 f1890_in(x42, x43, x44, x45) -> f1891_in(x43, x46, x44, x45, x42) :|: x46 = x42 + 1 f1891_in(x52, x53, x54, x55, x56) -> f1184_in(x52, x53, x54) :|: TRUE ---------------------------------------- (4) Obligation: Rules: f1186_in(x, x1, x2) -> f1829_in(x, x1, x2) :|: TRUE f1888_in(x9, x10, x11) -> f1890_in(x10, x11, x12, x9) :|: x12 = x9 + x10 f1184_in(x16, x17, x18) -> f1186_in(x16, x17, x18) :|: TRUE f1829_in(x22, x23, x24) -> f1831_in(x23, x22, x24) :|: TRUE f1831_in(x34, x35, x36) -> f1888_in(x36, x34, x35) :|: x34 < x35 f1890_in(x42, x43, x44, x45) -> f1891_in(x43, x46, x44, x45, x42) :|: x46 = x42 + 1 f1891_in(x52, x53, x54, x55, x56) -> f1184_in(x52, x53, x54) :|: TRUE ---------------------------------------- (5) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (6) Obligation: Rules: f1184_in(x16:0, x17:0, x18:0) -> f1184_in(x16:0, x17:0 + 1, x18:0 + x17:0) :|: x17:0 < x16:0 ---------------------------------------- (7) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (8) Obligation: Rules: f1184_in(x16:0, x17:0, x18:0) -> f1184_in(x16:0, arith, arith1) :|: x17:0 < x16:0 && arith = x17:0 + 1 && arith1 = x18:0 + x17:0 ---------------------------------------- (9) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1184_in(x16:0, x17:0, x18:0) -> f1184_in(x16:0, arith, arith1) :|: x17:0 < x16:0 && arith = x17:0 + 1 && arith1 = x18:0 + x17:0 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (10) Obligation: Termination digraph: Nodes: (1) f1184_in(x16:0, x17:0, x18:0) -> f1184_in(x16:0, arith, arith1) :|: x17:0 < x16:0 && arith = x17:0 + 1 && arith1 = x18:0 + x17:0 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (11) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (12) Obligation: Rules: f1184_in(x16:0:0, x17:0:0, x18:0:0) -> f1184_in(x16:0:0, x17:0:0 + 1, x18:0:0 + x17:0:0) :|: x17:0:0 < x16:0:0 ---------------------------------------- (13) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f1184_in(x1, x2, x3) -> f1184_in(x1, x2) ---------------------------------------- (14) Obligation: Rules: f1184_in(x16:0:0, x17:0:0) -> f1184_in(x16:0:0, x17:0:0 + 1) :|: x17:0:0 < x16:0:0 ---------------------------------------- (15) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1184_in(INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (16) Obligation: Rules: f1184_in(x16:0:0, x17:0:0) -> f1184_in(x16:0:0, c) :|: c = x17:0:0 + 1 && x17:0:0 < x16:0:0 ---------------------------------------- (17) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f1184_in(x, x1)] = x - x1 The following rules are decreasing: f1184_in(x16:0:0, x17:0:0) -> f1184_in(x16:0:0, c) :|: c = x17:0:0 + 1 && x17:0:0 < x16:0:0 The following rules are bounded: f1184_in(x16:0:0, x17:0:0) -> f1184_in(x16:0:0, c) :|: c = x17:0:0 + 1 && x17:0:0 < x16:0:0 ---------------------------------------- (18) YES