"`F* \&Vector'Vectors#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ֱ$Bool#Coq@0j 2cZ`FW&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!>*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@0K3 ٠*VectorSpec'Vectors#Coq@0GyK5%l6L(VectorEq'Vectors#Coq@0#'`ԶlxjT?PtI. n9QRA0 Р&Vector'Vectors#Coq@A!t,<@)Datatypes$Init#Coq@@#nat@!A7*C)VectorDef'Vectors@@@ @HA@#nil$consBA,A !h!n5@DCE?BAA@AB@ @C@C@Y@UxYe98H@@Z@@@@@@@AA@@AC@@A@AAPN@@7*@N@A@A@@AA@@A@&t_rect @_]!P?r{d@;z@TR7+ Dk@@!f\\AJ ]T[Vg@XFY_%BGgevA@!Fu6x989Ajk@@@@@@@DEDHA!MLI'2K@zՠ@}@A@"O@(PeanoNat%Arith#Coq@#Nat@&of_int"O#Nat$Init#Coq@@ 6@A@As2@@&shiftls2 @vY@A@s8@@&shiftrs8@vY@A@ABѓ@ @&squareѓ@y@A@@'@&to_intϑ@@A@A/@,@)log2_iter/#@wd@A@l@2@)sqrt_iterl)@!$:@A@ABC c@7@'testbit c.@!ć@A@^Ҷ@?@'to_uint^Ҷ6@#m@A@A,@D@'bitwise,;@/v@A@l@J@'comparelA@3R@A@ABs8@O@+of_uint_accs8F@5+@A@.@V@!t.M@ ;@A@A.먩@[@#add.먩R@ `@A@.U@a@#div.UX@ @A@ABCD.B@f@#eqb.B]@ @A@. @p@#gcd. g@ @A@A.=@u@#leb.=l@ @A@. @{@#lor. r@ @A@AB.Z@@#ltb.Zw@ @A@.p@@#max.p~@ '@A@A.@@#min.@ @A@.@@#mul.@ @A@ABC.g@@#odd.g@ @A@.&@@#one.&@ @A@A.뾴@@#pow.뾴@ k@A@.L@@#sub.L@ @A@AB.@@#two.@ @A@.,a@@$div2.,a@ @A@A.Xz@@$even.Xz@ ?1@A@.@@$iter.ؑ@ @A@ABCD. @@$land. @ @A@. @@$log2. @ @A@A.@@$lxor.@ R@A@.y@@$pred.y@ `<@A@AB.Ʉ@@$sqrt.Ʉ@ ;@A@.@@$succ.@ @A@A.t @@$zero.t @ Z@A@/@@.to_little_uint/@ @A@ABC/@@%ldiff/@ H@A@3@@(tail_add3@^q@A@A3@@(tail_mul3@^@A@6w~@ @'of_uint6w~@^5@A@AB@@&divmod> @C@A@>@@&double>@NĴ@A@?;@ @&modulo?;@"i@A@ABCDEFG@A@@涐@ xYe@ @@ੜ@xYe@@AҶݶ *@&xYe@'@@7@3xYe@4@B/8B@>xYe@?@ +k() ,<'(*()= R'> 3! # '''+k() %'+7Tk+ 7!T'%'ΐpGDAG@@7+@@A@A@@@%t_ind @LJ*]ꔐAޠ@SQ2foy@uxYe @v@HFJJ@xYe.@@A<PGN@xYe;@@Pa@Rfd@xYeI@@Bf@xYeT@@izj~|k8pD]AG@@@@@X%t_rec @UŶSR@S@e bR@ضѶ֩@xYe@@^ө@xYe@@AӶҩ@xYe@@ȶ@ҩ`_@xYe@@BaֶЩ@ xYe@@ϐ <+k() 7%'FhL@@@@@%rectS @7.G @@%@7/H@@#bas!a $rect  @!vϠ @"A@)rectS_fix!TÐ$W2)\^@@A@A@@@@D!xh"v0JD74M]@@L M%Logicy@%Falsee@@&IDPropGϿ"n0" e!ed%devil@)False_induُofh[ܩ?l_,Ky} Lm~i6?{n; TNLAN78Q@@WLM-*@ȷ`US -з^]D#nn'ַc7 @o߶@@xYe@@ @xYe@@Bɩ@xYe@@AeŶ@ xYe@@ö@vut@xYe@@Bɶө%@!xYe@"@ +k() ,V'(*()=4 R'> != R'>/ +'+'$'+''! #'= R'>+ '$''77%'+k() = R/'>+'+'$'+7T'6'L;L%'+k+ 7!T'6'+k + 7!T';%'77%'+k() = R+'>+ '+'$'%'+7T'6'+k+ 7!T'6'+7Tk+ 97!T'%'$접ply0 (;AC栠@@AA@FЀ@@7.@.@A@A7/@"@A@74@@A@78@@A@ABC@5AA@*A@,A@ABC@@%case0 @S7>oWQ@@@B7?XZ@@!HK6@N˷H{; X7A,Zq@@`!ad[&ihgjc\a"@5)@@xYeQ@@w5/x@xYe\@@Ajk@xYed@@;{ +k()= R'>+'''77%' +k() = R)'>+ '+'$'+7T'6'$'+k+ 7!T'6'𠑑CdKРC蠒Fx8"wAC@v@D@@7>o@u@A@7?@n@A@7A,@Y@A@ABC@{A@tA]@AB@@%caseS @ܔ7G`@@@Δ7Ha@@Զ֩ʠکjڷũZ _W7N_g@@|cb ]@:'@9@5xYe@6@; 2D@@xYe@A@;N@JxYe@K@BAEW@SxYe@T@FӐ +k()= R!'> & '+''77%' +k() = R+'>+ '+'$'%'+7T'6'+k+ 7!T'6'𠑑ݐ۠SҐAF@*@F@@7G@@A@7H@@A@7N_@f@A@ABC@Af@Aj@AB@@&caseS' @v7Slt@@YLg߷\O3-+蔑7Xՠq@@r3(cs&7H2@.g7T٠m@@9|:9xwFx&==@*False_rect$0$L0Q@M/R(SR2 @KѶ@xYe@@k@@xYe@@?rs@xYe@@@xYe@@BeF 0+k()= R)'> + '+''() %'77%'+k() = Rk'>+ '+N'$'+ +:97!TT' + + TT'$' + 7!T';$'6'+7T'6'+k+ 7!T'6' n$ \ȠYȠgAE@u@F4Z@@7S@@A@7T@@A@7X@@A@ABC@@@A A@A@A@ABC@@Π%rect2 @*7_x(@@!B7`͠y1@@ڶJ@@٠'7a z>@@%--ѷ'Z"v1ζ"v2':@)B1!b-ةF3F9A@)rect2_fixGz ϶V]M&ӷP)Ķ'_f^,s@3?@ @ xYe@ @B@xYe@@B @xYe@@g&@"xYe@#@ p+k(),'(*()= Rl'>/ + '+D''++ 7#'() "#';9&'LL!7#'+k() + 7!T'&'+7Tk + 7!T'+ 7!T'&'Р<\.ԠAJo@@7_@@A@7`@@A@7a @@A@ABC@A,@AA-@A@AA@A@A@ABCD@@砠"hd @C7lEA@@@x@5ŷ86i"p0;L5DF-@aVGqE@xYe*@@J +k,'(*() ,= Rd'> ++7'> 3+'$'()'()' ++7#'() &'()+ 7 T''+k()+ 7!T''+7Tk + 7!T'+7 T''Р H+|ȠIAABB@K||`䀠@@7sz@}@A@A@A@A@A@ABC@@>)nth_order @7wvP@@}p=A%Peano@"lt UxcH@;{)j@)of_nat_lt%C@#Ͷ@xYe@@Zֶe$ \+k() 7" 7# ' Dl@@7wv@<@A@A@>A@@A@AB@@'replace @C@ 7{rT@@ ԶЩ  ۷שϷ Ķé[!k ©z@{ea  $׷n@ i~r  k@ $6  4 F@ BxYe@ C@     O@ KxYe@ L@X ,k(*()&= R'> +'> 3  +/'$'++ 7#'();'97%'++ 7#'()  ;'97%'+k()+ 7!T'7%'+7Tk+7T' + 7!T'+7 T'+T'7%'ࠑ<LtU점@Jd  ] .l@@7{r@h@A@A@ KA@AlA X@nA@pA@ABC@@ -replace_order @ j7] h@@ M @ R Щ @ 4Ơ@ { X K @ xYe D@ @ d #b [ @ xYe N@ @  cǐl#D@@7@2@A@A@4A @6A@AB@@ P"tl @ 7f` @@i   ķx    Ƿ U}  @   ˶ @ xYe @ @  շ @ xYe @ @֩ @ xYe @ @ i +k+ + 7&'()'()7%' wxt ,@@7f@8@A@A@:A @A@ABC@@ (shiftout @ 7b @@r   @·      n  @       S@   ܩ .@ *xYe @ +@  &@ 8@ 4xYe @ 5@' ?@ ;xYe @ <@ +k+ + + 7#'() ;'G'()7%' ȐD }@@7@?@A@A@AA 5@CA+@EA @ABC@@ 렠'shiftin @C@  O7bd M@@ 2 e2 >&  2 Ӑ \  9 l9 E-!  = p0  G  = L I  F ? D w  ̩   A =   T A R @ o  L L X@ @ xYe 9@ @: @ xYe @@ @' ,Hk(*()= R$'>   3 9 ;'GL;''+k()97%'+7Tk+7T'+T'+ 7!T'97%' ">@ `  LAJX @@7b@J@A@A@LA @A@@ K+shiftrepeat @ 7g @@#   @ L      -     1    D    ͷ)]  ѷ@ ^ @ Y <    B  @ $  ۶ @ xYe @ @  @ @ xYe @ @橛 @ xYe @ @ 3 z +k+ + +$ 7#'() 99 ;'GL ;7 ;'()997%' 젒fDA@ C@@7@T@A@A@VA @XA@ZA@ABC@@ $take @B@  7ܠj @@  + ,"le}@ UxT@   à   m -  = >  C@   @    L   N϶@!  *) *'%. +(PeanoNat%Arith Y#Nat@*nle_succ_0$  ҷ 4 g"xs >< 0  8 4 8 6"Le@&le_S_n8ދ @ B Q S : @ nY K ~O SQ@ @ xYe 9@ @P @ xYe @@ @ ,k(*() ==5 R'> $= RR '>  3 +' +&''+U'$'7";'7!97!7%' + k()+ 97!T'97%'G' +k+  7!T'7%'+7Tk+7T' +7T'+  7!T'+ 7!T'7%'$ "h̠k@ؠ 4hP T,  Y@LXr@Pd @@7@@A@A@A1>lBB@A @AB@@ `%trunc @ 7o @@  ҷ ө ֶ@$@"gt Ux @ש j L @#sub w  s@'eq_rect=߀     H ʩ  ˩%Minus@)minus_n_OL]2  ~++ Ƿé h @  n+ y`@)eq_rect_r 4i   _ ߠ@*lt_le_inclu  Co  CM    2@*minus_Sn_mKƀ "Gt@'gt_le_S3r     s@ ,p  <  =@g Ķ@ Q@ MxYe @ N@ X@ TxYe @ U@ o  +k() + +h +7#'()@97"7"97"97!997"!+997!77 97!7&'7%'()7 L7! + 77#'7%'+ 7!T'+ 7!T'7!7%'0j4c X̠8Ԡ`7N(gh𠑑 w,tl| @@7@@A@A@Aw@AA1E%I @A1J`N @A y@A@ABCD@@ -&append @C@  7s @@ t x  h\!w 8 w  : u@#add `~     zn    ~  K $        ƷG /    7    9   @ /  ж Ѷ  @ xYe @ @0 @ xYe @ @4 @ xYe @ @9 D,Kk(*()=# R$'>    3 7! ;''' +k() 7!7%'+7Tk+7T'+7T' + 7!T'+ 7!T'7!7%'Р>  ~0(XL l S AKX =@@7@d@A@A@fA @A@@ /rev_append_tail @C@  7Nx @@  ! " ֶzx  멚$Plus@)tail_plus~ "  2 3    7   Ġ y      > ~         }@ 6+  F G  Y@ UxYe @ V@ a@ ]xYe @ ^@ h@ dxYe @ e@9 ,,Ek(*()= R'> ; 93# ''' +k() 7!7%'+7Tk+7T'+7T' + 7!T'+ 7!T'7!7%'Р Q4G r|T  AHX @@7N@`@A@A@bA k@A@@ *rev_append @ y7lj} w@@ \ `  PD n  [ !@.G a e c t r쩚v@.plus_tail_plus6SOhj @  r v  f @ xYe _@ @` @ xYe g@ @  @ xYe n@ @ +k() 7! 7!      7 7 7!77# '-|*h| Y Րʐ @@7lj@T@A@A@VAX@XA @ZA@ABC@@ #rev @ ߔ7F @@     H  c @}fh:      ةM@(plus_n_O0G؀ Š @@    ɩ@xYe @@ "@xYe @@ʐ +k()7  GL  7 7 L7!77# 'ࠒn!d t.`-" m@@7F@F@A@A@HA%@JA@AB@@ ٠#map @573@@ 7B:@@ ϶@++A@'map_fix*]  `-`   0c # : ѷ 3 ӷ5h<     D  @_*/$ >q 1@xYe*@@ z@xYe1@@Ӑ +k() ,<'(*()= R'> 3!  ;'G''+k()7%'+7Tk+ 7!T'7%'l@ 8AF @@7@P@A@7B@K@A@AB@TA@OA@AB@@;$map2 @7@@m7:@@!C7y@@!g@@L@<^E@5/)'!߶@@xYe@@W@@xYe@@@xYe@@ ) +k()+L+7# '() !;'()7%';L>@@7@_@A@7:@Z@A@7y@S@A@ABC@fA@AgA@cA@AdA@]A@_A@ABCD@@)fold_left @7˸@@蔑7@@@pB@-fold_left_fix;  ? B   F#!@>, & (Q c@_xYe @`@ +k() ,6'(*()= R'> !3& '''+k()'+Tk+7T'+ 7!T''teHAG@@7˸@L@A@7@G@A@AB@PA`@A@@*fold_right @n7l@@ D72s@@@d@eTA@.fold_right_fixd W  3b^h [  7b]vu lnk~|o@+ i%'x k@xYed@@  +k() ,6'(*()= R'> 3" %'''+k()'+7Tk+ 7!T'+T''FP(kAF@@7@J@A@72@E@A@AB@NA@A@@l+fold_right2 @Ȕ7ά@@ 7@@17*@@/@@@!cʩ1@J@ {cͷ M  ~ @>@ z= ݷ > ?Hʠ=@. (S"K  @xYe@@e $@ xYe@!@ @.@*xYe@+@c@6@2xYe@3@ j +k()++7# '()& '()'qLp@@7ά@`@A@7@[@A@7*@V@A@ABC@fA @aA @\A @ABC@@⠠*fold_left2 @>7i<@@ 7ϨC@@7J@@߶@*@+@,ўB@.fold_left2_fix ;8=p 0@  @9Bu 5ȷ x 8@ P  @ h HU"vh巐"vn"vtȷߩN  Tc@ # η"wh &"wt" a , taer@Q _KE? nkp c@xYe\@@@@xYed@@ R 0+k() ,'(*()= Ra'> 3+ '+6''++ 7#'() "#''+ 7#''+k()+ 7!T''+Tk+7T' + 7!T'+ 7!T''РFL 3ࠒ PŐqAK@@7i@@A@7Ϩ@{@A@7@v@A@ABC@A i@AA 1@A@A~A@A y@A X@ABCD@@~&Forall,< @xYe@@@锑7@@@   é@xYe@@*Forall_nil+Forall_cons詜%@!xYe@"@Aڶ $(  ߩ1@-xYe@.@z@@sA@=xYe@>@BBB@@,CGP@LxYe@M@A8OSI  \@XxYe@Y@@+@*(h@dxYe@e@B'@E@E@r@UA@@@@С@@@@@@AA@@AE@@A@BBi@@7@@A@A@Ai@A@*Forall_ind @wVI ?,bbS \*UP @R@ @@ds@ Щ 54f jB@vi( `}p 1/B@E@E@@@@@@@@@@D·X@0$YZ y4ɷd]W+!y/O>-h]@klܶ@xYe@@b@xYe@@AXm@xYe@@ }@i@ @UA@ @i@hK @xYe@@Bnϩ!@xYe@@j)@;UA@<@sr +k(),@'(*()= R'> 3"#'''+k() %'+7Tk + 7!T'+  7T'%'xAK/\܀p@@@@@֠&Exists,<@S@OxYe@P@KX@7>@@@I d'Z@l@hxYe@i@*.Exists_cons_hd.Exists_cons_tlXs ?i1*|@xxYe#@y@Ŷ@K: ȩ@xYe.@@BEGVp0 WIB@xYe;@@ݶ@tS ᩜ@xYeG@@BBB^I* p5b[@xYeT@@@|k @xYe_@@B1`A Lyr@xYek@@ @0) @xYev@@BHDDDD@@u@@@@@@@@@@@@@@BADBD@@A@BBr젠@@7@@A@A@A@A@*Exists_ind @@ s  @ Peb׷} Ƕ @@@nw@y`qwO؞B@sn!erq pBDDDD@@@@@@@@@@@@@D4ʷ@2rq  9ͷpnl P >ҷu&=  @:UܶL@^@ZxYe@[@Ҷ ,V i@exYe@f@ @f& t@pxYe@q@Bl Bl2-@{xYe&@|@ @@Au.@B@s@rR@xYe9@@BxV@xYeB@@w@]uJ@^@쐐 0+k(),H'(*()= R&'> # '> 3"# ''+k() %'+7Tk + 7!T'+  7T'%',AI|@@@@@P"In,<@@xYet@@Š7@@@ Զ@@xYe@@~}*In_cons_hd*In_cons_tl @xYe@@@xYe@@B -Ͷ  @xYe@@T@wfp W@xYe@@BBBԠE Щ"@xYe@@ݩ,@(xYe@)@B 5Z %橛8@4xYe@5@@ C@?xYe@@@BBDBD@M@x^@@@@@@@@@@@@BABBD@@A@BB)F@@7@@A@A@AF@A@&In_ind @T0:r =g'j0-15DB Dn 4/ @@;z!@mlB@ِL Զ!iאSBBDBD@@@@@@@@@@@De&.@)q s]3 u:3`ַ!1a`@ܶr|8u@@xYea@@xR. r@xYek@@@xYeu@@BYB ƶa@xYe@@R@@!x^@"@Ͷ@̩<@xYe@@BҶq@xYe@@>k@=x^@>@GF $+k(),E'(*()= R#'> %'> 3"# ''+k() %'+7Tk + 7!T'+  7T'%'sAI𠑑pD@@@@@'Forall2,<@'@#xYe@$@p@0@,xYe@-@'(@@Π7M@@'7%@@@0 B@T@PxYe@Q@K@\@XxYe@Y@+Forall2_nil,Forall2_consH!*/#"310m@ixYe@j@A̩u@qxYe@r@A*]6-?D Eo"x1;"x2>@xYe.@@3 @xYe6@@ `@ O@QbҩO񩜠@xYeG@@B*`@xYeP@@BegCChlcu5znm~|{@xYe_@@A@xYeg@@AuxJ KIb@xYeu@@zg@xYe}@@ @G@F-cD@xYe@@BB@xYe@@BA@G@G@@@@@@@@@@@@@@AA@@AG@@A@CCРΠ@@7@@A@7M@@A@AB@A@A@AB@+Forall2_ind @ڷ@@ j ߷  Y@g @@?j@g@ivpxzC@ <   Euũ&" 'C@G@G@@@@@@@@@@@@@D([7@>):8!9Ƿ;e 1 6 7NQPO<M <@>OMB@O@lE<NSL@@xYe8@@@@xYe@@@ 1 gg@xYeK@@Aͩ@xYeS@@A  z53L@xYe_@@ Q@xYeg@@@@@p@@@T@xYe{@@B@xYe@@BӶa@xYe@@Zi@xYe@@a@@@ +k(),K'(*()=& R('>  3#' ''+k() &'+7Tk + 7!T' + 7!T'+  7T'&'~ȠԐtAO<@@@@@'Exists2,<@@xYe@@ h@(@$xYe@%@ 䔑7؄@@7E@@@&  8@J@FxYe@G@A@R@NxYe@O@ /Exists2_cons_hd/Exists2_cons_tl>!*%&Pd@`xYe @a@l@hxYe@i@ =@ݩw@sxYe@t@B35@|xYe'@}@B@OiL9U PQ{ E F#@xYe6@@;(@xYe>@@ h@Uhf$(@xYeK@@B-@xYeS@@B,CCjxe7|}8q6rO@xYeb@@gT@xYej@@ @4NR@xYeu@@BW@xYe}@@BV`жa_x@xYe@@}@xYe@@ @Uw#+H{@xYe@@B@xYe@@BFFFF@ @H@@@@@@@@@@@@@@@@@@BAFBF@@A@CC렠 @@7E@@A@7؄@@A@AB@A @A@AB@+Exists2_ind @0ةة @ ҩ~ B2@@FuF@&$@)ǩC@,_G#"2e M! !CFFFF@@@@@@@@@@@@@@@@@@DL ѷ$@;"!Y[߷- +QUSdbc5(3&wK! Ylj[_]nl_pn@n[w-r.k@@xYeW@@@@xYe_@@ P,Av?wX@xYek@@]@xYes@@@'[@xYe~@@B@xYe@@BS׶hDfE@xYe@@Ͷ@xYe@@"@@H@@@1h@xYe@@B@ xYe@ @B@xYe@@@xYe@@Ķ'@H@@ܐ +k(),U'(*()= R2'>#' > 3#' '+k() &'+7Tk + 7!T' + 7!T'+  7T'&'8𠑑AM1n@@@@@Ԡ'of_list @A@ 87x6@@!lQ@$list]@.1Y@&length䷀䐷RA@B@B@@@@@D"l'-79GCK$tail&BQ {@|@n60.@xYe6@@- ,>k(*()= R'> 3! 7! ;'G''+k7!7%'+7Tk+ 7 T'7!7%'РGA<!l?\<@@ABAEX@@7x@]@A@A@_A al@cA o@gA@ABC@@O'to_list @7t@@N 6 4ȶ˶dz 6{aη@j"ҷA9׷ .Bp 9AK@*@xYe@@rw +k()G ,;&'(*()= R'> 3" :'''+k()7$'+7Tk+ 7!T'+7 T'7$'d<TAF>@@7t@K@A@A@NAb@AOA@QA @SA @ABC@@/VectorNotations"@@@@@ @A@@(cons_inj @!A]E*VectorSpec'Vectors#Coq@@@"a1A"a2B!n)Datatypes$Init@#nat@"v1)VectorDef&@!t;z@D""v2E$"eq%Logic$@  @F2BC)B ?$EB@@@@@D!x9G3,*AH"5 7=^G@%caseS@@&divmod> @C@A@>@@&double>@NĴ@A@?;@ @&modulo?;@"i@A@ABCDEFG@A@@𔑠@AB䛠)Datatypes$Init#Coq@@#nat@婛)VectorDef'Vectors#Coq@@!t;z@趐橛綐婛%Logic$Init#Coq@@"eq @驛@Жw@GFE5GDCB +k()= R '6'' +k() ++#7#'() 7!7" 7"7%'()+ 7!T'6'@@A@|A@@P87pРߐ-,@@]@l@A@A@HA@7Ha)VectorDef'Vectorsw@AxA1DHYXW@@A7*C@ABA7G`@A@HAA@A@ABCD@@AA@@A@#eta @fN@@!v(9\|.rzie~@"hd;zd@"tl;zP!hxOŠ@ؔ=@ƛ)Datatypes$Init#Coq@@#nat@H†B@BAـCBA@@;z@BC@"hd;zdCBAB@"tl;zPCBA +k() + +7#'()G'() 7" 7"; 97!7&'Рvr ܠǐL耠@@f@@A@A@A@AA@A@A7lE@A7f`@ABCD@@*eq_nth_iff @@ *@]iyQ\@@NjB]BA;eCBU@#iffС)"p1#Fin@q"Y@C"p2D@rEBA{=@#nth;{)jD^nXHbxFDCBA]@@iy@Z@A@A@]@A@A^A1FdJB@cA@@AdA7_xO@hA7`͠yS@lA7szLW@ABCD@@?.nth_order_last @@ /71@ܔp2X@@͛@E߀BB㶐!H%Peano$Init#Coq@@"lt UxcS倰D@)nth_order OАD#ƐBCA @$last;dDCBK@@p2@H@A@A@KA@ALA@NA7.G@RA7n?G@VA7wvP@ABCD@@+shiftin_nth @@ 3뗦@Et.\D@@!aA:VICA"k1#Fin'Vectors#Coq@@!t"Y@B"k2C:UDBA^Gw@;{)jGBE@'shiftin*IGEFD#Fin'Vectors#Coq@@#L_R"UpE@@@B @AC8GEDB@@t.@@A@A@AP@AAJ@AI@A@A7bd^@ABCD@@F,shiftin_last @$@ =Nn@㔑}ee@@AL怠CA׀D倰DBrDBCAC.@@}e@+@A@A@.A@A/A@1A@3AF@ABC@@/shiftrepeat_nth @h@ ;\@'󂥠j&@@R@!kِA2CPBB(DʀDȐʐCK@+shiftrepeat2YDCAƀېCBUABD4CABZ@@󂥠@W@A@A@ZA@A[A@]A@_A@aA7g@ABCD@@0shiftrepeat_last @@ @۠o@@@BBACC4BjCBACBA:@@@7@A@A@:A\@A;AV@=A@?A@AAT@ABCD@@P)const_nth @.@ @픑Yq@@Aᛠ)Datatypes$Init@@#nat@!pn@"Y@ADvDB@%const@A@A@B@@ACA al)Datatypes$Init#Coq@@MA o @ABPA@RA@TA7x@XA7t@ABCD@@Ҡ&take_O @@ 3@o󫯷Sn@@`|"le%Peano@"le UxT@AA穛CBr:D@$take;:cАDCBAADA@@󫯷@>@A@A@@A6@BA1@DA7ܠjA@ABC@@))take_idem @@ -W@Ɣ󯰳W@@Ӷն.ȀCAa`CB#le'gDŀFETАFEEA\АFDEBCeАFDEBCG@@󯰳@D@A@@X @A@1@1Y @A@ABC@NA@PA@RAe@ABC@@(take_app @j@ lm@ )\ (@@ 6)BA!mAN4DA̠ͩD#NatN@#add ` B5FEĀАFECEA\@&append mАFECDBDR@@@O@A@A@RA@ASA@UA@WA@YA7s@ABCD@@,take_prf_irr @@ *@ hb @@ CA0/CBϩ5DC\FE#АFDEBC,АFDEAC?@@h@<@A@󻳧@󻳧c @A@@d @A@ABC@FAb@HA]@JA,@ABC@@S#eqb @!A!&A(VectorEq'Vectors#Coq@@@%A_beq@A@B)Datatypes$Init@$boolZ'@B@'fix_beq!m@#nat@!n "v1)VectorDef7@!t;z@D0"v2E65" ! F>A@C@C@@@@@@@D*1(&HOLM18 PSRA!hG;B/8Ia_B"h1 GN"t1 +LS;HKqn@"h2JV]"t2TL}z@$andb= GCRX@@$ @$@A@"O@(PeanoNat%Arith#Coq@#Nat@&of_int"O#Nat$Init#Coq@@ 6@A@As2@@&shiftls2 @vY@A@s8@@&shiftrs8@vY@A@ABѓ@ @&squareѓ@y@A@@'@&to_intϑ@@A@A/@,@)log2_iter/#@wd@A@l@2@)sqrt_iterl)@!$:@A@ABC c@7@'testbit c.@!ć@A@^Ҷ@?@'to_uint^Ҷ6@#m@A@A,@D@'bitwise,;@/v@A@l@J@'comparelA@3R@A@ABs8@O@+of_uint_accs8F@5+@A@.@V@!t.M@ ;@A@A.먩@[@#add.먩R@ `@A@.U@a@#div.UX@ @A@ABCD.B@f@#eqb.B]@ @A@. @p@#gcd. g@ @A@A.=@u@#leb.=l@ @A@. @{@#lor. r@ @A@AB.Z@@#ltb.Zw@ @A@.p@@#max.p~@ '@A@A.@@#min.@ @A@.@@#mul.@ @A@ABC.g@@#odd.g@ @A@.&@@#one.&@ @A@A.뾴@@#pow.뾴@ k@A@.L@@#sub.L@ @A@AB.@@#two.@ @A@.,a@@$div2.,a@ @A@A.Xz@@$even.Xz@ ?1@A@.@@$iter.ؑ@ @A@ABCD. @@$land. @ @A@. @@$log2. @ @A@A.@@$lxor.@ R@A@.y@@$pred.y@ `<@A@AB.Ʉ@@$sqrt.Ʉ@ ;@A@.@@$succ.@ @A@A.t @@$zero.t @ Z@A@/@@.to_little_uint/@ @A@ABC/@@%ldiff/@ H@A@3@@(tail_add3@^q@A@A3@@(tail_mul3@^@A@6w~@ @'of_uint6w~@^5@A@AB@@&divmod> @C@A@>@@&double>@NĴ@A@?;@ @&modulo?;@"i@A@ABCDEFG@A@@ζ +k() ,'(*()=5 Rd'>=! R;'>   3 !7% ' H''= R'>H'G'''+k()6'+k()6'+k()6'+7Tk+7T'+ 7!T'+ 7!T'6'Р0ȠPtP@@ACAC`S@@@A7*C@A@@AA@@A@*eqb_nat_eq @e@ w@ڶ۶ж¶$Hbeq%Logic@"eq @&;@"x#@#  ݐ"@@5@@1&eqb_eq @@ ?w@20$"(A_eqb_eq!x%!y/@#iffС)7035;57 ; D=&v@]x#@^EGM#HJ0@@!*@!*O^@A@A@@1DHY@AgA]E*VectorSpecg@mA@ABnA @qA1FdJf@A@uA7_x>@yA7`͠yB@ABCD@@&eq_dec @{yWUY`WBIG{@@@@@@@@D!b@@/7R`` &Specif@'sumbool7̂K@xRio@#notШ b!HZA]1Ȑ"H0raР@#andЖw@BBB@@@@D@@ٰҩKbwQQݰkUٶ@ⰩkZߩXto^@방mc_@?wzi@@@k{q޶;(vSXoBQM#HeqUO ̶۩栩©Ȑ!aȐ"H1"%&0),.ک4 02٩ ٩A:M>@FBD*(&NGNMS)Q@@\UOa7P!@g= kd **n@%Falsee@o$_tmp@{tQ..;&u|Ȑ$Heq0@(eq_trans!y3R00>K)@&eq_sym X =?2ک@&eq_ind JG!e A@$Truey@@AKC@)False_induُJCC@%A5@ж¶4' d+k()G       7-= R/'     +'     +f'$'  7= R'>' 9'+k+L  777"T'7!7&' +9' 7= Ry'>E6   L  777M  7L77ML +L7777%''= R'6'6''+k6'+k6'+k+  777"T'7!7"7 7!7"7%'Hh<x8MP``,`c@@A@A@j@I=Oh5ABAWD;@EihpPzܠDhjԠo4@@:@@6$cast @B@ ;!+W9@@!v @<8L#!  "m'&!(@ CE&--@@A@A@@@@D.5@V89AUU@]?4A'>EfHJBEk@*False_rect$0G0 o[#\/W^xַ@` zC#[b!wYJah;cj@m%Xs+ =)kEA۩}~Q"1@I2C2"n'?|BFg2Hqw@'f_equal=#Nat@$pred `<U[I/@̔!+S@@ ,,k(*()= RN'>3 + '+''= R'>+ '+*''997777;'LL +97777!L7!7%'= R'>6'6''+k6'+k+ 977"T'7%'= R`'>+ '+L''9L +L7777!97!7%'= R'>6'6''+k6'G'+k+ L77"T'7%'+k() +7T'+ 77"T'7%'+7Tk+7T' + 7!T'+7T'+ 77"T'7%'8_4( tX`D |kdP,+<0=䠒J$,dL8AHXÐDT@Q@@AAAA܀u@@!+@E@A@!+@@A@AB@IA1>lB@MA*@OB@ABC@@*@@@] @Af @iy Y@ABp2 @t. L@A}e @󂥠 @ABC A@Y@AUq@󎨔p@AB@M@A󖪌@C@ABCDEA@󧮻@A󫯷p@󯰳@AB@1@A@hP@󻳧O@L@ABCDEF ӳ2@ ӳ2[)Datatypes$Init#Coq@@A@ Գq@ Գq\@A@A!*@!+:@!+9@AB7*)@CD7+'@7.%@A7/%@74%@ABE78%@7>o$@A7?$@7A,$@AB7G#@7H#@A7N_#@7S#I@ABCF7T#G@7X#I@A7_"8@7`"7@AB7a "5@7l!@A7n?!@7p!j@ABC7sz @7wv @A7{r @7@AB7f@74@A7b@7o@ABCDGH7@7@A7z@7N@AB7lj@7FM@A7@7B@ABC7}@7:~@A7y|@7˸@AB7@7@A72@7άR@ABCD7P@7*R@A7i@7Ϩ@AB7@7@A7@7<@ABC7@7M@A7Ez@7؄y@7x@7t@ABCDEFI@ @A@B@2@A @(@ABC#z@  BD @ @A <@B ;@ :@ACE 8@ 7@A @ @AB @ @ @ ^@ABCDF ]@ _@A [@ X@ @ABC @ @A @ @ ~@ABCD }@ }@ |@ @ABC @ @A @ @ @ABCDEG @ @A @ @A s@BC q@ p@A@BCD@@A@@f@ABCedDEba[@Y@AW@V@@ABCD@@A@k@b@ABCDE_@`@A^@\@A @BC@ @A@B@@C@ABCB@B@A@@A@A@B@@ <@ABCDEFGH 9@ @A#@Bw@r@ACqq@m@ABi@@A@B%@%@ACDE%@%!@A%@$@A$@B#@#@"@ABCDF"""@"@AB"@"@A"@BC"=@"=@A"@!@!u@ABCD!s@!u@A!+@B!)@ @A @ @ABC h@ i@A #@B !@ !@A@BCDEGIJ@@Au@@AB@@Ag@d@@ABCD@@A@@A#@BC@N@AL@L@A@BC@@A@%@ABDEF$%#@"@AB @@Am@@AB@@g@ABCDfge@d@ABb@@A]@B@CD@@B@A)@B'@@A@@B@ABCDA@@@?@@ABCEFGHK@<8@A@"O@@A@As2@@A@Bs8@@A@ѓ@@A@A@~|@A@@*t@ @ 8"@A@A@*x@&* @(6U@A@"W@*}@"W*%@6N@A@ABC/@@A@l@@A@ADE c@@A@K5@*@K5*5@9M@A@X@*@ BX@ D;\@A@AB^Ҷ@@A@C@*@!*@@!:k@A@2s@*@ 2s@ =Nn@A@AxYe@*@*xYe*K@*;z@A@Bx^@*@x^ʑ*O@;z!@A@CDxa @*@#Txa *S@#V;zd@A@xa@*@ xa*Y@ ;zP@A@x#@*@x#@/@A@ABx[@*@ x[@ > .@A@xI@*@vxI*g@x;{&@A@ACEx@*@"x*k@";{)j@A@y@*@y*s@;{-@A@G8@*@G8@/Y@A@AB8[@*@#<8[*|@#>;d@A@CR@*@-R*@/;@A@ @*@ *@;:c@A@AHI@*@&{HI*@&}@A@3s&@,@3s&@*@A@A3@CA@A@B3@@>@A@C6w~@<:@A@6W @,@6W +@*Za@A@8V@,@8V*@/71@A@AB:El@,@:El+@.G@A@@JH@A@>@HF@A@>@,0@!u>+@!w2Y@A@AB?;@IG@A@CEFGI@\*Arith_base%Arith#Coq@0Ĕ}CS&Basics'Program#Coq@0!bs߯? :VU'Between%Arith#Coq@06v*0ur`C0$Bool#Coq@0j 2cZ`FW*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ߠ'Decimal$Init#Coq@0C涳N*ua%EqNat%Arith#Coq@0AIgՋXRV *EqdepFacts%Logic#Coq@0FI$ͼՋ`)Eqdep_dec%Logic#Coq@0u wWIϰ߼*Equalities*Structures#Coq@0ό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."Le%Arith#Coq@0d}Omq+%Logic$Init#Coq@0\͉!Ig*Logic_Type$Init#Coq@0 1jc6"Lt%Arith#Coq@0KZ-eJkP܏%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ɠ'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蠠)Notations$Init#Coq@0&v!D]hwnv *NumPrelude'Numbers#Coq@05WUVŦ]xVXԠ4Operators_Properties)Relations#Coq@0U3y#h&&Orders*Structures#Coq@0$Znl0\͗+OrdersFacts*Structures#Coq@05Mܿ獐ζΖLB)OrdersTac*Structures#Coq@05'4Ԗ+9%%Peano$Init#Coq@0 jha|ؠ(PeanoNat%Arith#Coq@0O~2$k[#lZ)Peano_dec%Arith#Coq@0Kݢ*k$Plus%Arith#Coq@04tmG'Prelude$Init#Coq@0JqTttֱ/RelationClasses'Classes#Coq@0Gz rA6ՠ4Relation_Definitions)Relations#Coq@0]4Ѐd{n^2Relation_Operators)Relations#Coq@0%s鯰s)Relations#Coq@0-SetoidTactics'Classes#Coq@0S_`nOU$&Specif$Init#Coq@0;RWMi\N'Tactics$Init#Coq@0/9m+ a'Tactics'Program#Coq@033 ٠ 0#'`ԶlxjT0GyK5%l6L"Wf$Init#Coq@0q+W,J+&Wf_nat%Arith#Coq@0UJX AJhOA"_39.z"<-"_49.z"->"_1#tӡ)VectorDef'Vectors#Coq@@ /@@:9@A@"W@87@A@ABK5@*)@A@@"!@A@xYe@@A@ABCx^@@A@xa @@A@Axa@@A@BxI@ @A@x@ @A@Ay@@A@8[@@A@ABCDR@@A@ @@A@HI@@A@AHl@@A@BCIx@@A@f1@@A@Af1$@@A@i@@A@Ai@@A@BCk@@A@ @ݑ@A@ũ@֑@A@ABDEFǛ@ӑ@A@d;@Б@A@Au@Α@A@UA@̑@A@AB#N@ɑ@A@A@ő@A@L9@đ@A@ABW@@A@MĚ@@A@`<@@A@AB(@@A@CDEH@@A@@@A@A'@@A@B"@@A@!K@@A@*A@zy@A@AB6W @@A@:El@@A@>@@A@ABCDFG@A@#tӡ*VectorSpec'Vectors#Coq@@ 0=@@@ϑ@A@AX@@A@2s@@A@x[@@A@AB O@CB@A@CD q@@?@A@ k@<;@A@A@@A@Bc`@@A@@Ց@A@A!lK@ϑ@A@BC$@ȑ@A@%R@ȑ@A@*@@A@A3s&@dc@A@BC8V@UT@A@=Y@LK@A@ADEF@A@֠#tӡ(VectorEq'Vectors#Coq@@ 0@@x#@ϑ@A@AG8@@A@BK@98@A@K~@65@A@(K|@@A@ABC@A@@@_ċ|"ɅhzR@ۣ҆kCRք@-Zv25ng~3R@Znܦ[] aS(LMoa*lM