YES(?,O(n^2)) Problem: rev(ls) -> r1(ls,empty()) r1(empty(),a) -> a r1(cons(x,k),a) -> r1(k,cons(x,a)) Proof: RT Transformation Processor: strict: rev(ls) -> r1(ls,empty()) r1(empty(),a) -> a r1(cons(x,k),a) -> r1(k,cons(x,a)) weak: Matrix Interpretation Processor: dimension: 1 interpretation: [cons](x0, x1) = x0 + x1 + 14, [r1](x0, x1) = x0 + x1 + 20, [empty] = 0, [rev](x0) = x0 + 24 orientation: rev(ls) = ls + 24 >= ls + 20 = r1(ls,empty()) r1(empty(),a) = a + 20 >= a = a r1(cons(x,k),a) = a + k + x + 34 >= a + k + x + 34 = r1(k,cons(x,a)) problem: strict: r1(cons(x,k),a) -> r1(k,cons(x,a)) weak: rev(ls) -> r1(ls,empty()) r1(empty(),a) -> a Matrix Interpretation Processor: dimension: 2 interpretation: [1 8] [0] [cons](x0, x1) = [0 0]x0 + x1 + [2], [1 1] [11] [r1](x0, x1) = [0 1]x0 + x1 + [0 ], [1] [empty] = [0], [1 2] [14] [rev](x0) = [0 1]x0 + [1 ] orientation: [1 1] [1 8] [13] [1 1] [1 8] [11] r1(cons(x,k),a) = a + [0 1]k + [0 0]x + [2 ] >= a + [0 1]k + [0 0]x + [2 ] = r1(k,cons(x,a)) [1 2] [14] [1 1] [12] rev(ls) = [0 1]ls + [1 ] >= [0 1]ls + [0 ] = r1(ls,empty()) [12] r1(empty(),a) = a + [0 ] >= a = a problem: strict: weak: r1(cons(x,k),a) -> r1(k,cons(x,a)) rev(ls) -> r1(ls,empty()) r1(empty(),a) -> a Qed