
    ni
                          " S  S5      r g)c                       \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rSrg)Rule   c                     Xl         X l        X0l        X@l        XPl        X`l        Xpl        Xl        Xl        Xl	        Xl
        Xl        Xl        Xl        g N)
_rule_name_type_target_head_variables_delta_clauses_bnd_thresholds_ann_fn_weights	_head_fns_head_fns_vars_edges_static)self	rule_name	rule_typetargethead_variablesdeltaclausesbnd
thresholdsann_fnweightshead_fnshead_fns_varsedgesstatics                  ^/home/james-whalen/.local/lib/python3.13/site-packages/pyreason/scripts/rules/rule_internal.py__init__Rule.__init__   sK    #
-	%!+    c                     U R                   $ r   r   r   s    r$   get_rule_nameRule.get_rule_name   s    r'   c                     Xl         g r   r)   )r   r   s     r$   set_rule_nameRule.set_rule_name   s    #r'   c                     U R                   $ r   )r   r*   s    r$   get_rule_typeRule.get_rule_type   s    zzr'   c                     U R                   $ r   )r	   r*   s    r$   
get_targetRule.get_target       ||r'   c                     U R                   $ r   )r
   r*   s    r$   get_head_variablesRule.get_head_variables   s    ###r'   c                     U R                   $ r   )r   r*   s    r$   	get_deltaRule.get_delta"       {{r'   c                     U R                   $ r   r   r*   s    r$   get_clausesRule.get_clauses%       }}r'   c                     Xl         g r   r?   )r   r   s     r$   set_clausesRule.set_clauses(   s    r'   c                     U R                   $ r   )r   r*   s    r$   get_bndRule.get_bnd+   s    yyr'   c                     U R                   $ r   r   r*   s    r$   get_thresholdsRule.get_thresholds.   s    r'   c                     Xl         g r   rJ   )r   r   s     r$   set_thresholdsRule.set_thresholds1   s    %r'   c                     U R                   $ r   )r   r*   s    r$   get_annotation_functionRule.get_annotation_function4   r6   r'   c                     U R                   $ r   )r   r*   s    r$   	get_edgesRule.get_edges7   r=   r'   c                     U R                   $ r   )r   r*   s    r$   get_weightsRule.get_weights:   rB   r'   c                     U R                   $ r   )r   r*   s    r$   get_head_functionRule.get_head_function=   s    ~~r'   c                     U R                   $ r   )r   r*   s    r$   get_head_function_varsRule.get_head_function_vars@   s    """r'   c                     U R                   $ r   )r   r*   s    r$   	is_staticRule.is_staticC   r6   r'   c           	         [        U[        5      (       d  g/ n/ nU R                   H1  nUR                  US   US   [	        US   5      US   US   45        M3     UR                  5        H1  nUR                  US   US   [	        US   5      US   US   45        M3     U R                  UR                  5       :X  a  U R                  UR                  5       :X  a  U R                  UR                  5       :X  as  U R                  UR                  5       :X  aU  U R                  UR                  5       :X  a7  [	        U5      [	        U5      :X  a  U R                   UR#                  5       :X  a  gg)NF    r            T)
isinstancer   r   appendtupler@   r   r+   r   r1   r	   r4   r
   r8   r   r;   r   rG   )r   other	clause_eqother_clause_eqcs        r$   __eq__Rule.__eq__F   s   %&&	AadAaD%!+qtQqTBC ""$A""AaD!A$adQqT1Q4#HI %??e1133

eFYFYF[8[`d`l`lpu  qA  qA  qC  aC  HL  H\  H\  `e  `x  `x  `z  Hz  C  J  J  NS  N]  N]  N_  _  di  js  dt  x}  ~M  xN  dN  SW  S\  S\  `e  `m  `m  `o  Sor'   c                 N   / nU R                    H3  nUS   US   [        US   5      US   US   4nUR                  U5        M5     [        U R                  U R
                  U R                  R                  5       /U R                  QU R                  PUQU R                  P75      $ )Nrc   r   rd   re   rf   )r   ri   rh   hashr   r   r	   	get_valuer
   r   r   )r   clause_hashesrm   clause_hashs       r$   __hash__Rule.__hash__T   s    AQ41uQqT{AaD!A$?K  -  T__djj$,,2H2H2J  KTMaMa  Kcgcncn  Kq~  K  AE  AJ  AJ  K  L  	Lr'   )r   r   r   r   r   r   r   r
   r   r   r	   r   r   r   N)__name__
__module____qualname____firstlineno__r%   r+   r.   r1   r4   r8   r;   r@   rD   rG   rK   rN   rQ   rT   rW   rZ   r]   r`   rn   ru   __static_attributes__ r'   r$   r   r      sg     $$  &#Lr'   r   N)r   r|   r'   r$   <module>r}      s   YL YLr'   