Problem:
 from(X) -> cons(X)
 length() -> 0()
 length() -> s(length1())
 length1() -> length()

Proof:
 Matrix Interpretation Processor: dim=3
  
  interpretation:
             [1 0 0]  
   [s](x0) = [0 0 0]x0
             [0 0 0]  ,
   
               [1]
   [length1] = [0]
               [0],
   
         [0]
   [0] = [0]
         [0],
   
              [1]
   [length] = [0]
              [0],
   
                [1 0 0]  
   [cons](x0) = [0 0 0]x0
                [0 0 0]  ,
   
                [1 0 0]     [1]
   [from](x0) = [0 0 0]x0 + [0]
                [0 0 0]     [0]
  orientation:
             [1 0 0]    [1]    [1 0 0]           
   from(X) = [0 0 0]X + [0] >= [0 0 0]X = cons(X)
             [0 0 0]    [0]    [0 0 0]           
   
              [1]    [0]      
   length() = [0] >= [0] = 0()
              [0]    [0]      
   
              [1]    [1]               
   length() = [0] >= [0] = s(length1())
              [0]    [0]               
   
               [1]    [1]           
   length1() = [0] >= [0] = length()
               [0]    [0]           
  problem:
   length() -> s(length1())
   length1() -> length()
  Unfolding Processor:
   loop length: 2
   terms:
    length()
    s(length1())
   context: s([])
   substitution:
    
   Qed