BEST_CASE(Omega(n^1),?)

Solution:
---------

  "0" :: [] -(0)-> "nat"(0)
  "Acons" :: ["__ANY_TYPE__"(0) x "ablist"(1)] -(1)-> "ablist"(1)
  "Bcons" :: ["__ANY_TYPE__"(0) x "ablist"(1)] -(1)-> "ablist"(1)
  "Bcons" :: ["__ANY_TYPE__"(0) x "ablist"(0)] -(0)-> "ablist"(0)
  "Nil" :: [] -(0)-> "ablist"(1)
  "Nil" :: [] -(0)-> "ablist"(0)
  "S" :: ["nat"(0)] -(0)-> "nat"(0)
  "abfoldr#4" :: ["ablist"(0) x "ablist"(0) x "ablist"(1)] -(1)-> "ablist"(0)
  "f" :: [] -(0)-> "ablist"(0)
  "fa" :: [] -(0)-> "ablist"(0)
  "fb" :: ["nat"(0)] -(0)-> "ablist"(0)
  "g" :: [] -(0)-> "ablist"(0)
  "main" :: ["ablist"(1)] -(1)-> "ablist"(0)
  "plus#2" :: ["nat"(0) x "nat"(0)] -(1)-> "nat"(0)


Cost Free Signatures:
---------------------




Base Constructors:
------------------
  "\"0\"_nat" :: [] -(0)-> "nat"(1)
  "\"Acons\"_ablist" :: ["__ANY_TYPE__"(0) x "ablist"(1)] -(1)-> "ablist"(1)
  "\"Bcons\"_ablist" :: ["__ANY_TYPE__"(0) x "ablist"(1)] -(1)-> "ablist"(1)
  "\"Nil\"_ablist" :: [] -(0)-> "ablist"(1)
  "\"S\"_nat" :: ["nat"(16)] -(1)-> "nat"(1)
  "\"f\"_ablist" :: [] -(0)-> "ablist"(1)
  "\"fa\"_ablist" :: [] -(0)-> "ablist"(1)
  "\"fb\"_ablist" :: ["nat"(8)] -(1)-> "ablist"(1)
  "\"g\"_ablist" :: [] -(0)-> "ablist"(1)



Parsed Typed Term Rewrite System:
---------------------------------

(STRATEGY
 INNERMOST)
(VAR
 "v2" "v1" "v3" "v8" "v4")
(DATATYPES
   "ablist" = µX.< "f", "g", "Acons"("__ANY_TYPE__", X), "fa", "fb"("nat"), "Bcons"("__ANY_TYPE__", X), "Nil" >
   "nat" = µX.< "0", "S"(X) >)
(SIGNATURES
   "abfoldr#4" :: ["ablist" x "ablist" x "ablist"] --> "ablist"
   "plus#2" :: ["nat" x "nat"] --> "nat"
   "main" :: ["ablist"] --> "ablist")
(RULES
 "abfoldr#4"("f"(),"g"(),"Acons"("v2","v1")) -> "abfoldr#4"("fa"(),"fb"("v2"),"abfoldr#4"("f"(),"g"(),"v1"))
 "abfoldr#4"("fa"(),"fb"("v3"),"Bcons"("v2","v1")) -> "Bcons"("plus#2"("v2","v3"),"abfoldr#4"("fa"(),"fb"("v3"),"v1"))
 "abfoldr#4"("f"(),"g"(),"Bcons"("v2","v1")) -> "Bcons"("v2","abfoldr#4"("f"(),"g"(),"v1"))
 "abfoldr#4"("v8","v4","Nil"()) -> "Nil"()
 "plus#2"("v4","0"()) -> "v4"
 "plus#2"("v4","S"("v2")) -> "S"("plus#2"("v4","v2"))
 "main"("v1") -> "abfoldr#4"("f"(),"g"(),"v1"))


BEST_CASE(Omega(n^1),?)