"`B„•¦¾&Ö!0° ,Zcomplements &ZArith #Coq@À &BinNat &NArith #Coq@ %Zeven &ZArith #Coq@ 'Zminmax &ZArith #Coq@ $Zmin &ZArith #Coq@ 'BinNums 'Numbers #Coq@ )BinPosDef &PArith #Coq@ &BinPos &PArith #Coq@ $Pnat &PArith #Coq@ &BinInt &ZArith #Coq@ (Zcompare &ZArith #Coq@ &Zorder &ZArith #Coq@ $Zmax &ZArith #Coq@ $Zabs &ZArith #Coq@ $Znat &ZArith #Coq@ (PeanoNat %Arith #Coq@ "Gt %Arith #Coq@ $Plus %Arith #Coq@ %Minus %Arith #Coq@ "Le %Arith #Coq@ "Lt %Arith #Coq@ $Mult %Arith #Coq@ 'Between %Arith #Coq@ )Peano_dec %Arith #Coq@ )Factorial %Arith #Coq@ %EqNat %Arith #Coq@ &Wf_nat %Arith #Coq@ *Arith_base %Arith #Coq@ +Compare_dec %Arith #Coq@ )auxiliary &ZArith #Coq@ *ZArith_dec &ZArith #Coq@ %Zbool &ZArith #Coq@ %Zmisc &ZArith #Coq@ $Wf_Z &ZArith #Coq@ +ZArith_base &ZArith #Coq@ +OmegaLemmas %omega #Coq@ (PreOmega %omega #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@ &Zhints &ZArith #Coq@ %Omega %omega #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ú‚ÚÖ±  $Bool  #Coq@0úÚj­ è2c·Z`FËùW  &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;0Rª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î!>ñ  'BinNums 'Numbers #Coq@0dmk(Ö5¿³Juôõ€<  *EqdepFacts %Logic #Coq@0FI$áͼÕ‹¥½¡`  )Eqdep_dec %Logic #Coq@0u ëÏwWIϰ—ß¼  *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ßaÌŠ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ózn7í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‰“ž  'BinList +setoid_ring #Coq@0žAƒƒÚØu“š¹®Îì  $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›×À^  ,Ring_polynom +setoid_ring #Coq@0ga³ßKíw9ÿè`ÖUW£  +ListTactics %Lists #Coq@0½â,J­»€Ýcšy{žô  %Zeven &ZArith #Coq@0i?ºeK³#ÉÛ´¥a«Uå  #Min %Arith #Coq@0Cé×e¬ˆ-Fѕ栠(PreOmega %omega #Coq@0²\¨ï|Ú†Bb½~wÝ4™ ²0tÈ.J'6\Ϩ¸ÆrK!׆·Ú{ªç!P ÙTDæ}Ü„•¦¾^r+?r;˜ Ð ,Zcomplements &ZArith #Coq@ðA  )floor_pos @‘ ž  @@° ¶!a›  Ð÷ 'BinNums 'Numbers !@@(positive*À‘@€ ·ÍÐ@°AA@°AA@°@° @@ @@@D·A°·"b'©œ  B€©C ·"a'' œ  (C€@¶-›  Ð÷ 'BinNums 'Numbers #Coq@@(positive*À‘@€›  € ° ,5k*(= Røÿÿÿ'>3 9'>3 9'G''+k6'+7Tk6'  ‘‘C°ôØ À:° AA BA @@ABP€@ @@@@°AAÀ@Ð@"sü Ð@Ð÷ ,Ring_polynom +setoid_ring #Coq@@&PEeval"sü @@A@A A@ A@  %floor @‘ ·jh©œ   Ð÷j@!Z7—Þ@B€©š Ð÷ ’ ‘o@‰*): €V@¶|› O€›  Ð÷Q@!Z7—Þ@€ ° 0+k7 9' ’X€@ @@@@?  )floor_gt0 @’°@±@¶!p› m€©š Ð÷¢ &BinInt &ZArith #Coq@!Z@"gt1P,¦€ ©š Ð÷Ä@NÉ«€Aœ   Ð÷ ³ ² Ò@@M7—Þ@A€@ @@@@o  (floor_ok @’°@áA¶0› œ€©›  Ð÷ %Logic $Init #Coq@@#andЖw@€ ©š Ð÷¢ &BinIntjs@"le1P,ö€ ©š Ð÷s@‡É«€Æ©Ç©š Ð÷@"lt1P-€ ©š ¡Ð÷@#mul1PÇ]Ð÷¢ )BinIntDef„@ ¬€ ©•©ãÚ@ @@@@´  ,Z_lt_abs_rec @’°@&B¶!P¶@›  ’@€”@¶@¶!n›  €¶@¶!m› €¶@©š Ð÷†@"lt1P-€ ©š ¡Ð÷O@#abs1PµÐ÷7@ ™¶€ ©B©D©¶"› *€©&@ @@@@ð  2Z_lt_abs_induction @’°@bC¶<¶@› ;€”A¶@¶:› B€¶@¶9› G€¶@©š 8€ 5.©+.©>0¶L› T€©DP@ @@@@  *Zcase_sign @’°@ŒD¶\› d€¶j+¶@¶@©›  Ð÷ %Logic $Init #Coq@@"eqÐ @€°Bœ  ×A€[¶@¶@©š ó€ pœ  àA€s¶@¶@©š v€ hœ  éA€kk@ @@@@Q  'sqr_pos @’°@ÃE¶“›  Ð÷ 'BinNums 'Numbers #Coq@@!Z7—Þ@€©š Ð÷@"ge1P,—€ ©š ¡Ð÷#@#mul1PÇ]Ð÷¢ Í &ZArith @@ ¬€ AAœ  A€@ @@@@„  +Zlength_aux @‘ ž  B@° ¶#acc› |€¶!A”‘   (ºÍ~ Ez@@¶!l©›  Ð÷ )Datatypes $Initõ@$listý]ó@€Ý···ÍÐA @B @B°@ @ @ @@D·©Þ(÷ í·ß·©ñ©F°©š ¡Ð÷=@$succ1\ÚwÐ÷%@ ¿€Eì@¶<› €¶;”‘ :@¶7©›  Ð÷ )Datatypes $Init #Coq@@$listý]ó@€"› *€ ° L,2k(*()= Rùÿÿÿ'>7 3&'''+k6'+7Tk+7T'+ 7 T'6'Р‘‘N( ‘‘ݰ@èÌ ’3€ ÀK  @@ ABAEX ‘‘k€@ Ð@(ºÍ~À@n@A@AÀ@°pA  ä·a l )Datatypes $Init #Coq@@A@@  'Zlength @‘ ©š Ð÷ý@õP€œ   A€@T °4G7 k ’H€@ @@@@3  /Zlength_correct @’°@¥F¶¢”‘   (¼Íü G@@¶ ž©›  Ð÷ %Logicž@"eqÐ @€°·©š Ð÷,@9b € rŒ©š ¡Ð÷Ê@&of_nat‡bzÐ÷²@1?G!€©š Ð÷¶@&length¶ä·€@ @À@°'A  ä·a l½À@°+A  縠oÁÀ@°/AÏ@ABC@@n  +Zlength_nil @’°@àG¶Ý;©4°â©+ ³©œ  ×A€«Z@ @À@À@@AB@@ƒ  ,Zlength_cons @’°@õH¶òP¶!xǶíÒ©M°û©D Á©œ  ðB€°Æ·Ñ©Ò©M ÊÕ@ @;@@Ÿ  /Zlength_nil_inv @’°@I¶l¶¶@©g°^‡©i°ìÌ©3ì@ @À@MÀ@FÀ@°vA 1D´æ Hn@ABC@@·@@ ÐÐ@ Ó³2À@  Ó³2 [¬@A@A Ô³qÀ@  Ô³q \¯@AÐ@(ºÍ~µÐ@(¼ÍüÀ@„@A@ABCÀÀÀ@° à‹c A  Á À@A .0T Q +Ring_theory +setoid_ring #Coq@@A° àŒ¢ BA .U>[ J À@ÌÀ@v@ABC°A  縠oÍÀÀ@°¢AB@A°£A 1D´æ H ´ ³ ²@@BD @ÐÐÐÐÐÐÐÐ@"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Ñ“‘Ð÷5@‰yÌ@AÐ@ñÏÐ@Ð÷D@&to_intñÏ‘Ð÷;@©†@AÐ@ûêzÐ@Ð÷5@&doubleûêz‘Ð÷,@/³Ï!@A@ABCD/­Ð@Ð÷O@)log2_iter/­‘Ð÷F@çwd@AÐÐÐ@NH/Ð@Ð÷B@&moduloNH/‘Ð÷9@1,Ö@A@A‡\dÐ@Ð÷G@&of_int‡\d‘Ð÷>@1?A @AÐ@‡bzÐ@Ð÷M@&of_nat‡bz‘Ð÷D@1?G!@AÐ@#¯Ð@Ð÷S@&shiftl#¯‘Ð÷J@1ÛdV@AÐ@#µÐ@Ð÷Y@&shiftr#µ‘Ð÷P@1Ûd\@A@ABCD/xîÐ@Ð÷¢ &BinPos &PArith #Coq@#Pos@)pred_mask/xî‘Ð÷¢ )BinPosDef &PArith #Coq@#Pos@ )XÊë@AÐÐÐ@6Ÿ’Ð@Ð÷x@&square6Ÿ’‘Ð÷o@1î„9@A@AV+LÐ@Ð÷}@&to_intV+L‘Ð÷t@2ó@AÐ@V1bÐ@Ð÷ƒ@&to_natV1b‘Ð÷z@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@AB^Ò¶Ð@Ð÷Ç@'to_uint^Ò¶‘Ð÷¾@#¹m@AÐÐ@gL7Ð@Ð÷¹@'sqrtremgL7‘Ð÷°@40Þ@A@Aq¬àÐ@Ð÷¾@'testbitq¬à‘Ð÷µ@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 í#‘Ð÷!@3n@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@AfzÐ@Ð÷¯@'to_uintfz‘Ð÷¦@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Ð@Ð÷1@#sub.ëÃL‘Ð÷(@ £ª@AÐ@.ëÄèÐ@Ð÷7@#two.ëÄè‘Ð÷.@ £«Ÿ@A@ABCD.ö,aÐ@Ð÷<@$div2.ö,a‘Ð÷3@ ®@AÐÐÐ@.öXzÐ@Ð÷D@$even.öXz‘Ð÷;@ ®?1@A@A.öÀØÐ@Ð÷I@$iter.öÀØ‘Ð÷@@ ®§@A@B.ö÷ Ð@Ð÷N@$land.ö÷ ‘Ð÷E@ ®ÝÂ@AÐ@.÷ Ð@Ð÷T@$log2.÷ ‘Ð÷K@ ®ðÉ@A@ACE.÷›Ð@Ð÷Y@$lxor.÷›‘Ð÷P@ ®þR@AÐÐ@.÷y…Ð@Ð÷`@$pred.÷y…‘Ð÷W@ ¯`<@A@A.÷É„Ð@Ð÷e@$sqrt.÷É„‘Ð÷\@ ¯°;@AÐÐ@.÷ÍúÐ@Ð÷l@$succ.÷Íú‘Ð÷c@ ¯´±@AÐ@.øt Ð@Ð÷r@$zero.øt ‘Ð÷i@ °Z×@A@AB/¿Ð@Ð÷w@.to_little_uint/¿‘Ð÷n@ ¿¥¾@A@CDF/Ìî‘Ð@Ð÷|@%ldiff/Ìî‘‘Ð÷s@ „ÕH@AÐÐÐÐÐÐ@0÷¨0Ð@Ð÷£@'compare0÷¨0‘Ð÷š@?H{@A@A1P%Ð@Ð÷w@!t1P%‘Ð÷n@  ¨@A@B1PµÐ@Ð÷|@#abs1Pµ‘Ð÷s@ ™¶@AÐÐ@1Pµ&Ð@Ð÷ƒ@#add1Pµ&‘Ð÷z@ ™Í@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Æ{Ð@Ð÷¾@#min1PÆ{‘Ð÷µ@ «"@A@B1PÇ]Ð@Ð÷Ã@#mul1PÇ]‘Ð÷º@ ¬@AÐÐ@1PÈäÐ@Ð÷Ê@#odd1PÈä‘Ð÷Á@ ­‹@A@A1PÉ£Ð@Ð÷Ï@#one1PÉ£‘Ð÷Æ@ ®J@A@BC1PÉÔÐ@Ð÷Ô@#opp1PÉÔ‘Ð÷Ë@ ®{@AÐÐÐ@1PË1Ð@Ð÷Ü@#pow1PË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\ÖÐ@Ð÷5@$sqrt1\Ö‘Ð÷,@ º¨@A@A1\ÚwÐ@Ð÷:@$succ1\Úw‘Ð÷1@ ¿@A@BC1\ìkÐ@Ð÷?@$to_N1\ìk‘Ð÷6@ Ñ@AÐÐÐ@1]€Ð@Ð÷G@$zero1]€‘Ð÷>@ eD@A@A2ó:Ð@Ð÷L@%abs_N2ó:‘Ð÷C@ Ó×á@AÐ@21ûÐ@Ð÷R@%ldiff21û‘Ð÷I@ éßµ@AÐ@2=½*Ð@Ð÷X@%quot22=½*‘Ð÷O@ õ¡Ñ@A@ABC2kÛFÐ@Ð÷Ž@(size_nat2kÛF‘Ð÷…@Š{‘@AÐ@3¦ªºÐ@Ð÷x@(tail_add3¦ªº‘Ð÷o@^‘q@A@ADEFGH3¦¼ñÐ@Ð÷}@(tail_mul3¦¼ñ‘Ð÷t@^£¨@AÐÐÐÐÐ@5ZƒÐ@Ð÷£@*shiftl_nat5Zƒ‘Ð÷š@y/Î@AÐ@5f}éÐ@Ð÷©@*shiftr_nat5f}é‘Ð÷ @…4@A@AB5€aÐ@Ð÷@'iter_op5€a‘Ð÷@©³ @A@C6w~Ð@Ð÷—@'of_uint6w~‘Ð÷Ž@½^5@AÐÐ@8jƒûÐ@Ð÷‰@'of_uint8jƒû‘Ð÷€@'"h¢@AÐ@9ÖEÄÐ@Ð÷@(div_eucl9ÖEÄ‘Ð÷†@(Ž*k@A@AB:Æx°Ð@Ð÷6@,Nsucc_double:Æx°‘Ð÷-@ ïÊ­@A@CD<ŽK®Ð@Ð÷®@+tail_addmul<ŽK®‘Ð÷¥@F2e@AÐÐÐ@<±ñ¾Ð@Ð÷¡@'pos_sub<±ñ¾‘Ð÷˜@+iÖe@AÐ@<¹áfÐ@Ð÷§@'pow_pos<¹áf‘Ð÷ž@+qÆ @A@AB=¬HÐ@Ð÷N@!t=¬H‘Ð÷E@#EþE@A@C=‹Ð@Ð÷[@&divmod>‹‘Ð÷R@CÔ@AÐÐ@>–ÝýÐ@Ð÷b@&double>–Ýý‘Ð÷Y@NÄ´@AÐ@?2ãÐ@Ð÷S@,pos_div_eucl?2ã‘Ð÷J@-êuŠ@A@AB?é;²Ð@Ð÷m@&modulo?é;²‘Ð÷d@¡"i@A@CEFGIJ@@  %Arith  #Coq@0I‰|кåX…*oŒð4Àƒ  )ArithRing +setoid_ring #Coq@0ÏPÌŒCgt‘Ä?µ}  *Arith_base %Arith #Coq@0ìÄ”}C¦¡‰Ôë¯åŠS  &Basics 'Program #Coq@0!bŒs߯…?Á÷ :žVU  'Between %Arith #Coq@06Ïv*ƒ0ýuôrë`ÈC0 ?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  *CMorphisms 'Classes #Coq@0ôqþ€ËÛŒ­óZ‚×BeÏ  0CRelationClasses 'Classes #Coq@0˜TL;0RªUfw1  +Compare_dec %Arith #Coq@0þjµXòÈçF ê8ª•¿û  å ä ã@0.iÜ ¼bãYN —Zû  )Decidable %Logic #Coq@0áND‰ê±¸í’¬/•Oñß  '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ÁƒŸÞ;ꮹº  )Factorial %Arith #Coq@0@èoËØÔÃehJŽdâ  -GenericMinMax *Structures #Coq@0áÅÁ‡¯ÔmßaÌŠj$Š  "Gt %Arith #Coq@0ä™›¤ïÚ#c:D •£Ø  $Init 'Classes #Coq@0ñ]Þ(áÅpù¾˜{yOh.  +InitialRing +setoid_ring #Coq@0·ÛkÛ/T=cþNü­½ö‚  "Le %Arith #Coq@0ƒdþ¢}í‹Om§qö+  $List %Lists #Coq@0 >Áð´´ðµI‰“ž  +ListTactics %Lists #Coq@0½â,J­»€Ýcšy{žô S0Ï\ƒÍ‰¬!Æô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ózn7í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è  $Nnat &NArith #Coq@0î$øW;sÆ ðœ€#³%M  )Notations $Init #Coq@0&v!D]â¼hÑwƒ•nv   *NumPrelude 'Numbers #Coq@0Á5WUVŦö]ÅxVXÝáÔ  %Omega %omega #Coq@0tÈ.J'6\Ϩ¸ÆrK  +OmegaLemmas %omega #Coq@0ÞTJ铹#JÞeÚs  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  )Peano_dec %Arith #Coq@0ÍÉëKÒÝ¢*Ðñ÷˜™k  $Plus %Arith #Coq@0…Ç4tmÙÐåó×G‘œú  $Pnat &PArith #Coq@0—,?«pr¾.‘ú›gõZ‰  (PreOmega %omega #Coq@0²\¨ï|Ú†Bb½~wÝ4™  'Prelude $Init #Coq@0JŸÀqƒTttú‚ÚÖ±  %Quote %quote #Coq@0JÊ@ŹáVÖz-³,3‹%  /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ò\ýì  $Ring +setoid_ring #Coq@0ù¨î·¤ªÛîM¹øæ±sᬠ )Ring_base +setoid_ring #Coq@0fƒbU‹Ð(2cNæe›  0ga³ßKíw9ÿè`ÖUW£  (Ring_tac +setoid_ring #Coq@0Âx°á2]%76£òˆ2f  +Ring_theory +setoid_ring #Coq@0ÔSÖ.JvõàfIÔå’  &Setoid 'Setoids #Coq@0D9µAs…˜WüEî!>ñ  -SetoidTactics 'Classes #Coq@0S„ÕÖ_㽯`ùnOUÚ$  &Specif $Init #Coq@0ƒ¢;Rî–WMi\N›©  'Sumbool $Bool #Coq@0s†B¯š ,$1Ü1.]m  'Tactics $Init #Coq@0„/æé9mÊ+ ¨œúa  'Tactics 'Program #Coq@03<¸r°å“ü’v Á‚¥T  %Tauto $Init #Coq@0é‹ÎÌ‚¶×"&þæ/é”r  "Wf $Init #Coq@0qÊæ†+‚W,JÆÀÓå+“  $Wf_Z &ZArith #Coq@0Î`×&i  3two_or_two_plus_one 9D{(°@ @‘Ð÷ %Zeven &ZArith #Coq@@*Z_modulo_2¤`~B  ‚ 2 QÀ@@‘E@  #_10 À¢¸  Ð÷‘@*): à@A@@@@  ‘  @@@@  #_11 2Mì ‘ÁAA@A  #_12 '` oÐ@‘A .positive_scope@ ’h@  6 2 QÀ@@‘@@  #_13 À¢¸   ó%  ‘$@  #_14 2Mì ‘ @  #_15 '` oÐ@‘A !@ ’ˆ@  ' 2 QÀ@@’A@  #_16 À¢¸  Ð÷×@2*). à@A@@@@  ‘F@  #_17 2Mì ‘   #_18 '` oÐ@‘A E@ ’¬@   2 QÀ@@’A@  #_19 À¢¸  Ð÷û@& ‰[Šà@A@@@@  ‘j@  #_20 2Mì ‘   #_21 '` oÐ@‘A i@ ’Ð@   ú 2 QÀ@@’@@  #_25 À¢¸  Ð÷@ð Yd†ô~W„•¦¾@³6c!ÐG•&äx"töº3„•¦¾;´ Ú*Ï*(‘·!p›  Ð÷ 'BinNums 'Numbers #Coq@@(positive*À‘@€©œ   Ð÷ %Logic $Init@"eqÐ @A€ ›  Ð÷ )Datatypes @*comparison;¿f@€œ   C€‘µ·-+©š Ð÷+@,positive_ind?™¸U€Ð·53©›  Ð÷%@#andЖw@€ ©š Ð÷¢ &BinInt &ZArith©‘ ©‹ m©k ©f \q©š Ð÷ )Decidable ¿Ë@+dec_not_notHÃÉ€°©¤ ©ž S©~ U©y o©š Ð÷@'dec_and ó€À  ©š Ð÷«@,le_decidableHÈÆ€©š Ð÷±@,lt_decidable®Í€·!H©š Ð÷æ@#notШï€%©· ©›  Ð÷ð@"orÐ Ï@€ ©©Í ©¦ œ©ÃmV©©² Z©­ £ ©š Ð÷@&or_ind"³€à©%©á ©º °©שÑD© ©à¹©à•©5©Ï  ©Ê À›  Ð÷!@%Falseeÿë@€·D©·F©š Ð÷þ@"gt1P,¦€ ©Ü Ò©ù©óE©¿ ©å Û©·©š Ð÷=@'and_ind1Þ4ۀЩ © ©F©©þ ©ù ï /·(IHp_left·)IHp_right© ©G© ü©#©©š Ð÷`@&ex_ind ±5{€Ðð·!yó©› k€°÷©4©.I'R·%Zvar0ÿ·&Omega0©Ð·©°©DK5`·%Zvar1 ·&Omega1 ©·!P¶@”A·«©DZ© àH F©X©RN`°·!x$¶@©p œ  cA€©( ©* ꩜  kC€B©š ¡Ð÷}@#opp1PÉÔÐ÷T@ ®{€©8 ©^ T©{M2—©š Ð÷ +OmegaLemmas %omegaÇ@/fast_Zmult_comm·›£€Àc¯·,N¶@©š *©O ©Q €'#«©·EC·ë©„=©`à[½M†©˜>? ·<^¶@©ª :©_ ©a ©‡ §}9©5©g '\Á©*Àƒ_·Ln¶@©º J©o ©A©s ¢hÍ©š Ð÷6@4fast_Zopp_plus_distrpŒe€À©  r–q·_¶@©Í ]©‚ #±Ü©š Ð÷E@6fast_Zopp_mult_distr_r0A<º€À£·l޶@©Ú j© 0©‘ À©cˆí©š Ð÷V@2fast_Zplus_permuteñ¿€Ð©œ © ¸t©Ä –©vºw·„¦¶@©ò ‚Ôÿ©š Ð÷h@8fast_Zplus_assoc_reverse 'ôñ€Ð‚‚·±¶@©ý ©² ©Ø ›ã·&Omega4© –©» ©½ !©·±¯·W©ð(©Ìàǹò©O,°·ª̶@© ¨©Í ü©Ÿ¸)©·ÃÁ·i©©ÞàÙöË©©  ·¼Þ¶@©* º©ß E©±:©š Ð÷£@7fast_Zopp_eq_mult_neg_1=·÷Ò€°+·Êì¶@©8 È©í SG©š Ð÷°@1fast_Zred_factor0Àµ#€°Û·×ù¶@©E Õ©ú )©  -ÒV©š Ð÷¿@1fast_Zred_factor6Àµ)€°©) IÛ·è ¶@©V æ©  ©1 s<g·&Omega3©_ ï© ©: ý © õȰ©š Ð÷Ü@,fast_OMEGA11ƒI€ð†ö©" ©H Uú>·)©6°+©) ©O o‹©- ©S PI^©ðb&K·6©C°8 ©6 ©\ |©^ Ti©· @©> ©d ¦ ©B ©h u^¤©U°J ©H ©n ©L ©r ´$.h+©·)auxiliary©c°X-©V ©| ©Z W©\ ©‚ S4x;©·«©¯ ?©d ©Š ©h n©j © HbC‡JȵµíC©°ᩚ ¡Ð÷Á@'compare3x–Ð÷˜@ë]=€ ”WàC©Ë©È©·+auxiliary_1·+auxiliary_2 ©·Ñ©Õ e©Š ©° ‡b©Ž ©´ T…f©š Ð÷S@,fast_OMEGA13ƒK€ðL©š ©À ry©ž ©Ä …•v³ÿ©š Ð÷c@,fast_OMEGA14ƒL€àŒ„}ºµµ·A©?©½°©š Ð÷)@)False_induÙ€ ©å4C¶@©M©˰+©J ›”$C¶@©©š Ð÷ƒ@&OMEGA2.$ÌD€À©É ©ï 4À3©Í ©ó 8¥3Øþ©š Ð÷ †@/Zmult_le_approx"û8=€àóQ¶Ï  ©š Ð÷@&OMEGA1.$ÌC€À©ã ©  E©ç ©  }I‡O©š Ð÷@(Zle_left*xÚ퀰©1©+¸¹©š Ð÷#@(Zgt_leftªEý€°©  ©=©7i© ©( ©Eú&©š Ð÷È@'new_var&/wS€©MJ© ©R©L©Y©š Ð÷ &Zorderd@*Znot_le_gt>©/ù€°jcO·¸©·º©š Ð÷r@"ge1P,—€ m©P Fv©jÐe]ˆ·Yf·WU©KÐ6FŒ·%Zvar29·&Omega5I©SÐ>:”·%Zvar3A·&Omega6?©ï°·%G¶@©“ #©H ã©©p f©r h^¨©ÀjF·3U¶@©¡ 1©V å°©J ·;]¶@©© 9©^ ©` ©† I|W©4©Š €&À©)À‚ηKm¶@©¹ I©n ©@0Ê©3ÀŒÖ·Uw¶@©àS©x ™Ò©š Ð÷;@8fast_Zmult_assoc_reverseÏ"'€Ðå™™ ©ýÀç©©›·g‰¶@©Õ e©Š ,¹ä©åЩ² ô©d  Ð÷R@/fast_Zplus_comm1Ï1€À‹ ·y›¶@©ç w©œ <Ëö·&Omega9©î ~©£ )©¥ š©Ö°·Š¬¶@©ø ˆ©­ …©X ©rÀËõ·”¶¶@© ’©· h ©ú ·œ¾¶@©  š©¿ ©Á —â©á°ª·¦ȶ@© ¤©É  ø#©:Àl©ñ ´£,·&Omega7© ¯©Ô  uÈl©¼ð=̩٠ö¶Îó·¼Þ©ë°à©Þ }©à © TשÉðDÁÙþ·Çé©ö°ë ©é © /© â©j ó©ñ U©ó © &gê©°û©ù © ©ý ò&ò©·¯©°%© ©) © ©- Mþ©  ©1 .mê'©·r©^ î© ©9 © õ© ©? ¯{ø5ȳµµ›C©/°©® <ˆC©s©È¼·«©·¨­·¦©·©y  ©. ©T +%©2 ©X ø”©¤ðŸ©8 ©^ š©< ©b #XQ©žà%XŸ™©€À©D {©F y uO©wàc>?xyy©pÀ©N  ©P ©v æÄGA¸‚©š Ð÷‚@(Zlt_left,¯–Ú€° Š©š Ð÷‰@(Zge_leftsŠ€°`©† |hƒ]S¦©š Ð÷M@*Znot_lt_ge>ªÁÏ€°­@™™©š Ð÷)@'not_and7G6€Àôí©ô¢P©š Ð÷¢Â%Pos2Z@&inj_xO Ü€V©½©–[© \©Á©œ  A€}©š Ð÷@&inj_xI Ö€ƒC©ã ©Ý ©Ñ©Ë©À ©» ±·$"·§ðµ©¥à {·¡©ô ©î Ž©â©»Œ©Ñ Õ©±à¬¢·œ­© š©Ø Ü©Ó Éœ©ºàµ{·¥¶©  © å‡©ã ‰x©v°© ©  ˆ¸©ë ºm©kÀ©f©a·\©Z ©·`©U ©`© O ©d©þ ¤L©Jà©j©& E<©n© @97·u ©·w©1 ,#© Ð>··  ©ÐìüB·ðí·îû©ÐðìF·æñ·äí©â°·Óõ¶@©A Ñ©ö ΩÈÀR©»À`·Ýÿ¶@©K Û© ± Z©¯ ·å¶@©S ã© ©šb©ËÀ$·í¶@©[ ë© ±1j©ŽÀ,–©ƒÀzvs·`©d ô© {©\°T©L D©=°c8©2°-©%° ·È¼© ðýA· ,©9°.©, ©. ]©ða%%J·5©B°7 ÿ©° 9©7 ùx©H°=©; ó0©·í©N°C©A ë6©·Ž©’ "©G ã<Èß,&©ÈáÜЩ·ÍÒ·Ë+©É©àkÉFG€•©xÀ©V s©X q.‡¾ˆo©e°`X{UKž©E°§žŒ·õ…©·÷©= £8© Ð›“¾·œ·‹©Ðl|·6m·4{©…ÐplÆ·2q·0m©°·Su¶@©Á Q©v 6.Щ9À’n·[}¶@©É Y©~ ­6Ø©r ·c…¶@©Ñ a©† &$à©IÀ¢î·k¶@©Ù i©Ž . è©QÀªô·s•¶@©á q©– 6·ð©Ðþ²²©À©ž°·©ì |©¡ '©£ €©Ô°þ©hÀÁëö©ê ð©ɰ’è©ÀNâ ·àÞÈF©–ð¦ÚŽË·”¶©ð¸©¶ U©¸ Ø•穟ðë——Ô·¿©̰Á Ö©: éÁ %©àР©Ô°É©Ç Î¤©·y©Ú°Ï©Í Êª©·2© ®©Ó À°ÈkfZ©Èmh\©·Y^·W_©±© à÷±ºÓ !  ©À©â  ©ä ”ÁJ’©‹°ä†á×*©„°*¿©À©Êz©.©ç©}èurC©H ©B ©6©0  ©%  ©  µ©»°©V ©P øø©0©¯À©ª©¥· ©ž ©·¤©™ ©¤©¦©Šào·­©·¯©i©·\©µµµ·ж@u{lC¶&x|C¶'k}C¶(e~T©2°V©·Á©·é A©·%p©µµµC¶*ŠŽC¶+}C¶,wf©Þ°.Sh©×j©ÑÀ=;8mC©• © ©ƒ©}Y:©r <©m cxC¶ÖÔ©¡ ©› ©š Ð÷‡@%floorÉ«€„‚© „©| r ‘©· -Coq_ZArith_Zcomplements_Z_lt_abs_rec_subproof¶Ac¶"H0¿©± ©6\B·X¶@k”@·"HP¶!ns¶@¶!mw¶@©¡ ©š ¡Ð÷Å@#abs1PµÐ÷œ@ ™¶€­©u©åv©gw· …È!Q·x‰¶@ã©›  Ð÷ö@$prodýÕt@€ ©Ó†©Ô-¶…–+È*©š Ð÷ $Wf_Zá@(Z_lt_rec< Œ€ÀÌ·€¢·6¶³¤¶@©ø ©РÔ›©·š«¶@©" ©´¢©µ£·M©ü Œ¥©œ  *A€À©Ö©ש‰ ©ê ¡©š Ð÷5@(eq_rec_r!Í%0€àŨ·µƶRǶ@©ñ P¼©¹¾·WÌ·"H1©ø W3È"p0©7°U©œ  *A€À©& ¶\© ^©š Ð÷*@*abs_nonnegÁLрة[ ©íh©ï©¹ÍÐaBBB°@ @ @@D·}©k ©æ©Þ©é©Ê©õa)·. ·"p1©û©Ó©kÈ!s©š Ð÷ $ZabsU@(Zabs_decL··€U©›  Ð÷ &SpecifŒ@'sumbool7Ì‚K@€ ©,°!a©§c©/°$d©òÍÐB AA AA°@  @@ @@D·&© ©>°3`©¹b©A°6c©©Wd ·!e ©à?©Å^·ÌA©yn¤_m·©…àE©*drN©š Ð÷’@&abs_eqp}Š€ 1y©| •©’àR© ™Ž©•àU8Š©š Ð÷ @.opp_involutive4r €?©á¢©š Ð÷§@'abs_neq¶Ë’€ ¨©ôã…©}È]©[K©S ©v°kNr©x°mPqÍG·f©[ ©~°sÕl©€°u×p©“·¡ ·=©ºàzY·{© ¨©š Ð÷ç@(prod_rec/ ù€Ð©¡_©¢b·©ý ©S·!a ·!b©!\„©v©µÖÕÀ·[#©Øà˜t©Ð·# ·· È ÝÈ·}Ÿ·<ù©Z°<©B<·ש5@©·Û©õ ïƒ©¹À·‹­¶@©ù ‰©® Ý‹·¥©þ Ž©³ ¨©ÓÀù·˜º¶@© –©» l©š©Ð¼•œ·Ä© Ÿ©Ä Áš©4ð÷£œÙ%µµ·iCC © À©Í «ª©Ï Õ¥Åþ©ܰ©£¯È©é°±:»©¿° ´‘©· 3Coq_ZArith_Zcomplements_Z_lt_abs_induction_subproof·Ðηus·läÈ_·Õæ¶@@©:W¶ØéÔÈ}©š Ð÷S@.Z_lt_induction Öcé€À·Ðò·†¶ô¶@P©·æ÷¶@Q©KLì·–I©$ÀDC©* á©àã;·Œ·53©<ÐV·"H2 ·"H3©š Ð÷õ@+sumbool_ind=ãS€à ž· £©xT·‚¤©àö·£©ÙEüYD·§©!àø\G©€I$Ö©K d©&à!Ï\©(à#^·¯$·XVÈ›R©yAÍÐyBBB°@ @ @@D·@©ƒ;4\·.<·,1È,*!Ía ·ý©?û·ÿ©A÷éæàߺ\×È3ÖÕÍÏh ·ΩFàA Ç©{ÐÀ¿À·àÁ·xµ7³…p· Ó©MàH$Ω‚ÐÇÆÆ·çÈ·¼wºŒw¯‘·-O·>;·%Hzero¶@©a°VH/H·$Hpos¶@©§ ?5?·$Hneg¶@©‰ Ä;Ä©ÍО@°@AA°@AA°@°@ @@ @@D·[l¶¶@©{°p›I¶¶@©¿ fM‘¶¶@©Ÿ·°·(¶@©‡°|UU¼·&¶@©Ë YY­·$¶@©« ©g©þ ‡`·  ·8¶@©—°Œ¶e¹·6¶@©Û „i­·4¶@©» _m$©‡Û·  ·F¶@©¥°š©lÇtÈ·E¶@©ê ©q“y½·D¶@©Ë ©v‰~5©Ñ©   œ   B€°ŸØ‘·?°©·%lemma©š Ð÷ +@#iffС)€ ©” ©ß ê꘩  š©š Ð÷ )Morphisms 'Classes G@9iff_flip_impl_subrelation2„VA€°©¦ ©ñ Ãê©  ¬þ ©š Ð÷ @)ge_le_iffv߀©š Ð÷ %@-square_nonneg"þ+€ ‘·!A”‘   (¼Íü G @@©· CCoq_ZArith_Zcomplements_Zlength_properties_Zlength_correct_subproof¶!l©›  Ð÷ ^@$listý]ó@€ %¶#accü© °þ©ü ©š ¡Ð÷ K@$succ1\ÚwÐ÷ "@ ¿€ 3©š ¡Ð÷ R@&of_nat‡bzÐ÷ )@1?G!€©š Ð÷ z@&length¶ä·€ ù ©   C©·+©) Ȱ·.©, ©š Ð÷ Š@(list_indj€Ðˆ·7©5‹¶/ )©6° +©š Ð÷ `@+Zlength_auxõP€° ]_ $© 0  _©-©' e *·? 9©š Ð÷ °@&eq_sym £Xø€À @© >  m©;©5 †©œ  UA€‹©° wŒ©š Ð÷ —@'add_0_rä0:€ ·É¶·e©c—·#IHl¶` Z©g° \©1° ‰{ P© \  ‹©Y©S  V·k eµµ© nà i© g k©d©^ ÿ R· _ p©}° r © p  f©m©œ   Ð÷ ã@#natò@B€©p †ã© ˆà ƒ©ƒ· u †©“° ˆ© † ©Š ~©„© Š  € ¹©¬B©ˆ©&©š Ð÷¢ $Znat Ý%Nat2Z@(inj_succ:žðw€1©r°Ÿ/ ‚© ’¡C©®° £©x° Ð5©œ  ´B€°:  © ¨  ×C©¹° ® © ¬  Û©©©£ D ß¶Å—¶¼ ¶©ð ¸©° åú ¬© ¸  穵©¯   ²µ© Èà é Á ž©¾©¸  + »· ¹ ʩװ Ì ÷©Å©¿   ³© I  Ò ©§°­ 6 Æ© bC©â° שš Ð÷ @'Zlengthb €·ïí·æ à© š°橚 Ð÷ -@,eq_decidableO€ ëÓ· }© {ð© Ð î·þ ï© B ©þ° ó©ì©æ  7 Y "© B Ò© ÷ © †Õ R·  ý·&Omega2© :Щ ° ©ý©÷  5 H ú© S ã©  © .   ÿç d·  ·© [ ë©  üí©µ©·  · ¬ © à  H  F©©   $  ·ÿ !¶@©š Ð÷ l@#Zne>o=€ © ( © * © ,Î Z©ý© /  P© 1 ©.©(  >É *  ©¦À© 9 ž·  =¶@© © >  m  ˜µ©- · $ F¶@©% © G © I  © © M  nÜ * §©ºÐ € µ D· 2 T¶@©3 © U v 2 ¯©âÀ ½ · : \¶@©; © ]  Œ : ·©}° Å· B d¶@©C © e © g  –© 9? F éöÀ œ `· N p¶@©O © q *© s p ¢ P Í©“° ¦· X z¶@©Y © { 4© } zî Z שêЩ   çJ5´· d †¶@©e× Þ©ßÐ ìO¹· i ‹¶@©j  g ä©÷ÐU’ b· o ‘¶@©p © ’ © ”  Ø Ã q î©ïÐ Ç ‹ l· y ›¶@©z © œ ™© ž  â©   © Æ  à x Ñ  ü©š Ð÷ e@0fast_Zplus_assoc Da~€Ð] © « ±© ­  Þ Š,©š Ð÷ p@1fast_Zred_factor3Àµ&€À  Š· — ¹¶@©˜ © º  é© ¼ © ¾  ß › › ©ÐÆ ñ · £ Ŷ@©¤ © Æ © ì   ¥ ÷ ¥ "©À û  · ­ ϶@©® © Р $ ­ *©š Ð÷ “@1fast_Zred_factor5Àµ(€À =© Ù © ÿ. ·Y© À  ¹[· Ó©¿c© _C¶@© © ä e© ¶© è  © ê ©ç©á ‚  ã Ë HC¶@©Ñ © ó © õ ©ù ( © È© ú  +©þ Ù V©š Ð÷-@(Zne_left0”߀°  H 3©š Ð÷ Ç@'intro_Zz,’€©  s ô‘·1/‘·42· ö C·)þ© à ©©  ©zt·  !© .° # N©#N© ,à '© ©Ý·  +© 8° -©&©   “©Œ° •  %3©š Ð÷ ª@&eq_ind £J€à :©3©Æ· - >© K° @ k© ¹  B©B©²©nù©š Ð÷ {@/Zlength_correct6# :€ÿ©u/©0‘·nl·b`© Yà T©M©GÊ· G X¶@ë© f°4 >© ¿ÍÐiA @B @B°@ @ @ @@D·uJ¶@© s° hA A© u°C \ • · ÿ© y° n©g©a  d©, f L© ì W©/ Z· U i·ˆZ©Eà z©sœ  A€· o €¶@© ް ƒ©|©v  Ç©â° É l { ´© –°©™ º©ç° » ð q©H ½©·ß©Ý ©  ° •©Ž©ˆ  û©ô° ý  Æ!© ¨°› %€#©š Ð÷Þ@2subrelation_properJ·7€4¶Ä ’¶!B • •©š Ð÷é@*respectful%WO?€À œ¶@  ý©À Ÿ Ÿÿÿš Ð÷ &Basics 'Program 9@$impl7o€š Ð÷ .Morphisms_Propü@9iff_iff_iff_impl_morphism8Cª€©À ³!©À µ µ©š Ð÷@$flipå$€À ¼ ¼ ¼œ   Ð÷ =@$unitþUe@A€©š Ð÷@6subrelation_respectful>6ìz€  Ê8**©š Ð÷@0subrelation_reflv ˆ€  Ñ14©  Ó Ó33 3&© õ° êgp© ÷°Ogp © ù°™g¨©š Ð÷-@6reflexive_proper_proxy5™Ž€À à@š Ð÷ /RelationClasses3@-iff_Reflexive/íh”€ ©š Ð÷l@'inj_iffûob€ n‰· ™kÈ£ÍÐ ~B@@° @@@D· r·@© °u©  Aˆ ?¶@© "°z ›© $°©' ©u° ¬ I \©Ö  H·»5©·½© .°†§ÈW©ñà‰©  E©ƒ° G j Œ·ðŽÍг@ @A @A°@ @ @@D·Â–  ^  Š·@˜›  Ð÷ ¬@$TrueÙy’@€œ  A€Â i ”© Œ ) k l¶@© N°¦ÇǺ© o© ¾ ªË š Ð÷´@%inj_0OUù€©uÀ©ÁâE¿âÖ#âÛÒP'£yï.y