YES Problem: app(app(F(),app(app(F(),f),x)),x) -> app(app(F(),app(G(),app(app(F(),f),x))),app(f,x)) Proof: Uncurry Processor: F2(F2(f,x),x) -> F2(G1(F2(f,x)),app(f,x)) app(F1(x2),x3) -> F2(x2,x3) app(F(),x3) -> F1(x3) app(G(),x3) -> G1(x3) Matrix Interpretation Processor: dim=3 interpretation: [1 0 0] [G1](x0) = [0 0 0]x0 [0 1 0] , [1 0 1] [1 0 0] [0] [F2](x0, x1) = [0 1 1]x0 + [0 0 0]x1 + [1] [1 1 1] [0 1 1] [1], [1 0 1] [1] [F1](x0) = [0 1 0]x0 + [1] [0 1 1] [1], [1] [G] = [0] [0], [1 0 0] [1 0 1] [0] [app](x0, x1) = [0 0 1]x0 + [0 1 0]x1 + [1] [1 1 0] [0 1 1] [0], [1] [F] = [1] [1] orientation: [2 1 2] [2 1 1] [1] [2 1 2] [2 0 1] [1] F2(F2(f,x),x) = [1 2 2]f + [0 1 1]x + [3] >= [0 1 1]f + [0 0 0]x + [2] = F2(G1(F2(f,x)),app(f,x)) [2 2 3] [1 2 2] [3] [2 2 3] [1 2 1] [3] [1 0 1] [1 0 1] [1] [1 0 1] [1 0 0] [0] app(F1(x2),x3) = [0 1 1]x2 + [0 1 0]x3 + [2] >= [0 1 1]x2 + [0 0 0]x3 + [1] = F2(x2,x3) [1 1 1] [0 1 1] [2] [1 1 1] [0 1 1] [1] [1 0 1] [1] [1 0 1] [1] app(F(),x3) = [0 1 0]x3 + [2] >= [0 1 0]x3 + [1] = F1(x3) [0 1 1] [2] [0 1 1] [1] [1 0 1] [1] [1 0 0] app(G(),x3) = [0 1 0]x3 + [1] >= [0 0 0]x3 = G1(x3) [0 1 1] [1] [0 1 0] problem: F2(F2(f,x),x) -> F2(G1(F2(f,x)),app(f,x)) app(F(),x3) -> F1(x3) Matrix Interpretation Processor: dim=3 interpretation: [1 0 0] [G1](x0) = [1 0 0]x0 [0 0 0] , [1 0 1] [1 0 0] [0] [F2](x0, x1) = [0 0 0]x0 + [0 0 0]x1 + [0] [1 0 0] [0 0 0] [1], [1 0 0] [F1](x0) = [0 0 0]x0 [0 0 0] , [1 0 0] [1 0 0] [1] [app](x0, x1) = [0 0 0]x0 + [0 0 0]x1 + [0] [0 1 1] [0 0 0] [0], [1] [F] = [1] [1] orientation: [2 0 1] [2 0 0] [1] [2 0 1] [2 0 0] [1] F2(F2(f,x),x) = [0 0 0]f + [0 0 0]x + [0] >= [0 0 0]f + [0 0 0]x + [0] = F2(G1(F2(f,x)),app(f,x)) [1 0 1] [1 0 0] [1] [1 0 1] [1 0 0] [1] [1 0 0] [2] [1 0 0] app(F(),x3) = [0 0 0]x3 + [0] >= [0 0 0]x3 = F1(x3) [0 0 0] [2] [0 0 0] problem: F2(F2(f,x),x) -> F2(G1(F2(f,x)),app(f,x)) Matrix Interpretation Processor: dim=2 interpretation: [1 0] [G1](x0) = [0 0]x0, [2 1] [1 2] [0] [F2](x0, x1) = [3 0]x0 + [0 0]x1 + [1], [1 0] [1 0] [app](x0, x1) = [1 0]x0 + [0 0]x1 orientation: [7 2] [3 6] [1] [7 2] [3 4] [0] F2(F2(f,x),x) = [6 3]f + [3 6]x + [1] >= [6 3]f + [3 6]x + [1] = F2(G1(F2(f,x)),app(f,x)) problem: Qed