"`qaް%Ndist&NArith#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@0KI'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#3 ٠*VectorSpec'Vectors#Coq@0GyK5%l6L(VectorEq'Vectors#Coq@0#'`ԶlxjT&Vector'Vectors#Coq@0_ċ|"Ʌhz'Bvector$Bool#Coq@0,rO3^~'Ndigits&NArith#Coq@0@WD@ -A@@!fTAXCBb#!!@RS@@@@D)'E k^@0/@D@+@({'+>}%$AD +k()= R'>$'''+k$',pAB@@@ -@G@A@A@@@p*natinf_ind @`^\AP@dc4WV[nUTr10[AB@@@@@@*natinf_rec @ѩ@"\o@dcb[ ,+k7$'X@@@@@(Pplength @@@ !p'BinNums'Numbers@(positive*@  @AA@AA@@@@@@@DA"p'B @''BinNums'Numbers#Coq@@(positive*@)Datatypes$Init#Coq@@#nat@ ,1k*(= R'>G'>3 9'G''+k6'+7Tk6'H䠐@AABA@@ABPCȀ@@@@@%(Nplength @!ac@!N7@@@A@A@@@@D bus$@7 9'G''+k6'&@@AAABtD"T@@@@@i.Nplength_infty @@@D*@%Logic$Init#Coq@@"eq @6@b>A>@A!LA@@@@@.Nplength_zeros @@AtZ@4_)B(BA!k@%Peano$Init#Coq@@"lt UxcW)Datatypes$Init#Coq@@$boolZ'@&BinNat&NArith#Coq@!N@+testbit_nate)BinNatDef&NArith#Coq@!N@+testbit_nat+@$boolZ'@B@@@@@,Nplength_one @@FBݛÀ@ȩBBAUH@1A@@@@@/2Nplength_first_one @@sC  =@B@ABՀ~qiZB@ူ}(ufA쀰တ B8@@@@@q&ni_min @!d^"d'a@ccgDggO"n'P(PeanoNat%Arith#Nat@#min.@ @#$ 0+k()=) R4'>= R'> 7!9'''''+k6'+k6' $vAC|@@@@@@,ni_min_idemp @@DG5N$@YRR&AAA@@@@@Ӡ+ni_min_comm @@EbPcTmCBA%AB@@@@@,ni_min_assoc @@9Frv#d''{jFJCBAQCVBA@@@@@&*ni_min_O_l @@jGnBba@@`@AABA@@@@@T*ni_min_O_r @@H㛠рꀰAB/AB7A@@@@@{,ni_min_inf_l @@I 穚ÀAAA@@@@@,ni_min_inf_r @@J%,ހAAA@@@@@%ni_le @@>%Logic@"eq @@WRR&0@R@SDA T+k() 7!77&'lx(@@@@@@蠠*ni_le_refl @@,Kwe.@E !/AA@@@@@-ni_le_antisym @@BL{@)7@ .ᩛ@@@@@+ni_le_trans @@bM)@?M@DRH @@@@@B+ni_le_min_1 @@NћқÀ^l@@@@@X+ni_le_min_2 @@O盠Հ蛠ـt@@@@@n+ni_min_case @@P뀶@"or @橚€BAB񩚠̀BAA@@@@@+ni_le_total @@Q-.0@ !/ϐ@@@@@/ni_le_min_induc @@RJ8K<"dmA@݀AC@䀠@؛R@ F@ zP,@@@@@(le_ni_le @@>S!m웠 @N@"le UxT@BA"B詜B:@@@@@&(ni_le_le @@jT,04@CS1 W@@@@@C+Nplength_lb @@U4Q@V@AB逰}nBvB@@@@@@y+Nplength_ub @@VT:j@BAAhB@@@@@&Npdist @"a'@>&BinNat@$lxor S@>+@ H+k() 7!7$'"th@@@@@ܠ+Npdist_eq_1 @@ Wr&@HTAAhA@@@@@+Npdist_eq_2 @@=XԛV@"BAA1@@@@@+Npdist_comm @@aYހz
@T@@@@@90Nplength_ultra_1 @@}Z@VɀB΀Ad׀)ۀ@$lxor S}@$lxor>6@@@@@o.Nplength_ultra @@[J0̛4BA 1BA@@@@@,Npdist_ultra @@\x^b#a''g΀CAԀABڀCB@@@@@@@@ -b@A ӳ2@ ӳ2[)Datatypes$Init#Coq@@A@ Գq@ Գq\ @A@AB@cAܠ۠@A.0TQ+Ring_theory+setoid_ring#Coq@@ABA.U>[J @B@&Vector'Vectors#Coq@/VectorNotations)VectorDef'Vectors#Coq@ @A@"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@j@(nth_map2*VectorSpec'Vectors#Coq@@ 8"@A@@w@*fold_left2q@6U@A@"W@}@*fold_right"Ww@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 @2@"hdxa ,@;zd@A@Axa@7@"tlxa1@;zP@A@BCx#@<@#eqbx#(VectorEq'Vectors#Coq@@ /@A@x[@J@#etax[@> .@A@AxI@O@#mapxII@;{&@A@BDx@T@#nthxN@;{)j@A@y@^@#revyX@;{-@A@AG8@c@$castG8'@/Y@A@B8[@h@$last8[b@;d@A@R@n@$map2Rh@;@A@ @t@$take n@;:c@A@ABCݎO@J@+succ_doubleݎOA@6r@A@HI@@%case0HIz@@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@u@,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@:@&appendA4@ m@A@L9@@@&caseS'L9:@ x@A@ABW@E@'replaceWݑ?@ 4@A@K@K@&eq_decK@?w@A@K~@Q@&eqb_eqK~@?w@A@MĚ@W@)nth_orderMĚQ@ O@A@ABCDEFGs8@B@+of_uint_accs89@5+@A@@g@3to_list_of_list_opp@<@A@A}@@,pos_div_eucl}@&`@A@3x@C@'compare3x:@]=@A@`<@x@&t_rect`<r@ 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@/@)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@*@Z@(cons_inj*@!@A@*A@`@(shiftout*AZ@@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 @5@)fold_left6W /@*Za@A@A8j@ @'of_uint8j@'"h@A@8V@@@.nth_order_last8V@/71@A@AB9E@@(div_eucl9Eđ @(*k@A@:El@L@/rev_append_tail:ElF@.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ߠ'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.+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܏#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ɠ'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_nat%Arith#Coq@0UJX AJhO$ZAdd(Abstract'Integer'Numbers#Coq@0Y9Vgⲫ򐠠)ZAddOrder(Abstract'Integer'Numbers#Coq@0w:}H#NK}{*ZArith_dec&ZArith#Coq@0mZ# O7'ZAxioms(Abstract'Integer'Numbers#Coq@0\}zK=PK%ZBase(Abstract'Integer'Numbers#Coq@0 TL}2_} ؠ%ZBits(Abstract'Integer'Numbers#Coq@0ܹCF5s)ZDivFloor(Abstract'Integer'Numbers#Coq@0dj_TYQc|)ZDivTrunc(Abstract'Integer'Numbers#Coq@0`]f5FԠ$ZGcd(Abstract'Integer'Numbers#Coq@0G0=$ZLcm(Abstract'Integer'Numbers#Coq@0(9g%MmN]#ZLt(Abstract'Integer'Numbers#Coq@0xK|j2[&=}۠'ZMaxMin(Abstract'Integer'Numbers#Coq@0bAX1$ZMul(Abstract'Integer'Numbers#Coq@0Mtr\b"H)ZMulOrder(Abstract'Integer'Numbers#Coq@0Dr~-~ECM'ZParity(Abstract'Integer'Numbers#Coq@0S)*Dd$ZPow(Abstract'Integer'Numbers#Coq@0AşsאI+ZProperties(Abstract'Integer'Numbers#Coq@0Ve*ʞ_OV'ZSgnAbs(Abstract'Integer'Numbers#Coq@02`ou{Z%Zbool&ZArith#Coq@0FJpsN$@@B@@@@@@@@#_108@A@@@@@@@@A B @#_11'`o@@@@@#_12'`o@@A@@@#_13'`o@'@BA)nat_scope@@2 Q@@G@#_14@"\97@#_152M접 DD@A#_16'`o@D.function_scope@@@A@A@#_17? 3V/_rect_from_type)w2 Q@@4@#_18)@1llj@#_192M접 DD@A#_20'`o@D3@6@@A@A@#_21? 3V._ind_from_type(|2 Q@@f@#_22[@1q@#_232M접 DD@A#_24'`o@De@h@@A@A@#_25? 3V._rec_from_type(2 Q@@E@#_26@AA#;B=A!H,! 1AK!pO@(positive*@@57B:@(Pplength2@Nf!k:@%Peano@"lt Uxc%G@$boolZ'@&BinNat@+testbit_nate)BinNatDef@+EBnbհ/.f," @,positive_ind?Uзs@۩АNBAy@?5/c#""p0@'nat_indJ@ꐩwADdc@aWQGGʩ ݐA{"H1{  Ȑ"H2Р@"le UxT@A@B@B@@@@@@Dɷ@B%@E"&GGI1'R4,W8Ȑ"H3 U@@A@A@@@@DIGI#KL!mC2GJ97cxxLHcd^@eeϩɠxl\m"n0Dm} XH+.@c]~YPNHCI=OI6@@G1pVI0@ r"n1N!hpFȐ"H4z!KWcJаGАK{ vjݰҩǐTBV?>vAy@?71e%ЩIf搩s>[@@YOI})=@aYS3JI>1@%nhH]ԩi@@8{[{o yAѩ$G(Ȑ"H5ܩ/1̠34   Ԡ4`אO)K@k[Kqfu15XM@̠\;u"Ϡ* 1B@@@@@D!y@MQLu@r˩M\s٩ae`fZkf@'f_equal=E\ZTH@@wS@AA@AA@@@@@@@D^"p'F<sgyuii!NznfƩuѩyPkȐ"H6ЩmPU͠ @\\{2E쐩ܠa|"Lt%Arith$@<_S_n`KC w@#@&@~g-vϷx zAff8-᩷=2 6ѷ7&%g''F'=$J+}".M.0@( /-+@@\/.@68   GH=,A蠶DoBAS@sFE`WXX@wl??@N]Mr@C@vkOC@ߩթϠ kqq1%@۠ wj7+tQ@v@w]sarbYWQ5K2@B+Bз\P@ݩð :dX}˰%LF÷@@Ұn{o*$X1̶@t4.X]t0rl@ ߶@٩HB4䐷ߩŐɐҩa\֐:אېY"U%琩d쐩0ys  , C:}4 (  @ȩ?$ȷҷķ;@&@$J/- / +7 7Y>+uG>??@^0CC}{n~@@leK@٩qf[j5L@$xVW/}MZ0'@@@@@@@@D!b$m" [n" cir[Yз^\0$@&@Eܠyζ@ܩdk{@4Y6@UݷSOCh E@d/1T@;X"Z@ {KѰ9$Bool@/diff_true_false B"Gt@'gt_le_S3r(PeanoNat#Nat@)lt_0_succ5%CJ@"gt UxCP ǷlZ@NH9 SM-ߩǶl@a*w@4ɩ#lf'`*  @c ש1ztCo"ȷsO1驚/@<_n_S`u%%D9Ʒ=@K@ /@OD,HQFs4 UJ/YNkpRSB![Ed{Ȑ"H7L|nc.2sCh37*Z[[@zoTT۩^Ns%Cuf@?_e%!@@6@[ Ppg @kFݩנwfѷ 'p)@OMo|"7#!d@*natinf_ind1l @&ni_minRR&ZN]Qð@#min.@ ( B_RLɷ@װ̩KK@ްө>ǐݩ%ͩC>ؠ@@4-緐"n'"m'ѐE/5ҐO  :OZ]]]^(萩g,@(eq_ind_r!2#  ũ7,Ʃܩ /p&@Ʃ=2hCB7)CשI>.CF"d'IVK֩طN Q^SBCED4YHH9^MNberg7WY9HmŠ\B u͠JܩϠLנo٠q`ݠuu#l f{{ )r+.v("n2;`Wqt93@~@ŰJ˰[  ӰȩGK߰!6v1ˠ 'o!)ѩ))-֩026'~;Ԡ ?0@ 22 K*ߠ0^[< ؐ;ݐHKC"␩_d搩chC,!y{ (+,#d''/<1"7 8:)ط>ABOD-06/K(M$Q'TaV (H9^E5OH{w]Qd #IHn+'Ƞʠtn̠qg'Ҡ=Ԡ|~,>:.0۠ݠRߠV{; <@@+f_equal_nat!-HyBCP OtS6ȰX< @b hrfذ2ө Cuܩ4C68GАIGLB23ېT㩚@*ni_min_O_l?hS멚@+ni_min_comm.fƍjo mrax@,ni_min_idemp'K !շ"@0%@3(,7,j.:/12@ A6$ &;C:;@<@%ni_le !/̶@ QFHJKL0ZOʷ RVUbWxF8Z`ٷ_laOCeg fshX GlZĠ驚n@,ni_min_assoc'y@w]Cv0wKx@=@?:a7+ugy4}Yoy9I^qJ JM+PcCVaT]PxU~h  kHCs~"mgz@"or @ְذϩBéƩ@,ni_min_inf_l'WUͷz!֠)Aéߩ@,ni_min_inf_r'W[̷xȐ!s @'min_dec0A&Specif @'sumbool7̂K@ O Q BAAAA@@@@@D  ,X# .Z b 2he 4j  B  _n!nBAAAA@@@@@D@xy I >  M B 0 '%$ V KO X M2d \ Q ^ S! A 734 e Z(  g \** JC k `. m bǐ f  gG i  j y n \ V n@+ni_min_case.f9(wC v0 w== }7 ~"dm  eFڷ CAlY @Ki@M sҩO\@͠  1٩  3ҩ  ֩*7} {  E    穚 @-ni_le_antisymN[  @*ni_le_refl<S     # a  ǰ   C  <+ f _ l ` Q e E r f[A /@%min_l!9 Q  C x  y ©   r oi @   1 ڶ@    ސ    ĩ   X     S / ̐I    D  PR   Tx   W    #Min@(le_min_r    @Ʃĩ   % C   ¶@ 5 *C Ƕ  ȶ@ W U H Z X  Ѷ@ک  .   ַ J    ٷ " @@(le_ni_le/} /  @  6   8 ! Ts@+le_gt_cases(HC   H    = :  l@#notШ t  W  R x H  P + K "  `     a    cC  Š{ y@,Nplength_one% k ]  k rCHY {  v      6 *@   nW\h = 1 z     v [ Y 1) *y  @ 'd p  y w K ?      je |@ b e  /bf v  w A  @ ] ̰    а   S hSCf : E @.Nplength_zeros1WAQ L  CM        + (@$lxor S $@>3 /@.lxor_nilpotent-  C  驚 @&NpdistTA ܐ  "a'  ٩   橚 G@'lxor_eq G { 詚 @.Nplength_infty16-z  1 / 0 25   4    ;ߩ    @ i@)lxor_commcC G E0 F 0 %-<  N L ? Q O: P@  % '-B X   -   ; *   > K @ . - . h  O D  1$ i -T j  ( >q  8 l x ) B +r C  E^ 0  0 ' Ae  [+k۩ Ԡ 8 7  Gq 9'Ndigits @.Nxor_semanticsGy  C v  )@  ,   _ Y   J   4Cՠ   = ;& <Ȑ!o @+ni_le_total+:Ra  @g   'Z #    & E : ԩ < 1 Y  > . 5hᩚ C@0Nplength_ultra_1;׀  L 2 : 0! . P  S ` U C C%X% c X(8 Z:  `   #% V e  KI S  v   OL   `c     cA 2  a !     lJ^  g (     Rf  p e  @(lxor_0_l& D! @*lxor_assoc,}>           ƩɠDr c ˩Π T Щq ܩ Z  @.Nplength_ultra1MұY  C 4;Y LPF'g[