TRS:
 {             f(X) -> g(n__h(n__f(X))),
               h(X) -> n__h(X),
               f(X) -> n__f(X),
  activate(n__h(X)) -> h(activate(X)),
  activate(n__f(X)) -> f(activate(X)),
        activate(X) -> X}
 POP* + Boolean Semantic Labelling:
  Normal positions:
  pi(activate_sl=1) = [1], pi(activate_sl=0) = [1], pi(h_sl=0) = [1], pi(f_sl=0) = [1]
  
Safe positions:
   pi(h_sl=1) = [1], pi(f_sl=1) = [1], pi(n__f_sl=1) = [1], pi(n__f_sl=0) = [1], pi(n__h_sl=1) = [1], pi(n__h_sl=0) = [1], pi(g_sl=1) = [1], pi(g_sl=0) = [1]
  
Precedence:
   h_sl=1 > n__h_sl=0, 
   f_sl=1 > g_sl=0, 
   f_sl=1 > n__h_sl=0, 
   f_sl=1 > n__f_sl=0, 
   f_sl=0 > g_sl=0, 
   f_sl=0 > n__h_sl=0, 
   f_sl=0 > n__f_sl=0, 
   h_sl=0 > n__h_sl=0, 
   activate_sl=1 > activate_sl=0, 
   activate_sl=1 > h_sl=1, 
   activate_sl=1 > h_sl=0, 
   activate_sl=1 > f_sl=1, 
   activate_sl=1 > f_sl=0
   empty
  
Interpretation:
   g^(1):
   0 | 0
   1 | 0
   n__h^(1):
   0 | 0
   1 | 0
   n__f^(1):
   0 | 0
   1 | 0
   f^(1):
   0 | 0
   1 | 0
   h^(1):
   0 | 0
   1 | 0
   activate^(1):
   0 | 0
   1 | 1
   
  
Labelling:
   g^(1):
   0 | 0
   1 | 0
   n__h^(1):
   0 | 0
   1 | 0
   n__f^(1):
   0 | 0
   1 | 0
   f^(1):
   0 | 1
   1 | 0
   h^(1):
   0 | 1
   1 | 0
   activate^(1):
   0 | 1
   1 | 0
   
  
Labelled predicative System:
   {                   f_sl=1(;X) -> g_sl=0(;n__h_sl=0(;n__f_sl=0(;X))),
                       f_sl=0(X;) -> g_sl=0(;n__h_sl=0(;n__f_sl=0(;X))),
                       h_sl=1(;X) -> n__h_sl=0(;X),
                       h_sl=0(X;) -> n__h_sl=0(;X),
                       f_sl=1(;X) -> n__f_sl=0(;X),
                       f_sl=0(X;) -> n__f_sl=0(;X),
    activate_sl=1(n__h_sl=0(;X);) -> h_sl=1(;activate_sl=1(X;)),
    activate_sl=1(n__h_sl=0(;X);) -> h_sl=0(activate_sl=0(X;);),
    activate_sl=1(n__f_sl=0(;X);) -> f_sl=1(;activate_sl=1(X;)),
    activate_sl=1(n__f_sl=0(;X);) -> f_sl=0(activate_sl=0(X;);),
                activate_sl=1(X;) -> X,
                activate_sl=0(X;) -> X}
  

  Qed