WORST_CASE(?,O(n^2)) Solution: --------- "0" :: [] -(0)-> "a"(0, 0) "0" :: [] -(0)-> "a"(1, 0) "cons" :: ["a"(3, 0) x "b"(3, 0)] -(3)-> "b"(3, 0) "cons" :: ["a"(3, 10) x "b"(13, 10)] -(3)-> "b"(3, 10) "cons" :: ["a"(0, 0) x "b"(0, 0)] -(0)-> "b"(0, 0) "false" :: [] -(0)-> "c"(7, 2) "false" :: [] -(0)-> "c"(13, 12) "if'insert" :: ["c"(7, 2) x "a"(0, 10) x "a"(0, 0) x "b"(3, 0)] -(2)-> "b"(0, 0) "insert" :: ["a"(0, 10) x "b"(3, 0)] -(1)-> "b"(0, 0) "leq" :: ["a"(0, 0) x "a"(1, 0)] -(1)-> "c"(7, 12) "nil" :: [] -(0)-> "b"(3, 0) "nil" :: [] -(0)-> "b"(3, 10) "nil" :: [] -(0)-> "b"(14, 12) "nil" :: [] -(0)-> "b"(8, 8) "s" :: ["a"(0, 0)] -(0)-> "a"(0, 0) "s" :: ["a"(1, 0)] -(1)-> "a"(1, 0) "sort" :: ["b"(3, 10)] -(9)-> "b"(0, 0) "true" :: [] -(0)-> "c"(7, 2) "true" :: [] -(0)-> "c"(9, 13) Cost Free Signatures: --------------------- "0" :: [] -(0)-> "a"_cf(0, 0) "cons" :: ["a"_cf(0, 0) x "b"_cf(0, 0)] -(0)-> "b"_cf(0, 0) "cons" :: ["a"_cf(10, 0) x "b"_cf(10, 0)] -(10)-> "b"_cf(10, 0) "cons" :: ["a"_cf(3, 0) x "b"_cf(3, 0)] -(3)-> "b"_cf(3, 0) "false" :: [] -(0)-> "c"_cf(0, 0) "if'insert" :: ["c"_cf(0, 0) x "a"_cf(0, 0) x "a"_cf(0, 0) x "b"_cf(0, 0)] -(0)-> "b"_cf(0, 0) "if'insert" :: ["c"_cf(0, 0) x "a"_cf(5, 0) x "a"_cf(3, 0) x "b"_cf(3, 0)] -(6)-> "b"_cf(3, 0) "insert" :: ["a"_cf(0, 0) x "b"_cf(0, 0)] -(0)-> "b"_cf(0, 0) "insert" :: ["a"_cf(5, 0) x "b"_cf(3, 0)] -(3)-> "b"_cf(3, 0) "leq" :: ["a"_cf(0, 0) x "a"_cf(0, 0)] -(0)-> "c"_cf(0, 0) "nil" :: [] -(0)-> "b"_cf(0, 0) "nil" :: [] -(0)-> "b"_cf(10, 0) "nil" :: [] -(0)-> "b"_cf(12, 8) "nil" :: [] -(0)-> "b"_cf(3, 0) "nil" :: [] -(0)-> "b"_cf(15, 12) "s" :: ["a"_cf(0, 0)] -(0)-> "a"_cf(0, 0) "sort" :: ["b"_cf(10, 0)] -(0)-> "b"_cf(3, 0) "true" :: [] -(0)-> "c"_cf(0, 0) Base Constructors: ------------------ "\"0\"_a" :: [] -(0)-> "a"(1, 0) "\"0\"_a" :: [] -(0)-> "a"(0, 1) "\"cons\"_b" :: ["a"(1, 0) x "b"(1, 0)] -(1)-> "b"(1, 0) "\"cons\"_b" :: ["a"(0, 1) x "b"(1, 1)] -(0)-> "b"(0, 1) "\"false\"_c" :: [] -(0)-> "c"(1, 0) "\"false\"_c" :: [] -(0)-> "c"(0, 1) "\"nil\"_b" :: [] -(0)-> "b"(1, 0) "\"nil\"_b" :: [] -(0)-> "b"(0, 1) "\"s\"_a" :: ["a"(1, 0)] -(1)-> "a"(1, 0) "\"s\"_a" :: ["a"(0, 1)] -(1)-> "a"(0, 1) "\"true\"_c" :: [] -(0)-> "c"(1, 0) "\"true\"_c" :: [] -(0)-> "c"(0, 1)