
    kh@	                         d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
mZmZmZmZ ddlmZ ddlmZmZmZmZmZmZmZmZ ddlmZmZmZ ddlmZ dd	l m!Z!m"Z"m#Z#m$Z$ y
)a9  
NLTK Semantic Interpretation Package

This package contains classes for representing semantic structure in
formulas of first-order logic and for evaluating such formulas in
set-theoretic models.

    >>> from nltk.sem import logic
    >>> logic._counter._value = 0

The package has two main components:

 - ``logic`` provides support for analyzing expressions of First
   Order Logic (FOL).
 - ``evaluate`` allows users to recursively determine truth in a
   model for formulas of FOL.

A model consists of a domain of discourse and a valuation function,
which assigns values to non-logical constants. We assume that entities
in the domain are represented as strings such as ``'b1'``, ``'g1'``,
etc. A ``Valuation`` is initialized with a list of (symbol, value)
pairs, where values are entities, sets of entities or sets of tuples
of entities.
The domain of discourse can be inferred from the valuation, and model
is then created with domain and valuation as parameters.

    >>> from nltk.sem import Valuation, Model
    >>> v = [('adam', 'b1'), ('betty', 'g1'), ('fido', 'd1'),
    ... ('girl', set(['g1', 'g2'])), ('boy', set(['b1', 'b2'])),
    ... ('dog', set(['d1'])),
    ... ('love', set([('b1', 'g1'), ('b2', 'g2'), ('g1', 'b1'), ('g2', 'b1')]))]
    >>> val = Valuation(v)
    >>> dom = val.domain
    >>> m = Model(dom, val)
    )Boxer)DRSDrtExpression)
AssignmentModel	Undefined	Valuationarityis_relread_valuationset2rel)
FStructure)ApplicationExpression
ExpressionLogicalExpressionExceptionVariablebinding_opsboolean_opsequality_preds
read_logic)clauseextract_relsrtuple)	skolemize)evaluate_sentsinterpret_sentsparse_sentsroot_semrepN)%__doc__nltk.sem.boxerr   nltk.sem.drtr   r   nltk.sem.evaluater   r   r   r	   r
   r   r   r   nltk.sem.lfgr   nltk.sem.logicr   r   r   r   r   r   r   r   nltk.sem.relextractr   r   r   nltk.sem.skolemizer   nltk.sem.utilr   r   r   r        M/opt/mcp/mcp-sentiment/venv/lib/python3.12/site-packages/nltk/sem/__init__.py<module>r+      sG   "H ! +	 	 	 $	 	 	 = < ( S Sr)   