more logic programming exercises sicp