WORST_CASE(?,O(n^2)) Solution: --------- "append" :: ["c"(3, 3) x "c"(0, 0)] -(2)-> "c"(0, 0) "append#1" :: ["c"(3, 3) x "c"(0, 0)] -(1)-> "c"(0, 0) "cons" :: ["a"(0, 0) x "c"(3, 3)] -(3)-> "c"(3, 3) "cons" :: ["a"(0, 0) x "c"(0, 0)] -(0)-> "c"(0, 0) "leaf" :: [] -(0)-> "a"(0, 15) "nil" :: [] -(0)-> "c"(3, 3) "nil" :: [] -(0)-> "c"(8, 8) "node" :: ["b"(0, 15) x "a"(15, 15) x "a"(15, 15)] -(15)-> "a"(0, 15) "node" :: ["b"(0, 0) x "a"(0, 0) x "a"(0, 0)] -(0)-> "a"(0, 0) "subtrees" :: ["a"(1, 15)] -(3)-> "c"(2, 1) "subtrees#1" :: ["a"(0, 15)] -(1)-> "c"(2, 1) "subtrees#2" :: ["c"(3, 4) x "a"(0, 0) x "a"(11, 15) x "b"(0, 8)] -(8)-> "c"(0, 0) "subtrees#3" :: ["c"(1, 1) x "c"(3, 3) x "a"(0, 0) x "a"(0, 0) x "b"(0, 0)] -(3)-> "c"(0, 0) Cost Free Signatures: --------------------- "append" :: ["c"_cf(0, 0) x "c"_cf(0, 0)] -(0)-> "c"_cf(0, 0) "append" :: ["c"_cf(1, 1) x "c"_cf(1, 1)] -(0)-> "c"_cf(1, 1) "append" :: ["c"_cf(4, 4) x "c"_cf(4, 4)] -(2)-> "c"_cf(4, 4) "append#1" :: ["c"_cf(0, 0) x "c"_cf(0, 0)] -(0)-> "c"_cf(0, 0) "append#1" :: ["c"_cf(1, 1) x "c"_cf(1, 1)] -(0)-> "c"_cf(1, 1) "append#1" :: ["c"_cf(4, 4) x "c"_cf(4, 4)] -(2)-> "c"_cf(4, 4) "cons" :: ["a"_cf(0, 0) x "c"_cf(0, 0)] -(0)-> "c"_cf(0, 0) "cons" :: ["a"_cf(0, 0) x "c"_cf(1, 1)] -(4)-> "c"_cf(4, 1) "cons" :: ["a"_cf(0, 0) x "c"_cf(1, 1)] -(1)-> "c"_cf(1, 1) "cons" :: ["a"_cf(0, 0) x "c"_cf(4, 4)] -(8)-> "c"_cf(8, 4) "cons" :: ["a"_cf(0, 0) x "c"_cf(4, 4)] -(4)-> "c"_cf(4, 4) "cons" :: ["a"_cf(0, 0) x "c"_cf(0, 0)] -(1)-> "c"_cf(1, 0) "leaf" :: [] -(0)-> "a"_cf(4, 0) "leaf" :: [] -(0)-> "a"_cf(14, 0) "leaf" :: [] -(0)-> "a"_cf(9, 0) "leaf" :: [] -(0)-> "a"_cf(1, 0) "nil" :: [] -(0)-> "c"_cf(0, 0) "nil" :: [] -(0)-> "c"_cf(1, 1) "nil" :: [] -(0)-> "c"_cf(4, 8) "nil" :: [] -(0)-> "c"_cf(8, 14) "nil" :: [] -(0)-> "c"_cf(4, 4) "nil" :: [] -(0)-> "c"_cf(4, 12) "nil" :: [] -(0)-> "c"_cf(11, 8) "node" :: ["b"_cf(0, 0) x "a"_cf(0, 0) x "a"_cf(0, 0)] -(0)-> "a"_cf(0, 0) "node" :: ["b"_cf(4, 0) x "a"_cf(4, 0) x "a"_cf(4, 0)] -(4)-> "a"_cf(4, 0) "node" :: ["b"_cf(14, 0) x "a"_cf(14, 0) x "a"_cf(14, 0)] -(14)-> "a"_cf(14, 0) "node" :: ["b"_cf(9, 0) x "a"_cf(9, 0) x "a"_cf(9, 0)] -(9)-> "a"_cf(9, 0) "node" :: ["b"_cf(1, 0) x "a"_cf(1, 0) x "a"_cf(1, 0)] -(1)-> "a"_cf(1, 0) "subtrees" :: ["a"_cf(4, 0)] -(0)-> "c"_cf(3, 1) "subtrees" :: ["a"_cf(14, 0)] -(0)-> "c"_cf(4, 4) "subtrees" :: ["a"_cf(9, 0)] -(1)-> "c"_cf(0, 0) "subtrees" :: ["a"_cf(1, 0)] -(1)-> "c"_cf(0, 0) "subtrees#1" :: ["a"_cf(4, 0)] -(0)-> "c"_cf(3, 1) "subtrees#1" :: ["a"_cf(14, 0)] -(0)-> "c"_cf(5, 4) "subtrees#1" :: ["a"_cf(9, 0)] -(1)-> "c"_cf(0, 0) "subtrees#1" :: ["a"_cf(1, 0)] -(1)-> "c"_cf(0, 0) "subtrees#2" :: ["c"_cf(3, 1) x "a"_cf(0, 0) x "a"_cf(4, 0) x "b"_cf(0, 0)] -(4)-> "c"_cf(3, 1) "subtrees#2" :: ["c"_cf(4, 4) x "a"_cf(0, 0) x "a"_cf(14, 0) x "b"_cf(0, 0)] -(10)-> "c"_cf(8, 4) "subtrees#2" :: ["c"_cf(0, 0) x "a"_cf(0, 0) x "a"_cf(9, 0) x "b"_cf(0, 0)] -(9)-> "c"_cf(1, 0) "subtrees#2" :: ["c"_cf(0, 0) x "a"_cf(0, 0) x "a"_cf(1, 0) x "b"_cf(0, 0)] -(1)-> "c"_cf(0, 0) "subtrees#3" :: ["c"_cf(1, 1) x "c"_cf(1, 1) x "a"_cf(0, 0) x "a"_cf(0, 0) x "b"_cf(0, 0)] -(4)-> "c"_cf(3, 1) "subtrees#3" :: ["c"_cf(4, 4) x "c"_cf(4, 4) x "a"_cf(0, 0) x "a"_cf(0, 0) x "b"_cf(0, 0)] -(10)-> "c"_cf(8, 4) "subtrees#3" :: ["c"_cf(0, 0) x "c"_cf(0, 0) x "a"_cf(0, 0) x "a"_cf(0, 0) x "b"_cf(0, 0)] -(5)-> "c"_cf(1, 0) "subtrees#3" :: ["c"_cf(0, 0) x "c"_cf(0, 0) x "a"_cf(0, 0) x "a"_cf(0, 0) x "b"_cf(0, 0)] -(0)-> "c"_cf(0, 0) Base Constructors: ------------------ "\"cons\"_c" :: ["a"(0, 0) x "c"(0, 0)] -(1)-> "c"(1, 0) "\"cons\"_c" :: ["a"(0, 0) x "c"(1, 1)] -(0)-> "c"(0, 1) "\"leaf\"_a" :: [] -(0)-> "a"(1, 0) "\"leaf\"_a" :: [] -(0)-> "a"(0, 1) "\"nil\"_c" :: [] -(0)-> "c"(1, 0) "\"nil\"_c" :: [] -(0)-> "c"(0, 1) "\"node\"_a" :: ["b"(1, 0) x "a"(1, 0) x "a"(1, 0)] -(1)-> "a"(1, 0) "\"node\"_a" :: ["b"(0, 1) x "a"(1, 1) x "a"(1, 1)] -(1)-> "a"(0, 1)