
    g%                         d dl mZ ddZdS )    )
EncodedCNFFc                     t           t                    s%t                      }|                                | ddlm} dh j        v r|rd dD             S dS  | j                  }r>|                    d t          |                                          D                        |	                                sdS |s  fd|
                                D             S  fd} ||          S )	Nr   )	Minisat22c              3      K   | ]}|V  d S )N ).0fs     d/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/logic/algorithms/minisat22_wrapper.py	<genexpr>z(minisat22_satisfiable.<locals>.<genexpr>   s"      ''!A''''''    )FFc                     g | ]}|d z    	S )   r   r   is     r
   
<listcomp>z)minisat22_satisfiable.<locals>.<listcomp>   s    :::!f:::r   c                 T    i | ]$}j         t          |          d z
           |dk    %S r   r   symbolsabsr   litexprs     r
   
<dictcomp>z)minisat22_satisfiable.<locals>.<dictcomp>   s0    MMMSXX\*C!GMMMr   c              3   D  K   d}|                                  r{|                                 }fd|D             V  r |                     d |D                        n|                     d |D                        d}|                                  {|sdV  t          )NFc                 T    i | ]$}j         t          |          d z
           |dk    %S r   r   r   s     r
   r   z7minisat22_satisfiable.<locals>._gen.<locals>.<dictcomp>#   s0    JJJst|CHHqL137JJJr   c                      g | ]}|d k    | S )r   r   r   s     r
   r   z7minisat22_satisfiable.<locals>._gen.<locals>.<listcomp>%   s    '?'?'?q1Q33333r   c                     g | ]}| S r   r   r   s     r
   r   z7minisat22_satisfiable.<locals>._gen.<locals>.<listcomp>'   s    '8'8'8q'8'8'8r   T)solve	get_model
add_clauseStopIteration)resultssatisfiablesolr   minimals      r
   _genz#minisat22_satisfiable.<locals>._gen   s      K--// #''))JJJJcJJJJJJ :&&'?'?C'?'?'?@@@@&&'8'8C'8'8'8999" --// #  r   )
isinstancer   add_proppysat.solversr   data
set_phasesrangenof_varsr   r    )r   
all_modelsr&   exprsr   rr'   s   ` `    r
   minisat22_satisfiabler2      s0   dJ'' t'''''' 	
sdi 	(''w''''u	$)A <	::eAJJLL&9&9:::;;;7799 u MMMMq{{}}MMMM	  	  	  	  	  	  tAwwr   N)FF)sympy.assumptions.cnfr   r2   r   r   r
   <module>r4      s5    , , , , , ,+ + + + + +r   