TRS: { a__f(X) -> g(h(f(X))), mark(f(X)) -> a__f(mark(X)), mark(g(X)) -> g(X), mark(h(X)) -> h(mark(X)), a__f(X) -> f(X)} POP* + Boolean Semantic Labelling: Normal positions: pi(mark_sl=1) = [1], pi(mark_sl=0) = [1], pi(a__f_sl=0) = [1] Safe positions: pi(a__f_sl=1) = [1], pi(f_sl=1) = [1], pi(f_sl=0) = [1], pi(h_sl=1) = [1], pi(h_sl=0) = [1], pi(g_sl=1) = [1], pi(g_sl=0) = [1] Precedence: a__f_sl=1 > g_sl=0, a__f_sl=1 > h_sl=0, a__f_sl=1 > f_sl=0, a__f_sl=0 > g_sl=0, a__f_sl=0 > h_sl=0, a__f_sl=0 > f_sl=0, mark_sl=1 > mark_sl=0, mark_sl=1 > a__f_sl=1, mark_sl=1 > a__f_sl=0, mark_sl=1 > h_sl=0 empty Interpretation: g^(1): 0 | 0 1 | 0 h^(1): 0 | 0 1 | 0 f^(1): 0 | 0 1 | 0 a__f^(1): 0 | 0 1 | 0 mark^(1): 0 | 0 1 | 1 Labelling: g^(1): 0 | 0 1 | 0 h^(1): 0 | 0 1 | 0 f^(1): 0 | 0 1 | 0 a__f^(1): 0 | 1 1 | 0 mark^(1): 0 | 1 1 | 0 Labelled predicative System: { a__f_sl=1(;X) -> g_sl=0(;h_sl=0(;f_sl=0(;X))), a__f_sl=0(X;) -> g_sl=0(;h_sl=0(;f_sl=0(;X))), mark_sl=1(f_sl=0(;X);) -> a__f_sl=1(;mark_sl=1(X;)), mark_sl=1(f_sl=0(;X);) -> a__f_sl=0(mark_sl=0(X;);), mark_sl=1(g_sl=0(;X);) -> g_sl=0(;X), mark_sl=1(g_sl=0(;X);) -> g_sl=0(;X), mark_sl=1(h_sl=0(;X);) -> h_sl=0(;mark_sl=1(X;)), mark_sl=1(h_sl=0(;X);) -> h_sl=0(;mark_sl=0(X;)), a__f_sl=1(;X) -> f_sl=0(;X), a__f_sl=0(X;) -> f_sl=0(;X)} Qed