"` sz*Rfunctions%Reals#Coq@`+Ring_theory+setoid_ring#Coq@)Ring_base+setoid_ring#Coq@+InitialRing+setoid_ring#Coq@+ListTactics%Lists#Coq@(Ring_tac+setoid_ring#Coq@$Ring+setoid_ring#Coq@)ArithRing+setoid_ring#Coq@(Rpow_def%Reals#Coq@%R_Ifp%Reals#Coq@*Rbasic_fun%Reals#Coq@%R_sqr%Reals#Coq@+SplitAbsolu%Reals#Coq@*SplitRmult%Reals#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@)ArithProp%Reals#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ֱ$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#aU堠#Min%Arith#Coq@0Ce-Fѕ(PreOmega%omega#Coq@0\|چBb~w4%Omega%omega#Coq@0t.J'6\ϨrK(Zpow_def&ZArith#Coq@0f蓜DX;V*ZArithRing+setoid_ring#Coq@0{#'[{nm!/,Zcomplements&ZArith#Coq@0ʾq %RIneq%Reals#Coq@0JUڻIu)$w&DiscrR%Reals#Coq@0z41pV.%Rbase%Reals#Coq@0Jܡ\ c6{u0c4+ZŠ,Fourier_util'fourier#Coq@0ϳ> 4`*r0'Fourier'fourier#Coq@0wV9TN0hܒiclE>0X%MԹ%M~0M)&qYlݹ5{0sD\rt/$Even%Arith#Coq@0YO%q}d߫%$Div2%Arith#Coq@0n*Áht!,N0B+L?>*e˃a j]1yz R;ń,Р*Rfunctions%Reals#Coq@A.INR_fact_neq_0 @@@!n)Datatypes$Init#Coq@@#nat@%Logic$Init#Coq@@#notШ@"eq @,Rdefinitions%Reals#Coq@@!RӀ'Raxioms%Reals#Coq@@#INRr)Factorial%Arith#Coq@@$fact>【A,Rdefinitionsed@@#IZR/r'BinNums'Numbersr@@!Z7@A@@@@@AA@@>@,Field_theory+setoid_ring#Coq@@&FEeval>@@A@A"s @,Ring_polynom+setoid_ring#Coq@@&PEeval"s @@A@BA@A@*fact_simpl @@At)Datatypes$Init#Coq@@#nat@cBA#Nat$Init#Coq@@#mul BAA@@@@@^*simpl_fact @@BЛπ,Rdefinitions%Reals#Coq@@!RӀ   @@%Rmult׀ @$Rinv8ĀBAڀЀA&瀐BA@@@@@%pow_O @@=C!x,Rdefinitions%Reals#Coq@@XӀ,Rdefinitions%Reals#Coq@@!RӀ(Rpow_def%Reals#Coq@@#pow#׀A)Datatypes$Initq@@#nat@A@@7@B@@(positive*@C@@@@@%pow_1 @@D_^rD5@!RӀ(Rpow_def @#pow#׀ANMK@K@B A@@@@@M'pow_add @@EÛ€!mǀC(@#add `BACBCA@@@@@/Rpow_mult_distr @@F˚ʀ!yπ瀰ʩ)CBA0̀CAӀBA@@@@@+pow_nonzero @@>G21@'B񀐜@A8.CBA@@@@@+pow_RN_plus @@wH:9kjn@dZC.=AfI=D9F EDRL@@@@@9&pow_lt @@I~}@@#Rlt=l{ABxA~}@@@@@j*Rlt_pow_R1 @@J߀@1B{CB@%Peano$Init#Coq@@"lt UxcATBC̀Ȑ@@@@@'Rlt_pow @@6K*)g-@耐B@*@CC@QEɩ @@@@@.tech_pow_Rmult @@sL65gfMB)BA/B~BA@@@@@.tech_pow_Rplus @@Mba!a~ȩ@%Rplus+1\CBɀAkCB؀BACB@@@@@h$poly @@Nڛـ@/A@#Rle=SBCՀoĀBCː@@@@@/Power_monotonic @@9Of,10@R@#Rgt=<*Rbasic_fun%Reals#Coq@@$Rabs; wC@[@"le UxT@m ٩(@@@@@(RPow_abs @@PJI{zaD8JBAPFBA@@@@@/.Pow_x_infinity @@Qts@pmA`x!b@"ex @!NśĀ@@"ge Uw+|@#Rge=-FU@@@@@y+pow_ne_zero @@R뛠ꀶ@ր AAހAA@@@@@(Rinv_pow @@,S @ B߀ש^G驚󀠩S@@@@@ޠ-pow_lt_1_zero @@`T#"@A'f4@ɩpwv@+̀G=G89@@@@@%&pow_R1 @@U!rj@fZBA\t@"or @,Rdefinitions%Reals#Coq@@!RӀw|dB:~A@@@@@s(pow_Rsqr @@V雠耩πBI@BBAA%RIneq%Reals#Coq@@$Rsqr=MWBA@@@@@&pow_le @@7W+*@D倐ݐBMA@@@@@ࠠ*pow_1_even @@bXRQ8@CCuBzBAA.BC@@@@@!)pow_1_odd @@Yy\PPAC1CBBBdAAsdCTC@@@@@f)pow_1_abs @@Z؛׀%CzCABC@@@@@(pow_mult @@[ޚ݀"n1"n2ީҀCuBA݀ဠCBA@@@@@ˠ(pow_incr @@M\EED@%Logic$Init#Coq@@#andЖw@mCvCB|!% @@@@@ *pow_R1_Rle @@]QP!k@=UBF.B'CVQP@@@@@='Rle_pow @@^웠@ЀqC@uvuހ~F@@@@@n$pow1 @@_߀ƀB~CABC@@@@@(pow_Rabs @@`⚠ံ+ЀBAր耐BA@@@@@à,pow_maj_Rabs @@Ea= =<@V BC` @@@@@)Rsqr_pow2 @@rb5,Rdefinitions%Reals#Coq@@!RӀRiA0ABސ@@@@@&Z_spec,<@5g@@ @(ZintNull'ZintPos'ZintNeg @%Logic@"eq @S[[U  @'c&BinInt&ZArith]\@&of_natbz)BinIntDefb@1?G!$?xy:>@.B~@#opp1P@ {#P AA@AB@BABBABB@@a(@@@@@@@CAABBCB@@A@AAdh@@@@+Z_spec_rect @nr!P!zx !x@(@@m=kC@@!f!e|Ʃ͠ȩAxwuc&Bf^2C`:;8d9AABBABB@@@@@@@@@@DJKHHD@ǶUS@>A2B'V̶WM  +k()= R#'>$ '> % ' > % ' '+k() %'$vADD@@=k@W@A@A@@@ *Z_spec_ind @sqroAb@y$AADD@@@@@ *Z_spec_rec @@ P@  B <+k() 7%' h@@@@@ <$intP @@ c  @@>@>H@A@AF@Fh@A@G@Gj@A@ABH~@H~p@A@P@PQ@A@AP@PܠR@A@@@A@ABC@@A@c@c @A@A@ @A@[@[@A@.ߘ@.ߘ@A@/@/נ@A@ABCDE@HA@5@AA,@A@ABA@A1DHM@A A1FdJP@A1I!MT@ABC?A<@@A;@AAA1J`N\@=A@@AB7A2@2A5@A3A/@6A @A3A/@5A@/A3@ABCDEF@@ 'powerRZ @l @@AA@AA@@@@@@Du@ /r!pᩚ&BinPos&PArith #Pos@&to_nat")BinPosDef @5L ~@ Y8@ +k()=( R-'>7 7%'>7 7!7$'67$''+k6';@@AABAACD tΐ 2dA@̠HԀ@@@@@ *Zpower_NR0 @@ d̶@@"le1P, ,2 .&Zpower@*Zpower_nat: ?>@@@@@ +)powerRZ_O @@ e   @I  K~@@@@@ >)powerRZ_1 @@ f   @$succ1\w@  b @@@@@ U+powerRZ_NOR @@ g3 48@&@#notШ. ?~ 3 D8G@@@@@ q/powerRZ_pos_sub @@ hO P3 @G XI ZNd8@'pos_sub<2@+iee d@ ׀ asʐ gy9@@@@@ +powerRZ_add @@ i| }`-@,q v`@ C1P&Y@ D ̀'Ωϐ@@@@@ 2Zpower_nat_powerRZ @@ >j}|J}  j   @#INRrs@@@@@ ؠ2Zpower_pos_powerRZ @@ Zkf &@'pow_pos ~ y .@A B%$ L! @F G*)  !L MQ > DӐ@@@@@ }+powerRZ_inv @@ r[ \%alphab@*Q bV #@@@@@ +powerRZ_neg @@ sq rv@>g x  x@"R0ǀn s BI @@@@@ 2powerRZ_mult_distr @@ 0t;  & @@"or @  ۩e <"a A B    @@@@@ נ+decimal_exp @ DT '  B A   @ǚ 0\'BinNums'Numbers#Coq@@!Z7@ A \+k()77 7! 7%'HABAB@dxcl@@@@@ &+sum_nat_f_O @A@ @ @@A@A@@@@D  [ "n'  @  ` 0 i @@   ƛ ŀ ǀ d,9k(*()= R'>9 3!7%'G $''+k6'+ +7TTk+7T'6'6' .XH4蠐6@@AAADX@@@@@ x)sum_nat_f @!s:<;N@a+ ȀaC E T nG@#sub   @   @   +k() 7! +7%' 7!$'eh,H$h@@@@@ )sum_nat_O @zy=|  @ / . 0 H+k +7%''Lh@@@@@ ֠'sum_nat @^?@j(g  "@f O T S U T+k()+ 7&''t@@@@@ (sum_f_R0 @A@ \@ 㶐 吷aַ  ؠз!iϩ @%Rplus+1@o@  ]͛  cɐ XH蠒 4ADX@@@@@ @%sum_f @?@RYc@Л   @ €  H hܐh@@@@@ q)GP_finite @@ u   盠 怩 ̀  @Yc   CAA @&Rminus&HB  B C рB LA,B A ߀ B C@@@@@ Ҡ1sum_f_R0_triangle @@Tv @D KJ c dBAj⛠` (CAA@@@@@&R_dist @ W 橚*Rbasic_fun @$Rabs; w @&Rminus&Hx@ ] \  ` b H+k() 7!7$'h#t@@@@@8*R_dist_pos @@w } |   ဠ@HBAog@@@@@Z*R_dist_sym @@x   Ԛ  D@j˩ 9 @@@@@w+R_dist_refl @@y    @#iffС)U f"'W h  V@@@@@)R_dist_eq @@z ٚ ؀쀰 z6_<@@@@@*R_dist_tri @@){ 욠 뀶 !  󀩚 9sCB }CAAB@@@@@נ+R_dist_plus @@Y|  !c$!d) o ÀDB ɀCA πDCÀBA@@@@@-R_dist_mult_l @@}  <q ]o@@@@@1,infinite_sum @.!l#eps@@#Rgt=< ߩ@  @B @%Peano@  Uw\ > u  v@@ʀ-A l+k() +7T'+ L7 7!T'+ 77%' +7T' +  7!T'7!7!7%'$(@Mt8t5XFL8ϐd@@@@@@@@ ӳ2@ ӳ2[)Datatypes$Init#Coq@@A@A Գq@ Գq\ @A@=k@AB>W@FV@AGR@H~P@ABCPK@PK@AG@E@ABc@@?@A[;@.ߘ8@/5@ABCDE@3@AcA@A.0TQ+Ring_theory+setoid_ring#Coq@@BA.U>[J @ABEDCBAD54F@@"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@@D@&to_intϑ;@@A@z@5@&doublez,@/!@A@ABCD/@O@)log2_iter/F@wd@A@NH/@B@&moduloNH/9@1,@A@A\d@G@&of_int\d>@1?A @A@bz@M@&of_natbzD@1?G!@A@#@S@&shiftl#J@1dV@A@#@Y@&shiftr#P@1d\@A@ABCD/x@&BinPos&PArith#Coq@#Pos@)pred_mask/x)BinPosDef&PArith#Coq@#Pos@ )X@A@6@x@&square6o@19@A@AV+L@}@&to_intV+Lt@2@A@V1b@@&to_natV1bz@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@AB^Ҷ@@'to_uint^Ҷ@#m@A@gL7@@'sqrtremgL7@40@A@Aq@@'testbitq@5)@A@ݎO@@+succ_doubleݎO@6r@A@A p@l@0double_pred_mask pc@0-+m@A@BCD T@&BinNat&NArith#Coq@!N@!t T)BinNatDef&NArith#Coq@!N@ 2@A@ @@#add @3 @A@A l@@#div l@3@A@ Y@%@#eqb Y@3@A@AB #@*@#gcd #!@3n@A@ T@0@#leb T'@3@A@ACEG "@5@#lor ",@3m@A@ q@?@#ltb q6@3@A@A @D@#max ;@3@A@ @J@#min A@3`@A@AB @O@#mul F@3B@A@ ~@U@#odd ~L@3@A@AC =@Z@#one =Q@3@A@ @b@#pow ˑY@3@A@A c@g@#sub c^@3@A@ @m@#two d@3J@A@AB hx@r@$div2 hxi@>@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@ *@@%ldiff *@@A@AB g_@1@+pred_double g_(@25\@A@CD m@6@÷ m-@2j@A@S@=@&of_intS㫑4@4}5@A@AS@B@&of_natS9@4};@A@BEFGH\R@G@(mask_ind\R>@4@A@\^@Q@(mask_rec\^H@4@A@A!,@V@&pred_N!,M@4s)@A@B@[@&shiftlR@5X@A@@b@&shiftrY@5X@A@A&@g@&square&ّ^@5,x@A@BC"@l@&to_int"c@5L@A@"@t@&to_nat"k@5L @A@AnTq@y@+testbit_natnTqp@6n@A@B@@(succ_posB@@A@I@@'abs_natI@?n@A@AB.@@'of_uint.@MS@A@3~@@'sqrtrem3~@7]%{@A@ACD,@ @'bitwise,@/v@A@>4'@@'testbit>4'@8g$@A@A{U@@,sqrtrem_step{U@8R@A@u^@9@(div_euclu^0@ @A@Afz@@'to_uintfz@9w@A@Bl@'@'comparel@3R@A@CDEFs8@,@+of_uint_accs8#@5+@A@}@R@,pos_div_eucl}I@&`@A@3x@(@'compare3x@]=@A@A@^@&doubleU@'޺_@A@BCq@@+of_succ_natq@$@A@w@i@&modulowɑ`@)1@A@ADK@n@&of_intKe@)j,I@A@K@v@&of_natKm@)j2_@A@AI@{@&shiftlIr@*O@A@O@@&shiftrOx@*O@A@AB,@@&square,}@*ow@A@Z@@&to_intZ@*81@A@ACE`@@&to_nat`@*9G@A@e@@+testbit_nateđ@+@A@A+{@@'sqrtrem+{ё@,J@A@5z@@'testbit5z@-T|@A@A @@'to_uint ͑@.@A@ @@+succ_double @.^4@A@A#@'@'compare#ݑ@ )Q@A@BCD%t2@,@(size_nat%t2#@ @A@%9@3@+of_uint_acc%9*@ ΋@A@A%V@8@+double_mask%V/@ S@A@%%@>@'div2_up%%5@ "@A@ABEF'ş@C@'Ndouble'ş:@ @A@(b0@K@*shiftl_nat(b0B@9-@A@A(nՖ@P@*shiftr_nat(nՖG@'@A@(@V@0succ_double_mask(M@@A@*W$@\@,compare_cont*W$S@!@A@.0@b@.sub_mask_carry.0Y@΂@A@ABCD.@@!t.@ ;@A@.먩@@#add.먩@ `@A@A.U@@#div.U@ @A@.B@@#eqb.B@ @A@A. @@#gcd. @ @A@.=@@#leb.=@ @A@ABCEGHI. @@#lor. @ @A@.Z@ @#ltb.Z@ @A@A.p@@#max.p@ '@A@B.@@#min. @ @A@.@@#mul.@ @A@AC.g@@#odd.g@ @A@.&@&@#one.&@ @A@A.뾴@+@#pow.뾴"@ k@A@.L@1@#sub.L(@ @A@.@7@#two..@ @A@ABCD.,a@<@$div2.,a3@ @A@.Xz@D@$even.Xz;@ ?1@A@A.@I@$iter.ؑ@@ @A@B. @N@$land. E@ @A@. @T@$log2. K@ @A@ACE.@Y@$lxor.P@ R@A@.y@`@$pred.yW@ `<@A@A.Ʉ@e@$sqrt.Ʉ\@ ;@A@.@l@$succ.c@ @A@.t @r@$zero.t i@ Z@A@AB/@w@.to_little_uint/n@ @A@CDF/@|@%ldiff/s@ H@A@00@@'compare00@?H{@A@A1P%@w@!t1P%n@  @A@B1P@|@#abs1Ps@ @A@1P&@@#add1P&z@ @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{@@#min1P{@ "@A@B1P]@@#mul1P]@ @A@1P@@#odd1P@ @A@A1Pɣ@@#one1Pɣ@ J@A@BC1P@@#opp1Pԑ@ {@A@1P1@@#pow1P1@ @A@A1P;@@#rem1P;@ @A@B1P@@#sgn1Pˑ@ r@A@1P@@#sub1Pɑ@ p@A@A1Pe@@#two1Pe@  @A@BCDE1[8@@$div21[8ޑ@ @A@1[d@@$even1[d@ I@A@A1[6@@$ggcd1[6@ i@A@B1[U@ @$iter1[U@ @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\@5@$sqrt1\,@ @A@A1\w@:@$succ1\w1@ @A@BC1\k@?@$to_N1\k6@ @A@1]@G@$zero1]>@ eD@A@A2:@L@%abs_N2:C@ @A@21@R@%ldiff21I@ ߵ@A@2=*@X@%quot22=*O@ @A@ABC2kF@@(size_nat2kF@{@A@3@x@(tail_add3o@^q@A@ADEFGH3@}@(tail_mul3t@^@A@5Z@@*shiftl_nat5Z@y/@A@5f}@@*shiftr_nat5f}@4@A@AB5a@@'iter_op5a@ @A@C6w~@@'of_uint6w~@^5@A@8j@@'of_uint8j@'"h@A@9E@@(div_eucl9Eđ@(*k@A@AB:x@6@,Nsucc_double:x-@ ʭ@A@CD@[@&divmod>R@C@A@>@b@&double>Y@NĴ@A@?2@S@,pos_div_eucl?2J@-u@A@AB?;@m@&modulo?;d@"i@A@CEFGIJ@%Arith#Coq@0I|кX*o4)ArithProp%Reals#Coq@0B+L?>*e˃a j)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*CMorphisms'Classes#Coq@0qیZBeϠ0CRelationClasses'Classes#Coq@0TL;0RUfw1+Compare_dec%Arith#Coq@0jXF 8LKJ@0.i bYN Z)Decidable%Logic#Coq@0ND걸풬/Oߠ'Decimal$Init#Coq@0C涳N*ua&DiscrR%Reals#Coq@0z41pV.$Div2%Arith#Coq@0n*Áht!,%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;ꮹ$Even%Arith#Coq@0YO%q}d߫%)Factorial%Arith#Coq@0@oehJd%Field+setoid_ring#Coq@0J _ȫ)Field_tac+setoid_ring#Coq@0d vDZl^۹HY0B~uYٮ٠'Fourier'fourier#Coq@0wV9TN,Fourier_util'fourier#Coq@0ϳ> 4`*r0-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ɠ'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蠠$Nnat&NArith#Coq@0$W;s #%M)Notations$Init#Coq@0&v!D]hwnv *NumPrelude'Numbers#Coq@05WUVŦ]xVXԠ%Omega%omega#Coq@0t.J'6\ϨrK+OmegaLemmas%omega#Coq@0TJ#Jes4Operators_Properties)Relations#Coq@0U3y#h&&Orders*Structures#Coq@0$Znl0\͗+OrdersFacts*Structures#Coq@05Mܿ獐ζΖLB)OrdersTac*Structures#Coq@05'4Ԗ+9%J0 jha|ؠ(PeanoNat%Arith#Coq@0O~2$k[#lZ)Peano_dec%Arith#Coq@0Kݢ*k$Plus%Arith#Coq@04tmG$Pnat&PArith#Coq@0,?pr.gZ(PreOmega%omega#Coq@0\|چBb~w4'Prelude$Init#Coq@0JqTttֱ%Quote%quote#Coq@0J@ŹVz-,3%%RIneq%Reals#Coq@0JUڻIu)$w%R_Ifp%Reals#Coq@0c4+ZŠ%R_sqr%Reals#Coq@0X%MԹ%M'Raxioms%Reals#Coq@0S]jnj][L%Rbase%Reals#Coq@0Jܡ\ c6{*Rbasic_fun%Reals#Coq@0hܒiclE>Ր0(2{Ze$ќ8)RealField+setoid_ring#Coq@0 >ʾq /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+SplitAbsolu%Reals#Coq@0M)&qYlݹ5*SplitRmult%Reals#Coq@0sD\rt/'Sumbool$Bool#Coq@0sB ,$11.]m'Tactics$Init#Coq@0/9m+ a'Tactics'Program#Coq@032 Q@@A@#_18)@%,@A@@@@@@@@#_192M접#_20'`o@A)nat_scope@5@2 Q@@A@#_21P@;tL@A@@@@'@#_222M접 #_23'`o@A%@Y@2 Q@@A@#_24t@@A@@@@K@#_252M접 #_26'`o@AI@}@#_27@^^@^A@^@A^A@%_ ^ _@^ @A%_ ^ _!x!^!y@@@@@A@@A@@"^ @BA@@@@#_28%c?@'R_scope'R_scope@@Ӡ@@@@@@@%_ ^ _@%x ^ y2 Q@@A@#_29@@A@@@@@#_302M접 #_31'`o@A3@@2 Q@@A@#_32@@A@@@@@#_332M접 #_34'`o@AW@@p2 Q@@A@#_35>@{2@A@@@@@#_362M접 #_37'`o@C{@NQ@e2 Q@@A@#_38l@pϓ@A@@@@C@#_392M접 #_40'`o@CE@LO@]2 Q@@A@#_41@h@A@@@@q@#_422M접 #_43'`o@Cנq@@y@#_44X@$real@@@{(META1628t@Am@Bh@C@@@@Q@@ @9Coq.Reals.Rfunctions#<>#1l@@@yt(META1629q@Bw@A@@B=F@9Coq.Reals.Rfunctions#<>#2m!@@@ (META1630(META1631(META1632{"!F@@I8:驚A@D@9Coq.Reals.Rfunctions#<>#3nA@@kb(META1633(META1634iQ@A6@@ޠ@@9Coq.Reals.Rfunctions#<>#4o@2 Q@@A@#_45@5}@A@@@@@#_462M접 #_47'`o@D>ؠڠ@@⠐ @y2 Q@@A@#_483@!E@A@@@@ @#_492M접 #_50'`o@Cp @@B@#_51X@$realA@ @A(META1644(META1645K@@ΚͶ̛˶@ʠƐ0 ;:@9Coq.Reals.Rfunctions#<>#5p@2 Q@@A@#_52@*@@A@@@@~@#_532M접 #_54'`o@D䠐~@@@@#_55X@$realB@m@Bh@C(META1650(META1651V@@ @@ #@9Coq.Reals.Rfunctions#<>#6q@2 Q@@A@#_56 1@s@A@@@@@#_572M접 #_58'`o@En @@@ C FW@#_59X@$realB@(META1658(META1659" (META1660T@@ZYXWVU@TSRP=@JA@IHGFJJ @9Coq.Reals.Rfunctions#<>#7r@D2 Q@@A@#_60 @O$=y>@A@@@@@#_612M접 #_62'`o@B@ @A2 Q@@A@#_63 @L$=@A@@@@@#_642M접 #_65'`o@C@  @$2 Q@@A@#_66! @/#I4@A@@@@@#_672M접 #_68'`o@C⠐L@@!m@2 Q@@A@#_69!:@ ~@A@@@@@#_702M접 #_71'`o@Ew@@@ !L!O@2 Q@@A@#_72!p@a@A@@@@G@#_732M접 #_74'`o@BG@ N!~@2 Q@@A@#_75!@-@A@@@@p@#_762M접 #_77'`o@C֠@@ xt ~@̠2 Q@@A@#_78!@g@A@@@@@#_792M접 #_80'`o@B@@!Р!@à2 Q@@A@#_81!@@A@@@@@#_822M접 #_83'`o@C+Š@@ ͠!!@2 Q@@A@#_84"@="@A@@@@@#_852M접 #_86'`o@DX@[@@ y!@2 Q@@A@#_87"L@!C@A@@@@#@#_882M접 #_89'`o@C#@@!+"["B@2 Q@@A@#_90"y@(ѡ@A@@@@P@#_912M접 #_92'`o@BP@!W"@l2 Q@@A@#_93"@w!E@A@@@@y@#_942M접 #_95'`o@Cߠy@@!"@n2 Q@@A@#_96"@y@A@@@@@#_972M접 #_98'`o@A@"@Q2 Q@@A@#_99"@\'G@A@@@@@$_1002M접 $_101'`o@A@"@02 Q@@A@$_102#@;'3@A@@@@@$_1032M접 $_104'`o@A@# @!2 Q@@A@$_105#;@,(@A@@@@@$_1062M접 $_107'`o@Cx@"#K#N@2 Q@@A@$_108#i@((1@A@@@@@@$_1092M접 $_110'`o@DB@@"J"M#}8@2 Q@@A@$_111#@3W@A@@@@r@$_1122M접 $_113'`o@Cؠr@@"z#@ 2 Q@@A@$_114#@˟@A@@@@@$_1152M접 $_116'`o@E@@@"#ڠ#ݠ@2 Q@@A@$_117#@#I@A@@@@@$_1182M접 $_119'`o@A@$@2 Q@@A@$_120$"@(#@A@@@@@$_1212M접 $_122'`o@B_@#$0@2 Q@@A@$_123$K@,@A@@@@"@$_1242M접 $_125'`o@D$@@#,#/$_ x@ 2 Q@@A@$_126$}@.@A@@@@T@$_1272M접 $_128'`o@A@%@N$@@B@@@@@@$_131$@(@+@@@@A@@@ B@@@C@@@@$_132'`o@$@6(@@B'Z_scope@$j$m@$_133'`o@$@K(@@AB@@$}8@$_134'`o@$@^(@@BC(@@$#HP@$_135'`o@% @v(@@CC@Π@@$#`h@2 Q@@G@$_136%$@ P@@@@$_1372M접%1@+ PGG@A$_138'`o@%:@4 PGq.function_scope|@@$䠐AAAA$C@$_139? 3V/_rect_from_type%d@@%f@`2 Q@@O@$_140%r@ 4@@@@$_1412M접%@ 4GG@A$_142'`o@%@ 4GNPRTɠ@@%1AAAA%<@$_143? 3V._ind_from_type%@@%@:!2 Q@@@$_144%@+ 9B@@@@$_1452M접%@8 9GG@A$_146'`o@%@A 9G @@%~AAAA%@$_147? 3V._rec_from_type%@k@&@lP2 Q@@A@$_148& @["@A@@@@@@@@$_1492M접&@i"$_150'`o@&%@s"A\@%@ 2 Q@@@@$_151&7@I@A@@@@@@@@$_1522M접&E@%IBB@A$_153'`o@&N@.IB y@$%@٠2 Q@@A@$_156&e@@@A@@@@@@@@$_1572M접&s@@쐐$_158'`o@&}@@C B@@&$Ԡ@2 Q@@A@$_159&@)1@A@@@@@@@@$_1602M접&@)1$_161'`o@&@)1A @%@2 Q@@A@$_162&@)@A@@@@@@@@$_1632M접&@)$_164'`o@&@&)A @%@@2 Q@@A@$_165&@!q @A@@@@@@@@$_1662M접&@/q ߐ$_167'`o@'@9q C /=@@%m&<@-2 Q@@A@$_168'@8#@A@@@@@@@@$_1692M접'-@F#$_170'`o@'7@P#D b.positive_scope@@%##u@92 Q@@A@$_171'X@Dq'K@A@@@@@@@@$_1722M접'f@Rq'K$_173'`o@'p@\q'KD @@%۠''@S2 Q@@A@$_175'@^ 5@A@@@@@@@@$_1762M접'@l 5ߐ$_177'`o@'@v 5B k m@%%@f2 Q@@A@$_178'@q/oN@A@@@@@@@@$_1792M접'@/oN$_180'`o@'@/oNB@'w$@z2 Q@@A@$_181'@+~@A@@@@@@@@$_1822M접'@+~$_183'`o@(@+~C 1?@@&o'@2 Q@@A@$_185(!@+o@A@@@@@@@@$_1862M접(/@+o$_187'`o@(9@+oC dr@@&'ݠ@2 Q@@A@$_189(T@@A@@@@@@@@$_1902M접(b@␐$_191'`o@(l@C@@( (@͠2 Q@@A@$_192(@+M@A@@@@@@@@$_1932M접(@+M$_194'`o@(@+MA@(=@2 Q@@A@$_196(@V@A@@@@@@@@$_1972M접(@V$_198'`o@(@ VB  @'1'@2 Q@@A@$_199(@q3Q@A@@@@@@@@$_2002M접(@q3Q$_201'`o@(@(q3QF  +9@AAAA'p(@!2 Q@@A@$_202)@,q3c@A@@@@@@@@$_2032M접)-@:q3c$_204'`o@)7@Dq3cC bp@@'(۠o@>2 Q@@A@$_205)R@Iq9@A@@@@@@@@$_2062M접)`@Wq9$_207'`o@)j@aq9C @@'Ӡ)@V2 Q@@A@$_208)@a)@A@@@@@@@@$_2092M접)@o)$_210'`o@)@y)DԠ ʠ ̠@@)@( (@e2 Q@@@@$_213)@p1'@A@@@@ @$_2142M접 (٠$_215'`o@B  @(k@@2 Q@@E@$_216)@K+ * @$_2172M접 BB@A$_218'`o@B @A)@2 Q@@@@$_219* @(gP @$_2202M접 CBAA$_221'`o@C ࠐ ⠐@**A@2 Q@@@@$_222*8@ (gu{@$_2232M접 AA@A$_224'`o@A @*?@2 Q@@@@$_225*Z@$ 10@$_2262M접 BBAA$_227'`o@B-/@*c*f@2 Q@@E@$_228àV@$_2292M접 BB@A$_230'`o@BTU@A*@2 Q@@@@$_231*@y頠|@$_2322M접 CBAA$_233'`o@Cy{~@**A@ߠ2 Q@@A@$_234*@U@A@@@@@$_2352M접 $_236'`o@B@)*@2 Q@@A@$_237*@,kd@A@@@@@$_2382M접 $_239'`o@BР@A+@2 Q@@@@$_240^'@$_2412M접 p@)Rcase_abs7$_242'`o@Bac@**@2 Q@@A@$_243+M@ {d@A@@@@$@$_2442M접 $_245'`o@B@*+*.@2 Q@@A@$_246+v@ W@A@@@@M@$_2472M접 $_248'`o@B@*T*W@2 Q@@A@$_249+@.@A@@@@v@$_2502M접 $_251'`o@Bܠ@*}*@2 Q@@A@$_252+@>x@A@@@@@$_2532M접 $_254'`o@A@*@Ġ2 Q@@A@$_255+@ 7@A@@@@@$_2562M접 $_257'`o@C)+-@*̠*Ϡ*@ 2 Q@@A@$_258,@. @A@@@@@$_2592M접 $_260'`o@DWY[]@**++@2 Q@@A@$_261,M@ @A@@@@$@$_2622M접 $_263'`o@C@+++@ɠ2 Q@@@@$_264,{@(.Q@$_2652M접 @$_266'`o@BO@A+Y@+infinit_sum9D{(@@#B@@d¹d‹@@bRMI]=ccR@N&y:sT _"L@@܊`5Ò>A G)H!n)Datatypes$Init#Coq@@#nat@!H%Logic@"eq @,Rdefinitions%Reals@!RӀ'Raxioms @#INRr)Factorial%Arith0@$fact>【A"@#IZR/r'BinNums'NumbersE@!Z7@A%RIneq5@)not_0_INR#rT*B-@*fact_neq_0)'CQ@#notШYom]Ar#Natr@#mul ~BEPq@(eq_ind_r!2#nd!rq|st@%Rmult׀{@$Rinv8wo%Gf ~%2$"y\3)$&42!@6 8 ?*IB@(positive*@CR̰éP??Р@#andЖw@BBB@@@@@!aکg>*>ީk.BBo^2^@(Rmult_neFM"H1"H2DppK@&Rinv_l($󩚠*Rfunctions@.INR_fact_neq_0,l@+Rmult_assoc&qo@/Rinv_mult_distr$@*not_eq_sym6Ԁ=>Aĩ%Peano@@#O_S U沀0#٩@(mult_INR>C@7Ġ1ߩ@@)geeigg@@A@A@@@@Dqoo35usC<<QC&Cf]꠩吩WOZƩƩ2@/Rinv_involutiveCap!xq swC@)Rmult_1_r+1^C~(Rpow_def@#pow#׀j6j@'nat_indJ!mDH@#add `e2' i)ɩ@&eq_sym XA6^@)Rmult_1_l9 C)ܩ˰©Bj&SHp"n0귐"H';;kԩaVEYmܩީkFnpeJg <xz|sW?C@cc|&`.-搑 !y +).,yobȐ(list_hyp9@$list]@AA@$prodt@,Ring_polynom+setoid_ringI@%PExprk@Ȑ+field_lemma @3RField_field_lemma1(Mk(Ring_tac@0ring_subst_niter!5BUW<Y9,Field_theory.@%FExprs@K, G1D68B&BinNat&NArith!N@&of_natK)BinNatDef @)j2_2"P0R!2T@$Truey@A#lmp\uwdp@#Monf@w@#Polj@r@@.mk_monpol_list({&BinInt&ZArith@1P&)BinIntDef@  ̀@i1P] @j @#sub1P@ p@#opp1P@ {%Zbool@(Zeq_bool0߀(@'quotrem\#@/ŀ¶$nfe1@&linear@@ @%Fnormw$BB3.("ֶ$nfe2@ $JJ;60*w޶@ @$boolZ'@@#Peqj*:@*norm_subst7:d0aaRMGA95Gᩚ@#num:u@%denum00vvgb\VNJ .A@@%PCondS<99@%Rplus+1ʚ>@&Rminus&HC@$Ropp΀S'e@&to_nat`@*9GΩQKTJq@#appʀ0@)condition.*, pg @&FEeval>@nM50+n@$Rdiv̀:Q*#uL&x'!@zYA<7 AX1Ȑ#resbȐ&res_eq1d@(O`.hȐ$res0AWeC\zkȐ'res_eq0J}@Ȑ$res1Ȑ'res_eq1 @G  MgW|@v@-RField_lemma55vb\WX$lock"le&A(lock_def̰ 8Q}|DR_8VIz̐M}Zx=FC<#aT @@|@$Fapp{F@&Fcons2w$11"  6T#IHnݵ}Wt [۩!-1ɩnd 0:6>@1Rmult_eq_compat_l$E+z"-$K(: ۰-Uݰ/0߰1[̰ɩΰƩˠAְΩذ @_]@N`V$ys'Qc@Tf\$%y-@O@<Q0 /mЩSީUՠY٠f]@_>&!&={ީac㠐Nh9@lK3.)3J# 18\:HD b@ E@::GkI mK @== .Hhް9ٷӷͩn\8oWRMHWnG1*۩a8t\!WRM\sLE2GO'L;+IѵCo<j/e`[jZ"c@026C/,>3052Kש-ڶ@x̰i|а ְ֩"H0ܰ!@)R1_neq_R0iwC C@%Kǵ˩@&or_ind"ԩ֛@%Falsee@ @.Rmult_integralq&!CC'%@L@'Đ 1/423@4#DF@2f@*Rinv_r_sym9lU䀠/@+pow_nonzeroCP@v@7ƠŐw_u.a#H'0ULt+N۠pݠҠtېpXcZܠ>h@&eq_ind JefqhJlɩi!C@_@/y C.c@@#Rlt=q8s wXd@&IZR_ltNwN@*comparison;f@@'compare3x@]=C@%굷з+p+Ʃ@)Rmult_0_r+Ȁ˰©OfƩSZɩ>q@1Rmult_lt_compat_l`C@J@JkڷM@T/@@"lt Uxc]8a< Щ@)False_induُmHHI@1P-ک&Omega0S@Q1P,䩜CX)auxiliary@#yzC&ΠCې -C!ސ23C'%4 w@(Zlt_left,ڀ  $Znat@&inj_lt8F C@U@S zbfd@@@k P@Šz@q4Uʠ٠;_`@@@tk@@Fu@ ~+mC@@@T@,@ǩ\"n1@8@dթD:#H'1n/#9+|)IAé@)Rlt_transC7H:/Q󩚠~@1Rmult_lt_compat_r ?r !_   %c!e"Gt@'gt_le_S3r"Lt@'lt_le_S0?n%(PeanoNat@)lt_0_succ5%!C1C@"gt Ux8C 7C@ @@b=vϐ]&$@\.먩]c@9 i%#%l%Minus@/le_plus_minus_rv=@*lt_le_incl} F@(add_commb-@ ˩C)SSHPȩ3W#9 JJAΠ  EҠH*נ̠NpР@)Rminus_lt$Yπ栩۠]1a5d٠)Fi=lᠩ1"RQtH9 y[ZÐP Taa$6e PݩsEXKv@&pow_lt!Eۀȩl@)Rlt_minus u[@*Rlt_pow_R1*@`֩$Plus@-plus_lt_reg_l%\jQڷש٠aީ'&!@(plus_n_O0G؀(/*ư,.6tl@3Rmult_minus_distr_l Io*@*Rmult_comm8CXe@'pow_add2QΐdCyNC ĩ>& tC0.@zb|L:=;"s&1( "2*6A8Ǡ>ˠCNE%GJUL٠!. Pt. @%S_INR=s9N@*Rplus_commq&>.V@2Rmult_plus_distr_l0ylɀC35EFypNL{rPPv<IT } RR?CI_akl@#Rle=^%f@d}Ȑ(hyp_listgȐ'fv_listPjNr@2RField_ring_lemma1!7emEy"{$}C&)@°% #0  v0  x0˰©Q.ҰɩX;e`ϩ@@"or @B++lCN.m*CR3rhʷ  ^@)Rle_trans"ЩFr]ŠMd  РX   ؠ` =ݠߠgC GG~Ѱ #KӰ % |~ĩ"$@ G=8m30  {uog #50  }wqi %  Q HNTנ ٠c [ RE㠩 N> [#%젩 W [ iڠ3 e Q t< U  w YA  s ۩ L@1Rplus_le_compat_l?* f$  k Z (  p # °  w w   y y I  {C  * ~9 k@)Rmult_0_l+€@C  5D- Ƿ"A'  A . C   ð  "H3"r1 ¶"r2 Ŷ@0@1<  t @$Rsqr=MW5 @(lt_0_INR کک @)Rlt_0_sqr :D @6Rlt_dichotomy_converse,#dK ȩ`O ̩ @#Rgt=<GCh ԩ  [[C@; 9 @  ޶@  @1Rmult_gt_0_compat=8CyVl D 9 7    ٠   ݠ  @(Rplus_neT 3 1 , #  C̩  yK { O  C60 > 582=6 K0 ʠ02 L C6x65  Gq   J @/Rle_lt_0_plus_17$耠y @&Rlt_le A 7I 9C n(  ]  ^Ϡ 9 B ;=ɵޠ.. v m00  o2C` P PC| xA@  ~        7    d ӷ    .C   3 !     *Rbasic_fun @$Rabs; w    @ @ UxT@mVީ   A@B@B@@@@@@D  շ@@ ǰ  ~ /+r- D  ک Ұ  ,  ީ ְ     ٰ   i    D@ W; D [?  U    ""  $CWB  ȷ"m0  1    i ͩ      z!e    > ڠ@ nq    _e +tp t     ζ@  -  i~  Ơ 5  8 6%Hrecn|O|k 3q @ >@@ 0 C v    F > Q U 5 J B U J  E X  Z ] [ à % Ǡ ~y "" Z Q$$  S&C 4 5m q i3 g b u  k f y ] q h@'f_equal=  p    G    I  I t  Ʃ  x   P {  ԩ      Ԡ X頩吩 Pꐩ  # 1Щ ( @  5FD y 2  ( 1   $(1 I  6  =   ;4 K  A) H ( F   @1Rmult_le_compat_lڀ5 %-@(Rabs_pos+F:w -U//> T@C>B4: ^8D>@)Rabs_mult)CJNJ6  ζ@    ީO K b8i Ő  m  |    ^     q^ ө^ 6 H be Fc@+Rabs_pos_equ M  O @'Rlt_0_14CC   u  v  C + !  }ӷ     Z  . n  O   C D B@8 2 )   x   0 >D  !b 7 A@'and_ind14ۀЩQ  C@"upʠ ֠ + ѐ    \@"ex @ u  w z x@ 9@"ge UwV d@#Rge=- ͷ- ݠ 1 O0  6  ;Y    )Decidable  @+dec_not_notHɀ eK  7  V}   o@&dec_or<  @,le_decidableHƀ  _!  ֠ e n ?  : y#  r  Щ x  R  M 6  Ƞ  ٷ'H1_left(H1_right Ҡ i  d M8 2  3@1P, ĩ { K v _# C# Q   l  Q ۩ @&ex_ind 5{ ѷ  ҩ  ԩː    ֠ d %Zvar0 !P@  c -       ᐩ  [   y Ѱ  @(  }& e <+OmegaLemmas%omega O@7fast_Zopp_eq_mult_neg_1=Ҁ   @;  9 %N@/fast_Zplus_comm11@  B  @J * 2[&Omega2O /  M?= i =  &   ?  鐩 (  ʰ  0@d D   Pd  Jz>@8fast_Zplus_assoc_reverse ' l P*E@1fast_Zred_factor0# %  G@{ [&Omega1 ` ՠ Ƞ 2 Y@,fast_OMEGA13K  E t{C@ R  w 0C@p@&OMEGA2.$D         r@(Zgt_leftEw H H C , ^   &  T x O 8   2@'new_var&/wS e< ` II -&Zorder ,@*Znot_le_gt>/      ͐r@¬_orfG: n pK> :-$ @ m   S@ bz M@ 1?G! *+#"x00XA67E ݩ @)Rge_trans7-+ ($  ,ɠ Z @&IZR_geM = @1P,E^@'dec_Zge(6"H4OG Mx bJ*ELG, ] hR  N c !: cD "XY % U & l *]D^>  J B s%Zvar1 4&Omega69Щ} ;n5oO Ġ ; S ) wW ̠Ygee NGgES QU   & \@ _ z ͐u : j c  7 m@ p  y x  ? u@ x  I m  F |@  @ ڷ L @ǰ     ˩@1fast_Zred_factor6)  &Omega4ٰ  "  q <iTe NV4: y @é 8 L ӷQ  Pթ4   @ө H JS ̰ )  ɶ@ݩ R   V fK h  ն@  ^ Q 5  &Omega3  g\ i \ {l @,fast_OMEGA15M$ G   t gw  x !ߩ@1fast_Zred_factor5( T  t  ,  . .   2 | 4&Omega7 < 2C % PC # QC  C R*@&OMEGA6.$HЩ ?+ A) H4 (堐Rᐩ ʐé 5@*Zegal_left;6t&Q 2ܐm TA@'intro_Zz,+z F( %Zvar2 I&Omega8- N) %Zvar3 Q'Omega14.V 'Omega10 d T # ۰巐'Omega12ԩΰs c\2 'Omega11$    c e    g {i'Omega15  C  C  C   xm`MG ᐩ@*Znot_ge_lt>?|@+INR_IZR_INZ#]K#٩߰ 1Cs@#IZN=D{  ~Ɛ|ͩ̐v;?         ͷ  Ѷ@  Z ܰѷ ٶ@  b ʷ  hİ ө mص9 C@  3C@ % 4 z  xY @(Zle_left*x퀰sXiL861 Dq2#6 0+ީ < а˷'|&b.CgvigszaXu|C9:wx*s~ 1bj@ ِ 2 Ʒav_@搩 ? +?$c)fЩ 8I  < 署Y@&Rle_ge @ H @/Power_monotonic~ J[ G{ =1= NiUPai 6r Fw = # @  }  0     p E 0     r Űީ  ⩷˰ ]Ʃ ZɩfK  WЩN   _ 3  H @$poly#I4@)Rgt_minus4 qC [ ]  @ h ,9ص  à+ܷ s Ƞ P@1Rplus_lt_compat_l ]߀7W7D97= ٠AA ݠ""G.,' ++C P2RRߩ& שa_+6-  /}0;2   i ũ# @E;6k10~ysme! Kxaz$s ~(\kנD YP  ]T ߩX51&[꠩U@,@1Rmult_ge_compat_r3>]C4@)Rge_minuswðI~u CL  VWVWy@(RPow_absa\]r@(archimed ŀ:@Bml oK  C@zzz ϩW# C&<ȷ ̩8 4< ;@&Rinv_1 ;9ۀCȰEAI/ `ɩVQ  ^ͩذ\W 0Rzm֩V j٩۩h ߩl  g >   C@9q :m$j h· ' l   @ rj^+ "#&$@ ~v c/1/@  875"GE A#$ F@'Rabs_R000@+pow_ne_zerogEUS@@FYtQL_UPc(Sf hkiĩ3k.+@$n_Sn a}56rgcvgz^o?j}   uà zȠRM ͩJ Ob@{22+UW' Z  ~ frmZ@1Rinv_lt_contravark!}a@1Rmult_lt_0_compat=@+Rabs_pos_ltȩ;[$=8  )C#-⩚@)Rabs_Rinv&M  C ީʠ˩Π9 ۷fܶݶ@e_/FNQ{u@t Fey }@| N`[ ~ީdf  WOfsȩ pri dѩw+e ` @0Rinv_0_lt_compatD qzcz հ^ p  ~C zз Kਗ਼@,Rlt_le_trans9:<j !C$ `v&J x)JeZX90P;2TT?6pp !ZN LG>xxC b(@&Rge_le 6/R-/ BL@(Rinv_powMcP˩ͩ@*Rabs_no_R0 X   x ;  s q C rb@.Pow_x_infinity- G/J5@'Req_dec3{Osw BAAAA@@@@@D@ө>j"  p  @   ԩg@*Rdichotomy5&#H'2\Ŷ۩,&m B 㰩°ַuư=_ ͵ϩͰ Ӡϩa\˩ذϩ\Q6!lg֩(*@'IZR_neq%/@,Zeq_bool_neq-Ker6©:Ʃ{MO DCt JDC6#Eq1  T *婷#Eq2Ð 6b2 u%>(mة#I (3*x ,  1<356A8< >G @*Rabs_right |T&@&IZR_leN &{@/Zle_bool_imp_lenE-V@#leb1Pĺ@ a090ߠG  C ΐV ri ʩ mn'堩 ߐVWD@*Rlt_irreflnQ C7   fթ @i@'Rlt_pows.p *y% vb@.Rmult_lt_reg_l>e%@ũǩ  #H'3 @@D@&tP۷K/IDYTé8 R@&Rinv_r ;:[Xmk2 66C9C ;C۷9G7B.'#䩷ީک ~dѩq ɷm e|ީNx ҵ C  40 3pl@&INR_leq=x@&le_INR逰KCH#B@EC2)ѩՠ͐ e14 jVT G "@7@   h1j)ArithRing"@0natr_ring_lemma1 ,M9 ˠ2J N"  $נ&< ݵ@vl٩(-.A2B@ @3 @" @#3B ?b @#eqb Y@3@(div_euclu^ @ NSlnQST0V)&""Qy@0X+($$S{8mCrItaKvCEG KǩKMYWΩ4 <ŵ  kݩm?#&%m  ~ OWYS?%@ذ;#90   0""Cةe Z-\3m |bIxɩi  ;n:S w Cwݩߐ0! unw&$ ya ^]_ C a1/  @,Rmult_le_posN85DC kސ?=B@/&xIG :KPN=48Š?gABMDѠ & -    + 68E<Ƶ@_UP K0"3; -Cf]%#ߠ92z;6fCCt ,! ǩ, &N. -  ð/ @~to5j07 2Z l09  4\ NCU, W$2Ua" gi=#tl-(&{ s b G  X`iQS@oԩ0qb 0sd]~C;!#@*pow_1_evenw64Ѱf٩/ܩ˰© - /@'Rabs_R10Cհ̩ 7N 53+ysuM3@IpP^0rokfka`Z 0tqmhmcb\CHbK,zob B c  emL  Q ǵ  E uz x@)Rabs_Ropp&#cC"gi!c#%ݩ 2 L29;$'D"n2GJ90|Cǩ'@J@;©60& 80( Sf)Fi,ljYPwߩ1C\SӠ ՠ36/t&Hrecn2-i!}C#"P$&T( *@yoj0e02-Ug04/WIC۠%ߩ&ᠩ+UY MB;A?C1?D>M}6,!Mv6'Y WD:/1_EC8 jS NȰLqNCuEws)'z |~w)(_F,@߰B*@0'' 0))  Cߩl24@aRHeBIF FH p˩̐ @#Rle=iܩm 'W.w<>@'%   Щ/4-oF)"(Щoqzȩ!w$0| '+.:  w7@&pow_le!È_#` $P !CMàeH!kgYX`l\ɠaXRu%Hreck nbco  `ޠJvmLZN nOC{1t [w%v@-le_plus_minus,3lkic'`\"XS&Z\4!_(y0 dfgũ© J@*pow_R1_Rle3WQt4nCw{{Ω$ѩ7#Gշ T OɰM,ZR-1CCϰƩFC\˷>۠ H ͩ ϩ ѷ  Ȑ!sJ@)Rcase_abs7i&Specif@'sumbool7̂K@e@#Rge=-BAAAA@@@@@D#w@A# P Rm꠷#Hlt -{/ }@(RRle_abs d9+ X ZM j o  eV$7.&0(K! ^N#Hle28X9EȠ _Z7a ! cC>CN $G>HgeWV B~^. O0\_eЩ`נ At\@(pow_Rabs(#h~n5ܠ SJvmoVЩ  8o~   c -)߷  p  ^ T  " #?yC 3=86kk8[;=:C3CL@@AA@AA@@@@@@D!z@&Z_spec(@@ A!p%lemma ِ&BinPos&PArith#Pos@")BinPosDef@5L ө>ԩ*CMorphisms'Classes@>Reflexive_partial_app_morphism.HA>HPQPܠRH~p,ж@є@թ@*respectful3RGj  0CRelationClasses$@$flip$!!! @%arrowR))a5@0reflexive_proper-iĠ/-@($615/53-*)C@:reflexive_eq_dom_reflexive ==;97>51BB<.CC9,,@.flip_Reflexive%JŰJKJA)3@/arrow_Reflexive&RɠQR_@/eq_proper_proxy7ПZU!   T{F@(symmetry(#eFhc.[P@,eq_Symmetric0_ 5M8@.positive_nat_Z'J2UBBCE-^-G@&eq_rec V Oǩ.ߘ/נ[,^  ֩urnqvnwa`$~_c RƠ, 1@,eq_Reflexive? y9zw٠ϩtqC\}#9 c }ͩ9%Pos2Z@'opp_pos=dՃ֐k@٩&ZpowerM@*Zpower_nat: bϩ#@)is_nonneg2o]C@ 𩚠4@(nat_rectb@<l?=_C@$]EC=,8%z@1mul_nonneg_nonneg#"~\USuBC@3#=C@8?<!ՐCGRIL@'powerRZI0@$succ1\w@ 07Z"$@kbBCsLhGBDmC@)}t+NUM@571aƩQ@1Rinv_neq_0_compat1j 2C@ЩHJWu*÷ķ"Hxߩ7g@@@@@@@@@@@D8n@#@ )Qڀ@=W@#F w] ưtK@GIEР@+CompareSpec!Q]@CAAAAAA@@@@@@@@D!c8@ C@=LЩƩ JEĩ>ũ;At8}y9@,compare_spec*YJⰷ.ŵ1'2 Y/.L;LvC̠?Y%88W\=;*!w1%Qim.90>N8rSQ@7ƠIK[x AΠɐFQH(VJKVMڠX/]Qޠw*ސ1K3M -WP\^6@<_INR%耰}@#iffС))Morphisms@4iff_impl_subrelation5i$Pnat'Pos2Nat@V=Stkyl|@+pow_RN_plus5}_@'inj_sub%O CbթJϩ9ѩ ũPF; zXݩǠϰƩS ֩ay. İ  kmid^V$%c 2M4 9թHC;2=@'pos_sub<8@+ieةD@,pos_sub_spec=ސ5F?ʶm˶@!1V6(UNٶ@/̠?d  *^pmC@a+"٠q$ޠS9H.~ZzC@Q@7aȠ(giO^DѠC@fULv(ݠ= |s~n@d[} }EujC@yp'tM.d4$S©/@= 3 udD *ؐ@+of_succ_natq@$8+SuccNat2Pos@'id_succ3uCװΩ[  B`UwC٩f^\h`]bxCnf|}%@(mult_IZR>Cːnk71C@˩אyݐǷj*ʩ$Bͩ B-*E-lȠR:$IHn0%i x-8/ک671:E<ɠ (#a_xѠ&Hՠ#ʠ% ,+x&lC\S2=8!ҩנ2Cd[:\>Ci`?_C&s@'pow_pos J! !=!!8!!!!!B!b!?!!!!!!_!4^j!u l !!շĩ!Ű ̩!Ͱ!!ϰ! !! I!R!T!!  S!\!!!U!;!y! b!v!!! g!"!ɩ!! !q mQSL!P ! !!"!!c!! ~9!"!"!C""7! , "UNٶ@!̐" " "@"R0ǀ"'"ՠ S!ؠm!""2!ސ"2")! C"5", m""OZ"?!"5 ۷!"8"C":" qu!"> !ĐC"L"C "fq"V6!"L ̠!Ԑ!"Q"\"S"3!"U !"V"a"X ؠ":" "\  !* C"m"d ɩ2Ԑ  3["m"y0"p$Hmxyx".""y"X/ E ""9p"D""y"f" Q "b"$"!f! C""G"j"m""" _ :"!"-""""~"+W UD" "6"""!'"6{!P"7" N""@""" ">!3""M""C "J""İ"""H "l" %!@/Rpow_mult_distrϓ  "}F""۩"ְ  U@Hˠ".""""""٩2 "j<!!F"j" >"© 7@,eq_decidableOE"ɷ#"    "## " ÷1Щ#  " ~79! Ͷ@" V""" [ NF"^"꩷#"#" r""!?! @#%  i Q")!J! @#/  s#1@6fast_Zopp_mult_distr_r0A<!W#! @#<  ## >ҩ u!a"ַ!!@#H! x#!#J " #Q!   #$#$!!@ @#Zne>o=O#0aU   "#7#7?$""#9  "#=Y8© #A  _8@,fast_OMEGA12J"#J#Jf$3m#M   m#Q#G ɠ t#X"!H#!J Р à-"#_#gT@,fast_OMEGA16N"#f#=!W ݠ Р("#l#!] ɐ#!c ϐ 렩 ޠH#z!#!m  "##$""##">!t@^ө #ud# 䩚@'OMEGA17 PЩ!  ##!#@&OMEGA8.$J$!! C#!"t##Щ!#!s"7#@(Zne_left0߀@# 6zx!k3# "#mf#{ !#"N!##!#!p###|!#'#   $A $!#թ!0!#ط =!ȩ$ $##ĩ ##$ àp##$$$Ƞ$### $ ##e "_ 0#{##"$'GLN[#$#$ $.#ڐ$.$%#${$0$5#ᐩ$5$,#$  $ $#$2$#$3$>$5$$# $U$#CBB#L#Ny#$=$$>$L#$L$C#;$#M$R#$R$I#^$)$+#$N$-#۠ $/O$1"C[[#$S #ې##$Y$d$[$;#蠩 ! v x#$c #$f$q$h ##A#$O$$q ()$$t$$v$ /$Z$$|$ $$$$ 8$c$  < )$# "$$$$$n 0$#"$$$$$#$$"$&${=$#"Ƿ$1$$$ $/#$"$$?$$5 $<$$$$$: #/"ѩ$`$ *"DS& n=o0e#$|$ s#@+powerRZ_negq9{$ |)ʩ +$ tΩ v#s#a$з$$#C$$$߰$֩$c#@(sum_f_R0Yc$$#7$!u!#c##G#]$4H""F"DC"$$!BA"!^"a!G@$!"]"E"[!"" !0"$$B"B"3"."(""""$ !0"$$D"D"5"0"*"$""$ !C%$$$%%#I#ީ!!à#$ĩ#f$S%$%"3$% !Ҡ$6%/%-#8$ѩ!Ԡ#v$a$! $%%!%$!۠$#D##F5$l$% !㠩##>$r$%%%0%'!% $#>!%:K)Peano_dec%@*dec_eq_nat5뵀S$%G$X" %L% "=$# "%%(B @c ##@%4N ^;9%e%9 $#% %%?Y##*@" $%H q%v" $ k#7z yZ#8{;u }qv#\Z%٩%#B#%;%[uz#߰$#E@/"Π"" 6%_ $#R@<"۠"Y"Đ%k `@4fast_Zopp_plus_distrpe#$$,#b@L"%%x m$$4#j@T""%"$% x@2fast_Zplus_permuteЩ"B$%$G#}@g% ©@0fast_Zplus_assoc Da~$#%@1fast_Zred_factor3&$*y$,%FC@{## p% ܩ#"t%##%@'inj_neqjD#%%S%y% g&%%%""%7%v ""H%;"%|"L%?S##Q#%"Q#% #SR#%%M#éQ#4"n"#6UU#:"r#u"[@&##q#Y#o"##4"0#%%V#V#G#B#<#6#.#%"0#%%X#X#I#D#>#8#0#% "C&&"֠"Ӡ %`%$1"נ$6%d"٠%$: %h%%%%"" %@2Rmult_plus_distr_r~"C&0&'%Q%"$$$%$%&$Ŷ@&Q&5&T&R$&W&UEe$f!i&_$&'&&v &$&Z&Q&&SC_ C`T&xǐ%%=$&|&n(rЩΐ#-$$%#1֐ؐ#73&ߐ$&X&7 @+Rabs_triang9&&#G&&&d#LH&$&m%2$&(&#Y&"&%&#^ $&{02,&}.E.5F5C&&@h!Π5&#&%<&$&  ө ˠ!'#w%&  Š %K ՠ!1#!& &&&S##$&W& !l ⠩#&&ް&&&@6Ropp_gt_lt_0_contravarߞ&C  )&C K&C 𠩚%@&R_dist%E&Ȑ%~&$&*@ 8&& %!m6&٩ &&۠&### & %!z# &' *&#ː#& &W7 91! &)'&'#ې## )%=!#'6'('&#萩#޷&'$Hlt0'AG#''F!';&'<O'$ ' @0Ropp_minus_distrW '%"y'!'+$!\'Z'Q$$ȩ$$  '9''P@(Rlt_asym!]7'@%>'D#HgeM%M%-Ʃ%'k#Ʃ%'m%%ȩ%''O'/%DH%;H$#@'$x$$$$s%C$$n0%E'V&$$$$$$%6'^$p0%G'X&$$$$$$%8'` $Ryn''gf'f|p%n%N!%D'l'L%U%#@'$$$$$%[$$0%]'n&$$$$$$%N'v"$0%_'p&$$$$$$%P'x $j$Hge0' @"ѩ r&'' $'>' &9'''$m'!$o%%s %_'!%Z  %k''sz%'$ @'$%#% %!$%$$0%''%$$$$$%t' $!''@+Rge_antisymP !$'''@)Rminus_ge$Ya%%'C'ٰ';$C&e'Զ%'թ''ː&m'ܷ%'ݵ/' n'''ĩ''&J&'Ǡ-'&A@''/'Щ''&&V@'''շ(("''$(''ܩ&P'&'&'@0Rminus_diag_uniq)68(!'(֩#;(( &o&4'@.Rminus_diag_eq-E&f(&=&x'W-@($(W'*@7('('(, &I&((/=C (0('G((2()'( C&(*&!(+ (8(/L(&(3XV$S"(KFbZ"%(#S(P(GP&کd"%&&(.^(P(0'%%'(5(6L&>&& (\&&&(>(&'%ӵ$@(l%b%%%ͩ%]&-%%X0&/(@'%%%%%%& (H %Z0&1(B'%%%%%%&"(J%<'&Q&1ȩ&'(O(/%$@({%q%%%ܩ%l&<% %GC((wB(WC' (y(({(['(&v(((&i&I&5(&&7((I&4&C(k(Kް&T$$ &$@(%%%%%&\%%0&^(o'%%%%%%&O(w %0&`(q'%%%%%%&Q(y %k((%c%`&#@(%h%e&%f (6(t%o%n&թ6 (C#%y&ݐ'(( (!d(( && &p(&&r(''&t('l&v((&q # "&(( &X!&$T$[&&_1&& &$Q '&$]&I%/@(%&E&-&C%&&%0&((*&*&&&& &&(%0&((,&,&&&& &&(%((% 0%%'?%'1#(%.(~(%\ԩ]0| %%' (C% &(/)) ,)#)('S())) ש(w;()(|1()))( (à)E%ܠ(#('f!H C(M))  J)!),)#@ (C%zͦ2