
    Ng                     *    d Z ddlT d Zd Zd Zd ZdS )z0
Helper functions for CCG semantics computation
    )*c                 x   | }d }t          |t                    r|}|j        }t          |t                    t          d          }||                                v r&t          |          }||                                v &t          t          |          |          }|||_        n|} t          ||           S )NF)pattern)
isinstanceLambdaExpressiontermVariablefreeunique_variableApplicationExpressionFunctionVariableExpression)	semanticscoreparentvars       J/var/www/html/ai-engine/env/lib/python3.11/site-packages/nltk/ccg/logic.pycompute_type_raised_semanticsr      s    DF
T+
,
, y T+
,
,  3--C


c*** 

 !;C!@!@$GGD	C+++    c                 F    t          | |                                          S )N)r   simplifyfunctionarguments     r   compute_function_semanticsr   "   s     844==???r   c                     t          |t                    sJ dt          |          z   dz               t          |j        t	          | |j                                                            S )N`` must be a lambda expression)r   r   strvariabler   r	   r   r   s     r   compute_composition_semanticsr!   &   sr    h 011  c(mm==   08=IIRRT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                                                            }t	          | 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11 Pj'7 7 P Pc(mmNNP P P h 011  c(mm==   )$X%677 hjj  %X]LAAJJLLHH-x888r   N)__doc__nltk.sem.logicr   r   r!   r&    r   r   <module>r*      sf        , , ,(@ @ @  9 9 9 9 9r   