"`##G(FSetList%FSets#Coq@d$Bool#Coq@)OrdersTac*Structures#Coq@+OrderedType*Structures#Coq@$List%Lists#Coq@&Sorted'Sorting#Coq@4Relation_Definitions)Relations#Coq@-SetoidTactics'Classes#Coq@&Setoid'Setoids#Coq@&Basics'Program#Coq@)Notations$Init#Coq@%Logic$Init#Coq@*Logic_Type$Init#Coq@)Datatypes$Init#Coq@&Specif$Init#Coq@%Peano$Init#Coq@"Wf$Init#Coq@'Tactics$Init#Coq@%Tauto$Init#Coq@'Prelude$Init#Coq@$Init'Classes#Coq@/RelationClasses'Classes#Coq@)Morphisms'Classes#Coq@*SetoidList%Lists#Coq@-DecidableType*Structures#Coq@-FSetInterface%FSets#Coq@)Notations$Init#Coq@0&v!D]hwnv %Logic$Init#Coq@0\͉!Ig)Datatypes$Init#Coq@0.i bYN Z*Logic_Type$Init#Coq@0 1jc6&Specif$Init#Coq@0;RWMi\N'Decimal$Init#Coq@0C涳N*ua#Nat$Init#Coq@0eʤģPSR蠠%Peano$Init#Coq@0 jha|ؠ"Wf$Init#Coq@0q+W,J+'Tactics$Init#Coq@0/9m+ a%Tauto$Init#Coq@0̂"&/r'Prelude$Init#Coq@0JqTttֱ$Bool#Coq@0j 2cZ`FW&Basics'Program#Coq@0!bs߯? :VU$Init'Classes#Coq@0](p{yOh.'Tactics'Program#Coq@03u%+Equivalence'Classes#Coq@07;ꮹ-SetoidTactics'Classes#Coq@0S_`nOU$&Setoid'Setoids#Coq@0D9AsWE!>*Equalities*Structures#Coq@0όe얟)H.Ƞ2Relation_Operators)Relations#Coq@0%s鯰s4Operators_Properties)Relations#Coq@0U3y#h&)Relations#Coq@0r砠*NZMulOrder&NatInt'Numbers#Coq@0}\^ !"k}@R(NZParity&NatInt'Numbers#Coq@0H>ca'^^%NZPow&NatInt'Numbers#Coq@0)6*9 B:vȻ&NZSqrt&NatInt'Numbers#Coq@0` .%m%NZLog&NatInt'Numbers#Coq@0ꔉ .uV%NZDiv&NatInt'Numbers#Coq@0$ |J?d (w%NZGcd&NatInt'Numbers#Coq@0KgT7|&NZBits&NatInt'Numbers#Coq@0MlIpKt'NAxioms(Abstract'Natural'Numbers#Coq@0Zخb1Z3uuѠ,NZProperties&NatInt'Numbers#Coq@01D%E`|3x%NBase(Abstract'Natural'Numbers#Coq@0 Y?V vI$NAdd(Abstract'Natural'Numbers#Coq@05;ZW:㥜un$&NOrder(Abstract'Natural'Numbers#Coq@0]@7U#oY)NAddOrder(Abstract'Natural'Numbers#Coq@02'8zn7Hfɠ)NMulOrder(Abstract'Natural'Numbers#Coq@04> Aat/ j $NSub(Abstract'Natural'Numbers#Coq@0:DfJᠠ'NMaxMin(Abstract'Natural'Numbers#Coq@0]v|Qg̟ʠ'NParity(Abstract'Natural'Numbers#Coq@0̗SKz*!&4h$NPow(Abstract'Natural'Numbers#Coq@0҆mulf%NSqrt(Abstract'Natural'Numbers#Coq@0<ge$NLog(Abstract'Natural'Numbers#Coq@0KI+Relations_1$Sets#Coq@0k<⪚(тc1&Sorted'Sorting#Coq@0bb1z٠*SetoidList%Lists#Coq@0k窪ܸqS+OrderedType*Structures#Coq@0#73t1E iW-DecidableType*Structures#Coq@0kO!Z7+/0^s h@ >Eb 驠'BinNums'Numbers#Coq@0dmk(5Ju<*EqdepFacts%Logic#Coq@0FI$ͼՋ`)Eqdep_dec%Logic#Coq@0u wWIϰ߼)BinPosDef&PArith#Coq@0}H d.%,b&BinPos&PArith#Coq@0vyػ0= u)BinNatDef&NArith#Coq@03@1O,[{ &BinNat&NArith#Coq@0K11ڤs+Π$Pnat&PArith#Coq@0,?pr.gZ'ZAxioms(Abstract'Integer'Numbers#Coq@0\}zK=PK%ZBase(Abstract'Integer'Numbers#Coq@0 TL}2_} ؠ$ZAdd(Abstract'Integer'Numbers#Coq@0Y9Vgⲫ򐠠$ZMul(Abstract'Integer'Numbers#Coq@0Mtr\b"H#ZLt(Abstract'Integer'Numbers#Coq@0xK|j2[&=}۠)ZAddOrder(Abstract'Integer'Numbers#Coq@0w:}H#NK}{)ZMulOrder(Abstract'Integer'Numbers#Coq@0Dr~-~ECM'ZMaxMin(Abstract'Integer'Numbers#Coq@0bAX1'ZSgnAbs(Abstract'Integer'Numbers#Coq@02`ou{Z'ZParity(Abstract'Integer'Numbers#Coq@0S)*Dd$ZPow(Abstract'Integer'Numbers#Coq@0AşsאI)ZDivTrunc(Abstract'Integer'Numbers#Coq@0`]f5FԠ)ZDivFloor(Abstract'Integer'Numbers#Coq@0dj_TYQc|$ZGcd(Abstract'Integer'Numbers#Coq@0G0=$ZLcm(Abstract'Integer'Numbers#Coq@0(9g%MmN]%ZBits(Abstract'Integer'Numbers#Coq@0ܹCF5s+ZProperties(Abstract'Integer'Numbers#Coq@0Ve*ʞ_OV)BinIntDef&ZArith#Coq@0ådR4Tuy&BinInt&ZArith#Coq@0BpHޞun^$Mult%Arith#Coq@0햖Qyb0(Zcompare&ZArith#Coq@0'ҤjI=D'Between%Arith#Coq@06v*0ur`C0)Peano_dec%Arith#Coq@0Kݢ*k+Compare_dec%Arith#Coq@0jXF 8)Factorial%Arith#Coq@0@oehJd%EqNat%Arith#Coq@0AIgՋXRV &Wf_nat%Arith#Coq@0UJX AJhO*Arith_base%Arith#Coq@0Ĕ}CS&Zorder&ZArith#Coq@0fVk.BG)%Zeven&ZArith#Coq@0i?eK#aU堠#Min%Arith#Coq@0Ce-Fѕ(PreOmega%omega#Coq@0\|چBb~w4%Omega%omega#Coq@0t.J'6\ϨrK,Zcomplements&ZArith#Coq@03 ٠*VectorSpec'Vectors#Coq@0GyK5%l6L(VectorEq'Vectors#Coq@0#'`ԶlxjT&Vector'Vectors#Coq@0_ċ|"Ʌhz'Bvector$Bool#Coq@0,rO3^~'Ndigits&NArith#Coq@04)FSetFacts%FSets#Coq@0;yD.5[l-RelationPairs'Classes#Coq@0CjN-MSetInterface%MSets#Coq@0x* .>S)MSetFacts%MSets#Coq@0ss|BEo_vWLH*FSetCompat%FSets#Coq@0 [çm).E/EqualitiesFacts*Structures#Coq@0)n,:5-|!N@Ƞ+OrdersLists*Structures#Coq@0 X@u#ɠ(MSetList%MSets#Coq@0zD1<.aPZ)OrdersAlt*Structures#Coq@0H'>G'>I''+k6'@'compare+gh)Datatypes$Init@*comparison;f@ĠР+OrderedType@V8Ȃ@EUTSAABACAAAT+ @@@@@Ġ,compare_spec @6+@3B]@(CompSpecgө@v/@@@^A Gj@@AB@@@@@@@@fhQ@@fhQ@T@A@Af~@@f~@Tߐ@A@@@@@A@A#B-@@#B-@80@A@6+@@6+@ ,@A@63@@63@ @A@ABCD@$MSet)(MSetList%MSets#Coq@$Make7#Raw(MSetList%MSets#Coq@'MakeRaw"MX++OrdersFacts*Structures#Coq@0OrderedTypeFacts*(OrderTac𢢢A/)OrdersTac*Structures#Coq@.OT_to_OrderTac@#OTF𢢢XF2&Orders*Structures#Coq@*OT_to_FullW @@S!O&Orders*Structures#Coq@@!t5:@@B!Xds@f~@@v/@z@'comparev/d7@A@ABC#B-@6+@@!t6+J%@A@63@@"eq63^@A@63@@"lt63h@A@ABCD@A@@A@@@A'*@@:@0@ :J@@A@AA~@@A~^@@A@B@@Bh@@A@;k@ @1;kd@@A@ABC@A@ @@@A@@@B!O+OrdersFacts*Structures#Coq@)@@ *@/@F *&@A@A 1@@B 1%@A@ 2@@? 2$@A@:~@ @T:~#@A@ABC@A@&#@A@@@F"OT)OrdersTac*Structures#Coq@,@@"@2@'compare"d@@A@A'f@@!t'fJ@@A@'@ @"eq'^@@A@'j@@"lt'jh@@A@ABC@A@#.Ҡ@@@A@@@-@@Ӹ@3@'compareӸd@@A@A.#@@.#J@@A@.@ @"eq.^@@A@.'@@"lt.'h@@A@ABC@A@ɠ&ޠ@@@A@@s@@@AA@@A@q @p@U@5$ŠicA:!@@@@@Ԑ @@w@l@(eq_equiv8p͠@@@@2 @@@I5%>ӠϠpiP@@@@@AA@@A@ @@+y@@+lt_strorder+٠Ӡ@@@@ @@)G@y:۩{<tƐ<@)lt_compat9#3נѠ@@@}@A@@@n @m@@V@WZW@pϠM,( ɠ @@@@@Y @ @!#Ӏ@stx@+CompareSpec!Q]@fmaҐ}@,compare_spec"| @"eqF2[ @5$h%Logic$Init@* @HܠzXQ8@@@@@蠠'le_lteq @ΠʠkdK@A c Cr^I3@e7-m^@@@@@ @@@@@@!@lWA@!@)G@A@A@t_I@@A@f@|gQ@Gf@Iw@A@AB@oY@͠dX@A@%2cq@yc@%2cq@#@A@A,!@k@-,!@/+y@A@78@t@K78J[@A@7̴@}@7̴^@A@7<@@7μ@A@_@@_@?!@A@ABs@@s@Ӹ@A@#1@@*#1@,8\@A@A+|P@@+|P @#{@A@6@@6@.#@A@6't@@6't@.@A@6'@@6'@.'@A@ABCDE@A@'/OTF_to_OrderTac*@A@@@F<@@@B@%$@A@A1фZ@@1фZ#@A@1ы@@"1ы!@A@1ьO@ @'1ьOh@@A@1ь^@ @$1ь^#@A@ABCD@A@"1OTF_to_TotalOrder!u"@A@@@@@! @@so@=5C _m:5@@@@@: @@f!@p+@!.@"8p͠ݠƠ@@@@S @@@j5D@٠ӠlgQ@@@@@# @+@,!!@ ]@)0@ +4@@@@< @D@! @@X%K*& Ǡՠ@@@@Y @@@ߏѠdC?("@@@@@r2 @z@:%2cq@ @#8u`\E?% ؠӠ@@@@@ @@@*@ x}yb\B<(@@@@@  @@GC@5D1{u[U3A @@@@@Šݐ @@6ⶀ@Y߶9]H4~@;|e ހC4p@4Yà`n;6 @@@@@(lt_total @ؠԠuPK5@@T8@@@>@@X%@A@A 6@B@ 6@x@A@ H/@I@; H/@=ݣ@A@A!F]@M@!F]d@A@B' @T@' @#8u@A@/I @Y@/I @*☔@A@ACD8F@]@E8F@G4Y@A@:cl@d@7:clȠJȀ@A@A:ctD@k@:ctD^`@A@B:ct@r@:cth@A@:ct@z@:ct̠h=@A@ACE@A@-OTF_LtIsTotal@@@A@@_Bhi\WR@@@@@a@@@@@@z@ @z@6@A@A|]@@y|]J@A@|d@ @|d^3@A@AB|e @(@|e  @7-@A@|e@7@|eh3@A@Ax@ ?@nx@p)G@A@O@$H@O͑D@A@AB`}@+O@`}@w@A@/_@4"X@/_d@A@5O@=+a@O5O1@Q#@A@=bn@F4  j@=bn:@+y@A@ABCDEob @ӠwqO]*@@D!Pu/@@ f@@ f0@&@A@A "ˌ@@ "ˌ4@0[@A@@@9@1фZ@A@AB@"@Q=@S1ы@A@@)@ZD@\1ьO@A@A@-@WH@Y1ь^@A@.@2@.M@gC@A@ABk@6@vkőQ@x@A@}Ou@;@0}OuV@2%@A@5|@@@w5|[@y@A@;LG@E@;LG`@"@A@ABCDE@A@@C!Ofe@A@,MakeOrderTacst@A@@@BKNz@A@@AŠ@@@@;@A@A$:@@$:@A@$@@$t@A@$@ @$@A@ABC@A@*OrderFacts#@A@@@X̐@@@@AA@@A@'le_refl @W62ӠFA<7$@Awk@@@@)lt_irrefl @sRN71ʠb]XS@@B   @@.@@= @okTN4. zup]@3C* @T@@K@@Z*le_antisym @rlRL*8۠{@QDHζ(϶@Ķ@$tD&@@m@@|'neq_sym @РtnLZ'@sEjJ@UB@@@@@*interp_ord @!o)OrdersTac@#ordȠ@ @@@@@@@@@@@D@ +k= R'6'6'6''+k+7T'+7T'6'ࠒA@@"lt\ @@"eq8L@lР@4Ƞ@@10/@@A@B@A@xA܀8ܠ֠ e'"@@@@@%trans @Q0,۠͠~@;61@Frp"o's u v w@ } @ ض@  @)trans_ord-0uGF@@@@A AۀߠK@ Aۓό^@1@ABC@@A @    .@P1kМA   !@ *    @ U@ W搐 L+k() LL7#'n@h$tysYS1? @@@@@z(le_trans @ X ޷ 8 ߷  :МC 6 9 W@ `  @   @ @  L+k() NN7#'6tƠ cq>֠Ѡ̠Ǡ@@@@@(lt_trans @   j  I lМB h k @   r  Q @ O@ N L+k() MM7#'@utߠ٠@@@@@֠+le_lt_trans @  :  ; s <\*   @  ?  @ x A@Y& L+k() MN7#'@ut?@@@@@+lt_le_trans @  ^  _  `N   @  c  d  e@K@~J L+k() NM7#'tbA=& ޠQLGB/@@@@@'%eq_lt @      {   @      @w L+k() ML7#'@CutokTN4@@@@@K%lt_eq @ )         %@ .     @@ L+k() LM7#'twqWQ/= @@@@@x%eq_le @ V ܷ 6 ݷ  ީ84 1 4 R@ [  ;   @1 L+k() NL7#'.tߠ}[i6 ΠɠĠ@@@@@%le_eq @   b  A d*` ] ` ~@   g  F @'@^& L+k() LN7#'[t Рʠc9@@@@@Ѡ&eq_neq @%ɠà|R @G  E  F ~ G@@ R T@@@@@&neq_eq @H'# ĠҠu72-(@H  h  i  j@"@!@@@@@*not_neq_eq @gFB+% VQLG4@ I    @ ؐ@@@@2)not_ge_lt @eaJD*$ݠupkfS@)J    @  @@ C@@R)not_gt_le @jdJD"0Ӡs@IK @ ƶ  Ƕ@ ѐ @@@@@q)le_neq_lt @ŠicAO@hL _  ? @۶@ s@@@@@@@@@@@!@ d R > ) @! X@)G@A@Az@ l Z F 1@z r ` L 7 !@ 6@A@@ y g S > (@i @A@AB|]@  n Z E@ |]J @A@|d@  x d O@i|d^ @A@A|e @   l W@s|e    r ] G@y7-@A@|e@   y d@y|eh @A@ABCf@    l V@Lf @Nw@A@x@    w@x @)G@A@AO@    @O͑ @A@`}@    @g`} @iw@A@AB@     y@͠d x@A@%2cq@     @%2cq @#@A@A,!@     @N,! @P+y@A@/_@     @/_d @A@AB5O@    @5O @#@A@78@     @ ~78J @A@A7̴@     @7̴^ 7@A@7<@     @7 : #  @ G w |   c@@ @@/compare_antisym @ u T P 9 3 Р@ 2H Ű   u @'CompOpp @@ 0@@  @ @ @ 7u   v r [ U ;@@@@@<_dec @0Ȑ!c @-CompSpec2Type2Kb K3 E T @)CompSpecTӊj S; MȐ"c0  Р @,CompareSpecT, /@CAAAAAA@@@@@@@@D$ ߷% n oX  s[ @ B !H@)False_induُ @%Falsee@ 99@?+@1MFF@KLqC* 65A@0@}πXU4 G"H0(&@4^@ffC@ - ŠhN[KI]GB@?>-SyyCW@KLb ?! +k()7!7!7777= (Rv'> +$9'> +4 7"9'> +59''7"77!77%' 77%' 77!77%' +k()7!7 7!7%'DX  @+6젒h`%Logic$Init@le@T@UH)Datatypes@2Kp'@&eq_symޞ@x-@'@,compare_specmpР@, /@C°AABACAAD4@uُ\I@k#}4&Specif@@'sumbool7̂K@Ԡ@'compare"D_@+6 T@#notШ    w q W@@@A AL @A@@ޠ#eqb @Pַ0BAAAA@@@@@A!s G @$boolZ'@ a L 8@t0G@ ޜA@ [B@vV +k() 7!= R'>G'>H''+k6'_B/.-AABAAAP@$boolZ'@R O@ v8Sh    Р ʠ @@@@@3)if_eq_dec @    ߠ ٠ @ T12!B=Ib+OrdersFacts,@@!b"b'zng]hRjwcj@m@R@@@@@@@@@@@DYouʐ@@=I@$@A@A@&A1DHd@A@@q'eqb_alt @ Y 8 4   @ Uop@ 7(| @@@@@*eqb_compat @ u T P 9 3 @ 0Vհ@@13ɐ!@@3@@@@@@@@!@    @ b!@ d)G@A@Az@   ;@ z    @ 6@A@@$   @ D@A@AB|]@+  O@ |]J@A@|d@5#  Y@ |d^l@A@A|e @=+ a@ |e C1 @ $7-@A@|e@J8$ n@ $|ehj@A@ABCf@R@,@ fF@ w@A@x@]K7" @ xQ@ )G@A@AO@eS?* @ UO͑@A@`}@m[G2 @ `}a@ w@A@AB@ucO:$@ \͠d#@A@%2cq@nZE/@ %2cqt@ #@A@A,!@vbM7@ ,!|@ +y@A@/_@kV @ x/_d?@A@AB5O@s^ @ 5O@ #@A@78@}hR@)78J9@A@A7̴@pZ@ 7̴^@A@7<@yc@ 7@<1ĭ@0@F@4 `cP@@:@@*ListIn_Inf @/ Π@E8F@H@K0`M@@@@AS@@~@ABC@@&In_Inf @L+'@FUڶc@e@h M@@n@@'Inf_alt @cB>'@Glz@R}ѩ4@$  ِ@@@@ڠ*Sort_NoDup @_[D@H@n# @&NoDupA @B@@@@@@@@sR#elt @@P@!t *~g@@@@@AA@@A@ @9b:%@$==H|@HA@Ő867 k)Datatypes$Init.@@U]@L@A4Dڠ@@@@A@@8%empty @pA9@8@=< (GkՠѠ@@@]@A@c#Ops@A@@@'@@^(is_empty @#A@B@B@@@@@AfE4@f@i2@0I +k= R'>H'G''+k6'[@$boolZ'@Рd@A@@ABABt4>:@@@@@#mem @A@ [|z^AA@@@@@@Dؠoh\xt @ ,Rk(*()=- R8'> 7!= R'G'H' 3%''H''+k6'+k6'+7Tk+ 77 T'6'ࠑ:Р@*comparison;f@@0/.@@A@B@ABTL$@}@'compare:on|ZAxw7YAEX@hnjS@@@@#add @A@ 0//32[44.6B4ķ=vA?]    `@ ,bk(*()=2 RD'> 7!= R"'' :' 3! :''G :''+k67$'+k67$'+7Tk+ 77 T'67$'РL^YABQ|JAEXI|D֠@@@@5)singleton @o284i@r57 (+kG :'Πʠ@@@@N&remove @A@ 7:<!&wз$&sX@ ,Tk(*()=/ R:'> 7!= R''' 3! :''G''+k6'+k6'+7Tk+ 77 T'6'ࠑAB%@ :T,|AEXp3=9@@[@@%union @@@ z_@``}bѠ"s'hշX@@)union_auxttvx"x'"l'+[ Ѱ Hư ɰܩ @1 ,k*(= R'>3 ,d '+i''*(=: RE'>7!= R''!:'!:'3 :''''+k6'+k6'+7Tk6''+k+7T'6'+7Tk+7T'6'AB0d$t4$ࠒ_AELokT@@@@%inter @@@ ]XZ*@÷5@@)inter_auxWegU9ѷTR {PNGD@s ,k*(= R}'> 3,` '+e''*(=6 RA'>7!= R#'!:'%'3$''G''+k6'+k6'+7Tk6'G'+k+7T'6'+7Tk+7T'6'ZUAB,$t` ̠PIAELҠܠ@@@@1$diff @@@ lBv9<@@(diff_aux z8GJ@ ,k*(= R~'>3 ,` '+e''*(=6 RA'>7!= R#'%'!:'3$''''+k6'+k6'+7Tk6'G'+k+7T'6'+7Tk+7T'6'AB0$xd$РAELנ@@;@@r%equal @@@ Z?@@Y]BC߷`^aP19N;R㰩 XX@ ,k(*()=A Rt'>=- RQ'> 7!= R3'3%'H'H''H''= R&'>H'G'''+k6'+k6'+k6'+k6'+7Tk+7T'6'РAB䠒*tX,<Ġؐ)ABhXZ95d`@@@@@&subset @A@ !$&!ڠ|**ܠ?%B @ D,tk(*()=E RZ'>=1 RA'> 7!= R#'3%'H'3%''H''G''+k6'+k6'+k6'+77 Tk+ 77 T'6'ࠑ] #AB䠑n8kAEX~zc@@@@$fold @vlg(MSetList%MSets@@!f@ @!ӷ!i"@)fold_leftɀր &Basics'Program@$flip$!  58V@'9  |+k()  7777# '-%Lists@!ɀ֐d@U X@$'Program#@#$H֠Ҡ@@vl@N@A@A@QA%tN@ATA!t Q:@XA!uR>@A&Y@A!s̓PF@ABCD@@l&filter @A@ k@rSV;;oY>ڷ[z@Ez1}\@@@@@@@@AcJ r@ ,Rk(*()=- R8'> = R' 3! :' 3%''G''+k6'+k6'+ +7TTk+7T'6'6'Р L$\x%*@@@A@AB'AEXX73b^@@@@'for_all @A@ KN$E÷zIKD@ ,Lk(*()=' R2'> = R' 3%'H''G''+k6'+k6'+ +7TTk+7T'6'6'Р``e4 @?AB cAEXsoX@@@@@'exists_ @A@ <]~/Ʒ99|V@D ,Lk(*()=' R2'> = R'G' 3%''H''+k6'+k6'+ +7TTk+7T'6'6'РԐ`4 xwABCAEX̠֠@@@@@+)partition @A@ *@$prodt@5ʷ!@ sAFFEHBBB@@@@@!p  "s1"s2 ݷ;) Ka'eaPx"+ezieT@6 ,k(*()=B Rd'> 3!= RC'> = R"' ::' : :'''6''+k677%'+k677%'+k677%'+ +7TTk+7T'677%'6' A@@LР`@Ct@B210ABAE$|t`|K@ ABࠐAGXG&" QM@@@SA ϲ6W_@WA вuXc@@ABC@@(cardinal @tr@&length䷀@|z@#nat@ 4+k77%'@䷐`X}\XA@@@A o@A@@ࠠ(elements @@<+k'ws\@@@@'min_elt @X@&option >v@2 B@A  @ +k= R'>9'G''+k67$'ܐ@ >v@JABtӠݠ@@@A ůM@A@@6'max_elt @@@ 1Hr@|?BDLw?D"l0I|]@@ ,Rk*(=( R7'>= R'>3$'9''G''+k67$'+k67$'+7Tk67$'hx<BD ACL֠@@?@@q&choose @m@?H0@h@"pΠ* 40@@@@@` @@@kpȶTs˷vY\ˠC[OL]~CaggUH@ ,k(*()=A Rt'>=- RQ'> 7!= R3'3%'H'I''I''= R&'>H'G'''+k6'+k6'+k6'+k6'+77 Tk+ 77 T'6'ࠑ1`AB䠑<Ġ?ABhXXsRN7}y@@@@Ҡ#inf @  4 I!/@ 0+k()=) R4'> 7!= R'H'G'H''G''+k6'+k6'*%A@u$A!@:~dvAE@k@@@@$isok @@@ 0En:@۷JзI@$andb=@Q==N82U@B ,2k*(= R'>3 7!7%'G''+k6'+77 Tk6'ࠑ𠒐^8@b4ː|̠@!=dAELQ@O *耠Ѡ͠@@@@O$IsOk @ / F /O@X=HY "@ 7 D+kG 7 77&'6@d4@\h%LogicP@"eq @p#@@@@@"Ok @ `E1@ aFՐ*)\h'pC"@@@@@"ok @ e(@-=<߀@ m  Z& x (+k()'cB>'@@@@@'Sort_Ok @ "Hst@ v#@|[W@@@@@@٠'inf_iff @hdM@@נ, ٰ  @@@@@AB@@(isok_iff @|e@A- U@@@@'isok_Ok @v@B > B@@@@@%Equal @ JrK p@yJ,@ QyRn +k() +7T' 777  7777%'Р@#iffС)@D4tV@S q9@h`M@ 1X͠ɠ@@@[@/@AB@@M&Subset @ -L@E@8 +k() +7T' +  777T'777#'0t."x)p@@'@@r%Empty @ R p<_@ |+k+7T' 7777$'РUdSXGPNH @#notШh@@@@@A@@'For_all @!P@ ڶc@@O +k() +7T'+  777T'$'txt{pgFB+@@y@@Ġ&Exists @&$ @"ex @@#andЖw@@:8X +k() + 77%'  7777%'Рx@Жw@@! @||ttl@@@ @A1@D@AB@@ (mem_spec @~@C ӶI OK   򩚠@==S8+  @@@@$'add_inf @Ԡ@7D c&'@ w_>@yA {B/@N==B0 @@@@A@@B&add_ok @Ѡ͠@UE &  ]@@@@@V(add_spec @@iF :XuYW "v1 is '{S@@@@r*remove_inf @"@G V;t u@ O O<z@9? \@@K@@)remove_ok @<@H pUQ [ͩ@@@@@+remove_spec @P/+@I iJ k / 1ޠI|@@@@,singleton_ok @iHD-@J@yR@@@@Ϡ.singleton_spec @^ZC@K жѩ͠ 9 S;~@@H@@堠)union_inf @tpY@L I +#Hs'@ <@  ?䩚@n>1zR-@@@@ (union_ok @y@M ζi϶ F Gj@@@@@ *union_spec @ʠ@-N ~Z `Ķ5ũ N71 - F S@@@@ 4)inter_inf @à@GO   7z޶O߶@M@  / >@\>Ox@@@@ P(inter_ok @ߠ۠@cP 4    G@@@@@ e*inter_spec @@xQ I . / hf 11 PK@@@@ ~(diff_inf @.  @R b G H  @ \Ix@ _L{ aN @h=GƐ@@]@@ 'diff_ok @N-)@S  g h m߶ 7@@@@@ )diff_spec @cB>'@T  | } ]^  Щ1  ߩ @@2@@ Ϡ*equal_spec @^ZC@U  3 Ϡϰ  @s>   @=gcѐ@@@@@ +subset_spec @~zc@V  S 40 1 ة @L)@@@@@ #*empty_spec @Ӡ@6X $@=@@@@@ 6-is_empty_spec @Š@IY  33  <@ (5z {@@@@@ O.elements_spec1 @ޠڠ@bZ 3  QM  V@ RG@@@@ h.elements_spec2 @@{[ L 1˩ /@@9@@ z/elements_spec2w @* @\ ^ Cݩ A)@@ G@@ -min_elt_spec1 @<@] p U @% @@@ @p@AB@@ -min_elt_spec2 @S2.@^  l  M@>P @ Ωz@@@@ -min_elt_spec3 @nMI2@_  @̩VũA@@@@ Ҡ-max_elt_spec1 @a]F@`   Զ@ϰᩚ @>-1YJ Ԑ@@I@@ ꠠ-max_elt_spec2 @yu^@a  )   0@G@ Ð@@`@@ -max_elt_spec3 @u@b  ʶ@. @C@@@@ ,choose_spec1 @ @3n@  ݶS @# @ 5 @*9נ@@@@ 4,choose_spec2 @ 0@3n@ @0B s;v@*;Ѡ͠@@@@ O,choose_spec3 @ޠڠ@bc3    R  S@@@Qc@W ]L@@ @@@ @AY@@AB@@C@ Y@ABCD@@ w)fold_spec @'@d[ @!A(k@@v}@ @t @=Hh| z Ʃ<7@@(@@A@A@AK@AA@AK@AB AH@"A@H@E@ABCD@@ -cardinal_spec @^=9"@e w @94  d@@@@ Ǡ*filter_inf @wVR;@f  ɶY q@   @r 'AkȐ@@@@ 䠠)filter_ok @soX@g u%H@@@@@ +filter_spec @l@ h 7 @ 413 -f29 3 ؐ@@@ '@@AB@@ ,for_all_spec @ɠ@,i  @  !@w,: &@&ڀi ,&[B@@@@ <+exists_spec @ˠǠ@Oj   8Ͷ@C;;$ D@^+@] I@e#@@@@ [.partition_inf1 @ @nk? $ W ^@ 8 8%v(@#fst  1 1 j@L wL@@;@@ |.partition_inf2 @, @l` E x  &@ Y YFI@#snd!@@V@@ -partition_ok1 @G&" @m{ `  (fة: f f5@@@@@ -partition_ok2 @]<8!@n v  >|/@@@@@ /partition_spec1 @qPL5@o   R@ȩ*ݐ@@@ @A@ @A1FdJ@A1GK@ABCD@@ ߠ/partition_spec2 @njS@p   p@2$ 穚@$negb@@(@@   @$T@6@5Q 677!kؐT̐LӐD@@@@ )In_compat @̠@/q*@&#(%^z`  %@#=̠piP@@@@@AA@@A@ @,@(@+lt_strorder+;ޠؠ@@@@ @(@$@)lt_compat9#Q0,̠Š@@ @@3 @@"@pϠjIE. ޠ@@@@@L8 @@;@,compare_spec"| @"eqF2[ @5$h%Logic$Init@"or @Hڠ}wUN,% @@@@@ @͠ɠib@9 @A!" !d"  D"#t&K5@g9ŀ!o`@@@@@@@@@@@@5 @@)G@A@A V5@>) @ V5@A@ g7@G2@" g7@$w@A@AB fLe@P;@k fLed ^@A@& @[F*@& @#@A@A.iU(@dO3@.iU(@+y@A@9@nY=%@9РJ"d@A@9L@xcG/@9L^"@A@9@mQ9@9Ԡh!@A@ABCDE@ 𢢢y]"TOA" @"@"U87@15<<a]F0%Ԡ@@Ebd@@:;@@H:;@J= @A@Aw\@@w\@>μ@A@_@@_@?!@A@ABs@@s@Ӹ@A@#1@@(#1@*8\@A@A+|P@@u+|P@w#{@A@6@@c6@e.#@A@6't@@6't@.@A@6'@@6'@.'@A@ABCDE@A@ /OTF_to_OrderTac @A@@@H<@@@B@@A@A1фZ@@1фZ@A@1ы@@1ы@A@1ьO@ @"le1ьOh@@A@1ь^@@1ь^@A@ABCD@A@1OTF_to_TotalOrder"r@A@@"@@@" @"@!r@ 5CѠ͠mfDp=8!@@@@@" @ @"  g72@!@ 8Ӓ@ # ؠ @@!@@9! @!@!@P5D@ '  ՠʠĠyrmV@@@@@ ! @>@!.iU(5@4@ )0@+ H ' # @@!@@&! @Y@!6@5@X% a @ < %ܠՠߠ@@2@@E! @!@1@ߏѠ | [ W @*ΠǠ @@@@@`!L @@!T& 4@3@#8u  z v _I>8@@@@@"ݐ @@" V5"݀@+:@x    ~h]W5. 8@@@@@砠( @@"eU@5D1 ՠ   xrPI'S @@@@@ @@8 N@#y##Y$"9$ %!~!i!@@\ #dU@'le_lteq4Y!   ʠzXQL5@@@@@ꠠ$ @!   ʠngbK@@TN@@@T@@X%@A@A 6@X@ 6@x@A@ H/@_@6 H/@8ݣ@A@A!F]@c@z!F]d΀@A@B' @j@' @#8u@A@/I @o@/I @*☔@A@ACD8F@s@O8F@Q4Y@A@:cl@z@ :clȠJ@A@A:ctD@@:ctD^v@A@B:ct@@:cth@A@:ct@@:ct̠hP@A@ACE@A@-OTF_LtIsTotal@@@A@@2B%@@@@@T@@@@@@,@"!v@,"!}e@8 N@A@A @""'@I J$@A@ *@"" 1@ *^$V@A@AB @"(":@ "/"@9@A@ @"9"'K@ h#Y@A@A@"B"0T@w"6@y)G@A@e@"L":^@4e"l@A@AB2@"T"Bf@2"H@w@A@0C@"^"Lp@0Cd# @A@7F.@"h"Vz@j7F."\@l#@A@>@"r"`@>"f@+y@A@ABCDE$ @!!ޠ!ڠ!àzsQ}J@@D!PwO@@ f@4@ fP@&@A@A "ˌ@8@ "ˌT@0[@A@@=@Y@1фZ@A@AB@A@S]@U1ы@A@@H@Sd@U1ьO@A@A@L@Yh@[1ь^@A@.@Q@.m@gC@A@ABk@U@kőq@@A@}Ou@Z@4}Ouv@6%@A@5|@_@y5|{@{@A@;LG@d@;LG@"@A@ABCDE@A@@C!O@A@,MakeOrderTacv@A@@@BKN|@A@@AǠ@@@@@A@A$:@@$:@A@$@@$@A@$@ @$@A@ABC@A@*OrderFacts#@A@@@.@@$@@AA@@A@, @""a"]"F0%Ԡ͠E@;6#@A%%%@@$=@@ - @""~"z"cMB<b]XS@@B.@@$X@@;%) @""""~h]W5. 8}xsn[@3C,@@$s@@V( @"ՠ"""xrPI'S ֠v@ND%q%%Q%@@%M)@@$@@v& @""Ԡ"Р"piGs@@nE'@@@@@" @!%%$@ +k= R'6'6'6''+k+7T'+7T'6'ࠒAҠ@@"lt\ @@"eq8L@[lР@#ordȠ@@@@@@@@@@@@D@@A@B@A@xA܀#L#+#'#ǠʠM @@@@@砠 @#f#E#A#* ڠg)$@F&&%&%&@&(0$##@-f@  @@ @@% @&&%&%&@Q_&@ L+k() LL7#'6@%trans$t####pZOI' *oje`M@@@@@G @&P&ַ&0&׷&&ة1@&T&ڶ&4&۶&&ܶ@&@& L+k() NN7#'4t#۠###~xVO-Y&ܠ|@@@@@v @&'&_'&>'`@񐐠 L+k() MM7#'G@Zut$###ɠ@@@@@ @&'%&'&&^''@&')&'*&b'+@O L+k() MN7#'k@~ut$)$$#נ̠Ơ@@@@@ @&'I&'J&'K@&'M&'N&'O@5@t4 L+k() NM7#'t$L$+$'$ǠʠM @@@@@砠 @&'v&'w&'x@ꐐ L+k() ML7#'@ut$v$U$Q$:$@@@@@ @''&'&'@搐 L+k() LM7#'t$$s$o$XB71ߠWRMH5@@@@@/ @'8'''&'@'<'¶''ö&'Ķ@琐 L+k() NL7#'t$$$$nc];4> ~yta@@@@@[ @'d''D''#'E@'h''H''''@@? L+k() LN7#'Ft$$̠$Ƞ$ha?k8@@@@@ @%$$$ˠ{YRʠŠ@G@@@@@ې @%"%$$РŠtm#۠֠@Hܐ@@@@@א @%=%%%ڠ>@Iؐ@@@@٠Ӑ @%X%7%3%Ӡ̠֠Y @J'(z'({@'q&cd@@'@@Ԑ @%y%X%T%='ˠĠz<72-@K(('(@@@@@@Ӑ @%%v%r%[E:4 ZUPK8@L(3(((@Ԑ@@@@@6@@@@@@@&7&%@l&+@n)G@A@A,@&@&.R@,&G&5@8 N@A@ V5@&O&=@7 V5&o@A@AB @&W&Ei@ J(@A@ *@&b&P t@ *^(@A@A @&k&Y }@ &r&` @9@A@ @&z&h  @( h'@A@ABC g7@&&q # @ g7&w@w@A@@&&} / @&@)G@A@Ae@&& 8 # @e&@A@2@&& A , @2&@w@A@AB fLe@&& J 5  @e fLed'X@A@& @&& V A % @& &@#@A@A.iU(@&& _ J . @ .iU(&@ +y@A@0C@&& i T 8@0Cd'w@A@AB7F.@&& r ] A@7F.&@#@A@9@&& } h L 4@ 9РJ)s@A@A9L@&&  q U =@9L^)@A@9@&&  { _ G@9Ԡh(@A@>@&&   i @E>&@G+y@A@ABCDEF@) @))));@(2%)@!G H+k7777#'B / . - ,@@!t'fh @"eq'`  <@(eq_equiv@8p͐X/RelationClasses'Classes@5Equivalence_Reflexive&")))@ &/@"lt'jt|@6StrictOrder_TransitiveaD@+lt_strorder9M@+l'J')'%'    @@(@@! @)*j*l(3)@!ڐΐ/`Аh@7StrictOrder_Irreflexiveϐp,X'r'Q'M'6    @@) @@ސ @''a']'F 0 %  @ ,CompareFacts  @A@@@@ ' &  @A@ '@ߐ@@@@@ѠԐ @''}'y'b L A ; @ :AՐ@@@@@䠠Ґ @''''u _ T N ,/*@ MBӐ@@@@@͐ @'Ġ''' r g a ?B=@ `Cΐ@@@@@ Ȑ @'נ'''  z t RUP@ sDɐ@@@@@ @''ɠ'Š'    ehc@ E@@@@@0 @''ܠ'ؠ'    x{v@ F@@@@C @('''Ԡ    @ G@@)@@V @(#('' Ѡ Ơ  @ H@@)@@i*b @&@&@ 7u (;(('  ޠ ؠ @@@@@~ @*+[*+\)a*)M"spnlgra@"!_@ Ae*!*@*"@~^*C)n]@9r67*" xZ@!ZR%XC* )W @! ̓UC@T +k()7!7!7777= (Rv'> +$9'> +4 7"9'> +59''7"77!77%' 77%' 77!77%' +k()7!7 7!7%'DbX  @+le_lt_trans6젒 h`%Logic$Init@%Falsee@T@)lt_irreflUH)Datatypes@-CompSpec2Type2Kp+@&eq_symޞ@x1@%eq_lt':@,compare_specmpР@,CompareSpecT, /@CAAAAAA@@@@@@@@DAABACAADA@)False_induُ\X@(lt_transk#}4&SpecifO@'sumbool7̂K@Ԡl@'compare"Do@)not_ge_lt6 d@#notШ)(((ؠ     @@c@@W_ @+,4+,5^W,;-)) M 8@+bȀ+O@F +k() 7!= R'>G'>H''+k6'CBAAAA@@@@@AAABAAAP@$boolZ'@ I@ 8Sh)V)5)1)    @@@@@L @)f)E)A)*    @ T+,~+,MKC+A+֩+?O:7@.,@@( @))_)[)D . #  @ U,,+,аe@0Mπ+)@@@@@͠& @))y)u)^ H = 7 @ 4V*'%@@R@@@@@@@@@*/*    @ d*#@ f)G@A@A,@*8*&    J@,*?*-    @8 N@A@ V5@*G*5    @ / V5*g@A@AB @*O*=    a@  J,@A@ *@*Z*H    l@  *^,@A@A @*c*Q    u@  *j*X    @ 9@A@ @*r*`    @  h+@A@ABC g7@*{*i    @  g7*o@ w@A@@**u '   @ *{@ )G@A@Ae@**~ 0   @ xe*@A@2@** 9 $  @ 2*@ w@A@AB fLe@** B -  @ ] fLed+P@A@& @** N 9  @ & *@ #@A@A.iU(@** W B & @ .iU(*@ +y@A@0C@** a L 0 @ |0Cd+o@A@AB7F.@** j U 9 @ 7F.*@ #@A@9@** u ` D ,@ 9РJ-k@A@A9L@** ~ i M 5@ 9L^-@A@9@**  s W ?@ 9Ԡh,@A@>@**  } a @ =>*@ ?+y@A@ABCDEF@-1 @0 - -@ +k() +7T' 777  7777%'*<@!t *`t*B@"eq 1X%Logic$Init @@@#iffС)*SetoidList%Lists@#InA q9@h****s@@@@AA@@A@, @6@/equivlist_equiv\h--u:@,yN-/v+N+9 @- (6777"k3@/equivlist_equiv\h\*@S *T*@R 1L    {@(eq_equiv2*@$D**Р*̠*@@@@B'lt_list,<@@@@X-<_nil*lt_cons_lt*lt_cons_eq-.;-m[`-.-y. A@";$h.'-V-xj.)%U-}-.*-.+L@%\@$-c$u.4$%`BB@@BEFBEF@++L@8q@@@@@С@@@@@@@@@@@@@@CABBECF@@A@@@@@k@+lt_list_ind @OJ-.e-.f߶@"$F-.l-.m@%@@oq@-@I%J.$-MB@!F,|,},~-$-,,,@]^@@@@@@@@@@@@@@@@@@@D,,@K-..%.$4..(...(P),"ʩ -%...&./.../W0,%,I%--%. ...B%..0@a]W: @+k()  ,T'(*()= !R1'> %'># '>3"#' '+k() %'+77 Tk + 77 T'+ 7!T'%')Datatypes&@$list]@rq0@P@S| @HⳠ@WAM+ܠ+++@@@@@/- @@搐,6k@3@D++נ+Ӡ+@@@@@I- @,++ߠ+Ƞ@o-E@-Ԁ@@@@@^*lt_compat' @,+++ޠȠ@p-z-rw@'eqlistA:p$@-ө-{. -t!@@@@{'eq_cons @,7,,+@q"l1Ƕ"l2ʶ./S./T@-?@ u/[&%̩/]..@@@@A@@@ABC@@-cons_CompSpec @,\,;,7,  @r -u"x1/u"x2/x,*@&@-"c..%-$eN[%@@@@@@@@@@@,,kS@1,@3)G@A@A,@-,t @ ,- ,{c@ 8 N@A@ V5@--k@  V5-4@A@AB @--  .@P J/@A@ *@-'- 9@ *^/^@A@A @-0- B@  -7-%@ 9@A@ @-?-- Q@ h._@A@ABC g7@-H-6@ g7-<@w@A@@-T-B f@-H@)G@A@Ae@-]-K o@Ee-}@A@2@-f-T x@2-Z@w@A@AB fLe@-o-]@* fLed.@A@& @-{-i@}& -o@#@A@A.iU(@--r$@.iU(-x@+y@A@0C@--|. @I0Cd.<@A@AB7F.@--7" @7F.-@#@A@9@--B-@9РJ08@A@A9L@--K6@^9L^/@A@9@--U@$ @c9Ԡh.@A@>@--_J. @ >-@ +y@A@ABCDEF/ @@-o@33E%-T-3-/-@@@@@/] @@/em@@#-i-H-D--@@@@@Ơ/ @86#l1'#l2' 2@0A=< O/@SQ05  +k() + 77%' + 77%'7! 7!7!7!7! 7 7!7 7%'ࠑ  t|T@"lt3E@ 4%lt@4-@4+r䀠----z@@@@/= @- ---@.%r/>O@/j=<@@@6@@ @ABC@@)/5 @-ؠ---@.;s/6ک/.g3X/0i0Z/)@@@@<0compare_spec_aux @--ˠ-Ǡ-@.Ot! xy.{l0W0uA@/%$ 0]@@@@S. @.--ݠ-@.eu!6@@.D(G0l(I@@0@@g@@@@@@!@...r.].G@,!.@,)G@A@Az@...z.e+@,;z....k.U@,A6@A@@....r.\@,.@A@AB@..U@$ @.@)G@A@|]@....+@.E|]J1U@A@A|d@....+@-|d^0@A@|e @....+@,|e .....@,7-@A@ABC|e@....,@-|eh/@A@,@..sW@ h,..z^F@ o8 N@A@Af@.....@-f.@-w@A@ V5@..nV@ V5/@A@AB @/.v@; J1@A@ *@//$@ *^1I@A@A @// -@ /"/y@9@A@ @/*/<@ h0J@A@ABCD g7@/3/!@ g7/'@w@A@x@/?/-//,c@-x/3@-)G@A@AO@/G/5/!/ ,k@-7O͑/g@A@@/P/>b@/D@)G@A@AB`}@/X/F/2/,|@-`}/L@-w@A@e@/c/Qu@Ke/@A@A2@/k/Y }@2/_@w@A@@/t/b/N/9/#@.[͠d0"@A@ABC fLe@/}/k@8 fLed0+@A@%2cq@//w/c/N/8@-%2cq/}@-#@A@A& @//2@& /@#@A@,!@///u/`/J@. ,!/@.+y@A@AB.iU(@//D/@.iU(/@+y@A@/_@////s,@./_d0\@A@A0C@//WB&@r0Cd0e@A@5O@////,@-5O/@-#@A@ABC7F.@//iT8@7F./@#@A@78@/////@/Z78J2j@A@A7̴@/////@.7̴^2@A@7<@/////@.7@00'@`>0 @b+y@A@ABCDEFG!X!E0!EA2 @2@2NWV@5.//@@O!M]/0#@@@/@u֑/@w:@A@AR@/@R/@A~@A@@/@ڑ/@B@A@ABv@/0300@.kv/@.m;@A@a @/u@a /@ nZ@A@A )5 @/0D0/0@. )5 /@. nZ@A@%@/0L07-@/Y%/@/[;k@A@ABC߿@/@߿/@#U@A@y2@/%@y2/+@ ?~T@A@A@/1@y/@{$[v@A@{[@/:% @{[/@:@A@AB{c0@/B-@U{c0/@WA~@A@{c@/L7@X{c/R=! @^@A@A{c@/XC'@f{c0@hB@A@e=@0aL0@<e=0@>%li@A@ABCD@0 00-@.ɑ0#@.;@A@Bز@0000@0YBز0.@0[:@A@AB.@0000@/B.05@/A~@A@B@0#000@/Bඑ0=@/B@A@AB@0*00. @/Z0D@/\ nZ@A@ w@04~b@( w0N@*#U@A@A!Nk@0<j @!Nk0V@$[v@A@"_@0Es@"_0_@%li@A@#UK@@ #UKhS fB0 @ :\  (11@!#UC0   / @#UH A @#UJ!M M1<17@)4323P@A@ABCD%@01)10@/%0@/#U@A@&S@0141.~@.&S0191$1@.0@A@A'i@01>1)1@/T'i0@/V$[v@A@'p@01F11.@0'p0@0:@A@AB'x @01M18.@0R'x 0@0TA~@A@'x@01V1A.@/]'x01[1F10@/bB@A@A'x@01`1K.@0`'x0@0bB@A@'k@0/@J'k0@L;k@A@ABC('z@01p1[1E@0;('z0@0=%li@A@.1b@0A,@.1b0@;@A@A5 .@0I4@5 .1@ nZ@A@6_y@011v.@06_y1 @0#U@A@AB7G@011}.@/7G1@/$[v@A@8^I@1bM1@}8^I1@;k@A@A8@1 11.@0n81$@0p%li@A@>&,G@1111@0>&,G1,@0;k@A@>@1zeI@>15@;@A@ABCDEFG@A@@1918@A@(Raw2Sets1F1&@A@@4)@@@AA@@A@4' @4&@3 @1{1Zʠ@@@@@3 @0@3<@(eq_equiv!611mݠ0-@@39@@(35 @34@30@211B?@@@@@AA@@A@3+ @0@0@+lt_strorder11XU@@3a@@3  @0@0@)lt_compat91ɠ1kh@@0@@)2 @2@0,@Q7à1۠1*}z@@@@@;2 @0@0>@,compare_spec=3g11͠=@@@@@N4' @0u@0qQ@&eq_dec v21P@@@@@@@@@@2j2y@A@kR@2p@kR@A@Ar@2s@r@A@sV@2w@sV@A@AB @@4K 2@A@꾶@@4꾶2@A@߫@@4t߫2@A@AB(@2@(@A@.l@@4.l2@A@ACD" @5=@54Gh@D252נԠ@@M㠑@@%@@%@A@A@A@@L@@.@@.@A@A@@@A@2@@2@A@7@@7@A@ABC@A@*Raw2SetsOn@A@@@H'@@)n@,@)n@A@A@A@@G'@@v,@-@v,@A@A}@@}@A@~0@@~0@A@6@ @6@A@ABC@A@+WRaw2SetsOn(@A@@@@@@Р"t_,<@@/C7@@#Mkt$this"%is_okI4@@@AB@ BB@3#@!> C@@@@@AAB@BA@@@@@@@ @5Λ57h3@@;> C@@$%@@@@@"5J4"߷2y5/@"ᐐ +k= R '>''+k6'Р@T8'|@@;<.ABp}@R)fx220@@@@@6R @980;:<@c>*!5|f#d5@FE +k= R '>''+k7 7$'РB@ŭ@@opKbABp@|{|HdN@"Ok 32lޠ̠Ǡ@@@@@u6@ @v@H1D3<3ޠ۠ܠ@@@@@$ @5ٚ@#> -&@6m> 5e@5 &6 H+k()7 7%'TdR@"In t3m3L 8. @@@@@Š @&,"0-$l34ˠ@$> !6 54@&8"<961 +k() +7T' 7! 7!7%'p@#eltSt@7‹dP33EBndRMC0@@@@@ @&b"fc$i@556@/ +k() +7T' +  7!T'7%'*t'd3Ƞ3jgwrhU@@@@@  @' $5T@ `+k+7T' 7!7$'NdK@ V@#notШL33ѠA@@@@@ J @@6'76@ @ +k() +7T'+  7!T'$'ztwd43g٠Ǡ @@@@@ p @&'\ة߷6@( +k() + 77%'  7!7%' @#andЖw@t @"ex @|th4O4.@@@@A@@ $! @6' @6'' Y@#mem Stdd4w4VƠB8&!@@@@@ Ϡ# @7;'7A8$@ _s6@>a##@7'N'JJ |+k()7 7 7" 7 7!:'@#add Kd@&add_okڤDTx@ {d44 \Y{idZG@@@@@ #А @7W~'zCx%@n@@:8@&remove[,ZdӠTx@)remove_okMD7d44Π>|@@@@@ G$ @7w%R@%G#@7 @+k7 7 :'@,singleton_ok4.X@)singleton)Xmh54mߠ͠Ƞ@@@@@ v# @(aݷ#ީA"B%@jH"@(o#쐐 +k()7 7 7 7 7 7 7 7!:'3@(union_ok+1њh>|\L|l?@%union m5Z59% @@@@@ #ϐ @($㠩<%@|:@86h@%inter jn@(inter_ok-e'9hy|\Lנ|l55nޠ1.ZP>9/@@@@@ 砠# @(N$ROgq%@c%6o@mk@'diff_ok5rh|\L@$diff , |l5Ġ5fcsndQ@@@@@ # @)$N@) $) T+k()7 7 7%'@%equal p@٠td55ˠ;y@@@@@ D# @)/$V@(&@&subsetd@td65`ܠҠ@@@@@ i&= @a&r@p@Ր<67:k@%empty ېL"@(empty_okԐD6=6ߠܠݠ@@@@@ &C @)b]@됐 8+k7 7$'IXG@(is_empty8Pd6b6A-# @@@@@ ! @)!m@)#'*(k@(elements5dvX66hؠ+(TJ83)@@&@@ ᠠ!| @)H@)J!'NX@&choose*d66QNzp^YO<@@!@@ $ @V@j7@@$@{$)w9.91@ $*| L+k()7 7&'Ȑd@$fold jx660n@@V@@)@A@A@+A.hBb@A@@ ?" @**@*,"@(cardinaldX7 6[נ͠@@@@@ d$ @$f@*N*Qͩ˩'r@.R@$q !Tx@&filterdd(@)filter_ok>OcuKd@-partition_ok1>cuJ@)partition/}t@ L &|t˰Xd "@#fst ܠ/D +@#snd77̠<z@@@mA#@AnA#@pA ӳ2[9@tA Գq\9@ABC@@ QA @8 7[נ͠@@9q@;)@:9k;,:ͩ9m:©-e9h@@@A9c@AA*@A@9h@ABC@@ v: @v@!x>@@.@%EqualJr~8<8ޠ۠ܠ@@@@@ :L @8O8.@A:@;> 8@@@A:@A@@ : @"s0@Ѱ@@@@D'$!::ݩ::+(" "+#s'0,ɩ:*2; :; ':(":+_::+,-A+;-ܰ+ũ 2:;+@@@@@@@@D+s+϶,-+ҩ'5:;(:̠ A2+:Ð;,ǩ-+ީ&242+Ω,%:ΐ%lemma:.++ :@9iff_flip_impl_subrelation2VA. +> +婚:}@(symmetry0xj;t::@-iff_Symmetric!x-;W)$@b'k;9٩M;"'p.(;:@'eq_rect=߀;" =;;p'};p9_;";2.:;;" ;7;z;z-.@,)K,-IHFD:Z@2subrelation_properJ7(;;:X;;:Q:Q;!.Morphisms_Prop:@0not_iff_morphism Z:b;;:[&K;;;&L@$impl7o:.@$unitUe@A:|@6subrelation_respectful>6z ;;:p:p:@0subrelation_reflv ;:w:woifZ-uȐ#Heq;N@;!y,i,Ws,S;T@; X,oy,];;.,q,_,[Ȑ"H1;_@&eq_ind J,{,i:J,|,",~;;Ҡ;j@$Truey@-gA,r;-j-q-l;C;u'@, 됐 +k= RA'> +''= R '>G 7!= R'+'+|'$''h P4G7  +Z7 77 G7  +F7 7777!L7!77"7777L7!77"7!79'''+ P4G7  +7 77 G7  +7 7777!L7!77"7777L7!77"7! '6  677777777!77777L  67777777777  67777 +k7T7 9'/   L7!77M7!L77ML +L7777%'= R'6'6''+k6'''6'+k+ 7!77"T'7!7 7!7%'+k:7!7 :7!7%'+k+7T'7!7 7!7%'@=@%Falsee@(n@AJpd@*equal_spec'Ƞ4)Morphisms'Classes@2VA젒 @*respectful%WO?Р/RelationClasses@(symmetry0xj|@J7H$H@$l@& X&Basics'Program@$flip$ @ Ģ  t ࠑ @$boolZ'@ @Pp 4Dd@@ Zࠐ@.-,@@A@A@h@G䠒=@)False_induُ0AX< XP,t_@v 4M@ J@ H~h,L&SpecifY@'sumbool7̂K@   h|@>6z`j@&eq_sym Xr@x @HXxy@y@|@C!xdt@7o젒2 t蠒@(eq_trans!y䀠:': vɠƠ֠ѠǠ@@@@@" @::: ܠ٠ڠ@B-u<;/-x@*> ;C-kŐ@@@@@ ې @:Y:8 $@ C-);/-@(R>U4<-?<Ԑ@@@@@ ې @:y:X Ƞ  D:(#@)D-0)41;Π/ΰ-@(+<-@# =<@@@@@⠠ ː @::|  ? <h^LG=*@ME@#>BQ@*>q@@@@@ ֐ @::  ] Z|je[H@kF-r<0-@*))V-()W@@@@@"Ր @:ڠ: ) | yzg@G.=p=P<0e=m2@*X> =R9F"in@@@@@A" @::۠ K  Ǡ@H.7==r=9Ӑ@@@@@"L @;`;?    + !   @K.*=<=󩚠@)>=#@@@@@Ơ" @;;` Р #  L B 0 + ! @1L.8*<9>?<נ >@)>=ک$@@@@@蠠 } @;;  E B n d R M C 0@SM.Z Xl $@@(>8(@i 0> @)>O (>"r,>#<t>%< @'?ڝˀ'>-@@X@@A@A@Sg BA(@AA@A.@(@B&@ABCD@@%  @;; /        m@N/12' 4@':M*y'0*|@@'t@@D X @;;ޠ N   ʠ     @O/:>)S@ ^=V>r X@)  `$/ `@@:@@h [ @<#< r Š     Ҡ ͠ à @P/^ڶ)v@ =y1y/b {@(-_>/U @$r> a>@@;@@ _ @/| @$ 3?̀'@@;*@@ @t>@@@@@=@ABC@@ؠ  @<.8??q?B) 7@@%@@" @<ˠ<  m j   z u k X@{U0 -M??@@%@@'" @<< 1        o@V0 ?x @26S 8@' )(? ?z ?@@(!@@G" @=< Q   ͠ à    @W0= @2Ur+(`k)ݐ@@(<@@b>E @0M ɷ+ ʩ+@0P ̶+ >4Fa @ 8ctdM ~h@'compare6 @@=7=  ٠ ֠   @@@@@( @0w (( T@'X#@'min_elt4?d=X=7    #  @@(@@( @0 " u@̐HXD@'max_eltѐd=y=X Ƞ   D : (@@(@@Π?# @0 5,9 6V@ jtdf@"lt)n@==z  = : f \ J@@@@@?& @==  M J v l Z@ XX?+ ` @?W> @@Y@@? @= = d a   q@ oY?$? yr? {@st?@@@@ FA7K@s@ABC@@"> @=ݠ=,  |   @ Z1 , > 4@L@j /@?$QQ@R@@@ cA>@A@@># @==ؠH   Ġ  @ [11 .A?@@&@@R#Ґ @> =\   ؠ Π @ \1E @ Ƕ@3^{ `@)}|P*( e@@)G@@m#֐ @>(>w ʠ Ǡ   @ ]1` ܶ@ @ @3z);) @@ "@S2@@)e@@#ِ @>F>%     @ ^1~ @38,A@@@){@@#ې @>\>;   '  @! _1 @ @3ʩ @)>+7w @@)@@#ސ @>w>VƠ   B 8 &@!$`1 +A  1@ 2@3ɰ)O@M@5@@)@@נ# @>>q 4 1 ] S A@!?a1 F@35-%@@)@@# @>> J G s i W@!Ub1 \-` ]A< cA d@3*@@22@@)@@ @@@@@?= ?/@A@kR@?F)@!OkR!N@A@Ar@?I,@!Nr!M@A@sV@?M0@!MsV!L@A@AB!@?S?A?-??@=!?G@=)G@A@z@?]?K?7?"<@<z?c?Q?=?(?@<6@A@A@?i?W?C?.?@=Y?@A@@?r?`"!!!@ ?f@ )G@A@ABC|]@?z?h?T??<@?|]JB@A@|d@??s?_?J<@>d|d^A@A@A|e @??{?g?R<@=n|e ???m?X?B@=t7-@A@|e@???t?_<@>t|eh@@A@AB,@??"C"."@#,??"J"5""@*8 N@A@f@????w?a@>Wf?@>Yw@A@A V5@??"["F"*"@  V5?@A@ @??"d"O"3@! JBZ@A@ABCD *@??"m"X"<@! *^B@A@ @??"y"d"H@ ??""k"O"7@9@A@A @??""r"V@! hA@A@ g7@??""}"a"I@!m g7?@!ow@A@A @@A @@A@꾶@@A꾶@@A@߫@@A߫@@A@ABCDx@@???=&@>Ux?@>W)G@A@O@@ ???=0@=O͑@,@A@A@@@""" &@!I@@!K)G@A@`}@@@ ??=A@>`}@@>w@A@ABEFe@@&@""" 8@!e@F@A@2@@2@ """ D@!2@&@!w@A@A@@:@(@??@?!͠d@@A@ fLe@@D@2""""@! fLed@@A@AB%2cq@@L@:@&@?@>^%2cq@@@>`#@A@& @@W@E""""@!Y& @K@![#@A@A(@@\?@"W("V@A@,!@@c@Q@=@(@@>,!@W@>+y@A@ABC.iU(@@l@Z# """@!.iU(@`@!+y@A@.l@8@B.l@@A@A/_@@z@h@T@?=@?a/_dA(@A@B0C@@@q###" @">0CdA1@A@5O@@@z@f@Q=@>5O@@>#@A@AC7F.@@@#5# # @!7F.@@!#@A@78@@@@z@e@O@@&78JC6@A@A7̴@@@@@m@W@?7̴^B@A@7<@@@@@v@`@?7@@@##l#P @",>@@".+y@A@ABCDEFG@頠#elt @B!O*FSetCompat%FSets#Coq@@!t(A@@C!M E'A@kR@ !E@!tkRJC@A@Ar@@"eqrΠ^CH@A@sV@@"ltsVhB8@A@AB!C|]D *TKFe%2cq(@#@'compare(dA@ABC.iU(D7F.9ri9_@=bnV@> @-@> h)@A@A>S@BCDEFG@A@@ACC@A@E-Backport_SetsE`C@A@@ %'A*Equalities*Structures#Coq@@@@!E[ZY@@X"%5W# @@AZe]@@;N@U@!t;NJw@!t(A@A@;@a@"eq;ʠ^@"eq(@A@;R@|n@`;Rh@@A@ABC'@@c'@A@:f@u@]:fd@@A@AD@A@@@8@@(A@@$(Ad@@A@(@@(d@@A@(E@ @"lt(Ed@@A@ABC@A@b.Backport_WSetse@@@A@@@@@@AA@@"s @,Ring_polynom+setoid_ring#Coq@@&PEeval"s @@A@AA@A@ @_@'@/C-MSetInterface%MSets#Coq@@@s@'Ҡ@@@@@3"In @@ '%@@F @2;{@F@1 AA@&}#Ġub@@@@@\%Equal @!s@2Q儀"s'@2Q儀!a@/2R{%Logic$Init@#iffС)@T2Q造AC@\2Q造B7@3F`@A1 2Ff@G1 W +k() +7T' 7! 7!7%'1p@j(t@dP])&ڠ@@@@@&Subset @e@r c]"@LEL{GD$@zF@1 yF@1 G +k() +7T' +  7!T'7%'Ct?dfcC@@@@@%Empty @r@2Q儀w@2R{@#notШ@2Q@F@1  `+k+7T' 7!7$'~dz@!LؠUB@@@@@<'For_all @!P@x!x}@{Dr_@@G"@2;{G(@ 1  +k() +7T'+  7!T'$'tdޠ@@@@@y&Exists @=; @"ex @A@#andЖw@F  9@X@Gf@Y2;{W?Gl@M1 A +k() + 77%'  7!7%'&t3| thc/, @@@)A1@D%Logic$Init#Coq@@A@@Ѡ%empty @@ 'i^sLI)@G@1 ZW7 @@@@@(is_empty @@ 1mjJ @@G@1 )Datatypes$Init#Coq@@$boolZ'@f:'@@@@@!#mem @@ &뀠РyM:@@G@2;{@H@1 4cP@@@@@J#add @@ &〠Š vc@@H$@2;{@H)@ 1 H-@1 ݠڠ{@@@@@u)singleton @.@ ѷ$͠@@HO@B2;{HS@41 7@@@@@&remove @T@ 8<JǠ@@Hu@h2;{@Hz@[1 H~@_1 b.+ ߠ@@@@@Ơ%union @@ '@uA>@@H@1 @H@1 H@1 YV6 @@@@@%inter @@ 'qrliI @@H@1 @H@1 H@1 a5"@@@@@$diff @@ &ˠtH5@@H@1 @H@1 H@1 `M@@@@@G"eq @@ '< @@I@1 @I#@1 @%Equal(&L ՠ@@@@@j&eq_dec @#@ 6gu @IE@&1 IK@,1 &Specif$Init#Coq@@'sumbool7̂K@I_@R1BA٠ؠ@@#notШIr@e1BAAY%"֠@@@@@%equal @v@ 'i6l85@@I@x1 @I@}1 ЀNK+@@@@@栠&subset @@ 8a^>@@I@1 @I@1 wtT(@@@@@$fold @@ &g;(@!AJAy@@@@I@2;{@@I@1 @琑!ޠ[H@@J@@A@A@.hB%B!@A@@H'for_all @@ 鋭àta@@@J#@2;{W@J*@ 1 ^ܠ٠z@@@@@t'exists_ @-@ `#̠@@@JO@B2;{@JV@71 <@@@@@&filter @Y@ 6O̠@@@J{@n2;{@J@c1 J@g1 j63@@@@@Π)partition @@  D}IF&@@@J@2;{݀@J@1 )Datatypes$Init#Coq@@$prodt@J@1 J@1 /wtT(@@@A ϲ6W @@A вuX@AB@@(cardinal @@ "{ɠrF3@@J@1 (@#nat@ޠ[H@@@@@B(elements @@ +a6π@@K@1 N@$list]@K%@2;{@"*e͠ ֠Ӡt@@@A al_@A@@r&choose @@ 7!@@KI@*1 ~@&option >v@KU@H2;{D@"6 :@@@A ůM@A@@"MFKlA#eqb @g!yР&Specif?@'sumbool7̂K@BAAAA@@@@@Ac#@"%󱀠?G)Datatypes[@$boolZ'@4@w@A@B\Y9 @J0@ ,CJ5@ ,) +k() 7!= R'>G'>H''+k6'Р&Specif$Init#Coq@@R7̂K@BQPOAABAAAP)Datatypes@$boolZ'@@!E)MSetFacts%MSets@&eq_dec.hѠzN;@@B!M+@@@6-q@!E@!t6-qРJe@!t"%5@A@6-yL@@"eq6-yL^ @"eq"%@A@AB@A@%&WFactsfc@A@@@A-,0@@$@6*@)$J@@A@@/@!^@@A@AB@A@@@P>6@@$@;@:$@A@@?@1@A@AB@A@)(WFactsOn,@@@A@@@@@@AA@@"s @,Ring_polynom+setoid_ring#Coq@@&PEeval"s @@A@AA@A@$In_1 @E tPI8*@t@IO@V> hT@m> -Y@r> -@J@x @e@> !=yk@> !CE@@@/C-MSetInterface%MSets(AviA)Morphisms'Classes.@A@@V%mem_1 @WT4~p@A@> @> -@@> !q@ @6@> 8)@@@@@%mem_2 @e9&Ǡ@B@> ߚ@> -@,]@> P@> !d@@@@@'equal_1 @eR۠@C욠@> ꚠ@> @@>]@>U4@@@@@ࠠ'equal_2 @ޠD @DD@&> $@+> @,@>U41@5>-@@@@@ (subset_1 @A  pLE4&@pEEK@R> CP@W> @V@ =穚]@Yڐ@@@@@8(subset_2 @m96נxq`R@Fqw@~> o|@> @ݰ@@( =@@@@@d*is_empty_1 @ebBȠ~@G@> @@ >BQw :@)-@@@@@*is_empty_2 @i=*ˠĠ@HĚ@> @+\@@)O@9>BQ@@@@@%add_1 @dQڠ@I뚠@>  @ > -@ > -@L@  @3> !ש @"> @@@ %'A*Equalities*StructuresA݋X_A/RelationClasses@A@@%add_2 @ (ѠW3, @WJ, 2@ 9> K 7@ P> -嚠 <@ U> -@ B@o> ! G@t> ! M@c> @@@@@(%add_3 @ ] ) & ڠǠhaPB@Ka g@ n>  l@ > - q@ > -@ŐM@  @ @> !P @>   @> !@@~@@e(remove_1 @  f c C  ɠ@L @ >  @ > -W @ > -@MO@ F @> ! @\@@@@(remove_2 @ Ѡ   z N ;ܠՠĠ@M՚ @ >  @ > - @ > -@9M@ @ @ > ! @ &> !ѩ @@@@@۠(remove_3 @  ܠ ٠   z?@?N  @ !> 3 @ 8> -͚ $@ => -@ *@ W> !  0@ 5@ b> !B@@@@@+singleton_1 @ E      tPI8*@tOc O@ h> - T@ m> -@ Z@ > ! 3 `@KG=rN@~ a@@Y@@@+singleton_2 @ u A >   ߠyhZ@P @ > -- @ > -@N%@  @ > ! ` @G= m@@@@q'union_1 @  r o O # ՠ@Q  @ >   @ > Κ @ > -@ @ > !  @`>© @"or @ @ > !ਗ਼ @ > ! d@@@@@'union_2 @     e R۠@R 욠 @ >  ꚠ @ >   @ > -@ @ /> ! ۩ @ 4> ! ة @> ! @@@@@頠'union_3 @    Ǡ  M)"@MS " (@ />   -@ 4>  F 2@ K> -@ 8@ e> !  =@ j> !  C@>6@@@@@'inter_1 @ S    Р ^WF8@T W ]@ d>  U b@ i>  { g@ > -@ m@ > ! F s@>o x@ > !@@@@@S'inter_2 @  T Q 1  {m@U  @ >   @ >   @ > -@ @ > ! { @> @ > ! 9@@@@@'inter_3 @    f : 'Ƞ@V  @ >   @ >  嚠 @ > -@ @ > ! @ @ > ! i @ > !  @W>} @@@@@Ġ&diff_1 @  Š    v c(@(W  @ >   @ >  ! @ &> -@ @ @> ! 쩚 @]> @ K> !+@@@@@&diff_2 @ .   נ  ]92!@]X 2 8@ ?>  0 =@ D>  V B@ [> -@ H@ u> ! ! N@>J  U@ > ! @@@@@0&diff_3 @ e 1 .   ϠpiXJ@Y i o@ v>  g t@ {>   y@ > -@ @ > ! X@ Ӑ @ > !  @ > ! d @>@@@@@m(filter_1 @  n k K  Ѡ@Z  @ >  Ś @ > -!f@ @ > -H@F@&ProperL@Pb@  ,V @*respectful%WO?Pm@  ,aPq@ 6g @ @ > !  @ 񩚠 @ > !@@@Av@A@@Ơ(filter_2 @  Ǡ Ġ  x e*@*[  @ >   @ #> -Y@ @ )> -@W@P@  ,QP@ % ,P@ ; L @ (@ U> !  .@ ;  E@@I@@ (filter_3 @ B     qMF5'@q\ F L@ S>  e Q@ j> -@ W@ p> -@@P@ f ,Q@ l ,Q@   A@ o@ > ! @B u@ > !  {@;  F@@@@X)for_all_1 @  Y V 6  r@]  @ > @ @ > -,@䰶@Q@@  ,4QF@  ,:QJ@   @ @ r Ϛ @ > -L : N @-__A@@@@)for_all_2 @ Ԡ   } Q >ߠؠǠ@^ ؚ @ > -@ @ > -s@+@Q@  ,{%Q@  ,Q@    ζ@W @ -_ {@ 'r  @"> -i   @@#@@砠(exists_1 @   Š  K' @K_ &@-> u@,@E> -@s@Q@; ,émQ@A ,ɚQ@ W h @D@ + 3?̀ ^J@c> - !۩Q@ =+Ռΐ@@h@@,(exists_2 @a-*  ޠ ˠleTF@` ek@r> @q@> -@@R@ ,R@ ,R@   [@@ w+Ռ @ w 3?̀ @> - @@@@q*elements_1 @roO#ՠ@a @>  ɚ@> -@@ > ! *SetoidList%Listsv@#InA q9@Rg@ ,Rk@   @ڝˀ@@@@Ai0A@A@@*elements_2 @fSܠ@b 횠@>  @> -@>R@ ,R@   ۩@ &ڝˀ  @:> ! @@8@@蠠)In_eq_iff @ƠL(!@Lc!'@.>  @,@E> -ښ1@J> -@R@ P ɩ!>@k> !٩C@p> !P@@@@'mem_iff @SР^WF8@dW]@d>  vb@{> -Li@> !:ɰp@ > A@@@@@K+not_mem_iff @LI)se@e@>  @> -y 䐩@> !i )@ > p @@@@@z)equal_iff @{xX,ޠ@f@> @> @> W% V@ o>U4 ^ I@@@@@*subset_iff @ܠYF Ϡ@ g@> ޚ@> ՠ@ = R @ s  v@@@@@Ԡ)empty_iff @ ՠҠs 8  @ 8h'@,> -@G> !󚠐@ >q @%Falsee@@@@@@ ,is_empty_iff @5ޠ d @ 9 ( @ di9?@F> )F@>BQ שM@ ) ʐ@@@@@ (-singleton_iff @])&ڠǠ  h a P B@ j{g@> - l@> -Vs@> !Ly@ dG=T@   @@r@@ Y'add_iff @ZW7      s@ k@> @> - K@> -@> !@ > ;頩TQ@   H@> !@@@@ +add_neq_iff @ˠtH5  ֠ Ϡ  @ lϚ@> @> - @> -@3T@   yѠ@> !@ >  @&> !@@@@ Ԡ*remove_iff @ ՠҠs 8    @ 8m @> ,@1> - ƚ@6> -$@Q> !*@ 1@^> ! T@ Q  ʐ@@,@@ .remove_neq_iff @HŠ w S L ; -@ wnLR@Y> kW@p> - \@u> -@T@ }  Nk@> !<q@6 v@> !@@j@@ Q+for_all_iff @RO/    y k@ o@> ߶@@> - %@ݰ@U9@ , -U?@ , 3UC@  @rɚ@> -  F@ -_H 9@@@@ *exists_iff @̠uI6  נ Р  @ pК@> %@@> - k@#@U@ , sU@ , yU@ Ʃؠ@ 3?̀@> -@ҩ [ @ +Ռ @@@@ ݠ,elements_iff @ޠ۠| A    @ Aq@#> 5!@:> - (@U> !mU@5 ,U@K  7@ UڝˀI@@b@@ %mem_b @GĠ v R K : ,@ vrKQ@X> jV@o> - [@t> -@U@z    򩚠h@>  m@> z@@@@@ H'empty_b @}IF&    p b@ s 0@> -  @> 造g@">q @@@@@ n%add_b @olL   Ҡ    @ t@> ƚ@> - `@> -  H@> 造@> P S@#orbW @ 5ᖊ c@> @@@@@ )add_neq_b @cP    ٠ @ uꚠ@>  @> - @> -@NV@   b  @H> 造ک@%>  @S>  !@@@@@ (remove_b @$͠ S / (  @ Sv(.@5> G3@L> - ᚠ8@Q> -  ɩ?@~> 造E@ ѩ @$andb=Q@> * @$negbX @ 5ᖊ @@@@@ 9,remove_neq_b @n:7ؠ  y r a S@ wrx@> }@> - +@> -@֐W%@    @> 造b@\ 2@>  @@@@@ w+singleton_b @xuU) ۠    @ xʚ@> - d@> -  L@> 造@G=کX @ 5ᖊ `@@@@@ 'union_b @ޠ[H    Ѡ @ y⚠@> @> @ > - R @8> 造ҩ@> ;@E> ߩ @J> ܐ@@@@@ 栠'inter_b @Ġ J &   @ Jz%@,> *@1> C/@H> -  6@u> 造<@> 8C@> H@> @@@@@ #&diff_b @X$!ՠ   c \ K =@ {\b@i> Zg@n> l@> - ̰ s@> 造Ly@> u4@> Y/@> X@@@@@ b*elements_b @c`@ Ơ    |@ |@> @> - 7@> ~$List@'existsb XV@ ,Y@x5ᖊ@ڝˀؐ@@@ A=\@A@@ (filter_b @ڠWD   ޠ ͠ @ }ޚ@> @> -8@@> -~@6@X@ ,0X@ ,X@ +٩ a@G> 造ਗ਼@  ɠ@T>   @@-@@ )for_all_b @&ϠU1* @U~*0@7> @6@O> -Ŷ@}@X@E ,ͩwX@K ,ӚX@a r  ٩O@g-_۩@'forallb?[/Z@s> -*_@}ڝˀ ʐ@@@@Aw@ V@A VAIPA@@ [A1@DR@ABCD@@F(exists_b @{GD$n`@@> Զ@@> -@Ұ@Y.@ ,"Y4@ ,(Y8@ u .@+Ռ0@> -z@ڝˀ @@P@@$In_m @h<)ʠà@@ @Yf@ ,@@>  Yq@ ,@@> Yz@  @> @>Қ@> !@@@@ @AB@@ʠ'Empty_m @ˠȠ|i. @.A J@ @> & D@> ,@>@{>BQ@@@@A 1@ Aۓό^@ @ AРD.Morphisms_Prop@ABCD@@*is_empty_m @6ߠeA:)@eB @B@I> ѩ {H@O> ךL@P> vP@)@@@@+%mem_m @`,) ݠʠkdSE@C @Z@s ,@q@x>  Z@~ ,@|@>  Z@  @> @> @> 逐@@@"@A"A }@ @w@ @ABCD@@o+singleton_m @pmM!Ӡ@D ﰶ@ZK@ ,@>  ZU@ ,@> Z]@ @>@G=@@@^@A @@ @ABC@@%add_m @ޠ[H Ѡ@ E )@Z@ ,@@> @>  ,Z@ ,@@> @ > Z@  ? @> @> @>@>@2> တ@@R@@(remove_m @,ՠ[70@[F w@Z@? ,@=@D> A@H>  zZ@N ,@L@S> P@W> Z@m  Z@a> ^@e> b@f>f@j>j@/@@@@E'union_m @zFC#~m_@G Ű@@> @@> @>  @> @@> @> @> @> @> @>@>@R>@@@@'inter_m @ȠqE2Ӡ̠@H @@> @@> @>  @> @@> @> @> )@> @> @>@>@u>@@<@@ᠠ&diff_m @ߠE! @EI a@"@)> @'@.> +@2>  d1@8> @6@=> :@A> >@B> wD@K> H@O> L@P>P@T>T@>@@@@/(Subset_m @d0- ΠohWI@J @p@w> @u@|>  {@> @@> @> @> @>w@1 =@@%@@m(subset_m @nkK Ѡ@K @@> @@> B @> @@> M@> @> W@> @J@@@c@dA@D@ABC@@'equal_m @aNנ@L /@@> @@>  .@> @@> @> = @> @> 8@>U4@@B@@,SubsetSetoid @"ˠQ-&@QM@(PreOrder@4@;> 8@ =@@@@A@@+Subset_refl @@2PreOrder_Reflexivevv^@U&wb@3 @B 1J̀_+(ܠ@7@)ReflexiveWj@q> n@  = (6777"kA@!t|T@&SubsetǐLf@r#nDv'Classes@Jvv\ebBȠ~@@e@@x,Subset_trans @@3PreOrder_Transitive4(ۀd|\0@@*Transitive++-@> @a =TSTA@#4(ې\SLPDܠYF Ϡ@@@@&In_s_m @mZ@N ;@]@ ,@@>  :]@ ,@ @> ']@)  I@> 1@ =&Basics'Program@$impl7o(@U> !@@;@@)Empty_s_m @8gC<+@gO @D@K> _ }J@Q> e1@$flip$U@\> Y@`> t]@ =Ca@>BQ@@@@A!s̓PJ@A!t QN@ABC@@E'add_s_m @zFC#~m_@P Ű@^!@ ,@@> @>  ^0@ ,@@> @> ^=@  @> @> @O =@S =@> တ@@@@*remove_s_m @ȠqE2Ӡ̠@Q@^o@ ,@@> @> ^~@ ,@@> @> ^@  )@> @> @ =@ =@@@<@@ᠠ)union_s_m @ߠE! @ERa@"@)> @'@.> +@2> d1@8> @6@=> :@A> >@ =wD@K> H@O> L@ =P@ =T@>@@@@/)inter_s_m @d0- ΠohWI@S@p@w> @u@|> y@> @> @@> @> @+ =@> @> @9 =@= =@>@@@@}(diff_s_m @~{[/@T@@> @@> @> @> @@> @> @y =@> @> @> @>  @ =@ =@>>@@@HA@ۿ`J@A@Q@@ABAۀߠK@9@AA @AڠP@ABCA@@A@+@ABA@@A A@A@A@A@A@ABCDEF@@,filter_equal @0٠_;4#@_U@_@B ,ʶ!H@_@L ,ԩ~_@R ,ښ_@h y'@V@]> Z@a> `@g> d@k> h@l>l@p>q@1 @@@@L-filter_subset @MJ*tf@Vն@`'@ ,QӰ@`/@ ,#`5@ ,)`9@ v䰶@@> @> @> @> @V =@Z =@ Ґ@@@@*filter_ext @РyM:۠Ԡà@W$@`v@ ,j"f'`~@ ,r@*@`@ ,z$`@ ,`@ Ŷ@`@ ,[̶@ > @> @ @>@>@ G񩚠@ @@V@@@@@@`@ @@8a*5ޠ@4ba@B1 Tbg@Z2;{bm@`2;{@`@X BA@b|@1o.jb@1o4񐑠3g30@@@@@ˠ'eq_refl @H@5Equivalence_Reflexive+g30@fd@t1 ed@z1 @d@e&耠BAᩚd@/H]VA-_\<@@@@@5 @I@=>,qnN"@d@1 d@1 @2d@5/HBAAd@ee&耠-ѠzN;@@@@@5'empty_1 @@*empty_specWbO@e@L韀e@~Š vc@@@@@]o @@w9y$ נԠu@ e7@ 1 @e=@y韀AweH@,(ꀐ󜠠~A& 0٠@@@@@ @@9y$ B  @Aen@ O1 @ɀex@,(ꀐAAe@韀-& g 3 0 @@@@@ˠ @@9%qꀠ y E B "@xe@ 1 e@ 2;{3e@ 2;{@d,@ BAe@1oje@25/w2  v s S ' @@@@@  @`@9%q뀠    e 9 &@e@ 1 ۚe@ 2;{ve@ 2;{@e@ 1oACf@ 1of@25/2     j W@@@@@ Q @@9%q쀠  ˠ Ƞ  | i@f+@! 1 f1@!$2;{f7@!*2;{@րd@& BA@fJ@ Q1ofP@@25/ >fV@ ]1o Ő=!;!!   @@@@@  @@]B!M!!  ʠ @ Lfy@!Z1 lf@!r2;{f@!x2;{@e@p BA,f@ 1o Bf@<ٸ> O6!!N!K!+  @@@@@ 栠 @8@]B!!`!]!=! @ f@!1 f@!2;{Nf@!2;{@keK@ BA@f@ 1o ͩf@ 1o f@ٸ>Z=!Р!!!y!M!:@@@@@!4ϐ @@]B!!!!!_!L@ ᚠg@!1  g@"2;{g@" 2;{@g @!'1oAg'@ٸ>BCg/@!61o  3"!!ݠ!!!~@@@@@!x} @@܀"&!!!Ϡ!!@!%gR@"31 !$gX@"91  Kg^@"Q2;{@gd@!k1oAgk@&mQCB @"or @g{@!1o!& ig@!1o!,!3A"f"2"/"!!@@@@@!ʠ @ @݀"x"D"A"!!!@!wg@"1 !vg@"1  g@"2;{@g@!1oACg@!1o!ig@8&mQ !v2""u"r"R"&"@@@@@"  @ _@ހ""""d"8"%@!g@"1 !g@"1  g@"2;{@g@"1oABh@"1o!h@{&mQ !2"""""i"V@@@@@"P @ @/""ʠ"Ǡ""{"h@!h*@# 1 !h0@#1 !#h6@#)2;{@h<@"C1oAhC@NCBhK@"R1o!!93#0"""٠""@@@@@" @ @/#B## """@"Ahn@#O1 "@ht@#U1 !ghz@#m2;{@h@"1oAh@NCBh@"1o":"A3#t#@#=#""@@@@@"ؠƐ @ *@/##R#O#/#"@"h@#1 "h@#1 !h@#2;{@h@"1oAC@h@"1o"x"h@"1o"h@ "NH!ǐ9####g#;#(@@@@@#"Ԑ @ t@#Р###y#M#:@"Ϛh@#1 "Κi@#1 !i@#2;{@i@#1oAi@ 3<뀠CBi@#$1o"" 3$#Π#ˠ###l@@@@@#f @ @$##ݠ###~@#i@@$!1 #iF@$'1 "9iL@$?2;{@iR@#Y1oAiY@ w<뀠CBie@#l1o##7$J$$##Ǡ#@@@@@# @ @$\$($%$#٠#@#[i@$i1 #Zi@$o1 "i@$2;{@i@#1oAC@ <i@#1o#R#Yi@#1o#_i@ <뀠""=$$d$a$A$$@@@@@#b @ N@j3h܀$$v$s$S$'$@"Úi@$2;{^i@$2;{@i@#1oAi@!nQBhe@ ##,$ՠ$$$~$R$?@@@@@$9o @ @w3h݀$$$$$d$Q@#j@%2;{j@% 2;{@h@ BAj'@$.1o#ҩj-@!nQ#ߐ,%$ޠ$۠$$$|@@@@@$v&fold_1 @$/@)fold_spectO%&$$$Ϡ$$@$%jR@%31  nB$@@!iA@je@%X2;{@$#SCjp@ & &%%%@@@&Am,*SetoidList%Lists#Coq@@A@@%\ @ @d*\&Z&&&#&%נ%@%Yk@&g1 $yk@&2;{@k@&2;{#ǀ@gj@] ,j@ A@k@%1o%[k@!I4j%Z$ !%f$#AD&&i&f&F&&@@@&cA_@A@@&l @ U@t*\&&}&z&Z&.&@%k@&1 $Кk@&2;{ @k@&2;{$@jj@ ,jn@ A@l@&1o%$@\%$$=Al@&1ol@!4j%uK&&Ǡ&Ġ&&x&e@@@&A@A@@&a @ @7SIĀ'&۠&ؠ&&&y@&l;@'1 d@lB@'52;{$v@j@  ,j@ 6 A@lX@%Vـ%Ll_@'R2;{!&&$A&€"Blq@"c0&#%_$AK'Y'%'"'&֠&@@@'A@A@@& @@7SIŀ'm'9'6'&&@&ll@'z1 ¶@l@'2;{$Ԁ@tk @j ,k$@  A@ "l@"0&e&l$Al@%ـ%l@'2;{ $.%&%A%K''''`'4'!@@@'}Ay@A@@' @o@u%'ˠ'''t'H'5@&ʚl@'1  @l@'2;{%2@Ҁk~@ ,k@  A@m@% Z&m@(2;{ u!&ѐ&Ӝ%VA&թ ~"ҩm-@".3ဠ&&%cAK(''ޠ'''@@@'A@A@@'{Ő @@u%()'''Ҡ''@'(mU@(61 ~@m\@(O2;{%@0k@& ,k@!P A@ ǀ#mv@#<.3ဠ'!'(%Am@&@ Z&sm@(y2;{ .&x'>%A&|K(s(?(<(''@@@(9A5@A@@'٠+partition_1 @'@/partition_spec18OԻ((U(R(2('@'m@(1 ޶@m@(2;{%@l<@ ,l@@! Am@'Zb&@#fst m@(1 m@(1 m@#R$l ''m@#4j''J(Ѡ(((z(N(;@@@(A ӳ2[#&@(A Գq\#*@(A@ABC@@(?+partition_2 @'@/partition_spec28OԼ(((((l(Y@'n@(1 D@n"@)2;{&V@l@ ,l@" An7@(Zb&l@#sndnC@)$1 nG@)(1 nL@#$l ''nR@#4j'FnY@)L2;{&@$negb(((Y)F))((à(@@@(Au@(As@)A @ABC@@((choose_1 @(i@,choose_spec1<愀)`),))) (ݠ(@(_n@)m1 'n@)2;{@ 퀰#Nn@)2;{n@#j(တB#\An@)2;{An@(1o(^(e:))d)a)A))@@@)^A#^@A@@((choose_2 @(@,choose_spec2<慀))z)w)W)+)@(n@)1 @ 5#n@)2;{n@#(တA#Bn@)2;{n@(6韀(3)ߠ))))\)I@@@)A#@A@@)EJ @@R䀠)))))p)]@(򚠐o@*1 (o%@*2;{@o+@)21oAB@#InA q9@m@ ,m@## (詚oC@$;E(6*()))Ѡ))@@@)Ai0A@A@@)R @@Z倠*>* *)))@)=oj@*K1 (]op@*c2;{@Cm@8 ,m@#b Ao@${EBo@)1o)5)<2*o*;*8*))@@@*5AG@A@@)ՠ+elements_3w @)@/elements_spec2wb **Q*N*.*)@)o@*1 @&NoDupA @n2@| ,n6@# o@$EA)**x*u*U*)*@@@*rA@A@@*"lt @C**o@ 'Ā*à**@@o@*1 @o@*1 )ᐑ*Ԡ**@@@@@*5'min_elt @#@ )T***@@p @*1 $Àp@+2;{**Ġ*@@@*A$@A@@*['max_elt @I@ (怠+ *֠*@@p2@+1 $逐p:@+-2;{+**@@@*A$@A@@*)min_elt_1 @o@-min_elt_spec1HS[+1**@*-pZ@+;1 )Mp`@+S2;{@ Ypk@+^2;{pp@u=#B%*Ap{@+n2;{Ap@*1o*,*37+f+2+/@@@+)A%)@A@@*ɠ)min_elt_2 @@-min_elt_spec2HS\+y+E+B@*up@+1 )p@+2;{%0p@+2;{@ p@+2;{p@=#C%xAp@+2;{B@p@*1o*{)'ooO@+! 0*)ȐH+++@@@+A%@A@@+")min_elt_3 @@-min_elt_spec3HS]+Ҡ++@*Κp@+1 @ Vq@+2;{q @=#A%Bq@, 2;{q@*W韀*Ɛ0,+̠+@@@+A%@A@@+c)max_elt_1 @Q@-max_elt_spec1],+ߠ+@+q<@,1 */qB@,52;{@ qM@,@2;{qR@1"0B& Aq]@,P2;{Aqc@+j1o++7,H,,@@@, A& @A@@+)max_elt_2 @@-max_elt_spec2^,[,',$@+Wq@,e1 *wq@,}2;{&q@,2;{@ 뀰cq@,2;{q@"0C&ZAq@,2;{B@q@+1o+]*(Qp1@, 0*+nH,,m,j@@@,dA&d@A@@,)max_elt_3 @@-max_elt_spec3_,,,}@+q@,1 @8q@,2;{q@"0A&Bq@,2;{q@+9韀+0,,,@@@,A&@A@@,E*elements_3 @3@.elements_spec2J,,,@+񚠐r@,1 &Sorted'Sorting#Coq@@1ĭ@p@, ,p@,{ 0r9@'1EA,-,,@@@?w1D+OrderedType*Structures#Coq@ABA+*)@@A@@,(choose_3 @}@,choose_spec3=-?- -@,;rh@-I1 ,:rn@-O1 +art@-g2;{&rz@-m2;{@Հ'6r@-x2;{r@'R(တD'DAr@-2;{B@񀰩'Rr@-2;{r@'n(တ+'_Ar@-2;{,Z@r@,Zb &%q1@-# &++d--m-j@@@-dA'd@A@@-(lt_trans @@6StrictOrder_Transitivea@-'@+lt_strorderv---@,r@-1 ,r@-1 r@-1 @r@"1CB@s@+1,,s @11&x,P@\6L@T?D--Ƞ-@@@->AL@A@@-_)lt_not_eq @. -֠-@.@-s3@.1 -s9@.1 @s?@g1,,򩚠)ހsI@*<1&@@@-iAviA)Morphisms'Classes#Coq@@-sAۀߠK @-wA@ABC@@-'compare @-<-. @.K2Q儀-<Ȑ!c'@-CompSpec2Type2K@*l'<-#-+@ sU'꩚@,compare_spec4'𩚠'@)CompSpecTӊ-5-=Ȑ"c0&e'@*comparison;f@Р'@,CompareSpecT, /@CAAAAAA@@@@@@@@D895""$-^+OrderedType%z@'Compare8Ȃ@SS@2Q툀W@*2Q!'--i 6N#Bd '6,-z!l#!A 'G'C...@-s@.1 -s@.1 +OrderedType*Structures#Coq@@'Compare8Ȃ@Кs@.1 s@$1t@*1BA t+k()7!7!7777= R'>9'>9'>9'' +k()7777#',Dp2X<h`AABACAAAiLw\ÐToDp/.ܠ.@@@.RA AL)b@.VA?vtA@AB@@.y.̒tB.A/& @B/7.@/0(A//..@?w1D@@.@.(A/=/ /@@?w1@@A@A@@@AA@@A@+\ @$@+d(/Q//@@tz/@/[0'r@/\ ,@t/@/b0'r@/c ,-w.@.(/g/3/0@@@@@( @I@(E/v/B/?@@t/,@/0's@/ ,@t/3@/0's@/ ,-.@.(E//X/U@@@@@M" @n@*//g/d@-t/Q@/0's:@/ ,t/X@+0'sA@+ ../"@'eq_refl///|@@@@@t @@7/ //@-ؚt/x@/0'sa@/ ,)tt/@/0'sh@/ ,@t/@+0'sp@+ )gu/@+0'sw@+ .h/W@&eq_sym7///@@@@@ @@9//à/@. u /@00's@0 ,)u'/@00's@0  ,!zu0/@00's@0 ,@u8/@,+0's@,, (@u@/@,30's@,4 (uG/@,:0's@,; (./@(eq_trans90///@@@@@ @@6n~†0>0 0@.Tug/@0H0's@0I ,)𚠡un/@0O0's@0P ,Guu0@0V0's@0W ,@u}0 @0's@ 0(T@u0@0's@ 0(\u0@0't@ 0E/@(lt_trans6n~0s0?0<@@@@@4u @U@}8E耠00N0K@.u08@00't!@0 ,*4u0?@00't(@0 ,@u0G@0't0@ 0*'.萩u0P@,0't9@, (0@)lt_not_eq8E00v0s@@@@@ks @@{ր000@.Ϛu0o@00'tX@0 ,*ku0v@00't_@0 ,>Кu0~@00'tg@0 ,u0@0'tm@  0u0@,0'ts@, //0S@'compare֠000@@@A?vtAZ@A@@,ߐ @@,700à0@/ v 0@10't@1 ,*v'0@10't@1  ,*v00@-#0't@-$ */^v90@-,0't@-- *0@&eq_dec71 00@@@@@@@@@@vI0t@A@0'@vM0@00'0@A@0'@vQ0@00'0@A@0'@vU0@00'0@A@ABC @@@J,P@ @AB@@A@B@+@A+@Be@c@,@AB(@ @ACDE @ @@AB @ @AC+@+7@ f@A.@(@ABCD,d@ @A;B,f@6B @ABEF@3r>@vv1t@AB@kR@3T\@A@Ar@3TY@A@sV@3 TW@A@AfhQrz@BCf~rv@!@3 3@A@z@33@A@ABrw@@2r@A@ACD@22@A@|]@22@A@A|d@22@A@|e @22@A@AB|e@22@A@,@2ӑ2@A@ACf@2ő2@A@ V5@2‘r@A@A @22@A@ *@22@A@AB @22@A@ @22@A@ACDE g7@22@A@ @2r@A@A꾶@2r@A@߫@2r@A@ABx@22@A@O@2r@A@AC@22@A@`}@22z@A@Ae@2yr@A@2@2p2j@A@@2j2e@A@ fLe@2c2]@A@ABCDE#B-r@%2cq@2`2[@A@A& @2X2R@A@B(@2QT@A@,!@2P2K@A@A.iU(@2J2D@A@BC.l@2?r@A@/_@2A2<@A@A0'@v1n@1T0'10@A@0'@v1s@1M0'11@A@0'@v1w@110'10@A@AB0C@2F2@@A@5O@2>29@A@ACDE6+r@63r@A7F.@2;25@A@78@222-@A@AB7̴@2+2&@A@7<@2%2 @A@A9@22@A@9L@22@A@A9@22@A@=bn@22@A@>@21@A@ABCDEFGH@@@@J-@ _@AB8!@8!U-RelationPairs'Classes#Coq@@A@C9!@9!àV @A@@#|@@#|]@A@A#@A#^@A@AB ӳ2@ ӳ2[)Datatypes$Init#Coq@@A@ Գq@ Գq\ @A@ACD@cA,Ring_polynom+setoid_ring#Coq@A.0TQ+Ring_theory+setoid_ring#Coq@@ABA.U>[J @5A8ӠA4Relation_Definitions)Relations#Coq@@AB9A @8A @A@@ABCE F@/DecidableTypeEx*Structures#Coq@'N_as_DT-OrderedTypeEx*Structures#Coq@'N_as_OT@A)Nat_as_DT )Nat_as_OT@.Positive_as_DT.Positive_as_OT@A&Vector'Vectors#Coq@/VectorNotations)VectorDef'Vectors#Coq@ @.'Z_as_DT''Z_as_OT@ABC@"O@(PeanoNat%Arith#Coq@#Nat@&of_int"O#Nat$Init#Coq@@ 6@A@A\@&BinInt&ZArith#Coq@!Z@'quotrem\)BinIntDef&ZArith#Coq@!Z@ /@A@\@@+pred_double\@/S@@A@As2@3@&shiftls2*@vY@A@BCs8@8@&shiftrs8/@vY@A@ѓ@?@&squareѓ6@y@A@A@D@&to_intϑ;@@A@z@6@&doublez-@/!@A@A@o@(nth_map2*VectorSpec'Vectors#Coq@@ 8"@A@@|@*fold_left2v@6U@A@"W@@*fold_right"W|@6N@A@ABCDE/@h@)log2_iter/_@wd@A@NH/@[@&moduloNH/R@1,@A@A\d@`@&of_int\dW@1?A @A@bz@f@&of_natbz]@1?G!@A@#@l@&shiftl#c@1dV@A@#@r@&shiftr#i@1d\@A@ABCD/x@&BinPos&PArith#Coq@#Pos@)pred_mask/x)BinPosDef&PArith#Coq@#Pos@ )X@A@6@@&square6@19@A@AV+L@@&to_intV+L@2@A@V1b@@&to_natV1b@2 @A@V5=@@&to_posV5=@2@A@ABCl@@)sqrt_iterl@!$:@A@@@6@(sub_mask@-@)@A@ADEF c@@'testbit c@!ć@A@7 B@D@'of_uint7 B;@*`]?@A@AG@I@)mask_rectG@@+ED@A@F˱@O@)add_carryF˱F@+p@A@K5@@*Forall_indK5@9M@A@X@@/shiftrepeat_nthX@;\@A@ABCD^Ҷ@@'to_uint^Ҷ@#m@A@gL7@@'sqrtremgL7@40@A@Aq@@'testbitq@5)@A@BE@@-replace_order@:k@A@2s@&@,shiftin_last2s@=Nn@A@AxYe@+@!txYe%@;z@A@Bx^@0@"Inx^ʑ*@;z!@A@xa @7@"hdxa 1@;zd@A@Axa@<@"tlxa6@;zP@A@BCx#@A@#eqbx#(VectorEq'Vectors#Coq@@ /@A@x[@O@#etax[@> .@A@AxI@T@#mapxIN@;{&@A@BDx@Y@#nthxS@;{)j@A@y@c@#revy]@;{-@A@AG8@h@$castG8'@/Y@A@B8[@m@$last8[g@;d@A@R@s@$map2Rm@;@A@ @y@$take s@;:c@A@ABCݎO@J@+succ_doubleݎOA@6r@A@HI@@%case0HI@@A@ @x@$even o@>4@A@ACD @}@$ggcd Бt@>U@A@ @@$iter }@>:@A@A 3"@@$land 3"@>m@A@ F)@@$log2 F)@>t@A@AB S@@$lxor S@>@A@ @@$pred @?U@A@AC @@$size ܑ@?'@A@ !@@$sqrt !@?@A@A ! @@$succ ! @?\@A@ !7@@$zero !7@@P@A@A *@@%ldiff *@@A@ O@z@,take_prf_irr O @*@A@A g_@@+pred_double g_@25\@A@ q@@(take_app q@lm@A@ABCD m@@÷ m@2j@A@ @@+Exists2_ind Ñ@ @A@ k@@'nth_map k(@wF@A@ABS@@&of_intS㫑@4}5@A@S@@&of_natS@4};@A@ACEFGJ\R@@(mask_ind\R@4@A@\^@@(mask_rec\^@4@A@Aũ@@*Exists_indũ@@A@Ǜ@@'of_listǛ@@A@A!,@@&pred_N!,@4s)@A@BC@@&shiftl@5X@A@@#@&shiftr@5X@A@A&@(@&square&ّ@5,x@A@BD"@-@&to_int"$@5L@A@"@5@&to_nat",@5L @A@AnTq@:@+testbit_natnTq1@6n@A@B@3@(succ_posB*@@A@I@@'abs_natI@?n@A@AB.@>@'of_uint.5@MS@A@3~@R@'sqrtrem3~I@7]%{@A@ACD,@@'bitwise,@/v@A@>4'@_@'testbit>4'V@8g$@A@d;@@*rev_appendd; @fh:@A@AB{U@j@,sqrtrem_step{Ua@8R@A@u^@c@(div_euclu^Z@ @A@Au@!@&Existsu@@A@UA@'@&ForallUA!@@A@#N@-@&In_ind#N'@%@A@ABCDfz@@'to_uintfz~@9w@A@l@@'comparel@3R@A@AA@?@&appendA9@ m@A@L9@E@&caseS'L9?@ x@A@ABW@J@'replaceWݑD@ 4@A@K@P@&eq_decK@?w@A@K~@V@&eqb_eqK~@?w@A@MĚ@\@)nth_orderMĚV@ O@A@ABCDEFGs8@B@+of_uint_accs89@5+@A@@l@3to_list_of_list_opp@<@A@A}@@,pos_div_eucl}@&`@A@3x@C@'compare3x:@]=@A@`<@}@&t_rect`<w@ b@A@c`@@&take_Oc`@3@A@ABCD@@&double@'޺_@A@(@@'shiftin(@*I@A@Aq@@+of_succ_natq@$@A@w@@&modulowɑ@)1@A@ABEK@@&of_intK@)j,I@A@K@@&of_natK@)j2_@A@H@@'Exists2H@uF@A@ABI@@&shiftlI@*O@A@O@@&shiftrO@*O@A@AC,@@&square,@*ow@A@Z@ @&to_intZ@*81@A@ADF`@@&to_nat`@*9G@A@@@'Forall2@?j@A@Ae@@+testbit_nateđ@+@A@'@@+Forall2_ind'@ ~@A@"@@'to_list"ӑ@O*@A@ABC+{@.@'sqrtrem+{ё%@,J@A@@@0shiftrepeat_last@@A@A5z@:@'testbit5z1@-T|@A@BD @?@'to_uint ͑6@.@A@ @G@+succ_double >@.^4@A@A!lK@@)const_nth!lK@@A@!K@ @+fold_right2!K@x @A@A#@f@'compare#ݑ]@ )Q@A@$@@8fold_left_right_assoc_eq$@3@A@ABC%t2@q@(size_nat%t2h@ @A@%9@x@+of_uint_acc%9o@ ΋@A@A%V@}@+double_mask%Vt@ S@A@%%@@'div2_up%%z@ "@A@%R@4@)take_idem%R@-W@A@ABCDEG'ş@@'Ndouble'ş@ @A@(K|@B@*eqb_nat_eq(K|@w@A@A(b0@@*shiftl_nat(b0@9-@A@B(nՖ@@*shiftr_nat(nՖ@'@A@(@@0succ_double_mask(@@A@A*W$@@,compare_cont*W$@!@A@*@_@(cons_inj*@!@A@*A@e@(shiftout*A_@@A@AB.0@@.sub_mask_carry.0@΂@A@CDE.@P@!t.G@ ;@A@.먩@W@#add.먩N@ `@A@A.U@\@#div.US@ @A@.B@c@#eqb.BZ@ @A@A. @h@#gcd. _@ @A@.=@n@#leb.=e@ @A@ABCFHIK. @s@#lor. j@ @A@.Z@@#ltb.Zw@ @A@A.p@@#max.p|@ '@A@B.@@#min.@ @A@.@@#mul.@ @A@AC.g@@#odd.g@ @A@.&@@#one.&@ @A@A.뾴@@#pow.뾴@ k@A@.L@@#sub.L@ @A@.@@#two.@ @A@ABCD.,a@@$div2.,a@ @A@.Xz@@$even.Xz@ ?1@A@A.@@$iter.ؑ@ @A@B. @@$land. @ @A@. @@$log2. @ @A@ACE.@@$lxor.@ R@A@.y@@$pred.y@ `<@A@A.Ʉ@@$sqrt.Ʉ@ ;@A@.@@$succ.@ @A@.t @@$zero.t @ Z@A@AB/@@.to_little_uint/@ @A@CDF/@@%ldiff/@ H@A@00@c@'compare00Z@?H{@A@A1P%@@!t1P%@  @A@B1P@@#abs1P@ @A@1P&@@#add1P&@ @A@A1P@@#div1Pґ@ y@A@BC1P@@#eqb1P@ f@A@1P@ @#gcd1P@ 0@A@A1P@@#geb1P@ T@A@B1P@@#gtb1Pʑ @ q@A@1Pĺ@@#leb1Pĺ@ a@A@A1Pň@!@#lor1Pň@ /@A@BCD1P@&@#ltb1Pב@ ~@A@1P@/@#max1P&@ @A@A1P{@4@#min1P{+@ "@A@B1P]@9@#mul1P]0@ @A@1P@@@#odd1P7@ @A@A1Pɣ@E@#one1Pɣ<@ J@A@BC1P@J@#opp1PԑA@ {@A@1P1@R@#pow1P1I@ @A@A1P;@W@#rem1P;N@ @A@B1P@\@#sgn1PˑS@ r@A@1P@c@#sub1PɑZ@ p@A@A1Pe@h@#two1Pe_@  @A@BCDE1[8@m@$div21[8ޑd@ @A@1[d@v@$even1[dm@ I@A@A1[6@{@$ggcd1[6r@ i@A@B1[U@@$iter1[Uw@ @A@1\@@$land1\~@ /@A@A1\@@$log21\@ 6@A@BC1\$@@$lxor1\$@ @A@1\Y@@$of_N1\YÑ@ >j@A@A1\@@$pred1\@ j@A@B1\@@$quot1\֑@ }@A@1\@@$sqrt1\@ @A@A1\w@@$succ1\w@ @A@BC1\k@@$to_N1\k@ @A@1]@@$zero1]@ eD@A@A2:@@%abs_N2:@ @A@21@@%ldiff21@ ߵ@A@2=*@@%quot22=*@ @A@ABC2kF@N@(size_nat2kFE@{@A@3s&@@*eq_nth_iff3s&@*@A@A3@@(tail_add3@^q@A@BDEFGH3@@(tail_mul3@^@A@5Z@i@*shiftl_nat5Z`@y/@A@5f}@o@*shiftr_nat5f}f@4@A@AB5a@@'iter_op5ay@ @A@C6w~@@'of_uint6w~ @^5@A@6W @:@)fold_left6W 4@*Za@A@A8j@ @'of_uint8j@'"h@A@8V@E@.nth_order_last8V@/71@A@AB9E@@(div_eucl9Eđ @(*k@A@:El@Q@/rev_append_tail:ElK@.G@A@A:x@@,Nsucc_double:x@ ʭ@A@BCD@#R@A@A=9R@L@.to_little_uint=9RˑC@#b@A@=Y@@+shiftin_nth=Yӑ@3뗦@A@A=@X@%ggcdn=͑O@$*@A@=U@^@%ldiff=UU@$'R@A@ABCD>@@&divmod>@C@A@>@@&double>@NĴ@A@>@@+shiftrepeat>@2Y@A@AB?2@@,pos_div_eucl?2@-u@A@?;@@&modulo?;@"i@A@ACEFGIL@%Arith#Coq@0I|кX*o4)ArithRing+setoid_ring#Coq@0ṔCgt?}*Arith_base%Arith#Coq@0Ĕ}CS&Basics'Program#Coq@0!bs߯? :VU'Between%Arith#Coq@06v*0ur`C0&BinInt&ZArith#Coq@0BpHޞun^)BinIntDef&ZArith#Coq@0ådR4Tuy'BinList+setoid_ring#Coq@0Au&BinNat&NArith#Coq@0K11ڤs+Π)BinNatDef&NArith#Coq@03@1O,[{ 'BinNums'Numbers#Coq@0dmk(5Ju<&BinPos&PArith#Coq@0vyػ0= u)BinPosDef&PArith#Coq@0}H d.%,b$Bool#Coq@0j 2cZ`FW'Bvector$Bool#Coq@0,rO3^~*CMorphisms'Classes#Coq@0qیZBeϠ0CRelationClasses'Classes#Coq@0TL;0RUfw1+Compare_dec%Arith#Coq@0jXF 8 @0.i bYN Z)Decidable%Logic#Coq@0ND걸풬/Oߠ-DecidableType*Structures#Coq@0kO!Z7+/DecidableTypeEx*Structures#Coq@0' m(k>4'Decimal$Init#Coq@0C涳N*ua%EqNat%Arith#Coq@0AIgՋXRV *EqdepFacts%Logic#Coq@0FI$ͼՋ`)Eqdep_dec%Logic#Coq@0u wWIϰ߼*Equalities*Structures#Coq@0όe얟)H.Ƞ/EqualitiesFacts*Structures#Coq@0)n,:5-|!N@Ƞ+Equivalence'Classes#Coq@07;ꮹ:0 [çm).E)FSetFacts%FSets#Coq@0;yD.5[l-FSetInterface%FSets#Coq@0^s h@ >Eb 驠)Factorial%Arith#Coq@0@oehJd#Fin'Vectors#Coq@0r'gް؅/׸-GenericMinMax*Structures#Coq@0måj$"Gt%Arith#Coq@0䙛#c:D $Init'Classes#Coq@0](p{yOh.+InitialRing+setoid_ring#Coq@0k/T=cN"Le%Arith#Coq@0d}Omq+$List%Lists#Coq@0>I+ListTactics%Lists#Coq@0,Jcy{%Logic$Init#Coq@0\͉!Ig*Logic_Type$Init#Coq@0 1jc6"Lt%Arith#Coq@0KZ-eJkP܏)MSetFacts%MSets#Coq@0ss|BEo_vWLH-MSetInterface%MSets#Coq@0x* .>S{0zD1<.aPZ#Max%Arith#Coq@04=;3$>aU堠#Min%Arith#Coq@0Ce-Fѕ%Minus%Arith#Coq@0LFtR")Morphisms'Classes#Coq@0Imӽ%\$PD.Morphisms_Prop'Classes#Coq@0% :B'.>u%$Mult%Arith#Coq@0햖Qyb0$NAdd(Abstract'Natural'Numbers#Coq@05;ZW:㥜un$)NAddOrder(Abstract'Natural'Numbers#Coq@02'8zn7Hfɠ&NArith#Coq@0S22b%&*NArithRing+setoid_ring#Coq@0_ .Ys!Р'NAxioms(Abstract'Natural'Numbers#Coq@0Zخb1Z3uuѠ%NBase(Abstract'Natural'Numbers#Coq@0 Y?V vI%NBits(Abstract'Natural'Numbers#Coq@0qteo_hɅ $NDiv(Abstract'Natural'Numbers#Coq@0bz$?[p(5$NGcd(Abstract'Natural'Numbers#Coq@08E-S ;j_Ҡ$NLcm(Abstract'Natural'Numbers#Coq@0 ~xZ9L{:$NLog(Abstract'Natural'Numbers#Coq@0K Aat/ j &NOrder(Abstract'Natural'Numbers#Coq@0]@7U#oY'NParity(Abstract'Natural'Numbers#Coq@0̗SKz*!&4h$NPow(Abstract'Natural'Numbers#Coq@0҆mulf+NProperties(Abstract'Natural'Numbers#Coq@0unt"kwpYC%NSqrt(Abstract'Natural'Numbers#Coq@0<ge$NSub(Abstract'Natural'Numbers#Coq@0:DfJᠠ%NZAdd&NatInt'Numbers#Coq@00h`ZK4*NZAddOrder&NatInt'Numbers#Coq@0e~1>r砠(NZAxioms&NatInt'Numbers#Coq@0] ρ5r&NZBase&NatInt'Numbers#Coq@0^&8yUL&NZBits&NatInt'Numbers#Coq@0MlIpKt%NZDiv&NatInt'Numbers#Coq@0$ |J?d (w%NZGcd&NatInt'Numbers#Coq@0KgT7|%NZLog&NatInt'Numbers#Coq@0ꔉ .uV%NZMul&NatInt'Numbers#Coq@0ctR~6[Ƞ*NZMulOrder&NatInt'Numbers#Coq@0}\^ !"k}@R'NZOrder&NatInt'Numbers#Coq@0 q;Ve7R W,(NZParity&NatInt'Numbers#Coq@0H>ca'^^%NZPow&NatInt'Numbers#Coq@0)6*9 B:vȻ,NZProperties&NatInt'Numbers#Coq@01D%E`|3x&NZSqrt&NatInt'Numbers#Coq@0` .%m#Nat$Init#Coq@0eʤģPSR蠠$Ndec&NArith#Coq@0${IէQ<^렠'Ndigits&NArith#Coq@0*SetoidList%Lists#Coq@0k窪ܸqS-SetoidTactics'Classes#Coq@0S_`nOU$&Sorted'Sorting#Coq@0bb1z٠&Specif$Init#Coq@0;RWMi\N'Sumbool$Bool#Coq@0sB ,$11.]m'Tactics$Init#Coq@0/9m+ a'Tactics'Program#Coq@033 ٠(VectorEq'Vectors#Coq@0#'`ԶlxjT*VectorSpec'Vectors#Coq@0GyK5%l6L"Wf$Init#Coq@0q+W,J+$Wf_Z&ZArith#Coq@0`&irHȠ}@rHȠ@@@A@Ӡ@@ ,@! @A@ @@A@ 0@@A@ABC@AorHȠ@j@lvB9@A@g@@fhQ@@A@Af~@@A@@@A@ABv/@t@v/d0@A@#B-@@A@A6+@|@6+J @A@63@@63^@A@63@@63h@A@ABCD@Aà#tӡ*FSetCompat%FSets#Coq@@l@ ͠@ZD@A@0'@@ @A@0'@@@A@0'@@@A@ABC@A@@L@@ ,@ml@A@ @kj@A@ 0@ih@A@ABC@@@@B~@A@kR@@@@@kRJY@A@Ar@@@@@rΠ^@A@sV@@@@@sVh@A@AB!@BB~@A@z@B}Bx@A@A@Bs@A@@BnBh@A@ABC|]@BgJr@A@|d@Bb^@A@A|e @B]BX@A@|e@BSh@A@AB,@BNBH@A@f@BBB=@A@A V5@B<@A@ @B6J@A@ABCD *@B0^.@A@ @B+B%@A@A @Bh @A@ g7@BB@A@AB @B&@A@꾶@B&@A@A߫@B"@A@x@BB @A@ABCO@B 1@A@@BB@A@A`}@BA@A@e@A;@A@AB2@AA@A@@Ad@A@A fLe@Ad@A@%2cq@AA@A@ABCDE& @AّA@A@(@A4A)@A(d@A@A,!@AבA@A@.iU(@AґA@A@AB.l@AǑL@A@/_@Aɠd@A@A0C@AĠd@A@5O@AA@A@ABC7F.@AA@A@78@AJ@A@A7̴@A^@A@7<@Ahs@A@AB9@AJ@A@9L@A^@A@A9@Ah~@A@=bn@AA@A@> @Ah@AO> hDd@A@>@AA@A@ABCDEFG@AB@@@kK(^Y=ǹL򑄕@o q!J7pĘ򺄕@hή_)T 6ㄕ@Z%g:Yn DV1>