WORST_CASE(?,O(n^2))

Solution:
---------

  "!EQ" :: ["A"(0, 0) x "A"(0, 0)] -(0)-> "A"(8, 8)
  "0" :: [] -(0)-> "A"(0, 0)
  "Cons" :: ["A"(0, 0) x "A"(0, 0)] -(0)-> "A"(0, 0)
  "Cons" :: ["A"(0, 0) x "A"(1, 0)] -(1)-> "A"(1, 0)
  "Cons" :: ["A"(0, 3) x "A"(9, 3)] -(6)-> "A"(6, 3)
  "Cons" :: ["A"(0, 2) x "A"(12, 2)] -(10)-> "A"(10, 2)
  "Cons" :: ["A"(0, 1) x "A"(10, 1)] -(9)-> "A"(9, 1)
  "Cons" :: ["A"(0, 1) x "A"(4, 1)] -(3)-> "A"(3, 1)
  "Cons" :: ["A"(0, 3) x "A"(6, 3)] -(3)-> "A"(3, 3)
  "Cons" :: ["A"(0, 8) x "A"(8, 8)] -(0)-> "A"(0, 8)
  "False" :: [] -(0)-> "A"(0, 0)
  "False" :: [] -(0)-> "A"(8, 8)
  "Nil" :: [] -(0)-> "A"(6, 3)
  "Nil" :: [] -(0)-> "A"(0, 0)
  "Nil" :: [] -(0)-> "A"(1, 0)
  "Nil" :: [] -(0)-> "A"(9, 1)
  "Nil" :: [] -(0)-> "A"(10, 2)
  "Nil" :: [] -(0)-> "A"(3, 1)
  "Nil" :: [] -(0)-> "A"(0, 8)
  "Nil" :: [] -(0)-> "A"(8, 8)
  "Nil" :: [] -(0)-> "A"(10, 12)
  "Nil" :: [] -(0)-> "A"(15, 8)
  "S" :: ["A"(0, 0)] -(0)-> "A"(0, 0)
  "True" :: [] -(0)-> "A"(0, 0)
  "True" :: [] -(0)-> "A"(9, 9)
  "and" :: ["A"(0, 0) x "A"(0, 0)] -(0)-> "A"(0, 0)
  "domatch" :: ["A"(0, 0) x "A"(6, 3) x "A"(0, 0)] -(2)-> "A"(0, 0)
  "domatch[Ite]" :: ["A"(0, 0) x "A"(0, 0) x "A"(3, 3) x "A"(0, 0)] -(1)-> "A"(0, 0)
  "eqNatList" :: ["A"(10, 2) x "A"(9, 1)] -(14)-> "A"(0, 0)
  "eqNatList[Ite]" :: ["A"(0, 0) x "A"(0, 0) x "A"(9, 1) x "A"(0, 0) x "A"(12, 2)] -(14)-> "A"(0, 0)
  "notEmpty" :: ["A"(3, 1)] -(8)-> "A"(0, 0)
  "prefix" :: ["A"(0, 0) x "A"(1, 0)] -(1)-> "A"(0, 0)
  "strmatch" :: ["A"(14, 15) x "A"(14, 15)] -(16)-> "A"(0, 0)


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




Base Constructors:
------------------
  "\"0\"_A" :: [] -(0)-> "A"(1, 0)
  "\"0\"_A" :: [] -(0)-> "A"(0, 1)
  "\"Cons\"_A" :: ["A"(0, 0) x "A"(1, 0)] -(1)-> "A"(1, 0)
  "\"Cons\"_A" :: ["A"(0, 1) x "A"(1, 1)] -(0)-> "A"(0, 1)
  "\"False\"_A" :: [] -(0)-> "A"(1, 0)
  "\"False\"_A" :: [] -(0)-> "A"(0, 1)
  "\"Nil\"_A" :: [] -(0)-> "A"(1, 0)
  "\"Nil\"_A" :: [] -(0)-> "A"(0, 1)
  "\"S\"_A" :: ["A"(1, 0)] -(0)-> "A"(1, 0)
  "\"S\"_A" :: ["A"(0, 0)] -(0)-> "A"(0, 1)
  "\"True\"_A" :: [] -(0)-> "A"(1, 0)
  "\"True\"_A" :: [] -(0)-> "A"(0, 1)