MAYBE Problem: g(A()) -> A() g(B()) -> A() g(B()) -> B() g(C()) -> A() g(C()) -> B() g(C()) -> C() foldB(t,0()) -> t foldB(t,s(n)) -> f(foldB(t,n),B()) foldC(t,0()) -> t foldC(t,s(n)) -> f(foldC(t,n),C()) f(t,x) -> f'(t,g(x)) f'(triple(a,b,c),C()) -> triple(a,b,s(c)) f'(triple(a,b,c),B()) -> f(triple(a,b,c),A()) f'(triple(a,b,c),A()) -> f''(foldB(triple(s(a),0(),c),b)) f''(triple(a,b,c)) -> foldC(triple(a,b,0()),c) Proof: RT Transformation Processor: strict: g(A()) -> A() g(B()) -> A() g(B()) -> B() g(C()) -> A() g(C()) -> B() g(C()) -> C() foldB(t,0()) -> t foldB(t,s(n)) -> f(foldB(t,n),B()) foldC(t,0()) -> t foldC(t,s(n)) -> f(foldC(t,n),C()) f(t,x) -> f'(t,g(x)) f'(triple(a,b,c),C()) -> triple(a,b,s(c)) f'(triple(a,b,c),B()) -> f(triple(a,b,c),A()) f'(triple(a,b,c),A()) -> f''(foldB(triple(s(a),0(),c),b)) f''(triple(a,b,c)) -> foldC(triple(a,b,0()),c) weak: Matrix Interpretation Processor: dimension: 1 interpretation: [f''](x0) = x0 + 4, [triple](x0, x1, x2) = x0 + x1 + x2 + 19, [f'](x0, x1) = x0 + x1 + 4, [foldC](x0, x1) = x0 + x1 + 2, [f](x0, x1) = x0 + x1 + 8, [s](x0) = x0 + 25, [foldB](x0, x1) = x0 + x1 + 12, [0] = 1, [C] = 8, [B] = 12, [g](x0) = x0 + 29, [A] = 5 orientation: g(A()) = 34 >= 5 = A() g(B()) = 41 >= 5 = A() g(B()) = 41 >= 12 = B() g(C()) = 37 >= 5 = A() g(C()) = 37 >= 12 = B() g(C()) = 37 >= 8 = C() foldB(t,0()) = t + 13 >= t = t foldB(t,s(n)) = n + t + 37 >= n + t + 32 = f(foldB(t,n),B()) foldC(t,0()) = t + 3 >= t = t foldC(t,s(n)) = n + t + 27 >= n + t + 18 = f(foldC(t,n),C()) f(t,x) = t + x + 8 >= t + x + 33 = f'(t,g(x)) f'(triple(a,b,c),C()) = a + b + c + 31 >= a + b + c + 44 = triple(a,b,s(c)) f'(triple(a,b,c),B()) = a + b + c + 35 >= a + b + c + 32 = f(triple(a,b,c),A()) f'(triple(a,b,c),A()) = a + b + c + 28 >= a + b + c + 61 = f''(foldB(triple(s(a),0(),c),b)) f''(triple(a,b,c)) = a + b + c + 23 >= a + b + c + 22 = foldC(triple(a,b,0()),c) problem: strict: f(t,x) -> f'(t,g(x)) f'(triple(a,b,c),C()) -> triple(a,b,s(c)) f'(triple(a,b,c),A()) -> f''(foldB(triple(s(a),0(),c),b)) weak: g(A()) -> A() g(B()) -> A() g(B()) -> B() g(C()) -> A() g(C()) -> B() g(C()) -> C() foldB(t,0()) -> t foldB(t,s(n)) -> f(foldB(t,n),B()) foldC(t,0()) -> t foldC(t,s(n)) -> f(foldC(t,n),C()) f'(triple(a,b,c),B()) -> f(triple(a,b,c),A()) f''(triple(a,b,c)) -> foldC(triple(a,b,0()),c) Matrix Interpretation Processor: dimension: 1 interpretation: [f''](x0) = x0, [triple](x0, x1, x2) = x0 + x1 + x2, [f'](x0, x1) = x0 + x1 + 27, [foldC](x0, x1) = x0 + x1, [f](x0, x1) = x0 + x1, [s](x0) = x0, [foldB](x0, x1) = x0 + x1 + 2, [0] = 0, [C] = 0, [B] = 0, [g](x0) = x0 + 3, [A] = 2 orientation: f(t,x) = t + x >= t + x + 30 = f'(t,g(x)) f'(triple(a,b,c),C()) = a + b + c + 27 >= a + b + c = triple(a,b,s(c)) f'(triple(a,b,c),A()) = a + b + c + 29 >= a + b + c + 2 = f''(foldB(triple(s(a),0(),c),b)) g(A()) = 5 >= 2 = A() g(B()) = 3 >= 2 = A() g(B()) = 3 >= 0 = B() g(C()) = 3 >= 2 = A() g(C()) = 3 >= 0 = B() g(C()) = 3 >= 0 = C() foldB(t,0()) = t + 2 >= t = t foldB(t,s(n)) = n + t + 2 >= n + t + 2 = f(foldB(t,n),B()) foldC(t,0()) = t >= t = t foldC(t,s(n)) = n + t >= n + t = f(foldC(t,n),C()) f'(triple(a,b,c),B()) = a + b + c + 27 >= a + b + c + 2 = f(triple(a,b,c),A()) f''(triple(a,b,c)) = a + b + c >= a + b + c = foldC(triple(a,b,0()),c) problem: strict: f(t,x) -> f'(t,g(x)) weak: f'(triple(a,b,c),C()) -> triple(a,b,s(c)) f'(triple(a,b,c),A()) -> f''(foldB(triple(s(a),0(),c),b)) g(A()) -> A() g(B()) -> A() g(B()) -> B() g(C()) -> A() g(C()) -> B() g(C()) -> C() foldB(t,0()) -> t foldB(t,s(n)) -> f(foldB(t,n),B()) foldC(t,0()) -> t foldC(t,s(n)) -> f(foldC(t,n),C()) f'(triple(a,b,c),B()) -> f(triple(a,b,c),A()) f''(triple(a,b,c)) -> foldC(triple(a,b,0()),c) Open