"` r Vxl(DecimalZ'Numbers#Coq@D+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@*ZArithRing+setoid_ring#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̂"&/r'Prelude$Init#Coq@0JqTttֱ,DecimalFacts'Numbers#Coq@0d6|9ID7'BinNums'Numbers#Coq@0dmk(5Ju<*EqdepFacts%Logic#Coq@0FI$ͼՋ`)Eqdep_dec%Logic#Coq@0u wWIϰ߼&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@0K3 ٠*VectorSpec'Vectors#Coq@0GyK5%l6L(VectorEq'Vectors#Coq@0#'`ԶlxjT&Vector'Vectors#Coq@0_ċ|"Ʌhz'Bvector$Bool#Coq@0,rO3^~'Ndigits&NArith#Coq@0I'BinList+setoid_ring#Coq@0Au'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^,Ring_polynom+setoid_ring#Coq@0gaKw9`UW+ListTactics%Lists#Coq@0,Jcy{%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@0wB|A!CB@@@@@|+to_int_surj @@Cl'Decimal$Init#Coq@@k).J@@"ex @CFEtAcB@@@@@+of_int_norm @@D0署‐|A뀐A@@@@@ʠ&of_inj @@6E@"d'@B A-g@|@@@@@&of_iff @@fF0-2I@#iffС)QF9B>A_2݀B‐A@@@@@+@@@ ӳ2@ ӳ2[)Datatypes$Init#Coq@@A@ Գq@ Գq\ @A@AB@cA876@A.0TQ+Ring_theory+setoid_ring#Coq@@ABA.U>[J @B@,POrderedType&PArith#Coq@.Positive_as_DT&BinPos&PArith#Coq@#Pos@A.Positive_as_OT @+Private_Dec@AB@+Private_Tac@@&Vector'Vectors#Coq@/VectorNotations)VectorDef'Vectors#Coq@ @ABCD@"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ѓ5@y@A@AD@C@&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@ABC/@h@)log2_iter/_@wd@A@NH/@[@&moduloNH/R@1,@A@\d@a@&of_int\dX@1?A @A@bz@g@&of_natbz^@1?G!@A@ABC`@@0double_pred_mask`ϑ)BinPosDef&PArith#Coq@#Pos@ 0-+m@A@#@{@&shiftl#r@1dV@A@#@@&shiftr#x@1d\@A@ABD/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@>@@V>U@A@ABDEFG c@@'testbit c@!ć@A@7 B@G@'of_uint7 B>@*`]?@A@AG@L@)mask_rectGC@+ED@A@F˱@S@)add_carryF˱J@+p@A@AJj@1@+pred_doubleJjr@25\@A@K5@@*Forall_indK5@9M@A@X@@/shiftrepeat_nthX@;\@A@ABCD^Ҷ@@'to_uint^Ҷ@#m@A@gL7@@'sqrtremgL7@40@A@Av@P-PositiveOrder"TO@'comparevd[ZY@M@,compare_cont$ W#Pos@!)Datatypes$Init@*comparison;f@A@A@B.@u@÷.̑@2j@A@-@i@J-I@A@ACEHpb;@l@ pb;@A@q@3@'testbitq*@5)@A@A@h@-replace_orderb@:k@A@2s@n@,shiftin_last2s@=Nn@A@AB6k @@&of_int6k @4}5@A@C6q @@&of_nat6q @4};@A@>@@(mask_ind>@4@A@AD>@@(mask_rec>@4@A@t@@&pred_Nt@4s)@A@AxYe@@!txYe@;z@A@Bx^@@"Inx^ʑ@;z!@A@xa @@"hdxa @;zd@A@Axa@@"tlxa@;zP@A@x#@@#eqbx#(VectorEq'Vectors#Coq@@ /@A@ABCx[@@#etax[J@> .@A@xI@@#mapxI@;{&@A@Ax@@#nthx@;{)j@A@y@@#revy@;{-@A@ABG8@@$castG8$@/Y@A@8[@@$last8[@;d@A@R@@$map2R@;@A@ @@$take @;:c@A@ABCDEҎU@@&shiftlҎUH@5X@A@Ҏ[@@&shiftrҎ[O@5X@A@ݎO@@+succ_doubleݎO@6r@A@AB8@@&square8Z@5,x@A@9@ @&to_int9a@5L@A@A@@%@&to_nat@f@5L @A@y@@y@A@ABCFGI@@@A@ @$@ @A@A@'@@A@E@+@E@A@ABHI@@%case0HI@@A@ADE @y@$even p@>4@A@ @@$ggcd Бz@>U@A@A @@$iter @>:@A@ 3"@@$land 3"@>m@A@AB F)@@$log2 F)@>t@A@ S@@$lxor S@>@A@AC @@$pred @?U@A@ @@$size ܑ@?'@A@A !@@$sqrt !@?@A@ ! @@$succ ! @?\@A@ !7@@$zero !7@@P@A@ABC "?@=@ "?@A@ L@B@S LR@A@ *@@%ldiff *@@A@AB @]@'testbit @8g$@A@ g@c@,sqrtrem_step g@8R@A@ACDE `@@,compare_spec `c@*YJ@A@ @_@ @A@ O@S@,take_prf_irr O@*@A@A 86#@i@ 86#@A@BC g_@@+pred_double g_@25\@A@ q@b@(take_app q@lm@A@A r@@'to_uint rّ@9w@A@BD m@@÷ m@2j@A@ @t@+Exists2_ind Ñn@ @A@A D!H@@ D!H@A@ k@}@'nth_map k@wF@A@ABS@@&of_intS㫑@4}5@A@S@@&of_natS@4};@A@ACEFGHJ\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@"@@&to_nat"@5L @A@AnTq@@+testbit_natnTq @6n@A@B@b@(succ_posBY@@A@I@@'abs_natI@?n@A@AB.@m@'of_uint.d@MS@A@3~@-@'sqrtrem3~$@7]%{@A@ACDE,@@'bitwise,@/v@A@>4'@:@'testbit>4'1@8g$@A@d;@@*rev_appendd;@fh:@A@AB{U@E@,sqrtrem_step{U<@8R@A@u^@@(div_euclu^@ @A@Au@@&Existsu@@A@UA@@&ForallUA@@A@#N@@&In_ind#N@%@A@ABy@@+lt_strordery7@2@A@CDEfz@i@'to_uintfz`@9w@A@O@I@+of_succ_natO@$@A@,@=@,@A@ABl@@'comparel @3R@A@A@6@&appendA0@ m@A@AL9@;@&caseS'L95@ x@A@W@B@'replaceWݑ<@ 4@A@AK@G@&eq_decK@?w@A@K~@M@&eqb_eqK~@?w@A@MĚ@S@)nth_orderMĚM@ O@A@ABCDEFGs8@=@+of_uint_accs84@5+@A@@d@3to_list_of_list_opp@<@A@A}@@,pos_div_eucl}@&`@A@3x@@@'compare3x7@]=@A@A`<@u@&t_rect`<o@ b@A@c`@{@&take_Oc`@3@A@ABC@@&double@'޺_@A@(@@'shiftin(@*I@A@Aq@@+of_succ_natq@$@A@w@"@&modulowɑ@)1@A@ABDK@'@&of_intK@)j,I@A@K@.@&of_natK%@)j2_@A@H@@'Exists2H@uF@A@ABI@9@&shiftlI0@*O@A@O@@@&shiftrO7@*O@A@A,@E@&square,<@*ow@A@Z@K@&to_intZB@*81@A@`@Q@&to_nat`H@*9G@A@ABCDE<@@'compare<*@ )Q@A@@@'Forall2@?j@A@Ac@@'le_lteqc@;@A@e@k@+testbit_nateđb@+@A@AB@@@A@'@@+Forall2_ind'@ ~@A@"@@'to_list"ӑ@O*@A@AB+{@@'sqrtrem+{ёw@,J@A@VR@@(size_natVRZ@ @A@ACD[@@+of_uint_acc[_@ ΋@A@F'@@!tF'J'BinNums'Numbers@(positive*@@A@AM@@"eqM^%Logic@"eq @@A@N@@"leNh!x&!y)@#notШ􀩚@'compare@ )QڀBAC@A@ABN+@@"ltN+h$H"I8B@A@ @{@+double_mask @ S@A@ACEF@@'div2_up@ "@A@@g@0shiftrepeat_last@@A@A'@}@v'u@A@5z@@'testbit5z@-T|@A@ABX@@zXʑy@A@p?$@@!p?$ @A@ACK@@K@A@ dL@@'Ndouble dL@ @A@ @@'to_uint ͑ @.@A@ @@+succ_double @.^4@A@ABCD!5m@@!5m@A@!En@@*shiftl_nat!En@9-@A@A!Q\@@*shiftr_nat!Q\@'@A@!lK@@)const_nth!lK9@@A@A!tTt@@0succ_double_mask!tTt @@A@!K@@+fold_right2!K@x @A@ABC"@@"@A@""d@@""d@A@AD"E@@"E@A@#:$@@#:$$@!@A@A#@@'compare#ݑ@ )Q@A@$ W@@$ W @A@$@@8fold_left_right_assoc_eq$d@3@A@ABC%t2@@(size_nat%t2@ @A@%9@%@+of_uint_acc%9@ ΋@A@A%V@*@+double_mask%V!@ S@A@%%@0@'div2_up%%'@ "@A@%R@@)take_idem%R@-W@A@ABCDEFG'ş@;@'Ndouble'ş2@ @A@'@@.sub_mask_carry'^@΂@A@(K|@@*eqb_nat_eq(K|W@w@A@AB(Xe@@ (Xe @A@(b0@S@*shiftl_nat(b0J@9-@A@AC(nՖ@X@*shiftr_nat(nՖO@'@A@(@`@0succ_double_mask(W@@A@A*W$@e@,compare_cont*W$\@!@A@*@!@(cons_inj*@!@A@*A@'@(shiftout*A!@@A@ABC-)b@@)lt_compat-)bJ@ 1@A@.bo@V@'iter_op.bo@ @A@.f@ @&eq_dec.fޑX@ @A@A.0@@.sub_mask_carry.0@΂@A@BCDE.@*@!t.!@ ;@A@.먩@1@#add.먩(@ `@A@A.U@6@#div.U-@ @A@.B@=@#eqb.B4@ @A@A. @B@#gcd. 9@ @A@.=@H@#leb.=?@ @A@ABCFHIK. @M@#lor. D@ @A@.Z@Z@#ltb.ZQ@ @A@A.p@_@#max.pV@ '@A@B.@d@#min.[@ @A@.@j@#mul.a@ @A@AC.g@o@#odd.gf@ @A@.&@v@#one.&m@ @A@A.뾴@{@#pow.뾴r@ k@A@.L@@#sub.Lx@ @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@/4@@/4ޑ@A@/w@@(eq_equiv/w玑 @M@A@ABCDF/@@%ldiff/@ H@A@00@@'compare00@?H{@A@A1P%@@!t1P%@  @A@1P@@#abs1P@ @A@AB1P&@@#add1P&@ @A@1P@@#div1Pґ@ y@A@AC1P@@#eqb1P@ f@A@1P@@#gcd1P@ 0@A@A1P@@#geb1P@ T@A@1P@@#gtb1Pʑ@ q@A@AB1Pĺ@@#leb1Pĺ@ a@A@1Pň@@#lor1Pň@ /@A@ACD1P@ @#ltb1Pב@ ~@A@1P@@#max1P @ @A@A1P{@@#min1P{@ "@A@1P]@ @#mul1P]@ @A@AB1P@%@#odd1P@ @A@1Pɣ@+@#one1Pɣ"@ J@A@AC1P@0@#opp1Pԑ'@ {@A@1P1@8@#pow1P1/@ @A@A1P;@=@#rem1P;4@ @A@1P@C@#sgn1Pˑ:@ r@A@AB1P@H@#sub1Pɑ?@ p@A@1Pe@N@#two1PeE@  @A@ACDE1[8@S@$div21[8ޑJ@ @A@1[d@\@$even1[dS@ I@A@A1[6@a@$ggcd1[6X@ i@A@1[U@g@$iter1[U^@ @A@AB1\@l@$land1\c@ /@A@1\@r@$log21\i@ 6@A@AC1\$@w@$lxor1\$n@ @A@1\Y@@$of_N1\YÑw@ >j@A@A1\@@$pred1\|@ j@A@1\@@$quot1\֑@ }@A@AB1\@@$sqrt1\@ @A@1\w@@$succ1\w@ @A@AC1\k@@$to_N1\k@ @A@1]@@$zero1]@ eD@A@A2:@@%abs_N2:@ @A@21@@%ldiff21@ ߵ@A@2=*@@%quot22=*@ @A@ABC2kF@y@(size_nat2kFp@{@A@3s&@@*eq_nth_iff3s&@*@A@A3@@(tail_add3@^q@A@BDEFG3@@(tail_mul3@^@A@3@&@,Nsucc_double3g@ ʭ@A@A4z3~@@4z3~@A@5Z@@*shiftl_nat5Z@y/@A@5f}@@*shiftr_nat5f}@4@A@ABC5a@a@'iter_op5aX@ @A@53@A@!t53@#EE@A@A5@F@#add5̑@#Fj@A@BD5e@K@#eqb5e@#F@A@5/@T@#gcd5/@#F@A@A5`@Y@#leb5`@#F@A@B5.@^@#lor5.@#F@A@5}@e@#ltb5}@#F@A@A5ԓ@j@#max5ԓ@#F1@A@BC5!@o@#min5!@#F@A@5@u@#mul5@#F@A@5@{@#pow5ב@#Fu@A@5o@@#sub5o@#F @A@ABCDEHI6w~@H@'of_uint6w~?@^5@A@6 G@@$div26 G@#Q"@A@A6 U@@$gcdn6 U@#QX@A@6 @@$ggcd6 ܑ@#Q^z@A@AB6 @@$iter6 @#Q@A@6 .@@$land6 .@#Q@A@A6 -_@@$mask6 -_@#Q@A@6 2@@$lxor6 2@#Q\@A@ABC6 @@$pred6 @#R_F@A@6 @@$size6 @#R@A@A6 @@$sqrt6 䧑@#RE@A@6 @@$succ6  @#R@A@ABD6*@@.to_little_uint6*@#b@A@6W @@)fold_left6W @*Za@A@A6g@@6g@A@B6;@@6;@A@6@@6ԑ@A@AC6@@6@A@6@@6ϑ@A@A6@@6@A@6@@6@A@ABD6@@6@A@6@@6@A@A6 r@@6 r@A@6 F@@6 F@A@ABEF6@@6ޑ@A@6`,@ @%ggcdn6`,P@$*@A@A6z@ @6z@A@6@ @6đ@A@AB6K@ @~6K}@A@6j@ @~6j}@A@A6E@ @z6Ey@A@6`@ @y6`Αx@A@ABC6f-@ @v6f-u@A@6@ @v6u@A@A6 W@ @r6 Wq@A@6@ $@q6p@A@ABD6@ '@n6m@A@6 @ @@%ldiff6 @$'R@A@A6 @ 3@u6 t@A@B7@ 6@978@A@7=#@ <@7=# @A@8j@@'of_uint8j@'"h@A@AB8V@ 4@.nth_order_last8V@/71@A@9E@ @(div_eucl9Eđ @(*k@A@A:El@ @@/rev_append_tail:El :@.G@A@BC:x@@,Nsucc_double:x@ ʭ@A@<M@ n@)pred_mask<M@)X@A@)S@ E@)add_carry>)S @+p@A@>@ 9@>@A@ABCD>@ @&divmod> @C@A@>@ @&double> @NĴ@A@>@ 8@+shiftrepeat> 2@2Y@A@AB>@ N@>@A@?2@ @,pos_div_eucl?2 @-u@A@A?;@ ,@&modulo?; #@"i@A@BCEFGIJL@%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 3 2 1@0.i bYN Z)Decidable%Logic#Coq@0ND걸풬/Oߠ 0C涳N*ua,DecimalFacts'Numbers#Coq@0d6|9ID7(DecimalN'Numbers#Coq@0- 돐Uϡ*DecimalPos'Numbers#Coq@0y!P-lZ%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.+InitialRing+setoid_ring#Coq@0k/T=cN"Le%Arith#Coq@0d}Omq+$List%Lists#Coq@0>I+ListTactics%Lists#Coq@0,Jcy{ L0\͉!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蠠'Ndigits&NArith#Coq@0-SetoidTactics'Classes#Coq@0S_`nOU$&Specif$Init#Coq@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`&i2 Q@@A@"_6@1L@A@@@@@@@@"_72M접"_8'`o@A'Z_scope@@E2 Q@@A@"_9@P<\@A@@@@'@#_102M접 #_11'`o@A)int_scope@^@.2 Q@@A@#_12@9$@A@@@@L@#_132M접 #_14'`o@CJL@@IL@+2 Q@@A@#_15@6=oc@A@@@@y@#_162M접 #_17'`o@AR@D@2 Q@@A@#_186@*9zA@A@@@@@#_192M접 #_20'`o@Av@h@%2 Q@@A@#_21Z@0' @A@@@@@#_222M접 #_23'`o@C@@AD^@"2 Q@@A@#_24@-' :@A@@@@@#_252M접 #_26'`o@BǠ@mp@@@+g|"ԏy@dDyLjg*Ձ@O=J𘄥sTd%҄@JqZޒ蠸{N_u*U𐑷!z'BinNums'Numbers#Coq@@!Z7@ @@AA@AA@@@@@@D%Logic$Init@"eq @#&BinInt&ZArith$"@&of_int\d)BinIntDef(@1?A @&to_intV+L @2󀐐A+AEFAC2J'  !pQ@(positive*@B@(eq_ind_r!2#`@!N7@B.!n WoL@$of_N1\YF@ >j:xBB+@AA@AA@@@@@@@D64o#NM=;LAAXFDU!JBa])QC&BinPos&PArith#Pos@'of_uint7 B)BinPosDef @*`]?@'to_uintfz @9w*DecimalPos(Unsigned@%of_toTҀC˩@ 8j@!'"hHCөNN|vr}ǰߩ@#opp1P@ {xCqoװj hc^Z@C!7Cᐩѐ!d'Decimal@#int).J@ @AAAA@@@@@D!i ꩚@$norm)9փ#!@$uint):U@@&eq_ind J&BinNat&NArith>@ )BinNatDef@.@. @MS!u)ALL[N쐩䰩TA8B)$<;_@%unorm*"Hf(DecimalN@%to_ofIlpCyuRCFSH^Ȑ"HdcehO]h k'DwdZv@,@AAAAAAAAAA,@AAAAAAAAAA@,@@@@@@@@@@@@@@@@@@@@@D!xک@&nzhead:g?E,éǩCΩDƷթEͷܩFԷG۷HIJKvשC޶@)U,7pa^FY!H6 Ȑ"H0;@&eq_sym X+C-G1W4РK@#andЖw@BBB@@@@D@@^H`J@dNAgQ@kUL,DecimalFacts@'unorm_0oH(Q@@@{e\0g"LZHm4Dq6KrCfcFIklC@}!]Np@6C[֐H-Zթ˷lj^XȐ"Hp֩# k'bmK3GlXx ŰЩn D&а1,߷ٷӷͷǩ&' ,>ҩIֶ@8©jB@@@@@D!y@@ |吷ԩةȐ"H1"!eՔA!@$Truey@@(@%Falsee@A'  1@)False_induُG@:KKJ,n*C-shP 3L6|m$Yq<U?o-bsE^Hq6k u'NgQs?tw 0WƩpZuH}y9`ϩycwQ${BiةlyZ-}%Kru{c6.T{~}l?77CDǩzCJCdߐQ\IeCMChӷ"n'ַ"EQðΩbީw̰Ð ӰȐ"۰z(DecimalZ@51LĩƐ@"ex @A  ة驚@h<\א   A 样ɩ+Щ-|p@,of_uint_norm ZLC6 ~-  'l-/G1,M+i,̩@@(uint_ind:ll8J' ܩ@XL{G1x!CKc ^;#IHd#WA6C\tԐCqN(4hR3MWPX[6]VN,M@_N@`VI%QOFzM@+of_uint_acc%9@ ΋_CF1v;P\z9@[uƐx(u,t''&'''''''nJvtkrА%"CfߐQ[p|P`{搩H,GGGFGGGGGGjEK<Cưq>{аgh,ggggfggggg߰e.bBC _׷۩"'ٷ>,թ̠ө1O!Cǩ@ѷݩBܩG^,젩 8QocC(@aӐ;2c!h0"%, AYrǠ!!CH`[8R<7AI:BE7,60 86-ay4BCi)|Y3?s]#>Xbc[cf X,W          Q-YWNUѩ!bCI4iRy^|Ȑ!f)@.nzhead_nonzerooH9wuu@@D@yېM\␩T!r~{|}"d'o@d@x{b°G[@Ű^Aǰ@ʰ$@&of_iff)n@@ ilƩް" .uCЩby];d;@(eq_trans!y e  I@'f_equal=!!w搩/: +-.婷3Đj/7V/(%\AAA7"  .II<3  5Od '(@*or]qs0CH2KPbj]ZWTOoP4`vggN\wi _:;ay 1-gLyJGjEFJ{QQDpS!uNO7^Cwa@ABVM<iȷCjl^r[%CtDE-ߩXJߩvY |}LsoéǷ!y~İgC̰HϰCf!԰!ᐩ۩Iԩ䐩 ҩ Щΐ˩ _ʩΐȩ!ӷǩZI*ڰѵ J58V79Cȩɩcܩ c(0# 5&'N--"=/ %'?А-E$?G 0 K A 6QQ!;$ =';l*/- 0H2wzIy{$86!CP:: S X,jreb_\WwX<hbooVdq gBCi95oETROrMNRYYLx[!}VW?fKivHIJ^KUDqNKrtfzWc-C|[LM 穷`RN~a éT{wg˩Ϸ%! mp̰yoC԰P}װKJ)ܰo)鐩Qܩ쐩ک ǩ ة ֐өgҩ֐Щ!۷ϩbQ2ٵR=@^?ACЩѩkk08+(%"=.V55*E7 - /Gؐ5MGO8SI>YY!!CCC[E@?Wi`kCW>,?f~0j|wM^  ĩw(X QW ^_",eAA@B9@0@&of_inj' րʷ!E IPcU@+of_int_norm9zAMW[3׸.!9r