"`gKEŰ$Ndec&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'Sumbool$Bool#Coq@0sB ,$11.]m&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@0BA'BinNums'Numbers@@!N7@A[ZmA@@@@@\-Nxor_eq_false @@G;9͛'BinNums'Numbers#Coq@@(positive*@@ǀFECB'BinNums'Numbers#Coq@@!N7@BA‰DB@@@@@/Nodd_not_double @@H!a'BinNums'Numbers#Coq@@!N7@@'Ndigits&NArith#Coq@@$Nodd:A"a0P?26@&double-@&double'޺_A䜠B@@@@@堠4Nnot_div2_not_double @@bIDs(g@CeX\@$div2 hxS@$div2>ÀBABY{n<,B@@@@@9Neven_not_double_plus_one @@Jzy@n@%Neven;/Ag@+succ_double @+succ_double.^4fI[B@@@@@J=Nnot_div2_not_double_plus_one @@Keʶ@ȩcBA{B٩̀4wxB@@@@@y)Nbit0_neq @@L؛"a'@؀)Datatypes$Init#Coq@@Z'@@#odd ~@#odd3ɀBB@A#B@@@@@(Ndiv2_eq @@A@@@@@5Nleb_double_mono_conv @@^Mö@߀$€BǀAA9A@@@@@>Nleb_double_plus_one_mono_conv @@/_|@S(BAA#h=ߜA@@@@@ᠠ0Nltb_double_mono @@^`@@=WBABJd- 1!B@@@@@9Nltb_double_plus_one_mono @@ao@lBA=By:=PB@@@@@?5Nltb_double_mono_conv @@b} @ਗ਼~BAtBʀmlB@@@@@n>Nltb_double_plus_one_mono_conv @@cF8H@ʀ䀠GBLAB߀$B@@@@@-Nltb_Ncompare @@d=g;퀠%Logicc@"eq @)Datatypesm@$boolZ'@<i@?#_꜠B@;f@}@'compare00x@?H{ C@@@@@ߠ0Ncompare_Gt_Nltb @@\e> @;.(BACHbB@@@@@0Ncompare_Lt_Nltb @@fe0.@bUOBABo+,>B@@@@@-)Nmin_le_1 @@gWUͩ@#min @#min3`BABcA@@@@@R)Nmin_le_2 @@h|z򩚠ǀ%BAAA@@@@@r)Nmin_le_3 @@i<J@ЀꀠCIBAA‰'A@@@@@)Nmin_le_4 @@ j@j̶xʶ@CCwBAA U*.̜A@@@@@Π)Nmin_le_5 @@ Kk-nln@ ,qFCBA@ :TX A E_g  A@@@@@ )Nmin_lt_3 @@ lf31@ e݀BAC ;B w 4 FB@@@@@ 5)Nmin_lt_4 @@ mѶa _@ ة BAC iB ꩚ aÜ tB@@@@@ c@@@ ӳ2@ ӳ2[@@A@ Գq@ Գq\@A@AB@cA m l k@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 0K11ڤs+Π)BinNatDef&NArith#Coq@03@1O,[{ @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܏%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$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@0FJps$Peqb9D{(@@)@$Neqb9D{(@@_@,Peqb_correct9D{(@@;@(eqb_reflf B,Neqb_correct9D{(@@t@ ^d] )Neqb_comm9D{(@@~@'eqb_sym6ea2 Q@@A@#_14@ @A@@@@@@@@#_152M접#_16'`o@C.positive_scope@@@C2 Q@@A@#_17@N s@A@@@@0@#_182M접 #_19'`o@C.0@@۠ޠ@:2 Q@@A@#_20@E';n@A@@@@]@#_212M접 #_22'`o@C[]@@ @<2 Q@@A@#_23)@G T~@A@@@@@#_242M접 #_25'`o@C'N_scope@@X[(@2 Q@@A@#_26W@-d@A@@@@@#_272M접 #_28'`o@C.0@@U@2 Q@@A@#_29@ @A@@@@@#_302M접 #_31'`o@C[]@@@2 Q@@A@#_32@@A@@@@@#_332M접 #_34'`o@C@@ߠ⠐@&eqb2eqF@@@@@@@@$Bool#Coq@@2not_true_iff_falseb@8./theories/NArith/Ndec.vv v '9@@@@@@@@A@@@&eqb_eqڴ@v v IQ@@@@@@92 Q@@A@#_35@DK@A@@@@r@#_362M접 #_37'`o@D蠐ꠐt@@ADY@&2 Q@@A@#_38C@14J3@A@@@@@#_392M접 #_40'`o@C@@A5w@2 Q@@A@#_41p@@A@@@@@#_422M접 #_43'`o@CGI@@n@2 Q@@A@#_44@@A@@@@@#_452M접 #_46'`o@Ct@w@!@2 Q@@A@#_47@8K@A@@@@+@#_482M접 #_49'`o@C@@@2 Q@@A@#_50@  ~@@A@@@@X@#_512M접 #_52'`o@DΠР@@@&)@2 Q@@A@#_53(@$tv@A@@@@@#_542M접 #_55'`o@C@@VY&@2 Q@@A@#_56U@7\*@A@@@@@#_572M접 #_58'`o@C,.@@S@2 Q@@A@#_59@F@A@@@@@#_602M접 #_61'`o@DY[@@@@2 Q@@A@#_62@y`@@A@@@@@#_632M접 #_64'`o@D@@@⠐堐@ޠ2 Q@@A@#_65@U@A@@@@E@#_662M접 #_67'`o@C@@@2 Q@@A@#_68@@A@@@@r@#_692M접 #_70'`o@A@@2 Q@@@@#_71'#@#_722M접 BAAA#_73'`o@B  @ܠ@T2 Q@@A@#_74[@_:)1e@A@@@@@#_752M접 #_76'`o@B24@@X2 Q@@A@#_77@c:)@A@@@@@#_782M접 #_79'`o@B[]@.1@N2 Q@@A@#_80@YM@A@@@@@#_812M접 #_82'`o@A@U@Y2 Q@@A@#_83@d đ@A@@@@2@#_842M접 #_85'`o@D@@@}Р@^2 Q@@A@#_86@i:Z@A@@@@c@#_872M접 #_88'`o@E٠۠ݠ@@@ @]2 Q@@A@#_898@h7{@A@@@@@#_902M접 #_91'`o@E@@@栐預점<?@^2 Q@@A@#_92n@ik@A@@@@@#_932M접 #_94'`o@EEGI@@@"ru@_2 Q@@A@#_95@j[@A@@@@@#_962M접 #_97'`o@E{}@@@RUX@`2 Q@@A@#_98@kaA@A@@@@;@#_992M접 $_100'`o@C@@@f2 Q@@A@$_101@q!@A@@@@h@$_1022M접 $_103'`o@Cޠ@@@d2 Q@@A@$_1044@o@A@@@@@$_1052M접 $_106'`o@C  @@ߠ⠐2@b2 Q@@A@$_107a@m%I"@A@@@@@$_1082M접 $_109'`o@C8:@@_@`2 Q@@A@$_110@k4,@A@@@@@$_1112M접 $_112'`o@Ceg@@@^2 Q@@A@$_113@iReflexive_partial_app_morphism 2R,A!B)@*respectful%WO?  0&Basics'Program@$flip$ @$impl7o)@2subrelation_properJ7@%# '@((L#**NN.Morphisms_Prop5@9iff_iff_iff_impl_morphism8C-42X/@$unitUe@AG@6subrelation_respectful>6z B@ffN@0subrelation_reflv Im!D KKoo o?V@9iff_flip_impl_subrelation2VA\@6reflexive_proper_proxy5W{/RelationClassesb@-iff_Reflexive/h԰}wq@.compare_eq_iff܀y,omjWR@(symmetry0xjv@-iff_Symmetric!xˠ͐%#$,mh&50(נƩ,to--/ޠ,"!n8@!N7@"n' ǩŠ&BinNat&NArithH@00)BinNatDef@?H{é)!,-'@ Y@3pk 7 ԩ:2$@e/F@&# ,gb (5@ڴ0q/OMGN , % '1$9L,,),z.+@)PBb`Zaec!mf@w@/;@MI@JwoCN+@@@C}wP<Z\ywx;}{u|p@$lxor Sk@>mA{@'lxor_eq Gpwva@(eq_ind_r!2#wvq@(eqb_refl^d]xѩ-Bpn@#notШJǰJB ΰȩE հd $Bool@2not_true_iff_falsebflrW(!AyyQ-O@0not_iff_morphism ZyJ5#Р"H0`Ƿx1Lϛ@%Falsee@) کYd/)@&eq_ind JIIgN@.lxor_nilpotent- &%0(B@@@@@D!y)@4,@7/G7E>6"IB:FȐ"H18B!eEE@@A@A@@@@DOM2o@$Truey@@ZA)=]y@)False_induُdD@jbNNgHoAi/NOC!ap'Ndigitsa@$Nodd:ɷ"a0};9ː`x@&doubles@'޺_mr ѩ۰o~l٩␩3W ϐ_]" (9 h' DB۩C ߩ@#odd ~@3ɀ; !bȩа W@,Ndouble_bit0 Dqk+ذշ@ް@ !@@@@@@@@D$}͠8@ҐCC:M{Ԡ@$div2 hx@>ÀkCP vOYRU^ >9 K۩٠+#(DnAq/'e < 0@@D@44렩=7<>B:([X @4iff_impl_subrelation5OI"N5.TL 1   !^X!b\}C,Gcdnfk;X@+div2_double;#fARCNr@%Neven;/ȷz86Ȑ]u@+succ_double p@.^4jo Ωذlhթސ|/S ː[Y!(5{d& @<ש=۩4İK@5Ndouble_plus_one_bit00gṵɷ@Ұ@հ &@ߩxCC(?ui 3Ƞ\ө2<Р?8Aߩ! ⠩.s~('uQ$iT R é [@0div2_succ_double.[>_vCc"a'!I,&jf70* vZO@&0h1C<6z:G@:~$@KE (NHRLWQ3u p 6(9(9:C됑W9Xga:fgFldipjC3 Ntl5 Q)pVq{s uzT31VI:`8Ubb_ ǩDBԐiiϩٰک'KwÐpS ()&,~lqo[Y;7(ge^p`rfBigKKtPtV-S˰]_dC\ʷ˷ְ"H'o@ө@#add @3 @#mul @3B6B#C@#b2n }:̩g'!F^ 1+%y I< $a?D>8.H#)@(div2_odd@P4*' (P3-l]60. {}v(URJ sU(_\JD|(NF ~+ XRx s96$NdecG@,Ndiv2_bit_eqF5GFCfHg?zjln@"or @~x[z]z@$negbcjlAsu&Bԩ| ۩63ͩةD"ԩҩB:GBAAAA@@@@@D@Qɰ˰ϩKũXаP 9u@-Ndiv2_bit_neqy`@ L!k٩&Specif@+sumbool_rec=_&!s@'sumbool7̂K@ @#sum@ @#sig#* @ | "a1 2٩B A6@&eq_sym X#@5Ndiv2_double_plus_one,+ LB6A2',,1.@,Ndiv2_double'Sumboole@/sumbool_of_bool& BCRL(PeanoNat%Arith#Nat@#leb.=s@ 􀠩L@&to_nat`G@*9G˩T@ TN@3P#uo#Qwq S{u)O1}_ab@.eq_iff_eq_true |;"CAz@"le \v0@>trans_sym_co_inv_impl_morphism'\|+O@/Equivalence_PER/;2V@/iff_equivalenceZ)'{@&leb_lex6hfCch@]l`@^3RЀ^jC\@=trans_co_eq_inv_impl_morphism&ni$W{@.iff_Transitive*zNӰ|X**m@/eq_proper_proxy)fh1+Compare_dec@+leb_compare]з!c.0F'@+reflexivity(ϓ/-f=$Nnat%N2Nat@+inj_compare4IPC@$Nleb?#_Bu E àEiR$MmmmCl(@(Nleb_alt:)1eשՠ'!#m.(* @(Nleb_Nle:)!@'le_refl€9v:HBD$4aMGI*+@QKM1*/$6  ]WY<=;,@E0029U@+le_antisymm6uՀQmno-+0ѩ43ϩy{>\?^@7~]b9WZ@H%,?A@Hpcus&JDPNy~<,20V-%@"@,64Z Gy @(le_trans.d:?8éj[A@0leb_correct_conv>M̀bIt@+le_lt_trans2jQ@,leb_complete逰@1leb_complete_conv _C@@ܩޠq߷ᵷ 1k.)q@+lt_le_trans ŵ0(x "(C@@1F GC>@(lt_trans=J%E=5C@-.C0 N9@+leb_correctހ@*lt_le_inclNC@("aݐ#`$M*@#nat@@S BAɷAIC((K!SM43B# $Mult@0mult_le_compat_lm,'@n@*inj_double C@'oikMlmI=EvL~x,]]SG7V6N7ihw "Le;@&le_n_S8?4ߩ@/inj_succ_double٧GC@Z 1{]|@]Ma8}O@kߩ°pv Icm@/mult_S_le_reg_l_PjlBlnmC@հϩѠ9HdҷӵC[@ܩM3K1@u= p ϩްx/zi@&le_S_n8ދ0}ݩvjJlkC@  m|@ ,   H.@+sumbool_ind=S  Q+)  VY* A c  @5Nleb_double_mono_conv%I"  aR)̠ 0 *,m "b0! ʐ4q5 ]1/ B <{US G ACHT k< H , *@>Nleb_double_plus_one_mono_conv4,*{R Y SU@ :) ;![\  g aX k e~|# p jz& b nW R P@0Nleb_double_mono!鉀P5x  y{5 ]L ^D6~   é{A#!B ~ I n l1@9Nleb_double_plus_one_mono׀l# P N  I  1 U;  Oo @/compare_nle_iffxJ  em @ dJ jʰ l F jn d p nz) O s$YY  T xT· 뚠l@-Nltb_Ncomparen%F\ʶ˩ 7S  V   ް ةڠ   # @ 젶@  %  נH1@   5   1@   I7 ې$_tmp "  ; '  󜠠 B é 3  T W    S  ũ ] Sͩ ʩ @'CompOppA ; !D թ . ש voà q  @/compare_antisym  2o 3   A ;= ,@#min  '@3` ) ( &   O IK " ) . 0" >@(le_min_l.Uo< : V W   e _a$ D C  l fh L J L>  Z@(le_min_r.UoB V r s t 2 0  |~ [A ` 4=      ٩   W: g i   ? ]  F +, !  E      # G   s @)min_glb_l,N^ | { u+    Y' 4]         ^ C, 9 7 ] 4 ! !  @)min_glb_r,N^@    nA *4r $ 1    ?< @*  ~    Q u < {+ `, V T z Q > 9I; @!  .9# EE  [  G$ S j, ` ^  [ H CSE @+C n, d b  < L :.  f  0RN K @'min_glb Cm ۷ ܷ ݩ   +    ˩   * a4 [ h V N L E    0 9   ש       :   5頩 (   H* ,      z G   B N    .   )  ;ĩ ˩ ɠ., 4    w u n% ^) 4(  ^   Y7 ۩ ٠ĩ ,       h   c! o E$ ⩷  Ġթ   4      " ̠ "  Y( #    ~ 2@*min_le_iff? o  ]% 3ưǠ & x 8C. V Wx X { 4      qmi f `b$     j    r ln8 O u o  ,   (   m  { u W   .  Z  6k 4:      he     7 c = ;Q $,   >   qb ϐM O n`X I_ 4M      {YS    & J  Q K [ |IC4O?w|R &