TRS: { f(0()) -> cons(0(), n__f(s(0()))), f(s(0())) -> f(p(s(0()))), p(s(X)) -> X, f(X) -> n__f(X), activate(n__f(X)) -> f(X), activate(X) -> X} POP* + Boolean Semantic Labelling: Normal positions: pi(activate_sl=1) = [1], pi(activate_sl=0) = [1], pi(p_sl=1) = [1], pi(p_sl=0) = [1], pi(f_sl=1) = [1], pi(f_sl=0) = [1] Safe positions: pi(s_sl=1) = [1], pi(s_sl=0) = [1], pi(n__f_sl=1) = [1], pi(n__f_sl=0) = [1], pi(cons_sl=1) = [1,2], pi(cons_sl=0) = [1,2] Precedence: f_sl=1 > n__f_sl=0, f_sl=1 > f_sl=0, f_sl=1 > p_sl=0, f_sl=0 > cons_sl=1, f_sl=0 > n__f_sl=0, f_sl=0 > s_sl=0, activate_sl=0 > f_sl=1, activate_sl=0 > f_sl=0 empty Interpretation: cons^(2): 00 | 0 01 | 0 10 | 0 11 | 0 0^(0): | 0 n__f^(1): 0 | 0 1 | 0 s^(1): 0 | 1 1 | 0 f^(1): 0 | 0 1 | 0 p^(1): 0 | 1 1 | 0 activate^(1): 0 | 0 1 | 1 Labelling: cons^(2): 00 | 1 01 | 0 10 | 0 11 | 0 0^(0): | 0 n__f^(1): 0 | 0 1 | 0 s^(1): 0 | 0 1 | 0 f^(1): 0 | 0 1 | 1 p^(1): 0 | 0 1 | 0 activate^(1): 0 | 0 1 | 0 Labelled predicative System: { f_sl=0(0_sl=0();) -> cons_sl=1(;0_sl=0(),n__f_sl=0(;s_sl=0(;0_sl=0()))), f_sl=1(s_sl=0(;0_sl=0());) -> f_sl=0(p_sl=0(s_sl=0(;0_sl=0()););), p_sl=0(s_sl=0(;X);) -> X, p_sl=0(s_sl=0(;X);) -> X, f_sl=0(X;) -> n__f_sl=0(;X), f_sl=1(X;) -> n__f_sl=0(;X), activate_sl=0(n__f_sl=0(;X);) -> f_sl=0(X;), activate_sl=0(n__f_sl=0(;X);) -> f_sl=1(X;), activate_sl=0(X;) -> X, activate_sl=0(X;) -> X} Qed