
    /h                     *    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       F/var/www/auris/envauris/lib/python3.13/site-packages/nltk/ccg/logic.pycompute_type_raised_semanticsr      s    DF
T+
,
,yy T+
,
, 3-C

c* 
 !;C!@$GD	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1j'7 7 Pc(mNNP  h 01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   