TRS: { +(0(), y) -> y, +(s(x), y) -> s(+(x, y)), -(0(), y) -> 0(), -(x, 0()) -> x, -(s(x), s(y)) -> -(x, y)} POP* + Boolean Semantic Labelling: Normal positions: pi(-_sl=1) = [1,2], pi(-_sl=0) = [1,2], pi(+_sl=1) = [1,2], pi(+_sl=0) = [1,2] Safe positions: pi(s_sl=1) = [1], pi(s_sl=0) = [1] Precedence: +_sl=0 > s_sl=1, +_sl=1 > s_sl=0 empty Interpretation: +^(2): 00 | 0 01 | 1 10 | 1 11 | 1 0^(0): | 0 s^(1): 0 | 0 1 | 1 -^(2): 00 | 0 01 | 0 10 | 1 11 | 0 Labelling: +^(2): 00 | 1 01 | 0 10 | 0 11 | 0 0^(0): | 0 s^(1): 0 | 0 1 | 1 -^(2): 00 | 0 01 | 0 10 | 0 11 | 0 Labelled predicative System: { +_sl=1(0_sl=0(),y;) -> y, +_sl=0(0_sl=0(),y;) -> y, +_sl=1(s_sl=0(;x),y;) -> s_sl=0(;+_sl=1(x,y;)), +_sl=0(s_sl=1(;x),y;) -> s_sl=1(;+_sl=0(x,y;)), +_sl=0(s_sl=0(;x),y;) -> s_sl=1(;+_sl=0(x,y;)), +_sl=0(s_sl=1(;x),y;) -> s_sl=1(;+_sl=0(x,y;)), -_sl=0(0_sl=0(),y;) -> 0_sl=0(), -_sl=0(0_sl=0(),y;) -> 0_sl=0(), -_sl=0(x,0_sl=0();) -> x, -_sl=0(x,0_sl=0();) -> x, -_sl=0(s_sl=0(;x),s_sl=0(;y);) -> -_sl=0(x,y;), -_sl=0(s_sl=1(;x),s_sl=0(;y);) -> -_sl=0(x,y;), -_sl=0(s_sl=0(;x),s_sl=1(;y);) -> -_sl=0(x,y;), -_sl=0(s_sl=1(;x),s_sl=1(;y);) -> -_sl=0(x,y;)} Qed