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