%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/227033/root/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/
Upload File :
Create Path :
Current File : //proc/227033/root/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyo

�
;�Pc@s/dfd��YZdefd��YZdefd��YZdfd��YZdfd	��YZd
fd��YZdfd
��YZdfd��YZdfd��YZdfd��YZ	ddl
mZddlZddl
Z
dejfd��YZdefd��YZejed�dS(tAAcBs#eZd�Zd�Zd�ZRS(cCstd||�S(Ntop(tBOAPP(tselftother((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt__mul__scCstd||�S(Ntop2(R(RR((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt__add__scCstd||�S(Nteq(R(RR((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt__eq__
s(t__name__t
__module__RRR	(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRs		tANAMEcBseZd�Zd�ZRS(cCs
||_dS(N(tname(RR
((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt__init__scCs|jS(N(R
(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt__str__s(R
RRR(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR
s	RcBseZd�Zd�ZRS(cGs||_||_dS(N(tfuncnametargs(RRR((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRs	cCs6d|jdjg|jD]}t|�^q�fS(Ns%s(%s)t,(RtjoinRtstr(Rtx((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRs(R
RRR(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRs	tAlgebraicStructurecBseZd�Zd�ZRS(c
Os)||_||_g|_x�t|�D]�\}}t|d�rU|j|krUnit|�ss||jjkr�i}d|kr�|d|d<n|jj	|||�}n
t
d|�|jj|�t|d||�q(Wt
|j�|_x*|j�D]\}}	t|||	�qWdS(Ntrangetidentitys%s is not a valid operationsop%d(tmodRtopst	enumeratethasattrtcallabletLEtbinary_operation_nametbinary_operationtnewt	TypeErrortappendtsetattrtlentnumopstitems(
RRRRtkwdstiRtopkwdstktv((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRs"			
cGs5||kstSx|D]}||kstSqWtS(N(tFalsetTrue(RRtytmoretm((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR3s
(R
RRR(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRs	tBinaryOperationcBs)eZdddddd�Zd�ZRS(c
Cs�||_d|_t|t�r:|}td|�}	n!t|�r[|}	t|	�}n||_|	|_|dk	r�||_	n|dk	r�||_
n|dk	r�||_n|dk	r�||_n|dk	r�||_
n||_dS(Nislambda x,y: x %s y(Rtarityt
isinstanceRtevalRtopnamet__call__tNoneRtinverttzerostzerot
complementtop0(
RRRRR9R:R;R<R6tfunc((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR=s*				cGs5||kstSx|D]}||kstSqWtS(N(R-R.(RRR/R0R1((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRYs
N(R
RR8RR(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR2<stBinaryAlgebraicStructureFamilycBseZd�Zd�ZRS(cs^i}x�D]}t|�||<q
Wt||����fd�}|j|||f�S(Ncsbi|d6}ddj���f�i|d6d�d6}t�|����fd�}|S(NRslambda %s:%sRcSs
||kS(N((RR/((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt<lambda>osRcs0�||�s,|jd||f�f�StS(Nsnot %s in %s(tfailedR.(tenvRR/(texprtf(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyttestfuncss(RR5(tbinoptdRE(tctnames(RCRDsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pytgentestfuncis


(RR5tSet(RRItcondtdiR
RJ((RHRIsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR7bs
cCs/|j\}}|j|j||�d|�S(Ns	not in %s(targtforall_pairsR(RtatbRBRDR
((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pytc_test_contains|s	(R
RR7RR(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR?as	tTernaryAlgebraicStructureFamilycBseZd�Zd�ZRS(cs^i}x�D]}t|�||<q
Wt||����fd�}|j|||f�S(Ncsbi|d6}ddj���f�i|d6d�d6}t�|����fd�}|S(NRslambda %s:%sRcSs
||kS(N((RR/((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@�sRcs6�|||�s2|jd|||f�f�StS(Nsnot %s in %s(RAR.(RBRR/tz(RCRD(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRE�s (RR5(RFRGRE(RHRI(RCRDsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRJ�s


(RR5RK(RRIRLRMR
RJ((RHRIsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR7�s
cCs/|j\}}|j|j||�d|�S(Ns	not in %s(RNtforall_triplesR(RRPRQRBRDR
((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRR�s	(R
RR7RR(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRS�s	t$DistributiveAlgebraicStructureFamilycBseZd�Zd�ZRS(cs^i}x�D]}t|�||<q
Wt||����fd�}|j|||f�S(Ncspi|d6|d6}ddj���f�i|d6|d6d�d6}t�|����fd�}|S(NRRslambda %s:%sRcSs
||kS(N((RR/((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@�sRcs6�|||�s2|jd|||f�f�StS(Nsnot %s in %s(RAR.(RBRR/RT(RCRD(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRE�s (RR5(tbinop1tbinop2RGRE(RHRI(RCRDsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRJ�s

(RR5RK(RRIRLRMR
RJ((RHRIsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR7�s
cCs�|j\}}|\}}t|t�rE|jjjj|�}nt|t�ro|jjjj|�}n|j|jks�|jd�S|j	|j|||�d|�S(NsNot the same ranges	not in %s(
RNR4ttupletspecmodRR R!RRARU(RRPRQRBRDR
top1R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRR�s
(R
RR7RR(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRV�s	t_GLUECLAMP_cBsLeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%RS($cCs2|jj|jj|j|jjd|j�@�S(NR=(tSpect	adaptupletgroupR!tattrtcommutative(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_abelian_group�s		cCs|jdd�S(Ntxyzsx * (y * z) == (x * y) * z(tasuf(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_associative�scOs%|jj|�}t||||�S(N(R]tsetcastR(RtSRR(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt
algestruct�scCsmt|�dkr'|j||�}n-t|�dkrN|j||�}nt�|jj|jj|�S(Nii(R%tBinaryAlgebraicStructuretTernaryAlgebraicStructuret
ValueErrorR]R^R R!(RRIRLR((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRd�scs1�fd�}�j}|j||jd��S(NcsK�jj|�}t|t�r;|j|kr;|r;|St|||�S(N(R]RfR4R2R(RgR>R((R(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRF�s%s{(
	        attr('range', set) &
		attr('arity', equals(2)) &
		expset('''mapping(range, range, '->', range)''', 'range')
	)(R]R^texpset(RRFte((RsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_binary_operation�s	cCs|jS(N(trelation(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_binary_relation�scCs
|jt�S(N(tfamilyR?(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_BinaryAlgebraicStructure�scs��fd�}�j}|j||jd|jj|jj@|jj@�|jd|jj|jj@|jj@�@|jd|jj�@|jd	|jj�@|jd
|jj	�@|jd|jj	�@�S(Ncst|dkrtd|�}n�j|�jj||d|d|d|��jj||d|d|d|��S(	Nt~t-tnotslambda x: %s xRR;R<(RsRtRu(R5RhR R!(tsetR=R[R<tid0tid1(R(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pytboolalg�s$R=R[sop0.zerosop1.identitysop1.zerosop0.identity(R=R[(R[R=(sop0.zerosop1.identity(sop1.zerosop0.identity(
R]R^R`RRatcomplementedtmonoidtdistributiveRR(RRyRm((RsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_boolean_algebra�s		�cCsd�}|jj|d�S(NcsI�j}|j�|��j�|j�j����fd�d�S(Ncs�j�|�|����S(N(R(RBR/(R<RDRR;(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@sRz(R=R;R<tforallR(RBRR((R<RDRR;sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pytps			!Rz(R]t	predicate(RR((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_complementeds	cCs|jdd�S(Ntxysx * y == y * x(Rd(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_commutativescCs
|jt�S(N(RqRV(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt#_get_DistributiveAlgebraicStructurescCs|j|j@S(N(tdistributive_1tdistributive_2(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_distributive"scCs|jdd�S(NRcs x * (y + z) == (x * y) + (x * z)(tDistributiveAlgebraicStructure(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_distributive_1%scCs|jdd�S(NRcs (x + y) * z == (x * z) + (y * z)(R�(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_distributive_2)scsc|j�|�dd��fd��Y}�j|�jd�jj��jd�jj�@�S(NtFieldcseZ��fd�ZRS(csx|dkrtd|�}n||_�jj|||||�|_�jj|�j|�|||�|_dS(NRtRsRuslambda x: %s x(RtRsRu(R5RtringR!R_tequalstmulgroup(RRgtaddtmultnegR9R;tone(RRm(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR2s
	!(R
RR((RRm(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR�1sR�R�((R]R^R`RR�t
abelian_group(RR�((RRmsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt
_get_field-s		csG�fd�}d�}�j}|j|�j�jj|d�@�S(Ncs;|dkrtd|�}n�j||d|d|�S(NRtRsRuslambda x: %s xRR9(RtRsRu(R5Rh(RgRR9R(R(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pytmkgroup@scsYy
�j�Wntk
r-|jd�nX�j�|j�j���fd��S(Nsno invert functioncs4�j��|�|��|�|���j�S(N(RR(RBR(RDtgtinv(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@Ks(R9tAttributeErrorRAR=R~R(RBR�((RDR�R�sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyREs

	R_(R]R^R{R�(RR�RRm((RsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt
_get_group?s			cCs#ddd��Y}|jj|�S(NtRelationSpeccBs#eZd�Zd�Zd�ZRS(cSsH|j|j|jf>|jjjB}|j|jj|jj||�S(N(	tbooleantPyObjectRRRtcprodtsetcastableRotfuop(RRmRF((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_spec_quadrupleYs		cSs.td|j�td�td�td�fS(NRRtGLBtLUB(R`Rv(RRm((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_spec_structbs		c	Ss�|\}}}}|j|�}|jjj|jj||ff�}|jjj||�}|jjj||�}ddd��Y}|�}||_||_	||_
||_|S(NtCcBseZRS((R
R(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR�os((RfRotpaxat
fromuniversaltdefipairRR R!RRR�R�(	RRmt.2RgRR�R�R�RH((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pytmap_quadruple_to_structis'					(R
RR�R�R�(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR�Ws			((R]trepcat(RR�((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_latticeformTs!cCs�|j}d�}|j|jjj|jd�|jd|jjj�@|jd|jj	�@|jd|jj	�@|j
|d�@�S(NcsR��fd�}|��fd��jd�oQ|��fd��jd�S(Ncs+����fd�}�j�j|�S(Ncs����������o*����s>|jd��S����s\����r`tS|j�j����fd��S(Ns	not an %scs,�|��o�|��p+�|��S(N((RBtlb2(tRtlbRR/(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@�s(RAR.R~R(RBRR/(R�tlatR
R(R�RR/sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyttestlbs(ROR(R�RR
R�(RBR�(R�R
RsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyttest~s
cs�j�j||f�S(N(tcontainsR(RR/(RBR�(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@�sslower boundcs�j�j||f�S(N(R�R(RR/(RBR�(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@�ssupper bound(R�R�(RBR�R�((RBR�sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR}s
!RRR�R�tlattice(R]tabstractsettlatticeformtstructR�R`Rt
partial_orderR�R R�(RRmR((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_latticezs		QcCs|jj|j|jj�S(N(R]tLocalEnvt_Specification_tLocalEnvExpr(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_LE�scsPd�}�fd�}�j}|j||jd�j�|j|d�@�S(Ncs:�j}|j�|�|j�j���fd��S(Ncs%�j��|��|��|�S(N(R(RBR/(RmRDR(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@�s(R=RR~R(RBRR((RmRDRsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR�s		cs�j||d|�S(NR(Rh(RgRR(R(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pytmkmonoid�sR=R{(R]R^R`tassociativeR�(RRR�Rm((RsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_monoid�s		csf�fd�}�j}|j||jd|jj�|jd|jj�@|jd|jj�@�S(Nc	s\|dkrtd|�}n�j|�jj||d|d|��jj||��S(NRtRsRuslambda x: %s xRR9(RtRsRu(R5RhR R!(RgR�R�R�R;(R(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pytmkring�sR=R[(R[R=(R]R^R`RR�t	semigroupR|(RR�Rm((RsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt	_get_ring�s	+cCs+|jj|jj|jjd|j��S(NR=(R]R^R R!R`R�(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_semigroup�scCs
|jjS(N(t_parentR](R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt	_get_Spec�scCs
|jt�S(N(RqRS(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_TernaryAlgebraicStructure�scsDd��jjf��fd��Y}�j|_�jj|�S(NR�cseZ��fd�ZRS(csN�jjj|||�y
�j}Wntk
r9nX||||�dS(N(R]t
SpecFamilyRR�(t	innerselfRR(tini(tFR(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR�s

(R
RR((R�R(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR��s(R]R�R
Rq(RR�R�((R�RsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyRq�s(	cCs|j|jj||��S(N(trelpropR]R�(RtsR
((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt
relpropred�scCs|jd�d�S(Ncs|j�j�fd��S(Ncs;|j�||f�o-|j�||f�p:||kS(N(R�(RBRR/(R�(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@�s1(ROR(RBR�((R�sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@�ssantisymmetric wrt '==' op(R�(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_antisymmetric�scCs|j|j@|j@S(N(t	reflexivet	symmetrict
transitive(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_equivalence_relation�s
cCs|jd�d�S(Ncs|j�j�fd��S(Ncs|j�||fd�S(Ntirrreflexive(ttest_contains_not(RBR(R�(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@�s(R~R(RBR�((R�sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@�sR�(R�(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_irreflexive�scCs|j|j@|j@S(N(R�t
antisymmetricR�(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_partial_order�s
cCs|j|j@S(N(R�ttotal_relation(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_total_order�scCs|jd�d�S(Ncs|j�j�fd��S(Ncs.|j�||f�p-|j�||f�S(N(R�(RBRR/(R�(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@s(ROR(RBR�((R�sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@ss+total_relation: xRy or yRx for all x,y in A(R�(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_total_relation�scCs|jd�d�S(Ncs|j�j�fd��S(Ncs|j�||fd�S(NR�(t
test_contains(RBR(R�(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@s(R~R(RBR�((R�sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@sR�(R�(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_reflexive
scCs|jd�d�S(Ncs|j��fd��S(Ncs%|\}}|j�||fd�S(NR�(R�(RBt.1RR/(R�(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@s	(R~(RBR�((R�sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@sR�(R�(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_symmetricscCs|jd�d�S(Ncs|j��fd��S(Ncs.|\��|j�j���fd��S(Ncs2|j��|f�p1|j��|fd�S(NR�(R�R�(RBRT(R�RR/(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@s(R~R(RBR�RR/(R�(RR/sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@s	(R~(RBR�((R�sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@sR�(R�(R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt_get_transitivescCsN|j}|j|jjj|�S|j|jj|jd|jj	�|@�S(NtdomainR(R�R(
R]R�RoR�R�R^R!R`RR(RR�Rm((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR�%s		(&R
RRbReRhRdRnRpRrR}R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�RqR�R�R�R�R�R�R�R�R�R�R�(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR\�sH										
								&	 																	R�cBsYeZdZd�Zddd��YZdd	d��YZd�Zdd
d��YZRS(s@
        Specification of some general algebraic structures
    c,s�|}|j}|j}ddddddgddddddgddddddgddddddgddddddgddddddgg�|j}|j|j|jf|jjdddf|jjdd	f|jjd
ddf|j|j	f|j	t
d
ff|j	|jd�dff|jt
d
ff|jt
dff|j
t
d
ff|j
t
dff|jt
d
ft
dfff|jt
d
ft
dfff|jt
d
ft
dfff|jt
d
ft
dfff|jt
d
ft
dfff|jt
d
ft
dfff|jt
d
ff|jtdff|jt
dff|jt
d
dff|jtdd
ff|jt
d
dff|jt
dddff|jt
d
ddff|jt
dddff|j|j@|jdddddd��fd�d�dff|jt
dd
ddff|jtdd
ddft
d
d
ddft
ddddft
dd
ddft
dd
ddff|jtdd
dd�d	dff|jtdd
dd�d	dff|j|jtt�dddttft
dddddf|jddd|j|jff|j|jtt�dddttf|jtt�dddttf|jtt�dddttf|jtt�dddttf|jtt�dddttf|jtt�dddttffg!}g}x�|D]�}	|	d}
t|	d�}t|
t�r�|}|
jd�}
x&|
D]}
t||
�}q�Wn|
}|j ||f�qAW|S(Niiiiiii����g�gts1234%^sasdf*&(t*t+Rtt|cs�||S(N((RR/(tS3(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@hscSsddddddg|S(Niiiiii((R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@isRscSsd|S(Ng�?((R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@qsg�?cSsd|S(Ng@((R((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@rstortandRut&t.i����(!RRtTypeRvtemptytInttFloattStringtalgebraic_classR tintR�RaR�R|R�R�R�RR{R_R�R�tfieldtfloattboolean_algebraR-R.tlistR4tsplittgetattrR#(RttetobjRRRBR�tasexstexRPR
texsRRI((R�sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pytGetExamples6s�				$%'"!!!!!*


R�cBseZdjdd�dURS(swif 1:
    binary_operation_name	<is> equals(
    	'+', '-', '*', '/', '%', '|', '&', '**', '<<', '>>')
    algebraic_class	<is>	(setof(Type.Tuple) &
    				 attr('new', callable))
    			

    relation_class	<is>	(setof(	setof(any*any) | 
				    	Type.Tuple))

    relational_operator_name <is>	equals(
    '<', '<=', '>', '>=', '==', '!=', 'in', 'not in', 'is', 'is not')
s<is>s = lambda IS: N(R
Rtreplace(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR��stGlueTypeExprcBseZdjdd�dURS(s�
if 1:
    abelian_group	<in>	 setof(AA.group)
    associative		<in>	setof(AA.binary_operation)
    binary_operation	<in>	 doc('''
A \emp{binary operation} $*$ on a set $S$ is a function $*: S \cross S \mapsto S$.
The element in $S$ assigned to $(x, y)$ is denoted $x*y$.
\citemh(p.21)
''') & LE.algebraic_class
    boolean_algebra	<in> 	LE.algebraic_class
    commutative		<in> 	LE.algebraic_class
    distributive	<in> 	setof(cprod(AA.binary_operation, AA.binary_operation))
    distributive_1	<in> 	setof(cprod(AA.binary_operation, AA.binary_operation))
    distributive_2	<in> 	setof(cprod(AA.binary_operation, AA.binary_operation))
    field		<in>	LE.algebraic_class
    group		<in>	(LE.algebraic_class & doc('''
'''	))
    monoid		<in>	LE.algebraic_class
    ring		<in>	(LE.algebraic_class,
    				attr('new', argnames('S', 'add', 'mul', 'neg', 'zero')))
    semigroup		<in>	LE.algebraic_class
    		      
s<in>s= lambda IN:N(R
RR�(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR��sc	s�|��j}|j��jddd�}d�}�fd�}�fd�}�jdf�j||d�f�j||d�f�j||d�f�j||d	�f�j||d�f�j||d
�f�j||d�f�j||d	�f�j||d	�f�j||d
�f�j	||d	�f�j	||d
�f�j
||d�f�j
||d	�f�j|||�f�j||d�f�j||d	�f�j|||�f�j
jddddf�j|td	tt�f�j|td	dt�f�j|td	td
�f�j|td�dd
�f�j|td�td
�f�j|td�dt�f�jjtd	ttffg}|S(NiiicSs||@|kS(N((RR/((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pytsubsetof�scs�jj||ffS(N(RoR�(RgR(Rm(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pytD�scs�jj|fS(N(R�t	quadruple(R(R(sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pytL�ss==t<s<=s!=iR�R�cSs||@|kS(N((RR/((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@�scSs||@|kS(N((RR/((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@�scSs||@|kS(N((RR/((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR@�s(RRtisoR�R�R�R�tirreflexiveR�R�tequivalence_relationR�ttotal_orderR�R�R�R�tmintmaxR(	RR�R�RRgR�RRR�((RRmsN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR��sF			!cBseZdjdd�dURS(sif 1:	
    reflexive		<in>	doc('x R x for every x in A',
    				AA.LE.relation_class)
    symmetric		<in>	doc('x R y implies y R x, for all x, y in A',
				AA.LE.relation_class)
    transitive		<in>	doc('x R y, y R z implies x R z, for all x, y, z in A',	
    				AA.LE.relation_class)
    irreflexive		<in>	doc('not (x R y), for all x in A',
    				AA.LE.relation_class)
    antisymmetric	<in>	doc('x R y, y R x implies x == y, for all x, y in A',
    				AA.LE.relation_class)
    total_relation	<in>	doc('x R y or y R x, for all x, y in A',
    				AA.LE.relation_class)
    equivalence_relation<in>	doc('Reflexive, symmetric and transitive',
				AA.LE.relation_class)
    partial_order	<in>	doc('Reflexive, antisymmetric and transitive',
				AA.LE.relation_class)
    total_order		<in>	doc('Partial order and x R y or y R x, for all x, y in A',
				AA.LE.relation_class)

    lattice		<in>	attr('quadruple', doc('''Tuples (S, R, V, A), where:
	S: 	set or convertible to set, i.e. 'setcastable'
	R:	relation operator on S
	V:	binary operator on S
	A:	binary operator on S

R, V and A are either operator symbols or functions.

(S, R) forms a partial order such that 
every pair x, y of elements in S have a greatest
lower bound GLB and a least upper bound LUB.

The GLB is given by V(x, y) or x V y depending on if V is
a function or operator symbol. Likewise, ULB is given
by A(x, y) or x A y.

For example, these are lattice specifications:

(int, '<=', min, max)
(int, lambda x, y: x & y == x, '&', '|')

''',				setof(tupleform(
			('S', 'R', 'V', 'A'),
			attr('S', SPLE.setcastable) &
			expset('''attr('R', AA.LE.relational_operator_name | boolean<<(S, S)) &
attr('V', AA.LE.binary_operation_name | setcast(S)<<(S, S)) &
attr('A', AA.LE.binary_operation_name | setcast(S)<<(S, S))
''',			 'S')
			))))
s<in>s=lambda IN:N(R
RR�(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR��s5((((R
Rt__doc__R�R�R�(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR�1s	[	5i����(tsupportNtTestCasecBseZRS((R
R(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR+st	FirstCasecBseZd�ZRS(cCs5|jj}|jt�}|j|jjj�dS(N(theapyR]t	mkTestEnvR�R�tguppytAbstractAlgebra(RR]tTestEnv((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyttest_1/s(R
RR(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyR
.si(RRRRR2R?RSRVR\R�tguppy.heapy.testRtsystunittestRR
trun_unittest(((sN/opt/alt/python27/lib64/python2.7/site-packages/guppy/heapy/AbstractAlgebra.pyt<module>s
 %!!*�e�	

Zerion Mini Shell 1.0