"` %NBits(Abstract'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ᠠ'NParity(Abstract'Natural'Numbers#Coq@0̗SKz*!&4h$NPow(Abstract'Natural'Numbers#Coq@0҆mulf$NDiv(Abstract'Natural'Numbers#Coq@0bz$?[p(5$NLog(Abstract'Natural'Numbers#Coq@0KlO⟈jQttxZkAР%NBits(Abstract'Natural'Numbers#Coq@ A)NBitsProp@@!A@!t @J %'A*Equalities*Structures#Coq@@@@@ %'@ @A@A@@@AA@@A@"eq @^@)@%qѭ@.@*qѭA@@@@@(eq_equiv @@/RelationClasses'Classes1@+Equivalence~@J@FqѭN@/q)@@@FA݋X_A/RelationClasses'Classes#Coq@@A@@A$zero @Tf@!tqѭ@@@@@AA@@A@$succ @r@y@qѭ}@qѭ@@@@@$pred @d@@&qѭ@*qѭ@@@@@)'succ_wd @@)Morphisms'Classes#Coq@@&ProperL@@Fqѭ@Jqѭ@*respectful%WO?@Uqѭ@Yqѭ@"eqq)@q)@]~#@@@AviA4'Classes#Coq@@A@@n'pred_wd @@E@@qѭ@qѭ9@qѭ@qѭ@4q)@8q)@}~2@@@A3@A@@)pred_succ @@!n@qѭ@Sq)@~2"@~#A@@@@@,bi_induction @@!A@5@qѭA@@?@qѭ E@qѭI@q)%Logic$Init@#iffС)0@B[@-I@Ra@qѭDCl@~#Jbq@ qѭEQ@@@kA@A@@#one @T@qѭ@@@@@#two @T@+qѭ@@@@@*(one_succ @@@q)@@@#onervO @$succ~#@$zero-I@@@@@Q(two_succ @@@q)'@#twor~ .@@@@@g"lt @h@@!tqѭ@@qѭA@@@@@AA@@A@"le @h@@qѭ@@qѭ@@@@@%lt_wd @@l@ @qѭ@@qѭܩa@qѭ@@qѭ皠 @]q)p&@qѭ񚠐*@gq)ᚠ.@"ltqٱ@@@'Ac@A@@ʠ+lt_eq_cases @@0?@qѭ!mF@qѭM@`q٢+@"or @[@-qٱ`@q)@@@@@)lt_irrefl @@_n@qѭ&@#notШz@LqٱXX@@@@@)lt_succ_r @@z@#qѭJ@(qѭF@gqٱA@,~#y@q٢S@@@@@9#add @d@@Iqѭ@@Nqѭ@Rqѭ@@@@@Q#sub @d@@aqѭ@@fqѭ@jqѭ@?@@h#mul @d@@xqѭ@@}qѭ@qѭ@V@@&add_wd @@V@@qѭ@@qѭ@qѭO@qѭ@ @qѭ@qѭ@Oq)b@qѭ@qѭ @]q)$@aq)(@raҀ@@@ A\@A@@à&sub_wd @@@:@qѭ@?@qѭC@qѭI@qѭ@N@qѭR@qѭV@q)\@qѭ`@qѭd@q)h@q)l@r|u@@@dA@A@@&mul_wd @@ް@~@qѭ@@qѭ@!qѭ@'qѭ@@,qѭ@0qѭ@q)@:qѭ@>qѭ@q)@q)@rt @@@A@A@@K'add_0_l @@@Zqѭ@q)@&raҀ@s-I@@@@@i*add_succ_l @@Ϛ@xqѭ@}qѭ@%q)@IraҀ@~#ҩ@~#@[raҀ@@@@@'sub_0_r @@@qѭ@Pq)@\r|u@-I@@@@@*sub_succ_r @@,@qѭ횠1@qѭ6@sq)<@r|u詚B@~# G@~2M@r|u@@@@@栠'mul_0_l @@L[@qѭ`@q)f@rt k@-IHo@-I@@@@@*mul_succ_l @@n}@qѭ>@qѭ@q)@rt @$~#p@raҀ@rt Q{@@@@@7#max @d@@!tqѭ@@qѭ@ qѭ@@@@@AA@@A@%max_l @@!x@qѭ!y@$qѭ@@"leq٢AB@"eqq)@DrrC@@@@@2%max_r @@/@Jqѭ-@Oqѭ@@+q٢)*@(q)@krr'4@@@@@W#min @d@@pqѭ@"@uqѭ&@yqѭ@@@@@o%min_l @@l4@qѭj9@qѭ@?@hq٢=D@dq)J@7rs'cb@@@@@%min_r @@X@qѭ]@qѭ@c@q٢h@q)n@[rs'@@@@@&pred_0 @@|@"eqq)@~2@+-I@/-I@@@@@AA@@A@'compare @d@@!tqѭ@@qѭ)Datatypes$Init#Coq@@*comparison;f@@@@@@AA@@A@,compare_spec @@!x@&qѭ!y@-qѭ(@+CompareSpec!Q]@@"eqq)BA@"ltqٱ @qٱ @Y@*YD@rt I@r~CN@>~#=S@*Y;@@@@@堠-testbit_neg_r @@暠a@qѭf@ qѭ@l@"ltqٱ֚r@-I$y@(*Ya@@@@@ +shiftr_spec @@ @,qѭ@1qѭ!m@8qѭ@@q٢@-IP?@T*Y@'E,aD@a*Y@.raҀ@@@@@K0shiftl_spec_high @@L@lqѭ욠@qqѭ@@vqѭ@@q٢@:-ID@@q٢ʩ@*Y@y'E,[EE멚@*Y@#subr|uR@@@@@/shiftl_spec_low @@ @qѭ1@qѭ@qѭ@@qٱ ϰ$@*Y*@'E,[`@@@@@)land_spec @@8@qѭ!b?@qѭdD@qѭ婚K@*YQ@}49@$andb=]@ *YXƩc@*YR̐@@@@@(lor_spec @@r@qѭ:w@qѭ|@!qѭ.@2*Y@rr4q񩚠(@#orb@D*Y8@I*Y7@@@@@,*ldiff_spec @@-@Mqѭp@RqѭҚ@WqѭdS@h*Y@S'n@u*Yie@$negb@*Yo@@@@@d)lxor_spec @@e@qѭ@qѭ @qѭ@*Y@ }Ā_@$xorbȀ@*Y@*Y@@@@@)div2_spec @@@qѭ@q)!@|劀'@'E,a,@rvO@@@@@&square @d@;@qѭ?@qѭ@@@@@ؠ+square_spec @@>M@qѭR@q)X@''XL>6]@rt @@@@@@ @@@@qѭ@l@hqѭ @A@Aq)@n@Oq) @A@q٢@q@q٢ @A@ABqٱ@s@qٱ @A@ra@w@ra @A@Arf~@y@rf~d@@A@rhk@}@ rhk @A@ABCrj5@@urj5@A@rqf@@ Rrqf @A@Arr4@@rr4d@@A@rr@@ rrr @A@ABDrr@@ rr @A@rs'@@ rs' @A@Art @@rt  @A@ru@@ ru@A@ABrvO@@rvO @A@rw@@ rw@A@Ar|u@@r|u @A@r~@@r~ @A@ABC|@@|加d@@A@}@@ }@A@A}4@@}4d@@A@};@@H};@A@ABD}@@}Ġd@@A@~2@@5~2 @A@A~@@~@A@~#@@N~# @A@A-I@@b-I @A@S@@Sd@@A@A&o@@&o۠d@@A@BCD'E,[@@S'E,[d@@A@'E,a@@@'E,ad@@A@A'XL>@@'XL>d@@A@*Y@@*Yd@@A@@1@#two>T@@A@AI@5@$predId@@A@G@:@$succGr@@A@@?@$zeroT@@A@ABCDE@A@@M^po|@]@@@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@@@@ %'A*Equalities*StructuresA݋X_A@A@@AA@@A@&eq_sym @@5Equivalence_Symmetric. U@qѭ@q)@&Vs@@)SymmetricFgq@qѭ@q)TL@-. U\DРi`JCՠgVok@@b@@X(eq_trans @[@6Equivalence_TransitiveWT@SqѭX@Rq)\@Q&Vs@n@*Transitive++-g@fqѭk@eq)PCT9LU@-W\;D5%]V@9*ԠXGĠ@@@@*eq_sym_iff @TD5ݠԠ|u_XI۠ʠwf@b@!x@qѭ!y@qѭ%Logic$Init@#iffС)@q)BA@q)@@@@AA@@A@'neq_sym @}%Ġe^;#@A!n@qѭ!m@qѭ@I@#notШ@q)D @q)KC@@@@@D(eq_stepl @ݠ͠f]G@Ҡ|dS@B?@>qѭD@Cqѭ!zK@Jqѭ@Q@Kq)6@X@Rq)D_@Yq)D@@@Aۓό^)Morphismss@@AB@@(succ_inj @'OH2+ƠJ9@5C"n1@qѭ"n2@qѭ@@q)@m~#Ω@s~#ө@q)Y@@@AviAK@AAۀߠKN@R@@ABC@@۠+succ_inj_wd @tdU=6ޠנxi@DM@qѭK@qѭ@q)@~#J@~#I@q)"@@@G@A8ӠA4Relation_Definitions)Relations@AB@@"/succ_inj_wd_neg @D;ܠ}%ƠZB1ޠ@E@qѭ"@!qѭc+@%q)1@~#6@~#.=@7q)m@@@@@d1central_induction @ޠ}%Ơg`s @ F!A@b@aqѭA$A_wd@&ProperL@t@sqѭ @*respectful%WO?@~qѭ@}q)?@qѭ@n@@qѭѠE@j~#@qѭF@@@@@ɠ'add_0_r @bRC+$̠ŠmfWؠ@@A&NZBase%NZMul&NatInt'Numbers#Coq@@A@%NZMul&NatInt'Numbers#Coq@)NZMulProp@A@@@@"NZ@A@%NZAdd&NatInt'Numbers#Coq@)NZAddProp/@@@A@@@A&NZBase%NZAdd&NatInt'Numbers#Coq@A@A@@@"NZ+@@,R@2@!t,RJ@@A@A,Y@@"eq,Y^@@A@,@@ @#add,@d@@A@AB,w@@#mul,wd@@A@,@@#one,T@@A@A,@@#sub,d@@A@,@@#two,T@@A@A,@"@$pred,d@@A@,@'@$succ,r@@A@,筷@,@$zero,筷T@@A@ABCDE@A@E@CA@@qѭF@@q)L@?raҀ{Q@-I@@@@@v@ABC@@AA@@A@*add_succ_r @?8٠z" v@A}@|qѭ}@qѭ@q)@raҀ@b~#署@g~#@raҀΐ@@M@@J-add_succ_comm @^N?ޠ' ȠibSԠܠˠ@Bƚ@qѭĚ@qѭ@q)@raҀ@~#<@raҀ@~#A@@@@(add_comm @.%͠ƠngD,C6(#@C  @ qѭ @qѭ@q)@raҀK @raҀH@@@@̠'add_1_l @Рi`JCՠgV~qc^M?@JDHF@EqѭK@Eq)Q@DraҀV@rvO[@*~#@@ @@'add_1_r @ C<ݠ~&z@E@qѭ@q)@raҀ@rvO@e~#@@E@@B)add_assoc @VF7ߠ֠~waZKݠ̠٠Ԡà@F@qѭ@qѭ!p@qѭ@q)@raҀ@raҀ @raҀ@raҀ@@@@,add_cancel_l @-$̠ŠmfC+B5'"@G  @ qѭ  @ qѭN @ qѭU @ q) !@raҀP '@raҀO ,@ &q)ې@@@@ؠ,add_cancel_r @ܠ͠ul VOsb}ojYK@VHT R@ QqѭR W@ Vqѭ \@ [qѭ c@ ]q) i@\raҀN o@braҀ t@ nq)#@@#@@ ,add_shuffle0 @ 4 $ \U?8)ӠҠŠ@I @ qѭ @ qѭޚ @ qѭ @ q) @raҀ @raҀd㩚 @raҀ @raҀW@@o@@l,add_shuffle1 @  p a  IBu@J蚠 @ qѭ暠 @ qѭ* @ qѭ!q @ qѭ @ q) @raҀ @raҀ @raҀ> @raҀ @ raҀ @raҀ@@@@ʠ,add_shuffle2 @ ޠ Π  g ^ HAӠ}eT|oa\K=@HKF D@ CqѭD I@ Hqѭ N@ Mqѭ^ S@ Rqѭ X@ Rq) ^@QraҀ d@WraҀ\ i@\raҀ n@araҀ t@graҀ z@mraҀ)@@)@@&,add_shuffle3 @ : *  à  b [ E>/٠ؠˠ@L @ qѭ @ qѭ䚠 @ qѭ @ q) @raҀ @raҀ멚 @raҀ𩚠 @raҀ]@@u@@r'sub_1_r @  v g     O H{% $ @M @ qѭ @ q) @r|u& @IrvO @~2]@@@@'mul_0_r @    J A     + $̠Š`H7_RD@]@& $@ #qѭ )@ #q) /@rt ^ 4@-I 8@-I@@@@AA@@A@*mul_succ_r @   ܠ  { #  Ġ  e ^ q~@A` ^@ ]qѭ^ c@ bqѭ h@ bq) n@Trt  t@C~#Щ y@lraҀ @ert @@.@@G(mul_comm @ ? /  Ƞ  g `     J C 4ޠƠݠР@B @ qѭ @ qѭ @ q) @rt ⩚ @rt ߐ@@f@@/mul_add_distr_r @ w g X     @ 9  ڠ  { l @Cܚ @ qѭښ @ qѭ @ qѭ @ q) @rt  @raҀ# @raҀ @rt  @rt 5@@@@͠/mul_add_distr_l @ Š   N E     / ( Р ɠ  d L ;cVH@aD* (@ 'qѭ( -@ ,qѭl 2@ 1qѭ 7@ 1q) =@ #rt " C@ 6raҀs H@ ;raҀ N@ 4rt  S@ 9rt @@@@)mul_assoc @      ; 4 ܠ ՠ } v      @Ex v@ uqѭv {@ zqѭ @ qѭ @ q) @ qrt p @ wrt  @ |rt  @ rt Kʐ@@K@@d'mul_1_l @ \ L =  ܠ  } %  Ơ  g ` Q   Ҡ@F @ qѭ @ q) @ rt  @rvO@@~@@'mul_1_r @   p     X Q      .  - @+G @ qѭ @ q) @ rt , @OrvO0@@@@ʠ,mul_shuffle0 @     K B     , % ͠ Ơ  a I 8`SE@^H' %@ $qѭ% *@ )qѭi /@ .qѭ 4@ .q) :@ rt  @@ &rt n E@ +rt  K@ 1rt z@@@@,mul_shuffle1 @      3 , Ԡ ͠ u n      @Ip n@ mqѭn s@ rqѭ x@ wqѭ }@ |qѭ @ |q) @ nrt  @ trt  @ yrt é @ ~rt  @ rt F @ rt :@@R@@k,mul_shuffle2 @ c S D     , % ͠ Ơ n g X   ٠@JȚ @ qѭƚ @ qѭ  @ qѭ @ qѭ @ q) @ rt  @ rt ީ @ rt   @ rt  @ rt  @ rt @@@@à,mul_shuffle3 @    D ;  ܠ  } %  Ơ   Z B 1YL>@WK @qѭ #@"qѭb(@'qѭ-@'q)3@ rt  9@ rt  i>@ $rt  nD@ *rt ې@@@@ %le_wd @     , % ͠ Ơ n g      z@@A&NZBase'NZOrder&NatInt'Numbers#Coq@ & $@A@'NZOrder&NatInt'Numbers#Coq@+NZOrderProp 5 3@A@@@@"NZ * )@A@@@@qѭ@@qѭ,@qѭ@@qѭ7@q))@qѭA@q) 皠@ q٢@@Z@@AA@@A@*lt_le_incl @n^O     7 0 ؠ Ѡ y r c   j]O@hA Ӛ@qѭ њ@qѭ@@"ltqٱ @ q٢ @@@@@7'le_refl @+" ʠ à k d      A ) @B @qѭ @ q٢ 9 9@@ .@@`.lt_succ_diag_r @ˠTK     5 . ֠ Ϡ  j R AǠ@C 0.@-qѭ3@Wqٱ b9@ ~# @@@@@.le_succ_diag_r @ڠy!    c \      o@D ^\@[qѭa@ ^q٢ g@ 6~# Ð@@@@@/neq_succ_diag_l @'OH     2 +  Ơ  #@!E @qѭ @q)@ f~#  Ő@@ @@젠/neq_succ_diag_r @WG8נx    b [ L  ޠ ͠SF8@QF @qѭ @q) 𩚠@ ~# #@@@@@/nlt_succ_diag_l @whPI     | &  vh@G 욠@qѭ ␩@qٱ@ ~# S %@@@@@L/nle_succ_diag_l @@7ߠؠy!     V > -@H @qѭ !@ q٢'@ ~#  U@@@@@|)le_succ_l @נȠpgQJ   ܠ  n ]֠@I LJ@Iqѭ JO@Nqѭ V@ Sq٢\@ +~#  a@qٱ @@ @@+le_gt_cases @!IB,%   @J @qѭ @qѭ @"or @@ q٢ Ʃ@qٱ Ð@@ J@@-lt_trichotomy @[K<۠|$Šf_P   ѠWJ<@UK @qѭ @qѭ:@qٱ A@q) @qٱ @@@@@+(lt_asymm @w_X5 w@L @qѭ @qѭ@@(qٱ 4  @/qٱ @@ a@@`(lt_trans @ˠTK5.֠ϠjRAǠ@M 0.@-qѭ .3@2qѭr8@7qѭ@>@bqٱ @D@hqٱ 󩚠I@mqٱ  .@@ @@(le_trans @ 2+Ӡ̠tm@N om@lqѭ mr@qqѭw@vqѭ@}@zq٢ ,@@q٢ 2@q٢?@@ 7@@ݠ+lt_strorder @H8)ѠȠpi SL=ϠD7)@BO@+StrictOrder.[@@qѭ@qٱ@@ @@ +le_preorder @vfW?8٠zkreW@pP@(PreOrder@@qѭ@q٢@@@@9/le_partialorder @-$̠ŠmfC+@Q@,PartialOrder5͛К @ qѭ@ q)@ &Vs@q٢8@b*@@@ s@A @B@CAhC3@ABC@@y)lt_compat @2@%lt_wdUG@ ̰@:@9qѭ@?@>qѭ ݩ E@Dqѭ@J@Iqѭ 蚠N@Hq) T@Sqѭ 򚠐X@Rq) \@qٱ@@@%lt_wd']ɠF?)" @@@@@Р(lt_total @@%p@ @qѭ @qѭ @qٱ ʩ@q) ѩ@qٱ ΐJ3@ aǠcSD,%͠ƠngX٠_RD@@@@@'le_lteq @@+lt_eq_casesH@ ֚@qѭ Ԛ@qѭ@q٢W@ qٱ@q)@+lt_eq_cases&y1(Рɠqj G/@@@@@Z0Private_OrderTac)A'IsTotal1 A @!@&Vs@4@+Equivalence~@-@,qѭ1@+q)@(eq_equiv7LݠΠvmWPtcܠ@@@@@ @r@ TM@]@\qѭa@qٱ@,Q^ D=ޠ'  @@@@@ΠU @@]% @ @@qѭ@@qѭ 0 @qѭ@@qѭ ;@q) -@qѭ E@q)뚠@qٱShXI1*Ҡˠsl]ޠdWI@@@@@J @@R$͒@ٚ@qѭך@qѭS@qٱZ@q)@qٱI1(Рɠqj G/@@@@@ZE @-@M-@@qѭ@qѭ]#@ q٢S*@NqٱZ/@)q)_Cؠɠqh RKݠo^נ@@@@@@@@@Ȑ@#TaclGAk @6/נРxq @@D!P)OrdersTac*Structures#Coq@rk@@@A@@C!O@@&@ @!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@G,MakeOrderTacBo?@A@@@BONR@@@A@@AEUH@@@N@!tJ@@A@A$:@@"eq$:^@@A@$@ @"le$h@@A@$@@"lt$ h@@A@ABC@A@+*OrderFacts.#@A@@s@3@qѭ@q)@@@@AA@@A@ @90ؠѠyrO7&]VP5@Ac@qѭ@q٢@@A@@0)lt_irrefl @ޠΠg^HAӠ}eTڠ͠Р~c@BG@Fqѭ?N@rqٱD@@q@@`d @ 5.֠Ϡwp @Cv@uqѭ{@zqѭ@@{q)@q)k@@@@*le_antisym @F6'ϠƠngQJ;͠B5'8(@9D@qѭ@qѭ@@q٢@@q٢@q) @@@@נ @te MFy# sevf1*$ @wE7@qѭ5@qѭ@됩@q)*򐩚@q)@@@@@*interp_ord @!o)OrdersTac0@#ordȠ@ @@@@@@@@@@@D@#@"qѭ@(@'qѭV-@'q)1@Uqٱ5@2q٢@*(@;@:qѭ@@@?qѭސ +k= R'6'6'6''+k+7T'+7T'6'ࠒA̠ܠ۠@@"lt\ @@"eq8L@lР@TȠ@@QPO@@A@B@A@xA܀* RK5.ɠ&  נРʠ@@@@@%trans @M=.֠͠unXQBԠàI<.?/@@F"o'@qѭ@qѭ{@qѭ@@*\g:@@*\g @*\g@)trans_ord-0uGDRɐ@@;@@ @=@qѭ;@qѭ@qѭ@rМA76@W @ qѭU@qѭΚ@qѭ@@q)̶@#@q)ҩ(@"q)ߐ L+k() LL7#'S@$tܠ͠ul VOsb۠͠ޠΠq@@@@@a @]@\qѭb@aqѭg@fqѭd"@МbCV@w@vqѭ|@{qѭ8@qѭ@@q٢6@@q٢<@q٢I L+k() NN7#'jtRB3۠Ҡzs]VG٠Ƞ N A 3D4@@@@@Ǡ @ @qѭ @qѭ@qѭ@BМB@'@qѭ%@qѭ@qѭ@@ qٱ@@ qٱ@ qٱ L+k() MM7#'АtA8٠z"àW?.   e^X=@@@@@-+le_lt_trans @t*@)qѭr/@.qѭ뚠4@3qѭV1@g kj@A@@qѭF@EqѭK@Jqѭ@Q@Nq٢@W@ {qٱ\@ qٱ L+k() MN7#'4t D=ޠ'    ɠ @@@@@+lt_le_trans @ؚ@qѭ֚@qѭO@qѭS@ 1@@qѭ횠@qѭf@qѭ@@ qٱd@@q٢j@ qٱw L+k() NM7#'tpa IBu | o arb-& @@@@@%eq_lt @<@qѭ:@qѭ@qѭ@q/32@S @qѭQ@ qѭʚ@qѭ@@q)ȶ@@ CqٱΩ$@ Hqٱې L+k() ML7#'tԠŠmd NG٠kZ  Ӡ Š֠Ơi@@@@@Y%lt_eq @V@Uqѭ[@Zqѭ`@_qѭ]@cL@m@lqѭr@qqѭ.w@vqѭ@}@ qٱ,@@}q)2@ qٱ? L+k() LM7#'`tH8)ѠȠpi SL=Ϡ D 7 ):*@@@@@%eq_le @@qѭ@qѭ{@qѭ@9]@@qѭ@qѭ@qѭ@@q)@@q٢@q٢ L+k() NL7#'Đt5,Ԡ͠unK3"   YRL1@@@@@!%le_eq @h@qѭf#@"qѭߚ(@'qѭJ%@+_^@5@4qѭ}:@9qѭ?@>qѭ@E@Bq٢@K@Eq)P@Mq٢  L+k() LN7#'(t81٠Ҡzs   @@@@@&eq_neq @3#[T>7(Ҡ / " %٠Ӡ@&G暠@qѭ䚠@qѭ]@qѭ@@q)[@@q)c@q) r@@@@@͠&neq_eq @{k\D=ޠp w j \m](!@nH.@qѭ,@qѭ@qѭ@琩@q)@@q)@q) @@@@@*not_neq_eq @àLC-&ΠǠbJ9   picH@Iv,@+qѭt1@0qѭ@*,;@5q)k@@:q)@@@@R)not_ge_lt @(!ɠ jc v   @Ji@hqѭn@mqѭ@gv@sq٢{@ qٱ*@@@@)not_gt_le @;+Ġc\F?0ڠ  7 * -۠@.K@qѭ욠@qѭ@@ qٱ٩@q٢e@@@@@Ƞ)le_neq_lt @vfW?8٠zk r e WhX#@iL)@qѭ'@qѭ@@q٢@㐩@q)@ qٱ@@@@@ @@@@'z@@@@@'|@<_neq @D;ܠ}%ƠZB1   @ R @qѭ#@"qѭ@)@ MqٱY!0@*q)ߐ@@@@@ &le_neq @ѠypZSwf  ߠ @ SUS@RqѭSX@Wqѭ_@ qٱ@#andЖw@l@iq٢ds@mq)@@@@@ Ƞ*eq_le_incl @3#[T>7(Ҡ/"@-T@qѭ@qѭ@@q)ѩ@q٢U@@@@@ (lt_stepl @fVG/(Рɠqj[ܠbUG@`U@qѭ@qѭ@qѭ@@ qٱ@@q)@qٱ@@@@@9(lt_stepr @-$̠ŠmfC+@VQ@qѭO @ qѭȚ@qѭ@@;qٱƶ@@q)̩"@Fqٱ ِ@@@@@w(le_stepl @Ҡàkb LEנiXޠѠ@WE@DqѭJ@IqѭO@Nqѭ@U@Rq٢@[@Uq)`@]q٢@@@@@(le_stepr @ HA+$@X͚@qѭ˚@qѭD@qѭ@@q٢B@@q)H@q٢ U@@@@@ @]M>ݠ~&ǠhaRӠYL>@WYš@qѭ@qѭ@qѭ@@q٢@@qٱ@qٱ @@@@@0\ @{# c\9!{@Z@qѭ@qѭA@qѭ@ @1qٱ@@q٢©@<qٱ ϐ@@@@@m+le_antisymm @ؠȠaXB;ܠ͠w_NԠǠ@[=;@:qѭ;@@?qѭ@F@Cq٢v@L@Iq٢1Q@Kq)I@@@@@)le_succ_r @92ڠӠ{t @ \vt@sqѭty@xqѭ@}q٢@U~# @q٢@q)©@g~#@@@@@)lt_succ_l @XH9ؠy! c\MߠΠTG9@R]@qѭ@qѭ@@qٱ@~#.@qٱ@@@@@&,le_le_succ_r @rZS0r@^@qѭ@qѭ@@q٢/@q٢驚 @~#l@@@@@_,lt_lt_succ_r @ʠSJ4-ՠΠiQ@Ơ@_/-@,qѭ-2@1qѭ@8@\qٱh=@aqٱ"C@~#@@@@@,succ_lt_mono @+$̠Šmfy@`hf@eqѭfk@jqѭr@qٱw@qٱ}@L~#ߩ@Q~#ސ@@@@@נ,succ_le_mono @B2#ˠ jc MF7ɠ>1#@ݠ~&ǠhaRӠYL>@Wgš @ qѭ @ qѭ@ @qٱ @-I@ @qٱ @qٱ @2-rvOĐ@@@5@3@@ABC@@8+lt_ge_cases @    , #ˠĠle B*@h!@!qѭ! @! qѭ!@6qٱB!@q٢?@@@@@l+le_ge_cases @ נ Ǡ  ` WA:̠۠v^MӠƠ@i<!:@!9qѭ:!?@!>qѭ!F@Cq٢v!K@Hq٢s@@@@@+lt_gt_cases @!      3 ,Ԡ͠un@jp!n@!mqѭn!s@!rqѭm!|@!vq)󠩚!@qٱ!@qٱ@@@@@ݠ,eq_decidable @!H!8!) Ѡ Ƞ p i  SL=ϠD7)@Bk!@!qѭ!@!qѭ)Decidable!@)decidable r!@!q)@@@@@&eq_dne @!!p!a! !   I Bu|oa@zl嚠!@!qѭ㚠!@!qѭ)␩䐩!@!q)#!@!q)(@@@@@M&le_ngt @!!!!A!8  ٠  z " àW?.@m"@"qѭ" @"qѭa"'@$q٢W".@RqٱV@@@@@&nlt_ge @!!ޠ!Ϡ!w!n!!   X Qudݠ@nS"Q@"PqѭQ"V@"UqѭP"_@qٱ"d@aq٢@@@@@,lt_decidable @"$""!!!L!E     / ( à @o"@"qѭ"@"qѭܐ"@qٱÐ@@@@@蠠<_dne @"S"C"4!ܠ!Ӡ!{!t!!   ^ W HڠɠOB4@Mp"@"qѭ"@"qѭ"@qٱ"@qٱ@@@@@ &nle_gt @""{"l"" !!!T!M      *  zl@q𚠐"@"qѭ"@"qѭ4퐩"@q٢,#@%qٱ)@@@@@V<_nge @""""J"A!!!!!+!$ ̠ Š  ` H 7@r&#$@##qѭ$#)@#(qѭj#0@Tqٱ`(#7@ 4q٢_@@@@@,le_decidable @"""ؠ""w""!!!a!Z!    ~ m@s\#Z@#YqѭZ#_@#^qѭ#f@ cq٢@@@@@&le_dne @#&##"""N"G!!!!!1!*! Š  "@ t#@#qѭ#@#qѭϠ#@ q٢ɩ#@ q٢ΐ@@@@@*nlt_succ_r @#^#N#?""ޠ"""'" !Ƞ!!i!b!S   ԠZM?@XuÚ#@#qѭ#@#qѭ#@qٱ#@ ~#7#@qٱ @@@@@/5lt_exists_pred_strong @###{###" ""c"\"!!!!!9!!!{@v#@#qѭ$@$qѭ$@$qѭ@$ @1qٱ@$@!q٢U@"ex @$@$qѭ!k$&@$%qѭǠ$-@$'q)թ$3@!~#$8@!5q٢g@@@@A@@A _@ `AРD.Morphisms_Prop$P@ fA1@D@ABCD@@.lt_exists_pred @$#####/#("Р"ɠ"q"j"" !!!!}@w!$j@$iqѭq$o@$nqѭ@$u@qٱb${@$zqѭ\$@$qѭ!$@$q)l$@!\~#驚$@!q٢@@@O@A@@蠠,lt_succ_pred @$S$C$4#ܠ#Ӡ#{#t##"""^"W"H!!ڠ!ɠOB4@Mxm$@$qѭ$@$qѭ@$@qٱ񩚠$@$q)$@!~#$@!~24 @@@(@A%@t@ @@ABCD@@,&rs_rs' @$$$x$ $###`#Y#"""""6"" x@y@$@$qѭ@%@%qѭ% @%qѭ% @%q) M ;ɚ%@%qѭ@@ %@%qѭ@%@"q٢@>%(@!~#  0%.@%-qѭ@%4@"1q٢@ =%;@%:qѭ ;%@@%?qѭ@%F@"Cq٢c u@%M@qqٱ 2K'H)@@@@(rs'_rs'' @%%$$$$9$2#ڠ#Ӡ#{#t###""" @ z@%u@%tqѭ@%}@%|qѭ %@%qѭ!%@%q)   C%@%qѭ@ %@%qѭ@%@"q٢ ȶ@ %@%qѭ %@%qѭ@%@"q٢ ٶ@%@qٱ I  %@%qѭ  Ú%@%qѭ %@%qѭ@%@"q٢"@%@qٱ ! . ښ%@%qѭ ؚ%@%qѭ@%@"q٢9@%@ qٱ 8%@"~# K@@ E@@D%rbase @%%%%8%/$נ$Р$x$q$$####N#6#%@{@&@&qѭ Ϛ&@&qѭ! &@&qѭ!&#@&"qѭ@&)@#&q٢@&/@Sqٱ!| @@@@@)A'A_right @%%ߠ%Р%x%o%%$$$Y$R#####v#eޠ@|@&S@&Rqѭ!&X@&Wqѭ@!`&^@&]qѭ!f&d@&cqѭ!d&i@&hqѭ@&o@#lq٢@&u@qٱ!ZN Ҷ!}&{@&zqѭ@&@#~q٢ @@@@@נ6strong_right_induction @&B&2&#%ˠ% %j%c% %$$$M$F$7##ɠ#>1#@<} F@&@&qѭ D B @@&@&qѭ L :&@&qѭ R&@&q)!!!t&@&qѭ@!Ś&@&qѭ@&@#q٢!@!Қ&@&qѭ!К&@&qѭ@&@#q٢1@&@qٱ!0!C.!蚠&@&qѭ@&@#q٢̐@@@!B@A!@#@@ABC@@E/right_induction @&&&&9&0%ؠ%Ѡ%y%r%%$$$$O$7$&@~ @'@'qѭ   @'@'qѭ  '"@'!qѭ '&@' q)"f"T!⚠'+@'*qѭ@ @"4'2@'1qѭ@'8@$5q٢϶@V'@@$~#"G'E@'Dqѭ@'K@$Hq٢שh!@@@@@0right_induction' @' &&&&&4&-%ՠ%Π%v%o%%%$$$@!@'p@'oqѭ!! ! @'x@'wqѭ!!'~@'}qѭ!'@'|q)""">'@'qѭ@"'@'qѭ@'@$q٢"@"'@'qѭ@'@$q٢6@'@$v~#"'@'qѭ! @@#@@7strong_right_induction' @'l'\'M&&&&&5&.%֠%Ϡ%w%p%a% $$h[M@f@!p@'@'qѭ!n!l!j@'@'qѭ!v!d'@'qѭ!|'@'q)#"#"'@'qѭ@"'@'qѭ@'@$q٢#r@"'@'qѭ@'@$q٢@#(@(qѭ#( @( qѭ@(@%q٢ٶ@(@;qٱ"J"{# (@(qѭ!~@@@@@s&ls_ls' @'ޠ'Π''g'^'&&&&H&A%%%Ӡ%}%e%Tڠ͠@A!@(B@(Aqѭ!!ީ!ܰ@(J@(Iqѭ!!(P@(Oqѭ!(T@(Nq)###(Y@(Xqѭ@!Ѷ@#b(`@(_qѭ@(f@qٱE@!ǐ(n@%=~#"#u(s@(rqѭ@(y@%vq٢##!@#(@(qѭ#(@(qѭ@(@%q٢#@(@%q٢#BF(@%h~#"J@@@@(ls'_ls'' @(Y(I(:''٠''z'"'&à&&d&]&N%%%ϠUH:@SB"]@(@(qѭ"["Y"W@(@(qѭ"c"Q(@(qѭ"i(@(q)$##(@(qѭ@#ܚ(@(qѭ@(@%q٢$@#隠(@(qѭ#皠(@(qѭ@(@%q٢$!"`@(@%q٢#H(@%~##aL$)@)qѭ$E$) @) qѭ$ )@)qѭ@)@&q٢%@)@&q٢#l#y$%)#@)"qѭ$#)(@)'qѭ@).@&+q٢<@)4@&1q٢#):@& ~##@@Z@@%lbase @(((۠((z("('à''d']'&&&&&p@C"@)^@)]qѭ"$)c@)bqѭ$k)i@)hqѭ$i)n@)mqѭ@)t@&qq٢ S@)z@&wq٢$)ǐ)@&O~##ܐ@@@@@ՠ(A'A_left @)@)0)!(ɠ((h(a( ('''K'D'5&ߠ&Ǡ&</!@:D#D@)@)qѭ#B$`)@)qѭ@$)@)qѭ$)@)qѭ$)@)qѭ@)@&q٢G@)@&q٢$uQ$"$͚)@)qѭ@)@&q٢ P@@%@@&5strong_left_induction @)))r))(((Z(S''''''0''r@E#@)@)qѭ###@)@)qѭ##*@*qѭ#*@*q)%G%5$Ú* @* qѭ@%*@*qѭ@*@'q٢%@@%!*@*qѭ%*$@*#qѭ@**@''q٢8@*0@'-q٢$*6@'~#$%=*;@*:qѭ@*A@'>q٢! !@@@$@&e@@ABC@@.left_induction @*))))),)%(͠(Ơ(n(g((''''z@F$@*h@*gqѭ$$$@*p@*oqѭ$#*v@*uqѭ$*z@*tq)%%%6*@*~qѭ@#@%*@*qѭ@*@qٱ!k@#퐩*@'c~#$%*@*qѭ@*@'q٢&T@@@@@/left_induction' @*_*O*@))ߠ)))()!(ɠ( (j(c(T'''ՠ[N@@YG$c@*@*qѭ$a$_$]@*@*qѭ$i$W*@*qѭ$o*@*q)&&%*@*qѭ@%⚠*@*qѭ@*@'q٢&e@%*@*qѭ@*@qٱ!Ѷ@$S*@'~#%\&*@*qѭ$_@@ @@T6strong_left_induction' @****H*?)))))))"(ʠ(à((^(F(5@H$ö@+#@+"qѭ$$$@++@+*qѭ$ɩ$+1@+0qѭ$Ϛ+5@+/q)&u&c%񚠐+:@+9qѭ@&B+@@+?qѭ@+F@(Cq٢&vŶ@&N+L@+Kqѭ@+R@(Oq٢"1@&[+Y@+Xqѭ&Y+^@+]qѭ@+d@(aq٢&$Ķ@+k@(hq٢&T+q@(@~#%&x+v@+uqѭ$֐@@ @@ˠ/order_induction @+6+&+***^*W)))))A):)+(ՠ((2%@0I%:@+@+qѭ%8%6%4@+@+qѭ%@%.+@+qѭ%F+@+q)&&ڶ&h+@+qѭ@%)@&+@+qѭ@+@(q٢"U@ܐ+@(~#@&Κ+@+qѭ@+@qٱY@𐩚+@(~#&<&ᚠ+@+qѭ&<@@@&5@&3@AB@@70order_induction' @++++++"*ʠ*à*k*d* *))))A)))@J%@,@,qѭ%%%@,@, qѭ%%,@,qѭ%,@,q)'X'F&Ԛ,@,qѭ@%@'&,$@,#qѭ@,*@)'q٢"@ H,2@)~# @':,8@,7qѭ@,>@);q٢Ŷ@𐩚,F@)~2'M,K@,Jqѭl@@k@@1order_induction_0 @, +++++3+,*Ԡ*͠*u*n***)))@K&@,o@,nqѭ& & & @,w@,vqѭ&&,}@,|qѭ&,@,{q)''@',@)R-I@',@,qѭ@,@)q٢,@)c-I'Ƕ@%,@)p~#y@',@,qѭ@,@qٱ'ܚ,@)|-I@&,@)~#'E',@,qѭ&@@@@@2order_induction'_0 @,,o,`,++++H+A*****t**){n`@yL&@,@,qѭ&&&}@,@,qѭ&&w,@,qѭ&,@,q)(5(#@(&,@)-I@(-@-qѭ@-@*q٢- @)-I(;@&n-@)~#@(-@-qѭ@-!@*q٢(P-&@)-I@D-.@*~2(5-3@-2qѭ&@@@@@<_ind @,,,Ԡ,|,s,,+++]+V*****z*i@M&@-W@-Vqѭ&&&@-_@-^qѭ&&-e@-dqѭ'-i@-cq)(((p-n@-mqѭ@(T-v@*E~#'Ҷ@(w-|@-{qѭ@-@qٱ$@c-@*Y~#b(-@-qѭ@-@qٱ#!J@@@@@ꠠ&le_ind @-U-E-6,ޠ,ՠ,},v,,+++`+Y+J**ܠ*ˠQD6@ON'Y@-@-qѭ'W'U'S@-@-qѭ'_'M-@-qѭ'e-@-q)) ((Қ-@-qѭ@'H@(Қ-@-qѭ@-@*q٢$t@-@*~#(嚠-@-qѭ@-@*q٢#|@@@@@E&Rlt_wd @----9-0,ؠ,Ѡ,y,r,,++++O+7+&@O(ʚ.@.qѭ'@.@.qѭ@.@.qѭ''.%@.$qѭ@.*@.)qѭ'Ț..@.(q)'.4@.3qѭ'Қ.8@.2q))x)?.=@.<qѭ)=.B@.Aqѭ㠩.I@+Fq٢(.N@rqٱ)~@@&@@&Rgt_wd @.-----6-/,נ,Р,x,q,,,+++ @ P)(.q@.pqѭ( @.x@.wqѭ@.}@.|qѭ(( .@.qѭ@.@.qѭ(&.@.q)(.@.qѭ(0.@.q))ַ).@.qѭ).@.qѭA.@qٱ)ϩ.@+q٢)@@'[@@ %lt_wf @.l.\.M-----5-.,֠,Ϡ,w,p,a, ++ h [ M@ fQ).@.qѭ"Wf*@,well_founded8E.@.qѭ)䚠.@.qѭ)⚠.@.qѭ.@+q٢).@ qٱ*#@@@+A𱍠G @+A7iA)@AB@@ P%gt_wf @....D.;--ܠ--}-%-,Ơ,,,Z,B,1   @ R)՚/@/qѭO/$@/#qѭ*+/)@/(qѭ*)/.@/-qѭϠ/5@ Yqٱ*]/:@,7q٢*@@G@@ -add_lt_mono_l @...۠..z.".-à--d-]-,,,,,p@,l@*\/Z@/Yqѭ*Z/_@/^qѭ&/d@/cqѭ*/k@ qٱ*/p@ qٱ/v@,iraҀ&U/{@,nraҀ*@@(*@@AA@@A@-add_lt_mono_r @/>/./.Ǡ..f._..---I-B-3,ݠ,Š,@,A*/@/qѭ*/@/qѭ&⚠/@/qѭ*頩/@ qٱ*^/@ qٱ/@,raҀ&Q/@,raҀ*@@(n@@D+add_lt_mono @//o/`/....H.A-----t--,@,B*ᚠ/@/qѭ*ߚ/@/qѭ'#/@/qѭ%/@/qѭ@/@!qٱ%@/@!qٱ*/@!#qٱ0@,raҀ)e*0 @,raҀ@@@@@-add_le_mono_l @/ˠ///T/K.....5..-֠-Ϡ--j-R-A@-=C+-0+@0*qѭ++00@0/qѭ'o05@04qѭ+v0<@-9q٢*멚0A@->q٢0G@-:raҀ'&0L@-?raҀ+t@@(@@Ѡ-add_le_mono_r @0 /////4/-.ՠ.Π.v.o...---@-~D+n0l@0kqѭ+l0q@0pqѭ'0v@0uqѭ+0}@-zq٢+,0@-q٢0@-{raҀ'0@-raҀ+@@)<@@+add_le_mono @0M0=0./֠/͠/u/n//...X.Q.B--Ԡ-@-E+0@0qѭ+0@0qѭ'񚠐0@0qѭ&ǚ0@0qѭ@0@-q٢&@0@-q٢+w0@-q٢0@-raҀΩ0@-raҀ@@@@@].add_lt_le_mono @000y0!0///a/Z/.....7..@. F+0@0qѭ+0@0qѭ(<1@1qѭ'1@1qѭ@1 @"1qٱ'@1@.q٢+©1@"<qٱ1@.raҀ1#@.raҀڐ@@@@@.add_le_lt_mono @00Ӡ0Ġ0l0c0 0///M/F...ؠ..j.Y@.UG,E1C@1Bqѭ,C1H@1Gqѭ(1M@1Lqѭ']1R@1Qqѭ@1X@.Uq٢'P@1^@"qٱ, 1c@"qٱ1i@.\raҀd1n@.araҀ %@@@@@+add_pos_pos @1.11000V0O/////9/2/#.͠..@.H,1@1qѭ,1@1qѭ@1@"qٱ1@.h-I,Ͷ@1@"qٱ1@.s-I,ة1@"qٱ1@.}-I1@.raҀ'@@@@=.add_pos_nonneg @1x1h1Y10000A0://۠//|/m/..@.I,ښ1@1qѭ,ؚ1@1qѭ@1@#qٱ1@.-I-@1@.q٢1@.-I-"1@#qٱ1@.-I2@.raҀ'@@"@@.add_nonneg_pos @1 111K1B00000,0%/͠/Ơ//a/I/8@/4J-$2"@2!qѭ-"2'@2&qѭ@2-@/*q٢22@.-I-a@28@#\qٱ2=@/-I-l2B@#fqٱ2G@/-I2L@/?raҀ(D@@l@@Ѡ1add_nonneg_nonneg @2 1111141-0ՠ0Π0v0o000///@/~K-n2l@2kqѭ-l2q@2pqѭ@2w@/tq٢2|@/F-I-@2@/q٢2@/Q-I-2@/q٢2@/[-I2@/raҀ(@@@@,lt_add_pos_l @2V2F271ߠ1֠1~1w11000a0Z0K//ݠ/@/L-2@2qѭ-2@2qѭ@2@#qٱ2@/-I-2@#qٱ-2@/raҀ-@@@-&@.@AB@@X,lt_add_pos_r @222t22111\1U000000200 @0M-2@2qѭ-󚠐2@2qѭ@2@$"qٱ3@/-I.23@$,qٱ.83@0raҀ-@@-d@@,le_lt_add_lt @2Π222W2N111118110٠0Ҡ0à0m0U0D@0@N.03.@3-qѭ..33@32qѭ*r38@37qѭ)H3=@3<qѭ@3C@0@q٢);@3I@$mqٱ3O@0BraҀ-𩚠3T@0GraҀ.,©3Z@$~qٱ)R@@@@@ߠ,lt_le_add_lt @33 2222B2;11ܠ11}1%11000@0O.|3z@3yqѭ.z3@3~qѭ*3@3qѭ)3@3qѭ@3@$qٱ)@3@0q٢3@0raҀ.<3@0raҀL3@$qٱ)@@@@@*,le_le_add_le @3e3U3F22222.2'1Ϡ1Ƞ1p1i1Z100@0P.ǚ3@3qѭ.Ś3@3qѭ+ 3@3qѭ)ߚ3@3qѭ@3@0q٢)Ҷ@3@0q٢3@0raҀ.3@0raҀ3@0q٢)@@@@@u,add_lt_cases @33339302ؠ2Ѡ2y2r221111O171&@1"Q/4@4qѭ/4@4qѭ+T4@4qѭ**4@4qѭ@4%@%Iqٱ4+@1raҀ*#40@1#raҀ/`#47@%[qٱ"4<@%`qٱ.@@@@@,add_le_cases @333ݠ33|3$32Š22f2_221111r@1nR/^4\@4[qѭ/\4a@4`qѭ+4f@4eqѭ*v4k@4jqѭ@4q@1nq٢4w@1jraҀ*o4|@1oraҀ/#󠩚4@1q٢#:4@1q٢/0@@@@@ -add_neg_cases @4H484)3Ѡ3Ƞ3p3i33 222S2L2=11Ϡ1@1S/4@4qѭ/4@4qѭ@4@%qٱ4@1raҀ/隠4@1-I$44@%qٱ/4@1-I4@%qٱ/4@1-I@@/)@@X-add_pos_cases @444t44333\3U222222222 @2T/4@4qѭ/󚠐4@4qѭ@4@&"qٱ5@1-I5@1raҀ08$5@&3qٱ5@1-I/5@&=qٱ5@1-I0M@@>@@0add_nonpos_cases @4ޠ4Π44g4^43333H3A222Ӡ2}2e2T@2PU0@5>@5=qѭ0>5C@5Bqѭ@5I@2Fq٢5O@2BraҀ05S@2-I$ʠ5Z@2Wq٢0?5_@2)-I5d@2aq٢05i@23-I@@/@@0add_nonneg_cases @5)55 444Q4J3333343-32Ƞ22@2V05@5qѭ05@5qѭ@5@2q٢5@2c-I5@2raҀ0Ω%5@2q٢5@2t-I05@2q٢5@2~-I0@@@@9-le_exists_sub @5t5d5U44444=463ޠ3נ33x3i322@2W0֚5@5qѭ0Ԛ5@5qѭ@5@2q٢1̠5@5qѭ-$5@5qѭ5@5q)0֩5@2raҀ ~5@2q٢6@2-I1/@@@0W@A0@2'@A2'AA@@0@ABCD@@+mul_lt_pred @5ʠ555S5J4444444-3ՠ3Π33i@3@-b6(@6'qѭ,86-@6,qѭ1462@61qѭ1267@66qѭ@6=@67q)6C@3~#01(16K@'oqٱ6Q@37rt %6V@3<rt /16\@'qٱ6b@3UraҀ6h@3Nrt ,`16m@3`raҀ6s@3Yrt 11W@@/"@@AA@@A@1mul_lt_mono_pos_l @666&6555^5W44444A4:4+3@4(A-Κ6@6qѭ16@6qѭ16@6qѭ@6@'qٱ6@3s-I11꠩6@'qٱ1_6@'qٱ6@3rt ,6@3rt 1h@@@1@A1@1b@2@@ABCD@@R1mul_lt_mono_pos_r @66u6f66555N5G44444z4$@4wB.6@6qѭ1ꚠ6@6qѭ1蚠6@6qѭ@6@(qٱ6@3-I1ܩ296@(#qٱ17@((qٱ7 @3rt 17@3rt 2?1@@/@@1mul_lt_mono_neg_l @6Р666Y6P55555:534۠4Ԡ4Š4o@4C.h7.@7-qѭ2573@72qѭ2378@77qѭ@7>@(bqٱ2#7C@4 -I27J@(nqٱ17O@(sqٱ7U@4;rt 17Z@4@rt -R@@@@砠1mul_lt_mono_neg_r @77 6666B6;55ܠ55}5%554@5 D.7x@7wqѭ27}@7|qѭ2}7@7qѭ@7@(qٱ2m7@4W-I2Π7@(qٱ2C7@(qٱ7@4rt 7@4rt 2E@@0S@@14mul_le_mono_nonneg_l @7d7T7E66666-6&5Π5Ǡ5o5h5Y5@5VE2Ě7@7qѭ2š7@7qѭ/7@7qѭ@7@4q٢7@4-I3@7@4q٢-թ7@4q٢7@4rt 21V7@4rt 2@@2D@@{4mul_le_mono_nonpos_l @777777.6֠6Ϡ6w6p665555M@5F38 @8 qѭ3 8@8qѭ/P8@8qѭ@8@5q٢3K8!@4-I@8'@5$q٢.8,@5)q٢82@5rt 2ө87@5rt O@@2@@Ġ4mul_le_mono_nonneg_r @777ؠ77w77666a6Z6555@5G3W8U@8Tqѭ3U8Z@8Yqѭ/8_@8^qѭ@8e@5bq٢8j@54-I3@8p@5mq٢.h8u@5rq٢8{@5art '28@5frt .x@@2@@ 4mul_le_mono_nonpos_r @8@808!7ɠ77h7a7 7666K6D655@62H38@8qѭ38@8qѭ/⚠8@8qѭ@8@5q٢3ݚ8@5}-I@8@5q٢.8@5q٢8@5rt .8@5rt '@@3@@V,mul_cancel_l @88y8j88 777R7K66666~6(@6{I3隠8@8qѭ3皠8@8qѭ0+8@8qѭ@3ꐩ8@8q)4(8@5-I4?9@8q)9 @5rt 9@5rt 39@9q)/ @@@3j@59@3$@ABC@@,mul_cancel_r @8ؠ8Ƞ88a8X87777B7;66ܠ6͠6w@6J4896@95qѭ469;@9:qѭ0z9@@9?qѭ@499H@9Bq)4w9M@6-I49T@9Nq)9Z@6@rt 49_@6Ert 49d@9^q)/\@@2@@(mul_id_l @9$99888L8E77777/7(76@7K49@9qѭ49@9qѭ@49@9q)49@6^-I4ՠ9@9q)9@6rt 4P4Щ9@9q)49@JrvO@@4K@@8(mul_id_r @9k9[9L8888848-7ՠ7Π7v7o7`7 @7]L4˚9@9qѭ4ɚ9@9qѭ@4ǐ9@9q)59@6-I59@9q)9@6rt 44̩9@9q)59@K?rvO@@2@@1mul_le_mono_pos_l @9999;928ڠ8Ӡ8{8t887777Q@7M5:@:qѭ5:@:qѭ1T:@:qѭ@: @+Dqٱ:%@6-I5S5f:,@7)q٢0$:1@7.q٢:7@7rt (:<@7"rt 5!@@4@@ɠ1mul_le_mono_pos_r @999ݠ99|9$98Š88f8_8877@7N5\:Z@:Yqѭ5Z:_@:^qѭ1:d@:cqѭ@:j@+qٱ:o@79-I55:v@7sq٢0n:{@7xq٢:@7grt 5):@7lrt 55@@35@@1mul_le_mono_neg_l @:F:6:'9Ϡ9Ơ9n9g99888Q8J8;7@88O5:@:qѭ5:@:qѭ1蚠:@:qѭ@:@+qٱ5㚠:@7-I5:@7q٢0:@7q٢:@7rt 5:@7rt @@@@]1mul_le_mono_neg_r @:::q::999Y9R888888/@8P5𚠐:@:qѭ5:@:qѭ22:@:qѭ@:@,"qٱ6-;@7-I6D; @8q٢1;@8 q٢;@7rt 5ĩ;@8rt 5@@3@@2mul_lt_mono_nonneg @:ڠ:ʠ::c:Z:9999D9=88ޠ8Ϡ8y@8Q6:;8@;7qѭ68;=@;<qѭ2|;B@;Aqѭ1R;G@;Fqѭ@;M@8Jq٢;R@8-I5@;X@,|qٱ46@;_@8\q٢;d@8.-I6 @;j@,qٱ;o@,qٱ;u@8[rt &4թ;{@8art $4@@@@@ 2mul_le_mono_nonneg @;<;,;:Š::d:]:9999G9@918@9.R6;@;qѭ6;@;qѭ2ޚ;@;qѭ1;@;qѭ@;@8q٢;@8~-I6[@;@8q٢b@;@8q٢;@8-I6l@;@8q٢s;@8q٢;@8rt a;@8rt `@@61@@h+mul_pos_pos @;;;|;$;:à::d:]:99999:@9S6;@;qѭ6;@;qѭ@<@-(qٱ< @8-I78@<@-3qٱ<@8-I7C<@-=qٱ<@8-I<#@9 rt 2@@C@@+mul_neg_neg @;;Ӡ;Ġ;l;c; ;:::M:F999ؠ9@9T7C@:-I=C@:)rt 3;@@c@@Р0mul_pos_cancel_l @=<<<<<+<$;̠;Š;m;f;;::@:X8c=a@=`qѭ8a=f@=eqѭ@=l@.qٱ=q@:;-I88=x@.qٱ=}@:G-I=@:hrt 81=@.qٱ=@:V-I8@@ @@0mul_pos_cancel_r @=L=<=-<ՠ<̠Y8=@=qѭ8=@=qѭ@=@.qٱ=@:-I88=@.qٱ=@:-I=@:rt 8z=@.qٱ=@:-I8@@ @@b3mul_nonneg_cancel_l @===v==<<<^@:-I929D> @;q٢>@:-I>@:rt 8é>@;q٢>@:-I9M@@ M@@3mul_nonneg_cancel_r @=ޠ=Π==g=^=<<<><@>;qѭ9<>A@>@qѭ@>G@/kqٱ>L@;-I9z9>S@;Pq٢>X@;"-I>]@;Crt 9 >b@;_q٢>g@;1-I9K@@ @@,lt_1_mul_pos @>'>>===O=H<<<<<2<+<;@<\9>@>qѭ9>@>qѭ@>@/qٱ>@OrvO9Ķ@>@/qٱ>@;j-I9ϩ>@/qٱ>@OrvO>@;rt 4@@@@<(eq_mul_0 @>o>_>P=====8=1<٠<Ҡ@>qѭ9͚>@>qѭ:>@>q)>@;rt :>@;-I.Z>@>q):>@;-I>@>q):#>@;-I@@7@@)neq_mul_0 @>>>>B>9==ڠ=={=#=<Ġ<<>>>>1>*=Ҡ=ˠ=s=l== <<@<_:i?g@?fqѭ:?n@?hq)?t@ˠ> >j>c> >===M=F=7<@=4`:?@?qѭ:?@?qѭ@?@?q)?@<rt :ᚠ?@<-I@:?@?q):횠?@<-I?@?q):o?@<-I@@@@@ Y*eq_mul_0_r @??|?m?? >>>U>N======+@=~a:욠?@?qѭ:ꚠ?@?qѭ@?@?q)?@<rt ;+?@<-I@:@@@q):욠@ @<-I@@@ q):@@<-I@@@@@ (mul_eq_0 @@?@p'b@;+@)@@(qѭ;)@.@@-qѭ;o@5@@/q)@;@=!rt ;k@?@= -I/@F@@@q);v@K@=-I@P@@Jq);@U@=-I====@=@^\@@????>?7>ߠ>ؠ>>y>!>> =@@@@@ *mul_eq_0_l @@@?@;@@@qѭ;@@@qѭ@@@@q)@@=xrt ;š@@=`-I@;@@@q);Κ@@=m-I@@@q);P@@=w-IX@+24pe@h@X@I?????1?*>Ҡ>ˠ>s>l>]>@@@@@ M*mul_eq_0_r @@@?$@;՚@@@qѭ;Ӛ@@@qѭ@@@@q)@@=rt <@@=-I@;ᐩ@@@q);՚@@=-I@@@q);ߚ@@=-I@324pk@@@@C@:??۠??|?$?>Š>>>Y@@@@@ (lt_0_mul @@Ҡ@ @@[@R?????<?5>ݠ>֠>Ǡ>q@>b<2A0@A/qѭ<0A5@A4qѭ -IAF@>,rt -I<AY@2}qٱA^@>(-I<$Ae@2qٱ<Aj@>4-IAo@2qٱ<At@>>-I@@;@@ 5square_lt_mono_nonneg @A4A$A@@@\@U???????8?)>@?&c<A@Aqѭ<A@Aqѭ@A@>q٢A@>l-I<Ѷ@A@2qٱrt <[<[A@>rt <<@@@@@ G5square_le_mono_nonneg @AzAjA[A@@@@C@<??ݠ??~?o?@?ld<ښA@Aqѭ<ؚA@Aqѭ@A@>q٢A@>-I=@A@>q٢<A@>q٢A@>rt FA@>rt E@@@@@ 6square_lt_simpl_nonneg @AAAAGA>@@ߠ@@@(@!?ɠ? ??]@?e=B@Bqѭ=B!@B qѭ@B'@?$q٢B,@>-I=Z@B2@3VqٱB8@?rt B=@?#rt =m=mBC@3gqٱ8;@@@@@ Р6square_le_simpl_nonneg @BAAAAA+A$@̠@Š@m@f@@??@?f=cBa@B`qѭ=aBf@Beqѭ@Bl@?iq٢Bq@?;-I=@Bw@?tq٢B}@?crt ĩB@?hrt EB@?q٢8@@@@@ ,mul_2_mono_l @BGB7B(AРAǠAoAhAA @@@R@K@<?@@9g=B@Bqѭ=B@Bqѭ@B@3qٱ=ਗ਼B@3qٱB@?raҀB@T rvOB@?rt B@Sr~=B@?rt B@Tr~>@@;@@ a*add_le_mul @BBBuBBAAA]AV@@@@@@3@@h!aB@Bqѭ!bB@Bqѭ@C@4%qٱC@TSrvO>5@C @40qٱC@T^rvO>@C@@q٢C@@raҀ9C!@@rt 9@@=w@@ -square_nonneg @BBѠB BjBaB BAAAKAD@@@֠@@@iMC?@C>qѭCD@@Aq٢CI@@-ICN@@4rt 4D@@"n@@ ۠5crossmul_le_addsquare @CBBBBB6B/AנAРAxAqAAA@@AjzCl@CkqѭxCq@Cpqѭ@Cw@@tq٢C|@@F-I>@C@@q٢C@@Q-I>C@@q٢C@@raҀC@@~rt >9C@@rt 9C@@raҀC@@rt C@@rt @@@@ :-add_square_le @CmC]CNBBBBB6B/AנAРAxAqAbA @A_kٚC@CqѭךC@Cqѭ@C@@q٢C@@-I? @C@@q٢C@@-I?C@@q٢C@@raҀC@@rt DC@@rt CD@@rt D@@raҀ9D @@raҀ:@@>b@@ -square_add_le @C̠CCCUCLBBBBB6B/AנAРAAk@Al8D*@D)qѭ6D/@D.qѭ@D5@A2q٢D:@A-I?i@D@@A=q٢DE@A-I?tDJ@AGq٢DP@A6rt DV@AIraҀ:ND[@ANraҀ:SD`@AFrt De@Ur~Dj@A]raҀDp@AVrt Du@A[rt @@>@@4quadmul_le_squareadd @D5D%DCCC]CVBBBBB@B9B*A@B'mD@DqѭD@Dqѭ@D@Aq٢D@Am-I?Ҷ@D@Aq٢D@Ax-I?ݩD@Aq٢D@Art D@Art D@Art D@Ur~D@Ur~?u?D@Art D@AraҀ:ѩD@AraҀ:֐@@?4@@k*neq_succ_0 @DDDD'DCƠCCgC`CCB@B@!nD@!tqѭ%Logic$Init#Coq@@#notШE@"eqq)E@$succ~#AE@$zero-I@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۀߠK @Aۓό^ @A݋X_A/RelationClasses'Classes#Coq@@ABC@@AA@@A@*neq_0_succ @EDDDDD-D&CΠCǠCoChC@CeAgEa@fqѭeEj@[q)Eo@R-IEt@^~#A@@@@@4&le_0_l @E6E&EDDD^DWCCCCCA@CBE@!tqѭE@"leq٢E@-IA@@@Ax@Am@Ak@ABC@@c)induction @EeEUEFDDDDD.D'CϠCȠCp@CC!A@E@!tqѭA@)Morphisms'Classes#Coq@@&ProperL@E@CaqѭA@@*respectful%WO?E@qѭAE@"eqq)%Logic$InitC@@#iffС)A@BF@-I@F @Jqѭ@DAEF@~#'F!@^qѭ@@@A@A@@㠠-case_analysis @EEՠEƠEnEeE EDDDODHC@DED@FB@qѭ~@|@FL@CqѭrpFT@YqѭiFX@gq)fA@[F`@C-I@mFg@lqѭYFn@X~#^{Fu@qѭcf@@@XAP@A@@7%neq_0 @F9F)FE EEaEZEDDDDD@DE%Logic$Init#Coq@@#notШF@qѭF@q)F@-I@@@@@k'neq_0_r @FmF]FNEEEEE6E/DנDРDx@DFϚF@DPqѭ:@#iffС)ԀF@q)AF@-IQ@"ex @F@qѭA뚠F@qѭF@q)BF@~#@@@A@AA@A@AA.Morphisms_Prop'Classes#Coq@@A1@D~@@ABCD@@Ӡ,zero_or_succ @FՠFŠFF^FUEEEEE?E8D@E5G7G1@Dqѭ@"or @G>@/q)AGD@'-IeGL@QqѭBLGR@WqѭGW@Hq)BG^@H~#A@@@BA:@ACA.@EA,@GAb@IAZ@ABCD@@()eq_pred_0 @G*GG FFFRFKEEEEE5@EHG@qѭG@q)G@$pred~2AG@-IkG@q)AG@-IG@q)AG@#onervO@@@A@A@A@ABC@@{)succ_pred @G}GmG^GFFFFFF?EEE@EIߚG@E`qѭ@ހG@q)AG@-IG@q)G@~#G@e~2@@@A@A@A@ABC@@(pred_inj @GGGGJGAFFFFF+F$E@F!J#H@EqѭCH#@Eqѭ@(H-@q)BH3@-I@8H=@.q)>HB@%-I@HH@9q)HN@~2@HT@~2CH[@Lq)IM@@@>A6@A?A.@AA,@CA*@ABC@@".pair_induction @H$HHGGGLGEFFFFF/@FK@H@qѭ$A_wd)Morphisms'Classes@&ProperL@H@qѭ@*respectful%WO?H@qѭH@q)@H@-I@XH@rvO@H@qѭ@L@FH@~#GH@~#H@~#}5H@qѭj@@@@@1two_dim_induction @HHHyH!HGGGaGZGFF@FL!R@H@qѭ@H@qѭ$R_wdz@I@ qѭ@I @qѭuI@qѭ@I@qѭ*I@(q)I@$qѭ4I#@2q)1@%I*@ -II.@-I@I4@9qѭD4I:@?qѭ@)=,꩚ID@.~#*@IJ@Oqѭ@IP@UqѭIX@B~#>I\@?-IIa@fqѭ-If@kqѭ+@@@ %'AI*StructureswAviA@AAۓό^@ A݋X_A/RelationClasses@AРDv@ABC@@=0double_induction @I?I/I HȠHHgH`HHGGGJ@GM@I@qѭ@I@qѭ@I@qѭ@I@qѭ©I@qѭ@I@qѭ͚I@q)'I@qѭךI@q)@I@qѭxI@-I@6I@qѭʠI@~#qI@-I@GI@qѭI@qѭ@,I@~#%I@~#^J@qѭ̚J@ qѭ@@@@à(eq_add_0 @IŠIIINIEHHHHH/@H@!nJ @!tqѭ!mJ(@qѭ%Logic$Init#Coq@@#iffС)J;@"eqq)JB@#addraҀBAJJ@$zero-I$@#andЖw@JX@q)BJ^@-IJc@(q)AJi@-I@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@Aۓό^ @A݋X_A/RelationClasses'Classes#Coq@@ABC@@AA@@A@+eq_add_succ @JLJ<J-IՠI̠ItImIIH@I AJ@qѭJ@qѭ@"ex @J@qѭ!pJ@qѭJ@q)J@raҀCBJ@$succ~#A@"or @1J@qѭ"n'J@qѭJ@q)CJ@&~#%MK@qѭ"m'K @qѭK@q)BK@B~#A@@@A@AAۀߠK@A@AA@AA.Morphisms_Prop'Classes#Coq@@A1@D@@ABCD@@(eq_add_1 @JJJՠJ}JtJJIII^@IB/KN@.qѭ-KT@4qѭ@KZ@q)K`@raҀBAKg@#onervO!Ku@:q)CK{@rvOK@Eq)BK@<-I;K@Tq)K@J-IK@^q)K@7rvO@@@6A.@A7A@9A'@;A%@=Ay@ABCD@@.succ_add_discr @KhKXKIJJJJJ1J*I@J'CK@qѭK@Iqѭ%Logic$Init#Coq@@#notШK@q)AK@ ~#K@raҀBA@@@Az@Ar@Ap@ABC@@h*add_pred_l @KKKK:K1J٠JҠJzJsJ@JpD욠L @JqѭꚠL@qѭ@JL@q)BL!@-IL&@q)L,@raҀL2@$pred~2L9@~2L?@raҀ@@@A@A@A@ABC@@*add_pred_r @LKKKKK.K'JϠJȠJp@JEAL`@@qѭ?Lf@J\qѭ@Lp@5q)ALv@,-IL{@@q)L@?raҀ L@U~2L@[~2L@QraҀ@@@+A#@-A@/A@ABC@@'lt_wf_0 @Ȑ!H!xL@!tqѭ!yL@ qѭ%Logic$InitK@@#andЖw@A@L@"ltqٱBAL@"leq٢L@$zero-ICL@qٱ@L@q٢L@-I&L@-qٱ,M@2qٱ\M@8qٱ7MM @2q٢M@1-I0M@Iqٱ/M7@&le_0_l'1<M"H0OM(@Mq٢M-@L-I]M2@dqٱcwBBB@@@@D@iMB@gq٢MG@f-IeML@~qٱdMQ@qٱDq$_tmpM\@q٢Ma@-IMg@qٱC/RelationClasses'Classes@1pointwise_liftings׾@#iffС)@%TlistР@BM@qѭ AM@qٱ!mM@qѭàM@q٢M@-IѩM@qٱC?@4relation_equivalencesM@qѭM@qٱ!nM@ qѭ.M@qѭM@q٢M@-IM@qٱC-SetoidTacticsk@0default_relation ж@M@1qѭ@M@6qѭABM@>qѭ@3equivalence_defaultú@M@Jqѭ@M@OqѭYN@Uqѭ@ relation_equivalence_equivalence*+rN@`qѭN@Fqٱ_N@iqѭN@nqѭLN%@Jq٢N*@I-IZN/@aqٱ`]ж@N6@qѭ@N;@qѭUNA@qѭS@NH@qѭ@NM@qѭgNS@qѭNNY@qѭN]@qٱNb@qѭԚNg@qѭNn@q٢Ns@-INx@qٱ#HeqװN@qѭN@qٱҚN@qѭN@qѭN@q٢N@-IͩN@qٱө)Morphisms;@2subrelation_properJ7,!R@N@qѭ@N@ qѭө@*respectful%WO?4Relation_Definitions)Relations@(relation'JjN@ qѭ*N@&qѭc"Wf@,well_founded8EN@4qѭ.Morphisms_Prop}@5well_founded_morphism=lN@Bqѭ9@N@Iqѭ@N@NqѭXO@Tqѭ&Basics'ProgramI@$flip$*** @$impl7o)Datatypes[@$unitUe@A}@6subrelation_respectful>6z @O+@{qѭ@O0@qѭJJO6@qѭO<@qѭ@0subrelation_reflv @OH@qѭ@OM@qѭgOS@qѭO@9iff_flip_impl_subrelation2VAO\@qٱOa@qѭӚOf@qѭOm@q٢Or@-IOw@qٱO@%lt_wfQfO@-IC@ж@O@qѭ@O@qѭ鐚O@qѭ@O@qѭ@O@qѭO@qѭO@qѭO@qٱO@qѭ(O@ qѭ頩O@q٢O@-IO@qٱO@"qѭO@qٱI@$Init#Coq@@,well_founded8EO@7qѭO@qٱ 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'T1(NǠNƠNŠN:Nr@\F-䠒@ ÐTTU4ot@N @:3F6Lp @X3<@@{3@t4d @U3M8XHh`XxpРBABAB䠒( 5PhcЀPOOOOO)O"N@@@ %'A*Equalities*Structures#Coq@AhC'Classes#Coq@@AA I'Classes#Coq@@A7iA"Wf$Init#Coq@@#A8ӠA4Relation_Definitions)Relations#Coq@@ABC@@AA@@A@'nlt_0_r @PCP3P$O̠OàOkOdO @Oa@P@qѭ%Logic$Init#Coq@@#notШP@"ltqٱAP@-I@@@@@5*nle_succ_0 @PuPePVOOOOO>@OAP@!tqѭ3P@q٢P@$succ~#AP@-I@@@@@d&le_0_r @PPPP-P$O̠OŠOm@OBAP@Lqѭa@#iffС)Q@-q٢AQ@--IQ@"eqq)AQ@9-I@@@@@)lt_0_succ @PڠPʠPPcPZPOO@OCwQ2@eqѭQ7@qٱQ<@[-IQA@d~#A@@@AviA)Morphisms'Classes#Coq@@Aۓό^ @A݋X_A@ABC@@ՠ*neq_0_lt_0 @QQPPPP=P6O@P3DQm@Oqѭq%Logic$Init#Coq@@#notШQ@qq)AQ@-IQ@qٱQ@-IA@@@BAR@DAJ@FAH@ABC@@/eq_0_gt_0_cases @Q[QKQ<PP۠PP|P$@PyEQ@P qѭ@"or @Q@q)AQ@-IQ@qٱQ@-IA@@@~A@A@A@ABC@@W(zero_one @QQQxQ QPPP`@PF4Q@PFqѭ<Q@q)AQ@-IKR@q)AR @#onervOR@eqٱR@ rvOA@@@A@AAۀߠK@A@AA@AРD@A1BhF@@ABCD@@<_1_r @QQޠQϠQwQnQQP@Q GRF@qѭJRO@qٱARU@HrvORZ@Gq)AR`@-I@@@A@AAG@A@AA@AE@AC@ABCD@@젠&le_1_r @R,RR QQQTQMP@QJHɚR@qѭR@q٢AR@rvOR@q)AR@-IR@q)AR@rvO@@@[Ak@A\A@_Ae@A`Ab@bA@dA@ABCD@@9'lt_lt_0 @RyRiRZRQQQQB@QIR@!qѭCR@'qѭ@R@/qٱBAR@7qٱR@ -I@@@A@A@AB@@n'lt_1_l' @RRRR7R.Q֠QϠQw@QJKS@VqѭxS @\qѭ!pS@cqѭ@S@kqٱCB@S"@tqٱASS(@zqٱS-@ rvOK@@@@@*le_ind_rel @RRݠRΠRvRmRRQ@R KSF@qѭ$R_wd@&ProperL@SU@qѭ@SZ@qѭtS`@qѭ@Se@qѭSi@"eqq)Sp@qѭSt@ q)@皠Sz@qѭS@-I@̚S@qѭS@qѭ@S@q٢¶@FGS@~#KS@~#횠S@qѭS@qѭ@S@q٢ː@@@ %'Aa*StructuresAviA@AAۓό^@ A݋X_AZ@AРD@ABC@@H*lt_ind_rel @SSxSiSSRRRQ@RL.S@1qѭ@S@9qѭ@S@>qѭ5S@Dqѭ@S@IqѭS@q)DT@SqѭT@q)6@zT @]qѭ,T@2-IT@;~#@dT@nqѭT#@sqѭ@T)@[qٱZ@T1@T~#T6@Y~#T;@qѭT@@qѭ@TF@xqٱw@@@@AAۀߠK@@A@@A1@D@ABCD@@Ҡ-succ_pred_pos @TTSSSS:S3R@S0MTj@qѭ@Tp@qٱTu@-IAT{@hq)T@~#T@$pred~2@@@7AG@A8Ap@:A@@@ABC@@)le_pred_l @TQTAT2SڠSѠSySrS@SoNT@qѭT@q٢T@-~2AA@@@dAt@fA@hAj@ABC@@=)lt_pred_l @T}TmT^TSSSSF@SOT@S,qѭ@eT@q)AT@-IT@<qٱT@i~2!!@@@A@AA@A@A@ABC@@y*le_le_pred @TTTTBT9SSڠS@SPVU@aqѭU@gqѭ@U@Bq٢BAU%@Jq٢U+@~2J\@@@@@*lt_lt_pred @TTܠT͠TuTlTT S@T QUD@qѭUJ@qѭ@UP@qٱBAUX@qٱU^@~2}@@@@@ߠ*lt_le_pred @UUUTTTGT@S@T=RUw@qѭ隠U}@qѭ@U@qٱBAU@q٢U@ ~2@@@@AP@AAAy@CAI@EAG@ABC@@*lt_pred_le @UZUJU;TTڠTT{T#@TxSU@qѭ$U@ qѭ@U@qٱU@=~2BAU@q٢@@@zA@|A@~A@ABC@@S*lt_pred_lt @UUUtUUTTT\@TT0U@ ;qѭ]U@$qѭ@U@IqٱBU@w~2AV@Wqٱ $ 6@@@@@*le_pred_le @UƠUUUOUFTTT@TUcV@ nqѭV$@Wqѭ@V*@ Oq٢BV1@~2AV8@ ]q٢ W i@@@@@,pred_le_mono @UUUڠUUyU!UT@UVVQ@ qѭÚVW@ qѭ@V]@ q٢BAVe@ q٢Vk@~2 Vq@~2 @@@ A0@A!AY@#A)@%A'@ABC@@,pred_lt_mono @V:V*VUàUUbU[U@UXWךV@Tqѭ V@ qѭ@(V@q)BV@ -IV@qٱ  ⩚V@ qٱV@6~2 ܩV@<~2 @@@rA@AsA@uA{@wAy@ABC@@L/lt_succ_lt_pred @VV|VmVV UUUU@UX )V@qѭ VV@ :qѭV@EqٱV@~#BAW@SqٱBW@~2A@@@A@A@AB@@/le_succ_le_pred @VΠVVVWVNUUU@UY kW&@Yqѭ W,@ |qѭ@W2@ Wq٢W8@[~#BAW@@ eq٢ _WF@~2 w@@@@@Ǡ/lt_pred_lt_succ @WVVVVV/V(U@V%Z W_@qѭ њWe@ qѭ@Wk@qٱWq@~2BAWy@qٱ W@~# @@@@@/le_pred_le_succ @W@W0W!VɠVVhVaV @V^[ ݚW@qѭ W@ qѭW@ q٢W@&~2BAW@ q٢BW@~#A@@@kA{@mAo@AB@@B(le_add_r @WWrWcW WV@V@!nW@!tqѭ!mW@!tqѭW@"leq٢BW@#addraҀBA@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۀߠK @Aۓό^ @A݋X_A/RelationClasses'Classes#Coq@@ABC@@AA@@A@+lt_lt_add_r @WڠWʠWWcWZW@WWAXX0@WqѭVX6@]qѭ!pX=@\qѭ@XC@"ltqٱCBXL@ qٱDXS@draҀCB@@@bAZ@dAS@fAM@ABC@@E+lt_lt_add_l @XX WWWWD@WBXr@qѭXx@qѭBX~@qѭ@X@AqٱCBX@Iqٱ@X@raҀ>?@@@A@A@A@ABC@@)add_pos_l @XYXIX:WW٠W@WCךX@qѭ՚X@qѭ@X@xqٱX@$zero-IBX@qٱX@ -IX@raҀ~}@@@@@)add_pos_r @XXXsXXW@XDX@qѭX@qѭ@X@qٱX@9-IAX@qٱY@D-IY @raҀ@@@@@.square_lt_mono @XʠXXXS@X@!nY@!tqѭ!mY'@qѭ%Logic$Init#Coq@@#iffС)Y:@"ltqٱBAYC@ qٱYI@#mulrt BBYR@ rt AA@@@@@AA@@A@.square_le_mono @YYXX@XANYl@MqѭLYr@SqѭKY{@"leq٢BAY@ q٢Y@Art BBY@Irt AA@@@@@@-mul_le_mono_l @YUYEY6X@Y3BY@qѭY@qѭ!pY@!tqѭ@Y@Bq٢CBY@Jq٢Y@rt BDY@rt C@@@@@-mul_le_mono_r @YYYvY@YsC˚Y@qѭɚY@qѭ@Y@?qѭ@Y@q٢CBZ@q٢Z @rt =>Z@rt <D@@@@@+mul_lt_mono @YРYYYY@YDZ$@qѭZ*@ qѭ{Z0@qѭ!qZ7@qѭ@Z=@qٱDC@ZF@ qٱs{ZL@qٱZR@ rt FZY@rt E@@@@@+mul_le_mono @ZZ YY@YEQZo@PqѭOZu@VqѭƚZ{@\qѭKZ@bqѭ@Z@ q٢DC@Z@q٢ũZ@q٢Z@Srt JЩZ@Yrt Iϐ@@@@@N)lt_0_mul' @ZcZSZDY@ZAFZ@qѭZ@qѭZ@qٱZ@$zero-IZ@rt BA@#andЖw@Z@qٱZ@-IBZ@qٱZ@&-IA@@@@@(eq_mul_1 @ZZZZ;@ZG蚠[@Pqѭ暠[ @Vqѭ倠[@"eqq)[@rt BA[#@#onervOP[-@q)B[3@rvO[8@#q)A[>@rvO@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۀߠK @Aۓό^ @A݋X_A/RelationClasses'Classes#Coq@@ABC@@ (mul_eq_1 @[@y'b@p[u@qѭo[z@qѭn[@lq)[@>rt k[@hrvOg[@}q)e[@trvO[@q)d[@~rvO[8[7[6[5[4@Z@1,[c[S[DZ@@@@@['sub_0_l @[p[`@[\@!n[@!tqѭ[@"eqq)[@#subr|u[@$zero-IA[@-I@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@Aۓό^ @A݋X_A/RelationClasses'Classes#Coq@@ABC@@AA@@A@(sub_succ @[[@[AO\@Nqѭ!m\@Uqѭ\@Tq)\#@Sr|u\)@$succ~#B\1@~#A\8@hr|uBA@@@_AW@aAO@cAM@ABC@@E(sub_diag @\[@[B\S@qѭ\X@q)\^@r|uAA\e@-I@@@A@Ay@Aw@ABC@@o&sub_gt @\+\@\C\}@!tqѭm\@qѭ@\@"ltqٱAB%Logic$Init#Coq@@#notШ\@q)\@r|uCB\@-I@@@A@A@A@ABC@@-add_sub_assoc @\t\d@\`D\@qѭ\@Oqѭ!p\@Vqѭ@\@"leq٢AB\@q)\@#addraҀD\@ r|uIH\@&r|u\@raҀUT@@@!A@#A@%A@ABC@@*sub_succ_l @\à\@\ES]@qѭ]@qѭ@]!@Hq٢BA])@`q)]/@_r|u]5@ ~#];@~#]A@qr|u@@@fA^@hAV@jAT@ABC@@L'add_sub @]\@\F]Z@qѭI]`@qѭ]e@q)]k@r|u]q@raҀBAAB@@@A@A@A@ABC@@'sub_add @]<],@](G̚]@qѭ}]@qѭ@]@q٢BA]@q)]@raҀ]@r|u@@@A@A@A@ABC@@,add_sub_eq_l @]u]e@]aH]@]Cqѭ]@ qѭ]@qѭ@]@q)]@raҀBAC]@q)]@r|uGF@@@A @AAۀߠK @A@A@ABC@@,add_sub_eq_r @]]@]II^ @]qѭ^@NqѭE^@Tqѭ@^@Tq)^#@;raҀBAC^,@cq)^2@br|uI@@@XAP@AYAD@[AI@]AG@ABC@@?-add_sub_eq_nz @]]@]J^M@qѭ<^S@qѭ^Y@]qѭ@̀^c@q)A^i@-I@^o@q)^u@r|uͩ^{@q)^@raҀڐE@@@A@AA@A@A@ABC@@-sub_add_distr @^K^;@^7Kۚ^@qѭ^@qѭך^@qѭ^@q)^@r|uC^@raҀBA^@r|u^@r|uCBA@@@A@A@A@ABC@@נ,add_sub_swap @^^@^L#^@hqѭԚ^@(qѭ^@tqѭ@^@q٢AC^@6q)_@5r|u_ @#raҀ"dc_@)raҀ_@Gr|u.op@@@A,@@A*@ABC@@"(le_sub_l @^ޠ^@^Mn_0@mqѭ_6@sqѭ_;@bq٢_A@qr|uBAB@@@jAb@AkAV@mA[@oAY@ABC@@Q(sub_0_le @_ ^@^N__@qѭN_e@qѭ%Logic$Init#Coq@@#iffС)_x@q)_~@r|uBA_@-I_@q٢BA@@@A@A@A@ABC@@*sub_add_le @_S_C@_?O㚠_@(qѭ_@qѭ_@q٢B_@raҀ_@r|uBAA@@@A@AA@A@A@ABC@@͠/le_sub_le_add_r @__y@_uP_@qѭʚ_@dqѭ_@$qѭ_@q٢_@&r|uCAB_@&q٢C`@raҀBA@@@-A%@/A@1A@ABC@@/le_sub_le_add_l @_Ϡ_@_Q_`!@^qѭ`'@dqѭ[`-@qѭȀ`6@]q٢`<@lr|uCBA`E@lq٢C`L@draҀBA@@@sAk@uAc@wAa@ABC@@Y/lt_sub_lt_add_r @``@`R`g@qѭV`m@qѭ`s@qѭ@`y@qٱ`@r|uCAB`@qٱ`@raҀ@@@@@/lt_sub_lt_add_l @`O`?@`;Sߚ`@qѭ`@qѭۚ`@0qѭ@`@)qٱ`@r|uCBA`@8qٱ٩`@raҀ! @@@A@A@A@ABC@@Ӡ/le_add_le_sub_r @``@`{T`@qѭК`@jqѭ`@*qѭ@`@q٢`@raҀCABa@)q٢a@8r|ua`@@@.A&@A/A@1A@3A@ABC@@/le_add_le_sub_l @`Ѡ`@`Uaa#@`qѭa)@qѭ]a/@lqѭ@a5@\q٢a;@SraҀCABaD@kq٢aJ@zr|ua@@@oAg@qA[@AB@@S/lt_add_lt_sub_r @a`@`Vaa@qѭPag@qѭam@qѭav@qٱa|@raҀCABa@qٱCa@r|uBA@@@A@AA@A@A@ABC@@/lt_add_lt_sub_l @aWaG@aCW皠a@qѭa@2qѭ㚠a@qѭPa@4qٱa@raҀCABa@CqٱAa@r|uBC@@@A@A@AB@@ߠ&sub_lt @aa@aX+a@pqѭܚa@vqѭ@a@ q٢AB@b@xqٱb@1-I^b @qٱb@Br|u)k)@@@7A/@9A$@;A%@ABC@@-sub_le_mono_r @a٠a@aYib+@qѭb1@qѭeb7@tqѭ@b=@dq٢CBbE@lq٢bK@{r|ubbQ@r|u@@@vA`@A@@X-sub_le_mono_l @bb@bZbf@qѭUbl@qѭbr@qѭ@bx@q٢CBb@q٢b@r|uߩb@r|u@@@A@A@@*mul_pred_r @bOb?@b;[ߚb@qѭb@qѭb@q)b@#mulrt Bb@$pred~2Ab@r|ub@rt BAB@@@A@AA@A@A@ABC@@ؠ/mul_sub_distr_r @bb@b\$b@#qѭ՚b@)qѭ b@/qѭb@.q)b@Krt c@3r|uCBAc @<r|uc@`rt CAc@hrt BA@@@BA:@ACA.@FA4@AGA1@IA1ՠF-SetoidTactics'Classes#Coq@@SA1I @ABCD@@7/mul_sub_distr_l @bb@b]cE@qѭ4cK@qѭcQ@qѭcV@q)c\@rt Acc@r|uCBck@r|ucq@rt ACcy@rt AB@@@A@A@A@ABC@@&le_alt @Кc@!tqѭc@qѭ%Logic$Initc<@@"ex @c@qѭߚc@qѭc@"eqq)c@raҀA@c@qѭc@cGqѭA +k() + 77%' 7!7%'@c{czcycxcw:@# `F|@U# t@6# !lcc@@@A1@D@@A@@<_alt @sd@rqѭqd @wqѭpd@}qѭdd@qѭd@cq)d@7raҀd%@ch~#h~}@jd,@iqѭd2@cqѭg +k() + 77%' 7 7!7%'Рel|]t[xr@c#`dc@@@pA^@A@@R(le_equiv @dc@c^d`@qѭOdf@cqѭd@'1ʀBAdw@q٢BA@@@A@AA@A@A@A@ABCD@@(lt_equiv @dDd4@d0_Ԛd@qѭd@dqѭ7d@'OɀBAd@#qٱBA@@@A@AA@A@A@A@ABCD@@)le_alt_wd @dzdj@df`)Morphisms'Classes#Coq@@&ProperL@d@Gqѭ@d@Lqѭ)Morphisms'ClassesE@*respectful%WO?d@]qѭ@d@bqѭd@Bq)d@lqѭ e@Lq)g@ С)e%@'1ʀ@@@ /A '@A 0A @ 2A @ 4AA.Morphisms_Prop'Classes#Coq@@ >A,@ABCD@@ )lt_alt_wd @dܠd@dab@e1@qѭ@e6@qѭXWe<@qѭ@eA@qѭceE@q)feK@qѭmeO@q)Men@Y'Oɀ@@@ xA p@A yA g@ {A e@ }AI@ Am@ABCD@@ a0le_alt_dichotomy @ee @e b eo@ qѭ ^eu@dqѭ@"or @e@'1ʀBAe@'1ʀAB@@@ A @A A@ A @ A @ A@ABCD@@ -add_dichotomy @eWeG@eCc 皠e@ qѭ e@e+qѭ:O@ @e@ qѭ򚠐e@ qѭe@ q)e@raҀACB e@ qѭ e@ qѭe@ q)e@ raҀABC@@@ A@A@@ @ee@@qy@B!Cy @'Even_wd @@'NParity(Abstract'Natural'Numbers#Coq@+NParityPropq@A@@@A"NP'NParity(Abstract'Natural'Numbers#Coq@fGq@A@@@!Nf/f@A@(NZParity&NatInt'Numbers#Coq@,NZParityProp#*@@@A@@@C!C(NZParity&NatInt'Numbers#Coq@5@A@@B!B+@@ R@4@&modulo Rd@@A@A @@&shiftl d@@A@ @ @&shiftr d@@A@AB r@@&square rd@@A@@@'testbitd@@A@A v@@'compare vd@@A@9.@@!t9.J@@A@ABC96]@!@"eq96]^@@A@96@(@"le96֠h@@A@A96@,@"lt96h@@A@9Կ@1@#add9Կd@@A@AB9ò@5@#div9òd@@A@9ş@;@#eqb9şd@@A@A9i@?@#gcd9id@@A@9Κ@D@#leb9Κd@@A@ABCD9h@H@#lor9hd@@A@9Ϸ@P@#ltb9Ϸd@@A@A9@T@#max9͠d@@A@9[@Y@#min9[d@@A@AB9=@]@#mul9=d@@A@9@c@#odd9Ġd@@A@A9Ӄ@g@#one9ӃT@@A@9@l@#pow9d@@A@ABC9٩@p@#sub9٩d@@A@9E@w@#two9ET@@A@A9B@{@$div29Bd@@A@9n@@$even9nנd@@A@AB9 h@@$land9 hd@@A@9 o@@$log29 od@@A@A9-@@$lxor9-d@@A@9@@$pred9d@@A@AB9@@$sqrt9d@@A@9W@@$succ9Wr@@A@9}@@$zero9}T@@A@:@@%ldiff:d@@A@ABCDEFG@A@@A!AǠ@A@@)Morphisms'Classes#Coq@@&ProperL@g!@!tqѭA)Morphisms'Classes@@*respectful%WO?g5@qѭg9@"eqq)%Logic$Init@#iffС)gH@$EvenyC@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۓό^ @A݋X_A/RelationClasses'Classes#Coq@@AA.Morphisms_Prop'Classes#Coq@@)A1@D%Logic$Init#Coq@@ABCD@@AA@@A@&Odd_wd @sc^M?@KA@g@yqѭxvg@qѭ~g@kq)jg@#OddrHp@@@`AX@AaAP@cAN@eAF@gA>@ABCD@@6'even_wd @r@~B@g@qѭ)Datatypes@$boolZ'@g@qѭg@q)@ @g@$even}@@@A@A8ӠA4Relation_Definitions)Relations#Coq@@AB@@{&odd_wd @۠֠Š@C@h@qѭEh@qѭKh@q)<h @#oddru@@@A@A5@AB@@+Even_or_Odd @(-@D!xh=@!tqѭˠʠ@@"or @hO@yCAhV@rHpA@@@A@AAۀߠK@A@A@A@ABCD@@砠,double_below @gWGB1#l@/E!nh|@!tqѭ!mh@qѭ@h@"leq٢BAh@"ltqٱh@#mulrt h@#twor~Ch@#addraҀh@rt h@r~Bh@#onervO@@@pAh@AqAa@sAb@uA`@ABC@@D,double_above @Ġ@F]h@\qѭ[h@bqѭ@h@QqٱBAh@Yqٱh@KraҀh@^rt h@]r~\i@IrvOi@lrt i @kr~X@@@A@AA@A@A@ABC@@.Even_Odd_False @Ҡ@Gi*@qѭ@i0@yCA@i8@rHp%Logic$Init#Coq@@%Falsee@@@@A@AA@A@A@A@ABCD@@Ӡ,orb_even_odd @SC3.X@H욠ig@Fqѭ)@"eq @)Datatypes$Init#Coq@@$boolZ'@)Datatypes$Init#Coq@@#orbi@}Ai@vruA@#Z'@A@@@@@!(negb_odd @|k]@iI:i@qѭNJ@@@$negbi@ruAi@}A@@@@@T)negb_even @ԠĠ@Jmi@qѭ30i@ }Ai@ruA@@@@@&even_0 @ܠˠ@KFj@-}j@$zero-IA@@@A@A@A@ABC@@%odd_0 @* /@LрojA@!rujF@)-IB@@@@@̠%odd_1 @L<,'Q@Mjc@Crujh@rvOA@@@"A@A#A@%A@'A@ABC@@&even_1 @vfVQ@2{@>Nj@}j@rvOB@@@@@&even_2 @xsbT@`O?ݩj@}j@r~A@@@nAf@AoA_@qA`@sA^@uAL@ABCD@@D%odd_2 @Ġ@Pk j@ruj@@r~HB@@@@@f(Odd_succ @֠Ơ@Qj@qѭ@С)k@]rHpk @$succ~#Ak@yCA@@@A@AA@A@A@A/@ABCD@@(odd_succ @"ޠ'@Rk6@qѭπmk?@rukE@:~#AkL@a}A@@@@@Ѡ)even_succ @QA1, V@Sꚠke@(qѭkn@}kt@i~#Ak{@[ruA@@@@@)Even_succ @p`[J<@HTk@Wqѭk@UyCk@~#Ak@rHpA@@@@@/.Even_succ_succ @yk@wUHk@qѭɀk@yCk@~#k@~#Ak@yCA@@@@@d-Odd_succ_succ @ԠĠ@V}k@qѭl@YrHpl@~#l @~#Al@lrHpA@@@@@.even_succ_succ @ ՠ@Wl-@qѭƀdl6@K}l<@1~#lB@7~#AlI@^}A@@@@@Π-odd_succ_succ @N>.) S@X皠lb@%qѭlk@Krulq@f~#lw@l~#Al~@^ruA@@@@@(even_add @sc^M?@KYl@Zqѭl@`qѭ6ԩl@}l@raҀBA$Bool#Coq@@#eqbPl@}Bl@}A@@@Ay@AAr@As@Aq@A_@ABCD@@W'odd_add @נǠ@Zpl@qѭnl@qѭ(l@rum@YraҀBA@$xorbȀm@ruBm@ruA@@@@@(even_mul @ נ @[m/@qѭm5@qѭ΀lm>@S}mD@rt BA@mR@g}BmY@n}A@@@A @AA@A@A@ABC@@栠'odd_mul @fVFA0"k@.\mz@=qѭm@Cqѭm@irum@rt BA#@$andb=m@~ruBm@ruA@@@@@*-even_add_even @tf@r]Cm@qѭAm@qѭ@m@yCAem@}m@4raҀ;)m@}A@@@@@e,odd_add_even @ՠŠ@^~m@qѭ|m@qѭ@n@yCA>n@run@oraҀvdn@ru|@@@@@1even_add_mul_even @ ܠ%@_n4@qѭn:@qѭ!pnA@qѭ@nG@yCB‰nR@g}nX@raҀDn_@rt ne@z} @@@@@頠0odd_add_mul_even @iYID3%n@1`n}@@qѭn@FqѭIn@Lqѭ@n@GyCB*ȩn@zrun@raҀHn@ rt n@ruT@@@@@0.even_add_mul_2 @zl@xaIn@qѭGn@qѭcn@}n@2raҀBn@Frt n@Er~An@}B@@@@@p-odd_add_mul_2 @Рˠ@bo@qѭo @qѭAo@ruo@rraҀBo @rt o%@r~Ao+@ ruB@@@@@(odd_pred @ 0  @ @!noA@qѭ@%Logic$Init#Coq@@#notШoU@"eqq)Ao\@$zero-I%Logic$Init#Coq@@"eq @)Datatypes$Init#Coq@@$boolZ'@o~@^ruo@$pred~2Bo@}@@@ %'A*Equalities*Structures#Coq@A݋X_A/RelationClasses'Classes#Coq@@A@@AA@@A@)even_pred @   @ Auo@ 9qѭ@to@jq)Ao@i-Ih]o@}o@P~2Oo@ruU@@@NAF@A@@>(even_sub @  Р @ Bo@!tqѭ!mo@qѭ@o@"leq٢ABp @ }p@#subr|uC$Bool#Coq@@#eqbPp&@;}p,@A}@@@AviA)Morphisms'Classes#Coq@@AAۀߠK @Aۓό^ @A@A1@D@@ABCD@@'odd_sub @ K ; +@ 8Cp[@kqѭjpa@qqѭ@pg@iq٢AB ps@Srupy@hr|ug)Datatypes$Init#Coq@@$xorbȀp@mru{p@sru@@@@@@ p t@@|@C!D@-Private_NZPowA'pow_0_l @@$NPow(Abstract'Natural'Numbers#Coq@(NPowProp!|A@A@@@B!C$NPow(Abstract'Natural'Numbers#Coq@ |R@A@@A!B |X@A@@@!Apqs@A@%NZPow&NatInt'Numbers#Coq@)NZPowProp*1L@@@A@@@J!C%NZPow&NatInt'Numbers#Coq@+@A@@I!B,@@qj@5@'compareqjd@@A@Ag@@!tgJ@@A@@ @"eq^@@A@AB\@@"le\h@@A@k@@"ltkh@@A@A@@#addd@@A@8@@#div8d@@A@ABC%@!@#eqb%d@@A@@'@#gcdd@@A@A @+@#leb d@@A@@0@#lord@@A@ABD=@4@#ltb=d@@A@S@=@#maxSd@@A@A@A@#mind@@A@@F@#mulàd@@A@ABJ@J@#oddJd@@A@ @P@#one T@@A@A@T@#powd@@A@/@Y@#sub/d@@A@ABC@]@#twoˠT@@A@+D@c@$div2+Dd@@A@AW]@g@$evenW]d@@A@@l@$landd@@A@ABD@p@$log2d@@A@~@x@$lxor~d@@A@Axh@|@$predxhd@@A@g@@$sqrtgd@@A@AB@@$succݠr@@A@s@@$zerosT@@A@ot@@%ldiffotd@@A@AB*:@@&modulo*:d@@A@CD+ar@@&shiftl+ard@@A@+ar@@&shiftr+ard@@A@+t@@&square+td@@A@.F@@'testbit.Fd@@A@ABCEFG@A@@H!AǠ@A@@!aq@!tqѭ@q@"ltqٱq@$zero-IAq@"eqq)q@#powrw݀q@-IBq@-I@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۓό^ @A݋X_A/RelationClasses'Classes#Coq@@A1@D%Logic$Init#Coq@@ABC@@AA@@A@(pow_0_l' @rbRMH6(q@4Alr1@!tqѭ@%Logic$Init#Coq@@#notШrF@lq)ArL@y-IrQ@wq)rW@vrw݀r\@-Iur`@-I@@@sAk@uAd@wAb@ABC@@P'pow_1_r @u@Br~@!tqѭr@q)r@rw݀Ar@#onervOA@@@A@A@A@ABC@@'pow_1_l @Ѡ̠Ǡ@C뚠r@qѭ@r@"leq٢r@-IAr@q)r@rw݀r@=rvO暠r@ArvO@@@A@A@A@ABC@@'pow_2_r @0  /@D*r@qqѭr@q)r@rw݀As@#twor~s@#mulrt AA@@@A@A@!A @ABC@@(pow_eq_0 @iYID?-h@+Ecs(@qѭ!bs/@iqѭ@s5@q٢s:@g-IA@sA@gq)sG@frw݀CbsM@z-IsR@xq)DsX@-I@@@kAc@mA\@oAZ@ABC@@H+pow_nonzero @{m@yFsv@EqѭNs|@qѭ@Js@q)Bs@-I@s@q٢s@-Ids@q)s@rw݀T_s@-I@@@@@,pow_eq_0_iff @ߠڠȠ@Gs@Eqѭs@Kqѭ@@#iffС)s@q)s@rw݀BAs@-I@"or @s@&qٱAs@&-I1@#andЖw@t@9qٱt @8-IAt@7q)Bt@D-I@@@+A#@A,AۀߠK$@0A@2A@ABC@@ )pow_add_r @zjZUP>0y@@AGA@IA8@KA6@MA.@ABCD@@&-pow_le_mono_r @upkYK@WQwT@qѭ,wZ@qѭw`@qѭ@wf@qٱwk@-IC@wr@q٢+wx@q٢w~@rw݀,w@rw݀=@@@A@AAn@A@A@ABC@@w+pow_le_mono @֠Ơ@Rw@qѭ}w@qѭlw@qѭ!dw@qѭ@w@qٱw@-IDw@q٢DB@w@ q٢𩚠w@&q٢w@rw݀zw@rw݀@@@A@A@@ՠ+pow_lt_mono @D4$C@S>x@=qѭۚx @Cqѭʚx@Iqѭ^x@Oqѭ@x@Rqٱx$@Q-IDx*@]qٱDB@0x7@jqٱx<@i-I驚xA@tqٱ[xG@zqٱxM@lrw݀#婚xS@rrw݀ @@@gA_@iA=@kAV@ABC@@D)pow_inj_l @wi@uTxr@qѭJxx@qѭ9x~@qѭ@x@q٢x@-IC@x@q٢x@-IM@x@qٱx@-IX@x@q)x@rw݀Zx@rw݀J`x@q)G@@@@@)pow_inj_r @נɠ@U x@ qѭx@qѭx@qѭ@x@qٱx@YrvOC@x@:q٢x@"-I@x@Eq٢y@--I@y@,q)y @+rw݀y@1rw݀y@>q)@@@@@1pow_lt_mono_l_iff @rbRMH6(q@4Vly1@kqѭ y7@qqѭy=@wqѭ@yC@q٢yH@u-IC@yO@q٢yT@-I @yZ@qٱy_@-Iyh@qٱ>yn@qٱyt@rw݀J"yz@rw݀(@@@@@e1pow_le_mono_l_iff @ԠĠ@WΚy@qѭky@qѭZy@qѭ@y@q٢y@-IC@y@q٢y@-In@y@qٱy@-Iyy@q٢by@q٢y@rw݀y@rw݀t@@@@@Ǡ1pow_lt_mono_r_iff @ 6 &   5@X0y@/qѭ͚y@5qѭz@;qѭ@z@:qٱz @|rvOC@z@]q٢z@E-I1Oz!@Tqٱکz'@Zqٱz-@Lrw݀۩z3@Rrw݀@@@@@1pow_le_mono_r_iff @  } m h c Q C@ OYzL@qѭ$zR@qѭzX@qѭ@z^@qٱzc@rvOC@zj@q٢zo@-Izx@q٢&1z~@q٢z@rw݀2z@rw݀"C@@@@@u,pow_gt_lin_r @  Ԡ Ġ    @ Zޚz@qѭ{z@qѭ@z@qٱz@$rvOB@z@q٢z@-I٩z@qٱ~z@rw݀y@@@A@AA@A@A@ABC@@-pow_add_lower @ -       ,@ [ 'z@ &qѭĚz@ ,qѭz@ 2qѭ@z@Hq٢{@ 0-IC@{ @Tq٢{@ <-IǶ@{@ Hqٱ{@ G-Iҩ{@iq٢{%@raҀ{+@ Jrw݀٩{1@ Prw݀ߩ{7@ Vrw݀{=@raҀ@@@ RA J@A SA'@ UA D@ WA B@ABC@@ 0-pow_add_upper @    z u c U @ a\ {^@ qѭ6{d@ qѭ%{j@ qѭ@{p@q٢{u@ -IC@{|@q٢{@ -I9@{@ qٱ{@ -ID{@q٢{@ rw݀{@.raҀs5K{@rt {@ rw݀{@r~{@$pred~2b{@KraҀ{@ rw݀n{@ rw݀^t@@@ A @A A@ A @ A @ A @ABCD@@ @@@  @ @A@B@CDX@+pow_succ_r' @ 0   @ @!a{@!tqѭ!b{@!tqѭ{@"eqq)|@ rw݀B|@$succ~#A|@#mulrt B|@ 7rw݀BA@@@@@AA@@A@'pow_0_l @ w g W R@ eAG|2@ qѭ@%Logic$Init#Coq@@#notШ|F@Lq)A|L@$zero-I|R@Xq)|X@ wrw݀|]@-IB|b@-I@@@@@G'pow_1_r @  @  G2m@|w@qѭ||@q)|@ rw݀A|@#onervOA ˠ ʠ ɠ Ƞ @  @01c  ֠ Ơ @@@@@'pow_1_l @   Ӡ @ BÚ|@qѭ|@q)|@ rw݀|@6rvOA|@;rvO@@@@@'pow_2_r @ 1 -@  G3ր@횠|@qѭ|@q)|@ rw݀A|@#twor~|@rt AAh@/1c F 6 & !@@@@@ߠ)pow_add_r @ S C 3 .@ AC#}@"qѭ!}@ qѭ!c}@'qѭ} @&q)}&@ Erw݀C}-@#addraҀBA}6@&rt }<@ [rw݀CB}D@ crw݀CA@@@@@,)pow_mul_l @    {@ Dp}[@gqѭn}a@mqѭM}g@{qѭ}l@rq)}r@ rw݀}x@hrt CBA}@qrt }@ rw݀CA}@ rw݀BA@@@@@w)pow_mul_r @  ۠ ˠ @ E}@qѭ}@qѭ}@qѭ}@q)}@ rw݀C}@rt BA}@ rw݀}@ rw݀CBA@@@@@(pow_eq_0 @ /   @ F}@qѭ}@ qѭ@}@q)A~@-I@~@ q)~ @ +rw݀C~@-I~@q)D~@-I@@@@@+pow_nonzero @ v f V Q@ dGF~1@ qѭD~7@Kqѭ@~A@Gq)B~G@-I~P@Vq)~V@ urw݀J~[@-I@@@@@@,pow_eq_0_iff @    @ H~o@qѭ~u@qѭ%Logic$Init#Coq@@#iffС)~@q)~@ rw݀BA~@I-I!@#andЖw@j~@q)A~@`-I~@q)B~@k-I@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@Aۓό^ @A݋X_A/RelationClasses'Classes#Coq@@ABC@@-pow_lt_mono_l @0  @I~@!tqѭ~@qѭޚ~@ qѭ@ƀ@q)A@-I@@"ltqٱ@qٱ@ :rw݀E"@ Arw݀ @@@@@-pow_le_mono_l @|l\W@jJL7@LqѭJ=@Rqѭ)C@Wqѭ@I@"leq٢CBR@ q٢X@ wrw݀A^@ }rw݀R@@@@@D(pow_gt_1 @@Ks@qѭy@dqѭ@@qqٱ@rvOB@S@q)3@H-I@qٱ@rvO@ rw݀@@@@@-pow_lt_mono_r @ݠ@L͚@qѭ˚@qѭ@qѭ@@qٱ@GrvOC@@qٱz@qٱ@rw݀˩@rw݀ܐ@@@@@Π-pow_le_mono_r @B2"@0M@qѭ@qѭ @qѭ@׀@q)C@-I@@q٢é%@q٢+@Jrw݀1@Prw݀%@@@@@+pow_le_mono @{kf@yN[F@1qѭYL@aqѭ8R@gqѭ!dY@nqѭ@'c@iq)Di@-I@o@&q٢Tc@v@-q٢[j|@3q٢@rw݀GF@rw݀os@@@@@p+pow_lt_mono @@ 2Ȍ@@qѭ@qѭ@qѭZ@qѭ@%Logic$Init#Coq@@#andЖw@@qٱ@-ID@qٱDB@#@qٱ@-I̩@qٱ@qٱ@rw݀rک@rw݀r@qUP@0+@@@@@頠)pow_inj_l @]M=8@KO-@,qѭ+@2qѭ $@qѭ@򀐩.@4q)A4@-I@:@@q)@@_rw݀)䩚F@erw݀:꩚L@Rq)15@@@@@2)pow_inj_r @@Pva@vqѭtg@{qѭSm@qѭ@s@eqٱx@rvOC@@q)@rw݀ny@rw݀t/@q)z@@@@@w1pow_lt_mono_l_iff @۠ˠ@Q@qѭ@qѭ@qѭ@@q)A@v-IM@qٱ@qٱ@rw݀{@rw݀@@@@@à1pow_le_mono_l_iff @7'@%R@qѭ@ qѭ䚠@qѭ@̀@q)A@-I@q٢ @q٢#@Brw݀ ǩ)@Hrw݀͐@@@@@1pow_lt_mono_r_iff @sc^@qSS>@SqѭQD@Yqѭ0J@_qѭ@P@BqٱU@rvOCဠ_@QqٱSe@Wqٱk@rw݀T_q@rw݀Z@@@@@W1pow_le_mono_r_iff @ˠ@T@qѭ@qѭx@qѭ@@qٱ@rvOC)@^q٢K@dq٢@rw݀@rw݀]@@@@@,pow_gt_lin_r @@U㚠@qѭᚠ@qѭ@@qٱ@WrvOB@qٱ@ rw݀@@@@@Ѡ-pow_add_lower @E5% @3V@qѭ@qѭ򚠐 @qѭ@ڀ@q)A@-I!@q٢'@raҀ-@Lrw݀ѩ3@Rrw݀'ש9@Xrw݀?@raҀ(3@@@@@%-pow_add_upper @yt@WiT@`qѭgZ@fqѭF`@Kqѭ@.j@pq)Ap@$-Iu@,q٢{@rw݀@TraҀju%@wrt @rw݀@r~@$pred~2<@qraҀ@rw݀H@rw݀N@@@@@(even_pow @@XԚ@qѭҚ@qѭ@@q)A@-Ia@"eq @)Datatypes$Init#Coq@@$boolZ'@@$even}@rw݀@ }@@@FA>@HA6@JA4@ABC@@蠠'odd_pow @\L<7@JY,@+qѭ*@qѭ@뀐'@-q)A-@-IXT6@#oddru=@\rw݀1ᩚC@ ru7@@@@@)@M%{@@@D!E`@-Private_NZDivA.div_mod_unique @@$NDiv(Abstract'Natural'Numbers#Coq@(NDivProp!@A@@@A"NP$NDiv(Abstract'Natural'Numbers#Coq@[@A@@@!N@A@%NZDiv&NatInt'Numbers#Coq@)NZDivProp#*E@@@A@@@J!C%NZDiv&NatInt'Numbers#Coq@5@A@@I!B,@@%@5@!t%J@@A@A%@@"eq%^@@A@% @ @"le% h@@A@AB%@@"lt%h@@A@&:@@#add&:d@@A@A&#@@#div&#d@@A@&%@@#eqb&%Ӡd@@A@ABC&'@!@#gcd&'d@@A@&.@'@#leb&.Πd@@A@A&/@+@#lor&/d@@A@&/@0@#ltb&/d@@A@ABD&0@4@#max&0d@@A@&0@=@#min&0d@@A@A&1q@A@#mul&1qd@@A@&2@F@#odd&2d@@A@AB&3@J@#one&3T@@A@&5E@P@#pow&5Ed@@A@A&9@T@#sub&9ݠd@@A@&;y@Y@#two&;yT@@A@ABC0@]@$div20d@@A@0 @c@$even0 d@@A@A1m@g@$land1md@@A@1@l@$log21d@@A@ABD1,@p@$lxor1,d@@A@1@w@$pred1d@@A@A2@@{@$sqrt2@d@@A@2D@@$succ2Dr@@A@A2@@$zero2걠T@@A@e"@@%ldiffe"d@@A@A##C@@&modulo##Cd@@A@BCD#@@&shiftl#àd@@A@#@@&shiftr#ɠd@@A@A$ @@&square$ d@@A@'G@@'testbit'Gd@@A@9@@'compare9⪠d@@A@ABCEFG@A@@H!AǠ@A@@!bp@!tqѭ"q1x@!tqѭ"q2@qѭ"r1@qѭ"r2@qѭ@%Logic$Init#Coq@@#andЖw@@"leq٢@$zero-IB@"ltqٱBE@&@q٢@-IB@qٱF@@"eqq)@#addraҀ@#mulrt GD@raҀ@rt EC%Logic$Init#Coq@@#andЖw@@4q)%< @:q)*@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۀߠK @Aۓό^ @A݋X_A/RelationClasses'Classes#Coq@@ABC@@AA@@A@*div_unique @۠ˠ@A!aK@qѭ⚠Q@qѭ!qX@qѭ!r_@qѭ@e@q٢j@-ID@݀u@q٢z@-I@qٱ@@q)@raҀ@rt @q)@#divrf~֐@@@A~@A|@AB@@t*mod_unique @L<-(Q@Bq@KqѭR@Qqѭp@Oqѭo@]qѭ@@0q٢@/-ID@K@@q٢@?-I%@=qٱ+ @@#q)+@"raҀ@!rt @5q)% @&modulo&oۀ-D@@@A@A@AB@@⠠0div_unique_exact @v@Cߚ)@qѭ/@qѭޚ5@qѭ@;@q٢@@-IC@G@qٱL@-I\@R@q)dX@yrt wi^@q)}d@rf~v@@@XAC@ZAA@AB@@9(div_same @۠͠@D6@qѭ@@qٱ@-IA@q)@rf~՚@#onervO@@@A{@Ay@AB@@q(mod_same @I9*%N@En@Hqѭ@@qٱ@-IA@q)@&oۀ  @+-I@@@A@A@A@ABC@@)div_small @rc^L>@JF@qѭ@qѭ@i@^q٢@]-IB @\qٱBA@Cq)@|rf~+X@v-I@@@A @A@A@ABC@@)mod_small @͠@G򚠐<@qѭӚB@qѭ@L@q٢Q@-IBW@qٱBA_@q)e@Y&oۀvv@@@YAQ@[AF@]AD@ABC@@<'div_0_l @ޠР@H9@qѭ@@qٱ@-IA@q)@rf~@-Iܚ@-I@@@@@s'mod_0_l @K;,'P@Ip@Jqѭ@@qٱ@-IA@q)@&oۀ@--I@1-I@@@@@'div_1_r @rc^L>@JJ@qѭ@@Tq٢@S-IA@1q)@jrf~F @qrvOJ@@@A@A@AB@@ᠠ'mod_1_r @u@Kޚ(@qѭ@.@q٢3@-IA9@hq)?@3&oۀ}D@rvOH@-I@@@;A3@=A(@?A&@ABC@@'div_1_l @נҠ@Le@qѭ@k@qٱp@rvOAv@q)|@rf~@rvO@-I@@@@@U'mod_1_l @- 2@MR@,qѭ@@qٱ@ rvOA@q)@&oۀ@rvO@ rvO@@@@@'div_mul @dTE@. i@,N@cqѭj@iqѭ@@<q٢@;-IB@@;qٱ@G-I-@$q)@]rf~@"rt   @@@A@A@@Ԡ'mod_mul @vh@tOњ@qѭ!@qѭ@'@q٢,@-IB@3@qٱ8@-Iu=@lq)C@7&oۀI@jrt hZZN@-I@@@AA,@CA*@AB@@"&mod_le @۠֠Ġ@Pi@qѭo@qѭ@u@q٢z@-IB@@qٱ@-Ié@q٢@&oۀ@@@@@b'div_pos @:*?@Q_@9qѭ@@?qѭ@@q٢@-IB@@qٱ@-I@(q٢@'-I@7rf~@@@A@AA@A@A@ABC@@+div_str_pos @vgbPB@NR@qѭ@qѭ@m@Uqٱ @a-IA@mq٢AB@hqٱ@t-I"@rf~3`@@@A@A@A@ABC@@-div_small_iff @Ѡ@S@@qѭךF@qѭ@L@q٢Q@-IB@X@qٱ]@-Ik@#iffС)i@q)o@rf~t@-Iy@qٱ@@@mAT@A@@L-mod_small_iff @$)@TI@#qѭ*@)qѭ@@q٢@-IB@@qٱ@-IS@q)@&oۀީ@qٱ֐@@@A@A@A@ABC@@/div_str_pos_iff @tdUP>0y@@QA<@SA:@ABC@@2+div_le_mono @ ԠƠ@W/y@ qѭ@qѭ!c@qѭ@@qٱ@-IA@@q٢@-I@q٢@ q٢@rf~é@rf~ɐ@@@A@AA@A@A@ABC@@*mul_div_le @iYJE3%n@1X@hqѭo@nqѭ@@Aq٢@@-IB@@@qٱ@L-I2@Wq٢@!rt @hrf~%%@@@A@A@A@ABC@@ݠ/mul_succ_div_gt @q@}Yښ$@qѭ*@qѭ@0@q٢5@-IB@<@qٱA@-I~F@qٱeL@mrt ]R@$succ~#Y@rf~xj@@@NAF@AOA>@QA<@SA:@ABC@@2)div_exact @ ԠƠ@Z/y@ qѭ@qѭ@@q٢@-IB@@qٱ@-Iө9@q)@rt @ rf~@q)@&oۀȚ@-I@@@A@A@A@ABC@@2div_lt_upper_bound @ j Z K F 4 &o@ 2[@iqѭp@oqѭ@mqѭ@@Hq٢@G-IC@@Gqٱ@S-I @@Rqٱ@)rt '@^qٱ@vrf~K&3@@@@@堠2div_le_upper_bound @      y@ \⚠,@qѭÚ2@qѭᚠ8@qѭ@>@q٢C@-IC@J@qٱO@-I_@U@q٢g[@|rt zla@q٢g@rf~y@@@@@82div_le_lower_bound @     ڠ ̠ @ ]5@ qѭ @ qѭ4@ qѭ@@q٢@-IC@@qٱ@-I@@ q٢@rt @ q٢ө@rf~̐@@@A@AA@A@A@ABC@@/div_le_compat_l @ k [ L G 5 ' p@ 3^!p@ kqѭ@ qqѭ@ wqѭ@@ Jq٢@ I-IC@ e@ Mqٱ@ Y-I @ dq٢  E @ jq٢@urf~ % $@{rf~ + 8@@@ A @A A@ A@ A@ABC@@'mod_add @ ʠ      @ _9@ qѭ К?@ qѭE@ qѭ@K@ q٢P@ -IC@W@ q٢\@ -Ia@ raҀ g@ rt  x @n@ qٱs@ -I x@ q)~@r&oۀ@ raҀ @ rt    @&oۀ  @@@ A |@ A q@ A o@ABC@@ g'div_add @ ? /     D@ ` d@ >qѭ E@ <qѭ5@ Bqѭ@@ q٢@ -IC@@ )q٢@ (-I@ raҀ @ rt   @@ 3qٱ@ ?-I @ q)@ Urf~@ !raҀ 0@ rt    @ -raҀ @ mrf~ B * @@@ A @ A @ A @ABC@@ ⠠)div_add_l @      v @ a ߚ)@ qѭ /@ qѭ5@ qѭ@;@ q٢@@ -IA@G@ q٢L@ -IQ@ yraҀW@ xrt  v h @^@ qٱc@ -I h@ q)n@ rf~t@ raҀz@ rt     @ raҀ @ rf~  @@@ zA r@ |A g@ ~A e@ABC@@ ]0div_mul_cancel_r @ 5 %     :@ b Z@ 4qѭ ;@ :qѭ+@ @qѭ@@ q٢@ -IC@@ qٱ@ -I ׶@@ qٱ@ )-I ⩚@ q)@ ?rf~@ rt   @ rt   @ Qrf~ & @@@ A @ A @ A @ABC@@ Ơ0div_mul_cancel_l @    z h Z @ fc Ú @ qѭ @ qѭ@ qѭ@@ |q٢$@ {-IC@+@ {qٱ0@ -I @@6@ qٱ;@ -I K@@ oq)F@ rf~L@ mrt  k R@ srt  q dX@ rf~  j@@@ LA D@ NA 9@ PA 7@ABC@@ //mul_mod_distr_l @     Ѡ à @ d ,v@ qѭ |@ qѭ@ qѭ@@ q٢@ -IC@@ qٱ@ -I @@ qٱ@ -I @ q)@ &oۀ@ rt   쩚@ rt   ͩ@ rt  ਗ਼@ &oۀ  ِ@@@ A @ A @ A @ABC@@ /mul_mod_distr_r @ v f W R @ 2 {@ >e @ uqѭ |@ {qѭl@ qѭ@@ Tq٢@ S-IC@@ Sqٱ@ _-I @@ ^qٱ@ j-I #@ Gq)@ &oۀ$@ Ert  [ C*@ Krt  < I0@ Qrt 6@ *&oۀ m H U@@@ *A "@ ,A @ .A @ABC@@ 'mod_mod @  ՠ Ơ    @ f T@ qѭ!n[@ qѭ@a@ q٢f@ -IB@m@ qٱr@ -I w@ q)}@ q&oۀ@ w&oۀ   @ }&oۀ  @@@@@ Z/mul_mod_idemp_l @2"   7@ g W@ 1qѭ 8@ 7qѭS@ =qѭ@@ q٢@ -IC@@ q٢@ -I Զ@@ qٱ@ &-I ߩ@ q)@ &oۀ@ rt @ &oۀ    @ &oۀ@ rt  )  @@@ A @ A @ A @ABC@@ ɠ/mul_mod_idemp_r @}k] @ih ƚ@ qѭ @ qѭš@ qѭ@"@ q٢'@ ~-IC@.@ q٢3@ -I C@9@ qٱ>@ -I NC@ rq)I@ =&oۀO@ prt  U@ I&oۀ g t t[@ O&oۀa@ rt   s @@@ UA M@ WA B@ YA @@ABC@@ 8'mul_mod @ڠ̠@i 5@qѭ@qѭ1@qѭ@@ q٢@ -IC@@ q٢@ -I @@ qٱ@-I @ q)@ &oۀ@ rt    ݩ@ &oۀ@ rt @ &oۀ 署@ &oۀ   @@@ A @ A @AB@@ /add_mod_idemp_l @sd_M?@Kj @qѭ@qѭ@qѭ@@aq٢ @`-IC@@mq٢@l-I%@@kqٱ @w-I0%@Tq)+@ &oۀ1@YraҀ7@ +&oۀnVIV=@ 1&oۀC@kraҀzUb@@@7A/@9A$@;A"@ABC@@/add_mod_idemp_r @ӠΠ@ka@qѭg@qѭm@qѭ@s@q٢x@-IC@@q٢@-I@@qٱ@-I@q)@ &oۀ@raҀש@ &oۀũ@ &oۀ@raҀѐ@@@A@A@A@ABC@@'add_mod @aQB=+f@)l@`qѭg@fqѭ@lqѭ@@?q٢@>-IC@@Kq٢@J-I@@Iqٱ@U-I@2q) @ &oۀ@7raҀF!.@ &oۀ@CraҀ!@&oۀX@'@&oۀ9FF@@@A@A@AB@@'div_div @ԠĠ@mC@qѭښI@qѭʚO@qѭ@U@q٢Z@-IC@a@qٱf@-Iv@l@qٱq@-Iv@q)|@rf~@rf~@rf~@rt @@@A{@AAs@Aq@Ao@ABC@@g)mod_mul_r @?/  D@nd@>qѭE@Dqѭ 5@Jqѭ@@q٢@-IC@@qٱ@(-I@@'qٱ@3-I쩚@q)@&oۀ@rt  @raҀ@&oۀ0 @ rt @&oۀ @mrf~B*@@@A@A@A@ABC@@⠠*div_mul_le @v@oߚ)@qѭ/@qѭ 5@qѭ@;@q٢@@-IC@G@qٱL@-I\@R@q٢W@-Ig\@q٢b@rt h@rf~zn@rf~t@rt @@@hA`@jAY@lAS@ABC@@K+mod_divides @#ߠ(@pH@"qѭ)@(qѭ@@q٢@-IB@@qٱ@-I쩚 R@q)@&oۀϚ@-I@"ex @@Wqѭ P@]qѭ@ q)쩚@rt A@@@A@AA@A@A@A1@D@@ABCD@@@@@@@A  BCw@/mod_upper_bound @@@!a @!tqѭ!b@Wqѭ@%Logic$Init#Coq@@#notШ&@"eqq)A-@$zero-I3@"ltqٱ:@.&oۀCB@@@@@AA@@A@&mod_eq @ؠ@AJS@IqѭHY@qѭ@Gc@=q)Ai@<-In@Hq)t@h&oۀ:9z@#subr|uA@#mulrt G@rf~NM@@@ %'A*Equalities*Structures#Coq@A݋X_A/RelationClasses'Classes#Coq@@A@@^.div_mod_unique @C3$@0B@!tqѭ"q1@!tqѭ"q2@qѭ"r1@qѭ"r2@qѭ@@qٱBE@@qٱF@@q)@#addraҀ@ort GD@raҀ@}rt Eũ%Logic$Init#Coq@@#andЖw@@q)$9@q))@@@@@ޠ*div_unique @à@C%.@sqѭ#4@qѭ!q;@qѭ!rB@qѭ@H@qٱAC@Q@+q)SW@nraҀ]@rt l#"c@=q)ri@rf~k@@@@@-*mod_unique @@Dt}@qѭr@qѭO@qѭN@qѭ@@bqٱAC@@xq)@raҀ@)rt po@q)v@&oۀ@@@@@z0div_unique_exact @_O@@LE@qѭ@qѭ@ qѭ@Ā@q)B@-I@@q)@qrt @q)@`rf~ @@@@@ (div_same @@F @Wqѭ@@q)A"@-I'@q)-@rf~򚠐2@#onervO@@@@@(mod_same @۠ˠ@G=F@qѭ@4P@*q)AV@)-I[@5q)a@U&oۀ&&f@9-I@@@@@))div_small @@Hpy@qѭn@qѭ@@RqٱBA@gq)@rf~YX@k-I@@@@@[)mod_small @@0!@-I@qѭ@qѭ@@qٱBA@q)@&oۀ@@@@@'div_0_l @n^O@[JК@qѭ@ǀ@q)A@-I@q)@Vrf~@-I@-I@@@@@'mod_0_l @@K@Uqѭ@@q)A @-I%@q)+@&oۀ0@-I4@-I@@@@@'div_1_r @ܠ̠@L>G@=qѭL@&q)R@rf~AX@&rvOA@@@@@'mod_1_r @@Mcl@bqѭq@Kq)w@k&oۀA}@KrvO@T-I@@@@@D'div_1_l @) @N@qѭ@@gqٱ@mrvOA@q)@ rf~@~rvOt@-I@@@@@w'mod_1_l @\L=@IO@qѭ@@qٱ@rvOA@q)@&oۀ@rvO@rvO@@@@@'div_mul @p@|P񚠐@Dqѭ@Eqѭ@ @q)A@-I@q)@}rf~!@rt @@@@@堠'mod_mul @ʠ@Q,5@qѭ*;@qѭ@)E@q)AK@-IP@*q)V@J&oۀ\@rt "!!a@4-I@@@@@$&mod_le @ @Rkt@jqѭiz@qѭ@h@^q)A@]-I@"leq٢@&oۀ\[\@@@@@Z+div_str_pos @?/ @,S@qѭ@qѭ@%Logic$Init#Coq@@#andЖw@@qٱ@-IA@Aq٢AB@qٱ@-I@Drf~@@@@@-div_small_iff @{l@xT횠@qѭ뚠@Aqѭ@ꀐ@q)A @-I @#iffС)@q)@rf~㚠#@-I(@qٱ@@@@@젠-mod_small_iff @Ѡ@U3<@2qѭ1B@qѭ@0L@&q)AR@%-IF[@5q)a@U&oۀ'&'g@4qٱ-,@@@@@+/div_str_pos_iff @@Vr{@qqѭp@qѭ@o@eq)A@d-I@gqٱ@r-I@rf~ji@q٢op@@@@@n&div_lt @SC4@@W@qѭ@qѭ@@qٱ@-IB@@qٱ@rvO@qٱ@Hrf~@@@@@+div_le_mono @p@|X񚠐@Lqѭ@Rqѭ!c@Lqѭ@@q)A@-I@@q٢,㩚#@q٢)@rf~+署/@rf~>@@@@@*mul_div_le @ؠȠ@Y:C@9qѭ8I@qѭ@7S@-q)AY@,-I^@q٢d@rt )j@rf~0/0@@@@@./mul_succ_div_gt @@Zu~@qѭs@qѭ@r@hq)A@g-I@fqٱ_@rt d@$succ~#@rf~rq@@@@@p)div_exact @UE6@B[@qѭ@ qѭ@@q)A@-Iʀ@q)@drt @Mrf~@q)@&oۀ@-I@@@@@2div_lt_upper_bound @@\@aqѭ@Zqѭᚠ@eqѭ@ %@q)B+@-I@1@qٱ@7@rt =@ qٱC@rf~ER @@@@@2div_le_upper_bound @ܠ@]NW@qѭL]@qѭ)c@qѭ@Qm@Gq)Bs@F-I@y@q٢@rt ED@q٢@rf~Q@@@@@O2div_le_lower_bound @4$@!^@qѭ@qѭq@qѭ@@q)B@-I@@2q٢@Frt ֩@>q٢@5rf~@@@@@/div_le_compat_l @|l]@i_!p@qѭ@@qѭ@Fqѭ@D@qٱ@-IB @zq٢BA@q٢@yrf~&ܩ@rf~,@@@@@ᠠ'mod_add @Ơ@`(1@{qѭ&7@qѭ7=@qѭ@+G@!q)AM@ -IR@,q)X@L&oۀ^@uraҀmd@rt *))j@^&oۀy/@@@@@.'div_add @@au~@qѭs@qѭ@qѭ@x@nq)A@m-I@yq)@rf~@raҀ@0rt wvv@raҀ@rf~@@@@@)div_add_l @fVG@SbȚ@qѭƚ@qѭך@'qѭ@ˀ@q)B@-I@q)@Zrf~@raҀ@rt ʩ @!raҀ@rrf~֐@@@@@Ԡ0div_mul_cancel_r @@c $@nqѭ *@oqѭ*0@uqѭ@ :@ q)B@@ -I@ .J@ $q) O@ "-IT@ .q)Z@rf~`@rt b &f@rt u ,l@rf~n{@@@@@ 00div_mul_cancel_l @@d w@qѭ u@qѭ@qѭ@ z@ pq)B@ o-I@ @ q) k@ ~-I@ q)@rf~@ ;rt  @ Art  ѩ@*rf~א@@@@@ /mul_mod_distr_r @qaR@^e Ӛ@ &qѭ њ@'qѭ⚠@-qѭ@ ր@ q)B@ -I@ 怐@ q) ǚ@ -I @ q)@&oۀ@ rt   ީ@ rt  - 䩚$@ rt *@&oۀ , 9 @@@@@ /mul_mod_distr_l @Ӡà@f 5>@ qѭ 3D@qѭDJ@qѭ@ 8T@ .q)BZ@ --I@ Hd@ >q) )i@ <-In@ Hq)t@h&oۀz@ rt  @ |@ rt  F @ rt  L@&oۀ  @@@@@ P'mod_mod @5%@"g @ qѭ!n@qѭ@ @ q)A@ -I@ q)@&oۀ@&oۀ   @&oۀ  @@@@@ /mul_mod_idemp_l @wgX@dh ٚ@ qѭ ך@ 2qѭH@3qѭ@ ܀@ q)A@ -I@ q) @&oۀ@ rt @ &oۀ $   ک@&oۀ!@ rt  0  @@@@@ 堠/mul_mod_idemp_r @ʠ@i ,5@ qѭ *;@ 1qѭA@qѭ@ /K@ %q)AQ@ $-IV@ 0q)\@P&oۀb@ rt  qh@\&oۀ . - -n@b&oۀt@ rt   : 9@@@@@ 8'mul_mod @ @ j @ qѭ }@ qѭ@qѭ@ @ xq)A@ w-I@ q)@&oۀ@ 4rt   { z@&oۀ@ @rt @&oۀ  @&oۀ   @@@@@ /add_mod_idemp_l @vfW@ck ؚ@ qѭ ֚@ 1qѭG@2qѭ@ ۀ@ q)A@ -I@ q)@&oۀ@ %raҀ@&oۀ #   ٩@&oۀ @ 7raҀ /  @@@@@ 䠠/add_mod_idemp_r @ɠ@l +4@ ~qѭ ):@ 0qѭ@@qѭ@ .J@ $q)AP@ #-IU@ /q)[@O&oۀa@ xraҀ pg@[&oۀ - , ,m@a&oۀs@ raҀ  9 8@@@@@ 7'add_mod @ @ m ~@ qѭ |@ qѭ횠@qѭ@ @ wq)A@ v-I@ q)@&oۀ@ raҀ  z y@&oۀ@ raҀ@&oۀ  @&oۀ   @@@@@ 'div_div @ueV@bn ך@ qѭ ՚@+qѭ暠@1qѭ@ ڀ@ q)B@ -I@ ꀐ@ q) ˚ @ -I@ q)@xrf~@~rf~  + ⩚"@rf~ $(@ rt  7 @@@@@ 젠)mod_mul_r @Ѡ@o 3<@ 2qѭ 1B@qѭBH@qѭ@ 6R@ ,q)BX@ +-I@ Fb@ <q) 'g@ :-Il@ Fq)r@f&oۀ tx@ rt   >~@ raҀ@x&oۀ  @ rt  @&oۀ@rf~   \@@@@@ Z*div_mul_le @ ? / @ ,p @ qѭ @qѭ@ qѭ@ @ q)B@ -I@ <q٢@ Prt  @9rf~  @?rf~@ brt    @@@@@ +mod_divides @  | m@ yq @ qѭ 욠@ Bqѭ@ 뀐@ q)A @ -I @ q)@&oۀ  ᚠ!@ -I !@"ex @-@ wqѭ-3@ }qѭ8@q) G>@ rt A@@@ A1@D @ ? >@@A@@ @ O?'@@@E!Fb@+log2_nonneg @@$NLog(Abstract'Natural'Numbers#Coq@)NLog2Prop@A@@@C!D$NLog(Abstract'Natural'Numbers#Coq@4@A@@B!C4@A@@A!B?c @A@@@!A%@A@%NZLog&NatInt'Numbers#Coq@*NZLog2Prop/6@@@A@@@J!E%NZLog&NatInt'Numbers#Coq@B-Private_NZPow@A@@I!D3@A@@H!C4@@ @=@!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@@G!BР@A@@F!A֠@A@@!a@!tqѭ@"leq٢@$zero-I@$log2};A@@@ %'A*Equalities*Structures#Coq@AviA)Morphisms'Classes#Coq@@AAۀߠK @Aۓό^ @A݋X_A/RelationClasses'Classes#Coq@@ABC@@AA@@A@+log2_unique @o_OJE@/b]@/AX@!tqѭ!b@qѭ@@_q٢@^-IA@%Logic$Init#Coq@@#andЖw@@zq٢ @#powrw݀@#twor~BC@"ltqٱ!@rw݀&@r~+@$succ~#2@"eqq)9@};D'@@@@@|'log2_wd @ؠȠà۠@B)Morphisms'Classes#Coq@@&ProperL@c@qѭg@qѭ)Morphisms'Classes@@*respectful%WO?x@qѭ|@qѭ@"eqq)@q)@};@@@A@AA@A@A@ABC@@Ҡ-log2_spec_alt @>.1,@C'@qѭ@@qٱ@%-IA%Logic$Init#Coq@@"ex @@!tqѭ!r@qѭ@#andЖw@@q)ͩ@#addraҀ@rw݀@r~@_};A@vq٢H`@qٱ@rw݀@r~@};@@@~Av@AAn@Al@Aj@A1@Dihg@@ABCD@@i,log2_unique' @ՠŠȠ@DC@!tqѭfJ@mqѭ!cQ@tqѭ@W@q٢\@-IB@lg@q٢l@-IYq@Wqٱ_w@krw݀|@jr~h@@Pq)E@raҀ@rw݀@r~Z@gq)@};F@@@A@AA@ A@ A@ABC@@ꠠ)log2_pow2 @VF61,'ID@E?@qѭ@@>q٢@=-IA@q)@C};@rw݀@r~Ӑ@@@JA5@LA3@AB@@+.log2_pred_pow2 @wrmhWGA@WF@(qѭ@ @qٱ@~-IA@q)@};"@$pred~2)@rw݀.@r~3@~2!@@@A@AA@A@A@ABC@@}&log2_1 @٠ɠĠܠ@GV@$q)\@};a@#onervOf@-I@@@A@A@A@ABC@@&log2_2 @ ٠ɠà @H@Tq)@};@r~@#onervO@@@A@A@A@ABC@@ݠ(log2_pos @I9)$ <7@ I2@qѭ@@qٱ@-rvOA@qٱ@;-I@:};@@@8A0@A9A(@;A&@=A$@ABC@@)log2_null @xhc^YH82{v@HJq@pqѭ=@#iffС)@q)@p};A@|-I@q٢A@rvO@@@~Av@AAn@Al@Aj@ABC@@b,log2_le_mono @Π~x@K<@_qѭ^B@eqѭ@H@q٢BAP@q٢V@};C\@};J@@@A@A@A@ABC@@.log2_lt_cancel @Р@L~@qѭ@qѭ@@pqٱ@};B@};A@qٱ@@@A@AA@A@ A@ABC@@蠠,log2_le_pow2 @TD4/*%GB@M=@qѭ䚠@!tqѭ@@qٱ@B-IB߀@Rq٢@rw݀@r~թ@bq٢ܩ@\};@@@YAQ@[AJ@]AD@ABC@@<,log2_lt_pow2 @~yhXR@hN@9qѭ8@Tqѭ@"@qٱ'@-IB21@qٱ7@+rw݀<@*r~)A@'qٱG@};45@@@A@AA@A@A@ABC@@+log2_lt_lin @ݠؠӠΠ@O暠k@qѭ@q@Wqٱv@-IA|@bqٱ@};pp@@@@@Ġ+log2_le_lin @0  ڠ#@P@qѭ@@q٢@-IA@#q٢@};@@@A@A @A@ABC@@.log2_mul_below @iYID?:)\W@)QR@qѭ@qѭ@@qٱ@V-IB@@qٱ@b-Iᩚ@mq٢@raҀ@m};̩ @s};@y};@#mulrt @@@}Au@An@Ah@ABC@@`.log2_mul_above @̠|v@R:@]qѭ\@@cqѭ@F@q٢K@-IB@R@q٢W@-ID\@q٢b@};h@Qrt /Un@raҀt@raҀz@};A@};m@rvO@@@A@AA@A@A@ABC@@Π-log2_mul_pow2 @:* -(@S#@qѭʚ@qѭ@@qٱ@'-IB@@4q٢@3-I@q)@8};@rt @rw݀@r~ͩ@raҀө@T};@@@RAJ@ASAB@UA@@WA>@ABC@@6+log2_double @}xsbRL@bT@3qѭ@@qٱ@-IA!@q)'@};-@rt 2@ r~7@ ~#=@};+@@@A@A@A@ABC@@)log2_same @Ѡ̠Ǡ @Uښ_@qѭe@qѭ@k@Qqٱp@-IB@w@]qٱ|@-Ii@@Pq)@};O@};{@zqٱ@rt @r~e@@@A@AA@A@ A@ABC@@蠠,log2_succ_le @TD4/*%GB@V=@qѭ@;q٢@5};@~#A@~#@H};A@@@GA?@AHA7@JA5@LA3@ABC@@+,log2_succ_or @wrmhWGA@WW@:qѭM@"or @@q)@};@~#A%@~#+@};A2@q)8@};>@~#AE@};A@@@@@4log2_eq_succ_is_pow2 @ԠϠʠŠ@Xݚb@qѭ@h@6q)n@};t@I~#A{@P~#@};Aˀ@qѭ@qѭ@dq)@q~#@rw݀@r~@@@ A@A A@A@A@A@ABCD@@5log2_eq_succ_iff_pow2 @ ^ N > 9 4 /   QL@ YG@qѭ@@qٱ@E-IA†@q)@O};@~#۩@~#@a};穛B@:qѭ$@@qѭ @q)@~#@ rw݀@ r~&@@@A|@AAt@Ar@ABAo@A@A1ՠF-SetoidTactics'Classes#Coq@@A1I @ABCD@@w0log2_succ_double @  Ӡ à      ֠@ Z̚Q@tqѭ@W@=qٱ\@-IAb@0q)h@};n@raҀt@]rt y@gr~f}@rvO@W~#@};v@@@A@AA@A@A@Ap@ABCD@@Ԡ+log2_add_le @ @ 0        3 .@ [ )@kqѭК@qqѭ@%Logic$Init#Coq@@#notШ@q)B@9rvO@@q)ƚ@HrvO@ Vq٢@ P};@raҀ۩@raҀ@ b};@ h};@@@ fA ^@A gA V@ iA T@ kA R@ABC@@ J+add_log2_lt @       v f `  @ v\ $@ Gqѭ F*@ Mqѭ@0@ qٱ5@ -IB@<@ "qٱA@ -I .F@ ,qٱL@fraҀR@ }; X@ }; E^@Grt c@ Qr~h@ };n@raҀ 5 [@@@ A @A A @ A @ A @ABC@@ 'log2_up @ @ qѭР)Datatypes$Init @*comparison;f@@@@@@@@@@@@D!x@ qѭ@'compare@A@@ 6)log2_up_2 @}x@cg@ q)@l@ r~@ rvO@@@ A {@ A p@ A n@ABC@@ f/le_log2_log2_up @Ҡ %  @h A@ qѭF@ q٢L@ };A@lA@@@ A @A A @ A @ A @ABC@@ 4le_log2_up_succ_log2 @ ]XTPLHD@i y@ qѭ~@ q٢0@lA@ `~#@ };A@@@ A @A A @ A @ A @ABC@@ ܠ1log2_log2_up_spec @H8(#@ j2@ qѭ@@ qٱ@0-IA р@@q٢@ rw݀@ r~@D};  ʩ@Vq٢ Щ@ rw݀@ r~@vl @@@XAP@AYAH@[AF@]AD@ABC@@<2log2_log2_up_exact @~@ik@:qѭ@@qٱ"@-IA -,@ q)2@}; @l& A@ yqѭcG@ qѭL@q)9R@Frw݀W@Er~ _@@@A@AA@A@A@A >@ABCD@@+log2_up_pos @a\XTPLH@l}@qѭ@@iqٱ@ rvOA@tqٱ@-ID@l@@@A@AA@A@A@ABC@@⠠,log2_up_null @N>.)$@m8@qѭ ǀ@q)x@PlA@@-I@Kq٢A@ HrvO@@@@@/log2_up_le_mono @zje`ݠؠԠР̠Ƞ@Knt@qѭ@"qѭ@@yq٢BA @q٢@l@l@@@Aw@AAo@Am@Ak@ABC@@c1log2_up_lt_cancel @Ϡ"  @o>@aqѭ`D@gqѭ@J@0qٱ@lB@lA^@DqٱKL@@@A@AA@A@A@ABC@@/log2_up_lt_pow2 @gb^ZVRN@p@qѭ@ qѭ@@uqٱ@-IB @qٱ@rw݀@r~@qٱ`@8l@@@A@A @A@ABC@@/log2_up_le_pow2 @hXHC>@)qR@qѭ@ qѭ@@qٱ@V-IB 󀠩@fq٢ߩ@rw݀@r~꩚@vq٢@l@@@nAf@AoA^@qA\@sAZ@ABC@@R.log2_up_lt_lin @ @r-@Pqѭ@3@qٱ8@-IA>@$qٱ@l22@@@A@AA@A@A@ABC@@.log2_up_le_lin @ڠՠРMHD@<84@s䚠i@qѭ@o@q٢t@-IAz@q٢,@lnn@@@A@A@A@ABC@@Ƞ1log2_up_mul_above @4$ ~zvrn@t@qѭŚ@qѭ@@#q٢@"-IB@@/q٢@.-I@9q٢w@Ol@ rt @raҀ@al@glА@@@IAA@AJA9@LA7@NA5@ABC@@-1log2_up_mul_below @ytoߠ۠נ@Zu@+qѭ*@1qѭ@@qٱ@-IB@ @qٱ%@-I*@q٢0@JraҀ@l@l)B@~#@lN@ 7rt ;@@@A@AA@A@AA@A /@A '@ABCD@@0log2_up_mul_pow2 @ޠ[VRNJFB@v򚠐w@qѭ}@qѭ@@iqٱ@-IB@@q٢@-I@gq)K@#l@ rt l@rw݀@r~@raҀg@?l@@@!A@A"A@$A@&A @ABC@@.log2_up_double @qaQLGĠ@2w[@qѭ@@qٱ@Y-IA@q)@{l@ rt @r~署@~#@l@@@rAj@tA_@vA]@ABC@@U,log2_up_same @ @x0@SqѭR6@Yqѭ@<@"qٱA@-IB@H@.qٱM@-I:@S@!q)@l  @lLe@Kqٱ㩚k@ Trt p@^r~6@@@A@AA@A@A@ABC@@/log2_up_succ_le @%xsokgc_@y@qѭ@ q٢K@ #l@z~#A@~#^@ 6lA@@@A@AA @A@A@ABC@@/log2_up_succ_or @iYID?@*zS@ qѭ Ӏ@q)@ kl@~#A@~#@ ~lA@q)@ l @~#A@ lA@@@@@W7log2_up_eq_succ_is_pow2 @à      @{2@gqѭ@8@q)@ lD@~#AK@ ~#@ lA[@qѭ}a@qѭf@4q)Sl@`rw݀q@_r~y@@@A@AA@A@A@AX@ABCD@@8log2_up_eq_succ_iff_pow2 @( { v r n j f b@|@qѭ@@qٱ@-IA@zq)^@ 6l@~#@~#p@ Hl @qѭ@ qѭ@q)ũ@rw݀@r~@@@HA@@AIA8@KA6@MA4@OA@ABCD@@.3log2_up_succ_double @zup     ܠ ؠ @[} @,qѭ@@qٱ@-IA@q)@ l&@@raҀ,@rt 1@r~5@rvO:@TraҀ?@-r~D@};2@@@A@AA@A@A@ABC@@.log2_up_add_le @ڠՠР M H D @ < 8 4@~䚠i@&qѭo@,qѭ@ y@Gq)B@rvO@ ˀ@Wq)w@rvO@q٢E@ l@raҀf@raҀW@ /lr]@ 5l@@@A@AA@A@A@ABC@@.add_log2_up_lt @gWGB=       @(Q@qѭ@qѭ@@qٱ@U-IB@@qٱ@a-Iਗ਼@qٱ@raҀ@ l˩@ l@rt @r~@ l @:raҀ @@@A~@AAv@At@Ar@ABC@@j@3V Ka@@dz@*eqb_compat @@@Z!E*Equalities*Structures#Coq@H@A@ 1BoolEqualityFactsL@A@@B)Morphisms'Classes#Coq@@&ProperL@b@!tqѭ@h@qѭ)Datatypes$Init-@@$boolZ'@)Morphisms'Classes @*respectful%WO?@"qѭ@@'qѭ!@"eqq)@2qѭ,@ q)%Logic1@ @:@#eqbrhk@@@ %'Aml>AviA)Morphisms'Classes#Coq@@Aۓό^ @A݋X_A/RelationClasses'Classes#Coq@@ABC@@AA@@A@(eqb_spec @!xZ+@w4Բ!y $Bools@+iff_reflect s1@_4.BA@N4kp/RelationClasses@(symmetry0xjAf@#iffС)@-iff_Symmetric!xrA(=@&eqb_eqZˀ)٠@G@qѭD#@qѭ$Bool#Coq@@'reflectc@6@q)BA>@rhkBA +k() 7!7!L7!77"7777 7! 7!7&'(8pVq̠iDTh_ǐps\a|-"@@@@@'eqb_neq @8-@5C|@qѭ@ qѭ%Logic$Init#Coq@@С)@"eq @/@rhkBA)Datatypes$Init#Coq@@$boolZ'@B+@#notШ@,q)BA@@@@@(eqb_refl @@D@lqѭ?j@1rhkAA;A@@@6A$@A@@'eqb_sym @@E@qѭ@qѭh@ZrhkBA@brhkAB@@@dAR@A@@J)pow_sub_r @@&@!a!b!c%@t*@q)C0@q-I@6@"leq٢BC?@q)E@#powrw݀EM@#subr|uDU@#divrf~ &@@@OAviA)Morphisms'Classes#Coq@@YAۓό^ @]A݋X_A/RelationClasses'Classes#Coq@@ABC@@AA@@A@)pow_div_l @@ѓAmĈl[kҶ@ހjBh@]@&modulo&oۀSivjh\iaw`tqxm@@@ѭA^@AѮAU@ѰAS@ѲA8ӠA4Relation_Definitions)Relations#Coq@@ABC@@U#b2n @)Datatypes$Init0@$boolZ'@ @@@@@@@@AB@qѭwG4@՛)Datatypes$Init#Coq@@$boolZ'@w +k= R'6'6''+k6']HMX!-@@A@A@t@@@@@*b2n_proper @@-B)Morphisms'Classes#Coq@@&ProperL@UC)Morphisms'ClassesЅ@*respectful%WO?aO%Logicb@"eq @lМ@q)РN@}7@@@?A@A@A@BA@DA1DH%Logic$Init#Coq@@ABC@@砠+exists_div2 @@wCQ=@@"ex @Ϗ"a'ϒeGC@#addraҀ@(rt [Lx6@@@҅A,@҇A*@҉A1@DE@ABC@@&+testbit_0_r @@ҶD¶C@"eq @L@'testbit*Y6@#mulrt @#twor~B@7AA@@@Ax@Al@AB@@d.testbit_succ_r @@E͛!nqAĉ=p:7C4B @$succ~#AWCA@@@A@A@AB@@-testbit_spec' @@/F ö7Ŀꀠ[/@u*YBA怠BxA{@@@5A@A6A@9A@A:AРD.Morphisms_Prop'Classes#Coq@@DA@FA@ABCD@@ᠠ,testbit_spec @@qGK7yʮj!lmЊ!hЍ @#andЖw@%Logic$Init#Coq@@#andЖw@@Zq٢eB@"ltqٱB\ـCiD"B퀠+萩DCAC@@@ӼAm@AӽAd@ӿAb@A8@A@ABCD@@^,testbit_true @@Hł~x@#iffС)=ŅĀBAA`BĀAAD@#onervO@@@@@-testbit_false @@+Iſ3Ż=wſBA>B造B{A~@@@@@Ҡ+testbit_eqb @@bJ<j򩛠򩚠1BAf@rhk̀B0Al@@@@@'b2n_inj @@ԔK"a0"b0@VǐBʐz:쀰de@@@@@&3add_b2n_double_div2 @@ԶL"Ʃsa/쐐BAA@@@ԶAg@ԸA_@ԺA]@ABC@@U3add_b2n_double_bit0 @@MQ瀶/w^B+(AƀB@@@A@A@A@ABC@@(b2n_div2 @@NπDAMꀐ@@@A@ A@ A@ABC@@(b2n_bit0 @@7O9ǩgA A@@@*A@,A@.A@ABC@@ɠ.testbit_unique @@YP3a̖ɛ_so@\@qٱBD@,F倠6퀠*G?>؀ _G$G@@@~A/@ՀA'@ՂA%@ABC@@&bits_0 @@խQ;;z|AB@@@՞AO@ՠAG@բAE@ABC@@=(bit0_odd @@Ra[A@#oddruA@@@At@Ah@A>@ABC@@b(bit0_eqb @@Sdž8ǀA€YA2@@@A@A@A@ABC@@(bit0_mod @@TǰՀF뀠AAZ@@@A@A@A@ABC@@+testbit_odd @@BUֶJҩҩBAvJ@&shiftr'E,aBA@@@>A@@A@BA@ABC@@ݠ(bit_log2 @@mVG3@@A>F<y@$log2};CA@@@oA @ApA@rA@tA@ABC@@/bits_above_log2 @@֟Wyԭ@>%BA:ynoB@@@֛AL@A֜AۀߠKM@֠AG@֢AE@ABC@@=)div2_bits @@X޶]]zBAB@~#A@@@A@Aw@Au@ABC@@m-div_pow2_bits @@Y:ȏGȏ΀C>BA߀CAB@@@A@AA@A@ A@ABC@@0double_bits_succ @@5ZA=֭}ũroBbABA@@@4A@6A@AB@@Ѡ1mul_pow2_bits_add @@a[;riΞ3ԥ󩚠2C%B怠ABHCA@@@hA@jA @AB@@2mul_pow2_bits_high @@ו\oԦՏgՌ@\BA怰.mۀP_܀lm{Zaut@@@םAN@ןAF@סAD@ABC@@<1mul_pow2_bits_low @@]ݶڶО@mABeB@@@A@Ax@Av@ABC@@n2mod_pow2_bits_high @@^@ŀBAOɗրiȀE֜B@@@A@A@AB@@1mod_pow2_bits_low @@._#6<D@πABǩ驚u @@@2A@4A@6A@ABC@@Ѡ#eqf @!f@l~!gnq"%ʩ'@ @f@ qѭu@ |A |+k() +7T'  77&'t`Fh@@@@@ )eqf_equiv @@؛`/RelationClasses'Classes#Coq@@+Equivalence~@:؜@R7_@@@@@(+testbit_eqf @@ظa@Y[lh@g7_ @'testbit*Y@@@ةAZ@ثAN@AB@@F*bits_inj_0 @@bj@ggBAB@@@@@h(bits_inj @@cʌʎ@T=BB~ǐ@@@A@AA@A@A@AE@ABCD@@,bits_inj_iff @@"dʶʸ4jBoABA@@@@@(are_bits @@He@ڀM@#@@@*respectful%WO?gy Ao쀠o€'m!kpHm@=:ŀ80@B@@@lA@AmA@oA@qA7@sA@ABCD@@,shiftr_spec' @@ٞfxp0耰0oXCBAzC#AB@@@@@81shiftl_spec_high' @@g7¶Қ׿@BAa@&shiftl'E,[@@@@@f/shiftr_div_pow2 @@hMJBAB7A@@@@@/shiftl_mul_pow2 @@iˉ"ˆՀEBAYBހ[A@@@@@/shiftl_spec_alt @@>j ˭F˪ׂЩoCBABCA@@@?A@AA@AB@@ܠ)shiftr_wd @@lk?@x@yy6{!8}}##ؿ@!'E,a@@@[A @]A @_A @ABC@@)shiftl_wd @@ڊl]@'E,[@@@sA $@uA @wA @ABC@@ -shiftl_shiftl @@ڢm |t _πӀCBAڀC'BA@@@ڣA T@ڥA L@ڧA J@ABC@@ B-shiftr_shiftr @@n )&Ӥ( CBACWBA@@@A @A |@A z@ABC@@ r/shiftr_shiftl_l @@o q @ ɀAB ƀ:   ԩ>  Ȁ  ܐ@@@A @A @A @ABC@@ /shiftr_shiftl_r @@3p ̢;-*@ BA k    򩚠   @@@5A @7A @9A @ABC@@ Ԡ*shiftl_1_l @@dqjΩ RA "A@@@YA @[A @]A @ABC@@ *shiftl_0_r @@ۈr b AA XA@@@wA (@yA @{A @ABC@@ *shiftr_0_r @@ۦs  _XA vA@@@ەA F@ۗA >@ۙA <@ABC@@ 4*shiftl_0_l @@t. }퀠 A @@@۴A e@۶A ]@۸A [@ABC@@ S*shiftr_0_l @@u5  A @@@A @A |@A z@ABC@@ r/shiftl_eq_0_iff @@v q n 1BA ـ ̀B @@@A @A @A @ABC@@ /shiftr_eq_0_iff @@-w ̈́ 5́? 쀠倠BA  @"or @ B ̀ B܀BA@@@FA @HA @JA @ABC@@ 堠+shiftr_eq_0 @@ux O }ڃ@BA ;4 D E Q@@@@@ (div2_div @@ܘy r{ Qɔ@$div2|劀A GA Հ@@@܎A ?@ܐA 7@ܒA 5@ABC@@ -'div2_wd @@ܽz PM @$div2|劀@@@ܧA X@ܩA P@ܫA N@ABC@@ F(div2_odd @@{ ܜ A H  IA A@@@A @A }@A {@ABC@@ s'lxor_wd @@| րP@$lxor}Ā@@@A @A @AB@@ 'land_wd @@} 퀰g@$land}4@@@A @A @AB@@ &lor_wd @@1~ Ú~@#lorrr4@@@A @A @AB@@ (ldiff_wd @@H ښە@%ldiffS@@@2A @4A @AB@@ Ϡ'lxor_eq @@_@ 9Y V@ ^@$lxor}ĀBA 6 * / 0@@@XA @ZA @AB@@ .lxor_nilpotent @@݅A _ >#AA V@@@@@ -lxor_eq_0_iff @@ݝB wΗ Δ  \ABA t hBA@@@ݘA I@ݚA A@ݜA ?@ABC@@ 7(lxor_0_l @@C μ e AA@@@@@ O(lxor_0_r @@D ٩ }A A@@@@@ g)lxor_comm @@E   BAAB@@@@@ *lxor_assoc @@F     ҀCBA€CǀBA@@@@@ 'lor_0_l @@?G b ;@#lorrr4 AA@@@@@ ʠ'lor_0_r @@ZH 4ς A *A@@@@@ ⠠(lor_comm @@rI LϚ Kϗ -5BA;AB@@@@@ )lor_assoc @@ސJ jϸ iϺ hϷ MUCZBA`dCBA@@@@@ *(lor_diag @@޺K ⩚ s{AAA@@@@@ A*lor_eq_0_l @@L  @ BA    @@@A z@A n@AB@@ f,lor_eq_0_iff @@M    BA ̀  ŀB ؀ ̀A ߀@@@A @AAc@A @A @ABC@@ (land_0_l @@.Nh 瀠*@$land}4A@@@@@ (land_0_r @@JO$ЉA@@@@@ Ӡ)land_comm @@cP=Т<П7BA=AB@@@@@ *land_assoc @@߁Q[Z¶Yп>WC\BAbfCBA@@@@@)land_diag @@߫R꩚d}AAA@@@@@2)ldiff_0_l @@SΩ{̾@%ldiffSA@@@@@N)ldiff_0_r @@T署AA@@@@@f*ldiff_diag @@U4AAǀ@@@@@~0lor_land_distr_l @@VMJ5ˀӀ耠CBA†CA耠BA@@@@@0lor_land_distr_r @@=We~{CBACBCA@@@@@ܠ0land_lor_distr_l @@lXFєEёDѪ)B5CBA<QCAWBA@@@@@ 0land_lor_distr_r @@YuڶtŶs©XqCeBAkCBCA@@@@@:-ldiff_ldiff_l @@Z۶ضک CBACBA@@@@@d-lor_ldiff_and @@[8BAҀBAB@@@@@*land_ldiff @@\(%Ҁ뀠[BAA@@@@@&setbit @?@߆@eEҩ^ P+k()77! 7%'lߔd|@@@@@ʠ(clearbit @$bc#@7neg ِl߳d!|@@@@@頠,setbit_spec' @@y]Sҡ婚4t@UdBADB?A@@@vA'@xA@zA@ABC@@.clearbit_spec' @@^Ҷ`@]G}BA퀠Bk耐A@@@AS@AK@AI@ABC@@A)setbit_wd @@_ec~@d@@@Ak@Ac@Aa@ABC@@Y+clearbit_wd @@`}{@G}@@@A@A{@Ay@ABC@@q.pow2_bits_true @@a<Gӏ΀9AAA@@@A@A@A@ABC@@/pow2_bits_false @@&b,춐@oBAykDB@@@'A@)A@+A@ABC@@Ơ-pow2_bits_eqb @@Vc\ّ&橛橚%BA BA@@@@@ꠠ*setbit_eqb @@zdTӢ涐L Ā KCBA)Datatypes$Init#Coq@@#orb-BAjCA@@@A;@A/@AB@@'*setbit_iff @@e߶#ۉIˀMHCBAABA!iCAA@@@@@d)setbit_eq @@f`<ԄÀBAAA@@@A@A@@*setbit_neq @@g>޶۶@a퀠BAkԳ򀠩쩚@@@@@,clearbit_eqb @@AhRIԭөөCBA@$andb=$CAc@$negbBA@@@QA@SA@AB@@,clearbit_iff @@~iXԏ궐P̀S〠CBAA‰*iCAA{BA@@@@@/+clearbit_eq @@jж+OBAAB@@@@@O,clearbit_neq @@k㧶ܱ㤶@*BA4|KÀ@@@@@z+shiftl_lxor @@ lxǀ 7CBA FCA LBA@@@@@+shiftr_lxor @@9m30CՏ ߀CBA怠 CABA@@@@@ؠ+shiftl_land @@hnBէAդr֩% BCBAI CA BA@@@@@+shiftr_land @@oqֶpӶTMqCBAx\CAbBA@@@@@6*shiftl_lor @@p붐4 󀠩CBA CA BA@@@@@e*shiftr_lor @@qKCBAŀCABA@@@@@,shiftl_ldiff @@$r52.֒ဠ QjCBAq `CA fBA@@@@@à,shiftr_ldiff @@Ss-d,a]֩ CBACABA@@@@@$ones @ @~2N@萐 @+k77!7$' `ސXl@@@@@$lnot @n =aR@07(> @֧֠ H+k()7 7%'td@@@@@7'ones_wd @@t Z W"@@@A]@AU@AS@ABC@@K'lnot_wd @@u o m@D7(/@@@Au@Am@Ak@ABC@@c*ones_equiv @@v]@7(>A@$pred~25A@@@A@A@A@ABC@@(ones_add @@w$Y`ـ-ABe造fAFBKA@@@+A@A,A@.A@0A@ABC@@ˠ-ones_div_pow2 @@[xaN+U@ AB u*#1%89@@@bA@AcA@eA @gA @ABC@@-ones_mod_pow2 @@y䅶b䌶@WABTaZ׀hl@@@AF@AA@A?@A=@ABC@@5-ones_spec_low @@zѶߕٶ@dAB\߀A@@@Ar@AA&@Ak@Ai@ABC@@a.ones_spec_high @@{鶐@BA@؈ǀ  B@@@A@AAR@A@A@ABC@@-ones_spec_iff @@|#؇ح/iر4BA4AЀAB@@@@@-lnot_spec_low @@F} @NT\@瀠ABߩN@7(/, "@@@@@㠠.lnot_spec_high @@s~Mm{mEj@:BAĀ K-.DES2I@@@@@ /lnot_involutive @@tؔUGKBAAB@@@@@((lnot_0_l @@"qcÀA@@@@@D)lnot_ones @@>倐AA@@@@@`,lor_ones_low @@n@vBA ĩȐ@@@@@)land_ones @@X!مԀ퀠B-ABဠ^A@@@@@-land_ones_low @@AݿIO@ǀBA _@@@>A@A?A@AA@CA@ABC@@ޠ,ldiff_ones_r @@nHvک)BA0BAA@@@lA@nA@pA@ABC@@ 0ldiff_ones_r_low @@u橶@:!BAa怠jo{@@@@@20ldiff_ones_l_low @@@ж@aHBA @@@@@[-lor_lnot_diag @@W BBA B A@@@@@1lor_lnot_diag_low @@ސ @BA؀ ᩚ΀橚4@@@A@A@A@ABC@@.land_lnot_diag @@AڀIڭ B󀠐BA B`A@@@@@ؠ2land_lnot_diag_low @@hB涐pv@BA. G7$;<H@@@fA@hA@jA @ABC@@,lnot_lor_low @@on祶@6CA@A(ghfX re]s dm{hi@@@@@A-lnot_land_low @@OQ@rYCA@}d  @@@@@}.ldiff_land_low @@ ߋ@CAՀ Zީ ̩π@@@@@.lnot_ldiff_low @@8߶߸BH@ـCA@䀠ˀ     @@@@@ࠠ.lxor_lnot_lnot @@pJjIlzީ- #CA)BA "CB@@@@@ +lnot_lxor_l @@t۔sۑWI @CBA GXCAB@@@@@4+lnot_lxor_r @@۾ۻ2s jCBA qCBA@@@@@^(lxor_lor @@-*@ ÀBA€  €Đ@@@A@A@AB@@0log2_bits_unique @@ܭ!ܩ@bܪ造BA)A@8@ɀũwܿYC\`BcgAj@@@@@!.add3_bits_div2 @@"c0uc15Cg J CB A YCB@@@A@AA5@Az@Ax@ABC@@p.add_carry_div2 @@@=K{CB>AGȀCVπB]Y  倠C  B A ÀC $B'@@@FA@AGA@IA@KA@ABC@@栠.add_carry_bits @@vP궶O곶|uVw?DCB15DCA!_MBҩkDCAzDC Q_B@@@Ab@AA@A[@ABAX@A~@AA0@A1ՠF-SetoidTactics'Classes#Coq@@A1I @A@ABCDE@@d(add_bit1 @@41<߄ÀkBAꀩ׀BހA Ȁ造B쀩A@@@A@AAw@A@A@A@ABCD@@-nocarry_equiv @@D߃߀Y@A~&CB,A CB@7-9wB49F:S5-P@@@oA @ApA@rA@tA@ABC@@0add_nocarry_lxor @@y޶x۶@[tBAsgpqPtu@@@AO@AA@AH@AF@A@ABCD@@@(ldiff_le @@ᶐ޶@BA@@@@@_1sub_nocarry_ldiff @@@0ABÀ@Ő@@@A@A@A@ABC@@1add_lnot_diag_low @@䚶$*@BA†멚؀𩚠 >@@@A@A@ A@ABC@@,lnot_sub_low @@K%ɶSY@ꀠрBA  m#"@@@KA@MA@OA@ABC@@ꠠ3add_nocarry_lt_pow2 @@zT๶Sබ湶@8QCBP@(4CQ@3?Nˀ[=2U\ـS@@@AD@AA@A=@A;@ABC@@37add_nocarry_mod_lt_pow2 @@@CBpE4> @@@A@A~@AB@@v@@@@A@AM@L@AB-,*@@A*!CDEx@@@@ ӳ2@ ӳ2[ x w v@@A@ Գq@ Գq\@A@AB@@@&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!0όe얟)H.Ƞ+Equivalence'Classes#Coq@07;ꮹ-GenericMinMax*Structures#Coq@0måj$$Init'Classes#Coq@0](p{yOh.0\͉!Ig*Logic_Type$Init#Coq@0 1jc60Imӽ%\$PD@0% :B'.>u%$NAdd(Abstract'Natural'Numbers#Coq@05;ZW:㥜un$)NAddOrder(Abstract'Natural'Numbers#Coq@02'8zn7Hfɠ0Zخb1Z3uuѠ%NBase(Abstract'Natural'Numbers#Coq@0 Y?V vIY&0bz$?[p(58.0K Aat/ j &NOrder(Abstract'Natural'Numbers#Coq@0]@7U#oYw0̗SKz*!&4hl0҆mulfd0: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|ؠ'Prelude$Init#Coq@0JqTttֱ I H G@0Gz rA6ՠ@0]4Ѐd{n^2Relation_Operators)Relations#Coq@0%s鯰s)Relations#Coq@0@0S_`nOU$&Specif$Init#Coq@0;RWMi\N'Tactics$Init#Coq@0/9m+ a'Tactics'Program#Coq@03"8\ Dy,nZڠ9@-#tӡ*Equalities*Structures#Coq@"@ 7@A@"<@@qѭ@@A@Aq)@@A@q٢@@A@ABqٱ@@A@ra@@A@Arf~@@A@rhk@@A@ABCrj5@o@A@rqf@@A@Arr4@@A@rr@@A@ABrr@@A@rs'@@A@Art @߿@A@ru@߾@A@ABCDrvO@߽@A@rw@߾@A@Ar|u@߽@A@r~@߼@A@AB|@߻ߺ@A@}@߹@A@A}4@߸߷@A@};@߶@A@ABC}@ߵߴ@A@~2@߳@A@A~@߲@A@~#@߰@A@AB-I@߯@A@S@߯߮@A@A&o@߭߬@A@'E,[@߬߫@A@AB'E,a@ߨߧ@A@'XL>@ߧߦ@A@*Y@ߥߤ@A@@A@@@@@@@@#_182M접#_19'`o@E@@@@@@DL""@!Ҡ2 Q@@A@#_20Y@!P@A@@@@5@#_212M접 #_22'`o@E@@@@@@vJ "Ϡ"E@!2 Q@@@@#_23 2f@#_242M접 AA@A#_25'`o@A*bool_scope@!@!2 Q@@J@#_27@!x@A@@@@@#_282M접 #_29'`o@@@@#_3046@@!L@@@ #_31X@3typeclass_instances!@@@" @!!"@"!@""@!!8@@@@]! @ 1Coq.Numbers.Natural.Abstract.NBits.NBitsProp#<>#1+@!2 Q@@A@#_32@!=u@A@@@@@#_332M접 #_34'`o@A@@@!2 Q@@A@#_35;@! m0@A@@@@@#_362M접 #_37'`o@B@@m"f@!{2 Q@@A@#_38c@!^@A@@@@?@#_392M접 #_40'`o@C@۠@@񖠐"@!l2 Q@@A@#_41@!w5Ny!@A@@@@k@#_422M접 #_43'`o@B@@@HE@!Q2 Q@@A@#_44@!\&,\4@A@@@@@#_452M접 #_46'`o@B@@@@ 2 Q@@A@#_47@!&,{@A@@@@@#_482M접 #_49'`o@B@@@斠@ 2 Q@@A@#_50@ 53@A@@@@@#_512M접 #_52'`o@B@@@潠@ ՠ2 Q@@A@#_53+@  m3@A@@@@@#_542M접 #_55'`o@B@@@䠐@ ʠ2 Q@@A@#_56R@ 1=@A@@@@.@#_572M접 #_58'`o@Cɠˠ@@#|#$8@ ՠ2 Q@@A@#_59@ !ƢY@A@@@@[@#_602M접 #_61'`o@B@@#@ Π2 Q@@A@#_62@ !l@A@@@@@#_632M접 #_64'`o@B@@#Ϡ@ Ǡ2 Q@@A@#_65@ 9K@A@@@@@#_662M접 #_67'`o@AF@#@ Ƞ2 Q@@A@#_68@ 9v@A@@@@@#_692M접 #_70'`o@Aj@$@ ʠ2 Q@@A@#_71@ @A@@@@@#_722M접 #_73'`o@G@@@@@@@퀠$J]Z 점% @ 2 Q@@A@#_74S@ p,@A@@@@/@#_752M접 #_76'`o@A@@@ 2 Q@@A@#_77v@ i@A@@@@R@#_782M접 #_79'`o@A@@.@ 2 Q@@A@#_80@ is@A@@@@u@#_812M접 #_82'`o@A@@Q@ 2 Q@@A@#_83@ i@A@@@@@#_842M접 #_85'`o@A@@t@ 2 Q@@A@#_86@  mX@A@@@@@#_872M접 #_88'`o@B@@@蘠@ 2 Q@@A@#_89@ ȵ @A@@@@@#_902M접 #_91'`o@B@@@񠐑&s@ 2 Q@@A@#_92-@ Õ@A@@@@ @#_932M접 #_94'`o@C@@@@Ѡb!@ 2 Q@@A@#_95X@ ^@A@@@@4@#_962M접 #_97'`o@B@@@ꎠ@ 2 Q@@A@#_98@ 9ׂ@A@@@@[@#_992M접 $_100'`o@C@@@@궠㠐9@ 2 Q@@A@$_101@ 4@A@@@@@$_1022M접 $_103'`o@B@@@۠H@ |2 Q@@A@$_104@ /k@A@@@@@$_1052M접 $_106'`o@C@@@@5=@ s2 Q@@A@$_107@ ~-'`B@A@@@@@$_1082M접 $_109'`o@D@@@@@4&@ k2 Q@@A@$_110+@ v/{@A@@@@@$_1112M접 $_112'`o@D@@@@@caj"@ h2 Q@@A@$_113Z@ sl @A@@@@6@$_1142M접 $_115'`o@D@@@@@v|z'K@ g2 Q@@A@$_116@ r+;j@A@@@@e@$_1172M접 $_118'`o@D@@@@@률Ƞ#T@ c2 Q@@@@$_119 .@$_1202M접 @$_121'`o@B.function_scope@AA@ N2 Q@@J@$_122@ Y c@A@@@@@$_1232M접 $_124'`o@@@@$_12546@@@ d~@1@!$_126X@0 z@@@@ '#@ }@@D  @ 1Coq.Numbers.Natural.Abstract.NBits.NBitsProp#<>#2+@ 2 Q@@J@$_129.@  m7@A@@@@ @$_1302M접 $_131'`o@@@@$_13246@}@$_133X@|'4@@@'r@'v'@':'@''@'3 ʐ ɐ8@@|X @ 1Coq.Numbers.Natural.Abstract.NBits.NBitsProp#<>#3+@ ɠ2 Q@@A@$_134@ o!@A@@@@o@$_1352M접 $_136'`o@B@@MA@ Π2 Q@@A@$_137@ Y@A@@@@@$_1382M접 $_139'`o@C@@@@tw!>@ Ϡ2 Q@@A@$_140@ )@A@@@@@$_1412M접 $_142'`o@B@@@랠@$_1484e;'bitwise@@@@BB@A@)lxor_spec(6%!A@@AB)@(lor_specp<赩褠蠠A@@C;@)land_spec<ꠓ€ÀA@@DM@*ldiff_specUN裩蒠莠ĀŀƀA@@E $$$ǀA@@ABCD@A@@@@@@@@'C|@c@AR@A@0@@ABCD@A@@)O@&@A@A@@@@@@5@Y@A@̡@L@A@AB@t@A@蝡@@A@AC@@@c@@A@Af@~@A@i@n@A@l@^@A@ABC@A@@@d@@A@Ag@@A@j@w@A@m@g@A@ABC@B@@A@@@e@@A@Ah@@A@k@@A@n@p@A@o@`@A@ABCD@A@@A@'bitwiseF@@@@A@@@5u*u***@@@@@@?u*u***@ Du*u**+ l@=autorewrite_with_#_#_4C69D526"٠=='bitwise@#)-栐@@@!2 Q@@A@$_149@!6D:@A@@@@@$_1502M접 $_151'`o@BF@@A(@!2 Q@@A@$_152"@!N@A@@@@@$_1532M접 $_154'`o@C@@@@쟠읠@!2 Q@@A@$_155M@!>=<@A@@@@)@$_1562M접 $_157'`o@D@@@@@㠐om*>@!2 Q@@A@$_158|@! {@A@@@@X@$_1592M접 $_160'`o@B@@@@!2 Q@@A@$_161@!?@A@@@@@$_1622M접 $_163'`o@B@@@75@!2 Q@@A@$_164@!07>w@A@@@@@$_1652M접 $_166'`o@C@@@@_]6@!2 Q@@J@$_167@!&@A@@@@@$_1682M접 $_169'`o@@@@$_17046@GD@$_171X@C)@@@*9@*=*@**H@*L*O)**Z*]** !鐠D@@Od!X@ 1Coq.Numbers.Natural.Abstract.NBits.NBitsProp#<>#4+@!2 Q@@J@$_172f@!O@A@@@@ B@$_1732M접 $_174'`o@@@@$_17546@@$_176X@*l@@@*@***q*@***i**ː*ΐ*w*z"BD@@d"P`@ 1Coq.Numbers.Natural.Abstract.NBits.NBitsProp#<>#5+@"A2 Q@@A@$_177@"L*@A@@@@ @$_1782M접 $_179'`o@C@@@@ljm@"<2 Q@@A@$_180@"G*KU@A@@@@ @$_1812M접 $_182'`o@C@@@@}@"72 Q@@A@$_183-@"B$@A@@@@ @$_1842M접 $_185'`o@D@@@@@àJR,@"52 Q@@A@$_186\@"@$@A@@@@ 8@$_1872M접 $_188'`o@D@@@@@򠐑~|,M@"32 Q@@A@$_189@">"b#R@A@@@@ g@$_1902M접 $_191'`o@A@@@"22 Q@@A@$_192@"="b!@A@@@@ @$_1932M접 $_194'`o@A@@A@"72 Q@@A@$_195@"B"nU@A@@@@ @$_1962M접 $_197'`o@A@@L@"<2 Q@@A@$_198@"G"b!@A@@@@ @$_1992M접 $_200'`o@A@@@"@2 Q@@A@$_201@"K"nO@A@@@@ @$_2022M접 $_203'`o@A@@@"D2 Q@@A@$_204:@"Oo@A@@@@ @$_2052M접 $_206'`o@B@@@Π@"@2 Q@@A@$_207a@"K;@A@@@@ =@$_2082M접 $_209'`o@B@@@ݠ@"2 Q@@A@$_210@"*.4{@A@@@@ d@$_2112M접 $_212'`o@C@@@@,)O@"'2 Q@@A@$_213@"2?H+$@A@@@@ @$_2142M접 $_215'`o@A@@@"%2 Q@@J@$_216@"0#@A@@@@ @$_2172M접 $_218'`o@@@@$_21946@ ( %@$_220X@ $,@@@--,-%-(,ѐ,Ԑ"i.@@ N"w#@ 1Coq.Numbers.Natural.Abstract.NBits.NBitsProp#<>#6+@"g2 Q@@A@$_2211@"r?H:6@A@@@@ @$_2222M접 $_223'`o@A@@@"]2 Q@@J@$_224T@"h8@A@@@@ 0@$_2252M접 $_226'`o@@@@$_22746@  @$_228X@ -Z@@@-@---_-@---W-q---e-h"D@@ d"N@ 1Coq.Numbers.Natural.Abstract.NBits.NBitsProp#<>#7+@"2 Q@@J@$_229@"5,b@A@@@@ @$_2302M접 $_231'`o@@@@$_23246@  @$_233X@ -@@@. @. .-.@..-Ȥ-.*.--֐-ِ#D@@ d#(@ 1Coq.Numbers.Natural.Abstract.NBits.NBitsProp#<>#8+@#2 Q@@J@$_2346@#b@A@@@@ @$_2352M접 $_236'`o@@@@$_23746@  @$_238X@ .<@@@.z@.~..A.@...9.S...G.J#kD@@ d#y0@ 1Coq.Numbers.Natural.Abstract.NBits.NBitsProp#<>#9+@#k2 Q@@J@$_239@#v@A@@@@ @$_2402M접 $_241'`o@@@@$_24246@  @$_243X@ .@@@.@..򤐑..@./../ /..#ŐD@@ d# @ 2Coq.Numbers.Natural.Abstract.NBits.NBitsProp#<>#102}@#Š2 Q@@A@$_244@#8I@A@@@@ @$_2452M접 $_246'`o@C@@@@86/@#ʠ2 Q@@A@$_247C@#@A@@@@@$_2482M접 $_249'`o@A@@a@#ՠ2 Q@@A@$_250f@#40@A@@@@B@$_2512M접 $_252'`o@B@@@򅠐@#Ҡ2 Q@@A@$_253@# @A@@@@i@$_2542M접 $_255'`o@A@@@#ݠ2 Q@@A@$_256@# @A@@@@@$_2572M접 $_258'`o@A@@@#2 Q@@A@$_259@# âe@A@@@@@$_2602M접 $_261'`o@B@@@򠐑@#2 Q@@A@$_262@#(@A@@@@@$_2632M접 $_264'`o@C@@@@@#2 Q@@A@$_265%@#7D:R@A@@@@@$_2662M접 $_267'`o@A@@l@#2 Q@@A@$_268H@$7D:X@A@@@@$@$_2692M접 $_270'`o@A@@@$2 Q@@A@$_271k@$:b@A@@@@G@$_2722M접 $_273'`o@B@@@󸠐@$2 Q@@A@$_274@$/n@A@@@@n@$_2752M접 $_276'`o@C@@@@ࠐ㠐@$2 Q@@A@$_277@$:t @A@@@@@$_2782M접 $_279'`o@A@@ @$2 Q@@A@$_280@$&.b@A@@@@@$_2812M접 $_282'`o@C@@@@.,1@$!2 Q@@A@$_283 @$,)@@A@@@@@$_2842M접 $_285'`o@B@@@XV@$2 Q@@A@$_2862@$IXR@A@@@@@$_2872M접 $_288'`o@A@@@$2 Q@@A@$_289U@$"IXX@A@@@@1@$_2902M접 $_291'`o@A@@@$!2 Q@@A@$_292x@$,;z@A@@@@T@$_2932M접 $_294'`o@B@@@ܠ@$*2 Q@@A@$_295@$5 @A@@@@{@$_2962M접 $_297'`o@C@@@@@$+2 Q@@A@$_298@$6;z @A@@@@@$_2992M접 $_300'`o@A@@-@$72 Q@@A@$_301@$B 68@A@@@@@$_3022M접 $_303'`o@A@@@$>2 Q@@A@$_304@$I 6>@A@@@@@$_3052M접 $_306'`o@A@@E@$I2 Q@@A@$_3073@$T#9&2@A@@@@@$_3082M접 $_309'`o@A@@h@$T2 Q@@A@$_310V@$_%o@A@@@@2@$_3112M접 $_312'`o@C@@@@@$P2 Q@@A@$_313@$[%o@A@@@@]@$_3142M접 $_315'`o@C@@@@Ϡ預@$L2 Q@@A@$_316@$W#@A@@@@@$_3172M접 $_318'`o@C@@@@@$H2 Q@@A@$_319@$S#@A@@@@@$_3202M접 $_321'`o@C@@@@<(&@$D2 Q@@A@$_322@$O7[@A@@@@@$_3232M접 $_324'`o@C@@@@97:@$E2 Q@@A@$_325-@$P [f@A@@@@ @$_3262M접 $_327'`o@B@@@ca@$I2 Q@@A@$_328T@$T -@A@@@@0@$_3292M접 $_330'`o@B@@@@$Q2 Q@@@@$_331$&U@$_3322M접 $Bits@'ReȠ$_333'`o@B@@@ˠ@$W2 Q@@@@$_334$P@$_3352M접 *@%kN$_336'`o@B@@@۠7@$_2 Q@@A@$_337@$j*@A@@@@@$_3382M접 $_339'`o@B@@@^@$Z2 Q@@A@$_340@$e%G@A@@@@@$_3412M접 $_342'`o@B@@@)@$U2 Q@@J@$_343@$`M"@A@@@@@$_3442M접 $_345'`o@@@@$_34646@li@$_347X@h4 @@@4^@4b4e4%4m@4q4t447444+4.$D@@td$}@ 2Coq.Numbers.Natural.Abstract.NBits.NBitsProp#<>#112~@$2 Q@@J@$_348@$ "@A@@@@g@$_3492M접 $_350'`o@@@@$_35146@ڐ@$_352X@ْ4@@@4ϸ@4Ӑ4֤44޸@4␑4向444𐑐4󐑐44%D@@堒d%@ 2Coq.Numbers.Natural.Abstract.NBits.NBitsProp#<>#122@%2 Q@@A@$_353@%=ܝG@A@@@@@$_3542M접 $_355'`o@A@@[@%2 Q@@A@$_356@%7E@A@@@@@$_3572M접 $_358'`o@C@@@@  6@%2 Q@@A@$_359J@% 7w _@A@@@@&@$_3602M접 $_361'`o@B@@@@%2 Q@@A@$_362q@%ݛ@A@@@@M@$_3632M접 $_364'`o@C@@@@+@$2 Q@@A@$_365@$r@A@@@@x@$_3662M접 $_367'`o@C@@@@ꠐ/V@$ߠ2 Q@@A@$_368@$M@A@@@@@$_3692M접 $_370'`o@B@@@Y@$2 Q@@A@$_371@$w@A@@@@@$_3722M접 $_373'`o@D@@@@@=ޠܠ7c@$2 Q@@A@$_374@$#!D@A@@@@@$_3752M접 $_376'`o@C@@@@T@$֠2 Q@@A@$_377H@$#&@A@@@@$@$_3782M접 $_379'`o@C@@@@۠@$2 Q@@A@$_380s@$ !@A@@@@O@$_3812M접 $_382'`o@B@@@@$Ǡ2 Q@@A@$_383@$#- @A@@@@v@$_3842M접 $_385'`o@D@@@@@Ҡ8@$ˠ2 Q@@A@$_386@$-R@A@@@@@$_3872M접 $_388'`o@C@@@@預砐_@$Ǡ2 Q@@A@$_389@$.5B{@A@@@@@$_3902M접 $_391'`o@C@@@@r@$à2 Q@@A@$_392 @$-RpY@A@@@@@$_3932M접 $_394'`o@C@@@@@$2 Q@@A@$_395 J@$.5!@A@@@@&@$_3962M접 $_397'`o@C@@@@@$2 Q@@A@$_398 u@$"bw@A@@@@Q@$_3992M접 $_400'`o@C@@@@à @$2 Q@@A@$_401 @$"nf!@A@@@@|@$_4022M접 $_403'`o@C@@@@점@$2 Q@@A@$_404 @$="A@A@@@@@$_4052M접 $_406'`o@C@@@@a@$2 Q@@A@$_407 @$ oo@A@@@@@$_4082M접 $_409'`o@C@@@@-+t@$2 Q@@@@$_410$5*@$_4112M접 U,ZeroSuccPred@$="zP$_412'`o@A@@@$2 Q@@@@$_413"P!@$_4142M접 @,X$_415'`o@B@@@f@$2 Q@@J@$_416 n@$?p@A@@@@J@$_4172M접 $_418'`o@@@@$_41946@@$_420X@8t@@@888u888i8l%.@@N%R @ 2Coq.Numbers.Natural.Abstract.NBits.NBitsProp#<>#132@$2 Q@@J@$_421 @%7@A@@@@@$_4222M접 $_423'`o@@@@$_42446@@$_425X@8@@@9 @9989@9 9#8̤89.918ڐ8ݐ%TD@@#d%b ,@ 2Coq.Numbers.Natural.Abstract.NBits.NBitsProp#<>#142@%S2 Q@@A@$_426 :@%^!A@A@@@@@$_4272M접 $_428'`o@A@@@%K2 Q@@A@$_429 ]@%V]|@A@@@@9@$_4302M접 $_431'`o@B@@@@%52 Q@@A@$_432 @%@%; @A@@@@`@$_4332M접 $_434'`o@C@@@@  :q@%)2 Q@@A@$_435 @%4@A@@@@@$_4362M접 $_437'`o@C@@@@ Ƞ Р:@%!2 Q@@A@$_438 @%,_@A@@@@@$_4392M접 $_440'`o@C@@@@  6@% 2 Q@@A@$_441 @%+9<@A@@@@@$_4422M접 $_443'`o@C@@@@ # !:@%2 Q@@A@$_444 0@%*h@A@@@@ @$_4452M접 $_446'`o@B@@@@%2 Q@@A@$_447 W@%(G@A@@@@3@$_4482M접 $_449'`o@D@@@@@x  7"@%2 Q@@A@$_450 @%*}@A@@@@b@$_4512M접 $_452'`o@D@@@@@  ;w@%'2 Q@@A@$_453 @%2,@A@@@@@$_4542M접 $_455'`o@B@@@ԠG@%02 Q@@A@$_456 @%;7*J@A@@@@@$_4572M접 $_458'`o@A@@j@%72 Q@@A@$_459 @%B5Fq@A@@@@@$_4602M접 $_461'`o@A@@@%>2 Q@@A@$_462 "@%I7 6@A@@@@@$_4632M접 $_464'`o@C@@@@Ơ W7@%@2 Q@@A@$_465 M@%K;{>@A@@@@)@$_4662M접 $_467'`o@B@@@@%?2 Q@@A@$_468 t@%J@A@@@@P@$_4692M접 $_470'`o@C@@@@ 8;@%=2 Q@@A@$_471 @%H-@A@@@@{@$_4722M접 $_473'`o@B@@@ՠ1@%72 Q@@A@$_474 @%B@A@@@@@$_4752M접 $_476'`o@C@@@@j 8@%;2 Q@@A@$_477 @%Fv@A@@@@@$_4782M접 $_479'`o@C@@@@ &8@%=2 Q@@A@$_480@%H4l@A@@@@@$_4812M접 $_482'`o@B@@@i@%=2 Q@@A@$_483C@%H<@A@@@@@$_4842M접 $_485'`o@C@@@@砐 x9 @%92 Q@@A@$_486n@%D(@A@@@@J@$_4872M접 $_488'`o@B@@@Ҡ@%92 Q@@A@$_489@%D@A@@@@q@$_4902M접 $_491'`o@C@@@@9 ʠ9\@%72 Q@@A@$_492@%BX@A@@@@@$_4932M접 $_494'`o@E@@@@@@fi 99@%.2 Q@@A@$_495@%9=?@A@@@@@$_4962M접 $_497'`o@E@@@@@@ -99@%%2 Q@@A@$_498&@%04[@A@@@@@$_4992M접 $_500'`o@D@@@@@ˠ\ _9@%)2 Q@@A@$_501U@%4==G@A@@@@1@$_5022M접 $_503'`o@E@@@@@@ :!:$@%$2 Q@@A@$_504@%/v@A@@@@d@$_5052M접 $_506'`o@C@@@@@%%2 Q@@A@$_507@%0 BuM@A@@@@@$_5082M접 $_509'`o@C@@@@ӠѠI@%&2 Q@@A@$_510@%1 BuS@A@@@@@$_5112M접 $_512'`o@C@@@@t@%'2 Q@@A@$_513 @%2 '@A@@@@@$_5142M접 $_515'`o@C@@@@nl>@%'2 Q@@A@$_5164@%2%66V@A@@@@@$_5172M접 $_518'`o@D@@@@𠐑=A@%2 Q@@A@$_519c@%*$ @A@@@@?@$_5202M접 $_521'`o@B@@@ߠ@%2 Q@@A@$_522@%#$ @A@@@@f@$_5232M접 $_524'`o@C@@@@v?@%2 Q@@A@$_525@%8ܛ@A@@@@@$_5262M접 $_527'`o@B@@@@%2 Q@@A@$_528@% `@A@@@@@$_5292M접 $_530'`o@B@@@@>@$2 Q@@A@$_531@% a @A@@@@@$_5322M접 $_533'`o@B@@@" @$2 Q@@A@$_534*@%f@A@@@@@$_5352M접 $_536'`o@B@@@@$2 Q@@A@$_537Q@$8 5@A@@@@-@$_5382M접 $_539'`o@C@@@@@$נ2 Q@@A@$_540|@$0[v@A@@@@X@$_5412M접 $_542'`o@C@???@$2 Q@@A@$_543@$:@A@@@@@$_5442M접 $_545'`o@C@@#@?@$l2 Q@@A@$_546@$w%@A@@@@@$_5472M접 $_548'`o@C@@O@=;@@$2 Q@@A@$_549@$%f@A@@@@@$_5502M접 $_551'`o@B@@@ge@#2 Q@@A@$_552)@#2@A@@@@@$_5532M접 $_554'`o@E@@@@@@hA?@#ɠ2 Q@@A@$_555\@#47Z@A@@@@8@$_5562M접 $_557'`o@C@@@@A@@#à2 Q@@A@$_558@#@A@@@@c@$_5592M접 $_560'`o@C@@@@Ak@#Ϡ2 Q@@A@$_561@#mJ@A@@@@@$_5622M접 $_563'`o@C@@@@䠐점A@#͠2 Q@@A@$_564@#4;@A@@@@@$_5652M접 $_566'`o@C@@@@=@#ɠ2 Q@@A@$_567@#C@A@@@@@$_5682M접 $_569'`o@C@@@@==@#Š2 Q@@A@$_5703@#+{@A@@@@ @$_5712M접 $_572'`o@F@@@@@@@ B>>@#2 Q@@A@$_573j@#9~@A@@@@ F@$_5742M접 $_575'`o@D@@@@@РΠ ҠBR@@@@qteo_hɅz@SWɄݾ,,],R@zlḡ@ؚp8DUCOc!a@!A%NBits(Abstract'Natural'Numbers#Coq@@!tqѭ!b!c"Ha%Logic$Init@#notШ(@"eqq)C/@$zero-I!H8@"leq٢BD!E@@*div_unique mlਗ਼J@#powrw݀ED & W@#subr|u /."H0b@"ltqٱ9h@#onervO"H1 r@#twor~"H2_U5G1R"H3MW=HFA!B0Private_OrderTac#Tac@)not_ge_lt6+giOI"H4h r!|v\J 2eKLo][uMY9@'eq_refl; ND@%eq_lt%؀mK@&eq_sym?TS@&neq_eq 72-,J99A_@*le_antisymK CՐSf@<_0_1'OTv@<_1_2'OUC!D@+pow_nonzeroNqʩ@&le_0_l'1%lemma젩@#addraҀ@#mulrt )Morphisms'Classes@>trans_sym_co_inv_impl_morphism'\|//RelationClasses @/Equivalence_PER/;99@(eq_equiv&Vs+&bX@'add_0_r6耐5B, B+=6[3,ԩH0@(symmetry0xjf>7@5Equivalence_Symmetric. U4*o@)pow_add_r0bs$FeO!c$LW|TM>!3i8/]@>Reflexive_partial_app_morphism 2R,@`e@*respectful%WO?ggE@&pow_wd&,u q@6reflexive_proper_proxy5sl@5Equivalence_Reflexivex!x)Datatypes@$boolZ'@!y @ @@0reflexive_properm+,@@씐Afi&Basics'Program@$flip$ @$impl7o@:reflexive_eq_dom_reflexive=[   !@.flip_Reflexive-(@.impl_ReflexiveJ񩚠)NBitsProp@#b2n7 BY([*N]<(_.>@,eq_ReflexiveaN3M@/eq_proper_proxy)f;=Cp?%%C@&ProperL@xGzI!/NL1@&or_ind"ਗ਼T@$EvenyCs[@#OddrHpF@"ex @h"a'k [GB[V6[#BBB@@@@D@!m]Xj("+{g@ )^4A09̷ͩu.` ѷҩzS5y3B>>bϠmGҷ[`D@\==[;ܐ\ŷ305*AC` B!C@+Even_or_Odd@@@@@@@@D @'testbit*YN  @-testbit_odd_0ԽC,-3T@=trans_co_eq_inv_impl_morphism&ni$8ݩ@-eq_Transitive(#l'@*testbit_wd>: t2ttNvg@.testbit_even_01'@8CHW<v/-_!n1P dWfK"ǩ<@$succ~#WF@0testbit_odd_succ ZeDCqe<j(oH2L[$3VsJ(2&w*(Q,~**g?,&&3( ǩm@1testbit_even_succ;kH'C#"{yKz@)inductioǹзt_oNGaoZ(~@#iffС)o@.iff_Transitive*z~ZݠԠȩfv>ˠ頩ԩrJ.Morphisms_Prop@0all_iff_morphismUƷ"ɩ@,PER_morphism q$)@*b2n_properx."W,ٶ@ R HC3'@&mod_wd&o֛8,e,`_ @&div_wd% =1l,gf_|ZU~~~@@B:Z@-iff_Reflexive/hICqaxxCue|۠٩ A=4 A85,=0٩~2+@'pow_0_r 2L@@)![MF?@'div_1_r@ÀȐ!e@+exists_div2=uǷ@ߠABu2vש 0a~ gP۷@.>o , vL+Q;۩O-Cf$h@9@6Equivalence_TransitiveW6UCYa\*aK jOOeLh@(eq_ind_r!2#LxdN@*mod_unique z "Cqȶcq$(;{,`kykҩGE9773t;۩zN?1RCC+@)lt_irrefl(42@+le_lt_trans ؘQQ:@(lt_trans.cYC"շHvthfL$fbj(/-$p.pCǐ @+testbit_0_r m0"IHk|@͠ݐ̩.%ҩ@ࠩ!ҐA8éʠ.Hw $4 :V C  , ^U4NhM'k-' tk֩H$J"1bw m(("֐03~C_xzΩ/]GTOtLE-ө1 Aǩ٩d ,\ݩ^ @+pow_succ_r' *(~h#1'tqj% +'>w9!a@'div_div@p 5CJH<:4@)False_induُ@%Falsee@N[V_ ݐ_v>@%lt_eq a(g]C%Ӱa#,|zvn}jCQTS7)n+p;0)ԠxPdǠ9۠֠M"PΠ@E&yCqө"V$!Cw٩(O)iIQ pC䠩4u68c CGIC4MͩO:j4CWN7\S5Gϩ@.testbit_succ_r^ꀰTC@>?A!lDF!hI *>9B@q ةabؠڠ/9<ک ܩE@YT][AJT'")'^Ir-mvtt 4:W@/mod_upper_bounda_?-l@C26I쩷<Cݩ''TLDHᠩTK- Wؠ9<i< =e@&add_wd$  ll@;n@(mul_commSΩV̠SVРˠYԠ3w"m,hgҚ@&mul_wd&|Yd`[f@ "UlӠ砩$ԩvJ!!Ҡ# @'div_mod>PysܵGC02mCoq K  >ϵ@C1JL~8C::C>>W"\kƩ3.کs ܩ5ffB, 3X0)&E@GxtN ,h@R jB R@-testbit_spec'5Ny!h/CLY13[31C{{SSfchaCYln9dCeytש  ~yܩ})  +Dr|.yz@/iff_equivalenceZӰ;LBN$DYTFRR&!TR'0޷(S_ࠩN@g@rudg o C ssACf@>3@B@@@@@D$@'O@*/@&eq_ind J7_8&:"V@$Truey@AI,_f.@K0=C6$p<Hm=WRB\CB . , - EUd    n$ 9     } (lZ *ncrZ  \@kz "y @ dx@vm@y  0q^+YzXR{ } @NC$ 8    * ĩ H  H & 9 K    M >C1@ X R@ P $ '  "Đ ZC  V d#C   a $Bool @.eq_true_iff_eq4  @#eqbrhk : ʰީ $ ĩϰީz@,testbit_true&,{  ߰"%ؠ @&eqb_eq%EWƀ%. "a0 "b0@ a      @  j  C@ {C@ 5  @ Ơ;{"J  C@ ͠B$mC@ ѠFF2.   ٠|  $  - 1 ) ,  E  z .  '  ש  ٠A  D   J =$$ &  O   C   @'div_add@Ā K  #  6$ 8  #l  T  $  & @)div_small;q†  b 2v       ۩ { ۵  C     ʰ 䵷 ~ |Cx K 5 I x_$ a 9) # z # #L c@'add_0_l5 o mT@'b2n_inj1=ـ aU I : i Sc  ~ $  \k Y  ssX u$ $  l, Ơ 0 & ,   t    v  6  , ,  zʠ/ =/$  ?  8 8}7 $  I '  $  T  1 @'mod_add<  $  b > @)mod_smallV  ũ  Šh  k        ̠ q      @3add_b2n_double_div2!ƢYp ݩ Ǡ       ߠ   x,  s  r ,ש f      @'mul_0_r:⩷  ݠ     # $    V   u 7ːIE :I.@  3 M O @.eq_equivalence()':0 ;F  Z @,eq_Symmetric9^   H@3add_b2n_double_bit0!l 'J kPH *]JF  %C 0= t' 1Q" ^  ,:ky^ N L M  O  P"Hl  "EQ 1 ѩ E . @ IG !  Te$ g ? N4 j  m E Ts,  B ` M  a ( \ eCH ,( W  k 1 f o@ T ( +   $   W  ( ᐩ $ . $ X hC { C 7 (E t   N  ] q E H 7  z 7 = t 6 @  @ t C  C S D] W   R Mv { <v k ~    ~  s  u     @   g ~   頩 / é  k3     R  Š   ɠy `,  [  Z   N # c,  ^  ]  Q  E/ ٩ à Р Ҡ     j ݠ  ؠ© v,  q  p *  "    ɷ    @ x@ ) 8x`Զ@ e ٶ@ة / >f@-testbit_false53|@@  /    2  ܩ   E   $ "  T K k  XwI  B  ;   +  @'div_0_l@T 5   &  9$ ;   T   @'mod_0_l'%   2i  9  9 !$#  U L  55  K E; F99 / ;   A  ǩ 1 ɠ L $  QQ 9$; m d *  % OO ѩ e  _  ,I !  3{ ɩ K#  W  M%  Y fYY    _   \@'mul_1_l:m F0  F &u H @  `$b:'  O ?   ,    {:?  n ;ǩƠ`^T h6  T8$X r@O ީ"/* }K$P ⩷#ِo6oM9rs u  @&eq_neq7l/ } װ 1& C᩷ S $ LR 栩 PE UU SSII SS5 ש  Z $ \ T _ UU __fcYlo^Dh^dD àjWDel 5 3 *vv %y$"q7fJ1©3s6z @ U@0subrelation_reflv G J' I ]!!   V>ĩ K# ƩƐ f@)log2_pow2-vn 穷쵷C  ki ;jڰ   E 3 b ڠ    P    }$        7F ]   "   ` S  Z %   ) Ωq ̠ à`U. M.8}  { ֠ ͠z_8 o8Bà<@T   0 蠩 ߠJ ,JT $ @,;:  PP ZZ@*pow_succ_r倰X ~S   $  8 3N $N Ndd nn""  $ 9i}<>#  C oy 婵 kз f j      > *  c (  a \ { ! 0 ( ǩ     - < !4' $ҩ g U  Z    R$ N  ,!G :  r,# 5<< G ,% L K :   ,'Y@ K    ="q ?  7$C- A DDC  D 2F20 1" 1 3$ f  . K^  5 Ob +,Ag Z =Z * W.z  w -8"6 e)  $2 ة,P w( v e ="* i C- E V$  . Q F,s C & 栩 / :5 0_ rvca bS= - M  k$  C f  q1 EW57 c y,yQ KS y;; b Mf?  I 1z -t^r! N{h  cq a T|UC, m   go@*add_succ_r4 wǠ4 ɠf; $  | 7 Ϡ'jl ;MH=pp !! z # uA  Cd  2  ͠K  ް / 9  Ԡ7   @)div2_bits^ ޠ*^C η ϩ 砩 cc   bɩ jΩ $  ש  =p   u    Fyy   u u  zީȠ $&       @'div_mul@ `֩   ?    ; 3  (A4C+ ѩ  $I   .A b ܩ 8    ( GU Щ : @-div_pow2_bits9ׂ G31 2 3 &$ <$o 7 T$ $ W.,I p! o ^ 6 K# M% f c &穚@)not_gt_le6,  ɩ  / CR   "8a) ^Aa@1mul_pow2_bits_add/k0SF VR& *sK]| $g 'w  U #Ǡ}R+ +  !,{  c#,}[3 U'FA)W   77 zz~[OMA?Xa(;Ru4U// :Ӑ 4=4mC  zSM~Ws  $ c6Hc & &c @  @ Y,TS RG@  , ,4ii olϩƠȠʠ! - $ ҠԠi C C ' ' G GO ͠@)mul_assoc2YՀ7 C٠)  I$ 8 *# ᠩ' R꠩ ؐ@$pred~2Ʃ$ P٠ 鐩 J: ,, =Y ,. @ 0 I B?@)succ_pred{=⩚F@&sub_gt(Z^߀/1(ԩ3H$J" ,|0ũ2ީ, t4,V.9 g4o h''-Dg@*lt_le_pred9=1 ,)F<60:!߰<-7AKEB\R%* U 3XICld|fKsK$k +IŠy{I'' O,u  O++ nnt ZzUYc7$ Cݠ(a?? AA fpDJ$ V@'mod_mul<Tmʷ˷J̷Ȑ!o@/eq_0_gt_0_cases *' O@"or @ Y [ BAAAA@@@@@D@Ǡ" ©& )dQ ՠϩ$14  %``! ;c<  !@&bits_0p, "LT$@/bits_above_log2Õ%˩*@+lt_le_trans)Щ.Ƿ)'(@@@ ƩΠ@Ѡ @֠詚@,log2_lt_pow2H?@@@ 'GE3F@aG   MRP"QR̩   Iwt P:PKM"X p$Hk נ ݠgbd< f %^   ((R*2"2|f| w.0$m ˠ #/9) ) FA +55?? II! } "C:nSI@I$ 蠩ߠ̩N@NX) ) ) F,A@ ة4/+ N83\\ff ppH h$fm F$ & ?ˠƠȠ ++t~2  2 2 l,gf &2  2  55$55$~~ 6j aΠ%$.# b1(頩 NN7/ -/ '/ , C!I/  #/  %ө0  ~ ^^M^^M+ _  &$R$ UL9 f rrũ[0 Q0 K0 ,5  gEm0  G0  Ir,;M(T  $ooM  ϩ0') -K$~#F, x>e9,6 {6 u6 ,_7I o6 xq ٠ R<IK" שi$Ad Р\WY [* * * ,Wi *    !!; s]=sL#$b! }xM&A |&0- - - ,x -  - C|>/  22<< FF85i8#>o$# 㠩ڠǩ GQ- - - ?,:9 -  -C,>={6SnM    SS]] gg?$> $ 2 cm&&&[,VU & é 0_,ZYRoi  &&ooyy '[1U}8, Cא Ϡ r j l$-/ a0' I27(7"7#OO> Pi $C  wF=]F<6Ω 9eeT2 f hV YPéCB F@+Equivalence~@Aa @#eqf7_thC hvC aaC@)ReflexiveWvxyy'V ,C!C,@)SymmetricFgq!z3/շ =lQ@(eq_trans!y%0C<#CG@*Transitive++-.i쵷Uu_+$_;MJy=<OOvLL&PlCUonCS@ o]fm Ȑ!d@,eq_decidable%5۩)Decidable@)decidable r̷@ڠdΠ aз#NEQ@(bit_log2ȵ ө٠t@ $ "y. m @ ۶@ ٩8됷u w i #* @ j Ő޵@6strong_right_induction0k c@ZY#\(ZU@p@ànC H@9iff_iff_iff_impl_morphism8CB$4өް6՚@)eqf_equiv c@+testbit_eqf m7//C20ʩV$!::E''7)k91+C';AAC>,C,*R>-@@Π=2=fd:^ީ5V@dޠ\ 6mG$I!bKeN&5@*bits_inj_0o!'V WnOQ OrwO93@4!f!g~@3557d 9;vC< ==7* ? @@{V@4iff_impl_subrelation5_ mTLjI6uIyc wr$k+ ~y%'JJQ+@>20mCթ}U8Ѡ[:_AXY͠fE`^ZRaNװO&3jhd\kXC?CB<)ԩ@&div_lt);g"g|znlRl5dPvMQ"H5R?S<C?Bh=C"5{ { yC s<v >#OA4C+(֩G,qŷJ=L1Q6̩5:_|<9Lg@eiBCA.BCTC66!y#C<<U')[uvԩ7!1b| M$O'7h%V.o֠>@(bit0_modi<N8Hy& Af>7h@ ZFqI%" CK_D3a\67/C~l@i@(bits_injY 3z$S%z?b\[y3"Hf\#@@tjwE!k)@xаߩ&@P 2@ٰhXlҷ_H@`·öBĶ@H!ᐷʷ8ͷ&ζM϶@K,۷Tַ"Hm߷^c@X@@R@@)le_succ_l<_]@@@z& b dө~47_!o[@hנ'+l"HkmзD  @4FU~m[(P)*(@T0aII2@N}]@ @9@def g,VXXZZGA\T4J@o~ *@P@0M UV WXT 9h@%le_wdOԮ3zzyqg9h/,x@Z7;CuM۷vJZC9}_~@ ]R޷s!2M@41CS`t,~@^ucHK~l (ylXn@'succ_wd*d  { C*Cu5#@ ۩@i0@-iff_Symmetric!x  蠩@,succ_le_monoKcvط٩Zܩg@c]b"Hn]u ࠩސqrz/ @,zero_or_succ", &@4D6E{+5GU $S|ͩ}?< ܩC,1X WF 3  LM gL! .ŷ@ݠ?@fu"]"m'Hr :$M$%Hhli@>ҩ>ҩqr,_7tL a9 vz{zS iYWW?6biS `ZUc.Ur2m\x 9, hz9j;8   dd l_o, *Š0. }x+͠Q6 z%|| =-;<ɠ/33'"5 @(b2n_div29KSJJUUF m©nf h'1)CPCwDBoa h@0shiftl_spec_highsƀ  t xw-ط0#2qũ 6K  a w$@,shiftr_spec'NjCؠ) ө*@&shiftl'E,[Ƶ%X4@+le_gt_cases_nUK@YXgL R n+obqYVu2vix]co 2@2mul_pow2_bits_high-'`B$k9@1shiftl_spec_high'>=<ǀ$&Kj E@1mul_pow2_bits_low/{.e@/shiftl_spec_lowFC1RNusEtufP] lz$Rub#jC fp h^EEn@/shiftl_mul_pow2?ˀ ;  m k 鐑,}"b'w tɠ$~> eΠ)  u @/shiftr_div_pow2 { -ޠi)Ԡ3$Z;F= $$&xߩ$e +M,HGF; O,JIB_// 9CL  C@TSVU ːyMM"Qة KJ$I mTРpC wuB$A@Ѡ $   ,z_S?"" (WvCCְ=< ;Ʃ$$&  C۩/"3$5   I RE +"+%"G+d>(50U-& 9;ɩ,[3>l ]5 v"yQ;H8J Z EjB;55 t?oG trDsteOgpq{$}Uln$BqXO~xbϩ$e% nYWvslT_Q}zsM#,}TJ\NHѠNH$G"   {$V 92$] t S $k    Q}ʩpà ]$Ϡ *2 o,jiB .q,lkd{}::)   GՠUr$+ $K  &, ( G E#OO> $ $ϩ蠩6$ 1 7 52^^M 3 3$ # GC"$$ " >= > >/ -H}o)J.,-.  r1$3 nmL" 6k(* ʩc B|i _ ֩9{J$L$yw  N w@ Q$S+z   ,Y1r  ,[3m-  N8 *G'e$g? )M',mE - $++! 5BaKX8v$xP :^8,~V > 5<<2q[ lH l$b" NJ/h*NND wU # Z <p H$s3YMYY w[]]S {gwEO$GIsK###%/]$U --- pb'dũN$eIUѩ$mĩV,QPpàʩ$x ˠ@'mul_1_r:꩷۩Šs,$( ݠGx$ߩة$ܠC$ %㠩K $ -렩@'mul_0_l>m\ U`J$$& @|f -$/H756':$P 2w$B 4[)X7#* u'!P$f {--'o//e@(eq_mul_0'b@9@ @}1?2m?C9GA< AO"{yKzkUm~$YxSz$\UzUUk _' WU~jd27$ h X@-div_small_iff4 Щ { Ƞ4 @ ̠~  r РJS }ŠX4r,ʶ@s1y!3# }%%'} ))) bw  ?  BCnLJ@/or_iff_morphism3N$@0and_iff_morphism Ƴ"b, Iw@'log2_wdl t@'@ jk7(6 q/ 6$ _/吩۠շΠ}յԠީ˩ũ\E搩H@?CC!/H' "  5$K  PppMr @ w@    jB|  ` e@eİ C**C> ߷@Ԡ!{%0۰絷 2 6CY {yKzFluZTk@/shiftr_eq_0_iff;  j @ <ߩ!] U`Ωa bkw@$div2|劀M$A ==w?@)div2_spec0[ߠөq,$UQQ S$_ YG,BAW[[-Private_NZPow@'pow_1_r G2m:Ӑڷr۷Fͩ@^${C:@(div2_div?H+$˩ީȠHIp  ѩ $Ov xxǠzFeC{zai4 ͩfI ,+,q3   6ũQ˷R4B+%,1 c3 + Lܩ,Pߐ><=%-@A}E@$lxor}Ā M@$xorbȀl m jF}tq  x/Q~, [Em$Eh    ("b1"b2QSSy {WSW2pFFm  P 7$GT;| $e  ,gA@D0` T  X8V@)lxor_spec(쀰sF %TC leaC#ijCplM!!%9@$land}4" :DƩC@$andb=y砩 Qv  tq$p(oiez~` Y Y^\ b$ j,vq# [uq%Z e c   "6 @)land_spec<Y(XC àC?Cz  ܩGHCǰ.-J   x x M| @#lorrr4y  PP@#orbз WJYA> ^ͷ `SbK#ȩ4$g /ǩT(  m. ?$r: ,t#`%      ky^6c K@(lor_specp<f(kC kCm?C [ [ 3 3G:H9CJ e c d Lϵ T g hө簩 l@%ldiffSЩ 起 t"@$negb( m C G'7 yƠ( ($lΠ4('!26  f Ԡ:&_l S $} ',3.E  1-3 #k !  oҠ(ŠFʩ @*ldiff_specUN͠5ҩC ҐSԐOC8    WXCZ  ɷa ʷ  7  L  P ҩB@'xorb_eq(]b   ԩϩ  $ݩ      CCϠ  S _C `   o  ŵt s)Q *,   {1ss r@.xorb_nilpotent`zƠ   %r   '  C ՠ& !!!@N -@  @'lxor_eq8I  :&$!(!K+@'lxor_wd8 ! H!! !! I@.lxor_nilpotent!;!9 y U!>q mu!2vix bө@,xorb_false_l=ݒV  e  k!%! mC l m!]![ ٰ w!` !T @,xorb_false_r=ݒ\  / ڰ!8!G C = !!}!k!~ <!63!u HG!O @=!éũEU  @)xorb_comm3W۞Z!b  C jک)!!!!!! ,lm!海3!2h*!ް թҠz!p!=׷!~ Bxr)!} GZ MM!  N 𩚠G@2xorb_assoc_reverse!\%O><! H!   !!N !!C >?!! q3!v!u+&x.V!/"1  !C ̠ ""  !("D?Go"H;J@+orb_false_r4  ũ6 Y!<C 렩< ="-"+"", "2e"#gZi!QN&!n",pcr"![@(orb_comm/o$&©^6"!dSb:!hC h&j'"["Y"G"Z"E"[ ٰI"11K"bE"T!WY""@"0<"^T Wf"!"i_ ?!c"q@)orb_assoc3B {"S!G"U!GD"FI!M"HK!C `@@""  ^!%"$کթ@(orb_diag/o5"Ơ!̩iC {̐ ͐""""""" =""A"é@" ?!"j L@ A@ N) F  K- /@ M 4 6  9@ W  E?  AX@-orb_false_iff+(@#@@"  %ՠO")"@ {@  - V @@ $ 3 ["Ķ@& " 8!"!""ߩ$ A &!(""".""nn"ũ Iq.V &а"""  C   ###!##"@h #!^@ !a #""p#!f" @*lor_eq_0_l.b #"O#"# "*#4 U#v#A#"!#C X#!#E Y# F  #G \##J #I ]#!#!  J "b##0 1@(lor_comm:b "i!"i#) Է@.#,#&"n#0#EQ'#3"K %\$#^#6UJ[ F@&lor_wdb"#7"###7#7=#)"X#BW#l$#n#F#"#?#?E V@'lor_0_l7D:R"#z#x #L#} ط#m   #G" G~ #x   F% 6 3C"? : 7CY ## ! #m # # ҩ Ű ԩ#y#h"# ٩F&  # ݩ а ߩE @,andb_false_rA' ] Zˠ!"ѩD a ^Cѐ" =#### ?-: E#ǩD D#   "㠩#M! C#! !B"𩚠G@)andb_comm#oW"#"&!P"!>C&'###### n5#17 u#t!*1#!-! !/# CE###ũ!6<#!7!*!9@3 !<C #R##)#!B!5!DK?#.!HO,$!J!=!L@*andb_assoc4׀D.  8g##?3##AGD >m#I#E9#K#GC F@ H@$9$7 |#S $<!ov>j@)andb_diag# [=#aU$l#é'!ݩM@+andb_negb_r1?& ʠK#Щ`]C А<$$$$$$ ? r!G$ɩF! 㠩 #$"!" 頩$#S" ͷ$" !" # $$ R_"ŠW$"" "ʠ!$w%$l""$"#""% ,נo$u"+$","".5 o@2orb_andb_distrib_l;Ā(8$$$ !$#!!P@$(B$*Cؠ!)R!+S%%%%%%  ,b[!%#"V]Z%"Y"L"[!@$$$G"a7%"c"V"e$Ml!L$Z"k%("l"_"n!Ux$[d"u`%2"v"i"x j$b"|%9"}"p"۩qZ@2orb_andb_distrib_r;ʀyurQʩ!lD.$r-!p$wk$yC'!xF!zG%k%i%W%j%U%k 鰩!Z!!%s"%d"""$!g%+o%@"%n"""  "f!!H$%x"""Š$ "©%"ĩ""v$X "з%"˩""}$@2andb_orb_distrib_lg^|!!$é`#$4 ! $ȩCw!ȐG!ʐH%%%%%%9`P"@%© ?"`%"""$!ޠO% I"%#"#  N#N%#"# Z$ V# ķ%# ##$!e% _#S%## #Ƞ!%Z@2andb_orb_distrib_rg^iKϩ"ޠk% m%" ;c%bC"A"B&&%&%&#v%#"&  #@G"'%%-&#F#9#H%0"-%%ݩ #NU& #Q#D#S  #U\ϩܷ&#Z#M#\ce%H #b&#c#V#e l #ipٷ&(#l#_#n5 #pw$f#t{ *ϐ@(negb_orbu"e%kBũ"jE&%qG&%sC!"rW"tV&e&c&Q&dⰩR!&+"&k #N"ha #" &b###"6 #&g###]"?%"?#"0e%w!#iܷ&w###Ġ"M%"M! #"! #">pʠ"@"ʩ  @*orb_negb_r,FW Y},թ"L?1#"%[%Cn"E&&&&-K%&#3&!2##&##ܰ#"Р&&%ש!;#S3!?#R:#"tD!F#&###B#'!K$#)!M$#+i "#-%K)' QfI:j9"&%&%C"2c&&"&絩%٩&à B"$&&!ڠ& A%q,&%l&%k& D"c& #&#@*shiftl_1_l"b#R#%D&&%cC&ؠ#@&setbitd"p ' ' "' %$#$'&!"%,'%&%#@(ldiff_wd& j"&2#' &%d'&%C&$@(clearbitG}" $`'-$U'.&""x0'3"y0'6&"#7('9'!ѩ%& &')& %,'A%'%,&% %,'C%'% &$)@)shiftl_wdO&'' &a4& $'L#L('N'&!&'&  %'R'*%   %'T',% C%'V'V'.'.#('WC' #+'ZF'. C%'^%'6%ַ'a'_#1'`L'$ C$#  C$%  d$'l$'m'9"ص?'p='q'"ܩ#r('t'L"  ; 8%,'x%'P% d&%= 7 0$E'{#{('}'U"j/%''X%C%'''Z'Z#T',#V'+C%'&'`&''#['*C$L  C$N  m#c'& ۩#$$$l###'Z# '\##  &=''v&8 #&'`'`"## ᩷&E#$$$y# # m&%,'"'"## &''& 'kq&J''&Es'm&##J")$ߩ# ",$b"/$#rߩ#ˠ Y='Q&'#'$;'''#*&'&'^# # #$$$##ޠ#'#ࠩ&'f#'##!&q''&l##&''$+$+# %B @'''z%%#&Ġ'z'$;&' "a%#' ީ&٩'à#ِ  #$%#$#$''''m$ '#&|,'#%'#$$#'D &('& '$Y$Y#堩Р ˰'''{''''' M'٩''Z'+'P"p''''B'''2'ɐ'1''''5C(%Q$6&I'5'''$'$%Z$$"$? 1$A'3$ ('H55&(1( &7$$$''©''շ''ǩ'''ǵ'('&O'"'"""'''('"('''('@)le_neq_lt|''''C""%$H$h(%fHh$k'k'k{'( ( 't'"%$T$3(b$(cӰ${#'#ѩ'Y#Ѡ%%$#ة'K%#ȩ%%$#(6$%%%$'# @%%$@##@(k@%%$(d(='(Y(0(Q([ # %$(%Ķ@ շ(6((%%ɷ@@(s&'(/(1((!!'%I@ ۩%@/pow2_bits_false7ET$'$$%%$$Ġ#($$# (($$'̩%@.pow2_bits_true=ܝG%(($(%<('(&/ө$$%%$$۠(l($ޠ B($'((#Y$%&%@,setbit_spec'*ɀ&D#U& $w(&&&'#\&z(&&&X#b&Ƞ$  &̠$%@-pow2_bits_eqb7w _$]% (($h((($(%{(#z&0(&1$g ?+&(&7$%<'$o&.&=%%B5&2&A$%F%$&&$x$s&6&EG%J=(/%&,@,orb_true_iff7(%!$&7$$! Q9(>!!'&;$$3#%%'p&>$$6S$%Bl(G&@*setbit_eqbݛ&)9)7% )8))<):% );%)<&@&@&e&t%yA@&h&w%|@E&k&z%_J()%&3@*setbit_iffr&@@(n)X)V%()W%)X(r),)) 鰩)5R '$F)c)a%3)b%)c)/#& )2@1not_true_is_false;̀(_$נP( &&1)Y$@0not_iff_morphism Z'&&$&}JC &&$$ $&&&)%%("&$(&(&&%$&%)w&&& m( (ʩa'h))%e)&)()px'%$&&r%%})C)a% 6!)d%()f)f$ ܠ%e .2&t&&@.clearbit_spec'%G'$.& %a =R)&&ܰ&($7&U)&&& %: & %q M`b٩%ݠ( Ӑ))ͷ%)η&M)ϩ$L')'%9!'JP(ǩ%?&' &'RЩ''&%$&%H%C''@&'Z' 'B&)&& [@-andb_true_iff 5-((' %[!M!'k)ܐ(y,'%a'p u('%e5)(%i&'('7&_&$'%n%i$'~(,' %r' 0&)%&ؠ'" @-negb_true_iff'O)%~)('1%!u((,'3%' C()8 @2not_true_iff_falseb`(n'<%%4'&&@)E'@,clearbit_eqb#!D'*7*5&*6$'i p"  3$'p&u*-'q'd's&*'@%proj2O@'n'}&@*&'r'  F&  )`@)+&&m8)r-*)t)t*`*^&0*_&*`*,$'*/ߩ$'&*T''' hhߐ)ѩA(F*s*q*_*r&D*sYթ 2\&$]&*{$' .&e&@)&b*q'''&l *\*L)e_@]''&u O)U*C*f E&|)T*kc)*fi%'Ω& Z*'ѩ'İ') S&*(*V&)k*Y%''ݩ& *%i*''Ӱ'&Ǡ o(k e)%3'k*''ݰ'  l&Ӡ*?v)ة%<' rv*''')ߩ w !' - 0*C*|z6z*E*}*)?|=**)*%N(',4%P('.*('( '1$%U( '3*( '('6 '8)"( '<'<MU& hp* Ojr*C'z'{****&*t X &뵷'|*%{(1 '&**(7(*(9'**$%(>'# 2*(A(4(C*+ à'***٩'-%(K'0*+ (N(A(P'5 ; Ҡ*< %(V)+(W(J(Y  ٠'@**E%(_ ߠ4+(b(U(d*L  'K*"\(j , *+ 30906'R- X*X4 W'V @:*] B<*_C '^R'`S+Q+O+=+P'"+Qϰ7r ޵'+W%( ܷ+H((('sC_+"*y;5~@3(('{K *+++< *+8;%(',+_(((* ҩ%(˷+e(((' )4 ɩ%(3+n(((  ȩ&( ŷ+u(((* ĩ"( X<)<'+?+b*+\^&('"&('+(ǩ(('&('+(̩((' "à(ѩ k= <=' * Cm'W'X++++'+/ҩ (5+&4( +((߰('Ӡ+*٩&=('ؠ+(((* &E(+((('P &M)ַ+)() &S)  +) () * #) '*' )+ C(9(:++++'+q  (w+&v), ~+).)!)0( ++5 @թ)))8( ++ݩ w+%+ܩ&)A(& ͷ,)D)7)F+. s&)Il,)J)=)L(1 ԩ i&)Qӷ,)R)E)T h&)W e,)Y)L)[+C d#P)^ cb' '+,+I+&)d(!&)f(,#)g)Z)i(&)k(,()l)_)n( `#c)q !_ ^:(X 0]+^ \C (^U(`V,Q,O,=,P(",QϰB  @[(,W&) :Y,H)))(sN ,"+y&)(x >,R)))+ HU&)P,X)))(  PN&)v,`))) VM&) YJ,g)))+ ]I#) 5Fxu~E(q +x ( rD+ =CCO(9(:,,,,(d,y + ),')̩ Ӡ %,)ѩ)İ)ө( ;,X,y,i+|ŷ@z)ΰ)ݩ(  E+r,`,  ;+Π,'4)(Ϡ v,)))+ש  H'?),)))(ݠ ^* + 'I),*)*  L'P* + _,* )* + ! f$* ) 1M75,,+,'c*)A-'e*)C,***)F#'j* )H,*!**#)K *)Mm$*' .)Q )DcM) , LCŠ)m)n- -,-(-  )-'*B I  -*G*:*I). v,,4'*N)3 - *Q*D*S,; Z '*Y-*Z*M*\)A e,H '*b5-*c*V*e  l '*i p  @-**n*a*p,X w ɐ$h*v (  >;D )\ 7,b>)`  ,f  C)fG)hH*-Z*-[-'(Ʃ)\(-^-6'I%K-c@'pred_wd!)0.(  *5-k +-m-E+ C+-o-o-G-G)A-p[C*3++C*5++*\@$ones7(>*-*--N(T-R--(()(--a(!E-*jH-*k,,-, -i, L h-+*x@'ones_wd?p*S-I *e-)(--u(5 u--O-N, --y,  +--{, C,---}-})w-b-W3*P){-f-~C,$-,'-,&--)-l-t C*sC*uۚ*@$lnot7(/)-,ש)$--([cb)6,*-ө,--,0 C-&)-ѷ*P-ҩ,é-aÐ--j)$--(viaː--re,,Ϡ,ʠ)X]Z*-*@*ones_equiv!A,-̠g2,--,,⠩,ݠ)kn&/,~,.,y-,x,&)p& u-rra*ީ,8,.-,&,E,,. ,-,,&<,v. -,q~I-%"*,-頩-:-<*$.-(6-6-,.-,:-3*.-+@'sub_1_r*$J---Ѡ)-f-.+.,%--)-٠)v-n&d:,,.5,. ,-&F)&A:,.7.,<-Ptt,.9.,v-,.-&-v-.C.---.,,.G,.,-1&y,.I.!,",.K.#,$-d/->.(-5&,--9&)ǩ-;-5.Z.2-+D-E.-B))-D9:&6-|<<,.e.=,>-t@/mul_sub_distr_l?*).'-^.H'-N.s.K-D]-^.)P&,,.{,.S,.$.{@&sub_wd'^@",..Z,$")-[[ũ-u._3-e..b-[t-u.6)g&4-3..l-.6-**&mm1-(.%-.Y-.r-.G'A`.I-'E.;-..}-v.O-*.A- -@-add_sub_assoc!#xo'S.I-)4+.}Z|.M)-V..-Q).O-*'*'&à)-@-pow_le_mono_r/;ΰ.M.-' *s-."-..- K -._._& -'l.Z-'--4+.u.-q..-l.-SSN.*.շ+T.ַ!p.,\@,Q@.-b@. @ .-Ҡ..--@-add_le_mono_lWyÀ,I@@@...*.+u.!.....-+٩-C..-b됑*/+/.F-/.--,|*w.~*y{-4,#..&*R*RA .1.)*V..젩*ڐ*\4,/.*ސ*n*n.6*n*nv*e.....@'le_refl &)\.b++$/-/)ũ(ة-.-?..*{,/9B.+/+>$/@/)ː---.] -,-@(ones_add]|+ /O+/P/-/S/+-ũ-N)M+)/X+/Y/%./^/\+./],@,ՠ@%&@%&@&,,( +%@@./l/j+</k .@/?.^/H-F*=+s$/u/M* --)*/-V/ *./ / *//!P,g@-ones_div_pow2%; /6/Y0/[/8/,//,/>/>)3)/B/C/B/e.C/x.ԩ+$//q*1-ˠ.,/./u.-*!. //w.#/-.@//y.;//./9/9!r.@#ϑ*./-ݠw8&ة+$//*H./H/H!,@-ones_mod_pow2/b/P.@/le_add_le_sub_r!X/W/n/./.٩ 4, /k   ./`/w`./x/x#栩.@'add_1_l6K,/q+/ѷ,P/-U@搷@@.+/ض,W/.///.̩/2ʐ'+$//*{6./{/{!'.$+$//* *ʩ2/z///!#.ީ/Ƞ/+'+$//* ߐ////!ɠ/@(two_succl./٠/+&{ 4- /    +̐b/ /&/ /&0@(one_succ34//,$0/*/2,00@)pred_succZ.j0$/."+0',0(/\G@-P-_,D/,/I$/#0 !',7$-j-,2,O-/,R)'/,./[//$`,,,'X*I/5,F$-y-,A ,^5+H/,:( +L.,0R.0*.0./+d/0#/k00$p,,,7/l/D+S,U$---,P,mD'0 ,H+Z//w00$|,,,C+E/Pa,a$--9,\ ,yP^0,T]00$,,,N\/[0E 0?,n$--F,i m,^ 0C/0"0"$,,,WW&lbʩC4bC0(/j0T"Ij*!^4-!Y0 !W!R!P!I"Fo-/0505$#@.log2_pred_pow2wjN//}+0Y,W0C030E"070J0c,a0N/?-,/ /0}0V!4-!0pM!x!v!o 0/0X0X$Ơx0[0Nv*))0~0|t*)g0,@%eq_le%ɀ00=04/0?000o)00900/C0m0v0u0ih0\+0D0}0D0|/C`,0з-O0ѩ)W@-.,J/-@R-. ,R0-0 0,0-_0.d@.Y@0ː0@0ΐ/@/@<_nge'O,[@@ 0,0-u0000"H' #-@.ones_spec_high9<' (.80 -=0'0'*T*[*V0#C0 2-@-ones_spec_low_,{11,1-10+.L̠,B1 .O.B.Q09+.T-Y1.U.H.Wנ0A(M.[O.-A0000C.U.d-I001;19- 1:-1;1 +.p$+.r-1/.s.f.u+.w-(k,ߩ--oL. C.o.~- 1R1P-"1Qϰ,0o1-1X3-v@+..-s11140{1/2+.-|1:1V...0h+..T@.lnot_spec_high}"1$1G01AC+.+.\1j... |+.# c'@/negb_involutive(f#.p@-lnot_spec_lowG>2CW-A-h1.@(lxor_0_l ‐C1x*-v1v C101|11-11{".1&&.41,3.c-Р10շ1...0ة-ՠ1-n젩1-q1e-@1-..-Y10렷1u ,Q/./1/./ 00,X/.61///0.;.;(yͰ1[1$311101111,f/.!,h/.#%)Π .%(_@*orb_true_r-M&. 11q1Cà.N.t22-2KX*.2 ,/>E-91/A/4/C1+E0@/9/HO./1.1-1161,/R.z2/S/F/U\#1?1,/Y.2/Z/M/\c*.1F,/`.%(Ʃg./@2mod_pow2_bits_highl :2,/m.r,/o2,/p/c/ry@.y1\,/v}.},/.@1mod_pow2_bits_low+;j4A.d1j^2%1lC.kO.m*Ð2]2[.-2\2(#e1N28*.a$2c2;,6)1}22/02f2/N@)land_ones;{>/٩'#^2s2q.C2r ĩY%f1.2y,/.)2m///1.h2X2Ha[@Y//à/v.u%2E2C2f12ad-/.2/ʩ//2.%1a2P2O-/ө.!_2/֩/ɰ/ةߠ1©-&/ܩ.2]!j 12!n21//' .ɠ2,1n2g17,2-2-..201%2h1Ҡ1 ,P2m2l!x.k,2n212-=/.*-?//2///ƩQ.1;f ~.ᠩb1}C._.`22ط.2ٷ2#X2/\2ީ-[0/92000.z222-d0!s3 ,+ @'00#*|&/O22--u0+/S20,00.5x/X-|02/Z2030&05<2/_)!$6 2ة-0:/?-0</d )C(/f^>/$2*`C٠/*I33.32$#2j0/3"-0U\l30X0K0Z2B/?2 ^ji I@e0R0ahb>/I132O2m-0k/3(0l0_0nu2XǐE/W1Y2-0wa340x0k0z/ 2d-0~/3;00r0^2i)kn233$2kl2$-0/-0%3E00|0/2u*0,+i/u32|32~C,/}L/L3p3n/@3o]35_õ/3v-0Y/&/]23j0002/3C-0dv3r000h/HV2 d^ @\00o 2*qy23^a.0 730ǩ00ɩytzm.0/30ϩ0°0ѩ 3 E0/·30֩0ɰ0ةa2*Π0ܩ/0ouG@3y{.+0.-0/300װ0?!3 \0/ٷ3000292/2۠*0//*00$0~eB/2|/䠩3232C/g/g33ݷ/3޷3$穷2Щ31/$33.}Ѡ33\\03^0@-lor_lnot_diag4l1\23ˠBf/$33.k3kk0@,lor_ones_low7 61V2E^44/4G04.1:31;1.1=0"Q)33(.1BI41D171F3.M/֩>!L!7@1@1OV383.1T ŷ41U1H1W^%.1]041^1Q1`g 4 1b0P4 1d1W1fm23O+\1jq0qCG"η4 .1o.1q0v4.1r1e1t{ 42 1v0d441x1k1z3e3e+r10+v10<̩0k3qeC 0qY4b4`024a4-%j3S4=0f$4h4@/ZX34949(?1P@.land_lnot_diag(1۩3`4J4D0s$4u4M/ e4F34F4F(L1]@0ldiff_ones_r_low܀1!444m40R44i4!!P32!Sˠ48V1 4/ 1Ǡ03O305341ȩ11ʩ04M4_3!Щx!Ƞ4@/!@!͠4o4F$1̰1۩024&4砩0Ǡ4-40ʠs43Ϡ4/510Р441113ة0נ4+4s0ڠ24v/D1R41110⠩24~3 /N204U44212  04B43/Y2i 42223 04_4/d21B4222͠4 &/l2"1J42#22% W V!!߰4v4ȩ!'<4o444!4r4̩!'+4s444B4v4~4J44w44O4z4y44XV4{444^/28OM/2<42?222AFC/2EC52H2;2J QC46/2PA5 2Q2D2SZ A/2Y`52\2O2^4F ,R2`SSx6~4321Kz4RF4TC 1S1U5F5D525E15F5.ŷ3"ưJ7õ15N/215?22v21j 554q""v@221s3s454C4|50/21}5;5W2224M/25]22213|5$V/25f222 \/25m2224c021޷5s2220215x222  P O&1!/55b45\02ĩ.,0252ɩ22˩"*'0252Щ2ð202&52֩2ɰ2 0%2۩52ݩ2а24,Ӡ284,"@)negb_andb4Q+[/*1Ϡ4թrC 1Րw1אx55Ʒ55Ƿ15ȷ5GG5|2M5ϩ0L3 w[532341젩5Qy50W3 14533315^5W5#&%#@!33$&5 5'0o3%2M53&33(/5-3,32V*"55ѩ"(E55555ө035ҷ5363)38?$ʩA&5$-03>!2#R55*55,2) o5.d9C ݠ2.20Q6!66 6 16!6 4^"p 5׵26*03] ҷ63`3S3b2G~ l555N#h#S@3\3k2P4P56 n5Z603v2[ 6653y3l3{5c+g03׷6<33s32g4[6h03D٩0326H3335x;s0326O333 r ' &plhe+)56956303'%03c6\333"036c333Y_03]sl6n3335 136s333-3k x99K,]V+26E5K6G5C!^2v2w66662s6 `2RR3'61&3ܩ\2à2n56633հ35ϩ103ʷ633ڰ3i2Р26~5##ڷ@33r2٠26_v5ߠ61E36333~526Щ1P4#w6434 -4 unn 61Z41\4644451c4#644 46ͩ-]@.xorb_negb_negb+j0j '3 I6^K6C!3Z3䐑776727 RgĠd6̵37 14?c264B454D3) ` 66/$I$4@4=4L31 h 6Ϡ]#69614U3: 674X4K4Z6Bڠ3A x66+14aK74b4U4d3I 6 14isP_v^ k714nŐ14r7/4s4f4u̐14y764z4m4|ĩJ14#7?44v46m .y4ސ-@+negb_xorb_l ~Gi:&kC 3u756|ɰ776~C",3}b3c7p7n7\7o3A7pk.7F37v14)#j$UO$@M44d067NQ24a7s4446924$.7z444\Y)"tV7[]2 4U 24t74Ʃ44S24Է74˩44M24ѩQ74ԩ4ǰ46 .ʠ4Q.@+negb_xorb_r ~MuG$O3àk6ɩ7a6C"yM3ʐD7777777 ;q4?72>4A74446ߩ2C4ݷ744467m.4$ĩ6773$5433767724/4/345 41. "P5 375 7~55S4955737f675 5"4"$4E.54 75!755$+4+74N55(4/7775 5/694X+52<<775'56=Z4_]475+5:A4d$4d.< 5=4,75@7545C u4k565EŠ4o7ة7075=5LSR4uU75A5P 4x7844D2C"#47Ր8(8&38'7..48*@73Z%_%]1%K@!8 7J8!7/55g%3"n7'!)45n5l@5m5P65o565q5T5353w5s5-&65u 565w5Z55G))  5y 55)5{5  ) 5}5`5"5"35M!/4b" 4;78 7h77644*U34%C2U/m7/f5z5@/`@/^8.*m77p7/v7/x7/]11 7w5@/88*7/K8I"*7p@+le_antisymms*88 4<8k48l5@5䠶@'=8V@@8Y&D@7@&le_ngt'13搷@@ 74R8587*7%s8%7*8:*75548*4/5*%74ȩ"נ78a"Ʃ11䩷811ؐ18n78n8M7C8"/X8A/55ӷ@/Q@/O178G/_8I/a8;/L15P@/E1/CC8&8NC-7ǰ8&*%Q8}/50R"8+5 %8.868,*888Q8]OMKCH/8^/ҷ55@/̶@/2 7ڐ8d/੷8f/8X/25m@/2/C8i88̷48&0/%@-8+MU8~%7887#&)45)8)))+VJ+X++O5@)shiftr_wd&888888%8 q87ީ8Ƞ++/8é4$883#88  5 85@*shiftr_0_l"nO5ݩ78ڠ28ԩ)46)8)))4888+ 788!889 @+log2_nonposՙ8 /88젩8+S8798788818'@'sub_0_l*׵5&Y9&S8/@+lt_ge_cases %&P%88+&H@&V%88+9 +88O9&8)99 5<$9>93֩+,/7Vp[98\869F6.@+shiftr_eq_0.4{888İ+9838+88o9C8GW5X$9Z9239+8sR79]957(9.8N4Ơ9:.949,+Z9?%999188x@(sub_0_le%(+9"99"9 9++33+8+9?8C9b 9KQ6g@0log2_bits_unique%66VR46598vX9=#ũ8~9h+ީ5$66i5598T9+ݩ8,949q4559+P+855+79L+(E9N+뵷9AVؐ39+99f8C9\4#65#0ͩ59!+#9#9O#q32299499c8C9#y5̠919j699!9[{8ש4;65֠9:899D&&9>8@/lt_sub_lt_add_r,ڀ+99M85㠩,79Ű9J9R999շ59ַ988b5$994s,V_,X(éc(88&69^8֩98&8ՠ9&8998 898N&,@-log2_mul_pow2999,89p9999$K9̩9&99(9~99~99 99999#C9 ,Ȑ#AUX::::9('Hs'3@9,,95:$k9#6 $:"94,,ȩ@,,6:*,9D9ĩ6-$:/:4 ,I99J,, é8z*:,47i6P9,$y$t47o6t:,7p7c7r"6Y9,9^6{47x6}$1l(6Z$$99$33::$9((49:*99r:+9@%le_eqC9::2:9zC:F$6y,::,6:h":,9 q,@,log2_le_mono99:#:<,,©47'm476ҷ:g7776թ476׷:l777D61'l::U9,:W:(:P:[,ͩ 4:<,:<9:_C:r!'z: :c:,:e:6:^:i,Ʃ:+:8,:J:%:<-?4"k4:R,:R:d94,,:T:g:wC:::::@)v:-'+::::'⩚9@+le_ge_cases%l׀6'ߠ)'շ@' ::-9F:@#maxrr-B'9࠷: 9: '9::9-4-L-L9꠩:@%max_rUi-T'm#K:#L::9ͩ: -[9::9-E9:@%max_lUi-e'~949ܩ:Ơu6$::5ש-l):-Y-YΠ::9B:::::)::-}- :-%l%j :ܩ%f:(+@(9:::4b:// ,::쩷: ::9,;!86::+89+:++-R9;%:9-T-VA::B6s:5:ͩ:!w44{35u;:;:L::,8%~"58ip7P:-©7T:;.8r@2458u7;28v@8j8y:c7`:'74:8q877:2g8{8@8y877o:ө-֐:v:v:8877:887:2i87ũ7:ԩ-鐩9p2k2a7:4 i82[7(\:7;E79::;%:C;^u;~;|;j;}@*J;G-(N;;;q;((@ͩ;P;@#minrs':;\!_:;l .:,;8;o,w;_,u8,p;a#>,i,g,`.:;;u:.:;@%min_lV1P˷;q;o:;!(v:*,;8;,;t.':Š;@%min_rV1Vʩ:;,48,;#^,,, .4*[ְ:.9.9,u8@)land_comm;z;i͐;;ɷ;;ʷ;*;mbL:氩.I( ש;q(&8&6;&2;(@);M;;Ő5.:0 ,԰;^;:ة; 8;:k,;9;;.1:Y;;:T.3.j:! ;; 7>;%;˩5J5E;;&+-c6B;;Y;;;6E;i;{;;;з&L$6978;.Y8";Ω69A8i;9B@969EŠ;/8,;)8N5d69K8s<9L@9@9OA8T5j;9C9R@8W;3#9UC338Z;=5p );;.u;˩;".y;;͠AA6{.:<;N6zI.|I;Q;C<2)%;2;J@6Sܺ..8<8X:;;<&;aC<-x-F<. .;;X!c@;7790D<9ũ99 G0=;79˩K0M<9Ω99;P0F3Ơ9 "8@'odd_add@u80Tr7/g98!l<}/j+<<<<<<7/9e8̠!<0c<99ݰ9;ԩln8' 7u77=9<<9996 39xC0t9@(add_bit0f:;8堩;!;< <;ȩ<;4 8$<<7v ;:?9-<:A:B<꠩;:<<9G99<:U&V<9'<9(:S9A=:U<;M<<3G9<:1g =8 9&0=='==9 ==1&3Ӱ==C=꠩<:=F:c=:S:v r4N;O:=> ;Q';R=!;e> <]=#=%4F:=ɩ;"$w=Z x=Z=4/:E$>G>8ߩ(:=;<8>: =M/:^$>`>88<=M/>5=c9~6/>=>9>9:O==9z>9>92?/aC>B<=X5:=;VRX: |;:>e;>Q<=g=i4; > ;fb=E==x>b=v7>]:$>>f9&<={>*> </ީ9/ߩ6 >h=>/>/5>%>%9>h>h2n465=/۩:$>>u95 {9/>o>o2u/C>x<Ƞ=':>3; :k=%:$>>9H<נ=)>A<ڠ*>C9,6.>=>>:>G>G9>>2"=3:$>>9V <996>=>O>O9>>2*4>>R>g>e>Y>W>=>>W>S3 >939 C39C><=U;>a;7;2>>ܷ>>ݷ<=ϩ>= =Ϡ=Ѡ99;t>v;ϐˠ$f%>i=>>=é==ߠ=>;>=⠩=(Q/x;␩ޠ7B8>ĩE= =,==;N9;>=,?=>==7A={?>=v =?>=>,;@.add3_bits_div20[v9:>4> >> > //A>C>?'>=5$>$0>B= >?=V>O>>>>?7?>E=^>$4>D>>˩=???=>X5^!>7<?<?<?<>8o8n>b>5>7>3>8>:><'93>7>@'(>婷>H?2 <'>9?^?6>/>I>K=v3>L>N>P9(3>K>T('>>V >Q>Z 9d'?=,?t=?L=>^7=?v?N= 7 7( >?|?T> (>((=?~?V=(? ? : <ǩ>q?[ 9(ҩ>b??_>X)>r&>m>v2?> ,?>?g>>y7,"7">,?> ?k> >}7"=??m=$(:>6??o>1<(>?%?%: 9>?t>>F?/>?1>??}>vG>D>?7>),?>$?>#>7H7">Ġ7>?>>?CZ>?E3>??>[>X>>?MN >?,?>:?>9>7^M>ڠ>@/mul_add_distr_l+G ?WnE>??D><3=;$??:lv>>>à<3q?S4o8~8?`>?W?W>L4s4s>L??>G4u))<?+<@(div2_odd?H:6=2>ܩ== (;$??:>ܠ>ޠ>::?n48*#8,#>{,?>v?>u>8/@>i??>dB%:;/3:>=4<4:3??z?z>o44#JJ!2=L>??>W<3<$@?:>>G48G#>,@>?>?8J#>@?>%?M?344:aa86:!? =B=Q:3< $@"?:? ?1?u(48[>,@,>@>?8^7_>,@.>@>?8`{>@0@>}a(ϩ;`a(ϩ>=e= 5 (c?M44T{{R2:;?(@?&?(:?*@_@7>?x}?n@)add_assocV5>C@A?U15 ?WC@G?[?]N@$5C>@v@v@N@N>.>-C>@|@|?@T>>G9aC@Z>?p?r@9=o@>?u?w?y;9=w?t?}))@"@"@@@@=@@-@M;9@?@,pow_gt_lin_r(jd@3@T?@5@V?9-۩@N-Ӡҩ@u/g-ʷ@-ؠ@z@*?u?͠@©?@@j?:,@=@1@%@<2s>@4?֠@7@p@c@a@U@S/l@=@E@O@f@I@A@I;@0@l@(@(;@!?ꐩ;@-@:@-@@;C@; @Ω?ȩ@(@R?[,@=@1@F@]2!@]?@W@@@@u@s/@e@]@o@g;:@N@@S@S;8)̐;3@W@J@W@@;.C@֐;&@@@@>D;*C(֩@@9?5-@&@1@z@2ȩQ?#@@+A@@@@@@/@@@@@@@;q@@@}:ީ*7@Š@q@q;s*;n@u@|@u@@;i@@:@@;lCA;d>@,@#A z@?,A8>MA2A@2'@@QV@@@@ܷ@@Ω/@@@ʩ@?J@;z;@@@@A ;CA. ;~C@,"<з<AQATARA@ASZ>A<@A)<?@A,9=A\AGA]>ӠA8"@|>٠A>"!S!@b>>5A>Ap>AqA=<ܩ=r(><<նAwAuAcAv}>A_AAL94?AAO9I#AA~AlA>@)@ (<AAAAAAA<AAwAAxA AyA<>>>>©+;@,A>Am<A32jAg4o9O9U@,A@Ao@AM@A%<AAGAF?өA7A\9T>:AAA?Ax"] @?A~"ҩ!!@>>ϰ>5XA@AM1+@1,A>A<AQ2Au<9m9s>SAAA?,AƩ"v ߩ?1A"!"@I>>5pA@1>=-<AAȶAAɶ>As@Tr>>@>=6< C@HA>A=8C>><AAշAAַ?@<ש24$)$'>+$"2$AzA<٩A|AAw@_,A>A<A2A&<Ay@@A1@A1+@g,A>A<A2A4<AAOO@U>=Q<Q<ҩ@24$>$<>+$72$3AA@r,A? A<A2A&AA @AA+@y,A?A<A2A4AAaa@=e 424$P$N?+$I2$EA@n?=j=B@)lt_succ_r&oAAީ@=tAAA@H@,?()=z$Y?2@?+)$c?,$^2$Z@?-==%%@4,'4A53@TB4ʷ@[4˩>B"? AAAŷAAAA(`A@*not_neq_eq5`ABAB+ԩA,fAB8AT83BABAjABAZBAYABABCB)ATANA?:: "77!H!J %77?頩BN@7 B"e"7k??>7BRB1?B\"q",H"ˠ7"v,K$ Aj@8per_partial_app_morphismpBBlAe5?}@'land_wd5,b N!A,BABvA"71? Q""A ?>=$BmBpBDBGB6B9{~BBzB3 B?B+[x4 BBBAݰBBABvABBB7ByCB AAA@CsBBkB4Be,38%%@7$% 3%BA)?<##)BAC##< >$BBA;) JAU,BAPBAOA; B>BOBAACBBA> ! A[,BAVBAU#!B>BUBA@SBABq"Ϡ#()0#)"")3@ @?'BBm@cBȠ"ݠ#6<3#70"<6% lBBA  A},BAxBAw#AhB>BwBB A,CAzBAy#Cj;* A,CA|BA{"B>B{BBAo@>k>A~34%W%U@~%-%P3%LB⠩A<+#ɠ?<-B蠩AB<1>J$CBA ;HBB0<5<5ACBA~<7  ACBA@BAF>7BCBCll44%%@%X%{4%w%C m$C8CB '%@ҩ4;I%@%%4-%A@u>>mF@נC<F#Qt#@C%MClCDB=MKA,CnACFA#Y {ACpCHA}M A,CrACJA#<[|CCBMMA@>>O@\@'lor_0_r7D:X9BlCVCPA,@+?>%@$0" @C\f#qCX b%&CCcB\l& ,C^B&&ACCgA(jj@w@(land_0_rIXX:BCq#ClB,@+[?%A@L>ACx|% CC}Bv B%,CB CB# GCx?@CxB5oBRB+,@+k?%A"P\NA#CC%&CCBCBCABCCB:,@+z?"&A1_k]A2:3%:5>$CCBCBCC?P*=>A@CFC@A=xA?:@@@BCE=$4CЩ#A0>˩C,-OCC@2div_lt_upper_bound)DX1CC=l%I%KBCBDk%$$B$ڠC$BAA8GDC#IH13DlBD|5"$$>>$D}$AаA?cD^B1@B&D. $$=>$Di$A߰AD4A]DDDB6DCCBA>]%%BCBAD%$%B%C$BAB8D'C𐷐#IH2)"HcBB?D`AMDDDBYDCҠCԠDD+A>o%%DBeDʠ&$ߠ%8 %9D$BB,8DDC6+ѩ=Dؠ=%9ByDޠC.D$:%N9B1B@A%DDa-OAE?BH%ȠA/-A0D3+D7E BPBCBRA7DD6D[B6KDDA?B[%۠ABDbDGAD.EBaBTBc%DMAJD!+D2k,<,62V@,0B_BnASD*D,66B*6E%%A^6EA`6EAbD9 D4>E#Dj9CDDE.AU$BB-APAmDDDF.q6ũBD6E AtE1C,Eb@E:@AwAO CEdE<C EE5D}&&A~.~EA6EADY>~E&!&#A.EGA6EIA EKB(& &%&, B(& &&&. C,E@EX@AAm.CEEZC.E1ESD D,E@E\@AAq6CEE^C6E5EWDD,E@E`@AAuCEEbCE9E[DD@BDE{BBB2&A D@Bũ&E&G"A7 EkAYEmEBΩBBD&P/7@BD׷EBթBȰB<ˠB٩&YD7)AnE~B@)add3_bit08 577'qAʠhE:DEE,BC@,~B߰BfYD֐,yE:j,D,wA$BBAAڠDD..שB.ECA-DN,E@E@AA D<EED7 EI-D&&A.EOA.EQADǠD?hEV&&A.-A.-A -C(&x&r&n& C(&z&t&p& Dm,EAEABA.D[EEDV.Eh.E  Dq,EAEABA/D_EEDZ/El. EDu,EAEAB ADcEED^Ep.EE<C-BD%D렩D//B7nEEǷEC7C*C9E!)= C;B D3/EEзEC@C3CBB'D:OEE&Ơ&ȠE242=CLB1DD/3EEF CQCDCS&Ӡ&ՠB<DO/4EEECC=+C]BBDUE.?GEEF CdCWCf$&栩&BO/F ET=<CnBS&5$FF/CsCfCu3&E_B\DonEF=KC}Bb' "FF>CCuCBElCF,CF CF/CEBFCDF[AEtABpBpEvDEKEMUTCM/rE'$'&D ED EDE]EXFEFEgFQ EEWF|FTEMDEiEkVCj F'A'CD FDEx EsF8F'M 8E,FEFmE 'P%lEFFoD 8 E;/EΩEFuEE6']9EשEFF}Ev)EE ީEIFFEDEàEC@.add_carry_div2:NM/CE*FCFCBʐXB̐PCE0FCECBАBҐ'z'|z EݰFtFtE +jCCCBޠDEEk/کC/F`FB蠩''jDEŠ E?FkF''EF'ȩ'IFBB6%FB/B6)0FC/B6-/FCB61Fܩ'[F+F7FC ' F'aFC1ĠC=C?EFFC $G FAE2FFF&&'RCݠG<.FfF/FCGADM&C4+F9C6F;GDTDGDV'F>ADX'_GDZDMD\'é' FFCC'r' FADe'lCL@FQG&DjD]Dl'ө''uCU8GCWFwGF\ADv'&G4DxDkDz''*'Ff4.Q.K4k@.EDtDChFG&'5'' ':Fs<EFMG7C^$DD6CYCvFG0E,GdBG<BCyCQF@GG5F}'E'''J'K'''PD(''''R D(('''   D(('''  D(('''XFADFGiDDD0,'_'FG1̷GN.vD @.HDD'#F.CG<4.JF{.AC$DDdCCFGCF/F,GBGlBCCFݩFGGnEFG /F'w'ĩ'Ѡ'|ǩ'}''נ'D((1(+('' D((3(-()' D((5(/(+' D((7(1(-'Fĩ>D0GDߩDҰDF>DGDDװDCˠ@G'''թ'>DGDDD ''''>DGDDD'((F'FĩG@Ʃ'à((G,'C$EDC*C'͠(&#('G/'&GCA GGG:é'ʠ(#DE GpBmE#'ӠD GD GGE*EE,GBxE.(5GE0E#E2'GD!GBE8(?DG[GͩD!1GϷGE?E2EA'CG+)BEE'3HEGE:EI'K(RD2GgGG75GGGrFEUD=(W(^ V?F,E[(E(( '[DE]]AEI(((((eDGyGIHH; ^^DEc`=M9G?ZEh(<(q2'0'XF(IGbHJ(K[DUjH'jiH^\ZXVTDYGD 7<'Q'(T-QGb+(VTD`?Ge(Y?GgC31ͩDfI=">H%CGHHHGmHYHWHEHXC$E@@.add_carry_bits%H"GyDEHbHMHcE٠H>GR-=D&EߠHD)(Y$(G&#EE<DD@EHwHbHxEHSGg DĩEEED H)5)7DD8N GHvHHXF@FHjG~D)Q'F Hq9,($(ߠH`&1E°ECDEİEөD XH<)U)WDH!HBDH\HD(1KCUGǐ#EQ1!H~F)H94(P(H%E߰ECrEF@@F5H2(I)Hv%EE E"EEDᠩGFHf))DHLHlDHVHn)D2xCiG򐷐#EQ2FFCE9GѩH) H]D$FEDDGFHE))FHpHDH HH@8))E HQHEH`H)211 EȠF/ GHڠGH94F9H%%9%©GHH"GuI HGpGHCFA)E( HlIFFF9FHH0%CFJ)ʠ#II FMF@FO)ϠH9L.H쩷H#E#$FVEEQE;H%G,I)DPIDOE>EH:H'HB//EF\1@-F_ED1IIFbFUFdHL9H$I1)#ũ)|HmE;$FnFE6ES2IEU)- ө)Hũ)1GEIE42HaIIE/NNI CF|),EcI EeI"!CF)2 }ICFFzF)9HsEpI-bCF)1EvI3IPFFF)FmHmCF)JIXFFF)Nu)DHwCFE̷IaFFF)W~)H)['b+CFF)a/)E12!H$):HHIW7)HIY;)ETI\)ATI^EI83RFF?I_@FFFIeFFͩ*MEHI8IBFŰF)۠EHIxEHIz4=Fܩ*\*^EŠHIIEǠHIK*d)E͠HII@'f_equal=*JF3\*KHې%*t@*QFFHFpFp*/I1ICIcEIe*3 IFIgIIҷIIӷIIԷIj8B\@IǶ@4'>IIH}IIHxI)ʠw*#I&٩HөI (I:4F:I&&:& *II)Ԡn*-I&HXIIHS=àICJH4@:4G :I&&:&3B 7EIIIIIE )}*<I&H{,IHvIHu)&HiIIHdiIII&&HmJIHh&EMIܠ'IIѩ&ְI!I!>3IEJ EзEJG4GC*FkGHJG=JIEF(G-EEzG=GL0FtG?GN*FvET$GPF?0*H,J!EHIEGF6FI0fIII:FzFzFFG7HkG9EE1 CHJ'G;IECFG>E,IEJ*D=A,G^FC3I7%I J 3*vIgF5$GhG F0FM3J FO*~IJF+3IXJJ=FFF$I1J*0JI#@6trans_co_impl_morphismoJMJ%D3*9J Ih&ICJ-JWJ/D3*C &J,It  HJ]J5H"J IթDG*0FxJ&7ZDG*GF~IJ,+JXGGG*0IFȩDGFʷJ_GGG*I*WFIJL(FA1I*0IIJ>FKJ@*JJBFJFG91ICGG4)FސJJJvJJUEV2J_JOFG@G/JJ|JHJmH 'Jq )IJJJ> H @HJzI YF+a JiHJ;=*D*Jq'J QIʐJUH*J;5*>*J'H?@H4J4*c+JuJoIᐷ IJ+JHF$JJEkH+FJUIFFGJHIɩJ;4G;J'';'IɠUJUI  ILJJIGIJJ@J3o*ՠ{+.Jd@HH!EGIHs@Hh@4JΠ&Jȶ@JѠ+=HJ5+@OG@-nocarry_equiv2JLJSJ{JJ@@ J@ @JԩJ#JJJq51I4G $KJE+ˠGJw+͠IJI,KIJI+)KIKJI|MJ}JJ0MMGKOJ3J J+ڠ+IJG!$K#JEYJ<YY H @(lxor_0_r 耐 IsK-KI JGK1FзFK5K8K6K$K7@C@K%2K #aHqK>HfK?K FG@(HVFFKEKCK1KD@  KHKFK4KG@?FKJKMKKKNKLKOKMFKOK=KP K>KQ K?KR5N @I,KVHkK.FYJ<+KF?CF;5@K0$K*1'IHoFFgH'HqIHsFFkCIKaHuK9F--CH"HxFf/KfKdKRKeKMKFY=/>K6K K JJ DJK@JKV5K5 ?<KJJKJJ4K<JJKNJnF栩K JKL5#5 K%JKQ5J 5*J|J ,KHKg(LK-nJIKKiIJK)JJFJ,KHKn(SK4uJFK.JF}KKYCK|(JJ;5穷J5eDG$KKF+>K$JKKJKJdKKJ_KK?Ѡ1OQJKנ> #J(K-IH$LKF+J,L JKJ+$JuL KJp*JL KJ,K&KK?䠩1b 1KK꠩?oK+)H$LKF?kKJLKJK6KK?I@,shiftr_ldiff ooKKKKLKH)$L+LF?KũJ~KKGKKCtKK@KK L JZL-{H5$L7LF KPLL@1KҩK*-xH;$L=LF  J,L?JLJJeGXLH&-KKXLL@K1^HB$LDLF LK]LL@@H9K7F=&4I`=!L3===54JLLL$J45KeFFJLNL&JF4FUKAL+ I5J,LVIkL.=6L4J4FGJLYL1JGFKr5FKL_L]LKL^I@I֠6z4@6w7*6m6թIL@,bits_inj_iff)GԐ@6@ KLqLoL]Lp4L<KLDLE7:H5LCKBIIHLNHELJCIHELTLqIIIK K,,G+ذLL L\IILYCIL~I©IIĩ,ˠ5C,5KKKH9CIIʩ,Ѡ5O,#HB5LIϩHLIҶLmIưIթ,ܠK,.ILqIIKŠLyIҰI,H,:5bI B IHԷLILIܰI,H(5ILK֠LIIrILeLcLWLUCFCLBLIII#LlCICnCI&KFF LBKILIJ- I.#I.C/JHLJ LIJ I5LKLJJI:LLLwLu;LLLF->PG'LLLLLCLҐF3G"CLBLJJ$ILLLLLG*CLBIILCöHLĩLLLLLLLLL aLLéLLLLLzLLLAzLG[$AxGHCAuG>IMMLML۩L頩,HLLHMIM@MJ@J@LL H17@74LL H1@$L2@,add_cancel_r[9^J@@@7MLL;LIM2IM3]M4LNL'#ML'KI8$M:MGKLLSL% LJM>KML𩚠J(@(ldiff_leԀMLM KMJM"KL5&LL<M&. &IP$MRM*G.LlMM7 J;@0add_nocarry_lxor47Zˀ'HM-JB@*land_ldiff -M5߰MIMeGJ.V.MWJJJLGJM\JJJ."L7MM@L- %MIM'8?I6MHLJ\JJI-LMMV*lMPDJI- M9MxJJJL:L-Š*k,ްMM M@JJ:M_DJ:MJȩJJʩ-ѠIMM-%ILMLLIRJŰJԩ-۠IMMW-/IMM[JC JݩI̷MJM{J԰J-꠩IʠMM.)/JJڰJ.i-M~-DIԠM M&ML٠MJJ-IܠM!MHJ!CJIMJMJKJ(JK.. J -]JMJ LMDMDJMJK . J7D+KIMKMKK..JBMJBMM#MMMJJשJM.T!JMM C8J7MMIMM?J@2land_lnot_diag_loẁKYM٠MөLMݠL!."J$N MHLM.M&J٠N⠩MM+MM1J$NMH .M2 K@(lxor_lor 'K@1lor_lnot_diag_low<̀KN+N)IN*M?3MNM_ M N2N MMѩMݠ/M 1LN9NL3 MRMM2ޠK!@1add_lnot_diag_low4;KM1NM/'NM#NHN MMM5MMHMgMM2LMAN+MN(7M3NXN0M)##MqMg@'add_sub6[LNaN9LBNfNdNRNeJ7NfN2N@*N:NQ L;6M\NF##ܩ?M4K?HN?F?A???8#MF1F1LNsNKLF3 +ZNNyNwNeNx@LK@K@NWKNQ6@9NZKNT@N#N60Kߐ@ @@6NcLN]NNNNN{N@LM#FQMN!NCG쩷MNnA#NIL#F[J$NNuI5LĠFYANMBNN{M=MNtNtBz3 MN/eAN- J$NNIF/jAN*qMNNBK@+shiftr_lxor.5B{FMNLN>F~J$NNIX/|LN<F~-MM2NNM-NNB4NKMN/L=;J$NNIi/FMS,NMNNMM/-MANNM<FMNNB4,MMʩN!NJ$NNIw/NF-!NMFFMONNMJFNNBDNhFNM٩NàNJ$NNI Mn,NMiNMh/-NJFNN NNBǠDNjFN NNNNJNNK@3add_nocarry_lt_pow2+{M29GNé7/FGNֵKOIL:KbNL;L.L=K"/QMB4N