TRS: { and(tt(), X) -> activate(X), plus(N, 0()) -> N, plus(N, s(M)) -> s(plus(N, M)), x(N, 0()) -> 0(), x(N, s(M)) -> plus(x(N, M), N), activate(X) -> X} POP* + Boolean Semantic Labelling: Normal positions: pi(x_sl=1) = [1,2], pi(x_sl=0) = [1,2], pi(plus_sl=1) = [1,2], pi(plus_sl=0) = [2], pi(and_sl=1) = [1,2], pi(and_sl=0) = [1,2], pi(activate_sl=1) = [1], pi(activate_sl=0) = [1] Safe positions: pi(s_sl=1) = [1], pi(s_sl=0) = [1], pi(plus_sl=0) = [1] Precedence: and_sl=1 > activate_sl=0, plus_sl=0 > s_sl=1, x_sl=0 > plus_sl=0 empty Interpretation: activate^(1): 0 | 0 1 | 1 and^(2): 00 | 0 01 | 1 10 | 0 11 | 0 tt^(0): | 0 plus^(2): 00 | 0 01 | 1 10 | 1 11 | 1 0^(0): | 0 s^(1): 0 | 1 1 | 1 x^(2): 00 | 0 01 | 0 10 | 0 11 | 1 Labelling: activate^(1): 0 | 0 1 | 0 and^(2): 00 | 1 01 | 1 10 | 0 11 | 0 tt^(0): | 0 plus^(2): 00 | 0 01 | 0 10 | 0 11 | 0 0^(0): | 0 s^(1): 0 | 1 1 | 1 x^(2): 00 | 0 01 | 0 10 | 0 11 | 0 Labelled predicative System: { and_sl=1(tt_sl=0(),X;) -> activate_sl=0(X;), and_sl=1(tt_sl=0(),X;) -> activate_sl=0(X;), plus_sl=0(0_sl=0();N) -> N, plus_sl=0(0_sl=0();N) -> N, plus_sl=0(s_sl=1(;M);N) -> s_sl=1(;plus_sl=0(M;N)), plus_sl=0(s_sl=1(;M);N) -> s_sl=1(;plus_sl=0(M;N)), plus_sl=0(s_sl=1(;M);N) -> s_sl=1(;plus_sl=0(M;N)), plus_sl=0(s_sl=1(;M);N) -> s_sl=1(;plus_sl=0(M;N)), x_sl=0(N,0_sl=0();) -> 0_sl=0(), x_sl=0(N,0_sl=0();) -> 0_sl=0(), x_sl=0(N,s_sl=1(;M);) -> plus_sl=0(N;x_sl=0(N,M;)), x_sl=0(N,s_sl=1(;M);) -> plus_sl=0(N;x_sl=0(N,M;)), x_sl=0(N,s_sl=1(;M);) -> plus_sl=0(N;x_sl=0(N,M;)), x_sl=0(N,s_sl=1(;M);) -> plus_sl=0(N;x_sl=0(N,M;)), activate_sl=0(X;) -> X, activate_sl=0(X;) -> X} Qed