"`b„•¦¾FĻųb° *ZArithRing +setoid_ring #Coq@@ +Ring_theory +setoid_ring #Coq@ )Ring_base +setoid_ring #Coq@ +InitialRing +setoid_ring #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@ +ListTactics %Lists #Coq@ (Ring_tac +setoid_ring #Coq@ $Ring +setoid_ring #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;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ī!>ń  '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ßå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Įš““šµ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€©œ  B€œ   Š÷ 'BinNums 'Numbers y@@(positive*Ą‘@C€š ”Š÷¢ &BinInt &ZArith #Coq@!Z@#add1Pµ&Š÷¢ )BinIntDef &ZArith #Coq@!Z@#add ™Ķ€š ”Š÷@#mul1PĒ]Š÷@#mul ¬€š ”Š÷ @#sub1PĻÉŠ÷@#sub “p€š ”Š÷'@#opp1PÉŌŠ÷@#opp ®{€©›  Š÷ %Logic $Init #Coq@@"eqŠ @€›  Š÷I@!Z7—Ž@€p©š Š÷ +Ring_theory +setoid_ring@%IDphioĒ€›  Š÷ 'BinNums 'Numbers #Coq@@!Z7—Ž@€š ”Š÷¢ &BinInt &ZArith #Coq@!Z@$of_N1\YĆŠ÷¢ )BinIntDef &ZArith #Coq@!Z@$of_N >j€š ”Š÷@#pow1PĖ1Š÷@#pow ÆŲ€DC¶@©›  Š÷ %Logicģ@"eqŠ @€°›  Š÷ö@$boolüZ'@€Č#lmp©š Š÷Ģ@.mk_monpol_list„ż­€(ǰ©¬©œƒ|uš Š÷ %Zbool &ZArith #Coq@@(Zeq_bool0…å߀š ”Š÷¢ &BinInt &ZArith #Coq@!Z@'quotrem\¼Š÷¢ Ø @/ Å€>©©ž © ķ›  Š÷ł@#MonfŖ@€©›  Š÷@#Poljć@€ū©š Š÷@#Peqj*€Ą9©š Š÷@*norm_subst7:d€0 ņBÜüµ@4GAb© 0 öFąĒĄ¹D8cœ  WA€©µ°9©š Š÷@&PEeval"sü €8@žģÓĢÅ©wFq©8CļÖĻȬ “zr@ @@@@°AAĄ@Š@"sü Š@Š÷ , + ]@@"sü @@A@A A@ A@  .Zr_ring_lemma2 @’°@„A¶tr¶"lH©e©M ©G<©I>¶p©nA¶@©2<D-©)&łņ©ėŽH©ؐą›  Š÷ 'BinNums 'Numbers #Coq@@!Z7—Ž@€ĪµMB¶›©ˆ©p ©r _r©la¶@©¶°©“©{ ©} j}©wl©¬(nW*A(!„™Åd¶"pe©~s¶#npe©ƒx¶@©Ͱ©ˆ}©{0h;R92+¶ŖH×)v©%°©©p8„m@W>70„<:ūā{Ś©š Š÷@(Pphi_pow¦cō€H‹tG^E>7‹tGĀCA隠Š÷ +InitialRing +setoid_ringµ@)get_signZ#7ųł€Œ>@ @@@@y@@ Š@ Ó³2Ą@  Ó³2 [ )Datatypes $Init #Coq@@AŠ@ Ō³qĄ@  Ō³q \ @A@ABĄĄ@° ą‹c A²A .0T Q +Ring_theory +setoid_ring #Coq@@A° ąŒ¢ B½A .U>[ J @B @ŠŠŠŠŠŠŠŠ@"OēŠ@Š÷¢ (PeanoNat %Arith #Coq@#Nat@&of_int"Oē‘Š÷ #Nat $Init #Coq@@ Ś6ž@A@A\¼Š@Š÷¢ &BinInt &ZArith #Coq@L@'quotrem\¼‘Š÷L@/ Å@AŠŠ@›\Š@Š÷@+pred_double›\‘Š÷S@/S@æ@A@A¾s2Š@Š÷)@&shiftl¾s2‘Š÷ @vYé@A@BC¾s8Š@Š÷.@&shiftr¾s8‘Š÷%@vYļ@AŠ@ѓŠ@Š÷4@&squareѓ‘Š÷+@‰yĢ@AŠ@ńĻŠ@Š÷:@&to_intńĻ‘Š÷1@©†@AŠ@ūźzŠ@Š÷+@&doubleūźz‘Š÷o@/³Ļ!@A@ABCD/­Š@Š÷E@)log2_iter/­‘Š÷<@ēwd@AŠŠŠ@NH/Š@Š÷8@&moduloNH/‘Š÷|@1,Ö@A@A‡\dŠ@Š÷=@&of_int‡\d‘Š÷@1?A @AŠ@‡bzŠ@Š÷C@&of_nat‡bz‘Š÷‡@1?G!@AŠ@#ÆŠ@Š÷I@&shiftl#ƑŠ÷@1ŪdV@AŠ@#µŠ@Š÷O@&shiftr#µ‘Š÷“@1Ūd\@A@ABCD/xīŠ@Š÷¢ &BinPos &PArith #Coq@#Pos@)pred_mask/xī‘Š÷¢ )BinPosDef &PArith #Coq@#Pos@ )XŹė@AŠŠŠ@6Ÿ’Š@Š÷n@&square6Ÿ’‘Š÷²@1ī„9@A@AV+LŠ@Š÷s@&to_intV+L‘Š÷·@2ó@AŠ@V1bŠ@Š÷y@&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@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 ķ#‘Š÷!@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–‘Š÷b@ė]=@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Š@Š÷2@$div2.ö,a‘Š÷)@ ®@AŠŠŠ@.öXzŠ@Š÷:@$even.öXz‘Š÷1@ ®?1@A@A.öĄŲŠ@Š÷?@$iter.öĄŲ‘Š÷6@ ®§@A@B.ö÷ Š@Š÷D@$land.ö÷ ‘Š÷;@ ®ŻĀ@AŠ@.÷ Š@Š÷J@$log2.÷ ‘Š÷A@ ®šÉ@A@ACE.÷›Š@Š÷O@$lxor.÷›‘Š÷F@ ®žR@AŠŠ@.÷y…Š@Š÷V@$pred.÷y…‘Š÷M@ Æ`<@A@A.÷ɄŠ@Š÷[@$sqrt.÷Ʉ‘Š÷R@ ư;@AŠŠ@.÷ĶśŠ@Š÷b@$succ.÷Ķś‘Š÷Y@ Æ“±@AŠ@.ųt Š@Š÷h@$zero.ųt ‘Š÷_@ °Z×@A@AB/æŠ@Š÷m@.to_little_uint/摊÷d@ 愾@A@CDF/Ģī‘Š@Š÷r@%ldiff/Ģī‘‘Š÷i@ „ÕH@AŠŠŠŠŠŠ@0÷Ø0Š@Š÷£@'compare0÷Ø0‘Š÷š@?H{@A@A1P%Š@Š÷m@!t1P%‘Š÷±@  Ø@A@B1PµŠ@Š÷r@#abs1Pµ‘Š÷¶@ ™¶@AŠŠ@1Pµ&Š@Š÷y@#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Ę{Š@Š÷“@#min1PĘ{‘Š÷ų@ «"@A@B1PĒ]Š@Š÷¹@#mul1PĒ]‘Š÷ż@ ¬@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÷‘Š÷8@ Iž@A@A1[…6Š@Š÷ł@$ggcd1[…6‘Š÷=@ iŻ@A@B1[ĶUŠ@Š÷ž@$iter1[ĶU‘Š÷B@ ±ü@AŠŠ@1\ˆŠ@Š÷@$land1\ˆ‘Š÷I@ č/@A@A1\Š@Š÷ @$log21\‘Š÷N@ ū6@A@BC1\$Š@Š÷@$lxor1\$‘Š÷S@ æ@AŠŠŠŠ@1\YĆŠ@Š÷@P1\YƑ[@A@A1\†Š@Š÷@$pred1\†‘Š÷_@ j©@A@B1\„ÖŠ@Š÷ @$quot1\„֑Š÷d@ Š}@AŠŠ@1\ÖŠ@Š÷'@$sqrt1\Ö‘Š÷k@ ŗØ@A@A1\ŚwŠ@Š÷,@$succ1\Św‘Š÷p@ æ@A@BC1\ģkŠ@Š÷1@$to_N1\ģk‘Š÷u@ Ń@AŠŠŠ@1]€Š@Š÷9@$zero1]€‘Š÷}@ eD@A@A2ó:Š@Š÷>@%abs_N2ó:‘Š÷‚@ Ó×į@AŠ@21ūŠ@Š÷D@%ldiff21ū‘Š÷ˆ@ éßµ@AŠ@2=½*Š@Š÷J@%quot22=½*‘Š÷Ž@ õ”Ń@A@ABC2kŪFŠ@Š÷Š@(size_nat2kŪF‘Š÷@Š{‘@AŠ@3¦ŖŗŠ@Š÷j@(tail_add3¦Ŗŗ‘Š÷a@^‘q@A@ADEFGH3¦¼ńŠ@Š÷o@(tail_mul3¦¼ń‘Š÷f@^£Ø@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°Š@Š÷2@,Nsucc_double:Ęx°‘Š÷)@ ļŹ­@A@CD<ŽK®Š@Š÷ @+tail_addmul<ŽK®‘Š÷—@F2e@AŠŠŠ@<±ń¾Š@Š÷“@'pos_sub<±ń¾‘Š÷×@+iÖe@AŠ@<¹įfŠ@Š÷™@'pow_pos<¹įf‘Š÷Ż@+qĘ @A@AB=¬HŠ@Š÷J@!t=¬H‘Š÷A@#EžE@A@C=‹Š@Š÷M@&divmod>‹‘Š÷D@CŌ@AŠŠ@>–ŻżŠ@Š÷T@&double>–Żż‘Š÷K@NÄ“@AŠ@?2ćŠ@Š÷E@,pos_div_eucl?2ć‘Š÷‰@-źuŠ@A@AB?é;²Š@Š÷_@&modulo?é;²‘Š÷V@”"i@A@CEFGIJ@   *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  *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ńß  '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ßåj$Š  "Gt %Arith #Coq@0䙛¤ļŚ#c:D •£Ų  $Init 'Classes #Coq@0ń]Ž(įÅpł¾˜{yOh.  ˆ ‡ ;@0·ŪkŪ/T=cžNü­½ö‚  "Le %Arith #Coq@0ƒdž¢}ķ‹Om§qö+  $List %Lists #Coq@0 >Įš““šµ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܏  %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É  '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ŻįŌ  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‰  '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   L  K  ^@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@0s†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  $Zcst ¤ÅFĄ@@@  !t@ B š "./plugins/setoid_ring/ZArithRing.vT,T,4<“ šT,T,4<  š T,T,4:Š÷ +InitialRing +setoid_ring #Coq@@&isZcstj:堒‘  šT,T,;<@ °@°@   “  Š÷ )Datatypes $Init #Coq@@$boolüZ'@A@š4UBUBFJ@“  @A š>UBUBNO’‘ HšDUBUBNO ‘ šKVPVPYm ‘?LFI   ‘Š÷I@+NotConstantū½X@šZVPVPal@@  +isZpow_coef ¤ÅFĄ@@@  j@ B šiZŒZŒ”•’‘ sšoZŒZŒ”• °@°@  ¤  “  Š÷ 'BinNums 'Numbers #Coq@@!Z7—Ž@B@šŠ[›[›Ÿ£  “!pš“[›[›¤¦@š–[›[›Ÿ¦@¤“  @B› š¤[›[›Ŗ²“ š©[›[›Ŗ²  šÆ[›[›Ŗ°Š÷£@&isPcsti.÷ ’‘ &šø[›[›±²@ °@°@   “ FA@šÅ\³\³·¹@“  L@A šĻ\³\³½ʐ ‘„   ²@šŁ\³\³ÅÉ@ ‘ šą]Ė]ĖŌ␠‘•   “ ĆB@šģ]Ė]ĖÜį@@  &N_of_Z 9D{(°@ @‘”Š÷¢ &BinInt &ZArith #Coq@!Z@$to_N1\ģkŠ÷¢ )BinIntDef &ZArith #Coq@!Z@$to_N ѐB  (Zpow_tac ¤ÅFĄ@@@  @ B šc)c)0=“ š c)c)0=  š&c)c)0;Š÷ @ĖĖK÷ ’‘ 2š.c)c)<=@ °@°@   @š9dCdCFJ@“  @A šCdCdCN_ ‘ų  ¤  Z@šPdCdCV\  ‘[šWdCdC]^@šZdCdCV^@ ‘ šae`e`h| ‘   @ške`e`p{@@  *Zpower_neg ¤ÅFĄ@@@ B@ °@°@  “!Gšj°j°øŗ@› B š‡kækæÉŹ’‘ škækæÉŹ °@”!c°@  ¤  ‘”Š÷§@#pow1PĖ1Š÷ž@#pow ÆŲ@š£lŠlŠįę  ½£@@@@š¬lŠlŠēč  ¤  “ 9C@šølŠlŠźī  ½£@@@@šĮlŠlŠļš@šÄlŠlŠźš@šĒlŠlŠįń@¤‘- ›@¤“  U@C @   ąšÜmömö‘¢ N@   #@šęmömö@@ @»@  ‘ōššnn$%@ @@@@  Õ 2 QĄ@@’A@  #_10 Ą¢ø  Š÷ä@ą 80ąAA@@@@  ‘  @ @ @ @ @ @ @ @@@@  #_11 2Mģ ‘  #_12 '` oŠ@‘G )nat_scope *list_scope  @ @ @ @@ ’ ’ņ ’õ ’Ö ’Ł ‘栐’&@   Ŗ 2 QĄ@@I@  #_13 Ą¢ø  Š÷,@ “ 81H  ‘  @ @ @ @ @ °.F @A @ @ ° €I @A @@@@  #_14 2Mģ ‘ "  #_15 '` oŠ@‘(I S R T @ W @ @ @ @@ ’T ’F ’I ‘  ’O ’w ’3 ’6 ’€@  "Zr /€>0[©›  Š÷ %Logic $Init #Coq@@"eqŠ @€› +€©š Š÷ +Ring_theory +setoid_ring #Coq@@%EqsthlŽ€驚 Š÷@&Eq_ext ńW€Ą𚠔Š÷¢ - &ZArith8ō@1Pµ&Š÷¢ (ų@" ™Ķ€š ”Š÷ @1PĒ]Š÷@  ¬€š ”Š÷@1PÉŌŠ÷ @ ®{€©š Š÷ +Ring_theory +setoid_ring #Coq@@'IDmorphy2€,œ  A€©œ  B€g,š ”Š÷,@71PĻÉŠ÷'@8 “p€©›  Š÷ %Logic $Initk@"eqŠ @€.©š Š÷ +Ring_theory ļu@%EqsthlŽ€8š Š÷ ŲF@Ó0…å߀š Š÷@+Zeq_bool_eqÅ䤀©š Š÷;@(Rth_ARth'\›€,I41YL-G(©š Š÷@&Eq_ext ńW€`š Š÷ +InitialRing!@#Zth>ü𿀠š,sHsHmq“ š1sHsHmq  Š÷@C"q­Q@ š:t›t›·擠š?t›t›·栐 Š÷(@5(ėuü@š H€š €” šMsHsH€Š“ šRsHsH€Š  Š÷;@é1§@ @Ŗ•  @ ‘”Š÷k@$succ1\ŚwŠ÷b@$succ æ@@ @@@@@­{ü³#¦'[{nm™!Ž/w脕¦¾@cnv€¢]š€"<5‹ĢĖx„•¦¾@v¾Eōj~ž"9MÆė>Xx:„•¦¾@é7D٦L wĪ„›X|•„•¦¾3ĒŠ­ ‘©š Š÷ ,Ring_polynom +setoid_ring #Coq@@,ring_correct©<”€l›  Š÷ 'BinNums 'Numbers@!Z7—Ž@€œ   A€©œ  B€œ   Š÷@(positive*Ą‘@C€š ”Š÷¢ &BinInt &ZArith(@#add1Pµ&Š÷¢ )BinIntDef @ ™Ķ€š ”Š÷@#mul1PĒ]Š÷ @ ¬€š ”Š÷@#sub1PĻÉŠ÷@ “p€š ”Š÷@#opp1PÉŌŠ÷@ ®{€©›  Š÷ %Logic $InitK@"eqŠ @€I©š Š÷ +Ring_theoryW@%EqsthlŽ€ ©š Š÷ @&Eq_ext ńW€ĄY?/#©š Š÷@(Rth_ARth'\›€,`URF60*$š Š÷ +InitialRingm@#Zth>üšæ€h]ZN>82š Š÷ %ZboolM@(Zeq_bool0…å߀©š Š÷'@%IDphioĒ€.©š Š÷-@'IDmorphy2€,}rocSMGA4š Š÷@+Zeq_bool_eqÅ䤀‚š ”Š÷h@$of_N1\YĆŠ÷b@ >j€š ”Š÷n@#pow1PĖ1Š÷h@ ÆŲ€š Š÷ (Zpow_defs@-Zpower_theoryPG€š ”Š÷|@'quotrem\¼Š÷v@/ Å€©š Š÷=@,Ztriv_div_th Æ1€Ą£gZ3‘©š Š÷³@3ring_rw_pow_correct=4ō.€t¬”ž’‚|vpcZS¬”ž’‚|vD<6¬*$š Š÷L@)get_signZ#7ųł€š Š÷Q@,get_signZ_thÜW„€”ÜĖcśßā%{3:LšĢa