"`m.Ncring_initial+setoid_ring#Coq@+Ring_theory+setoid_ring#Coq@,Ring_polynom+setoid_ring#Coq@)Morphisms'Classes#Coq@$Init'Classes#Coq@/RelationClasses'Classes#Coq@4Relation_Definitions)Relations#Coq@-SetoidTactics'Classes#Coq@&Setoid'Setoids#Coq@$Bool#Coq@&BinNat&NArith#Coq@%Zeven&ZArith#Coq@'Zminmax&ZArith#Coq@$Zmin&ZArith#Coq@'BinNums'Numbers#Coq@)BinPosDef&PArith#Coq@&BinPos&PArith#Coq@$Pnat&PArith#Coq@&BinInt&ZArith#Coq@(Zcompare&ZArith#Coq@&Zorder&ZArith#Coq@$Zmax&ZArith#Coq@$Zabs&ZArith#Coq@$Znat&ZArith#Coq@(PeanoNat%Arith#Coq@"Gt%Arith#Coq@$Plus%Arith#Coq@%Minus%Arith#Coq@"Le%Arith#Coq@"Lt%Arith#Coq@$Mult%Arith#Coq@'Between%Arith#Coq@)Peano_dec%Arith#Coq@)Factorial%Arith#Coq@%EqNat%Arith#Coq@&Wf_nat%Arith#Coq@*Arith_base%Arith#Coq@+Compare_dec%Arith#Coq@)auxiliary&ZArith#Coq@*ZArith_dec&ZArith#Coq@%Zbool&ZArith#Coq@%Zmisc&ZArith#Coq@$Wf_Z&ZArith#Coq@&Zhints&ZArith#Coq@+ZArith_base&ZArith#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@.Algebra_syntax+setoid_ring#Coq@&Ncring+setoid_ring#Coq@.Ncring_polynom+setoid_ring#Coq@)Notations$Init#Coq@0&v!D]hwnv %Logic$Init#Coq@0\͉!Ig)Datatypes$Init#Coq@0.i bYN Z*Logic_Type$Init#Coq@0 1jc6&Specif$Init#Coq@0;RWMi\N'Decimal$Init#Coq@0C涳N*ua#Nat$Init#Coq@0eʤģPSR蠠%Peano$Init#Coq@0 jha|ؠ"Wf$Init#Coq@0q+W,J+'Tactics$Init#Coq@0/9m+ a%Tauto$Init#Coq@0̂"&/r'Prelude$Init#Coq@0JqTttֱ'BinNums'Numbers#Coq@0dmk(5Ju<*EqdepFacts%Logic#Coq@0FI$ͼՋ`)Eqdep_dec%Logic#Coq@0u wWIϰ߼&Basics'Program#Coq@0!bs߯? :VU$Init'Classes#Coq@0](p{yOh.'Tactics'Program#Coq@03u%+Equivalence'Classes#Coq@07;ꮹ-SetoidTactics'Classes#Coq@0S_`nOU$&Setoid'Setoids#Coq@0D9AsWE!>$Bool#Coq@0j 2cZ`FW*Equalities*Structures#Coq@0όe얟)H.Ƞ2Relation_Operators)Relations#Coq@0%s鯰s4Operators_Properties)Relations#Coq@0U3y#h&)Relations#Coq@0r砠*NZMulOrder&NatInt'Numbers#Coq@0}\^ !"k}@R(NZParity&NatInt'Numbers#Coq@0H>ca'^^%NZPow&NatInt'Numbers#Coq@0)6*9 B:vȻ&NZSqrt&NatInt'Numbers#Coq@0` .%m%NZLog&NatInt'Numbers#Coq@0ꔉ .uV%NZDiv&NatInt'Numbers#Coq@0$ |J?d (w%NZGcd&NatInt'Numbers#Coq@0KgT7|&NZBits&NatInt'Numbers#Coq@0MlIpKt'NAxioms(Abstract'Natural'Numbers#Coq@0Zخb1Z3uuѠ,NZProperties&NatInt'Numbers#Coq@01D%E`|3x%NBase(Abstract'Natural'Numbers#Coq@0 Y?V vI$NAdd(Abstract'Natural'Numbers#Coq@05;ZW:㥜un$&NOrder(Abstract'Natural'Numbers#Coq@0]@7U#oY)NAddOrder(Abstract'Natural'Numbers#Coq@02'8zn7Hfɠ)NMulOrder(Abstract'Natural'Numbers#Coq@04> Aat/ j $NSub(Abstract'Natural'Numbers#Coq@0:DfJᠠ'NMaxMin(Abstract'Natural'Numbers#Coq@0]v|Qg̟ʠ'NParity(Abstract'Natural'Numbers#Coq@0̗SKz*!&4h$NPow(Abstract'Natural'Numbers#Coq@0҆mulf%NSqrt(Abstract'Natural'Numbers#Coq@0<ge$NLog(Abstract'Natural'Numbers#Coq@0KI'BinList+setoid_ring#Coq@0Au.Algebra_syntax+setoid_ring#Coq@0^CIۂ{$|&Ncring+setoid_ring#Coq@0A,~jC9*s;{bѠ,Ring_polynom+setoid_ring#Coq@0gaKw9`UWP0˻*L aS&0z32!S$[LQӄo" jLР.Ncring_initial+setoid_ring#Coq@A+NotConstant @)Datatypes$Init@@$boolZ'@B@)Datatypes$Init#Coq@@$boolZ'@(Hk@@@@@AA@@"s @,Ring_polynom+setoid_ring#Coq@@&PEeval"s @@A@:È@.Ncring_polynom+setoid_ring#Coq@@&PEeval:È@@A@ABA@A@$Zsth @@U@/RelationClasses'Classes#Coq@@+Equivalence~@'BinNums'Numbers#Coq@@!Z7@%Logic$Init#Coq@@"eq @@@@@@Q$Zops @&Ncringz@(Ring_ops( @A 'BinNums'Numbers@!Z7@ AB@(positive*@C&BinInt&ZArith@#add1P&)BinIntDef @ ̀@#mul1P] @ @#sub1P@ p@#opp1P@ {%Logic@"eq @G@&Ncring+setoid_ring#Coq@@(Ring_ops( @ YX@@X7@A @BU&BinInt&ZArith#Coq@!Z@#add1P&P&ZArith#Coq@!Z@#add ̀@#mul1P]@#mul @#sub1P@#sub p&@#opp1P@#opp {Q(Gk@@@@@"Zr @@$Ring,@A`ysK@2G[;@2Ga !x!y!H.Algebra_syntax@(equality78zΩ@+eq_notation($&BA"x0۷"y0޷"H0)Morphisms'Classesg@=trans_co_eq_inv_impl_morphism&ni()!/RelationClasses@-eq_Transitive(4@(addition;53 @,add_notation1FC  4(@>Reflexive_partial_app_morphism 2R,@թ0@*respectful%WO?+ܩ  X@(AdditionHJӀܶ@# '/⩚G@0reflexive_properm+@ Q@:reflexive_eq_dom_reflexive=[;+* ==N@,eq_ReflexiveaN3Db@/eq_proper_proxy)f.KELGFwvTNOEz Qp(SfdLJ8932DWGjFYY21,JA;:+C= -aQ &:b\Ddu@+reflexivity(ϓ/k~.CZmmuopiwqrC`scbuu]]C@&ProperLZk~n fé(@.multiplication+-@,mul_notation%[C é,^  @.Multiplication {P̀i @ {vl!g۩(#ep(!8dh!j`/q^] [C֩:5<7CV//CTO1ηϷ ҷӷ(穚@+subtractionݩ@,sub_notationgǀݩ ,֩  '@+Subtraction_ϩΩ@ թԩ (''"* ( 8 .66   C""94 ;6>C(..C0^\ZX;(1/Z@(oppositeG%0@,opp_notation-\[W% -X$,k@(OppositexN%&@ +*-, /.;lkCEXC4GGZZ)I$C԰;]@5Equivalence_ReflexiveL2#"X< 젒Sl    t 8Lh\\[tZpYXVUtTxShRRQhPPOpNMKJHH,GXFFEPDA@@H?D>=D;h:9 77`655$4t33,10.,,@+d**)L(%$$L#H"!`LP@@Hxd0(  X  @ <4 tDX<08>@=<87|655@33H,,\+**(Ƞ\ZXWUTP<MLJEA?x=x;:<9@42 0D.)%#|!\  p  ZY XWWdWV UTNMPLLHKJJ<I?==h=;49877,6P544@321/.|,, +0*))(x%P$$#"t!,p  \tD0\\  \ $   \@$$  \P(`XD\H[ZXSR<QPOOLHGFF8D0SI(E8l-L) ( E)p $  t @xpr@A,@><8<665`43h1D-+**<(蠒WL<1$   _P_@_,__^^^^^^p^\^@^0^ ^ ]]]]]]|]`]P]<] ]\\\\\X\@\([[[[H[ZZZZZZZDZYYYYlY`Y0YY XXXXXX\X4X WWWWtW\WPW,WW VVVVxV8V,VUUUUUUUHU TTTTTTTLT$TSSSSS|S<SRRRxR4RQQQ|Q<PPPPPHP4POOOOODNNNNPNDNMMMMMtMHM@M,MLLLLLXL@L4LKKKKKpK\KKJJJJJ`J4J,JJIIIIIItIPIHI4I HHHHXH@HGGGlG,FFFFHF0FEEE|EdE$DDDDD4D$DCCCCCCCdCTC@C$CCBBBBBBtB`BDB4B BAAAAAdA<A$AA@@|@t@\@??????p?X?>>>>>p>8>0>$========p=X=<<<<<<\=<;`:977X6|554l33$10.,,8+\*))D(%|$$D#@"!XDH88@p\(   P  8 4,l<P4G@% $" t|d Ġ\[[\ZXYXpVU\T`SPRQQPPOOXNMKJtHHG@FEE8DAx@@0?,>=,;P9877H6l55 4\331/.,,(+L*))4(%l$$4#0"!H48((x0`Lxx x @  ( $x\,@$\[[PZZLZ$YYDXXdX<WW4VVUUPU(TTT,SSDRQQDPOOLNN(M|M4M LlKKxKdJhJ J II|I<HHG4FEE,DAl@@$?? >>x>== <<,;;D;:p9988877<6`554P332|111l0///..D.0---`,,+@*))((%`$$(##$"""!!<! ` X(,l$T DP<@hTl l l 4      D|<lP 4lA@\\[|ZxYXVU|TSpRRQpPPOxNMKJHH4G`FF EXDA@@P?L>=L;p:977h655,4|33410.,,H+l**)T(%$$T#P"!hTXHHPl 80  `  H D<|L`DԐT\\[dZ`YXxVUdThSXRQQXPOO`NMKJ|HHGHFEE@DA@@8?4>=4;X9877P6t554d3310.,,0+T*))<(%t$$<#8"!P<@008hT   H  0 ,$d4H,@@@E.Algebra_syntax+setoid_ring#Coq@AviA)Morphisms'Classes#Coq@@AAۓό^ @A1DH%Logic$Init#Coq@@ABGA@ϠH$A@AMJ'A!@A@ABA@ˠL.A(@A!@A@ABCDE@@Ӡ+gen_phiPOS1 @!RhA@@%ring0%ring1b@@':\@*@>Z@A@GY'ring_eq@@HA"Ro  TA̞@@9!pJ@AA@AA@@@@@@@DL氷$KI,4vc@#one#ҍ@,one_notation:2HCѐ.,$.EM|@hf` ^ \[YXVURUQOJH< +k(), S' *(=" R:'>m3 L 7 7!  7 7!  7 7  7 7  7 7!  7 7#'>3 L 7 7!  7 7!  7 7  7 7#' 7 7%''+k'+7Tk' \dݐԠ(h(4Hp |MAABA@@AV4C|<H@@@ACI@AAEL@AGP@ABAϠHS@AXK&@AYS*@A[[.@ABCD@@*gen_phiPOS @\^@@mMr"p0TO$ K ^ b @ l+k(), s' *(=. RZ'>=W R6'>m3 L 7 7!  7 7!  7 7  7 7  7 7!  7 7#'>m3 L 7 7!  7 7!  7 7  7 7  7 7!  7 7#'L 7 7!  7 7!  7 7  7 7!  7 7#''>= |R_'>3 L 7 7!  7 7!  7 7  7 7#'>3 L 7 7!  7 7!  7 7  7 7#' 7 7!  7 7!  7 7#'' 7 7%''+k'+k'+k'+7Tk'   <WT@   X   Tp tx$ 4  ,` P  8TzAS|{$  | L t<@   l ,  h  $@@v@@蠠)gen_phiZ1 @   @@AA@AA@@@@@@D"ǰ@$zero#*@-zero_notationS$^K׷@B^6(#eRݷ  @B@:865320/,/+)$"F `+k()  =b 'R~ ' >         7# ' >         7          7 7&'          7 7% ' ' + k'ࠐ6@@AABAANH%(:6@@@hAA@AkAˠL@oAV C@sA_k@ABC@@V(gen_phiZ @{$y&wvtsqpmpljecng-fZXW@"KX`^KW@VLࠐKANH(}@@G@@)get_signZ @02@&option >v@c BAE7o@G +k= R'>G'>99'G''+k67$'AAxS$@@@HAA ůM@A@@Ơ(same_gen @@AڶӶˀ$q(pʩu@@@AviA@A Aۓό^@x@ABu@s@Ap@AIN@ABCA݋X_A@u@Aq@n@Aaݠs@Ae͠C@ABCDE@@2ARgen_phiPOS_Psucc @@:B.,&϶$Ѷ"!;7("dQ&BinPos&PArith9#Pos@$succ=)a)BinPosDef @#R@@@M@ASAۀߠK@N@AB@@A@@ABCJ@J@A@@AB@F@AB@aAᾘ@A@ABCDE@@F0ARgen_phiPOS_add @@Csqkigfdca`]`\ZUS07F5G0;(6J(>7J6aiG@=}{X_n]oXc(q(e^q]n@=Nf@#F'mmU&$@@@@)same_genZ @@E^`zʶ=y}Ʃ@Q4@@@@@Ai@@AB@c@@@ABCD@@+gen_Zeqb_ok @@FضնҶҶ̶Ŷef@+%ZboolQ@(Zeq_bool0߀uA2+;(5w.v=(7y0@@@@A@@@ABC@@ꠠ5gen_phiZ1_add_pos_neg @@#G   $V( N;@'pos_sub<}@+ie@@@.@A+@@AB@@A'@%@ABC@@A@!@@@ABCDE@@-match_compOpp @@VHF@*comparison;f@!BȴM@@"be"bl"bgҩy@@@@@@@@@@@D%!g@'CompOpp @@ȴ@#@A@A@%A1DH@A@@Y,gen_phiZ_add @@I~'|)zywvtspsomhfCJHCN(PI\Hs{ SN  @@h@@x,gen_phiZ_opp @@JFHbi%ae(gzf$#S jv@@@@A@P@ABM@@A@M@ABI@@@^@ABCDE@@,gen_phiZ_mul @@KʶmoٶLMY(L(SFE@@@@A@y@ABE@D@Ax@@ABC@w@A;@u@A@@@ABCDE@@ʠ,gen_phiZ_ext @@L޶׶wx@={@@@@㠠.gen_phiZ_morph @@-Ring_morphism@Ap~nhb\隠@2=Q N;Ʃ]:ܠW@+ring_setoid8(^KC @'bracketgU C&ĩ @ f C̶ͩ ٩!(*  ܷݩ%lemmaR8@(EqualityKa@@NT @Y \&Basics'Program{@$flip$hhh @$impl7oB@'@@Ot,%" .'"" | &@.flip_Reflexive-,@.impl_ReflexiveJޠ@u%ީשP(K"Sz*2,-&@/C1D?3AK6 ``[;5=h K@,ring_sub_def9%0G<9- rqi AMOP7})uݩ(S ?T/b(Y3}$tv$x_u@6Equivalence_TransitiveW (&ho0 xrsTzu6(0r8(2t[~z= 0>7$ZBJ(D=V3nGi@$1-up3W(Q,@;==+@.ring_plus_comp+K90@6reflexive_proper_proxy5L`C8644-@ {,m$fSߩשq?slu.@>trans_sym_co_inv_impl_morphism'\|c@/Equivalence_PER/;_8PWO8O0! 8@ol[1()@Hw Cٶک!.# M%   4@ y(wGG/ ,@@AB#add@C@Ŷ#mul@D@ #sub@E@ #opp@F'ring_eq@G@A"Ro   @@ ( @ HGFEDCBA $ C B s r@@ {P̀ RJ +k()           7          7 7#' ɐ蠒Ӑ @@@t@A@A@A[[6@AzA@|AUA;@Ae͠C?@ABC@@ @@@h@@A@Ap@pI @A@Bȴ@Ƚ@@ABWe@WeO@A@_]@_]S@A@ACDᾘ@ᾘV@A@ƚ@ƚ[@A@AE@EA   @@A@BEF@FB@A@N@NݠJ @A@AO@OK@A@W@WS@A@XS@XST@A@ABC ӳ2@ ӳ2[)Datatypes$Init#Coq@@A@ Գq@ Գq\ @A@ADF@@=@AB@;@@ABC@@@ABD@@A@<@@ABC:@QA^@A@B@C@@A@BCDEUA^@@@AB@@@l@ABCDj@i@A@@ABCDEFGx@z@Av@u@@AcA E D C@A.0TQ+Ring_theory+setoid_ring#Coq@@BCDBA.U>[J @vA@xA@ABErA@wA@@AB@rAǠP.Algebra_syntax+setoid_ring#Coq@@AC{AUA&Ncring+setoid_ring#Coq@@Ae͠C @ADAp @A Q@AA@A @Aqˠ@ABCEFH@@"O@(PeanoNat%Arith#Coq@#Nat@&of_int"O#Nat$Init#Coq@@ 6@A@A\@&BinInt&ZArith#Coq@!Z@'quotrem\)BinIntDef&ZArith#Coq@!Z@ /@A@\@@+pred_double\@/S@@A@As2@3@&shiftls2*@vY@A@BCs8@8@&shiftrs8/@vY@A@ѓ@>@&squareѓ5@y@A@@D@&to_intϑ;@@A@z@5@&doublez,@/!@A@ABCD/@O@)log2_iter/F@wd@A@NH/@B@&moduloNH/9@1,@A@A\d@G@&of_int\d>@1?A @A@bz@M@&of_natbzD@1?G!@A@#@S@&shiftl#J@1dV@A@#@Y@&shiftr#P@1d\@A@ABCD/x@&BinPos&PArith#Coq@#Pos@)pred_mask/x)BinPosDef&PArith#Coq@#Pos@ )X@A@6@x@&square6o@19@A@AV+L@}@&to_intV+Lt@2@A@V1b@@&to_natV1bz@2 @A@V5=@@&to_posV5=@2@A@ABCl@@)sqrt_iterl@!$:@A@@@6@(sub_mask@-@)@A@ADEF c@@'testbit c@!ć@A@7 B@D@'of_uint7 B;@*`]?@A@AG@I@)mask_rectG@@+ED@A@F˱@O@)add_carryF˱F@+p@A@AB^Ҷ@@'to_uint^Ҷ@#m@A@gL7@@'sqrtremgL7@40@A@Aq@@'testbitq@5)@A@ݎO@@+succ_doubleݎO@6r@A@A p@l@0double_pred_mask pc@0-+m@A@BCD T@&BinNat&NArith#Coq@!N@!t T)BinNatDef&NArith#Coq@!N@ 2@A@ @@#add @3 @A@A l@@#div l@3@A@ Y@%@#eqb Y@3@A@AB #@*@#gcd #!@3n@A@ T@0@#leb T'@3@A@ACEG "@5@#lor ",@3m@A@ q@?@#ltb q6@3@A@A @D@#max ;@3@A@ @J@#min A@3`@A@AB @O@#mul F@3B@A@ ~@U@#odd ~L@3@A@AC =@Z@#one =Q@3@A@ @b@#pow ˑY@3@A@A c@g@#sub c^@3@A@ @m@#two d@3J@A@AB hx@r@$div2 hxi@>@A@ @x@$even o@>4@A@ACD @}@$ggcd Бt@>U@A@ @@$iter }@>:@A@A 3"@@$land 3"@>m@A@ F)@@$log2 F)@>t@A@AB S@@$lxor S@>@A@ @@$pred @?U@A@AC @@$size ܑ@?'@A@ !@@$sqrt !@?@A@A ! @@$succ ! @?\@A@ !7@@$zero !7@@P@A@ *@@%ldiff *@@A@AB g_@1@+pred_double g_(@25\@A@CD m@6@÷ m-@2j@A@S@=@&of_intS㫑4@4}5@A@AS@B@&of_natS9@4};@A@BEFGH\R@G@(mask_ind\R>@4@A@\^@Q@(mask_rec\^H@4@A@A!,@V@&pred_N!,M@4s)@A@B@[@&shiftlR@5X@A@@b@&shiftrY@5X@A@A&@g@&square&ّ^@5,x@A@BC"@l@&to_int"c@5L@A@"@t@&to_nat"k@5L @A@AnTq@y@+testbit_natnTqp@6n@A@B@@(succ_posB@@A@I@@'abs_natI@?n@A@AB.@@'of_uint.@MS@A@3~@@'sqrtrem3~@7]%{@A@ACD,@ @'bitwise,@/v@A@>4'@@'testbit>4'@8g$@A@A{U@@,sqrtrem_step{U@8R@A@u^@9@(div_euclu^0@ @A@Afz@@'to_uintfz@9w@A@Bl@'@'comparel@3R@A@CDEFs8@,@+of_uint_accs8#@5+@A@}@R@,pos_div_eucl}I@&`@A@3x@(@'compare3x@]=@A@A@^@&doubleU@'޺_@A@BCq@@+of_succ_natq@$@A@w@i@&modulowɑ`@)1@A@ADK@n@&of_intKe@)j,I@A@K@v@&of_natKm@)j2_@A@AI@{@&shiftlIr@*O@A@O@@&shiftrOx@*O@A@AB,@@&square,}@*ow@A@Z@@&to_intZ@*81@A@ACE`@@&to_nat`@*9G@A@e@@+testbit_nateđ@+@A@A+{@@'sqrtrem+{ё@,J@A@5z@@'testbit5z@-T|@A@A @@'to_uint ͑@.@A@ @@+succ_double @.^4@A@A#@'@'compare#ݑ@ )Q@A@BCD%t2@,@(size_nat%t2#@ @A@%9@3@+of_uint_acc%9*@ ΋@A@A%V@8@+double_mask%V/@ S@A@%%@>@'div2_up%%5@ "@A@ABEF'ş@C@'Ndouble'ş:@ @A@(b0@K@*shiftl_nat(b0B@9-@A@A(nՖ@P@*shiftr_nat(nՖG@'@A@(@V@0succ_double_mask(M@@A@*W$@\@,compare_cont*W$S@!@A@.0@b@.sub_mask_carry.0Y@΂@A@ABCD.@@!t.@ ;@A@.먩@@#add.먩@ `@A@A.U@@#div.U@ @A@.B@@#eqb.B@ @A@A. @@#gcd. @ @A@.=@@#leb.=@ @A@ABCEGHI. @@#lor. @ @A@.Z@ @#ltb.Z@ @A@A.p@@#max.p@ '@A@B.@@#min. @ @A@.@@#mul.@ @A@AC.g@@#odd.g@ @A@.&@&@#one.&@ @A@A.뾴@+@#pow.뾴"@ k@A@.L@1@#sub.L(@ @A@.@7@#two..@ @A@ABCD.,a@<@$div2.,a3@ @A@.Xz@D@$even.Xz;@ ?1@A@A.@I@$iter.ؑ@@ @A@B. @N@$land. E@ @A@. @T@$log2. K@ @A@ACE.@Y@$lxor.P@ R@A@.y@`@$pred.yW@ `<@A@A.Ʉ@e@$sqrt.Ʉ\@ ;@A@.@l@$succ.c@ @A@.t @r@$zero.t i@ Z@A@AB/@w@.to_little_uint/n@ @A@CDF/@|@%ldiff/s@ H@A@00@@'compare00@?H{@A@A1P%@w@!t1P%n@  @A@B1P@|@#abs1Ps@ @A@1P&@@#add1P&z@ @A@A1P@@#div1Pґ@ y@A@BC1P@@#eqb1P@ f@A@1P@@#gcd1P@ 0@A@A1P@@#geb1P@ T@A@B1P@@#gtb1Pʑ@ q@A@1Pĺ@@#leb1Pĺ@ a@A@A1Pň@@#lor1Pň@ /@A@BCD1P@@#ltb1Pב@ ~@A@1P@@#max1P@ @A@A1P{@@#min1P{@ "@A@B1P]@@#mul1P]@ @A@1P@@#odd1P@ @A@A1Pɣ@@#one1Pɣ@ J@A@BC1P@@#opp1Pԑ@ {@A@1P1@@#pow1P1@ @A@A1P;@@#rem1P;@ @A@B1P@@#sgn1Pˑ@ r@A@1P@@#sub1Pɑ@ p@A@A1Pe@@#two1Pe@  @A@BCDE1[8@@$div21[8ޑ@ @A@1[d@@$even1[d@ I@A@A1[6@@$ggcd1[6@ i@A@B1[U@ @$iter1[U@ @A@1\@@$land1\@ /@A@A1\@@$log21\ @ 6@A@BC1\$@@$lxor1\$@ @A@1\Y@$@$of_N1\YÑ@ >j@A@A1\@)@$pred1\ @ j@A@B1\@.@$quot1\֑%@ }@A@1\@5@$sqrt1\,@ @A@A1\w@:@$succ1\w1@ @A@BC1\k@?@$to_N1\k6@ @A@1]@G@$zero1]>@ eD@A@A2:@L@%abs_N2:C@ @A@21@R@%ldiff21I@ ߵ@A@2=*@X@%quot22=*O@ @A@ABC2kF@@(size_nat2kF@{@A@3@x@(tail_add3o@^q@A@ADEFGH3@}@(tail_mul3t@^@A@5Z@@*shiftl_nat5Z@y/@A@5f}@@*shiftr_nat5f}@4@A@AB5a@@'iter_op5a@ @A@C6w~@@'of_uint6w~@^5@A@8j@@'of_uint8j@'"h@A@9E@@(div_eucl9Eđ@(*k@A@AB:x@6@,Nsucc_double:x-@ ʭ@A@CD@[@&divmod>R@C@A@>@b@&double>Y@NĴ@A@?2@S@,pos_div_eucl?2J@-u@A@AB?;@m@&modulo?;d@"i@A@CEFGIJ@X0^CIۂ{$|*Arith_base%Arith#Coq@0Ĕ}CS&Basics'Program#Coq@0!bs߯? :VU'Between%Arith#Coq@06v*0ur`C0&BinInt&ZArith#Coq@0BpHޞun^)BinIntDef&ZArith#Coq@0ådR4Tuy'BinList+setoid_ring#Coq@0Au&BinNat&NArith#Coq@0K11ڤs+Π)BinNatDef&NArith#Coq@03@1O,[{ 'BinNums'Numbers#Coq@0dmk(5Ju<&BinPos&PArith#Coq@0vyػ0= u)BinPosDef&PArith#Coq@0}H d.%,b$Bool#Coq@0j 2cZ`FW*CMorphisms'Classes#Coq@0qیZBeϠ0CRelationClasses'Classes#Coq@0TL;0RUfw1+Compare_dec%Arith#Coq@0jXF 8@0.i bYN Z)Decidable%Logic#Coq@0ND걸풬/Oߠ'Decimal$Init#Coq@0C涳N*ua%EqNat%Arith#Coq@0AIgՋXRV *EqdepFacts%Logic#Coq@0FI$ͼՋ`)Eqdep_dec%Logic#Coq@0u wWIϰ߼*Equalities*Structures#Coq@0όe얟)H.Ƞ+Equivalence'Classes#Coq@07;ꮹ)Factorial%Arith#Coq@0@oehJd-GenericMinMax*Structures#Coq@0måj$"Gt%Arith#Coq@0䙛#c:D $Init'Classes#Coq@0](p{yOh."Le%Arith#Coq@0d}Omq+$List%Lists#Coq@0>IYXW@0\͉!Ig*Logic_Type$Init#Coq@0 1jc6"Lt%Arith#Coq@0KZ-eJkP܏%Minus%Arith#Coq@0LFtR"@0Imӽ%\$PD.Morphisms_Prop'Classes#Coq@0% :B'.>u%$Mult%Arith#Coq@0햖Qyb0$NAdd(Abstract'Natural'Numbers#Coq@05;ZW:㥜un$)NAddOrder(Abstract'Natural'Numbers#Coq@02'8zn7Hfɠ'NAxioms(Abstract'Natural'Numbers#Coq@0Zخb1Z3uuѠ%NBase(Abstract'Natural'Numbers#Coq@0 Y?V vI%NBits(Abstract'Natural'Numbers#Coq@0qteo_hɅ $NDiv(Abstract'Natural'Numbers#Coq@0bz$?[p(5$NGcd(Abstract'Natural'Numbers#Coq@08E-S ;j_Ҡ$NLcm(Abstract'Natural'Numbers#Coq@0 ~xZ9L{:$NLog(Abstract'Natural'Numbers#Coq@0K Aat/ j &NOrder(Abstract'Natural'Numbers#Coq@0]@7U#oY'NParity(Abstract'Natural'Numbers#Coq@0̗SKz*!&4h$NPow(Abstract'Natural'Numbers#Coq@0҆mulf+NProperties(Abstract'Natural'Numbers#Coq@0unt"kwpYC%NSqrt(Abstract'Natural'Numbers#Coq@0<ge$NSub(Abstract'Natural'Numbers#Coq@0:DfJᠠ%NZAdd&NatInt'Numbers#Coq@00h`ZK4*NZAddOrder&NatInt'Numbers#Coq@0e~1>r砠(NZAxioms&NatInt'Numbers#Coq@0] ρ5r&NZBase&NatInt'Numbers#Coq@0^&8yUL&NZBits&NatInt'Numbers#Coq@0MlIpKt%NZDiv&NatInt'Numbers#Coq@0$ |J?d (w%NZGcd&NatInt'Numbers#Coq@0KgT7|%NZLog&NatInt'Numbers#Coq@0ꔉ .uV%NZMul&NatInt'Numbers#Coq@0ctR~6[Ƞ*NZMulOrder&NatInt'Numbers#Coq@0}\^ !"k}@R'NZOrder&NatInt'Numbers#Coq@0 q;Ve7R W,(NZParity&NatInt'Numbers#Coq@0H>ca'^^%NZPow&NatInt'Numbers#Coq@0)6*9 B:vȻ,NZProperties&NatInt'Numbers#Coq@01D%E`|3x&NZSqrt&NatInt'Numbers#Coq@0` .%m#Nat$Init#Coq@0eʤģPSR 0A,~jC9*s;{bѠÐ0˻*L aS&$Nnat&NArith#Coq@0$W;s #%M)Notations$Init#Coq@0&v!D]hwnv *NumPrelude'Numbers#Coq@05WUVŦ]xVXԠ4Operators_Properties)Relations#Coq@0U3y#h&&Orders*Structures#Coq@0$Znl0\͗+OrdersFacts*Structures#Coq@05Mܿ獐ζΖLB)OrdersTac*Structures#Coq@05'4Ԗ+9%%Peano$Init#Coq@0 jha|ؠ(PeanoNat%Arith#Coq@0O~2$k[#lZ)Peano_dec%Arith#Coq@0Kݢ*k$Plus%Arith#Coq@04tmG$Pnat&PArith#Coq@0,?pr.gZ'Prelude$Init#Coq@0JqTttֱ/RelationClasses'Classes#Coq@0Gz rA6ՠ4Relation_Definitions)Relations#Coq@0]4Ѐd{n^2Relation_Operators)Relations#Coq@0%s鯰s)Relations#Coq@0-SetoidTactics'Classes#Coq@0S_`nOU$&Specif$Init#Coq@0;RWMi\N'Sumbool$Bool#Coq@0sB ,$11.]m'Tactics$Init#Coq@0/9m+ a'Tactics'Program#Coq@03n2 Q@@@@#_18}@y<<AA@@@@@@@@#_192M접@#_20'`o@@@@H2 Q@@A@#_21@S2Ga AA@@@@@@@@#_222M접#_23'`o@@@@42 Q@@J@#_24 @@@@#_252M접 @#_26'`o@@@@#_2746@@@@#_28X@3typeclass_instances@@@ @@A @BV@C𐑐쐑褐@@@@@@@aE@@@ #Coq.setoid_ring.Ncring_initial#<>#1̡D@2 Q@@J@#_29,@2=QAA@@@@@@@@#_302M접@#_31'`o@@@@#_3246@k@,@t@ #_33X@s)@@@$@w@A}@B@Cnb^Z@@MB@@ufht@ #Coq.setoid_ring.Ncring_initial#<>#2̡E@2 Q@@E@#_69@^6AA@@@@@@AA@@ @  @  @ @ @ @@@@@#_702M접@^6JJ@A#_71'`o@@^6J*type_scope@@.function_scope @.positive_scope@@@@AAAAAqU@B2 Q@@E@#_72@M"Ki@ @h@k@n z@q w@t t@w q@z o@} j@@@@@#_732M접1@v"KJJ@A#_74'`o@:@"KJg@@fhjln@e@@@@AAAAAՠ@L2 Q@@@@#_75l@W͠@m@̠g@Ϡg@Ҡ @ՠ @ؠ @۠ @ޠ @᠐ @@@@@#_762M접@JJ@A#_77'`o@@Jˠ@@ʠ̠ΠРҠ@'Z_scope@@@@AAAAA:2@C2 Q@@@@#_78@N42@@1@4@7C@:@@==@@:@C8@F3@I@@@@#_792M접@w4JJ@A#_80'`o@@4J0@@/1357@e@@@@AAAAA@p2 Q@@@@#_845@{xڻ@@@@@#_852M접C@xڻAA@A#_86'`o@L@xڻA@@`2 Q@@A@#_87^@k:AA@@@@@`@Z@ Z@Š@Ƞ@ˠ@Π@Ѡ@Ԡ@נ/@ڠ@@@@#_882M접@:ꐐ#_89'`o@@:K @@àŠǠɠ@@@@@@AAAAA1@2 Q@@A@#_90@AA@@@@@@,@/@2>@5;@88@;5@>3@A.@D@G@@@@#_912M접@吐#_92'`o@@K/@@.0246@@.@@@@AAAAA@2 Q@@A@#_938@gAA@@@@@:@4@4@@@@@@@ @@@@@@#_942M접f@g#_95'`o@p@gL@@@@@@@@AAAAA^@2 Q@@A@#_96@6lAA@@@@@@ @@@@@@@!@$|@'@@@@@#_972M접@>6l#_98'`o@@H6lL@@@@@@@@AAAAAѠhk@V2 Q@@A@#_99@a" /bAA@@@@@ @@@@@@@@@@@@@@$_1002M접K@" /b$_101'`o@U@" /bK@@@@@@@@AAAAA񠐒A@2 Q@@A@$_102@ AA@@@@@@점@@򠐰@@@@@@\@@@@@@@$_1032M접@ 볐$_104'`o@@ M@@@@')@@@@@AAAAAc^a'@2 Q@@A@$_105@tAA@@@@@@d@g@jv@ms@pp@sm@vk@yf@|@@@@@@$_1062M접1@t$_107'`o@;@$tLh@@gikmo@@gi@@@@AAAAA٠)@!2 Q@@A@$_108v@,&AA@@@@@@(C@A@@@@@@$_1092M접@D&ᐐ$_110'`o@@N&E@Ơ@@@@O@@@@@"2 Q@@A@$_111@- fAA@@@@@@@@&@#@  @#@&@)@,@/@@@@@$_1122M접@[ f$_113'`o@@e fL@@@@NP@@@@AAAAA٠@v2 Q@@A@$_114&@ {AA@@@@@(@"@"@@@@@@@@@@@@$_1152M접S@ {$_116'`o@]@ {K@@@@@@@@AAAAAI@2 Q@@A@$_117@ y(AA@@@@@@@@@@@@@ @ d@@@@@@$_1182M접@ y($_119'`o@@ y(L@@@@.0@@@@AAAAAidg@2 Q@@A@$_120@ n!AA@@@@@@g@j@my@pv@ss@vp@yn@|i@@M@A@A@@@@$_1212M접>@G n!$_122'`o@H@Q n!Mu@@tvxz|@@@@@@@AAAAA砐7⠐堐@$_123W칠.Algebra_syntax+setoid_ring#Coq@@'bracketg@ 42 Q@@J@$_124@#kAA@@@@@@@@@ @  @ @@@m@@@@$_1252M접@#k@$_126'`o@@#kJ@@@@@@@@AAAAAj@$_129X@@@@Tu@(META1307}@A@Bu@Ckda^]@@(META1308(META1309(META1310(META1311(META1312(META1313(META1314(META1315(META1316$P"! p@`#k@@ZYv@ #Coq.setoid_ring.Ncring_initial#<>#3̡F@$_12746@@-Ring_morphism@@ 2 Q@@@$_130@^AA@@@@@B@AI@A@A  @A @A@A@A@AJ@A@@@@@@$_1312M접ALEB@$_132'`o@HJ@@ @@@@@@AAAAA4@$_133sqL@@AA@AA@AAu@AAs@AAq@AAo@AAn@AAj@AA@AA@@@@@$_13446@[ b@8$_135X@ `fI@@(META1327Q@@ :Ȁ 9 V@ #Coq.setoid_ring.Ncring_initial#<>#6̡I@@#_34:}9 @@hT@ApS@B@@@AB@БAg2?5@ggҸ6%@Q0̔%y=N@T"/c*ͨo"+0uSsR4&BinInt&ZArith#Coq@!Z@(eq_equiv4h!RhA.Ncring_initial+setoid_ring@@%ring0A%ring1B#add@C@DE#mul@@F#sub@ @G#opp'ring_eq@@HA"Ro&Ncring5@(Ring_ops( @  &').2!H@$Ring,@$I&,235:>!x'BinNums'Numbersa@(positive*@ @,positive_ind?Uз.Algebra_syntaxa@(equality78zL7@+eq_notation($KJ+GPV\]u@+gen_phiPOS1^6(  3OX^dep@*gen_phiPOS"K86#IHx&%lemma+M#$&Gclrx(( Ientz)Morphisms'Classes@=trans_co_eq_inv_impl_morphism&ni$N@7$:21[w/RelationClasses@6Equivalence_TransitiveWz@+ring_setoid8((KCBlU@(addition;53@,add_notationb@#one#ҍ*@,one_notation:2,o@.multiplication+-77@,mul_notation%[C9'?"j(ASvnm˩+C& EEhR@>Reflexive_partial_app_morphism 2R,M@NON[@*respectful%WO?VVUU@X;@.ring_plus_comp+KI;j@6reflexive_proper_proxy5ed`@5Equivalence_Reflexiveb]AAXzD (F~ysY@/eq_proper_proxy)f&1(!(!'9[!^$"|``(b"+?92PB1$k+    (u5Mw=;5Tǩ(">GM Ad@+reflexivity(ϓ/3w(  6R[aZXUT4C#=`^[Z (!B^g }CA /()! JfouHB('" vtqpPUGsCB\}zy,( @87a}(L! :(#F>=gdC7.Wߩ($DB `,׶@tLNNLSQ jjl@,ring_mul_1_r)"d,7Ildcd98Cx;8%=  ??b(ASvnm0qCUTn(WzrqYhca_W$MLH ذRݷr Y谷w}Cyy~shCaa\Tx$ PMީؠ"ACtq77C(m$ s(  a\C ( z1/%#"   зҩ(!'(&BinPos&PArithT#Pos@$succ=)a)BinPosDef @#R  өЩөҩ֩թ٩( <EKQ*ީ  $̩( +GPV5anGK@,ring_distr_l04=Ybhno""(#$@&Gclrx]@,ring_mul_1_l)"d, .&%Oktz1:>==B>@>trans_sym_co_inv_impl_morphism'\|  @/Equivalence_PER/;#5,,=41TLKuZZ.7`54"2 %$8' ) +,-, ,/. @1Cf^]Ġ@,Fia`CLuJI"Lvu$Nxw&PzMM(R|~=BA8U,D'נ@.ring_add_assoc%;N4^yxdba:d<fccQVULi@X;BZ=4ollusrKuro$ed`xOgJQiLF*@k}ՠm\^`$zyud|_f~a[?((:4  oéq(ĩ$upwr(Pl"99$@/ring_add_assoc2¼4 6I%G#E@ &G#2``A<b"-:%r驚@2subrelation_properJ74@@i(h@+k-%Logic$Initn@#iffС)ũ@,PER_morphism qé~ΩBЩ&Basics'Program@$flip$NNN @$impl7o)Datatypes(@$unitUe@A@6subrelation_respectful>6z :򩚠@0subrelation_reflv @+ m @+@9iff_flip_impl_subrelation2VAv@<43]yz|s@/ring_add_assoc1¼4!D<;eJ<#P%$'()LDCm+UmTCX-,F(/RJIs}3 3]\޷vt>Q8:dc+Cg<;U(>aYX#BlkIrbdd"gG$r|ts:v2(xpoͩzzt0},zyz|C~ө|(ݩD?ꐑܷܷշηз!y~}(@=&൩EcGG(I @)add_carryF˱@+p'2SqUU$(^'|(b"9AI  ( p0E (v6S.4{;DJ??4 $,8$*'##y@!)EN%f%f, ,HQWA1MLJWRW1>;.4/61/83::.30.@<#D`i6,>@?QMBBOOޠD?L>GTQA@<<JW>44,+Uqzuu#@Z$'S`"6!UPWRPYTOOM@[ B:9c',]jV'@_#F>=g'U'USS ,&IA@j8,Uon{=Q pk rmktovvjof,x:864#z3%n ,|><:8u7n O41Cf^]Ir2Th!2#%{{,OMKI8,QOMKJ@CUxpo֠R,FX{sr^4ĩ6ĩ8tt:ȩ<ʩ>Ω@  Uw#DFW#4asyOߩQߩfUW+4$r詷(*`*b,wfǩhɩj˩lͩnĩ.@: 0@<. 2@> ʩ.J4C @(eq_ind_r!2#,(T5&X(Z#\" (^'$ (d$F( m-c@ o/8 P PAA' C@2ARgen_phiPOS_Psucc,y9BH-ߩ}"!EC$*'!#}@% -IR ,'4  l"]]e 6Y[Y]_]$7DA94;64qq04%Fbkqf%1Knpn$HURJELGB<A46.-Ws|%wB\$}$WdaYT[V]X_ZOXUO@a%H@?i@c'JBAk*@e)LDCmF^^ [[gt ]WW\4.QIHr@4]w  2$vxszu|w~ywntn@2Dg_^'@4Fia`'xxrrw47IldcOx%a')eM$-/1@K]xw!4N`{z*rf<ʩ`$ک@ Xjک@ Zl4]ouK٩MݩOݩ4@@zܩ@ɩ˩#ϩ%  ө  fǩhɩj*@649=u?*wAyC ,4*(#!}ީ**4L 5P(RR49720,R@^'T@` ).V@b"+.C$$"ʩh j0.l2n4n224USNLH     n@z:C$p@| <E$]>( ;4#?HNCC(KIMOMM)4pn4igc)$+&-(&&@/ 7S\!t((#R4:V_eZ*Z  `^QH@.add_carry_spec$BPC-G('Hdmp(nn!( -%$Njs,K;UqpVzuzZ$Ta^VQOXXLKQZUS\W^^RWW,`"m Y b]\T~d74+NFEoo1Zts)$mzw ojh qljj,s531/l.@u'9\TS}nn6,*<_WVBT)|K~yJp@2Dg_^zLDrr;t8M64V #4{@=OrjiW60}} ,V*=_# ,= ,VTRP?"٠_Fh, 5F,_][YH%+ h>̩@ B f$=FȠ4cu{QSU!j$Y[l/4(v*쩷u "@.| $@0~w$'m-@9@xBũzD |F  $-V4O$ M@Y"O@[$<"©`b(K$  Z@f &/4G(-%4i )28-?۩k*Cm(o/8O;˩s99(u5>ϵܩ$|~~=<($@I.JIDIfMOMMA4 2NW]c  $\@<Xagyy,?[djp*٩jljj@+#"Lhqw!,nnn͠4 0('Qmv|<'@80/Yu~,+{(@<43]y(+(+}}ܠ, ?76`|˩"K  6!.@$G?>h砩4'JBAk֩-VF%$A9@1TLKuSSͩϠb,$6YQPz<e(%4$P  4-?bZY En1.=$Y46HkcbNw:774@Щegg{iTkmve[ ooVq _ ss|Q7ũ@Qc~}&J?UTTCWT(Ykک렩KF^A(`r!~(j|xW!(#q ŵz$rnhbfd$wb^  Zgpʩ0@<p yө9@Ey xT,>|rpn l_, nhdX$P?   Nǩe g-gei/e] Nw4p09?p4l֩t v<:!j "Y4{;DJ+??$(%qJH))7+F$"/,Q>g00:ԩ$'41C8455 0$,96=I,::*-1>N?#6CS( {O$;HEXIAW=?>$BOLP4,* ($GTQ9 '" )C;U)(5-,Vr{6|W $XebZURLv\'$ank  쩷,>fs5hc2Z@j.QIHrb4\\ 5o|>  qlc@s%7ZRQ{=ee>%xG  zu#,|><:8%n G.P ~,,GECA.Py&i;] cӠ4CUxpo[|Q$&1vv@K]xwxxnnptf<>Ω@ |Ωd$DF4asשyq$ @i{ 4l~ C"ǩ($r^(4?>:84e/g1'@3  V4JIEC?: .@:  :]$?oA A}Z$Fv 'C2C(   -(   #B;,%(  $ * 0; >6 @G ȩũ(  * 3 9 ?$(  4 = C Y(  $ @ I O ]8 4   ) E N T Z [ !$@    3 O X ^ d p p,    6 R [ a g h* !%$o$)%s&˩ͩթ(,.,. 4  0 ( ' Q m v |  66  <    (   ;;,  ,  @   B : 9 c    A A , " E = < f      ( Q & % (RQ  *TS  ,V  .XZ  E    4 5 X P O y     ^^  ; d 9 8   ;e  =gi( - ,#T  /   1 ee Ġ4 F i a `      r L u J I " Lvué F$ < ; 7c & > ! ( @ # t@ B T w o n        D, Y | t s       ک _  ] \ 5 _ 7 a 9 cک ]$ S R N = U 8 ? W : 4 **4 l         "㩷 r  p o H r J t* n$ d c _ N f I P h K* E ;;&4 }         3    F l q pg D @ s         D   u t } v { zq(       j j4   n  i p  k e e 0@          $  g g ,&4           ~| y C    (         '˩   (         "Ϸ4    C    (        & ,7   (       & , 2 ĩ   mj $      H  ,     , 5 ; A B Dt  W}wC    (     3 < B H IS   (     9 B H N O Z l j ` ^ ] [ Z X S Q N L I L G E @ > 3 1 ( & з + )p *    (     2 N W ] c<@ e=N4@ f#Fn   # m 9 7  9  )        J   ө      N      P   !(    - % $ N j s         q+ + R   {    v {    x- (4   ? 7 6 ` |      f " K   j   6!     @   & I A @ j       < :%,  + N F E o     u 10  C.'        D! ,  I#   K I%  @  ' 9 \ T S }   MJ ''/ @-'  R=6   .    0 ,   X   2 @  4 F i a `    W/44- M v 9 6  ; ;   % =   ? ?   <  gRK +  C -      kG ,  $ o # ! I& ܠj4 L ^  y x         d  P M : R 5  < T 7 > V 9 S  ~ib B  ҩ D  \ 4 _ q         "" w  c ` ( e w         s   U m P ɩ ( o         {$ #  S{ [ % s ( ' u       {  ߠ ) @0ARgen_phiPOS_addg0                (         I $ :  j r <  Z > >   ( @         x B  ` D D  M L, F o  n l jq  N, H q  p f J J  )   ; M   V .CC& , ͩ     q   l ff    u   p j $ [    ] #  _ % } a a  %j i, c     ! DYY<4       & / 5 ;  w ̩   { $ l  y t, n     y d@ p       0 9 ?y Qy QffI,       3 < B H u $ w  m XmmPi    cvC   _xC   ɩ (      $ @ I Ou c    t . ' % m '    ש     X        \ $   X   \    W \Z y P 㠩 4      A ] f l r  g  ,  k $      kgg @    * " ! K g p vi i  ,   - % $ N j s y t   "  נ   'Ϡ ͩ   ,   $  1 ȩ @    B : 9 c     ʩ w ̠t =   C Q   ?(  ( K C B l   :{     z v m 4 ] U T  W W m M M  6  4 $ 4  4, ] U T ~       S U _n UC i a ` W( c [ Z      R  f fl \ Đ  Է  ȷ  ŷ  ·              @ 7@@@AA@AA@@@@@@D!z    {@(gen_phiZ4 z @)gen_phiZ1  ﰵ    ਗ਼ @$zero#*  @-zero_notationS C   (         4A  ȵ   v jW     @(same_gen:,             H C   7(         MB 7  ᵩ  ѩ  p @(oppositeG  @,opp_notation-\[      @-ring_opp_comp04       % + 1 2   =/  p   C   b(     & / 5 ; <xC b ^ \ R P O M L J E C @ > ; > 9 7 2 0 % # _"H7 @"eq @@$boolZ'@%Zbool @(Zeq_bool0߀mAȐ#H10@+Zeq_bool_eq䤀 x } $ z _ | G 2  Lk d $                   |  z x s q f d [ Y Z @'pos_sub<)BinIntDef  @+ieҷٶ@շ n  Q o  !k rV t  uY w    f   {    W(  . @ c [ Z      U İ"H0k   Ʃ  ÷   y  (  > P s k j   ͩ (   X  D A . F )  H E  K H I  t_ 8  t"   栩 @,ring_opp_def. qQ  \ [     +   g    (   i {     ۩  T  ̩ذ     % ʩ ( ' u        _ ) w t  c  ĩ (  / }          i  ʩ k  ǩ   ,@  8           ( 0 =              B  z D d | F F        . - 4 O         o   S SQ       E @ % P@  \        % ='' L  )Y Ʃ  d   f ,d   33 I "@,ring_add_0_lҒ, p       0 9 ? C  s k( u       5 >: 4 K W E   R.7  c    &w(        % A     ( "       * F U@ $h6    1 (       2 N W(   Vީ  . ;  0 +N 2v ( 4       < X x i r  8 3V :~  < 7k , >  K  @ M O4 B    ) !  J f o }0    , $ # M i r x ~   9  Sh "   xl ֩n   T a #r V   X S8  Z Ux \< , ^  k   > &  |@,ring_opp_add. m0   * M E D n    0 Y  s          "   r  A  t o  v qV"  4  + = ` X W    +) C l  ߩ ,   N+    |- @   5 G j b a    //    >1,  : L o g f     R {   (  >> =   _<< ՠ,  E W z r q    C r  m kEC   (  K ]  x w   Ʃ _ 6  "R  ᐩ@-pos_sub_discrۧ ᐑ  u@*comparison;f@@@@@@@@@@@@D!c!BȴM @@"be"bl"bg % @'CompOpp &  !AC*("& #˰9CA'75/3-0+, C<:482501ݰ1K.-UBBIGAE?B=>(CNLFJDGBCC]@?gCPfdZXWUTRMKHFCFA?:8-+" g ( +GPV\]@f1P&@g ̀ g $  ,(   6R[ag lqv   !( =Ybhnq  R @)same_genZ" /b,'Hdmsyz| 3+*(-%$Njsy     9 @5-,Vr{   ,:21[w  '  G , @!  ##   % O   (  / ,nܩl@%Z_indrзv b  |( '9\TS}R    l  ( 1Cf^]\Ʃ   ȰOx;8%=  :  eP)  Ԡ,DVyqpCFC(HZ}utɩs٩4L/(N`{z h >   ̩ S   u B         C  (btݩ۩N *(hz߷   ũX"  ܰ$B  o     `   ,-{  /   C1 ֩)(3ϩm7 I/(9ӷڷ !KF?M  7( A(${  ,= 'L NL      3 @,ring_add_0_rҘC[S(]&֠<a's,90e %.=FC _(i )P0 Te( o/4:@5gen_phiZ1_add_pos_negtC q({;bfw(%AP" i# .(% -I l)$Hn8[ 3 @ ߩ50BzGC(B("C_h~inD 4E P(G .&%OkKF ] $ > 5$ Q80/Y ( U<43]y( W >65_  9( ^"E=<f| !w>( $c'JBAk &   ([0j.QIHr4]n y% pk .$ 3%! @-ring_add_comm#Zc0z,>aYX &Y|  5Cm~ (2Dg_^]ei{Py g(>Pskjީ( L$ QC? S2o( UFX{sr W62 Y=7<4 [L^yxߩ6 ]A> _>B ak ðCUg$ l^Z M0`r   i C (fxةR  Է9 +(1@1Pr@ {-$ I G6(  3,  E( !*A  ]  [4 &')2,#)*,15fзiS(&,2.W 6ǩUP  ZΩUͩ)$R+@-ring_opp_zero0    Ct(">GMSTO]:!z((DMSYZaS%  éB= aC( 2NW]c_UJE(8T]ciYc5%TO s   XZ$$\@,ring_opp_opp. >$    C8  (2*)Sox~Kkf(80/Yu~O3|zomdҷ ө)RJI(LDCm@1P] @  *$2 n(4WONx B88eA?:>,`XWC9*A    CCp4J30K2I &KKx<.,M- *, OO| (A*W3Ѡ(UT(Wzrq̩.֩[[>ذ`_(b}|ש9!ee(g谵o+ Zq N;/ss@,ring_mul_0_l)"c9,C(V%> +õF uzyp1J||E33o o mC,( m"U4ڵ]թHa\JJ&2,CB( !kJ[TbL(%9vqR(%+T:ũ© <lnnJ#@,ring_mul_0_r)"c?@Cѩj(4=CI;SsC ɩ($@IO,$( *FOH(/KTclC@1ARgen_phiPOS_mult6l09U^djrvC$(?[djҠ(bE($EajpflB 2a)-eW# i-r*m.@(symmetry0xj0@5Equivalence_Symmetric. U3|@.ring_opp_mul_r"0*MEDnLt0P&$By40SKJtLIEN#".Cb%"('9\TS}fu++(-?bZYyo2/(4Fia`ɩ88(:LogfɰT}RQTTl?DC:FFX٠C\[(^yxө5ݩbbOjVSa&XX!jU  k]*ͩȰ.^][V_󠩚@.ring_opp_mul_l"POCif(k}T"=oo87µurw/GyyBv- K//!{1O|3w!0 :  <Z4> |ũ$Cs$  E R̩N /, &CK($Zupo|LJ@>=;:831.,),'% vMwzGK '|I}mũIR/g`:g=