YES(?,O(n^2)) 9.09/3.68 YES(?,O(n^2)) 9.09/3.68 9.09/3.68 We are left with following problem, upon which TcT provides the 9.09/3.68 certificate YES(?,O(n^2)). 9.09/3.68 9.09/3.68 Strict Trs: 9.09/3.68 { from(X) -> cons(X, n__from(s(X))) 9.09/3.68 , from(X) -> n__from(X) 9.09/3.68 , cons(X1, X2) -> n__cons(X1, X2) 9.09/3.68 , 2ndspos(s(N), cons(X, n__cons(Y, Z))) -> 9.09/3.68 rcons(posrecip(activate(Y)), 2ndsneg(N, activate(Z))) 9.09/3.68 , 2ndspos(0(), Z) -> rnil() 9.09/3.68 , activate(X) -> X 9.09/3.68 , activate(n__from(X)) -> from(X) 9.09/3.68 , activate(n__cons(X1, X2)) -> cons(X1, X2) 9.09/3.68 , 2ndsneg(s(N), cons(X, n__cons(Y, Z))) -> 9.09/3.68 rcons(negrecip(activate(Y)), 2ndspos(N, activate(Z))) 9.09/3.68 , 2ndsneg(0(), Z) -> rnil() 9.09/3.68 , pi(X) -> 2ndspos(X, from(0())) 9.09/3.68 , plus(s(X), Y) -> s(plus(X, Y)) 9.09/3.68 , plus(0(), Y) -> Y 9.09/3.68 , times(s(X), Y) -> plus(Y, times(X, Y)) 9.09/3.68 , times(0(), Y) -> 0() 9.09/3.68 , square(X) -> times(X, X) } 9.09/3.68 Obligation: 9.09/3.68 innermost runtime complexity 9.09/3.68 Answer: 9.09/3.68 YES(?,O(n^2)) 9.09/3.68 9.09/3.68 Arguments of following rules are not normal-forms: 9.09/3.68 9.09/3.68 { 2ndspos(s(N), cons(X, n__cons(Y, Z))) -> 9.09/3.68 rcons(posrecip(activate(Y)), 2ndsneg(N, activate(Z))) 9.09/3.68 , 2ndsneg(s(N), cons(X, n__cons(Y, Z))) -> 9.09/3.69 rcons(negrecip(activate(Y)), 2ndspos(N, activate(Z))) } 9.09/3.69 9.09/3.69 All above mentioned rules can be savely removed. 9.09/3.69 9.09/3.69 We are left with following problem, upon which TcT provides the 9.09/3.69 certificate YES(?,O(n^2)). 9.09/3.69 9.09/3.69 Strict Trs: 9.09/3.69 { from(X) -> cons(X, n__from(s(X))) 9.09/3.69 , from(X) -> n__from(X) 9.09/3.69 , cons(X1, X2) -> n__cons(X1, X2) 9.09/3.69 , 2ndspos(0(), Z) -> rnil() 9.09/3.69 , activate(X) -> X 9.09/3.69 , activate(n__from(X)) -> from(X) 9.09/3.69 , activate(n__cons(X1, X2)) -> cons(X1, X2) 9.09/3.69 , 2ndsneg(0(), Z) -> rnil() 9.09/3.69 , pi(X) -> 2ndspos(X, from(0())) 9.09/3.69 , plus(s(X), Y) -> s(plus(X, Y)) 9.09/3.69 , plus(0(), Y) -> Y 9.09/3.69 , times(s(X), Y) -> plus(Y, times(X, Y)) 9.09/3.69 , times(0(), Y) -> 0() 9.09/3.69 , square(X) -> times(X, X) } 9.09/3.69 Obligation: 9.09/3.69 innermost runtime complexity 9.09/3.69 Answer: 9.09/3.69 YES(?,O(n^2)) 9.09/3.69 9.09/3.69 The input was oriented with the instance of 'Small Polynomial Path 9.09/3.69 Order (PS,2-bounded)' as induced by the safe mapping 9.09/3.69 9.09/3.69 safe(from) = {1}, safe(cons) = {1, 2}, safe(n__from) = {1}, 9.09/3.69 safe(s) = {1}, safe(2ndspos) = {1, 2}, safe(0) = {}, 9.09/3.69 safe(rnil) = {}, safe(n__cons) = {1, 2}, safe(activate) = {1}, 9.09/3.69 safe(2ndsneg) = {}, safe(pi) = {}, safe(plus) = {2}, 9.09/3.69 safe(times) = {}, safe(square) = {} 9.09/3.69 9.09/3.69 and precedence 9.09/3.69 9.09/3.69 from > cons, from > plus, activate > from, activate > cons, 9.09/3.69 activate > 2ndspos, activate > plus, 2ndsneg > from, 9.09/3.69 2ndsneg > cons, 2ndsneg > plus, 2ndsneg > times, pi > from, 9.09/3.69 pi > cons, pi > 2ndspos, pi > plus, times > cons, times > plus, 9.09/3.69 square > from, square > cons, square > 2ndspos, square > 2ndsneg, 9.09/3.69 square > plus, square > times, cons ~ plus, activate ~ pi . 9.09/3.69 9.09/3.69 Following symbols are considered recursive: 9.09/3.69 9.09/3.69 {cons, plus, times} 9.09/3.69 9.09/3.69 The recursion depth is 2. 9.09/3.69 9.09/3.69 For your convenience, here are the satisfied ordering constraints: 9.09/3.69 9.09/3.69 from(; X) > cons(; X, n__from(; s(; X))) 9.09/3.69 9.09/3.69 from(; X) > n__from(; X) 9.09/3.69 9.09/3.69 cons(; X1, X2) > n__cons(; X1, X2) 9.09/3.69 9.09/3.69 2ndspos(; 0(), Z) > rnil() 9.09/3.69 9.09/3.69 activate(; X) > X 9.09/3.69 9.09/3.69 activate(; n__from(; X)) > from(; X) 9.09/3.69 9.09/3.69 activate(; n__cons(; X1, X2)) > cons(; X1, X2) 9.09/3.69 9.09/3.69 2ndsneg(0(), Z;) > rnil() 9.09/3.69 9.09/3.69 pi(X;) > 2ndspos(; X, from(; 0())) 9.09/3.69 9.09/3.69 plus(s(; X); Y) > s(; plus(X; Y)) 9.09/3.69 9.09/3.69 plus(0(); Y) > Y 9.09/3.69 9.09/3.69 times(s(; X), Y;) > plus(Y; times(X, Y;)) 9.09/3.69 9.09/3.69 times(0(), Y;) > 0() 9.09/3.69 9.09/3.69 square(X;) > times(X, X;) 9.09/3.69 9.09/3.69 9.09/3.69 Hurray, we answered YES(?,O(n^2)) 9.25/3.70 EOF