anchor.diff:  	 (pix-pix (make-array max-ipix :initial-element nil))
   	 (pix-hv (make-array max-ipix :initial-element 0))
   	 (ipix 0))
  -;    (format t "Declarei tudo~%")
  -;    (format t "linhas:~a colunas:~a max-ipix:~a~%" linhas colunas max-ipix)
  +
       (block ciclos
         (dotimes (l linhas)
   	(dotimes (c colunas)
  
positive.code: (defun fapix-testa-restricoes (f restricoes)
    "Testa uma lista de restricoes e devolve dois valores. O primeiro, um boleano que indica se todas
    as restricoes se verificam e o segundo indica o numero de testes realizados."
    (let ((testes 0))
      (dolist (r restricoes (values t testes))
        (incf testes)
        (when (null (funcall (restricao-fapix-funcao-validacao r) f)) (return (values nil testes))))))
  
  (defun fapix-consistente-p (f)
    "Testa todas as restricoes do fapix."
  
negative.code:   ""
    (let ((atribuicao (fapix-pix-cor f ipix))
  	(consistente t)
  	(falhou nil))
  
      (fapix-adiciona-atribuicao! f ipix cor)
  
      (setf (values consistente falhou) (fapix-pix-consistente-p f ipix))
  
      (if atribuicao (fapix-adiciona-atribuicao! f ipix atribuicao) (fapix-remove-atribuicao! f ipix))
      (values consistente falhou)))
  
  ;; (defun fapix-atribuicoes-consistentes-arco-p (f ipix1 cor1 ipix2 cor2)
  ;;   ""
  ;;   (let ((atribuicao1 (fapix-pix-cor f ipix1))
  ;; 	(atribuicao2 (fapix-pix-cor f ipix2))
  ;; 	(consistente t))
  
  ;;     (fapix-adiciona-atribuicao! f ipix1 cor1)
  ;;     (fapix-adiciona-atribuicao! f ipix2 cor2)
  ;;     (dolist (r (fapix-pix-restricoes f ipix1))
  ;;       (when (find ipix2 (restricao-fapix-ipixs r) :test '=)
  ;; 	(when (null (funcall (restricao-fapix-funcao-validacao r) f))
  ;; 	  (setf consistente nil)
  ;; 	  (return))))
  
  ;;     (if atribuicao1 (fapix-adiciona-atribuicao! f ipix1 atribuicao1) (fapix-remove-atribuicao! f ipix1))
  ;;     (if atribuicao2 (fapix-adiciona-atribuicao! f ipix2 atribuicao2) (fapix-remove-atribuicao! f ipix2))
  ;;     (values consistente testes)))
  
  (defun fapix-atribuicoes-consistentes-p (f ipix1 cor1 ipix2 cor2)
    ""
    (let ((atribuicao1 (fapix-pix-cor f ipix1))
  	(atribuicao2 (fapix-pix-cor f ipix2))
  	(consistente t))
  
      (fapix-adiciona-atribuicao! f ipix1 cor1)
      (fapix-adiciona-atribuicao! f ipix2 cor2)
  
      (block testes
        (when (fapix-testa-restricoes f (fapix-pix-restricoes f ipix1))
  	(when (fapix-testa-restricoes f (fapix-pix-restricoes f ipix2))
  	  (return-from testes)))
        (setf consistente nil))
  
      (if atribuicao1 (fapix-adiciona-atribuicao! f ipix1 atribuicao1) (fapix-remove-atribuicao! f ipix1))
      (if atribuicao2 (fapix-adiciona-atribuicao! f ipix2 atribuicao2) (fapix-remove-atribuicao! f ipix2))
      (values consistente 0)))
  
  (defun fapix-conta-cores (f ipixs)
    ""
  