/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 squareroot(g,a) w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) PrologToIRSwTTransformerProof [SOUND, 76 ms] (2) IRSwT (3) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (4) IRSwT (5) IntTRSCompressionProof [EQUIVALENT, 18 ms] (6) IRSwT (7) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (8) IRSwT (9) IRSwTTerminationDigraphProof [EQUIVALENT, 27 ms] (10) IRSwT (11) IntTRSCompressionProof [EQUIVALENT, 0 ms] (12) IRSwT (13) TempFilterProof [SOUND, 40 ms] (14) IntTRS (15) RankingReductionPairProof [EQUIVALENT, 21 ms] (16) YES ---------------------------------------- (0) Obligation: Clauses: squareroot(N, I) :- ','(>=(N, 0), ','(between(0, N, I), ','(=<(*(I, I), N), ','(>(*(+(I, 1), +(I, 1)), N), !)))). between(I, J, I) :- =<(I, J). between(I, J, K) :- ','(<(I, J), ','(is(I1, +(I, 1)), between(I1, J, K))). Query: squareroot(g,a) ---------------------------------------- (1) PrologToIRSwTTransformerProof (SOUND) Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert { "root": 2, "program": { "directives": [], "clauses": [ [ "(squareroot N I)", "(',' (>= N (0)) (',' (between (0) N I) (',' (=< (* I I) N) (',' (> (* (+ I (1)) (+ I (1))) N) (!)))))" ], [ "(between I J I)", "(=< I J)" ], [ "(between I J K)", "(',' (< I J) (',' (is I1 (+ I (1))) (between I1 J K)))" ] ] }, "graph": { "nodes": { "3167": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T18", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T18", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [], "free": [], "exprvars": [ "T18", "T8" ] } }, "3189": { "goal": [{ "clause": 1, "scope": 3, "term": "(between T27 T24 T26)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T27", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T24", "T27" ], "free": [], "exprvars": [ "T24", "T8", "T27" ] } }, "3200": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T27", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T39", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T38", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T39", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T39", "T38" ], "free": [], "exprvars": [ "T24", "T39", "T8", "T27", "T38" ] } }, "3244": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "3288": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "arguments": [ { "name": "T12", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, { "arguments": [ { "name": "T12", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T12", "type": "PlainIntegerVariable" }, { "name": "T12", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [], "free": [], "exprvars": [ "T12", "T8" ] } }, "3166": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T18", "type": "PlainIntegerVariable" }, "operation": ">" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T18", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": ["T18"], "free": [], "exprvars": [ "T18", "T8" ] } }, "3188": { "goal": [ { "clause": 1, "scope": 3, "term": "(between T27 T24 T26)" }, { "clause": 2, "scope": 3, "term": "(between T27 T24 T26)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T27", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T24", "T27" ], "free": [], "exprvars": [ "T24", "T8", "T27" ] } }, "3221": { "goal": [{ "clause": -1, "scope": -1, "term": "(between T51 T48 T50)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T27", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "name": "T51", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T47", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T48", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T47", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T48", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T47", "T51", "T48" ], "free": ["X54"], "exprvars": [ "T47", "T24", "T51", "T8", "T27", "T48" ] } }, "3287": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "arguments": [ { "name": "T12", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, { "arguments": [ { "name": "T12", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T12", "type": "PlainIntegerVariable" }, { "name": "T12", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [], "free": [], "exprvars": [ "T12", "T8" ] } }, "3165": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T18", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T18", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": ["T18"], "free": [], "exprvars": [ "T18", "T8" ] } }, "3187": { "goal": [{ "clause": -1, "scope": -1, "term": "(between T27 T24 T26)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T27", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T24", "T27" ], "free": ["X31"], "exprvars": [ "T24", "T8", "T27" ] } }, "3220": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T27", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T48", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T47", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T48", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": [ "T47", "T48" ], "free": ["X54"], "exprvars": [ "T47", "T24", "T8", "T27", "T48" ] } }, "3286": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "arguments": [ { "name": "T12", "type": "PlainIntegerVariable" }, { "name": "T12", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "arguments": [ { "name": "T12", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, { "arguments": [ { "name": "T12", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": ">=" } ] }, "ground": [ "T12", "T8" ], "free": [], "exprvars": [ "T12", "T8" ] } }, "3186": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": ">=" } ] }, "ground": ["T24"], "free": ["X31"], "exprvars": [ "T24", "T8" ] } }, "3285": { "goal": [{ "clause": -1, "scope": -1, "term": "(!_1)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "arguments": [ { "name": "T12", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, { "arguments": [ { "name": "T12", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "<" }, { "lhs": { "arguments": [ { "name": "T12", "type": "PlainIntegerVariable" }, { "name": "T12", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T12", "T8" ], "free": [], "exprvars": [ "T12", "T8" ] } }, "type": "Nodes", "3183": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X31 (+ (0) (1))) (between X31 T24 T26))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": ["T24"], "free": ["X31"], "exprvars": [ "T24", "T8" ] } }, "3219": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X54 (+ T47 (1))) (between X54 T48 T50))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T27", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T48", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T47", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T48", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T47", "T48" ], "free": ["X54"], "exprvars": [ "T47", "T24", "T8", "T27", "T48" ] } }, "2984": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": [], "free": [], "exprvars": ["T8"] } }, "2983": { "goal": [{ "clause": -1, "scope": -1, "term": "(=< (0) T18)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T18", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": ["T18"], "free": [], "exprvars": [ "T18", "T8" ] } }, "10": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "3192": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T27", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [], "free": [], "exprvars": [ "T24", "T8", "T27" ] } }, "3191": { "goal": [{ "clause": -1, "scope": -1, "term": "(=< T38 T39)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T27", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T39", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T38", "T39" ], "free": [], "exprvars": [ "T24", "T39", "T8", "T27", "T38" ] } }, "3190": { "goal": [{ "clause": 2, "scope": 3, "term": "(between T27 T24 T26)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T27", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T24", "T27" ], "free": [], "exprvars": [ "T24", "T8", "T27" ] } }, "3199": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T27", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T39", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T38", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T39", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T39", "T38" ], "free": [], "exprvars": [ "T24", "T39", "T8", "T27", "T38" ] } }, "2977": { "goal": [ { "clause": 1, "scope": 2, "term": "(between (0) T8 T10)" }, { "clause": 2, "scope": 2, "term": "(between (0) T8 T10)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": ["T8"], "free": [], "exprvars": ["T8"] } }, "2976": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (=< (* T12 T12) T8) (',' (> (* (+ T12 (1)) (+ T12 (1))) T8) (!_1)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T8", "T12" ], "free": [], "exprvars": [] } }, "2": { "goal": [{ "clause": -1, "scope": -1, "term": "(squareroot T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "2975": { "goal": [{ "clause": -1, "scope": -1, "term": "(between (0) T8 T10)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": ["T8"], "free": [], "exprvars": ["T8"] } }, "2798": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }] }, "ground": ["T8"], "free": [], "exprvars": ["T8"] } }, "2797": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (between (0) T8 T10) (',' (=< (* T10 T10) T8) (',' (> (* (+ T10 (1)) (+ T10 (1))) T8) (!_1))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": ["T8"], "free": [], "exprvars": ["T8"] } }, "3247": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "arguments": [ { "name": "T12", "type": "PlainIntegerVariable" }, { "name": "T12", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": ">" }] }, "ground": [ "T12", "T8" ], "free": [], "exprvars": [ "T12", "T8" ] } }, "6": { "goal": [{ "clause": 0, "scope": 1, "term": "(squareroot T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "3202": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (< T47 T48) (',' (is X54 (+ T47 (1))) (between X54 T48 T50)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T27", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T48", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [ "T47", "T48" ], "free": ["X54"], "exprvars": [ "T47", "T24", "T8", "T27", "T48" ] } }, "3246": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> (* (+ T12 (1)) (+ T12 (1))) T8) (!_1))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "arguments": [ { "name": "T12", "type": "PlainIntegerVariable" }, { "name": "T12", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": [ "T12", "T8" ], "free": [], "exprvars": [ "T12", "T8" ] } }, "7": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (>= T8 (0)) (',' (between (0) T8 T10) (',' (=< (* T10 T10) T8) (',' (> (* (+ T10 (1)) (+ T10 (1))) T8) (!_1)))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T8"], "free": [], "exprvars": [] } }, "3168": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (< (0) T24) (',' (is X31 (+ (0) (1))) (between X31 T24 T26)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": ["T24"], "free": ["X31"], "exprvars": [ "T24", "T8" ] } }, "3201": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T27", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T39", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T24", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T24", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T38", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T39", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [], "free": [], "exprvars": [ "T24", "T39", "T8", "T27", "T38" ] } }, "2979": { "goal": [{ "clause": 2, "scope": 2, "term": "(between (0) T8 T10)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": ["T8"], "free": [], "exprvars": ["T8"] } }, "2978": { "goal": [{ "clause": 1, "scope": 2, "term": "(between (0) T8 T10)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "0" }, "type": "PlainIntegerRelation", "rhs": { "name": "T8", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": ["T8"], "free": [], "exprvars": ["T8"] } } }, "edges": [ { "from": 2, "to": 6, "label": "CASE" }, { "from": 6, "to": 7, "label": "ONLY EVAL with clause\nsquareroot(X5, X6) :- ','(>=(X5, 0), ','(between(0, X5, X6), ','(=<(*(X6, X6), X5), ','(>(*(+(X6, 1), +(X6, 1)), X5), !_1)))).\nand substitutionT1 -> T8,\nX5 -> T8,\nT2 -> T10,\nX6 -> T10,\nT9 -> T10" }, { "from": 7, "to": 10, "label": "IS ERROR" }, { "from": 7, "to": 2797, "label": "ARITHCOMP SUCCESS" }, { "from": 7, "to": 2798, "label": "ARITHCOMP FAIL" }, { "from": 2797, "to": 2975, "label": "SPLIT 1" }, { "from": 2797, "to": 2976, "label": "SPLIT 2\nnew knowledge:\nT8 is ground\nT12 is ground\nreplacements:T10 -> T12" }, { "from": 2975, "to": 2977, "label": "CASE" }, { "from": 2976, "to": 3244, "label": "IS ERROR" }, { "from": 2976, "to": 3246, "label": "ARITHCOMP SUCCESS" }, { "from": 2976, "to": 3247, "label": "ARITHCOMP FAIL" }, { "from": 2977, "to": 2978, "label": "PARALLEL" }, { "from": 2977, "to": 2979, "label": "PARALLEL" }, { "from": 2978, "to": 2983, "label": "EVAL with clause\nbetween(X19, X20, X19) :- =<(X19, X20).\nand substitutionX19 -> 0,\nT8 -> T18,\nX20 -> T18,\nT10 -> 0" }, { "from": 2978, "to": 2984, "label": "EVAL-BACKTRACK" }, { "from": 2979, "to": 3168, "label": "ONLY EVAL with clause\nbetween(X28, X29, X30) :- ','(<(X28, X29), ','(is(X31, +(X28, 1)), between(X31, X29, X30))).\nand substitutionX28 -> 0,\nT8 -> T24,\nX29 -> T24,\nT10 -> T26,\nX30 -> T26,\nT25 -> T26" }, { "from": 2983, "to": 3165, "label": "ARITHCOMP SUCCESS" }, { "from": 2983, "to": 3166, "label": "ARITHCOMP FAIL" }, { "from": 3165, "to": 3167, "label": "SUCCESS" }, { "from": 3168, "to": 3183, "label": "ARITHCOMP SUCCESS" }, { "from": 3168, "to": 3186, "label": "ARITHCOMP FAIL" }, { "from": 3183, "to": 3187, "label": "\nX31 -> T27" }, { "from": 3187, "to": 3188, "label": "CASE" }, { "from": 3188, "to": 3189, "label": "PARALLEL" }, { "from": 3188, "to": 3190, "label": "PARALLEL" }, { "from": 3189, "to": 3191, "label": "EVAL with clause\nbetween(X42, X43, X42) :- =<(X42, X43).\nand substitutionT27 -> T38,\nX42 -> T38,\nT24 -> T39,\nX43 -> T39,\nT26 -> T38" }, { "from": 3189, "to": 3192, "label": "EVAL-BACKTRACK" }, { "from": 3190, "to": 3202, "label": "ONLY EVAL with clause\nbetween(X51, X52, X53) :- ','(<(X51, X52), ','(is(X54, +(X51, 1)), between(X54, X52, X53))).\nand substitutionT27 -> T47,\nX51 -> T47,\nT24 -> T48,\nX52 -> T48,\nT26 -> T50,\nX53 -> T50,\nT49 -> T50" }, { "from": 3191, "to": 3199, "label": "ARITHCOMP SUCCESS" }, { "from": 3191, "to": 3200, "label": "ARITHCOMP FAIL" }, { "from": 3199, "to": 3201, "label": "SUCCESS" }, { "from": 3202, "to": 3219, "label": "ARITHCOMP SUCCESS" }, { "from": 3202, "to": 3220, "label": "ARITHCOMP FAIL" }, { "from": 3219, "to": 3221, "label": "\nX54 -> T51" }, { "from": 3221, "to": 3187, "label": "INSTANCE with matching:\nT27 -> T51\nT24 -> T48\nT26 -> T50\nX31 -> X54" }, { "from": 3246, "to": 3285, "label": "ARITHCOMP SUCCESS" }, { "from": 3246, "to": 3286, "label": "ARITHCOMP FAIL" }, { "from": 3285, "to": 3287, "label": "CUT" }, { "from": 3287, "to": 3288, "label": "SUCCESS" } ], "type": "Graph" } } ---------------------------------------- (2) Obligation: Rules: f3202_in(T47, T48) -> f3219_in(T47, T48) :|: T47 < T48 f3219_out(x, x1) -> f3202_out(x, x1) :|: x < x1 f3220_out(x2, x3) -> f3202_out(x2, x3) :|: x2 >= x3 f3202_in(x4, x5) -> f3220_in(x4, x5) :|: x4 >= x5 f3190_in(x6, x7) -> f3202_in(x6, x7) :|: TRUE f3202_out(x8, x9) -> f3190_out(x8, x9) :|: TRUE f3221_in(x10, x11, x12) -> f3187_in(x10, x11) :|: TRUE f3187_out(x13, x14) -> f3221_out(x13, x14, x15) :|: TRUE f3188_in(T27, T24) -> f3189_in(T27, T24) :|: TRUE f3190_out(x16, x17) -> f3188_out(x16, x17) :|: TRUE f3188_in(x18, x19) -> f3190_in(x18, x19) :|: TRUE f3189_out(x20, x21) -> f3188_out(x20, x21) :|: TRUE f3221_out(x22, x23, x24) -> f3219_out(x24, x23) :|: TRUE f3219_in(x25, x26) -> f3221_in(x27, x26, x25) :|: x27 = x25 + 1 f3187_in(x28, x29) -> f3188_in(x28, x29) :|: TRUE f3188_out(x30, x31) -> f3187_out(x30, x31) :|: TRUE f2_in(T1) -> f6_in(T1) :|: TRUE f6_out(x32) -> f2_out(x32) :|: TRUE f6_in(T8) -> f7_in(T8) :|: TRUE f7_out(x33) -> f6_out(x33) :|: TRUE f2797_out(x34) -> f7_out(x34) :|: x34 >= 0 f7_in(x35) -> f2798_in(x35) :|: x35 < 0 f7_in(x36) -> f10_in :|: TRUE f7_in(x37) -> f2797_in(x37) :|: x37 >= 0 f2798_out(x38) -> f7_out(x38) :|: x38 < 0 f10_out -> f7_out(x39) :|: TRUE f2797_in(x40) -> f2975_in(x40) :|: TRUE f2976_out(x41, x42) -> f2797_out(x42) :|: TRUE f2975_out(x43) -> f2976_in(x44, x43) :|: TRUE f2977_out(x45) -> f2975_out(x45) :|: TRUE f2975_in(x46) -> f2977_in(x46) :|: TRUE f2977_in(x47) -> f2979_in(x47) :|: TRUE f2977_in(x48) -> f2978_in(x48) :|: TRUE f2979_out(x49) -> f2977_out(x49) :|: TRUE f2978_out(x50) -> f2977_out(x50) :|: TRUE f3168_out(x51) -> f2979_out(x51) :|: TRUE f2979_in(x52) -> f3168_in(x52) :|: TRUE f3186_out(x53) -> f3168_out(x53) :|: 0 >= x53 f3168_in(x54) -> f3183_in(x54) :|: 0 < x54 f3168_in(x55) -> f3186_in(x55) :|: 0 >= x55 f3183_out(x56) -> f3168_out(x56) :|: 0 < x56 f3183_in(x57) -> f3187_in(x58, x57) :|: x58 = 0 + 1 f3187_out(x59, x60) -> f3183_out(x60) :|: TRUE Start term: f2_in(T1) ---------------------------------------- (3) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f3202_in(T47, T48) -> f3219_in(T47, T48) :|: T47 < T48 f3190_in(x6, x7) -> f3202_in(x6, x7) :|: TRUE f3221_in(x10, x11, x12) -> f3187_in(x10, x11) :|: TRUE f3188_in(x18, x19) -> f3190_in(x18, x19) :|: TRUE f3219_in(x25, x26) -> f3221_in(x27, x26, x25) :|: x27 = x25 + 1 f3187_in(x28, x29) -> f3188_in(x28, x29) :|: TRUE ---------------------------------------- (4) Obligation: Rules: f3202_in(T47, T48) -> f3219_in(T47, T48) :|: T47 < T48 f3190_in(x6, x7) -> f3202_in(x6, x7) :|: TRUE f3221_in(x10, x11, x12) -> f3187_in(x10, x11) :|: TRUE f3188_in(x18, x19) -> f3190_in(x18, x19) :|: TRUE f3219_in(x25, x26) -> f3221_in(x27, x26, x25) :|: x27 = x25 + 1 f3187_in(x28, x29) -> f3188_in(x28, x29) :|: TRUE ---------------------------------------- (5) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (6) Obligation: Rules: f3188_in(x18:0, x19:0) -> f3188_in(x18:0 + 1, x19:0) :|: x19:0 > x18:0 ---------------------------------------- (7) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (8) Obligation: Rules: f3188_in(x18:0, x19:0) -> f3188_in(arith, x19:0) :|: x19:0 > x18:0 && arith = x18:0 + 1 ---------------------------------------- (9) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f3188_in(x18:0, x19:0) -> f3188_in(arith, x19:0) :|: x19:0 > x18:0 && arith = x18:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (10) Obligation: Termination digraph: Nodes: (1) f3188_in(x18:0, x19:0) -> f3188_in(arith, x19:0) :|: x19:0 > x18:0 && arith = x18:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (11) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (12) Obligation: Rules: f3188_in(x18:0:0, x19:0:0) -> f3188_in(x18:0:0 + 1, x19:0:0) :|: x19:0:0 > x18:0:0 ---------------------------------------- (13) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f3188_in(INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (14) Obligation: Rules: f3188_in(x18:0:0, x19:0:0) -> f3188_in(c, x19:0:0) :|: c = x18:0:0 + 1 && x19:0:0 > x18:0:0 ---------------------------------------- (15) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f3188_in ] = f3188_in_2 + -1*f3188_in_1 The following rules are decreasing: f3188_in(x18:0:0, x19:0:0) -> f3188_in(c, x19:0:0) :|: c = x18:0:0 + 1 && x19:0:0 > x18:0:0 The following rules are bounded: f3188_in(x18:0:0, x19:0:0) -> f3188_in(c, x19:0:0) :|: c = x18:0:0 + 1 && x19:0:0 > x18:0:0 ---------------------------------------- (16) YES