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