anchor.diff:  
   ; ADICIONA ATRIBUICAO
   
  -; Este modificador recebe um PSR, uma variavel e um valor,
  -; e altera o PSR recebido, atribuindo o valor a variavel.
  -; Se a variavel ja tinha sido atribuida, o novo valor substitui o valor anterior.
  -; O valor de retorno desta funcao nao esta definido.
  +; This modifier receives an RSP, a variable and a value,
  +; and changes the PSR received, assigning the value to variable.
  +; If the variable already had been assigned, the new value replaces the previous value.
  +; The return value of this function is not defined.
   
   
   (defun psr-adiciona-atribuicao! (psr var val)
  
positive.code: 
  ; ATRIBUICOES DO PSR
  
  ; Recebe um PSR, e retorna uma lista com todas as atribuicoes do PSR.
  ; Nesta funcao utilizamos uma funcao aux para verificar se construimos
  ; uma lista de pares.
  
  (defun listOfPairsBuild (lst1 lst2)
    (loop for idx from 0
  
negative.code: ;                                        TIPO RESTRICAO                                   ;
  ; ======================================================================================= ;
  
  ; The restriction type has as arguments a list of variables and a predicate that evaluates
  ; whether a CSP is valid or not.
  ; The predicate will have to call the function check-CSP so that build the constraint.
  
  
  (defun cria-restricao (lstvars predi)
  