
    j]                     2    d Z ddlZddlT d Zd Zd Zd ZdS )z0
Helper functions for CCG semantics computation
    N)*c                    t          j        |           }|}d }t          |t                    r|}|j        }t          |t                    t          d          }||                                v r&t          |          }||                                v &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/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/nltk/ccg/logic.pycompute_type_raised_semanticsr      s    ]9--NDF
T+
,
, y T+
,
,  3--C


c*** 

 !;C!@!@$GGDC000    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$   )   sp    h 011  c(mm== 1 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)   2   s    h 011 Pj'7 7 P Pc(mmNNP P  h 011  c(mm== 1 )$X%677 hjj  %X]LAAJJLLHH-x888r   )__doc__r   nltk.sem.logicr   r   r$   r)    r   r   <module>r-      so         1 1 1*@ @ @  9 9 9 9 9r   