"`  3+/DecidableTypeEx*Structures#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ֱ&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!>$Bool#Coq@0j 2cZ`FW*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@0KI+Relations_1$Sets#Coq@0k<⪚(тc1&Sorted'Sorting#Coq@0bb1z٠*SetoidList%Lists#Coq@0k窪ܸqS-DecidableType*Structures#Coq@0kO!Z7++OrderedType*Structures#Coq@0#73t1E iW'BinNums'Numbers#Coq@0dmk(5Ju<*EqdepFacts%Logic#Coq@0FI$ͼՋ`)Eqdep_dec%Logic#Coq@0u wWIϰ߼)BinPosDef&PArith#Coq@0}H d.%,b&BinPos&PArith#Coq@0vyػ0= u)BinNatDef&NArith#Coq@03@1O,[{ &BinNat&NArith#Coq@0K11ڤs+Π$Pnat&PArith#Coq@0,?pr.gZ'ZAxioms(Abstract'Integer'Numbers#Coq@0\}zK=PK%ZBase(Abstract'Integer'Numbers#Coq@0 TL}2_} ؠ$ZAdd(Abstract'Integer'Numbers#Coq@0Y9Vgⲫ򐠠$ZMul(Abstract'Integer'Numbers#Coq@0Mtr\b"H#ZLt(Abstract'Integer'Numbers#Coq@0xK|j2[&=}۠)ZAddOrder(Abstract'Integer'Numbers#Coq@0w:}H#NK}{)ZMulOrder(Abstract'Integer'Numbers#Coq@0Dr~-~ECM'ZMaxMin(Abstract'Integer'Numbers#Coq@0bAX1'ZSgnAbs(Abstract'Integer'Numbers#Coq@02`ou{Z'ZParity(Abstract'Integer'Numbers#Coq@0S)*Dd$ZPow(Abstract'Integer'Numbers#Coq@0AşsאI)ZDivTrunc(Abstract'Integer'Numbers#Coq@0`]f5FԠ)ZDivFloor(Abstract'Integer'Numbers#Coq@0dj_TYQc|$ZGcd(Abstract'Integer'Numbers#Coq@0G0=$ZLcm(Abstract'Integer'Numbers#Coq@0(9g%MmN]%ZBits(Abstract'Integer'Numbers#Coq@0ܹCF5s+ZProperties(Abstract'Integer'Numbers#Coq@0Ve*ʞ_OV)BinIntDef&ZArith#Coq@0ådR4Tuy&BinInt&ZArith#Coq@0BpHޞun^$Mult%Arith#Coq@0햖Qyb0(Zcompare&ZArith#Coq@0'ҤjI=D'Between%Arith#Coq@06v*0ur`C0)Peano_dec%Arith#Coq@0Kݢ*k+Compare_dec%Arith#Coq@0jXF 8)Factorial%Arith#Coq@0@oehJd%EqNat%Arith#Coq@0AIgՋXRV &Wf_nat%Arith#Coq@0UJX AJhO*Arith_base%Arith#Coq@0Ĕ}CS&Zorder&ZArith#Coq@0fVk.BG)%Zeven&ZArith#Coq@0i?eK#aU堠#Min%Arith#Coq@0Ce-Fѕ(PreOmega%omega#Coq@0\|چBb~w4%Omega%omega#Coq@0t.J'6\ϨrK,Zcomplements&ZArith#Coq@03 ٠*VectorSpec'Vectors#Coq@0GyK5%l6L(VectorEq'Vectors#Coq@0#'`ԶlxjT&Vector'Vectors#Coq@0_ċ|"Ʌhz'Bvector$Bool#Coq@0,rO3^~'Ndigits&NArith#Coq@0@A@@@,@@&eq_sym @@  X@!y@B.C]1@6A5D@& XL<3@@@A1FdJ@A@@Р(eq_trans @@ !y@Ƕ2ȶ!z˶@ذ03@۰ѐE4Ő3D@#!yLkb@@/@@&eq_dec @@W&Specif@'sumbool7̂K@_@#notШf@@@@@@Ӡ@@@@&j@8@4&j@A@A@)UDT_to_DTE@!UP@C @BA76@@@41 @0@&@V@%@#!@jf!@A@@@@Nؐ @@8LԐӠѐ@@@^ @*@H*+@^.`0(@@@r @>@\>?@@sCζ@vFΐ>@@@ @@pRS)+@@@@@@O@@@@@s@5@A@A@yzx@ @@@@ @w@om@A@@= @e@da@I@@ @]@\U@@@à @Q@PG@@@ˠА @@C=@@@@@<@@9@ @@鐑@@@@@ᠠސ @ݐ@0 @@АΠ@̠Ӡ@@A@0 @@0 @A@A@A@@@@ @@ @@@q @p.@.l/@2j4lih,@W@@#S @RB@ BCND@$G|@'JLKB@m@@9> @@FT?@&[\B.90#@QT?@@@@@P@@@@Y@1MiniDecidableTypew@o @nmcb@@@`e @@HP@*ҡCje c@@@@v@11MiniDecidableType@@@@*ҡC@)@*ҡC@A@A@(Make_UDTA!M@ @@@@ @@|A@A !@@8@@@Z@@@@A@(@AJ@A@A@n(Make_UDT120@Ґ @Ɛ@@@àȐ @@/!@X@@@ @@@ @8@ᐑ^!M@:@@&/@A@+^@A@@@@@堠 @Q@}@Қt@ 8AYK Jw+@ u(%@@@@ @t@u@v96@@8@@C@<@ CH@" u@A@0p@A@60p٠JQ@A@AB@A@J@A@@@@@-(eq_equiv @/RelationClasses'ClassesD@.eq_equivalence()'2@ @+Equivalence~@W@F8Iu(\&@k5D/RelationClasses'Classes,@#()'L@@\@@CP@0p@@0p٠JL@A@AB@A@)UsualIsEq@A@@@@A݋X_AB@A@@| @v@fz@@@@Cv@0p@@0p٠Jr@A@AB@A@<@A@@@*@@ @@  @ѠΠ"@@@@ @@ !@$  @' ٠;1@@@@@@@@@@Y~@J@Y~@}@A@8A@O@8A@A@A@AB(OT_as_DTB!O@ @d?w1D+OrderedType@@@@?w1@ @A@A@@@AA@@A@ @d@B'@o@@@@@@"lt @d@@@@@ @@@w@@@@@- @@ )~*@|~{@@@@@<b @@89[:@!@$Y@@@@@M(lt_trans @@,JKmL@N@Fw@@@@@@a)lt_not_eq @@@^_@5S(@@@@@p'compare @@Omn@'Compare8Ȃ@w)\@@@A?vtA@A@@ @@f\y^@@@@@@+OrderedType*Structures#Coq@+OrderedType@@@@o@@!tod@@A@w@@"eqwd@@A@w@@"ltwd@@A@ABC@α@Ő @Ð@@@ @@@@@Ǡ @@@@@ΠN @@@@@@ՠ- @@@@@@ܠ @@@@@@㠠 @@@@@@ꠠ @@@@@@ @@u@t@@ @@pj@@@@@i@@]@  @@!@eo@@@@ @@@9@%*@񐑠6@uw@@@@@# @@C@}w@@@@@0 @,@08q@&'@1*VZ@'eq_refl08q@@@@@H @D@\@+>?@ q@&eq_sym\@@@@@_ @[@݀@BUVW@2(@4'@(eq_trans@@@@@x+ @t@3H%@[nop@r@u*0E@D@CH%@@@@@3 @@;+@w@l7@F+@@@@@; @@C*l@?2}+@'compare*l@@=@@ @@\;@z|@&eq_dec\;@@@@@@@@@@@A@*@@8*7@A@*V@@6*V5@A@*@@4*3@A@ABC)Nat_as_DT-OrderedTypeEx*Structures#Coq@)Nat_as_OT @)Datatypes@#nat@@@,6k)Datatypes$Init#Coq@@#nat@D@-OrderedTypeEx*Structures @3@@B @A@@A@@@@@@AA@@"s @,Ring_polynom+setoid_ring#Coq@@&PEeval"s @@A@AA@A@1 @0H@I@J867 k?D%LogicC@"eq @L?@@@@@3 @I@yt-OrderedTypeExq)Nat_as_OT@3@N bꐐ<+kG'_@@@@@Sِ @ @a !@w$y&ѐGwv@!t3DJ@&eq_sym XL@@@@@zΐ @G@GHI@L@Op)Dl@(eq_trans!yL@@@@@ @%Peano@ Uxc@!nܶ!m%Peano@"lt Uxc@@@@@ @@`T@? @@| @3@@(lt_trans`T@@@@@٠ @@7 Z@]@ߩ@ {@3/א@)lt_not_eq7 Z@@@@@ @.w/Р1@*comparison;f@@@@@@@@@@@@D!c @+(PeanoNat%ArithH#Nat@l3@3RЀ ©TZ:D!HD,ABdjJ+Compare_dec @.nat_compare_eq'ڀ޷Y3ABAy_@1nat_compare_Lt_lt&x(jD-RC Cpͩ&@1nat_compare_Gt_gt&#C@{U>>{ؐ ZC@o  +k()G 7!#= R='+'+'+'$'7"9'7"9'7"9' +k+ 7!77"T'7777#',>%Arith@?'ڐ䠐Р@};f@@|{z@@A@B@@E`tq@'comparelu@3RРl-@3̠&@O&x 7@t3/Ġ&+OrderedTypeB@'Compare8Ȃ@ܠАԠC@[&4@@@@@  @@>U;@#!ErM@&eq_dec>U;@@@@@@@@@.Positive_as_DT''.Positive_as_OT$ @'BinNums'Numbers$@(positive*@@" 'BinNums'Numbers@(positive*@D@*0@2@A@@A@@@@@@8 @7/@&0@1$&DL!@@@@@2 @ߐH`@x>>.Positive_as_OT@| @K _ 琐>@@@@@OՐ @@]@s!u#͐CL@ D_@@@@@pĐ @>@~>?@@C@F𐐠fL#D~@@@@@ @&BinPos&PArith#Pos@=L@&PArith @=L@@@@@ @ @ |@ʶ˶!pζ@+@- @ |@@@@@ʠ @@Q@N@@>B@ թ󐩚@ >@  g͐@Q@@@@@젠 @l@ g@#)BinPosDefhf@ )Qڀ/'w  $6.~z@*compare_eq)ހ׷ / ֩)A9 4ʩ.F>@%gt_lt=0C@ ?  9QIѠ%@ 3=>@XPА +k()G 7!!= R6'+'+'+'$'7"9'9'7"9' +k+ 7!77"T'7777#'(@  g@-)ސܠ@#E@ )Qڠtl@E`MՐ@7=0:@ Z@@@@@k @@ @ |  @ t@@@@@@@@@sY'N_as_DT 'N_as_OT ̐ @@!N7@@ŐÐ@!N7@D@ &@(@A@@A@@@@@@ ֐ @ Ր%@ &@' !DL!@@@@@Р ~ @ } V@ ( 'N_as_OT@ \.@      >@@@@@ s @ r@  n@ ! l  # n kᐠw@\.DL_@@@@@ b @ a>@ > ? ]@@ 3C  @ 6F [ #DL~@@@@@-G @&BinNat&NArith g@U \@ D  B &NArith\@ \@@@@@L- @@5t-<@@(C@*B@t-<@@@@@e2 @8@<_neq@ٶڶ@Al    됑9@@@@@@> @  ~@ ]@P00)BinNatDef^@U?H{ 9O@( @\6@ ( a@ \6  °~{   z@6o1t ̰sp & ) V Ѱgd#  + .@ iC@ ۰y-*% 5 8 m#@ 1 B241, ? l(@ i[W@E`7@6o1ܠg@5\6@\6K@k00fT@o?H{tlڐW@@@@@ / @@ 7R@gyez 3 .~   ,@DRq@@@@@ @@@@p'Z_as_DT jj'Z_as_OT g @C@!Z7@@`^>@!Z7@D@V &@(@A@@A@@@@@@P q @ p%@ _&@' ]@!D?L!@@@@@k  @  V@  98'Z_as_OT@ =@      6>@@@@@  @ @  @ !  4 #  |5w@3=D2L_@@@@@  @ >@ > *? @@ ΰC & )@ ѰF  )#D/L~@@@@@Ƞ @  H&BinInt&ZArith @1P-@  U <+k() 7%'&ZArith@61P-h@@@@@Ґ @@ X@ ɶ uʶ C˶@/@1琑@1 X@@@@@ ֐ @@/@  @F , 2  @+/@@@@@!ߐ @ . *!@ H"`@3x)BinIntDefa@]=" ک @X =@Y=ꀚ@ d @ e=b" ?! c=   }@??+ mG$   0 rL)   ϩ@>2)π$C@ |V3*%  ِ [#@ p7 8!:1,  =(@=@N=b@E`@b2)ϐ@3xUI@]=tlP@?ܠ{]@@@@@ А @@ #a@  + Ԡ ϰ * W ͐@#aw@@@@@@@@@v 1PairDecidableType AC"D1 @!t @J %'A*Equalities*Structures#Coq@@@@@ %'@ @A@A@@@AA@@A@"eq @^@)@%1w@.@*1w󀔐A@@@@@'eq_refl @@!x@@<1w󀩚E@&1woA@@@@@0&eq_sym @@U@Q1w󀶐!y\@X1w@b@C1woBi@J1woC@@@@@T(eq_trans @@;y@u1w$~@z1w󀶐!z@1w@@l1wo")@@s1wo@x1woE/@@@@@&eq_dec @@i@1wR@1w󀩛&Specif$Init@'sumbool7̂K@@1wo\%Logic@#notШ@1wok@@@@@@-DecidableType*Structures#Coq@-DecidableType@@@@1w@@1wJ@@A@1wo@@"eq1wo^@@A@AB@D"D2@렠ѐ @ж@ @2t @@2t ΐ@@@㠠ʐ @ɶȚ@2t  @2tqƐ@@@ @ך*@2t /@2t @5@2tq:@2tq@@@  @񚠐D@+2t ښI@02t N@52t @T@ 2tq@Z@&2tq_@+2tq@@@1 @i@P2t n@U2t u@A2tq|@H2tq@@@N@@@2t @@j2t @A@2tq@@2tq@A@AB@x @u@$prodt@CZ@1w󀚠D`@2t @ 677!kTDL@@@A ϲ6W)Datatypes$Init#Coq@@A вuX @AB@@AA@@"s @,Ring_polynom+setoid_ring#Coq@@&PEeval"s @@A@AA@A@ @N O@#andЖw@P@1wo@#fst \V^XJY@2tq@#snd@O@$prodt@vp; ztA +k()777" 777"7! 777" 777"7!7%'𠑑<1%TtpDdxLl4`F@@@A ӳ2[{@AA Գq\~@A@Az@ABC@@x @@C@8@7/#Z=@#/#րAA@@@3A@5A@AB@@ @@^A@BA$@@@SA@UA@AB@@ @@~B;;?C@BCB@IM@@@|A@~A@AB@@ܠ @dBBB@@@@D#$y@/#ր i "x1+"x2(79>A:4b& ("y1@"y2=Ȑ!sI@K) BAAAA@@@@@DɠFÐРG  ͐Y!e,m@GHې(7꠩!=7I)+H z"e0A QAX ? B  @'and_ind14ۀЩ\JEP(@%Falsee@"H0 "H1]$@)False_induُC: ifVQuM\L.IAK+&#"'u'CJ"n0Y<WO Y9410*5(& 3Ȑ"H2o7'CZCSy  ZCgޠ `@Sȩ&Specif$Init#Coq@@'sumbool7̂K@bBA%Logic$Init#Coq@@#notШvBA +k= R'> +''= Rw'>7!= 7R7'>7!= R|'> :9'>+<9''>7!= R'>+m9'>+9''''+77!7!7#'() 77%' +k7!7!7!7 7!7!7!7%'+77!7!7#'() 77%'+77!7!7#'() 77%' +k7!7!7!7 7!7!7!7%' +k7!7!7!7 7!7!7!7%'+k:7!7 :7!7%'+k+ 777!T'7!7 7!7%'@x@ `@@L`4ABAIpAABAAF$ؠޠ _ HlL\e $ l,@$4@TL Xl@@@AR@AJ@AB@@H@@@@@A@@ABC@6PairUsualDecidableTypeAE@ @@ @A@@暠@2t @@!2t 쐐@@ @@'@12t -@72t '@@' @.@=@G2t B@L2t @/I@S2t 5O@Y2t I@@Iy @xP@3_@i2t d@n2t |i@s2t @Vp@z2t @]w@2t c}@2t w~@@w| @{^@2t ՚@2t }@2t  @2t @@@@O͠@@2t @@2t 4@A@A@F@ @@b [@A@@@3p*@@3p*vK@@E @D@'@3p*-@3p*IIH'F5@@Ѡ3 @2.@=@3p*2B@3p*@ٰI@3p*8e߰O@3p*>;:I,)@@# @"P@ݚ_@3p*Td@3p*&i@3p*@p@$3p*\_@w@+3p*cf }@13p*6i5w+(@@!& @%@>3p*@C3p*,'@K3p*)/@S3p*@*@@@@v@@3p*@@Z3p*@A@A@] @堚Eg9@i2t F?@o3p*@jߐTDL@@@|A@~A@AB@@Ԡp @oe@ m@!x@ m@867 kDL@@@A1DH   @@A@@* @)-@&$%Logic$Init#Coq@@"eq @A<+kG'@@@A)@A@@%& @%Q@JH!y@<@" @B" CUiDAL@@@A1FdJS@A@@Q  @}@vt,!z@- $'@0 '*2E*~D8L@@@"A)@A@@x @ @Ӷu@# tݷط P- (@DGH>9^7FA}?L.|!GӠz@bCg\WUd_ #]jL${x& gyys q 6x/ : >|9k > ?;Mv@@=?? J?zN@@OQQ V}{WOLVV``ZQP d^NgaM@'f_equal=@jrr!f?wq!ys @~KR,U'#%("TCՠ][Cm pаb` d+ijc c:Figɩ8vwp p sRKݩU#K%ک کOCC-C 8QD+ /$<CC=C  fзA;5kϷF3.+t)CCMC@|@@- tBA BA +k= R'> +''= R'>7!= R'>7!= R'>  +777!77 tS + +7T77  G + ++ +7T +7T7+++ +7T7 +++777! +7T7: ::777!79'> +9''>7!= R'> +9'> +-9'''':'() :'677%'() :'() :' $'677%'+7T'677%':':':'677%':':' $'677%':: +777$'= R '>''+k6' +k::7!7 ::7!7%':: +777$'= R '>''+k6':: +777$'= R '>''+k6' +k::7!7 ::7!7%' +k::7!7 ::7!7%'+k:7!7 :7!7%'+k+7T'7!7 7!7%'4AB $ <pAFp$ؠH pp  (XH p h:(   $   h  P^  0  @`Hd8lt8 l   P@|\   t \@@?;@@A@?z@@A@AB@@@A@@A@ABA@A@AA@A@A@ABCD@@@@@?;@?z@AB    CD:@@@@ ӳ2@@A@A Գq@@A@?;@?z@ABC@cA@A.0TQ+Ring_theory+setoid_ring#Coq@@ABA.U>[J @@ABC.@@@/@ABC.@/@A-@B@@ACDE@  @A@  @AB&Vector'Vectors#Coq@/VectorNotations)VectorDef'Vectors#Coq@ @  ]@AC@"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@As2@3@&shiftls2*@vY@A@BCs8@8@&shiftrs8/@vY@A@ѓ@?@&squareѓ6@y@A@A@D@&to_intϑ;@@A@z@6@&doublez-@/!@A@A@k@(nth_map2*VectorSpec'Vectors#Coq@@ 8"@A@@x@*fold_left2r@6U@A@"W@~@*fold_right"Wx@6N@A@ABCDE/@h@)log2_iter/_@wd@A@NH/@[@&moduloNH/R@1,@A@A\d@`@&of_int\dW@1?A @A@bz@f@&of_natbz]@1?G!@A@#@l@&shiftl#c@1dV@A@#@r@&shiftr#i@1d\@A@ABCD/x@&BinPos&PArith#Coq@#Pos@)pred_mask/x)BinPosDef&PArith#Coq@#Pos@ )X@A@6@@&square6@19@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@AG@I@)mask_rectG@@+ED@A@F˱@O@)add_carryF˱F@+p@A@K5@@*Forall_indK5@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^@,@"Inx^ʑ&@;z!@A@xa @3@"hdxa -@;zd@A@Axa@8@"tlxa2@;zP@A@BCx#@=@#eqbx#(VectorEq'Vectors#Coq@@ /@A@x[@K@#etax[@> .@A@AxI@P@#mapxIJ@;{&@A@BDx@U@#nthxO@;{)j@A@y@_@#revyY@;{-@A@AG8@d@$castG8'@/Y@A@B8[@i@$last8[c@;d@A@R@o@$map2Ri@;@A@ @u@$take o@;:c@A@ABCݎO@J@+succ_doubleݎOA@6r@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@v@,take_prf_irr O @*@A@A g_@@+pred_double g_@25\@A@ q@@(take_app q@lm@A@ABCD m@@÷ m@2j@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!,@4s)@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_natnTq1@6n@A@B@3@(succ_posB*@@A@I@@'abs_natI@?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{Ua@8R@A@u^@c@(div_euclu^Z@ @A@Au@@&Existsu@@A@UA@#@&ForallUA@@A@#N@)@&In_ind#N#@%@A@ABCDfz@@'to_uintfz~@9w@A@l@@'comparel@3R@A@AA@;@&appendA5@ m@A@L9@A@&caseS'L9;@ x@A@ABW@F@'replaceWݑ@@ 4@A@K@L@&eq_decK@?w@A@K~@R@&eqb_eqK~@?w@A@MĚ@X@)nth_orderMĚR@ O@A@ABCDEFGs8@B@+of_uint_accs89@5+@A@@h@3to_list_of_list_opp@<@A@A}@@,pos_div_eucl}@&`@A@3x@C@'compare3x:@]=@A@`<@y@&t_rect`<s@ b@A@c`@@&take_Oc`@3@A@ABCD@@&double@'޺_@A@(@@'shiftin(@*I@A@Aq@@+of_succ_natq@$@A@w@@&modulowɑ@)1@A@ABEK@@&of_intK@)j,I@A@K@@&of_natK@)j2_@A@H@@'Exists2H@uF@A@ABI@@&shiftlI@*O@A@O@@&shiftrO@*O@A@AC,@@&square,@*ow@A@Z@ @&to_intZ@*81@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@A5z@:@'testbit5z1@-T|@A@BD @?@'to_uint ͑6@.@A@ @G@+succ_double >@.^4@A@A!lK@@)const_nth!lK@@A@!K@@+fold_right2!K@x @A@A#@f@'compare#ݑ]@ )Q@A@$@@8fold_left_right_assoc_eq$@3@A@ABC%t2@q@(size_nat%t2h@ @A@%9@x@+of_uint_acc%9o@ ΋@A@A%V@}@+double_mask%Vt@ S@A@%%@@'div2_up%%z@ "@A@%R@0@)take_idem%R@-W@A@ABCDEG'ş@@'Ndouble'ş@ @A@(K|@>@*eqb_nat_eq(K|@w@A@A(b0@@*shiftl_nat(b0@9-@A@B(nՖ@@*shiftr_nat(nՖ@'@A@(@@0succ_double_mask(@@A@A*W$@@,compare_cont*W$@!@A@*@[@(cons_inj*@!@A@*A@a@(shiftout*A[@@A@AB.0@@.sub_mask_carry.0@΂@A@CDE.@P@!t.G@ ;@A@.먩@W@#add.먩N@ `@A@A.U@\@#div.US@ @A@.B@c@#eqb.BZ@ @A@A. @h@#gcd. _@ @A@.=@n@#leb.=e@ @A@ABCFHIK. @s@#lor. j@ @A@.Z@@#ltb.Zw@ @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@00@c@'compare00Z@?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@@@#odd1P7@ @A@A1Pɣ@E@#one1Pɣ<@ J@A@BC1P@J@#opp1PԑA@ {@A@1P1@R@#pow1P1I@ @A@A1P;@W@#rem1P;N@ @A@B1P@\@#sgn1PˑS@ r@A@1P@c@#sub1PɑZ@ p@A@A1Pe@h@#two1Pe_@  @A@BCDE1[8@m@$div21[8ޑd@ @A@1[d@v@$even1[dm@ I@A@A1[6@{@$ggcd1[6r@ i@A@B1[U@@$iter1[Uw@ @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@ABC2kF@N@(size_nat2kFE@{@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@AB5a@@'iter_op5ay@ @A@C6w~@@'of_uint6w~ @^5@A@6W @6@)fold_left6W 0@*Za@A@A8j@ @'of_uint8j@'"h@A@8V@A@.nth_order_last8V@/71@A@AB9E@@(div_eucl9Eđ @(*k@A@:El@M@/rev_append_tail:ElG@.G@A@A:x@@,Nsucc_double:x@ ʭ@A@BCD@#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=UU@$'R@A@ABCD>@@&divmod>@C@A@>@@&double>@NĴ@A@>@@+shiftrepeat>@2Y@A@AB?2@@,pos_div_eucl?2@-u@A@?;@@&modulo?;@"i@A@ACEFGIL@%Arith#Coq@0I|кX*o4)ArithRing+setoid_ring#Coq@0ṔCgt?}*Arith_base%Arith#Coq@0Ĕ}CS&Basics'Program#Coq@0!bs߯? :VU'Between%Arith#Coq@06v*0ur`C0&BinInt&ZArith#Coq@0BpHޞun^)BinIntDef&ZArith#Coq@0ådR4Tuy'BinList+setoid_ring#Coq@0Au&BinNat&NArith#Coq@0K11ڤs+Π)BinNatDef&NArith#Coq@03@1O,[{ 'BinNums'Numbers#Coq@0dmk(5Ju<&BinPos&PArith#Coq@0vyػ0= u)BinPosDef&PArith#Coq@0}H d.%,b$Bool#Coq@0j 2cZ`FW'Bvector$Bool#Coq@0,rO3^~*CMorphisms'Classes#Coq@0qیZBeϠ0CRelationClasses'Classes#Coq@0TL;0RUfw1+Compare_dec%Arith#Coq@0jXF 8   @0.i bYN Z)Decidable%Logic#Coq@0ND걸풬/OߠǠ@0kO!Z7+'Decimal$Init#Coq@0C涳N*ua%EqNat%Arith#Coq@0AIgՋXRV *EqdepFacts%Logic#Coq@0FI$ͼՋ`)Eqdep_dec%Logic#Coq@0u wWIϰ߼c0όe얟)H.Ƞ+Equivalence'Classes#Coq@07;ꮹ)Factorial%Arith#Coq@0@oehJd#Fin'Vectors#Coq@0r'gް؅/׸-GenericMinMax*Structures#Coq@0måj$"Gt%Arith#Coq@0䙛#c:D $Init'Classes#Coq@0](p{yOh.+InitialRing+setoid_ring#Coq@0k/T=cN"Le%Arith#Coq@0d}Omq+$List%Lists#Coq@0>I+ListTactics%Lists#Coq@0,Jcy{ 0\͉!Ig*Logic_Type$Init#Coq@0 1jc6"Lt%Arith#Coq@0KZ-eJkP܏#Max%Arith#Coq@04=;3$>aU堠#Min%Arith#Coq@0Ce-Fѕ%Minus%Arith#Coq@0LFtR")Morphisms'Classes#Coq@0Imӽ%\$PD.Morphisms_Prop'Classes#Coq@0% :B'.>u%$Mult%Arith#Coq@0햖Qyb0$NAdd(Abstract'Natural'Numbers#Coq@05;ZW:㥜un$)NAddOrder(Abstract'Natural'Numbers#Coq@02'8zn7Hfɠ&NArith#Coq@0S22b%&*NArithRing+setoid_ring#Coq@0_ .Ys!Р'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҆mulf+NProperties(Abstract'Natural'Numbers#Coq@0unt"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#Nat$Init#Coq@0eʤģPSR蠠$Ndec&NArith#Coq@0${IէQ<^렠'Ndigits&NArith#Coq@0*SetoidList%Lists#Coq@0k窪ܸqS-SetoidTactics'Classes#Coq@0S_`nOU$&Sorted'Sorting#Coq@0bb1z٠ʐ0;RWMi\N'Sumbool$Bool#Coq@0sB ,$11.]m'Tactics$Init#Coq@0/9m+ a'Tactics'Program#Coq@033 ٠(VectorEq'Vectors#Coq@0#'`ԶlxjT*VectorSpec'Vectors#Coq@0GyK5%l6L"Wf$Init#Coq@0q+W,J+$Wf_Z&ZArith#Coq@0`&i"m8\@" @""x"t"@A@!9rHȠ!6@"@  "!B l@A! m l@" p o@AB@ 8\@@" " @A@rHȠ@ @Ġ"@A@Ơ@@A@@"A"@A@A@ArHȠ@@ᠢ"@A@B@rHȠ@@"y@A@rHȠ@@"k@A@rHȠ@@"@A@frHȠ@b@d"mD@A@ΠrHȠ̠@"Ѡ2 Q@@@@"_8A@@@@@@@@@"_92M접 @#_10'`o@@@@"נ2 Q@@@@#_11@@@@@@#_122M접 #_13'`o@B@@@!@"2 Q@@A@#_14#@"A@@@@@@@@@@#_152M접#_16'`o@A@@@"2 Q@@A@#_17I@">A@@@@@@#C@A"@A@@@@#_182M접#_19'`o@"C@@@@9<:@"2 Q@@A@#_20@"&4A@@@@@@#WD@A"ϑ@A"E@A@@@@@#_212M접!##_22'`o@)E@@@@@@{~@"2 Q@@@@#_23@">A@@@@@@@@@@@#_242M접AA@A#_25'`o@B@@@@@rHȠ:@#2 Q@@@@#_26^A@@@@@@@@@#_272M접 #_28'`o@@@@#2 Q@@@@#_29@@@@@@#_302M접=#_31'`o@B@@@@#2 Q@@@@#_329@#9BnF@@@@@#_332M접@#_34'`o@A@@@#2 Q@@@@#_35\@#fi@ӐC@A@A@@@@#_362M접CC@A#_37'`o@ C@@@@점@#2 Q@@@@#_38@#@ D@AÐ@AE@A@@@@@#_392M접 EE@A#_40'`o@'E@@@@@@,/2栐@#à2 Q@@@@#_41@#f7A@@@@@@@@@@@#_422M접AA@A#_43'`o@B@@@_b@@@@' m(k>4S@J^m ="\g|@q5N̘+Nf;򥄕@ =Nq."Xք TG!x/DecidableTypeEx*Structures#Coq@1PairDecidableType@!t/#ZР)Datatypes$Init@$prodt@BBB@@@@D!pC"D1'@ 1w󀚠D"D2.@'2t 5@"eq/#րA"x1"x2%Logic9@#andЖw@A,@1woB,@$2tq#8@'eq_refl&o 8@# q/C$b@#fst QJkAVO%A $p@#sndCP{ki!y@[:V]