%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/alt/python37/lib64/python3.7/site-packages/guppy/etc/__pycache__/
Upload File :
Create Path :
Current 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�.)Zdelim)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)rrrrqsr4)�s0r5cs�i}d||<x,�D]$}�j�|dd�|krd||<qWx �D]}�|�|kr@d||<q@Wx0���D]$}x|D]}||krpPqpWd||<qfW��|�}�j�|�}t|�S)Nr4r5)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"�itemsr3r:�ranger7r	�FiniteAutomatonZadd_transitionrHr
�FunctionrGrJ�Kb�Functor�K)rrr Zfollowsrr/ZtgtbZIR�l�rr.�ir=rAZbtermZxibr@r;ZubrFrSr)rJr,rDrErr$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)Nr4r5r6)r7rr%rr$)r9)rrrr$�sz/LeftKanExtension.make_catalogue.<locals>.targetcs,��|�r(��|���|��|�ndS)N)rHr)r9)rJ�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)rI)rrC)rrrrr�s)rMrrLrrr%r"r#r$r
rRrN�valuesrJrSrTrU)
rrZrr Zoblockr9�tgtrS�src�tabr)rJrrYrr$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)rI)rr )rrrrrszQLeftKanExtension.make_natural_transformation.<locals>.get_nat.<locals>.<listcomp>)rr%rUrrMr
rR)rr]r\r^)�get_nat_memor)rr�get_natsz=LeftKanExtension.make_natural_transformation.<locals>.get_nat)r
rRrrL�nat)rrar)r`rrrs

z,LeftKanExtension.make_natural_transformationcs|j�d��fdd�|D��S)Nr0csg|]}|dkr�|��qS)�r)rr9)�otsrrrsz.LeftKanExtension.make_word.<locals>.<listcomp>)�
obj_to_str�join)rr r)rdrrszLeftKanExtension.make_wordcCs`|j}y||Stk
rZt|t�r8t|�dkr8t�tt|��}|||<||j|<|SXdS)N�)r�KeyErrorr8rr7�AssertionError�strr)rr Zotn�nrrrre s
zLeftKanExtension.obj_to_strcCs
|j|S)N)r)rr rrr�
str_to_obj-szLeftKanExtension.str_to_objcCs|�|�}||j�|�kS)N)rr2rI)rr ZtxrrrrH0s
zLeftKanExtension.irreduciblecCs|j�|�|��}|�|�S)N)r2rIrr:)rr �wrrrrI4szLeftKanExtension.reducecs"|j�t�fdd�|�d�D��S)Ncsg|]}|r�|�qSrr)rrC)�storrr:sz.LeftKanExtension.make_term.<locals>.<listcomp>r0)rr�split)rZwordr)rnrr:8szLeftKanExtension.make_termN)�__name__�
__module__�__qualname__rrrrrrr_rrrerlrHrIr:rrrrrs,cB
rc@seZdZdd�Zdd�ZdS)rGc	CsJ|�|�}|�|�}||�|_||�|_||_||_||_||_||_dS)N)	r#r$r]r\rr*�targetofrHrI)	rrrJrrsrHrIr*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))rsr*�	TypeErrorrrHrI)rrCrrr�__call__Is
zKanAction.__call__N)rprqrrrrurrrrrG=srGc@sReZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	e
e	d�Zdd�ZdS)r?r5cCs
||_dS)N)�re)rrvrrrr]szRegularSet.__init__cCs
t|j�S)N)�iter�uniform)rrrr�__iter__`szRegularSet.__iter__cCs
|j|S)N)rx)rr rrr�__getitem__cszRegularSet.__getitem__cCs
t|j�S)N)r7rx)rrrr�__len__fszRegularSet.__len__cCs&|}|j�|�}|��}dd�|D�S)NcSsg|]}t|��qSr)r)rr rrrrmsz-RegularSet.get_xs_covered.<locals>.<listcomp>)rv�limited�sequni)r�coverage�Nr�xsrrr�get_xs_coverediszRegularSet.get_xs_coveredcCs|��|j��S)N)�simplifyrvr})rrrr�get_uniformoszRegularSet.get_uniform)�fgetcCs|js|j��|_d|_dS)Nr4)�
is_simplifiedrvZ
simplified)rrrrr�uszRegularSet.simplifyN)
rprqrrr�rryrzr{r�r��propertyrxr�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)r5r4Nr)rrB)�cmaprrr�sz<ObjectTester.get_python_test_source_code.<locals>.<listcomp>)rfr�)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%r9)r�r�r&r%�exec)rr�r�r9�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�r5r�r4r�zPredicate failedr�ze[%r] != e[%r]zInvalid code: %r)r�r&r%r�r')
rr�r9r&r%rBr�dst�arr]�obZnaZnbrrr�	intercode�s"
zObjectTester.intercodecCs
|�|�S)N)r�)rr�rrr�test�szObjectTester.testN)
rprqrrrr�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)rf)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)Nr6r�)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)Nr6r�)r�r%r]r��graphr$r)rr�Zmlr�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)Nr6r�)r�r)r�r�r�)r�r�r�teval_arrowrrr��s
z;CategoryTester.get_test_relations_code.<locals>.teval_arrowr5r6r�)r�r�r&rM�	relationsrr�r#r$rir)rr�r�r�r&rrr]Zarr�valr\ZaraZarbZvaZvbr)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)rprqrrrr�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)�_parentr1)rrrr�_get_KnuthBendix-�z_GLUECLAMP_._get_KnuthBendixcCs
|jjjS)N)r�ZFSArQ)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_.lker5r4c
s��r|��}|j�|jjg�}|j}|j}|j�dd�dd��}|j�dd�dd��}|�|||||��i�����fdd�}	|jj|	�j	j
jdd�S)	NcSsdgS)Nr4r)r rrrrKBr�z(_GLUECLAMP_.arrows_map.<locals>.<lambda>cSsdd�S)NcSs|S)Nr)r!rrrrKBr�z:_GLUECLAMP_.arrows_map.<locals>.<lambda>.<locals>.<lambda>r)r rrrrKBr�cSs|S)Nr)r rrrrKCr�cSsgS)Nr)r rrrrKCr�cs�|�kr�|S�jj|j��}�r.|��}t���d�r�t�dd��}g}|��}xRt	d|d�D]}|�
dd�|�|�D��qhWn |���}|�
�}dd�|D�}|�|<|S)N�length�r4cSsg|]}t|��qSr)r)rr rrrrSsz>_GLUECLAMP_.arrows_map.<locals>.get_arrows.<locals>.<listcomp>cSsg|]}t|��qSr)r)rr rrrrWs)rUr%rvZ	rempretup�reversedrj�
startswith�intZget_words_memorP�extendZget_words_of_lengthr|r})r�rv�maxlenr�r�rX)r~�from_objects�ker�rr�
get_arrowsHs  
z*_GLUECLAMP_.arrows_map.<locals>.get_arrows)r]r\)Zget_dualr
�Graphr�rLr�rTr�rRrUr%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)Nr4r)r!rrrrKer�z9_GLUECLAMP_.category_tester.<locals>.fo.<locals>.<lambda>r)r rrrr%er�z'_GLUECLAMP_.category_tester.<locals>.for4)r�r~)r8rr
rTr�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)Nr5r4)r5r4)r�r�)r
r�rRrT�colimit)
rZS0ZS1Zf0�f1rLr"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)Nr5cSsdS)Nr5r)r rrrrK�r�z%_GLUECLAMP_.colimit.<locals>.<lambda>cSsdS)Nrr)r rrrrK�r�cSsg|]}|d�qS)r5r)rr rrrr�sz'_GLUECLAMP_.colimit.<locals>.<listcomp>c
s<g|]4\}}|�j�tdd�t|���D��|j��f�qS)cSsg|]\}}||df�qS)r5r)rr�krrrr�sz2_GLUECLAMP_.colimit.<locals>.<listcomp>.<listcomp>)r
rRrMrNrOr])rrZcof)r�rrrr�s)	r
r�rTr�rJrbrMrNrO)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)r5r4)Nr4)
rprqrrr�r�r�r�r�r�r�r�r�r�rrrrr�*s
&
*!r�N)rrGr?r�r�r�rrrr�<module>s>&9v

Zerion Mini Shell 1.0