
    ǔ9i]                     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        X/var/www/html/backtest/airagagent/rag_env/lib/python3.12/site-packages/nltk/ccg/logic.pycompute_type_raised_semanticsr      s    ]]9-NDF
T+
,yy T+
, 3-C

c* 
 !;C!@$GD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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   )__doc__r   nltk.sem.logicr   r   r$   r)    r   r   <module>r-      s'     1*@9r   