YES Problem: f(a(),f(b(),x)) -> f(b(),f(a(),x)) f(b(),f(c(),x)) -> f(c(),f(b(),x)) f(c(),f(a(),x)) -> f(a(),f(c(),x)) Proof: DP Processor: DPs: f#(a(),f(b(),x)) -> f#(a(),x) f#(a(),f(b(),x)) -> f#(b(),f(a(),x)) f#(b(),f(c(),x)) -> f#(b(),x) f#(b(),f(c(),x)) -> f#(c(),f(b(),x)) f#(c(),f(a(),x)) -> f#(c(),x) f#(c(),f(a(),x)) -> f#(a(),f(c(),x)) TRS: f(a(),f(b(),x)) -> f(b(),f(a(),x)) f(b(),f(c(),x)) -> f(c(),f(b(),x)) f(c(),f(a(),x)) -> f(a(),f(c(),x)) EDG Processor: DPs: f#(a(),f(b(),x)) -> f#(a(),x) f#(a(),f(b(),x)) -> f#(b(),f(a(),x)) f#(b(),f(c(),x)) -> f#(b(),x) f#(b(),f(c(),x)) -> f#(c(),f(b(),x)) f#(c(),f(a(),x)) -> f#(c(),x) f#(c(),f(a(),x)) -> f#(a(),f(c(),x)) TRS: f(a(),f(b(),x)) -> f(b(),f(a(),x)) f(b(),f(c(),x)) -> f(c(),f(b(),x)) f(c(),f(a(),x)) -> f(a(),f(c(),x)) graph: f#(c(),f(a(),x)) -> f#(c(),x) -> f#(c(),f(a(),x)) -> f#(c(),x) f#(c(),f(a(),x)) -> f#(c(),x) -> f#(c(),f(a(),x)) -> f#(a(),f(c(),x)) f#(c(),f(a(),x)) -> f#(a(),f(c(),x)) -> f#(a(),f(b(),x)) -> f#(a(),x) f#(c(),f(a(),x)) -> f#(a(),f(c(),x)) -> f#(a(),f(b(),x)) -> f#(b(),f(a(),x)) f#(b(),f(c(),x)) -> f#(c(),f(b(),x)) -> f#(c(),f(a(),x)) -> f#(c(),x) f#(b(),f(c(),x)) -> f#(c(),f(b(),x)) -> f#(c(),f(a(),x)) -> f#(a(),f(c(),x)) f#(b(),f(c(),x)) -> f#(b(),x) -> f#(b(),f(c(),x)) -> f#(b(),x) f#(b(),f(c(),x)) -> f#(b(),x) -> f#(b(),f(c(),x)) -> f#(c(),f(b(),x)) f#(a(),f(b(),x)) -> f#(b(),f(a(),x)) -> f#(b(),f(c(),x)) -> f#(b(),x) f#(a(),f(b(),x)) -> f#(b(),f(a(),x)) -> f#(b(),f(c(),x)) -> f#(c(),f(b(),x)) f#(a(),f(b(),x)) -> f#(a(),x) -> f#(a(),f(b(),x)) -> f#(a(),x) f#(a(),f(b(),x)) -> f#(a(),x) -> f#(a(),f(b(),x)) -> f#(b(),f(a(),x)) Matrix Interpretation Processor: dimension: 1 interpretation: [f#](x0, x1) = x0 + x1, [c] = 0, [f](x0, x1) = x0 + x1 + 1, [b] = 0, [a] = 1 orientation: f#(a(),f(b(),x)) = x + 2 >= x + 1 = f#(a(),x) f#(a(),f(b(),x)) = x + 2 >= x + 2 = f#(b(),f(a(),x)) f#(b(),f(c(),x)) = x + 1 >= x = f#(b(),x) f#(b(),f(c(),x)) = x + 1 >= x + 1 = f#(c(),f(b(),x)) f#(c(),f(a(),x)) = x + 2 >= x = f#(c(),x) f#(c(),f(a(),x)) = x + 2 >= x + 2 = f#(a(),f(c(),x)) f(a(),f(b(),x)) = x + 3 >= x + 3 = f(b(),f(a(),x)) f(b(),f(c(),x)) = x + 2 >= x + 2 = f(c(),f(b(),x)) f(c(),f(a(),x)) = x + 3 >= x + 3 = f(a(),f(c(),x)) problem: DPs: f#(a(),f(b(),x)) -> f#(b(),f(a(),x)) f#(b(),f(c(),x)) -> f#(c(),f(b(),x)) f#(c(),f(a(),x)) -> f#(a(),f(c(),x)) TRS: f(a(),f(b(),x)) -> f(b(),f(a(),x)) f(b(),f(c(),x)) -> f(c(),f(b(),x)) f(c(),f(a(),x)) -> f(a(),f(c(),x)) Bounds Processor: bound: 1 enrichment: match-dp automaton: final states: {23} transitions: f{#,1}(33,32) -> 23,20,22 f1(31,18) -> 32* f1(31,20) -> 32* f1(33,32) -> 32* f1(31,17) -> 32* f1(31,19) -> 32* f1(31,21) -> 32* a1() -> 33* c1() -> 31* f{#,0}(17,18) -> 20* f{#,0}(17,20) -> 20* f{#,0}(17,24) -> 23* f{#,0}(18,17) -> 20* f{#,0}(18,19) -> 20* f{#,0}(18,21) -> 20* f{#,0}(19,18) -> 23,20 f{#,0}(19,20) -> 20* f{#,0}(20,17) -> 20* f{#,0}(20,19) -> 20* f{#,0}(20,21) -> 20* f{#,0}(21,18) -> 23,20 f{#,0}(21,20) -> 20* f{#,0}(17,17) -> 20* f{#,0}(17,19) -> 20* f{#,0}(17,21) -> 20* f{#,0}(18,18) -> 20* f{#,0}(18,20) -> 20* f{#,0}(19,17) -> 20* f{#,0}(19,19) -> 20* f{#,0}(19,21) -> 20* f{#,0}(20,18) -> 20* f{#,0}(20,20) -> 20* f{#,0}(21,17) -> 20* f{#,0}(21,19) -> 20* f{#,0}(21,21) -> 20* a0() -> 17* f0(17,18) -> 24,18 f0(17,20) -> 18* f0(18,17) -> 18* f0(18,19) -> 18* f0(18,21) -> 18* f0(19,18) -> 18* f0(19,20) -> 18* f0(19,22) -> 24* f0(20,17) -> 18* f0(20,19) -> 18* f0(20,21) -> 18* f0(21,18) -> 24,18 f0(21,20) -> 18* f0(17,17) -> 18* f0(17,19) -> 18* f0(17,21) -> 18* f0(18,18) -> 18* f0(18,20) -> 18* f0(19,17) -> 18* f0(19,19) -> 18* f0(19,21) -> 18* f0(20,18) -> 18* f0(20,20) -> 18* f0(21,17) -> 18* f0(21,19) -> 18* f0(21,21) -> 18* b0() -> 21* c0() -> 19* 17 -> 22* 18 -> 22* 19 -> 22* 20 -> 22* 21 -> 22* problem: DPs: f#(a(),f(b(),x)) -> f#(b(),f(a(),x)) f#(b(),f(c(),x)) -> f#(c(),f(b(),x)) TRS: f(a(),f(b(),x)) -> f(b(),f(a(),x)) f(b(),f(c(),x)) -> f(c(),f(b(),x)) f(c(),f(a(),x)) -> f(a(),f(c(),x)) Matrix Interpretation Processor: dimension: 1 interpretation: [f#](x0, x1) = x1, [c] = 1, [f](x0, x1) = x0 + x1, [b] = 0, [a] = 0 orientation: f#(a(),f(b(),x)) = x >= x = f#(b(),f(a(),x)) f#(b(),f(c(),x)) = x + 1 >= x = f#(c(),f(b(),x)) f(a(),f(b(),x)) = x >= x = f(b(),f(a(),x)) f(b(),f(c(),x)) = x + 1 >= x + 1 = f(c(),f(b(),x)) f(c(),f(a(),x)) = x + 1 >= x + 1 = f(a(),f(c(),x)) problem: DPs: f#(a(),f(b(),x)) -> f#(b(),f(a(),x)) TRS: f(a(),f(b(),x)) -> f(b(),f(a(),x)) f(b(),f(c(),x)) -> f(c(),f(b(),x)) f(c(),f(a(),x)) -> f(a(),f(c(),x)) Matrix Interpretation Processor: dimension: 1 interpretation: [f#](x0, x1) = x1, [c] = 0, [f](x0, x1) = x0 + x1, [b] = 1, [a] = 0 orientation: f#(a(),f(b(),x)) = x + 1 >= x = f#(b(),f(a(),x)) f(a(),f(b(),x)) = x + 1 >= x + 1 = f(b(),f(a(),x)) f(b(),f(c(),x)) = x + 1 >= x + 1 = f(c(),f(b(),x)) f(c(),f(a(),x)) = x >= x = f(a(),f(c(),x)) problem: DPs: TRS: f(a(),f(b(),x)) -> f(b(),f(a(),x)) f(b(),f(c(),x)) -> f(c(),f(b(),x)) f(c(),f(a(),x)) -> f(a(),f(c(),x)) Qed