YES Problem: *(x,+(y,z)) -> +(*(x,y),*(x,z)) *(+(x,y),z) -> +(*(x,z),*(y,z)) *(x,1()) -> x *(1(),y) -> y Proof: DP Processor: DPs: *#(x,+(y,z)) -> *#(x,z) *#(x,+(y,z)) -> *#(x,y) *#(+(x,y),z) -> *#(y,z) *#(+(x,y),z) -> *#(x,z) TRS: *(x,+(y,z)) -> +(*(x,y),*(x,z)) *(+(x,y),z) -> +(*(x,z),*(y,z)) *(x,1()) -> x *(1(),y) -> y Usable Rule Processor: DPs: *#(x,+(y,z)) -> *#(x,z) *#(x,+(y,z)) -> *#(x,y) *#(+(x,y),z) -> *#(y,z) *#(+(x,y),z) -> *#(x,z) TRS: Matrix Interpretation Processor: dim=4 usable rules: interpretation: [*#](x0, x1) = [1 0 1 0]x0 + [1 1 0 0]x1 + [1], [1 0 0 0] [1 0 0 0] [1] [1 1 0 0] [0 1 0 0] [1] [+](x0, x1) = [0 0 1 0]x0 + [0 0 1 0]x1 + [1] [0 0 0 0] [0 0 0 0] [0] orientation: *#(x,+(y,z)) = [1 0 1 0]x + [2 1 0 0]y + [1 1 0 0]z + [3] >= [1 0 1 0]x + [1 1 0 0]z + [1] = *#(x,z) *#(x,+(y,z)) = [1 0 1 0]x + [2 1 0 0]y + [1 1 0 0]z + [3] >= [1 0 1 0]x + [1 1 0 0]y + [1] = *#(x,y) *#(+(x,y),z) = [1 0 1 0]x + [1 0 1 0]y + [1 1 0 0]z + [3] >= [1 0 1 0]y + [1 1 0 0]z + [1] = *#(y,z) *#(+(x,y),z) = [1 0 1 0]x + [1 0 1 0]y + [1 1 0 0]z + [3] >= [1 0 1 0]x + [1 1 0 0]z + [1] = *#(x,z) problem: DPs: TRS: Qed