Problem:
 zeros() -> cons(0(),n__zeros())
 and(tt(),X) -> activate(X)
 length(nil()) -> 0()
 length(cons(N,L)) -> s(length(activate(L)))
 zeros() -> n__zeros()
 activate(n__zeros()) -> zeros()
 activate(X) -> X

Proof:
 Matrix Interpretation Processor: dim=1
  
  interpretation:
   [s](x0) = x0,
   
   [length](x0) = x0,
   
   [nil] = 6,
   
   [activate](x0) = x0,
   
   [and](x0, x1) = 3x0 + x1 + 1,
   
   [tt] = 7,
   
   [cons](x0, x1) = 2x0 + x1,
   
   [n__zeros] = 0,
   
   [0] = 0,
   
   [zeros] = 0
  orientation:
   zeros() = 0 >= 0 = cons(0(),n__zeros())
   
   and(tt(),X) = X + 22 >= X = activate(X)
   
   length(nil()) = 6 >= 0 = 0()
   
   length(cons(N,L)) = L + 2N >= L = s(length(activate(L)))
   
   zeros() = 0 >= 0 = n__zeros()
   
   activate(n__zeros()) = 0 >= 0 = zeros()
   
   activate(X) = X >= X = X
  problem:
   zeros() -> cons(0(),n__zeros())
   length(cons(N,L)) -> s(length(activate(L)))
   zeros() -> n__zeros()
   activate(n__zeros()) -> zeros()
   activate(X) -> X
  Matrix Interpretation Processor: dim=3
   
   interpretation:
              [1 0 0]  
    [s](x0) = [0 0 0]x0
              [1 0 0]  ,
    
                   [1 0 0]     [0]
    [length](x0) = [0 0 0]x0 + [0]
                   [0 0 1]     [1],
    
                     [1 0 1]     [1]
    [activate](x0) = [0 1 0]x0 + [1]
                     [0 0 1]     [0],
    
                     [1 0 0]     [1 0 1]     [1]
    [cons](x0, x1) = [0 0 0]x0 + [0 0 0]x1 + [0]
                     [0 0 0]     [1 0 1]     [0],
    
                 [0]
    [n__zeros] = [0]
                 [0],
    
          [0]
    [0] = [0]
          [0],
    
              [1]
    [zeros] = [1]
              [0]
   orientation:
              [1]    [1]                       
    zeros() = [1] >= [0] = cons(0(),n__zeros())
              [0]    [0]                       
    
                        [1 0 1]    [1 0 0]    [1]    [1 0 1]    [1]                         
    length(cons(N,L)) = [0 0 0]L + [0 0 0]N + [0] >= [0 0 0]L + [0] = s(length(activate(L)))
                        [1 0 1]    [0 0 0]    [1]    [1 0 1]    [1]                         
    
              [1]    [0]             
    zeros() = [1] >= [0] = n__zeros()
              [0]    [0]             
    
                           [1]    [1]          
    activate(n__zeros()) = [1] >= [1] = zeros()
                           [0]    [0]          
    
                  [1 0 1]    [1]         
    activate(X) = [0 1 0]X + [1] >= X = X
                  [0 0 1]    [0]         
   problem:
    zeros() -> cons(0(),n__zeros())
    length(cons(N,L)) -> s(length(activate(L)))
    activate(n__zeros()) -> zeros()
   Unfolding Processor:
    loop length: 3
    terms:
     length(cons(N,n__zeros()))
     s(length(activate(n__zeros())))
     s(length(zeros()))
    context: s([])
    substitution:
     N -> 0()
    Qed