/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.pl /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.pl # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Left Termination of the query pattern test_fun(g,g) w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) PrologToIRSwTTransformerProof [SOUND, 39 ms] (2) IRSwT (3) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (4) IRSwT (5) IntTRSCompressionProof [EQUIVALENT, 19 ms] (6) IRSwT (7) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (8) IRSwT (9) IRSwTTerminationDigraphProof [EQUIVALENT, 5 ms] (10) IRSwT (11) IntTRSCompressionProof [EQUIVALENT, 1 ms] (12) IRSwT (13) TempFilterProof [SOUND, 39 ms] (14) IntTRS (15) RankingReductionPairProof [EQUIVALENT, 26 ms] (16) YES ---------------------------------------- (0) Obligation: Clauses: test_fun(X, Y) :- ','(>(X, 0), loop(X, Y)). loop(X, Y) :- ','(>(X, Y), ','(>(X, 0), ','(is(Y1, +(Y, X)), loop(X, Y1)))). loop(X, Y) :- =<(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)", "(',' (> X (0)) (loop X Y))" ], [ "(loop X Y)", "(',' (> X Y) (',' (> X (0)) (',' (is Y1 (+ Y X)) (loop X Y1))))" ], [ "(loop X Y)", "(=< X Y)" ] ] }, "graph": { "nodes": { "11": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "type": "Nodes", "1921": { "goal": [{ "clause": 1, "scope": 2, "term": "(loop T7 T8)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }] }, "ground": [ "T7", "T8" ], "free": [], "exprvars": ["T7"] } }, "1920": { "goal": [ { "clause": 1, "scope": 2, "term": "(loop T7 T8)" }, { "clause": 2, "scope": 2, "term": "(loop T7 T8)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }] }, "ground": [ "T7", "T8" ], "free": [], "exprvars": ["T7"] } }, "1975": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "1974": { "goal": [{ "clause": -1, "scope": -1, "term": "(=< T28 T29)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T28", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T28", "T29" ], "free": [], "exprvars": [ "T7", "T28" ] } }, "3": { "goal": [{ "clause": -1, "scope": -1, "term": "(test_fun T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "6": { "goal": [{ "clause": 0, "scope": 1, "term": "(test_fun T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "1981": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T28", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T28", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T29", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [], "free": [], "exprvars": [ "T29", "T7", "T28" ] } }, "1980": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T28", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T28", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T29", "type": "PlainIntegerVariable" }, "operation": ">" } ] }, "ground": [ "T29", "T28" ], "free": [], "exprvars": [ "T29", "T7", "T28" ] } }, "8": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T7 (0)) (loop T7 T8))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T7", "T8" ], "free": [], "exprvars": [] } }, "1917": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": ">=" }] }, "ground": [ "T7", "T8" ], "free": [], "exprvars": ["T7"] } }, "1915": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T7 T8)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }] }, "ground": [ "T7", "T8" ], "free": [], "exprvars": ["T7"] } }, "1937": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T19", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T20", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T19", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T20", "T19" ], "free": ["X22"], "exprvars": [ "T20", "T19", "T7" ] } }, "1924": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "1946": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T19 T21)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T21", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T20", "type": "PlainIntegerVariable" }, { "name": "T19", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T19", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T20", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T19", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T19", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T20", "T19", "T21" ], "free": ["X22"], "exprvars": [ "T20", "T19", "T7", "T21" ] } }, "1979": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T28", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T28", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T29", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T29", "T28" ], "free": [], "exprvars": [ "T29", "T7", "T28" ] } }, "1923": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T19 T20) (',' (> T19 (0)) (',' (is X22 (+ T20 T19)) (loop T19 X22))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T19", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T19", "T20" ], "free": ["X22"], "exprvars": [ "T19", "T7" ] } }, "1934": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T19 (0)) (',' (is X22 (+ T20 T19)) (loop T19 X22)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T19", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T20", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T19", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T20", "T19" ], "free": ["X22"], "exprvars": [ "T20", "T19", "T7" ] } }, "1945": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T19", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T20", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T19", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T19", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T20", "T19" ], "free": ["X22"], "exprvars": [ "T20", "T19", "T7" ] } }, "1922": { "goal": [{ "clause": 2, "scope": 2, "term": "(loop T7 T8)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }] }, "ground": [ "T7", "T8" ], "free": [], "exprvars": ["T7"] } }, "1944": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X22 (+ T20 T19)) (loop T19 X22))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T19", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T7", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T20", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T19", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T19", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T20", "T19" ], "free": ["X22"], "exprvars": [ "T20", "T19", "T7" ] } } }, "edges": [ { "from": 3, "to": 6, "label": "CASE" }, { "from": 6, "to": 8, "label": "ONLY EVAL with clause\ntest_fun(X5, X6) :- ','(>(X5, 0), loop(X5, X6)).\nand substitutionT1 -> T7,\nX5 -> T7,\nT2 -> T8,\nX6 -> T8" }, { "from": 8, "to": 11, "label": "IS ERROR" }, { "from": 8, "to": 1915, "label": "ARITHCOMP SUCCESS" }, { "from": 8, "to": 1917, "label": "ARITHCOMP FAIL" }, { "from": 1915, "to": 1920, "label": "CASE" }, { "from": 1920, "to": 1921, "label": "PARALLEL" }, { "from": 1920, "to": 1922, "label": "PARALLEL" }, { "from": 1921, "to": 1923, "label": "ONLY EVAL with clause\nloop(X20, X21) :- ','(>(X20, X21), ','(>(X20, 0), ','(is(X22, +(X21, X20)), loop(X20, X22)))).\nand substitutionT7 -> T19,\nX20 -> T19,\nT8 -> T20,\nX21 -> T20" }, { "from": 1922, "to": 1974, "label": "ONLY EVAL with clause\nloop(X30, X31) :- =<(X30, X31).\nand substitutionT7 -> T28,\nX30 -> T28,\nT8 -> T29,\nX31 -> T29" }, { "from": 1923, "to": 1924, "label": "IS ERROR" }, { "from": 1923, "to": 1934, "label": "ARITHCOMP SUCCESS" }, { "from": 1923, "to": 1937, "label": "ARITHCOMP FAIL" }, { "from": 1934, "to": 1944, "label": "ARITHCOMP SUCCESS" }, { "from": 1934, "to": 1945, "label": "ARITHCOMP FAIL" }, { "from": 1944, "to": 1946, "label": "\nX22 -> T21" }, { "from": 1946, "to": 1915, "label": "INSTANCE with matching:\nT7 -> T19\nT8 -> T21" }, { "from": 1974, "to": 1975, "label": "IS ERROR" }, { "from": 1974, "to": 1979, "label": "ARITHCOMP SUCCESS" }, { "from": 1974, "to": 1980, "label": "ARITHCOMP FAIL" }, { "from": 1979, "to": 1981, "label": "SUCCESS" } ], "type": "Graph" } } ---------------------------------------- (2) Obligation: Rules: f1946_in(T19, T21, T20) -> f1915_in(T19, T21) :|: TRUE f1915_out(x, x1) -> f1946_out(x, x1, x2) :|: TRUE f1915_in(T7, T8) -> f1920_in(T7, T8) :|: TRUE f1920_out(x3, x4) -> f1915_out(x3, x4) :|: TRUE f1920_in(x5, x6) -> f1921_in(x5, x6) :|: TRUE f1921_out(x7, x8) -> f1920_out(x7, x8) :|: TRUE f1922_out(x9, x10) -> f1920_out(x9, x10) :|: TRUE f1920_in(x11, x12) -> f1922_in(x11, x12) :|: TRUE f1923_out(x13, x14) -> f1921_out(x13, x14) :|: TRUE f1921_in(x15, x16) -> f1923_in(x15, x16) :|: TRUE f1944_in(x17, x18) -> f1946_in(x18, x19, x17) :|: x19 = x17 + x18 f1946_out(x20, x21, x22) -> f1944_out(x22, x20) :|: TRUE f1934_in(x23, x24) -> f1945_in(x24, x23) :|: x23 <= 0 f1944_out(x25, x26) -> f1934_out(x26, x25) :|: x26 > 0 f1945_out(x27, x28) -> f1934_out(x28, x27) :|: x28 <= 0 f1934_in(x29, x30) -> f1944_in(x30, x29) :|: x29 > 0 f1924_out -> f1923_out(x31, x32) :|: TRUE f1923_in(x33, x34) -> f1934_in(x33, x34) :|: x33 > x34 f1923_in(x35, x36) -> f1937_in(x36, x35) :|: x35 <= x36 f1937_out(x37, x38) -> f1923_out(x38, x37) :|: x38 <= x37 f1934_out(x39, x40) -> f1923_out(x39, x40) :|: x39 > x40 f1923_in(x41, x42) -> f1924_in :|: TRUE f6_out(T1, T2) -> f3_out(T1, T2) :|: TRUE f3_in(x43, x44) -> f6_in(x43, x44) :|: TRUE f6_in(x45, x46) -> f8_in(x45, x46) :|: TRUE f8_out(x47, x48) -> f6_out(x47, x48) :|: TRUE f8_in(x49, x50) -> f1915_in(x49, x50) :|: x49 > 0 f1917_out(x51, x52) -> f8_out(x51, x52) :|: x51 <= 0 f8_in(x53, x54) -> f1917_in(x53, x54) :|: x53 <= 0 f11_out -> f8_out(x55, x56) :|: TRUE f1915_out(x57, x58) -> f8_out(x57, x58) :|: x57 > 0 f8_in(x59, x60) -> f11_in :|: TRUE Start term: f3_in(T1, T2) ---------------------------------------- (3) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f1946_in(T19, T21, T20) -> f1915_in(T19, T21) :|: TRUE f1915_in(T7, T8) -> f1920_in(T7, T8) :|: TRUE f1920_in(x5, x6) -> f1921_in(x5, x6) :|: TRUE f1921_in(x15, x16) -> f1923_in(x15, x16) :|: TRUE f1944_in(x17, x18) -> f1946_in(x18, x19, x17) :|: x19 = x17 + x18 f1934_in(x29, x30) -> f1944_in(x30, x29) :|: x29 > 0 f1923_in(x33, x34) -> f1934_in(x33, x34) :|: x33 > x34 ---------------------------------------- (4) Obligation: Rules: f1946_in(T19, T21, T20) -> f1915_in(T19, T21) :|: TRUE f1915_in(T7, T8) -> f1920_in(T7, T8) :|: TRUE f1920_in(x5, x6) -> f1921_in(x5, x6) :|: TRUE f1921_in(x15, x16) -> f1923_in(x15, x16) :|: TRUE f1944_in(x17, x18) -> f1946_in(x18, x19, x17) :|: x19 = x17 + x18 f1934_in(x29, x30) -> f1944_in(x30, x29) :|: x29 > 0 f1923_in(x33, x34) -> f1934_in(x33, x34) :|: x33 > x34 ---------------------------------------- (5) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (6) Obligation: Rules: f1934_in(x29:0, x30:0) -> f1934_in(x29:0, x30:0 + x29:0) :|: x29:0 > 0 && x30:0 + x29:0 < x29:0 ---------------------------------------- (7) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (8) Obligation: Rules: f1934_in(x29:0, x30:0) -> f1934_in(x29:0, arith) :|: x29:0 > 0 && x30:0 + x29:0 < x29:0 && arith = x30:0 + x29:0 ---------------------------------------- (9) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1934_in(x29:0, x30:0) -> f1934_in(x29:0, arith) :|: x29:0 > 0 && x30:0 + x29:0 < x29:0 && arith = x30:0 + x29:0 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (10) Obligation: Termination digraph: Nodes: (1) f1934_in(x29:0, x30:0) -> f1934_in(x29:0, arith) :|: x29:0 > 0 && x30:0 + x29:0 < x29:0 && arith = x30:0 + x29:0 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (11) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (12) Obligation: Rules: f1934_in(x29:0:0, x30:0:0) -> f1934_in(x29:0:0, x30:0:0 + x29:0:0) :|: x29:0:0 > 0 && x30:0:0 + x29:0:0 < x29:0:0 ---------------------------------------- (13) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1934_in(INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (14) Obligation: Rules: f1934_in(x29:0:0, x30:0:0) -> f1934_in(x29:0:0, c) :|: c = x30:0:0 + x29:0:0 && (x29:0:0 > 0 && x30:0:0 + x29:0:0 < x29:0:0) ---------------------------------------- (15) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f1934_in ] = -1*f1934_in_2 The following rules are decreasing: f1934_in(x29:0:0, x30:0:0) -> f1934_in(x29:0:0, c) :|: c = x30:0:0 + x29:0:0 && (x29:0:0 > 0 && x30:0:0 + x29:0:0 < x29:0:0) The following rules are bounded: f1934_in(x29:0:0, x30:0:0) -> f1934_in(x29:0:0, c) :|: c = x30:0:0 + x29:0:0 && (x29:0:0 > 0 && x30:0:0 + x29:0:0 < x29:0:0) ---------------------------------------- (16) YES