WORST_CASE(?,O(n^3)) Solution: --------- "0" :: [] -(0)-> "A"(5, 0, 0) "0" :: [] -(0)-> "A"(4, 0, 0) "0" :: [] -(0)-> "A"(1, 0, 0) "0" :: [] -(0)-> "A"(0, 0, 0) "0" :: [] -(0)-> "A"(3, 0, 0) "0" :: [] -(0)-> "A"(14, 15, 15) "0" :: [] -(0)-> "A"(14, 14, 14) "0" :: [] -(0)-> "A"(11, 14, 10) "0" :: [] -(0)-> "A"(6, 12, 8) "0" :: [] -(0)-> "A"(12, 12, 12) "0" :: [] -(0)-> "A"(11, 13, 11) "0" :: [] -(0)-> "A"(9, 8, 8) "Cons" :: ["A"(5, 0, 0) x "A"(3, 3, 0)] -(3)-> "A"(5, 3, 0) "Cons" :: ["A"(4, 5, 0) x "A"(9, 14, 5)] -(9)-> "A"(4, 9, 5) "Cons" :: ["A"(1, 0, 0) x "A"(2, 2, 0)] -(2)-> "A"(1, 2, 0) "Cons" :: ["A"(11, 0, 0) x "A"(3, 3, 0)] -(3)-> "A"(11, 3, 0) "Cons" :: ["A"(9, 0, 0) x "A"(3, 3, 0)] -(3)-> "A"(9, 3, 0) "Cons" :: ["A"(1, 0, 0) x "A"(3, 3, 0)] -(3)-> "A"(1, 3, 0) "Cons" :: ["A"(3, 0, 0) x "A"(3, 3, 0)] -(3)-> "A"(3, 3, 0) "Cons" :: ["A"(4, 0, 0) x "A"(3, 3, 0)] -(3)-> "A"(4, 3, 0) "Cons" :: ["A"(6, 0, 0) x "A"(3, 3, 0)] -(3)-> "A"(6, 3, 0) "M" :: ["A"(4, 0, 0)] -(0)-> "A"(4, 0, 0) "Nil" :: [] -(0)-> "A"(4, 9, 5) "Nil" :: [] -(0)-> "A"(1, 2, 0) "Nil" :: [] -(0)-> "A"(13, 13, 15) "S" :: ["A"(5, 0, 0)] -(5)-> "A"(5, 0, 0) "S" :: ["A"(4, 0, 0)] -(4)-> "A"(4, 0, 0) "S" :: ["A"(1, 0, 0)] -(1)-> "A"(1, 0, 0) "S" :: ["A"(0, 0, 0)] -(0)-> "A"(0, 0, 0) "S" :: ["A"(1, 0, 0)] -(2)-> "A"(1, 1, 8) "S" :: ["A"(3, 0, 0)] -(3)-> "A"(3, 0, 0) "S" :: ["A"(1, 0, 0)] -(1)-> "A"(1, 0, 13) "S" :: ["A"(3, 0, 0)] -(3)-> "A"(3, 0, 7) "S" :: ["A"(1, 0, 0)] -(1)-> "A"(1, 0, 1) "S" :: ["A"(4, 0, 0)] -(4)-> "A"(4, 0, 5) "S" :: ["A"(3, 0, 0)] -(3)-> "A"(3, 0, 8) "S" :: ["A"(4, 0, 0)] -(8)-> "A"(4, 4, 8) "S" :: ["A"(4, 0, 0)] -(4)-> "A"(4, 0, 12) "S" :: ["A"(1, 0, 0)] -(2)-> "A"(1, 1, 9) "S" :: ["A"(3, 0, 0)] -(3)-> "A"(3, 0, 6) "S" :: ["A"(1, 0, 0)] -(1)-> "A"(1, 0, 14) "S" :: ["A"(1, 0, 0)] -(1)-> "A"(1, 0, 3) "S" :: ["A"(1, 0, 0)] -(1)-> "A"(1, 0, 11) "cond_scanr_f_z_xs_1" :: ["A"(5, 3, 0) x "A"(4, 0, 0)] -(8)-> "A"(1, 3, 0) "foldl#3" :: ["A"(1, 0, 0) x "A"(1, 2, 0)] -(7)-> "A"(0, 0, 0) "main" :: ["A"(10, 15, 11)] -(16)-> "A"(0, 0, 0) "max#2" :: ["A"(1, 0, 0) x "A"(1, 0, 0)] -(1)-> "A"(1, 0, 0) "minus#2" :: ["A"(1, 0, 0) x "A"(0, 0, 0)] -(1)-> "A"(1, 0, 0) "plus#2" :: ["A"(3, 0, 0) x "A"(1, 1, 8)] -(1)-> "A"(1, 0, 0) "scanr#3" :: ["A"(4, 9, 5)] -(4)-> "A"(1, 3, 0) Cost Free Signatures: --------------------- "0" :: [] -(0)-> "A"_cf(14, 12, 12) "0" :: [] -(0)-> "A"_cf(5, 0, 0) "0" :: [] -(0)-> "A"_cf(12, 12, 12) "0" :: [] -(0)-> "A"_cf(14, 14, 12) "0" :: [] -(0)-> "A"_cf(8, 10, 15) "0" :: [] -(0)-> "A"_cf(0, 0, 0) "0" :: [] -(0)-> "A"_cf(13, 12, 4) "Cons" :: ["A"_cf(5, 0, 0) x "A"_cf(5, 5, 0)] -(5)-> "A"_cf(5, 5, 0) "Cons" :: ["A"_cf(8, 0, 0) x "A"_cf(0, 0, 0)] -(0)-> "A"_cf(8, 0, 0) "Cons" :: ["A"_cf(5, 0, 0) x "A"_cf(0, 0, 0)] -(0)-> "A"_cf(5, 0, 0) "Cons" :: ["A"_cf(2, 0, 0) x "A"_cf(0, 0, 0)] -(0)-> "A"_cf(2, 0, 0) "Cons" :: ["A"_cf(0, 0, 0) x "A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "Cons" :: ["A"_cf(10, 0, 0) x "A"_cf(0, 0, 0)] -(0)-> "A"_cf(10, 0, 0) "M" :: ["A"_cf(5, 0, 0)] -(0)-> "A"_cf(5, 0, 0) "Nil" :: [] -(0)-> "A"_cf(5, 5, 0) "Nil" :: [] -(0)-> "A"_cf(14, 14, 15) "Nil" :: [] -(0)-> "A"_cf(0, 0, 0) "S" :: ["A"_cf(5, 0, 0)] -(5)-> "A"_cf(5, 0, 0) "S" :: ["A"_cf(5, 0, 0)] -(5)-> "A"_cf(5, 0, 1) "S" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "S" :: ["A"_cf(5, 0, 0)] -(6)-> "A"_cf(5, 1, 6) "S" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 10) "S" :: ["A"_cf(5, 0, 0)] -(5)-> "A"_cf(5, 0, 2) "S" :: ["A"_cf(5, 0, 0)] -(8)-> "A"_cf(5, 3, 12) "S" :: ["A"_cf(5, 0, 0)] -(5)-> "A"_cf(5, 0, 6) "S" :: ["A"_cf(5, 0, 0)] -(5)-> "A"_cf(5, 0, 8) "S" :: ["A"_cf(5, 0, 0)] -(5)-> "A"_cf(5, 0, 13) "S" :: ["A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 9) "cond_scanr_f_z_xs_1" :: ["A"_cf(5, 0, 0) x "A"_cf(5, 0, 0)] -(5)-> "A"_cf(5, 0, 0) "foldl#3" :: ["A"_cf(0, 0, 0) x "A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "max#2" :: ["A"_cf(0, 0, 0) x "A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "minus#2" :: ["A"_cf(5, 0, 0) x "A"_cf(0, 0, 0)] -(1)-> "A"_cf(5, 0, 0) "minus#2" :: ["A"_cf(0, 0, 0) x "A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "plus#2" :: ["A"_cf(5, 0, 0) x "A"_cf(5, 0, 2)] -(4)-> "A"_cf(5, 0, 0) "plus#2" :: ["A"_cf(0, 0, 0) x "A"_cf(0, 0, 0)] -(0)-> "A"_cf(0, 0, 0) "scanr#3" :: ["A"_cf(5, 5, 0)] -(0)-> "A"_cf(5, 0, 0) Base Constructors: ------------------ "\"0\"_A" :: [] -(0)-> "A"(1, 0, 0) "\"0\"_A" :: [] -(0)-> "A"(0, 1, 0) "\"0\"_A" :: [] -(0)-> "A"(0, 0, 1) "\"Cons\"_A" :: ["A"(1, 0, 0) x "A"(0, 0, 0)] -(0)-> "A"(1, 0, 0) "\"Cons\"_A" :: ["A"(0, 0, 0) x "A"(1, 1, 0)] -(1)-> "A"(0, 1, 0) "\"Cons\"_A" :: ["A"(0, 1, 0) x "A"(0, 1, 1)] -(0)-> "A"(0, 0, 1) "\"M\"_A" :: ["A"(1, 0, 0)] -(0)-> "A"(1, 0, 0) "\"M\"_A" :: ["A"(0, 0, 0)] -(0)-> "A"(0, 1, 0) "\"M\"_A" :: ["A"(0, 0, 0)] -(0)-> "A"(0, 0, 1) "\"Nil\"_A" :: [] -(0)-> "A"(1, 0, 0) "\"Nil\"_A" :: [] -(0)-> "A"(0, 1, 0) "\"Nil\"_A" :: [] -(0)-> "A"(0, 0, 1) "\"S\"_A" :: ["A"(1, 0, 0)] -(1)-> "A"(1, 0, 0) "\"S\"_A" :: ["A"(0, 0, 0)] -(1)-> "A"(0, 1, 0) "\"S\"_A" :: ["A"(0, 0, 0)] -(0)-> "A"(0, 0, 1)