/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 main(g) w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) PrologToIRSwTTransformerProof [SOUND, 45 ms] (2) IRSwT (3) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (4) IRSwT (5) IntTRSCompressionProof [EQUIVALENT, 48 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, 38 ms] (14) IntTRS (15) RankingReductionPairProof [EQUIVALENT, 20 ms] (16) YES ---------------------------------------- (0) Obligation: Clauses: main(X) :- ','(>=(X, 1), fibonacci(X, X1)). fibonacci(N, Ret) :- ','(<(N, 1), ','(!, is(Ret, 0))). fibonacci(N, Ret) :- ','(=:=(N, 1), ','(!, is(Ret, 1))). fibonacci(N, Ret) :- ','(!, ','(is(N1, -(N, 1)), ','(fibonacci(N1, Ret1), ','(is(N2, -(N, 2)), ','(fibonacci(N2, Ret2), is(Ret, +(Ret1, Ret2))))))). Query: main(g) ---------------------------------------- (1) PrologToIRSwTTransformerProof (SOUND) Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert { "root": 5, "program": { "directives": [], "clauses": [ [ "(main X)", "(',' (>= X (1)) (fibonacci X X1))" ], [ "(fibonacci N Ret)", "(',' (< N (1)) (',' (!) (is Ret (0))))" ], [ "(fibonacci N Ret)", "(',' (=:= N (1)) (',' (!) (is Ret (1))))" ], [ "(fibonacci N Ret)", "(',' (!) (',' (is N1 (- N (1))) (',' (fibonacci N1 Ret1) (',' (is N2 (- N (2))) (',' (fibonacci N2 Ret2) (is Ret (+ Ret1 Ret2)))))))" ] ] }, "graph": { "nodes": { "2290": { "goal": [ { "clause": -1, "scope": -1, "term": "(',' (!_2) (is X27 (1)))" }, { "clause": 3, "scope": 2, "term": "(fibonacci T12 X6)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" } ] }, "ground": ["T12"], "free": [ "X6", "X27" ], "exprvars": [ "T4", "T12", "T8" ] } }, "2232": { "goal": [ { "clause": -1, "scope": -1, "term": "(',' (=:= T12 (1)) (',' (!_2) (is X27 (1))))" }, { "clause": 3, "scope": 2, "term": "(fibonacci T12 X6)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" } ] }, "ground": ["T12"], "free": [ "X6", "X27" ], "exprvars": [ "T4", "T12", "T8" ] } }, "2298": { "goal": [{ "clause": -1, "scope": -1, "term": "(fibonacci T17 X41)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T17", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T16", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" } ] }, "ground": ["T17"], "free": ["X41"], "exprvars": [ "T4", "T12", "T17", "T8", "T16" ] } }, "2297": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (fibonacci T17 X41) (',' (is X42 (- T16 (2))) (',' (fibonacci X42 X43) (is X44 (+ X41 X43)))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T17", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T16", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "1" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }, { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" } ] }, "ground": [ "T17", "T16" ], "free": [ "X44", "X40", "X41", "X42", "X43" ], "exprvars": [ "T4", "T12", "T17", "T8", "T16" ] } }, "2296": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X40 (- T16 (1))) (',' (fibonacci X40 X41) (',' (is X42 (- T16 (2))) (',' (fibonacci X42 X43) (is X44 (+ X41 X43))))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" } ] }, "ground": ["T16"], "free": [ "X44", "X40", "X41", "X42", "X43" ], "exprvars": [ "T4", "T12", "T8", "T16" ] } }, "2295": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (!_2) (',' (is X40 (- T16 (1))) (',' (fibonacci X40 X41) (',' (is X42 (- T16 (2))) (',' (fibonacci X42 X43) (is X44 (+ X41 X43)))))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" } ] }, "ground": ["T16"], "free": [ "X44", "X40", "X41", "X42", "X43" ], "exprvars": [ "T4", "T12", "T8", "T16" ] } }, "type": "Nodes", "2294": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" } ] }, "ground": [], "free": [], "exprvars": [ "T4", "T13", "T12", "T8" ] } }, "2293": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "name": "T13", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" } ] }, "ground": ["T13"], "free": ["X27"], "exprvars": [ "T4", "T13", "T12", "T8" ] } }, "2292": { "goal": [{ "clause": -1, "scope": -1, "term": "(is X27 (1))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" } ] }, "ground": [], "free": ["X27"], "exprvars": [ "T4", "T12", "T8" ] } }, "2291": { "goal": [{ "clause": 3, "scope": 2, "term": "(fibonacci T12 X6)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T12", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "!=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T4", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" } ] }, "ground": ["T12"], "free": [ "X6", "X27" ], "exprvars": [ "T4", "T12", "T8" ] } }, "2226": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T9", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [], "free": [], "exprvars": [ "T4", "T8", "T9" ] } }, "2303": { "goal": [{ "clause": -1, "scope": -1, "term": "(is X44 (+ T19 T23))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T19", "T23" ], "free": ["X44"], "exprvars": [] } }, "2225": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T9", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "0" }, "operation": "=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": ["T9"], "free": ["X18"], "exprvars": [ "T4", "T8", "T9" ] } }, "2302": { "goal": [{ "clause": -1, "scope": -1, "term": "(fibonacci T21 X43)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T21", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T16", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "2" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }] }, "ground": ["T21"], "free": ["X43"], "exprvars": [ "T16", "T21" ] } }, "2224": { "goal": [{ "clause": -1, "scope": -1, "term": "(is X18 (0))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": [], "free": ["X18"], "exprvars": [ "T4", "T8" ] } }, "2301": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (fibonacci T21 X43) (is X44 (+ T19 X43)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T21", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T16", "type": "PlainIntegerVariable" }, { "type": "PlainIntegerConstant", "value": "2" } ], "type": "PlainIntegerOperation", "operation": "-" }, "operation": "=" }] }, "ground": [ "T19", "T16", "T21" ], "free": [ "X44", "X42", "X43" ], "exprvars": [ "T16", "T21" ] } }, "2400": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T25", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T19", "type": "PlainIntegerVariable" }, { "name": "T23", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }] }, "ground": [], "free": [], "exprvars": [ "T25", "T19", "T23" ] } }, "2223": { "goal": [ { "clause": 2, "scope": 2, "term": "(fibonacci T8 X6)" }, { "clause": 3, "scope": 2, "term": "(fibonacci T8 X6)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": ">=" } ] }, "ground": ["T8"], "free": [ "X6", "X18" ], "exprvars": [ "T4", "T8" ] } }, "2300": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "2222": { "goal": [ { "clause": -1, "scope": -1, "term": "(',' (!_2) (is X18 (0)))" }, { "clause": 2, "scope": 2, "term": "(fibonacci T8 X6)" }, { "clause": 3, "scope": 2, "term": "(fibonacci T8 X6)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "type": "PlainIntegerConstant", "value": "1" }, "operation": "<" }, { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": ["T8"], "free": [ "X6", "X18" ], "exprvars": [ "T4", "T8" ] } }, "10": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "5": { "goal": [{ "clause": -1, "scope": -1, "term": "(main T1)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "1784": { "goal": [ { "clause": 1, "scope": 2, "term": "(fibonacci T4 X6)" }, { "clause": 2, "scope": 2, "term": "(fibonacci T4 X6)" }, { "clause": 3, "scope": 2, "term": "(fibonacci T4 X6)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": ["T4"], "free": ["X6"], "exprvars": ["T4"] } }, "6": { "goal": [{ "clause": 0, "scope": 1, "term": "(main T1)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "1761": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": ">" }] }, "ground": ["T4"], "free": ["X6"], "exprvars": ["T4"] } }, "2399": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "name": "T25", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "arguments": [ { "name": "T19", "type": "PlainIntegerVariable" }, { "name": "T23", "type": "PlainIntegerVariable" } ], "type": "PlainIntegerOperation", "operation": "+" }, "operation": "=" }] }, "ground": [ "T25", "T19", "T23" ], "free": ["X44"], "exprvars": [ "T25", "T19", "T23" ] } }, "2299": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (is X42 (- T16 (2))) (',' (fibonacci X42 X43) (is X44 (+ T19 X43))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T19" ], "free": [ "X44", "X42", "X43" ], "exprvars": [] } }, "2398": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "9": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (>= T4 (1)) (fibonacci T4 X6))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T4"], "free": ["X6"], "exprvars": [] } }, "1829": { "goal": [ { "clause": -1, "scope": -1, "term": "(',' (< T8 (1)) (',' (!_2) (is X18 (0))))" }, { "clause": 2, "scope": 2, "term": "(fibonacci T8 X6)" }, { "clause": 3, "scope": 2, "term": "(fibonacci T8 X6)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [ { "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }, { "lhs": { "name": "T8", "type": "PlainIntegerVariable" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" } ] }, "ground": ["T8"], "free": [ "X6", "X18" ], "exprvars": [ "T4", "T8" ] } }, "1749": { "goal": [{ "clause": -1, "scope": -1, "term": "(fibonacci T4 X6)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [{ "lhs": { "type": "PlainIntegerConstant", "value": "1" }, "type": "PlainIntegerRelation", "rhs": { "name": "T4", "type": "PlainIntegerVariable" }, "operation": "<=" }] }, "ground": ["T4"], "free": ["X6"], "exprvars": ["T4"] } } }, "edges": [ { "from": 5, "to": 6, "label": "CASE" }, { "from": 6, "to": 9, "label": "ONLY EVAL with clause\nmain(X5) :- ','(>=(X5, 1), fibonacci(X5, X6)).\nand substitutionT1 -> T4,\nX5 -> T4" }, { "from": 9, "to": 10, "label": "IS ERROR" }, { "from": 9, "to": 1749, "label": "ARITHCOMP SUCCESS" }, { "from": 9, "to": 1761, "label": "ARITHCOMP FAIL" }, { "from": 1749, "to": 1784, "label": "CASE" }, { "from": 1784, "to": 1829, "label": "ONLY EVAL with clause\nfibonacci(X16, X17) :- ','(<(X16, 1), ','(!_2, is(X17, 0))).\nand substitutionT4 -> T8,\nX16 -> T8,\nX6 -> X18,\nX17 -> X18" }, { "from": 1829, "to": 2222, "label": "ARITHCOMP SUCCESS" }, { "from": 1829, "to": 2223, "label": "ARITHCOMP FAIL" }, { "from": 2222, "to": 2224, "label": "CUT" }, { "from": 2223, "to": 2232, "label": "ONLY EVAL with clause\nfibonacci(X25, X26) :- ','(=:=(X25, 1), ','(!_2, is(X26, 1))).\nand substitutionT8 -> T12,\nX25 -> T12,\nX6 -> X27,\nX26 -> X27" }, { "from": 2224, "to": 2225, "label": "\nX18 -> T9" }, { "from": 2225, "to": 2226, "label": "SUCCESS" }, { "from": 2232, "to": 2290, "label": "ARITHCOMP SUCCESS" }, { "from": 2232, "to": 2291, "label": "ARITHCOMP FAIL" }, { "from": 2290, "to": 2292, "label": "CUT" }, { "from": 2291, "to": 2295, "label": "ONLY EVAL with clause\nfibonacci(X38, X39) :- ','(!_2, ','(is(X40, -(X38, 1)), ','(fibonacci(X40, X41), ','(is(X42, -(X38, 2)), ','(fibonacci(X42, X43), is(X39, +(X41, X43))))))).\nand substitutionT12 -> T16,\nX38 -> T16,\nX6 -> X44,\nX39 -> X44" }, { "from": 2292, "to": 2293, "label": "\nX27 -> T13" }, { "from": 2293, "to": 2294, "label": "SUCCESS" }, { "from": 2295, "to": 2296, "label": "CUT" }, { "from": 2296, "to": 2297, "label": "\nX40 -> T17" }, { "from": 2297, "to": 2298, "label": "SPLIT 1" }, { "from": 2297, "to": 2299, "label": "SPLIT 2\nnew knowledge:\nT17 is ground\nT19 is ground\nreplacements:X41 -> T19" }, { "from": 2298, "to": 1749, "label": "INSTANCE with matching:\nT4 -> T17\nX6 -> X41" }, { "from": 2299, "to": 2300, "label": "IS ERROR" }, { "from": 2299, "to": 2301, "label": "\nX42 -> T21" }, { "from": 2301, "to": 2302, "label": "SPLIT 1" }, { "from": 2301, "to": 2303, "label": "SPLIT 2\nnew knowledge:\nT21 is ground\nT23 is ground\nreplacements:X43 -> T23" }, { "from": 2302, "to": 1749, "label": "INSTANCE with matching:\nT4 -> T21\nX6 -> X43" }, { "from": 2303, "to": 2398, "label": "IS ERROR" }, { "from": 2303, "to": 2399, "label": "\nX44 -> T25" }, { "from": 2399, "to": 2400, "label": "SUCCESS" } ], "type": "Graph" } } ---------------------------------------- (2) Obligation: Rules: f1829_in(T8) -> f2223_in(T8) :|: T8 >= 1 f1829_in(x) -> f2222_in(x) :|: x < 1 f2222_out(x1) -> f1829_out(x1) :|: x1 < 1 f2223_out(x2) -> f1829_out(x2) :|: x2 >= 1 f2296_in(T16) -> f2297_in(T17, T16) :|: T17 = T16 - 1 f2297_out(x3, x4) -> f2296_out(x4) :|: TRUE f1749_out(T21) -> f2302_out(T21) :|: TRUE f2302_in(x5) -> f1749_in(x5) :|: TRUE f2399_in(T25, T19, T23) -> f2399_out(T25, T19, T23) :|: TRUE f2303_in(x6, x7) -> f2398_in :|: TRUE f2399_out(x8, x9, x10) -> f2303_out(x9, x10) :|: TRUE f2303_in(x11, x12) -> f2399_in(x13, x11, x12) :|: x13 = x11 + x12 f2398_out -> f2303_out(x14, x15) :|: TRUE f2297_in(x16, x17) -> f2298_in(x16) :|: TRUE f2299_out(x18, x19) -> f2297_out(x20, x18) :|: TRUE f2298_out(x21) -> f2299_in(x22, x23) :|: TRUE f1784_out(T4) -> f1749_out(T4) :|: TRUE f1749_in(x24) -> f1784_in(x24) :|: TRUE f2295_in(x25) -> f2296_in(x25) :|: TRUE f2296_out(x26) -> f2295_out(x26) :|: TRUE f2232_out(T12) -> f2223_out(T12) :|: TRUE f2223_in(x27) -> f2232_in(x27) :|: TRUE f1749_out(x28) -> f2298_out(x28) :|: TRUE f2298_in(x29) -> f1749_in(x29) :|: TRUE f2295_out(x30) -> f2291_out(x30) :|: TRUE f2291_in(x31) -> f2295_in(x31) :|: TRUE f1829_out(x32) -> f1784_out(x32) :|: TRUE f1784_in(x33) -> f1829_in(x33) :|: TRUE f2290_out(x34) -> f2232_out(x34) :|: x34 = 1 f2232_in(x35) -> f2291_in(x35) :|: !(x35 = 1) f2232_in(x36) -> f2290_in(x36) :|: x36 = 1 f2291_out(x37) -> f2232_out(x37) :|: !(x37 = 1) f2302_out(x38) -> f2303_in(x39, x40) :|: TRUE f2303_out(x41, x42) -> f2301_out(x43, x41, x44) :|: TRUE f2301_in(x45, x46, x47) -> f2302_in(x45) :|: TRUE f2299_in(x48, x49) -> f2301_in(x50, x49, x48) :|: x50 = x48 - 2 f2299_in(x51, x52) -> f2300_in :|: TRUE f2301_out(x53, x54, x55) -> f2299_out(x55, x54) :|: TRUE f2300_out -> f2299_out(x56, x57) :|: TRUE f5_in(T1) -> f6_in(T1) :|: TRUE f6_out(x58) -> f5_out(x58) :|: TRUE f6_in(x59) -> f9_in(x59) :|: TRUE f9_out(x60) -> f6_out(x60) :|: TRUE f10_out -> f9_out(x61) :|: TRUE f9_in(x62) -> f1749_in(x62) :|: x62 >= 1 f1749_out(x63) -> f9_out(x63) :|: x63 >= 1 f1761_out(x64) -> f9_out(x64) :|: x64 < 1 f9_in(x65) -> f1761_in(x65) :|: x65 < 1 f9_in(x66) -> f10_in :|: TRUE Start term: f5_in(T1) ---------------------------------------- (3) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f1829_in(T8) -> f2223_in(T8) :|: T8 >= 1 f2296_in(T16) -> f2297_in(T17, T16) :|: T17 = T16 - 1 f2297_in(x16, x17) -> f2298_in(x16) :|: TRUE f1749_in(x24) -> f1784_in(x24) :|: TRUE f2295_in(x25) -> f2296_in(x25) :|: TRUE f2223_in(x27) -> f2232_in(x27) :|: TRUE f2298_in(x29) -> f1749_in(x29) :|: TRUE f2291_in(x31) -> f2295_in(x31) :|: TRUE f1784_in(x33) -> f1829_in(x33) :|: TRUE f2232_in(x35) -> f2291_in(x35) :|: !(x35 = 1) ---------------------------------------- (4) Obligation: Rules: f1829_in(T8) -> f2223_in(T8) :|: T8 >= 1 f2296_in(T16) -> f2297_in(T17, T16) :|: T17 = T16 - 1 f2297_in(x16, x17) -> f2298_in(x16) :|: TRUE f1749_in(x24) -> f1784_in(x24) :|: TRUE f2295_in(x25) -> f2296_in(x25) :|: TRUE f2223_in(x27) -> f2232_in(x27) :|: TRUE f2298_in(x29) -> f1749_in(x29) :|: TRUE f2291_in(x31) -> f2295_in(x31) :|: TRUE f1784_in(x33) -> f1829_in(x33) :|: TRUE f2232_in(x35) -> f2291_in(x35) :|: !(x35 = 1) ---------------------------------------- (5) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (6) Obligation: Rules: f2291_in(x31:0) -> f2291_in(x31:0 - 1) :|: x31:0 < 2 && x31:0 > 1 f2291_in(x) -> f2291_in(x - 1) :|: x > 2 ---------------------------------------- (7) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (8) Obligation: Rules: f2291_in(x31:0) -> f2291_in(arith) :|: x31:0 < 2 && x31:0 > 1 && arith = x31:0 - 1 f2291_in(x1) -> f2291_in(x2) :|: x1 > 2 && x2 = x1 - 1 ---------------------------------------- (9) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f2291_in(x31:0) -> f2291_in(arith) :|: x31:0 < 2 && x31:0 > 1 && arith = x31:0 - 1 (2) f2291_in(x1) -> f2291_in(x2) :|: x1 > 2 && x2 = x1 - 1 Arcs: (2) -> (2) This digraph is fully evaluated! ---------------------------------------- (10) Obligation: Termination digraph: Nodes: (1) f2291_in(x1) -> f2291_in(x2) :|: x1 > 2 && x2 = x1 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (11) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (12) Obligation: Rules: f2291_in(x1:0) -> f2291_in(x1:0 - 1) :|: x1:0 > 2 ---------------------------------------- (13) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f2291_in(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (14) Obligation: Rules: f2291_in(x1:0) -> f2291_in(c) :|: c = x1:0 - 1 && x1:0 > 2 ---------------------------------------- (15) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f2291_in ] = f2291_in_1 The following rules are decreasing: f2291_in(x1:0) -> f2291_in(c) :|: c = x1:0 - 1 && x1:0 > 2 The following rules are bounded: f2291_in(x1:0) -> f2291_in(c) :|: c = x1:0 - 1 && x1:0 > 2 ---------------------------------------- (16) YES