
    g                     *    d Z ddl d Zd Zd Zd Zy)z0
Helper functions for CCG semantics computation
    )*c                 :   | }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)
isinstanceLambdaExpressiontermVariablefreeunique_variableApplicationExpressionFunctionVariableExpression)	semanticscoreparentvars       C/var/www/openai/venv/lib/python3.12/site-packages/nltk/ccg/logic.pycompute_type_raised_semanticsr      s    DF
T+
,yy T+
, 3-C

c* 
 !;C!@$GD	C++    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&   /   s    h 01j'7 Pc(mNNP  h 01 c(m==1 )$X%6%67hj  %X]]LAJJLHH--x88r   N)__doc__nltk.sem.logicr   r   r!   r&    r   r   <module>r*      s$    ,(@9r   