U
    L?h                     @   s   d dl mZ dddZdS )    )
EncodedCNFFc                    s   dd l }t ts&t }|  | dh jkrH|rDdd dD S dS |sz| j}|dk}|sh|S  fdd|D S | j}|dk}|s|S  fd	d
}||S d S )Nr   c                 s   s   | ]
}|V  qd S )N ).0fr   r   X/var/www/html/venv/lib/python3.8/site-packages/sympy/logic/algorithms/pycosat_wrapper.py	<genexpr>   s     z&pycosat_satisfiable.<locals>.<genexpr>)FFZUNSATc                    s$   i | ]} j t|d   |dkqS    r   symbolsabsr   Zlitexprr   r   
<dictcomp>   s      z'pycosat_satisfiable.<locals>.<dictcomp>c                 3   sN   d}z&t | } fdd|D V  d}qW n tk
rH   |sDdV  Y nX d S )NFc                    s$   i | ]} j t|d   |dkqS r   r
   r   r   r   r   r   #   s      z5pycosat_satisfiable.<locals>._gen.<locals>.<dictcomp>T)nextStopIteration)resultsZsatisfiableZsolr   r   r   _gen   s    
z!pycosat_satisfiable.<locals>._gen)pycosat
isinstancer   Zadd_propdataZsolveZ	itersolve)r   Z
all_modelsr   Zexprsrresultr   r   r   r   pycosat_satisfiable   s*    

r   N)F)Zsympy.assumptions.cnfr   r   r   r   r   r   <module>   s   