WORST_CASE(?,O(n^1)) Solution: --------- "0" :: [] -(0)-> "A"(1) "0" :: [] -(0)-> "A"(0) "And" :: ["A"(7) x "A"(7)] -(7)-> "A"(7) "Cons" :: ["A"(0) x "A"(0)] -(0)-> "A"(0) "False" :: [] -(0)-> "A"(0) "Nil" :: [] -(0)-> "A"(0) "Not" :: ["A"(7)] -(7)-> "A"(7) "Or" :: ["A"(7) x "A"(7)] -(7)-> "A"(7) "S" :: ["A"(1)] -(1)-> "A"(1) "S" :: ["A"(0)] -(0)-> "A"(0) "Triple" :: ["A"(0) x "A"(0) x "A"(0)] -(0)-> "A"(0) "True" :: [] -(0)-> "A"(0) "Var" :: ["A"(7)] -(0)-> "A"(7) "bot[0]#1" :: [] -(0)-> "A"(0) "eqNat#2" :: ["A"(1) x "A"(0)] -(1)-> "A"(0) "eval2#5" :: ["A"(0) x "A"(0) x "A"(0) x "A"(0) x "A"(7)] -(5)-> "A"(0) "ite#3" :: ["A"(0) x "A"(0)] -(1)-> "A"(0) "ite_b#2" :: ["A"(0) x "A"(0) x "A"(0)] -(1)-> "A"(0) "land#2" :: ["A"(0) x "A"(0)] -(1)-> "A"(0) "lnot#1" :: ["A"(0)] -(1)-> "A"(0) "lor#2" :: ["A"(0) x "A"(0)] -(1)-> "A"(0) "main" :: ["A"(0) x "A"(0) x "A"(28)] -(21)-> "A"(0) Cost Free Signatures: --------------------- "0" :: [] -(0)-> "A"_cf(0) "And" :: ["A"_cf(0) x "A"_cf(0)] -(0)-> "A"_cf(0) "False" :: [] -(0)-> "A"_cf(0) "Not" :: ["A"_cf(0)] -(0)-> "A"_cf(0) "Or" :: ["A"_cf(0) x "A"_cf(0)] -(0)-> "A"_cf(0) "S" :: ["A"_cf(0)] -(0)-> "A"_cf(0) "True" :: [] -(0)-> "A"_cf(0) "Var" :: ["A"_cf(0)] -(0)-> "A"_cf(0) "bot[0]#1" :: [] -(0)-> "A"_cf(0) "eqNat#2" :: ["A"_cf(0) x "A"_cf(0)] -(0)-> "A"_cf(0) "eval2#5" :: ["A"_cf(0) x "A"_cf(0) x "A"_cf(0) x "A"_cf(0) x "A"_cf(0)] -(0)-> "A"_cf(0) "ite#3" :: ["A"_cf(0) x "A"_cf(0)] -(0)-> "A"_cf(0) "ite_b#2" :: ["A"_cf(0) x "A"_cf(0) x "A"_cf(0)] -(0)-> "A"_cf(0) "land#2" :: ["A"_cf(0) x "A"_cf(0)] -(0)-> "A"_cf(0) "lnot#1" :: ["A"_cf(0)] -(0)-> "A"_cf(0) "lor#2" :: ["A"_cf(0) x "A"_cf(0)] -(0)-> "A"_cf(0) Base Constructors: ------------------ "\"0\"_A" :: [] -(0)-> "A"(1) "\"And\"_A" :: ["A"(1) x "A"(1)] -(1)-> "A"(1) "\"Cons\"_A" :: ["A"(0) x "A"(0)] -(0)-> "A"(1) "\"False\"_A" :: [] -(0)-> "A"(1) "\"Nil\"_A" :: [] -(0)-> "A"(1) "\"Not\"_A" :: ["A"(1)] -(1)-> "A"(1) "\"Or\"_A" :: ["A"(1) x "A"(1)] -(1)-> "A"(1) "\"S\"_A" :: ["A"(1)] -(1)-> "A"(1) "\"Triple\"_A" :: ["A"(0) x "A"(0) x "A"(0)] -(0)-> "A"(1) "\"True\"_A" :: [] -(0)-> "A"(1) "\"Var\"_A" :: ["A"(1)] -(0)-> "A"(1) "\"bot[0]#1\"_A" :: [] -(0)-> "A"(1)