/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 encode_direct(g,g,a) w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) PrologToIRSwTTransformerProof [SOUND, 0 ms] (2) TRUE ---------------------------------------- (0) Obligation: Clauses: rotate([], X1, []) :- !. rotate(L1, N, L2) :- ','(length(L1, NL1), ','(is(N1, mod(N, NL1)), ','(split(L1, N1, S1, S2), append(S2, S1, L2)))). split(L, 0, [], L). split(.(X, Xs), N, .(X, Ys), Zs) :- ','(>(N, 0), ','(is(N1, -(N, 1)), split(Xs, N1, Ys, Zs))). Query: encode_direct(g,g,a) ---------------------------------------- (1) PrologToIRSwTTransformerProof (SOUND) Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert { "root": 3, "program": { "directives": [], "clauses": [ [ "(rotate ([]) X1 ([]))", "(!)" ], [ "(rotate L1 N L2)", "(',' (length L1 NL1) (',' (is N1 (mod N NL1)) (',' (split L1 N1 S1 S2) (append S2 S1 L2))))" ], [ "(split L (0) ([]) L)", null ], [ "(split (. X Xs) N (. X Ys) Zs)", "(',' (> N (0)) (',' (is N1 (- N (1))) (split Xs N1 Ys Zs)))" ] ] }, "graph": { "nodes": { "3": { "goal": [{ "clause": -1, "scope": -1, "term": "(encode_direct T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T2" ], "free": [], "exprvars": [] } }, "6": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "type": "Nodes" }, "edges": [{ "from": 3, "to": 6, "label": "UNDEFINED ERROR" }], "type": "Graph" } } ---------------------------------------- (2) TRUE