WORST_CASE(?,O(n^3)) Solution: --------- append :: [b(1, 0, 0) x b(0, 0, 0)] -(1)-> b(0, 0, 0) attach :: [a(0, 0, 0) x b(1, 0, 0)] -(1)-> b(0, 0, 0) cons :: [a(0, 0, 0) x b(1, 0, 0)] -(1)-> b(1, 0, 0) cons :: [a(0, 0, 0) x b(7, 4, 1)] -(4)-> b(4, 3, 1) cons :: [a(0, 0, 0) x b(0, 0, 0)] -(0)-> b(0, 0, 0) nil :: [] -(0)-> b(1, 0, 0) nil :: [] -(0)-> b(4, 3, 1) nil :: [] -(0)-> b(0, 0, 0) pair :: [a(0, 0, 0) x a(0, 0, 0)] -(0)-> a(0, 0, 0) pairsp :: [b(4, 3, 1)] -(1)-> b(0, 0, 0) Cost Free Signatures: --------------------- append :: [b_cf(0, 0, 0) x b_cf(0, 0, 0)] -(0)-> b_cf(0, 0, 0) append :: [b_cf(1, 0, 0) x b_cf(1, 0, 0)] -(1)-> b_cf(1, 0, 0) attach :: [a_cf(0, 0, 0) x b_cf(0, 0, 0)] -(0)-> b_cf(0, 0, 0) attach :: [a_cf(0, 0, 0) x b_cf(1, 0, 0)] -(1)-> b_cf(1, 0, 0) cons :: [a_cf(0, 0, 0) x b_cf(0, 0, 0)] -(0)-> b_cf(0, 0, 0) cons :: [a_cf(0, 0, 0) x b_cf(3, 1, 0)] -(2)-> b_cf(2, 1, 0) cons :: [a_cf(0, 0, 0) x b_cf(1, 0, 0)] -(1)-> b_cf(1, 0, 0) nil :: [] -(0)-> b_cf(0, 0, 0) nil :: [] -(0)-> b_cf(2, 1, 0) nil :: [] -(0)-> b_cf(1, 1, 1) nil :: [] -(0)-> b_cf(1, 0, 0) pair :: [a_cf(0, 0, 0) x a_cf(0, 0, 0)] -(0)-> a_cf(0, 0, 0) pairsp :: [b_cf(2, 1, 0)] -(1)-> b_cf(1, 0, 0)