HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //opt/alt/python37/lib64/python3.7/site-packages/guppy/etc/__pycache__/KanExtension.cpython-37.pyc
B

�]�R�@sXGdd�d�ZGdd�d�ZGdd�d�ZGdd�d�ZGdd	�d	�ZGd
d�d�ZdS)
c@s|eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�LeftKanExtensioncCsh||_|j|_|j�|�|j�|�|j�||�||_||_dd�|D�|_||_||_|�	�dS)NcSs g|]\}}t|�t|�f�qS�)�tuple)�.0�g�hrr�I/opt/alt/python37/lib64/python3.7/site-packages/guppy/etc/KanExtension.py�
<listcomp>sz-LeftKanExtension.__init__.<locals>.<listcomp>)
�mod�CatZcheck_graphZcheck_rules�A�B�R�X�F�general_procedure)�selfr	rrr
rrrrr�__init__szLeftKanExtension.__init__cCs$|��|��|��|��dS)N)�initialize_tables�make_confluent_system�make_automaton�make_natural_transformation)rrrrr$sz"LeftKanExtension.general_procedurecCsi|_i|_|��dS)N)�obj_to_str_table�str_to_obj_table�make_initial_rules)rrrrr*sz"LeftKanExtension.initialize_tablescsVg���fdd�}�x�jjD�]}�j�|�}�j�|�}�j�|�}�j�|�}t�j�|��}�j�|�}�j�|�}	|r�|}
x>|D]6}�j	�|�}||
kr�t
d|||
f���j	�|�}
q�W|
|	kr�t
d||
|	f��n||	kr�t
d||	f��x*|D]"}
|||
ff||||
�ff�q�WqW�fdd��jD�}��_|�_
�|�_dS)Ncs.��|�}��|�}||kr*��||f�dS)N)�	make_word�append)�a�bZawZbw)�Rerrr�add_rule5s

z5LeftKanExtension.make_initial_rules.<locals>.add_rulez9Arrow [%s] with source %s does not compose with target %sz0Arrow %s with target %s does not compose with %sz"Source %s does not match target %scs$g|]\}}��|���|�f�qSr)r)r�x�y)rrrrUsz7LeftKanExtension.make_initial_rules.<locals>.<listcomp>)r�arrows�source�targetr�fo�farrr�
ValueErrorr
r�Rk�Rinit)rrr�srca�tgta�XA�XaZFaZFsrcaZFtgta�tr�srcbr r(r)rrrr/s<

&z#LeftKanExtension.make_initial_rulescCs"|jj|jdd�|_|jj|_dS)N�.)�delim)r	�KnuthBendixr)�rsZ
reductions�Rconf)rrrrr[sz&LeftKanExtension.make_confluent_systemcs�fdd��g�x6�jjD]*}x$�j�|�D]}��||ff�q,WqWtdd��jjD��}x2t�jj�	��D]\}\}}||�||f�qpWt�fdd��j
D��}i�xD�j
D]:\}}	��|�}
x&tdt
|
��D]}d�|
d|�<q�Wq�Wd}�j�|��x*�D]"}
|
|k�r
��||
d|
��q
Wx��D]�}
x�|�|
�D]r\}}|f}|
|}|�k�rz��|
|||�n>|�k�r�||k�r���|
|||�n||k�rH��|
||��qHW�q6Wxd�jjD]X}xP||D]D\}}|f}|�k�r��||||�n||k�r܈�|||��q�W�q�Wx|�D]t}|�k�rB�q0x^|�|�D]N\}}|f}||}|�k�r���||||�n��|��rP��|||��qPW�q0W�����fd	d
�}�j�|�jjd���j����fdd��jjt�}��_|�_�j��|��_dS)
NcsBt|�dkr.t|dt�r.�j�|dd�S�j�|d�SdS)N�����)�len�
isinstancerrr%rr$)�e)rrrr$bsz/LeftKanExtension.make_automaton.<locals>.targetcSsg|]}|gf�qSrr)rrrrrrmsz3LeftKanExtension.make_automaton.<locals>.<listcomp>cs$g|]\}}��|���|�f�qSr)�	make_term)r�u�v)rrrrqsr5)�s0r6cs�i}d||<x,�D]$}�j�|dd�|krd||<qWx �D]}�|�|kr@d||<q@Wx0���D]$}x|D]}||krpPqpWd||<qfW��|�}�j�|�}t|�S)Nr5r6)rr%Zget_compositesZget_minimized_dfar	�SolveFSA�
RegularSet)�BiZfinals�xir<�c�sZdfaZregexp)r,�fsa�pplRrr$rr�get_RS�s 



z/LeftKanExtension.make_automaton.<locals>.get_RScst�j�|��j�j�S)N)�	KanActionr�irreducible�reduce)r)�KBrr$rr�<lambda>�sz1LeftKanExtension.make_automaton.<locals>.<lambda>)r�objectsrr%r�dictr�listr"�itemsr4r;�ranger8r	�FiniteAutomaton�add_transitionrIr
�FunctionrHrK�Kb�Functor�K)rrr Zfollowsrr/ZtgtbZIR�l�rr.�ir>rBZbtermZxibrAr<ZubrGrUr)rKr,rErFrr$rr_sp










zLeftKanExtension.make_automatonc
s��fdd������fdd�}tdd��jjD���g�x4�jjD](}x"�j�|�D]}|||ff�qTWqBWxV�rĈ}g�xD|D]<}�|�}x.�jjD]"��j���|kr�||�f�q�Wq�WqpWi}x\�jjD]P���j���}��j���}t��fdd�|D��}	�j	�
|	||�|�<q�W�j	�
��jjt�������j	�
|�jjt|����}��_
|�_�j	��|��_dS)Ncs4t|�dkr �j�|dd�S�j�|d�SdS)Nr5r6r7)r8rr%rr$)r:)rrrr$�sz/LeftKanExtension.make_catalogue.<locals>.targetcs,��|�r(��|���|��|�ndS)N)rIr)r:)rK�blockrr$rr�add_element�s

z4LeftKanExtension.make_catalogue.<locals>.add_elementcSsg|]}|gf�qSrr)rrrrrr�sz3LeftKanExtension.make_catalogue.<locals>.<listcomp>cs g|]}|��|�f�f�qSr)rJ)rrD)rrrrr�s)rNrrMrrr%r"r#r$r
rTrO�valuesrKrUrVrW)
rr\rr Zoblockr:�tgtrU�src�tabr)rKrr[rr$r�make_catalogue�s4
zLeftKanExtension.make_cataloguecs,i���fdd�}�j�|�jjd��_dS)Ncsd��kr��S�j���}�j��j����}t��fdd�|D��}�j�|||���<��S)Ncs g|]}|���|ff�f�qSr)rJ)rr )rrrrrszQLeftKanExtension.make_natural_transformation.<locals>.get_nat.<locals>.<listcomp>)rr%rWrrNr
rT)rr_r^r`)�get_nat_memor)rr�get_natsz=LeftKanExtension.make_natural_transformation.<locals>.get_nat)r
rTrrM�nat)rrcr)rbrrrs

z,LeftKanExtension.make_natural_transformationcs|j�d��fdd�|D��S)Nr0csg|]}|dkr�|��qS)�r)rr:)�otsrrrsz.LeftKanExtension.make_word.<locals>.<listcomp>)�
obj_to_str�join)rr r)rfrrszLeftKanExtension.make_wordcCs`|j}y||Stk
rZt|t�r8t|�dkr8t�tt|��}|||<||j|<|SXdS)N�)r�KeyErrorr9rr8�AssertionError�strr)rr Zotn�nrrrrg s
zLeftKanExtension.obj_to_strcCs
|j|S)N)r)rr rrr�
str_to_obj-szLeftKanExtension.str_to_objcCs|�|�}||j�|�kS)N)rr3rJ)rr ZtxrrrrI0s
zLeftKanExtension.irreduciblecCs|j�|�|��}|�|�S)N)r3rJrr;)rr �wrrrrJ4szLeftKanExtension.reducecs"|j�t�fdd�|�d�D��S)Ncsg|]}|r�|�qSrr)rrD)�storrr:sz.LeftKanExtension.make_term.<locals>.<listcomp>r0)rr�split)r�wordr)rprr;8szLeftKanExtension.make_termN)�__name__�
__module__�__qualname__rrrrrrrarrrgrnrIrJr;rrrrrs,cB
rc@seZdZdd�Zdd�ZdS)rHc	CsJ|�|�}|�|�}||�|_||�|_||_||_||_||_||_dS)N)	r#r$r_r^rr*�targetofrIrJ)	rrrKrrvrIrJr*r+rrrr>s



zKanAction.__init__cCsd|�|�|jkr.td||�|�|j|jf��|�|�sRtd||�|�|jf��|�||jf�S)Nz6Target of %r (= %r) does not match source of %r (= %r)zJArgument %r is reducible to %r; and is thus not in the source set K.fo(%r))rvr*�	TypeErrorrrIrJ)rrDrrr�__call__Is
zKanAction.__call__N)rsrtrurrxrrrrrH=srHc@sReZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	e
e	d�Zdd�ZdS)r@r6cCs
||_dS)N)�re)rryrrrr]szRegularSet.__init__cCs
t|j�S)N)�iter�uniform)rrrr�__iter__`szRegularSet.__iter__cCs
|j|S)N)r{)rr rrr�__getitem__cszRegularSet.__getitem__cCs
t|j�S)N)r8r{)rrrr�__len__fszRegularSet.__len__cCs&|}|j�|�}|��}dd�|D�S)NcSsg|]}t|��qSr)r)rr rrrrmsz-RegularSet.get_xs_covered.<locals>.<listcomp>)ry�limited�sequni)r�coverage�Nr�xsrrr�get_xs_coverediszRegularSet.get_xs_coveredcCs|��|j��S)N)�simplifyryr�)rrrr�get_uniformoszRegularSet.get_uniform)�fgetcCs|js|j��|_d|_dS)Nr5)�
is_simplifiedryZ
simplified)rrrrr�uszRegularSet.simplifyN)
rsrtrur�rr|r}r~r�r��propertyr{r�rrrrr@Us
r@c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�ObjectTestercCs||_|j|_||_||_dS)N)�category_tester�functor�object�code)rr�r�r�rrrr|szObjectTester.__init__cCs|jj|jS)N)r�r"r�)rrrr�get_all_arrows�szObjectTester.get_all_arrowscCs|jS)N)r�)rrrr�get_intermediate_test_code�sz'ObjectTester.get_intermediate_test_codecs&dddd��d��fdd�|jD��S)Nzassert e[%r] == e[%r]ze[%r] = fa[%r](e[%r])zassert fo[%r](e[%r]))�aseq�evalfa�asfo�
cs$g|]}�|d|dd��qS)r6r5Nr)rrC)�cmaprrr�sz<ObjectTester.get_python_test_source_code.<locals>.<listcomp>)rhr�)rr)r�r�get_python_test_source_code�sz(ObjectTester.get_python_test_source_codecCs2|��}d|i}|jj|jj|d�}t||�|S)N�arg)r&r%r:)r�r�r&r%�exec)rr�r�r:�drrr�execode�s
zObjectTester.execodec
Cs�d|i}|jj}|jj}x�|jD]�}|d}|dkr\|dd�\}}}	||||	�||<q |dkr�|dd�\}
}	||
||	�s�td��q |dkr�|dd�\}}||||kr�td||f��q td	|f��q WdS)
Nr�r6r�r5r�zPredicate failedr�ze[%r] != e[%r]zInvalid code: %r)r�r&r%r�r')
rr�r:r&r%rCr�dst�arr_�obZna�nbrrr�	intercode�s"
zObjectTester.intercodecCs
|�|�S)N)r�)rr�rrr�test�szObjectTester.testN)
rsrtrurr�r�r�r�r�r�rrrrr�{s	r�c@sVeZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�ZdS)�CategoryTesterNcCs,||_|j|_||_||_|dk	r(||_dS)N)r	r_�catr�r"�get_arrow_name)rr	r�r"r�rrrr�szCategoryTester.__init__cCs
d�|�S)Nr0)rh)rrrrrr��szCategoryTester.get_arrow_namecsZ�jj}|}d|i�d|fg�g������fdd��x�j|D]}�|�qBW��fS)Nrcsb|�kr�|S|dd�}|d}��|�}�|�}��d|||f�|�|<��||f�|S)Nr7r�)r�r)r�a0�a1�nameZna0)�codes�
eval_arrow�memo�memolistrrrr��s
z7CategoryTester.get_eval_arrows_code.<locals>.eval_arrow)r�r&r")rr��argnamer&r�r�r)r�r�r�r�rr�get_eval_arrows_code�s

z#CategoryTester.get_eval_arrows_codecCs|�|�}t|||�S)N)�get_test_object_coder�)rr�r�rrr�get_object_tester�s
z CategoryTester.get_object_testercCs^g}|jjj}xJ|D]B\}}|}|r6|jj�|d�}|dksF||kr|�d||f�qW|S)Nr7r�)r�r%r_r��graphr$r)rr��mlr�r_Zarrow�valuer�rrr�get_test_inclusion_code�s
z&CategoryTester.get_test_inclusion_codecCs8d}|�||�\}}|�||�}|�||�}|||S)Nr�)r��get_test_relations_coder�)rr�r�Z	evalcodesr�ZrelcodesZincodesrrrr��s
z#CategoryTester.get_test_object_codecs�g��j}�jj}t|������fdd��x�|jD]�\}}t|�}t|�}|j�|d�}xv|D]n\}}	|r�|j�|d�}
n|}
||
krb||}||}||krb�|�}
�|�}|
|ks�t	���
d|
|f�qbWq4W�S)NcsL|�kr�|S�|dd��}��|�}��d||d|f�|�|<|S)Nr7r�)r�r)r�r�r�)r�r�r�teval_arrowrrr��s
z;CategoryTester.get_test_relations_code.<locals>.teval_arrowr6r7r�)r�r�r&rN�	relationsrr�r#r$rkr)rr�r�r�r&rrr_Zarr�valr^ZaraZarb�vaZvbr)r�r�rr�rr��s,
z&CategoryTester.get_test_relations_codecCs|�|�}|�|�|S)N)r�r�)rr�r��testerrrr�test_objects

zCategoryTester.test_objectcCs2y|�||�Wntk
r$Yn
Xtd��dS)NzException excepted)r��	Exception)rr�r�rrr�test_object_fail!s
zCategoryTester.test_object_fail)N)rsrtrurr�r�r�r�r�r�r�r�rrrrr��s

'r�c@s`eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd
d�Zddd�Z	dd�Z
dd�Zdd�ZdS)�_GLUECLAMP_cCs
|jjjS)N)�_parentr2)rrrr�_get_KnuthBendix-�z_GLUECLAMP_._get_KnuthBendixcCs
|jjjS)N)r�ZFSArR)rrrr�_get_FiniteAutomaton.r�z _GLUECLAMP_._get_FiniteAutomatoncCs
|jjjS)N)r�ZREr?)rrrr�
_get_SolveFSA/r�z_GLUECLAMP_._get_SolveFSAcCs|jjS)N)r�r
)rrrr�_get_Cat0r�z_GLUECLAMP_._get_CatcCst||||||�S)N)r)rrrr
rrrrr�lke5sz_GLUECLAMP_.lker6r5c
s��r|��}|j�|jjg�}|j}|j}|j�dd�dd��}|j�dd�dd��}|�|||||��i�����fdd�}	|jj|	�j	j
jdd�S)	NcSsdgS)Nr5r)r rrrrLBr�z(_GLUECLAMP_.arrows_map.<locals>.<lambda>cSsdd�S)NcSs|S)Nr)r!rrrrLBr�z:_GLUECLAMP_.arrows_map.<locals>.<lambda>.<locals>.<lambda>r)r rrrrLBr�cSs|S)Nr)r rrrrLCr�cSsgS)Nr)r rrrrLCr�cs�|�kr�|S�jj|j��}�r.|��}t���d�r�t�dd��}g}|��}xRt	d|d�D]}|�
dd�|�|�D��qhWn |���}|�
�}dd�|D�}|�|<|S)N�length�r5cSsg|]}t|��qSr)r)rr rrrrSsz>_GLUECLAMP_.arrows_map.<locals>.get_arrows.<locals>.<listcomp>cSsg|]}t|��qSr)r)rr rrrrWs)rWr%ryZ	rempretup�reversedrl�
startswith�intZget_words_memorQ�extendZget_words_of_lengthrr�)r�ry�maxlenr�r�rZ)r��from_objects�ker�rr�
get_arrowsHs  
z*_GLUECLAMP_.arrows_map.<locals>.get_arrows)r_r^)Zget_dualr
�Graphr�rMr�rVr�rTrWr%r_)
rr�r�r�rrr
rrr�r)r�r�r�r�r�
arrows_map;sz_GLUECLAMP_.arrows_mapNcCsZt|t�r4|\}}}|dkr$dd�}|j�|||�}|dkrN|j|jd|d�}t|||�S)NcSsdd�S)NcSsdS)Nr5r)r!rrrrLer�z9_GLUECLAMP_.category_tester.<locals>.fo.<locals>.<lambda>r)r rrrr%er�z'_GLUECLAMP_.category_tester.<locals>.for5)r�r�)r9rr
rVr�r_r�)rr�r"r�r%r&r_rrrr�as

z_GLUECLAMP_.category_testerc
Cszddg}ddd�}|j�||�}|j�||d�|||g�}|j�||d�|||g�}	|j�||	�}
|�||
�\}}|dS)Nr6r5)r6r5)r�r�)r
r�rTrV�colimit)
rZS0ZS1Zf0�f1rMr"rZXor-r�colimit_object�colimit_functionsrrr�coequalizerls
z_GLUECLAMP_.coequalizercs��j�dgi�}g}�j�dd�dd��}��|||||�}|jd�|j}dd��D��t��fdd�t|���D��}�|fS)Nr6cSsdS)Nr6r)r rrrrL�r�z%_GLUECLAMP_.colimit.<locals>.<lambda>cSsdS)Nrr)r rrrrL�r�cSsg|]}|d�qS)r6r)rr rrrr�sz'_GLUECLAMP_.colimit.<locals>.<listcomp>c
s<g|]4\}}|�j�tdd�t|���D��|j��f�qS)cSsg|]\}}||df�qS)r6r)rr�krrrr�sz2_GLUECLAMP_.colimit.<locals>.<listcomp>.<listcomp>)r
rTrNrOrPr_)rrZcof)r�rrrr�s)	r
r�rVr�rKrdrNrOrP)rrrrr
rZlkar�r)r�rrr��s
	z_GLUECLAMP_.colimitcCs|�|�}|�||�S)N)r�r�)rr�r�r�r�rrr�test_arrows�s
z_GLUECLAMP_.test_arrows)r6r5)Nr5)
rsrtrur�r�r�r�r�r�r�r�r�r�rrrrr�*s
&
*!r�N)rrHr@r�r�r�rrrr�<module>s>&9v