o
    GZh%                     @   s   d dl mZ dddZdS )    )
EncodedCNFFc                    s   t  tst }|  | ddlm} dh jv r&|r$dd dD S dS | j}r;|dd t| D  |	 sAdS |sN fd	d
|
 D S  fdd}||S )Nr   )	Minisat22c                 s   s    | ]}|V  qd S )N ).0fr   r   W/var/www/auris/lib/python3.10/site-packages/sympy/logic/algorithms/minisat22_wrapper.py	<genexpr>   s    z(minisat22_satisfiable.<locals>.<genexpr>)FFc                 S   s   g | ]}|d   qS )   r   r   ir   r   r   
<listcomp>   s    z)minisat22_satisfiable.<locals>.<listcomp>c                    $   i | ]} j t|d   |dkqS r	   r   symbolsabsr   Zlitexprr   r   
<dictcomp>      $ z)minisat22_satisfiable.<locals>.<dictcomp>c                 3   sr    d}|   r2|  } fdd|D V  r"| dd |D  n
| dd |D  d}|   s|s7dV  t)NFc                    r   r   r   r   r   r   r   r   #   r   z7minisat22_satisfiable.<locals>._gen.<locals>.<dictcomp>c                 S   s   g | ]	}|d kr| qS )r   r   r
   r   r   r   r   %   s    z7minisat22_satisfiable.<locals>._gen.<locals>.<listcomp>c                 S   s   g | ]}| qS r   r   r
   r   r   r   r   '   s    T)solve	get_modelZ
add_clauseStopIteration)resultsZsatisfiableZsolr   minimalr   r   _gen   s   z#minisat22_satisfiable.<locals>._gen)
isinstancer   Zadd_propZpysat.solversr   dataZ
set_phasesrangeZnof_varsr   r   )r   Z
all_modelsr   exprsr   rr   r   r   r   minisat22_satisfiable   s$   


r#   N)FF)Zsympy.assumptions.cnfr   r#   r   r   r   r   <module>   s    