NO Problem: +(1(),x) -> +(+(0(),1()),x) +(0(),x) -> x Proof: Extended Uncurrying Processor: application symbol: + symbol table: 0 ==> 00/0 01/1 02/2 1 ==> 10/0 11/1 uncurry-rules: +(10(),x2) -> 11(x2) +(01(x4),x5) -> 02(x4,x5) +(00(),x4) -> 01(x4) eta-rules: +(+(0(),x),x1) -> +(x,x1) problem: 11(x) -> 02(10(),x) 01(x) -> x 02(x,x1) -> +(x,x1) +(10(),x2) -> 11(x2) +(01(x4),x5) -> 02(x4,x5) +(00(),x4) -> 01(x4) Matrix Interpretation Processor: dim=1 interpretation: [11](x0) = x0 + 4, [+](x0, x1) = 4x0 + x1 + 4, [10] = 0, [00] = 2, [02](x0, x1) = 4x0 + x1 + 4, [01](x0) = x0 + 1 orientation: 11(x) = x + 4 >= x + 4 = 02(10(),x) 01(x) = x + 1 >= x = x 02(x,x1) = 4x + x1 + 4 >= 4x + x1 + 4 = +(x,x1) +(10(),x2) = x2 + 4 >= x2 + 4 = 11(x2) +(01(x4),x5) = 4x4 + x5 + 8 >= 4x4 + x5 + 4 = 02(x4,x5) +(00(),x4) = x4 + 12 >= x4 + 1 = 01(x4) problem: 11(x) -> 02(10(),x) 02(x,x1) -> +(x,x1) +(10(),x2) -> 11(x2) Unfolding Processor: loop length: 3 terms: 11(x39) 02(10(),x39) +(10(),x39) context: [] substitution: x39 -> x39 Qed