"`  _(PeanoNat%Arith#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@ )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̂"&/rk0JqTttֱ$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@0K7DFY B6àР(PeanoNat%Arith#Coq@A#NatA!t @)Datatypes$Init#Coq@@#nat@@@,6kD@#Nat@,@.@A@@A@@@@@@AA@@A@$zero @2A@432@@1@(Gk)@@@@@#one @OB!@@FA@DG@@@@@=#two @ @9@aAA@Dd@@@@@Z$succ @:@@)Datatypes$Init#Coq@@#nat@ $+k9'@@@@@x$pred @!n@@A@A@@@@D A!u@@ +k= R'>'''+k6'@Р@@"! @@AAAAt@@@@@#add @@@ <㶐!m搷A@:B;!pDC @N>q@ ,/k(*()= R'> 3!9'''+k6'+7Tk+7T'6' a>ACX@@@@@蠠&double @p%@G.먩@H `mm@x*& 0+k 7%'%@X `\@@@@@ #mul @@@ ^A^BB@ZYFT@v.먩/@w `c\@n]@ $,2k(*()= R'> 3! 7%'G''+k6'+7Tk+7T'6'6a̠ACXN@@@@@D#sub @@@ {|!kطC!lE@因@ ,Lk(*()=' R2'>= R'> 3%'''''+k6'+k6'+7Tk+7T'6'lP4 ACX@@@@@#eqb @@@ @$boolZ'@ ؠA#ʜB"n'' "m'M@/#T@$boolZ'@ ,jk(*()=' RP'>= R-'> 3%'H''= R'>H'G'''+k6'+k6'+k6'+7Tk+7T'6'4\ȠK(AAX@@@@@Ҡ#leb @@@ Sb & aJ!F?@fV-Z7 ,Lk(*()=' R2'>= R'> 3%'H''G''+k6'+k6'+7Tk+7T'6'g4 "lP~[ACX@@@@@#ltb @4Q5C@?.=@@ 􀠩T@@`31 D+k() 97%'%@U p7@@@@@-'compare @@@ dee@*comparison;f@mnŷp ȷs AxB| C@ۛˀπ@*comparison;f@ ,jk(*()=' RP'>= R-'> 3%'I''= R'>H'G'''+k6'+k6'+k6'+7Tk+7T'6'2\ȠAAX@@@@@~#max @@@ Ґ ͠8Р7o6@   ,Mk(*()=( R3'>= R'> 3!9'''''+k6'+k6'+7Tk+7T'6'pT8+ACX@@@@@#min @@@ BA;Dl4@J:>@ ,Mk(*()=( R3'>= R'> 3!9'G''G''+k6'+k6'+7Tk+7T'6'pT8_= R'>3$'H''G''+k6'+k6'+7Tk6'~P$9@rABL&@@@@@#odd @KK@$negb`@H.Xz;@I ?12@1)Datatypes$Init#Coq@@Z'@ 8+k7 7$'F@b ?1X&d[@@@@@Q#pow @A@ @ ڠ?@_.v@` @I‛h@ (,3k(*()= R'> 3! 7%'6''+k6'+7Tk+7T'6'@w.@x@РA@Р@@ACX@@@@@(tail_add @@@ 쐷(Ϸ'!!,ө$@/JR@ ,0k(*()= R'>9 3%'''+k6'+7Tk+7T'6'ĠBACX@@@@@ɠ+tail_addmul @A@ !r ^"@]\[Xc @P3@Q^q)!b)@:o6D@ H,3k(*()= R'> 7!3&'''+k6'+7Tk+7T'+7T'6'#<(Р\AEX@m^q@@@@@ (tail_mul @:W;I@N77! 3%'>77!9 3%'>77!99 3%'>77!999 3%'>77!9999 3%'>77!99999 3%'>77!999999 3%'>77!9999999 3%'>77!99999999 3%'>77!999999999 3%'''+k6'+7Tk+7T'6'РAAAAAAAAAA@(<d\u(Dl d,@@AABACADAEAFAGAHAIAJAAC|Tp@@@@@'of_uint @@5+|@ʛ_R 0+kG 7%'\"@@@@@.to_little_uint @@@ O鐷RUkWf&Little@Cj$G@׀'Decimal$Init#Coq@@):U@  ,1k(*()= R'>7 3%'''+k6'+7Tk+7T'6'!x䠐ACX Ȁp@@@@@f'to_uint @.@#rev).Vv@` 񩜠=BAA@IE @+k6 7!7$'`#lA@T@@@@@&of_int @hf@#int).J@@AAAA@@@@@D!x@&option >v@橚@$norm)9փƠ:A󩚠@^5ҷB@/@#int).J@~@&option >v@ +k7 = R'>7 9'>G''+k67$'Р#`IAABAAB@C>X)@@@@@&to_int @7lA@#m'@D@ 0+k7 9'X7@@@@@-&divmod @@@ d!yg!qjkl@$prodt@ssuvwxϷzAϷ"x'ڷF<"u'G@ۀ1߀2@ G@5t@)Datatypes$Init@@#nat@ P,gk(*()=3 RG'>= R('>3# '9 3# '' :''+k677%'+k677%'+7Tk+7T'+7T'+7T'677%'O<X(4,PHAEX@@@HAA ϲ6Wnml@@A вuX@AB@@#div @ݷy@543|01"y'婚@#fst 쩚@>@CԀoBB@b? +k()=  R!'> L7777&'''+k6'@>@t! @Р@@ihgGAH@@@@@@&modulo @C  @wvuBqrA$2@.L @ z+@#snd22@@>@CԀF@]֛ +k()=$ R%'> L7777" 7%'''+k6'РS@>.@tY@.L4@S@+Р\@@AH@@@@@@;#gcd @@@ !at!bwwyzz@Ϸ }}ͷ"a'@o?;l@p"i=e@ 4,6k(*()= R'>9 97!3%'''+k6'+7Tk+7T'6'q@"i(ܠADX@@@@@&square @ @.@@ie@ \@@@@@)sqrt_iter @@@ Wֶ׶pضِ\۷ܷuݷ5a]"k';a8d"r'b@rem@r@s ,`k(*()=; RF'>= R-'>3# '99999 3# ''''+k6'+k6'+7Tk+7T'+7T'+7T'6' \fCAEX@@@@@$sqrt @u*@Yl@Z!$:r@}3/ <+kGLL 7#'@h!$:d@@@@@ )log2_iter @@@ nDXEFGGiVŷhJfaeʷaOgh@ӛƀi@󛠠@`Ԁ  ,\k(*()=7 RB'>= R)'>93# '99 3# ''''+k6'+k6'+7Tk+7T'+7T'+7T'6'ktLAEXX@@@@@N$log2 @}@L/f@Mwd@.ym@ `<dY=Y@5 L+kG7L 7 7#'l@awdtq@ `= R'>3 9'G''G''+k6'+k6'+7Tk6' TD(oLABL @@@@@'testbit @A@'testbit . 0 1 1@r B@.g @  ;J K@V.,a &@W @l 0,5k(*()= R'> 7 3%'7$''+k6'+7Tk+7T'6'Р@$ؠ d@.g ?@ j@u.,a E@v| d@Р j@@ACX@@@@@ I&shiftl @@ z z )˷ } @p> e@qNĴ@@,@@ [!n @A h+k+ + 7&'6'6'ߐtx@NĴL \ @@@A@A@@ &shiftr @C=>    @.,a @ @L@; 641/ t@ L Ӑ\ @@@A@A@@ 'bitwise @A@'bitwise"op@8@99 J  M    @ M L K Ht ȷ,  @ *.먩 @ + `J@@@@@@@@AQ  @.g @  @.g @ ٠  橚 %@. @   o .@9.,a @:  4@?.,a @@ @A@R@UW   @ ,jk(*()=E RP'>7 7 377!7 7 != R'6'G'7%'G''+k6'+k6'+ +"7TTk+7T'+7T'+7T'6'+7T'6'( !@AA@|hؠ 0@ Ƞ@cba@@A@@C kL8A@$  AHX ^@@@@@ T$land @   @, m@ @$andb=   @ZkV L+k() 77#' t@/vtl @@@@@ #lor @< :  @, @ @#orb @.p @ ' 7  @PO \+k() 7!77#' @) 'p6D| @@@@@ %ldiff @p n 㩚 @ , @ v 4"b' 7d    @@ +k() + 7#'()7 7%'a|txh @@@@@ ᠠ$lxor @   @9, @: @$xorbȀ +@{.p @| '  9 r@db鐐b|dpD @@@@@ (eq_equiv @/RelationClasses'Classes@.eq_equivalence()'@ 'Classes#Coq@@+Equivalence~@)Datatypes$Init#Coq@@#nat@%Logic$Init#Coq@@"eq @867 kאD@L@@@@@AA@@A@4succ_wd_obligation_1 @!x췐!y﷐!H%Logic@"eq @BA @(eq_ind_r!2#   BC A @)Morphisms'Classes#Coq@@*respectful%WO?s@jo B +k() L+ 77# '9 977&'?HC|@T@@@@@m'succ_wd @  Q @wea@C@&ProperL@=>MBC@G?K>!@@@@@4pred_wd_obligation_1 @6@$pred.y D@ `<  ~@}  ۀ   Y@ .y 4@  `< +k() L+ 77# '7 7 77&')xhH@ʐ@@@@@㠠'pred_wd @v@R]4@r@  ©? ƛ ǩ> ˩= Ϛ<@@@@@ 3add_wd_obligation_1 @"x0"y0"H0   v@#add `G F  E%   D@ Ͷ@ ˛ ̩` թ  ֛ שk ܩp ᚠ#Nat$Init#Coq@@; ` L+k() L  + 77+77# '7! 7!77&'7! 7!77&'G$ȠKlO0d`8@@@@@y&add_wd @ @y"X@@ @  T @  S 'R ' (Q ,P 0O'@@@@@3sub_wd_obligation_1 @@#sub  @ ˶@ ț Ω ө ӛ ٩ ٩ 㚠@, ՠl:$Ƞ0d8@@@@@&sub_wd @@c@@ @  L @  K J  "I !H *G'@@@@@93mul_wd_obligation_1 @6 4!200#.$,3&'*5(6*@#mul *(23&J4B6 %&9$0#*<@" @   /    "@, bl:$Ƞi0dz8@@@@@&mul_wd @&@c=$O@"@ ڶ@ 5 ٩L @ < ਜ਼K 詚J E 驛I JH G'@@@@@Ơ3pow_wd_obligation_1 @ðe@#pow.뾴/@ k©аĩ ǩ@ $@ ۛ ک ,  婛 쩛  @ .뾴t@  kl0d8D$Ȁ@@@@@"&pow_wd @@e9%#@@ i@  M p@ ' &L wK 0 /J 5I 7H'@@@@@U3div_wd_obligation_1 @R<P=NLL?J@HOBCFQDRF@#div.U@ GEOPCgQ_S BCVAM@GY@?o@ wL#(@H.U@I 9l<$Ƞ0d8@@@@@&div_wd @D@ew@@@@RSM@YZL©KbcJgIkH'@@@@@䠠3mod_wd_obligation_1 @˷̷۷ηϷީշөթ@&modulo?;M@"i֩ԩҷ Ҡ@΀@WX. ۀbc9h>m@?;@"iȐ9$Ƞl 0d'8@@@@@@&mod_wd @@eUU@π@ C@M J@L QKJIH'@@@@@s2lt_wd_obligation_1 @p Zn [ljj ]h ^fm` ado bo@#iffС)%Peano i@"lt Uxcl jt uh vg@#andЖw@A@n{nu@m)Datatypes$Init#Coq@@#nat@@Aۀ  倐@#iffС)%Peano$Init#Coq@@"lt Uxc x+k()  +' +&:  +  77+"77# '''7! 7!7%'7! 7!7%'YXDcd$ɠ ͠@@@@@%lt_wd @@ @@Y@ML`_@SRPeO[ZN_MI!@@@@@ 7testbit_wd_obligation_1 @        @$boolZ'@@ c@!ć 7 !/ )@ @o z@ c@!ć РPlC0蠒?$Ƞ [dl8@@@@@*testbit_wd @@nX@@ @֛թQ @ݛܩPO婛N멛ML'@@@@@,bi_induction @@\@!A@A@)Morphisms'Classes#Coq@@SL@ XA@ A@!n%Logic$Init#Coq@@&С)٩ж(ѐ@@@@@)recursion @K7֠B@@ @(nat_rectb5 @\@@A@@P@@T򐐠 D+k+7$''d@@7@(@A@A@*A įL)Datatypes$Init#Coq@@A@@B,recursion_wd @@A9TD@@#Aeq4Relation_Definitions)Relations#Coq@@(relation'JjA@B@@G@4>@E?4B@@P@D=@N>A>@X@LE@VME^@BS gOBBAAWlB xA.@&B@@9T@W@A@A@YAviAkji@@`A@bA8ӠA4Relation_Definitions)Relations#Coq@@ABC@@+recursion_0 @@]B;ҠFN@@!aA!f@@@ @CACBA   @@ @AB@@;@,@A@A@.A@0A1DH @@AB@@.recursion_succ @@CC=PH@@HBG@B@@C@V@ @\i@%WO? @R K] @5&  @@=P@<@A@A@>A@@A8@BA@ABC@@J0 @u@!x@g =DNL@@@@@g"le @@  UxT@@!n)Datatypes$Init#Coq@@#nat@@A,6k D@@@@@ @@&!m@@@@@)pred_succ @@JDɛ@߀񀐩BAA@@@@@Ġ&pred_0 @@hE AA@@@@@ܠ(one_succ @@F@ @BA!BA@@@@@(two_succ @@G2&@"B'B4AGB4BAA@@@@@)'add_0_l @@HL_©ဠXAAA@@@@@B*add_succ_l @@Iew@!mݩ~ᩚBBABBA@@@@@n'sub_0_r @@JptAAA@@@@@*sub_succ_r @@+KB@€BBA߀BA@@@@@'mul_0_l @@ULJ瀰񩚠GAAA@@@@@̠*mul_succ_l @@pM @jg BBAvBAA@@@@@)lt_succ_r @@Ne .@%Peano@@8 UxcB CBA@"le UxT@BA@@@@@ (&eqb_eq @@OKඐީJd䩚@.B@ BA q@$boolZ'@AxBA@@@@@ T&leb_le @@Pwնөv٩@.=@ 􀠐BA,AXBA@@@@@ |<b_lt @@ Q˶7#@.Z@ BATABA@@@@@ &eq_dec @@'nat_recOf&Specif@'sumbool7̂K@  @#notШ @@A@A@@@@D   #A ʰ /é/B ְ  *c@#O_S U沀 ŷӷ#IHnCC/٩D ݩ Ԑ ? 㠩  'F  B@@@@@D @   @  < @%Falsee@   (F   JȐ"H1 @&eq_ind J  !ep!a  @ )@$Truey@Af '* 2@)False_induُ1 . @q2 0oCI0Ȑ!s $ ' D8 ! :BAAAA@@@@@D SG : J YM: ? Q; @+f_equal_nat!-Z P P J \"n0@(not_eq_S-)7 \ V h h@ = &Specif$Init#Coq@@7̂K@ʀBA@#notШ׀%BA +k + + +N7#'()=> R'> = R8'> +#779'> 7"9''+39''9' +k9977"7 9977"7%'G = RM'+'$'LL +97777%'= R'>6'6''+k6'+k()+ L 77"T'6'+k977"7 977"7%'= R'>7 9'6''+kL77"7 L77"7%'+7T'77"7 77"7%'D@@@DtdHCPِԠqAABAAIԠ蠑0P(h8 )d|4 $X0p@(𠑤A@𠑑T|-@@AAAB89<L@@@@@ .compare_eq_iff @@R#  "<@Hl@I3RЀBA I@*comparison;f@AP*BA@@@@@ ,.compare_lt_iff @@SO86Nh<,BA)B?BA@@@@@ Q.compare_le_iff @@Tt] [seUBARCVBA@@@@@ z/compare_antisym @@U5vAB @'CompOppBA@@@@@ ,compare_succ @@CV› @] @݀ BB BABA@@@@@ ͠%max_l @@qW`b@AB w@.pR@ '   @@@@@ %max_r @@X@ހBA,ĩ    @@@@@ %min_l @@Y-@BAI@.@    @@@@@ *%min_r @@ZM@ABiΩ   & &@@@@@ G,compare_spec @@@N!S+OrdersFacts*Structures#Coq@@@"O@@!"O@#6@A@As2@@zs2@|vY@A@Bs8@@As8@CvY@A@ѓ@@Lѓ@Ny@A@@@ϑ@@A@AB/@@/@wd@A@l@ @<l@>!$:@A@ACD c@@ c@A@^Ҷ@@^Ҷ@#m@A@A,@@5,@7/v@A@l@ @lz@A@ABs8@#@s8@5+@A@.@*@&.@( ;@A@A.먩@.@P.먩 @R `@A@B.U@2@R.U @A@.B@7@.Bi@A@A. @:@. @ @A@.=@?@;.=E@A@ABCDE. @B@ . @  @A@.Z@L@.Z*@A@A.p@O@.p@A@B.@R@n.@A@.@V@.2@ @A@AC.g@Z@ .g6@ @A@.&@`@.&<@ @A@A.뾴@d@.뾴 @A@.L@h@.LD@ @A@.@m@.I@ @A@ABCD.,a@q@|.,aM@~ @A@.Xz@x@`.XzT@b ?1@A@A.@|@.ؑX@ @A@B. @@ . \@  @A@. @@. a@ @A@ACE.@@ v.e@ x R@A@.y@@.y 8@A@A.Ʉ@@t.Ʉo@v ;@A@.@@ .u@ @A@.t @@i.t z@k Z@A@AB/@@X/~@Z @A@CD/@@ /@  H@A@3@@3@^q@A@A3@@u3@w^@A@B6w~@@6w~@^5@A@@@`>@bC@A@>@@>@NĴ@A@A?;@@?; @A@BDEFG@A@@M!O@A@@L!F@A@@K!C@A@@J!E@ cs8@.@@!t.J@A@AC. @@"eq. ^@A@. y@@"le. yh@A@. @@"lt. h@A@AB.먩@C.UDEF. G@A@+OrdersFacts*Structures#Coq@.BoolOrderFacts @@@A@@16CompareBasedOrderFacts @@@A@@@IM9P@A@@HG?J@@ x@O@'compare xd@@A@A@A@@GNLQ@@&d@W@L&dJ@@A@A&@@J&^@@A@&Y@@F&Yh@@A@&h@ @D&hh@@A@ABC@A@`n!x@s'b&dh6㩚~@Vl׀BACI oAB@@@@@!/compare_nlt_iff @͠Ƞàu@t^]m%@lBA B BA@@@@@X/compare_nle_iff @ҠŠ@uжҩրXM@lABA@CBA@@@@@/compare_nge_iff @#72-(@(v @ltBAsB怐)AB@@@@@)lt_irrefl @Vje`[8+#@[w6 *AA@@@@@ܠ+lt_eq_cases @t~yVIA<0@yx!nU!mX\iBA@"or @ XBAӰǐBA@@@@@)leb_spec0 @AJ@@!t&dJ $Bool @+iff_reflect s1@"le&YAL @#leb( ~ /RelationClasses'Classes)@(symmetry0xjA%Logic$Init6@С)@-iff_Symmetric!x@"eq @)Datatypes@$boolZ'@5 A@NX@&leb_leFB @㶐婛$Bool#Coq@@'reflectc@ BA@Z.= BA +k() 7!7!L7!77"7777 7! 7!7&'(rDe̠^v\OhEpoapj|Sgb]X5@@@@@ʠ(leb_spec @bvqlgD@cy>@@(BoolSpecޜ@ UBA .Z BA%@=<@@@@D;*@l!BABAB@@@@@j+leb_compare @ @E޶ਜ਼bީ@G.= BA_@wv@@@@Dud@l[BAAAB@@@@@'eq_refl @/RelationClasses'Classes#Coq@@5Equivalence_Reflexive@1@#two>T@@A@AI@5@$predId@@A@G@:@$succGr@@A@@?@$zeroT@@A@ABCDE@A@@Mq@]@@@d@!tРJ@@A@A L@@"eq L^@@A@r@ @#onerT@@A@AB4@@#two4T@@A@b@@$predbѠd@@A@F@@$succFr@@A@]l@@$zero]lT@@A@ABCD@A@@L.+*@A@4*BackportEq@@@A@@@@ %'A*Equalities*StructuresA݋X_A@A@@AA@@A@&eq_sym @@5Equivalence_Symmetric. U$$*@?Ϲ@@)SymmetricFgq$(ǐTL@. U\Dt$aXB;ܠ͠w^Mc_@@V@@L(eq_trans @O@6Equivalence_TransitiveW$f$s@H?Ϲ@Z@*Transitive++-$qG:T0LL@W\2D,РmZIB,%@/٠@@@@*eq_sym_iff @O}%͠Ġle OH9ʠcR@N@!x$¶!y$ũ%Logic$Init@#iffС)8,BA<0@@@@AA@@A@'neq_sym @?/̠a IBu@A!n$!m%@=@#notШpd87 th.ˠ`HAt|n@yA&'g ['@.먩ဠ5&&'@.먩ꀠ>=@@>@@;-add_succ_comm @ vfS@7ߠؠy! V=,ؠʠŠ@B;'79'8 'H@L.먩&m'O@S.먩 t&Ր@@u@@r(add_comm @:'ϠwnXQtc@Cr'np'oְ ʩ'@.먩Pf'@.먩U@@@@'add_1_l @-Ѡn[JC-&PC50@D'  '@.먩']֩']8@@@@ՠ'add_1_r @\2ڠѠyr\UFנƠrd_N@@KE'ѩ8!,'@.먩''g@@@@)add_assoc @?/̠a IBu}o@zF((!p(k!_(@.먩倠(@.먩(@#.먩(%@).먩JI@@J@@G,add_cancel_l @Πr_LC-&ΠǠbI8֠Ѡ@GG(CE(DC(E!(W@[.먩({@(]@a.먩.٩!G@@@@,add_cancel_r @ H5ݠ|$Šf_q* @H(|~(}|(~!۩(@.먩ay(@.먩g}!@@@@,add_shuffle0 @ @Ѡn]V@9*ԠcVHC2$@/I((("(@.먩(@.먩𩚠(@.먩(@.먩H@@@@,add_shuffle1 @  4 $ V>7ߠؠyjrd@oJ(((!q(a"U) @ .먩ۀ)@ .먩ဠ)@ .먩)@ .먩쀠)!@ %.먩F)'@ +.먩@@K@@H,add_shuffle2 @ Ϡ  s ` MD.'ϠȠcJ9נҠ@KH)DF)ED)FO)G")W@ [.먩()]@ a.먩.M)b@ f.먩3I)g@ k.먩8)m@ q.먩>))s@ w.먩DN@@@@,add_shuffle3 @  Ϡ   \ I81٠Ҡzs>1# @ L)))")@ .먩s)@ .먩y)@ .먩~ҩ)@ .먩#@@@@Ԡ'sub_1_r @ [      1٠Рxq[TE֠Š~qc^M?@JM)Щ7#+)@ .Lw))@ .yj@@ @@'mul_0_r @  B 2  Ϡ  d  LEx" @@*g#[*@ .4))א@@5@@AA@@A@*mul_succ_r @  p ` M    : 1٠ҠzsP7&ߠҠ@A2*.0*/#*?@ 6.耠d)ũ*F@ J.먩*L@ C.3p@@p@@;(mul_comm @     5 " ʠ r i  SLޠo^ @Bj*fh*gΰ#©*w@ n. ^*|@ s.%@@@@k/mul_add_distr_r @ $ ؠ Ƞ  e R    A :۠|$G:,@EC***#󩚠*@ .Q*@ .먩ѩ*@ .먩*@ .b)*@ .g@@@@/mul_add_distr_l @ f      <  ۠  | $ Šf_PР|n@D*ض*ٶ*کA$5*@ .ө*@ .먩ש*@ .먩ƀ*@ .֩+@ .p@@$@@)mul_assoc @  \ L 9  ֠ ~ &  Š  f _  <#ˠ@E+++$w+,@ #.Հ+2@ ).ۀ+7@ ..+=@ 4.`@@a@@,'mul_1_l @    v &   c Z     D =ޠϠy`O@F[+W$+g@ ^.+@@@@W'mul_1_r @  Ġ   Q >    - & Π Ǡ o h  z3&@1G+$ݩ+@ .;+=@@@@,mul_shuffle0 @ ;  ߠ ̠ | i    X Q     ; 4 %Ϡ^QC@\H+++ % +@ .h+@ .n詚+@ .s+@ .y@@@@@,mul_shuffle1 @ x ,     N     6 / נ Р x q b @I++++ T%H+@ .,@ .󩚠,@ .署, @ .,@ .򩚠,@ .@@<@@,mul_shuffle2 @  t d Q    > 5 ݠ ֠ ~ w      T ; *֠@J6,24,32,4=,5 %,E@ <.,K@ B.;,P@ G.7,U@ L.,[@ R.,`@ W. ;@@@@O,mul_shuffle3 @     I 6 ޠ  } %  Ơ  g `      r+@)K~,z|,{z,| %ש,@ .5u,@ .;y,@ .@,@ .F @@@@%le_wd @ E   ֠  s  à  b [     E > / ٠  @@A&NZBase'NZOrder&NatInt'Numbers#Coq@ X V@A@'NZOrder&NatInt'Numbers#Coq@+NZOrderProp g e@A@@@@"NZ \ [@A@@ɰ@,ٶ@,ҩ,ܶ@,|,~@@ @@AA@@A@*lt_le_incl @  G 7 $ Ԡ  i     Q J     } '  NA3@LA --@@@@@@*'le_refl @  n ^ K    8 / נ Р x q      N 5 $uhZ@sB0-,9ZZ@@ /@@O.lt_succ_diag_r @ ߠ   p    ] T     > 7 ߠ ؠ ɠ s Z I@CU-QA-@@@@@u.le_succ_diag_r @    F 3 ۠  z "  à  d ]      o@D{-w-,@@@@@/neq_succ_diag_l @+ ߠ Ϡ  l Y    H A     + $    ٠@E-"&-T/ΐ@@,@@à/neq_succ_diag_r @S     ) Ѡ Ƞ p i     S L =  Π @ F-ũÐ".'"-|W@@@@@렠/nlt_succ_diag_l @{/    Q     9 2 ڠ Ӡ { t e   6)@4G-됩ߠ- @@@@@/nle_succ_diag_l @WG4  Ѡ y !    a Z      7  ^QC@\H . $- F@@@@@;)le_succ_l @ˠo\    I @     * # ˠ Ġ  _ F 5yk@I A.= ?.> yM- o34@@@@e+le_gt_cases @6# ˠ s j     T M   ߠ  p _@J k.g i.h @"or @}aa@@@@-lt_trichotomy @#נǠdQ    @ 9  ڠ  { #     ޠѠ@K . ..1#'  ɩ#@@@@@(lt_asymm @O}% ͠ Ġ l e     O H 9  ʠ  @L . .¶@   @@ R@@頠(lt_trans @y- O     7 0 ؠ Ѡ y r c   4'@2M . ..@Ӷ@թ @@ }@@(le_trans @XH5Ҡz"   b [      8  _RD@]N / //@&@()+@@J@@>+lt_strorder @Πr_LC     - & Π Ǡ  b I 8|n@O0@+StrictOrder.[@/G6@@ H@@h+le_preorder @9&Πvm   W P     s b@PZ@(PreOrder@/q}@@ r@@/le_partialorder @"֠ƠcP?8  ٠  z "     ݠР@Q@,PartialOrder5͛/9/@|?Ϲ/@V+U@@@ ,@A d@ @ AhC@ABC@@ʠ)lt_compat @/@%lt_wd/Ύh@ @/@/  /@/ ^ / ` @ @@%lt_wd']ɠt(J2+ Ӡ ̠ t m ^   ޠ/"@@@@@(lt_total @/@{>NE@ / /$`)T ( ';5@aǠ^N;ؠ(Ǡha     > % eXJ@@@@@;'le_lteq @01@+lt_eq_cases.@ .0* ,0+ f: Ơ  !$) ` _r@+lt_eq_cases&yq!^U?8  ٠ ʠ t [ J@@@@@q0Private_OrderTac0bA'IsTotal0j AB @0u@J?Ϲ@]@+Equivalence~@0t@(eq_equiv7L!ՠŠbO>7ߠؠy!    ܠϠ@@@@@t @0@|#t܀@_0 @,Q^Lݠz"ʠib LE6  Ǡ @@@@@ݠ @0@=4m@ @0̶@0 ũ 0϶@0 o 0 q  |0  R:3۠Ԡ|uf  7*@@@@@  @1@=J@ 0 0  %g*[ / .  aQ>۠+"ʠàkd A(h[M@@@@@> @13@ -u6@ /1+ -1, g; Ǡ!! "%* a `ޠo \S=6ޠנȠrYH~@@@@@o@@@@N@#Tac1cAR @I6ޠ}%Ơg`rà@@D!P)OrdersTac*Structures#Coq@4-@@@A@@C!O@@&@@!t&J@@A@A&a@@"eq&a^@@A@&@ @"le&ڠh@@A@AB&@@"lt&h@@A@&̌@@#one&̌T@@A@A&̔I@@#two&̔IT@@A@&H@@$pred&Hd@@A@&؝[@"@$succ&؝[r@@A@&C@'@$zero&CT@@A@ABCDE@A@G,MakeOrderTacBs?@A@@@BONR@@@A@@AEUH@@@N@!tJ@@A@A$:@@"eq$:^@@A@$@ @"le$h@@A@$@@"lt$ h@@A@ABC@A@+*OrderFacts.#@A@@s@ 21&Y+M  @@ @@AA@@A@ @[K8ՠ}%Ġe^;"bUGZSM2@A _2,@@!@@,)lt_irrefl @ѠubOF0)ѠʠeL;qɠ}w\@B 2I G";@@M@@X@ @=*Ҡzq[Twf@C 2t 2u@&ݰ+  &߰+  k@@{@@*le_antisym @+ߠϠlYHA+$٠ˠ#ޠנѠ@$D 2 2@ @', n @@@@ А @Z0ؠϠwpZSDՠĠRB @SE2Ҷ2Ӷ@ Ґ'=,1 ֐'A,5  ͐@@@@@蠠*interp_ord @!o)OrdersTac@#ordȠ@ @@@@@@@@@@@D@2@2 '!" @@2@2 +k= R'6'6'6''+k+7T'+7T'6'ࠒA~@@"lt\ @:@"eq8L@<lР@8Ƞ@@543@@A@B@A@xA܀ڠ~kXO92ڠӠĠnUDzҠ e@@@@@\%trans @B/נv`Y|k@F"o'3}3~K3@322@1% cy@3;;@1% 3BB@1%@)trans_ord-0uG u {@@*@@K @33x33^^@^UМA@333@("-@(%-('-  L+k() LL7#'@z$tw+M5.֠Ϡwpa 2%o_*#@@@@@ @735334 @UМC10@E4C44@! @! ! L+k() NN7#'JtqaN;2ڠӠ{tQ8'xk]picH@@@@@?k @}4={4> 4?4O@UМ_B;wv@4K4L4M@$> 3@$@ 5$A` L+k() MM7#'tD1٠x b[~m@@@@@+le_lt_trans @44R4488@8UG@44]4@! w@$ y$ L+k() MN7#'ԐtGؠuŠd]G@1۠ ?/@@@@@ɠ+lt_le_trans @4ȷ4ɷ4ʩ4||@|U@4Ӷ4Զ4ն@$ @! $萐 L+k() NM7#'t?/̠a IBuF9+s>71@@@@@ %eq_lt @L5 J5 55@UbCB@W5U55@).u I@%  %- L+k() ML7#']tРtaNE/(РɠdK:~pȠ|v[@@@@@R%lt_eq @5Q5R5S5c@UL@5\5]*5^@%O D@)Ȱ.T%Sr L+k() LM7#'tɠVC2+Ӡ̠tmРà Ƞ@@@@@%eq_le @55d55JJ@JU@55o5@* .Ӷ@" " L+k() NL7#'tZ0ؠϠwpZSDՠĠ  RB @@@@@ܠ%le_eq @5۷5ܷ5ݩ5@U1@&5$55@" ζ@*R/F" L+k() LN7#',tSC0͠u]V3  Z M ?RKE*@@@@@!&eq_neq @ƠzjWD;ܠ}%ƠZA0  t fyrlQ@G~6>|6? 6@@*/4p@B*/9uF*/'=@@@@@X&neq_eq @>+Ӡ{r\Uxg   @H6u6vC6w@v*/m@*/p}*/^t@@@@@*not_neq_eq @4ؠŠub QJ4-Ƞ   Ԡ,ڠ@-I66@+0 +0@@@@@ )not_ge_lt @g =ܠ}%Ơg`QѠ "  _O @`J6߶6@ߐ#i&ɐ@@@@)not_gt_le @J:'נĠl TM* Q D 6~IB<!@KN7L7@'$ @@@@@ )le_neq_lt @ŠyiVC:۠|$ŠY@/  s exqkP@L}7={7>@$L0@?+06r'5?@@@@@R@@@@F@@@@@H@<_neq @<)ѠypZSve   @ Rq7mo7n@'_`n+ٰ0e@@@@@ &le_neq @%٠ɠfSB;ܠ}%  Ӡ @ S77Ӡ'@#andЖw@$, 1Ԑ@@@@@ ɠ*eq_le_incl @Y /נΠvoYRCԠà   @ T7˶7̶@,41($@@@@@ (lt_stepl @5% W?8٠zk < / !@ :U37177@'۶@,_1S''@@@@@ (lt_stepr @aQ>۠+"ʠàkd A( h [ M@ fV_8]8 8!@(@,1S( 5@@@@@ H(le_stepl @ؠ|iVM70ؠѠ lSB   x@ W8J8K8L@%Z2@,1~%^W@@@@@ s(le_stepr @D1٠x b[~m   @ X8u8vC8w@%]@,1m% @@@@@  @-Ѡn[JC-&  ۠ @ Y888@%@(( @@@@@ Ǡ @V ,Ԡˠsl VO@Ѡ   @ Z8ȶ8ɶ8ʶ@(@%( ݐ@@@@@ +le_antisymm @4$V>7ߠؠyj ; . @ 9[88@&@& 0-^2R@@@@@ )le_succ_r @^N;ؠ(Ǡha >% e X J@ c\ 99X&,N8 &1-2T8@@@@@ I)lt_succ_l @٠}jWN81٠ҠàmTC   y@ ]O9KM9L@)=9|)@5@@@@@ r,le_le_succ_r @C0ؠwaZ}l   @ ^x9tv9u@&g&j9, @@@@@ ,lt_lt_succ_r @+ߠϠlYHA+$  ٠ @ _99@))9U2@@@@@ Ġ,succ_lt_mono @T*Ҡɠqj TM>Ϡ   @ `9ƶ9ǩ))9\9[@@@@@ ,succ_le_mono @3#U=6ޠנxi : - @ 8a99-''99@@@@@ <_0_1 @^N;ؠ(Ǡha >% e X J@ cb* 99А@@@@ >&le_0_1 @Πr_LC-&ΠǠbI8  | n@ c'L:9@@@@@ b<_1_2 @3 ȠpgQJܠm\   @ d*S:9@@@@ <_0_2 @ʠWD3,Ԡ͠un Ѡ Ġ @ e*w:X:@@@@ &le_0_2 @:ޠˠ{hWP:3$Π   @ f':|:B@@@@@ Π<_1_l @^4ܠӠ{t^WH٠Ƞ  @g:ж:Ѷ@* :@**Ơ:ɐ@@@a@_@@ABC@@ +lt_ge_cases @@0͠b JCv G:,@Eh:: *(@@@@@$+le_ge_cases @hXE2)Ѡʠrk H/obT@mi*;&(;' (6(7@@@@@L+lt_gt_cases @ܠm ZQ;4ܠՠƠpWF|@jR;NP;OO/4 +GH+Hސ@@@@@z,eq_decidable @ K8' Ƞib tŠ@k;|~;})Decidablel@)decidable r/4@@@@@&eq_dne @;ߠ̠|iXQ;4%Ϡ@l;;頩0505@@@@@٠&le_ngt @i ?ޠ' ȠibSӠ$ @"m;۶;ܩ(ϩݐ+g@@@@@&nlt_ge @G7$ԠiQJ}'NA3@Ln <<A+)@@@@@-,lt_decidable @qaN;2ڠӠ{tQ8'xk]@vo3-&ΠǠoh zˠ@q<<)x,x@@@@@<_nge @:ޠˠ{hWP:3$Π@r<<蠩,)8@@@@@Ԡ,le_decidable @d:٠z"àd]NߠΠ@s<ֶ<שZ)ʐ@@@@@&le_dne @?/̠a IBuF9+@Dt<<9**@@@@@'*nlt_succ_r @k[H5,Ԡ͠unK2!reW@pu-=)+=*e*-\<-!"@@@@@S5lt_exists_pred_strong @t$aXB;ܠ͠w^M@v!=UZ=VX=W@-HҶ@*g@"ex @=c!k=fˠ1ϰ6.=*xB@@@@A@1@Aq@rAРD.Morphisms_Propb@xA1@D@ABCD@@.lt_exists_pred @,РmZIB,%ڠ@wj==@-F=@= 2 7=[6*F@@@3@A@@̠,lt_succ_pred @\2ڠѠyr\UFנƠ @x=ζ=϶@-287,==@.y1i@@@d@Aa@@@g@ABCD@@&rs_rs' @D4!ѠfNGz$ K>0@Iy@>@>> ,C5> @@> @+@ s=Ɛ>@+$@>>@+* K@.ZKH@@K@@F(rs'_rs'' @֠zgTK5.֠ϠjQ@v@zC@>IA?=@>ME7>OG,{>P@V>R@+`D@[>WY>X@+f6@.LIK5Le>ai>eg>f@+t@.Y p>ln>m@+{@.`>%@@@@%rbase @$ؠȠeRA:۠|$ߠҠ@{@>d>>>@+@.@,@@@@@)A'A_right @P~&ΠŠmfPI:ˠ @ |@>>Ķ@>Ʃ>ȶ>ɶ@+g@. /[>϶@+Ja@@@@@6strong_right_induction @7'ĠYA:۠|m>1#@<}@>갶@>>-6(>@>@, @??@,@.B? @,@@@@A@@@ABC@@1/right_induction @ueR?6ޠנx U<+|oa@z~.@?4,*(@?80"?:2-tf?;@@B?>@,L@1 >0I?E@,S א@@@@@i0right_induction' @:'ϠwnXQtc@f@?ldb`@?phZ?rj.??s@y?u@,@}?y@,@l ސ?1k?V@@@@7strong_right_induction' @ 1ՠ r_NG1*Šߠ@@@?@??.Iֶw?@?@,4޶@?@,,@??@,M@/JL?@@@@@ߠ&ls_ls' @ o #  E-&ΠǠohY٠*@(Aܶ@?ڶةְ@?ީ?."?@˶@?@/@Ő?%?@-"@??@-) ^@- ސ?ސ@@)@@"(ls'_ls'' @  f V C0'ϠȠpi F-m`R@kB@@%@@)!@+#.eW@,@2@.@-<@7@35@4@-Bc@-Eܐ?ܶ@@<wD@@B@A@-O @-Q)ҩK@GI@H@-V@-X0@ې@@v@@o%lbase @     @ -ՠ}t^Wzi@Cl@@rj?@sy@uw@v@-*@-^@. @@@@@(A'A_left @!-  Ѡ  n [ JC-&۠@D@@m@@@@@@-@-7@@-_ܐ@@@@Π5strong_left_induction @!^!!    4ܠӠ{t^WH٠Ƞ @E˶@@ɶǩŰ@@ͩ@/v@ض@@ڶ@-a@@߶@@-@-@u@@-ِ@@@r@@z@ABC@@ .left_induction @!!Q!A!. ޠ ˠ s  [T1XK=@VF @A@A A/PBA@@A@1 ζ@@S%A!@./.ܐ@@@@@D/left_induction' @!Ԡ!!x!e!!  R I3,Ԡ͠hO>t@GA@AG?=;@AKC5AME/yAN@TAP@.^B@XAT@1E@-A _A[1@@@@|6strong_left_induction' @" !!!!M!:    ) "ʠàkd vǠ@Hy@Awus@A{mA}0$RA@A@.z@A@.@@AA@.j@.{ܐAK(̶Ap@@@@/order_induction @"K!!!ܠ!!y!! ɠ  h a  KD5ߠƠ@I@A@AA0cAŶ@@Aȶ@.C@-A@Aж@1ݶ@5AeAש9e@@@a@_@AB@@0order_induction' @""?"/"!̠!!a! !   I BuF9+@DJ@A@BB0>0B@@ B@/@mA@B@/@̩𐩚B#@".y5ʀBD@@C@@<1order_induction_0 @"̠""p"]" !!!J!A     + $̠Š`G6zl@K9@B?753@BC;-BE=0q@tB@NBJ@/XBy@}$B=@WBS@2DB%@-B _B[1@@@@@|2order_induction'_0 @# """"M":!!!!)!" ʠ à k d  vǠ@Ly@Bwus@B{mB}1$@BW@B@/B\@dBC}@B@/Be@B@".y6NBu@@@@@<_ind @#P#""""~"&!Π!Š!m!f!!   P I :ˠ @ M@B@BB1hBʶ@B[@Bж@2K@é5B¶B׶@2u@@@@@&le_ind @##>#.#"ˠ""`"!!!!H!A     t  E8*@CN@B@CC1=/C@@C@0@lBC@0ɐ@@@@@1&Rlt_wd @##u#e#R#"""?"6!ޠ!נ!!x! !    U < +|oa@zOC3&@C6@C7/!C9@C:21٩$C<41vAC=?C> 0M%312@@o@@c&Rgt_wd @#####4#!"ɠ"q"h"" !!!R!K   ݠ  n ]@P1CeX@Ch@CiaSCk@Cld2 VCnf2 sCoqCp ՠ3b0@@@@%lt_wf @$%#٠#ɠ##f#S""""B";!!ܠ!!}!%!!   Ӡ@QcC"Wf@,well_founded8ECCC 03@@@A𱍠G6@A7iA@AB@@Р%gt_wf @$`$$####6"ޠ"ՠ"}"v""!!!`!Y!J  ۠ ʠ@RCҩ;CԷCշC֩ ;3^0@@3@@-add_lt_mono_l @$$?$/$#̠##a# #"""I"B!!!!!u!! @ @CCC733D@$.먩+D@$.먩+@@8@@AA@@A@-add_lt_mono_r @$$s$c$P$###=#4"ܠ"ՠ"}"v""!!!!S!:!)@!%A2D.0D/.D0k4"4#DC@$G.먩,DH@$L.먩,/@@l@@4+add_lt_mono @$$$$$1$#Ơ#n#e# #"""O"H!!!ڠ!!k!Z@!VBcD_aD`_DajDb@4S]@4UJ4VDv@$z.먩,GC2D|@$.먩,M@@@@@h-add_le_mono_l @%$$ؠ$Ƞ$$e$R####A#:""۠""|"$""!!!@!CDDDР1|1D@$.먩,yQD@$.먩,~)@@@@-add_le_mono_r @%U% $$$$$+#Ӡ#ʠ#r#k## """U"N"?!!Р!@!DDĶDŶDƩ 11֠D@$.먩,ID@$.먩,Ő@@@@ʠ+add_le_mono @%%:%*%$Ǡ$$\$####D#=""ޠ"""p""!@!EDDDD@2@22 E @%.먩,݀E@%.먩,@@@@@.add_lt_le_mono @%%m%]%J$$$$7$.#֠#Ϡ#w#p##""""M"4"#@"F ,E( *E)(E*3E+@5&@2;5E?@%C.먩-ɩED@%H.먩-I@@@@@0.add_le_lt_mono @%%%%}%-%$ $j$a$ $###K#D"""֠""g"V@"RG _E[ ]E\[E]fE^@2lY@5QF5REr@%v.먩-CEw@%{.먩-H|@@@@@c+add_pos_pos @&%Ӡ%à%%`%M$$$$<$5#ݠ#֠#~#w### """@"H E E@5Ea @5Ed ©5EfE@%.먩-v@@ @@.add_pos_nonneg @&M&%%ޠ%%{%#$ˠ$ $j$c$ $###M#F#7""Ƞ"@"I E E@5E @2ΠE 5EE@%.먩-Ð@@ @@.add_nonneg_pos @&{&/&& %%%Q$$$$$9$2#ڠ#Ӡ#{#t#e#""@"J E E@2E!@5ߠE!5E©F@&.먩-Ҁ@@ @@1add_nonneg_nonneg @&&]&M&:%%נ%%'%$Ơ$$g$`$$####=#$#@#K!F!F@3'E!I@3*E!L3,E𩚠F/@&3.먩.@@ N@@,lt_add_pos_l @&נ&&{&h&&%%U%L$$$$$6$/#נ#Р##k#R#A@#=L!JFF!HFG@68F!w6:!yFZ@&^.먩.+5@@@ @"S@AB@@H,lt_add_pos_r @'&&&&E&2%ڠ%%y%!%$ $$c$\$#####n@#jM!wFs!uFt@6eFF!6g!F@&.먩.X@@!@@s,le_lt_add_lt @'/&&Ӡ&&p&]&%%%L%E$$$$$/$($#à##@#N!F!FFF@3@6F@&.먩.F@&.먩.! 6@@@@@,lt_le_add_lt @'c''&&&&9%%ؠ%%y%!%$ $$c$\$M##ޠ#@#O!FҶ!FӶFԶFն@6ж@3堩F@&.먩.䩚F@&.먩.46ސ@@@@@ڠ,le_le_add_le @''J':''&נ&Ġ&l&& %%%T%M$$$$$$*$$@#P" G"GGG@4@4G@'.먩.G @'$.먩.g4$@@@@@ ,add_lt_cases @'ɠ'}'m'Z' &&&G&>%%ߠ%%%(%!$ɠ$ $$]$D$3@$/Q"<G8":G98G:CG;@7,GL@'P.먩/<GQ@'U.먩/" 8ࠩ7:Y7;4@@@@@A,add_le_cases @'''''>'+&Ӡ&{&r&&%%%\%U$$$$$x$g@$cR"pGl"nGmlGnwGo@4}G@'.먩/QpG@'.먩/V l44h@@@@@u-add_neg_cases @(1''ՠ' 'r'_'&&&N&G%%%%%1%*%$Š$$@$S"G"G@7G@'.먩/ GxA7"G|7"G~@@"9@@-add_pos_cases @(`((''''6&ޠ&ՠ&}&v&&%%%`%Y%J$$۠$@$T"G϶"Gж@7GG@'.먩/ ȩp7ʠG"ͩ7̠G# @@ @@Ӡ0add_nonpos_cases @((C(3( 'Р''e' '&&&M&F%%%%%y%#% $@$U#G#G@5 H@(.먩/ G֩5"Gک5#:Gܐ@@"@@0add_nonneg_cases @((r(b(O''''<'3&۠&Ԡ&|&u&&%%%%R%9%(@%$V#1H-#/H.@5<HH?@(C.먩0!&Π5EH #+5GH #i@@ d@@1-le_exists_sub @((((~(.('à'k'b' '&&&L&E%%%נ%%h%W@%SW#`H\#^H]@5k!O Ha `HbǠ<˰A#WHt@(x.먩0Ev5xH<#@@@"@A#/@$q@A$qAA @ @"@ABCD@@k+mul_lt_pred @)'(۠(ˠ((h(U''''D'=&&ޠ&&&'& &%@&@ HH#H#H@<AHM#`##נ8H@(.0WH@(.0\"#ة8H@(.먩0H@(.0j#婚H@(.먩0H@(.0u#@@!@@AA@@A@1mul_lt_mono_pos_l @)w)+))(((M'''''5'.&֠&Ϡ&w&p&a& @&^A H#H#H@8נH#ک$$8 Щ8ܠH@(.0쩚I@(.0@@@#@A#@#@$@ @ABCD@@:1mul_lt_mono_pos_r @))b)R)?((ܠ((,(#'ˠ'Ġ'l'e' '&&&&B@&B!I$ I$I@9H$$[9!9I3@)*.0܀/I8@)/.0ဠ$]#@@"]@@m1mul_lt_mono_neg_l @))))r)")((_(V'''''@'9&&ڠ&ˠ&u@&C!LIN$SIO$QIP@9A$DI"$9E!:9FIf@)].1 EIk@)b.1 [@@j@@1mul_lt_mono_neg_r @*)Ǡ)))T)A((((0()'Ѡ'ʠ'r'k'' &&@&D!~I$I$I@9s$vIT$9w!l9xI@).1A`I@).1F@@"@@Ѡ4mul_le_mono_nonneg_l @*E)))֠))s)(à((b([(''''E'>'/&@',E$I$I!I@6 I$@6 6ƠI@).1r$#I@).1xː@@$P@@4mul_le_mono_nonpos_l @*w*+**)))M(((((5(.'֠'Ϡ'w'p'a' @'^F$I$I!I@6%I@6 6I@).1J@).17@@$@@44mul_le_mono_nonneg_r @**\*L*9))֠)~)&)(Š((f(_((''''<@'G%J%J"J@7%I%F@7(!7)J,@*#.1Հ1J1@*(.1ڀ!!@@$@@e4mul_le_mono_nonpos_r @*٠**}*j**))W)N(((((8(1'٠'Ҡ'à'm@'H%JJF%HJG"FJH@7V%wJ@7Y!F7ZJ]@*T.2!MJb@*Y.2 g@@$@@,mul_cancel_l @+ ****K*8))))') (Ƞ((i(b( (''@'I%{Jw%yJx"wJy@%x>C%JM%>C۩J@*.29XJ@*.2>ũ>C%R%@@@%@&@$@ABC@@Π,mul_cancel_r @+B***Ӡ**p*)))_)X)((((B(;(,'@()J%J%J"J@%?D%J%?DJ@*.2q!J@*.2v"?+D%%@@#@@(mul_id_l @+w++++***M)))))5).(֠(Ϡ(w(p(a( @(^K%J%J@%䐩?ODC&J&%?SDGJ@*.2"& ?ZDN%J@@%@@2(mul_id_r @++Z+J+7**Ԡ*|*$*)à))d)])(((((:@(L&K&K@&?~Dr&FJ&T?DvK+@+".2Ԁ#&?D}&QJא@@$Q@@a1mul_le_mono_pos_l @+ՠ++y+f++**S*J)))))4)-(ՠ(Π((i@(M&FKB&DKC#BKD@;5K&s&8V"C8WKZ@+Q.3"K_@+V.3@@%@@1mul_le_mono_pos_r @,++++H+5*ݠ**|*$*)Š))f)_))((@(N&xKt&vKu#tKv@;gKH&&8"u8K@+.35"kK@+.3:#l@@$@@Š1mul_le_mono_neg_l @,9++ݠ+ʠ+z+g+***V*O)))))9)2)#(@) O&K&K#K@;&Kz&栩8"8K@+.3gK@+.3l@@@@1mul_le_mono_neg_r @,k,,++++A*****)*")ʠ)à)k)d)U(@)RP&Kض&Kٶ#Kڶ@;ˠ' K'8"٩8K@+.3#˩K@+.3"Ԑ@@%@@)2mul_lt_mono_nonneg @,,Q,A,.+ޠ+ˠ+s++***[*T))))))1@)Q'L ' L $ L #L @9K&Զ@<%&׶@9!K&ڶ@<<L(@,.3р %L.@,%.3׀&@@@@@c2mul_le_mono_nonneg @,נ,,{,h,,++U+L*****6*/)נ)Р))k@)R'HLD'FLE$DLF#OLG@9UL'@9X:@9ZL'@9]?9^La@,X.4 9Lf@,].48@@&@@+mul_pos_pos @-, ,,,O,<++++++$*̠*Š*m*f**))@)S'L{'}L|@M)?>MǩN"@..5ˀ%@@A@@V(eq_mul_0 @.ʠ.~.n.[. ---H-?,,,,,),"+ʠ+à++^@+]);N7)9N8)sBGNJ@.A.5'1N٠BG)rNBG)sN@@'t@@)neq_mul_0 @.....9.&-Π-v-m--,,,W,P++++@+^)iNe)gNf)͠)hBӰG)N=)lBװG)NA)pB۰GϩN@.{.6-'kNJ@@'@@+eq_square_0 @/,..Р..m.Z.---I-B,,,,,,,%,+@,_)N)ԠCGN@..6T!uNqC G)Ns@@@@@ᠠ*eq_mul_0_l @/U/ .....+-Ӡ-ʠ-r-k-- ,,,U,N,?+@,<`)N¶)Nö@C+HN@..6}'N@)ʐC5H))NC7H+)N@@@@@*eq_mul_0_r @//7/'/.Ġ..Y.----A-:,,۠,,|,m,@,ja)N)N@CYHMO@..6'Nȶ@)CcHW)NͩCeHY)Nϐ@@@@@=(mul_eq_0 @O@?@*O*O*KCyHmO"@/.6ˀ( N CHv*JNCHx*KN,,,,@,F@ ^\/Ѡ//u/b/...O.F-----0-),Ѡ,ʠ,,e@@@@@y*mul_eq_0_l @OS@F@*OOK*MOL@CHO]@/T.7(DO#@*SCH*O(CH*O*<@24pe0////H/5.ݠ..|.$.-Š--f-_--,,@@@@@*mul_eq_0_r @O@F@*O*O@CHީO@/.7<(zOY@*CH*O^CH*O`r@24pk0=///Π/~/k/...Z.S-----=-6-',@@@@@堠(lt_0_mul @0Y0 //////.נ.Π.v.o..---Y-R-C,@-@b*Oƶ*Oǩ+?OO@/.7(!h7?ĠO+?ƠO+=?ʠ+O?̠+ O@@*h@@5square_lt_mono_nonneg @00C030 /Р//e/ /...M.F-----y-#@-vc+O*O@= O+-@?'?򠩚P@0 .7**ΩP@0.7++@@@@@M5square_le_mono_nonneg @00u0e0R0///?/6.ޠ.נ..x. .----U@-d+2P.+0P/@==P+_@=@(=APD@0;.72PI@0@.71@@@@@}6square_lt_simpl_nonneg @0000020/Ǡ/o/f//...P.I---۠-@-e+bP^+`P_@=mP1+@@SPs@0j.8[Px@0o.8!++@`'j@@@@@6square_le_simpl_nonneg @1"0֠0Ơ00c0P////?/8..٠..z.".. -@. f+P+P@=Pb+@=P@0.8MP@0.8R1='@@@@@ޠ,mul_2_mono_l @1R100000(/Р/Ǡ/o/h// ...R.K.<-@.9g+P+P@@)@P@0.먩8P}P@0.8Pe+P@0.8Pk,@@*@@*add_le_mul @11;1+10Ƞ00]0////E/>..ߠ...q.@.nh!aP!bP@@P,)@@P,,> Q@1.먩8'Q@1 .8(@@+@@H-square_nonneg @11p1`1M0000:01/٠/Ҡ/z/s//....P@.i5Q)>6PQ9@10.8$@@X@@m5crossmul_le_addsquare @1111r1"100_0V/////@/9..ڠ.ˠ.u@.jZQNXQO@>]Q!,@>`Q$,>bQe@1i.먩96Qk@1b.9gQp@1g.9(`Qu@1y.먩9FQ{@1r.9$iQ@1w.9)h@@@@-add_square_le @2(1ܠ1̠11i1V0000E0>//ߠ///(/!/.@/kQQ@>Qh,ƶ@>Qk,ɩ>Q@1.먩9}Q@1.9[Q@1.9`Q@1.9eQ@1.먩9(Q@1.먩9(@@,H@@-square_add_le @2o2#22111E00000-0&/Π/Ǡ/o/h/Y/@/VlQܶQݶ@>Q- @>Q->𠩚Q@1.9Q@1.먩9ʀ(驚Q@2.먩9π(R@1.9QR @2 .먩9ڀR@2.9R@2 .9@@,@@ H4quadmul_le_squareadd @22p2`2M1111:110٠0Ҡ0z0s00////P@/m5R)3R*@?8Q-Z@?;Q-]?=R@@27.9造RF@2=.9RL@2C.9QQ--5RR@2I.9RX@2\.먩:))HR]@2a.먩:.)M@@,@@ *neq_succ_0 @32222F231۠11z1"10à00d0]0@0Z@-sRo-mFذK̩R&-RC@@,@@AA@@A@*neq_0_succ @3(2ܠ2̠22i2V1111E1>00ߠ000(@0}A-R-FKReRI-$@@@@@#&le_0_l @3H222٠22v21Ơ11e1^10000H@0B-R?R-@@+@@@)induction @3e33 2222;11ڠ11{1#10Ġ00e@0C,ʶ@R,ȶ@,İ@R,̩,R,Au..@.R@-R۶@--j,R-o-R,@@@-j@A@@n-case_analysis @33G373$2Ԡ22i22111Q1J000@0D,@R,@,@S,,S,A.>.0@.3Rֶ@. S -ΐR-.S ,@@,@@%neq_0 @33r3b3O2222<231۠1Ԡ1|1u110@1E.%..S*GL.XR@@@@@'neq_0_r @3ݠ333n33 22[2R11111<150@12F.KSG..GGL.ySSO.QSPGL.S-@@@-@A.@/V@ @@ABCD@@䠠,zero_or_succ @4 3333J372ߠ22~2&21Ǡ11h1a1 @1^G.wSs% GܰL.SFSy.{SzGL.S/. @@*@@ )eq_pred_0 @4.33Ҡ33o3\3222K2D11111.@1H.S.ӠHLS@3.yGQ..Sp%9H L.StH M.SZ@@,@@3)succ_pred @4X4 33333.2֠2͠2u2n22111X@1I.S¶@.H,M .SH.M"S|S@3.yG._.@@,@@\(pred_inj @4454%43 33W22222?2811٠1@1J.S.S@.됩HVMJ/S@.H[MO/#SŶ@H^MRT@3.yG cT @3.yGHjM^-.ɐ@@.@@.pair_induction @44j4Z4G333343+2Ӡ2̠2t2m221@2 K.@T!...@T%..T'.B/a/S@/VS@/S@/3T/@. @.S.é S鐩S%/>T:.@@@@@Ơ1two_dim_induction @4444|4,433i3`33222J2C1@2@L!R@TX@TY.Q$R_wd.O@T_@T`.X.JTb@Tc.[C.MTe.]C//@/T7T7@/nTj/lTk@.H-].C/`T".@/vTr@/uTt.J-e.KT*/TG/}Ty/{Tz -k@@o@@0double_induction @5,44Р44m4Z4333I3B22222,@2MA@T@T.?.@T@T..T@T.C?.T.CA//ζ@/T/Tu/Ҷ@/T/mT]/8Tz@/T/T@;!TdTe/B/T/T;@@@@A(eq_add_0 @5f55 4444<33۠33|3$32@3@/Tζ/Tϩ0 I8N,T@4.먩<-T=IAN50 TICN70 T@@. @@AA@@A@+eq_add_succ @55F565#4Ӡ44h44333P3I2@3FA/T/T06T,UIgN[U@5.먩<,T/&U "n'UIvNj0T/U"m'UI~Nr0FT/@@@/@A/@/@A1@ @@ABCD@@B(eq_add_1 @5Ѡ55u5b5444O4F333330@3B0=U90;U:@INUK@5O.먩=.2T&ڠIN09TIN0wUIN0?UIN0}U@@v@@r.succ_add_discr @65555B5/4נ44v44333`@3C0mUi0kUj0hIӰN0U!U~@5.먩=O.e@@.@@*add_pred_l @6&5ڠ5ʠ55g5T4444C4<33ݠ3@3D0U0U@0IN0UcIN署U@5.먩=uU@5.yIQ0ΩU@5.yIVU@5.먩=-@@.@@Π*add_pred_r @6]66555534۠4Ҡ4z4s443@4E0UŶ0Uƶ@0ŐJ0O$0UJ2O&U@5.먩=0ĩU@5.yI0gU@5.yIU@5.먩=-ǐ@@/@@'lt_wf_0 @Ȑ!H13U12U[A@E.aC U0E-@gCU13E.E-E.CU0E-󩚠V@x?1@"H0|C&U1HF / BBB@@@@D@C4U1F.F-$1W$_tmpC<V1"DF"-,1_C7#@1pointwise_liftings׾1t7,@%TlistР@BVCAF60Է1IVHCWV1yF</=C7=@4relation_equivalencesVTFC1YVU1WVVCeV)1FJ/KC-SetoidTactics7K@0default_relation ж@Vf@Vg0_Vi@3equivalence_defaultú@Vq@Vr0j%Vt7d@ relation_equivalence_equivalence*+rV{Fj1V|1~V}⠩CVP1Fq/r'ж@V@V0~9V@V@V0?VVF1V1VCVe1éF/#HeqOVF1V1VCVs1ѩF/0@2subrelation_properJ7,X@V@V0001@(relation'JjV0lV1$VK@5well_founded_morphism=lVũ0@Vȶ@V00|V˩&Basics'Program7@$flip$000Ϛ @$impl7o)Datatypes2@$unitUe@A0@6subrelation_respectful>6z @V@V00VV󩚠0@0subrelation_reflv @V@V0V2830@9iff_flip_impl_subrelation2VAF2W2WjDV26F/26W@/ΎjVC@ж@W@W1 ȐW@W@W1ΐWWG2$W 2"W!D0V2RG0W(G1@W*G 67 + +7 :6  67777777 +7T7!77 77 7 +7T7L ! 6777777 7 +7T777 77 677 777 7 + +7TT7 k() + +(:'= R '>''+k7%'7 :'() 7! 77!7%'+7T'6'+7T'6'+7T'6'6'+7T'6'T4Relation_Definitions)Relations5@@'Jj(5555 5@&le_0_l\%Logic$Init@#andЖw@"Wf @,well_founded8E䠒"@%lt_wf ÐT)Morphisms'Classes3@k2VAT @*respectful%WO?4@J7t@6.=@$zero3F6L7@#iffС)'ProgramU@$p@"lt3<@@!t3@t4d #@"le3A8XHh`XxpC@v РeBABAB䠒O@>6z(/RelationClassesT@ms 9@7oPh.Morphisms_Propa@ =lЀ8t8(88777J666662@@@(4@A3A Ih@2@22@ABC@@AA@@A@'nlt_0_r @88G878$7Ԡ77i77666Q@6@2W2G3)W̐@@@@@*nle_succ_0 @88b8R8?77ܠ77,7#6ˠ6Ġ6l@6A3X3E#W2W@@@@@:&le_0_r @8ʠ8~8n8[8 777H7?666@6B34X03kE?3`XLQ3bX@@@@@W)lt_0_succ @8888x8(877e7\766@6C3QXMH=XX2ݐ@@1}@@q*neq_0_lt_0 @98888B8/7נ77v776@7D3kXg33gLҰQ3X<H]X>3@@1@@/eq_0_gt_0_cases @9 8Ԡ8Ġ88a8N7777=766@73E3X*LQ3XYHzX[3@@1@@(zero_one @9=888Π8~8k8777Z7S6@7PF3X*;M R3Xv*?MR3X^HX`3ِ@@@37@A34@3q@A4@@@4A1BhF3@ABCD@@נ<_1_r @9g99 8888=77ܠ77}7%@7zG3Xͩ4H3XM8R,3X@@&@@&le_1_r @9989(98Š88Z87777B@7H3X4%E4X*MWRK4XMYRM4 X@@G@@'lt_lt_0 @99Y9I9688Ӡ8{8#87 77c@7I4Y 4 Y @H1HX4=@@@@1'lt_1_l' @99u9e9R9888?867ޠ7נ7@7J4+Y'4)Y(1'Y)@I1@I1IX4 @@@@@P*le_ind_rel @9999q9!988^8U777@7KYH3<@YL@YM3E37YO@YP3HG3:YR3JG44~@4UYT4FY%4@4\YX4ZYY@Fg2K@321A%YũYM4fYb4dYc@Fq2U%1J@@Z@@*lt_ind_rel @:9ˠ999X9E888848-7@8*L(̐Y&3s@Y@Y3|3nY@Y3H&3qY3H(44@4Y4}Y\Y@4@4Y4Y@I2@8%YIYJ4Y4Y@I27@@/@@-succ_pred_pos @:M:99ޠ99{9#8ˠ8 8j8c8 @8`M4Y@IY4NSYkY@9.yMo4N4@@4I@@ࠠ)le_pred_l @:p:$::999F88888.@8N4Y֩F㠩Y@9.yM4j5 @@@@)lt_pred_l @::B:2:9Ϡ99d9 9888L@8O4Y@4N^SR5%YȩI頩Z @9.yM45-@@4@@!*le_le_pred @::e:U:B99ߠ99/9&8Π8Ǡ8o@8P5Z5Z@G&3 G'Z*@:.yMр 5N@@@@@B*lt_lt_pred @:Ҡ::v:c::99P9G888@8Q5<Z85:Z9@J*3+J+ZK@:0.yM.5o@@@@@c*lt_le_pred @:::::4:!9ɠ9q9h99 8@9R5]ZY5[ZZ@JK3LGi5OZl@:Q.yN4@@4@@*lt_pred_le @;:Ƞ:::U:B999919*8@9'S5~Zz5|Z{@JlZ@:q.yN355G2h@@@@*lt_pred_lt @;5::٠:Ơ:v:c: 999R9K8@9HT5Z5Z@J5̩Z@:.yNT51J2@@@@@Ơ*le_pred_le @;V; :::::,9Ԡ9ˠ9s9l9@9iU5Z5Z@Gˠ5Z@:.yNu5RG2@@@@@砠,pred_le_mono @;w;+;;:::M999995@9V5Zݶ5Z޶@G3ЩGZ@:.yNөZ@:.yN5{@@5v@@ ,pred_lt_mono @;;Q;A;.:ޠ:ˠ:s::999[@9W6[6[@6OnTb66Zة6DJ2J[@;.yNÀ[!@;.yNȀ5@@5@@9/lt_succ_lt_pred @;ɠ;};m;Z; :::G:>99ߠ9@9X63[/61[06kK"Z56aK%6d[E@;*.yN5ɐ@@@@]/le_succ_le_pred @;;;;~;.;:à:k:b: :9@:Y6W[S6U[T@Hb[ 56He6K[h@;M.yO5@@@@@/lt_pred_lt_succ @<;Ġ;;;Q;>::::-:&9@:#Z6z[v6x[w@Kh[@;m.yO/66Ko6r[46@@@@@/le_pred_le_succ @<3;;נ;Ġ;t;a; :::P:I9@:F[6[6[6ՠH[@;.yOS626ϩH6ҩ[X63@@U@@Ǡ(le_add_r @.D6.%M0]8oM2]8p@@@@@۠(eq_mul_1 @=====6=#<ˠ9==ݠ=ʠ=z=g=<@@@@@0'sub_0_l @>J===۠==x@=t@8]RW]@=.LEQ]8]@@6@@AA@@A@(sub_succ @>f>> ===@=A8]ƶ8]ǩR.W"]@=.LEn]8_]8^]@=.LEv6Ɛ@@7@@$(sub_diag @>>;>+>=Ƞ=@=B8]RNWB]@=.LE0]@@7@@<&sub_gt @>>S>C>0==@=C9]9^@M69RkW_^@>.LE5]ڐ@@78@@Y-add_sub_assoc @>>p>`>M==@=D9 ^9^6^@K,6RW{^0@>4.먩F8쩚^6@>$.LÈ6^;@>).LEҀ^A@>E.먩F519e@@7e@@*sub_succ_l @>>>>z>*>@>E9M^I9K^J@KX7<RW^\@>J.LE󀠩^89F^^e@>S.LE/@@7@@'add_sub @? >>>>N>;@>7F9q^m9o^nRհWɩ^~@>l.LF^@>.먩FU7k99@@7@@ɠ'sub_add @?,>>Р>>m>Z@>VG9^9^@K7RW꩚^@>.먩Fp^@>.LF</99ɐ@@7@@ꠠ,add_sub_eq_l @?M?>>ޠ>>{@>wH9^9^6^@SX ^@>.먩F79SX^@>.LF^59@@9H@@ ,add_sub_eq_r @?o?#??>>@>I9^϶9^ж6^Ѷ@S9X-^@>.먩F79ʩS@X4^@>.LF59ѐ@@9j@@.-add_sub_eq_nz @??E?5?">Ҡ>@>J9^9^6^@9S]XQ:$^Ƕ@S`XT_ @>.LF5:-SgX[_@?.먩F68@@9@@U-sub_add_distr @??l?\?I>>@>K:_:_7_SXu_*@?.LF:_0@?4.먩G8_5@?#.LF̀_;@?).LFҀ7:^@@8_@@,add_sub_swap @????t?$?@? L:G_C:E_D7C_E@LS6SX_W@?E.LF_]@?a.먩G.6M:_b@?f.먩G3_h@?V.LF6G:P@@8@@(le_sub_l @@?Ġ???Q?>@?:M:t_p:r_qL~_@?o.LG8h:@@:@@Ơ(sub_0_le @@)?ݠ?͠??j?W@?SN:_:_:ŠSX穚_@?.LG38_bL8@@8@@⠠*sub_add_le @@E???֠??s@?oO:_:_L:թ_@?.먩G_@?.LGS8:ߐ@@:=@@/le_sub_le_add_r @@d@@???@?P:_Ķ:_Ŷ7_Ʃ;Lՠ_@?.LGo7H:Lܠ:©_@?.먩G8Ɛ@@$@@$/le_sub_le_add_l @@@;@+@?Ƞ?@?Q:_:_7_;$L_@?.LG7;L:婚`@@.먩GӀ8@@9&@@G/lt_sub_lt_add_r @@@^@N@;??@?R;` ; ` 8 ` @O`@@ .LG7;AP:ک`$@@(.먩G7@@@@@i/lt_sub_lt_add_l @@̠@@p@]@ ?@?S;0`,;.`-8,`.@P`?@@-.LGր8;bP&:`F@@J.먩H8!@@9j@@/le_add_le_sub_r @@@@@@/@@@T;R`N;P`O8N`P@M^`a@@e.먩H27;Me;`h@@V.LG8C@@:@@/le_add_le_sub_l @A@Ġ@@@Q@>@@:U;t`p;r`q8p`r@M`@@.먩HT7;M;`@@x.LH!(@@0@@Ϡ/lt_add_lt_sub_r @A2@@֠@à@s@`@@\V;`;`8`;ϠP`@@.먩Hw8;ʩP;`@@.LHD9@@;.@@/lt_add_lt_sub_l @AUA @@@@@@W;`;`8`;P`@@.먩H89;P;`@@.LHg2@@v@@&sub_lt @AxA,AA @@@@X;`ض;`ٶ@M9`@P̠`< PΠ`@@.LH7;@@& @@3-sub_le_mono_r @AAJA:A'@נ@@@Y;`;`8`@N8ީNa @@.LH7驚a@@.LH8@@=@@T-sub_le_mono_l @AAkA[AH@@@@Z<a<a9a@N'8N(a+@A.LH€2[a0@A.LHǀ@@=(@@u*mul_pred_r @AؠAA|AiAA@A[<<a8<:a9UZaI@A@.HAAAϠAAl@Ah]<a<a9aVZa@A.IY<ԩa@A.LIM9a@A.LIRa@A.Ij9ja@A.Io:B@@:@@ &le_alt @<aȷ<aɩ$na˷9a̩V3['a@A.먩I9=@<aԶ<a;͐ +k() + 77%' 7!7%'@AAAAAA@@#add# `%Logic$Init@"ex @|@!t# t @"eq# !lBB]BMB:AA@@$]@@U<_alt @=b=b$b:bV}[qb&@B*.먩Ia<==L@=$b ="b!< +k() + 77%' 7 7!7%'РLlB|9t6xY@A^#`BBBBrB"B@@$@@(le_equiv @BBBBB1B@B^=TbP=RbQ=ba@?;HOe;I@@$@@(lt_equiv @C BBBBKB8@B4_=nbj=lbk=b{@f?ž;bRb;c@@$@@)le_alt_wd @C$BؠBȠBBeBR@BN`%b:bWS\Gb@C.먩J̀;x=@@%I@@A'max_0_l @CCXCHC5@C1@>cWi\]c@C.pKb>6>6@@@@@AA@@A@'max_0_r @CCrCbCO@CKA> cW\wc,@C,.pK>Pb>P@@@@@'min_0_l @CՠCCyCf@CbB>7c3W\cC@C>.Kc >gc @@@@@1'min_0_r @CCCC}@CyC>NcJW\cZ@CU.K>~c!c!@@@@@H.succ_max_distr @DCCC@CD>eca>ccbWɰ\cct@Ct.pK<[cy@Cy.pLc$>c%>@@<@@i.succ_min_distr @D$CؠCȠC@CE>c>cW\ީc8c@C.K<|c@C.K怠cE>"cF>!@@<@@/add_max_distr_l @DECCC@CF>c>c;cX ]c@C.pL>c@C.먩K;dc@C.먩K<<c@C.먩K>驚c@C.pLT;@@<@@/add_max_distr_r @DsD'DD@DG>cѶ>cҶ;cөX:].c@C.pLlc@C.먩K;Yc@C.먩K<թc@C.먩KĀc@C.pL;?@@=@@栠/add_min_distr_l @DDUDED2@D.H?c?d;dXh]\d@D .L]d@D.먩K;d@D .먩K<d!@D%.먩K?Ed'@D".Ls<@@=K@@/add_min_distr_r @DϠDDsD`@D\I?1d-?/d.<-d/X]d?@D:.LdE@DI.먩L;dJ@DN.먩L=1dO@DS.먩L dU@DP.L<0?x@@=y@@B/mul_max_distr_l @DDDD@DJ?_d[?]d\<[d]Xİ]dm@Dm.pLds@Dj.L<dx@Do.L!<d}@Dt.L&?d@D.pM <^@@=@@p/mul_max_distr_r @E+DߠDϠD@DK?d?d<dX]橚d@D.pM$d@D.LJ<d@D.LO=d@D.LTd@D.pM:<?Ԑ@@=@@/mul_min_distr_l @EYE DD@DL?d?d<dY ^d@D.Md@D.Lx@@̠/mul_min_distr_r @EE;E+E@EM?d?d<dYN^Bd@D.MCd@D.L1@@/sub_max_distr_l @EEiEYEF@EBN@e@e=eY|^pe%@E%.pMe+@E.LL€<ԩe0@E.LLǀ=e5@E#.LL̀@Ye;@E6.M=@@>_@@(/sub_max_distr_r @EEEEt@EpO@EeA@CeB=AeCY^eS@ES.pM܀eY@EG.LL<ɩe^@EL.LL>Eec@EQ.LLei@Ei.pM=D@@@>@@V/sub_min_distr_l @FEŠEE@EP@seo@qep=oeqYذ^̩e@E|.M̀e@Eu.LM=0e@Ez.LM#>e@E.LM(@e@E.pN =r@@>@@/sub_min_distr_r @F?EEE@EQ@e@e=eZ^e@E.Me@E.LML=%e@E.LMQ>e@E.LMVe@E.N=@@@>@@+Private_TaceA'eq_refl @@@K!M-GenericMinMax*Structures#Coq@eM@A@@J!O e@M cMMs8M@.@e@!t.Je@A@A. y@e@"le. yhR@A@. @e@"lt. hU@A@A.먩M@BC.UMMDEF. MMG@A@*߀E@h;@>߀ h A@>߀@)trans_ord-0uGF@@@qAviA)Morphismsk@AvAۀߠK@zAۓό^ @~@ABC@@q(eq_trans @%>o@^K߀МA*-g\?9(@h;:h<Sh=@h@69@hC9< hEQ; L+k() LL7#'@$t{^XG@@@@@(le_trans @hCМCfiՠ{ud9@hwvhxhy@Uru@UUv L+k() NN7#';t~SM2-& @@@@@렠(lt_trans @ 567zМKB ڠϠp@hhh@X7@X9X6 L+k() MM7#'ptʠĠgb[U:@@@@@ +le_lt_trans @>jkll5> ޠ͠@Ihhh@Ui@XkXh L+k() MN7#'t$l@@@@@R+lt_le_trans @pgp>3@{ii*i@Y@V$Y L+k() NM7#'ԐtVK.(ˠƠ@@@@@%eq_lt @η8ϷQЩ 36peHB1@iDCiE\iF@$iI?B@Y:ЩY;͐ L+k() ML7#'t~a[J@@@@@%lt_eq @kF?fiՠ{ud9@iwvixiy@Yj@Yi~twYn L+k() LM7#':t}RL1,%@@@@@ꠠ%eq_le @456yr6֠ˠl@iii@i@V6V3 L+k() NL7#'mtǠd_XR7@@@@@%le_eq @;ghii; ۠ʠ@Fiݶi޶i߶@Vf@iݩVf L+k() LN7#'t"j@@@@@P&eq_neq @7, ͠Ǡ@Gzjj)j@j @:j>j+@@@@@u&neq_eq @\Q4.Ѡ̠Š@Hj65j7Nj8@\j=36@j@69cjDP:@@@@@*not_neq_eq @vYSB@Ij[Zj\@>jc\ȩ@je[^@@Y@@)not_ge_lt @ztc82 @3Jj|{j}@W{Zr@@@@٠)not_gt_le @VP50)#@QKjj@ZW%@@@@@)le_neq_lt @ݠҠsmRMF@%@nL jj@W@ސjZ@@@@@@@@@Q@(max_spec @ؠҠ@E!njֶ!mj٩%Logic$Init#Coq@@"or @@#andЖw@ZࠐBAѰjk@.pSBAAXABk k@.pSBAB@@@ %'A*Equalities*StructuresA݋X_A/RelationClasses'Classes#Coq@@A@@AA@@A@+max_spec_le @bW:4#@cFbk7ak9`UXNBA"kGkU@C.pSހBAAhXaAB5kZkh@V.pS񀠐BAB@@@@@A1Proper_instance_0 @xra6@G)Morphisms'Classes#Coq@@&ProperL@k@ku@*respectful%WO?k@kik kmk@#iffС)X@@@AviA)Morphisms'Classes#Coq@@A@@*max_compat @ޠӠt@H>@k@kk4k@kkk9kkkkšk@.pTX@@@A/@Aۓό^1@A@ABC@@+max_unicity @ ݠ̠@ I kඐ kⶐ!pk@ [ޠCBϰkABYBC۰lAC߰ll@.pT@@@@@蠠/max_unicity_ext @G<@HJ!fl"x0l"l"@Pl%Ol'NC\*l3C/AOYH6l?C;BplEolG$lIDlY@G.pT†J@@@@@/(max_mono @f`O$@KG@ldld@򀰶@ljljҠѠ@@*respectful%WO?luluRlwTlyA@@llllYY}llell@.pU!l@.pU-@@@A@A@A@ABC@@&max_id @ߠԠu@Llll@.pUMAAA@@@@@)max_assoc @ԠΠ@MlѶlӶlթlשl@.pUnCl@.pUuBAl@.pU}l@.pUCBA@@@A_@AAۀߠK`@A3@A@ABC@@ݠ(max_comm @<1@=N<m;mmm#@.pUBAm+@.pUAB@@@A]@A@AB@@(le_max_l @f[>8'@gOfm;em=ZJBmN@<.pU׀BA@@@@@&(le_max_r @z]WF@PmZm\ZiAmm@[.pUBA@@@@@E)max_l_iff @|ve:@Qmym{@#iffС)_mm@.pVBABZAB@@@@@o)max_r_iff @Πàd@Rmm*mm@.pVBBAAZBA@@@@@&max_le @͠Ǡ@Smʶm̶mζ@ZܠAm@.pViCBZZؐ@@@@@*max_le_iff @@ Tmmm}[ An @.pVCB.[AC[AB@@@@@*max_lt_iff @PE("@QUPn%On'En)^An>@,.pVǀCB_^,AC^0AB@@@@@")max_lub_l @vYSB@VnVnXvnZ@[hnk@Y.pV􀠐CBA[s=a@@@@@F)max_lub_r @}wf;@Wnzn|n~@[n@}.pWCBA[@@@@@j'max_lub @ɠ_@Xnnn@[CA@[[n@.pWC@@@@@+max_lub_iff @Ǡ@YnĶnƶnȩM[٠n@.pWeCBA[蠐CA[점BA@@@@@*max_lub_lt @  @ !Z nnn@^ꠐCA@^^񠩚o@.pW@@@@@砠.max_lub_lt_iff @ F ;   @ G[FoEo;o_o3@ !.pWCBAF_"CA_&BA@@@@@/max_le_compat_l @ w l O I 8 @ x\woLvoNloP@\^CB\boe@ S.pWV2ok@ Y.pW\Y@@@@@A/max_le_compat_r @   x r a 6@ ]ouowoy@\CB\o@ |.pX[o@ .pX@@@@@j-max_le_compat @ ɠ     _@ ^ooo!qo@\DC@\\o@ .pXFo@ .pXL@@@@@(min_spec @   Р ʠ  @ _oͶoϩ뀠_ǠBA oݩo@ .X7BAB\AB ˰o𩚠o@ .XJBAA@@@A@A@@٠+min_spec_le @ 8 -    @ 9`8p 7p6+]$BA pp+@ .XwBAB>]7AB p0p>@ '.XBAA@@@@@*min_compat @ v k N H 7 @ waր@pN@pOpOpQ@pRpR /pTpVpV 3pX 5pZpg@ P.X@@@LA@NA@PAJ@ABC@@B+min_unicity @   y s b 7@ bpvpxpz@`sCB dpAC]BC ppAB tp p@ .X t @@@@@}/min_unicity_ext @ ܠ Ѡ    r@ c ppp@ppဠր`  ) pƩC  .B†]۠ 5 ɩ pҩC  :Apضpک pܩ   Cp@ .Y8  I@@@@@ (min_mono @ !     @ "dڶ@pp@@ppqq ސq qA@@q q qq^^  zq q qq$@ .Yp )  +  -q0@ .Y| ! @@@A@Ab@A@ABC@@ &min_id @ k ` C = , @ lekq@ qBqP@ 9.YAAA@@@@@))min_assoc @  } ` Z I @ fq]q_}qa >qcqq@ Z.YCqx@ a.YĀBAq@ i.Ỳq@ o.YҀCBA@@@pA@AqA@sA@uAo@ABC@@g(min_comm @ Ơ     \@ gqq zqq@ .YBAq@ .ZAB@@@A@A@AB@@(le_min_r @   Ƞ    @ hqŶqǩ^Ԡq@ .Z#BAA@@@@@(le_min_l @     Р @ iq䶐q^󠩚q@ .ZBBAB@@@@@Ϡ)min_l_iff @ . #    @ /j.r-r r r@ .ZeBAB_!BA@@@@@)min_r_iff @ U J - '  @ VkUr*Tr, r2r@@ ).ZBAA_HAB@@@@@&min_le @ | q T N = @ }l|rQ{rSqrU@_crf@ O.ZCBA_r < `_t _ b@@@@@G*min_le_iff @   ~ x g <@ mr{r}r_r@ |.Z߀CBA_CA_BA@@@@@x*min_lt_iff @ נ ̠    m@ nrrr5br@ .[CBA怠bCAbBA@@@@@)min_glb_l @    ڠ ɠ @ orݶr߶r@_Ar@ .[?CB_  Đ@@@@@͠)min_glb_r @ , !    @ -p,s+s!s@`As@ .[cCB`  @@@@@'min_glb @ P E ( "  @ QqPs%Os'Es)@`7AC@`< * '`> )sA@ *.[ E @@@@@+min_glb_iff @ v k N H 7 @ wrvsKusMksOԀ``Asd@ M.[CBv`oAC`sAB@@@@@H*min_glb_lt @    y h =@ ss|s~s@cqAC@cv  ~cx s@ .[䀠  e@@@@@n.min_glb_lt_iff @ ͠      c@ tsss+cAs@ .\CB̀cACcAB@@@@@/min_le_compat_l @   ֠ Р  @ usӶsնs׶@`堐CB`頩s@ .\8  s@ .\>  @@@@@Ƞ/min_le_compat_r @'    @(v 's &st@aCBat@ .\a  t@.\g  @@@@@-min_le_compat @PE(" @Qw Pt% Ot'Et)t+@a9DC@a> ) ,a@tC@,.\ 0 tI@2.\ M 7@@@@@ 2min_max_absorption @~sVP?@x ~tS }tU2tWte@S.p\Btl@U.\BAB@@@ UA@ WA@ YA S@ABC@@ K2max_min_absorption @|k@@y t t^tt@z.\݀Bt@.p]!BAB@@@ A@ A@ A @ABC@@ w-max_min_distr @֠ˠl@z t tttt@.p]HCt@.]BAt@.]t@.p]]CBt@.p]eCA@@@ A ?@ A @ A @ABC@@ -min_max_distr @ڠ@{ t t tϰtu@.]NCu @.p]BAu@.p]u@.]cCBu@.]kCA@@@ A @ A S@ A @ABC@@ /max_min_modular @\Q4.@]| \u1 [u3 Qu5u7uE@3.p]΀CuL@5.]BuS@A.p]܀CAu[@D.]ua@O.p]ꀠCBui@W.p]򀠐CA@@@ QA @ SA @ UA O@ABC@@ G/min_max_modular @~xg<@} u{ u} u\uu@x.]ۀCu@.p^Bu@.]造CAu@.p^.u@.]CBu@.]CA@@@ A @ A @ A @ABC@@ 0max_min_disassoc @Ƞ @~ uŶ uǶ uɩb֠u@.^%Cu@.p^iBAu@.p^qu@.^:CBA@@@ A R@ A@ A @ABC@@ ͠0max_min_antimono @,!@- @vv@ @vv v v vvA@ @vv vvc'&Basics'Program@$flip$v'v'c3 v)(v+v-v;@).p^Ā@.BDvG@0.^8@@@ .A @A /A y@ 1A +@ 3A!s̓P&Basics'Program#Coq@@ =A!t Q @ABCD@@ 10min_max_antimono @hbQ&@@ I@vfvf@ 􀰶@vlvl vpvpMvrOvtA@ @v{v{ vvcdvv czvvbvv@~.^ဠv@.p_*@@@ A @A A @ A @ AZ@ AR@ABCD@@ ,max_monotone @ՠ@A @vv@ A@vv OvvccɐA(vv© @"eq @vʩv@.p_a˩9v@.p_mA@@@ A E@ A1DH   @@ A1FdJ@ABC@@ Ǡ,min_monotone @&@$B ܶ@vv@ @vv wwddAnwwFw w@._f {쐩w&@._r@@@ A @ AB@ A=@ABC@@ 4min_max_antimonotone @aV9@_C @w4w4@ €@w:w: Ѐw>w>dJ#w@w@dLAwCBwEwIwW@@._%J')wc@Q.p_쀠T@@@ JA @A KA@ MA@ OA@ QA~@ABCD@@ C4max_min_antimonotone @z@D X@wuwu@ @w{w{ wwddww dAwwĀww@.p`!fhjw@._@@@ A @A AY@ AQ@ A@ A@ABCD@@ +Private_DecwA/max_case_strong @ 䚠LN@M5 !P@ ȺhiZ@@&Compat8@@\ @=@ѩ"Hl@(@=ݐ"Hr@ éȐ!c)Datatypes@-CompSpec2Type2KC+EE@=J@'comparet<Q@,compare_spec@)CompSpecTӊ] "Ȑ"c0(@*comparison;f@Р.@,CompareSpecT, /@CAAAAAA@@@@@@@@D?@c}IH;=Mt@<J@"EQzCȐ!H%lemmaw@ С)z"@"or @+/ @9iff_flip_impl_subrelation2VA&p)*:ՠ@'le_lteqS%>BDH"sH@@(symmetry0xj@5Equivalence_Symmetric. U@(eq_equiv*uT\T@%max_rSc"LTiSQ2IA,M+"GTu_][wWzSؠt_y$O(GA@%max_l54@@Mx`@A@@Lx@` c``s8`@.@x@.Jx@A@A. y@x@. yhe@A@. @x@. hh@A@A.먩`@BC.U``DEF. ``G@A@8UsualMinMaxDecPropertiesx_@A@@<x5x4@x2@bxx@*xb%@@f @@fِy@.pa T+k()7!7!7777= gR'>#97!7!7!7!7!7  #7"  7!7777"7777! # '>#97!7!7!7!7!7  #7"  7!7777"7777! # '>"97!7! 7!7! 7!7  "7"  7!7777"7777! # '' +k()7!$'D@@p$p<Pࠒ@t<D@=xX@5H,h@S%Hؠ4Ġ&@=#(@$\`+@S= 0Р#@C AABACAAL@G8th@|E@*u@T@z@@Ⱥhi@@A@A@@A ALy@AB@@L(max_case @@Ôj"@@!X"X0_"X1%@+sـ'LOР̠@yy@y)@yy@ذyӶ@$@ y@.pbF +k()+++7# '''$'P3MinMaxDecProperties@G\ؠ@@G|@@@@@A@Ǡ@@Ǡ@A@AB@A@@Fà@@t<@@'comparet<d@@A@A5@@5@A@=#@@=#^@A@A=@@=@A@=@@=@A@ABC@A@1I@A@@@j"@x@A@A@zA1@A@@ՠ'max_dec @JICJu@<VnrQ&Specif.@'sumbool7̂K@D^| F`~abK"H0Pj/RlBAAAA@@@@@D!s&a{ )c} B,g0!E 5A tS@=trans_co_eq_inv_impl_morphism&ni$R@6Equivalence_TransitiveW`IZKb@/eq_proper_proxy)f&T÷#+VB,2!$lt]^^` ,gg@+reflexivity(ϓ/y@5Equivalence_Reflexive977!    7777"777  7777"777 9'>977!    7777"777  7777"777 9'' +k7!7!7%' 7! 7!7%'4U@@@1<V/D)젒<`Р@BAABAAQL@I588x8xX|5Р@H=#@00Ptu$$@:*u  lu@@@@@@<@ABC@@/min_case_strong @,+%,$@.k۠|@@" @1  @׷ ߷ ʩĐ@Ǡ O  ©@%min_lɀvAsqo igea ]ਗ਼@%min_rπNJ1@h{ a{!`@{#<@{%${&@V{)"Q@@h8lF@@h;;A{?@(.c. L+k()7!7!7777= eR'>#97!7!7!7!7!7  "7"  7!7777"7777! # '>#97!7!7!7!7!7  "7"  7!7777"7777! # '>"97!7! 7!7! 7!7  #7"  7!7777"7777! # '' +k()7!$'D,@3pOp@.ϐH@Aɠx<Ӱ@ؠD@Rt<DI@=pXN@58hS@S%@ؠ$[@=#(0T`&@gǠ0lXe@=0Р]@CZYX:ALp@*ux +@|@@k@@A@A&@@m(min_case @ڶ@䔑m2@@!ַ@4{[_`ܠ@{{@{@ {{@{ @4@0{@.d@(.>\ @@m@8@A@A@:A@A@@'min_dec @+*$+V@UkOT23T$>t@>trans_sym_co_inv_impl_morphism'\|E@/Equivalence_PER/;xM klP ֩ک=WY[  yFB)@`|Y|J||+@.dwQ|$|2@.d~ x+k()7777"7779 7777"7779 ++7#'()= XR'>G   7777"777  7777"777 7777"7779'>G   7777"777  7777"777 7777"7779'' +k7!7!7%' 7! 7!7%'0D\$ĠǠ`Р0@BANL.@5@T8pTX|@6@=#PXDL0hLPt;@*u |(DlR\\xM@d$m@kv@@@M@@AB@@C@@@@ce @@rA@@@T@UȩWʷ˷7|Ȑ!e@o!y@'f_equal='&)A/0xҰ2@'eq_rect=߀9vƷ"X2=z(ߠ@||@|H@@@i͠BC@@iՠÐ|@.pee +k()++h7# '()9777 G +17 +17T7   77   + 77# ' $'6''$'ࠒ5OPpH-VaP!@@rA@@A@A@@@A@@A4@AA1E%I@A@A@ABCD@@ߠ @SRLSK@Ur@@{<>.@m7,.6TP7@R}'Q})h@},@@AC@/-.}G@5.peЀK +k()+++7# '''$'-X{w^@@r@>@A@A@@A@A@@-X @@`+`q@}a}c&Specif$Init#Coq@@]7̂K@}u}@q.pf BAB}}@~.pfBAA4@@@A@A@@q @ݶ@甑t95@@$@.!$@-b߷&+*($$#"'-, %%%@}Ŷ}Ƕ@}ʔ*@@@jܠCB͐@@jАҐ}@.f7ࠒC3\THPPoP/+@@t9@`@A@A@c@$@Ad@@gA @AhA@A+@A&@ABCD@@렠~ @_^X_W@at@@   @I`؀4=7#\X?@Z~/Y~1p@~4@@AC@756~O@8.fS*X~e@@t@9@A@A@;A@A@@4~ @@,)x@~h~j~r~@i.f̀BAB~~@v.fـBAA*@@@|A@A@@n)pow_neg_r @@~[lL}M!bk~@jAl=AlO{~@{7.뾴p!rslJA@@@@@s2'pow_0_r @@~\lq}rlh{)AlbAk]BljA@@@@@sR*pow_succ_r @@~]l}Ek@jClAAl{TDs=sBsUpsFQsJs]@@@@@s~+square_spec @@"^m}l}@wlѓgAqAA@@@@@s$Even @mxs@"ex @xixsxsqcssms@m}l_ |+k+ 77%'77!77&'РAA@H!lq|Px`dsh@@@HAAl@A@@sؠ#Odd @mx=xj.x©sаxsǩrĠ95@n~ul +k+ 77%'6 77!7!77&'rΐdAA@PXlqXxtdA@Ds|@@@=Am@A@@t.Private_ParityA&Even_1 @@_is@.z@@@@@t.&Even_2 @@`nQ~jnN@.AttBtyBA@@@@@tT%Odd_0 @@ais@.Gn@@@@@tg%Odd_2 @@ bn~n@.GAtBtBA@@@@@t@@@@g@)even_spec @@3cn|ntolt+@$even.Xzs@ ?1twotAt{@@@@@t(odd_spec @@Pdn}ǹtotH@#odd.gt@ tct@@@@@tƠ+divmod_spec @@jety¶tm[!qy!uma@kACyBBB@@@@@!pyπyym@z">gssttՐ"q'}"u'o@p_Жw@n.sss婚ru?Bss詚s,ss⩚sŀruPBsu s=tu lut@@@@@u2'div_mod @@fu/z.u.nZ@@jnr AnhAnzzDu srހu;@z .Uqŀu.uA@y?;q<u4uG@@@@@uh-mod_bound_pos @@ guemudmԶ@lYnAB@ltnAuf%Logic$Init#Coq@@#andЖw@lxnA;tfumlCtnuuuu@@@@@u.sqrt_iter_spec @@Mh!kyGEC!rnD@n耰KBtkCC@luuȐkza@yliStttuycOlsduutttsptttttl怠tttөsttԩttt˩sv5Buv:Bu@@@@@v+sqrt_specif @@ip7yms@y.Ʉi)AAAm-AsĀvmBAvwB%A@@@@@vV)sqrt_spec @o{>"HanpvEu@S,fv1@on mRpvRTRPNBJFCA> ;8 8+k()7$'*d@@@@@v(sqrt_neg @@8joo@mAoAoӀz:voA@@@@@v.log2_iter_spec @@Xk yכv@T v@@o~nBnBoAw BCuBwBA@m耠vשπoBoBp!AuȐl@z]/juuuvz=mo0Bo5BpBAwuҀvun"uڀv v oMBoRBp_AwrBw*@@@@@wL)log2_spec @@lqoo@nMpxAAڀnG@oBoBpA @z. jw_w_ntwc[oBoBpAwB w}@@@@@w+log2_nonpos @@Bmqp1@nApAp݀z㩚=wpA@@@@@w÷ @w|w|$|!z|w|wuw@w`wp| +k() + 77%' 7!77&'6|u\|ltwѐt@@@Ap@A@@w젠*gcd_divide @@nq+{|꩛w@@>w@#gcd. wX@ Àwww w@@@@@x,gcd_divide_l @@oqM|} @^>@|F. kxBAB@@@@@x+,gcd_divide_r @@pqj|-})BAA@@@@@xD,gcd_greatest @@qq7!c@:x8x&@?x>x+Cx/_w4w*@@@@@xe*gcd_nonneg @@ rq|gX}coUqAXBA@@@@@x+div2_double @@$srq{ !@{,.,akvpBpBqAAA@@@@@x0div2_succ_double @@MtrBq߀{4)xBvHpBpBqAAA@@@@@xՠ'le_div2 @@yury @oƀXyBAA@@@@@x'lt_div2 @@vsq]@o􀠜rAAo|xx@@@@@y)div2_decr @@wrOqs5yG@@pByRBApyy@@@@@y5,double_twice @@xsXΩrk~!x@&double>x@NĴy@@@@@yL+testbit_0_l @@yso{r{sr{AApB@@@@@yg-testbit_odd_0 @@ zrr{tx#wqBӐAqBsrApJA@@@@@y.testbit_even_0 @@8{r-rʀ{ީt=w.qBArApnB@@@@@y1testbit_odd_succ' @@\|rQsݛy@r|tfxyw[qB)BqBtzBAtBA@@@@@y2testbit_even_succ' @@}s/tz'@s+|?twr B]Bz>BAtBA@@@@@z-shiftr_specif @@~s^|tD|!q|ksY|mt̀@|s8m΀CBAtـCx퀠AB@@@@@zK2shiftl_specif_high @@s䶐tprඐrr@q>BAs|t@|s2ny5z<zOu y9xzWzD@@@@@zx/shiftl_spec_low @@@str䶐r5r@q}ABs|ͩu,-y`zgzzqTB@@@@@z,div2_bitwise @@BA"op|těz@s sހ}3(M@|g,n1DzBCBADCABFA@@@@@z۠+odd_bitwise @@B=|<u{@t!HJt@7.gn*>D{*BCBADBA@@@@@{1testbit_bitwise_1 @@Cv{q@z|xq@@|~tW BvB{qBuSsör}ztssǶ'@r%{&z tq}u䀠z(z"{{2zz)u{%zu{<z"@@@Ati@A@@{_1testbit_bitwise_2 @@D{^r%@zZr*@r-@@tALLr9But s4}öttpt@rn{ozU@rs{tzdt}өv2Hztzg{nzqv=zmzwvA{xz{@@@At@A@@{)land_spec @@REt}u}t耰}v[W@|. nրCBAuuu@@$andb=vsCAvyBA@@@@@{栠*ldiff_spec @@Fu%}=Nv ~2u ~4v@|/n耠CBA8vCA|:@$negbvBA@@@@@|(lor_spec @@Gu]춐 궐vE~juX~lvˀ@}. oCBAp@#orbv߀CAv倠BA@@@@@|R)lxor_spec @@Hu  Evy~u~v@|.oqCBA|@$xorbȀwCAwBA@@@@@|)div2_spec @@*IuuAdAtBuA@@@@@|0testbit_odd_succ @Rv@P|?@3)||@uJvuF@sv||萐B| <+k() 7%'"h@@@@@|ڠ1testbit_even_succ @v·@|q@:T2@v!{wuw@sӀw|ө1|ǩ萐B|/h@@@@@}-testbit_neg_r @@JvGnw-ux}t Av8AvJ^wCBsB@@@@@}-0shiftl_spec_high @ws@֩|@ M|} } @vvжw\u̶tuζ@t*wi}*@}B젩|%|}"|'}&| @+k() 7&'%l@@@@@}c+shiftr_spec @ JwRKsL@ |@R")6@vwnu)v@t_w}_RPN|L}SBH|OE}X2 l@@@@@}'Even_wd @@@B!PiȠ0qG@A@@Aii͠5@qL cq)q's8q@.@=@i.J6@A@AC. @A@i. ^w@A@. y@H@i. yhvM@A@. @M@i. hy5@A@AB.먩q#@C.UqqDEF. qq .gp@.&@V@i.&T@A@A.뾴p@.Lp@.@\@i.T@A@ABCD.,appE.pp.Ʉp@.@d@i.r@A@.t @i@i.t T1@A@AB/p@CD/ppEFG@A@i*NExtraPropqpd@A@@'NParity(Abstract'Natural'Numbers#Coq@+NParityPropii@A@@@A"NP'NParity(Abstract'Natural'Numbers#Coq@gi@A@@@!Nh@@ <@q@j+ <i@A@A Ѹ@@j( Ѹi@A@ 1@@j# 1i@A@AB @@@j @i@A@ Za@ @i Zai@A@A _ @@#div _ d@@A@ `@@#eqb `d@@A@ABC b@@#gcd bĠd@@A@ i@@#leb id@@A@A j@"@#lor jàd@@A@ k@'@#ltb kd@@A@AB k(@+@i k(i@A@ k@/@i ki@A@A l@1@i li@A@ n@4@#odd nd@@A@ABCD n@8@jE ni@A@ pl@>@#pow pld@@A@A u@B@i ui@A@ v@E@jK vi@A@AB@G@$div2d@@A@ 2@M@$even 2d@@A@A@Q@$landàd@@A@@V@$log2ʠd@@A@ABCS@Z@$lxorSd@@A@+=@a@i+=i@A@A{<@c@$sqrt{<d@@A@@h@jei@A@AB%@j@ja%i@A@I@o@%ldiffId@@A@A% j@s@&modulo% jd@@A@%$@x@&shiftl%$d@@A@AB%$@|@&shiftr%$d@@A@%D@@&square%D͠d@@A@).R@@'testbit).Rd@@A@:@@'compare:Ѡd@@A@ABCDEFG@A@(NZParity&NatInt'Numbers#Coq@,NZParityProp@@@A@@@C!C(NZParity&NatInt'Numbers#Coq@@A@@B!B@@ R@@&modulo Rd@@A@A @@&shiftl d@@A@ @ @&shiftr d@@A@AB r@@&square rd@@A@@@'testbitd@@A@A v@@'compare vd@@A@9.@@!t9.J@@A@ABC96]@!@"eq96]^@@A@96@(@"le96֠h@@A@A96@,@"lt96h@@A@9Կ@1@#add9Կd@@A@AB9ò@5@#div9òd@@A@9ş@;@#eqb9şd@@A@A9i@?@#gcd9id@@A@9Κ@D@#leb9Κd@@A@ABCD9h@H@#lor9hd@@A@9Ϸ@P@#ltb9Ϸd@@A@A9@T@#max9͠d@@A@9[@Y@#min9[d@@A@AB9=@]@#mul9=d@@A@9@c@#odd9Ġd@@A@A9Ӄ@g@#one9ӃT@@A@9@l@#pow9d@@A@ABC9٩@p@#sub9٩d@@A@9E@w@#two9ET@@A@A9B@{@$div29Bd@@A@9n@@$even9nנd@@A@AB9 h@@$land9 hd@@A@9 o@@$log29 od@@A@A9-@@$lxor9-d@@A@9@@$pred9d@@A@AB9@@$sqrt9d@@A@9W@@$succ9Wr@@A@9}@@$zero9}T@@A@:@@%ldiff:d@@A@ABCDEFG@A@@A!AǠ@A@@)Morphisms'Classes#Coq@@&ProperL@A)Morphisms'Classes@@*respectful%WO?$yÚ%Logic$Init @#iffС);@$Even.@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۓό^ @A݋X_A/RelationClasses'Classes#Coq@@AA.Morphisms_Prop'Classes#Coq@@)A1@D%Logic$Init#Coq@@ABCD@@AA@@A@&Odd_wd @SNSB4}@@Ax@nlpz$a@#Odd.G@@@WAO@AXAG@ZAE@\A=@^A5@ABCD@@-'even_wd @}x>9(}l^@jB@)Datatypes@$boolZ'@ zW@"eq @@$even.XzsU@@@A@A8ӠA4Relation_Definitions)Relations#Coq@@AB@@j&odd_wd @{veU@C߀@=?z4@#odd.gs@@@A@A,@AB@@+Even_or_Odd @ޠ٠yޠ͠@D!x @@"or @&@.A-@.GA@@@A@AAۀߠK@A@A@A@ABCD@@ˠ,double_below @ܠנƠ E@E!nI!mL@yZBA|Aa@#mul.t Ci@#add.먩t;p@.tB@@@6A.@A7AC@9A(@;A&@ABC@@ ,double_above @ZUZI;@GF?>@|zBA|~@5.먩to@C.tM1BO@I.tS7:@@@oAg@ApA|@rAa@tA_@ABC@@C.Even_Odd_False @TO>.t@G@@.A@@E.Gg%Logic$Init#Coq@@%Falsee@@@@A@AA@A@A@A@ABCD@@,orb_even_odd @ϠʠzjϠ@H@"eq @)Datatypes$Init#Coq@@$boolZ'@)Datatypes$Init#Coq@@#orb-@`.XztA4@;.gtـA@#Z'@A@@@@@̠(negb_odd @ݠؠǠ F@ IIMI@?@$negbe@l.gu Al@.Xzt󀐐A@@@@@)negb_even @NI N=/x@;J3{2/@.XzuA@.gu=A@@@@@*&even_0 @zu;6%zi[@gK@.Xzu>~A@@@~Am@Ak@AY@ABC@@Q%odd_0 @b]L<@LЀ#@.guB@@@@@r%odd_1 @ ~m] @MD@.guA@@@A@AA@A@A@ABC@@&even_1 @ڠ̠@Nm(@[.XzuӜB@@@@@&even_2 @ ͠Ƞ 6@O;I@|.XzuЀ֜A@@@A @AA@A@A@A@ABCD@@砠%odd_2 @72Ҡ7&a@$Pft@{.gv?B@@@@@(Odd_succ @XSXG9@EQ=x@]С)@.GDA@g.A@@@hA`@AiAX@kAV@mAD@oA@ABCD@@>(odd_succ @OJ9)}o@{Rs@.gvrxA@ .Xzv]A@@@@@h)even_succ @ytcS@S婛逰<@*.Xzv~A@.gvA@@@@@)Even_succ @ݠ}Ѡà @T!@.̐A*@.GA@@@@@.Even_succ_succ @ ͠Ƞ 6@U9K@.AV@.A@@@@@蠠-Odd_succ_succ @83Ӡ8'b@%Vew@.G"$A@.GA@@@@@.even_succ_succ @d_% dSE@QWI詚@.Xzw*NPA@.Xzw5A@@@@@@-odd_succ_succ @QL;+q@}Xu@.gwtz|A@.gwA@@@@@l(even_add @}xgW@Y鶐멛B@0.Xzw@.먩wԀBA$Bool#Coq@@#eqbP@K.XzwB@R.XzwA@@@A@AA@A@A@A@ABCD@@'odd_add @ ̠Ǡ 5@Z8:>L@S.gw񀐩R@.먩x#BA;@$xorbȀa@h.gxBh@o.gx A@@@@@(even_mul @JE J9+t@7[/w.y}Щ@.Xzx@0.x:BA@s@.Xzx&B@.Xzx-A@@@lAd@AmA\@oAZ@qAH@ABC@@@'odd_mul @QL;+q@}\utÀ@.gxv@v.xBA@$andb=@.gxB@.gxA@@@@@-even_add_even @ϠʠzjϠ@]@ @.A ]@K.Xzx@.먩x$@W.Xzx@@@@@,odd_add_even @Ơ/@^24@C@.A@N@U.gx󀐩T@.먩y%䩚Z@a.gx@@@@@렠1even_add_mul_even @;6֠;*e@(_ hj!pm@|@A.By̩@.Xzy@$.먩y^D@3.y=2$@.Xzy! @@@@@+0odd_add_mul_even @{v<7&{j\@h``_@@@.B @.gyk@c.먩y?@q.y{pb@.gy}K@@@@@i.even_add_mul_2 @zudT@a涐詛쀰?@-.Xzy@.먩yрB@.yA@A.XzyB@@@@@-odd_add_mul_2 @ߠѠ@b#v1@8.gyր7@.먩zB>@.y瀠ːAE@L.gyꀐB@@@@@נ(odd_pred @ ' "Ҡ@@!nQ@%Logic$Init#Coq@@#notШǰA2%Logic$Init#Coq@@"eq @)Datatypes$Init#Coq@@$boolZ'@@.gz2@$pred.y;B@.Xzz"@@@ %'A*Equalities*Structures#Coq@A݋X_A/RelationClasses'Classes#Coq@@A@@AA@@A@)even_pred @   R M < ,@ 9Aj@i&A_T@.Xzz[@G.yF@.gzL@@@EA=@A@@5(even_sub @ à    n ^@ kB춐!m@AB@9.Xzz @#sub.LzCz$Bool#Coq@@#eqbP!@T.Xzz'@Z.Xzz@@@AviA)Morphisms'Classes#Coq@@AAۀߠK @Aۓό^ @A@A1@DРϠ@@ABCD@@'odd_sub @ #   ߠ Π @ CL`N@\AB婚e@l.g{ k@_.L{^ש)Datatypes$Init#Coq@@$xorbȀ@.g{$r@.g{*@@@@@ؠ-Private_NZPowA'pow_0_l @ m h .@@B!C$NPow(Abstract'Natural'Numbers#Coq@ (s@A@$NPow(Abstract'Natural'Numbers#Coq@(NPowProp 9s@A@@@A!B! .s@A@@@!A' - ,@A@%NZPow&NatInt'Numbers#Coq@)NZPowProp: N@@@A@@@J!C%NZPow&NatInt'Numbers#Coq@+@A@@I!B,@@qj@5@'compareqjd@@A@Ag@@!tgJ@@A@@ @"eq^@@A@AB\@@"le\h@@A@k@@"ltkh@@A@A@@#addd@@A@8@@#div8d@@A@ABC%@!@#eqb%d@@A@@'@#gcdd@@A@A @+@#leb d@@A@@0@#lord@@A@ABD=@4@#ltb=d@@A@S@=@#maxSd@@A@A@A@#mind@@A@@F@#mulàd@@A@ABJ@J@#oddJd@@A@ @P@#one T@@A@A@T@#powd@@A@/@Y@#sub/d@@A@ABC@]@#twoˠT@@A@+D@c@$div2+Dd@@A@AW]@g@$evenW]d@@A@@l@$landd@@A@ABD@p@$log2d@@A@~@x@$lxor~d@@A@Axh@|@$predxhd@@A@g@@$sqrtgd@@A@AB@@$succݠr@@A@s@@$zerosT@@A@ot@@%ldiffotd@@A@AB*:@@&modulo*:d@@A@CD+ar@@&shiftl+ard@@A@+ar@@&shiftr+ard@@A@+t@@&square+td@@A@.F@@'testbit.Fd@@A@ABCEFG@A@@H!AǠ@A@@!a@sA @#pow.뾴}B~@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۓό^ @A݋X_A/RelationClasses'Classes#Coq@@A1@D%Logic$Init#Coq@@ABC@@AA@@A@(pow_0_l' @ Š  XI94/X@AS@%Logic$Init#Coq@@#notШi]Aԩl`@`.뾴|_ܐ@@@]AU@_AN@aAL@ABC@@:'pow_1_r @   pkfTF@RB*:@.뾴AA@@@A|@Au@As@ABC@@a'pow_1_l @ #  {m@yCQ@_#Ae@.뾴̀@@@A@A@A@ABC@@'pow_2_r @ L G ߠР@Dzթ@.뾴񀠐A@#mul.};AA@@@A@A@A@ABC@@(pow_eq_0 @ { v <ӠŠ@E !b@~A@ @ .뾴(C !D@@@ A@A@A@ABC@@ꠠ+pow_nonzero @   m?0 ?@F:ڶ1ܶ@逐HBA@@@!A@#A@%A@ABC@@)pow_mul_r @   SD4/* S@JNE@ĐB@K`T @T.뾴p@~.~KN@`.뾴|@f.뾴WZ@@@cA[@eAT@gAR@ABC@@@*pow_nonneg @  àvqlZL@XK02@@BCF@.뾴@@@A@AA@A@A@ABC@@m.pow_pos_nonneg @/*  y@L]_@P1B@q5V7v@.뾴݀@@@A@AA4@A@A@ABC@@-pow_lt_mono_l @_Z ӠΠɠ@M2@cA@%Logic$Init#Coq@@#andЖw@v@.뾴 B@ .뾴&@@@A@A A}@ A@ A@ABC@@栠-pow_le_mono_l @i;,;@N6ֶ-ض{ڶ@ECCB󠩚@A.뾴]2@@G.뾴c;F@@@EA=@AFA@HA7@JA5@ABC@@#(pow_gt_1 @xiYTO=/x@;Osj@ːB  qԩ/@z.뾴ny@@@xAp@AyA@{Aj@}Ah@ABC@@V-pow_lt_mono_r @٠pb@nPFHJ@;C@\ @BDd@.뾴ˀFk@.뾴Ҁ@@@A@AA)@A@A@A@ABCD@@-pow_le_mono_r @VQڠʠŠ@Q)@yZC@@.뾴(۩@.뾴 .@@@A@AAc@A@A@ABC@@̠+pow_le_mono @O!ؠ!@Ra!dö@.DؠDB@ݠ$ߠ@-.뾴I~k@3.뾴O$'@@@0A@A@@ +pow_lt_mono @ˠƠ^O?:5#^@!SYP=@jՐDDB@vVXf$@o.뾴*@u.뾴fi@@@rAj@tA@vAa@ABC@@O)pow_inj_l @ Ҡ{i[@gT?AC@QC@U@;@^@.뾴ŀd@.뾴ˀðG@@@@@)pow_inj_r @HC ̠۠@Uvxz@k0C@Pȶ@S˶@ਗ਼@.뾴1@.뾴7ש9&@@@@@1pow_lt_mono_l_iff @~y?֠Ƞ@V Q@C@ @dQ@.뾴7l @!.뾴=_@@@@@1pow_le_mono_l_iff @xJ;+&!J@ WE嶐<綐@C@7@:瀠 @T.뾴pE@Z.뾴vK@@@@@.1pow_lt_mono_r_iff @td_ZH:@FX~u "@ؐC@4{sv?@.뾴{E@.뾴@@@@@d1pow_le_mono_r_iff @&!~p@|YTVX@IC@j.Spru@.뾴܀{@.뾴†@@@@@,pow_gt_lin_r @\WРˠƠ@Z@}BB@bܩ@.뾴 @@@A@AAa@A@A@ABC@@ʠ-pow_add_lower @M֠@[_@̠C@Р @ՠ@Z.먩@).뾴Ez@/.뾴Km @5.뾴Q@r.먩y,@@@9A1@A:A@A)@ABC@@-pow_add_upper @٠Ԡl]MHC1#l@/\g^  @ݐC@Y@\"%@p.뾴+@.먩g1@.ڀ7@.뾴ĩ=@$pred.y倐zD@.먩J@.뾴P@.뾴@@@A@AA@A@A@A@ABCD@@y@@@  @ @A@B@CDV@+pow_succ_r' @A<ԠŠ@@!al!boְʩ@.뾴怠B+A@#mul.3B@.뾴BA@@@@@AA@@A@'pow_0_l @wr8 @ A6@%Logic$Init#Coq@@#notШ A@.뾴*B@@@@@1'pow_1_r @RI@ Ҁk@eЩ7+@+.뾴GAALKJIH@7e@&1cƠYJ:5@@@@@b'pow_1_l @֠ѠiZJE@hBg[@[.뾴wA@@@@@~'pow_2_r @@ ;@x-@x.뾴A4@.݀AAT@%1c Ӡ@@@@@)pow_add_r @"@CLN!cQa@.뾴ȀCh@#add.먩:BAq@.w@.뾴ހCB@.뾴怠CA@@@@@)pow_mul_l @b]#֠@D! @멚@.뾴@.OCBA@&.X@.뾴CA@.뾴$BA@@@@@,)pow_mul_r @a 3 $  @ 2E_ʶ^̶~Ω5)@).뾴EC@\.BA@8.뾴T@>.뾴ZCBA@@@@@c(pow_eq_0 @נҠ j [ K F@ iF@bocAڶ@sg@g.뾴CZ|pD@@@@@+pow_nonzero @    u p@ G+-@BI@.뾴-@@@@@,pow_eq_0_iff @*%    @ HTV%Logic$Init#Coq@@#iffС)˰t@.뾴ۀBA=@#andЖw@ԀՐALؐBO@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@Aۓό^ @A݋X_A/RelationClasses'Classes#Coq@@ABC@@-pow_lt_mono_l @J    @ IHGg@#A@@ .뾴9E@ $.뾴@@@@@@F-pow_le_mono_l @{ M > . )@ LJy䶐x涐@CB@ H.뾴d:@ N.뾴j@@@@@@p(pow_gt_1 @ߠ w h X S@ vK@ƐB@st` Щ+@ v.뾴 @@@@@-pow_lt_mono_r @ ͠    {@ L68:@+C@/-1Q@ .뾴2W@ .뾴;@@@@@Ġ-pow_le_mono_r @83 ˠ   @ Mbdf@ŀҰƐC=@|]~@ .뾴耠b@ .뾴k@@@@@+pow_le_mono @hc)   ܠ @ N'&F!d@Dp@@@ .뾴GF@ .뾴&@@@@@,+pow_lt_mono @M D@ 29f@`˶_Ͷ϶9Ѷ@%Logic$Init#Coq@@#andЖw@ѠDԠDB@ݠةߠ6ᠩ@ L.뾴hI/@ R.뾴n됑%@HUޠ v g W R@@@@@)pow_inj_l @  w g b@ O!@A@:@ .뾴w@@ .뾴$}p#@@@@@)pow_inj_r @#    @ PMOQ@BC@f@ .뾴̀GJl@ .뾴ӀM˰OR@@@@@۠1pow_lt_mono_l_iff @OJ  Ӡ à @ Qy {-}@܀ݐAT/ytw{@ .뾴|ة@ .뾴ސ@@@@@1pow_le_mono_l_iff @}C    @ RA@`@Abɠˠ@ .뾴5 @ .뾴;@@@@@A1pow_lt_mono_r_iff @v H 9 ) $@ GSt߶sᶐ@ԠC۠2ݠ@ H.뾴dᩚ@ N.뾴j@@@@@@p1pow_le_mono_r_iff @ߠ w h X S@ vT@ȐC'a),@ w.뾴 2@ }.뾴o@@@@@,pow_gt_lin_r @Ԡ    @ U=?@0B3S@ .뾴7@@@@@-pow_add_lower @4/ Ǡ   @ V^`b@ΰA9wz@.먩K@ .뾴瀠a@ .뾴퀠jé@ .뾴󀠩@*.먩csvϐ@@@@@-pow_add_upper @sn4    @ W21Q@ Ax@ .뾴 @W.먩@<.n@ .뾴2X@$pred.yy@p.먩@ ).뾴E@ /.뾴K!@@@@@Q(even_pow @Š X I 9 4@ WX﶐@P]QAȩ@"eq @)Datatypes$Init#Coq@@$boolZ'@@$even.Xz#@ n.뾴`)@ .Xz @@@A@A@A@ABC@@'odd_pow @ Ѡ    @ Y:<@AKGV@#odd.g]@ .뾴ĀAc@ .gG@@@@@Р.Private_NZSqrtmA0sqrt_spec_nonneg @KF @@A!B%NSqrt(Abstract'Natural'Numbers#Coq@@A@@@!A@A@)NSqrtProp@A@@&NZSqrt&NatInt'Numbers#Coq@*NZSqrtProp<@@@A@@@J!C&NZSqrt&NatInt'Numbers#Coq@:@A@@I!B1@@[@:@'compare[d@@A@Ax5K@@!tx5KJ@@A@x<@ @"eqx<Ǡ^@@A@ABx=@@@"lex=@h@@A@x=O@@"ltx=Oh@@A@Axp@@#addxpd@@A@x@@#divxd@@A@ABCx @!@#eqbx d@@A@x@'@#gcdxӠd@@A@Ax@+@#lebxd@@A@x@0@#lorxҠd@@A@ABDx!@4@#ltbx!d@@A@x7@=@#maxx7d@@A@Ax@A@#minxŠd@@A@xק@F@#mulxקd@@A@ABx.@J@#oddx.d@@A@x@P@#onexT@@A@Ax{@T@#powx{d@@A@x@Y@#subxd@@A@ABCx@]@#twoxᯠT@@A@I(@c@$div2I(d@@A@AuA@g@$evenuAd@@A@@l@$landҠd@@A@ABD&@p@$log2&٠d@@A@4b@x@$lxor4bd@@A@AL@|@$predLd@@A@K@@$sqrtKd@@A@AB@@$succr@@A@@@$zeroT@@A@Z X@@%ldiffZ Xd@@A@AB,vXy@@&modulo,vXyd@@A@CD-K@@&shiftl-Kd@@A@-K@@&shiftr-Kd@@A@-^@@&square-^ܠd@@A@0*@@'testbit0*d@@A@ABCEFG@A@@H!AǠ@A@@!bm@^~@#mul.(AA@ .02A5AVB@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۀߠK @Aۓό^ @A݋X_A/RelationClasses'Classes#Coq@@ABC@@AA@@A@+sqrt_nonneg @YM>93#^@!A!aƩӠ@$sqrt.ɄCA@@@HA@@AIA8@KA6@MA4@ABC@@,+sqrt_unique @vgb\L>@JB)@%Logic$Init#Coq@@#andЖw@ @.AABB@.ŀǐAʐAu*@T.ɄC@@@A@A@@y'sqrt_wd @ Ϡà@C)Morphisms'Classes#Coq@@&ProperL@HH)Morphisms'Classes@@*respectful%WO?UUb@.Ʉ΀@@@A@AA@A@A@ABC@@-sqrt_spec_alt @JE ՠǠ@Dw@IA%Logic$Init#Coq@@"ex @!r@#andЖw@u@#add.먩w@..U@.Ʉ@.Ʉ$A Ġ @I.pT@.Ʉ9@@@=A5@A>A-@@A+@BA)@DA1@DRQP@@ABCD@@(,sqrt_unique' @~rc^XH:@FE%궐춐!c@ŐAA@.B@i]D@n.먩䀠@.€xl!@K.ɄE@@@A@AA@A@A~@ABC@@v+sqrt_square @ ̠@Fs8@F AL@v.ɄR@.Ð@@@A@A@AB@@0sqrt_pred_square @72ݠؠҠ @Gd@U6Aϰéx@.Ʉ䀐~@$pred.y&@..@ .y2@@@A@AA@A@A@ABC@@ߠ,sqrt_le_mono @to5):@H7@BA@.Ʉ$@.Ʉ*/@@@-A%@/A@1A@ABC@@.sqrt_lt_cancel @fZKF@0"k@.I ҶhԶ@Š@.ɄQB@.ɄXAՠ`@@@_AW@A`AO@bAM@dAK@ABC@@C.sqrt_le_square @ؠӠ~yscU@aJ@@ِB@@#iffС)"%@.΀*-@W.Ʉ!@@@A@A@A@ABC@@.sqrt_lt_square @ՠɠ@K|AC@QB@Ué<>L^@.44Ff@.ɄҀZ<@@@A@AA@A@A@ABC@@&sqrt_0 @OJڠ̠@Lթ@.ɄQQ@@@A@A@A@ABC@@ܠ&sqrt_1 @ql2& 7@M@.ɄWW@@@A@A@A@ABC@@&sqrt_2 @TH94.Y@N%@.Ʉ:[y@@@>A6@A?A.@AA,@CA*@ABC@@"(sqrt_pos @xl]XRB4}@@O䩚րؠ@".ɄdAA@@@kAc@mA\@oAV@ABC@@N+sqrt_lt_lin @ޠ~n`@lPK@ƐA$@N.Ʉ@@@A@A@A~@ABC@@v+sqrt_le_lin @ ̠@Qs8@F AIL@v.Ʉ@@@A@AA@A@A1ՠF-SetoidTactics'Classes#Coq@@A1I @ABCD@@.sqrt_mul_below @A<ܠ̠@Rnp}@.)@.Ʉ򀐐B@.ɄA@.Ʉ@.CBA@@@ A@A A@A@A@ABC@@.sqrt_mul_above @F:+& K@SH@ B@Ơ4@.Ʉ7@S.z@Y.@ .ɄKө@.ɄS@@@WAO@AXAG@ZAE@\AC@ABC@@;,sqrt_succ_le @Рˠvqk[M@YT8@ ϐA@;.Ʉ}@E.Ʉ@@@A@AA{@Ay@Aw@ABC@@o,sqrt_succ_or @Š@Ul1@?A@"or @M@w.ɄW@.ɄÀȩ_@.Ʉˀ ҩg@.ɄӀؐ@@@@@7sqrt_eq_succ_iff_square @HC ӠŠ@Vu@GAkة@.Ʉ8:@.Ʉ)jP}@/.V@@@A@AA @ A@"A@$A8ӠA4Relation_Definitions)Relations#Coq@@ABCD@@ +sqrt_add_le @aUFA;+f@)WͶcϩܠ@ .ɄK@@.먩BA@H.먩@.Ʉ_B@$.ɄfA@@@kAc@AlA[@nAY@pAW@ABC@@O+add_sqrt_le @ߠoa@mXL@!B@%'*@.먩0@Z.Ʉ$6@`.Ʉ <@f.ɄB@.뀠ϩH@.먩<@@@A@A@@@@@@Q@AP@B@@A@B@C@@ADEJ@*sqrt_spec' @50۠@@!a_%Logic$Init#Coq@@#andЖw@{~@#mul.(@.Ʉ񀐐A@.ɄAAvA@.@B@.Ʉ AK@.ɄA@@@@@AA@@A@+sqrt_unique @A@?>=@0Z@=6ZN?:@d¶!bŶ@gנ@\.AABŠB@h.AAK?@.Ʉ`CBAѠ̠wr@@@@@V+sqrt_square @۠@A pd@C.Ʉ@.ȀAAA@@@@@y,sqrt_le_mono @v@ '؀  Ƞ@0n2@@BADG@q.ɄSM@w.ɄX" ( #ݠΠ@@@@@.sqrt_lt_cancel @@ !9RЀ ; 6@df@Ww@.Ʉ【B~@.ɄꀐAg" \ W @@@@@ᠠ.sqrt_le_square @ k f ,  @B6%Logic$Init#Coq@@#iffС)@6.]AABA@.Ʉ,B@@@@@.sqrt_lt_square @   cWHC@UCm˶ ͩ7B@d.AA̠@.ɄXBA@@@@@E&sqrt_0 @B@ #8 Ӡ Π yt@aU @4.Ʉvѐ   @@@@@j&sqrt_1 @g@ #8   @z/@Y.Ʉڐ! ! ˠ@@@@@&sqrt_2 @@ #8!! ޠҠà@T@~.Ʉ!/!* ՠ@@@@@+sqrt_lt_lin @@ <ۀ!B!=!@ k@\!A_@.Ʉ뀐!Z!U!  @@@@@ߠ+sqrt_le_lin @!i!d!*   @ D4@.ɄAA@@@@@.sqrt_mul_below @@ .m!!!J > / *@T@F.m@.Ʉ6B@.Ʉ=A@.ɄD@`.BA3!!!| p a \@@@@@@.sqrt_mul_above @!ʠ!Š!  p k@ }E1堩@/.Ʉq @.BA@.@E.ɄBǐ$@N.ɄA@@@@@|,sqrt_succ_le @""!Ǡ   @ F/<?@i.ɄꐐA퐩J@t.ɄA@@@@@,sqrt_succ_or @","'!  Ҡ @ GU@"or @İm@.ɄـAx@.Ʉ䀐Aذ̩@.Ʉ퀐,A@.ɄA@@@@@⠠+sqrt_add_le @@ :"p"k"1 %  @;@.Ʉ@#add.먩BA@ .먩@.Ʉ,B@.Ʉ3A4"""d X I D@@@@@(+add_sqrt_le @"""s g X S@ eH}۶ݩ꠩@<.먩@ .Ʉ_B@ $.ɄfA@ +.Ʉm@. @\.먩ހBA@@@@@f'sqrt_up @ NK  w v u@!tР)Datatypes$Init@*comparison;f@@@@@@@@@@@@D!x@'compare%@$zero,@$succgL 3@ ;@#2#-"  ؠ Ӡ@ ,NZSqrtUpProp  @A@@@N!D     @A@@M  Ƞ  @A@@L  ͠  @A@@K  Ҡ  @A@ ww +k77!= R'6'7 7 7$'6''+k6'c@@A@B@AALN`XW`FAtԠV#w#r#8 ,  E@:62@@@@@ ,sqrt_up_eqn0 @###L @ 1 ,YTNJF@ Y @ǠA$@&" >@@@@@ +sqrt_up_eqn @###o c T O|wqmi@ 8Z ܶ@͠AG;@&" a@ ".Ʉd@.y o@@@@@ J,sqrt_up_spec @#ߠ#ڠ#   @ i[ H @ߐA %@ .΀+@.yҀ1@&" 7@.yހ=@(&"  B E@ .K@6&" Q@<&" @@@ A @A A @ A @ A @ABC@@ .sqrt_up_nonneg @$:$5#   ۠@ \ hu9x@c&"A@@@ A @A A @ A @ A @ABC@@ ͠*sqrt_up_wd @$b$]$#   0+%!@ ] U@ K44@&"@@@ A @A A @ A @ A1DH @ A1FdJ @ABCD@@ .sqrt_up_unique @$$$Q E 6 1^YSOK@ ^  T@A@ Ԁ@ [.@ a.y P@ g.y V  @ o. ^ ^L@@&"  ː@@@ eA ]@A fA Q@ hA O@ jAF@ABC@@ I.sqrt_up_square @$ޠ$٠$   @ h_ G @ސAwk @ &"&@ .π   @@@ A @A A @ A @ A @ABC@@ z3sqrt_up_succ_square @%% $Р Ġ  ݠؠҠΠ@ ` x=@KAQ@<&"Y@ .  ʩ ̐@@@ A @ A @ A @ABC@@ )sqrt_up_0 @%B%=%    @ aհɩ~@i&"EE@@@ A @ A @ A @ABC@@ Р)sqrt_up_1 @%e%`%&   3.($ @ b쩚@&"LL@@@ A @ A @ A @ABC@@ )sqrt_up_2 @%%%I = . )VQKGC@ c@&"QQ@@@ 4A ,@A 5A $@ 7A "@ 9A @ABC@@ /le_sqrt_sqrt_up @%%%n b S N{vplh@ 7d ۩蠩@ .ɄWA@&"A@@@ cA [@A dA S@ fA Q@ hA O@ABC@@ G4le_sqrt_up_succ_sqrt @%ܠ%נ%   }@ fe E @&"AƐ#@ M.ɄA@@@ A @A A @ A @ A @ABC@@ x1sqrt_sqrt_up_spec @& &%Π    ۠֠Р̠@ f v;@I A NPS@ .Y@ .Ʉŀ ʩ_@ .Ʉˀ  Щd ҩg@ .m@X&" ީs@^&" @@@ A @A A @ A @ A @ABC@@ Ǡ2sqrt_sqrt_up_exact @&\&W& *%@ g @\A @ .Ʉ @&"  % : {  @ >.e  @@@ ,A $@A -A @ /A @ 1A @ 3A @ABCD@@ /sqrt_up_le_mono @&&&h\MHupjfb@1h ն k׶@堐BA頩@&" ©@&" c@@@ bA Z@A cA R@ eA P@ gA N@ABC@@ F1sqrt_up_lt_cancel @&۠&֠&|@ei D   @@&"B#@&"A   @@@ A @A A @ A @ A @ABC@@ z1sqrt_up_lt_square @'' &РĠݠؠҠΠ@j x= ?@MB@Q  8:Z@ . 0 0 NB 2b@M&" V@@@ A @ A @ A @ABC@@ 1sqrt_up_le_square @'I'D'  @k w y@KB@O  r @.= j j@&"  r@@@ A@A A @A @A @ABC@@ +sqrt_up_pos @'''F:+&SNHD@@l  @&"AA@@@:A2@A%@ABC@@.sqrt_up_lt_lin @'''sgXS{uqm@`@K&" ө j@U&"۩瀠fhۀy=հN~@.'Ɛ@@@A@AA@A@A@A@ABCD@@Ԡ.sqrt_up_add_le @)i)d)* 72,($@t-@&"@ .먩BA@.먩@&"B@&"A@@@5A-@A6A%@8A#@:A!@ABC@@.add_sqrt_up_le @)))ocTO|wqmi@8uܶr޶@B@^򠩚@P.먩ƀ@&"署@&"ש @&"@.@p.먩怠 @@@A}@AAu@As@Aq@ABC@@i+log2_nonneg @)))@@C!D$NLog(Abstract'Natural'Numbers#Coq@)h@A@@B!C)n@A@$NLog(Abstract'Natural'Numbers#Coq@)NLog2Prop)@A@@@A!B')@A@@@!A-))@A@%NZLog&NatInt'Numbers#Coq@*NZLog2Prop?@@@A@@@J!E%NZLog&NatInt'Numbers#Coq@R-Private_NZPow@A@@I!D3@A@@H!C4@@ @=@!t J@@A@A /@@"eq /^@@A@ @ @"le h@@A@AB @@"lt h@@A@ ;@@#add ;ؠd@@A@A @@@#div @d@@A@ Bq@@#eqb Bqd@@A@ABC D;@!@#gcd D;d@@A@ Kl@(@#leb Kld@@A@A L:@,@#lor L:d@@A@ L@1@#ltb Ld@@A@AB L@5@#max Ld@@A@ M-@;@#min M-d@@A@A N@?@#mul Nd@@A@ O@D@#odd Od@@A@ABCD PU@H@#one PUT@@A@ Q@P@#pow Qd@@A@A V{@T@#sub V{d@@A@ X@Y@#two XT@@A@AB @]@$div2 d@@A@ @c@$even 멠d@@A@A :@g@$land :d@@A@ A@l@$log2 Ad@@A@ABC @p@$lxor ʠd@@A@ @w@$pred d@@A@A \@{@$sqrt \d@@A@ a)@@$succ a)r@@A@AB O@@$zero OT@@A@ @@%ldiff d@@A@A@@&modulod@@A@qa@@&shiftlqad@@A@ABqg@@&shiftrqgd@@A@&D@@&square&Dd@@A@3@@'testbit3d@@A@1H@@'compare1Hd@@A@ABCDEFG@A@@G!BР@A@@F!A֠@A@@!aFSV@$log2. рA@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۀߠK @Aۓό^ @A݋X_A/RelationClasses'Classes#Coq@@ABC@@AA@@A@+log2_unique @+`+[+!bSN>94# VQ@#AL!b@fA@%Logic$Init#Coq@@#andЖw@@#pow.뾴 FBC@ .뾴*Pn $@w. GD@@@@@R'log2_wd @+++prb\@rB)Morphisms'Classes#Coq@@&ProperL@)Morphisms'Classes@@*respectful%WO?@. @@@A@AA@A@A@ABC@@-log2_spec_alt @+++ݠ͠Ƞà@C @A%Logic$Init#Coq@@"ex @3!r6@#andЖw@N@#add.먩 U@.뾴⩚[@. ՀAe)J j@.뾴рp@. ꀐ@@@A@AA@A@A@A1@DLKJ@@ABCD@@,log2_unique' @,`,[,!bSN>94# VQ@#DL!c@hB@p򩚠@.뾴>@E@m.먩@ .뾴(N @s. CF@@@rAj@AsAb@uA`@wA^@ABC@@V)log2_pow2 @,,,tvf`@vE@AOC@. r@F.뾴eEE@@@A@A@AB@@.log2_pred_pow2 @,,ޠ,֠Ѡ٠@F@As(@. .@$pred.yր5@}.뾴|;@ .y‐@@@A@AA@A@A@ABC@@Ǡ&log2_1 @-$-,&נѠ@Gc@ . ݀*@@@ A@ A@A@ABC@@&log2_2 @-J-E- L=8(# @;@ Hԩ@3. 4@@@0A(@2A@4A@ABC@@(log2_pos @-p-k-1rc^NID3#fa@3I\@WAv@_. /@@@]AU@A^AM@`AK@bAI@ABC@@A)log2_null @---_|wraQK@aJϩ@#iffС)=1@. `A점A@@@A@AA@A@A~@ABC@@v,log2_le_mono @-Ӡ-Π-ՠƠɠ@Ks@BA@. a!@. h@@@A@A@A@ABC@@.log2_lt_cancel @..-ɠ ܠˠ@L9;@,L@. ƀBS@. ̀A<@@@A@AA@A@A@ABC@@⠠,log2_le_pow2 @.?.:.A2-50@M+pr@cDB@.뾴Щө@<.  ؐ@@@9A1@;A*@=A$@ABC@@,log2_lt_pow2 @.y.t.:{lgWRM<,&oj@@.먩πD@. ~7@@@A@AA@A@A@ABC@@+log2_double @///۠ˠƠ@T@A}2@. 8@.ဠ㐩@@. @@@A@A@A@ABC@@ʠ)log2_same @0'0"/)ڠԠ@UXZ@K,B@O0@ɰr@. 쀐x@". `Ʃ@.) @@@(A @A)A@+A@-A@ABC@@ ,log2_succ_le @0i0d0*k\WGB=,_Z@,VU@T. $UAX@_. /A@@@^AV@A_AN@aAL@cAJ@ABC@@B,log2_succ_or @000`}xsbRL@bWЩ@"or @?3@. bA@. mASG@. vA@. A@@@@@4log2_eq_succ_is_pow2 @000ڠՠŠݠ@X@t)@. ԐAא4@. A 13E@.뾴@@@A@AA@A@A@A@ABCD@@Ӡ5log2_eq_succ_iff_pow2 @101+02# ݠ&!@Ya@R3Aаĩy@#. 󀐩$©&@-. ʩWܩ6ө@.뾴 8@@@@. qD@. @@@A@AA@A@A@ABC@@Р+add_log2_lt @2-2(1/  ڠ#@\^`@Q2B@U6Ww@).먩H}@'. @-. ɩ@ .2@9.  @G.먩fې@@@=A5@A>A-@@A+@BA)@ABC@@!'log2_up @\2@!t <Р)Datatypes$Init@*comparison;f@@@@@@@@@@@@D!x2-@ <22@'compare:р28@#one nހw2>@$zero%؀2D@$succ2K@ʀ2Q@$pred+=2W@%؀2Ǡ2 2@퐐 +k77!= R'6'7 7 7$'6''+k6' K@dt @]ҦcԠ@2[ِd@[ZY@@A@B@AAL@LKX"@K`'@\`M,@!332Ǡ ߠ@@P!FȠ@A@@O͠@A@@NҠ@A@@Mנ@A@@L ܠ@A@@K @A@,NZLog2UpProp@A@@@@@@ࠠ,log2_up_eqn0 @3=382 ? 0 +  72.*&"@ ]*o@}A&ڰΩ@.¼J@@@@@+log2_up_eqn @3d3_3% f W R B =^YUQMIE@ (^Q@LA@.¼U@\. ,@.y_@@@@@<,log2_up_spec @333Z    w r~z@ ]_˶@A6à@+.뾴Jp@.y@L.¼668@?.뾴^@Z.¼D@@@A@AA@A@A@ABC@@.log2_up_nonpos @333  ٠ Ԡ Ġ ۠נӠϠˠ@ `@&Aw,@.¼s@@@@@*log2_up_wd @4 43Π     @ a_@BBUDD㚠Q@.¼@@@A@AA@A@A1DH@ A1FdJ@ABCD@@⠠.log2_up_nonneg @4?4:4 A 2 -  940,($ @ b ,q~B@.¼A@@@@@ .log2_up_unique @4c4^4$ e V Q A <]XTPLHD@ 'c P @iA@ @.뾴=@.y]@ .뾴%K @#.¼ @@@ nA f@A oA ^@ qA \@ sA Z@ABC@@ R,log2_up_pow2 @444p     @ sd @AL@@R.¼@ C.뾴b B B@@@ A @A A @ A @ A @ABC@@ 1log2_up_succ_pow2 @44ߠ4  נ Ҡ   ޠ٠ՠѠ͠ɠ@ e @$Au*@.¼Ր2@ z.뾴 yݐ {@@@ A @A A @ A @ A @ABC@@ )log2_up_1 @554ޠ      @ f]@.¼$@@@ A @A@@ 㠠)log2_up_2 @5@5;5 B 3 .  :51-)%!@ gװ˩@.¼ +@@@ 'A @ )A @ +A @ABC@@ /le_log2_log2_up @5g5b5( i Z U E @a\XTPLH@ +h T@ S. #A@ .¼A@@@ YA Q@A ZA I@ \A G@ ^A E@ABC@@ =4le_log2_up_succ_log2 @555[    x s{@ ^i ̩٠@9.¼A@ . _A@@@ A @A A ~@ A |@ A z@ABC@@ r1log2_log2_up_spec @5Ϡ5ʠ5 Ѡ     ɠĠ@ j @ӐA l@ a.뾴@ .  f f$ h'@ o.뾴-@.¼ t@@@ A @A A @ A @ A @ABC@@ 2log2_log2_up_exact @665נ      @ k H@9A}`@ . ڀ f@.¼  :b d˰ t@ .뾴ۀ @@@ A @A A @ A @ !A @ #A @ABCD@@ +log2_up_pos @6_6Z6  a R M = 8YTPLHD@@ #l L@GAf@.¼ @@@ MA E@A NA =@ PA ;@ RA 9@ABC@@ 1,log2_up_null @666O   | l g{wso@ Rm {񀠩+@1.¼AڠA@@@@@ \/log2_up_le_mono @666z     @ }n 붐 Z@BA@_.¼ H@e.¼ O@@@ A @A A @ A @ A @ABC@@ 1log2_up_lt_cancel @666   ߠ Ϡ ʠޠڠ֠@ o # %@6@.¼B=@.¼A&  @@@ A @A A @ A @ A @ABC@@ ̠/log2_up_lt_pow2 @7)7$6 +    # @ p [ ]@N/B Uu@ .뾴܀  ] }@.¼ Ð@@@ $A @ &A @ (A @ABC@@ /log2_up_le_pow2 @7d7_7% f W R B =^YUQMIE@ (q Q @jB ̀ 𩚠@ .뾴= @.¼  @@@ `A X@A aA P@ cA N@ eA L@ABC@@ D.log2_up_lt_lin @777b     z@ er Ӷ@ĠAǠ@D.¼ . .@@@ A @A A @ A }@ A {@ABC@@ s.log2_up_le_lin @7Р7ˠ7 Ҡ à   ʠŠ@ s @ԐA@s.¼ ] ]@@@ A @ A @ A @ABC@@ 1log2_up_mul_above @777    ۠ ֠@ t / 1@?B@C EH@.¼N@.  T@ .먩%Z@.¼ `@.¼ @@@ A @A A @ A @ A @ABC@@ 젠1log2_up_mul_below @8I8D8 K<7'"C>:62.*@ u 6{ }@nOB@rS ө@ F.먩e@.¼ ͩ@.¼ K@.¼@ E.W  @@@ VA N@A WA F@ ZA E@A [A B@ ]A@ _A@ABCD@@ >0log2_up_mul_pow2 @888\yt|@_v Ͷ <϶@B@ %=1@C.¼@ . @ :.뾴Y 8@ .먩ɀ >@[.¼ 1@@@ A @A A @ A @ A @ABC@@ .log2_up_double @888ڠՠŠܠؠԠР̠@w @ Ax-@.¼3@ .܀ zސ;@.¼ @@@ A @ A @ A @ABC@@ Š,log2_up_same @9"98$ @xT V@G(B@K, @Űn@.¼ t@.¼ \ ©|@ .%  @@@$A@A%A@'A@)A@ABC@@/log2_up_succ_le @9e9`9&gXSC>_ZVRNJF@)yR—§@.¼RAU²@.¼A@@@[AS@A\AK@^AI@`AG@ABC@@?/log2_up_succ_or @999]zu}@`zΩ9-@?.¼A@J.¼AMA@S.¼¡A@\.¼A@@@@@7log2_up_eq_succ_is_pow2 @99ܠ9ԠϠ۠֠ҠΠʠƠ@{@{o$@.¼ϐAҐ/@.¼A,.~>@.뾴 @@@A@AA@A@A@A @ABCD@@̠8log2_up_eq_succ_iff_pow2 @:):$9+# @|[@L-A ʰs@.¼ }@.¼ĩQy{˩Ë@.뾴0@@@3A+@A4A#@6A!@8A@:A@ABCD@@3log2_up_succ_double @:v:q:7xidTOpkgc_[W@:}cè@zAü@.¼@t.먩@ _.qUs@.먩[@~. N@@@|At@A}Al@Aj@Ah@ABC@@`.log2_up_add_le @:::~@~﶐^@]QBì@eYOó @m.¼@.먩瀠I\@.먩퀠"@.¼U(@.¼n@@@A@AA@A@A@ABC@@.add_log2_up_lt @;; :Ҡ @CE@6B@:<\@.먩-b@.¼h@.¼n@ .t@.¼z@,.먩K@@@"A@A#A@%A@'A@ABC@@-Private_NZDivČA.div_mod_unique @;j;e;+@$NDiv(Abstract'Natural'Numbers#Coq@(NDivProp;&@A@@@A"NP$NDiv(Abstract'Natural'Numbers#Coq@;%@A@@@!N;$;#@A@%NZDiv&NatInt'Numbers#Coq@)NZDivProp#*H@@@A@@@J!C%NZDiv&NatInt'Numbers#Coq@5@A@@I!B,@@%@5@!t%J@@A@A%@@"eq%^@@A@% @ @"le% h@@A@AB%@@"lt%h@@A@&:@@#add&:d@@A@A&#@@#div&#d@@A@&%@@#eqb&%Ӡd@@A@ABC&'@!@#gcd&'d@@A@&.@'@#leb&.Πd@@A@A&/@+@#lor&/d@@A@&/@0@#ltb&/d@@A@ABD&0@4@#max&0d@@A@&0@=@#min&0d@@A@A&1q@A@#mul&1qd@@A@&2@F@#odd&2d@@A@AB&3@J@#one&3T@@A@&5E@P@#pow&5Ed@@A@A&9@T@#sub&9ݠd@@A@&;y@Y@#two&;yT@@A@ABC0@]@$div20d@@A@0 @c@$even0 d@@A@A1m@g@$land1md@@A@1@l@$log21d@@A@ABD1,@p@$lxor1,d@@A@1@w@$pred1d@@A@A2@@{@$sqrt2@d@@A@2D@@$succ2Dr@@A@A2@@$zero2걠T@@A@e"@@%ldiffe"d@@A@A##C@@&modulo##Cd@@A@BCD#@@&shiftl#àd@@A@#@@&shiftr#ɠd@@A@A$ @@&square$ d@@A@'G@@'testbit'Gd@@A@9@@'compare9⪠d@@A@ABCEFG@A@@H!AǠ@A@@!bŘ"q1ś"q2Ş"r1š"r2Ť@%Logic$Init#Coq@@#andЖw@ŅBBE@͠őBF@."@#add.먩@#mul.GD@.먩@.EC%Logic$Init#Coq@@#andЖw@]Q!3_S"@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۀߠK @Aۓό^ @A݋X_A/RelationClasses'Classes#Coq@@ABC@@AA@@A@*div_unique @= =<ˠ|j\@hA!a8:!q=!r@@ND@V;u@^@.먩/d@. wvðyl@#div.UE@@@jAU@lAS@AB@@K*mod_unique @=R=M=ؠɠĠ@BHƁGƃFƅ@WD@倠_Ω@Щƣ@.먩tƩ@.R˩Ʊ@&modulo?;@@@A@A@AB@@0div_unique_exact @===X- 2@CĶ/ƶȶ@֠ƚC@ƞ@7+@.?3@|.U@@@A@A@AB@@Ơ(div_same @=͠=Ƞ=cSD?-h@+D@̐AeY@.U怠DDƹ@@@ A@ A@AB@@젠(mod_same @===yjeSE@QE @A4@?;}jj@@@1A)@3A@5A@ABC@@)div_small @>>=ܠ{m@yFHJ@\ BBBAf@.U>x-@@@cA[@eAP@gAN@ABC@@F)mod_small @>M>H>ӠĠ@GCz|@؀RBtBA㩚ǘ@?;ဠ@@@A@A@A@ABC@@x'div_0_l @>>z>@ߠѠ@HuǬ@~A @T.ULJLJ@@@@@'mod_0_l @>>>b7'<@Iζ@ǠA9-@1?;+ǩǩ@@@@@'div_1_r @>à>>YI:5#^@!J@A[O@.U܀:ǯ:@@@A@A@AB@@⠠'mod_1_r @>>>o`[I;@GK@$Au*@y?;s`@@@'A@)A@+A@ABC@@ 'div_1_l @?? >Ҡqc@oL>@/AR@.U*@@@@@,'mod_1_l @?3?.>ɠ@M)`@QA˰t@?;@@@@@N'div_mul @?U?P?̠۠Ǡ@NKȂȄ@VB@yZɩ橚ț@/.Usȡ@.J@@@A@A@@}'mod_mul @???E ֠@Ozȱȳ@ȅB@ȉ!@?;@.yȗ@@@A@A@AB@@&mod_le @???vK;,'P@PⶐM@ȶB@٠Ⱥ)@J?;D @@@@@ՠ'div_pos @?ܠ?נ?rbSN<.w@:Q t @ݐB@P㩚"@.UB4@@@ A@A!A@#A@%A @ABC@@+div_str_pos @@ @?̠}k]@iR8:@/AOAB6V@.U.h@@@SAK@UA@@WA>@ABC@@6-div_small_iff @@=@8?Ӡà@S3jl@z>B@aB@#iffС)թɊ@.UbQr@@@Ap@A@@h-mod_small_iff @@o@j@0Ϡ @Teɜɞ@pB@t㩚2ɹ@?;٩͐@@@A@A@A@ABC@@/div_str_pos_iff @@@@c8(=@U϶:Ѷ@ߠɣB@Ơɧe̠ɭ@.UĀ @@@@@Ƞ&div_lt @@Ϡ@ʠ@eUFA/!j@-Vg@АB@ɸC@.U퀠5'5@@@A @AA@A@A@ABC@@+div_le_mono @@@@up^P@\W+-!c0@!A@F cHeWJM@.U%`_S@.U+se@@@QAI@ARAA@TA?@VA=@ABC@@5*mul_div_le @A<A7@Ҡ @X2ik@y=B@`Aʂ@.+ʈ@.U`@@@A}@Av@Ap@ABC@@h/mul_succ_div_gt @AoAjA0Ϡ @Yeʜʞ@pB@tϩʵ@.^ǩ`ʽ@Q.Uϐ@@@A@AA@A@A@ABC@@)div_exact @AAAg<,A@ZӶ>ն@ʧB@ʠʫiG; @.@.U΀UI@M?;GŐ@@@A@A@A@ABC@@ޠ2div_lt_upper_bound @AAA{k\WE7@C[}@$C@ 7@;.@P.׀N@6@.UiIV@@@@@2div_le_upper_bound @BBAؠwi@u\ DF H@VC@=i@]m`@. reh@.U@{@@@@@B2div_le_lower_bound @BIBDB ߠϠ@]?vx>z@LC@oP@˒@.;˚@..Ur@@@A@AA@A@A@ABC@@|/div_le_compat_l @BB~BD ՠ@^!p˱w˳v˵@àˇC@ˏک͠Ϡ@f.U䩚@l.U@@@A@AA@A@A@ABC@@'mod_add @BBBWG83!\@_Y@ĐC@ȩ@0.먩؀' @/.C@"oc@g?;a@G.먩Q$@F.̀7DD*@y?;s]J@@@'A@)A@+A@ABC@@ 'div_add @CC BҠqc@o`>@B@PC@TW@.먩(w]@.o@F'rųh@.U@n@.먩?t@.z@.먩K̀@.UX@@@}Au@Aj@Ah@ABC@@`)div_add_l @CgCbC(ޠ٠Ǡ@a]̖̔i̘@jA@ṋ@.먩~̳@.\@}֩ ̾@R.U@.먩@.sݩ@.먩@j.U@@@A@A@A@ABC@@0div_mul_cancel_r @CCC~SC4/X@b궐U춐@C@@_S@.U@0.A.@6.'4@.UM-@@@A@A@A@ABC@@0div_mul_cancel_l @DCC xsaS@_c.02@@C@'S@* VƗL@.U$R@t.rX@z.xk^@.U6q@@@[AS@]AH@_AF@ABC@@>/mul_mod_distr_l @DED@D۠ˠ@d;rtGv@HC@kL@nO۩͐@?;ـ͖@.?ɩ͜@.E͢@.K©ͨ@?;@@@A@A@A@ABC@@/mul_mod_distr_r @DDDP %   *@eͼ';@Π͒C@͖@͙1%@)?;#@.@.@.@A?;;%@@@A@A@A@ABC@@Ҡ'mod_mod @D٠DԠD o _ P K 9 +t@ 7f!n @ېB@Nwk @o?;i&@u?;oF88,@{?;uL>@@@@@/mul_mod_idemp_l @E EDΠ     m _@ kg:<6>@LC@P_@6b¯ǣX@?;^@.d@?;wj@?;p@.@@@mAe@oAZ@qAX@ABC@@P/mul_mod_idemp_r @EWERE  ݠ Π ɠ  @ hM΄ΆΈ@ZC@^@a΢@?;뀠Ψ@.Q۩ή@?;Ωδ@?;κ@.cڐ@@@A@A@A@ABC@@'mul_mod @EEEb 7 '     <@ iζ 9жҶ@ΤC@Ψ@ʠΫC7@;?;5@ . %  @G?;A@ .@S?;M 7 $ @Y?;S  * *@@@ A@ A@AB@@蠠/add_mod_idemp_l @EEE  u f a O A @ Mj  @.C@2 A@ DÑȅ:@?;@@ i.먩F@?; y f Y fL@?;R@ {.먩#  e r@@@ OA G@ QA <@ SA :@ABC@@ 2/add_mod_idemp_r @F9F4E Ϡ      @ k /f hbj@x5@@1AC@ƭˡjV@.먩'\@.  ƻ˯ d@ ?;­~@@@@@0div_unique_exact @IEI@I ۠ ˠ @ EBnApjr@BްҐBI@ҋ@.498;ғ@ '.Uk@@@@@?(div_same @ItIoI5   @ Fqҝ@m At ҵ@ I.UÍbb`@@@@@a(mod_same @IIIW, @Gҿ@+AҖ."@ &?; Ҟ@@@@@)div_small @IIIyN>/@;Hᶐ@ԠBAOC@ .UЀҿ@@@@@)mod_small @I٠IԠIo_P@\I@BApd@ h?;bǐ@@@@@Š'div_0_l @IIIq@}J#@󀐩Ǐ̃Aǒ̆;@ .U@@@@@砠'mod_0_l @JJIݠ@KE@DZ̥AǴ̨]@ ?;æ$ $@@@@@ 'div_1_r @J>J9IԠĠ@L;gΰ©w@ .UOA#A@@@@@%'mod_1_r @JZJUJ@MWӃީӓ@ ?;܀A?[@@@@@@'div_1_l @JuJpJ6 @NrӞ@ÏTA Ӳ@ F.UĊ]_y@@@@@^'mod_1_l @JJJT) @OӼ@írA'@ ?;{}{@@@@@|'div_mul @JJJrG7(@4Pڶܶ@HAԵWڠԻ@.UҀ@@@@@&div_lt @KݠKؠKscT@`W@ڐB@ĩ@.UFF@@@@@ˠ+div_le_mono @LKKw@X)+!c.@ɚΎA@DhFI@.U!cO@.U'v@@@@@*mul_div_le @L0L+KƠ@Y-Y,[@+ǰλA2ps@. y@ .UQ'&'@@@@@%/mul_succ_div_gt @LZLUL@ZWՃVՅ@UA\}E՝@.FJHե@9.U}SR@@@@@Q)div_exact @LLLG @ [կձ@AՈ*$u@E.vz@g.Uƫ2&@*?;$բ@@@@@2div_lt_upper_bound @LLL}RB3@?\嶐綐@UIB@#@z.꠩ @.U†$1@@@@@2div_le_upper_bound @LLLqb@n]@耐ʄxB@.R1@.ڀީ69@.US`@@@@@堠2div_le_lower_bound @MML۠@^CE?G@ʳϧB@]`@.  eh@.U@@@@@@/div_le_compat_l @MIMDM ߠϠ@_!psmulw@#lMBÌBAÐ֓@'.Uk@֙@-.UqG@@@@@E'mod_add @MzMuM;@`w֣v֥z֧@wA~ ֿ@?;@.먩쩚@C.tyxx@ ?;~@@@@@}'div_add @MMMsH8)@5a۶ݶ߶@K?AֶNB@.Uπ@,.먩΀$@{. @8.먩ڀ@.U瀠6@@@@@)div_add_l @MMMvg@sb@퀐ˉ}BˌЀ5@.U ;@j.먩 A@.ꀠh署G@v.먩nM@.U%@@@@@0div_mul_cancel_r @N.N)MĠ@c+W*Y.[@+ǰлB2@3ϰ9Ѱũz@.UR׀@.).׆@./4׌@ .Ud@@@@@80div_mul_cancel_l @NmNhN.@djזiטmך@jBq@r^x׹@M.Uȑ׿@7.hm٩@=.ns쩚@_.Uȣ@@@@@w/mul_mod_distr_r @NNNmB2#@/eն׶ٶ@E9Bװ@MA׷OC@G?;A@v.@|.+ @.@_?;Y*7@@@@@/mul_mod_distr_l @NNNwh@tf@̊~B@̒ц̔ш=@?;ȆC@.쀠]I@.pO@.U@?;Ȟo|@@@@@'mod_mod @O6O1N̠@g3_!nb@2ΰA9Ѱũz@?;À؀@?;ɀ.--؆@?;π43@@@@@2/mul_mod_idemp_l @OgObO(@hdؐcؒ3ؔ@dAkج@?;ز@*.[ظ@?;efeؾ@ ?;@<.mrq@@@@@p/mul_mod_idemp_r @OOOf;+@(iζжqҶ@>2AةA5@9?;3@h.@E?;?@K?;E@z.)@@@@@'mul_mod @OOޠOyiZ@fj @|pAs(@w?;q.@.׀U۩4@?;}:@.〠@@?;ɉgF@?;ɏ@@@@@/add_mod_idemp_l @P'P"O@k$P#RT@$ҴA+ðҷl@?;ɵr@.먩Cx@?;%&%~@?;ǀل@.먩U21@@@@@0/add_mod_idemp_r @PeP`P&@lbَaِ1ْ@bAi٪@?;󀠩ٰ@.먩שٶ@?;dccټ@ ?;@.먩po@@@@@n'add_mod @PPPd9)@&m̶ζoж@<0A٧?3@7?;1@.먩@C?;=@).먩ˀ@O?;I'@U?;O@@@@@'div_div @PPP}m^@jn@䀐΀tB@쀐Έ|Ί~3@.U 9@.US`穚?@.UYE@.l@@@@@)mod_mul_r @Q&Q!P@o #O "Q&S@ #οӳB*@ +ǰӻ 1ɰӽr@?;ʻx@.! &~@.먩Oڄ@?;̀ڊ@ .3ڐ@?;ـږ@*.Un D@@@@@ B*div_mul_le @QwQrQ8 @p tڠ sڢwڤ@ tB{ǹڼ@ 4.e i@V.U˚ p@\.Uˠ@ F.w { |@@@@@ z+mod_divides @QQQpE5&@2q ض ڶ@ F:AڱSMA@E?;?  ڽ @"ex @_S )@ .± A@@@ zA1@D " ! @@A@@ )divide_wd @QQQ@$NGcd(Abstract'Natural'Numbers#Coq@(NGcdPropQ\@A@@@A!B$NGcd(Abstract'Natural'Numbers#Coq@Ql@A@@@!AQQ@A@@J!C%NZGcd&NatInt'Numbers#Coq@"@@@A@@I!B@@T@#@'compareTd@@A@A ]@@!t ]J@@A@ e;@ @"eq e;^@@A@AB e@@"le eh@@A@ e@@"lt eàh@@A@A @@#add d@@A@ @@#div d@@A@ABC }@!@#eqb }d@@A@ G@'@#gcd Gd@@A@A x@+@#leb xd@@A@ F@0@#lor Fd@@A@ABD @4@#ltb d@@A@ @=@#max d@@A@A 9@A@#min 9d@@A@ @F@#mul d@@A@AB @J@#odd d@@A@ a@P@#one aT@@A@A @T@#pow d@@A@ @Y@#sub d@@A@ABC #@]@#two #T@@A@ q@c@$div2 qd@@A@A @g@$even d@@A@ @@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۓό^ @A݋X_A/RelationClasses'Classes#Coq@@AA.Morphisms_Prop'Classes#Coq@@)A1@D%Logic$Init#Coq@@ABCD@@AA@@A@*divide_1_l @SdS_S%scTO@@NA!nܒܠ@T>KA@@@TAC@VAA@XA/@ABC@@'*divide_0_r @SSSIxsd@rB$ܵ@w>A܋@@@wAf@yAd@{AR@ABC@@J*divide_0_l @SSSlР@CGض@@>ܮAG;Bܲ@@@A@A@Ay@ABC@@q/eq_mul_1_nonneg @SҠS͠SѠ @Dn!m@ԐB@nb@#mul.C/ĩ@@#andЖw@фxDөч{Ր@@@A@AAۀߠK@A@A@ABC@@0eq_mul_1_nonneg' @TTS֠$:5@EBCD@RA@Ѱ֤Y@B.Ao@Ѽְ8 ѾֲI @@@A @AA7@A@A@ABC@@頠1divide_1_r_nonneg @TJTET YI:5&oj@4Fw@ʅIA@݊@>>5t7@@@?A*@AA@AB@@+divide_refl @TqTlT2pa\M@[G ݞݬ@`>AA@@@aAP@cAN@eA<@ABC@@4,divide_trans @TTTVq@H1¶Ķ!pǶ@@>CB@@>@>Eΐ@@@A@AA@A@Av@ABC@@n0divide_reflexive @T{@gŀTӠTΠT@/RelationClasses'Classes#Coq@@)ReflexiveW@>ϠΠ@6Ν٠TTTݠΠ@@@A@A@@1divide_transitive @T@{ȀU UT@8@*Transitive++-6C@>1@.~ܠUUTߠ- C>@@@A@A@@Ҡ5divide_antisym_nonneg @U3U.TB2#XS@I`ab@p4B@t8@x@,>Q`@@3>XްҐF@@@6A.@A7A&@9A$@;A@ABC@@ 1mul_divide_mono_l @UkUfU,zj[VG@UJޘޚޜ@ޫ@_>CB޳@g>޹@.b޿@.h@@@sAk@AtAc@vAa@xAO@ABC@@G1mul_divide_mono_r @UUUi͠@KDն׶ٶ@@>CB@>@.Ɵ @.ƥ@@@A@AA@A@A@ABC@@3mul_divide_cancel_l @UUUՠР @LP@%Logic$Init#Coq@@#notШӌ؀A@#iffС)=@>C@,.쀠YI@2._1O@>(7@@@A@A@A@ABC@@ՠ3mul_divide_cancel_r @V6V1UE5&![V@ Mcdeg@QӰǐA>G߁@5>߇@p.0`ߍ@v.6uߓ@G>l{@@@FA>@HA7@JA5@ABC@@,divide_add_r @VzVuV;yjeV@dNߧߩ߫@ߺ@n>CB@@w>٩@}>䩚@#add.먩ǡ@@@A|@AAt@Ar@A`@ABC@@X,divide_mul_l @VVVzȠޠ@OU涐趐$@@>CB@>ک@.ǰ@@@A@AA@A@A@ABC@@,divide_mul_r @VVV̠۠@P[!@0@>CA8@>>@'.瀠&T@@@A@A@A@ABC@@Ġ/divide_factor_l @W%W V4$JE@QRSTb@>Bi@R.BA@@@@@렠/divide_factor_r @WLWGW [K<7(ql@6Ryz{@=>B@y.9AB@@@@@-divide_pos_le @WsWnW4rc^O@]S࠶ࢶ@ГtA@@i>˩ͺ@@@kAc@AlA@nA]@pA[@rAI@ABCD@@A*gcd_unique @WWWc~Ǡ@T>϶Ѷ Ӷ@ॐA@@>@@>ƶ@!q@@>AG@@>@>fZ@#gcd. Հ+@@@@@&gcd_wd @WWWܠ͠@U @!@""$@%%ĩ''ƚ4@%. @@@A@AA @A@A@ABC@@.gcd_divide_iff @XXWݠ+ A<@VIJKM%_@>Af@W. +CBOr@&>ACz@.>AB@@@/A@A@@.gcd_unique_alt @X_XZX n^OJ;@IWጶᎶᐶ@ΞbA@ᗩo@]>@g>Ω@m> @. Ɇ@@@@@A(gcd_comm @XXXc~Ǡ@X>϶ѩ8,@. ɦBA@. ɮAB@@@@@k)gcd_assoc @X̠XǠX۠ˠ@Yh7dX @. ҀC@. ـBA@ . ဠ"@. 瀠CBA@@@@@.gcd_0_l_nonneg @YYXǠ+&@Z3@AA֞ےG@8.  ]]@@@@@Ǡ.gcd_0_r_nonneg @Y(Y#X7'MH@[U@c'A۴i@Z. .0@@@A@A @ A @ABC@@'gcd_1_l @YPYKY_O@;,up@:\}ة@~. R8A9@@@@@'gcd_1_r @YoYjY0~n_ZK@Y] ✩@. qAXX@@@`AX@bAQ@dAO@ABC@@3/gcd_diag_nonneg @YYYUp@~^0@ϠⓐA, @. ʚ@@@@@U*gcd_eq_0_l @YYYwŠ۠@_R㶐@MA@. ʻBA⿩WK@@@A@A@AB@@~*gcd_eq_0_r @YߠYڠYޠϠʠ@`{  @vj@. 䀠BA׀t9@@@A@A@A@ABC@@(gcd_eq_0 @Z ZYˠ /*@a789פܘM@>. BA6ײܦB׵ܩA @@@ A@A@A@ABC@@ߠ.gcd_mul_diag_l @Z@Z;ZO?0+e`@*bmno@}ABڰΩ@t. Hk@r.2qq@@@@@ .divide_gcd_iff @ZjZeZ+yiZUF@Tc㗶㙶@ЧkBu@c>ũ@. |@@@kAc@AlA@nA]@pA[@rAI@ABCD@@A*divide_1_r @!nZ9@!t <ZW@1divide_1_r_nonneg+ AZN@&le_0_l&J€ZZZz@߶@@>A㚩NBB㝐 <+k7 7%'̠ˠʠɠ@@,EhA @+1 ĐXZZޠZ@@@@@AA@@A@.divide_antisym @SZ@Q BA@S@>bCسݧD `+k()7 7 7#'Ytdh@61l~H[=[8Z L < -@@@@@Z3divide_add_cancel_r @[L[G[  [ K <@ H@uZw!pz@@=>CB@@F><@#add.먩jF@S>EM@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۓό^ @A݋X_A/RelationClasses'Classes#Coq@@A1@D%Logic$Init#Coq@@ABC@@,divide_sub_r @[[[l   @ AԶֶ_ض@@>CB@@>@>W@#sub.L̔@@@]AU@A^AۀߠKV@bAQ@dAO@ABC@@'gcd_0_l @F[}@D <[@.gcd_0_l_nonneg5FC[@B&J€A[[[@Zنz/@ . AA?2XA@# #h\\[נ %  @@@@@3'gcd_0_r @[@ <[@.gcd_0_r_nonneg5,([@&J€~\6\1[@\ð޷l@]. 1A4A|oX~@# ?sh\S\N\ b R C@@@@@p(gcd_diag @[@ <\@/gcd_diag_nonneg F\ @&J€\s\n\4@噩@. nAAAX@$Zh\\\R   @@@@@+gcd_unique' @\5@ <\:@ <T\@@ <\]@*gcd_unique"벀\S@&J€\\\}@ⶐ䶐m@@ >@@ > @@@ > F@ @ > #@ >rf@ . |Ő T+k()7 7#'d,@K7|]\\    @@@@@/gcd_unique_alt' @n\@l <\@q <p\@v <\@.gcd_unique_alt-WȀ^u\@t&J€s]+]&\@Q6SU@Wg@ >ovo@ #>wu@ )>}"԰ȩ}@n. B'*b~d@=|]b]]]# q a R@@@@@/divide_gcd_iff' @Ϛ]@ <|] @ <](@.divide_gcd_iff sѩ]@&J€z]]]H@歶毩@ s>@. Ό֐ L+k()7 7&'@)]xΐd]]]n   @@@@@ʠ3gcd_add_mult_diag_r @]]]} ˠ  @ B 嶐綐pPD@. ξC@h.먩рB@#mul.αAC@. ՀCB@@@rAj@AsA@uAd@wAb@ABC@@ .gcd_add_diag_r @]]]   @ C_$ &ۍ6@'. B=@.먩ABE@6.  BA@@@A@A@A@ABC@@<.gcd_sub_diag_r @^.^)] = - @ *DW<Y@gBAŰ๩n@_. 3t@x.L !z@k. ?'@@@A@A@A@ABC@@o&Bezout @]@ <l]@ <^@ <%Logic$Init@"ex @^@ @  l^^^p@ն׶`ٔA +k() + 77%' + 77%' 7!7!7!7%'Р@ @Y @# ]tx @7 e;̠b|@@9 ^۠^֠^  ڠ @@@hAI@A@@)Bezout_wd @^^^   @ E)Morphisms'Classes#Coq@@&ProperL@"@#@$A)Morphisms'Classes5@*respectful%WO?2@3@4ө6@7֩9ؚ@ С)J@9~s@@@A@AA@A@AA.Morphisms_Prop'Classes#Coq@@A@ABCD@@J,bezout_1_gcd @_<_7^ K ; ,@ 8FeJg@v@9~sBA#װ˩@q. E-+@@@A@AA@A@A@A@ABCD@@y2gcd_bezout_pos_pos @_k_f_, z j [@ gG蔶@؅fA}蚶@؋l˩@@#andЖw@@19~saƩ@. Ђg̩@=9~sm@. Ўsؐ@@@*A"@A+A@-A@AB.A@0A@2AРD@6A@ABCD@@Ƞ.gcd_bezout_pos @___{ ɠ  @ H㶐@֠跐B@q9~s@. € @@@]AU@A^A@`AO@bAM@dAE@ABCD@@*gcd_bezout @___   @ ILv@"or @)@9~sBA1@". BA9@9~sABA@2. BA@@@A@AAF@A@A@A@ABCD@@<.gcd_mul_mono_l @`.`)_=-@*JW<Y[°ⶩk@\. 0q@j.ACy@r."AB@z.*A@y. MCB@@@A@AA@A@A@A@ABCD@@.gcd_mul_mono_r @`u`p`6te@qK鞶頶)颩 @. w@.aCA@.iBA@.q@. ѓCBA@@@0A(@2A!@4A@ABC@@Ơ%gauss @```yǠ@Lᶐ㶐l@@ >C@.ѤBA@]Q@. ˀ鱩 @ >m@@@lAd@AmA@oA^@qA\@sAT@ABCD@@0divide_mul_split @```@M[ "$@%Logic$Init#Coq@@#notШޚ㎐C@E@ >署K@D.Z@"ex @K!qN R!rU㴐Gj@c.yŀt@(>oz@.>ې@@@A@AA}@A@A@A@ABCD@@s*mod_divide @aea`a&@@C!D$NLcm(Abstract'Natural'Numbers#Coq@a @A@@B!Ca&@A@$NLcm(Abstract'Natural'Numbers#Coq@(NLcmPropa7@A@@@A!B'a,@A@@@!A-a+a*@A@.@!a꿶!b¶@%Logic$Init#Coq@@#notШ8,A꣩%Logic$Init#Coq@@#iffС)I=@&modulo?; @@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۓό^ @A݋X_A/RelationClasses'Classes#Coq@@A1@DA@?@@ABC@@AA@@A@4divide_div_mul_exact @bbaȠ~y@At2s4!c7@uߣ䗐B@N@S>[D߮䢩W@#div.U0^@#mul.lEf@.sl@.UD @@@oAg@qA`@sA^@ABC@@O.gcd_div_factor @bSbNbߠڠʠ@B~뀶L낶@AY@@>K@@>R󩚠@#gcd. n@X.U܇Fb@_.U܎Wh@e.Uܔ@. Ӈct@@@A@AA@A@A8ӠA4Relation_Definitions)Relations#Coq@@ABC@@+gcd_div_gcd @bbbtN?:*%@NC ޶ඐ!g@!OCA뺶@SG@T.  [O@\. ɀ @.U†@.U耠뻐@@@A @AAۀߠK @A@A@ABC@@'gcd_mod @bbbrm@Dh&g(@f刐A勩@@. F@T?;܏SRRL@. XY@@@OAG@QA@@SA>@ABC@@/#lcm @@Π̠͠ˠ@@!tL9Հ@#mulL1@"LΦA@#gcdL]cXcScߠϠ@샶셐 \+k() 7! 7! 7%'h*H&xctcoc5@@@@@&lcm_wd @cccF  @ E)Morphisms'Classes#Coq@@&ProperL@콶@쾩)Morphisms'Classesh@*respectful%WO?ʶ@j ll@."@@@A@A@A@ABC@@*lcm_equiv1 @ccc[LG72@[F-붐,@+YM@Z. ǀBA˩cW @.Ե@.Uꀠ@p. ݀%$@.U$@.̀10*@. 76@@@-A@/A@AB@@ *lcm_equiv2 @dd cР@G|:{<@zᨰ朩Q@. BAᲰ榩[@.a@ .U9ng@. ,tssm@.UEs@.y@. >@@@|At@~Am@Ak@ABC@@\,gcd_div_swap @d`d[d!נ@H틶퍩詚@?.F@L.U{B@. oBAA@U.\B@c.UޒA@. ՆBA@@@A@AA@A@A@ABC@@,divide_lcm_l @dddmG83#@GI׶٩@>󩚠@."l@@@@@ɠ,divide_lcm_r @d͠dȠdhYTD?@hJ:9@ >@."@@@A @AA@A@A@ABC@@*divide_div @ddd}mh@Kc!b#%@c⑰煐C@<@A>I@C@H>PI@N>O@.U'U@.U-@@@YAQ@AZAI@\AG@^A?@ABC@@:)lcm_least @e>e9d٠ʠŠ@Lik7m@|@>CA@@>@>@9."2C@@@A@AA@A@AA@A}@A@ABCD@@z(lcm_comm @e~eye? @M@c."BA@k."AB@@@A@A@A@ABC@@.lcm_divide_iff @eeemG83#@GN!nض!m۶!pީ @>@."CBA@#andЖw@@ >CA@>BA@@@A@A@@*lcm_unique @eee{kf@OHG!F#@1A@6@;>B@=@B>J@!q9@H@M>Gж@P@U>\V@[>c㵰詩^@."@@@@@;.lcm_unique_alt @f?f:fڠˠƠ@Pjln@|@A@=u@>@>2@>I꩚@G."@Q@@@@@|)lcm_assoc @ff{fA @Q﫶ﭶﯩ @g."C@n."BA@v."@|."CBA@@@@@'lcm_0_l @fffySD?/*@SR J>@."ﺐAﻐ@@@@@Ѡ'lcm_0_r @fՠfРfpa\LG@pS)g[@."Aؐ@@@A @A@A@ABC@@'lcm_1_l @fffoj@TL#䊰~3@."ސAA@@@@@'lcm_1_r @ggfנ@UjA䨰霩Q@."AA@@@VAN@XAG@ZAE@ABC@@6(lcm_diag @g:g5fՠƠ@Vḛu@."AAA@@@@@U(lcm_eq_0 @gYgTgР@W婚@B."BAc@"or @BnAq@@@A@AA@A@A@ABC@@/divide_lcm_eq_r @gggT. @.X𾶐@@>BA0$@."@@@A@A@@.divide_lcm_iff @ggg}WHC3.@WY綐驚@>BA\P@."BAA@@@ A@A A@A@A@ABC@@.lcm_mul_mono_l @ggg}xhc@ZEDC 凰{0@."6@.߀AC>@.瀠ABF@.AM@."CB@@@SAK@ATA?@VAE@XAC@ZA@ABCD@@6.lcm_mul_mono_r @h:h5gՠƠ@[egiаĩy@!."@!.(CA@).0BA@1.8@=."CBA@@@A@AA@A@A@ABC@@}-gcd_1_lcm_mul @hh|hB @\񬶐@쀐B@􀐩"񌩚造(@). ٖ|0$@."橚@.و@@@A@AA@A@A@ABC@@Ġ*eqb_compat @hȠhàh@@E!F%NBits(Abstract'Natural'Numbers#Coq@h2@A@@D!Eh8@A@@C!Dh>@A@@B!ChD@A@%NBits(Abstract'Natural'Numbers#Coq@)NBitsProphU@A@@@A!B3h[@A@@@!A9hh@A@@Z!E*Equalities*Structures#Coq@@@qѭ@@!tqѭJ@@A@Aq)@@"eqq)^@@A@q٢@ @"leq٢h@@A@ABqٱ@@"ltqٱh@@A@ra@@#addraҠd@@A@Arf~@@#divrf~d@@A@rhk@@#eqbrhkd@@A@ABCrj5@!@#gcdrj5d@@A@rqf@'@#lebrqfd@@A@Arr4@+@#lorrr4d@@A@rr@0@#ltbrrd@@A@ABDrr@4@#maxrrd@@A@rs'@=@#minrs'd@@A@Art @A@#mulrt d@@A@ru@F@#oddrud@@A@ABrvO@J@#onervOT@@A@rw@P@#powrwݠd@@A@Ar|u@T@#subr|ud@@A@r~@Y@#twor~T@@A@ABC|@]@$div2|加d@@A@}@c@$even}d@@A@A}4@g@$land}4d@@A@};@l@$log2};d@@A@ABD}@p@$lxor}Ġd@@A@~2@w@$pred~2d@@A@A~@{@$sqrt~d@@A@~#@@$succ~#r@@A@A-I@@$zero-IT@@A@S@@%ldiffSd@@A@A&o@@&modulo&o۠d@@A@BCD'E,[@@&shiftl'E,[d@@A@'E,a@@&shiftr'E,ad@@A@A'XL>@@&square'XL>d@@A@*Y@@'testbit*Yd@@A@@&eqb_eqZˀ)j|jwj=|@R󫶐J󭩛$Bool#Coq@@'reflectc@"BA@.BBA +k() 7!7!L7!77"7777 7! 7!7&'(6pTo̠gDRېh]ǐpq\_|jΠjɠjؠӠΠ@@@@@'eqb_neq @jjޠj &@C%Logic$Init#Coq@@С)@"eq @&7@.BhBA)Datatypes$Init#Coq@@$boolZ'@B+@#notШ議BA@@@@@(eqb_refl @k3k.jk\WRM=83v@0D bAct@>.BߥAA=A@@@CA1@A@@)'eqb_sym @k\kWk{vfa\@YE2􋶐*􍩛l@i.BЀBA@q.B؀AB@@@sAa@A@@Y)pow_sub_r @kkkMĠ@@!a!b!c@, C@֠BC4(@#pow.뾴EE@#sub.L}D@#div.Uƀ@.뾴[@.뾴a&@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@Aۓό^ @A݋X_A/RelationClasses'Classes#Coq@@ABC@@AA@@A@)pow_div_l @kkk6'"@8Ar+q-p/@񀐩雰B@韰H@&modulo?;咀cu騰Q@t.뾴渀W@j.U/yq]@p.U5c@.뾴ʀi@.뾴Ѐ@@@pAh@AqA_@sA]@uA8ӠA4Relation_Definitions)Relations#Coq@@ABC@@_#b2n @)Datatypes$Init@@$boolZ'@ @@@@@@@@A@m@YqѭA @#onervO@$zero-IlllF@)Datatypes$Init#Coq@@$boolZ'@ +k= R'6'6''+k6'*H(X<H@@A@A@tlllvޠ٠ԠϠ@@@@@͠*b2n_proper @lȠlàlҠ@B)Morphisms'Classes#Coq@@&ProperL@)Morphisms'Classes@*respectful%WO?%Logic@"eq @业&@.f@@@,A$@A-A@/A@1A1DH%Logic$Init#Coq@@ABC@@+exists_div2 @mmlנN?:50 @PCC @@"ex @O"a'RﵐCk@#add.먩=r@#mul.y@.fא@@@Am@Ak@A1@DR@ABC@@g+testbit_0_r @mbm]m#|lg@D՛߀P@"eq @)Datatypes$Init#Coq@@$boolZ'@@'testbit c忀@R.먩ގ@#mul.mQB@L.fAA@@@A@A@AB@@.testbit_succ_r @mmms۠֠Ѡ̠@E&߶%/!n橛SO@B c@.먩π@A.ޭC @.fBA@_ cCA@@@A@A @AB@@-testbit_spec' @mmm4% @6Fp)F+뒰;@.fA@ cIBAI@?;璀O@b.U'BV@y.뾴轀A@@@^AV@A_AM@bAL@AcAРD.Morphisms_Prop'Classes#Coq@@mA@oA@ABCD@@Q,testbit_spec @nLnGn upkfVQ@Gy{8!l?!hF@#andЖw@%Logic$Init#Coq@@#andЖw@䭠qB瓠B@.뾴ACD@S.먩ߏB@.n@`.먩ߜ@R.f@! c߀DC@.߈lA@ .뾴MsC@@@A@AA@A@Ap@A@ABCD@@נ,testbit_true @nҠn͠n ܠ@ HF@#iffС)uq@d c"BAcA~r'@?;p-@@.UB4@W.뾴雀A@@@@@-testbit_false @oonנN?:50 @PIC`ED[@ ccBAB쿰񳩚h@ ?;豀n@.UFBu@.뾴܀A=@@@@@\+testbit_eqb @oWoRo{vqa\@J署@ c砀BA@j.Bр@^?;@.U鄀B@.뾴@AA_@@@@@'b2n_inj @oooV͠@K"a0"b0@2&@\.fB@c.f@G@@@@@̠3add_b2n_double_div2 @oǠo oѠ@L2B?_S@.U@.먩߀@.fB@X.ĀAA@@@#A@%A@'A@ABC@@ 3add_b2n_double_bit0 @pooŠ<-(# @>Mo|5G@ cOM@.먩S@.fBZ@.A"B@@@bAZ@dAR@fAP@ABC@@H(b2n_div2 @pCp>p{lgb]MH@}Nٰͩ@.UZ@ .fAP@@@A@A@A}@ABC@@u(b2n_bit0 @pppkp1zu@Oۛ뀩 @ c蹀@8.fAA@@@A@A@A@ABC@@.testbit_unique @pppaؠɠĠ@PͶ϶TնO׶@ȠB@ .뾴PvD@J>F@.먩ŀ @7.ᣀ@.먩р@.f  @I.ᵀ9@5.뾴y4ws@f c$G0?@@@#A@%A@'A@ABC@@ &bits_0 @qppŠ<-(# @>QL1C@ cK AB@@@MAE@OA=@QA;@ABC@@3(bit0_odd @q.q)pfWRMH83@hR[Ȁĩm@ cuA5t@#odd.gA@@@|At@~Ah@A@ABC@@b(bit0_eqb @q]qXq|wgb@S󩚠@ c餀Ad@m.BԀ@a?;򀠐A7U@@@A@A@A@ABC@@(bit0_mod @qqqRɠ@T%@O.f@ c܀A@?;$Ai@@@A@A@A@ABC@@Ƞ+testbit_odd @qàqqݠ͠@U7 򩛠_[@N c BA @.gⱀ@&shiftrs8BA@@@A@A @A @ABC@@(bit_log2 @qqq 4 %     @ 6Vp)@뀐AC@ cKpI@$log2. ĀwA@@@TAL@AUAC@WAA@YA@ABC@@;/bits_above_log2 @r6r1q n _ Z U P @ ;@ pWce@Vv@-. BA݀٩@ cꊀB@@@A@AAۀߠK@A@A}@ABC@@u)div2_bits @rprkr1      z u@ X @ c김@.U쏀BEA@  cǀBkA@@@A@A@A@ABC@@-div_pow2_bits @rrrk  Ӡ Π ɠ Ġ  @ Y׶ٶ!mܩIE@8 c@.ÙC@.뾴bBA@M c C @.먩ۀAB@@@A @AA@A@A@ABC@@0double_bits_succ @rrr -      @ /Zi"?$6@ c><@y.倠ɐB萐AF@ cNBA@@@NAF@PA:@AB@@21mul_pow2_bits_add @s-s(r e V Q L G 7 2@ g[Zw\^ˀǩp@ cxv@.C}@.뾴䀠 B@.먩UAB@ c딀CA@@@A@A@AB@@x2mul_pow2_bits_high @sssns4      } x@ \@鲠BA@ cÀ@.j۩@.뾴.T@ cՀ穚@.Lj@@@A@A@A@ABC@@1mul_pow2_bits_low @sss{   ޠ ٠ Ԡ Ġ @ ].綐鶐@ܠAB]Y@L c @E.䱀"@1.뾴u:;UB@@@A@A@A@ABC@@2mod_pow2_bits_high @sss 0 !     @ 2^l%B'N)@7BA@@ cHF@?;폀`L@o.뾴xyB@@@UAM@WAA@AB@@91mod_pow2_bits_low @t4t/s l ] X S N > 9@ n_a~ce@VAB׀ө|@ c섀@:?;ˀ@.뾴@ c얀@@@A@A@A@ABC@@z#eqf @!f@ !g$23tt}tC       @@@A |+k() +7T'  77&'0tG`htttk  Ӡ Π ɠ Ġ  @@@@@ )eqf_equiv @ttt~    ܠ נ Ǡ @ `/RelationClasses'Classes#Coq@@+Equivalence~@@H@k.F@@@@@ꠠ+testbit_eqf @ttt       @ a@@@츚&@.F*@'testbit c3@@@ 0A (@ 2A @AB@@ *bits_inj_0 @uu tР G 8 3 . )  @ Ib <@Z?Q@ cYBAB @@@@@ >(bits_inj @u9u4t q b ] X S C >@ sc f h@w@.F}@ c텀B@ c팀  @@@ A @A A |@ A z@ A/@ A @ABCD@@ v,bits_inj_iff @uqulu2      { v@ d  @.F@ cB@  cǀABA@@@@@ (are_bits @uuuf ݠ Π ɠ Ġ   @ e:@ӛ !@〰@  ߠ @@*respectful%WO? iؐA怠﷐ 񩚠@e.F +@O c  c!k+@ > ov: 8 D ^B@@@ !A @A "A @ $A @ &A@ (A@ABCD@@ ,shiftr_spec' @vvuƠ = . ) $   @ ?f y2O4[6H@ cPN@<s8TCBAW@ c_C^@.먩/AB@@@@@ F1shiftl_spec_high' @vAv<v y j e ` [ K F@ {g npr@쀠BA䀰ਗ਼@ c@&shiftls2皀   @ c @ .L3  Ȑ@@@@@ /shiftr_div_pow2 @v}vxv>       @ h @s8€BA@ .U𜀠B@ .뾴2XA@@@@@ /shiftl_mul_pow2 @vvvn  ֠ Ѡ ̠ Ǡ  @ i !ڶܩC7@]s2BA@ 1.着B@ .뾴bA@@@@@ ⠠/shiftl_spec_alt @vݠvؠv    @j Q  ' 3 { w @ j c(&@s20CB.@ .먩AB6@  c>CA@@@ >A 6@ @A *@AB@@ ")shiftr_wd @wwvޠUFA<7'"@Wk U@M@NN LP@QQ OSS򚠡`@Ns8f@@@ eA ]@ gA U@ iA S@ABC@@ K)shiftl_wd @wFwAw~oje`PK@l ~@v@ww uy@zz x||@s2蓀@@@ A @ A ~@ A |@ABC@@ t-shiftl_shiftl @wowjw0yt@m  @!s2躀@'s2CBA@0s2ɀC@ [.먩藀BA@@@ A @ A @ A @ABC@@ -shiftr_shiftr @wwwpؠӠΠɠ@n #ܶ ޶G;@s8@s8CBA@s8C@ .먩׀BA@@@ A @ A @ A @ABC@@ /shiftr_shiftl_l @www' @)o c 9E @.AB5@#s8;;@s2E U g hA@s2K [G@ b.Lހ s t@@@ MA E@ OA =@ QA ;@ABC@@ 3/shiftr_shiftl_r @x.x)wfWRMH83@hp [ x]_@mBA˰t@bs8zz@s2鄀   @ns8醀 @ .L  @@@ A @ A |@ A z@ABC@@ r*shiftl_1_l @xmxhx.wr@q @s2鴀UA@ .뾴>A@@@ A @ A @ A @ABC@@ *shiftl_0_r @xxxZѠ @r Ʃ-!@Gs2AA@@@ A @ A @ A @ABC@@ Ġ*shiftr_0_r @xxxޠ٠ɠ@s 3SG@s8AĐA@@@ A @ A @ A @ABC@@ ꠠ*shiftl_0_l @xxx @t -ym"@s2,A@@@ )A !@ +A @ -A @ABC@@ *shiftr_0_l @y yxˠB3.)$@Du R7G@5s8MA@@@ NA F@ PA >@ RA <@ABC@@ 4/shiftl_eq_0_iff @y/y*xgXSNI94@iv \ y^ ]ɰr@s2|BA;ӰǐB>@@@ }A u@ A m@ A k@ABC@@ c/shiftr_eq_0_iff @y^yYy}xhc@w   쩚@s8꧀BAj X@"or @ Bu {B򝠩@t. 7BA@@@ A @ A @ A @ABC@@ +shiftr_eq_0 @yyygޠϠʠŠ@xӶ ն@Ơ@. `BAG;@s8@@@@@ ֠(div2_div @yѠy̠y ۠@ yEeY@$div2.,aꝀA@).UA@@@A@A @!A @ABC@@'div2_wd @yyy6'"@8z 6@.. ,00Ϛ=@$div2.,à@@@CA;@EA3@GA1@ABC@@)(div2_odd @z$zy\MHC>.)@^{QAb@ .먩3h@ .n@`.,aAu@ .f{@ .g A@@@Az@Ar@Ap@ABC@@h'lxor_wd @zcz^z$}mh@| @@ @6 88@$lxor.@@@A@A@AB@@'land_wd @zzzLà@} À@@ @^ ``@$land. N@@@A@A@AB@@&lor_wd @zzztܠנҠ͠@~ 뀰@@ @ 򈚠@#lor. 봀@@@A@A@AB@@ࠠ(ldiff_wd @z۠z֠z@@ @   @ 򰚠@%ldiff/x@@@$A@&A@AB@@'lxor_eq @{zzĠ;,'" @=@w0 2@C@$lxor.뺀BA tu@@@NAF@PA:@AB@@2.lxor_nilpotent @{-{(zeVQLG72@gAZj@'.AA3@@@@@R-lxor_eq_0_iff @{M{H{vqlgWR@Bz+| {۩@M.BAYBA@@@A@A@A@ABC@@(lxor_0_l @{}{x{>@C@w.0AA@@@@@(lxor_0_r @{{{^ՠƠ@Dʩ1%@.PAA@@@@@ )lxor_comm @{{{~ܠנǠ@E1궐0SG@.rBA@.zAB@@@@@젠*lxor_assoc @{{{ @!F[ZYs(@.잀.@.준CBA7@.쭀C>@.촀BA@@@@@&'lor_0_l @|!|{YJE@;+&@[GN^@#lor. &AA@@@@@G'lor_0_r @|B|=|zkfa\LG@|Hoְʩ@!. S@. BAĀB#A&@@@fA^@AgA @iAW@kAU@ABC@@M(land_0_l @}H}C} qlgbRM@NuܰЩ@$land. MAN@@@@@m(land_0_r @}h}c})rm@O𩚠@ . $Amm@@@@@)land_comm @}}}H@P@A. EBA@I. MAB@@@@@*land_assoc @}}}rڠՠРˠ@Q%޶$ඐ#I=@m. qC@t. xBA@|. @. CBA@@@@@)land_diag @}}}# @%R_s(@. AAA@@@@@)ldiff_0_l @~ ~}͠D50+&@FS9I@%ldiff/A@@@@@1)ldiff_0_r @~,~'}dUPKF61@fTYi@ /€A1A@@@@@Q*ldiff_diag @~L~G~ upkfVQ@Uyԩ@@/†AAR@@@@@q0lor_land_distr_l @~l~g~-vq@V@O. j@.. 2CBA@7. ;@d. CA@l. BA@@@@@0lor_land_distr_r @~~~n֠Ѡ̠Ǡ@W!ڶ ܶީE9@. 變C@p. tBA@x. |@. CB @. ȀCA@@@@@0land_lor_distr_l @~~~& @(Xba`z/@. ﮀ5@. 򀠐CBA>@. D@. ÀCAL@. ˀBA@@@@@40land_lor_distr_r @/*~gXSNI94@iY\^`ǰp@. Cw@. 4BA@!. <@. CB@.  CA@@@@@u-ldiff_ldiff_l @pk1zu@Z@h/ @n/CBA@w/C@i. BA@@@@@-lor_ldiff_and @kӠΠɠĠ@[׶٩@4@. 𦀠@/HBA@r. vBAB@@@@@ࠠ*land_ldiff @۠֠@\O N qe @. 𙀠 @/yBAA@@@@@ &setbit @n @@rr4c@ 'E,[ԠK<72-@ @] B B P+k()77! 7%'ld&|1,iZUPK;6@@@@@I(clearbit @@ַ ש@WS?KF tojeUP@ x z z8Qld|hc)rm@@@@@,setbit_spec' @{v<@]   @KBA @d. B @.뾴0 VA@@@A@A@A@ABC@@.clearbit_spec' @rڠՠРˠ@^% ޶ G; @YdBA @/QB @".뾴f A@@@A@A@ A@ABC@@젠)setbit_wd @ @!_@ @   @     *@K@@@/A'@1A@3A@ABC@@+clearbit_wd @ ѠH94/*@J`H@ @@ A A? C@ D DB F F嚠 S@Yd@@@XAP@ZAH@\AF@ABC@@>.pow2_bits_true @94qb]XSC>@sa fӀϩ x@ c ~@.뾴倠 AAA@@@A@Ay@Aw@ABC@@o/pow2_bits_false @je+to@b  @[BA  @ c @.뾴! G眠B@@@A@A@A@ABC@@-pow2_bits_eqb @eܠ͠Ƞà@c Ѷ ө@< @/ c퀠 @.뾴R xBA @.B$BA@@@@@۠*setbit_eqb @֠Ѡ@dJ   , tp @c c! @KCBA)Datatypes$Init#Coq@@#orb 6@.BgBA >@ cFCA@@@FA>@HA2@AB@@**setbit_iff @% ]NID?/*@_e Ro T{ VUǀé l@ ct r@IKCBAAՀ۰ϐBA倰ᩚ @ cCAA@@@@@u)setbit_eq @pk1zu@f    @ c @KBAAA@@@A@A@@*setbit_neq @aؠɠĠ@g Ͷ ϶ Ѷ@=1BAGC @6 c􀠩 @K  @B c%@@@@@ޠ,clearbit_eqb @٠Ԡ@hM # / ws @f c$ "@YdCBA@$andb= 2@| c:CAz@$negb A@ .BrBA@@@IAA@KA5@AB@@-,clearbit_iff @(#`QLGB2-@bi Ur W~ YXʀƩ o@ cw u@ YdCBAAꀠ䀰ਗ਼ @ cCAAGBA@@@@@|+clearbit_eq @wr8|@j   @ c @UYdBAAB@@@@@,clearbit_neq @fݠΠɠĠ@k Ҷ Զ ֶ@B6BALH @; c @Yd#$ @G c*@@@@@㠠+shiftl_lxor @ޠ٠@lR Q * vj @ s2) %@.CBA .@. 4@ s2>CA <@ s2FBA@@@@@$+shiftr_lxor @WHC>9)$@Ym L Nk P `@Ns8f f@ #.܀CBA o@ ,.倠 u@cs8{CA }@ks8BA@@@@@e+shiftl_land @`[!zje@n   쩚 @s2 @". &CBA @+. / @'s2CA @/s2ȀBA@@@@@+shiftr_land @b٠ʠŠ@o ζ ж ҩ9- @s8耠 @c. gCBA @l. p @s8CA @s8BA@@@@@砠*shiftl_lor @ݠ @pVU.zn#@s2-)@. 怠CBA2@. 8@s2BCA@@s2JBA@@@@@(*shiftr_lor @#[LGB=-(@]qPRoTd@Rs8jj@ . 'CBAs@ . 0y@gs8CA@os8BA@@@@@i,shiftl_ldiff @d_%~ni@r𩚠@s2@b/CBA@k/ @+s2ĀCA@3s2̀BA@@@@@,shiftr_ldiff @fݠΠɠĠ@sҶԶ֩=1@s8쀠@/ECBA@/N@s8CA@s8 BA@@@@@렠$ones @jxy@$pred~2& @6 @+k77!7$'`Xl ˠB3.)$@@@@@"$lnot @@ }Ā{0@K7(>ݠ,'dUPKF61@Yv[[ H+k()7 7%'!tdGBpkfaQL@@@@@_'ones_wd @ZU~ytd_@t@++@.Y%@@@A@A@A@ABC@@'lnot_wd @z@@u@@@RTT@. @@@A@A@A@ABC@@*ones_equiv @iѠ̠Ǡ @vթ< 0@.Y%A@$pred.y@.뾴ZA@@@A@A@A@ABC@@ࠠ(ones_add @۠֠@w#/ q e@.Y% @.먩񀠐AB(@.먩.@k.׀4@W.뾴A;@0.Y%BB@7.Y%A@@@JAB@AKA@MA;@OA9@ABC@@1-ones_div_pow2 @,'dUPKF61@fxtY[@iABǰ p@.UHv@k.Y%|@.뾴〠 @w.Y%@.L@@@A@AA@A@A~@ABC@@v-ones_mod_pow2 @ql2{v@y@AB  @m?;@.Y%穚@.뾴(N@.Y%@@@A@AAB@A@A@ABC@@-ones_spec_low @q٠ԠϠʠ@zݶ߶@РABQM@@ c@.Y%()CA@@@A@AAz@ A@ A@ABC@@.ones_spec_high @  @"{0<@%BA.@x c64@).Y%`a{B@@@>A6@A?A@AA/@CA-@ABC@@%-ones_spec_iff @ XID?:*%@Z|hMtONe@ cmk@`.Y%BAAXAB@@@@@Z-lnot_spec_low @UP~yto_Z@}@wAB@ c@a. Щo@ cڐ@@@@@.lnot_spec_high @OƠ@~@͠BA1-@  cހ@.  @, cꀠ@@@@@Ƞ/lnot_involutive @àݠ͠@7 Y M@. @. BAAB@@@@@(lnot_0_l @ %    @ '5 u*@. A1@&.Y%A@@@@@)lnot_ones @Ԡ K < 7 2 -  @ M[@ P@. V@K.Y%AA@@@@@>,lor_ones_low @94 q b ] X S C >@ sfh@Yy@0. 󀐐BAڰ Ω@ %. @@~.Y%@.Y%@@@@@u)land_ones @pk1      z u@  @ *. .B@.Y%A@u?;B@.뾴+QA@@@@@-land_ones_low @g ޠ Ϡ ʠ Š   @ Ӷն@Ơ@. `BAG ;@ k. o@.Y%#"@@@A@AAq@A@A@ABC@@䠠,ldiff_ones_r @ߠڠ!!!    @!S )u i@ /wB%@.Y%A,@s262@ s88BAA@@@;A3@=A+@?A)@ABC@@!0ldiff_ones_r_low @ݠ!T!E!@!;!6!&!!@!VIfK@<\@. րBA f@ /l@a.Y%3@@@@@R0ldiff_ones_l_low @MH!!v!q!l!g!W!R@!z|@m@D. BA ⩚@ N/@.Y%ɩ@a. А@@@@@-lor_lnot_diag @E!!!!!!!@! @e. B@. BA@t. B@.Y%A@@@@@1lor_lnot_diag_low @|!!!ߠ!ڠ!ՠ!Š!@!/趐@۠@. uBA\ P@. €1 @. 78@.Y%>@@@A@A@A@ABC@@.land_lnot_diag @"0"!""""!@"2l%B' 7@ . B>@. BAF@ /BM@B.Y%A@@@@@42land_lnot_diag_low @/*"g"X"S"N"I"9"4@"i\y^@Oo@&. 逐BAа ĩy@ . @=. F@@@A}@Au@As@ABC@@k,lnot_lor_low @fa'""""""p"k@"@@_. "CA@@j. - @y. @c. ~@B. F@. @. @@@@@-lnot_land_low @u""ݠ"ؠ"Ӡ"Π""@" (ᶐ '㶐@֠@. pCA@ᠩ@. { - . `T @. @.  1 ) ;@. Ҁ@.  = G!@.  ; M@@@@@ .ldiff_land_low @à#:#+#&#!## #@#< v/ u1N3@$D@. CA N@/ h zT@. Ӏ nZ@.   @@@@@ @.lnot_ldiff_low @;6#s#d#_#Z#U#E#@@#u h jl@]}@4. CA@h@?.    ۩@N. @M/   ©@>. Y@`.    @@@@@ .lxor_lnot_lnot @~D#######@#   @.:@. CA@. BA@.PCB@@@@@  +lnot_lxor_l @~####ܠ#נ#Ǡ#@#!1궐!0춐  UI@. @.zCBA @.@. CAB@@@@@ +lnot_lxor_r @$/$ $$$$#@$1!k$!j&C( 8@. >@.CBAG@.CN@ . BA@@@@@!6(lxor_lor @1,$i$Z$U$P$K$;$6@$k!^!`@ Ȱq@. BA: ҰƩ{@8.!!@#. >!!@@@!A!@!A!s@AB@@!k0log2_bits_unique @fa'$$$$$$p$k@$!@ @ cBA A@@!!  @  cŀ!!꜠!B @. B!!@@@@@!+log2_shiftr @j$$Ҡ$͠$Ƞ$à$$@$"ֶة ?3@. b@s8􀠐BA@".L@. vBA@@@"A!@A"Ay@"A!@" A!@ABC@@!젠+log2_shiftl @%%% %%$$@%!"[ 1@"؀ vB y.@. 4@s2>"`"a:@ .먩 @@. "l"m@@@"FA">@"HA"6@"JA"4@ABC@@",(log2_lor @'"%_%P%K%F%A%1%,@%a"T"V f@. l@. )BAt@#max.p{@2. B@9. A@@@"A"@"A"y@"A"w@ABC@@"o)log2_land @je+%%%%%%t%o@%""@`. #@*. .BA@#min.@u. 8B@|. ?A@@@@@")log2_lxor @h%ߠ%Р%ˠ%Ơ%%%@%#Զ#֩㠩@. `@.bBA@.p}@. tB@. {A@@@@@"蠠(add_bit0 @ޠ&& &&%%%@&#W#V!!{$@!n c,*@!.먩BA󩚠"r@$xorbȀ9@! cAB@@! cHA@@@@@#')add3_bit0 @"&Z&K&F&A&<&,&'@&\#O#Q#S!!e@! cmk@".먩<q@".먩BCBA;HL@! cCJ@! cBQ@! cAX@@@@@#w.add3_bits_div2 @rm3&&&&&&|&w@&ݛ"퀶ܛ"񀶐"c0" @#.U @"U.먩@"[.먩@#M.fC@#T.f$@#Z.f#7f@#`.f  CB ĀA ̀CB@@@#A#@A#Ao@#A#@$A#@ABC@@#⠠.add_carry_div2 @ݠؠ'''&&&&@'$Q $P g#\ wk @$3.U &@".먩,@".먩CB4@#.fA©;@".먩 A@".먩G@$Z.U CթN@$a.U &BܩU@#.f3 4c@" ckC+j@" crB2 FANz@" cCB@" cBI@@@$A$@A$A$x@$A$v@$A$@ABC@@$p.add_carry_bits @kf,''''''u'p@'$$#ꀩ#[$"@#M.먩@#S.먩DC@$G.fB@.C@.IDCA"E9-@$.U $@o@. @i. mDC@q. uA@. DC#d#` @#S c $gАB@@@%A% @A%A@%A%@AB%A%@%A"@A%A#@%A1ՠF-SetoidTactics'Classes#Coq@@%&A1I @%*A$@ABCDE@@% (add_bit1 @Ƞ(?(0(+(&(!(( @(A%{4%z6##H@# c PN@#.먩BA$(^@# c fB e@# c mAAp@# c xB8w@# c A?@@@%A%w@A%A@%A%p@%A%n@%A$@ABCD@@%h-nocarry_equiv @c^$(((((}(m(h@(%%%@𩚠@%.U }A3@N. i@-. 1CB@5. 9A@c. ~CB@$)$%@$ c ր%%B"Ȁ4(&6*@Z. ^&%@@@%A%@A%AZ@%A%@%A%@ABC@@%͠0add_nocarry_lxor @Ƞà)(((((Ҡ(@)&<&;@_S@. BAѩi]@$.먩〠&>&?@.&D&E@@@&A&@A& A@&"A&@&$A&@&&A$@ABCD@@&(ldiff_le @Ġ);),)')")) )@)=&w0&v2@C@/BA J&s&t@@@@@&-1sub_nocarry_ldiff @(#)`)Q)L)G)B)2)-@)b&U&W@h@/AB1ɰr@&.L &&x@//р&&@@@&~A&v@&A&n@&A&l@ABC@@&d1add_lnot_diag_low @_Z ))))~)y)i)d@)&$@ @ V. BA@%>.먩z&թ@ m. &&ܩ@ .Y%&@@@&A&@&A&@&A&@ABC@@&,lnot_sub_low @])Ԡ)Š)))))@)'ɶ$˶@ @ . VBA=1@ . ''@'.L@ .Y%''@@@&A&@&A&@&A&@ABC@@&ޠ3add_nocarry_lt_pow2 @٠Ԡ**)))))@*'M'L%% @rf@. CB@ ':&@'I.뾴 'S@ 'C/@'R.뾴 '[ 7@%.먩"J'Y=@'`.뾴 'W@@@'DA'<@A'EA @'GA'5@'IA'3@ABC@@'+7add_nocarry_mod_lt_pow2 @&!*^*O*J*E*@*0*+@*`'S'U%rW@h@. 瀠CB1 Rr@&.먩Cx@'0?; '~@'.뾴 倠 '@'<?; ̀'@'.뾴 '@'.뾴 '@@@'A'@'A'@AB@@'z-tail_add_spec @@K , Aé@3BAˀBA@@@@@)0tail_addmul_spec @@Lyݶ N婛 c婚@_@ &Basics'Program#Coq@0!bs߯? :VU$Bool#Coq@0j 2cZ`FW*CMorphisms'Classes#Coq@0qیZBeϠ0CRelationClasses'Classes#Coq@0TL;0RUfw1 0.i bYN Z)Decidable%Logic#Coq@0ND걸풬/Oߠ'Decimal$Init#Coq@0C涳N*ua*Equalities*Structures#Coq@0όe얟)H.Ƞ+Equivalence'Classes#Coq@07;ꮹ0måj$$Init'Classes#Coq@0](p{yOh. #0\͉!Ig*Logic_Type$Init#Coq@0 1jc6ߐ0Imӽ%\$PD.Morphisms_Prop'Classes#Coq@0% :B'.>u%$NAdd(Abstract'Natural'Numbers#Coq@05;ZW:㥜un$)NAddOrder(Abstract'Natural'Numbers#Coq@02'8zn7Hfɠ'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҆mulf0unt"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 0eʤģPSR蠠)Notations$Init#Coq@0&v!D]hwnv *NumPrelude'Numbers#Coq@05WUVŦ]xVXԠ4Operators_Properties)Relations#Coq@0U3y#h&&Orders*Structures#Coq@0$Znl0\͗v05Mܿ獐ζΖLB)OrdersTac*Structures#Coq@05'4Ԗ+9% Ɛ0 jha|ؠ'Prelude$Init#Coq@0JqTttֱ/RelationClasses'Classes#Coq@0Gz rA6ՠ 7 6 5@0]4Ѐd{n^2Relation_Operators)Relations#Coq@0%s鯰s)Relations#Coq@0-SetoidTactics'Classes#Coq@0S_`nOU$ }0;RWMi\N'Tactics$Init#Coq@0/9m+ a'Tactics'Program#Coq@03ؠrHȠ@ݠ#tӡ#Nat$Init#Coq@@ @A@2 Q@@@@"_7@?Ϲ@A@@@@@@@@"_82M접@"_9'`o@@@@s2 Q@@DA#_12 @~ea@#_132M접 CC@A#_14'`o@@@@#_15X@)D@@@@@@# 4@;Coq.Arith.PeanoNat.Nat#<>#2.f@92 Q@@J@#_18 B@DyON@#_192M접 CC@A#_20'`o@@@@#_21fC@@@@@@@#_2246@Z@@@+#_23X@3typeclass_instancesh@@@@@'@+@"@5@,@?@D@BC@@~r@@ @;Coq.Arith.PeanoNat.Nat#<>#3.f@2 Q@@A#_26 @]4Π@#_272M접 CC@A#_28'`o@@@@#_29X@bD@@@@" @;Coq.Arith.PeanoNat.Nat#<>#4.f@q2 Q@@J@#_32 @|:@#_332M접 CC@A#_34'`o@@@@#_35C@@@@@@@#_3646@@)#_37X@@@@ @ @h @ @@!@@!@@@@'m!\@;Coq.Arith.PeanoNat.Nat#<>#5.f@Š2 Q@@XA#_40!i@"Xvu@#_412M접 FF@A#_42'`o@@@@#_43X@tD@@@@W"!@;Coq.Arith.PeanoNat.Nat#<>#8.f@2 Q@@J@#_46!@> ړ@#_472M접 FF@A#_48'`o@@@@#_49F@@@@@@@@@@#_5046@YX@,#_51X@W@@@!@@!F@!J@!@@!X@!\@@!@4!o@!s@@!}@@!@8a@@󠒰u"(@;Coq.Arith.PeanoNat.Nat#<>#9.f@2 Q@@$A#_54"5@BA@#_552M접 FF@A#_56'`o@@@@#_57X@D@@@@#""V@#10,@ 2 Q@@J@#_60"d@ׇqp@#_612M접 FF@A#_62'`o@@@@#_63F@@@@@@@@@@#_6446@%$@,#_65X@#@@@" @@"@"@"@@"$@"(@N@"2@";@"?@e@"I@o@"S@oa@@SA"@#11,@-2 Q@@A#_68#@7=$O @#_692M접 FF@A#_70'`o@@@@#_71X@򒠠D@@@@"#"@#12,@2 Q@@J@#_74#0@ ?0=<@#_752M접 FF@A#_76'`o@@@@#_77TF@@@@@@@@@@#_7846@@,#_79X@V@@@#.@@#3@#7@#@@@#E@#I@@#S@#\@#`@1@#j@;@#t@a@@ #@#13,@l2 Q@@A#_82#@v9%#ڠ@#_832M접 FF@A#_84'`o@@@@#_85X@/D@@@@"#@#14,@>2 Q@@J@#_88#@I\sL @#_892M접 FF@A#_90'`o@@@@#_91 F@@@@@@@@@@#_9246@@,#_93X@"@@@#@@#@$@|$ @@$@$@@$@$(@$,@@$6@@$@@될a@@W$@#15,@2 Q@@A#_96$@w@#_972M접 FF@A#_98'`o@@@@#_99X@lD@@@@"$@#16,@{2 Q@@J@$_102$@>ՠ@$_1032M접 FF@A$_104'`o@@@@$_105F@@@@@@@@@@$_10646@@,$_107X@@@@$@@$@$@H$@@$@$@@$@d$@$@@%@@% @(a@@# %X@#17,@2 Q@@TA$_110%e@UUrq@$_1112M접 FF@A$_112'`o@@@@$_113X@D@@@@S"%@#18,@2 Q@@J@$_116%@?r@$_1172M접 FF@A$_118'`o@@@@$_119F@@@@@@@@@@$_12046@UT@,$_121X@S@@@%@@%@%@%@@%@%@~@%@0%@%@@%@@%@ea@@Iq&$@#19,@#2 Q@@ A$_124&1@- >=@$_1252M접 FF@A$_126'`o@@@@$_127X@’D@@@@"&R@#20,@Ѡ2 Q@@J@$_130&`@/Ύhml@$_1312M접 FF@A$_132'`o@@@@$_133F@@@@@@@@@@$_13446@! @,$_135X@@@@b@@g@@q@@v@C@@@"V@@vtO@@P+&@#21,@02 Q@@A$_138&@:X@$_1392M접 FF@A$_140'`o@@@@$_141X@꒠D@@@@٠"' @#22,@2 Q@@J@$_144'@[/'&@$_1452M접 FF@A$_146'`o@@@@$_147>F@@@@@@@@@@$_14846@ڐ@,$_149X@ْ@@@@'@@'@%x@'*@@'/@%@@'=@'F@%@@'T@%@%@a@@u'@#23,@d2 Q@@@@$_151'@o% @A@@@@@$_1522M접 $_153'`o@E.function_scope@@)nat_scope@A@Az@M2 Q@@@@$_1543@$_1552M접 DD@A$_156'`o@D*type_scope@50@@@A@$_157(ZD@@AA@@@@@@M2 Q@@J@$_158(+@X%O@A@@@@8@$_1592M접 $_160'`o@BB@@@_@$_161#!K@@AA@@@@@@@@@@@@@$_16246@@$_163X@@@@'META681@@@@  @#@@@2@@#%@<@,'META682@K@@<>@U@E`@@QS\@""@df:<@u~@"D@Sѐ@@Ԡ߀0V) @#24,@ 2 Q@@@@$_164)@ `@A@@@@ $@$_1652M접 $_166'`o@C.@b@@@A@$_167%#C@@AA@@@@@2 Q@@@@$_168)R@"0@A@@@@ _@$_1692M접 $_170'`o@Gi@@@@@@@A@ @$_17142G@<@AA@@@@@@@@@2 Q@@@@$_172)@. N @$_1732M접 @$_174'`o@Bߠ@RU@Ġ2 Q@@@@$_175)@. yu @$_1762M접 '$_177'`o@B@֠@2 Q@@@@$_178)@.  @$_1792M접 @$_180'`o@B,.@ɠ@Ҡ2 Q@@A@$_181*@4@A@@@@ !@$_1822M접 $_183'`o@AU@@ؠ2 Q@@A@$_184*8@`J@A@@@@ E@$_1852M접 $_186'`o@@@@ߠ2 Q@@A@$_187*W@  @A@@@@ d@$_1882M접 $_189'`o@@@@ܠ2 Q@@A@$_190*v@2"@A@@@@ @$_1912M접 $_192'`o@@@@Р2 Q@@A@$_193*@#@A@@@@ @$_1942M접 $_195'`o@A@)@۠2 Q@@A@$_196*@ m@A@@@@ @$_1972M접 $_198'`o@B@)@ؠ2 Q@@A@$_199*@v@A@@@@ @$_2002M접 $_201'`o@A#@)a@2 Q@@A@$_202+@9l@A@@@@ @$_2032M접 $_204'`o@BGI@)@2 Q@@A@$_205+/@2^@A@@@@ <@$_2062M접 $_207'`o@Ap@*@2 Q@@A@$_208+S@@A@@@@ `@$_2092M접 $_210'`o@B@*@2 Q@@A@$_211+|@?舘@A@@@@ @$_2122M접 $_213'`o@B@Z@2 Q@@A@$_214+@>@A@@@@ @$_2152M접 $_216'`o@B栐@**@ޠ2 Q@@A@$_217+@?<@A@@@@ @$_2182M접 $_219'`o@B@+$+'@ߠ2 Q@@A@$_220+@?-@A@@@@ @$_2212M접 $_222'`o@B8:@)Š+P@2 Q@@A@$_223, @>U;@A@@@@ -@$_2242M접 AA@A$_225'`o@B`b@ Ӡ @2 Q@@A@$_226,H@7WS@A@@@@ U@$_2272M접 $_228'`o@B@++@2 Q@@A@$_229,q@8e @A@@@@ ~@$_2302M접 $_231'`o@B@+Ǡ+@2 Q@@A@$_232,@8G!@A@@@@ @$_2332M접 $_234'`o@B۠@+𠐒+@2 Q@@A@$_235,@t@A@@@@ @$_2362M접 $_237'`o@B@,,@2 Q@@A@$_238,@'@A@@@@ @$_2392M접 $_240'`o@B-/@̠@2 Q@@A@$_241-@/ί@A@@@@ "@$_2422M접 $_243'`o@CVX@@(+@2 Q@@A@$_244-B@/ί@A@@@@ O@$_2452M접 $_246'`o@C@@UX@ɠ2 Q@@A@$_247-o@/x'@A@@@@ |@$_2482M접 $_249'`o@C@@@֠2 Q@@A@$_250-@/x-@A@@@@ @$_2512M접 $_252'`o@Cݠߠ@@@-#tӡ@-@A@-Ơ@@"O@ޑ@A@As2@ܑ@A@s8@ۑ@A@ABѓ@ב@A@@֑@A@A/@ԑ@A@l@ґ@A@ABC c@Б@A@^Ҷ@ϑ@A@A,@͑@A@l@ˑD@A@ABs8@ʑ@A@.@-@.J-@A@A. @-@. ^@A@. y@-@. yh@A@ABCD. @-@. h@A@.먩@ؑ@A@A.U@֑@A@.B@ԑ<@A@AB. @ӑ@A@.=@ґ@A@A. @ё@A@.Z@ʑ@A@ABC.p@ɑ@A@.@ˑi@A@A.@ɑ@A@.g@ȑ@A@AB.&@đ@A@.뾴@đ@A@A.L@‘@A@.@@A@ABCDE.,a@@A@.Xz@@A@A.@@A@. @@A@AB. @@A@.@@A@A.y@!@A@.Ʉ@@A@ABC.@@A@.t @@A@A/@@A@/@@A@AB3@@A@3@@A@A6w~@@A@@@A@>@@A@?;@@A@ABCDEFG@A.f@@"O@}|@A@As2@{z@A@s8@zy@A@ABѓ@vu@A@@ut@A@A/@sr@A@l@qp@A@ABC c@o@A@^Ҷ@nm@A@A,@lk@A@l@j@A@ABs8@ih@A@.@fe@A@A.먩@dc@A@.U@cm@A@ABCD.B@`@A@. @dc@A@A.=@a@A@. @a`@A@AB.Z@Y@A@.p@Z2@A@A.@Y@A@.@XW@A@ABC.g@VU@A@.&@UT@A@A.뾴@S @A@.L@RQ@A@AB.@ON@A@.,a@ON@A@A.Xz@JI@A@.@IH@A@ABCD. @GF@A@. @HG@A@A.@FE@A@.y@B"y@A@AB.Ʉ@A@@A@.@?>@A@A.t @<;@A@/@;:@A@ABC/@98@A@3@65@A@A3@43@A@6w~@32@A@AB@/.@A@>@,+@A@?;@+=@A@ABCDEFG@".@@"O@  @A@As2@  @A@s8@  @A@ABѓ@@A@@@A@A/@@A@l@@A@ABC c@@A@^Ҷ@@A@A,@@A@l@s@A@ABs8@@A@.@@A@A.먩@@A@.U@@A@ABCD.B@X@A@. @@A@A.=@5@A@. @@A@AB.Z@@A@.p@@A@A.@@A@.@@A@ABC.g@@A@.&@@A@A.뾴@ @A@.L@@A@AB.@ߑ@A@.,a@ߑ@A@A.Xz@ڑ@A@.@ّ@A@ABCD. @ב@A@. @ؑ@A@A.@֑@A@.y@ґ# @A@AB.Ʉ@ё@A@.@ϑ@A@A.t @̑@A@/@ˑ@A@ABC/@ɑ@A@3@Ƒ@A@A3@đ@A@6w~@Ñ@A@AB@@A@>@@A@?;@@A@ABCDEFG@/@@"O@@A@As2@@A@s8@@A@ABѓ@@A@@@A@A/@@A@l@@A@ABC c@@A@^Ҷ@@A@A,@@A@l@@A@ABs8@@A@.@@A@A.먩@@A@.U@ @A@ABCD.B@@A@. @@A@A.=@@A@. @@A@AB.Z@y@A@.p@zR@A@A.@y@A@.@xw@A@ABC.g@vu@A@.&@ut@A@A.뾴@s!>@A@.L@rq@A@AB.@on@A@.,a@on@A@A.Xz@ji@A@.@ih@A@ABCD. @gf@A@. @hg@A@A.@fe@A@.y@b#@A@AB.Ʉ@a`@A@.@_^@A@A.t @\[@A@/@[Z@A@ABC/@YX@A@3@VU@A@A3@TS@A@6w~@SR@A@AB@ON@A@>@LK@A@?;@K ]@A@ABCDEFG@50@@"O@-,@A@As2@+*@A@s8@*)@A@ABѓ@&%@A@@%$@A@A/@#"@A@l@! @A@ABC c@8@A@^Ҷ@@A@A,@@A@l@@A@ABs8@@A@.@@A@A.먩@@A@.U@!@A@ABCD.B@x@A@. @@A@A.=@U@A@. @@A@AB.Z@ 2@A@.p@ @A@A.@ @A@.@@A@ABC.g@@A@.&@@A@A.뾴@!@A@.L@@A@AB.@@A@.,a@@A@A.Xz@@A@.@@A@ABCD. @@A@. @@A@A.@@A@.y@$)@A@AB.Ʉ@@A@.@@A@A.t @@A@/@@A@ABC/@@A@3@@A@A3@@A@6w~@@A@AB@ߑ@A@>@ܑ@A@?;@ۑ @A@ABCDEFG@ABCD0#tӡ@0@A0@B@נ0@@"O@Ǒ@A@As2@ő@A@s8@đ@A@ABѓ@@A@@@A@A/@@A@l@@A@ABC c@@A@^Ҷ@@A@A,@@A@l@-@A@ABs8@@A@.@0@a.J0@A@A. @0@`. ^v@A@. y@0@]. yh@A@ABCD. @0@[. h @A@.먩@@A@A.U@!@A@.B@%@A@AB. @@A@.=@@A@A. @@A@.Z@@A@ABC.p@@A@.@R@A@A.@@A@.g@@A@AB.&@1 @w.&T0@A@.뾴@"z@A@A.L@@A@.@1@{.T0@A@ABCDE.,a@@A@.Xz@@A@A.@@A@. @@A@AB. @@A@.@@A@A.y@$@A@.Ʉ@@A@ABC.@14@.r0@A@.t @1;@.t T1@A@A/@@A@/@@A@AB3@@A@3@@A@A6w~@@A@@@A@>@@A@?;@!@A@ABCDEFG@1X@@AB1^#tӡ-GenericMinMax*Structures#Coq@`@ 1h[@A@˄1j@@"O@@A@As2@@A@s8@~@A@ABѓ@{z@A@@zy@A@A/@xw@A@l@vu@A@ABC c@t @A@^Ҷ@sr@A@A,@qp@A@l@o@A@ABs8@nm@A@.@1@ˤ.J1@A@A. y@1@ˣ. yh@A@. @1@ˡ. h!@A@ABCD.먩@ts@A@.U@v"@A@A.B@s@A@. @sr@A@AB.=@p@A@. @qp@A@A.Z@i@A@.p@iA@A@ABC.@h@A@.@ih@A@A.g@gf@A@.&@dc@A@AB.뾴@b#-@A@.L@ba@A@A.@_^@A@.,a@^]@A@ABCDE.Xz@YX@A@.@[Z@A@A. @YX@A@. @WV@A@AB.@UT@A@.y@R%@A@A.Ʉ@QP@A@.@NM@A@ABC.t @KJ@A@/@LK@A@A/@JI@A@3@ED@A@AB3@CB@A@6w~@CB@A@A@?>@A@>@<;@A@?;@;"M@A@ABCDEFG@,2@@"O@@A@As2@@A@s8@@A@ABѓ@@A@@@A@A/@@A@l@@A@ABC c@!(@A@^Ҷ@ @A@A,@  @A@l@ @A@ABs8@ @A@.@@A@A.먩@@A@.U@# @A@ABCD.B@h@A@. @@A@A.=@E@A@. @@A@AB.Z@"@A@.p@@A@A.@@A@.@@A@ABC.g@@A@.&@@A@A.뾴@#@A@.L@@A@AB.@@A@.,a@@A@A.Xz@@A@.@@A@ABCD. @@A@. @@A@A.@@A@.y@&@A@AB.Ʉ@@A@.@ߑ@A@A.t @ܑ@A@/@ۑ@A@ABC/@ّ@A@3@֑@A@A3@ԑ@A@6w~@ӑ@A@AB@ϑ@A@>@̑@A@?;@ˑ"@A@ABCDEFG@AB2#tӡ;@2@A@2@@"O@@A@As2@@A@s8@@A@ABѓ@@A@@@A@A/@@A@l@@A@ABC c@!@A@^Ҷ@@A@A,@@A@l@@A@ABs8@@A@.@2@.J2@A@A. y@2@. yh@A@. @2@. h"@A@ABCD.먩@@A@.U@#@A@A.B@@A@. @@A@AB.=@@A@. @@A@A.Z@@A@.p@u@A@ABC.@:@A@.@@A@A.g@@A@.&@@A@AB.뾴@$a@A@.L@@A@A.@@A@.,a@@A@ABCDE.Xz@@A@.@@A@A. @@A@. @@A@AB.@@A@.y@&@A@A.Ʉ@@A@.@@A@ABC.t @~@A@/@@A@A/@~}@A@3@yx@A@AB3@wv@A@6w~@wv@A@A@sr@A@>@po@A@?;@o#@A@ABCDEFG@_3:@@"O@QP@A@As2@ON@A@s8@NM@A@ABѓ@JI@A@@IH@A@A/@GF@A@l@ED@A@ABC c@C"\@A@^Ҷ@BA@A@A,@@?@A@l@>@A@ABs8@=<@A@.@:9@A@A.먩@87@A@.U@7$A@A@ABCD.B@4@A@. @87@A@A.=@5y@A@. @54@A@AB.Z@-V@A@.p@.@A@A.@-@A@.@,+@A@ABC.g@*)@A@.&@)(@A@A.뾴@'$@A@.L@&%@A@AB.@#"@A@.,a@#"@A@A.Xz@@A@.@@A@ABCD. @@A@. @@A@A.@@A@.y@'M@A@AB.Ʉ@@A@.@@A@A.t @@A@/@@A@ABC/@  @A@3@  @A@A3@@A@6w~@@A@AB@@A@>@@A@?;@$@A@ABCDEFG@AB,2 Q@@A@$_2533@7V@A@@@@@$_2542M접 $_255'`o@C  @@3,#Z@42 Q@@A@$_2564@?:Tyx@A@@@@@$_2572M접 $_258'`o@A C@3V@82 Q@@A@$_2594&@C9n@A@@@@3@$_2602M접 $_261'`o@C g i@@3}!<@92 Q@@A@$_2624S@D6ʱ@A@@@@`@$_2632M접 $_264'`o@A @3@@2 Q@@@@$_265#@$_2662M접  ֠$_267'`o@A @3,@#2 Q@@@@$_268C@$_2692M접  $_270'`o@A @3@rHȠ@2 Q@@A@$_271@-9;@A@@@@@$_2722M접 $_273'`o@@@@2 Q@@A@$_2743@-9;@A@@@@@$_2752M접 $_276'`o@A @3@2 Q@@A@$_277W@":@A@@@@ @$_2782M접 $_279'`o@@@@2 Q@@A@$_280v@&"<@A@@@@+@$_2812M접 $_282'`o@A _@40@@2 Q@@A@$_2845B@" K\ @A@@@@O@$_2852M접 $_286'`o@A @4@2 Q@@A@$_2875f@)0֫'@A@@@@s@$_2882M접 $_289'`o@A @4@(2 Q@@A@$_2905@3a@A@@@@@$_2912M접 $_292'`o@E ˠ ͠ Ϡ Ѡ@@4堐"/"!@2 Q@@A@$_2935@P@A@@@@@$_2942M접 $_295'`o@C@@5@2 Q@@A@$_2965@06@A@@@@@$_2972M접 $_298'`o@D/1@@@#%Ѡ!b!w@ڠ2 Q@@A@$_2996@4O{@A@@@@,@$_3002M접 $_301'`o@F`bdf@@@45~5?#@#堐!@2 Q@@A@$_3026Z@,f@A@@@@g@$_3032M접 $_304'`o@A@4@2 Q@@@@$_3056~@m$@$_3062M접 #$_307'`o@B@@#!@s2 Q@@A@$_3086@~,@A@@@@@$_3092M접 $_310'`o@B@@&"#@{2 Q@@A@$_3116@'y@A@@@@@$_3122M접 $_313'`o@F @@@5R6-$"^@2 Q@@A@$_3147@)0@A@@@@@$_3152M접 $_316'`o@BG@@&㠐"@2 Q@@A@$_3177.@-p@A@@@@;@$_3182M접 $_319'`o@Bo@@$?"@2 Q@@@@$_320'a@$_3212M접  $_322'`o@B@66@$_323@@ȐȠȐ@@@)( _ | _ )@@ @@!(+!|+!)@@@@@@AȠ@A@@"| @BȠ@@@@@$_324%c?@)nat_scope,%@@,'@@@ ,2,1@@@@O77@)( x | y )Y2 Q@@A@$_3257@d $@A@@@@@$_3262M접 $_327'`o@B"$@6b7:@`2 Q@@A@$_3288 @k>(@A@@@@@$_3292M접 $_330'`o@BKM@67c@l2 Q@@A@$_33183@w>(@A@@@@@@$_3322M접 $_333'`o@Btv@67@|2 Q@@A@$_3348\@5F(@A@@@@i@$_3352M접 $_336'`o@E@@@777נ@2 Q@@A@$_3378@!@A@@@@@$_3382M접 $_339'`o@BӠ@77@2 Q@@A@$_3408@O@A@@@@@$_3412M접 $_342'`o@A@8@2 Q@@A@$_3438@2H@A@@@@@$_3442M접 $_345'`o@A @83@2 Q@@A@$_3469@-tQ+@A@@@@@$_3472M접 $_348'`o@AD@@2 Q@@A@$_3499'@/ @A@@@@4@$_3502M접 $_351'`o@Bh@@)$@2 Q@@A@$_3529O@ -@A@@@@\@$_3532M접 $_354'`o@C@@&b$@2 Q@@A@$_3559|@2TR@A@@@@@$_3562M접 $_357'`o@A@8@2 Q@@A@$_3589@@p.r=@A@.t @>@q.t T=@A@A/@%%~@A@/@%~%}@A@AB3@%x%w@A@3@%x%w@A@A6w~@%v%u@A@@%s%r@A@>@%p%o@A@?;@%o.@A@ABCDEFG@ >:@@"O@&Q&P@A@As2@&O&N@A@s8@&N&M@A@ABѓ@&J&I@A@@&I&H@A@A/@&G&F@A@l@&E&D@A@ABC c@&C-\@A@^Ҷ@&B&A@A@A,@&@&?@A@l@&>'@A@ABs8@&=&<@A@.@&:&9@A@A.먩@&8&7@A@.U@&7/A@A@ABCD.B@&4)@A@. @&8&7@A@A.=@&5)y@A@. @&5&4@A@AB.Z@&-)V@A@.p@&.'@A@A.@&-&@A@.@&,&+@A@ABC.g@&*&)@A@.&@&)&(@A@A.뾴@&'/@A@.L@&&&%@A@AB.@&#&"@A@.,a@&#&"@A@A.Xz@&&@A@.@&&@A@ABCD. @&&@A@. @&&@A@A.@&&@A@.y@&2M@A@AB.Ʉ@&&@A@.@&&@A@A.t @&&@A@/@&&@A@ABC/@& & @A@3@& & @A@A3@&&@A@6w~@&&@A@AB@&&@A@>@&%@A@?;@%/@A@ABCDEFG@AB"02 Q@@A@$_424>@";)@A@@@@@$_4252M접 $_426'`o@B@=V; @"92 Q@@A@$_427>@"D7@A@@@@ @$_4282M접 $_429'`o@C?AC@;3==@"?2 Q@@A@$_430?,@"J%E@A@@@@9@$_4312M접 $_432'`o@Bmo@==@@$_433YS)nat_scope?[?W@?P.')3@$_434@^^@^A@^@A^A@%_ ^ _@^ @A%_ ^ _!x!^!y@@@@@A@@A@@"^ @BA@@@@$_435%c?@)nat_scope4U@@4Z@@@Y@<).뾴144@@@@%_ ^ _?@%x ^ y$_436@FF@F@@F@@FA@&_ =? _@F @@4<"=?4A@@@B@A@@# =?@A@@B@@@@@$_437%c?@)nat_scope4^@@4`@@@@>U.B+74m4l@@@@@@@&x =? y$_438@FF@F@@F@YFA^@'_ <=? _@F @@4#<=?4@@@@A@@$ <=?@A@@B@@@@@$_439%c?@)nat_scope4@@4 @@@ @>Z.=+c4Š4@@@@@@s@'x <=? y$_440@FF@F@@F@FA@&_ .Z+55@@@@@@@&x l*g5u5t@@@@@A#@&x ?= y$_444@hhAh@@h@BhA@%_ / _@h @B%_ / _!/@@@@AA@" /@A@@B@@@@@$_445%c?@)nat_scope5@@5à@@@@:.U2A5Р5@@@@%_ / _A@%x / y$_446@hh@h@@h@@hA@'_ mod _@h @@5#mod5@@@ @A@@A@@$mod @B@@@@@$_447%c?@)nat_scope6l@@6q@@@p@:?;2 6*6)@@@@@A@)x 'mod' y$_448X@$core@.. yD@@@@!A@7Coq.Arith.PeanoNat#<>#1@$_449X@$core@1. D@@@@!A@7Coq.Arith.PeanoNat#<>#2@@@O~2$k[#lZĂ@ݰ-x4>ī@:5SL6 1|Ԅ@!Fϋ0Q/)eh脕 qRp8!A@)Datatypes$Init#Coq@@#nat@A$A_wd)Morphisms'Classes@&ProperL @*respectful%WO?%%Logic&@"eq @0 @#iffС)A"A0B=A"AS!nEDNBP@'nat_indJX!HEȐ"H0Cb3GȐ!a jȐ"H14%?H)(РM@#andЖw@BBB@@@@D@@I,J?F@ E   ^7$_tmp@K7c9TD(PeanoNat%Arith@@#Aeq4Relation_Definitions)Relations@(relation'JjoR"a']"Haa!f@Ƕ@;c"f'@̶@h\"HfooGGַ"n'ٷ"Hn@&eq_ind JMI#Nat@)recursion&Lj oh_ s Cug{tũiǷ#IHn|ЩAթ'Mxة*C#.~̐2 C68C^@%'@  ,DΩFC@@@5@ڶ@7۩@@;@@=@@"B@ %  'G "_/N;ҠF@@I\=PH@@'. ++!xi!yl@@頩G4w'7z "2#K&MJII{K++'C&/C?QER+4HTNL}} _6afC+:S@pCM@nu@G@sk"MVjfkQZnv86ũy<̷!mϩŠѩ@#add `@@A@A@@@@D詚@#sub k*з.ְ@$pred.y.@ `<G< +  %é)ޠC/3QC!9٩%'#.\)K+-E2KO@'sub_0_rvC@XD] {HC%Ld+O#SΐVWȐ&succ_r[ ^_:adcYeVi#IHxmG@&eq_sym Xt(6C8.%Peanoz@)plus_n_Smw; N&Ȑ$comm!8$"g[V(@(plus_n_O0G؀OC/t4646z@(eq_ind_r!2#[֠vKibݠjx}ZFW` u@(eq_trans!yĩx{ko@'f_equal=@ӷKΠ 5Cvl|XC@#mul ʰ b"/A@@"lt Uxc @"le UxT@@P@&le_S_n11X @&le_ind1Q؀U" صAC(`-թ&$IHle1/BC9 AuBзEyF#J@$boolZ'@h@#eqb.B@ A~[}].:P =d(//j@D!Fm11@f(CCO,&[  x}@W45B*\Gk@_J: . *bB@@@@@D&F@lI^@oL\?q\c<> 2U!!eXX@@@@@@@@D!bav@%Falsee@@$Truey@Ad@)False_induُ,y@ZWoDkAa˷@j@SsPui7(@/#/ a@dؠCe˰ΰ@~հ@ذy@s@qmӐpaR ƶ@M@@琷$C#$FMz@'uo{L޶@C2c0%lemma <*@=trans_co_eq_inv_impl_morphism&ni$6/RelationClasses0@.iff_Transitive*z&)P+R:@@/eq_proper_proxy)fL ^@# @9`1'c)!d` @gO8ci:F#Ip;;(ttu4wwB6yDaD+V}H4CNZ71T+$HMB6зF[gD@#leb.=@ >UiuRFi@:@<M=lO8CybV @Ix@M^N=@&le_0_n1de NCx4lķ<ȩ>v@Wˠ@[\{Qq@K@IՠegyG8) @~ߠX$A@B@B@@@@@@D@gàܷ-װ©#KWH{C۠ĩ9C䠩ͩ$ שҩƩΠک'@@ @&le_n_S1WC  7k8P@&leb_le?<' BvCзFzG$K@*comparison;f@i@'comparel@3RЀA\~^/;Q .i@C@c$C@L("X uz@T01B&@'#8@_; Q@b>O1T-/#EFF@@@@@@@@@@@D!cOeCfR@4٩h1FB8@A@+oH%J>2vb@3C}e_Y-omַsoic@wxCm˶@nj@`@ @Grth6E@,,& ,@q=}Ssݷ@Ƕ@穷y8)&@|'Cİ Ͱ$Ұĩ@+f_equal_nat!-з@(eq_add_S10YCޠƩݐIзM렩^S B"$򠵩-@,@@@ ԩa@"Aҷ dQ@J@;) 2Y~^;")4+aghe a?6ܶ@@DC=I%Bqv@.sö@uj12Q?Ac$2CNZ6 ?~jCWc?WV@kG@O=9/N@϶@cg@B6X(n p\@_^OKh@bz@ {ThzZ ~Pq40wdXǩZh kq=>@c>CW>ӵ_$d@ @ CȰt&з*Ƞ@#notШ۰@6%֠In֠@Rq@rptѷ@@^t됷Ȑ"H2Iqg}n@ll&pC"C;vl9>@D@@- *q(&#CC"Z0 XTcZ|\-e;-h@n=@Ȑ"n0@@@D@Ʃj8?5x@@`E n^өĠL8%)۩̠,#U@ $cC\jFbftPm_$mZzVlY~Lw}NCyctynbзrmg*@'CompOppoéztة f]CY[ϵC&׷# ۩&'C.Cư6(~@%max_l!9Ā@%max_r!9ʀ@%min_l!9@%min_r!9n+/@@!9@#pow.뾴P@ k/0-sd1785{۩14ߩ= @թB!VFIJAMf.SIUn""s@$Even.Р;@"ex @BBB@@@@D@rsNuBBy8{@ G%YF%bP\C.b?3VDZXRp KbKƠa !wR C9@q@o]_ڠSܠUu|U*ik[]a6uw_A-#'$@'ˠCސ~ܩ@C@©ͷ@{ǰy%A,԰M[:ŷ ۰ ߩ?µe y  9U Ɛ}yC ʐ̐3W:@ !U " $Z 'K +3֩  1}ԩT 4|y  j 7ߩ  :G <p =  ?  B  C  E@  " I· L@ ( O   @ / Vͩo # 5 \  9 ` c c d 0ݷ $ g 3 4 D k  H o 7O ? O vܩ   > |   D >  \  N{   T @ @@ e   F E 4@#Odd.G ]7@,   x  c̠, l< ŷ b @  q O   nנ,! O%E @N@   y  ~ W  Y M  ~  q@      · j   >< j@` ʷ@i@    G&  v   M |    S t    ) 5 @  8 ܠ  CX  @^ _@abܷ @ .  ְ  ^k ɐ3   7  ߰ Xgf 5     1 0 y     ǐ ɐD` ͐H    ӐNC  % ِ ې!S   7ɷ@ .b /  1 g 4 X  8 5     >  a A Bdk   E!  { H  $ KX M N ) P    S    5 \   ׷ a@@ > e +    ! 3 J q  >  P w2 + -q A ! Z 2 5 7 A = O !  +) Y i  ' ' m  à  L) ^v f v  ʠ̠ < U+ g ҠԠ 8 ]- o i    y۠- %   g9 s   堩 6 8  3   tH   ũ  ǩ }      Ω        e  ש  ٩   W        t t       f f       `ua !C dE %~ o8TC װ Y +y u    @ ܰ  ް   2{ | Ӑ   @@)even_spec   蠩 ѩ 3@$even.Xz J@ ?1 C  $ F  & 񠵩,@© @ķ ũ; 0 d 1  3  @(mult_n_O(ހ u C  $  A c  C  ,   O@@ӷ    ک  o.Private_Parity@&Even_1-9;ƀ C 1 =I   # f6R-$ ^ ;( F#R U 9 c *@&Even_2-9;ǀ .C H T1`%@@(odd_spec F  Z fC @$negby= S   U  c@! @ " F# B m J)O@%Odd_0": bC | e"rZF  Է q   n+sc( p @W. @Y jZ ŷ  Ʃ   =)   p YC  @kx  еJ$   Jl   @%Odd_2"< C  YmC    ư @#odd.g @         !q !u @ YР @$prodt@BBB@@@@@!p    .@&divmod> E@CԀ    䐷"q' ""u' %   ) V X ȩ F  ө G Y ] K   L   .    :? ;= < ; A  A n ^ [  <  ; G C  HM IK J@IH=6    0 P. Q Ѡ . U   ,*)#  Z a  \a ]_ ^ ]   b  [ 0 bWP   .J jH k 렩 H o   '  &    1  , C   J w L  G * { I =xr % . [ .xB@@@@D@ ^u s   s  Ǡ ɠ  O  Π  k ʩ  s " o   ,   ݠ ߠ h ĩ ϠE 2 Р 1 ~ 砩 ՠK  ֠ 7    9  ķ ŷ h F  ʩ   E ɩ XR ^@ S  =   {  W  ՠ  Y _  3  t   `    b "EQ"LE   ϰ  # %     f w  h Ʃ /    n    p ,  9 ;  ) * z z     D F ϐN 7l  8 0    $   %  ' T  V X F{1 G ? ?  3   4  6 c F e   <.  =  ?    A  p 4I  F ! H u  X  L  {    Q , S ( u U m@ .먩 ]  } ] N ec  c }@ ~. ml ( k F mRS V > i u  fg @*mul_succ_r)+= @)add_assoc7!+ w <5< @*add_succ_r sB R  @*add_succ_l mJVE ` @'add_0_r# @ .L  @(sub_diag5R  w u z $ V  V  ,C  Z n z   9   ꠩  ڠ  6 K  ߠ    e     g ͷ u Ơ  tȐ"H' @(le_trans:   N       ֠  Sҩ ^  W ZԶ@    k Ȱ    Y      _ ĩ   a     ܰ 0   4 "W ѩ #  ة  ِ    C E (d 2  b\ @  "3 O =( Ʃ >      .+ [ I~  J B ԩ ,  DKI == j l O ]L T ^ 7 @ u cR  d = F ? rR   n G ҷY4[  P {I S |I1 h(kFm :    X  w+ '59|W~I +.6> '  GeW 8BJ @*sub_succ_l9lԾ  'sD> -y//D} ѠQ h?` ƠO ȠQ   ᠩ 㠐S Ҡo\q נ    ۠   ȷ 堐R  Ƞ  _N` tIcJo|TCөW ̐gİ | ~ vp  "HyӰ  ٰ - ʩ@#div.U 3@  ܩ#@&modulo?; :@"i ؠ   [ҩ G 5WX  !.)&굩@+ 126 c e Sȩ S ?Ω l ZC@#fst JJ𩚠L@#snd XTVU֠3Z   w w w  |+ } 2@頩Fm7   9Nu   r6{{zA8 ݠ6 N!U!V ,' +Om   Ġ Ơ  Cec@'mul_0_r2dS Ԡ ک נ ٠R Ǡ?T9,ɷr 䠩  蠩 Z ؠ8\ ĩ  0Cʩuͩ  b ;d9 Uܩߩ_ a x̩MΩŰCǰT yS@+divmod_specaɀ$Cܰ0  ԩ   "Hx ط   ܩ  , 3@&le_0_l? E%2  $ɠ7  . ,% G4@ @  4- 婷      uB  H I F    HA @  MF + iV@ @ >Y@ @ YR%% ]V!!.       5!k  q r o ĩ  t@ #@ tmi@@ xqa<<I @ @ /@ yLL }HH bNU! 5L@  @  OU@)lt_succ_r?舘ܐ@ @ k^ nFZEJnJJ@(le_sub_l9R# C 'k!ki!r@ff@ iȐ!s@)sqrt_iterl@!$:GxtԩT Πw  ݠ  (緐"Hq("Hr&  砩   &l@(le_add_rNvdа3,+5}#l A/0FQzǠɠ!%&^K+ַ֠0d1"2@@//~s@48T@:{_@-add_le_mono_l0ԡ@@@JuTUFV "@BC|\Ϸ]Uw, :LWةWI@(add_commbNaa g7Cdtyuv@@?3{u *G#IHkͷzK@j1KK@P˩F ;7 FȠʠ pljFNmg٠۠?ɠ''}ߠeک qw  ©_ݠ55ǩo,Ω{mٷөjީ{vHɰS Ӱ ȩݰ, ..UA/,-DNTXU萩KM ]Y&&<1<̩Ӡ@0ͩ/6Oة'3©5ĩީ9ܩ<iͩW렩[_ީErtéb Cx6O˩mXM[[D&nްp<cCjl  m(d|IE446 N:. CaƩD7RΩ ɩZb   qŠةȠ ̠  a۩ Bk' Vqs̩I$  fr k~qsiéwiep;C  ͷ?Ǡyթܩީ h@TޠI\ʰ ~Ѱհ)uڰv|J 68&&=Ɛ,KQUR吩3JZV##کאРNNC*WS;YzUP0R1hf4֩b  hU  By[@$sqrt.Ʉr@ ;JN  O*QSI <  C3Z$wCD%aJ#f栩`6i8--@.sqrt_iter_spec4O{:::lx]D|$ e =@ d@h]AIP)+ީϠ WC0 q$&4נ7 \pT F\c @.tX_`tO@  H@r  䩚@)log2_iter/@wd5  DW`  5·"LT   rK͠ B3֩Π  ՠנ@9iff_flip_impl_subrelation2VA堩)) .ְ'+4d6ݰ#1oe թ In H@@m˶@mc@<A@-add_le_mono_r0ԡ␷@@@4h5&6,ة:;KlR@'add_0_l#B>CAr I KIO OPAQ޷@Ӡ@TU @WXn@Zu@-add_lt_mono_l̀@@@e.&ij[k71>Ω:4U 9Ctn3v5C|}ܷoܷ٩Cb h1AʩVǩ ".3ީĠ(;xΩ̠YީhRVf  \xsaZ >% ? ɩc @w rY"$!éwADʩJĠ̠ҩ}: L e٩۩ l  Ȑ"p'Ȑ%Heqp'-uI  Ȱ Р. $_Cذ    ˩`  ( IЩ4}5rv6L ;MsɐDXPlR>ɠ©$ؐS)+oM-ؠ㐩  `.N@+le_lt_trans2   rK&e@$log2. |@ ɀ;TW Z[6](u@)succ_pred+|@'neq_sym33^怰/ @<_neq?k68驚@'add_1_r%&"U| R@}Sਗ਼@.log2_iter_spec'ySSo u C]QdYDA^@@Y krKMMqCyhtvphmz|vaoe9bvbubVũXf i ʩ} y<@aΩ@@*gcd_divides۶3ܩ\@÷>@#gcd. @ À+ "a0M   !z۰Ʃtǩ     .ٷ3Vt}Cܩ*C61۩9r.נ  FAI@OJ&UYT0_ p CGgb>l)P}kP C@>Reflexive_partial_app_morphism 2R,\]P8?_R:&Basics'Program_@$flip$^^^ @$impl7o^@0reflexive_properm+@xZzUh@:reflexive_eq_dom_reflexive=[%$v$A@.flip_Reflexive-}G@.impl_ReflexiveJi>\%ob@'div_modPCjC7jho{CC@8ĠxϠ O "Hu S@HsԠؠ Hxݠ~ O!v˷"Hv.Щ k5wԩL ݷީ  }X K   V Ұĩ + ۰" ϩ 0(  +  + 14 4  àJ'3&4  5.7@)mul_assoc T5  A8A@/mul_add_distr_r2ҀG? ˠ`J@(mul_comm7 [C\W BB ,  ,,f CƠje 3mPQST@zxsq@ $@@ ))de1ijlm@@@= st@@,gcd_greatest@ڶ@(J X95^C@@8 2F÷ =Щ]E թMEq[͠e]L@AT ~נ*TYq   [@Péө GXi˷ ηϩѩ   ک uOݩߩ   F E    g̰ #  )ְ  Zʩ wj&     j<  ީ5% u  | ɠO(!#0 'V7)X  3C@'add_subʀ ;<L+ Ϡ IJX Ԡ PU@/mul_sub_distr_rLRՀW CE@@©id  OO 9 CR@@ϩvqeZ[@x` c>e}@$div2.,a@ 8+nj r& ۷3vQx.7"FV} D'[ /%;"^\ FFH M`LCp2M) F  Cx:laTdD_@w'jW@pPmVSbX^t9=Ʒ@`~~ Cϩj2թ@@'le_div2ؠjBCࠩ%`N@QCŰC%@Ӡ  @@ ۠iZηKǷqb@"ǩ?@O-tQ+/0R2@+,F !C2C=6(BvCз@Š@8@2@C5E@f@,succ_le_mono04s8@@ "XY&"T Щ91,"eg2%hCj@&double>@NĴXgs  ,C3vQx09|,<Z7@'testbit c@!ćv ~@ H WW'_coL AvS vG wj@0֫' u Cd-tYKl_mo,q<2O@%proj2O@{ nj@l\t@ K\ dҷө`ˠbCXf]v޷ߵA˷e3g1Ű@0div2_succ_double2Hϰ ذw߰IÐ G˷R ]Q  \쐩ؐ?  ^+"`-ѩ#/ 'C 驞A@>?aA U*D !C%ˠFRSlp@+div2_doubleO!9`h >ed ca\[[Z$YfW^YV`WASooQzfq@O11CU2IfJ6CZ775D7GfC @&shiftrs8@vYaP fYwTg sZ#21c^ nje."tx1~kW o8,psuw@gy 1 p ;bʷ˩{ζ϶@Q@&shiftls2@vYZ ߷C@d8g ߠj;Zշ"$թѰw&ztŠ.@|Ҷ@8ҩ(ݠ;co`ԷQ$%"whȩ̩X0H4@ȩ=ȩQo<5 <G`u.K&̠ΠiͩU V1 +w@,double_twice2TRC@oQU$8p.q!1tu@tR/z"c;~@b@f[8 )P)+ީϠ WC"m02s&(6٠9^rO+g @2xU!w]-JǩǷdOub+Dw3wZyZoF@;@*@wjy6F@1}:J$Bool@.negb_false_iff ӥ2@@-,}i@^@@w@@ @ &ΰCѰ (BCذ~5tf!EZ éZoaʩknooC֩t 퐑"op@޶@߷*+,Ȑ"b0F7Ґ@@@@@@@@AB ޠ]@'bitwise,t@/v Q   cT/V!LXu pb!d?f!h 0 2 CIp 94D3A@5\Z?a_D *O7SN4UPP-ϩ:aPO7 Cr4VU[chX|z_;xv]_atwwUl<@1@@ũmu`@ĩp)cr@ @| l8#ũp<ةʷ˩ͩxj nFnMI5ʠ֩N r$ÐG  Ȱ,h!#'$+CհCڰCݰkԐ"x0·#HopgƩȩ٠Lr@ةԩک ߩjZ'()l"B/@@ Щԩ BDE Ơ ة̩ˠݩPQ- ӠЩeנԷ߷9+o- ˠސ!@+testbit_0_l3s@c/ί逰cd\00  @*lt_le_incl9fGq/rj>%@t/ίD!x#"Iv\4' `ZNL:K<@B<P3;2L+557,^_< .=/( Cs K&A B8HhOCxU@#lor. @ €TsDk @$xorbȀ.V|3Cn7@$lxor.@ Rm֐]ũǩ8c˷̷tpз@@SWy۩{o. ݷt㩷v6'fjY@~İjnĐ#з'ϰ@(tail_add3%@^q<*2FC3 ۰   "IH< i 8,  ao Ő   ɐb8c#:WCN  '鐑b ! "V # &Z 'i (  *B@+tail_addmulx E F HuTc  L ' N { }k& U  V 1 X %  \  _ : a / [ g B i  G n 4  K r.  O v  yT {  O w   L ȷ \3  ]    R RF hH eU l gW@-tail_add_spec)} a o J qC     | wޠ ~̠ { {  U u     }        @0tail_addmul_spec7C  Ω@(tail_mul3@^ $).AUs