/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.pl /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.pl # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Left Termination of the query pattern test_fun(g) w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) PrologToIRSwTTransformerProof [SOUND, 54 ms] (2) TRUE ---------------------------------------- (0) Obligation: Clauses: test_fun(X) :- loop(X, 0). loop(X, C) :- ','(>(X, 1), ','(<(X, 100), ','(is(X1, *(X, X)), ','(is(C1, +(C, 1)), loop(X1, C1))))). loop(X, C) :- =<(X, 1). loop(X, C) :- >=(X, 100). Query: test_fun(g) ---------------------------------------- (1) PrologToIRSwTTransformerProof (SOUND) Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert { "root": 3, "program": { "directives": [], "clauses": [ [ "(test_fun X)", "(loop X (0))" ], [ "(loop X C)", "(',' (> X (1)) (',' (< X (100)) (',' (is X1 (* X X)) (',' (is C1 (+ C (1))) (loop X1 C1)))))" ], [ "(loop X C)", "(=< X (1))" ], [ "(loop X C)", "(>= X (100))" ] ] }, "graph": { "nodes": { "2430": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T46", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "<=" }] }, "ground": ["T46"], "free": [], "exprvars": ["T46"] } }, "type": "Nodes", "2443": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "100" }, "type": "PlainIntegerRelation", "rhs": { "name": "T49", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": [], "free": [], "exprvars": ["T49"] } }, "2420": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "2442": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "100" }, "type": "PlainIntegerRelation", "rhs": { "name": "T49", "type": "PlainIntegerVariable" }, "operation": ">" }] }, "ground": ["T49"], "free": [], "exprvars": ["T49"] } }, "2409": { "goal": [{ "clause": -1, "scope": -1, "term": "(>= T40 (100))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "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": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "100" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": "<" } ] }, "ground": ["T40"], "free": [], "exprvars": [ "T41", "T13", "T40", "T12", "T11" ] } }, "15": { "goal": [ { "clause": 1, "scope": 2, "term": "(loop T5 (0))" }, { "clause": 2, "scope": 2, "term": "(loop T5 (0))" }, { "clause": 3, "scope": 2, "term": "(loop T5 (0))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T5"], "free": [], "exprvars": [] } }, "16": { "goal": [{ "clause": 1, "scope": 2, "term": "(loop T5 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T5"], "free": [], "exprvars": [] } }, "17": { "goal": [ { "clause": 2, "scope": 2, "term": "(loop T5 (0))" }, { "clause": 3, "scope": 2, "term": "(loop T5 (0))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T5"], "free": [], "exprvars": [] } }, "18": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T11 (1)) (',' (< T11 (100)) (',' (is X27 (* T11 T11)) (',' (is X28 (+ (0) (1))) (loop X27 X28)))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T11"], "free": [ "X27", "X28" ], "exprvars": [] } }, "19": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "2287": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (> T24 (1)) (',' (< T24 (100)) (',' (is X47 (* T24 T24)) (',' (is X48 (+ T25 (1))) (loop X47 X48)))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "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": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "100" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": "<" } ] }, "ground": [ "T24", "T25" ], "free": [ "X47", "X48" ], "exprvars": [ "T25", "T13", "T24", "T12", "T11" ] } }, "2441": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "100" }, "type": "PlainIntegerRelation", "rhs": { "name": "T49", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": ["T49"], "free": [], "exprvars": ["T49"] } }, "2286": { "goal": [ { "clause": 2, "scope": 3, "term": "(loop T12 T13)" }, { "clause": 3, "scope": 3, "term": "(loop T12 T13)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": "<" } ] }, "ground": [ "T13", "T12" ], "free": [], "exprvars": [ "T13", "T12", "T11" ] } }, "2440": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "2285": { "goal": [{ "clause": 1, "scope": 3, "term": "(loop T12 T13)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": "<" } ] }, "ground": [ "T13", "T12" ], "free": [], "exprvars": [ "T13", "T12", "T11" ] } }, "2284": { "goal": [ { "clause": 1, "scope": 3, "term": "(loop T12 T13)" }, { "clause": 2, "scope": 3, "term": "(loop T12 T13)" }, { "clause": 3, "scope": 3, "term": "(loop T12 T13)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": "<" } ] }, "ground": [ "T13", "T12" ], "free": [], "exprvars": [ "T13", "T12", "T11" ] } }, "2383": { "goal": [{ "clause": -1, "scope": -1, "term": "(=< T34 (1))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "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": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "100" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": "<" } ] }, "ground": ["T34"], "free": [], "exprvars": [ "T13", "T35", "T12", "T34", "T11" ] } }, "2283": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T12 T13)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": "<" } ] }, "ground": [ "T13", "T12", "T11" ], "free": [ "X27", "X28" ], "exprvars": [ "T13", "T12", "T11" ] } }, "2382": { "goal": [{ "clause": 3, "scope": 3, "term": "(loop T12 T13)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": "<" } ] }, "ground": [ "T13", "T12" ], "free": [], "exprvars": [ "T13", "T12", "T11" ] } }, "2282": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X28 (+ (0) (1))) (loop T12 X28))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": "<" } ] }, "ground": [ "T12", "T11" ], "free": [ "X27", "X28" ], "exprvars": [ "T12", "T11" ] } }, "2381": { "goal": [{ "clause": 2, "scope": 3, "term": "(loop T12 T13)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T11", "type": "PlainIntegerVariable" }, { "name": "T11", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "*" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "type": "PlainIntegerConstant", "value": "0" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": "<" } ] }, "ground": [ "T13", "T12" ], "free": [], "exprvars": [ "T13", "T12", "T11" ] } }, "3": { "goal": [{ "clause": -1, "scope": -1, "term": "(test_fun T1)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "2116": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": ">=" }] }, "ground": ["T11"], "free": [ "X27", "X28" ], "exprvars": ["T11"] } }, "2435": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T46", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "<=" }] }, "ground": [], "free": [], "exprvars": ["T46"] } }, "2434": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T46", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">" }] }, "ground": ["T46"], "free": [], "exprvars": ["T46"] } }, "5": { "goal": [{ "clause": 0, "scope": 1, "term": "(test_fun T1)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "2114": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (< T11 (100)) (',' (is X27 (* T11 T11)) (',' (is X28 (+ (0) (1))) (loop X27 X28))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }] }, "ground": ["T11"], "free": [ "X27", "X28" ], "exprvars": ["T11"] } }, "2279": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": ">=" } ] }, "ground": ["T11"], "free": [ "X27", "X28" ], "exprvars": ["T11"] } }, "2278": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X27 (* T11 T11)) (',' (is X28 (+ (0) (1))) (loop X27 X28)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T11", "type": "PlainIntegerVariable" }, "operation": "<" }, { "lhs": { "name": "T11", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "100" }, "operation": "<" } ] }, "ground": ["T11"], "free": [ "X27", "X28" ], "exprvars": ["T11"] } }, "9": { "goal": [{ "clause": -1, "scope": -1, "term": "(loop T5 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T5"], "free": [], "exprvars": [] } }, "2419": { "goal": [{ "clause": -1, "scope": -1, "term": "(=< T46 (1))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T46"], "free": [], "exprvars": [] } }, "2418": { "goal": [{ "clause": 3, "scope": 2, "term": "(loop T5 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T5"], "free": [], "exprvars": [] } }, "2417": { "goal": [{ "clause": 2, "scope": 2, "term": "(loop T5 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T5"], "free": [], "exprvars": [] } }, "2439": { "goal": [{ "clause": -1, "scope": -1, "term": "(>= T49 (100))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T49"], "free": [], "exprvars": [] } } }, "edges": [ { "from": 3, "to": 5, "label": "CASE" }, { "from": 5, "to": 9, "label": "ONLY EVAL with clause\ntest_fun(X8) :- loop(X8, 0).\nand substitutionT1 -> T5,\nX8 -> T5" }, { "from": 9, "to": 15, "label": "CASE" }, { "from": 15, "to": 16, "label": "PARALLEL" }, { "from": 15, "to": 17, "label": "PARALLEL" }, { "from": 16, "to": 18, "label": "ONLY EVAL with clause\nloop(X25, X26) :- ','(>(X25, 1), ','(<(X25, 100), ','(is(X27, *(X25, X25)), ','(is(X28, +(X26, 1)), loop(X27, X28))))).\nand substitutionT5 -> T11,\nX25 -> T11,\nX26 -> 0" }, { "from": 17, "to": 2417, "label": "PARALLEL" }, { "from": 17, "to": 2418, "label": "PARALLEL" }, { "from": 18, "to": 19, "label": "IS ERROR" }, { "from": 18, "to": 2114, "label": "ARITHCOMP SUCCESS" }, { "from": 18, "to": 2116, "label": "ARITHCOMP FAIL" }, { "from": 2114, "to": 2278, "label": "ARITHCOMP SUCCESS" }, { "from": 2114, "to": 2279, "label": "ARITHCOMP FAIL" }, { "from": 2278, "to": 2282, "label": "\nX27 -> T12" }, { "from": 2282, "to": 2283, "label": "\nX28 -> T13" }, { "from": 2283, "to": 2284, "label": "CASE" }, { "from": 2284, "to": 2285, "label": "PARALLEL" }, { "from": 2284, "to": 2286, "label": "PARALLEL" }, { "from": 2285, "to": 2287, "label": "ONLY EVAL with clause\nloop(X45, X46) :- ','(>(X45, 1), ','(<(X45, 100), ','(is(X47, *(X45, X45)), ','(is(X48, +(X46, 1)), loop(X47, X48))))).\nand substitutionT12 -> T24,\nX45 -> T24,\nT13 -> T25,\nX46 -> T25" }, { "from": 2286, "to": 2381, "label": "PARALLEL" }, { "from": 2286, "to": 2382, "label": "PARALLEL" }, { "from": 2381, "to": 2383, "label": "ONLY EVAL with clause\nloop(X57, X58) :- =<(X57, 1).\nand substitutionT12 -> T34,\nX57 -> T34,\nT13 -> T35,\nX58 -> T35" }, { "from": 2382, "to": 2409, "label": "ONLY EVAL with clause\nloop(X63, X64) :- >=(X63, 100).\nand substitutionT12 -> T40,\nX63 -> T40,\nT13 -> T41,\nX64 -> T41" }, { "from": 2417, "to": 2419, "label": "ONLY EVAL with clause\nloop(X73, X74) :- =<(X73, 1).\nand substitutionT5 -> T46,\nX73 -> T46,\nX74 -> 0" }, { "from": 2418, "to": 2439, "label": "ONLY EVAL with clause\nloop(X79, X80) :- >=(X79, 100).\nand substitutionT5 -> T49,\nX79 -> T49,\nX80 -> 0" }, { "from": 2419, "to": 2420, "label": "IS ERROR" }, { "from": 2419, "to": 2430, "label": "ARITHCOMP SUCCESS" }, { "from": 2419, "to": 2434, "label": "ARITHCOMP FAIL" }, { "from": 2430, "to": 2435, "label": "SUCCESS" }, { "from": 2439, "to": 2440, "label": "IS ERROR" }, { "from": 2439, "to": 2441, "label": "ARITHCOMP SUCCESS" }, { "from": 2439, "to": 2442, "label": "ARITHCOMP FAIL" }, { "from": 2441, "to": 2443, "label": "SUCCESS" } ], "type": "Graph" } } ---------------------------------------- (2) TRUE