TRS: { and(tt(), X) -> activate(X), plus(N, 0()) -> N, plus(N, s(M)) -> s(plus(N, M)), activate(X) -> X} POP* + Boolean Semantic Labelling: Normal positions: pi(plus_sl=1) = [1,2], pi(plus_sl=0) = [1,2], pi(and_sl=1) = [1,2], pi(and_sl=0) = [1,2], pi(activate_sl=1) = [1] Safe positions: pi(s_sl=1) = [1], pi(s_sl=0) = [1], pi(activate_sl=0) = [1] Precedence: plus_sl=0 > s_sl=0, and_sl=1 > activate_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 | 0 10 | 0 11 | 1 0^(0): | 1 s^(1): 0 | 0 1 | 0 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 | 0 1 | 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(N,0_sl=0();) -> N, plus_sl=0(N,0_sl=0();) -> N, plus_sl=0(N,s_sl=0(;M);) -> s_sl=0(;plus_sl=0(N,M;)), plus_sl=0(N,s_sl=0(;M);) -> s_sl=0(;plus_sl=0(N,M;)), plus_sl=0(N,s_sl=0(;M);) -> s_sl=0(;plus_sl=0(N,M;)), plus_sl=0(N,s_sl=0(;M);) -> s_sl=0(;plus_sl=0(N,M;)), activate_sl=0(;X) -> X, activate_sl=0(;X) -> X} Qed