/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, 64 ms] (2) IRSwT (3) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (4) IRSwT (5) IntTRSCompressionProof [EQUIVALENT, 36 ms] (6) IRSwT (7) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (8) IRSwT (9) IRSwTTerminationDigraphProof [EQUIVALENT, 46 ms] (10) IRSwT (11) IntTRSCompressionProof [EQUIVALENT, 1 ms] (12) IRSwT (13) TempFilterProof [SOUND, 34 ms] (14) IntTRS (15) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (16) YES ---------------------------------------- (0) Obligation: Clauses: test_fun(X, Y) :- loop(X, Y, 0). loop(X, Y, C) :- ','(>(+(X, Y), 0), loop_body(X, Y, C)). loop(X, Y, C) :- =<(+(X, Y), 0). loop_body(X, Y, C) :- ','(>(X, 0), ','(is(X1, -(X, 1)), ','(is(C1, +(C, 1)), loop(X1, Y, C1)))). loop_body(X, Y, C) :- ','(=<(X, 0), ','(>(Y, 0), ','(is(Y1, -(Y, 1)), ','(is(C1, +(C, 1)), loop(X, Y1, C))))). loop_body(X, Y, C) :- ','(=<(X, 0), ','(=<(Y, 0), ','(is(C1, +(C, 1)), loop(X, Y, C)))). 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)", "(loop X Y (0))" ], [ "(loop X Y C)", "(',' (> (+ X Y) (0)) (loop_body X Y C))" ], [ "(loop X Y C)", "(=< (+ X Y) (0))" ], [ "(loop_body X Y C)", "(',' (> X (0)) (',' (is X1 (- X (1))) (',' (is C1 (+ C (1))) (loop X1 Y C1))))" ], [ "(loop_body X Y C)", "(',' (=< X (0)) (',' (> Y (0)) (',' (is Y1 (- Y (1))) (',' (is C1 (+ C (1))) (loop X Y1 C)))))" ], [ "(loop_body X Y C)", "(',' (=< X (0)) (',' (=< Y (0)) (',' (is C1 (+ C (1))) (loop X Y C))))" ] ] }, "graph": { "nodes": { "4030": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "arguments": [ { "name": "T91", "type": "PlainIntegerVariable" }, { "name": "T92", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" }] }, "ground": [ "T92", "T91" ], "free": [], "exprvars": [ "T92", "T91" ] } }, "4031": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "arguments": [ { "name": "T91", "type": "PlainIntegerVariable" }, { "name": "T92", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": ">" }] }, "ground": [ "T92", "T91" ], "free": [], "exprvars": [ "T92", "T91" ] } }, "4032": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "arguments": [ { "name": "T91", "type": "PlainIntegerVariable" }, { "name": "T92", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" }] }, "ground": [], "free": [], "exprvars": [ "T92", "T91" ] } }, "3682": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T35 T34 T36)" }], "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": { "name": "T36", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T33", "type": "PlainIntegerVariable" }, { "name": "T34", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T33", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T36", "T35", "T34", "T33" ], "free": [ "X53", "X54" ], "exprvars": [ "T36", "T35", "T34", "T22", "T33", "T21" ] } }, "4012": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X116 (+ (0) (1))) (loop T82 T83 (0)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T82", "type": "PlainIntegerVariable" }, { "name": "T83", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "name": "T82", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" }, { "lhs": { "name": "T83", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" } ] }, "ground": [ "T83", "T82" ], "free": ["X116"], "exprvars": [ "T83", "T22", "T82", "T21" ] } }, "3683": { "goal": [ { "clause": 1, "scope": 4, "term": "(loop T35 T34 T36)" }, { "clause": 2, "scope": 4, "term": "(loop T35 T34 T36)" } ], "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": { "name": "T36", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T33", "type": "PlainIntegerVariable" }, { "name": "T34", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T33", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T36", "T35", "T34" ], "free": [], "exprvars": [ "T36", "T35", "T34", "T22", "T33", "T21" ] } }, "4013": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T82", "type": "PlainIntegerVariable" }, { "name": "T83", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "name": "T83", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": ">" }, { "lhs": { "name": "T82", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" } ] }, "ground": [ "T83", "T82" ], "free": ["X116"], "exprvars": [ "T83", "T22", "T82", "T21" ] } }, "3684": { "goal": [{ "clause": 1, "scope": 4, "term": "(loop T35 T34 T36)" }], "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": { "name": "T36", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T33", "type": "PlainIntegerVariable" }, { "name": "T34", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T33", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T36", "T35", "T34" ], "free": [], "exprvars": [ "T36", "T35", "T34", "T22", "T33", "T21" ] } }, "4014": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T82 T83 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T84", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T82", "type": "PlainIntegerVariable" }, { "name": "T83", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "name": "T82", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" }, { "lhs": { "name": "T83", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" } ] }, "ground": [ "T84", "T83", "T82" ], "free": ["X116"], "exprvars": [ "T84", "T83", "T22", "T82", "T21" ] } }, "type": "Nodes", "3675": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X54 (+ (0) (1))) (loop T35 T34 X54))" }], "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": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T33", "type": "PlainIntegerVariable" }, { "name": "T34", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T33", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T35", "T34", "T33" ], "free": [ "X53", "X54" ], "exprvars": [ "T35", "T34", "T22", "T33", "T21" ] } }, "3996": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X101 (- T73 (1))) (',' (is X102 (+ (0) (1))) (loop T72 X101 (0))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T72", "type": "PlainIntegerVariable" }, { "name": "T73", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T73", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T72", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" } ] }, "ground": [ "T73", "T72" ], "free": [ "X101", "X102" ], "exprvars": [ "T73", "T72", "T22", "T21" ] } }, "3997": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T72", "type": "PlainIntegerVariable" }, { "name": "T73", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "name": "T72", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T73", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T73", "T72" ], "free": [ "X101", "X102" ], "exprvars": [ "T73", "T72", "T22", "T21" ] } }, "3618": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": ">=" }] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": [ "T22", "T21" ] } }, "3998": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X102 (+ (0) (1))) (loop T72 T74 (0)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T74", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T73", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T72", "type": "PlainIntegerVariable" }, { "name": "T73", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T73", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T72", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" } ] }, "ground": [ "T74", "T73", "T72" ], "free": [ "X101", "X102" ], "exprvars": [ "T74", "T73", "T72", "T22", "T21" ] } }, "3617": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop_body T21 T22 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": [ "T22", "T21" ] } }, "3999": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T72 T74 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T74", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T73", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T75", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T72", "type": "PlainIntegerVariable" }, { "name": "T73", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T73", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T72", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" } ] }, "ground": [ "T75", "T74", "T73", "T72" ], "free": [ "X101", "X102" ], "exprvars": [ "T75", "T74", "T73", "T72", "T22", "T21" ] } }, "3978": { "goal": [{ "clause": -1, "scope": -1, "term": "(=< (+ T61 T62) (0))" }], "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": { "name": "T36", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T33", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T33", "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": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T33", "type": "PlainIntegerVariable" }, { "name": "T34", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T33", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T33", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T61", "T62" ], "free": [], "exprvars": [ "T36", "T63", "T35", "T62", "T34", "T61", "T22", "T33", "T21" ] } }, "13": { "goal": [ { "clause": 1, "scope": 2, "term": "(loop T9 T10 (0))" }, { "clause": 2, "scope": 2, "term": "(loop T9 T10 (0))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "15": { "goal": [{ "clause": 1, "scope": 2, "term": "(loop T9 T10 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "4000": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (=< T82 (0)) (',' (=< T83 (0)) (',' (is X116 (+ (0) (1))) (loop T82 T83 (0)))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T82", "type": "PlainIntegerVariable" }, { "name": "T83", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" } ] }, "ground": [ "T82", "T83" ], "free": ["X116"], "exprvars": [ "T83", "T22", "T82", "T21" ] } }, "16": { "goal": [{ "clause": 2, "scope": 2, "term": "(loop T9 T10 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "3671": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X53 (- T33 (1))) (',' (is X54 (+ (0) (1))) (loop X53 T34 X54)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T33", "type": "PlainIntegerVariable" }, { "name": "T34", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T33", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T34", "T33" ], "free": [ "X53", "X54" ], "exprvars": [ "T34", "T22", "T33", "T21" ] } }, "4001": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (=< T83 (0)) (',' (is X116 (+ (0) (1))) (loop T82 T83 (0))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T82", "type": "PlainIntegerVariable" }, { "name": "T83", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "name": "T82", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" } ] }, "ground": [ "T83", "T82" ], "free": ["X116"], "exprvars": [ "T83", "T22", "T82", "T21" ] } }, "3672": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T33", "type": "PlainIntegerVariable" }, { "name": "T34", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T33", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T34", "T33" ], "free": [ "X53", "X54" ], "exprvars": [ "T34", "T22", "T33", "T21" ] } }, "4002": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T82", "type": "PlainIntegerVariable" }, { "name": "T83", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "name": "T82", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": ">" } ] }, "ground": [ "T83", "T82" ], "free": ["X116"], "exprvars": [ "T83", "T22", "T82", "T21" ] } }, "19": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> (+ T21 T22) (0)) (loop_body T21 T22 (0)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T21", "T22" ], "free": [], "exprvars": [] } }, "3625": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T33 (0)) (',' (is X53 (- T33 (1))) (',' (is X54 (+ (0) (1))) (loop X53 T34 X54))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T33", "type": "PlainIntegerVariable" }, { "name": "T34", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" } ] }, "ground": [ "T33", "T34" ], "free": [ "X53", "X54" ], "exprvars": [ "T34", "T22", "T33", "T21" ] } }, "2": { "goal": [{ "clause": -1, "scope": -1, "term": "(test_fun T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "3623": { "goal": [ { "clause": 4, "scope": 3, "term": "(loop_body T21 T22 (0))" }, { "clause": 5, "scope": 3, "term": "(loop_body T21 T22 (0))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": [ "T22", "T21" ] } }, "4": { "goal": [{ "clause": 0, "scope": 1, "term": "(test_fun T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "3622": { "goal": [{ "clause": 3, "scope": 3, "term": "(loop_body T21 T22 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": [ "T22", "T21" ] } }, "3621": { "goal": [ { "clause": 3, "scope": 3, "term": "(loop_body T21 T22 (0))" }, { "clause": 4, "scope": 3, "term": "(loop_body T21 T22 (0))" }, { "clause": 5, "scope": 3, "term": "(loop_body T21 T22 (0))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": [ "T22", "T21" ] } }, "8": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T9 T10 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T9", "T10" ], "free": [], "exprvars": [] } }, "3685": { "goal": [{ "clause": 2, "scope": 4, "term": "(loop T35 T34 T36)" }], "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": { "name": "T36", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T33", "type": "PlainIntegerVariable" }, { "name": "T34", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T33", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T36", "T35", "T34" ], "free": [], "exprvars": [ "T36", "T35", "T34", "T22", "T33", "T21" ] } }, "4015": { "goal": [{ "clause": -1, "scope": -1, "term": "(=< (+ T91 T92) (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T91", "T92" ], "free": [], "exprvars": [] } }, "3686": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> (+ T52 T53) (0)) (loop_body T52 T53 T54))" }], "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": { "name": "T36", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T33", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T33", "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": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T33", "type": "PlainIntegerVariable" }, { "name": "T34", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T33", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "name": "T33", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T33", "type": "PlainIntegerVariable" }, "operation": "<" } ] }, "ground": [ "T52", "T53", "T54" ], "free": [], "exprvars": [ "T53", "T36", "T52", "T35", "T34", "T22", "T33", "T21", "T54" ] } }, "4016": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "3984": { "goal": [{ "clause": 4, "scope": 3, "term": "(loop_body T21 T22 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": [ "T22", "T21" ] } }, "3985": { "goal": [{ "clause": 5, "scope": 3, "term": "(loop_body T21 T22 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }] }, "ground": [ "T22", "T21" ], "free": [], "exprvars": [ "T22", "T21" ] } }, "3986": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (=< T72 (0)) (',' (> T73 (0)) (',' (is X101 (- T73 (1))) (',' (is X102 (+ (0) (1))) (loop T72 X101 (0))))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T72", "type": "PlainIntegerVariable" }, { "name": "T73", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" } ] }, "ground": [ "T72", "T73" ], "free": [ "X101", "X102" ], "exprvars": [ "T73", "T72", "T22", "T21" ] } }, "3987": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T73 (0)) (',' (is X101 (- T73 (1))) (',' (is X102 (+ (0) (1))) (loop T72 X101 (0)))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T72", "type": "PlainIntegerVariable" }, { "name": "T73", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "name": "T72", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "<=" } ] }, "ground": [ "T73", "T72" ], "free": [ "X101", "X102" ], "exprvars": [ "T73", "T72", "T22", "T21" ] } }, "20": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "3988": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T72", "type": "PlainIntegerVariable" }, { "name": "T73", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T21", "type": "PlainIntegerVariable" }, { "name": "T22", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "<" }, { "lhs": { "name": "T72", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": ">" } ] }, "ground": [ "T73", "T72" ], "free": [ "X101", "X102" ], "exprvars": [ "T73", "T72", "T22", "T21" ] } } }, "edges": [ { "from": 2, "to": 4, "label": "CASE" }, { "from": 4, "to": 8, "label": "ONLY EVAL with clause\ntest_fun(X9, X10) :- loop(X9, X10, 0).\nand substitutionT1 -> T9,\nX9 -> T9,\nT2 -> T10,\nX10 -> T10" }, { "from": 8, "to": 13, "label": "CASE" }, { "from": 13, "to": 15, "label": "PARALLEL" }, { "from": 13, "to": 16, "label": "PARALLEL" }, { "from": 15, "to": 19, "label": "ONLY EVAL with clause\nloop(X26, X27, X28) :- ','(>(+(X26, X27), 0), loop_body(X26, X27, X28)).\nand substitutionT9 -> T21,\nX26 -> T21,\nT10 -> T22,\nX27 -> T22,\nX28 -> 0" }, { "from": 16, "to": 4015, "label": "ONLY EVAL with clause\nloop(X126, X127, X128) :- =<(+(X126, X127), 0).\nand substitutionT9 -> T91,\nX126 -> T91,\nT10 -> T92,\nX127 -> T92,\nX128 -> 0" }, { "from": 19, "to": 20, "label": "IS ERROR" }, { "from": 19, "to": 3617, "label": "ARITHCOMP SUCCESS" }, { "from": 19, "to": 3618, "label": "ARITHCOMP FAIL" }, { "from": 3617, "to": 3621, "label": "CASE" }, { "from": 3621, "to": 3622, "label": "PARALLEL" }, { "from": 3621, "to": 3623, "label": "PARALLEL" }, { "from": 3622, "to": 3625, "label": "ONLY EVAL with clause\nloop_body(X50, X51, X52) :- ','(>(X50, 0), ','(is(X53, -(X50, 1)), ','(is(X54, +(X52, 1)), loop(X53, X51, X54)))).\nand substitutionT21 -> T33,\nX50 -> T33,\nT22 -> T34,\nX51 -> T34,\nX52 -> 0" }, { "from": 3623, "to": 3984, "label": "PARALLEL" }, { "from": 3623, "to": 3985, "label": "PARALLEL" }, { "from": 3625, "to": 3671, "label": "ARITHCOMP SUCCESS" }, { "from": 3625, "to": 3672, "label": "ARITHCOMP FAIL" }, { "from": 3671, "to": 3675, "label": "\nX53 -> T35" }, { "from": 3675, "to": 3682, "label": "\nX54 -> T36" }, { "from": 3682, "to": 3683, "label": "CASE" }, { "from": 3683, "to": 3684, "label": "PARALLEL" }, { "from": 3683, "to": 3685, "label": "PARALLEL" }, { "from": 3684, "to": 3686, "label": "ONLY EVAL with clause\nloop(X70, X71, X72) :- ','(>(+(X70, X71), 0), loop_body(X70, X71, X72)).\nand substitutionT35 -> T52,\nX70 -> T52,\nT34 -> T53,\nX71 -> T53,\nT36 -> T54,\nX72 -> T54" }, { "from": 3685, "to": 3978, "label": "ONLY EVAL with clause\nloop(X79, X80, X81) :- =<(+(X79, X80), 0).\nand substitutionT35 -> T61,\nX79 -> T61,\nT34 -> T62,\nX80 -> T62,\nT36 -> T63,\nX81 -> T63" }, { "from": 3984, "to": 3986, "label": "ONLY EVAL with clause\nloop_body(X98, X99, X100) :- ','(=<(X98, 0), ','(>(X99, 0), ','(is(X101, -(X99, 1)), ','(is(X102, +(X100, 1)), loop(X98, X101, X100))))).\nand substitutionT21 -> T72,\nX98 -> T72,\nT22 -> T73,\nX99 -> T73,\nX100 -> 0" }, { "from": 3985, "to": 4000, "label": "ONLY EVAL with clause\nloop_body(X113, X114, X115) :- ','(=<(X113, 0), ','(=<(X114, 0), ','(is(X116, +(X115, 1)), loop(X113, X114, X115)))).\nand substitutionT21 -> T82,\nX113 -> T82,\nT22 -> T83,\nX114 -> T83,\nX115 -> 0" }, { "from": 3986, "to": 3987, "label": "ARITHCOMP SUCCESS" }, { "from": 3986, "to": 3988, "label": "ARITHCOMP FAIL" }, { "from": 3987, "to": 3996, "label": "ARITHCOMP SUCCESS" }, { "from": 3987, "to": 3997, "label": "ARITHCOMP FAIL" }, { "from": 3996, "to": 3998, "label": "\nX101 -> T74" }, { "from": 3998, "to": 3999, "label": "\nX102 -> T75" }, { "from": 3999, "to": 8, "label": "INSTANCE with matching:\nT9 -> T72\nT10 -> T74" }, { "from": 4000, "to": 4001, "label": "ARITHCOMP SUCCESS" }, { "from": 4000, "to": 4002, "label": "ARITHCOMP FAIL" }, { "from": 4001, "to": 4012, "label": "ARITHCOMP SUCCESS" }, { "from": 4001, "to": 4013, "label": "ARITHCOMP FAIL" }, { "from": 4012, "to": 4014, "label": "\nX116 -> T84" }, { "from": 4014, "to": 8, "label": "INSTANCE with matching:\nT9 -> T82\nT10 -> T83" }, { "from": 4015, "to": 4016, "label": "IS ERROR" }, { "from": 4015, "to": 4030, "label": "ARITHCOMP SUCCESS" }, { "from": 4015, "to": 4031, "label": "ARITHCOMP FAIL" }, { "from": 4030, "to": 4032, "label": "SUCCESS" } ], "type": "Graph" } } ---------------------------------------- (2) Obligation: Rules: f4014_out(T82, T83, T84) -> f4012_out(T82, T83) :|: TRUE f4012_in(x, x1) -> f4014_in(x, x1, x2) :|: x2 = 0 + 1 f3987_out(T73, T72) -> f3986_out(T72, T73) :|: T72 <= 0 f3988_out(x3, x4) -> f3986_out(x4, x3) :|: x4 > 0 f3986_in(x5, x6) -> f3987_in(x6, x5) :|: x5 <= 0 f3986_in(x7, x8) -> f3988_in(x8, x7) :|: x7 > 0 f3985_in(x9, x10) -> f4000_in(x9, x10) :|: TRUE f4000_out(x11, x12) -> f3985_out(x11, x12) :|: TRUE f3987_in(x13, x14) -> f3997_in(x13, x14) :|: x13 <= 0 f3996_out(x15, x16) -> f3987_out(x15, x16) :|: x15 > 0 f3997_out(x17, x18) -> f3987_out(x17, x18) :|: x17 <= 0 f3987_in(x19, x20) -> f3996_in(x19, x20) :|: x19 > 0 f4001_out(x21, x22) -> f4000_out(x22, x21) :|: x22 <= 0 f4002_out(x23, x24) -> f4000_out(x24, x23) :|: x24 > 0 f4000_in(x25, x26) -> f4002_in(x26, x25) :|: x25 > 0 f4000_in(x27, x28) -> f4001_in(x28, x27) :|: x27 <= 0 f3999_in(x29, x30, x31, x32) -> f8_in(x29, x30) :|: TRUE f8_out(x33, x34) -> f3999_out(x33, x34, x35, x36) :|: TRUE f15_in(T21, T22) -> f19_in(T21, T22) :|: TRUE f19_out(x37, x38) -> f15_out(x37, x38) :|: TRUE f13_out(T9, T10) -> f8_out(T9, T10) :|: TRUE f8_in(x39, x40) -> f13_in(x39, x40) :|: TRUE f19_in(x41, x42) -> f3617_in(x41, x42) :|: x41 + x42 > 0 f3617_out(x43, x44) -> f19_out(x43, x44) :|: x43 + x44 > 0 f3618_out(x45, x46) -> f19_out(x46, x45) :|: x46 + x45 <= 0 f19_in(x47, x48) -> f3618_in(x48, x47) :|: x47 + x48 <= 0 f20_out -> f19_out(x49, x50) :|: TRUE f19_in(x51, x52) -> f20_in :|: TRUE f3622_out(x53, x54) -> f3621_out(x53, x54) :|: TRUE f3621_in(x55, x56) -> f3622_in(x55, x56) :|: TRUE f3621_in(x57, x58) -> f3623_in(x57, x58) :|: TRUE f3623_out(x59, x60) -> f3621_out(x59, x60) :|: TRUE f3998_out(x61, x62, x63) -> f3996_out(x63, x61) :|: TRUE f3996_in(x64, x65) -> f3998_in(x65, x66, x64) :|: x66 = x64 - 1 f3621_out(x67, x68) -> f3617_out(x67, x68) :|: TRUE f3617_in(x69, x70) -> f3621_in(x69, x70) :|: TRUE f4014_in(x71, x72, x73) -> f8_in(x71, x72) :|: TRUE f8_out(x74, x75) -> f4014_out(x74, x75, x76) :|: TRUE f3986_out(x77, x78) -> f3984_out(x77, x78) :|: TRUE f3984_in(x79, x80) -> f3986_in(x79, x80) :|: TRUE f3998_in(x81, x82, x83) -> f3999_in(x81, x82, x84, x83) :|: x84 = 0 + 1 f3999_out(x85, x86, x87, x88) -> f3998_out(x85, x86, x88) :|: TRUE f3623_in(x89, x90) -> f3984_in(x89, x90) :|: TRUE f3985_out(x91, x92) -> f3623_out(x91, x92) :|: TRUE f3623_in(x93, x94) -> f3985_in(x93, x94) :|: TRUE f3984_out(x95, x96) -> f3623_out(x95, x96) :|: TRUE f13_in(x97, x98) -> f15_in(x97, x98) :|: TRUE f16_out(x99, x100) -> f13_out(x99, x100) :|: TRUE f15_out(x101, x102) -> f13_out(x101, x102) :|: TRUE f13_in(x103, x104) -> f16_in(x103, x104) :|: TRUE f4012_out(x105, x106) -> f4001_out(x106, x105) :|: x106 <= 0 f4001_in(x107, x108) -> f4012_in(x108, x107) :|: x107 <= 0 f4013_out(x109, x110) -> f4001_out(x109, x110) :|: x109 > 0 f4001_in(x111, x112) -> f4013_in(x111, x112) :|: x111 > 0 f2_in(T1, T2) -> f4_in(T1, T2) :|: TRUE f4_out(x113, x114) -> f2_out(x113, x114) :|: TRUE f4_in(x115, x116) -> f8_in(x115, x116) :|: TRUE f8_out(x117, x118) -> f4_out(x117, x118) :|: TRUE Start term: f2_in(T1, T2) ---------------------------------------- (3) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f4012_in(x, x1) -> f4014_in(x, x1, x2) :|: x2 = 0 + 1 f3986_in(x5, x6) -> f3987_in(x6, x5) :|: x5 <= 0 f3985_in(x9, x10) -> f4000_in(x9, x10) :|: TRUE f3987_in(x19, x20) -> f3996_in(x19, x20) :|: x19 > 0 f4000_in(x27, x28) -> f4001_in(x28, x27) :|: x27 <= 0 f3999_in(x29, x30, x31, x32) -> f8_in(x29, x30) :|: TRUE f15_in(T21, T22) -> f19_in(T21, T22) :|: TRUE f8_in(x39, x40) -> f13_in(x39, x40) :|: TRUE f19_in(x41, x42) -> f3617_in(x41, x42) :|: x41 + x42 > 0 f3621_in(x57, x58) -> f3623_in(x57, x58) :|: TRUE f3996_in(x64, x65) -> f3998_in(x65, x66, x64) :|: x66 = x64 - 1 f3617_in(x69, x70) -> f3621_in(x69, x70) :|: TRUE f4014_in(x71, x72, x73) -> f8_in(x71, x72) :|: TRUE f3984_in(x79, x80) -> f3986_in(x79, x80) :|: TRUE f3998_in(x81, x82, x83) -> f3999_in(x81, x82, x84, x83) :|: x84 = 0 + 1 f3623_in(x89, x90) -> f3984_in(x89, x90) :|: TRUE f3623_in(x93, x94) -> f3985_in(x93, x94) :|: TRUE f13_in(x97, x98) -> f15_in(x97, x98) :|: TRUE f4001_in(x107, x108) -> f4012_in(x108, x107) :|: x107 <= 0 ---------------------------------------- (4) Obligation: Rules: f4012_in(x, x1) -> f4014_in(x, x1, x2) :|: x2 = 0 + 1 f3986_in(x5, x6) -> f3987_in(x6, x5) :|: x5 <= 0 f3985_in(x9, x10) -> f4000_in(x9, x10) :|: TRUE f3987_in(x19, x20) -> f3996_in(x19, x20) :|: x19 > 0 f4000_in(x27, x28) -> f4001_in(x28, x27) :|: x27 <= 0 f3999_in(x29, x30, x31, x32) -> f8_in(x29, x30) :|: TRUE f15_in(T21, T22) -> f19_in(T21, T22) :|: TRUE f8_in(x39, x40) -> f13_in(x39, x40) :|: TRUE f19_in(x41, x42) -> f3617_in(x41, x42) :|: x41 + x42 > 0 f3621_in(x57, x58) -> f3623_in(x57, x58) :|: TRUE f3996_in(x64, x65) -> f3998_in(x65, x66, x64) :|: x66 = x64 - 1 f3617_in(x69, x70) -> f3621_in(x69, x70) :|: TRUE f4014_in(x71, x72, x73) -> f8_in(x71, x72) :|: TRUE f3984_in(x79, x80) -> f3986_in(x79, x80) :|: TRUE f3998_in(x81, x82, x83) -> f3999_in(x81, x82, x84, x83) :|: x84 = 0 + 1 f3623_in(x89, x90) -> f3984_in(x89, x90) :|: TRUE f3623_in(x93, x94) -> f3985_in(x93, x94) :|: TRUE f13_in(x97, x98) -> f15_in(x97, x98) :|: TRUE f4001_in(x107, x108) -> f4012_in(x108, x107) :|: x107 <= 0 ---------------------------------------- (5) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (6) Obligation: Rules: f15_in(T21:0, T22:0) -> f15_in(T21:0, T22:0) :|: T21:0 < 1 && T21:0 + T22:0 > 0 && T22:0 < 1 f15_in(x, x1) -> f15_in(x, x1 - 1) :|: x < 1 && x1 > 0 && x + x1 > 0 ---------------------------------------- (7) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (8) Obligation: Rules: f15_in(T21:0, T22:0) -> f15_in(T21:0, T22:0) :|: T21:0 < 1 && T21:0 + T22:0 > 0 && T22:0 < 1 f15_in(x, x1) -> f15_in(x, arith) :|: x < 1 && x1 > 0 && x + x1 > 0 && arith = x1 - 1 ---------------------------------------- (9) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f15_in(T21:0, T22:0) -> f15_in(T21:0, T22:0) :|: T21:0 < 1 && T21:0 + T22:0 > 0 && T22:0 < 1 (2) f15_in(x, x1) -> f15_in(x, arith) :|: x < 1 && x1 > 0 && x + x1 > 0 && arith = x1 - 1 Arcs: (2) -> (2) This digraph is fully evaluated! ---------------------------------------- (10) Obligation: Termination digraph: Nodes: (1) f15_in(x, x1) -> f15_in(x, arith) :|: x < 1 && x1 > 0 && x + x1 > 0 && arith = x1 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (11) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (12) Obligation: Rules: f15_in(x:0, x1:0) -> f15_in(x:0, x1:0 - 1) :|: x:0 < 1 && x1:0 > 0 && x:0 + x1:0 > 0 ---------------------------------------- (13) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f15_in(INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (14) Obligation: Rules: f15_in(x:0, x1:0) -> f15_in(x:0, c) :|: c = x1:0 - 1 && (x:0 < 1 && x1:0 > 0 && x:0 + x1:0 > 0) ---------------------------------------- (15) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f15_in(x, x1)] = x1 The following rules are decreasing: f15_in(x:0, x1:0) -> f15_in(x:0, c) :|: c = x1:0 - 1 && (x:0 < 1 && x1:0 > 0 && x:0 + x1:0 > 0) The following rules are bounded: f15_in(x:0, x1:0) -> f15_in(x:0, c) :|: c = x1:0 - 1 && (x:0 < 1 && x1:0 > 0 && x:0 + x1:0 > 0) ---------------------------------------- (16) YES