WORST_CASE(?,O(n^2)) Solution: --------- append :: [a(5, 0) x a(3, 0)] -(3)-> a(3, 0) append#1 :: [a(5, 0) x a(3, 0)] -(2)-> a(3, 0) appendAll :: [a(12, 13)] -(2)-> a(6, 0) appendAll#1 :: [a(0, 13)] -(1)-> a(3, 0) appendAll2 :: [a(14, 15)] -(2)-> a(5, 0) appendAll2#1 :: [a(0, 15)] -(1)-> a(3, 0) appendAll3 :: [a(15, 15)] -(12)-> a(3, 0) appendAll3#1 :: [a(0, 15)] -(7)-> a(3, 0) cons :: [a(5, 0) x a(5, 0)] -(5)-> a(5, 0) cons :: [a(13, 13) x a(13, 13)] -(13)-> a(0, 13) cons :: [a(15, 15) x a(15, 15)] -(15)-> a(0, 15) cons :: [a(3, 0) x a(3, 0)] -(3)-> a(3, 0) nil :: [] -(0)-> a(5, 0) nil :: [] -(0)-> a(0, 13) nil :: [] -(0)-> a(0, 15) nil :: [] -(0)-> a(5, 7) Cost Free Signatures: --------------------- append :: [a_cf(0, 0) x a_cf(0, 0)] -(0)-> a_cf(0, 0) append :: [a_cf(3, 0) x a_cf(3, 0)] -(0)-> a_cf(3, 0) append :: [a_cf(1, 0) x a_cf(0, 0)] -(0)-> a_cf(0, 0) append :: [a_cf(7, 0) x a_cf(2, 0)] -(0)-> a_cf(2, 0) append :: [a_cf(13, 0) x a_cf(13, 0)] -(1)-> a_cf(13, 0) append :: [a_cf(1, 0) x a_cf(0, 0)] -(1)-> a_cf(0, 0) append :: [a_cf(1, 0) x a_cf(0, 0)] -(9)-> a_cf(0, 0) append :: [a_cf(6, 0) x a_cf(1, 0)] -(0)-> a_cf(1, 0) append :: [a_cf(6, 0) x a_cf(6, 0)] -(2)-> a_cf(6, 0) append#1 :: [a_cf(0, 0) x a_cf(0, 0)] -(0)-> a_cf(0, 0) append#1 :: [a_cf(3, 0) x a_cf(3, 0)] -(0)-> a_cf(3, 0) append#1 :: [a_cf(1, 0) x a_cf(0, 0)] -(0)-> a_cf(0, 0) append#1 :: [a_cf(7, 0) x a_cf(2, 0)] -(0)-> a_cf(2, 0) append#1 :: [a_cf(13, 0) x a_cf(13, 0)] -(1)-> a_cf(13, 0) append#1 :: [a_cf(1, 0) x a_cf(0, 0)] -(1)-> a_cf(0, 0) append#1 :: [a_cf(1, 0) x a_cf(0, 0)] -(9)-> a_cf(0, 0) append#1 :: [a_cf(6, 0) x a_cf(1, 0)] -(0)-> a_cf(1, 0) append#1 :: [a_cf(6, 0) x a_cf(6, 0)] -(2)-> a_cf(6, 0) appendAll :: [a_cf(12, 0)] -(0)-> a_cf(3, 0) appendAll :: [a_cf(1, 0)] -(0)-> a_cf(0, 0) appendAll :: [a_cf(14, 0)] -(3)-> a_cf(13, 0) appendAll :: [a_cf(1, 0)] -(1)-> a_cf(0, 0) appendAll :: [a_cf(14, 0)] -(2)-> a_cf(6, 0) appendAll :: [a_cf(0, 0)] -(0)-> a_cf(0, 0) appendAll#1 :: [a_cf(12, 0)] -(0)-> a_cf(3, 0) appendAll#1 :: [a_cf(1, 0)] -(0)-> a_cf(0, 0) appendAll#1 :: [a_cf(14, 0)] -(3)-> a_cf(13, 0) appendAll#1 :: [a_cf(1, 0)] -(1)-> a_cf(0, 0) appendAll#1 :: [a_cf(14, 0)] -(0)-> a_cf(6, 0) appendAll#1 :: [a_cf(0, 0)] -(0)-> a_cf(0, 0) appendAll2 :: [a_cf(14, 0)] -(0)-> a_cf(2, 0) appendAll2 :: [a_cf(1, 0)] -(0)-> a_cf(0, 0) appendAll2 :: [a_cf(15, 0)] -(0)-> a_cf(1, 0) appendAll2 :: [a_cf(0, 0)] -(0)-> a_cf(0, 0) appendAll2#1 :: [a_cf(14, 0)] -(0)-> a_cf(2, 0) appendAll2#1 :: [a_cf(1, 0)] -(0)-> a_cf(0, 0) appendAll2#1 :: [a_cf(15, 0)] -(0)-> a_cf(1, 0) appendAll2#1 :: [a_cf(0, 0)] -(0)-> a_cf(0, 0) appendAll3 :: [a_cf(15, 0)] -(7)-> a_cf(0, 0) appendAll3 :: [a_cf(0, 0)] -(0)-> a_cf(0, 0) appendAll3#1 :: [a_cf(15, 0)] -(3)-> a_cf(0, 0) appendAll3#1 :: [a_cf(0, 0)] -(0)-> a_cf(0, 0) cons :: [a_cf(0, 0) x a_cf(0, 0)] -(0)-> a_cf(0, 0) cons :: [a_cf(12, 0) x a_cf(12, 0)] -(12)-> a_cf(12, 0) cons :: [a_cf(3, 0) x a_cf(3, 0)] -(3)-> a_cf(3, 0) cons :: [a_cf(1, 0) x a_cf(1, 0)] -(1)-> a_cf(1, 0) cons :: [a_cf(14, 0) x a_cf(14, 0)] -(14)-> a_cf(14, 0) cons :: [a_cf(7, 0) x a_cf(7, 0)] -(7)-> a_cf(7, 0) cons :: [a_cf(2, 0) x a_cf(2, 0)] -(2)-> a_cf(2, 0) cons :: [a_cf(13, 0) x a_cf(13, 0)] -(13)-> a_cf(13, 0) cons :: [a_cf(15, 0) x a_cf(15, 0)] -(15)-> a_cf(15, 0) cons :: [a_cf(6, 0) x a_cf(6, 0)] -(6)-> a_cf(6, 0) nil :: [] -(0)-> a_cf(0, 0) nil :: [] -(0)-> a_cf(12, 0) nil :: [] -(0)-> a_cf(3, 2) nil :: [] -(0)-> a_cf(3, 0) nil :: [] -(0)-> a_cf(1, 0) nil :: [] -(0)-> a_cf(14, 0) nil :: [] -(0)-> a_cf(7, 0) nil :: [] -(0)-> a_cf(15, 2) nil :: [] -(0)-> a_cf(13, 0) nil :: [] -(0)-> a_cf(15, 0) nil :: [] -(0)-> a_cf(6, 0) nil :: [] -(0)-> a_cf(10, 2) Base Constructors: ------------------ cons_a :: [a(1, 0) x a(1, 0)] -(1)-> a(1, 0) cons_a :: [a(1, 1) x a(1, 1)] -(1)-> a(0, 1) nil_a :: [] -(0)-> a(1, 0) nil_a :: [] -(0)-> a(0, 1)