/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 t() w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) PrologToIRSwTTransformerProof [SOUND, 0 ms] (2) TRUE ---------------------------------------- (0) Obligation: Clauses: t :- ','(=(X, f(0, f(1, f(0, X)))), g(X)). g(f(X, f(X, X1))) :- !. g(f(X2, X)) :- g(X). Query: t() ---------------------------------------- (1) PrologToIRSwTTransformerProof (SOUND) Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert { "root": 2, "program": { "directives": [], "clauses": [ [ "(t)", "(',' (= X (f (0) (f (1) (f (0) X)))) (g X))" ], [ "(g (f X (f X X1)))", "(!)" ], [ "(g (f X2 X))", "(g X)" ] ] }, "graph": { "nodes": { "2": { "goal": [{ "clause": -1, "scope": -1, "term": "(t)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "5": { "goal": [{ "clause": 0, "scope": 1, "term": "(t)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "8": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (= X4 (f (0) (f (1) (f (0) X4)))) (g X4))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": ["X4"], "exprvars": [] } }, "9": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "type": "Nodes" }, "edges": [ { "from": 2, "to": 5, "label": "CASE" }, { "from": 5, "to": 8, "label": "ONLY EVAL with clause\nt :- ','(=(X4, f(0, f(1, f(0, X4)))), g(X4)).\nand substitution" }, { "from": 8, "to": 9, "label": "UNIFY-FAIL\nbecause of non-unification" } ], "type": "Graph" } } ---------------------------------------- (2) TRUE