ó
    ´OÂfZ  ã                   óL   • S SK JrJrJrJrJrJrJrJrJ	r	J
r
JrJr  SS jrS rg)é    )ÚAllExpressionÚAndExpressionÚApplicationExpressionÚEqualityExpressionÚExistsExpressionÚIffExpressionÚImpExpressionÚNegatedExpressionÚOrExpressionÚVariableExpressionÚskolem_functionÚunique_variableNc           	      ó&  • Uc
  [        5       nUc
  [        5       n[        U [        5      (       a]  [        U R                  XR
                  1-  X R
                  1-  5      nUR                  U R
                  [        [        US95      5      $ [        U [        5      (       a-  [        U R                  X5      [        U R                  X5      -  $ [        U [        5      (       a4  [        [        U R                  X5      [        U R                  X5      5      $ [        U [        5      (       a5  [        [        U R                  * X5      [        U R                  X5      5      $ [        U [        5      (       ak  [        [        U R                  * X5      [        U R                  X5      5      [        [        U R                  X5      [        U R                  * X5      5      -  $ [        U [         5      (       a  U $ [        U ["        5      (       GaÌ  U R                  n[        U[        5      (       a  [        UR                  * XUR
                  1-  5      nU(       a%  UR                  UR
                  [%        U5      5      $ [        [        US95      nUR                  UR
                  U5      $ [        U[        5      (       a6  [        [        UR                  * X5      [        UR                  * X5      5      $ [        U[        5      (       a/  [        UR                  * X5      [        UR                  * X5      -  $ [        U[        5      (       a.  [        UR                  X5      [        UR                  * X5      -  $ [        U[        5      (       ak  [        [        UR                  * X5      [        UR                  * X5      5      [        [        UR                  X5      [        UR                  X5      5      -  $ [        U[         5      (       a  U $ [        U["        5      (       a  [        UR                  X5      $ [        U[&        5      (       a^  [        UR                  * XR
                  1-  X$R
                  1-  5      nUR                  UR
                  [        [        US95      5      $ [        U[(        5      (       a  U $ [+        SU -  5      e[        U [&        5      (       a~  [        U R                  XU R
                  1-  5      nU(       a%  UR                  U R
                  [%        U5      5      $ [        [        US95      nUR                  U R
                  U5      $ [        U [(        5      (       a  U $ [+        SU -  5      e)zG
Skolemize the expression and convert to conjunctive normal form (CNF)
)Úignorez'%s' cannot be skolemized)ÚsetÚ
isinstancer   Ú	skolemizeÚtermÚvariableÚreplacer   r   r   ÚfirstÚsecondr   Úto_cnfr	   r   r   r
   r   r   r   Ú	Exception)Ú
expressionÚ
univ_scopeÚused_variablesr   ÚnegatedÚskolem_constants         Ú4/usr/lib/python3/dist-packages/nltk/sem/skolemize.pyr   r      sÊ  € ð ÑÜ“Uˆ
ØÑÜ›ˆä�*œm×,Ñ,ÜØ�O‰OØ×-Ñ-Ð.Ñ.Ø×1Ñ1Ð2Ñ2ó
ˆð
 �|‰|Ø×ÑÜœ°nÑEÓFó
ð 	
ô 
�J¤×	.Ñ	.Ü˜×)Ñ)¨:ÓFÌØ×Ñ˜zóJ
ñ 
ð 	
ô 
�J¤×	-Ñ	-ÜÜ�j×&Ñ&¨
ÓCÜ�j×'Ñ'¨ÓDó
ð 	
ô 
�J¤×	.Ñ	.ÜÜ�z×'Ñ'Ð'¨ÓDÜ�j×'Ñ'¨ÓDó
ð 	
ô 
�J¤×	.Ñ	.ÜÜ�z×'Ñ'Ð'¨ÓDÜ�j×'Ñ'¨ÓDó
ô Ü�j×&Ñ&¨
ÓCÜ�z×(Ñ(Ð(¨*ÓEó
ñ
ð 	
ô 
�JÔ 2×	3Ñ	3ØÐÜ	�JÔ 1×	2Ò	2Ø—/‘/ˆÜ�gœ}×-Ñ-ÜØ—‘�˜z¸W×=MÑ=MÐ<NÑ+NóˆDö Ø—|‘| G×$4Ñ$4´oÀjÓ6QÓRÐRä"4Ü#¨>Ñ:ó#�ð —|‘| G×$4Ñ$4°oÓFÐFÜ˜¤×/Ñ/ÜÜ˜7Ÿ=™=˜.¨*ÓEÜ˜7Ÿ>™>˜/¨:ÓFóð ô ˜¤×.Ñ.Ü˜gŸm™m˜^¨ZÓHÌ9Ø—‘� óLñ ð ô ˜¤×/Ñ/Ü˜WŸ]™]¨JÓGÌ)Ø—‘� óKñ ð ô ˜¤×/Ñ/ÜÜ˜7Ÿ=™=˜.¨*ÓEÜ˜7Ÿ>™>˜/¨:ÓFóô Ü˜'Ÿ-™-¨ÓDÜ˜'Ÿ.™.¨*ÓEóñð ô ˜Ô!3×4Ñ4ØÐÜ˜Ô!2×3Ñ3Ü˜WŸ\™\¨:ÓFÐFÜ˜Ô!1×2Ñ2ÜØ—‘�Ø×.Ñ.Ð/Ñ/Ø×"2Ñ"2Ð!3Ñ3óˆDð
 —<‘<Ø× Ñ Ü"¤?¸.Ñ#IÓJóð ô ˜Ô!6×7Ñ7ØÐäÐ7¸*ÑDÓEÐEÜ	�JÔ 0×	1Ñ	1ÜØ�O‰O˜Z¸:×;NÑ;NÐ:OÑ)Oó
ˆö Ø—<‘< 
× 3Ñ 3´_ÀZÓ5PÓQÐQä0´ÈÑ1WÓXˆOØ—<‘< 
× 3Ñ 3°_ÓEÐEÜ	�JÔ 5×	6Ñ	6ØÐäÐ3°jÑ@ÓAÐAó    c                 ó  • [        U [        5      (       a0  [        U R                  U5      n[        U R                  U5      nX#-  $ [        U[        5      (       a.  [        XR                  5      n[        XR                  5      nX#-  $ X-  $ )zA
Convert this split disjunction to conjunctive normal form (CNF)
)r   r   r   r   r   )r   r   Úr_firstÚr_seconds       r    r   r   ‡   st   € ô �%œ×'Ñ'Ü˜Ÿ™ fÓ-ˆÜ˜%Ÿ,™,¨Ó/ˆØÑ!Ð!Ü	�FœM×	*Ñ	*Ü˜§¡Ó-ˆÜ˜%§¡Ó/ˆØÑ!Ð!à‰~Ðr!   )NN)Únltk.sem.logicr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   © r!   r    Ú<module>r'      s&   ð÷÷ ÷ ó ô kBó\r!   