
    ni6                     0    S SK Js  Js  Jr   " S S5      rg)    Nc            	       6    \ rS rSrSrS
S\S\S\S\4S jjrS	rg)Rule   z
Example text:
        `'pred1(x,y) : [0.2, 1] <- pred2(a, b) : [1,1], pred3(b, c)'`

1. It is not possible to have weights for different clauses. Weights are 1 by default with bias 0
N	rule_textnameinfer_edges
set_staticc                 >    [         R                  " XXSXF5      U l        g)a  
:param rule_text: The rule in text format
:param name: The name of the rule. This will appear in the rule trace
:param infer_edges: Whether to infer new edges after edge rule fires
:param set_static: Whether to set the atom in the head as static if the rule fires. The bounds will no longer change
:param custom_thresholds: A list of custom thresholds for the rule. If not specified, the default thresholds for ANY are used. It can be a list of
       size #of clauses or a map of clause index to threshold
:param weights: A list of weights for the rule clauses. This is passed to an annotation function. If not specified,
       the weights array is a list of 1s with the length as number of clauses.
N)rule_parser
parse_rulerule)selfr   r   r   r	   custom_thresholdsweightss          U/home/james-whalen/.local/lib/python3.13/site-packages/pyreason/scripts/rules/rule.py__init__Rule.__init__   s      **9<M\fp	    )r   )NFFNN)	__name__
__module____qualname____firstlineno____doc__strboolr   __static_attributes__ r   r   r   r      s4    q# qS qd q`d q qr   r   )"pyreason.scripts.utils.rule_parserscriptsutilsr   r   r   r   r   <module>r!      s    8 8q qr   