WORST_CASE(?,O(n^2)) Solution: --------- "0" :: [] -(0)-> "c"(0, 0) "0" :: [] -(0)-> "c"(2, 0) "append" :: ["a"(1, 0) x "a"(0, 0)] -(1)-> "a"(0, 0) "dd" :: ["c"(11, 4) x "a"(15, 4)] -(11)-> "a"(11, 4) "dd" :: ["c"(1, 0) x "a"(1, 0)] -(1)-> "a"(1, 0) "dd" :: ["c"(7, 4) x "a"(11, 4)] -(7)-> "a"(7, 4) "dd" :: ["c"(0, 0) x "a"(0, 0)] -(0)-> "a"(0, 0) "dd" :: ["c"(8, 4) x "a"(12, 4)] -(8)-> "a"(8, 4) "false" :: [] -(0)-> "b"(0, 0) "false" :: [] -(0)-> "b"(8, 0) "gt" :: ["c"(2, 0) x "c"(0, 0)] -(1)-> "b"(0, 0) "nil" :: [] -(0)-> "a"(11, 4) "nil" :: [] -(0)-> "a"(1, 0) "nil" :: [] -(0)-> "a"(7, 4) "nil" :: [] -(0)-> "a"(12, 4) "nil" :: [] -(0)-> "a"(12, 14) "nil" :: [] -(0)-> "a"(3, 0) "pair" :: ["a"(8, 4) x "a"(8, 4)] -(4)-> "d"(8, 4) "pair" :: ["a"(12, 4) x "a"(12, 4)] -(4)-> "d"(12, 4) "pair" :: ["a"(11, 4) x "a"(11, 4)] -(4)-> "d"(11, 4) "quicksort" :: ["a"(7, 4)] -(2)-> "a"(0, 0) "quicksort'" :: ["c"(0, 0) x "d"(8, 4)] -(3)-> "a"(0, 0) "s" :: ["c"(2, 0)] -(2)-> "c"(2, 0) "s" :: ["c"(0, 0)] -(0)-> "c"(0, 0) "split" :: ["c"(0, 0) x "a"(11, 4)] -(5)-> "d"(8, 4) "split'" :: ["b"(0, 0) x "c"(8, 4) x "d"(12, 4)] -(9)-> "d"(8, 4) "true" :: [] -(0)-> "b"(0, 0) "true" :: [] -(0)-> "b"(12, 12) Cost Free Signatures: --------------------- "0" :: [] -(0)-> "c"_cf(0, 0) "append" :: ["a"_cf(1, 0) x "a"_cf(1, 0)] -(0)-> "a"_cf(1, 0) "append" :: ["a"_cf(0, 0) x "a"_cf(0, 0)] -(0)-> "a"_cf(0, 0) "dd" :: ["c"_cf(1, 0) x "a"_cf(1, 0)] -(1)-> "a"_cf(1, 0) "dd" :: ["c"_cf(0, 0) x "a"_cf(0, 0)] -(0)-> "a"_cf(0, 0) "dd" :: ["c"_cf(4, 0) x "a"_cf(4, 0)] -(4)-> "a"_cf(4, 0) "false" :: [] -(0)-> "b"_cf(0, 0) "false" :: [] -(0)-> "b"_cf(0, 4) "false" :: [] -(0)-> "b"_cf(0, 8) "gt" :: ["c"_cf(0, 0) x "c"_cf(0, 0)] -(1)-> "b"_cf(0, 0) "gt" :: ["c"_cf(0, 0) x "c"_cf(0, 0)] -(0)-> "b"_cf(0, 4) "gt" :: ["c"_cf(0, 0) x "c"_cf(0, 0)] -(0)-> "b"_cf(0, 0) "nil" :: [] -(0)-> "a"_cf(1, 0) "nil" :: [] -(0)-> "a"_cf(8, 8) "nil" :: [] -(0)-> "a"_cf(12, 0) "nil" :: [] -(0)-> "a"_cf(8, 4) "nil" :: [] -(0)-> "a"_cf(0, 0) "nil" :: [] -(0)-> "a"_cf(9, 8) "nil" :: [] -(0)-> "a"_cf(10, 0) "nil" :: [] -(0)-> "a"_cf(4, 0) "pair" :: ["a"_cf(1, 0) x "a"_cf(1, 0)] -(0)-> "d"_cf(1, 0) "pair" :: ["a"_cf(8, 0) x "a"_cf(8, 0)] -(0)-> "d"_cf(8, 0) "pair" :: ["a"_cf(9, 0) x "a"_cf(9, 0)] -(0)-> "d"_cf(9, 0) "pair" :: ["a"_cf(4, 0) x "a"_cf(4, 0)] -(0)-> "d"_cf(4, 0) "pair" :: ["a"_cf(0, 0) x "a"_cf(0, 0)] -(0)-> "d"_cf(0, 0) "quicksort" :: ["a"_cf(1, 0)] -(0)-> "a"_cf(1, 0) "quicksort" :: ["a"_cf(1, 0)] -(1)-> "a"_cf(0, 0) "quicksort" :: ["a"_cf(0, 0)] -(0)-> "a"_cf(0, 0) "quicksort'" :: ["c"_cf(1, 0) x "d"_cf(1, 0)] -(1)-> "a"_cf(1, 0) "quicksort'" :: ["c"_cf(0, 0) x "d"_cf(1, 0)] -(2)-> "a"_cf(0, 0) "quicksort'" :: ["c"_cf(0, 0) x "d"_cf(0, 0)] -(0)-> "a"_cf(0, 0) "s" :: ["c"_cf(0, 0)] -(0)-> "c"_cf(0, 0) "split" :: ["c"_cf(0, 0) x "a"_cf(1, 0)] -(0)-> "d"_cf(1, 0) "split" :: ["c"_cf(0, 0) x "a"_cf(4, 0)] -(0)-> "d"_cf(4, 0) "split" :: ["c"_cf(0, 0) x "a"_cf(0, 0)] -(0)-> "d"_cf(0, 0) "split'" :: ["b"_cf(0, 0) x "c"_cf(1, 0) x "d"_cf(1, 0)] -(1)-> "d"_cf(1, 0) "split'" :: ["b"_cf(0, 0) x "c"_cf(4, 0) x "d"_cf(4, 0)] -(4)-> "d"_cf(4, 0) "split'" :: ["b"_cf(0, 0) x "c"_cf(0, 0) x "d"_cf(0, 0)] -(0)-> "d"_cf(0, 0) "true" :: [] -(0)-> "b"_cf(0, 0) "true" :: [] -(0)-> "b"_cf(0, 8) Base Constructors: ------------------ "\"0\"_c" :: [] -(0)-> "c"(1, 0) "\"0\"_c" :: [] -(0)-> "c"(0, 1) "\"dd\"_a" :: ["c"(1, 0) x "a"(1, 0)] -(1)-> "a"(1, 0) "\"dd\"_a" :: ["c"(0, 1) x "a"(1, 1)] -(0)-> "a"(0, 1) "\"false\"_b" :: [] -(0)-> "b"(1, 0) "\"false\"_b" :: [] -(0)-> "b"(0, 1) "\"nil\"_a" :: [] -(0)-> "a"(1, 0) "\"nil\"_a" :: [] -(0)-> "a"(0, 1) "\"pair\"_d" :: ["a"(1, 0) x "a"(1, 0)] -(0)-> "d"(1, 0) "\"pair\"_d" :: ["a"(0, 1) x "a"(0, 1)] -(1)-> "d"(0, 1) "\"s\"_c" :: ["c"(1, 0)] -(1)-> "c"(1, 0) "\"s\"_c" :: ["c"(0, 0)] -(1)-> "c"(0, 1) "\"true\"_b" :: [] -(0)-> "b"(1, 0) "\"true\"_b" :: [] -(0)-> "b"(0, 1)