YES(O(1),O(n^6)) 314.66/87.28 YES(O(1),O(n^6)) 314.66/87.28 314.66/87.28 We are left with following problem, upon which TcT provides the 314.66/87.28 certificate YES(O(1),O(n^6)). 314.66/87.28 314.66/87.28 Strict Trs: 314.66/87.28 { app(l, nil()) -> l 314.66/87.28 , app(nil(), k) -> k 314.66/87.28 , app(cons(x, l), k) -> cons(x, app(l, k)) 314.66/87.28 , sum(app(l, cons(x, cons(y, k)))) -> 314.66/87.28 sum(app(l, sum(cons(x, cons(y, k))))) 314.66/87.28 , sum(cons(x, nil())) -> cons(x, nil()) 314.66/87.28 , sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l)) 314.66/87.28 , sum(plus(cons(0(), x), cons(y, l))) -> 314.66/87.28 pred(sum(cons(s(x), cons(y, l)))) 314.66/87.28 , plus(0(), y) -> y 314.66/87.28 , plus(s(x), y) -> s(plus(x, y)) 314.66/87.28 , pred(cons(s(x), nil())) -> cons(x, nil()) } 314.66/87.28 Obligation: 314.66/87.28 derivational complexity 314.66/87.28 Answer: 314.66/87.28 YES(O(1),O(n^6)) 314.66/87.28 314.66/87.28 We use the processor 'matrix interpretation of dimension 2' to 314.66/87.28 orient following rules strictly. 314.66/87.28 314.66/87.28 Trs: 314.66/87.28 { app(l, nil()) -> l 314.66/87.28 , app(nil(), k) -> k 314.66/87.28 , app(cons(x, l), k) -> cons(x, app(l, k)) 314.66/87.28 , sum(app(l, cons(x, cons(y, k)))) -> 314.66/87.28 sum(app(l, sum(cons(x, cons(y, k))))) 314.66/87.28 , sum(cons(x, nil())) -> cons(x, nil()) 314.66/87.28 , sum(cons(x, cons(y, l))) -> sum(cons(plus(x, y), l)) 314.66/87.28 , sum(plus(cons(0(), x), cons(y, l))) -> 314.66/87.28 pred(sum(cons(s(x), cons(y, l)))) 314.66/87.28 , plus(0(), y) -> y 314.66/87.28 , pred(cons(s(x), nil())) -> cons(x, nil()) } 314.66/87.28 314.66/87.28 The induced complexity on above rules (modulo remaining rules) is 314.66/87.28 YES(?,O(n^2)) . These rules are removed from the problem. Note that 314.66/87.28 none of the weakly oriented rules is size-increasing. The overall 314.66/87.28 complexity is obtained by composition . 314.66/87.28 314.66/87.28 Sub-proof: 314.66/87.28 ---------- 314.66/87.28 TcT has computed the following triangular matrix interpretation. 314.66/87.28 314.66/87.28 [app](x1, x2) = [1 2] x1 + [1 1] x2 + [0] 314.66/87.28 [0 1] [0 1] [0] 314.66/87.28 314.66/87.28 [nil] = [2] 314.66/87.28 [0] 314.66/87.28 314.66/87.28 [cons](x1, x2) = [1 0] x1 + [1 0] x2 + [1] 314.66/87.28 [0 0] [0 1] [2] 314.66/87.28 314.66/87.28 [sum](x1) = [1 0] x1 + [1] 314.66/87.28 [0 0] [2] 314.66/87.28 314.66/87.28 [plus](x1, x2) = [1 0] x1 + [1 0] x2 + [0] 314.66/87.28 [0 0] [0 1] [0] 314.66/87.28 314.66/87.28 [0] = [2] 314.66/87.28 [0] 314.66/87.28 314.66/87.28 [s](x1) = [1 0] x1 + [0] 314.66/87.28 [0 0] [0] 314.66/87.28 314.66/87.28 [pred](x1) = [1 0] x1 + [1] 314.66/87.28 [0 0] [2] 314.66/87.28 314.66/87.28 The order satisfies the following ordering constraints: 314.66/87.28 314.66/87.28 [app(l, nil())] = [1 2] l + [2] 314.66/87.28 [0 1] [0] 314.66/87.28 > [1 0] l + [0] 314.66/87.28 [0 1] [0] 314.66/87.28 = [l] 314.66/87.28 314.66/87.28 [app(nil(), k)] = [1 1] k + [2] 314.66/87.28 [0 1] [0] 314.66/87.28 > [1 0] k + [0] 314.66/87.28 [0 1] [0] 314.66/87.28 = [k] 314.66/87.28 314.66/87.28 [app(cons(x, l), k)] = [1 1] k + [1 2] l + [1 0] x + [5] 314.66/87.28 [0 1] [0 1] [0 0] [2] 314.66/87.28 > [1 1] k + [1 2] l + [1 0] x + [1] 314.66/87.28 [0 1] [0 1] [0 0] [2] 314.66/87.28 = [cons(x, app(l, k))] 314.66/87.28 314.66/87.28 [sum(app(l, cons(x, cons(y, k))))] = [1 1] k + [1 2] l + [1 0] x + [1 0] y + [7] 314.66/87.28 [0 0] [0 0] [0 0] [0 0] [2] 314.66/87.28 > [1 0] k + [1 2] l + [1 0] x + [1 0] y + [6] 314.66/87.28 [0 0] [0 0] [0 0] [0 0] [2] 314.66/87.28 = [sum(app(l, sum(cons(x, cons(y, k)))))] 314.66/87.28 314.66/87.28 [sum(cons(x, nil()))] = [1 0] x + [4] 314.66/87.28 [0 0] [2] 314.66/87.28 > [1 0] x + [3] 314.66/87.28 [0 0] [2] 314.66/87.28 = [cons(x, nil())] 314.66/87.28 314.66/87.28 [sum(cons(x, cons(y, l)))] = [1 0] l + [1 0] x + [1 0] y + [3] 314.66/87.28 [0 0] [0 0] [0 0] [2] 314.66/87.28 > [1 0] l + [1 0] x + [1 0] y + [2] 314.66/87.28 [0 0] [0 0] [0 0] [2] 314.66/87.28 = [sum(cons(plus(x, y), l))] 314.66/87.28 314.66/87.28 [sum(plus(cons(0(), x), cons(y, l)))] = [1 0] l + [1 0] x + [1 0] y + [5] 314.66/87.28 [0 0] [0 0] [0 0] [2] 314.66/87.28 > [1 0] l + [1 0] x + [1 0] y + [4] 314.66/87.28 [0 0] [0 0] [0 0] [2] 314.66/87.28 = [pred(sum(cons(s(x), cons(y, l))))] 314.66/87.28 314.66/87.28 [plus(0(), y)] = [1 0] y + [2] 314.66/87.28 [0 1] [0] 314.66/87.28 > [1 0] y + [0] 314.66/87.28 [0 1] [0] 314.66/87.28 = [y] 314.66/87.28 314.66/87.28 [plus(s(x), y)] = [1 0] x + [1 0] y + [0] 314.66/87.28 [0 0] [0 1] [0] 314.66/87.28 >= [1 0] x + [1 0] y + [0] 314.66/87.28 [0 0] [0 0] [0] 314.66/87.28 = [s(plus(x, y))] 314.66/87.28 314.66/87.28 [pred(cons(s(x), nil()))] = [1 0] x + [4] 314.66/87.28 [0 0] [2] 314.66/87.28 > [1 0] x + [3] 314.66/87.28 [0 0] [2] 314.66/87.28 = [cons(x, nil())] 314.66/87.28 314.66/87.28 314.66/87.28 We return to the main proof. 314.66/87.28 314.66/87.28 We are left with following problem, upon which TcT provides the 314.66/87.28 certificate YES(O(1),O(n^2)). 314.66/87.28 314.66/87.28 Strict Trs: { plus(s(x), y) -> s(plus(x, y)) } 314.66/87.28 Obligation: 314.66/87.28 derivational complexity 314.66/87.28 Answer: 314.66/87.28 YES(O(1),O(n^2)) 314.66/87.28 314.66/87.28 We use the processor 'matrix interpretation of dimension 2' to 314.66/87.28 orient following rules strictly. 314.66/87.28 314.66/87.28 Trs: { plus(s(x), y) -> s(plus(x, y)) } 314.66/87.28 314.66/87.28 The induced complexity on above rules (modulo remaining rules) is 314.66/87.28 YES(?,O(n^2)) . These rules are removed from the problem. Note that 314.66/87.28 no rule is size-increasing. The overall complexity is obtained by 314.66/87.28 multiplication . 314.66/87.28 314.66/87.28 Sub-proof: 314.66/87.28 ---------- 314.66/87.28 TcT has computed the following triangular matrix interpretation. 314.66/87.28 314.66/87.28 [plus](x1, x2) = [1 1] x1 + [1 2] x2 + [0] 314.66/87.28 [0 1] [0 1] [0] 314.66/87.28 314.66/87.28 [s](x1) = [1 0] x1 + [0] 314.66/87.28 [0 1] [1] 314.66/87.28 314.66/87.28 The order satisfies the following ordering constraints: 314.66/87.28 314.66/87.28 [plus(s(x), y)] = [1 1] x + [1 2] y + [1] 314.66/87.28 [0 1] [0 1] [1] 314.66/87.28 > [1 1] x + [1 2] y + [0] 314.66/87.28 [0 1] [0 1] [1] 314.66/87.28 = [s(plus(x, y))] 314.66/87.28 314.66/87.28 314.66/87.28 We return to the main proof. 314.66/87.28 314.66/87.28 We are left with following problem, upon which TcT provides the 314.66/87.28 certificate YES(O(1),O(1)). 314.66/87.28 314.66/87.28 Rules: Empty 314.66/87.28 Obligation: 314.66/87.28 derivational complexity 314.66/87.28 Answer: 314.66/87.28 YES(O(1),O(1)) 314.66/87.28 314.66/87.28 Empty rules are trivially bounded 314.66/87.28 314.66/87.28 Hurray, we answered YES(O(1),O(n^6)) 315.13/87.40 EOF