"`$6„•¦¾$¢£° %FMaps %FSets #Coq@œ -OrderedTypeEx *Structures #Coq@ .OrderedTypeAlt *Structures #Coq@ /DecidableTypeEx *Structures #Coq@ +Ring_theory +setoid_ring #Coq@ )Ring_base +setoid_ring #Coq@ +InitialRing +setoid_ring #Coq@ +ListTactics %Lists #Coq@ (Ring_tac +setoid_ring #Coq@ $Ring +setoid_ring #Coq@ *ZArithRing +setoid_ring #Coq@ ,FMapPositive %FSets #Coq@ $Bool  #Coq@ -DecidableType *Structures #Coq@ $List %Lists #Coq@ &Sorted 'Sorting #Coq@ 4Relation_Definitions )Relations #Coq@ -SetoidTactics 'Classes #Coq@ &Setoid 'Setoids #Coq@ &Basics 'Program #Coq@ *SetoidList %Lists #Coq@ $Init 'Classes #Coq@ /RelationClasses 'Classes #Coq@ )Morphisms 'Classes #Coq@ )OrdersTac *Structures #Coq@ +OrderedType *Structures #Coq@ -FMapInterface %FSets #Coq@ )FMapFacts %FSets #Coq@ ,FMapWeakList %FSets #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@ (FMapList %FSets #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  'Prelude $Init #Coq@0JŸĄqƒTttś‚ŚÖ±  &Basics 'Program #Coq@0!bŒs߯…?Į÷ :žVU  $Init 'Classes #Coq@0ń]Ž(įÅpł¾˜{yOh.  'Tactics 'Program #Coq@03<ør°å“ü’v Į‚„T  0CRelationClasses 'Classes #Coq@0˜TL;0RŖUfw1  4Relation_Definitions )Relations #Coq@0]§4©Š€źådõ{nœ^’  *CMorphisms 'Classes #Coq@0ōqž€Ėی­óZ‚×BeĻ  /RelationClasses 'Classes #Coq@0Gāzŗ² „©éćrźAŗ6Õ  )Morphisms 'Classes #Coq@0IĻmÓ½%\$PDøƒŠ  .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–\ņĶ—Ą  *NumPrelude 'Numbers #Coq@0Į5WUVŦö]ÅxVXŻįŌ  )OrdersTac *Structures #Coq@0Ó5'4Ō–+÷čó9čēĆ%  +OrdersFacts *Structures #Coq@05MÜæčēĪ¶öĪ–LB  -GenericMinMax *Structures #Coq@0įÅĮ‡ÆŌmßåj$Š  (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Įš““šµI‰“ž  +Relations_1 $Sets #Coq@0k<×⪚(“тcŁ1  &Sorted 'Sorting #Coq@0”Ńbåöb®øŽž„1zŁ  *SetoidList %Lists #Coq@0k€ēŖŖŠĪūš¦ÜøqS  +OrderedType *Structures #Coq@0#73t1E ¾i‘ŒšWĒ  'BinNums 'Numbers #Coq@0dmk(Ö5æ³Juōõ€<  *EqdepFacts %Logic #Coq@0FI$įͼՋ„½”`  )Eqdep_dec %Logic #Coq@0u ėĻwWIϰ—ß¼  )BinPosDef &PArith #Coq@0˜÷€}HŲ ų¦d.›%ž,b  &BinPos &PArith #Coq@0ļævÅyŲ»‰”¢0=» u  )BinNatDef &NArith #Coq@03²@1äO–,™ę[€²{   &BinNat &NArith #Coq@0ŖŖ„ĘŻK˜õ11üڤs+Ī  $Pnat &PArith #Coq@0—,?«pr¾.‘ś›gõZ‰  'ZAxioms (Abstract 'Integer 'Numbers #Coq@0«\ƒ}z¦K=P¹K†ō怠 %ZBase (Abstract 'Integer 'Numbers #Coq@0 TL}2„ł—_Ē} Ų  $ZAdd (Abstract 'Integer 'Numbers #Coq@0YĖÅŪ9Vægⲫģņ  $ZMul (Abstract 'Integer 'Numbers #Coq@0Mč‰ótrÓ\bŚß"H   #ZLt (Abstract 'Integer 'Numbers #Coq@0†xK|j2[&æĀ=¾}šŪ  )ZAddOrder (Abstract 'Integer 'Numbers #Coq@0wŸŁą:}H¬#NK}‚²{§  )ZMulOrder (Abstract 'Integer 'Numbers #Coq@0Dr~-~ķÖĒżĘEC€MŽ  'ZMaxMin (Abstract 'Integer 'Numbers #Coq@0³¤¶ųbģ©AźŁęĄX1ž  'ZSgnAbs (Abstract 'Integer 'Numbers #Coq@0ŽÓŅ’2`ou{µāZ”  'ZParity (Abstract 'Integer 'Numbers #Coq@0»S)“…¹¼į*„•Dd  $ZPow (Abstract 'Integer 'Numbers #Coq@0Aşų•¢ō”ĮsאIŠ  )ZDivTrunc (Abstract 'Integer 'Numbers #Coq@0É`]f±ģØÜ5™üķFŌ  )ZDivFloor (Abstract 'Integer 'Numbers #Coq@0Įd¹jˆļ_TYQ›c‡|  $ZGcd (Abstract 'Integer 'Numbers #Coq@0°ŒÆņGõį0=„扠 $ZLcm (Abstract 'Integer 'Numbers #Coq@0(9ó‡ģg¦Æ%MØōmN]ų  %ZBits (Abstract 'Integer 'Numbers #Coq@0ńܹż¤C¢F¦5ūsŃū  +ZProperties (Abstract 'Integer 'Numbers #Coq@0ļVe*Źž_½†OVöś  )BinIntDef &ZArith #Coq@0÷Ć„dÖŲR4ŖTuyÆ  &BinInt &ZArith #Coq@0ŃBpHÖŽžun›ץ^  $Mult %Arith #Coq@0Ņķ––›QĮĶyb¬»0  (Zcompare &ZArith #Coq@0'‚ҤÓjŽœI€õ=Dæ  'Between %Arith #Coq@06Ļv*ƒ0żuōrė`ČC0  )Peano_dec %Arith #Coq@0ĶÉėKŅŻ¢*Šń÷˜™k  +Compare_dec %Arith #Coq@0žjµXņČēF ź8Ŗ•æū  )Factorial %Arith #Coq@0@čoĖŲŌĆehJŽdā  %EqNat %Arith #Coq@0ÆAŚIgČՋXRŸĢV ö  &Wf_nat %Arith #Coq@0UJ‹X AJ›«£•hO  *Arith_base %Arith #Coq@0ģĔ}C¦”‰ŌėÆåŠS  &Zorder &ZArith #Coq@0fVkß.”›ćBĆG)˜½  %Zeven &ZArith #Coq@0i?ŗeK³#ÉŪ“„a«Uå  #Min %Arith #Coq@0Cé×e¬ˆ-Fѕę  (PreOmega %omega #Coq@0²\Øļ|چBb½~wŻ4™  %Omega %omega #Coq@0tČ.J'6\ĻØøĘrK  ,Zcomplements &ZArith #Coq@0Åźģ<¹n. øē“?  &Zpower &ZArith #Coq@0+ŠlóTvŽ1 Åq…ÆĘ  $Zdiv &ZArith #Coq@0¤ghĢóoŸ4S»‚ūŗ  *Zlogarithm &ZArith #Coq@0–¾©|ēōP“Ūļ§#Ża²r  &ZArith  #Coq@0ó¹ß“Ś#¶³šņҤĖŠ  (Ndiv_def &NArith #Coq@0źŃAöåU¼|Ś£ŲT•uó  )Nsqrt_def &NArith #Coq@0W5¼–8pG¦*õ~W-Gø  (Ngcd_def &NArith #Coq@0O„LüŪM§äąP"^eįš  #Fin 'Vectors #Coq@0±r'Ÿgް؅ū©/×ø  )VectorDef 'Vectors #Coq@0]iČÜ>ž¼3 ÅžŁ  *VectorSpec 'Vectors #Coq@0żšGyKöź5%l‰æ6śL  (VectorEq 'Vectors #Coq@0#¶'`Ō¶Ślžøxj½ĘöT  &Vector 'Vectors #Coq@0_ċ„|"ų¦ųīɅh©z  'Bvector $Bool #Coq@0©żé,r¢ŽO3ó^~  'Ndigits &NArith #Coq@04  -FMapInterface %FSets #Coq@0 •«³ÓĻm »£#墠A0®r7=­õ‡ LTZ̽ å0%ž«ģ½į@×īkō°  *Extraction *extraction #Coq@0DJīÉūS.~°XtĶ=å  &FunInd &funind #Coq@0ŃI–²µØ#ī«ÉAĄØ0 ō0Ž“ōŌ,Œ:r6˜  [ J @B ŠŠŠ@¢¢ ,FMapPositive %FSets #Coq@+PositiveMap!E¢ -OrderedTypeEx *Structures #Coq@7PositiveOrderedTypeBits@A¢ /DecidableTypeEx *Structures #Coq@'N_as_DT¢ -OrderedTypeEx *Structures #Coq@'N_as_OT@B¢)Nat_as_DT¢ )Nat_as_OTŠŠ@¢.Positive_as_DT¢.Positive_as_OT@A¢ &Vector 'Vectors #Coq@/VectorNotations¢ )VectorDef 'Vectors #Coq@ Š@¢.'Z_as_DT¢''Z_as_OT@ABCŠŠŠŠŠŠŠŠ@"OēŠ@Š÷¢ (PeanoNat %Arith #Coq@#Nat@&of_int"Oē‘Š÷ #Nat $Init #Coq@@ Ś6ž@A@A\¼Š@Š÷¢ &BinInt &ZArith #Coq@!Z@'quotrem\¼‘Š÷¢ )BinIntDef &ZArith #Coq@!Z@ / Å@AŠŠ@›\Š@Š÷@+pred_double›\‘Š÷@/S@æ@A@A¾s2Š@Š÷3@&shiftl¾s2‘Š÷*@vYé@A@BC¾s8Š@Š÷8@&shiftr¾s8‘Š÷/@vYļ@AŠŠ@ѓŠ@Š÷?@&squareѓ‘Š÷6@‰yĢ@A@AńĻŠ@Š÷D@&to_intńĻ‘Š÷;@©†@AŠŠ@ūźzŠ@Š÷6@&doubleūźz‘Š÷-@/³Ļ!@A@AĄąŠ@Š÷o@(nth_map2Ąą‘Š÷ *VectorSpec 'Vectors #Coq@@ 8"›³@AŠ@ĒžŠ@Š÷|@*fold_left2Ēž‘Š÷v@6ōU@AŠ@"WŠ@Š÷‚@*fold_right"W‘Š÷|@6N®@A@ABCDE/­Š@Š÷h@)log2_iter/­‘Š÷_@ēwd@AŠŠŠ@NH/Š@Š÷[@&moduloNH/‘Š÷R@1,Ö@A@A‡\dŠ@Š÷`@&of_int‡\d‘Š÷W@1?A @AŠ@‡bzŠ@Š÷f@&of_nat‡bz‘Š÷]@1?G!@AŠ@#ÆŠ@Š÷l@&shiftl#ƑŠ÷c@1ŪdV@AŠ@#µŠ@Š÷r@&shiftr#µ‘Š÷i@1Ūd\@A@ABCD/xīŠ@Š÷¢ &BinPos &PArith #Coq@#Pos@)pred_mask/xī‘Š÷¢ )BinPosDef &PArith #Coq@#Pos@ )XŹė@AŠŠŠ@6Ÿ’Š@Š÷‘@&square6Ÿ’‘Š÷ˆ@1ī„9@A@AV+LŠ@Š÷–@&to_intV+L‘Š÷@2ó@AŠ@V1bŠ@Š÷œ@&to_natV1b‘Š÷“@2 @AŠ@V5=Š@Š÷¢@&to_posV5=‘Š÷™@2ä@A@ABCl»ƒŠ@Š÷¼@)sqrt_iterl»ƒ‘Š÷³@!$¢:@AŠ@…@Š@Š÷6@(sub_mask…@‘Š÷-@)®’@A@ADEF  cŠ@Š÷Ē@'testbit  c‘Š÷¾@!ć@AŠŠŠŠ@7 BŠ@Š÷D@'of_uint7 B‘Š÷;@*`]?@A@AÖóGŠ@Š÷I@)mask_rectÖóG‘Š÷@@+ED@AŠ@F˱Š@Š÷O@)add_carryF˱‘Š÷F@+p®@AŠ@Kø5Š@Š÷@*Forall_indKø5‘Š÷ś@9MäŒ@AŠ@X‰Š@Š÷@/shiftrepeat_nthX‰‘Š÷—@;éł\@A@ABCD^ҶŠ@Š÷ģ@'to_uint^Ҷ‘Š÷ć@#¹m@AŠŠ@gL7Š@Š÷Ž@'sqrtremgL7‘Š÷Õ@40Ž@A@Aq¬ąŠ@Š÷ć@'testbitq¬ą‘Š÷Ś@5)‘‡@A@BEū«Š@Š÷@-replace_orderū«‘Š÷@:ż×k@AŠŠŠŠŠ@2s›Š@Š÷&@,shiftin_last2s›‘Š÷·@=ÄNn@A@AxYeŠ@Š÷+@!txYe‘Š÷%@;z…¼@A@Bx^ŹŠ@Š÷0@"Inx^Ź‘Š÷*@;z‹!@AŠŠ@xa Š@Š÷7@"hdxa ‘Š÷1@;zd@A@AxałŠ@Š÷<@"tlxał‘Š÷6@;zŽP@A@BCxš#Š@Š÷A@#eqbxš#‘Š÷ (VectorEq 'Vectors #Coq@@ /„«@AŠŠ@xš[Š@Š÷O@#etaxš[‘Š÷ą@> Ė.@A@AxśIŠ@Š÷T@#mapxśI‘Š÷N@;{& @A@BDxżŠ@Š÷Y@#nthxż‘Š÷S@;{)j@AŠŠŠŠŠ@yØŠ@Š÷c@#revyؑŠ÷]@;{-’@A@AƒG8Š@Š÷h@$castƒG8‘Š÷'@/ÆYĄ@A@B„8[Š@Š÷m@$last„8[‘Š÷g@;†d²@AŠ@„R«Š@Š÷s@$map2„R«‘Š÷m@;†@AŠ@… Š@Š÷y@$take… ‘Š÷s@;‡:c@A@ABCŻŽOŠ@Š÷J@+succ_doubleŻŽO‘Š÷A@6•rö@AŠŠ@HIŠ@Š÷…@%case0HI‘Š÷@Ć@AŠ@ ”‘Š@Š÷x@$even ”‘‘Š÷o@>4Ü@A@ACD “ŠŠ@Š÷}@$ggcd “Š‘Š÷t@>U@AŠŠŠŠ@ üļŠ@Š÷†@$iter üļ‘Š÷}@>:@A@A 3"Š@Š÷‹@$land 3"‘Š÷‚@>Óm@AŠ@ F)Š@Š÷‘@$log2 F)‘Š÷ˆ@>ęt@A@AB S²Š@Š÷–@$lxor S²‘Š÷@>óż@AŠ@ µœŠ@Š÷œ@$pred µœ‘Š÷“@?Uē@A@AC śÜŠ@Š÷”@$size śÜ‘Š÷˜@?›'@AŠŠŠ@ !›Š@Š÷©@$sqrt !›‘Š÷ @?„ę@A@A ! Š@Š÷®@$succ ! ‘Š÷„@?Ŗ\@AŠŠ@ !°7Š@Š÷µ@$zero !°7‘Š÷¬@@P‚@A@A ö*ØŠ@Š÷ŗ@%ldiff ö*ؑŠ÷±@Źó@AŠŠ@ ’OėŠ@Š÷z@,take_prf_irr ’Oė‘Š÷ @‘*¾@A@A gć_Š@Š÷Ō@+pred_double gć_‘Š÷Ė@2‘5\@AŠ@ q‘šŠ@Š÷…@(take_app q‘š‘Š÷@lm@A@ABCD ¼§mŠ@Š÷ß@÷ ¼§m‘Š÷Ö@2åłj@AŠŠ@ ½ÜĆŠ@Š÷‘@+Exists2_ind ½ÜƑŠ÷‹@Ą @AŠ@ åkąŠ@Š÷—@'nth_map åką‘Š÷(@wF³@A@ABS櫊@Š÷ń@&of_intSć«‘Š÷č@4}5Ø@AŠ@SéĮŠ@Š÷÷@&of_natSéĮ‘Š÷ī@4};¾@A@ACEFGJ\R“Š@Š÷ü@(mask_ind\R“‘Š÷ó@4…¤±@AŠŠŠŠŠ@\^¹Š@Š÷@(mask_rec\^¹‘Š÷ż@4…°¶@A@A€Å©Š@Š÷¶@*Exists_ind€Å©‘Š÷°@‚ņ@AŠŠ@‘Ē›Š@Š÷½@'of_list‘Ē›‘Š÷·@“óņ@A@A’!,Š@Š÷@&pred_N’!,‘Š÷@4»s)@A@BCšöŠ@Š÷@&shiftlšö‘Š÷@5Xó@AŠŠ@šüŠ@Š÷#@&shiftršü‘Š÷@5Xł@A@A&ŁŠ@Š÷(@&square&Ł‘Š÷@5,xÖ@A@BD"²“Š@Š÷-@&to_int"²“‘Š÷$@5L@AŠŠŠ@"ø©Š@Š÷5@&to_nat"ø©‘Š÷,@5L ¦@A@AnTqŠ@Š÷:@+testbit_natnTq‘Š÷1@6—¦n@AŠŠ@©B¦Š@Š÷3@(succ_pos©B¦‘Š÷*@Ēāń@AŠ@¶ĖIŠ@Š÷¾@'abs_nat¶ĖI‘Š÷µ@?nÆš@A@AB.³•Š@Š÷>@'of_uint.³•‘Š÷5@MSą@AŠ@3Ó~Š@Š÷R@'sqrtrem3Ó~‘Š÷I@7]%{@A@ACD,ķŠ@Š÷ć@'bitwise,ķ‘Š÷Ś@/äv¤@AŠŠŠ@>4'Š@Š÷_@'testbit>4'‘Š÷V@8g†$@AŠ@d;ćŠ@Š÷@*rev_appendd;摩÷ @fh:@A@AB„{UŠ@Š÷j@,sqrtrem_step„{U‘Š÷a@8­ĶR@AŠŠ@šu^Š@Š÷c@(div_euclšu^‘Š÷Z@ ¹©@A@A”›uŠ@Š÷!@&Exists”›u‘Š÷@£ĒĢ@AŠ@¶UAŠ@Š÷'@&Forall¶UA‘Š÷!@ø˜@AŠ@#æNŠ@Š÷-@&In_ind#æN‘Š÷'@%ė„@A@ABCDfzŠ@Š÷‡@'to_uintfz‘Š÷~@9¹øw@AŠŠŠ@ĪlŠ@Š÷@'compareĪl‘Š÷@3†RŠ@A@A“AŠ@Š÷?@&append“A‘Š÷9@ ¶mę@AŠ@āL9Š@Š÷E@&caseS'āL9‘Š÷?@ äx@A@AB÷WŻŠ@Š÷J@'replace÷WŻ‘Š÷D@ ł„4@AŠ@K–Š@Š÷P@&eq_decK–‘Š÷@?wؤ@AŠ@Kß~Š@Š÷V@&eqb_eqKß~‘Š÷@?wņ@AŠ@MĚŠ@Š÷\@)nth_orderM̑Š÷V@ Ošń@A@ABCDEFGs¦8Š@Š÷B@+of_uint_accs¦8‘Š÷9@5+Œļ@AŠŠŠŠŠŠ@«Š@Š÷l@3to_list_of_list_opp«‘Š÷ż@<šį@A@AöĄ}Š@Š÷ø@,pos_div_euclöĄ}‘Š÷Æ@&`Č@AŠ@3x–Š@Š÷C@'compare3x–‘Š÷:@ė]=@AŠ@`…<Š@Š÷}@&t_rect`…<‘Š÷w@ b±“@AŠ@cĆ`Š@Š÷ƒ@&take_OcĆ`‘Š÷@õž3@A@ABCDĄŠ@Š÷Ļ@&doubleĄ‘Š÷Ę@'Žŗ_@AŠŠ@(¬Š@Š÷@'shiftin(¬‘Š÷‰@*I@A@AūqšŠ@Š÷é@+of_succ_natūqš‘Š÷ą@$Ćķ@AŠ@wÉŠ@Š÷į@&modulowɑŠ÷Ų@)1@A@ABEK‹žŠ@Š÷ę@&of_intK‹ž‘Š÷Ż@)j,I@AŠŠŠ@K’Š@Š÷ī@&of_natK’‘Š÷å@)j2_@AŠ@ˆHļŠ@Š÷­@'Exists2ˆHļ‘Š÷§@ŠuF@A@ABēÆIŠ@Š÷ł@&shiftlēÆI‘Š÷š@*O”@AŠ@ēÆOŠ@Š÷’@&shiftrēÆO‘Š÷ö@*Oš@A@ACśĻ,Š@Š÷@&squareśĻ,‘Š÷ū@*ow@AŠ@ZęŠ@Š÷ @&to_intZꑩ÷@*8ū1@A@ADF`üŠ@Š÷@&to_nat`ü‘Š÷@*9G@AŠŠŠŠ@Š@Š÷Ń@'Forall2‘Š÷Ė@?j@A@AeüÄŠ@Š÷@+testbit_nateüđŠ÷@+„@AŠ@ĶŻ'Š@Š÷Ü@+Forall2_indĶŻ'‘Š÷Ö@Š ~@AŠ@ė"ÓŠ@Š÷ā@'to_listė"ӑŠ÷Ü@ķO*@A@ABC+{ŃŠ@Š÷.@'sqrtrem+{ёŠ÷%@,J@AŠŠ@“Š@Š÷ī@0shiftrepeat_last“‘Š÷@„Žš@A@A5ÜzŠ@Š÷:@'testbit5Üz‘Š÷1@-T|Å@A@BD ˆĶŠ@Š÷?@'to_uint ˆĶ‘Š÷6@.¦Æ@AŠŠŠ@ ”½éŠ@Š÷G@+succ_double ”½é‘Š÷>@.Ą^4@A@A!lšKŠ@Š÷@)const_nth!lšK‘Š÷–@žĖ@AŠŠ@!KµŠ@Š÷ @+fold_right2!Kµ‘Š÷@x @A@A#’’ŻŠ@Š÷f@'compare#’’Ż‘Š÷]@ )QŚ@AŠ@$”ōšŠ@Š÷@8fold_left_right_assoc_eq$”ōš‘Š÷Ø@3ĻĆ@A@ABC%t2óŠ@Š÷q@(size_nat%t2ó‘Š÷h@ „š@AŠŠ@%„9üŠ@Š÷x@+of_uint_acc%„9ü‘Š÷o@ Ī‹ł@A@A%¼„VŠ@Š÷}@+double_mask%¼„V‘Š÷t@ åÖS@AŠ@%ö‘%Š@Š÷ƒ@'div2_up%ö‘%‘Š÷z@ ć"@AŠ@%ųR„Š@Š÷4@)take_idem%ųR„‘Š÷Å@Š-W@A@ABCDEG'ÅŸŠ@Š÷Ž@'Ndouble'ÅŸ‘Š÷…@ «œ@AŠŠŠŠ@(KŒ|Š@Š÷B@*eqb_nat_eq(KŒ|‘Š÷@wŸ@A@A(bē0Š@Š÷œ@*shiftl_nat(bē0‘Š÷“@Œ9-@A@B(nՖŠ@Š÷”@*shiftr_nat(nՖ‘Š÷˜@˜'“@AŠŠ@(‘ĶŠ@Š÷Ø@0succ_double_mask(‘Ķ‘Š÷Ÿ@»@A@A*W$Š@Š÷­@,compare_cont*W$‘Š÷¤@€ļ!@AŠŠ@*ƒąŠ@Š÷_@(cons_inj*ƒą‘Š÷š@!ī³@AŠ@*ƒéAŠ@Š÷e@(shiftout*ƒéA‘Š÷_@†˜@A@AB.„0—Š@Š÷æ@.sub_mask_carry.„0—‘Š÷¶@Ī‚”@A@CDE.ė„Š@Š÷P@!t.ė„‘Š÷G@ ¢’;@AŠŠ@.먩Š@Š÷W@#add.먩‘Š÷N@ £`@A@A.ė­UŠ@Š÷\@#div.ė­U‘Š÷S@ £” @AŠŠ@.ėÆBŠ@Š÷c@#eqb.ėÆB‘Š÷Z@ £•ł@A@A.ė± Š@Š÷h@#gcd.ė± ‘Š÷_@ £—Ć@AŠ@.ėø=Š@Š÷n@#leb.ėø=‘Š÷e@ £žō@A@ABCFHIK.ė¹ Š@Š÷s@#lor.ė¹ ‘Š÷j@ £ŸĀ@AŠŠŠŠŠŠŠŠ@.ė¹ZŠ@Š÷€@#ltb.ė¹Z‘Š÷w@ £ @A@A.ė¹pŠ@Š÷…@#max.ė¹p‘Š÷|@ £ '@A@B.ė¹žŠ@Š÷Š@#min.ė¹ž‘Š÷@ £ µ@AŠ@.ėŗąŠ@Š÷@#mul.ėŗą‘Š÷‡@ £”—@A@AC.ė¼gŠ@Š÷•@#odd.ė¼g‘Š÷Œ@ ££@AŠŠ@.ė½&Š@Š÷œ@#one.ė½&‘Š÷“@ ££Ż@A@A.뾓Š@Š÷”@#pow.뾓‘Š÷˜@ £„k@AŠ@.ėĆLŠ@Š÷§@#sub.ėĆL‘Š÷ž@ £Ŗ@AŠ@.ėÄčŠ@Š÷­@#two.ėÄ葩÷¤@ £«Ÿ@A@ABCD.ö,aŠ@Š÷²@$div2.ö,a‘Š÷©@ ®@AŠŠŠ@.öXzŠ@Š÷ŗ@$even.öXz‘Š÷±@ ®?1@A@A.öĄŲŠ@Š÷æ@$iter.öĄŲ‘Š÷¶@ ®§@A@B.ö÷ Š@Š÷Ä@$land.ö÷ ‘Š÷»@ ®ŻĀ@AŠ@.÷ Š@Š÷Ź@$log2.÷ ‘Š÷Į@ ®šÉ@A@ACE.÷›Š@Š÷Ļ@$lxor.÷›‘Š÷Ę@ ®žR@AŠŠ@.÷y…Š@Š÷Ö@$pred.÷y…‘Š÷Ķ@ Æ`<@A@A.÷ɄŠ@Š÷Ū@$sqrt.÷Ʉ‘Š÷Ņ@ ư;@AŠŠ@.÷ĶśŠ@Š÷ā@$succ.÷Ķś‘Š÷Ł@ Æ“±@AŠ@.ųt Š@Š÷č@$zero.ųt ‘Š÷ß@ °Z×@A@AB/æŠ@Š÷ķ@.to_little_uint/摊÷ä@ 愾@A@CDF/Ģī‘Š@Š÷ņ@%ldiff/Ģī‘‘Š÷é@ „ÕH@AŠŠŠŠŠŠ@0÷Ø0Š@Š÷c@'compare0÷Ø0‘Š÷Z@?H{@A@A1P%Š@Š÷ķ@!t1P%‘Š÷ä@  Ø@A@B1PµŠ@Š÷ņ@#abs1Pµ‘Š÷é@ ™¶@AŠŠ@1Pµ&Š@Š÷ł@#add1Pµ&‘Š÷š@ ™Ķ@A@A1P¹ŅŠ@Š÷ž@#div1P¹Ņ‘Š÷õ@ žy@A@BC1P»æŠ@Š÷@#eqb1P»æ‘Š÷ś@  f@AŠŠŠ@1P½‰Š@Š÷ @#gcd1P½‰‘Š÷@ ¢0@A@A1P½­Š@Š÷@#geb1P½­‘Š÷@ ¢T@A@B1P¾ŹŠ@Š÷@#gtb1P¾Ź‘Š÷ @ £q@AŠŠ@1PÄŗŠ@Š÷@#leb1PÄŗ‘Š÷@ ©a@A@A1PňŠ@Š÷!@#lor1Pň‘Š÷@ Ŗ/@A@BCD1PÅ׊@Š÷&@#ltb1PÅבŠ÷@ Ŗ~@AŠŠŠŠ@1PÅķŠ@Š÷/@#max1PÅķ‘Š÷&@ Ŗ”@A@A1PĘ{Š@Š÷4@#min1PĘ{‘Š÷+@ «"@A@B1PĒ]Š@Š÷9@#mul1PĒ]‘Š÷0@ ¬@AŠŠ@1PČäŠ@Š÷@@#odd1PČ䑩÷7@ ­‹@A@A1PÉ£Š@Š÷E@#one1PÉ£‘Š÷<@ ®J@A@BC1PÉŌŠ@Š÷J@#opp1PÉŌ‘Š÷A@ ®{@AŠŠŠ@1PĖ1Š@Š÷R@#pow1PĖ1‘Š÷I@ ÆŲ@A@A1PĶ;Š@Š÷W@#rem1PĶ;‘Š÷N@ ±ā@A@B1PĪĖŠ@Š÷\@#sgn1PĪĖ‘Š÷S@ ³r@AŠŠ@1PĻÉŠ@Š÷c@#sub1PĻɑŠ÷Z@ “p@A@A1PŃeŠ@Š÷h@#two1PŃe‘Š÷_@ ¶ @A@BCDE1[8ŽŠ@Š÷m@$div21[8Ž‘Š÷d@ …@AŠŠŠŠ@1[d÷Š@Š÷v@$even1[d÷‘Š÷m@ Iž@A@A1[…6Š@Š÷{@$ggcd1[…6‘Š÷r@ iŻ@A@B1[ĶUŠ@Š÷€@$iter1[ĶU‘Š÷w@ ±ü@AŠŠ@1\ˆŠ@Š÷‡@$land1\ˆ‘Š÷~@ č/@A@A1\Š@Š÷Œ@$log21\‘Š÷ƒ@ ū6@A@BC1\$Š@Š÷‘@$lxor1\$‘Š÷ˆ@ æ@AŠŠŠŠ@1\YĆŠ@Š÷š@$of_N1\YƑŠ÷‘@ >j@A@A1\†Š@Š÷Ÿ@$pred1\†‘Š÷–@ j©@A@B1\„ÖŠ@Š÷¤@$quot1\„֑Š÷›@ Š}@AŠŠ@1\ÖŠ@Š÷«@$sqrt1\Ö‘Š÷¢@ ŗØ@A@A1\ŚwŠ@Š÷°@$succ1\Św‘Š÷§@ æ@A@BC1\ģkŠ@Š÷µ@$to_N1\ģk‘Š÷¬@ Ń@AŠŠŠ@1]€Š@Š÷½@$zero1]€‘Š÷“@ eD@A@A2ó:Š@Š÷Ā@%abs_N2ó:‘Š÷¹@ Ó×į@AŠ@21ūŠ@Š÷Č@%ldiff21ū‘Š÷æ@ éßµ@AŠ@2=½*Š@Š÷Ī@%quot22=½*‘Š÷Å@ õ”Ń@A@ABC2kŪFŠ@Š÷N@(size_nat2kŪF‘Š÷E@Š{‘@AŠŠ@3sÄ&Š@Š÷@*eq_nth_iff3sÄ&‘Š÷Ÿ@*žł@A@A3¦ŖŗŠ@Š÷ō@(tail_add3¦Ŗŗ‘Š÷ė@^‘q@A@BDEFGH3¦¼ńŠ@Š÷ł@(tail_mul3¦¼ń‘Š÷š@^£Ø@AŠŠŠŠŠ@5ZƒŠ@Š÷i@*shiftl_nat5Zƒ‘Š÷`@y/Ī@AŠ@5f}éŠ@Š÷o@*shiftr_nat5f}鑩÷f@…4@A@AB5€aŠ@Š÷‚@'iter_op5€a‘Š÷y@©³ @A@C6w~Š@Š÷@'of_uint6w~‘Š÷ @½^5@AŠŠŠ@6WŲ Š@Š÷:@)fold_left6WŲ ‘Š÷4@*Za@A@A8jƒūŠ@Š÷ @'of_uint8jƒū‘Š÷@'"h¢@AŠ@8„VåŠ@Š÷E@.nth_order_last8„V告÷Ö@/71ø@A@AB9ÖEÄŠ@Š÷@(div_eucl9ÖEđŠ÷ @(Ž*k@AŠŠ@:El’Š@Š÷Q@/rev_append_tail:El’‘Š÷K@.G˜é@A@A:Ęx°Š@Š÷«@,Nsucc_double:Ęx°‘Š÷¢@ ļŹ­@A@BCD<ŽK®Š@Š÷<@+tail_addmul<ŽK®‘Š÷3@F2e@AŠŠŠ@<±ń¾Š@Š÷/@'pos_sub<±ń¾‘Š÷&@+iÖe@AŠ@<¹įfŠ@Š÷5@'pow_pos<¹įf‘Š÷,@+qĘ @A@AB=¬HŠ@Š÷Ć@!t=¬H‘Š÷ŗ@#EžE@A@C=@#R³»@A@A=9RĖŠ@Š÷L@.to_little_uint=9RĖ‘Š÷C@#b¤Č@AŠŠ@=Y¼ÓŠ@Š÷ž@+shiftin_nth=Y¼Ó‘Š÷@3ė—¦@A@A=ōŲĶŠ@Š÷X@%ggcdn=ōŲĶ‘Š÷O@$*Ź@AŠ@=ž‚UŠ@Š÷^@%ldiff=ž‚U‘Š÷U@$'ŌR@A@ABCD>‹Š@Š÷ļ@&divmod>‹‘Š÷ę@CŌ@AŠŠ@>–ŻżŠ@Š÷ö@&double>–Żż‘Š÷ķ@NÄ“@AŠ@>›Š@Š÷@+shiftrepeat>›‘Š÷@2ŸĒY@A@AB?2ćŠ@Š÷ģ@,pos_div_eucl?2ć‘Š÷ć@-źuŠ@AŠ@?é;²Š@Š÷@&modulo?é;²‘Š÷ž@”"i@A@ACEFGIL@Ä  %Arith  #Coq@0I‰|ŠŗåX…*oŒš4Ąƒ  )ArithRing +setoid_ring #Coq@0ĻṔŒCgt‘Ä?µ}  *Arith_base %Arith #Coq@0ģĔ}C¦”‰ŌėÆåŠS  &Basics 'Program #Coq@0!bŒs߯…?Į÷ :žVU  'Between %Arith #Coq@06Ļv*ƒ0żuōrė`ČC0  &BinInt &ZArith #Coq@0ŃBpHÖŽžun›ץ^  )BinIntDef &ZArith #Coq@0÷Ć„dÖŲR4ŖTuyÆ  'BinList +setoid_ring #Coq@0žAƒƒŚŲu“š¹®Īģ  &BinNat &NArith #Coq@0ŖŖ„ĘŻK˜õ11üڤs+Ī  )BinNatDef &NArith #Coq@03²@1äO–,™ę[€²{   'BinNums 'Numbers #Coq@0dmk(Ö5æ³Juōõ€<  &BinPos &PArith #Coq@0ļævÅyŲ»‰”¢0=» u  )BinPosDef &PArith #Coq@0˜÷€}HŲ ų¦d.›%ž,b  $Bool  #Coq@0śŚj­ č2c·Z`FĖłW  'Bvector $Bool #Coq@0©żé,r¢ŽO3ó^~  *CMorphisms 'Classes #Coq@0ōqž€Ėی­óZ‚×BeĻ  0CRelationClasses 'Classes #Coq@0˜TL;0RŖUfw1  +Compare_dec %Arith #Coq@0žjµXņČēF ź8Ŗ•æū  # " !@0.iĆœ ¼bćYN —Zū  )Decidable %Logic #Coq@0įND‰ź±øķ’¬/•Ońß  -DecidableType *Structures #Coq@0k’ļO¶!³čāZ7Ž+¤æ  /DecidableTypeEx *Structures #Coq@0' ŹmŌ(ä©ńæk»×>4  'Decimal $Init #Coq@0C“ę¶³ēö¬ˆN€*ua  %EqNat %Arith #Coq@0ÆAŚIgČՋXRŸĢV ö  *EqdepFacts %Logic #Coq@0FI$įͼՋ„½”`  )Eqdep_dec %Logic #Coq@0u ėĻwWIϰ—ß¼  *Equalities *Structures #Coq@0όe·³æģ–Ÿż)ÅH‰.Č  +Equivalence 'Classes #Coq@0ĢĒīˆ7ĮƒŸŽ;ꮹŗ  *Extraction *extraction #Coq@0DJīÉūS.~°XtĶ=å  )FMapFacts %FSets #Coq@0%ž«ģ½į@×īkō°  -FMapInterface %FSets #Coq@0 •«³ÓĻm »£#墠 (FMapList %FSets #Coq@0’[ŌĒ¬ļezÄķד9Ž u0®r7=­õ‡ LTZ̽  ,FMapWeakList %FSets #Coq@0Ž“ōŌ,Œ:r6˜  Įš““šµI‰“ž  +ListTactics %Lists #Coq@0½ā,J­»€Żcšy{žō  %Logic $Init #Coq@0Ļ\ƒĶ‰¬!ĘōIgŌ  *Logic_Type $Init #Coq@0Ķ «¬1”ŹöŻė©jc6  "Lt %Arith #Coq@0įKõZø¼é-eJkŽP܏  #Max %Arith #Coq@04=Źł;Œ3$>“„a«Uå  #Min %Arith #Coq@0Cé×e¬ˆ-Fѕę  %Minus %Arith #Coq@0£³LāFĮ¢±tRź‹Ü"  )Morphisms 'Classes #Coq@0IĻmÓ½%\$PDøƒŠ  .Morphisms_Prop 'Classes #Coq@0% Å:B'‚.>Ńu‚Ć%  $Mult %Arith #Coq@0Ņķ––›QĮĶyb¬»0  $NAdd (Abstract 'Natural 'Numbers #Coq@0ō5;ZŻW:ㄜun$  )NAddOrder (Abstract 'Natural 'Numbers #Coq@02'Š8ózn7ķHŠźfÉ  &NArith  #Coq@0¦²Sł2å…2Ōbį%&  *NArithRing +setoid_ring #Coq@0Ż_ õ.«ŅYs!­ŠŠ  '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č  $Ndec &NArith #Coq@0${IÕ§ŪQ<^™ė  'Ndigits &NArith #Coq@0ń  *SetoidList %Lists #Coq@0k€ēŖŖŠĪūš¦ÜøqS  -SetoidTactics 'Classes #Coq@0S„ÕÖ_㽯`łnOUŚ$  &Sorted 'Sorting #Coq@0”Ńbåöb®øŽž„1zŁ  &Specif $Init #Coq@0ƒ¢;Rī–WMi\NĀ›©  'Sumbool $Bool #Coq@0s†Bƚ ,$1Ü1.]m  'Tactics $Init #Coq@0„/ęé9mŹ+ ؁œśa  'Tactics 'Program #Coq@03<ør°å“ü’v Į‚„T  %Tauto $Init #Coq@0é‹ĪĢ‚¶×"&žę/é”r  &Vector 'Vectors #Coq@0_ċ„|"ų¦ųīɅh©z  )VectorDef 'Vectors #Coq@0]iČÜ>ž¼3 ÅžŁ  (VectorEq 'Vectors #Coq@0#¶'`Ō¶Ślžøxj½ĘöT  *VectorSpec 'Vectors #Coq@0żšGyKöź5%l‰æ6śL  "Wf $Init #Coq@0qŹę†+‚W,JĘĄÓå+“  $Wf_Z &ZArith #Coq@0Ī`×&i@@yżSLÆEUź7=m­6€¶‚†„•¦¾@˜OyRąÄ@4u{ZU‚Æ„•¦¾@Ķ¢ŖxčķCÄĘI04cQ‚Ų„•¦¾@c@Z™ćxHhJkŲ—²¹©ƒ„•¦¾€ŖjĄYzmĆ›ł¦)&s