YES Problem: a(x1) -> b(c(x1)) a(b(x1)) -> b(a(x1)) d(c(x1)) -> d(a(x1)) a(c(x1)) -> c(a(x1)) Proof: DP Processor: DPs: a#(b(x1)) -> a#(x1) d#(c(x1)) -> a#(x1) d#(c(x1)) -> d#(a(x1)) a#(c(x1)) -> a#(x1) TRS: a(x1) -> b(c(x1)) a(b(x1)) -> b(a(x1)) d(c(x1)) -> d(a(x1)) a(c(x1)) -> c(a(x1)) Usable Rule Processor: DPs: a#(b(x1)) -> a#(x1) d#(c(x1)) -> a#(x1) d#(c(x1)) -> d#(a(x1)) a#(c(x1)) -> a#(x1) TRS: a(x1) -> b(c(x1)) a(b(x1)) -> b(a(x1)) a(c(x1)) -> c(a(x1)) Matrix Interpretation Processor: dim=2 interpretation: [d#](x0) = [2 4]x0, [a#](x0) = [1 0]x0, [1 0] [1] [b](x0) = [0 0]x0 + [0], [1] [c](x0) = x0 + [1], [2] [a](x0) = x0 + [0] orientation: a#(b(x1)) = [1 0]x1 + [1] >= [1 0]x1 = a#(x1) d#(c(x1)) = [2 4]x1 + [6] >= [1 0]x1 = a#(x1) d#(c(x1)) = [2 4]x1 + [6] >= [2 4]x1 + [4] = d#(a(x1)) a#(c(x1)) = [1 0]x1 + [1] >= [1 0]x1 = a#(x1) [2] [1 0] [2] a(x1) = x1 + [0] >= [0 0]x1 + [0] = b(c(x1)) [1 0] [3] [1 0] [3] a(b(x1)) = [0 0]x1 + [0] >= [0 0]x1 + [0] = b(a(x1)) [3] [3] a(c(x1)) = x1 + [1] >= x1 + [1] = c(a(x1)) problem: DPs: TRS: a(x1) -> b(c(x1)) a(b(x1)) -> b(a(x1)) a(c(x1)) -> c(a(x1)) Qed