TRS:
 {      fst(0(), Z) -> nil(),
  fst(s(), cons(Y)) -> cons(Y),
            from(X) -> cons(X),
        add(0(), X) -> X,
        add(s(), Y) -> s(),
         len(nil()) -> 0(),
       len(cons(X)) -> s()}
 RPO Product:
  Quasi-Precedence:
  empty
  
  Qed


TRS:
 {      fst(0(), Z) -> nil(),
  fst(s(), cons(Y)) -> cons(Y),
            from(X) -> cons(X),
        add(0(), X) -> X,
        add(s(), Y) -> s(),
         len(nil()) -> 0(),
       len(cons(X)) -> s()}
 Cdiprover:
  Interpretation class: quasisimplemixed
  Complexity bound: POLYTIME COMPUTABLE IF RPO-TERMINATING
  len(X6) = + 0*X6^2 + 0 + 2*X6
  add(X5, X4) = + 0*X5^2 + 0*X4^2 + 2*X5 + 0 + 2*X4 + 0*X4*X5
  from(X3) = + 2*X3^2 + 2 + 2*X3
  s = + 0
  cons(X2) = + 1*X2 + 1
  0 = + 0
  fst(X1, X0) = + 0*X1^2 + 0*X0^2 + 2*X1 + 0 + 2*X0 + 0*X0*X1
  nil = + 0
  
  Qed