YES TRS: {f(f(a(), x), y) -> f(y, f(x, f(a(), f(h(a()), a()))))} DP: Strict: {f#(f(a(), x), y) -> f#(y, f(x, f(a(), f(h(a()), a())))), f#(f(a(), x), y) -> f#(x, f(a(), f(h(a()), a()))), f#(f(a(), x), y) -> f#(a(), f(h(a()), a())), f#(f(a(), x), y) -> f#(h(a()), a())} Weak: {f(f(a(), x), y) -> f(y, f(x, f(a(), f(h(a()), a()))))} EDG: {(f#(f(a(), x), y) -> f#(x, f(a(), f(h(a()), a()))), f#(f(a(), x), y) -> f#(h(a()), a())) (f#(f(a(), x), y) -> f#(x, f(a(), f(h(a()), a()))), f#(f(a(), x), y) -> f#(a(), f(h(a()), a()))) (f#(f(a(), x), y) -> f#(x, f(a(), f(h(a()), a()))), f#(f(a(), x), y) -> f#(x, f(a(), f(h(a()), a())))) (f#(f(a(), x), y) -> f#(x, f(a(), f(h(a()), a()))), f#(f(a(), x), y) -> f#(y, f(x, f(a(), f(h(a()), a()))))) (f#(f(a(), x), y) -> f#(y, f(x, f(a(), f(h(a()), a())))), f#(f(a(), x), y) -> f#(y, f(x, f(a(), f(h(a()), a()))))) (f#(f(a(), x), y) -> f#(y, f(x, f(a(), f(h(a()), a())))), f#(f(a(), x), y) -> f#(x, f(a(), f(h(a()), a())))) (f#(f(a(), x), y) -> f#(y, f(x, f(a(), f(h(a()), a())))), f#(f(a(), x), y) -> f#(a(), f(h(a()), a()))) (f#(f(a(), x), y) -> f#(y, f(x, f(a(), f(h(a()), a())))), f#(f(a(), x), y) -> f#(h(a()), a()))} SCCS: Scc: {f#(f(a(), x), y) -> f#(y, f(x, f(a(), f(h(a()), a())))), f#(f(a(), x), y) -> f#(x, f(a(), f(h(a()), a())))} SCC: Strict: {f#(f(a(), x), y) -> f#(y, f(x, f(a(), f(h(a()), a())))), f#(f(a(), x), y) -> f#(x, f(a(), f(h(a()), a())))} Weak: {f(f(a(), x), y) -> f(y, f(x, f(a(), f(h(a()), a()))))} UR: {f(f(a(), x), y) -> f(y, f(x, f(a(), f(h(a()), a()))))} BOUND: Bound: match(-raise)-DP-bounded by 2 Automaton: { h_2(20) -> 21* h_1(15) -> 16* h_0(14) -> 10* h_0(13) -> 10* h_0(12) -> 11* h_0(11) -> 10* h_0(10) -> 10* h_0(9) -> 10* a_2() -> 20* a_1() -> 15* a_0() -> 12* f#_2(17, 23) -> 5* f#_1(24, 25) -> 5* f#_1(24, 24) -> 5* f#_1(19, 24) -> 5* f#_1(18, 24) -> 5* f#_1(18, 19) -> 5* f#_1(18, 18) -> 5* f#_1(14, 18) -> 5* f#_1(13, 18) -> 5* f#_1(12, 18) -> 5* f#_1(11, 18) -> 5* f#_1(10, 18) -> 5* f#_1(9, 18) -> 5* f#_0(14, 14) -> 5* f#_0(14, 9) -> 5* f#_0(13, 14) -> 5* f#_0(12, 14) -> 5* f#_0(11, 14) -> 5* f#_0(10, 14) -> 5* f#_0(9, 14) -> 5* f#_0(9, 9) -> 5* f_2(21, 20) -> 22* f_2(20, 22) -> 23* f_1(24, 25) -> 19* f_1(24, 24) -> 25* f_1(19, 24) -> 19* f_1(18, 24) -> 25* f_1(18, 19) -> 19* f_1(18, 18) -> 25* f_1(17, 18) -> 24* f_1(16, 15) -> 17* f_1(15, 17) -> 18* f_1(14, 18) -> 19* f_1(13, 18) -> 19* f_1(12, 18) -> 19* f_1(11, 18) -> 19* f_1(10, 18) -> 19* f_1(9, 18) -> 19* f_0(14, 14) -> 9* f_0(14, 13) -> 9* f_0(14, 12) -> 9* f_0(14, 11) -> 9* f_0(14, 10) -> 9* f_0(14, 9) -> 9* f_0(13, 14) -> 9* f_0(13, 13) -> 9* f_0(13, 12) -> 9* f_0(13, 11) -> 9* f_0(13, 10) -> 9* f_0(13, 9) -> 9* f_0(12, 14) -> 9* f_0(12, 13) -> 14* f_0(12, 12) -> 9* f_0(12, 11) -> 9* f_0(12, 10) -> 9* f_0(12, 9) -> 9* f_0(11, 14) -> 9* f_0(11, 13) -> 9* f_0(11, 12) -> 13* f_0(11, 11) -> 9* f_0(11, 10) -> 9* f_0(11, 9) -> 9* f_0(10, 14) -> 9* f_0(10, 13) -> 9* f_0(10, 12) -> 9* f_0(10, 11) -> 9* f_0(10, 10) -> 9* f_0(10, 9) -> 9* f_0(9, 14) -> 9* f_0(9, 13) -> 9* f_0(9, 12) -> 9* f_0(9, 11) -> 9* f_0(9, 10) -> 9* f_0(9, 9) -> 9*} Strict: {f#(f(a(), x), y) -> f#(y, f(x, f(a(), f(h(a()), a()))))} EDG: {(f#(f(a(), x), y) -> f#(y, f(x, f(a(), f(h(a()), a())))), f#(f(a(), x), y) -> f#(y, f(x, f(a(), f(h(a()), a())))))} SCCS: Scc: {f#(f(a(), x), y) -> f#(y, f(x, f(a(), f(h(a()), a()))))} SCC: Strict: {f#(f(a(), x), y) -> f#(y, f(x, f(a(), f(h(a()), a()))))} Weak: {f(f(a(), x), y) -> f(y, f(x, f(a(), f(h(a()), a()))))} UR: {f(f(a(), x), y) -> f(y, f(x, f(a(), f(h(a()), a()))))} BOUND: Bound: match(-raise)-DP-bounded by 1 Automaton: { h_1(17) -> 18* h_0(16) -> 11* h_0(15) -> 11* h_0(14) -> 11* h_0(13) -> 12* h_0(12) -> 11* h_0(11) -> 11* h_0(10) -> 11* a_1() -> 17* a_0() -> 13* f#_1(21, 21) -> 5* f#_1(16, 21) -> 5* f#_0(16, 16) -> 5* f#_0(15, 16) -> 5* f#_0(14, 16) -> 5* f#_0(13, 16) -> 5* f#_0(12, 16) -> 5* f#_0(11, 16) -> 5* f#_0(10, 16) -> 5* f_1(21, 21) -> 21* f_1(20, 21) -> 21* f_1(20, 20) -> 21* f_1(19, 20) -> 21* f_1(18, 17) -> 19* f_1(17, 19) -> 20* f_1(16, 20) -> 21* f_1(15, 20) -> 21* f_1(14, 20) -> 21* f_1(13, 20) -> 21* f_1(12, 20) -> 21* f_1(11, 20) -> 21* f_1(10, 20) -> 21* f_0(16, 16) -> 16 | 10 f_0(16, 15) -> 16* f_0(16, 14) -> 10* f_0(16, 13) -> 10* f_0(16, 12) -> 10* f_0(16, 11) -> 10* f_0(16, 10) -> 10* f_0(15, 16) -> 16 | 10 f_0(15, 15) -> 16* f_0(15, 14) -> 10* f_0(15, 13) -> 10* f_0(15, 12) -> 10* f_0(15, 11) -> 10* f_0(15, 10) -> 10* f_0(14, 16) -> 10* f_0(14, 15) -> 16* f_0(14, 14) -> 10* f_0(14, 13) -> 10* f_0(14, 12) -> 10* f_0(14, 11) -> 10* f_0(14, 10) -> 10* f_0(13, 16) -> 10* f_0(13, 15) -> 16* f_0(13, 14) -> 15* f_0(13, 13) -> 10* f_0(13, 12) -> 10* f_0(13, 11) -> 10* f_0(13, 10) -> 10* f_0(12, 16) -> 10* f_0(12, 15) -> 16* f_0(12, 14) -> 10* f_0(12, 13) -> 14* f_0(12, 12) -> 10* f_0(12, 11) -> 10* f_0(12, 10) -> 10* f_0(11, 16) -> 10* f_0(11, 15) -> 16* f_0(11, 14) -> 10* f_0(11, 13) -> 10* f_0(11, 12) -> 10* f_0(11, 11) -> 10* f_0(11, 10) -> 10* f_0(10, 16) -> 10* f_0(10, 15) -> 16* f_0(10, 14) -> 10* f_0(10, 13) -> 10* f_0(10, 12) -> 10* f_0(10, 11) -> 10* f_0(10, 10) -> 10*} Strict: {} Qed