³ς
ΕΨIc           @   s   d    Z  d   Z d S(   c         C   sU  t  |   } | d j o g  Sn h  } y x |  D] } d | | <q1 WWn t j
 o
 ~ n X| i   Sy t |   } | i   Wn t j
 o
 ~ n X| d j p t  | d } d } } xM | | j  o? | | | j o  | | | | <} | d 7} n | d 7} qΗ W| |  Sg  } x, |  D]$ } | | j o | i |  q)q)W| S(   s:   Return a list of the elements in s, but without duplicatesi    i   (   t   lent	   TypeErrort   keyst   listt   sortt   AssertionErrort   append(   t   st   nt   ut   xt   tt   lastt   lastit   i(    (    sD   /home/alpt/misc/unimat/appunti/logica/computazionale/dputnam/misc.pyt   unique   s@     
	

  c         C   s"   |  | j o | i  |   n d  S(   N(   R   (   R
   t   l(    (    sD   /home/alpt/misc/unimat/appunti/logica/computazionale/dputnam/misc.pyt   append_if_new4   s    N(   R   R   (    (    (    sD   /home/alpt/misc/unimat/appunti/logica/computazionale/dputnam/misc.pys   <module>   s   	3