"`qU &NPeano%Peano'Natural'Numbers#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@F@&modulo>i@"i@A@AB>@K@&of_int>@6@A@CD?>g@P@&shiftl?>g@vY@A@?>m@V@&shiftr?>m@vY@A@?R J@\@&square?R J @y@A@?q@b@&to_int?q@@A@ABCEFG@A@@-@/@A@@A@@@@@@AA@@A@b @bA@d(GkF@@@@@Đ @vB@ykA@Da6@@@@@1͐ @@AA@D{P@@@@@K @4@@ $+k9'a@@@@@\͐ @!n@@A@A@@@@D ŐA!u@ː +k= R'>'''+k6'@Р@@@@AAAAt@@@@@y @@@7!m<;5B6!pD> @ ,/k(*()= R'> 3!9'''+k6'+7Tk+7T'6' @SRQ6ACX@@@@@ @cLKJIA@-l"D$@ `hh@c 0+k 7%'@ `\@@@@@砠 @@@\N\OWVR4[T@c $,2k(*()= R'> 3! 7%'G''+k6'+7Tk+7T'6''I̠TACXB@@@@@ @@@yz!k·C!lE@ ,Lk(*()=' R2'>= R'> 3%'''''+k6'+k6'+7Tk+7T'6'{lP4 ACXtI@@@@@D' @@@2@$boolZ'@ AB"n' ͠"m'D@ ,jk(*()=' RP'>= R-'> 3%'H''= R'>H'G'''+k6'+k6'+k6'+7Tk+7T'6'@$boolZ'@\ĠȠAAX@@@@@b @@@mI98@<5@M ,Lk(*()=' R2'>= R'> 3%'H''G''+k6'+k6'+7Tk+7T'6'-4 lP-ACX@@@@@ @Z#@-l2r@ 􀠩&Z@u D+k() 97%'@ p@@@@@נ'compare @@@ ?M@@@*comparison;f@HVIK R[NASBW _C@ ,jk(*()=' RP'>= R-'> 3%'I''= R'>H'G'''+k6'+k6'+k6'+7Tk+7T'6'N@*comparison;f@\VȠaAAXO$@@@@@ @@@ķ   @ ,Mk(*()=( R3'>= R'> 3!9'''''+k6'+k6'+7Tk+7T'6'pT8ACXzO@@@@@J @@@S6V+@Ɛ ,Mk(*()=( R3'>= R'> 3!9'G''G''+k6'+k6'+7Tk+7T'6'pT8ACXw@@@@@r @@@ - &"#!)!@ \,Hk*(=& R1'>= R'>3$'H''G''+k6'+k6'+7Tk6'P$ِ@ABLҠ@@@@@U @F@$negb@@-vү@A ?1,@6 8+k7 7$'@L ?1X@d@@@@@ˠr @A@}@w2@3voC6@-l5@ =z@N (,3k(*()= R'> 3! 7%'6''+k6'+7Tk+7T'6'#@.@7@РA@РC@@ACX9@@@@@W @@@b}o}pxssX@ ,0k(*()= R'>9 3%'''+k6'+7Tk+7T'6'gĠrACX`5@@@@@0k @A@v!r@2'$~@^q@ H,3k(*()= R'> 7!3&'''+k6'+7Tk+7T'+7T'6'<(РAEX@^qn@@@@@i @ ȷɩ@;@F2eo @ߐ @+k() L7&'@F2el@@@@@ @@@!d'Decimal@$uint):U@#acc@,@AAAAAAAAAA,@AAAAAAAAAA@,@@@@@@@@@@@@@@@@@@@@@D" ,M$"P@2'7&@^3><-jCA2oHF7tŐMK<yʐRPA~ϐWUFԐ\ZKِa_PސfdU@k ,k(*()= !1CWmR'>77! 3%'>77!9 3%'>77!99 3%'>77!999 3%'>77!9999 3%'>77!99999 3%'>77!999999 3%'>77!9999999 3%'>77!99999999 3%'>77!999999999 3%'''+k6'+7Tk+7T'6'РAAAAAAAAAA@(<d\D@h^(Dl dР'Decimali@$uint):U@@,@@AABACADAEAFAGAHAIAJAAC|TpyN@@@@@I @@L m@M5+N@ 0+kG 7%'@Z5+\m@@@@@h @@@͐϶ߐҷܠשנ&Little@Cj@  ,1k(*()= R'>7 3%'''+k6'+7Tk+7T'6'i@Cjxڐ䠐ACXyȀנ@@@@@ @K@#rev).V@-9<@ O%B)A@b, @+k6 7!7$'@( `@").VlA@T@@@@@ࠠ @PN@#int).J@@AAAA@@@@@D!xQ@&option >v@Xg@$norm)9փ|oAeG@Q4A@R^5}{B@2! +k7 = R'>7 9'>G''+k67$'РD@c^5`Р@#int).J@@>=v@@8)9փXvK@@@@@FS @hA@`L@a#m@r 0+k7 9'@m#mXn@@@@@i @@@ж!yӶ!qֶש@$prodt@ߐ'堩A'"x'2)F0u"u'Gv8@. P,gk(*()=3 RG'>= R('>3# '9 3# '' :''+k677%'+k677%'+7Tk+7T'+7T'+7T'677%'@-t@<X(4,PH6AEX@@@HAA ϲ6W@A вuX@AB@@Ƞ @'W(kY**ef"y'..@#fst 55@= R@CԀww@=m>> +k()=  R!'> L7777&'''+k6'"@%> @&t4@ ;@РA@@~AH@7@@@@@/ @ef>=iK@-l=E@ p@#sndB@: +k()=$ R%'> L7777" 7%'''+k6'РZ@]>E@^t`@.LK@t@w@Р@@AH@u@@@@@D" @@@-!a!b "a'@>i@"iɩN@ 4,6k(*()= R'>9 97!3%'''+k6'+7Tk+7T'6'@"i(ܠADX@@@@@ @'@@L \ʠ@@@@@ @@@/m 4r L   "k'Rz O#"r'!@ ,`k(*()=; RF'>= R-'>3# '99999 3# ''''+k6'+k6'+7Tk+7T'+7T'+7T'6' \MAEX@@@@@֠A @z5@5@!$:w@r <+kGLL 7#'@!$:d$@@@@@ @@@Z[`\]^U^޷TaRiqQpMfloT@h  ,\k(*()=7 RB'>= R)'>93# '99 3# ''''+k6'+k6'+7Tk+7T'+7T'+7T'6'ZtLeAEXS(@@@@@# @d@M ^@Nwdk@-we@ `<..@Ő L+kG7L 7 7#'b@`wdtg@ `= R'>3 9'G''G''+k6'+k6'+7Tk6'TD(,ABL@@@@@Ő @A@Аq Ds d bj[@-l6@  m (( @l-v@m :k@ 0,5k(*()= R'> 7 3%'7$''+k6'+7Tk+7T'6'Рf@$ؠ @.g @ @.,a @| 3@Р 9@@vACX /@@@@@ @@ _ _ bC@;=X2=@<NĴ@  i  h+k+ + 7&'6'6't@@MNĴL d\ Y.@@@jA@A@@+D @-˰.Ƿ b@&#tb@ L \ {P@@"@@K O @A@ Z"op@ @       ;] @@@@@@@@A ȩBXk?I @ ,jk(*()=E RP'>7 7 377!7 7 != R'6'G'7%'G''+k6'+k6'+ +"7TTk+7T'+7T'+7T'6'+7T'6'(@AA@|hؠ@ D ȠV"@321@@A@@C L8A@$+AHX @@@@@ 6 @h f @  "@ /v @$andb=''[@v L+k() 77#'@ /vt @=l @@@@@ݠ  @ < =) >@#orb&@ -l3 @  'Q@ \+k() 7!77#'@  'p/D B@| : @@@@@  ^ @ i jV"b'ĩVyqzz@ɐ +k() + 7#'()7 7%'S|Qxfh _ 4@@@@@ /  @  { @$xorbȀR@쐐L @ Ȑ|Pp}D  X@@@@@ S(eq_equiv @/RelationClasses'Classes @.eq_equivalence()'f@ @+Equivalence~@ ũ%Logic @"eq @x867 k)Datatypes$Init @@#nat@D1'Classes @0()'L @@@@@AA@@A@4succ_wd_obligation_1 @ + !H:   <;@(eq_ind_r!2#   D IGA  K@)Morphisms^@*respectful%WO?  UU  +k() L+ 77# '9 977&'%LogicI@"!2#HS|@@"eq @ @@@@@H'succ_wd @ @N(PeanoNat%Arith @ b@Uea@:@&ProperL A S S ސ 1 0{ e@gea 8@@@@@o4pred_wd_obligation_1 @ g hljh k r l nyd qT @b t tꐐ +k() L+ 77# '7 7 77&''@$pred.y @ `<xhcH@^ k@@@@@'pred_wd @ z@< (iZ@=]4@T OM@D]4 @@@@@3add_wd_obligation_1 @b  "x0 "y0 "H0  ķ      E  B| ʩ ̩   L à Щ K   P @  + L+k() L  + 77+77# '7! 7!77&'7! 7!77&'^@#add `$Ƞl0d8 @@@@@&add_wd @ @P!GH@Q"X@@  U  W;?@["X @@@@@3sub_wd_obligation_1 @ @ ` ^ \  e S ZY !  "] $ X ' W5 '  c@ * eVl@#sub $Ƞc0d8 @@@@@T&sub_wd @ ,@E9 @F@UT7@M 3@@@@@j3mul_wd_obligation_1 @ b cge e fhf i p j l5p s & t v l y  y  @j | +al@#mul $Ƞ0db8 o@@@@@&mul_wd @ ~@E^@F=$O@X7Q@M=$O @@@@@3pow_wd_obligation_1 @f      ·    @ -l8 @  k  @z ȩ ʩ  ͩ  L @  ' l0d8𠒡@#pow.뾴f@ k$Ȁ @@@@@&pow_wd @ @H8[X@I9%#@:@P9%# @@@@@3div_wd_obligation_1 @ 9  Y W U   ^ L  @ -l' @  UT   X  S "R0 "  ^@ % |`Q l@#div.U@ $Ƞ_0d 8 @@@@@P&div_wd @ (@Hp9@Iw@QP:@Pw /@@@@@f3mod_wd_obligation_1 @ ^ _ca a bdb e l f hi l  m oe r r  @c u $'@&modulo?;@"i$Ƞal0d\8 i@@@@@&mod_wd @ x@C[X@DUU@R␑K@KUU @@@@@2lt_wd_obligation_1 @`       @#iffС)  @"lt Uxc  A{ ɩ@#andЖw@A@   V @ ڶ@ ۔A (!! x+k()  +' +&:  +  77+"77# '''7! 7!7%'7! 7!7%'%Peano@"lt UxcXD@#iffС)d$Ԡ" @@@@@%lt_wd @ @b~,@c @@46K3R@m  @@@@@(7testbit_wd_obligation_1 @ P!%#p#n$l&$' .u(c ~ @  @ !ćlk03 4o  j, iG 9  u@*<@= x-? zz mР&lt@$boolZ'@0蠒@'testbit c@!ć$Ƞd08=@@@@@t*testbit_wd @ L@U,@VX@&@s7cu98J"@`XV@@@@@,bi_induction @D@ % @@@ Ƕ@  @ ڠ  Ҷ   t@% @@@@@)recursion @󔑠7֠Be@@쐷  @ @ @@@ 1 @ D+k+7$''@(nat_rectbd@@7@@A@A@A@A@@ؠ,recursion_wd @@ %O@"9TD@@#Aeq4Relation_Definitions)Relations@(relation'Jj @ @@@  g@ h A ,B@ r@  u2   4 4 6 6 @a$g@b& 㐑@<%O@@9T@2@A@A@4AviA@8Ag@:A8ӠA1@ABC@@$+recursion_0 @@  `@n;ҠF@@| bmwc /  3 g  3 @ `@@;@@A@A@A@A1DHo@AB@@K.recursion_succ @@ "0@=PH@@sq Vd@ Р Z Z@ @W@e]HZ@ hK   \ \ d ^leg  a b ik  e D@."0@@=P@$@A@A@&Ae@(A@*Ac@ABC@@ @@ .|DYLf@@@@@"le @@  UxT@@ ,6k@ UxT@D@@@@@ @@  ؐΠ@@@@@ʠ)pred_succ @@ 4@ Ʃȩ?6@4@@@@@ࠠ&pred_0 @@ `J@ݩTf}@`J@@@@@(one_succ @@   @+~~@  @@@@@ (two_succ @@ 2"р@?ww@2"@@@@@'add_0_l @@ #@^T[XX@#@@@@@4*add_succ_l @@  m@u0>1l3s v @ m@@@@@N'sub_0_r @@ v@JL2 +@v@@@@@d*sub_succ_r @@ 9lĀ@`nacIېL ߐE@9l@@@@@~'mul_0_l @5@ 2^@z|a[@2^@@@@@*mul_succ_l @K@ ڀ@̰' xԠ*Ґu@@@@@@)lt_succ_r @e@ ?舘@'@?舘@@@@@Ơ&eqb_eq @}@ >@¶é @U-l)w@V Eΐ@>@@@@@䠠&leb_le @@ ?<@%+9 ^+8@?<@@@@@<b_lt @@ ?-@>D7R@s-l3@t |IG}@?-@@@@@&eq_dec @Y@'nat_recOa*&Specif@'sumbool7̂K@)b@#notШ0=0sw2o6qsAy@ߩ7DRE)BL $@#O_S U沀 rU#IHn<fY[>_ K7f q>mB@@@@@D s@v@{@%Falsee@ʩ q$Ω°(Ȑ"H1@&eq_ind J !e۷ՠ @@$Truey@AD*@)False_induُ1 ʶ@o2mCIȐ!s2 ҩBAAAA@@@@@D@Ω: ة ; @+f_equal_nat!-e X"n0"@(not_eq_S-)7 d!!@,ː +k + + +N7#'()=> R'> = R8'> +#779'> 7"9''+39''9' +k9977"7 9977"7%'G = RM'+'$'LL +97777%'= R'>6'6''+k6'+k()+ L 77"T'6'+k977"7 977"7%'= R'>7 9'6''+kL77"7 L77"7%'+7T'77"7 77"7%'DB@@@Dt@{e@d$@OH@!-)7P @ U沐ԠР&Specif6@7̂K@BYXWAABAAIԠ@suُA@ J蠑R0P(h8  d|4$X0p@(𠑤A@𠑑@y@T[@m!-q@@A@A@@@@D@@AAAB82@#notШ<L5@@@@@l.compare_eq_iff @#@ 7WS@hvi-O@ANNI@B3RЀ$tQ@7WS@@@@@.compare_lt_iff @A@ 8e @ѠİK8i@8e @@@@@.compare_le_iff @Y@ 8G!@頩yްe8L@8G!@@@@@/compare_antisym @s@ t@{N@'CompOppV@t@@@@@ڠ,compare_succ @@ '@ֶשl n@'@@@@@%max_l @@ /ί@3@],ss@/ί@@@@@ %max_r @@ /ί@M @\E @/ί@@@@@#%min_l @@ /x'@d- @s\#@-l43@ 5@/x'@@@@@@%min_r @@ /x-@<J=@Ny@G@/x-@@@@@W,compare_spec @@ '@ S TU@+CompareSpec!Q]@]X[𐑠;@'@@@@@AA@@A@*compare_eq @.@ 3@ %s t@ w~U@3@@@@@,compare_refl @E@ '@ <ŰLa>k@'@@@ %'A*Equalities*StructuresA݋X_A@A@@:.compare_gt_iff @e@ 7р@ \  Q@7@@@@@P.compare_ge_iff @{@ 7Ҁ@ r  <Ր@7@@@@@h/compare_ngt_iff @@ &&@ ض ٩#:@&&@@@@@/compare_nlt_iff @@ '2@  ;0ː񐑠@'2@@@@@/compare_nle_iff @@ '~<3@  8 Sh_@'~<3@@@@@/compare_nge_iff @@ &R@   P!k5@&R@@@@@Ƞ)lt_irrefl @@ >jS@ 8}@>jS@@@@@ޠ+lt_eq_cases @ @ .@N\O @"or @U Z7@.@@@@@)leb_spec0 @h i$Boolh@+iff_reflect s1 @(symmetry0xjĚ @-iff_Symmetric!xҩb@>/T@8 @'reflectc@ +k() 7!7!L7!77"7777 7! 7!7&'(J!E+OrdersFacts*Structures#Coq@@"le&YD/RelationClasses'Classes @(symmetry0xj$Bool@F s1̠%Logic$Init!@#iffС)L!F.@#leb( ~\)Datatypes@$boolZ'@hN!SB@&leb_leFpA/@"eq @pI@s!x|Ϡ@@N[ZY@ՠ@@"O@@"O@A@As2@@s2@A@Bs8@@s8@A@ѓ@@ѓ@A@@@@A@AB/@@/@A@l@@l@A@ACD c@@ c@A@^Ҷ@@^Ҷ@A@A,@@,@A@l@@l@A@ABs8@@s8@A@.@@,.@A@A.먩@@.먩@A@B.U@@.U@A@.B@@.B@A@A. @ @. @A@.=@ @.=@A@ABCDE. @@. @A@.Z@@.Z@A@A.p@@.p@A@B.@@.@A@.@@.@A@AC.g@ @.g@A@.&@$@.&@A@A.뾴@&@.뾴@A@.L@)@.L@A@.@,@.@A@ABCD.,a@.@.,a@A@.Xz@3@.Xz@A@A.@5@.@A@B. @7@. @A@. @:@. @A@ACE.@<@.~@A@.y@A@.y~@A@A.Ʉ@C@{.Ʉz@A@.@G@z.y@A@.t @J@v.t u@A@AB/@L@s/r@A@CD/@N@o/n@A@3@T@p3o@A@A3@V@i3h@A@B6w~@X@f6w~e@A@@]@`>_@A@>@a@]>\@A@A?;@c@Y?;X@A@BDEFG@A@@M!Oi@A@@Ln@A@@K!Ct@A@@Jy@ cs8@.@@!t.J@A@AC. @@"eq. ^ @A@. y@@"le. yh@A@. @@"lt. h@A@AB.먩@C.UDEF. G@A@+OrdersFacts*Structures#Coq@.BoolOrderFacts@@@A@@@@@@t(leb_spec @ @ )@婛@(BoolSpecޜ@?@)@@@@@)ltb_spec0 @,&J@>Mb~@7 {(z@"lt&hDqU@#ltb( \o̠iXhQ@<b_ltdpNMpI|Gx@@@@@ߠ(ltb_spec @ @ =@OPkNbT0@=@@@@@'leb_nle @ @ -y@ef _H@-y@@@@@ &leb_gt @ 8@ ?;π@/}~Ƞ$^@?;@@@@@#'ltb_nlt @ N@ /@Eޠ Ѱv@/@@@@@;<b_ge @ f@ ?@]@?@@@@@Q(leb_refl @ |@ @s  @@@7@@g+leb_antisym @ @ ( /@׶ة .٩ڐߐ@( /@@@@@*ltb_irrefl @ @ l@ +F4@l@@f@@+ltb_antisym @ @ !M@6 B]  '@!M@@@@@+eqb_compare @ @ 70@O  [v[@@@@@@@@@@@D}okk@70@@@@@͠+ltb_compare @ @ ' H@=m> yB԰ @' H@@@@@堠+leb_compare @ @ -X@UV s618@-X@@@@@'eq_refl @ @5Equivalence_ReflexiveP4  0@ ?Ϲ@ @)ReflexiveW (6777"k/RelationClasses'Classes#Coq@@@1@#two>T@@A@AI@5@$predId@@A@G@:@$succGr@@A@@?@$zeroT@@A@ABCDE@A@@M{@]@@@d@!tРJ@@A@A L@@"eq L^@@A@r@ @#onerT@@A@AB4@@#two4T@@A@b@@$predbѠd@@A@F@@$succFr@@A@]l@@$zero]lT@@A@ABCD@A@@L.+*@A@4*BackportEq@@@A@@@@@AA@@A@&eq_sym @@5Equivalence_Symmetric. U@@)SymmetricFgqTL@. U\DbݠxeRI3,Ԡ͠hO>נTP@@ @@G(eq_trans @@6Equivalence_TransitiveWB@@*Transitive++-򐐠</T%LA@W\'D!̠YF5.֠Ϡwp,Š@@ S@@*eq_sym_iff @@ )ƀ@#>13@)@@ k@@AA@@A@'neq_sym @@ 33^@S@  萩M@33^@@ @@(eq_stepl @@ ?%@'W(!z+@ @h/.6j10@?%@@@ Aۓό^&@ @AB@@>(succ_inj @@ 5@"n1K"n2N@Q4 ܐ/@5@@@ AO@A AۀߠKH@&@ @ABC@@a+succ_inj_wd @'@ 2C@#l!m pM@2C@@@@ Ag@AB@@z/succ_inj_wd_neg @@@ <@Р `; bh@<@@@@@1central_induction @X@ 'Z[@ö$A_wdx@ @ ǐ@'Z[@@@@@'add_0_r @w@ #@@#@@@m@@ 4@ABC@@AA@@A@*add_succ_r @@  s@ض٩۩hW@ s@@ @@-add_succ_comm @@ <@7.@<@@7@@4(add_comm @@ b@N  E . @b@@N@@K'add_1_l @@ % @e ["_b@% @@e@@b'add_1_r @@ %&@|7r9vy@%&@@|@@y)add_assoc @ @ 7!+@N\OTPR4v68 c5@7!+@@@@,add_cancel_l @%@ .a-@jxkplpRe O@.a-@@@@,add_cancel_r @?@ .a3@РðlM i@.a3@@@@ɠ,add_shuffle0 @Y@ _@۰N@_@@@@⠠,add_shuffle1 @r@ _@>:@_@@@@,add_shuffle2 @@ _@׶ضٶک @_@@!@@,add_shuffle3 @@ _@80٠o@_@@:@@7'sub_1_r @@ w@Q G@w@@P@@M'mul_0_r @@ 2d@g"]$wĐ@2d@@f@@AA@@A@*mul_succ_r @@ @;I<w>~! I @@@@@(mul_comm @@ 7 [@UcVX"W7@7 [@@@@4/mul_add_distr_r @'@ 2Ҁ@lzmrnp:S=63R@2@@@@O/mul_add_distr_l @B@ 2̀@İU9nX m@2@@@@j)mul_assoc @]@  @߰p&gr向@ @@@@'mul_1_l @x@ 2ǀ@@2@@@@'mul_1_r @@ 2̀@өթ@2@@@@,mul_shuffle0 @@ +j@.&E|@+j@@0@@ʠ,mul_shuffle1 @@ +k@G   1 @ ѠKɩԠJ@+k@@N@@蠠,mul_shuffle2 @@ +l@e . !& "O #^ %I @+l@@i@@,mul_shuffle3 @@ +m@ ;I <A =x ? Hΐ @+m@@@@%le_wd @@ /@ HG 3@/@@@@AA@@A@*lt_le_incl @&@ @ ky l@i z L@@@@@@'le_refl @<@ -u@ V `@-u@@ @@-.lt_succ_diag_r @P@ #c@ ؠՐ u@#c@@@@@B.le_succ_diag_r @e@ @  @@@@@@V/neq_succ_diag_l @y@ !P@   @!P@@q@@m/neq_succ_diag_r @@ !V@ թ  @!V@@@@@/nlt_succ_diag_l @@ 17X@1 Đ1.+ @17X@@@@@/nle_succ_diag_l @@ "Oy@H!ېr @"Oy@@@@@)le_succ_l @@  ]@^!'!d @ ]@@@@Ƞ+le_gt_cases @@ (HC@u!0>!1  א!@(HC@@t@@ޠ-lt_trichotomy @@ >NE@!FT!G E L !)@>NE@@@@@(lt_asymm @@ =%el@!^l!_@\8k␑!B@=%el@@@@(lt_trans @2@ =J%@!w!x}!y@@!\@=J%@@-@@)(le_trans @L@ :@!!!@'@(!t@:@@@@A+lt_strorder @d@ #t܀@@+StrictOrder.[@!򐑠!@#t@@#@@[+le_preorder @~@ +U@@(PreOrder@!6!@+U@@=@@u/le_partialorder @@ :&ǀ@*@,PartialOrder5͛! tO@."&!@:&@@@@A@\@]AhC=@ABC@@)lt_compat @@.O@/Ύh@@"NZ'NZOrder&NatInt'Numbers#Coq@@%lt_wd']ɠ! i      6ޠՠ}v`YJ۠ʠ@@A&NZBase$#"!@om@A@'NZOrder&NatInt'Numbers#Coq@+NZOrderProp~|@A@@@@=rq@A@@@@@젠(lt_total @ 0@tk]@@@@@E0Private_OrderTac""'IsTotal    @ N@@(eq_equiv7L"  Š   R ?    . 'ϠȠpi {@@@@@A @ @I"QA@@@N,Q^"ɠ D  ߠ ̠ | i    X Q;4%Ϡ۠Ҡ@@@@@ @ @<@=4m@" m      :  ٠  z " àd]NߠΠ@@@@@ՠ @!@;4@=J@#  A 1  Π  c     K Dw!-$@@@@@ @!A@+7!@-u6@#D  j Z G    4 + Ӡ ̠ t m  J1 VM?@@@@@'@@@@@@A@@#Tac 1 @Z#@ ={^@S#ܰ#!!ސ@ E{^@@@@AA@@A@8 @@@# @j#7-@F# @@+@@ @-@%[@>@)lt_irrefl%[@@=@@'r @?@z&5F@#ܶ #ݶ@̐S@&5F@@Q@@;*le_antisym @T@ UEI@#!#@E@a0#!!ul@UEI@@j@@T @l@D@$ 9$ @ D@@@@@g*interp_ord @!o)OrdersTac@#ordȠ@ @@@@@@@@@@@D"fgn@ +k= R'6'6'6''+k+7T'+7T'6'ࠒA!O)OrdersTac*Structures#Coq@@"lt\@!t@"eq8L@"lelР"@:Ƞ@@765@@A@B@A@xA܀$C  i Y F    3 * Ҡ ˠ s l      I 0 UL>@@D!PJIH@`Nߠ@@@A@@CX P@@&@W@!t&J@@A@A&a@@"eq&a^@@A@&@ @"le&ڠh@@A@AB&@@"lt&h@@A@&̌@@#one&̌T@@A@A&̔I@@#two&̔IT@@A@&H@@$pred&Hd@@A@&؝[@"@$succ&؝[r@@A@&C@'@$zero&CT@@A@ABCDE@A@C,MakeOrderTacAB>@A@@@BKJN@@@A@@AQG@@@M@J@@A@A$:@@"eq$:^@@A@$@ @$h@@A@$@ @"lt$ h@@A@ABC@A@)*OrderFacts,!@A@@@@@@J%trans @c@ U@嶐"o'%4%%@"%(m@qu@1%""#@  @)trans_ord-0u!)""@+U@@@@y @%*Z%+%,%@;RT3МA"#<#p@%6f%7%8@Ķ@ũu%<"" L+k() LL7#'Y@S$t%&  L < ) ٠ Ơ n     V O      ,  8/!֠|@@@@@ @$%r%sK%tHМ\C"##@,%z%{S%|鐐 L+k() NN7#'@t%b ݠ  x e    R I     3 , Ԡ ͠  h O >tk]ޠנѠ@@@@@< @`%%%МB#3##@h%%%? L+k() MM7#'|t% Ġ   Q >    - & Π Ǡ o h      z[N @@@@@9+le_lt_trans @%%%y=#m#$*@% %%@x L+k() MN7#'t%٠T   ܠ  y ! ɠ  h a     K D 5 ߠ Ơ ԠUNH/@@@@@t+lt_le_trans @&&V&'&(x#$1$e@&+[&, &-@@ L+k() NM7#'t&;+ Ƞ  ]     E >  ߠ   q   'ҠŠk@@@@@%eq_lt @ &b&c ;&d84#$m$@ &g&h @&i@ L+k() ML7#'.t&PˠvfS   @ 7 ߠ ؠ  y !      V = ,bYK ̠Š@@@@@렠%lt_eq @ O&& v&so$$$@ T&& {&@+@1* L+k() LM7#'jt&?, Ԡ | s     ] V     y hI<@@@@@'%eq_le @ &ٷ &ڷ &۩g$[$%@ &޶ &߶ &@lM L+k() NL7#'t&ǠBݠʠzg   V O     9 2 # ͠  ٠Р wC<6@@@@@b%le_eq @ ' D' '$%%S@ ' I' '@@ L+k() LN7#'t'~)K     3 , Ԡ ͠ u n _   ߠ xrY@@@@@&eq_neq @@ &5@!'T 'U -'V@@02"@&5@@@@@&neq_eq @@ 'so@!!'o 'p H'q@@@'so@@@@@Р*not_neq_eq @@ '0)@?}@@@ `@ `@'@ABC@@ `+lt_ge_cases @@ 7Hi@( )ȶ')ɩxې)@7Hi@@@@@ v+le_ge_cases @@ >8@(#)޶')ߩ3񐑠)@>8@@@@@ +lt_gt_cases @@ !;@(9)()?ϩ)@!;@@@@@ ,eq_decidable @@ =B@(Q* (* )DecidableI* @)decidable r鐑)@=B@@@@@  &eq_dne @@ >U@(o**(8*+u.* @>U@@@@@ ؠ&le_ngt @@ ?@(*@(N*Ah*!@?@@@@@ &nlt_ge @@  @(*V(d*Wfi*7@ @@@@@ ,lt_decidable @'@ IP@(*l(z*m`z*L@IP@@@@@ <_dne @<@ ?@(*(*̠\*d@?@@@@@ 1&nle_gt @T@  -@(*(*@*z@ -@@@@@ G<_nge @j@ ?ԅ@(*(**@?ԅ@@@@@ ],le_decidable @@ I@) *Ŷ(*Ʃ*@I@@@@@ r&le_dne @@ ?@)*ڶ(*۩%1*@?@@@@@ *nlt_succ_r @@ 9S@)7*)*=͐:&*@9S@@@@@ 5lt_exists_pred_strong @@ % q@ + )Q+ )+ @Q&Ѷ@ K@"ex @+(+ V+)#[$,)Z*@#% q@@@ @A @ @A@AРD.Morphisms_Prop v@A1@D h@ABCD@@ ؠ.lt_exists_pred @@ m@+@)+A@>2+D(+EE +I(# k+(@m@@@!@A@@ ,lt_succ_pred @ @ %Q@5+^)+_@\ +b))k+B@%Q@@@@A@5@@?@ABCD@@ &rs_rs' @ 7@ P@" U+~@̶@)+@'E@$(g$#o)+@?@)+)+@ʶ@ -K$(sH$+q@&P@@/@@ >(rs'_rs'' @ a@ 1Ҁ@"̶ +@)+@@)+)+@)+)@ QI$($$)+ 'ة(+@$1@@j@@ f%rbase @ @ /؝@#+ϩ*+Ѷ)+Ҷ@Q@ r'򐑠+@/؝@@@@@ )A'A_right @ @ w̄@#5 +@*/+꩷*1+)+@@ $$(*6+@p)l(Ր+@w̄@@@@@ 6strong_right_induction @ @ 7ހ@#T,i},@`*O, @+@7@@@@A@@@ABC@@ /right_induction @ @ #鎀@#pH,$@r@*l,'@ߩ%.) ,@#@@@@@ Ԡ0right_induction' @ @ ;"@#b,>@*,@@QO@, @;"@@@@ 7strong_right_induction' @!@ Z5@#{̶.,W@@*,Z@ٶ@*,^*l,_@C@ J%m)Et,A@Z5@@@@@ &ls_ls' @!1@ ?H@#O,x@ƶ@*,{@@%)b*,@**@*,*,@*%@  ,i@$?H@@@@ 6(ls'_ls'' @!Y@ 2.@#Ķw,@*,@@*,*,@**#@ >-*, (ͩ ,@!2.@@@@ [%lbase @!~@ /̮@$,ĩ+ ,ƶ*,Ƕ@5 @ ]7,@/̮@@@@@ u(A'A_left @!@ -m@$+,޶@+%,੷+',*,@c@ x)++,@,@-m@@Z@@ 5strong_left_induction @!@  b @$H ]q,@\+C,@7{,@ b @@@@s@@ABC@@ .left_induction @!@ f@$c;x-@e@+_-@󐑠,@f@@@@@ Ơ/left_induction' @!@ 8쮀@$|T-0@+w-2@A@-@8@@@@ ߠ6strong_left_induction' @"@ 2•@$m -I@@+-L@@+-P+^-Q@+&a@ f-3@2•@@@@ /order_induction @"#@ 8^A؀@$߶A-j@@@+-n@@&w+-s&y)-R@8^A@@@"@"@AB@@ !0order_induction' @"D@ "w2@$b-@ٶ@ @+-@@i"%!-q@"w2@@@@ >1order_induction_0 @"a@ Q U@$̶ @@+-@@&%@+-@(6 -@Q U@@@@@ ]2order_induction'_0 @"@ {@%(<@:@@,-ʶ@8(@I&<'-@{@@@@@ y<_ind @"@ ?@%/ DX,(-@+cR@+-@e+-@ - Ð-@?@@@@@ &le_ind @"@ ?@%L $au,E.@N@,.,.ݐ-@?@@@@@ &Rlt_wd @"@ ;ހ@."Ͱ  ,_.,(. -@;@@^@@ Ƞ&Rgt_wd @"@ ;‰@.0" % $,x.3,A.44 B.@;‰@@w@@ ᠠ%lt_wf @#@ /Ύj@ .I"Wf.I@,well_founded8E.S:.1@/Ύj@@@A𱍠G0@A7iA@AB@@%gt_wf @#)@ /ĝ@E.n%.p>.N@/ĝ@@@@-add_lt_mono_l @#>@ ̀@,.,.,. Ϡ  ʠ}.g@@@@@AA@@A@-add_lt_mono_r @#Z@ Ӏ@,.,.,.  ) ǐ.@@@@@+add_lt_mono @#s@ 6T@,.,.,.'.@@ C!,',, E.@6T@@@@@9-add_le_mono_l @#@ 0ԡ@-.ն,.ֶ,.ש!!lFR.@0ԡ@@@@Q-add_le_mono_r @#@ 0ԡ@-2.,.,.!9^N.@0ԡ@@3@@i+add_le_mono @#@  ǀ@-J/-/- /(4/@vK@xN.@ @@@@@.add_lt_le_mono @#@ W@-d/--/ -%/!(N/"@Y@g/@W@@@@@.add_le_lt_mono @#@ g@-|/7-E/8-=/9(f/:@2/@g@@@@@+add_pos_pos @$ @ /@-/N-\/O@@!-/1@/@@@@ʠ.add_pos_nonneg @$!@ '*H@-/f-t/g@@/H@'*H@@@@ᠠ.add_nonneg_pos @$8@ f@-/}-/~@//]@f@@@@1add_nonneg_nonneg @$M@ 5!ɀ@-/-/@+@, D/t@5!@@@@ ,lt_add_pos_l @$d@ 0P@-/-/@!-W/@0P@@@[@!@AB@@&,lt_add_pos_r @$}@ 0P€@./¶-/ö@"-ͩ-d/@0P@@v@@>,le_lt_add_lt @$@ 6,@./ڶ-/۶-/ܶ) /ݶ@ն@""--Ġ--]/@6,@@@@@[,lt_le_add_lt @$@ H@.</./-/)&/@1@ i3/@H@@@@@t,le_le_add_le @$@ +{@.U0.0.0)?0@ @ /@+{@@@@@,add_lt_cases @$@ kE:@.m0(.60)..0*)W0+@"opܠ"rm0@kE:@@@@@,add_le_cases @$@ [R@.0C.Q0D.I0E)r0F@  0)@[R@@@@@ -add_neg_cases @%@ -@.0^.l0_@"/"-/".o/0F@-@@@@ߠ-add_pos_cases @%6@  +@.0{.0|@"/."Ġ/".֐0a@ +@@@@0add_nonpos_cases @%Q@ 6 @.0.0@!8H!7! 60{@6 @@L@@0add_nonneg_cases @%k@ /,wQ@.0.0@!5b!"4M0@/,wQ@@@@--le_exists_sub @%@ %b?@/0ɶ.0ʶ@ 0ͷ.0ΩΠ& 0.P.Q(0@%b?@@@@A@I@AIAA@@k@ABCD@@S+mul_lt_pred @%@ -N@.0*0/60.0@&.0(.s#?#:,},%*#>.ߠ/..0@!-N@@B@@AA@@A@1mul_lt_mono_pos_l @%@ @/1/]1/&1@#d#_0@@@@@A@@@@ABCD@@"1mul_lt_mono_pos_r @%@ @/:16/|17/E18@##~- -,1@@@@@>1mul_lt_mono_neg_l @& @ @/V1R/1S/a1T@#ݩ#MP17@@@;@@X1mul_lt_mono_neg_r @&'@ @/p1l/1m/{1n@ ##561Q@@@@@r4mul_le_mono_nonneg_l @&A@ *`O@/1/1/1@޶@!-V/ /Q1l@*`O@@=@@4mul_le_mono_nonpos_l @&\@ *ef@/1/1/1@ٶ@"j1@*ef@@V@@4mul_le_mono_nonneg_r @&u@ *`O@/1/1/1@@"+1@*`O@@o@@4mul_le_mono_nonpos_r @&@ *ef@01Ӷ/1Զ/1ն@ @Ω"D1@*ef@@@@ؠ,mul_cancel_l @&@ ˴@011/1/1@ ǐ',10.0$='01-1@˴@@@@l@@ABC@@,mul_cancel_r @&@ ˴@0S20202@"$['N2  1@˴@@V@@(mul_id_l @&@ 7 @0m2(062)@;$t'g2.05'i20/02@7 @@@@/(mul_id_r @&@ 7 @02C0Q2D@! Ω$'2K/ɩ'2M0T0ِ2+@7 @@@@L1mul_le_mono_pos_l @'@ 2.d@02`0n2a0f2b@$"H$]"Ӡ*q2F@2.d@@@@g1mul_le_mono_pos_r @'6@ 2.j@02{02|02}@$Ƞw"v2`@2.j@@@@1mul_le_mono_neg_l @'P@ -h@020202@$#^2z@-h@@@@1mul_le_mono_neg_r @'j@ -n@020202@$#!(2@-n@@@@2mul_lt_mono_nonneg @'@ w@12ɶ02ʶ02˶+2̶@#:1n0ζ@%0K0Ѷ@@%.F+.+0S2@ w@@@@@٠2mul_le_mono_nonneg @'@ 9؀@1220202,2@$@#_"@'@#b!2@9@@@@+mul_pos_pos @'@ 84@1N3 13 @ ^@ _%O12@84@@ \@@ +mul_neg_neg @'@ 1h"@1f3!1/3"@@3@1h"@@ r@@#+mul_pos_neg @'@ 84~@1|371E38@ @ԩ%}31ې3@84~@@@@;+mul_neg_pos @( @ 1k@13O1]3P@@ 30@1k@@ @@Q1mul_nonneg_nonneg @( @  r(@13e1s3f@@#\3G@ r(@@ @@h0mul_pos_cancel_l @(7@ /=@13|13}@ ѩ%Ƞ%à2! Ր3`@/=@@@@0mul_pos_cancel_r @(P@ /=@1313@4%3w@/=@@@@3mul_nonneg_cancel_l @(g@ ?"̀@1313@ %$0H3@?"@@@@3mul_nonneg_cancel_r @(@ ?"Ҁ@2 3Ķ13Ŷ@c&3@?"@@@@Ǡ,lt_1_mul_pos @(@ 49@2 3۶13ܶ@& 2k1@ 3&#2nِ3@49@@ 0@@ᠠ(eq_mul_0 @(@ ?@2:323&@)332" 3@?@@=@@)neq_mul_0 @(@ 8ʨ@2T424&Z %"3@8ʨ@@W@@+eq_square_0 @(@ 6i@2n4)&s)f4-,K2<4 @6i@@@@@,*eq_mul_0_l @(@ F@24@2N4A@J@)~4E2D2䐑4#@F@@@@@D*eq_mul_0_r @)@ F@24X2f4Y@b@#3)4_124=@F@@@@@^(mul_eq_0 @2N@>`z~@}@>@^\4XӠ~n[ H?)"ʠà^@@@@@*mul_eq_0_l @2z@gƌ(_@^,@l24pe4~1Ơne OHڠ@@@@@*mul_eq_0_r @2@uƌ.m@lR@z24pk4ʠWD3,Ԡ͠un@@@@@֠(lt_0_mul @)@ <@3/424'5'03   F D4@<@@@@5square_lt_mono_nonneg @)@ s@3M535 @@'N0נ330٠224@s@@@@@5square_le_mono_nonneg @)@  /@3i5$325%@@%5@ /@@@@@'6square_lt_simpl_nonneg @)@ /̀@35;3I5<@@'11 % w5@/@@@@@@6square_le_simpl_nonneg @*@ `a?@35T3b5U@@%O56@`a?@@@@@W,mul_2_mono_l @*&@  xgL@35k3y5l@$i'3Q31;321=33|5S@ xgL@@@@t*add_le_mul @*C@  ep@-5-5@@%5k@ ep@@<@@-square_nonneg @*[@  E@-5& 4A-5@ E@@ @@5crossmul_le_addsquare @*p@ To߀@. 5.5@N@O&%335@To@@ Y@@-add_square_le @*@ 67@.%5ж.#5Ѷ@i@j&@15@67@@@@֠-square_add_le @*@ @.?5.=5@@&Z14b55@@@@@4quadmul_le_squareadd @*@ $ @.Y6.W6@@&t1Ӡ1ՠ1נ4443:5@$ @@@@*neq_succ_0 @*@ +dh@4g6"$+_6&.d4Ő6@+dh@@@@AA@@A@*neq_0_succ @*@ !W/@46<$𐑠6@!W/@@@@@&le_0_l @+ @ ?@46O6-@?@@@@))induction @+@ 17@-(@'ٶ@'׶@46f@23 'Ԑ6F@17@@@@A@@C-case_analysis @+7@ 8(@-(@'@'@46''쐑6^@8(@@@@Z%neq_0 @+N@ / @%j466s@/ @@@@@o'neq_0_r @+c@ 32@46( 646 ꐑ6@32@@@\@A}@#"@@ @ABCD@@,zero_or_succ @+@ *Jˀ@5 6ũ"t6@*J@@@@)eq_pred_0 @+@ 1@56ک)$,6.U5}",655n6@1@@#@@)succ_pred @+@ +@5:6@ 6@+@@7@@Р(pred_inj @+@  π@5N7 57 @ƶ@Ƕ@,H7..+,K7456@ @@@@젠.pair_induction @+@ 6Ԁ@.s)K(@(@45@5p7+@(@ 03/7 @6@@@@@ 1two_dim_induction @+@ \@!R)7$R_wd+)<);5@5R55@57N5\7O@4ʩ0^`@57S@5b7U0c4Ω0d4;557Y5g7Z0`4Ӑ79@(\@@ P@@50double_induction @,)@ 8Y#@,)a*(@5~7q4'V@57t5t/6@57x57y@%004_$7Z@8Y#@@ q@@V(eq_add_0 @,J@ ?P[@5757)ڠ,Ͱ7637s@?P[@@@@AA@@A@+eq_add_succ @,f@  c@5757) 757,7]/#b 747 q 7477@ c@@@j@Ai@@A$1@@ @ABCD@@,(eq_add_1 @,@ ?P\@67Զ57ն@-76d#ڠ&cܠ7@?P\@@ z@@I.succ_add_discr @,@ @66757&ʐ-/7617@@@7@@a*add_pred_l @,@  p@6N8 68 @Ʃ-F8 5,6/7@ p@@R@@|*add_pred_r @,@  v@6i8$628%@7-a8(6 5,8@ v@@k@@'lt_wf_0 @-<18<1m8>*r@'=Aɶ@D'B̷-J'C*{ϩ6+@ >/"1X6, *BBB@@@@D@6$_tmp-`6C-@1pointwise_liftings׾*-@%TlistР@B8mA*468r.C-@4relation_equivalences8y*68z C-SetoidTactics-@0default_relation *w2. @3equivalence_defaultú*-@ relation_equivalence_equivalence*+r2;*#Heq%-@2subrelation_properJ7,]**ĩ-)2K** Y2L {@5well_founded_morphism=l2S-**(&Basics'Program8@$flip$***ݚ @$impl7o8@$unitUe@A-@6subrelation_respectful>6z **GG-@0subrelation_reflv *N+&-@9iff_flip_impl_subrelation2VA+^76@ .O 7dC@c /4@ 67 + +7 :6  67777777 +7T7!77 77 7 +7T7L ! 6777777 7 +7T777 77 677 777 7 + +7TT7 k() + +(:'= R '>''+k7%'7 :'() 7! 77!7%'+7T'6'+7T'6'+7T'6'6'+7T'6'T4Relation_Definitions)Relations:@@(relation'Jj(KJIH @&le_0_l\%Logic$Init@#andЖw@"Wf @,well_founded8E䠒"@%lt_wf ÐT)Morphisms'Classes4@L2VAT @*respectful%WO?4@J7t@=@$zero3F6L7@#iffС)'ProgramV@$p@"lt3<@@!t3@t4d #@"le3A8XHh`XxpC@v РeBABAB䠒O@>6z(/RelationClassesT@s 9@7oPh.Morphisms_Propa@=lЀ9^!٠!!t!a!   N E@@@@A%A Ih@ 8@ @ABC@@AA@@A@'nlt_0_r @.b@ 4Ao@79( 9@4Ao@@@@@*nle_succ_0 @.w@ $@89(*+J9@$@@@@@.&le_0_r @.@ ?@89ҩ, 㐑9@?@@@@@C)lt_0_succ @.@ 5%@8,9,*82'9@5%@@*@@X*neq_0_lt_0 @.@ !Vr@8A9,F9@!Vr@@?@@m/eq_0_gt_0_cases @.@ 8@8V:%"9@8@@T@@(zero_one @.@ ?䛋@8k:&%ՠ7%נJ,m: @?䛋@@@@A@@A&@ @&A1BhF/o@ABCD@@<_1_r @/@ ?}@8:G,,Y:(@?}@@@@&le_1_r @/@ ?@8:],*&:>@?@@5@@Ϡ'lt_lt_0 @/.@ /<@8:s8:t@)qȐ:S@/<@@ @@䠠'lt_1_l' @/C@ /Ā@8:8:8:@ܐ:i@/@@@@@*le_ind_rel @/Y@ +π@\ZX@0@8:8:@)@3'3238:8:@)3':@+@@@@*lt_ind_rel @/z@ @}{y@8:©8A۶@9 :Ŷ8:ƶ@)#9 :ȶ8:ɶ@):@@@@@9-succ_pred_pos @/@ '@9":ݶ@{~:@'@@@@M)le_pred_l @/@  Bn`@96:+^2j9.:@ Bn`@@A@@b)lt_pred_l @/@ ?qo@9K;@ -J/9:@?qo@@@@x*le_le_pred @/@  9N}@9a;9*;@*p+:@ 9N}@@@@@*lt_lt_pred @/@ !Y@9w;29@;3@*0-w';@!Y@@@@@*lt_le_pred @0@ el@9;H9V;I@*F+";)@el@@@@*lt_pred_le @0@ (T@9;^9l;_@-/9;@@(T@@@@Ѡ*lt_pred_lt @00@ (c@9;u9;v@-92;W@(c@@@@@蠠*le_pred_le @0G@ fe@9;9;@+";m@fe@@@@@,pred_le_mono @0]@ &J#@9;9;@*,0805;@&J#@@U@@,pred_lt_mono @0t@ (u@9;9;@ v.C.;@(u@@m@@-/lt_succ_lt_pred @0@ 0G@:;Ѷ9;ҩ.];@0G@@ '@@C/le_succ_le_pred @0@ (@:,;9;@;@(@@@@@X/lt_pred_lt_succ @0@ &5@:A;: ;@;@&5@@@@@m/le_pred_le_succ @0@ m@:V<:<.\,U;@m@@ h@@(le_add_r @0@ N@:m<(:6<),:2M< @N@@@@AA@@A@+lt_lt_add_r @0@ +| @:ހ@;[=;$=;=6E=@@-<@+]>@@@@@z)lt_0_mul' @1@ 5څ@;t=/;==0/zEA=@5څ@@@@@(eq_mul_1 @2@ ?@;=E;S=F/2=J ;֩J l=*@?@@@@(mul_eq_1 @;;@#>`z @$}$|${$z$y@$)@/1,=F%%l%\%I$$$$6@@@@@̠'sub_0_l @2<@ v@;=2=6-h<#=b@v@@@@AA@@A@(sub_succ @2U@ 5Tg@;=;=2ְ=64*ĩ65;=}@5Tg@@@@(sub_diag @2m@ 5R @;=2=6K;6:;<6=@9lԾ@@ H@@'add_sub @2@ ʀ@<_><(>3V>6 A2<@>3@-3o>6<2;@wD@@ y@@,add_sub_eq_l @3@ 9@<>KLM@3>P r;Ω3>R61@9@@!@@Ϡ,add_sub_eq_r @3!@ 9@<>fgh@3>k7;ꐑ>J@9@@!@@蠠-add_sub_eq_nz @3:@ 9B€@<><><>@ @33>;>c@9B@@!4@@-sub_add_distr @3S@ <@<><><>3հ>73 J74<ڐ>}@<@@ @@,add_sub_swap @3m@ 9;@<><><>@3>Ω<N<7>@9;@@ @@5(le_sub_l @3@ 9R#@=>̶<>ͩ/:1<֐>@9R#@@!~@@K(sub_0_le @3@ 5MF@='><>1-4 >I=.9>@5MF@@!(@@c*sub_add_le @3@ 6@=?>=>/h=<ߠa=:>@6@@!@@{/le_sub_le_add_r @3@ ?@=W?= ?=?1^/7:= / ǐ>@?@@h@@/le_sub_le_add_l @3@ ?@=r?-=;?.=3?/1y/?@?@@!s@@/lt_sub_lt_add_r @4@ 5@=?E=S?F=K?G@12?'@5@@@@@Š/lt_sub_lt_add_l @4@ 5@=?\=j?]=b?^@1?>@5@@!@@ܠ/le_add_le_sub_r @4.@ 9/-@=?s=?t=y?u@/ ԩ/?V@9/-@@"'@@/le_add_le_sub_l @4F@ 9/'@=?=?=?@/=8'`?o@9/'@@@@ /lt_add_lt_sub_r @4_@ ?@Q@=?=?=?11!1=) ?@?@Q@@"Z@@'/lt_add_lt_sub_l @4y@ ?@K@>?=?=?2 2=?@?@K@@@@@&sub_lt @4@ ׇ@>?׶=?ض@,@-2=ې?@ׇ@@*@@X-sub_le_mono_r @4@ $ـ@>4?=?=?@0_&?@$@@,g@@p-sub_le_mono_l @4@ $Ӏ@>L@>@> @ @0w8;e?@$@@,@@*mul_pred_r @4@ @>e@ >.@!5\@#;8 向@@@@"@@/mul_sub_distr_r @4@ LRՀ@>}@8>F@9>>@:5u@<<8 ̐@@LR@@@"@A"@#@A,@,A1ՠF@,A1I@ABCD@@Ơ/mul_sub_distr_l @5@ LRπ@>@]>k@^>c@_5@a<+>8@u>@vf@x>}@y5@{" >@0ʐ +k() + 77%' 7!7%'@''''''@@#add# `%Logic$Init@"ex @|@!t# t @"eq# !l@(((((7($@@`@@&<_alt @>@>@@>@5@>8>?>@1 +k() + 77%' 7 7!7%'РFl<|3t0xS@'#`@)1(ܠ(̠((i(V@@@@X(le_equiv @5@ +@?4@>@3:>@>/h5@?>p0J@@+@@@@t(lt_equiv @5@ =-3@?PA ?A 3V>@`>M<5@a?ž>0@@=-3@@@@)le_alt_wd @5@ P@5ܰ335A@P@@ {@@)lt_alt_wd @5@ =0Qڀ@53/3.-A@=0Q@@ @@0le_alt_dichotomy @6 @  u@?AO?]AP,``?QA1@ u@@@@Ϡ-add_dichotomy @6!@ .@?Af?tAg-YAk?pAl6An#b>쐑AL@.@@$@@ꠠ'max_0_l @6<@ /@?A6A7?1h?Ab@/@@@@@AA@@A@'max_0_r @6U@ /@?A6հA7X;?ؐA{@/@@@@@'min_0_l @6k@ 0K\@?A6A.1@RA@0K\@@@@@/'min_0_r @6@ 0Kb@@ AƩ7Aȩ.<@hA@0Kb@@@@@E.succ_max_distr @6@ "~T@@!Aܶ?Aݩ7Aߩ@k77/A@"~T@@$#@@^.succ_min_distr @6@ 0r@@:A@A71A@.?s./"A@0r@@$=@@x/add_max_distr_l @6@ ,@@TB@B@B7LB7?@Q/#A@,@@$W@@/add_max_distr_r @6@ ,@@nB)@7B*@/B+7fB-7@/=@kB@,@@$q@@/add_min_distr_l @6@ / #:@@BC@QBD@IBE7BG/$@*@/'B(@/ #:@@$@@Ơ/add_min_distr_r @7@ / #@@@B]@kB^@cB_7Ba/>@D/A@BB@/ #@@@$@@ࠠ/mul_max_distr_l @72@ 5s@@Bw@Bx@}By7B{87>FhB[@5s@@$@@/mul_max_distr_r @7K@ 5y@@B@B@B7ͰB8P##>_gBt@5y@@$@@/mul_min_distr_l @7d@ 7@@B@B@B7B/J>xfB@7@@$@@+/mul_min_distr_r @7}@ 7ǀ@AB¶@Bö@Bĩ7BƩ/#U>eB@7@@% @@D/sub_max_distr_l @7@ 1?.@A B۶@Bܶ@Bݩ8Bߩ8;x7;y@;zB@1?.@@%%@@`/sub_max_distr_r @7@ 1?.%@A<BAB@B84B8_;ϐB@1?.%@@%?@@z/sub_min_distr_l @7@ 3:m@AVCACAC8NC/6;B@3:m@@%X@@/sub_min_distr_r @7@ 3:s@AoC*A8C+A0C,8gC.0 3;͐C@3:s@@%q@@+Private_TacCRC+ @8 Cg@+.T@@'eq_refl.T@@/@@AA@@A@" @@"0<,@)@'le_refl0<,@@/@@/@ @*@/H$~@/?;@)lt_irrefl$~@@/@@'' @<@''xi@M@&eq_symxi@@/@@9 @N@^l@_@*le_antisym^l@@0@@K& @`@&g@q@'neq_symg@@@@@] @@ +k= R'6'6'6''+k+7T'+7T'6'ࠒA!O)OrdersTac*Structures#Coq@@"lt\@!t@"eq8L@"lelР"@#ordȠ@@@@@@@@@@@@D@@A@B@A@xA܀Cՠ@@K!M-GenericMinMax*Structures#Coq@C/ @A@@J!O C@/ c..s8.@.@C@!t.J.m@A@A. y@C@"le. yh._@A@. @C@"lt. h.^@A@A.먩.@BC.U..DEF. ..G@A@*~D̶=DͶ'Dζ@BD@ 8Q@ >߀Ƕ@  Ɛ@%trans@@'@@(? @>D>D'D멚@k(@ L+k() LL7#'5B@$tDڠݠנƠ}yrlS@@@@@# @>E>DE'E+@ L+k() NN7#''tD(v@@@@@٠#Ő @>E7>gE8(E9N@ L+k() MM7#'JtE K@# ۠à@@@@@p @? EZ>E[(3E\qo@n L+k() MN7#'mtECncF@/۠ՠ@@@@@X @?/E}>E~(VEW@V L+k() NM7#'tEficR'! @@@@@B? @?RE>E(yE>@= L+k() ML7#'tEuJD,(!@@@@@e' @?uE÷>Eķ(Eũ&@% L+k() LM7#'֐tEנ̠mgOKD>%@@@@@ @?E?E(E @ L+k() NL7#'tEϠҠ̠rngaH@@@@@ @?F ?9F (F  @ L+k() LN7#'tEޠk@@@@@Πݐ @@x@ܐ@&eq_neqx@@@@@ࠠԐ @@ؒ@Ӑ@&neq_eqؒ@@@@@ϐ @@(n@ΐ@*not_neq_eq(n@@)@@ʐ @@("@ɐ*@)not_ge_lt("@@2@@ǐ @+@(@Ɛ<@)not_gt_le(@@@@@(Đ @=@2@ÐN@)le_neq_lt2@@@@@:@@@@@XT@A@@(max_spec @;\@ 삀@DFDF2Q5;F@&F@2>@@q@@-*max_compat @;@ +@;::<F@+@@).@@A+max_unicity @;@ L@EEGEGEG@2%*#f@G";pG#G#@EjG%E3G&2ՠ(6&E@<E;E@<EFCH?::-3:y4萑H"@,k@@@@@)max_lub_l @=@ r@FHWFeHXF]HY@8,H9@r@@@@@)max_lub_r @=)@ r@FHnF|HoFtHp@(HO@r@@@@@Š'max_lub @=?@ /B"@FHFHFH@@(8>FF Hi@/B"@@@@@ߠ+max_lub_iff @=Y@ ?:@FHFHFH:H "7H@?:@@@@@*max_lub_lt @=r@ ,mŀ@FHFHFH@@'A:3H@,m@@@@@.max_lub_lt_iff @=@ 90s@GH϶FHжFHѩ;; Ԡ7ҐH@90s@@@@@*/max_le_compat_l @=@ "ӡF@G.HFHFH@(9Y>DG>'H@"ӡF@@@@@D/max_le_compat_r @=@ "ӡL@GHIGIG I@(9s>*F6H@"ӡL@@@@@]-max_le_compat @=@  E@GaIG*IG"IBKI@@(9>d>'I@ E@@@@@y(min_spec @=@ @G}I8GFI94蠩!;89>xI?EGF!?6Q>|ICIG~I!@@@5@@+min_spec_le @>@ $@GIVGdIW5!Y8I9@$@@@@@*min_compat @>)@ 8@>#=r=q6KIM@8@@+@@à+min_unicity @>=@ _隀@GIGIGI@54!(!%,>ưIG6j*ϐIl@_@@@@@⠠/min_unicity_ext @>\@ VX@@@GIGI5S!8y!6GIGI>IyI@VX@@@@@(min_mono @>|@ `8@AH@x@vCvIĶBIũ?Iǩ6rGBАI@`8@@, @@&min_id @>@ ?9@H!Iܩ?Iީ6GHI@?9@@@@@3)min_assoc @>@ ؀@GIH8IGI?/I6ӠGv6I@@@,@@M(min_comm @>@ T5@HQJ HJ ?HJ6HI@T5@@,@@d(le_min_r @>@ ,3+@HhJ#H1J$:,HaJ@,3+@@@@@z(le_min_l @>@ ,3%@H~J9HGJ::BHCJ@,3%@@@@@)min_l_iff @? @ -@HJOH]JP<9J0@-@@@@@)min_r_iff @? @ 9[@HJeHsJf<'7xJF@9[@@@@@&min_le @?6@ ?:*@HJ{HJ|HJ}@:6.7*J_@?:*@@@@@ՠ*min_le_iff @?O@ 9(@HJHJHJ<6GJw@9(@@@@@*min_lt_iff @?g@ :o'@HJHJHJ<<N6`ݐJ@:o'@@@@@)min_glb_l @?@ %"@I JŶHJƶHJǶ@;5J@%"@@@@@)min_glb_r @?@ %"@I!JܶHJݶHJ޶@&됑J@%"@@@@@3'min_glb @?@ 0؀@I7JIJHJ@-@';cHv7(J@0@@@@@M+min_glb_iff @?@ 2부@IQK IK IK=XH#萑J@2@@@@@e*min_glb_lt @?@ 99@IiK$I2K%I*K&@=\@)Ʃ=k2K@99@@@@@}.min_glb_lt_iff @?@ @IK<IJK=IBK>==#AK @@@@@@/min_le_compat_l @@@ +t@IKUIcKVI[KW@*;Š87F88)K:@+t@@@@@/min_le_compat_r @@*@ +z@IKoI}KpIuKq@+;ߠ8Q,8RKS@+z@@@@@ɠ-min_le_compat @@C@ $sC@IKIKIKDK@@+ ;8lЩ8m*Ko@$sC@@@@@堠2min_max_absorption @@_@ <JfFL`ELaALcLA@ k@@@/@A/3@8@8A!s̓P@8A!t Q@ABCD@@ 0min_max_antimono @A<@ ץ@CJض@8@*F6LELAL0Le@ץ@@$@@۠,max_monotone @AU@ J@CJ@AQJNJضFPLELAڰLB]JIHéJ ŐL@J@@@/S@9A=v@9A1FdJA@ABC@@,min_monotone @Az@ 3ʀ@DK@%FsLEL©ALĩ9#J ͐L@3@@!@@4min_max_antimonotone @A@ D@DK0@AK3KFLݶF LީBL<L@D@@@/@A{@x@=@<@ABCD@@94max_min_antimonotone @A@ g@D=KO@FLF*LB6L\8L@g@@@@Q+Private_DecML/max_case_strong @K\MK%M!P@MȺhiƠ #9@@&CompatFM'FWM(@B*@K*F5JF6"Hl@$թJ;"Hr@CK5;Ȑ!cM9@-CompSpec2Type2KM@B{?FMJ:ӠFOJK$@909MG@)CompSpecTӊMNB?F[JȐ"c0:(7JРMR@,CompareSpecT, /@CAAAAAA@@@@@@@@D*J!+BMh!!֩?!!ة?!!K!ېC*!!Kw"EQBMv!F{Bz%lemma?Š=9-=92?BM!&!Kà**!9:B')KF!#9MB1-%!ߩKu@:.O*$:!7!K?"LT?ߠ" FB(9QA("GT?F"B4?>E9_HBM"""㰩>#"!V9g?BM" ![K*_TWKF!aU9OMC1_W!cK@:.O*:ހ20"@LM˶KM̶@@@KАC T+k()7!7!7777= gR'>#97!7!7!7!7!7  #7"  7!7777"7777! # '>#97!7!7!7!7!7  #7"  7!7777"7777! # '>"97!7! 7!7! 7!7  "7"  7!7777"7777! # '' +k()7!$'DL  @,compare_specp)Datatypes$Init @@2Kp)Morphisms'Classes @9iff_flip_impl_subrelation2VA</RelationClasses @(symmetry0xjPࠒ'@'comparet<D-@"lt=xX3@!t5H,h9@'le_lteqS%Hؠ!@5Equivalence_Symmetric. U4ĠE@"eq=#(@$\`K@ = 0РK@, /@CװAABACAALM > =@ 8th@%max_r|i@(eq_equiv*u@%max_lT%Logico@"or @N6@@#N89c@A@@N<@9g c9R9Ps89G@.@NE@ W.J8@A@A. y@NI@ V. yh8@A@. @NO@ U. h8@A@A.먩9Q@BC.U9O9MDEF. 9D9BG@A@ T8UsualMinMaxDecPropertiesNW8@A@@@Ⱥhi@b@A@A@:@:A ALN@AB@@Ԡ(max_case @LNLNx@Nj"v@@!Xu"X0LF"X1L!FLN@[CiN@,HĀGL)NN@L0C? L.GL3C?#vL@LNLN)@@@퐐 +k()+++7# '''$' ˠ 3MinMaxDecProperties@G\NtqY@@G  נ@@@@  @A@Ǡ@@ Ǡ @A@AB@A@@F  @@t<@ @'comparet<d@@A@A5@@ 5 @A@=#@@ =#^ L 2@5@A@A=@@ = @A@=@@ = @A@ABC@A@ 9 @A@@@j"@u@A@A@wA@A@@Z'max_dec @MZOM#Os@>p@=A+|M$MXmO>2*HO!HQO"D&D$Ck>DaO(LL1=n=y> DgO.M-H;DiO0M/L>DmO4M3H9Mo!E =,D,@=trans_co_eq_inv_impl_morphism&ni$OCD~2LHP:OED2HRLM##D5@/eq_proper_proxy)fOL#K>#A$OSD2LH`HXHXOUHZK>DOYM`M`DZD@+reflexivity(ϓ/O`D7Mg>2l+ OdD7M@MOeMsOf>I +k()7777"7779 7777"7779 ++7#'()= JR'>977!    7777"777  7777"777 9'>977!    7777"777  7777"777 9'' +k7!7!7%' 7! 7!7%'4@2&ni@@r@<V@5Equivalence_Reflexive#97!7!7!7!7!7  "7"  7!7777"7777! # '>#97!7!7!7!7!7  "7"  7!7777"7777! # '>"97!7! 7!7! 7!7  #7"  7!7777"7777! # '' +k()7!$'D4@2p1p@%min_rϐH@%min_lɠx5<-@ؠN@'t<DS@&=pXX@%58h]@$S%@ؠ#$e@ =#(0T`@ Ǡ0lXo@ 3=0Р$@C"ALz@*ux  @|P:@@k@@A@A@@ (min_case @NPnN|PoW@PqmU@@R۷ة@B@5/IMMENEN@NPNPm@a@@̐@(.>\Pp:7Ơ@@m@*@A@A@,A@A@@ 'min_dec @NPNP@G. S@H6@NNJdPIPEED>N?CEPN7IéE@>trans_sym_co_inv_impl_morphism'\|PFF@/Equivalence_PER/;9]ND%9IةG   7777"777  7777"777 7777"7779'>G   7777"777  7777"777 7777"7779'' +k7!7!7%' 7! 7!7%'0mD\$Ġj`Рg@Ba`_[ANL@5@T8pTX|@#@=#PXDL0hLPt(@*u |(Dl@A/;\@M'\|x@d$@kP@@3@@ n@@@@@@A@  @OpQ+O9Q,@Q.rA@@@-B@"/NO9Q;MZJQ<JlQ=FAF?%?Fz@4!yJLI2%XF@'f_equal=! H"O?JUJUFE%JW QT&JYOSNO[F(%gF@'eq_rect=߀/%?緐"X23OOh%IMOOiO@OQcOqQdL8@1@0Nߐ +k()++h7# '()9777 G +17 +17T7   77   + 77# ' $'6''$'ࠒ@=ߐv@k+sِPrA@@H8@'f_equal=>@(eq_trans!yPQq;8 @@rA@k@A@A@n@Bg@Ao@@rA@AsA1E%IF@@@ABCD@@ " @OQOQ@Qr@@!OJŷ OJǩO@.4F@0rHO=OFOCFO@P QǶOQȶ@@d +k()+++7# '''$'\@7XQ|d@@r@*@A@A@,A@A@@ 0֐ @E@ H{B@,M5p@z@+`QϠ~@@@L@A@@ G5 @PFRPR@Rt9@@r@1nq@)lOPַKRKARGGt&_@&(I_KKGK!RK#POP%GY&1ŷP^P*P^P*P^@PiR$P2R% #@@O2ࠒ=t9w@@H@4{[PPR&@@t9@J@A@A@M@C@AN@@QA@ARA@@@ABCD@@  @PRcPqRdL@RftJ@@PP@7ȪbG0@9H0-OPt;GyOGzP~@PRxPRya@@T@`ؐXRc-*@@t@%@A@A@'A@A@@ ޠ @@ :@-gހ@(@,)R}GD,@@@@ )pow_neg_r @Gn@ V@KRKR@%GRE?QWR@V@@@@@GϠ'pow_0_r @G@ :Tyx@K R˩HRͩFM QZR@:Tyx@@@@@G堠*pow_succ_r @G@ 9n@K6RK4R@%8HRF')FzPf1R@9n@@@@@G+square_spec @G@ 6ʱ@Q@RH6RP@Q?R JP@QỳO!FPؐR@6ʱ@@@@@H$Even @QXS(SQ#SHQSQFQQU@Q`SE@ |+k+ 77%'77!77&'РAA@HH @"ex @lFPH_`dH hS@@@L)AD @A@@HR#Odd @QSJ(:SLQZSMHSOQVG9Q@7 +k+ 77%'6 77!7!77&'G}dAA@P9lFXHtdA@DHG|ST@@;@@H.Private_ParitySS^&Even_1 @HNS@ -9;ƀ@BlQx@-syOHX@.R @-9;@@@@@H&Even_2 @@ -9;ǀ@QSEOЩR@E"6@-9;@@@@@H̠%Odd_0 @6@ ":@BQ@-l |H@.GRWP@":@@@@@H栠%Odd_2 @P@ "<@R'SF,P3g@"<@@@@@H@@@@@pl@A@@)even_spec @H@  K\ @RBSFGI:QUOQFPS@ K\ @@@@@I(odd_spec @H@ 0֫'@RYTF^IQQlJP7Q^5S@0֫'@@@@@I0+divmod_spec @H@ aɀ@MT,M\T-MZT.RgT/@'hMXBBB@@@@@R=MbF^MQR:QRB"q'T?MHT@,@I}TDHHMMGܠBQéH0%HGBRVH5)2&T.@3a@@@@@Ig'div_mod @I@ P@NTcMTd@"vITgQHGRrGXAxLAyTK@P@@@@@I-mod_bound_pos @I;@ 06@N2TMT@%@*֩,DS&L5ɩFˠRTh@06@@@@@I.sqrt_iter_spec @IX@ 4O{@R TRTMTP T@IܰTRH@0BLqMR!RR&T,EH젩HMHDMMH!F HILLT@)4O{@@@@@IΠ+sqrt_specif @I@ ,f@STʩ,ʠE9HbR@S-xCR@S ;PSGSHlSf T@!,f@@@@@I)sqrt_spec @M@T뷐"Ha'CR@3+Q@MIT 'J,EdH+QSG?SHS 8+k()7$'I@M,fdT@@@@@J!(sqrt_neg @I@ ,@MrU@'mJYU %ST@,@@@@@J7.log2_iter_spec @I@ 'y@RU3S8U4NaU5PU6@JrU9H{SNFI{M{@GSFHSS@CLUC-CEH/I"pGHSMU+@)'y@@@@@Jd)log2_spec @J@ 0@SU`@"-aEРHSةSI@T-wGSC@T ɀROStGSvHSS UQ@"0@@@@@J+log2_nonpos @JA@ -p@SU@'J°U"T(Ug@-p@@@@@J÷ @OJUNU*U8sUJװUSI(@OQUNUGŐ +k() + 77%' 7!77&'}|I&\JؠltJtU@@y@@Jɠ*gcd_divide @J@  $@NUŶNUƩ-ƠS@;= J@<>S@UX-l+AS@UY ÀSMSܩ TU@! $@@@@@J,gcd_divide_l @J@ >(@N?UN=U#U@>(@@@@@K,gcd_divide_r @J@ >(À@NSUNQU*U@>(@@@@@K,gcd_greatest @J@ 5F(@NgVNeVV@MJI@O4PSK#JU@5F(@@@@@K2*gcd_nonneg @J@ !@NV.NV/FTbV@!@@@@@KH+div2_double @J@ O@TVDKVFM0TV&@O@@@@@K_0div2_succ_double @K@ 2H@TV[KV]M3TTV>@2H@@@@@Kw'le_div2 @K.@ -tQ+@TVsFࠩMKGTVT@-tQ+@@@@@K'lt_div2 @KD@ / @TV@$'H͠LTVj@/ @@@@@K)div2_decr @KZ@  -@NVTV@-GMyTV@ -@@@@@K,double_twice @Kq@ 2TR@TVKVMWRV@2TR@@@@@KР+testbit_0_l @K@ V@ @@@@@L1testbit_odd_succ' @K@ 3)@OeWUVWLLTgH頩KUJ!UOVHTV@3)@@@@@L02testbit_even_succ' @K@ :T@OW,UrW-LhTIOoW@:T@@@@@LH-shiftr_specif @K@ ")@OWDUWEUSWFLTIU,@V?>mU&@VvYD\UI&TЩKUQW1@")@@@@@Lj2shiftl_specif_high @L!@  M@OWfUWgUuWh@FLTIAUO@V7?>gUI@V8vY8UzIIUtK[6WT@ M@@@@@L/shiftl_spec_low @LD@ ((@OWUWUW@D0LǰT#TϐWl@((@@@@@L,div2_bitwise @L\@  rA@MMUWOWOWL߰WN|MUPUUMUU*MܩNSːW@ rA@@@@@LĠ+odd_bitwise @L{@ 1sɀ@NN VWPW¶PWéLUNUƠNW@1s@@@@@Lߠ1testbit_bitwise_1 @L@ / u @N)QU0L*U1U1@P1U3MU5UU$VU$V)WUWP;WP9W@ةM#U>IMPUgUlUUPI/ISJW@&/ u @@@@M 1testbit_bitwise_2 @L@ / u @NS*@MAU\VDUKUKUKVPX VX PbX P`X@@H}(.MLUgI頩N,Q$VUU,I>I&W@%/ u @@@@M2)land_spec @L@ 3K$@PX.PX/VuX0MkUJV@Wa-wq@V@Wb €EFVuN JS%X@3K$@@@@@MT*ldiff_spec @M @  %@PXPPXQVXRMUJ*V8@WU.MhV2@WV HEhVNB"T]HX>@ %@@@@@Mw(lor_spec @M.@ 1@PXsPXtVXuMU˩JMV[@W-l3@VU@W €EVNAEX^@1@@@@@M)lxor_spec @MN@ )À@PXPXVXMаUJmV{@W-wVu@W REVکNeX~@)@@@@@M)div2_spec @Mn@  /I@QXMX k:|X@ /I@@@@@M͠0testbit_odd_succ @QXŷW XƷ@+V@O^E@Q"XͶWXζ@+$N V%JMLi#dWbUJE㐐 <+k() 7%'M@3)hX@@@@@M1testbit_even_succ @QCXW4X@+EV@ˀF@QKXW<X@+MN3VNJР'U&%M@:ThX@@@@@N-testbit_neg_r @M@ -=ˀ@QkYW\YN+gNSVnDV[X@-=@@@@@N10shiftl_spec_high @Q~Y)WoY*W8Y+@+W@̀W1VW9@QY3WyY4WBY5@+@8ʩNrVK&kVKVM$1 @+k() 7&'M@ MlY'@@@@@N^+shiftr_spec @QYVWYWWeYX@+W;@$ "P-@QY_WY`WnYa@+NVK::WnK=WhM8+N@:")lYQ@@@@@N'Even_wd @N?@ .@N9KKYc@.@@"@@AA@@A@&Odd_wd @NV@ ;e݀@NPKKҐYz@;e@@"@@'even_wd @Nj@ bN@NdKtKsUY@bN@@@SZ@n@WWHY@-?>@@.@@,orb_even_odd @N@ .@XyZ4OoWOV0 W}Z@.@@@@@(negb_odd @O@ >XJ@XZKOWVL7VGZ-@>XJ@@@@@ʠ)negb_even @O@ S@XZbOWVcLZB@S@@@@@ߠ&even_0 @O2@ >ǀ@OW̩VpYWZW@>@@@=H@F@/R@ABC@@%odd_0 @OJ@ /@OɰWQoYWҐZo@/@@@@@ %odd_1 @O_@ /@OްWQYW됑Z@/@@@=U@A=v@G@/@ABC@@%&even_1 @Ox@ >Ȁ@OXVY/XZ@>@@@@@:&even_2 @O@ >ɀ@P X'VUXZ@>@@/p@@O%odd_2 @O@ /@P!X<QUX*Z@/@@@@@d(Odd_succ @O@ ⮀@YAZMF5LlNZ@@@@=@A=@Gt@/@=@ABCD@@(odd_succ @O@ 0ֲ@Y\[PRXmQLWZ@0ֲ@@@@@)even_succ @O@  Kc@Yr[-PhXW'L[@ Kc@@@@@)Even_succ @O@ @Y[CMLb[$@@@@@@.Even_succ_succ @P@ @Y[YM[9@@@@@@֠-Odd_succ_succ @P)@ .@Y[nM[N@.@@@@@렠.even_succ_succ @P>@ 0,M@Y[PX٩W}W~[d@0,M@@@@@-odd_succ_succ @PT@ btÀ@Y[P԰XRz[z@bt@@@@@(even_add @Pj@ ǣ@Y[Y[PYW=֩GJ@[APWXW[@ǣ@@0V@@5'odd_add @P@ 5~ŀ@Z[ͶY[ΩQ Y$R=QA [@5~@@@@@M(even_mul @P@ ǵ?@Z*[Y[Q!Y<W<Q3[@ǵ?@@E@@f'odd_mul @P@ 5@ZC[Z [Q:YURQ<[@5@@@@@~-even_add_even @P@ (`@Z[\Z$\@gQSYnX$ XU&[@(`@@@@@,odd_add_even @P@ 6(@Zt\/Z=\0@QlYS$$Rj\@6(@@@@@1even_add_mul_even @Q@ ED@Z\GZU\HZM\I@Y-QYXEZ1ZP<éXIT=\0@ED@@@@@͠0odd_add_mul_even @Q @ 3'ǀ@Z\eZs\fZk\g@QYSISJTW\J@3'@@@@@砠.even_add_mul_2 @Q:@ ;^R@Z\Z\QY֩XzZfZXP nΐ\e@;^R@@@@@-odd_add_mul_2 @QU@  y@Z\Z\QְYS|S}\|@ y@@@@@(odd_pred @Ql@ 0]@Z\@*éQZS1R\@0]@@I(@@AA@@A@)even_pred @Q@  K@[\˶@*ݩRZ"X1lS\@ K@@IB@@(even_sub @Q@ ǽ@['\Z\@IRZ:Xސ51\@ǽ@@1@@5'odd_sub @Q@ 5h@[B\[ \@JR:ZUSRrS:\@5h@@@@@N-Private_NZPow]%\'pow_0_l @Q];@ >ͻm@Uy]$@*©R`]'Pi3z[ǐ@>ͻm@@@@AA@@A@(pow_0_l' @@  6x@U]>@+P1@ 6x@@?@@'pow_1_r @1@ >ͼ܀@U]RR]TP?[G@>ͼ@@?@@-'pow_1_l @G@ >ͼր@U]h@/R]kP)[^@>ͼ@@?@@D'pow_2_r @^@ >;E@U]R]Pà[[Uu@>;E@@?@@[(pow_eq_0 @u@  <8@U]U]@/@ )V@ <8@@?@@q+pow_nonzero @@ ,M =@V]U]@+i@.FLR]P>\S@,M =@@@@@,pow_eq_0_iff @@ р@V]ǶV]ȩPS]̩Q[E\lI|05Ϡ+nLX@@@@@@)pow_add_r @@  `@V9]V7]]@.~@.S#]Q,[e?.YQ0+Q1_YҠQLY?@ zO5@@@L@@㠠)pow_mul_r @@  zO;@Vs^Vq^^ @.@.S]^$Qf[>Qh:[@ zO;@@@i@@*pow_nonneg @@ =@V^;V^<@.ԩN\ 1@=@@@@@.pow_pos_nonneg @1@ 9)z@V^RV^S@4@.P\I@9)z@@A@@/-pow_lt_mono_l @I@ )h@V^jV^k5^l@, @6n+6Pd@)h@@A!@@J-pow_le_mono_l @d@  9v@V^V^P^@6->NQ? ֐@ 9v@@A<@@e(pow_gt_1 @@  lOF퐑@ 9|@@A@@+pow_le_mono @@ %[-@WB^W@^^Z^@6Q6,&.@.Ob7D@%[-@@Kj@@Ϡ+pow_lt_mono @@ 'O@W__ W]_ _ Z_ @7.@QT@'O@@5`@@ꠠ)pow_inj_l @@  q@Wz_%Wx_&_'@.s@.t@.@Tf_-l?Th_/X4X<!@ q@@@@@)pow_inj_r @!@  q@W_BW_C _D@5@.@.@T_JT_LXY\Ő>@ q@@@@@$1pow_lt_mono_l_iff @>@ ? @W__W_`*_a@.@.@.QQ&Q{[@? @@@@@A1pow_le_mono_l_iff @[@ 7M@W_|W_}G_~@.ʶ@.˶@/QˠͩOv@7M@@@@@\1pow_lt_mono_r_iff @v@ ?$o@W_W_b_@5@02Q7өQ@?$o@@@@@v1pow_le_mono_r_iff @@ 7;@X_X_|_@6@0LQ0ސ@7;@@@@@,pow_gt_lin_r @@ h0@X_ʶX_˶@+@0dR]M@h0@@B~@@-pow_add_lower @@ !v@X7_X5__@/0@/1@/fPT]S,]]쐑@!v@@B@@Š-pow_add_upper @@ !l@XU`XS``@/N@/O@/Pr[ѠSK^|("@!l@@4@@@@@4@@A@@+pow_succ_r' @T@ 6y@Xw`"Xu`#U^`%SgXe[^/\`@6y@@@@@AA@@A@ @T@%:Tyr@`@'pow_0_l:Tyr@@@@@ @^,`iE@ @$NPow(Abstract'Natural'Numbers#Coq@(NPowPropX@'pow_1_r1c`A@@B!PH`EKp@A@@AHH`J@Ku cK`K_s8KV@.@`R@H.JJ@A@AC. @`V@H. ^J@A@. y@`]@H. yhJ@A@. @`b@H. hJ@A@AB.먩Kd@C.UKbK`DEF. KWKU.gKI@.&@`k@H.&TH@A@A.뾴KI@.LKG@.@`q@H.TH@A@ABCD.,aKGKEE.K9K7.ɄK4@.@`y@H.rH@A@.t @`~@H.t TH@A@AB/K6@CD/K4K2EFG@A@H*NExtraProp`J@A@@@B!CYXWVU@HH@A@$NPow(Abstract'Natural'Numbers#Coq@eH@A@@@A!BgH@A@@@!A#h@@ <@q@I <H@A@A Ѹ@@I ѸH@A@ 1@@I 1H@A@AB @@@I @H@A@ Za@ @H ZaH@A@A _ @@#div _ d@@A@ `@@#eqb `d@@A@ABC b@@#gcd bĠd@@A@ i@@#leb id@@A@A j@"@#lor jàd@@A@ k@'@#ltb kd@@A@AB k(@+@H k(H@A@ k@/@H kH@A@A l@1@H lH@A@ n@4@#odd nd@@A@ABCD n@8@I8 nH@A@ pl@>@#pow pld@@A@A u@B@H uH@A@ v@E@I: vH@A@AB@G@$div2d@@A@ 2@M@$even 2d@@A@A@Q@$landàd@@A@@V@$log2ʠd@@A@ABCS@Z@$lxorSd@@A@+=@a@H+=H@A@A{<@c@$sqrt{<d@@A@@h@ISH@A@AB%@j@IO%H@A@I@o@%ldiffId@@A@A% j@s@&modulo% jd@@A@%$@x@&shiftl%$d@@A@AB%$@|@&shiftr%$d@@A@%D@@&square%D͠d@@A@).R@@'testbit).Rd@@A@:@@'compare:Ѡd@@A@ABCDEFG@A@@@@@? @V4@:Tzۀ@YayVa{TCY`aZ@'pow_1_l:Tz@@@@@U @@@P@=@'pow_2_r1cap/*Ѡ@@@@@oƐ @Vd@]@YaYataVaTC[]xa@)pow_add_r]@@@@@ @V~@ :@a@)pow_mul_l :@@@@@ @V@ @@Z*aնZ(aֶaשWa٩UB3U%`a@)pow_mul_r @@@@@@Z @V@b@ZDaZBa@0Ya@(pow_eq_0@@@@@ʠY @V@a'B@ZYbZWb@/PސSa@+pow_nonzero'B@@@@@ᠠU @V@] ~ր@ZpbZnbTfT:01Pa@,pow_eq_0_iff ~@@Db@@ʐ @V@$ﹰ@Zb3Zb4b5@0G@:mǐb@-pow_lt_mono_l$ﹰ@@@@@Ɛ @W@{@ZbJZbKbL@AÐb+@-pow_le_mono_l{@@@@@& @W@0ʀ@Zb`Zba@.@0T`bC@(pow_gt_10@@@@@> @W3@$ﹶ@ZbxZbyCbz@8˶@AߐbZ@-pow_lt_mono_r$ﹶ@@@@@U @WJ@@ZbZbZb@.7bp@-pow_le_mono_r@@@@@k @W`@ 2@ZbZbpb]b@Q.h@A@ASU=b@+pow_le_mono 2@@@@@ @t@"*%@q@+pow_lt_monoUbc^$@@@@@ @W@Z@[2bݶ[0b޶b߶@0@XbW,+Ӑb@)pow_inj_lZ@@@@@ @W@Z@[Kb[Ibb@9I@X5bIp?b@)pow_inj_rZ@@@@@ՠ @W@:@[dc[bcc@1#U\;JUWb@1pow_lt_mono_l_iff:@@@@@ @W@3 @[}c([{c)c*@1<Uu4$c @1pow_le_mono_l_iff3 @@@@@ @W@:ot@[c@[cA cB@9UA˩Uc%@1pow_lt_mono_r_iff:ot@@@@@  @X@3%@[cZ[c[%c\@9UBSc>@1pow_le_mono_r_iff3%@@@@@9 @X.@>5@[cs[ct@/Ua~cU@,pow_gt_lin_r>5@@@@@P @XE@4 @[c[cUc@1SaqV%co@-pow_add_lower4 @@@@@j @X_@/*@[c[coc@1T_sVbX<c@-pow_add_upper/*@@@@@(even_pow @X|@ ǹ@\c\c¶@1ԩXa_c@ǹ@@F@@'odd_pow @X@ 5Ѐ@\/cڶ\-c۶@1Ya2ZZc@5@@@@@.Private_NZSqrtdc0sqrt_spec_nonneg @Xd@ 6 @\Rd@VD\!_N4@6 @@F@@AA@@A@+sqrt_nonneg @@ S-@\odTbL2@S-@@F@@+sqrt_unique @2@ Yc@\d/\d0@<1T\Sb<Vxb>4Yrd9i]DbAP@Yc@@P@@6'sqrt_wd @P@ /Gπ@YbX}d@/G@@F@@J-sqrt_spec_alt @d@ ǀ@\da@69Rdd_de&sqrt_1 @X@ -}u@ZeVcc㐑m@-}u@@G@@S&sqrt_2 @m@ -}v@Zek`Ac@-}v@@H@@h(sqrt_pos @@ >L@]eWɠWg3@>L@@;@@~+sqrt_lt_lin @@ n@]e@+lW٠c@n@@;@@+sqrt_le_lin @@ 򚙀@^e@8V@@@@H\@AH[@R"@%n@%k@ABCD@@.sqrt_mul_below @@ 9)*@^eŶ^eƩV3a֩ ᐑ@9)*@@Hy@@Ơ.sqrt_mul_above @@ 9'f@^2eݶ^0e޶@6v@6wX#E۩adrةdt@9'f@@H@@栠,sqrt_succ_le @@ %a*@^Re@8SVk09@%a*@@H@@,sqrt_succ_or @@ %ap@^if@8jQĠ[Rf[Tf 1@%ap@@@@@7sqrt_eq_succ_iff_square @1@  |o@^f.@8Xy;!f3^f4>43ө[qf8_C^VN@ |o@@ 9@@4+sqrt_add_le @N@ Qvy@^fK^fLV~Hrd1]f@Qvy@@H@@L+add_sqrt_le @f@ q]@^fc^fd@6@6VӠdJZ1b6dG@q]@@R@@j@@@@I@AI@IA@ABR@;K@A&2@&/@I@ABCD@@A@@*sqrt_spec' @[H@ 4!@^f>Vb[dͩXՠdϩb^fs@4!@@@@@AA@@A@| @df@$,n@~%NSqrt(Abstract'Natural'Numbers#Coq@)NSqrtProp@+sqrt_unique=6f[V@@A!B@N@A@@@!A @A@#N@A@@@@@@AA @[@I08@_=f\#f_ e'f@+sqrt_square08@@@@@X' @U@/+0'@&R@,sqrt_le_mono'ؠf`D:5@@@@@q) @n@1͘)@(k@.sqrt_lt_cancel!9RРfy]SN@@@@@+ @[@3" @_g1_g2Y|Weq;g@.sqrt_le_square" @@@@@& @\@.O@_gI_gJYYeU_lYUeg.@.sqrt_lt_squareO@@@@@$ @@, $@#@&sqrt_0#8gDĠ@@@@@ՠ( @@0 (@'@&sqrt_1#8g]ݠ@@@@@, @@4 ,@+@&sqrt_2#8gv50ڠР@@@@@ @@""っ@@+sqrt_lt_lin<۠gNI@@@@@  @\@% y@`gǩX4fg@+sqrt_le_lin y@@@@@5 @2@ 5@/@.sqrt_mul_below.mg|w=!@@@@@N @\@! BӀ@`Jg`HgZ9/c  g@.sqrt_mul_above B@@@@@f @\@8|Η@`bh Xz?Y}6g@,sqrt_succ_le8|Η@@@@@| @\@8|݀@`xh#SҠ]`h'M]bh)Yh@,sqrt_succ_or8|@@@@@ @@!$@񐑠@+sqrt_add_le:hܠנwr@@@@@ @]@!sʀ@`hU`hVXà d$fJ~h:@+add_sqrt_le!s@@@@@Ƞ'sqrt_up @`hlQJb e.hnVXSgf_g@`huhu +k77!= R'6'7 7 7$'6''+k6'Р)Datatypes$Init#Coq@@*comparison;f@@@@@@@@@@@@D@@A@B@AALK!A&NZSqrt&NatInt'Numbers@$zero`X@'compare`L!B@$sqrt@$predt$@!tԠ*@$succgh_Z @&NZSqrt&NatInt'Numbers#Coq@,NZSqrtUpProp@@@A@@@N!DEDC[@ @A@@M!C &@A@@LB!@@[@*@'compare[d@@A@Ax5K@@!tx5KJ@@A@x<@ @"eqx<Ǡ^@@A@ABx=@@@"lex=@h@@A@x=O@@"ltx=Oh@@A@Axp@@#addxpd@@A@x@@#divxd@@A@ABCx @!@#eqbx d@@A@x@'@#gcdxӠd@@A@Ax@+@#lebxd@@A@x@0@#lorxҠd@@A@ABDx!@4@#ltbx!d@@A@x7@=@#maxx7d@@A@Ax@A@#minxŠd@@A@xק@F@#mulxקd@@A@ABx.@J@#oddx.d@@A@x@P@#onexT@@A@Ax{@T@#powx{d@@A@x@Y@#subxd@@A@ABCx@]@#twoxᯠT@@A@I(@c@$div2I(d@@A@AuA@g@$evenuAd@@A@@l@$landҠd@@A@ABD&@p@$log2&٠d@@A@4b@x@$lxor4bd@@A@AL@|@$predLd@@A@K@@$sqrtKd@@A@AB@@$succr@@A@@@$zeroT@@A@Z X@@%ldiffZ Xd@@A@AB,vXy@@&modulo,vXyd@@A@CD-K@@&shiftl-Kd@@A@-K@@&shiftr-Kd@@A@-^@@&square-^ܠd@@A@0*@@'testbit0*d@@A@ABCEFG@A@@KȠ@A@@@@@,sqrt_up_eqn0 @^r@ =S߀@b i@;^ig@YW^|@Z&"fh_i@=S@@@@@+sqrt_up_eqn @^@ wYՀ@b(iӶ@7q_ihb>vi@wY@@@@@ՠ,sqrt_up_spec @^@ =Uo@bAi@7A\2eaj;gZbge??i@=Uo@@L@@.sqrt_up_nonneg @^@ !@baj ZyhTf-i@!@@L@@ *sqrt_up_wd @^@ 4@^װhz^hj@4@@@L@AL@V@@@ABCD@@$.sqrt_up_unique @^@ '@bj;bj<@7ڶ@B>\f ^^g©Zg5_jHb4gǐj'@'@@@L@AM@V@L@ABC@@I.sqrt_up_square @_@ "@bj`@<_jchkjB@"@@M@@`3sqrt_up_succ_square @_2@ "Q@bjw@<ͩ_jzig`j[@"Q@@L@@y)sqrt_up_0 @_K@ m@_ʰjii1jp@m@@L@@)sqrt_up_1 @_`@ m@_߰jii3j@m@@L@@)sqrt_up_2 @_u@ m@_jei-j@m@@Mk@@/le_sqrt_sqrt_up @_@ Uŀ@c$jϩ[<Ðj@U@@M@@͠4le_sqrt_up_succ_sqrt @_@ 9@c9j[Q j@9@@M@@⠠1sqrt_sqrt_up_spec @_@ 6H#@cNj@=OB[ifi j@6H#@@M@@2sqrt_sqrt_up_exact @_@ 6ޣ@cgk@=h]]`Pk]@kclkC=q`Wkhc<j@6ޣ@@?@@/sqrt_up_le_mono @_@ `@ck1ck2@Z[{d@|k@`@@M@@21sqrt_up_lt_cancel @`@ 3G@ckIckJ@]?IӐk+@3G@@M@@I1sqrt_up_lt_square @`@ 6bVs@ck`cka@;@;]]Y]h kF@6bVs@@A@@d1sqrt_up_le_square @`6@ 3U>@ck{ck|@<@<]Ƞ[W[;ika@3U>@@N2@@+sqrt_up_pos @`Q@ wi7@ck]ࠩ]96kw@wi7@@A@@.sqrt_up_lt_lin @`g@ @dk@]]ik@@@N_@@.sqrt_up_le_lin @`~@ @dkö@>\1k@@@Nt@@1sqrt_up_mul_above @`@ U1a@d-kضd+kٶ@g\Z?j"k@*h@@N@@/sqrt_up_succ_or @`@ *i;@d~l)@>W٠agl.ail0vl@*i;@@@@@,:sqrt_up_eq_succ_iff_square @`@ :n@dlC@>^/l$@:n@@@@@B.sqrt_up_add_le @a@ Ѐ@dlYdlZ\ǠNj?l<@@@O @@Z.add_sqrt_up_le @a,@ 8CS@@dlqdlr@= @= \ᠩjXklX@8CS@@@O)@@v+log2_nonneg @aH@ -Ԁ@dl\k.(hln@-@@O?@@AA@@A@+log2_unique @aa@ 3 @dldl@>@D]_7:j,^j._k#ialMdj3l@3 @@@@@%'log2_wd @a@ .ր@a}k axal@.@@Ox@@9-log2_spec_alt @a@ #~@e1lܶ@:zA͠l߷hIlDࠩbljbjƠ`(kYek$D?@_.k(l@ #~@@A@@],log2_unique' @a@  Bŀ@eUmeSmm@=@E=_Ik`J7@bEm jjjbIm[}jl@  B@@O@@)log2_pow2 @a@ 0FC@eym$@?zb`m'|k0m@0FC@@O@@.log2_pred_pow2 @a@ )@em<@:کbxm?ؐdaѐm @)@@O@@&log2_1 @b@ ?d @bmVkkm5@?d @@O@@Ǡ&log2_2 @b%@ ?d!@bmkhAkmJ@?d!@@O@@ܠ(log2_pos @b:@ /'@em@3V_àl!m`@/'@@P1@@)log2_null @bP@ 0@em_ߠbҰm l83:mw@0@@PH@@ ,log2_le_mono @bg@ 0P@fmem@]^Im@0P@@C@@ .log2_lt_cancel @b~@ 1k2@fmöfmĶ@``8LMm@1k2@@Pv@@7,log2_le_pow2 @b@ 0 @f/mڶf-m۶@D/`&3^Kkm@0 @@D.@@P,log2_lt_pow2 @b@ 2 @fHmfFm@DH`?`:kwL`<lm@2 @@P@@k+log2_lt_lin @b@ ?@fcn@;`Rlm@?@@@@@+log2_le_lin @b@ @@fyn$@@z^n@@@@Dt@@.log2_mul_below @b@ >e@fn9fn:@D@D^l X^n@>e@@D@@.log2_mul_above @c@ >р@fnTfnU@>@>^Ġl;l琑n9@>@@Q @@ˠ-log2_mul_pow2 @c)@ 3!R@fnnfno@Dö@?cns j?lvolYkŐnW@3!R@@Q(@@頠+log2_double @cG@ Z@fn@<*cȰn(9 no@Z@@P@@)log2_same @c_@ 0[@fnfn@D@D@cn©`l%jvmn@0[@@Q\@@,log2_succ_le @c{@ @gn_-[`0mO6n@@@Qt@@5,log2_succ_or @c@ +@g-nةZdndnOn@+@@@@@N4log2_eq_succ_is_pow2 @c@ OP@gFn@CngGnd0nhn@OP@@C@@g5log2_eq_succ_iff_pow2 @c@ '@g_o @<aUdHoBn@'@@@Q@AQ@Q@AB[@C@.@.@ABCD@@0log2_succ_double @c@ !;)@go*@<ȩdfo-Ɛ?o @!;)@@C@@+log2_add_le @c@ * @goBgoC@^<@_P o)@* @@Q@@+add_log2_lt @d@  s@go^go_@E@Ea%k-moC@ s@@R@@ՠ'log2_up @gotXR]QSnnn@ +k77!= R'6'7 7 7$'6''+k6' K!A%NZLog&NatInt'Numbers#Coq@@$preddt@!tҦcԠ@$succ[ِР)Datatypes$Init@*comparison;f@@@@@@@@@@@@D@@A@B@AAL3@#oneKX9@$zero`?@'compare`M!CE@$log2!oje+@@C!D$NLog(Abstract'Natural'Numbers#Coq@+W@A@@B!C1W@A@$NLog(Abstract'Natural'Numbers#Coq@)NLog2PropBW@A@@@A!B'1W@A@@@!A-0/@A@@P!F@:@@@A@@O!E E-Private_NZPow @A@@N!D&@A@@M[&@@ @/@!t J@@A@A /@@"eq /^@@A@ @ @"le h@@A@AB @@"lt h@@A@ ;@@#add ;ؠd@@A@A @@@#div @d@@A@ Bq@@#eqb Bqd@@A@ABC D;@!@#gcd D;d@@A@ Kl@(@#leb Kld@@A@A L:@,@#lor L:d@@A@ L@1@#ltb Ld@@A@AB L@5@#max Ld@@A@ M-@;@#min M-d@@A@A N@?@#mul Nd@@A@ O@D@#odd Od@@A@ABCD PU@H@#one PUT@@A@ Q@P@#pow Qd@@A@A V{@T@#sub V{d@@A@ X@Y@#two XT@@A@AB @]@$div2 d@@A@ @c@$even 멠d@@A@A :@g@$land :d@@A@ A@l@$log2 Ad@@A@ABC @p@$lxor ʠd@@A@ @w@$pred d@@A@A \@{@$sqrt \d@@A@ a)@@$succ a)r@@A@AB O@@$zero OT@@A@ @@%ldiff d@@A@A@@&modulod@@A@qa@@&shiftlqad@@A@ABqg@@&shiftrqgd@@A@&D@@&square&Dd@@A@3@@'testbit3d@@A@1H@@'compare1Hd@@A@ABCDEFG@A@@L!BԠ@A@@K]٠@A@,NZLog2UpProp@A@@@@@@W,log2_up_eqn0 @e@  yF-@iOp@6f6pn@-y<e@.¼mop@ yF-@@@@@s+log2_up_eqn @e@ 5@ikq@6fRqoEp@5@@@@@,log2_up_spec @e@  zf@iq/@7I0cudvoh;o?aoAd|o?q@ zf@@S@@.log2_up_nonpos @f @ 4@iqO@CUq.@4@@@@@*log2_up_wd @f@ u@foffqB@u@@A@@Ԡ.log2_up_nonneg @f2@ 4@iqwap|mqX@4@@@@@ꠠ.log2_up_unique @fH@ 5@iqiq@?,@Icՠ obfаqioqv@5@@TG@@,log2_up_pow2 @ff@  zj@jq@Dfqoq@ zj@@T^@@1log2_up_succ_pow2 @f}@ @jq¶@DfqũȐpSnq@@@Tw@@8)log2_up_1 @f@ 0ڀ@gqܩpMp|q@0@@^P@@M)log2_up_2 @f@ 0ۀ@g*qlp~q@0@@T3@@b/le_log2_log2_up @f@ >@jZrbrxq@>@@T@@w4le_log2_up_succ_log2 @f@ @jorbYq@@@T@@1log2_log2_up_spec @f@ "|ۀ@jr/@?ͩJ0r@"|@@T@@2log2_log2_up_exact @g@  [@jrE@?dgrJMG:rLjrMgrOor-@ [@@F@@+log2_up_pos @g@ 6q@jrb@89dqhrC@6q@@U@@ՠ,log2_up_null @g3@  z= @jrxd gr|q8rZ@ z= @@@@@젠/log2_up_le_mono @gJ@ v:@jrjr@abkrr@v:@@UC@@1log2_up_lt_cancel @gb@ /@jrjr@d2Q1r@/@@UZ@@/log2_up_lt_pow2 @gy@ T@krkr@Ie eep2r@T@@I@@5/log2_up_le_pow2 @g@  @k-rضk+rٶ@I-e$HcIKp向r@ @@U@@N.log2_up_lt_lin @g@ 4wZ@kFr@@e5pr@4wZ@@U@@d.log2_up_le_lin @g@ 4Y@k\s@E]cur@4Y@@IW@@y1log2_up_mul_above @g@ ˀ@kqskos@C@Cc$ ?qs@@@U@@1log2_up_mul_below @g@ b@ks7ks8@I@IcqȐs@b@@3@@0log2_up_mul_pow2 @h @ ;@ksQksR@I@ChsVYq9ps7@;@@V@@ɠ.log2_up_double @h'@ 3Ag@ksl@A hsorq:sO@3Ag@@U@@ᠠ,log2_up_same @h?@  zـ@ksks@Iٶ@Iڶ@hðssh@ z@@V9@@/log2_up_succ_le @hX@ ,!π@ksd e r,)s@,!@@VQ@@/log2_up_succ_or @hp@ ,!@l s_dhshsBs@,!@@@@@+7log2_up_eq_succ_is_pow2 @h@ 7@l#sζ@s@7@@Hk@@?8log2_up_eq_succ_iff_pow2 @h@ ME@l7s@Af-i sGjxs@ME@@H@@X3log2_up_succ_double @h@ @lPs@Ai7sѩqs@@@V@@p.log2_up_add_le @h@ 2b΀@lhtlft@Ѷ@ҩds@2b@@V@@.add_log2_up_lt @h@  %m@lt,lt-@J@Jfrort@ %m@@V@@-Private_NZDivtUt.div_mod_unique @i tk@ .6n@ltT"q1tW"q2tZ"r1t]"r2t`@LaDfD@LeDfrpmv@itlrNp8OTrnrQAqLqF=c5@1.6n@@W"@@AA@@A@*div_unique @8@ )u3Հ@ltltmtot@A@LE'fo@iͰtmrvp`AriҰtrgO\@ )u3@@Wi@@'*mod_unique @\@ gA@mtmtmtpt@A@$@!itrlOx@gA@@W@@C0div_unique_exact @x@ ̀@mtɶmtʶmt˶@D@DL@j trITǩj trѩg'@@@W@@`(div_same @@ *~@m;t@Bj"tgesv@*~@@W@@w(mod_same @@ 6C@mRt@Bj9umEes@6C@@WB@@)div_small @@ @miumgu@<ҩjQu s@@@WY@@)mod_small @@ 'x@mu+m~u,@<jhu/ r@'x@@Wp@@'div_0_l @@  j@muB@Bj~uEh2Ks向@ j@@@@@Ӡ'mod_0_l @@ $ހ@muY@Bju\mKs@$@@@@@ꠠ'div_1_r @@  l,@mup@GƩjush`s|ts|7@ l,@@XD@@'mod_1_r @7@ $M@mu@Gީjİumt+N@$M@@W@@'div_1_l @N@  l&@mu@;vj۰uhAtBe@ l&@@@@@0'mod_1_l @e@ $G@n u@;jumAtF|@$G@@@@@G'div_mul @|@  d@n"uͶn uζ@Ff@L#k uҩhUsRsӐ@ d@@bG@@a'mod_mul @@ $m@n<un:u@F@L=k%un1t@$m@@X@@z&mod_le @@ 2<@nUvnSv@F@LVfp!~t@2<@@@@@'div_pos @@  4@nmvnkv@F@Lnfti W_@ 4@@X@@+div_str_pos @@ *k@nv1nv2@N3CcEhxt!̐@*k@@Xx@@Ġ-div_small_iff @@ !<@nvJnvK@F@LhkvQ4tN@!<@@b@@ޠ-mod_small_iff @@ 9j@nvdnve@F@Lhkvk!tjN-@9j@@X@@/div_str_pos_iff @-@  ݥЀ@nv~nv@G@LԩhˠhhN)F@ ݥ@@@@@&div_lt @F@ 1Ѐ@nvnv@L@Bhݠt^@1@@YK@@)+div_le_mono @^@ R@ovov)zv@DO@NCGg"iU;z@R@@Yg@@E*mul_div_le @z@ 4@o v˶ov̶@Gd@M!g;rtPtѐ@4@@M @@_/mul_succ_div_gt @@  @o:vo8v@G~@M;i+trtjuxѐ@ @@Y@@{)div_exact @@ @oVwoTw@G@MWiNlAwu8lCw "u@@@YK@@2div_lt_upper_bound @@ 1@orwopwpKw@Fk@F@ieifSu$@1@@@@@2div_le_upper_bound @@ "e@ow8ow9pfw:@F@F@gg@"e@@@@@̠2div_le_lower_bound @@ /'R^@owRowSpwT@F@Fն@gĠWPtҩgƠuZ@/'R^@@Z @@蠠/div_le_compat_l @@ @urwnpworwp@F@OrFWgjcD9@@@Z&@@'mod_add @9@ $[N@owow*Uw@Fض@gv/A@Gl̰woؠuwpuoHؐZ@$[N@@Y@@%'div_add @Z@  ߰-@pwow*vw@F@!@G/lwjujHu/x@ ߰-@@Y@@C)div_add_l @x@ ހ@pwɶpwʶ*w˶@J!@h:vnFҶ@ݩm wҩjus*uuPupj'@ @@Z@@g0div_mul_cancel_r @@ Ƞ@pBwp@w*w@G;@Gp@Gqm-wj:`$@Ƞ@@Z7@@0div_mul_cancel_l @@ Ț@p^x p\x *x @GW@G@GmIxjsܠvq!s(9C@Ț@@ZV@@/mul_mod_distr_l @@ )À@p}x(p{x)*x*@Gv@G@Gmhx/ptsv1pw*򐑠@)@@Zt@@/mul_mod_distr_r @@ )ɀ@pxFpxG+xH@G@Gɶ@GʩmxMpYtvO@)@@Z@@ݠ'mod_mod @@ $m @pxcvxd@H@Nmxhp##␑+@$m @@@@@/mul_mod_idemp_l @+@ 6@px|px}vx~@Gʶ@G˶@HmxpȠtOvvpJ@6@@Z@@/mul_mod_idemp_r @J@ 6 @pxpxvx@G@G@Hm۰xp砩tnqpEv i@6 @@Z@@4'mul_mod @i@ %%@qxq xwx@H@H @H>mx:qt.vĐ@%%@@[@@R/add_mod_idemp_l @@ .m}@q-xضq+xٶwxڶ@H&@H'@H\nxߩq$v\vq'@.m}@@[$@@p/add_mod_idemp_r @@ .m@qKxqIxw=x@HD@HE@Hzn6xqBv[v@.m@@[A@@'add_mod @@ v~@qhyqfywZy@Ha@Hb@HnSy8q_vYw@v~@@[@@'div_div @@  ߴـ@qy0qy1+y2@H~@H@Hnpy7l$l%@ ߴ@@[@@Ơ)mod_mul_r @@ '@qyLqyM,yN@H@H϶@HЩnySqw6$u vѩq5@'@@[@@栠*div_mul_le @@ (U@qylqym,7yn@H@H@Hiޠu=ladv8@(U@@O@@+mod_divides @8@ F3@qyqy@J"@Oߩk֠N~y,Zyn̰yw YlU@F3@@N/@@ @@@N0@^Z@A@@/mod_upper_bound @ne@ '#0@qyqy@Gk%Bwy@'#0@@@@@AA@@A@&mod_eq @n@ ?)@ryĶryŶ@Gשoy%\r_wHu%ay@?)@@f>@@ @n@;:Ԁ@r/yݶy޶y߶yy@@|zy@.div_mod_unique;:@@@@@6n @n@v6_8;@rKyrIys$yuby@l/@o6ywvI-y@*div_unique6_8;@@@@@Pd @n@l QEf@rezrczs>zu|z@lI@oPzw向y@*mod_unique QEf@@@@@jb @n@j!͞3@rz*r}z+sXz,@G@oiz0x/Zokz2wz@0div_unique_exact!͞3@@@@@` @o@h7r@rzE@HW_z$@(div_same7r@@@@@] @o@e% HW@rzY@Hk\z8@(mod_same% HW@@@@@Z @o(@bU@rzmrzn@ikYzM@)div_smallU@@@@@ X @o=@`4ހ@rzrz@iWzb@)mod_small4@@@@@נV @oR@^o#@rz@HUzv@'div_0_lo#@@@@@렠S @of@[1D@sz@HRz@'mod_0_l1D@@@@@P @oz@Xp@szozm\xz@'div_1_rp@@@@@N @o@V1@s*zթpzשs\ywz@'mod_1_r1@@@@@+M @o@Up@Lz@'div_1_lp@@@@@=H @o@P1@Gz@'mod_1_l1@@@@@OC @o@Kʀ@sd{sb{@I"pL{n[yxz@'div_mul@@@@@hB @o@J1q@s}{(s{{)@I;pe{,sqy̐{ @'mod_mul1q@@@@@A @o@I?@s{@s{A@ISk&x{"@&mod_le?@@@@@' @p@/7pX@&{4@+div_str_pos7pX@@@@@  @p$@(.&@s{is{j@I|mWY󐑠{K@-div_small_iff.&@@@@@ @p;@%mo@s{s{@Im̠WZ {b@-mod_small_iffmo@@@@@נ @pR@"Ǫ6@s{s{@ImfW{y@/div_str_pos_iffǪ6@@@@@ @pi@ >6@{@&div_lt>6@@@@@ @p{@!V@t{t{.{¶@IԶ@L{@+div_le_mono!V@@@@@  @p@ ~@t,{׶t*{ض@IlFyY{@*mul_div_le ~@@@@@.  @p@q@tC{tA{@Jn3ypwyz'{@/mul_succ_div_gtq@@@@@I  @p@}@t^| t\| @JnUqH|yEqJ|'z{@)div_exact}@@@@@d @p@>#@ty|$tw|%uR|&@I@nk٩nly| @2div_lt_upper_bound>#@@@@@~ @p@/j!@t|>t|?ul|@@I@ll|"@2div_le_upper_bound/j!@@@@@ @q@<VĀ@t|Wt|Xu|Y@J@lȠ\z\lʠy鐑|=@2div_le_lower_bound<V@@@@@ @q-@ @zv|ru|sw|t@TuRkɩl䠩of]]|X@/div_le_compat_l@@@@@͠ @qH@ 1_@t|t|/X|@Jq˰|tנ Ezt]Ґ|s@'mod_add1_@@@@@蠠 @qc@ɴ@t|t|/s|@Jq|oz7z.|@'div_addɴ@@@@@ @q~@D@u|öu|Ķ/|Ŷ@Jr|ȩoKzHzz˩o[j|@)div_add_lD@@@@@  @q@ @u5|u3|/|@J@Jr|oK(q|@0div_mul_cancel_r @@@@@: @q@ @uO|uM|/|@J@Jr9}oKv|@0div_mul_cancel_l @@@@@Tϐ @q@6/@ui}ug}/}@JҶ@JөrS}u_K\xwz|@/mul_mod_distr_r6/@@@@@p  @q@6)@u}0u}1/}2@J@Jro}6u{Kyz}@/mul_mod_distr_l6)@@@@@ @r@1qq@u}L{}M@K_r}Pu(向}/@'mod_mod1qq@@@@@ @r@˽j@u}du}e{}f@Kxr}iuy5z{tuLp}L@/mul_mod_idemp_l˽j@@@@@ @r<@˽p@u}u}{}@Kr}uˠyR{){}h@/mul_mod_idemp_r˽p@@@@@ݠ @rX@2 @u}u}{}@Kr۰}5u砩yn):{}@'mul_mod2 @@@@@ @rt@;W@v}v }|}@Kͩr}v{U{ȩv?ؐ}@/add_mod_idemp_l;W@@@@@ @r@;W@v*}նv(}ֶ|}׶@Ks}کv{T{}@/add_mod_idemp_r;W@@@@@0ސ @r@z@vE}vC}|7}@Ls.}4v:{S{}@'add_modz@@@@@Kܐ @r@ɹ?@v`~ v^~ 0~ @Kɶ@KʩsJ~pp}@'div_divɹ?@@@@@fې @r@4b@v{~&vy~'0~(@K@Kse~,vq |y|0vv~@)mod_mul_r4b@@@@@ڐ @s@5?@v~Ev~F1~G@Lnz|S/q9M{̐~,@*div_mul_le5?@@@@@ِ @s@)0˙@v~av~b@LtpVSU~g11~hs~j|i^~H@+mod_divides)0˙@@S!@@)divide_wd @s9@ U@s3prpq(~]@U@@G@@AA@@A@*divide_1_l @sP@ @ @|~(`s~t@@ @@$@@*divide_0_r @sd@ >@|~(x~@>@@$1@@+*divide_0_l @sx@ >@}~@(nmF~@>@@$F@@@/eq_mul_1_nonneg @s@ )>@}~Ҷ|~Ӷ@Ok@t~_I}cVנt~|}gL~@)>@@a@@\0eq_mul_1_nonneg' @s@ :@}3~|~@QE~@:@@a@@q1divide_1_r_nonneg @s@ , p@}H@QY@)= Lؐ~@, p@@@ky@S@AB@@+divide_refl @s@  ?;@}`)S|𐑠~@ ?;@@$@@,divide_trans @s@ ;>@}t/}=0}51@)jl?@)l]@;>@@$@@0divide_reflexive @}$@6ap.@gӠI)%NZGcd&NatInt'Numbers#Coq@)NZGcdProp@H6Ν٠5@$NGcd(Abstract'Natural'Numbers#Coq@(NGcdPropgJ@A@@@A!B$NGcd(Abstract'Natural'Numbers#Coq@gZ@A@@@!A@A@@J!C9876@@@@A@@I!B @@T@@'compareTd@@A@A ]@@!t ]J@@A@ e;@ @"eq e;^@@A@AB e@@"le eh@@A@ e@@"lt eàh@@A@A @@#add d@@A@ @@#div d@@A@ABC }@!@#eqb }d@@A@ G@'@#gcd Gd@@A@A x@+@#leb xd@@A@ F@0@#lor Fd@@A@ABD @4@#ltb d@@A@ @=@#max d@@A@A 9@A@#min 9d@@A@ @F@#mul d@@A@AB @J@#odd d@@A@ a@P@#one aT@@A@A @T@#pow d@@A@ @Y@#sub d@@A@ABC #@]@#two #T@@A@ q@c@$div2 qd@@A@A @g@$even d@@A@ Bs6@c@D.~ܠE Š*%@@l@@5divide_antisym_nonneg @u=@ '@~~@Q@Q@*aȶ@*0!?g@'@@%@@ 1mul_divide_mono_l @uW@ 7=h@~~~@m*N9~@7=h@@%@@!1mul_divide_mono_r @un@ 7=h@~~~@*N6@7=h@@&@@83mul_divide_cancel_l @u@ .B@ʶ~˶~̶@Nީs0I@.B@@&V@@P3mul_divide_cancel_r @u@ .H@'~~@Ns/1a@.H@@c(@@h,divide_add_r @u@ @?@˶@+6b<+7#@@@&Z@@,divide_mul_l @u@ .;@X!@+N$ǐ@.;@@&q@@,divide_mul_r @u@ .;@o*8+0,@+e| @.;@@co@@/divide_factor_l @u@  B@AOB+zKb"@ B@@@@@Š/divide_factor_r @v@  H@WeX+ab8@ H@@@@@۠-divide_pos_le @v(@ ?L:@m{n@O @>RgN@?L:@@V @@*gcd_unique @v>@ "(@@S۶@+|@+YY@z@+U@+Ǡz+ɠzvΰ+\{t@""(@@@@@&gcd_wd @vd@ >@v^uu+ڐ@>@@dY@@+.gcd_divide_iff @vx@ €@t ++nЩYĠ++Ő@@@n:@@H.gcd_unique_alt @v@ .{W>@ڶ۶ܶ@T2@{ ߩt)+̩Yᠩ,U;,Ucw +e@.{W>@@@@@h(gcd_comm @v@ ߀@?w6,.,.@@@@@@)gcd_assoc @v@ ;]v@VwN,F,H,HVT@;]v@@@@@.gcd_0_l_nonneg @v@ 6@q,@Twh/,`X7@6@@@@@.gcd_0_r_nonneg @v@ 5@C@TwF,wQN%@5@@d@@Ƞ'gcd_1_l @w@ ,@Zw\,d:鐑;@,@@@@@ޠ'gcd_1_r @w+@ ,@pwr,d9Q@,@@d@@/gcd_diag_nonneg @wA@  T@@Tܩw°,s8h@ T@@@@@ *gcd_eq_0_l @wX@  D@@wڰ,@ND@ D@@R@@"*gcd_eq_0_r @wo@  D@@q=@ D@@d@@7(gcd_eq_0 @w@ $@ɶʩu-K8@$@@e @@M.gcd_mul_diag_l @w@ 9Z@$߶@Sxx-ccWc@9Z@@@@@f.divide_gcd_iff @w@  @=@SuDʩx7;|@ @@W@@*divide_1_r @R @+NJ2@Z@-NdP̐ <+k7 7%'@@1divide_1_r_nonnegEhA @&le_0_l1 ĐX"Π"ɠ"ڠʠ@@@@@AA@@A@.divide_antisym @GUH*@s^\̀UK1<@P^Q@-˶@-=__ `+k()7 7 7#'0td@@5divide_antisym_nonneg1l~H@""" @@@@@13divide_add_cancel_r @x4@ (t̀@yz{@J@-G9J\@(t@@(@@I,divide_sub_r @xL@ :ـ@@b@-͠EEu@:@@fF@@b'gcd_0_l @@4@x-sꐐX@.gcd_0_l_nonneg #h#Y#T#eUF@@@@@'gcd_0_r @ϩ@4Fi@թyש.~*X@.gcd_0_r_nonneg ?shà##}#C~o@@@@@(gcd_diag @=@9y@Cy9.1<ꐠܐX@/gcd_diag_nonnegZh###l@@@@@ݠ+gcd_unique' @f!/"'#@!e]0d@o*8+0,@.@.@}\0@.iV߶@.k̩.l}Cyq8.i68 T+k()7 7#'d%@*gcd_unique7|%##ߠ#@@@@@/gcd_unique_alt' @Zh[`\>@,s9@bpchd@}fv\h.Uyl.et4HdX@.gcd_unique_alt|X$$#ؠ#@@@@@I/divide_gcd_iff' @p@ mF@vFyӰ. L+k()7 7&'@.divide_gcd_iff]x|d$E$@$QA2@@@@@w3gcd_add_mult_diag_r @yz@ 9(P@yé.CDb@9(P@@gv@@.gcd_add_diag_r @y@ n]@ڶ۩zݩ/f/@n]@@g @@.gcd_sub_diag_r @y@ /MD@7@tFz//'vF5@/MD@@g9@@à&Bezout @L  Y }a Y}azJU/X@[$w= +k() + 77%' + 77%' 7!7!7!7%'Р@@#add @!t ]tx@"eq e;̠%Logic$Init@"ex @|@!@#mul "$$ܠ$ݠ@@Y@@)Bezout_wd @z@ I@z@]wPzM_wRzwQ@@b7uz @c9~sB@I@@N@@/,bezout_1_gcd @z2@  H*@wx@z} [@ H*@@Z@@H2gcd_bezout_pos_pos @zK@ 3H@@S.@S0]7/fթ:x@3H@@@hJ@AhI@hl@ABr@T@Z|@Zw@ABCD@@l.gcd_bezout_pos @zo@ #@@\ X6@#@@ZT@@*gcd_bezout @z@ N@˶̩q{p 0r 0@N@@Zn@@.gcd_mul_mono_l @z@ ;[h@*{"0E)@;[h@@Z@@.gcd_mul_mono_r @z@ ;[h@C {;03f쐑@;[h@@hE@@Ϡ%gauss @z@ /¾ˀ@\%@0Rft@{Wꐑ@/¾@@Z@@頠0divide_mul_split @z@ )Rɀ@v1?273@Qٶ@[%7d8[(:;^;{x?Df^?^@)R@@Z@@ *mod_divide @{@ Wb@~T~U@Tgx I0A6@Wb@@+@@AA@@A@4divide_div_mul_exact @{)@  @~n~o99p@T,@{tyaTu@ U@ @@h@@.gcd_div_factor @{E@ ,=@~~9U@T@@{ʰ0 y]s@,=@@L@@=+gcd_div_gcd @{c@ @~~!g@T@{D{0?@@@ib@@['gcd_mod @{@ ,w@ƶǶ@T٩|ʩ0 0ei@,w@@i @@t#lcm @0۷.ܩyˠ1@6 \+k() 7! 7! 7%'@!A$NLcm(Abstract'Natural'Numbers#Coq@@#gcdL]h@#mulL1H@#divLΦx&&&b@@C!D! @&]n@A@@B!C &cn@A@$NLcm(Abstract'Natural'Numbers#Coq@(NLcmProp&to@A@@@A!B"&co@A@@@I'&a&`@A@@@@@ڠ&lcm_wd @|@ ?i@{{I{H'@u-l2W|@v.")@?i@@i@@*lcm_equiv1 @|@ (7؀@^_@v8é|d.zSozUgH@(7@@j9@@*lcm_equiv2 @|8@ (7ـ@}~@|Kzpc@(7@@i@@-,gcd_div_swap @|S@ >@|԰ez1Ð}@>@@jN@@G,divide_lcm_l @|m@ *]@1p.@*]@@@@@^,divide_lcm_r @|@ *]@ɶʩ2@*]@@j{@@t*divide_div @|@ ԈӀ@4߶2:@S@]@^2z93zՐ@Ԉ@@-B@@)lcm_least @|@ gyx@PN:@Ѷ@ͩ27U1@gyx@@@j@Aj@j@Atx@\@j@ABCD@@(lcm_comm @|@ @pn}Wi@@@j`@@Ǡ.lcm_divide_iff @|@ t@w2@384z~2nuEt`9鐑@t@@t@@㠠*lcm_unique @} @ *@N\OTP@Z@T@Ͷ@U@2|@2_a2aک}^cDؐ=@ *@@@@@.lcm_unique_alt @}-@ <@rsxt@Zʶ@wzL`y2\˩2i}~]@<@@@@@')lcm_assoc @}M@ S)܀@}ϰQSbw@S)@@@@@A'lcm_0_l @}g@ -C@}ixN@-C@@@@@W'lcm_0_r @}}@ -Cƀ@©}ĩd@-C@@k@@m'lcm_1_l @}@ -C)@ة~کj@-C)@@@@@'lcm_1_r @}@ -C/@3~)j,@-C/@@k2@@(lcm_diag @}@  @I~?B@ @@@@@(lcm_eq_0 @}@ .€@_({e~XjU%@.@@k@@Ǡ/divide_lcm_eq_r @}@ '@w2@3@~o6=@'@@u@@ޠ.divide_lcm_iff @~@ $)@IWJ{~N,@$)@@k@@.lcm_mul_mono_l @~@ d@aobgc~e I00F@d@@@l@Al@l9@u@k@ABCD@@.lcm_mul_mono_r @~;@ j@~?jOOd@j@@l5@@.-gcd_1_lcm_mul @~T@ ?r@@WV@WW{~ٰ[ji@?r@@lP@@I*eqb_compat @~o@ 9ˀ@~i{C{Bx퐑@9@@k@@AA@@A@(eqb_spec @yǷȩu_~yuV{|uQy~ͩ@y=?yI@ҶөuL~y +k() 7!7!L7!77"7777 7! 7!7&'(Z!E*Equalities*Structures#Coq@@&eqb_eqZːp/RelationClasses'Classes @(symmetry0xj$Bool@+iff_reflect s1̠$@"eq4.D%Logic$Init(@#iffС))Datatypes @$boolZ'@hA@# @pL@#eqb4kp\C@-iff_Symmetric!x|)Ϡ)ʠ)@@E!F%NBits(Abstract'Natural'Numbers#Coq@)r$@A@@D!E)r*@A@@C!D)r0@A@@B!C)r6@A@%NBits(Abstract'Natural'Numbers#Coq@)NBitsProp)rG@A@@@A!B3)rM@A@@@!A9))@A@@Z@ @@qѭ@@!tqѭJ@@A@Aq)@@"eqq)^@@A@q٢@ @"leq٢h@@A@ABqٱ@@"ltqٱh@@A@ra@@#addraҠd@@A@Arf~@@#divrf~d@@A@rhk@@#eqbrhkd@@A@ABCrj5@!@#gcdrj5d@@A@rqf@'@#lebrqfd@@A@Arr4@+@#lorrr4d@@A@rr@0@#ltbrrd@@A@ABDrr@4@#maxrrd@@A@rs'@=@#minrs'd@@A@Art @A@#mulrt d@@A@ru@F@#oddrud@@A@ABrvO@J@#onervOT@@A@rw@P@#powrwݠd@@A@Ar|u@T@#subr|ud@@A@r~@Y@#twor~T@@A@ABC|@]@$div2|加d@@A@}@c@$even}d@@A@A}4@g@$land}4d@@A@};@l@$log2};d@@A@ABD}@p@$lxor}Ġd@@A@~2@w@$pred~2d@@A@A~@{@$sqrt~d@@A@~#@@$succ~#r@@A@A-I@@$zero-IT@@A@S@@%ldiffSd@@A@A&o@@&modulo&o۠d@@A@BCD'E,[@@&shiftl'E,[d@@A@'E,a@@&shiftr'E,ad@@A@A'XL>@@&square'XL>d@@A@*Y@@'testbit*Yd@@A@Y@W6@gͰ~~-t@ @@m@@AA@@A@)pow_div_l @g@ 7@>w@Yj@~~-C@7@@!k@@#b2n @@Ő +k= R'6'6''+k6'@]@@#onervOH @$zero-IX@ZqѭР)Datatypes$Init@$boolZ'@@@@@@@@@A@@A@A@tՠ+++UŠ@@@@@i*b2n_proper @@  R@ǰ@hj}Q@]-l @^.f@ R@@@n@An@x@?x@ABC@@+exists_div2 @@ 5b\@2a"4~5a%s:Vɩ'[@5b\@@1@@+testbit_0_r @ @ Y5|>@<@@@@@q'b2n_inj @@  @"a0p"b0s@["]x+@ @@@@@3add_b2n_double_div2 @@ |@@8s:'0y@|@@@o@@3add_b2n_double_bit0 @ @ F@7R*]4@F@@o@@(b2n_div2 @$@ 1y2@OkX1 K@1y2@@o@@נ(b2n_bit0 @;@ 1yPt@fԩ֩XH#b@1yPt@@o@@.testbit_unique @R@  @@8_@ذkX3!h$@# @@o@@&bits_0 @y@ >?[@6򐑠@>?[@@o@@'(bit0_odd @@  8@%Щ &%9@ 8@@@p@zG@b@ABC@@@(bit0_eqb @@  8Z@>$?}$20lz@ 8Z@@p/@@X(bit0_mod @@  8~@V<3@ 8~@@pF@@o+testbit_odd @@ +@'U@@q+@@T2mod_pow2_bits_high @@  :ˀ@RC @~R;VؠI  F@ :@@_X@@o1mod_pow2_bits_low @@ # C@m^'@{Vqp[@# C@@q_@@#eqf @rt/j}~9P@xY |+k() +7T'  77&'\tY`%Logic]@"eq @h)... @@@@@)eqf_equiv @!@ =@+H@D-l){(@E.FJ@=@@@@@֠+testbit_eqf @:@ <@4pFW`@<@@_@@젠*bits_inj_0 @P@ ==@@~u@==@@@@@(bits_inj @e@  @@@F|;@ @@@@r_@Ar@|%@d@rD@ABCD@@,bits_inj_iff @@ !p@ȶɩ̐@!p@@@@@5(are_bits @@ .U!@#@+dӠ+f9dؠn@?(Cc0@ .U!@@@r@Ar@|d@d@d@ABCD@@^,shiftr_spec' @@ p5@\M D_8@p5@@@@@u1shiftl_spec_high' @@ 6 @sd- @s\w8S@6 @@@@@/shiftr_div_pow2 @@ U@6|7r9@U@@@@@/shiftl_mul_pow2 @@ 7ac@LMO8ȩƐ/@7ac@@@@@/shiftl_spec_alt @@ (^@desf>8}wr_8/I@(^@@`@@ՠ)shiftr_wd @9@ @394]@@@r@@頠)shiftl_wd @M@ _6@G9%q@_6@@r@@-shiftl_shiftl @a@ "m@9=B9?rZ@"m@@r@@-shiftr_shiftr @{@ "/׀@©ĩ9z9|9{rs@"/@@s@@0/shiftr_shiftl_l @@ S@.ٶڶ۶@}ީ99s9rR@S@@s!@@J/shiftr_shiftl_r @@ S@H9@H19(@S@@s:@@c*shiftl_1_l @@ 09@Q G9r;Ȑ@09@@sP@@y*shiftl_0_r @@ 0ր@w"]$9w`@0@@sf@@*shiftr_0_r @@ <<@8s:9v@<<@@s|@@*shiftl_0_l @ @ 0Ѐ@NP95𐑠/@0@@s@@*shiftr_0_l @@ <6@df:KE@<6@@s@@Ѡ/shiftl_eq_0_iff @5@ ?Ip@z{Š0]@?Ip@@s@@頠/shiftr_eq_0_iff @M@  ^"@ݠаz6}F igPy@ ^"@@s@@+shiftr_eq_0 @i@ &U@@e:hQ@&U@@@@@(div2_div @@ 7 @ũ:4F@7 @@t @@2'div2_wd @@ {@3@{@@t@@F(div2_odd @@ 7@D*,Ӡf:I7@7@@t7@@`'lxor_wd @@ 0chy@  9p@0chy@@b]@@t'land_wd @@ ,I@Ұ! 9鐑@,I@@bq@@&lor_wd @@ ?I@549@?I@@b@@(ldiff_wd @@ ً@IH9$@ً@@b@@'lxor_eq @@ 0cg0@YZ@]9~鐑<@0cg0@@b@@Ƞ.lxor_nilpotent @,@ h@qs9HR@h@@@@@ޠ-lxor_eq_0_iff @B@ +ߛ@Ҡ/h@+ߛ@@t@@(lxor_0_l @X@  ثɀ@ذ:ې~@ ث@@@@@ (lxor_0_r @n@  ثπ@:񐑠@ ث@@@@@ )lxor_comm @@ |L@ɶʩo:3ː@|L@@@@@7*lxor_assoc @@ T@53E:K:M:Le@T@@@@@Q'lor_0_l @@ /9@O5:8@/9@@@@@g'lor_0_r @@ /?@eK:eN@/?@@@@@}(lor_comm @@ 1<@{&y'b)::) @1<@@@@@)lor_assoc @@ 'H}@>?F @{B:ɠ::͐#@'H}@@@@@(lor_diag @@ 1N@XZ:/9@1N@@@@@Š*lor_eq_0_l @)@ &1f~@no@rI_P@&1f~@@c@@ܠ,lor_eq_0_iff @@@ !@Р[f@!@@v7@@(land_0_l @V@  29@ְ;i=|@ 29@@@@@(land_0_r @l@  2?@;S@ 2?@@@@@)land_comm @@ 3Iv@Ƕȩʩ;C;ʐ@3Iv@@@@@6*land_assoc @@ }@4߶2F;c;;@}@@@@@P)land_diag @@ 3I@N4;7@3I@@@@@f)ldiff_0_l @@ s@dJ;@s@@@@@|)ldiff_0_r @@ s%@z%`';zc@s%@@@@@*ldiff_diag @@ @;v=;ݐ@@@@@@0lor_land_distr_l @ @ I@QRGSU;<#<";07@I@@@@@à0lor_land_distr_r @'@ I@lmG7np;<=;Q@I@@@@@ݠ0land_lor_distr_l @A@ qw@GQð@:^@@@@@ ʠ,clearbit_eqb @.@ +@stu˩M`>@{\@+@@f@@ 蠠,clearbit_iff @L@ @ݠа ܩnnqw@@@@@@ +clearbit_eq @g@ @4򐑠@@@@@@ ,clearbit_neq @@ @Ķ Ŷƶ@Nx @@@@@@ 6+shiftl_lxor @@ %!jЀ@4߶2&?v>L>K?y@%!j@@@@@ Q+shiftr_lxor @@ &b@OMA7?>g>f?向@&b@@@@@ l+shiftl_land @@ %!J@@jh\R?>>6@%!J@@@@@@ +shiftr_land @@ &Ҁ@./u0k2??>4@&@@@@@ *shiftl_lor @@ 1Q@GHIK?>ԩ>h+@1Q@@@@@ *shiftr_lor @@ =@@`abd@>>fD@=@@@@@@ Р,shiftl_ldiff @4@ 4@yz{}@?)?(]@4@@@@@ 頠,shiftr_ldiff @M@ IV@ϰ@L?B?Av@IV@@@@@ $ones @@ߐ @+k77!7$'` X @$pred~2l7W7R7  y t o j Z U@@@@@ ,$lnot @&ѷҩ?9۩@8-wZ@9.Y%@֐ H+k()7 7%' @$lxor}Đt  @L7(>dʠ777J       @@@@@ ^'ones_wd @@ 7?d@_3@7?d@@zI@@ r'lnot_wd @@ .q@а@U-w@V. @.q@@zb@@ *ones_equiv @@ p@y4o6bB񐑠@p@@zy@@ (ones_add @@  ,c@KYLNzzD2C 73@ ,c@@{@@ -ones_div_pow2 @#@  z@hvi@zlYy+©;N@ z@@{@@ ڠ-ones_mod_pow2 @>@  @@4f@ @@{7@@ -ones_spec_low @V@  ]F@@Aذu3搑@ ]F@@{P@@ .ones_spec_high @o@ 1n@@ @1n@@{g@@ "-ones_spec_iff @@  ]O@˶̩ $~ v@ ]O@@@@@ <-lnot_spec_low @@ !@:+@#>z. Ґ@!@@@@@ Y.lnot_spec_high @@ nV@WH@W@[ ꐑ@nV@@@@@ q/lnot_involutive @@ $w@o`V['@$w@@@@@ (lnot_0_l @@ .1@x3n5b@.1@@@@@ )lnot_ones @@ -K@IK0y쐑+@-K@@@@@ ,lor_ones_low @@ .ʀ@`a@ d@D@.@@@@@ Р)land_ones @4@ 3J%@yz|AH 󐑠\@3J%@@@@@ 蠠-land_ones_low @L@ ʀ@@ HΰAa1t@@@|E@@,ldiff_ones_r @d@ %X\@AVکB@ ꐑ@%X\@@{@@0ldiff_ones_r_low @}@  eÀ@¶ö@ yƩApbf@ e@@@@@10ldiff_ones_l_low @@  Y]@/ڶ ۶@ ީA^퐑@ Y]@@@@@K-lor_lnot_diag @@ ,Fo@I:0A~کA'@,Fo@@@@@d1lor_lnot_diag_low @@  @b S@ ĩJA3@ @@|T@@}.land_lnot_diag @@  to@{&l'b)A2~@ to@@@@@2land_lnot_diag_low @@  f@=>@ zAB 0ᐑ @ f@@|@@,lnot_lor_low @@ ;q2@UVW@-r@,b]BAgީB,GxwA@;q2@@@@@͠-lnot_land_low @1@ 5h@vwx@!@,|aBJgB^@5h@@@@@ꠠ.ldiff_land_low @N@ +xB@@>ѰBB{کBey@+xB@@@@@.lnot_ldiff_low @i@ 5.@@Y@,B`g5B>W@5.@@@@@#.lxor_lnot_lnot @@ @ZZ@ABz7z3@CDE@ @@A@A5@@A@@@A@ABL@@A@ "@}@A@ANN@|z@A@ m@yw@A@ABC-k@vu@A@-l"@us@A@A-l'@rp@A@-l)w@om@A@AB-l+A@lj@A@-l2r@ge@A@A-l3@@db@A@-l3@a_@A@ABCD-l3@^\@A@-l43@^\@A@A-l5@[Y@A@-l6@XV@A@AB-l7[@US@A@-l8@RP@A@A-l=@OM@A@-l?@LJ@A@ABC-v@IG@A@-vү@DB@A@A-w; @A?@A@-wq@@><@A@AB-wG@;9@A@-w@86@A@A-w@53@A@-xC@20@A@ABCD-xH/@/-@A@-xU@.,@A@A-9<@+)@A@.Mh@(&@A@AB2'$@%#@A@2'7&@ @A@A4@@A@;@@A@ABC= R@@A@=X2@@A@A>i@@A@>@ @A@AB?>g@  @A@?>m@ @A@?R J@@A@?q@@A@ABCDEFG@*Even_equiv @@@Z%Logic$Init#Coq@@#iffС)@$Even-syOI@.A$Even%Arith#Coq@@$even ͢@A@@@@@AA@@A@)Odd_equiv @@A7-@KV-l |t@KW.GA+AA@@@@@!@@@ ӳ2@ ӳ2[)Datatypes$Init#Coq@@A@ Գq@ Գq\ @A@AB@@||@A@QQ@AB*{*w@AA@A::@||@AK>K:@[[@{4{0@ABCDE@"O@(PeanoNat%Arith#Coq@#Nat@&of_int"O#Nat$Init#Coq@@ 6@A@ @@A@ABs2@@&shiftls2@vY@A@Cs8@@&shiftrs8@vY@A@ѓ@$@&squareѓ@y@A@@*@&to_intϑ!@@A@5@@A@ABC/@2@)log2_iter/)@wd@A@@@A@Al@;@)sqrt_iterl2@!$:@A@L@@A@ABDE c@C@'testbit c:@!ć@A@^Ҷ@M@'to_uint^ҶD@#m@A@ "@đ@A@AB,@U@'bitwise,L@/v@A@NN@ȑ@A@Al@^@'comparelU@3R@A@ m@ʑ@A@ABCs8@f@+of_uint_accs8]@5+@A@-k@Α@A@A-l"@ʑ@A@BD-l'@Ǒ@A@-l)w@Ǒ@A@A-l+A@đ@A@-l2r@@A@AB-l3@@@A@-l3@@A@A-l3@@A@-l43@@A@ABC-l5@@A@-l6@@A@A-l7[@@A@-l8@@A@ABDE-l=@@A@-l?@@A@A-v@@A@-vү@@A@AB-w; @@A@-wq@@@A@A-wG@@A@-w@@A@ABC-w@@A@-xC@@A@A-xH/@@A@-xU@@A@-9<@~@A@.Mh@}{@A@ABCDE.@@!t.@ ;@A@.먩@@#add.먩@ `@A@A.U@@#div.U@ @A@.B@@#eqb.B@ @A@A. @@#gcd. @ @A@.=@@#leb.=@ @A@ABCFGH. @@#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@@#sub.L @ @A@.@@#two.@ @A@ABCD.,a@@$div2.,a@ @A@.Xz@&@$even.Xz@ ?1@A@A.@+@$iter.ؑ"@ @A@B. @0@$land. '@ @A@. @6@$log2. -@ @A@ACE.@;@$lxor.2@ R@A@.y@C@$pred.y:@ `<@A@A.Ʉ@H@$sqrt.Ʉ?@ ;@A@.@O@$succ.F@ @A@.t @U@$zero.t L@ Z@A@AB/@Z@.to_little_uint/Q@ @A@CD/@_@%ldiff/V@ H@A@2'$@$"@A@2'7&@@A@AB3@m@(tail_add3d@^q@A@3@s@(tail_mul3j@^@A@4@'%@A@ABC6w~@{@'of_uint6w~r@^5@A@;@)'@A@ADi@&$@A@ABC>@@&divmod>@C@A@>@@&double>@NĴ@A@A>@0.@A@?>g@.,@A@AB?>m@*(@A@?R J@(&@A@?q@%#@A@AB?;@@&modulo?;@"i@A@CDEFGHI@&Basics'Program#Coq@0!bs߯? :VU$Bool#Coq@0j 2cZ`FW*CMorphisms'Classes#Coq@0qیZBeϠ0CRelationClasses'Classes#Coq@0TL;0RUfw1@0.i bYN Z)Decidable%Logic#Coq@0ND걸풬/Oߠ'Decimal$Init#Coq@0C涳N*ua*Equalities*Structures#Coq@0όe얟)H.Ƞ+Equivalence'Classes#Coq@07;ꮹ$Even%Arith#Coq@0YO%q}d߫%-GenericMinMax*Structures#Coq@0måj$$Init'Classes#Coq@0](p{yOh.0\͉!Ig*Logic_Type$Init#Coq@0 1jc6)Morphisms'Classes#Coq@0Imӽ%\$PD.Morphisms_Prop'Classes#Coq@0% :B'.>u%$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蠠)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|ؠ0O~2$k[#lZ'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@03\rHȠ@X@Zgc@A@Ƞ9D{(@@@#leb-l2rΐBȠ9D{(@@@#ltb-l3 9D{(@@@>/TC@?<}9D{(@@@>MbM@?-à9D{(@@@#pow-l8)P9D{(@@@P8a@P:Tyx3P9D{(@@$@P7k@P9n=M9D{(@@.@&square?R JSGP9D{(@@8@P5\D@P6ʱQP9D{(@@BXPk9D{(@@_9D{(@@P@$even-vүi9D{(@@Z@#odd-l6sOנ9D{(@@d@O U@O K\ }Oʠ9D{(@@n@O/W%\@O0֫'2 Q@@A@"_6@@A@@@@@@@@"_72M접"_8'`o@A)nat_scope@@{2 Q@@A@"_9,@&~@A@@@@'@#_102M접 #_11'`o@A%@%@9D{(@@@&divmod= R ܠ 9D{(@@@#div-l'栠 9D{(@@@&modulo>iP%9D{(@@@P,(@P-aO9D{(@@@OJ@2@PPO9D{(@@@O._<@O06!9D{(@@@)sqrt_iter5'9D{(@@ @$sqrt-xC"O9D{(@@@O3sɰZ@O4O{,O9D{(@@@O;d@Om6S9D{(@@'@)log2_iter Y@9D{(@@1@$log2-wGJOx9D{(@@;@O& c@O'yTOU9D{(@@E@O\@O]0^O99D{(@@O@O@@OA-phC9D{(@@Y@#gcd-l+AIrO79D{(@@c@O>= @O?>|O9D{(@@m@OwY@O  $N9D{(@@w@O=D@O>(N9D{(@@@N=D@N>(N9D{(@@@N3]@N5F(9D{(@@@'testbitʠ9D{(@@@&shiftl?>gΠ9D{(@@@&shiftr?>m à9D{(@@@'bitwise "̠K9D{(@@@$land-wq@Q֠9D{(@@@#lor-l3@ࠠ19D{(@@@%ldiff.Mh7ꠠ]9D{(@@@$lxor-wcN9D{(@@@N1X·,@N2TRN9D{(@@@NF6@N$Fh@L?&:Ln9D{(@@+@Lu*mNr@Lv+ԝDN9D{(@@5@N#&R|@N$((NN9D{(@@?@N8@N rAXM9D{(@@I@N/@N1sbO$9D{(@@S@O+"K@O, -lM9D{(@@]@M-@@M/ u vMҠ9D{(@@g@M-A@M/ u M9D{(@@q@M1˞H@M3K$M9D{(@@{@MZ@M %M9D{(@@@M0jdH@M1Ml9D{(@@@Ms@Mt)#_12@FF@F@@F@@FA@'_ <=? _@F @@Р#<=?U@@@@@A@@$ <=?@A@@B@@@@@#_13%c?@)nat_scope󠠐F@@uK@@@~@@@@>z@'x <=? y#_14@FF@F@@F@WFA\@&_