/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, 38 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, 24 ms] (10) IRSwT (11) IntTRSCompressionProof [EQUIVALENT, 0 ms] (12) IRSwT (13) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (14) IRSwT (15) TempFilterProof [SOUND, 40 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) :- ','(>(X, Y), ','(is(Y1, +(Y, 1)), ','(is(C1, +(C, 1)), loop(X, Y1, C1)))). loop(X, Y, C) :- =<(X, Y). 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)", "(',' (> X Y) (',' (is Y1 (+ Y (1))) (',' (is C1 (+ C (1))) (loop X Y1 C1))))" ], [ "(loop X Y C)", "(=< X Y)" ] ] }, "graph": { "nodes": { "2012": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T61", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T62", "type": "PlainIntegerVariable" }, "operation": ">" }] }, "ground": [ "T62", "T61" ], "free": [], "exprvars": [ "T62", "T61" ] } }, "2011": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T61", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T62", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": [ "T62", "T61" ], "free": [], "exprvars": [ "T62", "T61" ] } }, "type": "Nodes", "1798": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": ">=" }] }, "ground": [ "T22", "T21" ], "free": [ "X36", "X37" ], "exprvars": [ "T22", "T21" ] } }, "1797": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X36 (+ T22 (1))) (',' (is X37 (+ (0) (1))) (loop T21 X36 X37)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }] }, "ground": [ "T22", "T21" ], "free": [ "X36", "X37" ], "exprvars": [ "T22", "T21" ] } }, "1994": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "1993": { "goal": [{ "clause": -1, "scope": -1, "term": "(=< T61 T62)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T61", "T62" ], "free": [], "exprvars": [] } }, "1992": { "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": "T22", "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": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [], "free": [], "exprvars": [ "T24", "T23", "T56", "T22", "T55", "T21", "T54" ] } }, "1991": { "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": "T22", "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": "T55", "type": "PlainIntegerVariable" }, "operation": ">" } ] }, "ground": [ "T55", "T54" ], "free": [], "exprvars": [ "T24", "T23", "T56", "T22", "T55", "T21", "T54" ] } }, "1938": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X37 (+ (0) (1))) (loop T21 T23 X37))" }], "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": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T23", "T22", "T21" ], "free": [ "X36", "X37" ], "exprvars": [ "T23", "T22", "T21" ] } }, "1959": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X62 (+ T41 (1))) (',' (is X63 (+ T42 (1))) (loop T40 X62 X63)))" }], "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": "T22", "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": "T41", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T40", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T42", "T41", "T40" ], "free": [ "X62", "X63" ], "exprvars": [ "T42", "T41", "T24", "T40", "T23", "T22", "T21" ] } }, "10": { "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": [] } }, "13": { "goal": [{ "clause": 1, "scope": 2, "term": "(loop T9 T10 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "14": { "goal": [{ "clause": 2, "scope": 2, "term": "(loop T9 T10 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "15": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T21 T22) (',' (is X36 (+ T22 (1))) (',' (is X37 (+ (0) (1))) (loop T21 X36 X37))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T21", "T22" ], "free": [ "X36", "X37" ], "exprvars": [] } }, "17": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "1990": { "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": "T22", "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": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T55", "T54" ], "free": [], "exprvars": [ "T24", "T23", "T56", "T22", "T55", "T21", "T54" ] } }, "1943": { "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": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T24", "T23", "T21" ], "free": [], "exprvars": [ "T24", "T23", "T22", "T21" ] } }, "1942": { "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": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T24", "T23", "T21" ], "free": [], "exprvars": [ "T24", "T23", "T22", "T21" ] } }, "1941": { "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": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T24", "T23", "T22", "T21" ], "free": [ "X36", "X37" ], "exprvars": [ "T24", "T23", "T22", "T21" ] } }, "3": { "goal": [{ "clause": -1, "scope": -1, "term": "(test_fun T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "1962": { "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": "T22", "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": "T41", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T40", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T42", "T41", "T40", "T44", "T43" ], "free": [ "X62", "X63" ], "exprvars": [ "T42", "T41", "T24", "T40", "T23", "T22", "T44", "T21", "T43" ] } }, "1961": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X63 (+ T42 (1))) (loop T40 T43 X63))" }], "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": "T22", "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": "T41", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T40", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T42", "T41", "T40", "T43" ], "free": [ "X62", "X63" ], "exprvars": [ "T42", "T41", "T24", "T40", "T23", "T22", "T21", "T43" ] } }, "1960": { "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": "T22", "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": "T41", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T40", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T42", "T41", "T40" ], "free": [ "X62", "X63" ], "exprvars": [ "T42", "T41", "T24", "T40", "T23", "T22", "T21" ] } }, "6": { "goal": [{ "clause": 0, "scope": 1, "term": "(test_fun T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "2013": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T61", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T62", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": [], "free": [], "exprvars": [ "T62", "T61" ] } }, "8": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T9 T10 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "1945": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T40 T41) (',' (is X62 (+ T41 (1))) (',' (is X63 (+ T42 (1))) (loop T40 X62 X63))))" }], "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": "T22", "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": [ "X62", "X63" ], "exprvars": [ "T42", "T41", "T24", "T40", "T23", "T22", "T21" ] } }, "1967": { "goal": [{ "clause": -1, "scope": -1, "term": "(=< T54 T55)" }], "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": "T22", "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": [], "exprvars": [ "T24", "T23", "T56", "T22", "T55", "T21", "T54" ] } }, "1944": { "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": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T24", "T23", "T21" ], "free": [], "exprvars": [ "T24", "T23", "T22", "T21" ] } } }, "edges": [ { "from": 3, "to": 6, "label": "CASE" }, { "from": 6, "to": 8, "label": "ONLY EVAL with clause\ntest_fun(X10, X11) :- loop(X10, X11, 0).\nand substitutionT1 -> T9,\nX10 -> T9,\nT2 -> T10,\nX11 -> T10" }, { "from": 8, "to": 10, "label": "CASE" }, { "from": 10, "to": 13, "label": "PARALLEL" }, { "from": 10, "to": 14, "label": "PARALLEL" }, { "from": 13, "to": 15, "label": "ONLY EVAL with clause\nloop(X33, X34, X35) :- ','(>(X33, X34), ','(is(X36, +(X34, 1)), ','(is(X37, +(X35, 1)), loop(X33, X36, X37)))).\nand substitutionT9 -> T21,\nX33 -> T21,\nT10 -> T22,\nX34 -> T22,\nX35 -> 0" }, { "from": 14, "to": 1993, "label": "ONLY EVAL with clause\nloop(X84, X85, X86) :- =<(X84, X85).\nand substitutionT9 -> T61,\nX84 -> T61,\nT10 -> T62,\nX85 -> T62,\nX86 -> 0" }, { "from": 15, "to": 17, "label": "IS ERROR" }, { "from": 15, "to": 1797, "label": "ARITHCOMP SUCCESS" }, { "from": 15, "to": 1798, "label": "ARITHCOMP FAIL" }, { "from": 1797, "to": 1938, "label": "\nX36 -> T23" }, { "from": 1938, "to": 1941, "label": "\nX37 -> T24" }, { "from": 1941, "to": 1942, "label": "CASE" }, { "from": 1942, "to": 1943, "label": "PARALLEL" }, { "from": 1942, "to": 1944, "label": "PARALLEL" }, { "from": 1943, "to": 1945, "label": "ONLY EVAL with clause\nloop(X59, X60, X61) :- ','(>(X59, X60), ','(is(X62, +(X60, 1)), ','(is(X63, +(X61, 1)), loop(X59, X62, X63)))).\nand substitutionT21 -> T40,\nX59 -> T40,\nT23 -> T41,\nX60 -> T41,\nT24 -> T42,\nX61 -> T42" }, { "from": 1944, "to": 1967, "label": "ONLY EVAL with clause\nloop(X75, X76, X77) :- =<(X75, X76).\nand substitutionT21 -> T54,\nX75 -> T54,\nT23 -> T55,\nX76 -> T55,\nT24 -> T56,\nX77 -> T56" }, { "from": 1945, "to": 1959, "label": "ARITHCOMP SUCCESS" }, { "from": 1945, "to": 1960, "label": "ARITHCOMP FAIL" }, { "from": 1959, "to": 1961, "label": "\nX62 -> T43" }, { "from": 1961, "to": 1962, "label": "\nX63 -> T44" }, { "from": 1962, "to": 1941, "label": "INSTANCE with matching:\nT21 -> T40\nT23 -> T43\nT24 -> T44\nX36 -> X62\nX37 -> X63" }, { "from": 1967, "to": 1990, "label": "ARITHCOMP SUCCESS" }, { "from": 1967, "to": 1991, "label": "ARITHCOMP FAIL" }, { "from": 1990, "to": 1992, "label": "SUCCESS" }, { "from": 1993, "to": 1994, "label": "IS ERROR" }, { "from": 1993, "to": 2011, "label": "ARITHCOMP SUCCESS" }, { "from": 1993, "to": 2012, "label": "ARITHCOMP FAIL" }, { "from": 2011, "to": 2013, "label": "SUCCESS" } ], "type": "Graph" } } ---------------------------------------- (2) Obligation: Rules: f1959_in(T41, T42, T40) -> f1961_in(T42, T40, T43, T41) :|: T43 = T41 + 1 f1961_out(x, x1, x2, x3) -> f1959_out(x3, x, x1) :|: TRUE f1945_out(x4, x5, x6) -> f1943_out(x4, x5, x6) :|: TRUE f1943_in(x7, x8, x9) -> f1945_in(x7, x8, x9) :|: TRUE f1961_in(x10, x11, x12, x13) -> f1962_in(x11, x12, x14, x10, x13) :|: x14 = x10 + 1 f1962_out(x15, x16, x17, x18, x19) -> f1961_out(x18, x15, x16, x19) :|: TRUE f1943_out(T21, T23, T24) -> f1942_out(T21, T23, T24) :|: TRUE f1942_in(x20, x21, x22) -> f1944_in(x20, x21, x22) :|: TRUE f1942_in(x23, x24, x25) -> f1943_in(x23, x24, x25) :|: TRUE f1944_out(x26, x27, x28) -> f1942_out(x26, x27, x28) :|: TRUE f1942_out(x29, x30, x31) -> f1941_out(x29, x30, x31, x32) :|: TRUE f1941_in(x33, x34, x35, x36) -> f1942_in(x33, x34, x35) :|: TRUE f1962_in(x37, x38, x39, x40, x41) -> f1941_in(x37, x38, x39, x42) :|: TRUE f1941_out(x43, x44, x45, x46) -> f1962_out(x43, x44, x45, x47, x48) :|: TRUE f1945_in(x49, x50, x51) -> f1959_in(x50, x51, x49) :|: x49 > x50 f1959_out(x52, x53, x54) -> f1945_out(x54, x52, x53) :|: x54 > x52 f1960_out(x55, x56, x57) -> f1945_out(x57, x56, x55) :|: x57 <= x56 f1945_in(x58, x59, x60) -> f1960_in(x60, x59, x58) :|: x58 <= x59 f6_out(T1, T2) -> f3_out(T1, T2) :|: TRUE f3_in(x61, x62) -> f6_in(x61, x62) :|: TRUE f6_in(T9, T10) -> f8_in(T9, T10) :|: TRUE f8_out(x63, x64) -> f6_out(x63, x64) :|: TRUE f8_in(x65, x66) -> f10_in(x65, x66) :|: TRUE f10_out(x67, x68) -> f8_out(x67, x68) :|: TRUE f14_out(x69, x70) -> f10_out(x69, x70) :|: TRUE f10_in(x71, x72) -> f14_in(x71, x72) :|: TRUE f13_out(x73, x74) -> f10_out(x73, x74) :|: TRUE f10_in(x75, x76) -> f13_in(x75, x76) :|: TRUE f13_in(x77, x78) -> f15_in(x77, x78) :|: TRUE f15_out(x79, x80) -> f13_out(x79, x80) :|: TRUE f17_out -> f15_out(x81, x82) :|: TRUE f15_in(x83, x84) -> f1798_in(x84, x83) :|: x83 <= x84 f15_in(x85, x86) -> f17_in :|: TRUE f1797_out(x87, x88) -> f15_out(x88, x87) :|: x88 > x87 f15_in(x89, x90) -> f1797_in(x90, x89) :|: x89 > x90 f1798_out(x91, x92) -> f15_out(x92, x91) :|: x92 <= x91 f1797_in(x93, x94) -> f1938_in(x94, x95, x93) :|: x95 = x93 + 1 f1938_out(x96, x97, x98) -> f1797_out(x98, x96) :|: TRUE f1938_in(x99, x100, x101) -> f1941_in(x99, x100, x102, x101) :|: x102 = 0 + 1 f1941_out(x103, x104, x105, x106) -> f1938_out(x103, x104, x106) :|: TRUE Start term: f3_in(T1, T2) ---------------------------------------- (3) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f1959_in(T41, T42, T40) -> f1961_in(T42, T40, T43, T41) :|: T43 = T41 + 1 f1943_in(x7, x8, x9) -> f1945_in(x7, x8, x9) :|: TRUE f1961_in(x10, x11, x12, x13) -> f1962_in(x11, x12, x14, x10, x13) :|: x14 = x10 + 1 f1942_in(x23, x24, x25) -> f1943_in(x23, x24, x25) :|: TRUE f1941_in(x33, x34, x35, x36) -> f1942_in(x33, x34, x35) :|: TRUE f1962_in(x37, x38, x39, x40, x41) -> f1941_in(x37, x38, x39, x42) :|: TRUE f1945_in(x49, x50, x51) -> f1959_in(x50, x51, x49) :|: x49 > x50 ---------------------------------------- (4) Obligation: Rules: f1959_in(T41, T42, T40) -> f1961_in(T42, T40, T43, T41) :|: T43 = T41 + 1 f1943_in(x7, x8, x9) -> f1945_in(x7, x8, x9) :|: TRUE f1961_in(x10, x11, x12, x13) -> f1962_in(x11, x12, x14, x10, x13) :|: x14 = x10 + 1 f1942_in(x23, x24, x25) -> f1943_in(x23, x24, x25) :|: TRUE f1941_in(x33, x34, x35, x36) -> f1942_in(x33, x34, x35) :|: TRUE f1962_in(x37, x38, x39, x40, x41) -> f1941_in(x37, x38, x39, x42) :|: TRUE f1945_in(x49, x50, x51) -> f1959_in(x50, x51, x49) :|: x49 > x50 ---------------------------------------- (5) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (6) Obligation: Rules: f1959_in(T41:0, T42:0, T40:0) -> f1959_in(T41:0 + 1, T42:0 + 1, T40:0) :|: T41:0 + 1 < T40:0 ---------------------------------------- (7) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (8) Obligation: Rules: f1959_in(T41:0, T42:0, T40:0) -> f1959_in(arith, arith1, T40:0) :|: T41:0 + 1 < T40:0 && arith = T41:0 + 1 && arith1 = T42:0 + 1 ---------------------------------------- (9) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1959_in(T41:0, T42:0, T40:0) -> f1959_in(arith, arith1, T40:0) :|: T41:0 + 1 < T40:0 && arith = T41:0 + 1 && arith1 = T42:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (10) Obligation: Termination digraph: Nodes: (1) f1959_in(T41:0, T42:0, T40:0) -> f1959_in(arith, arith1, T40:0) :|: T41:0 + 1 < T40:0 && arith = T41:0 + 1 && arith1 = T42:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (11) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (12) Obligation: Rules: f1959_in(T41:0:0, T42:0:0, T40:0:0) -> f1959_in(T41:0:0 + 1, T42:0:0 + 1, T40:0:0) :|: T41:0:0 + 1 < T40:0:0 ---------------------------------------- (13) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f1959_in(x1, x2, x3) -> f1959_in(x1, x3) ---------------------------------------- (14) Obligation: Rules: f1959_in(T41:0:0, T40:0:0) -> f1959_in(T41:0:0 + 1, T40:0:0) :|: T41:0:0 + 1 < T40:0:0 ---------------------------------------- (15) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1959_in(INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (16) Obligation: Rules: f1959_in(T41:0:0, T40:0:0) -> f1959_in(c, T40:0:0) :|: c = T41:0:0 + 1 && T41:0:0 + 1 < T40:0:0 ---------------------------------------- (17) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f1959_in(x, x1)] = -x + x1 The following rules are decreasing: f1959_in(T41:0:0, T40:0:0) -> f1959_in(c, T40:0:0) :|: c = T41:0:0 + 1 && T41:0:0 + 1 < T40:0:0 The following rules are bounded: f1959_in(T41:0:0, T40:0:0) -> f1959_in(c, T40:0:0) :|: c = T41:0:0 + 1 && T41:0:0 + 1 < T40:0:0 ---------------------------------------- (18) YES