anchor.diff:                           		((eq 0 num-elem) nil)
                            		(t 
                            			(setf result nil)
  -                         			(if (rProfundidade > maxDiscrepancia)
  +                         			(if (> rProfundidade maxDiscrepancia)
                            				(setf result (ildsProbe (car sucessores) maxDiscrepancia (- rProfundidade 1))))
  -                         			(if (and (maxDiscrepancia > 0) (null result))
  +                         			(if (and (> maxDiscrepancia 0) (null result))
                            				(dolist (suc (cdr sucessores))
                            					(setf result (ildsProbe suc (- maxDiscrepancia 1 ) (- rProfundidade 1)))
                            					(when (not (null result))
  
positive.code: 	(rows (cdr dimensions))
  	)
       ;para cada maquina que ainda nao tenha start time, propaga o tempo virtual, actualizando o anterior
       (loop for job from 0 to rows
  	(loop named inner for task from 0 to columns
  	  ;nao e' garantido que todos os jobs tenham o mesmo numero de tarefas
  	  (if (null (aref estado job task)) 
  	      (return-from inner)
  
negative.code: 	(dimensions (array-dimensions estado))
  	(columns (car dimensions))
  	(rows (cdr dimensions)));numero de jobs igual ao numero de linhas
      (loop for job from 0 to rows do
        (let* ((prox-task (proxima-tarefa estado job))
  	    (novo-estado nil)
  	    (job-task nil)
  	    (nr.maquina nil)
  	    (last-start-time nil)
  	    (task-duration nil)
  	    )
  	    (if (not(null prox-task))
  		(progn
  		  ;novo-estado sucessor 
  		  (setf novo-estado (copy-array estado))
  		  ;o job-shop-task
  		  (setf job-task (job-task-w-constr-job-task (aref estado job prox-task)))
  		  ;o numero da maquina
  		  (setf nr.maquina (job-shop-task-machine.nr job-task))
  		  ;actualizar o tempo de inicio do job 
  		  (setf (job-shop-task-start.time job-task) (job-task-w-constr-virtual-time))
  		  (setf last-start-time (job-shop-task-start.time job-task))
  		  (setf task-duration (job-shop-task-duration job-task))
  		  (propaga-restr-tempo novo-estado nr.maquina last-start-time task-duration)
  		  )
  		 )
  	  )
  	)
        )
    )  
  
  (defun propaga-restr-tempo (estado maquina last-start-time task-duration)
  