"`e„•¦¾IU ,° (Zpow_alt &ZArith #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]ā¼hŃwƒ•nv   %Logic $Init #Coq@0Ļ\ƒĶ‰¬!ĘōIgŌ  )Datatypes $Init #Coq@0.iĆœ ¼bćYN —Zū  *Logic_Type $Init #Coq@0Ķ «¬1”ŹöŻė©jc6  &Specif $Init #Coq@0ƒ¢;Rī–WMi\NĀ›©  'Decimal $Init #Coq@0C“ę¶³ēö¬ˆN€*ua  #Nat $Init #Coq@0ī‰Ćeʤµ®Ä£P£óSRč  %Peano $Init #Coq@0± j鄳źhƞ¾aõ|Ų  "Wf $Init #Coq@0qŹę†+‚W,JĘĄÓå+“  'Tactics $Init #Coq@0„/ęé9mŹ+ ؁œśa  %Tauto $Init #Coq@0é‹ĪĢ‚¶×"&žę/é”r k0JŸĄqƒTttś‚ŚÖ±  'BinNums 'Numbers #Coq@0dmk(Ö5æ³Juōõ€<  *EqdepFacts %Logic #Coq@0FI$įͼՋ„½”`  )Eqdep_dec %Logic #Coq@0u ėĻwWIϰ—ß¼  &Basics 'Program #Coq@0!bŒs߯…?Į÷ :žVU  $Init 'Classes #Coq@0ń]Ž(įÅpł¾˜{yOh.  'Tactics 'Program #Coq@03<ør°å“ü’v Į‚„T  4Relation_Definitions )Relations #Coq@0]§4©Š€źådõ{nœ^’  /RelationClasses 'Classes #Coq@0Gāzŗ² „©éćrźAŗ6Õ  )Morphisms 'Classes #Coq@0IĻmÓ½%\$PDøƒŠ  0CRelationClasses 'Classes #Coq@0˜TL;0RŖUfw1  *CMorphisms 'Classes #Coq@0ōqž€Ėی­óZ‚×BeĻ  .Morphisms_Prop 'Classes #Coq@0% Å:B'‚.>Ńu‚Ć%  +Equivalence 'Classes #Coq@0ĢĒīˆ7ĮƒŸŽ;ꮹŗ  -SetoidTactics 'Classes #Coq@0S„ÕÖ_㽯`łnOUŚ$  &Setoid 'Setoids #Coq@0D9µAs…˜WüEī!>ń  $Bool  #Coq@0śŚj­ č2c·Z`FĖłW  *Equalities *Structures #Coq@0όe·³æģ–Ÿż)ÅH‰.Č  2Relation_Operators )Relations #Coq@0%ĶÄÜs鯰ųØsįī  4Operators_Properties )Relations #Coq@0UÕ3y#hć&ķī  )Relations  #Coq@0Œ<•bO 9xņ\żģ  &Orders *Structures #Coq@0$ZnŖl0–\ņĶ—Ą  )OrdersTac *Structures #Coq@0Ó5'4Ō–+÷čó9čēĆ%  +OrdersFacts *Structures #Coq@05MÜæčēĪ¶öĪ–LB  -GenericMinMax *Structures #Coq@0įÅĮ‡ÆŌmßåj$Š  *NumPrelude 'Numbers #Coq@0Į5WUVŦö]ÅxVXŻįŌ  (NZAxioms &NatInt 'Numbers #Coq@0¾ė]ĮŌģ Ļ‹—5r  &NZBase &NatInt 'Numbers #Coq@0—é^²&Œ²§8æyĆU•L  %NZAdd &NatInt 'Numbers #Coq@00¢ęńh—`ąļīŸZK€4  %NZMul &NatInt 'Numbers #Coq@0œctΧR~ø6ˆ©µ[Č  )Decidable %Logic #Coq@0įND‰ź±øķ’¬/•Ońß  'NZOrder &NatInt 'Numbers #Coq@0 qņ;VeĪū7R Wŗ,  *NZAddOrder &NatInt 'Numbers #Coq@0õįeųÆ~1>¢ ąšųrÖē  *NZMulOrder &NatInt 'Numbers #Coq@0}\^ !Ü"kŽ}¦@€R§  (NZParity &NatInt 'Numbers #Coq@0HĄ>ÜĆc‚ōa‡ń'^^  %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@0Kg“ĮķČTĖ7ł|  &NZBits &NatInt 'Numbers #Coq@0čöM”Ɛl¾ķIŁŁpKt  'NAxioms (Abstract 'Natural 'Numbers #Coq@0ZŲ®bŽ÷1ZĻ3üuuŃ  ,NZProperties &NatInt 'Numbers #Coq@0Š1‘D%ŖE`Ō|3xŸ  %NBase (Abstract 'Natural 'Numbers #Coq@0ž ¢Y?“øV° »—vI  $NAdd (Abstract 'Natural 'Numbers #Coq@0ō5;ZŻW:ㄜun$  &NOrder (Abstract 'Natural 'Numbers #Coq@0Ę]@7ެ“†U#o›Y  )NAddOrder (Abstract 'Natural 'Numbers #Coq@02'Š8ózn7ķHŠźfÉ  )NMulOrder (Abstract 'Natural 'Numbers #Coq@0Ž4ł> Aa»żt/° j   $NSub (Abstract 'Natural 'Numbers #Coq@0īńō×Ś:Dō’fJį  'NMaxMin (Abstract 'Natural 'Numbers #Coq@0»]vÕ|Qg’̟­Ź  'NParity (Abstract 'Natural 'Numbers #Coq@0Ģ—S”ŗKz*!”°&4h  $NPow (Abstract 'Natural 'Numbers #Coq@0҆m”‹½ŸØušø€lf   %NSqrt (Abstract 'Natural 'Numbers #Coq@0ū<Ÿōó…×g¶üÉe  $NLog (Abstract 'Natural 'Numbers #Coq@0Kš ”Š÷¢ &BinInt W=<@#mul1PĒ]Š÷¢ )BinIntDefB@ ¬€5C·(&œ  PA€@¶U›  Š÷ 'BinNums 'Numbers #Coq@@!Z7—Ž@€¶U›  Š÷ 'BinNums 'Numbers #Coq@@!Z7—Ž@€›  Š÷ p o ‡@@n7—Ž@€ ° ä+k()= R ų’’’'> 777#'>G'6''+k6'Š Ąs° @@ AA BAAED ‘‘‰ Ųp ’`x ’Qh ‘¤A“@؀@ @@@@°AAĄ@@ A@  -Piter_mul_acc @’°@·@¶!f¶!x› G€X¶@¶¶!y› O€©›  Š÷ %Logic $Init #Coq@@"eqŠ @€°›  o@€©š ”Š÷¢ &BinInt &ZArith #Coq@!Z@#mul1PĒ]Š÷¢  &ZArith }@|@ ¬€ ©CBA©C©Ø ϶Į›  Š÷ 'BinNums 'Numbers #Coq@@(positive*Ą‘@€¶!kO©› E€°S©š ”Š÷¢ Ņ &PArith #Coq@#Pos@$iter=(TœŠ÷¢ Ó &PArith #Coq@#Pos@$iter#Q¦™€ĄlD’7©š Q€ ©š €Ąu ©œ   ±@B€œ   Š÷ & % =@@ *Ą‘@C€O@ @@@@˜  /Piter_op_square @’°@LA¶› R€¶!aģ©› Œ€°𩚠”Š÷G@'iter_op5€aŠ÷?@'iter_op©³ €Ąłš ”Š÷¢ &BinInt &ZArith #Coq@†@#mul1PĒ]…€B©š •€ AA©š ›€ ©š !€Ąš €BA©š )€Ąš $€BA@ @@@@Ž  ,Zpower_equiv @’°@’B¶B-¶!b!©› Š€°©š Š÷™@•žPż€ BA©š ”Š÷Ź@#pow1PĖ1Š÷Į@ ÆŲ€ BA@ @@@@  .Zpower_alt_0_r @’°@·C¶§R©› ņ€°:©š "€ Aœ   @@A€©œ  ”B€œ  “C€@ @@@@$  1Zpower_alt_succ_r @’°@ŲD¶ˆs¶F› u€¶@©š Š÷@"le1P,ö€ œ  $A€A©› #€°k©š S€ ’©š ”Š÷“@$succ1\ŚwŠ÷@$succ 怐©š "€ Ÿ©š d€ £@ @Ą@° ہöi Ī &BinPos &PArith #Coq@A 1Gµ£ K D C B@@A@@h  0Zpower_alt_neg_r @’°@E¶Ģ·¶Š› ¹€¶@©š Š÷J@"lt1P-€ Aœ  iA€©› g€°Æ©š —€ ÖCœ  tA€@ @@@@  /Zpower_alt_Ppow @’°@CF¶ ›  Š÷ 'BinNums 'Numbers #Coq@@(positive*Ą‘@€¶!q©› Ž€°Ö©š ¾€ ©œ  éB€B©œ  ļB€A©œ  õB€©š ”Š÷¢ k j i@\@#pow=RxŠ÷[@#F¤u€ BA@ @@@@Ó@@ Š@ Ó³2Ą@  Ó³2 [ )Datatypes $Init #Coq@@AŠ@ Ō³qĄ@  Ō³q \ @A@AB‰ @ŠŠŠŠŠŠŠŠ@"OēŠ@Š÷¢ (PeanoNat %Arith #Coq@#Nat@&of_int"Oē‘Š÷ #Nat $Init #Coq@@ Ś6ž@A@A\¼Š@Š÷¢ŃŹ@'quotrem\¼‘Š÷Ź@/ Å@AŠŠ@›\Š@Š÷@+pred_double›\‘Š÷Ń@/S@æ@A@A¾s2Š@Š÷"@&shiftl¾s2‘Š÷@vYé@A@BC¾s8Š@Š÷'@&shiftr¾s8‘Š÷@vYļ@AŠ@ѓŠ@Š÷-@&squareѓ‘Š÷$@‰yĢ@AŠ@ńĻŠ@Š÷3@&to_intńĻ‘Š÷*@©†@AŠ@ūźzŠ@Š÷$@&doubleūźz‘Š÷ķ@/³Ļ!@A@ABCD/­Š@Š÷>@)log2_iter/­‘Š÷5@ēwd@AŠŠŠ@NH/Š@Š÷1@&moduloNH/‘Š÷ś@1,Ö@A@A‡\dŠ@Š÷6@&of_int‡\d‘Š÷’@1?A @AŠ@‡bzŠ@Š÷<@&of_nat‡bz‘Š÷@1?G!@AŠ@#ÆŠ@Š÷B@&shiftl#ƑŠ÷ @1ŪdV@AŠ@#µŠ@Š÷H@&shiftr#µ‘Š÷@1Ūd\@A@ABCD/xīŠ@Š÷¢ &BinPos &PArith #Coq@#Pos@)pred_mask/xī‘Š÷¢ )BinPosDef &PArith #Coq@#Pos@ )XŹė@AŠŠŠ@6Ÿ’Š@Š÷g@&square6Ÿ’‘Š÷0@1ī„9@A@AV+LŠ@Š÷l@&to_intV+L‘Š÷5@2ó@AŠ@V1bŠ@Š÷r@&to_natV1b‘Š÷;@2 @AŠ@V5=Š@Š÷x@&to_posV5=‘Š÷A@2ä@A@ABCl»ƒŠ@Š÷’@)sqrt_iterl»ƒ‘Š÷‰@!$¢:@AŠ@…@Š@Š÷6@(sub_mask…@‘Š÷-@)®’@A@ADEF  cŠ@Š÷@'testbit  c‘Š÷”@!ć@AŠŠŠŠ@7 BŠ@Š÷D@'of_uint7 B‘Š÷;@*`]?@A@AÖóGŠ@Š÷I@)mask_rectÖóG‘Š÷@@+ED@AŠ@F˱Š@Š÷O@)add_carryF˱‘Š÷F@+p®@A@AB^ҶŠ@Š÷¶@'to_uint^Ҷ‘Š÷­@#¹m@AŠŠ@gL7Š@Š÷Ø@'sqrtremgL7‘Š÷q@40Ž@A@Aq¬ąŠ@Š÷­@'testbitq¬ą‘Š÷v@5)‘‡@AŠŠ@ŻŽOŠ@Š÷“@+succ_doubleŻŽO‘Š÷}@6•rö@A@A ŁpŠ@Š÷l@0double_pred_mask Łp‘Š÷c@0-+m@A@BCD T›Š@Š÷¢ &BinNat &NArith #Coq@!N@!t T›‘Š÷¢ )BinNatDef &NArith #Coq@!N@ 2ōę@AŠŠŠ@ 䥊@Š÷@#add 䡑Š÷@3… @A@A élŠ@Š÷@#div él‘Š÷@3‰·@AŠ@ ėYŠ@Š÷%@#eqb ėY‘Š÷@3‹¤@A@AB ķ#Š@Š÷*@#gcd ķ#‘Š÷!@3n@AŠ@ ōTŠ@Š÷0@#leb ōT‘Š÷'@3”Ÿ@A@ACEG õ"Š@Š÷5@#lor õ"‘Š÷,@3•m@AŠŠŠŠŠ@ õqŠ@Š÷?@#ltb õq‘Š÷6@3•¼@A@A õ‡Š@Š÷D@#max õ‡‘Š÷;@3•Ņ@AŠ@ öŠ@Š÷J@#min ö‘Š÷A@3–`@A@AB ö÷Š@Š÷O@#mul ö÷‘Š÷F@3—B@AŠ@ ų~Š@Š÷U@#odd ų~‘Š÷L@3˜É@A@AC ł=Š@Š÷Z@#one ł=‘Š÷Q@3™ˆ@AŠŠŠ@ śĖŠ@Š÷b@#pow śĖ‘Š÷Y@3›@A@A ’cŠ@Š÷g@#sub ’c‘Š÷^@3Ÿ®@AŠ@ ’Š@Š÷m@#two ’‘Š÷d@3”J@A@AB hxŠ@Š÷r@$div2 hx‘Š÷i@>Ć@AŠ@ ”‘Š@Š÷x@$even ”‘‘Š÷o@>4Ü@A@ACD “ŠŠ@Š÷}@$ggcd “Š‘Š÷t@>U@AŠŠŠŠ@ üļŠ@Š÷†@$iter üļ‘Š÷}@>:@A@A 3"Š@Š÷‹@$land 3"‘Š÷‚@>Óm@AŠ@ F)Š@Š÷‘@$log2 F)‘Š÷ˆ@>ęt@A@AB S²Š@Š÷–@$lxor S²‘Š÷@>óż@AŠ@ µœŠ@Š÷œ@$pred µœ‘Š÷“@?Uē@A@AC śÜŠ@Š÷”@$size śÜ‘Š÷˜@?›'@AŠŠŠ@ !›Š@Š÷©@$sqrt !›‘Š÷ @?„ę@A@A ! Š@Š÷®@$succ ! ‘Š÷„@?Ŗ\@AŠŠ@ !°7Š@Š÷µ@$zero !°7‘Š÷¬@@P‚@AŠ@ ö*ØŠ@Š÷»@%ldiff ö*ؑŠ÷²@Źó@A@AB gć_Š@Š÷1@+pred_double gć_‘Š÷(@2‘5\@A@CD ¼§mŠ@Š÷6@÷ ¼§m‘Š÷-@2åłj@AŠŠ@S櫊@Š÷=@&of_intSć«‘Š÷4@4}5Ø@A@ASéĮŠ@Š÷B@&of_natSéĮ‘Š÷9@4};¾@A@BEFGH\R“Š@Š÷G@(mask_ind\R“‘Š÷>@4…¤±@AŠŠŠŠŠ@\^¹Š@Š÷Q@(mask_rec\^¹‘Š÷H@4…°¶@A@A’!,Š@Š÷V@&pred_N’!,‘Š÷M@4»s)@A@BšöŠ@Š÷[@&shiftlšö‘Š÷R@5Xó@AŠŠ@šüŠ@Š÷b@&shiftršü‘Š÷Y@5Xł@A@A&ŁŠ@Š÷g@&square&Ł‘Š÷^@5,xÖ@A@BC"²“Š@Š÷l@&to_int"²“‘Š÷c@5L@AŠŠŠ@"ø©Š@Š÷t@&to_nat"ø©‘Š÷k@5L ¦@A@AnTqŠ@Š÷y@+testbit_natnTq‘Š÷p@6—¦n@AŠŠ@©B¦Š@Š÷@(succ_pos©B¦‘Š÷@Ēāń@AŠ@¶ĖIŠ@Š÷Ó@'abs_nat¶ĖI‘Š÷œ@?nÆš@A@AB.³•Š@Š÷@'of_uint.³•‘Š÷@MSą@AŠ@3Ó~Š@Š÷‘@'sqrtrem3Ó~‘Š÷ˆ@7]%{@A@ACD,ķŠ@Š÷ų@'bitwise,ķ‘Š÷ļ@/äv¤@AŠŠ@>4'Š@Š÷@'testbit>4'‘Š÷”@8g†$@A@A„{UŠ@Š÷¢@,sqrtrem_step„{U‘Š÷™@8­ĶR@AŠŠŠ@šu^Š@Š÷9@(div_euclšu^‘Š÷0@ ¹©@A@AfzŠ@Š÷Æ@'to_uintfz‘Š÷¦@9¹øw@A@BĪlŠ@Š÷@'compareĪl‘Š÷ @3†RŠ@A@CDEFs¦8Š@Š÷@+of_uint_accs¦8‘Š÷@5+Œļ@AŠŠŠŠŠ@öĄ}Š@Š÷R@,pos_div_euclöĄ}‘Š÷I@&`Č@AŠŠ@3x–Š@Š÷@'compare3x–‘Š÷ą@ė]=@A@AĄŠ@Š÷^@&doubleĄ‘Š÷U@'Žŗ_@A@BCūqšŠ@Š÷Ō@+of_succ_natūqš‘Š÷Ė@$Ćķ@AŠ@wÉŠ@Š÷i@&modulowɑŠ÷`@)1@A@ADK‹žŠ@Š÷n@&of_intK‹ž‘Š÷e@)j,I@AŠŠŠ@K’Š@Š÷v@&of_natK’‘Š÷m@)j2_@A@AēÆIŠ@Š÷{@&shiftlēÆI‘Š÷r@*O”@AŠ@ēÆOŠ@Š÷@&shiftrēÆO‘Š÷x@*Oš@A@ABśĻ,Š@Š÷†@&squareśĻ,‘Š÷}@*ow@AŠ@ZęŠ@Š÷Œ@&to_intZꑩ÷ƒ@*8ū1@A@ACE`üŠ@Š÷‘@&to_nat`ü‘Š÷ˆ@*9G@AŠŠŠ@eüÄŠ@Š÷™@+testbit_nateüđŠ÷@+„@A@A+{ŃŠ@Š÷ž@'sqrtrem+{ёŠ÷•@,J@AŠŠ@5ÜzŠ@Š÷„@'testbit5Üz‘Š÷œ@-T|Å@A@A ˆĶŠ@Š÷Ŗ@'to_uint ˆĶ‘Š÷”@.¦Æ@AŠŠ@ ”½éŠ@Š÷±@+succ_double ”½é‘Š÷Ø@.Ą^4@A@A#’’ŻŠ@Š÷'@'compare#’’Ż‘Š÷@ )QŚ@A@BCD%t2óŠ@Š÷,@(size_nat%t2ó‘Š÷#@ „š@AŠŠ@%„9üŠ@Š÷3@+of_uint_acc%„9ü‘Š÷*@ Ī‹ł@A@A%¼„VŠ@Š÷8@+double_mask%¼„V‘Š÷/@ åÖS@AŠ@%ö‘%Š@Š÷>@'div2_up%ö‘%‘Š÷5@ ć"@A@ABEF'ÅŸŠ@Š÷C@'Ndouble'ÅŸ‘Š÷:@ «œ@AŠŠŠ@(bē0Š@Š÷K@*shiftl_nat(bē0‘Š÷B@Œ9-@A@A(nՖŠ@Š÷P@*shiftr_nat(nՖ‘Š÷G@˜'“@AŠ@(‘ĶŠ@Š÷V@0succ_double_mask(‘Ķ‘Š÷M@»@AŠ@*W$Š@Š÷\@,compare_cont*W$‘Š÷S@€ļ!@AŠ@.„0—Š@Š÷b@.sub_mask_carry.„0—‘Š÷Y@Ī‚”@A@ABCD.ė„Š@Š÷É@!t.ė„‘Š÷Ą@ ¢’;@AŠŠ@.먩Š@Š÷Š@#add.먩‘Š÷Ē@ £`@A@A.ė­UŠ@Š÷Õ@#div.ė­U‘Š÷Ģ@ £” @AŠŠ@.ėÆBŠ@Š÷Ü@#eqb.ėÆB‘Š÷Ó@ £•ł@A@A.ė± Š@Š÷į@#gcd.ė± ‘Š÷Ų@ £—Ć@AŠ@.ėø=Š@Š÷ē@#leb.ėø=‘Š÷Ž@ £žō@A@ABCEGHI.ė¹ Š@Š÷ģ@#lor.ė¹ ‘Š÷ć@ £ŸĀ@AŠŠŠŠŠŠŠŠ@.ė¹ZŠ@Š÷ł@#ltb.ė¹Z‘Š÷š@ £ @A@A.ė¹pŠ@Š÷ž@#max.ė¹p‘Š÷õ@ £ '@A@B.ė¹žŠ@Š÷@#min.ė¹ž‘Š÷ś@ £ µ@AŠ@.ėŗąŠ@Š÷ @#mul.ėŗą‘Š÷@ £”—@A@AC.ė¼gŠ@Š÷@#odd.ė¼g‘Š÷@ ££@AŠŠ@.ė½&Š@Š÷@#one.ė½&‘Š÷ @ ££Ż@A@A.뾓Š@Š÷@#pow.뾓‘Š÷@ £„k@AŠ@.ėĆLŠ@Š÷ @#sub.ėĆL‘Š÷@ £Ŗ@AŠ@.ėÄčŠ@Š÷&@#two.ėÄ葩÷@ £«Ÿ@A@ABCD.ö,aŠ@Š÷+@$div2.ö,a‘Š÷"@ ®@AŠŠŠ@.öXzŠ@Š÷3@$even.öXz‘Š÷*@ ®?1@A@A.öĄŲŠ@Š÷8@$iter.öĄŲ‘Š÷/@ ®§@A@B.ö÷ Š@Š÷=@$land.ö÷ ‘Š÷4@ ®ŻĀ@AŠ@.÷ Š@Š÷C@$log2.÷ ‘Š÷:@ ®šÉ@A@ACE.÷›Š@Š÷H@$lxor.÷›‘Š÷?@ ®žR@AŠŠ@.÷y…Š@Š÷O@$pred.÷y…‘Š÷F@ Æ`<@A@A.÷ɄŠ@Š÷T@$sqrt.÷Ʉ‘Š÷K@ ư;@AŠŠ@.÷ĶśŠ@Š÷[@$succ.÷Ķś‘Š÷R@ Æ“±@AŠ@.ųt Š@Š÷a@$zero.ųt ‘Š÷X@ °Z×@A@AB/æŠ@Š÷f@.to_little_uint/摊÷]@ 愾@A@CDF/Ģī‘Š@Š÷k@%ldiff/Ģī‘‘Š÷b@ „ÕH@AŠŠŠŠŠŠ@0÷Ø0Š@Š÷£@'compare0÷Ø0‘Š÷š@?H{@A@A1P%Š@Š÷f@!t1P%‘Š÷/@  Ø@A@B1PµŠ@Š÷k@#abs1Pµ‘Š÷4@ ™¶@AŠŠ@1Pµ&Š@Š÷r@#add1Pµ&‘Š÷;@ ™Ķ@A@A1P¹ŅŠ@Š÷w@#div1P¹Ņ‘Š÷@@ žy@A@BC1P»æŠ@Š÷|@#eqb1P»æ‘Š÷E@  f@AŠŠŠ@1P½‰Š@Š÷„@#gcd1P½‰‘Š÷M@ ¢0@A@A1P½­Š@Š÷‰@#geb1P½­‘Š÷R@ ¢T@A@B1P¾ŹŠ@Š÷Ž@#gtb1P¾Ź‘Š÷W@ £q@AŠŠ@1PÄŗŠ@Š÷•@#leb1PÄŗ‘Š÷^@ ©a@A@A1PňŠ@Š÷š@#lor1Pň‘Š÷c@ Ŗ/@A@BCD1PÅ׊@Š÷Ÿ@#ltb1PÅבŠ÷h@ Ŗ~@AŠŠŠŠ@1PÅķŠ@Š÷Ø@#max1PÅķ‘Š÷q@ Ŗ”@A@A1PĘ{Š@Š÷­@#min1PĘ{‘Š÷v@ «"@A@B1PĒ]Š@Š÷²@z1PĒ]‘z@AŠŠ@1PČäŠ@Š÷·@#odd1PČ䑩÷€@ ­‹@A@A1PÉ£Š@Š÷¼@#one1PÉ£‘Š÷…@ ®J@A@BC1PÉŌŠ@Š÷Į@#opp1PÉŌ‘Š÷Š@ ®{@AŠŠŠ@1PĖ1Š@Š÷É@Š1PĖ1‘Š@A@A1PĶ;Š@Š÷Ģ@#rem1PĶ;‘Š÷•@ ±ā@A@B1PĪĖŠ@Š÷Ń@#sgn1PĪĖ‘Š÷š@ ³r@AŠŠ@1PĻÉŠ@Š÷Ų@#sub1PĻɑŠ÷”@ “p@A@A1PŃeŠ@Š÷Ż@#two1PŃe‘Š÷¦@ ¶ @A@BCDE1[8ŽŠ@Š÷ā@$div21[8Ž‘Š÷«@ …@AŠŠŠŠ@1[d÷Š@Š÷ė@$even1[d÷‘Š÷“@ Iž@A@A1[…6Š@Š÷š@$ggcd1[…6‘Š÷¹@ iŻ@A@B1[ĶUŠ@Š÷õ@$iter1[ĶU‘Š÷¾@ ±ü@AŠŠ@1\ˆŠ@Š÷ü@$land1\ˆ‘Š÷Å@ č/@A@A1\Š@Š÷@$log21\‘Š÷Ź@ ū6@A@BC1\$Š@Š÷@$lxor1\$‘Š÷Ļ@ æ@AŠŠŠŠ@1\YĆŠ@Š÷@$of_N1\YƑŠ÷Ų@ >j@A@A1\†Š@Š÷@$pred1\†‘Š÷Ż@ j©@A@B1\„ÖŠ@Š÷@$quot1\„֑Š÷ā@ Š}@AŠŠ@1\ÖŠ@Š÷ @$sqrt1\Ö‘Š÷é@ ŗØ@A@A1\ŚwŠ@Š÷%@Ū1\Św‘Ż@A@BC1\ģkŠ@Š÷(@$to_N1\ģk‘Š÷ń@ Ń@AŠŠŠ@1]€Š@Š÷0@$zero1]€‘Š÷ł@ eD@A@A2ó:Š@Š÷5@%abs_N2ó:‘Š÷ž@ Ó×į@AŠ@21ūŠ@Š÷;@%ldiff21ū‘Š÷@ éßµ@AŠ@2=½*Š@Š÷A@%quot22=½*‘Š÷ @ õ”Ń@A@ABC2kŪFŠ@Š÷ˆ@(size_nat2kŪF‘Š÷@Š{‘@AŠ@3¦ŖŗŠ@Š÷a@(tail_add3¦Ŗŗ‘Š÷X@^‘q@A@ADEFGH3¦¼ńŠ@Š÷f@(tail_mul3¦¼ń‘Š÷]@^£Ø@AŠŠŠŠŠ@5ZƒŠ@Š÷@*shiftl_nat5Zƒ‘Š÷”@y/Ī@AŠ@5f}éŠ@Š÷£@*shiftr_nat5f}鑩÷š@…4@A@AB5€aŠ@Š÷@'iter_op5€a‘Š÷@©³ @A@C6w~Š@Š÷€@'of_uint6w~‘Š÷w@½^5@AŠŠ@8jƒūŠ@Š÷r@'of_uint8jƒū‘Š÷;@'"h¢@AŠ@9ÖEÄŠ@Š÷x@(div_eucl9ÖEđŠ÷A@(Ž*k@A@AB:Ęx°Š@Š÷0@,Nsucc_double:Ęx°‘Š÷'@ ļŹ­@A@CD<ŽK®Š@Š÷—@+tail_addmul<ŽK®‘Š÷Ž@F2e@AŠŠŠ@<±ń¾Š@Š÷Š@'pos_sub<±ń¾‘Š÷S@+iÖe@AŠ@<¹įfŠ@Š÷@'pow_pos<¹įf‘Š÷Y@+qĘ @A@AB=¬HŠ@Š÷H@!t=¬H‘Š÷?@#EžE@A@C=‹Š@Š÷D@&divmod>‹‘Š÷;@CŌ@AŠŠ@>–ŻżŠ@Š÷K@&double>–Żż‘Š÷B@NÄ“@AŠ@?2ćŠ@Š÷<@,pos_div_eucl?2ć‘Š÷@-źuŠ@A@AB?é;²Š@Š÷V@&modulo?é;²‘Š÷M@”"i@A@CEFGIJ@ˆ  &Basics 'Program #Coq@0!bŒs߯…?Į÷ :žVU 0ŃBpHÖŽžun›ץ^  )BinIntDef &ZArith #Coq@0÷Ć„dÖŲR4ŖTuyÆ  &BinNat &NArith #Coq@0ŖŖ„ĘŻK˜õ11üڤs+Ī  )BinNatDef &NArith #Coq@03²@1äO–,™ę[€²{   Ņ Ń Š@0dmk(Ö5æ³Juōõ€< ®0ļævÅyŲ»‰”¢0=» u  )BinPosDef &PArith #Coq@0˜÷€}HŲ ų¦d.›%ž,b  $Bool  #Coq@0śŚj­ č2c·Z`FĖłW  *CMorphisms 'Classes #Coq@0ōqž€Ėی­óZ‚×BeĻ  0CRelationClasses 'Classes #Coq@0˜TL;0RŖUfw1  Ä Ć Ā@0.iĆœ ¼bćYN —Zū  )Decidable %Logic #Coq@0įND‰ź±øķ’¬/•Ońß  'Decimal $Init #Coq@0C“ę¶³ēö¬ˆN€*ua  *EqdepFacts %Logic #Coq@0FI$įͼՋ„½”`  )Eqdep_dec %Logic #Coq@0u ėĻwWIϰ—ß¼  *Equalities *Structures #Coq@0όe·³æģ–Ÿż)ÅH‰.Č  +Equivalence 'Classes #Coq@0ĢĒīˆ7ĮƒŸŽ;ꮹŗ  -GenericMinMax *Structures #Coq@0įÅĮ‡ÆŌmßåj$Š  $Init 'Classes #Coq@0ń]Ž(įÅpł¾˜{yOh.  "Le %Arith #Coq@0ƒdž¢}ķ‹Om§qö+ Ґ0Ļ\ƒĶ‰¬!ĘōIgŌ  *Logic_Type $Init #Coq@0Ķ «¬1”ŹöŻė©jc6  "Lt %Arith #Coq@0įKõZø¼é-eJkŽP܏  )Morphisms 'Classes #Coq@0IĻmÓ½%\$PDøƒŠ  .Morphisms_Prop 'Classes #Coq@0% Å:B'‚.>Ńu‚Ć%  $NAdd (Abstract 'Natural 'Numbers #Coq@0ō5;ZŻW:ㄜun$  )NAddOrder (Abstract 'Natural 'Numbers #Coq@02'Š8ózn7ķHŠźfÉ  'NAxioms (Abstract 'Natural 'Numbers #Coq@0ZŲ®bŽ÷1ZĻ3üuuŃ  %NBase (Abstract 'Natural 'Numbers #Coq@0ž ¢Y?“øV° »—vI  %NBits (Abstract 'Natural 'Numbers #Coq@0Žqteo_üh’„¾É…›Ā  $NDiv (Abstract 'Natural 'Numbers #Coq@0ÆØū‰bz$?“[p(Ķ5¾  $NGcd (Abstract 'Natural 'Numbers #Coq@08EńĻ’-¦S ;j°_éŅ  $NLcm (Abstract 'Natural 'Numbers #Coq@0•¢Ž ~xZ¬9€L{ņ:  $NLog (Abstract 'Natural 'Numbers #Coq@0K Aa»żt/° j   &NOrder (Abstract 'Natural 'Numbers #Coq@0Ę]@7ެ“†U#o›Y  'NParity (Abstract 'Natural 'Numbers #Coq@0Ģ—S”ŗKz*!”°&4h  $NPow (Abstract 'Natural 'Numbers #Coq@0҆m”‹½ŸØušø€lf   +NProperties (Abstract 'Natural 'Numbers #Coq@0žuŠĄČnt"Ćkģ¶wpYC  %NSqrt (Abstract 'Natural 'Numbers #Coq@0ū<Ÿōó…×g¶üÉe  $NSub (Abstract 'Natural 'Numbers #Coq@0īńō×Ś:Dō’fJį  %NZAdd &NatInt 'Numbers #Coq@00¢ęńh—`ąļīŸZK€4  *NZAddOrder &NatInt 'Numbers #Coq@0õįeųÆ~1>¢ ąšųrÖē  (NZAxioms &NatInt 'Numbers #Coq@0¾ė]ĮŌģ Ļ‹—5r  &NZBase &NatInt 'Numbers #Coq@0—é^²&Œ²§8æyĆU•L  &NZBits &NatInt 'Numbers #Coq@0čöM”Ɛl¾ķIŁŁpKt  %NZDiv &NatInt 'Numbers #Coq@0é$ |§J?ŪŠĮd¤ (w  %NZGcd &NatInt 'Numbers #Coq@0Kg“ĮķČTĖ7ł|  %NZLog &NatInt 'Numbers #Coq@0ꔉ’¤ ° Łį .uVś  %NZMul &NatInt 'Numbers #Coq@0œctΧR~ø6ˆ©µ[Č  *NZMulOrder &NatInt 'Numbers #Coq@0}\^ !Ü"kŽ}¦@€R§  'NZOrder &NatInt 'Numbers #Coq@0 qņ;VeĪū7R Wŗ,  (NZParity &NatInt 'Numbers #Coq@0HĄ>ÜĆc‚ōa‡ń'^^  %NZPow &NatInt 'Numbers #Coq@0”)Āż6*9 B:v…—Č»  ,NZProperties &NatInt 'Numbers #Coq@0Š1‘D%ŖE`Ō|3xŸ  &NZSqrt &NatInt 'Numbers #Coq@0` Įął.óź%©„„‰m  #Nat $Init #Coq@0ī‰Ćeʤµ®Ä£P£óSRč  )Notations $Init #Coq@0&v!D]ā¼hŃwƒ•nv   *NumPrelude 'Numbers #Coq@0Į5WUVŦö]ÅxVXŻįŌ  4Operators_Properties )Relations #Coq@0UÕ3y#hć&ķī  &Orders *Structures #Coq@0$ZnŖl0–\ņĶ—Ą  +OrdersFacts *Structures #Coq@05MÜæčēĪ¶öĪ–LB  )OrdersTac *Structures #Coq@0Ó5'4Ō–+÷čó9čēĆ%  %Peano $Init #Coq@0± j鄳źhƞ¾aõ|Ų  (PeanoNat %Arith #Coq@0O~2ō˜Ž$•k[#lZ  $Plus %Arith #Coq@0…Ē4tmŁŠåó×G‘œś  $Pnat &PArith #Coq@0—,?«pr¾.‘ś›gõZ‰  'Prelude $Init #Coq@0JŸĄqƒTttś‚ŚÖ±  /RelationClasses 'Classes #Coq@0Gāzŗ² „©éćrźAŗ6Õ  4Relation_Definitions )Relations #Coq@0]§4©Š€źådõ{nœ^’  2Relation_Operators )Relations #Coq@0%ĶÄÜs鯰ųØsįī  )Relations  #Coq@0Œ<•bO 9xņ\żģ  &Setoid 'Setoids #Coq@0D9µAs…˜WüEī!>ń  -SetoidTactics 'Classes #Coq@0S„ÕÖ_㽯`łnOUŚ$  &Specif $Init #Coq@0ƒ¢;Rī–WMi\NĀ›©  'Tactics $Init #Coq@0„/ęé9mŹ+ ؁œśa  'Tactics 'Program #Coq@03<ør°å“ü’v Į‚„T  %Tauto $Init #Coq@0é‹ĪĢ‚¶×"&žę/é”r  "Wf $Init #Coq@0qŹę†+‚W,JĘĄÓå+“  $ZAdd (Abstract 'Integer 'Numbers #Coq@0YĖÅŪ9Vægⲫģņ  )ZAddOrder (Abstract 'Integer 'Numbers #Coq@0wŸŁą:}H¬#NK}‚²{§  'ZAxioms (Abstract 'Integer 'Numbers #Coq@0«\ƒ}z¦K=P¹K†ō怠 %ZBase (Abstract 'Integer 'Numbers #Coq@0 TL}2„ł—_Ē} Ų  %ZBits (Abstract 'Integer 'Numbers #Coq@0ńܹż¤C¢F¦5ūsŃū  )ZDivFloor (Abstract 'Integer 'Numbers #Coq@0Įd¹jˆļ_TYQ›c‡|  )ZDivTrunc (Abstract 'Integer 'Numbers #Coq@0É`]f±ģØÜ5™üķFŌ  $ZGcd (Abstract 'Integer 'Numbers #Coq@0°ŒÆņGõį0=„扠 $ZLcm (Abstract 'Integer 'Numbers #Coq@0(9ó‡ģg¦Æ%MØōmN]ų  #ZLt (Abstract 'Integer 'Numbers #Coq@0†xK|j2[&æĀ=¾}šŪ  'ZMaxMin (Abstract 'Integer 'Numbers #Coq@0³¤¶ųbģ©AźŁęĄX1ž  $ZMul (Abstract 'Integer 'Numbers #Coq@0Mč‰ótrÓ\bŚß"H   )ZMulOrder (Abstract 'Integer 'Numbers #Coq@0Dr~-~ķÖĒżĘEC€MŽ  'ZParity (Abstract 'Integer 'Numbers #Coq@0»S)“…¹¼į*„•Dd  $ZPow (Abstract 'Integer 'Numbers #Coq@0Aşų•¢ō”ĮsאIŠ  +ZProperties (Abstract 'Integer 'Numbers #Coq@0ļVe*Źž_½†OVöś  'ZSgnAbs (Abstract 'Integer 'Numbers #Coq@0ŽÓŅ’2`ou{µāZ”A€   "_3 9.zć"<-  "_4 9.zć"->   õ 2 QĄ@@‘@@  "_7 Ą¢ø   ką@A@@@@  ‘  @@@@  "_8 2Mģ ‘ ĮBB@A  "_9 '` oŠ@‘B 'Z_scope @ ’ ¼ ’ °@  #_10 ü @ą°^  ^@  ^A@ ‘ ^ @A ‘ ^ A@&_ ^^ _ @ Ą°^   @A  ”  "^^ ” @@@ „‘@  @ A@  @– A@  @”#^^   @ BA@@@@  #_11 %cö?š@'Z_scope    ²  R@@   Æ  W@@@¢‘ Ū ‘ 树 ¹@@@@ @   €@&x ^^ y   Ń 2 QĄ@@’A@  #_12 Ą¢ø  Š÷ ‡@ Ü$pŠŪą@A@@@@  ‘„@  #_13 2Mģ ‘   #_14 '` oŠ@‘D .function_scope  .positive_scope ‹@ A A ’ ³ ’ <@   o 2 QĄ@@’A@  #_15 Ą¢ø  Š÷ ŗ@ z7 „ą@A@@@@  ‘·@  #_16 2Mģ ‘   #_17 '` oŠ@‘B . ø@ ’ Ü ’ t@   R 2 QĄ@@’A@  #_18 Ą¢ø  Š÷ ć@ ]gåŠą@A@@@@  ‘ą@  #_19 2Mģ ‘   #_20 '` oŠ@‘B ß į@ ’ 𠐒 Ž@   V 2 QĄ@@’A@  #_21 Ą¢ø  Š÷ @ aŖą@A@@@@  ‘ @  #_22 2Mģ ‘   #_23 '` oŠ@‘A @ ’ Į@   Y 2 QĄ@@’A@  #_24 Ą¢ø  Š÷ 0@ d 'ą@A@@@@  ‘-@  #_25 2Mģ ‘   #_26 '` oŠ@‘C , . @@ ’ 蠐’ 렐‘ u@   B 2 QĄ@@’A@  #_27 Ą¢ø  Š÷ ]@ M{:µą@A@@@@  ‘Z@  #_28 2Mģ ‘   #_29 '` oŠ@‘C Y [ @@ ’  ’  ‘ ^@   H 2 QĄ@@’A@  #_30 Ą¢ø  Š÷ Š@ S1ϲą@A@@@@  ‘‡@  #_31 2Mģ ‘   #_32 '` oŠ@‘B ž @ ’ c ’ f@@@®%żŃā TĘ*Ä9ŹŁŹ·“b󄕦¾@e¢¾5lėfĻ«t0j¶[÷c„•¦¾@§7i ŁĪ“š E‹ąÆ§”ÕcE„•¦¾@rģ·ÆoF_ŸE݁Į'ūvŒ„•¦¾1B𐑷!f¶!x›  Š÷ 'BinNums 'Numbers #Coq@@!Z7—Ž@€ ·"Hf¶¶!y©›  Š÷ %Logic $Init@"eqŠ @€°!©š ”Š÷¢ &BinInt &ZArith" @#mul1PĒ]Š÷¢ )BinIntDef&@ ¬€ ©CBA©© ·!p›  Š÷?@(positive*Ą‘@€©š Š÷E@,positive_ind?™øU€Š·¶!kP©<°R©š ”Š÷¢ &BinPos &PArithS#Pos@$iter=(TœŠ÷¢ )BinPosDef @#Q¦™€ĄeE/0©E ©Ąj©œ  lB€œ  1C€<;·64·#IHp)µ·*xȐ!g©)Ą}FJ~©š Š÷i@(eq_ind_r!¼2#€ą…©d P©5Ą‰GTD·!zŽ©z°©H\©r ©©EĄ™c4e©ą›©z fg·ž©а ©h©#ࣩ‚ nn·¦©’°Ø©©‰ v©‹ xz©  |©2಩*©“ €·+·©£°¹‚©;ą»·0¼©ذ¾.©.©Ÿ ©” ŽŽ©œ  ±A€ É©Ø ”0©š Š÷Ŗ@)mul_assoc <)'€°››œ©± ©L3 ©Z"©…ĄŁP¢O©¦HS§©ˆĄÜSUR©©WC¶‘ß©˰į©Ąćf¬©œ  ¦A€“©Ē ©˜Ąģo‚ µ·°®·z”µ·¢šČxvń©sąón·hō©ą°öæ©Õ aÄ©ząś_·oū©ē°żĆ©ą’\·t©ģ°X©į ĶŠ©†ąR·{©ó° ŅI©E  WB@42„Ų1/C¶¾ ©ų°©¼Ą“Ł©œ  ÓB€-©ó ©ÄĄ›®įµ·Ģ©œą©“©ż ¶é·•!© °#©æļķ©¦ą&ļ·›'©°)©Å˜©f ,©£›©š Š÷ @'mul_1_l5ĀD€”© ©¬Ķ©C¶ė9©%°;©éĄ=³Ī© ©ķĄA·×Ņ  ‘·©’Š· ¶!aJ©6°L©š ”Š÷ś@'iter_op5€aŠ÷ó@©³ €ĄT2±©3 © ĄX6"!··ęµ·\©Žą^©= ©Ąb@.æ·×c©O°e©D „0©F ©H 5©ĄmKć«©ļąo©N ©P <·čt©`°v?©² x ©W ×©š Š÷Y@,mul_shuffle1.Væč€ĄJJ!!©5ĄƒaO©b āā©P±C¶?‡©s°‰©=Ą‹iØč©j ©AĄm¬X·SQ·Jµ·K“C¶L”©€°–©JĄ˜vˆõ©w ©NĄœzŒeµ·Vž©Ś  żC¶Y”©°£©WĄ„ƒ6©„ ©[Ą©‡:rr‘·d¬·!bÆĶŠÆ@°@AA°@AA°@°@ @@ @@D·,ø©¤°ŗ©š Š÷ (Zpow_alt˜@*Zpower_altžPż€ ©š ”Š÷£@#pow1PĖ1Š÷@ ÆŲ€”°© Ī©  šœ  ŃA€·—•µ©ą·›™¶‘Ł©ŰŪ…©‰ĄŻ©¼LtØ·¢ ·lµ·šāȐ!H©gąē©Ę ©—Ąė··`ģ©Ų°īƒ·©pąš©Ļ ©¦ĄōŅĄ½·iõ©į°÷Ą©Ö ©§Ąū©ŚĒ’r©~ąž·s’©ė°^ ©= ©Īr¤©š Š÷J@/Piter_op_square7 „€G©øĄ /#Ų©š Š÷R@-Piter_mul_acc$pŠŪ€Ą6··©š Š÷@&eq_sym £Xų€Ą©ū źä©ż ©’ īģė©W°šīķš;©°&Ę©ČE©d *ō©°,öö©·K©°0üü·"H0©°5©éĄ7ŗ© ÆÆ©ēĄ;©³©ėĄ?ÕĀĀ©š Š÷*@(eq_trans!Ņyķ€ąF©š € 橚 ż€ĄP Ē©  ķķ ©  署 ł€ĄY©ö©Ą]óŌŌ©š Š÷H@'f_equal=°¹€ą¶Seee·k©0©Ąj#Ł©$ ļ難  ©ąpp%9ŽŽC¶)q©]°sę©!Ąu˜ ’·97·Ÿµ·1y”C¶2z©f°|ā©*Ą~”nµ·8€©ą‚K·÷ƒ©o°…ON©Į ‡P©f R©š Š÷h@'mul_1_r5ĀJ€żC¶H©|°’ė©@Ą”·*%]`C©€°–©Ü d©.©Õ·^\©× ©Ł k©œ  ”C€‘·!nØ©ä Ŗ@‘·e­·®Ķ’·$°¶@©š Š÷@"le1P,ö€ č©¤°ŗ© 2©š ”Š÷›@$succ1\ŚwŠ÷•@ 怎©¢ ;©  =‘°·"Hb© żżµ©PąŠœ·EŃ©½°ÓIœ© Õ”©“ £m©NńC©İŚ©  Ø© ©½ ¬©& ®·6¤·©3 Nµ©iąŖ©š ”Š÷—@-=)a¾Š÷@.#R³»€ŗ·³±©ܰņ©¦Ąōҽ©Ó ‘©ŖĄųÖÄ“©ząś©Ł r©°ĄžÜČt·s’©ė°Ź ©=  ©·Ąć{©š Š÷³@,iter_op_succA™Į€Š ź@Ö‚©š ”Š÷ŗ@#add=