ó
    ´OÂf  ã                   ó*   • S r SSK7  S rS rS rS rg)z0
Helper functions for CCG semantics computation
é    )Ú*c                 óN  • U nS n[        U[        5      (       a%  UnUR                  n[        U[        5      (       a  M%  [        S5      nX1R	                  5       ;   a  [        US9nX1R	                  5       ;   a  M  [        [        U5      U5      nUb  Xl        OUn [        X05      $ )NÚF)Úpattern)Ú
isinstanceÚLambdaExpressionÚtermÚVariableÚfreeÚunique_variableÚApplicationExpressionÚFunctionVariableExpression)Ú	semanticsÚcoreÚparentÚvars       Ú0/usr/lib/python3/dist-packages/nltk/ccg/logic.pyÚcompute_type_raised_semanticsr      s”   € Ø€DØ€FÜ
�TÔ+×
,Ñ
,ØˆØ�y‰yˆô �TÔ+×
,Ó
,ô �3‹-€CØ
—‘“Ó
Ü cÑ*ˆð —‘“Õ
ä Ô!;¸CÓ!@À$ÓG€DàÑØ�àˆ	ä˜CÓ+Ð+ó    c                 ó4   • [        X5      R                  5       $ )N)r   Úsimplify©ÚfunctionÚarguments     r   Úcompute_function_semanticsr   "   s   € Ü  Ó4×=Ñ=Ó?Ð?r   c                 óÆ   • [        U[        5      (       d   S[        U5      -   S-   5       e[        UR                  [	        XR
                  5      R                  5       5      $ )NÚ`ú` must be a lambda expression)r   r   ÚstrÚvariabler   r	   r   r   s     r   Úcompute_composition_semanticsr!   &   s\   € Ü�hÔ 0×1Ñ1ð ØŒc�(‹mÑÐ=Ñ=óÐ1ô Ø×ÑÔ0°¿=¹=ÓI×RÑRÓTóð r   c                 óº  • [        U [        5      (       a  [        U R                  [        5      (       d   S[        U 5      -   S-   5       e[        U[        5      (       d   S[        U5      -   S-   5       e[	        U[        U R                  5      5      R                  5       n[	        U R                  U5      R                  5       n[        U R                  U5      $ )Nr   z.` must be a lambda expression with 2 argumentsr   )r   r   r	   r   r   ÚVariableExpressionr    r   )r   r   Únew_argumentÚnew_terms       r   Úcompute_substitution_semanticsr&   /   sÍ   € Ü�hÔ 0×1Ñ1´jØ�‰Ô'÷7ñ 7ð PàŒc�(‹mÑÐNÑNóPð ô �hÔ 0×1Ñ1ð ØŒc�(‹mÑÐ=Ñ=óÐ1ô )ØÔ$ X×%6Ñ%6Ó7óç�hƒjð ô % X§]¡]°LÓA×JÑJÓL€Hä˜H×-Ñ-¨xÓ8Ð8r   N)Ú__doc__Únltk.sem.logicr   r   r!   r&   © r   r   Ú<module>r*      s$   ðñô ò,ò(@òó9r   