YES(?,O(n^2)) Problem: ++(nil(),y) -> y ++(x,nil()) -> x ++(.(x,y),z) -> .(x,++(y,z)) ++(++(x,y),z) -> ++(x,++(y,z)) Proof: RT Transformation Processor: strict: ++(nil(),y) -> y ++(x,nil()) -> x ++(.(x,y),z) -> .(x,++(y,z)) ++(++(x,y),z) -> ++(x,++(y,z)) weak: Matrix Interpretation Processor: dimension: 1 interpretation: [.](x0, x1) = x0 + x1 + 1, [++](x0, x1) = x0 + x1, [nil] = 8 orientation: ++(nil(),y) = y + 8 >= y = y ++(x,nil()) = x + 8 >= x = x ++(.(x,y),z) = x + y + z + 1 >= x + y + z + 1 = .(x,++(y,z)) ++(++(x,y),z) = x + y + z >= x + y + z = ++(x,++(y,z)) problem: strict: ++(.(x,y),z) -> .(x,++(y,z)) ++(++(x,y),z) -> ++(x,++(y,z)) weak: ++(nil(),y) -> y ++(x,nil()) -> x Matrix Interpretation Processor: dimension: 2 interpretation: [1 4] [0] [.](x0, x1) = [0 0]x0 + x1 + [5], [1 5] [6] [++](x0, x1) = [0 1]x0 + x1 + [3], [0] [nil] = [0] orientation: [1 4] [1 5] [31] [1 4] [1 5] [6] ++(.(x,y),z) = [0 0]x + [0 1]y + z + [8 ] >= [0 0]x + [0 1]y + z + [8] = .(x,++(y,z)) [1 10] [1 5] [27] [1 5] [1 5] [12] ++(++(x,y),z) = [0 1 ]x + [0 1]y + z + [6 ] >= [0 1]x + [0 1]y + z + [6 ] = ++(x,++(y,z)) [6] ++(nil(),y) = y + [3] >= y = y [1 5] [6] ++(x,nil()) = [0 1]x + [3] >= x = x problem: strict: weak: ++(.(x,y),z) -> .(x,++(y,z)) ++(++(x,y),z) -> ++(x,++(y,z)) ++(nil(),y) -> y ++(x,nil()) -> x Qed