
    ni                     <    S SK Jr  S SKJr  S SKJr   " S S5      rg)    )Interpretationc                   H    \ rS rSr/ r/ rS rS
S jrS
S jrS r	S r
S rSrg	)Program   c                     Xl         X l        X0l        X@l        XPl        X`l        Xpl        Xl        Xl        Xl	        Xl
        Xl        Xl        Xl        Xl        UU l        UU l        S U l        g N)_graph_facts_node_facts_edge_rules_ipl_annotation_functions_head_functions_reverse_graph_atom_trace$_save_graph_attributes_to_rule_trace
_canonical_inconsistency_check_store_interpretation_changes_parallel_computing_update_mode_allow_ground_rules_fp_versioninterp)selfgraph
facts_node
facts_edgerulesiplannotation_functionshead_functionsreverse_graph
atom_trace#save_graph_attributes_to_rule_trace	canonicalinconsistency_checkstore_interpretation_changesparallel_computingupdate_modeallow_ground_rules
fp_versions                     Z/home/james-whalen/.local/lib/python3.13/site-packages/pyreason/scripts/program/program.py__init__Program.__init__
   so    ++)3'%.Q+/1'C$/!/$$$+    c                    Xl         U R                  [        l        U R                  [        l        U R                  (       a  [        U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                   U R"                  5      U l        GO8U R&                  (       a  [)        U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                   U R"                  5      U l        O[        U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  U R                   U R"                  5      U l        U R$                  R+                  U R                   U R,                  U R.                  U R0                  XBU5        U R$                  $ r   )_tmaxspecific_node_labelsr   specific_edge_labelsr   InterpretationParallelr	   r   r   r   r   r   r   r   r   r   r   r   r   r   InterpretationFPstart_fpr
   r   r   )r   tmaxconvergence_thresholdconvergence_bound_thresholdverboses        r-   reasonProgram.reason   s   *(,(A(A.%(,(A(A.% 
'TYY@Z@Z\`\p\prv  sF  sF  HL  HX  HX  Z^  ZC  ZC  EI  ET  ET  VZ  Vo  Vo  qu  qS  qS  UY  Uf  Uf  hl  h@  h@  A4;!$++tyy$:T:TVZVjVjlpll  BF  BR  BR  TX  T}  T}  C  N  N  PT  Pi  Pi  ko  kM  kM  OS  O`  O`  bf  bz  bz  {4;TYY8R8RTXThThjnj}j}  @D  @P  @P  RV  R{  R{  }A  }L  }L  NR  Ng  Ng  im  iK  iK  MQ  M^  M^  `d  `x  `x  y4;++tzz4#3#3T5E5Et{{T[  uP  Q	r0   c                     U R                   c   S5       eU(       a  Xl        OU R                   R                  U-   U l        U R                   R                  U R                  XVU R                  XsUSUS9	  U R                   $ )Nz'Call reason before calling reason againT)againrestart)r   r2   timer7   r   )r   r8   r@   r9   r:   r   r   r;   s           r-   reason_againProgram.reason_again/   s{    		 K"KK	 :  4'4:++tzz:4;;  iD  LP  Za  b	r0   c                      S U l         S U l        g r   )r	   r   r   s    r-   reset_graphProgram.reset_graph9   s    $+$+r0   c                     S U l         g r   )r   rE   s    r-   reset_rulesProgram.reset_rules=   s	    $+r0   c                      S U l         S U l        g r   )r
   r   rE   s    r-   reset_factsProgram.reset_facts@   s    $$r0   )r   r   r   r   r   r
   r   r	   r   r   r   r   r   r   r   r   r2   r   r   N)T)__name__
__module____qualname____firstlineno__r3   r4   r.   r<   rB   rF   rI   rL   __static_attributes__ r0   r-   r   r      s,    ("r0   r   N).pyreason.scripts.interpretation.interpretationr   7pyreason.scripts.interpretation.interpretation_parallelr5   1pyreason.scripts.interpretation.interpretation_fpr6   r   rS   r0   r-   <module>rW      s    [ l `< <r0   