TRS: { f(x, y, z) -> g(x, y, z), g(0(), 1(), x) -> f(x, x, x), a() -> b(), a() -> c()} POP* + Boolean Semantic Labelling: Normal positions: pi(f_sl=1) = [1,2,3], pi(f_sl=0) = [1,2,3], pi(g_sl=1) = [1,3], pi(g_sl=0) = [1] Safe positions: pi(g_sl=1) = [2], pi(g_sl=0) = [2,3] Precedence: a_sl=0 > b_sl=1, a_sl=0 > c_sl=1, f_sl=1 > g_sl=1, g_sl=1 > f_sl=0, f_sl=0 > g_sl=0 empty Interpretation: g^(3): 000 | 1 001 | 0 010 | 1 011 | 0 100 | 0 101 | 0 110 | 0 111 | 0 f^(3): 000 | 1 001 | 0 010 | 1 011 | 0 100 | 0 101 | 0 110 | 0 111 | 0 0^(0): | 0 1^(0): | 1 b^(0): | 0 a^(0): | 0 c^(0): | 0 Labelling: g^(3): 000 | 0 001 | 0 010 | 1 011 | 1 100 | 0 101 | 0 110 | 0 111 | 0 f^(3): 000 | 0 001 | 0 010 | 1 011 | 1 100 | 0 101 | 0 110 | 0 111 | 0 0^(0): | 0 1^(0): | 0 b^(0): | 1 a^(0): | 0 c^(0): | 1 Labelled predicative System: { f_sl=0(x,y,z;) -> g_sl=0(x;y,z), f_sl=0(x,y,z;) -> g_sl=0(x;y,z), f_sl=1(x,y,z;) -> g_sl=1(x,z;y), f_sl=1(x,y,z;) -> g_sl=1(x,z;y), f_sl=0(x,y,z;) -> g_sl=0(x;y,z), f_sl=0(x,y,z;) -> g_sl=0(x;y,z), f_sl=0(x,y,z;) -> g_sl=0(x;y,z), f_sl=0(x,y,z;) -> g_sl=0(x;y,z), g_sl=1(0_sl=0(),x;1_sl=0()) -> f_sl=0(x,x,x;), g_sl=1(0_sl=0(),x;1_sl=0()) -> f_sl=0(x,x,x;), a_sl=0() -> b_sl=1(), a_sl=0() -> c_sl=1()} Qed