"`M1} \+OmegaLemmas%omega#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ֱ'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@0KCA@Gc'@#notШ/۩ـ'vEA@@@@@&OMEGA5 @@hL@曠$@;ζ@UC6A@^М>Aew]ߜMA@@@@@1&OMEGA6 @@M1W@n@hAC@qAxAE@@@@@d&OMEGA7 @@Nd7L9ݶ!t@ހBA@瀠A@DAF@MA TA׀H܀G@@@@@&OMEGA8 @@O@xAB@AW@P@#opp1P@ {+A@@@@@ᠠ&OMEGA9 @@NPᛠ=˛ @  @< CA@ESI[AD˜9A@@@@@'OMEGA10 @@Q!vz"c1궐"c2"l1`"l2c"k1"k2+)w1GFDBAGECAMGVFBEAfDBCA@@@@@'OMEGA11 @@R"v1궐pYl˶kͶj_倰݀倠EDCAB򀠐EDACAB@@@@@ՠ'OMEGA12 @@BS"v22׶-٩׀C&.EDBA쀠:E?DACJBA@@@@@'OMEGA13 @@T $)(@(positive*@~*(,zDABAC<DQCABLCB@@@@@i'OMEGA14 @@ULhGlHpuLƀrpt€DCACҀDBABCB@@@@@'OMEGA15 @@V |~ FEC ǀFDBAӀ!F܀E+DA瀠C6BA@@@@@ 'OMEGA16 @@vWe!cն!lHک`T\DCBAhDmCAsBA@@@@@F'OMEGA17 @@XF'BinNums'Numbers#Coq@@!Z7@;y@#@&BinInt&ZArith#Coq@@#Zne>o=CA@/An֩ >A@@@@@'OMEGA18 @@Y x ]@䀰CـBA@F/AM6A@@@@@'OMEGA19 @@(Zu@aAA@"or @AȀm@CQ@@*@CA〠1C$C#@@@@@ 'OMEGA20 @@y[ ƶ2@Iܶ@CDA@lޜLAɀk휠[A@@@@@?/fast_Zplus_comm @?a@]7@,!P@ A!HA&BinInt&ZArithwv@M1P&z@Q ̀%Logic$Init@(eq_ind_r!2#/- / @(add_comm Ros@zyd}:@A;A:"@#add1P&R +k() 7! 7!7!77# 'IX|ad@l3h@@@@@8fast_Zplus_assoc_reverse @uwyrpmkjHl}V^pTZtrt!Ru@3Zplus_assoc_reverse*Y)Z@/рՀAـ@ހ\A*|܀Hy +k() 7" 7!7!7!7!77# '-l|lPD@@@@@0fast_Zplus_assoc @ZηYϷXзǷĩSU@)add_assoc9x-N@|훠"&@+⩐A ɐ@1P&(@1P&. +k() 7" 7! 7!7!7!77# '|pP@ 6l@@@@@_2fast_Zplus_permute @ !#++@,add_shuffle3cl5@ӛuDy因}:@9A& @1P&꩚@1P&!T +k() 7" 7! 7!7!7!77# 'K|lP@2lfE@@@@@,fast_OMEGA10 @wy{}|zwutv@1P]p@ 3} 2 QkkrwIHndr~"&Tlz(,UOkj@ P c^{X@䛠因曠盠 蛠雠ꛠն@ԩA_O栩䠩U񐐠 +k()       77!7!7!7!7!7!7!    7!  7!7! 7! 7!7!7!7!77#' Рp,ߐ|$dH Q`@@@@@V,fast_OMEGA11 @  ީ#)˩+ "5@ P;@dbcdL@KA>2!b/  +k() 77!7!7!7! 7!7! 7!7!7!77# 'РYlqPx`@|@@@@@Ǡ,fast_OMEGA12 @  ~}q] rn3jq6kk@ Pi@瀶ɛ뀶ʛ˛󀶐ɛ@zA5#` lʐ  +k() 77!7!7!7!7!7! 7!7!7!77# 'РhِUt\?|@@@@@ /,fast_OMEGA15 @yxwvur搩堩qk젩xk Y@ P@:V;Z<^=b>f<j'@o&A@ שA t+k()77!7!7!7!7!7!    7!7! 7!7!7!7!77#'Р8H,PT/\<xHX@@@@@ ,fast_OMEGA16 @fhj!lec`^] Qvc5Oii;I|@ PAO@ƀʀ΀IҀ@׀UA0uˠɠǠb?p +k() 77!7!7!7!7!7!7!77# 'Рd̠Ԡ.pX:x@@@@@ ,fast_OMEGA13 @RȷMɷLʷ̛,ķL© NBvˠWC /@ Pf@ +  /  3 8@ <A4ڐǩ  ͩ ݐ +k() 7 9 7!7! 97!7!7!7!77# 'РhȠР\Ax@@@@@ u,fast_OMEGA14 @5679m1/,k< +)+`ة-k @$ P@k f g  kP@ OA0 7'%#$  g * m : +k() 7 9 7!7! 97!7!7!7!77# 'Рdh|Ƞ[Р\Bx@@@@@ Ҡ1fast_Zred_factor0 @  mw  s @ F@=1P&  * [ +k() 7" 7!7!7!7!7!77# 'Р/lDlP@@@@@ 3fast_Zmult_opp_comm @ /> @,mul_opp_comm.@   뛠 @ A @1P] H@B1P R  ܐ +k() 7! 7 7!7 7!77# 'Р,h|ʐgpH`|@@@@@ A8fast_Zmult_assoc_reverse @~u q  @3Zmult_assoc_reverse=@  T # X ě \@ a߶A#      /:1l|lPD@@@@@ 1fast_Zred_factor1 @QPIGDBˠ +}Bé9^ՠ \  5OM ^ ^@ @&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_base%Arith#Coq@0Ĕ}CS&Basics'Program#Coq@0!bs߯? :VU'Between%Arith#Coq@06v*0ur`C00BpHޞun^)BinIntDef&ZArith#Coq@0ådR4Tuy&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 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-GenericMinMax*Structures#Coq@0måj$"Gt%Arith#Coq@0䙛#c:D $Init'Classes#Coq@0](p{yOh."Le%Arith#Coq@0d}Omq+l0\͉!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蠠$Nnat&NArith#Coq@0$W;s #%M)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$Pnat&PArith#Coq@0,?pr.gZ'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@032 Q@@@@"_7-@)@$_1192M접 $_120'`o@F@@ g j mHA@@ 2 Q@@@@$_121!@Lt@$_1222M접 $_123'`o@Fܠ:@@   ~A@@2 Q@@@@$_124"!@#@$_1252M접 $_126'`o@Cj@@ ͠A@@Ơ2 Q@@@@$_127"H@=Ѡ@$_1282M접 [@-opp_eq_mul_m1< $_129'`o@C@@ A@@2 Q@@@@$_130"t@F@$_1312M접  )NZMulProp@(mul_comm $_132'`o@DJLǠ@@!*!-A@@2 Q@@@@$_133"@pe1z@$_1342M접  (ZAddProp@-opp_add_distrܭ$$_135'`o@D~@@!^!aA@@j2 Q@@@@$_136"@u[/Ye@$_1372M접 4@.opp_involutive:ۭ$_138'`o@C*@@!A@@O2 Q@@@@$_139#@Z0A<@$_1402M접 "@1Zopp_mult_distr_r ê$_141'`o@D۠ݠX@@!!A@@12 Q@@@@$_142#9@<+;S  @$_1432M접 @/mul_add_distr_r$_144'`o@E   @@!!񠐒!A@@2 Q@@@@$_145#o@9~ A@$_1462M접  (ZMulProp@,mul_opp_comm(렠$_147'`o@D E G @@"%"(A@@2 Q@@@@$_148#@"', u@$_1492M접 #@3Zmult_assoc_reverse=$_150'`o@E v x z@@"X"["^A@@ݠ2 Q@@@@$_151#@$b @$_1522M접  $_153'`o@C "@@"A@@2 Q@@@@$_154$@% @$_1552M접  $_156'`o@D Π РK@@""A@@2 Q@@@@$_157$,@& @$_1582M접  $_159'`o@D  w@@"ڠ"ݠA@@l2 Q@@@@$_160$X@w'ᠠ *@$_1612M접  $_162'`o@E & ( *@@## #A@@M2 Q@@@@$_163$@X( [@$_1642M접  $_165'`o@D W YԠ@@#7#:A@@/2 Q@@@@$_166$@:)> @$_1672M접  $_168'`o@C @@#aA@@2 Q@@@@$_169$@%z,@A@@@@ @$_1702M접 $_171'`o@A)nat_scope@4@@@TJ#Jes@\,ҍg @[#m_ŌnA*A@<=O1w+32 $$&t!n'BinNums'Numbers#Coq@@!Z7@%Logic$Init @(eq_ind_r!2#A!z@"eq @%B  A+&BinInt&ZArith,*@#mul1P])BinIntDef0@ $?BC@(positive*@C@'mul_1_r5J7USFU*BDC^A`5@#add1P&/@ ̀CCO=@(add_diag RހCWE@(mul_comm9+؀{y!m|o~U]EW_kjh'C_gsitr 1z m5rNtnv;`r@/mul_add_distr_l)?Ig.@$succ1\wy@ bT,-/Z: @*mul_succ_r~]F.@'add_1_l1ҷYӷ!p֩@&eq_sym XݩV]X,E[ːn꜠AѰͩ۷ذѩਗ਼@'add_0_l04Ԡ@'mul_0_r5o   $@'add_0_r0:Ő!x@"ex @A"!y% ()!H. /@@"le1P,>ND R##(?@@1add_nonneg_nonneg7.FÐ2I'J!kM"LT%@"gt1P,I-:Y!ϩL[0%ԷG^@BaHwDcFz"EQJi@mklР_@#andЖw@BBB@@@@D@@at@"or @kmg@ 0r@w^k@(mul_eq_09b@!@@ 9{(%>BE&G)BAAAA@@@@@D@3GWHշab۷{ƶywɐJ}{B@@@@@D)Datatypes@*comparison;f@@ð @'compare3x@]=ж@ͰǜCҰLِʩװ  Ȑ"H0@&eq_ind J, !e//@@@@@@@@@@@D!c8A@$Truey@ @%Falsee@ A4 @)False_induُ8ض@ T>>cXBw123%lemma*@#iffС)V@"lt1P-])Morphisms'ClassesG@2subrelation_properJ74!AH!BKK@*respectful%WO?R@SS)UU++&Basics'Programb@$impl7o.Morphisms_Prop%@9iff_iff_iff_impl_morphism8Ci!?kkA@$flip$rrr@$unitUe@A@@6subrelation_respectful>6z 8VVG@0subrelation_reflv ]4 __ _O@9iff_flip_impl_subrelation2VALf^h@Pj@#notШK  g@6reflexive_proper_proxy5}/RelationClassesm@-iff_Reflexive/h@)gt_lt_iff;ôMxA@@>Reflexive_partial_app_morphism 2R,|[o@|rh`UN7'"98@}7m;©9ߩ4/ '"Hx#HxyGӰM@#opp1P@ {M(Z@0not_iff_morphism Zm۠c 󠩚@,add_move_0_l.zg꠩%xȐ!o@-lt_trichotomy€/@E=$CS.! TPNO@ؠ@$ҩ@k,Ҷ@ 6@&le_ngt 䐷@@@;GomnV3~zt@@Iѐd=C@?P]@S Z@)le_succ_l#ڀ@@ uw@+@ @\@__F@by@0mul_pos_cancel_r1Jtǐ@@@nƩ z:@6ŐI񩚠0Private_OrderTac#Tac@)not_ge_ltЩ᩷ߐ K 멷M"H1N.@)lt_irrefl,SXOא7@+le_lt_trans uߐ?@(lt_trans*ՠ$$ߐK@%lt_eqrz",4CS@%eq_ltdQ*E#AZ@>,bkC)Ku`CxSb4iW):<YARLI젩>RKJ DQIH Q C7/CC@%D +JZ5&CR8S8W,@L[A\A`G8EdDO~(,KlNgb_C֐O?ũQ@'mul_1_l5D6i"GTAnIr`өZXQVGSKN@4iff_impl_subrelation5\a.^uex@1mul_lt_mono_pos_rlm^~ƩrөvР]C F z=?Ő <X-!1ְ#CJ(@)mul_opp_l WRSr@jR{ ߠ"L󐑷ͷ,/x{6 $% &!t)+3JE̷"H2 |ө  @1mul_nonneg_nonneg#"~ܩ"H3["H4 󩚠@)not_gt_le$Ҁg"H5"H6r"H7 q "H8&+"H9,#H102#H118PܩNL59Kt Z_]F©J\ 琩fOlR CV@<_0_11Ȁ@<_1_212wusqoj}թiIH کx^5|C/(0! }{  : Qu&g sW,YC]%VOZJ#S#کؠT`}LWXCtm:ީ! g@*not_neq_eqH>2HQL꩷?:P!@VV(@'eq_refl >[̐@&eq_neq,bbff<h9ɐ@*le_antisymFp'%.v0xͰ45}@(symmetry0xj`6@-iff_Symmetric!xZI@1opp_nonpos_nonneg(38 a@%le_eqp6:@"q$BbnC_ujshft sy8o<.fhCzG[r·Mxw@.add_opp_diag_lNc}R!v"c1"c2"l1÷"l2Ʒ"k1ɷ"k2̩Ωnqש٩y©})0^ĩHdƠ=װϠѠDGuנM٠O۠c  =*E d75 /!#àŠ->,)ɠ[ˠY>.0РҠ:%K96֠hؠIڠh"= ?ߠGX6*@,add_shuffle3cl5wZ.M"%)QW4SYY+8W,.#c?^*79.;0 6_@(eq_trans!ysE  M R @'f_equal=t!f)&-*,C%30-!]]LNv@)add_assoc9x-}Wʩ @)mul_assoc <)'  af©+ĩlE@/mul_add_distr_r)?OLw  "v1&!:4ΰfƠȠPЩ#nݰՠנ_0{$  )]c-_r^voQq"v2&i'g(e)`*,̠F/1ҠCԠ)8P9;۠ݠ?ߠ( [.*".y$0LMN8 DS,! /$^CַGbEdK jg<1 QlOnW  urZuXwN֩d!qfd#!!xz)(c++-/dY1!#j@.add_opp_diag_rNiBp%Pos2Z@'opp_neg=dUOnMJFHS!JR@,add_shuffle1cl3\*Yj[]eh_^cilZUȩʩj)nSllRMrxb?b|:8{~wyR{1V*(&$"kѰ٩ɠ?éР +٠|ǩ    =۩c&Vys N i ! "!l % &  (Ƞ   -  / Ϡ _ & 5   6  8ؠ   =   (   ,w " .3 J( K 1 L"NE@:ʩ E Tj2 U@ 9 X?nA K Z @ [@E 7><$ CC@ 1@#Zne>o=%@ݩ U lJ m# nF S rz@] h wǷa xb@ ^ }f p ] @ e  Y m#oo@ k  _t s* h t*  hC@@2| 8n    .@#@ !L@$f $L   " @,N @+lt_gt_cases#G} 1@@@   3    D  ة  8 A@F,+I m*s  r  XB   ީ쐩 =     Ω    ҩ  L         O  ˠ TʩȠѠ  ՠ q٠ ! cޠ &  @1opp_nonneg_nonpos~    @@ w  X@} { @]   @@  1 /  0  H  R @'add_1_r1Y  ڠ^U @-opp_add_distr;T ] @)mul_opp_r WXiA ' T R  S@ܠ@ ( ѩ /@$pred1\ )@ j ɶ@ 2 ?  @ 6 0Q >@*lt_le_predq 쐷@@@ N v t  u ]   RC@ l K   Z O  ! X p  e  n ;\ L p (  Q  r  x  7 n     v ~  = < t i `  C   F  5 CJ @#nat@     9   @&of_natbz @1?G! %   թ _  ש  s XA     k         ԩ   ʩ  $Znat %Nat2Z@)is_nonneg{  $  א& .P;/+vK