Resposta ao exercício 57

(defun todos? (func lista)
  (cond ((null lista) t)
        ((funcall func (first lista))
         (todos? func (rest lista)))
        (t nil)))

Esta função já existe em Lisp e denomina-se every.

(defun algum? (func lista)
  (cond ((null lista) nil)
        ((funcall func (first lista)) t)
        (t (algum? func (rest lista)))))

Esta função já existe em Lisp e denomina-se some.

(defun nenhum? (func lista)
  (cond ((null lista) t)
        ((not (funcall func (first lista)))
         (nenhum? func (rest lista)))
        (t nil)))

Esta função já existe em Lisp e denomina-se notany.

(defun nem-todos? (func lista)
  (cond ((null lista) nil)
        ((not (funcall func (first lista))) t)
        (t (nem-todos? func (rest lista)))))

Esta função já existe em Lisp e denomina-se notevery.