`k~t)GddZGddZGddZGddZGdd ZGd d Zd S) cbeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdS)LeftKanExtensioncL||_|j|_|j||j||j||||_||_d|D|_||_||_| dS)NcPg|]#\}}t|t|f$Stuple).0ghs /srv/buildsys-work-dir/castor/build_node/builder-2/WGSG1/unpkd_srcs/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/guppy/etc/KanExtension.py z-LeftKanExtension.__init__..s-7776Aq588U1XX&777) modCat check_graph check_rulesABRXFgeneral_procedure)selfrrrrrrs r __init__zLeftKanExtension.__init__s7 Q Q Q"""77Q777      rc||||dSN)initialize_tablesmake_confluent_systemmake_automatonmake_natural_transformationrs r rz"LeftKanExtension.general_procedure$sP     ""$$$  ((*****rcJi|_i|_|dSr)obj_to_str_tablestr_to_obj_tablemake_initial_rulesr!s r rz"LeftKanExtension.initialize_tables*s* " " !!!!!rc gfd}jjD]~}j|}j|}j|}j|}tj|}j|}j|} |rx|} |D]T} j | } | | krtd| d| d| j | } U| | krtd|d| d| n|| krtd|d | |D] } ||| ff|z||| ff!fd j D}_ |_ |z_dS) Nc|}|}||kr||fdSdSr) make_wordappend)abawbwRers r add_rulez5LeftKanExtension.make_initial_rules..add_rule5sQ""B""BRxx 2r(#####xrzArrow [z] with source z does not compose with target zArrow z with target z does not compose with zSource z does not match target cjg|]/\}}||f0Sr)r()r xyrs r r z7LeftKanExtension.make_initial_rules..Us: J J J!Qt~~a  $.."3"34 J J Jr)rarrowssourcetargetrfofarrr ValueErrorrr.RkRinit)rr/r*srcatgtaXAXaFaFsrcaFtgtatr+srcbr1r9r.s` @r r%z#LeftKanExtension.make_initial_rules/s- $ $ $ $ $ $  > >A6==##D6==##D4B1Btvyy||$$BFIIdOOEFIIdOOE O))A6==++Dqyy(j[\[\[\^b^b^bdedefhhh a((AA::$*NPbbRSRSRSUZUZ[]]]E>>$*@EuuMOOO > >4)*dBBqEE],<==== >K J J J46 J J J"W rct|j|jd|_|jj|_dS)N.)delim)r KnuthBendixr:rs reductionsRconfr!s r rz&LeftKanExtension.make_confluent_system[s0(&&tz&==W' rcfdgjjD]7}j|D]}||ff8t djjD}tjj D]%\}\}}||||f&t fdj D}ij D]G\}} |} tdt| D]} d| d| <Hd} j| D]#} | |vr| | d| $D]z} || D]f\}}|f}| |z}|vr| |||*|vr||vr| |||K||vr| ||g{jjD]K}||D]@\}}|f}|vr||||%||vr|||ALD]o}|vr||D]V\}}|f}||z}|vr||||*|r|||Wpfd}j|jjdjfdjjt(}_|_j|_dS) Nct|dkrAt|dtr&j|ddSj|dSN)len isinstancerrr6rr5ers r r5z/LeftKanExtension.make_automaton..targetbsX1vv{{z!A$66{vyy1a)))v}}QrU+++rcg|]}|gfSrrr rs r r z3LeftKanExtension.make_automaton..ms888AB888rcjg|]/\}}||f0Sr) make_term)r uvrs r r z3LeftKanExtension.make_automaton..qsJ+++q!NN1%%t~~a'8'89+++rrN)s0rOcvi}d||<D]1} j|dd|krd||<2 D]} ||krd||< D]}|D]}||vrn d||< |} j|}t |S)NrNrO)rr6get_compositesget_minimized_dfarSolveFSA RegularSet) BifinalsxirYcsdfaregexpr=fsapplRrr5s r get_RSz/LeftKanExtension.make_automaton..get_RSsFF2J # #699RU1X&&",,!"F2J " "6!99?? !F1I'')) " """A'!"F1I''//CX&&s++Ff%% %rcJtj|jjSr) KanActionr irreduciblereduce)r*KBrr5s r z1LeftKanExtension.make_automaton..s%iAv $ 0$+??r)robjectsrr6r)dictrlistr3itemsrJrXrangerQrFiniteAutomatonadd_transitionrmrFunctionrlroKbFunctorK)rrr1followsr+rCtgtbIRlrrBir[rcbtermxibrarYubrjryror=rhrir5s` @@@@@r rzLeftKanExtension.make_automaton_sk , , , , ,  % %AVYYq\\ % % Aq6)$$$$ %8888899#DFM$7$7$9$9:: , ,OA|d DM !T + + + + ++++#z+++,,J  DAqq!!A1c!ff%%  QrrU  h&&r** 2 2B||""2r!ub111 4 4B"66"::. 4 445j$;;&&r1c48888tmm2 &&r1eT::::]]&&r1d333 4&. 4 4B"2; 4 44D==&&r1eT::::"__&&r1d333  4 3 3ABww"66!99- 3 34Y::&&q!R6666%%b))3&&q!T222  3 & & & & & & & & &*X  vtv~t < < X   ? ? ? ? ? ? FM    !!"b))rc fd fd}tdjjD g jjD]-}j|D]}|||ff. rR }g |D]I} |}jjD]/ j |kr|| fz0J Ri}jjD]} j } j }t fd|D} j | ||| <~j jjt  j |jjt| } _ |_j  |_dS)Nct|dkr&j|ddSj|dSrM)rQrr6rr5rSs r r5z/LeftKanExtension.make_catalogue..targetsF1vv{{vyy1a)))v}}QrU+++rc|r;|||dSdSr)rmr))rTroblockrr5s r add_elementz4LeftKanExtension.make_catalogue..add_elementsS""  Q66!99 $$Q'''''rcg|]}|gfSrrrVs r r z3LeftKanExtension.make_catalogue..s333qAr7333rcFg|]}||fzfSrrn)r rer*rs r r z3LeftKanExtension.make_catalogue..s0@@@qDKKQD112@@@r)rrrrqrrr6r3r4r5rrxrsvaluesroryrzr{)rrrr1oblockrTtgtrysrctabror*rr5s` @@@@r make_cataloguezLeftKanExtension.make_cataloguesP, , , , , ,         33DFN333 4 4 ' 'AVYYq\\ ' ' aVI&&&& ' .FE . .fQii..Av}}Q''3..# AH---.  . 5 5ATV]]1%%&CTV]]1%%&C@@@@@C@@@AACH%%c344BqEE X  r46>4 3D3D E E X  r46=$ryy{{2C2C D D!!"b))rcpifd}j|jjd_dS)Nc<vrSj}jj}t fd|D}j|||<S)NcDg|]}||fffSrr)r r1rrs r r zQLeftKanExtension.make_natural_transformation..get_nat..s0AAADKK!Q 223AAAr)rr6r{rrrrrx)rrrr get_nat_memors` r get_natz=LeftKanExtension.make_natural_transformation..get_natsL  #A&&))A,,C&))DFIIaLL))CAAAAASAAABBC"h//S#>>LO? "r)rrxrrqnat)rrrs` @r r z,LeftKanExtension.make_natural_transformationsN  # # # # # #8$$WdfndCCrcT|jdfd|DS)NrEc2g|]}|dk|S)r)r rTotss r r z.LeftKanExtension.make_word..s&666Aa2ggQgggr) obj_to_strjoin)rr1rs @r r(zLeftKanExtension.make_words1oxx6666666777rc|j} ||S#t$rZt|trt |dkrJt t |}|||<||j|<|cYSwxYw)N)r#KeyErrorrRrrQstrr$)rr1otnns r rzLeftKanExtension.obj_to_str s# q6M   "1e,, <Q!<CHH ACF'(D !! $HHH sA!A54A5c|j|Sr)r$rr1s r str_to_objzLeftKanExtension.str_to_obj-s$Q''rch||}||j|kSr)r(rHrn)rr1txs r rmzLeftKanExtension.irreducible0s, ^^A  TW^^B''''rc|j||}||Sr)rHrnr(rX)rr1ws r rnzLeftKanExtension.reduce4s3 GNN4>>!,, - -~~a   rcn|jtfd|dDS)Nc$g|] }|| Srr)r restos r r z.LeftKanExtension.make_term..:s";;;;c!f;;;rrE)r$rsplit)rwordrs @r rXzLeftKanExtension.make_term8s8#;;;;djjoo;;;<<sfxx{{xx{{2d882d88   & rc x|||jkr9td|d||d|jd|jd ||s1td|d||d|jd|||jfzS)Nz Target of z (= z) does not match source of )z Argument z is reducible to z); and is thus not in the source set K.fo()rr; TypeErrorr*rmrn)rres r __call__zKanAction.__call__Is ==  ty ( ()4==####TVVVTYYY899 9"" /)4;;q>>>>4999.// /{{1y=)))rN)rrrrrrrr rlrl=s2    * * * * *rrlcTeZdZdZdZdZdZdZdZdZ e e Z d Z d S) r`rOc||_dSr)re)rrs r rzRegularSet.__init__]s rc*t|jSr)iteruniformr!s r __iter__zRegularSet.__iter__`sDL!!!rc|j|Sr)rrs r __getitem__zRegularSet.__getitem__cs|Arc*t|jSr)rQrr!s r __len__zRegularSet.__len__fs4<   rcz|}|j|}|}d|DS)Nc,g|]}t|Srrr r1s r r z-RegularSet.get_xs_covered..ms%%%Qa%%%r)rlimitedsequni)rcoverageNrxss r get_xs_coveredzRegularSet.get_xs_coveredis;  GOOH % % XXZZ%%"%%%%rc\||jSr)simplifyrrr!s r get_uniformzRegularSet.get_uniformos! w~~r)fgetcb|js'|j|_d|_dSdSNrN) is_simplifiedr simplifiedr!s r rzRegularSet.simplifyus:! #g((**DG!"D    # #rN) rrrrrrrrrrpropertyrrrrr r`r`Us M"""!!!&&&    hK(((G#####rr`c8eZdZdZdZdZdZdZdZdZ dS) ObjectTestercH||_|j|_||_||_dSr)category_testerfunctorobjectcode)rrrrs r rzObjectTester.__init__|s&.&.   rc0|jj|jSr)rr3rr!s r get_all_arrowszObjectTester.get_all_arrowss#*4;77rc|jSr)rr!s r get_intermediate_test_codez'ObjectTester.get_intermediate_test_codes yrc\dddddfd|jDS)Nzassert e[%r] == e[%r]ze[%r] = fa[%r](e[%r])zassert fo[%r](e[%r]))aseqevalfaasfo cBg|]}|d|ddzS)rOrNNr)r rdcmaps r r z.s.@@@$qt*qu,@@@r)rr)rrs @r get_python_test_source_codez(ObjectTester.get_python_test_source_codesC+-*   yy@@@@di@@@AAArc|}d|i}|jj|jj|d}t |||S)Narg)r7r6rT)rrr7r6exec)rrrrTds r execodezObjectTester.execodesM//11 CL>$*RRR%@AAA"!jqq!:;;; < .eval_arrowsDyyAw3B3B2B&&q))D*R..C LL(D"c2 3 3 3DG OOQI & & &Kr)rr7r3) rrargnamer7rrrr r r s ` @@@@r get_eval_arrows_codez#CategoryTester.get_eval_arrows_codes \_DzJ<         +f%  B JrNNNNhrcN||}t|||Sr)get_test_object_coder)rrrs r get_object_testerz CategoryTester.get_object_testers'((00D&$///rcg}|jjj}|D]L\}}|}|r%|jj|d}|||vr|d||fM|S)NrPr)rr6rrgraphr5r))rrmlrrarrowvaluers r get_test_inclusion_codez&CategoryTester.get_test_inclusion_codeszlo! 2 2LE5B 6X^**5955{bCii fb%0111 rcd}|||\}}|||}|||}||z|zS)Nr)r get_test_relations_coder)rrr  evalcodesr relcodesincodess r rz#CategoryTester.get_test_object_codes["77HH 8//AA..vx@@!'))rcgj}jj}t|fd|jD]\}}t |}t |}|j|d}|D]v\}} |r!|j|d} n|} || krF||z} ||z} | | kr6| } | }| |ksJ d| |fwS)Nc|vr|S|dd}|}d||d|f||<|Srr)rrrrr r teval_arrows r rz;CategoryTester.get_test_relations_code..teval_arrowslTzzBxRW%%B&&r**D LL(D"R&"5 6 6 6DHKrrOrPr) rrr7rr relationsrrr4r5r))rrr rr7r*r+rarrvalraraarbvavbrr rs` @@@r rz&CategoryTester.get_test_relations_codesDh \_H~~        M 7 7DAqaAaA)""1Q4((C& 7 7 c!)**3r733CC C#::'C'Cczz([--([--!Rxxxx fb"%5666 7 rcZ||}|||Sr)rr)rrrtesters r test_objectzCategoryTester.test_objects,''// E rcp |||td#t$rYdSwxYw)NzException excepted)r( Exception)rrrs r test_object_failzCategoryTester.test_object_fail!sR 2   VU + + +011 1    DD s ' 55r) rrrrrr rrrrr(r+rrr rrs11116000   ***%%%N 22222rrcNeZdZdZdZdZdZdZddZdd Z d Z d Z d Z d S) _GLUECLAMP_c$|jjjSr)_parentrGr!s r _get_KnuthBendixz_GLUECLAMP_._get_KnuthBendix-st|'?'K Krc$|jjjSr)r/FSArvr!s r _get_FiniteAutomatonz _GLUECLAMP_._get_FiniteAutomaton.s4<+;+K$Krc$|jjjSr)r/REr_r!s r _get_SolveFSAz_GLUECLAMP_._get_SolveFSA/sDLO$<.BssrcdS)Nc|Srrr2s r rpz:_GLUECLAMP_.arrows_map....Bsrrr=s r rpz(_GLUECLAMP_.arrows_map..Bskkrc|Srrr=s r rpz(_GLUECLAMP_.arrows_map..CqrcgSrrr=s r rpz(_GLUECLAMP_.arrows_map..CBrcB| vr |Sjj|j}r|}t drvtdd}g}|}td|dzD]4}| d| |D5n5| }| }d|D}| |<|S)NlengthrNc,g|]}t|Srrrs r r z>_GLUECLAMP_.arrows_map..get_arrows..SsKKKAuQxxKKKrc,g|]}t|Srrrs r r z>_GLUECLAMP_.arrows_map..get_arrows..Ws+++1eAhh+++r)r{r6r rempretupreversedr startswithintget_words_memoruextendget_words_of_lengthrr) rrmaxlenrrrr from_objectsker s r get_arrowsz*_GLUECLAMP_.arrows_map..get_arrowsHs&~~F|##--//B #[[]]8}}''11 ,Xabb\**&&((q&(++MMAIIKK1G1G1J1JKKKLLLLMZZ))YY[[+++++DLIr)rr) get_dualrGraphrrqrrzr:rxr{r6r) rrrRrrrrrrrTrSr s `` @@r arrows_mapz_GLUECLAMP_.arrows_map;s  !,,..C HNN39,b 1 1 I M H  ]],A,A B B H  [[,, 7 7 XXaAq! $ $        &x   !   rNct|tr'|\}}}|d}|j|||}|||jd|}t |||S)NcdS)NcdSrrr@s r rpz9_GLUECLAMP_.category_tester..fo..esArrr=s r r6z'_GLUECLAMP_.category_tester..foes ++-rrN)rRr)rRrrrzrWrr)rrr3rr6r7rs r rz_GLUECLAMP_.category_testeras gu % % 4!KBCz---h&&r2s33G >__ !h%@@FdGV444rcFddg}ddd}|j||}|j||d|||g}|j||d|||g} |j|| } ||| \} } | dS)NrOrNrOrN)rr)rrVrxrzcolimit) rS0S1f0f1rqr3rXor>rcolimit_objectcolimit_functionss r coequalizerz_GLUECLAMP_.coequalizerls>a&f-- HNN7F + + X  2"~~wR A A X  b33Vb"X F F H  R $ $,0LLA,>,>)) ##rcljdgi}g}jdd}|||||}|jd|j}dDt fdt|D}|fS)NrOcdS)NrOrr=s r rpz%_GLUECLAMP_.colimit..rBrcdS)Nrrr=s r rpz%_GLUECLAMP_.colimit..rDrcg|] }|d SrOrrs r r z'_GLUECLAMP_.colimit..s7771!A$777rc g|]^\}}|jtdt|D|jf_S)c(g|]\}}||dfSrjr)r r*ks r r z2_GLUECLAMP_.colimit...s4777 1a!A$i777r)rrxrrrsrtr)r rcofrcrs r r z'_GLUECLAMP_.colimit..s"="="=C!!77$($5$577788  "="="=r) rrVrzr:rorrrrsrt) rrrrrrlkardrcs ` @r r]z_GLUECLAMP_.colimits HNNA3 # #  H  [[,, 7 7hhq!Q1%%G87777 "="="="="=!!2!8!8!:!:;;"="="=>>000rcX||}|||Sr)rr()rrrrr's r test_arrowsz_GLUECLAMP_.test_arrowss-%%g..!!&%000rr\r) rrrr0r3r6r8r:rWrrer]rqrrr r-r-*sLKKKKK<<</// 555 $ $ $ $ L 5 5 5 5($($($T111B11111rr-N)rrlr`rrr-rrr rrsy=y=y=y=y=y=y=y=x ********0################L6#6#6#6#6#6#6#6#rs2s2s2s2s2s2s2s2lR1R1R1R1R1R1R1R1R1R1r