anchor.diff:  		    ; remove infrerencias do psr
   		    ))
   		(psr-altera-dominio! p v d))))
  -	  (return-from procura-retrocesso-grau (values nil testes-total))))))
  +	  (return-from procura-retrocesso-fc-mrv (values nil testes-total))))))
   
   
   (defun psr-forward-checking (p v)
  
positive.code: 	(return-from procura-retrocesso-grau (values p testes-total))
  	(let* ((v (psr-var-maior-grau p))
  	       (d (psr-variavel-dominio p v)))
  	  (dolist (valor d)
  	    (multiple-value-bind (consistente testes) (psr-atribuicao-consistente-p p v valor)
  	      (incf testes-total testes)
  	      (when consistente
  		(psr-adiciona-atribuicao! p v valor)
  		(multiple-value-bind (recurs-consistente recurs-testes) (procura-retrocesso-simples p)
  		  (incf testes-total recurs-testes)
  		  (when (not (null recurs-consistente))
  		    (return-from procura-retrocesso-grau (values p testes-total))))
  
negative.code:     (psr-adiciona-atribuicao! p v1 valor1)
      (psr-adiciona-atribuicao! p v2 valor2)
      (dolist (r (psr-variavel-restricoes p v1))
        (when (find v2 (restricao-variaveis r) :test 'equal)
  	(incf testes)
  	(when (null (funcall (restricao-funcao-validacao r) p))
  	  (setf consistente nil)
  