3.42/1.67 YES 3.42/1.68 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 3.42/1.68 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.42/1.68 3.42/1.68 3.42/1.68 Quasi decreasingness of the given CTRS could be proven: 3.42/1.68 3.42/1.68 (0) CTRS 3.42/1.68 (1) CTRSToQTRSProof [SOUND, 0 ms] 3.42/1.68 (2) QTRS 3.42/1.68 (3) QTRSRRRProof [EQUIVALENT, 47 ms] 3.42/1.68 (4) QTRS 3.42/1.68 (5) RisEmptyProof [EQUIVALENT, 0 ms] 3.42/1.68 (6) YES 3.42/1.68 3.42/1.68 3.42/1.68 ---------------------------------------- 3.42/1.68 3.42/1.68 (0) 3.42/1.68 Obligation: 3.42/1.68 Conditional term rewrite system: 3.42/1.68 The TRS R consists of the following rules: 3.42/1.68 3.42/1.68 plus(0, X) -> X 3.42/1.68 plus(s(X), Y) -> plus(X, s(Y)) 3.42/1.68 fib(0) -> pair(s(0), 0) 3.42/1.68 3.42/1.68 The conditional TRS C consists of the following conditional rules: 3.42/1.68 3.42/1.68 fib(s(X)) -> pair(W, Y) <= fib(X) -> pair(Y, Z), plus(Y, Z) -> W 3.42/1.68 3.42/1.68 3.42/1.68 ---------------------------------------- 3.42/1.68 3.42/1.68 (1) CTRSToQTRSProof (SOUND) 3.42/1.68 The conditional rules have been transormed into unconditional rules according to [CTRS,AAECCNOC]. 3.42/1.68 ---------------------------------------- 3.42/1.68 3.42/1.68 (2) 3.42/1.68 Obligation: 3.42/1.68 Q restricted rewrite system: 3.42/1.68 The TRS R consists of the following rules: 3.42/1.68 3.42/1.68 fib(s(X)) -> U1(fib(X)) 3.42/1.68 U1(pair(Y, Z)) -> U2(plus(Y, Z), Y) 3.42/1.68 U2(W, Y) -> pair(W, Y) 3.42/1.68 plus(0, X) -> X 3.42/1.68 plus(s(X), Y) -> plus(X, s(Y)) 3.42/1.68 fib(0) -> pair(s(0), 0) 3.42/1.68 3.42/1.68 Q is empty. 3.42/1.68 3.42/1.68 ---------------------------------------- 3.42/1.68 3.42/1.68 (3) QTRSRRRProof (EQUIVALENT) 3.42/1.68 Used ordering: 3.42/1.68 Quasi precedence: 3.42/1.68 fib_1 > [U1_1, U2_2, plus_2] > s_1 3.42/1.68 fib_1 > [U1_1, U2_2, plus_2] > pair_2 3.42/1.68 fib_1 > 0 3.42/1.68 3.42/1.68 3.42/1.68 Status: 3.42/1.68 fib_1: multiset status 3.42/1.68 s_1: multiset status 3.42/1.68 U1_1: [1] 3.42/1.68 pair_2: multiset status 3.42/1.68 U2_2: [2,1] 3.42/1.68 plus_2: [1,2] 3.42/1.68 0: multiset status 3.42/1.68 3.42/1.68 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 3.42/1.68 3.42/1.68 fib(s(X)) -> U1(fib(X)) 3.42/1.68 U1(pair(Y, Z)) -> U2(plus(Y, Z), Y) 3.42/1.68 U2(W, Y) -> pair(W, Y) 3.42/1.68 plus(0, X) -> X 3.42/1.68 plus(s(X), Y) -> plus(X, s(Y)) 3.42/1.68 fib(0) -> pair(s(0), 0) 3.42/1.68 3.42/1.68 3.42/1.68 3.42/1.68 3.42/1.68 ---------------------------------------- 3.42/1.68 3.42/1.68 (4) 3.42/1.68 Obligation: 3.42/1.68 Q restricted rewrite system: 3.42/1.68 R is empty. 3.42/1.68 Q is empty. 3.42/1.68 3.42/1.68 ---------------------------------------- 3.42/1.68 3.42/1.68 (5) RisEmptyProof (EQUIVALENT) 3.42/1.68 The TRS R is empty. Hence, termination is trivially proven. 3.42/1.68 ---------------------------------------- 3.42/1.68 3.42/1.68 (6) 3.42/1.68 YES 3.42/1.70 EOF