TRS: { p(m, n, s(r)) -> p(m, r, n), p(m, s(n), 0()) -> p(0(), n, m), p(m, 0(), 0()) -> m} POP* + Boolean Semantic Labelling: Normal positions: pi(p_sl=1) = [1,2,3], pi(p_sl=0) = [1,2,3] Safe positions: pi(s_sl=1) = [1], pi(s_sl=0) = [1] Precedence: p_sl=0 > p_sl=1 empty Interpretation: p^(3): 000 | 0 001 | 0 010 | 0 011 | 0 100 | 0 101 | 0 110 | 0 111 | 1 s^(1): 0 | 0 1 | 1 0^(0): | 1 Labelling: p^(3): 000 | 0 001 | 0 010 | 0 011 | 0 100 | 0 101 | 1 110 | 1 111 | 0 s^(1): 0 | 0 1 | 0 0^(0): | 0 Labelled predicative System: { p_sl=0(m,n,s_sl=0(;r);) -> p_sl=0(m,r,n;), p_sl=0(m,n,s_sl=0(;r);) -> p_sl=0(m,r,n;), p_sl=0(m,n,s_sl=0(;r);) -> p_sl=0(m,r,n;), p_sl=0(m,n,s_sl=0(;r);) -> p_sl=0(m,r,n;), p_sl=0(m,n,s_sl=0(;r);) -> p_sl=0(m,r,n;), p_sl=1(m,n,s_sl=0(;r);) -> p_sl=1(m,r,n;), p_sl=1(m,n,s_sl=0(;r);) -> p_sl=1(m,r,n;), p_sl=0(m,n,s_sl=0(;r);) -> p_sl=0(m,r,n;), p_sl=0(m,s_sl=0(;n),0_sl=0();) -> p_sl=0(0_sl=0(),n,m;), p_sl=0(m,s_sl=0(;n),0_sl=0();) -> p_sl=1(0_sl=0(),n,m;), p_sl=1(m,s_sl=0(;n),0_sl=0();) -> p_sl=1(0_sl=0(),n,m;), p_sl=0(m,s_sl=0(;n),0_sl=0();) -> p_sl=0(0_sl=0(),n,m;), p_sl=0(m,0_sl=0(),0_sl=0();) -> m, p_sl=0(m,0_sl=0(),0_sl=0();) -> m} Qed