Ë
    çÍ:j]  ã                   ó2   — d Z ddlZddl­ d„ Zd„ Zd„ Zd„ Zy)z0
Helper functions for CCG semantics computation
é    N)Ú*c                 ód  — t        j                  | «      }|}d }t        |t        «      r|}|j                  }t        |t        «      rŒt        d«      }||j                  «       v rt        |¬«      }||j                  «       v rŒt        t        |«      |«      }|�||_        n|}t        ||«      S )NÚF)Úpattern)
ÚcopyÚdeepcopyÚ
isinstanceÚLambdaExpressionÚtermÚVariableÚfreeÚunique_variableÚApplicationExpressionÚFunctionVariableExpression)Ú	semanticsÚsemantics_copyÚcoreÚparentÚvars        úc/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/nltk/ccg/logic.pyÚcompute_type_raised_semanticsr      s¤   € Ü—]‘] 9Ó-€NØ€DØ€FÜ
�TÔ+Ô
,ØˆØ�y‰yˆô �TÔ+Õ
,ô �3‹-€CØ
�—‘“Ñ
Ü cÔ*ˆð �—‘“Ò
ä Ô!;¸CÓ!@À$ÓG€DàÐØˆ�àˆä˜C Ó0Ð0ó    c                 ó6   — t        | |«      j                  «       S )N)r   Úsimplify©ÚfunctionÚarguments     r   Úcompute_function_semanticsr   %   s   € Ü  ¨8Ó4×=Ñ=Ó?Ð?r   c                 ó¾   — t        |t        «      sJ dt        |«      z   dz   «       ‚t        |j                  t	        | |j
                  «      j                  «       «      S )Nú`ú` must be a lambda expression)r	   r
   ÚstrÚvariabler   r   r   r   s     r   Úcompute_composition_semanticsr$   )   s[   € Ü�hÔ 0Ô1ð ØŒc�(‹mÑÐ=Ñ=óÐ1ô Ø×ÑÔ0°¸8¿=¹=ÓI×RÑRÓTóð r   c                 óœ  — t        | t        «      rt        | j                  t        «      sJ dt        | «      z   dz   «       ‚t        |t        «      sJ dt        |«      z   dz   «       ‚t	        |t        | j                  «      «      j                  «       }t	        | j                  |«      j                  «       }t        | j                  |«      S )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)   2   sÂ   € Ü�hÔ 0Ô1´jØ�‰Ô'ô7ð PàŒc�(‹mÑÐNÑNóPð ô �hÔ 0Ô1ð ØŒc�(‹mÑÐ=Ñ=óÐ1ô )ØÔ$ X×%6Ñ%6Ó7óç�hƒjð ô % X§]¡]°LÓA×JÑJÓL€Hä˜H×-Ñ-¨xÓ8Ð8r   )Ú__doc__r   Únltk.sem.logicr   r   r$   r)   © r   r   ú<module>r-      s'   ðñó ä ò1ò*@òó9r   