/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, 59 ms] (2) IRSwT (3) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (4) IRSwT (5) IntTRSCompressionProof [EQUIVALENT, 5 ms] (6) IRSwT (7) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (8) IRSwT (9) IRSwTTerminationDigraphProof [EQUIVALENT, 62 ms] (10) AND (11) IRSwT (12) IntTRSCompressionProof [EQUIVALENT, 0 ms] (13) IRSwT (14) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (15) IRSwT (16) TempFilterProof [SOUND, 33 ms] (17) IntTRS (18) RankingReductionPairProof [EQUIVALENT, 8 ms] (19) YES (20) IRSwT (21) IntTRSCompressionProof [EQUIVALENT, 0 ms] (22) IRSwT (23) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (24) IRSwT (25) TempFilterProof [SOUND, 9 ms] (26) IntTRS (27) RankingReductionPairProof [EQUIVALENT, 1 ms] (28) YES ---------------------------------------- (0) Obligation: Clauses: test_fun(X, Y) :- loop1(X, Y). loop1(X, Y) :- ','(>(X, 0), ','(>(Y, 0), ','(>(X, Y), loop2(X, Y)))). loop1(X, Y) :- ','(>(X, 0), ','(>(Y, 0), ','(=<(X, Y), loop3(X, Y)))). loop1(X, Y) :- >=(X, 0). loop1(X, Y) :- >=(Y, 0). loop2(X, Y) :- ','(>(X, 0), ','(is(X1, -(X, 1)), loop2(X1, Y))). loop2(X, Y) :- ','(=<(X, 0), loop1(X, Y)). loop3(X, Y) :- ','(>(Y, 0), ','(is(Y1, -(Y, 1)), loop3(X, Y1))). loop3(X, Y) :- ','(=<(Y, 0), loop1(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": 2, "program": { "directives": [], "clauses": [ [ "(test_fun X Y)", "(loop1 X Y)" ], [ "(loop1 X Y)", "(',' (> X (0)) (',' (> Y (0)) (',' (> X Y) (loop2 X Y))))" ], [ "(loop1 X Y)", "(',' (> X (0)) (',' (> Y (0)) (',' (=< X Y) (loop3 X Y))))" ], [ "(loop1 X Y)", "(>= X (0))" ], [ "(loop1 X Y)", "(>= Y (0))" ], [ "(loop2 X Y)", "(',' (> X (0)) (',' (is X1 (- X (1))) (loop2 X1 Y)))" ], [ "(loop2 X Y)", "(',' (=< X (0)) (loop1 X Y))" ], [ "(loop3 X Y)", "(',' (> Y (0)) (',' (is Y1 (- Y (1))) (loop3 X Y1)))" ], [ "(loop3 X Y)", "(',' (=< Y (0)) (loop1 X Y))" ] ] }, "graph": { "nodes": { "4250": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T54 (0)) (',' (> T55 (0)) (',' (=< T54 T55) (loop3 T54 T55))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T54", "T55" ], "free": [], "exprvars": [] } }, "4251": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "type": "Nodes", "4246": { "goal": [{ "clause": 2, "scope": 2, "term": "(loop1 T9 T10)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "955": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T22 (0)) (',' (> T21 T22) (loop2 T21 T22)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": ["T21"] } }, "4247": { "goal": [ { "clause": 3, "scope": 2, "term": "(loop1 T9 T10)" }, { "clause": 4, "scope": 2, "term": "(loop1 T9 T10)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "3713": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop2 T35 T34)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T35", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T33", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T33", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T35", "T34", "T33" ], "free": ["X37"], "exprvars": [ "T35", "T34", "T22", "T33", "T21" ] } }, "4260": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "4267": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (=< T54 T55) (loop3 T54 T55))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T55", "T54" ], "free": [], "exprvars": [ "T55", "T54" ] } }, "4300": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (=< T76 (0)) (loop1 T75 T76))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T75", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T76", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T76", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T75", "T76" ], "free": [], "exprvars": [ "T75", "T55", "T54", "T76" ] } }, "19": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop1 T9 T10)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "2": { "goal": [{ "clause": -1, "scope": -1, "term": "(test_fun T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "4": { "goal": [{ "clause": 0, "scope": 1, "term": "(test_fun T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "4258": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T55 (0)) (',' (=< T54 T55) (loop3 T54 T55)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }] }, "ground": [ "T55", "T54" ], "free": [], "exprvars": ["T54"] } }, "4259": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": ">=" }] }, "ground": [ "T55", "T54" ], "free": [], "exprvars": ["T54"] } }, "2959": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": [ "T22", "T21" ] } }, "2958": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop2 T21 T22)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": [ "T22", "T21" ] } }, "20": { "goal": [ { "clause": 1, "scope": 2, "term": "(loop1 T9 T10)" }, { "clause": 2, "scope": 2, "term": "(loop1 T9 T10)" }, { "clause": 3, "scope": 2, "term": "(loop1 T9 T10)" }, { "clause": 4, "scope": 2, "term": "(loop1 T9 T10)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "21": { "goal": [{ "clause": 1, "scope": 2, "term": "(loop1 T9 T10)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "22": { "goal": [ { "clause": 2, "scope": 2, "term": "(loop1 T9 T10)" }, { "clause": 3, "scope": 2, "term": "(loop1 T9 T10)" }, { "clause": 4, "scope": 2, "term": "(loop1 T9 T10)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "23": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T21 (0)) (',' (> T22 (0)) (',' (> T21 T22) (loop2 T21 T22))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T21", "T22" ], "free": [], "exprvars": [] } }, "24": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "4275": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop3 T54 T55)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T55", "T54" ], "free": [], "exprvars": [ "T55", "T54" ] } }, "4276": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": ">" } ] }, "ground": [ "T55", "T54" ], "free": [], "exprvars": [ "T55", "T54" ] } }, "4277": { "goal": [ { "clause": 7, "scope": 4, "term": "(loop3 T54 T55)" }, { "clause": 8, "scope": 4, "term": "(loop3 T54 T55)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T55", "T54" ], "free": [], "exprvars": [ "T55", "T54" ] } }, "4310": { "goal": [{ "clause": 4, "scope": 2, "term": "(loop1 T9 T10)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "4278": { "goal": [{ "clause": 7, "scope": 4, "term": "(loop3 T54 T55)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T55", "T54" ], "free": [], "exprvars": [ "T55", "T54" ] } }, "4311": { "goal": [{ "clause": -1, "scope": -1, "term": "(>= T87 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T87"], "free": [], "exprvars": [] } }, "4309": { "goal": [{ "clause": 3, "scope": 2, "term": "(loop1 T9 T10)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "2965": { "goal": [{ "clause": 6, "scope": 3, "term": "(loop2 T21 T22)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": [ "T22", "T21" ] } }, "2964": { "goal": [{ "clause": 5, "scope": 3, "term": "(loop2 T21 T22)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": [ "T22", "T21" ] } }, "2962": { "goal": [ { "clause": 5, "scope": 3, "term": "(loop2 T21 T22)" }, { "clause": 6, "scope": 3, "term": "(loop2 T21 T22)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": [ "T22", "T21" ] } }, "974": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": ">=" }] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": ["T21"] } }, "4268": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T55", "T54" ], "free": [], "exprvars": [ "T55", "T54" ] } }, "4307": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop1 T75 T76)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T75", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T76", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T76", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T76", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" } ] }, "ground": [ "T75", "T76" ], "free": [], "exprvars": [ "T75", "T55", "T54", "T76" ] } }, "4308": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T75", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T76", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T76", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": ">" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T76", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T75", "T76" ], "free": [], "exprvars": [ "T75", "T55", "T54", "T76" ] } }, "4285": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X74 (- T67 (1))) (loop3 T66 X74))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T66", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T67", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T67", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T67", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T67", "T66" ], "free": ["X74"], "exprvars": [ "T67", "T55", "T66", "T54" ] } }, "4286": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T66", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T67", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T67", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T67", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T67", "T66" ], "free": ["X74"], "exprvars": [ "T67", "T55", "T66", "T54" ] } }, "4243": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (=< T42 (0)) (loop1 T42 T43))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T42", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T42", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T42", "T43" ], "free": [], "exprvars": [ "T42", "T22", "T21", "T43" ] } }, "4287": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop3 T66 T68)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T68", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T67", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T66", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T67", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T67", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T67", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T68", "T67", "T66" ], "free": ["X74"], "exprvars": [ "T68", "T67", "T55", "T66", "T54" ] } }, "4320": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T94", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": ["T94"], "free": [], "exprvars": ["T94"] } }, "4244": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop1 T42 T43)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T42", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T42", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T42", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" } ] }, "ground": [ "T42", "T43" ], "free": [], "exprvars": [ "T42", "T22", "T21", "T43" ] } }, "4321": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T94", "type": "PlainIntegerVariable" }, "operation": ">" }] }, "ground": ["T94"], "free": [], "exprvars": ["T94"] } }, "4245": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T42", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T43", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T42", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T42", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": ">" } ] }, "ground": [ "T42", "T43" ], "free": [], "exprvars": [ "T42", "T22", "T21", "T43" ] } }, "4322": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T94", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": [], "free": [], "exprvars": ["T94"] } }, "2380": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": [ "T22", "T21" ] } }, "4280": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T67 (0)) (',' (is X74 (- T67 (1))) (loop3 T66 X74)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T66", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T67", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T67", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T66", "T67" ], "free": ["X74"], "exprvars": [ "T67", "T55", "T66", "T54" ] } }, "980": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "3708": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X37 (- T33 (1))) (loop2 X37 T34))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T33", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T34", "T33" ], "free": ["X37"], "exprvars": [ "T34", "T22", "T33", "T21" ] } }, "2972": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T33 (0)) (',' (is X37 (- T33 (1))) (loop2 X37 T34)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T33", "T34" ], "free": ["X37"], "exprvars": [ "T34", "T22", "T33", "T21" ] } }, "3709": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T22", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T34", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T33", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T34", "T33" ], "free": ["X37"], "exprvars": [ "T34", "T22", "T33", "T21" ] } }, "2376": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T21 T22) (loop2 T21 T22))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T21", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T22", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": [ "T22", "T21" ] } }, "4279": { "goal": [{ "clause": 8, "scope": 4, "term": "(loop3 T54 T55)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T54", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T54", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T55", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T55", "T54" ], "free": [], "exprvars": [ "T55", "T54" ] } }, "4312": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "4313": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T87", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": ["T87"], "free": [], "exprvars": ["T87"] } }, "4314": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T87", "type": "PlainIntegerVariable" }, "operation": ">" }] }, "ground": ["T87"], "free": [], "exprvars": ["T87"] } }, "4315": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T87", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": [], "free": [], "exprvars": ["T87"] } }, "4316": { "goal": [{ "clause": -1, "scope": -1, "term": "(>= T94 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": [], "exprvars": [] } }, "4317": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } } }, "edges": [ { "from": 2, "to": 4, "label": "CASE" }, { "from": 4, "to": 19, "label": "ONLY EVAL with clause\ntest_fun(X8, X9) :- loop1(X8, X9).\nand substitutionT1 -> T9,\nX8 -> T9,\nT2 -> T10,\nX9 -> T10" }, { "from": 19, "to": 20, "label": "CASE" }, { "from": 20, "to": 21, "label": "PARALLEL" }, { "from": 20, "to": 22, "label": "PARALLEL" }, { "from": 21, "to": 23, "label": "ONLY EVAL with clause\nloop1(X20, X21) :- ','(>(X20, 0), ','(>(X21, 0), ','(>(X20, X21), loop2(X20, X21)))).\nand substitutionT9 -> T21,\nX20 -> T21,\nT10 -> T22,\nX21 -> T22" }, { "from": 22, "to": 4246, "label": "PARALLEL" }, { "from": 22, "to": 4247, "label": "PARALLEL" }, { "from": 23, "to": 24, "label": "IS ERROR" }, { "from": 23, "to": 955, "label": "ARITHCOMP SUCCESS" }, { "from": 23, "to": 974, "label": "ARITHCOMP FAIL" }, { "from": 955, "to": 980, "label": "IS ERROR" }, { "from": 955, "to": 2376, "label": "ARITHCOMP SUCCESS" }, { "from": 955, "to": 2380, "label": "ARITHCOMP FAIL" }, { "from": 2376, "to": 2958, "label": "ARITHCOMP SUCCESS" }, { "from": 2376, "to": 2959, "label": "ARITHCOMP FAIL" }, { "from": 2958, "to": 2962, "label": "CASE" }, { "from": 2962, "to": 2964, "label": "PARALLEL" }, { "from": 2962, "to": 2965, "label": "PARALLEL" }, { "from": 2964, "to": 2972, "label": "ONLY EVAL with clause\nloop2(X35, X36) :- ','(>(X35, 0), ','(is(X37, -(X35, 1)), loop2(X37, X36))).\nand substitutionT21 -> T33,\nX35 -> T33,\nT22 -> T34,\nX36 -> T34" }, { "from": 2965, "to": 4243, "label": "ONLY EVAL with clause\nloop2(X45, X46) :- ','(=<(X45, 0), loop1(X45, X46)).\nand substitutionT21 -> T42,\nX45 -> T42,\nT22 -> T43,\nX46 -> T43" }, { "from": 2972, "to": 3708, "label": "ARITHCOMP SUCCESS" }, { "from": 2972, "to": 3709, "label": "ARITHCOMP FAIL" }, { "from": 3708, "to": 3713, "label": "\nX37 -> T35" }, { "from": 3713, "to": 2958, "label": "INSTANCE with matching:\nT21 -> T35\nT22 -> T34" }, { "from": 4243, "to": 4244, "label": "ARITHCOMP SUCCESS" }, { "from": 4243, "to": 4245, "label": "ARITHCOMP FAIL" }, { "from": 4244, "to": 19, "label": "INSTANCE with matching:\nT9 -> T42\nT10 -> T43" }, { "from": 4246, "to": 4250, "label": "ONLY EVAL with clause\nloop1(X57, X58) :- ','(>(X57, 0), ','(>(X58, 0), ','(=<(X57, X58), loop3(X57, X58)))).\nand substitutionT9 -> T54,\nX57 -> T54,\nT10 -> T55,\nX58 -> T55" }, { "from": 4247, "to": 4309, "label": "PARALLEL" }, { "from": 4247, "to": 4310, "label": "PARALLEL" }, { "from": 4250, "to": 4251, "label": "IS ERROR" }, { "from": 4250, "to": 4258, "label": "ARITHCOMP SUCCESS" }, { "from": 4250, "to": 4259, "label": "ARITHCOMP FAIL" }, { "from": 4258, "to": 4260, "label": "IS ERROR" }, { "from": 4258, "to": 4267, "label": "ARITHCOMP SUCCESS" }, { "from": 4258, "to": 4268, "label": "ARITHCOMP FAIL" }, { "from": 4267, "to": 4275, "label": "ARITHCOMP SUCCESS" }, { "from": 4267, "to": 4276, "label": "ARITHCOMP FAIL" }, { "from": 4275, "to": 4277, "label": "CASE" }, { "from": 4277, "to": 4278, "label": "PARALLEL" }, { "from": 4277, "to": 4279, "label": "PARALLEL" }, { "from": 4278, "to": 4280, "label": "ONLY EVAL with clause\nloop3(X72, X73) :- ','(>(X73, 0), ','(is(X74, -(X73, 1)), loop3(X72, X74))).\nand substitutionT54 -> T66,\nX72 -> T66,\nT55 -> T67,\nX73 -> T67" }, { "from": 4279, "to": 4300, "label": "ONLY EVAL with clause\nloop3(X82, X83) :- ','(=<(X83, 0), loop1(X82, X83)).\nand substitutionT54 -> T75,\nX82 -> T75,\nT55 -> T76,\nX83 -> T76" }, { "from": 4280, "to": 4285, "label": "ARITHCOMP SUCCESS" }, { "from": 4280, "to": 4286, "label": "ARITHCOMP FAIL" }, { "from": 4285, "to": 4287, "label": "\nX74 -> T68" }, { "from": 4287, "to": 4275, "label": "INSTANCE with matching:\nT54 -> T66\nT55 -> T68" }, { "from": 4300, "to": 4307, "label": "ARITHCOMP SUCCESS" }, { "from": 4300, "to": 4308, "label": "ARITHCOMP FAIL" }, { "from": 4307, "to": 19, "label": "INSTANCE with matching:\nT9 -> T75\nT10 -> T76" }, { "from": 4309, "to": 4311, "label": "ONLY EVAL with clause\nloop1(X94, X95) :- >=(X94, 0).\nand substitutionT9 -> T87,\nX94 -> T87,\nT10 -> T88,\nX95 -> T88" }, { "from": 4310, "to": 4316, "label": "ONLY EVAL with clause\nloop1(X100, X101) :- >=(X101, 0).\nand substitutionT9 -> T93,\nX100 -> T93,\nT10 -> T94,\nX101 -> T94" }, { "from": 4311, "to": 4312, "label": "IS ERROR" }, { "from": 4311, "to": 4313, "label": "ARITHCOMP SUCCESS" }, { "from": 4311, "to": 4314, "label": "ARITHCOMP FAIL" }, { "from": 4313, "to": 4315, "label": "SUCCESS" }, { "from": 4316, "to": 4317, "label": "IS ERROR" }, { "from": 4316, "to": 4320, "label": "ARITHCOMP SUCCESS" }, { "from": 4316, "to": 4321, "label": "ARITHCOMP FAIL" }, { "from": 4320, "to": 4322, "label": "SUCCESS" } ], "type": "Graph" } } ---------------------------------------- (2) Obligation: Rules: f21_in(T21, T22) -> f23_in(T21, T22) :|: TRUE f23_out(x, x1) -> f21_out(x, x1) :|: TRUE f4285_out(T67, T66) -> f4280_out(T67, T66) :|: T67 > 0 f4286_out(x2, x3) -> f4280_out(x2, x3) :|: x2 <= 0 f4280_in(x4, x5) -> f4285_in(x4, x5) :|: x4 > 0 f4280_in(x6, x7) -> f4286_in(x6, x7) :|: x6 <= 0 f19_out(T42, T43) -> f4244_out(T42, T43) :|: TRUE f4244_in(x8, x9) -> f19_in(x8, x9) :|: TRUE f4280_out(x10, x11) -> f4278_out(x11, x10) :|: TRUE f4278_in(x12, x13) -> f4280_in(x13, x12) :|: TRUE f2962_out(x14, x15) -> f2958_out(x14, x15) :|: TRUE f2958_in(x16, x17) -> f2962_in(x16, x17) :|: TRUE f974_out(x18, x19) -> f23_out(x19, x18) :|: x19 <= 0 f23_in(x20, x21) -> f955_in(x21, x20) :|: x20 > 0 f24_out -> f23_out(x22, x23) :|: TRUE f23_in(x24, x25) -> f974_in(x25, x24) :|: x24 <= 0 f23_in(x26, x27) -> f24_in :|: TRUE f955_out(x28, x29) -> f23_out(x29, x28) :|: x29 > 0 f22_in(T9, T10) -> f4247_in(T9, T10) :|: TRUE f22_in(x30, x31) -> f4246_in(x30, x31) :|: TRUE f4246_out(x32, x33) -> f22_out(x32, x33) :|: TRUE f4247_out(x34, x35) -> f22_out(x34, x35) :|: TRUE f4258_out(T55, T54) -> f4250_out(T54, T55) :|: T54 > 0 f4259_out(x36, x37) -> f4250_out(x37, x36) :|: x37 <= 0 f4250_in(x38, x39) -> f4258_in(x39, x38) :|: x38 > 0 f4251_out -> f4250_out(x40, x41) :|: TRUE f4250_in(x42, x43) -> f4251_in :|: TRUE f4250_in(x44, x45) -> f4259_in(x45, x44) :|: x44 <= 0 f21_out(x46, x47) -> f20_out(x46, x47) :|: TRUE f22_out(x48, x49) -> f20_out(x48, x49) :|: TRUE f20_in(x50, x51) -> f21_in(x50, x51) :|: TRUE f20_in(x52, x53) -> f22_in(x52, x53) :|: TRUE f4258_in(x54, x55) -> f4267_in(x55, x54) :|: x54 > 0 f4268_out(x56, x57) -> f4258_out(x56, x57) :|: x56 <= 0 f4258_in(x58, x59) -> f4260_in :|: TRUE f4258_in(x60, x61) -> f4268_in(x60, x61) :|: x60 <= 0 f4260_out -> f4258_out(x62, x63) :|: TRUE f4267_out(x64, x65) -> f4258_out(x65, x64) :|: x65 > 0 f4275_out(x66, x67) -> f4267_out(x66, x67) :|: x66 <= x67 f4267_in(x68, x69) -> f4275_in(x68, x69) :|: x68 <= x69 f4276_out(x70, x71) -> f4267_out(x71, x70) :|: x71 > x70 f4267_in(x72, x73) -> f4276_in(x73, x72) :|: x72 > x73 f4279_in(T75, T76) -> f4300_in(T76, T75) :|: TRUE f4300_out(x74, x75) -> f4279_out(x75, x74) :|: TRUE f4279_out(x76, x77) -> f4277_out(x76, x77) :|: TRUE f4278_out(x78, x79) -> f4277_out(x78, x79) :|: TRUE f4277_in(x80, x81) -> f4279_in(x80, x81) :|: TRUE f4277_in(x82, x83) -> f4278_in(x82, x83) :|: TRUE f2972_in(T33, T34) -> f3709_in(T34, T33) :|: T33 <= 0 f3708_out(x84, x85) -> f2972_out(x84, x85) :|: x84 > 0 f2972_in(x86, x87) -> f3708_in(x86, x87) :|: x86 > 0 f3709_out(x88, x89) -> f2972_out(x89, x88) :|: x89 <= 0 f980_out -> f955_out(x90, x91) :|: TRUE f955_in(x92, x93) -> f2380_in(x92, x93) :|: x92 <= 0 f2376_out(x94, x95) -> f955_out(x95, x94) :|: x95 > 0 f955_in(x96, x97) -> f980_in :|: TRUE f955_in(x98, x99) -> f2376_in(x99, x98) :|: x98 > 0 f2380_out(x100, x101) -> f955_out(x100, x101) :|: x100 <= 0 f4245_out(x102, x103) -> f4243_out(x102, x103) :|: x102 > 0 f4244_out(x104, x105) -> f4243_out(x104, x105) :|: x104 <= 0 f4243_in(x106, x107) -> f4245_in(x106, x107) :|: x106 > 0 f4243_in(x108, x109) -> f4244_in(x108, x109) :|: x108 <= 0 f2376_in(x110, x111) -> f2959_in(x111, x110) :|: x110 <= x111 f2958_out(x112, x113) -> f2376_out(x112, x113) :|: x112 > x113 f2959_out(x114, x115) -> f2376_out(x115, x114) :|: x115 <= x114 f2376_in(x116, x117) -> f2958_in(x116, x117) :|: x116 > x117 f2964_in(x118, x119) -> f2972_in(x118, x119) :|: TRUE f2972_out(x120, x121) -> f2964_out(x120, x121) :|: TRUE f3713_in(x122, x123, x124) -> f2958_in(x122, x123) :|: TRUE f2958_out(x125, x126) -> f3713_out(x125, x126, x127) :|: TRUE f4275_in(x128, x129) -> f4277_in(x128, x129) :|: TRUE f4277_out(x130, x131) -> f4275_out(x130, x131) :|: TRUE f4307_in(x132, x133) -> f19_in(x132, x133) :|: TRUE f19_out(x134, x135) -> f4307_out(x134, x135) :|: TRUE f2962_in(x136, x137) -> f2964_in(x136, x137) :|: TRUE f2964_out(x138, x139) -> f2962_out(x138, x139) :|: TRUE f2962_in(x140, x141) -> f2965_in(x140, x141) :|: TRUE f2965_out(x142, x143) -> f2962_out(x142, x143) :|: TRUE f4287_in(x144, x145, x146) -> f4275_in(x144, x145) :|: TRUE f4275_out(x147, x148) -> f4287_out(x147, x148, x149) :|: TRUE f4243_out(x150, x151) -> f2965_out(x150, x151) :|: TRUE f2965_in(x152, x153) -> f4243_in(x152, x153) :|: TRUE f4246_in(x154, x155) -> f4250_in(x154, x155) :|: TRUE f4250_out(x156, x157) -> f4246_out(x156, x157) :|: TRUE f4285_in(x158, x159) -> f4287_in(x159, x160, x158) :|: x160 = x158 - 1 f4287_out(x161, x162, x163) -> f4285_out(x163, x161) :|: TRUE f3708_in(x164, x165) -> f3713_in(x166, x165, x164) :|: x166 = x164 - 1 f3713_out(x167, x168, x169) -> f3708_out(x169, x168) :|: TRUE f20_out(x170, x171) -> f19_out(x170, x171) :|: TRUE f19_in(x172, x173) -> f20_in(x172, x173) :|: TRUE f4300_in(x174, x175) -> f4308_in(x175, x174) :|: x174 > 0 f4300_in(x176, x177) -> f4307_in(x177, x176) :|: x176 <= 0 f4308_out(x178, x179) -> f4300_out(x179, x178) :|: x179 > 0 f4307_out(x180, x181) -> f4300_out(x181, x180) :|: x181 <= 0 f2_in(T1, T2) -> f4_in(T1, T2) :|: TRUE f4_out(x182, x183) -> f2_out(x182, x183) :|: TRUE f19_out(x184, x185) -> f4_out(x184, x185) :|: TRUE f4_in(x186, x187) -> f19_in(x186, x187) :|: TRUE Start term: f2_in(T1, T2) ---------------------------------------- (3) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f21_in(T21, T22) -> f23_in(T21, T22) :|: TRUE f4280_in(x4, x5) -> f4285_in(x4, x5) :|: x4 > 0 f4244_in(x8, x9) -> f19_in(x8, x9) :|: TRUE f4278_in(x12, x13) -> f4280_in(x13, x12) :|: TRUE f2958_in(x16, x17) -> f2962_in(x16, x17) :|: TRUE f23_in(x20, x21) -> f955_in(x21, x20) :|: x20 > 0 f22_in(x30, x31) -> f4246_in(x30, x31) :|: TRUE f4250_in(x38, x39) -> f4258_in(x39, x38) :|: x38 > 0 f20_in(x50, x51) -> f21_in(x50, x51) :|: TRUE f20_in(x52, x53) -> f22_in(x52, x53) :|: TRUE f4258_in(x54, x55) -> f4267_in(x55, x54) :|: x54 > 0 f4267_in(x68, x69) -> f4275_in(x68, x69) :|: x68 <= x69 f4279_in(T75, T76) -> f4300_in(T76, T75) :|: TRUE f4277_in(x80, x81) -> f4279_in(x80, x81) :|: TRUE f4277_in(x82, x83) -> f4278_in(x82, x83) :|: TRUE f2972_in(x86, x87) -> f3708_in(x86, x87) :|: x86 > 0 f955_in(x98, x99) -> f2376_in(x99, x98) :|: x98 > 0 f4243_in(x108, x109) -> f4244_in(x108, x109) :|: x108 <= 0 f2376_in(x116, x117) -> f2958_in(x116, x117) :|: x116 > x117 f2964_in(x118, x119) -> f2972_in(x118, x119) :|: TRUE f3713_in(x122, x123, x124) -> f2958_in(x122, x123) :|: TRUE f4275_in(x128, x129) -> f4277_in(x128, x129) :|: TRUE f4307_in(x132, x133) -> f19_in(x132, x133) :|: TRUE f2962_in(x136, x137) -> f2964_in(x136, x137) :|: TRUE f2962_in(x140, x141) -> f2965_in(x140, x141) :|: TRUE f4287_in(x144, x145, x146) -> f4275_in(x144, x145) :|: TRUE f2965_in(x152, x153) -> f4243_in(x152, x153) :|: TRUE f4246_in(x154, x155) -> f4250_in(x154, x155) :|: TRUE f4285_in(x158, x159) -> f4287_in(x159, x160, x158) :|: x160 = x158 - 1 f3708_in(x164, x165) -> f3713_in(x166, x165, x164) :|: x166 = x164 - 1 f19_in(x172, x173) -> f20_in(x172, x173) :|: TRUE f4300_in(x176, x177) -> f4307_in(x177, x176) :|: x176 <= 0 ---------------------------------------- (4) Obligation: Rules: f21_in(T21, T22) -> f23_in(T21, T22) :|: TRUE f4280_in(x4, x5) -> f4285_in(x4, x5) :|: x4 > 0 f4244_in(x8, x9) -> f19_in(x8, x9) :|: TRUE f4278_in(x12, x13) -> f4280_in(x13, x12) :|: TRUE f2958_in(x16, x17) -> f2962_in(x16, x17) :|: TRUE f23_in(x20, x21) -> f955_in(x21, x20) :|: x20 > 0 f22_in(x30, x31) -> f4246_in(x30, x31) :|: TRUE f4250_in(x38, x39) -> f4258_in(x39, x38) :|: x38 > 0 f20_in(x50, x51) -> f21_in(x50, x51) :|: TRUE f20_in(x52, x53) -> f22_in(x52, x53) :|: TRUE f4258_in(x54, x55) -> f4267_in(x55, x54) :|: x54 > 0 f4267_in(x68, x69) -> f4275_in(x68, x69) :|: x68 <= x69 f4279_in(T75, T76) -> f4300_in(T76, T75) :|: TRUE f4277_in(x80, x81) -> f4279_in(x80, x81) :|: TRUE f4277_in(x82, x83) -> f4278_in(x82, x83) :|: TRUE f2972_in(x86, x87) -> f3708_in(x86, x87) :|: x86 > 0 f955_in(x98, x99) -> f2376_in(x99, x98) :|: x98 > 0 f4243_in(x108, x109) -> f4244_in(x108, x109) :|: x108 <= 0 f2376_in(x116, x117) -> f2958_in(x116, x117) :|: x116 > x117 f2964_in(x118, x119) -> f2972_in(x118, x119) :|: TRUE f3713_in(x122, x123, x124) -> f2958_in(x122, x123) :|: TRUE f4275_in(x128, x129) -> f4277_in(x128, x129) :|: TRUE f4307_in(x132, x133) -> f19_in(x132, x133) :|: TRUE f2962_in(x136, x137) -> f2964_in(x136, x137) :|: TRUE f2962_in(x140, x141) -> f2965_in(x140, x141) :|: TRUE f4287_in(x144, x145, x146) -> f4275_in(x144, x145) :|: TRUE f2965_in(x152, x153) -> f4243_in(x152, x153) :|: TRUE f4246_in(x154, x155) -> f4250_in(x154, x155) :|: TRUE f4285_in(x158, x159) -> f4287_in(x159, x160, x158) :|: x160 = x158 - 1 f3708_in(x164, x165) -> f3713_in(x166, x165, x164) :|: x166 = x164 - 1 f19_in(x172, x173) -> f20_in(x172, x173) :|: TRUE f4300_in(x176, x177) -> f4307_in(x177, x176) :|: x176 <= 0 ---------------------------------------- (5) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (6) Obligation: Rules: f4277_in(x80:0, x81:0) -> f20_in(x80:0, x81:0) :|: x81:0 < 1 f2958_in(x16:0, x17:0) -> f20_in(x16:0, x17:0) :|: x16:0 < 1 f20_in(x50:0, x51:0) -> f2958_in(x50:0, x51:0) :|: x51:0 > 0 && x50:0 > 0 && x51:0 < x50:0 f4277_in(x82:0, x83:0) -> f4277_in(x82:0, x83:0 - 1) :|: x83:0 > 0 f2958_in(x, x1) -> f2958_in(x - 1, x1) :|: x > 0 f20_in(x52:0, x53:0) -> f4277_in(x52:0, x53:0) :|: x52:0 > 0 && x53:0 > 0 && x53:0 >= x52:0 ---------------------------------------- (7) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (8) Obligation: Rules: f4277_in(x80:0, x81:0) -> f20_in(x80:0, x81:0) :|: x81:0 < 1 f2958_in(x16:0, x17:0) -> f20_in(x16:0, x17:0) :|: x16:0 < 1 f20_in(x50:0, x51:0) -> f2958_in(x50:0, x51:0) :|: x51:0 > 0 && x50:0 > 0 && x51:0 < x50:0 f4277_in(x82:0, x83:0) -> f4277_in(x82:0, arith) :|: x83:0 > 0 && arith = x83:0 - 1 f2958_in(x2, x3) -> f2958_in(x4, x3) :|: x2 > 0 && x4 = x2 - 1 f20_in(x52:0, x53:0) -> f4277_in(x52:0, x53:0) :|: x52:0 > 0 && x53:0 > 0 && x53:0 >= x52:0 ---------------------------------------- (9) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f4277_in(x80:0, x81:0) -> f20_in(x80:0, x81:0) :|: x81:0 < 1 (2) f2958_in(x16:0, x17:0) -> f20_in(x16:0, x17:0) :|: x16:0 < 1 (3) f20_in(x50:0, x51:0) -> f2958_in(x50:0, x51:0) :|: x51:0 > 0 && x50:0 > 0 && x51:0 < x50:0 (4) f4277_in(x82:0, x83:0) -> f4277_in(x82:0, arith) :|: x83:0 > 0 && arith = x83:0 - 1 (5) f2958_in(x2, x3) -> f2958_in(x4, x3) :|: x2 > 0 && x4 = x2 - 1 (6) f20_in(x52:0, x53:0) -> f4277_in(x52:0, x53:0) :|: x52:0 > 0 && x53:0 > 0 && x53:0 >= x52:0 Arcs: (3) -> (5) (4) -> (1), (4) (5) -> (2), (5) (6) -> (4) This digraph is fully evaluated! ---------------------------------------- (10) Complex Obligation (AND) ---------------------------------------- (11) Obligation: Termination digraph: Nodes: (1) f4277_in(x82:0, x83:0) -> f4277_in(x82:0, arith) :|: x83:0 > 0 && arith = x83:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (12) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (13) Obligation: Rules: f4277_in(x82:0:0, x83:0:0) -> f4277_in(x82:0:0, x83:0:0 - 1) :|: x83:0:0 > 0 ---------------------------------------- (14) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f4277_in(x1, x2) -> f4277_in(x2) ---------------------------------------- (15) Obligation: Rules: f4277_in(x83:0:0) -> f4277_in(x83:0:0 - 1) :|: x83:0:0 > 0 ---------------------------------------- (16) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f4277_in(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (17) Obligation: Rules: f4277_in(x83:0:0) -> f4277_in(c) :|: c = x83:0:0 - 1 && x83:0:0 > 0 ---------------------------------------- (18) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f4277_in ] = f4277_in_1 The following rules are decreasing: f4277_in(x83:0:0) -> f4277_in(c) :|: c = x83:0:0 - 1 && x83:0:0 > 0 The following rules are bounded: f4277_in(x83:0:0) -> f4277_in(c) :|: c = x83:0:0 - 1 && x83:0:0 > 0 ---------------------------------------- (19) YES ---------------------------------------- (20) Obligation: Termination digraph: Nodes: (1) f2958_in(x2, x3) -> f2958_in(x4, x3) :|: x2 > 0 && x4 = x2 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (21) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (22) Obligation: Rules: f2958_in(x2:0, x3:0) -> f2958_in(x2:0 - 1, x3:0) :|: x2:0 > 0 ---------------------------------------- (23) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f2958_in(x1, x2) -> f2958_in(x1) ---------------------------------------- (24) Obligation: Rules: f2958_in(x2:0) -> f2958_in(x2:0 - 1) :|: x2:0 > 0 ---------------------------------------- (25) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f2958_in(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (26) Obligation: Rules: f2958_in(x2:0) -> f2958_in(c) :|: c = x2:0 - 1 && x2:0 > 0 ---------------------------------------- (27) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f2958_in ] = f2958_in_1 The following rules are decreasing: f2958_in(x2:0) -> f2958_in(c) :|: c = x2:0 - 1 && x2:0 > 0 The following rules are bounded: f2958_in(x2:0) -> f2958_in(c) :|: c = x2:0 - 1 && x2:0 > 0 ---------------------------------------- (28) YES