"`hL;%t&Ncring+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@)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ֱ&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$0D9AsWE!>'BinNums'Numbers#Coq@0dmk(5Ju<*EqdepFacts%Logic#Coq@0FI$ͼՋ`)Eqdep_dec%Logic#Coq@0u wWIϰ߼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@0K81+&@@@AB@@@@h@d( @@A@@@@BA@HHdb\ZXVTROMJHGEDB@@U@B@A@A@@AA@@A@-zero_notation @SV CQ@@_]ecmkus|z!Hb@( @H@k@uA}B@C@@D@@E@@F@G@-@( @ .Algebra_syntax+setoid_ring#Coq@@$Zero#'0'I (+k()' @@V @X@A@A@ZAA.Algebra_syntax+setoid_ring#Coq@@dA@AB@@s,one_notation @ÔXK@@ͷӷ۷pn@Ҕ@ܐAB@C@@D@@E@ @F@G@g #%d@#One#mI (+k()' @@X@E@A@A@GAC]@KA @AB@@ʠ,add_notation @YS@@&$,*42<:CAJHUSI@)@3A;BE@C@MSQ@D@X^\@E@cmg@Fqu@G@ts멛 z|rlf_YT@(AdditionHJӀI (+k()' @@Y@E@A@A@GAE@KAc@AB@@!,mul_notation @q[[o@@}{@@AB@C@@D@@E@Ķ@Fȶ̶@G@ʶB @.Multiplication {P̀II (+k()' @@[@F@A@A@HAG @LAϠH@PA@ABC@@},sub_notation @͔]c@@׷ݷzx@ܔ@AB@C@@D@ @E@ @F$(@G@'&q -/% n@+Subtraction_I (+k()' @@]@E@A@A@GAMJg@KA@AB@@Ԡ,opp_notation @$_k"@@0.64><FDMKTR_]@@3@=AEBO@C@W][@D@bhf@E@mwq@F{@G@~}Ȁ |vpic^@(OppositexNI (+k()' @@_@E@A@A@GAˠL@KAm@AB@@++eq_notation @{aݠsy@@(&@@AB@C@@D@@E@ζȶ@FҶֶ@G@ԶL @(EqualityKaI (+k()' @@a@E@A@A@GAIN@KA@AB@@$Ring,<"Ror頠栠唑e͠C@@@  #!#*Build_Ring $"/-/+ring_setoid/RelationClasses'Classes@+Equivalence~@񩚠.Algebra_syntax@(equality78z@($KMC=70*%.ring_plus_comp)Morphisms@&ProperL@J@KL@*respectful%WO? @  *"$ika[UNH 0@(addition;53@:.ring_mult_comp,@"@"M"&'F(>$*,;}wqj(,,L@.multiplication+-33@%[C-ring_sub_compH@=@N>A bCZ$EFHWDGGh@+subtractionN@gǀ-ring_opp_compdW88{:s$<^_ap@(oppositeGC4@-\[ ,ring_add_0_l!x2O$7Suvxөfa@$zero#* N@jS-ring_add_comm!yPQ$So}ʩѶ.ring_add_assoc, !zRS$2fߩ  㶐,ring_mul_1_lC#$'*Cw@#one#ҍ!@::2,ring_mul_1_rZ*)(++*.-.ring_mul_assocf3LT;UV$<?ORk!    '!,ring_distr_l|bP W$PScf82-   <1 83,ring_distr_r*y(g$X$.13gjz}AOI   HS JO,ring_sub_def>+:YT[°Y,ring_opp_def9H$#&a ('Y)@@@kOO@@,@@<@@AAO?BA@II@@e@@A@A@AviAd@AAAz@AC~@ABAE@AG@AAϠH@AMJ@ABCAˠL@AIN@AA݋X_A@A@ABA]@A@AA@AF@AA@A@AA@ABCDEF@x @˷ѷٷln@ ,@Iuv@@@@@@@@@@@@@@@@@@Щΰũ԰ʩڰ@@^xzx $:<2{wuqZ$\uC^ram##idgbT?VA0+Y-2akq\_Z($*^aqt,C/?:13IC>[l+kjmmBADDJo1=??K]BXNHEDB=0/22-a%44/661e_Z>OM:I%$''"!b)!++&qf--(mh5ZG1W O$ 5L`ce   s.){1z |2ZDj?!#0Pv(H* ,#@ö5Ω@,@$/RelationClasses'Classes#Coq@@+Equivalence~@$ H+k()  = R ' >'' +  k 7 7!7%'NAO@$4@@@@@ @ַܷw   w\ڷFϷ-ķrf|@  #!#^])Morphisms'Classes#Coq@@&ProperL@ֶ@ԩٶ@ةܩ$79/)#$=?5/)"$AC93-& ֠$EG=71*$ +k()  = R ' >'' +  k 7 7! ^8 7 7!  7 7!7  7 7!+T7+ T7&''+T''NAO@Ƞx$d@p@@ @A\GEMKUS][dbkivtvzys|aOK^,\WRI>3*u_T ?)@]xcaigqoyw~̩o@;@:98>@?=]AU$CR{?EEcG[$IXgK_$M\OO$Q` +k()  = R ' >'' +  k 7 7" ^8 7 7!  7 7!7  7 7!+T7+ T7&''+T''AO@f̠)|`9(~h@@@W5 @ǷηٷKطƩ`]94[ȷƷkP5vk^}Ko?@˶Ѷٶl76ـ@@@Ǡ$͠$ Ѡ$mh$ 󐐠 +k()  = R ' >'' +  k 7 7! ^8 7 7!  7 7!7  7 7!+T7+ T7&''+T''AO@АȠwxʠd$@?@@ @+$",*31:8ECEIHBK0#20+&p_I3(շȷ@1L75=;ECMKTR[YfdfֶC@  /'$$npf`ZSM3+$(rtjd^WQ$,vxnhb[U P+k()  = R ' >'' +  k 7 7! 8 7 7!  7 7!7+ T7&''AO@20H)ȐҐ$J|@@@#ΐ @rxv~|LlM >O9 ؠRf; xmdTOFy;c.M?f@ʶ<r@@78zz$|~l~g$$ t+k()  = R ' >'' +  k + T' 5  7 7!  7 7  7 7#'PAO@\Hࠒ!|@ @@ @߷ F,[]nX?ַ.ͷx@  #!*(535poi۶P۩kީ$<>4.($@B82,$DF<60# +k()  = R ' >'' +  k + T' + T'   7 7   7 7  7 7#'РMAO@Рh蠒TԀ@i@@렠j @:U@>FDNLVT][dbomo߷srluZy6;۩=[ WR a[VVRe3c^YPE:1|!f[F0 @djhpnxv~ Ӷ??@р"[$$FGIX7&2$(JKM\;*6$,NOQ`?.:$0RSUdC2>$4VWYh <+k()  = R ' >'' +  k + T' + T'  + T'=    7 7  7 7 <  7 7  7 7  7 7#'Р#AO@$TL\}S8H@@@Y @÷·ɷз۷Mڷȶ@X͠Dͷ˷pƷU:$ {pcPtD@жֶ޶ q<;55$  z$   $    萐 |+k()  = R ' >'' +  k + T' 6  7 7!  7 7  7 7#'AO@䠒dߐP@9@@  @ %       & $ - + 4 2 ? =?CB<E*u b  ,*%  jYC-"ڷ Ϸ· K@ +F 1 / 7 5 ? = G E N L U S ` ^`ж$    e g ] W Q J  $  i k a [ U N CUP$ # m o e _ Y R G x+k()  = R ' > '' +  k + T' 5 7 7!  7 7  7 7#'vAO@ࠒ?`bx>Lr@@@ _ @ i o m u s } {         CC"ej  l      "    b7ti`PKBu7_*I;  @               ƶ 8nnoQ$Suvx     éJUUE$Wyz|      NYYI$[}~       R]]M$_     ϩVaaQ$c        P+k()  = R ' > '' +  k + T' + T'  + T'?     7 7  7 7 >  7 7  7 7  7 7#'РRAO@]DL8j\d$@@@  @   ۷              | B(vةxxn z||r  q lV߷=Է,˷v @          !  ( & 3 13 nmgٶNٶ=کk$  < > 4 .$  @ B 8 2ĩ$  D F < 6 ) # ȩ$  H J @ :̩$  L N D > 1 &Щ$  P R H B / * +k()  = R ' > '' +  k + T' + T'  + T'\  7 7   7 7  7 7 >    7 7  7 7  7 7#'YAO@̰,@"DܰDX!0@{@@  @ Lg R P X V ` ^ h f o m v t   ~l&&HM a  e p g l gcvDtojaVKB2w-l$WA + @ u { y             䶐PPQ3l$5WXZ i    ,77'$9[\^ m     L;G$=_`b q      P?K$Acdf u    8CC3$Eghj y      <GG7$Ikln }      +k()  = R ' > '' +  k + T' + T'  + T']   7 7     7 7  7 7 =   7 7  7 7  7 7#'8AO@C,@lHSDXn4@@@ tu @ ޷  Ƿ  ͷ  շ  ݷ       h.}CX  ש ީE@  ېr޷WշAʷ(ma @                YXRĶ9ĩTǩ$  % '   ˩}$  ) + !    ϩ$  - / %   sөn$  1 3 ) #  P+k()  = R ' > '' +  k + T' + T'7  7 7"  7 7   7 7  7 7#'$:AO@8РِP䠒$ې<Ѐ@b@@ 䠠֐ @ 3N 9 7 ? = G E O M V T ] [ h fh طlkenS -˩ F I IEX&VQLC8-$oYN9# ۷ Y@ Wr ] [ c a k i s q z x     ƶ24J$68 G     } v&8!$:< K      z o۰<$>@ O      ~ sŠ@$BD S      +k()  = R ' >'' +  k + T' 7 7! 6  7 7"  7 7  7 7#'$AO@lܠBXnDD|h@@@ P'pow_pos @!RWe @@        ·  ɷ  з  ۷ MA@ !i'BinNums'Numbers @(positive*@(@AA@AA@@@@@@@D~ ְȐ!p   |kka ~mmc  %#  @A?                1 +k(), ' (*()=v PRv'> 3!   7 7  7 7# '> 3!  7 7# '''+k'+Tk+7T''PH8젒h`2AABA@@ASĀ@@@`Aj@bAi@dA @ABC@@  %pow_N @rp     & $ . , 5 3 < : G E G z F`@!N7@@@A@A@@@@DT -@;ӷYs @+,     ^ ` V P J C 8@ < : B @ J H R P Y W ` ^ k i k ۶ j$  x+k()  =( RE ' >          7# '          7 7% ' ' + k'T *@@AAALD!h4@@@A@A @AB@@ "ZN @ě@!Z7@@@AA@AA@@@@@@DX wZA_B @ޛ'BinNums'Numbers#Coq@@!Z7@ @!N7@ +k= R'>9'>9'G''+k6'1@@AABAAAx@@@@@ `*power_ring @f @@      ȷ  з  ׷  ޷    [ ^   \ ]@ ݀,          ϩ c@m:O@-@ אA ߐB @C@   @D@   @E@   @F  @G@     HGFEDCBA c@$  , . $     a@%Power#ȐJ +k()  7           7# ' PMh@@f@h@A@A@kA S n@AnA @pA ;@rA@ABC@@ ޠ-Ring_morphism,<"Rh @'Bracket-2G 0 d"Rrk$ m g i _ Y S L F A#Ro0    o e _ Y R L G(ring_eq0@ @  r$opp0@  $sub0@ $mul0W$add0 %ring3 .%ring2 4"Cr$ :      x r m    M     | v q @ @ Q  @   @         ┑qˠ @@!Cp @@@           $ ( - 297> pC oH 3MSQYW`^genlzx  А3Build_Ring_morphism#!,      Ƕ  ζ < @ E JQOV [ ` Kekiqoxv}.ring_morphism0   $         ֩ @'bracketg   ҩ $ ǩ $      . b ~  ( ͩ #.ring_morphism1  ѩ $            ԩ $     " % > r   ۩  1ring_morphism_add I ɶ /    $  ~     '      $      ! $ 4 7      0  2   1ring_morphism_sub _ ȶ E    $  `      .=Z )  $      8 ; K    G  2I  41ring_morphism_mul v  \  $ ^ w      T[J  $       O R+&   ^ !S0` #U-1ring_morphism_opp ' )h+]  8 0 0ring_morphism_eq  \@ -] &$&=   # 7 : <LG 2 *$ t w      ^  Y  U T1H   . B E G { ~        .x@@,GG@@0@@       @AAG*BA@UU0.'%#! j  = A    @@p@@A@Aq@@A@y@yà@A@၉@၉@A@ABC@ A @A A @A @ABA @A @AA @A @ABCA @AǠP @AA@AX@AB A @#A @A$A ?@&A @ABCD'A @,A =@A-A @9A /@AB:A ,@=A ,@A>A (@@A '@ABCAA $@EA %@AFA @HA Q @ABKA@OA~@APA@RA @ABSA d@VA @AWA @YA `@[A @ABCDEFG@  @^\Ig  w{  ÷ ·  ˷֩@@T   1 4 D G `     .0&  U@@@@@@@@@@T    ? B R U n     <>4.(!   $    @B82O  ' n  i$    I L \ _ x  r  m #`  I\  . {  vG ~ ! yPV  "g  $? F  A I ) D!Q   ~ ة ( 9t7 _ 9 6ID   @53H   @ 5B/-Dv / ,VQ I 6+)> L 6 B8 :$:      % & (<  $!W  & = Q T V fa BB  &Ek(Gh; I UK.M ڰ0 q ݰR 9 6 3@ c- [$/<[r  A X l o| g1 _$3 u       (_6 N8 P@  '%, ^1 ]6 !; A?GENLUS\Zhfq@w@U $U u wVU V $VTSRQ   D ` U $U  А +k()= R '>''         +k 7 7! '   7  7!  7  7 7#'ࠒ |pAG@ h #t `@ @@ @SQ>\lpu z   { 4Է ʷ@sq^| !(3 3 ض ׶  ƶͶԶzypU $U  CE;5/RVU& 3V /$VTSRQ j   ө =U 9$U   WYOIC +k()= R '>''         +k 7 7! '   7  7!  7  7 7#'ࠒl %|8AG@ L` %h Yt@ @@c @ķϷWZ]aejmqt߷{  + *  ] " )'53hg`jV~jG=3o'YC6@wz}   K J# ( }.,42;9B@IGUS춐 V ͐WW t$W > ` a crXW UX Q$XVUTSRQ   aW ]$W T v w yʩXWXW t+k()= R '>''        +k     +T'     +T'5   7    7  7 7 .#    7  7  7  7 7#'ࠒ \fAG@ 4 H ~ @ @@А @IG4Rݷbf k pwu|   q ٶ J ʶ 0   &    v  q y  t6ַ"̷·@us`~   #*55 ڶ ٶ  ȶ϶ֶ|{ tV \W xW$W    KMCZXW; X $XVUTSRQ t :5 W $W acYpXWQDtXWUC t+k()= R '>''        +k     +T'     +T'5   7    7  7 7 .#    7  7  7  7 7#'ࠒ~ Ƞ :\MAG@7H ܠ4@ @@H @ַilosw| =< o &$-+42;9GEzyr|h  Y  Ci E  G!  $ L Le[QEw9a&T@ !&+207i<hA,F LJRPYW`^gesq  V W W$W\~ҩXWʩWАXXT$XVUTSRQũdАWWa$WtXWթXWԐ +k()= R '>''        +k     +T'     +T'6   7    7  7 7 0%    7   7  7  7 7#'ࠒu ːhAG@8ːT@ "@@ @igTr ))ηͷ ÷ʷַ   j  $ 8:0G  & ۩{$   ADTWp  P  /ZF7"ڷ η*@*-048=@DGNYYŶ 0߶V V$$V"lnd^{WVUW$WUTSRQUV$V%&(7ysWVj_ t+k()= R '>''        +k     +T'   7  7 7" )    7  7"  7  7 7#'ࠒ䠒S\fAG@Ԡ8ޠLVH@ @@/? @ " 'Y,X16 <:B@IGPNWUcau_@8~;=uk_S{@n5@ '¶ɶ7;@ELJQV[F` fdljsqzx%$VW@ "X$XVUTSRQ-թ 0X$XiYXYXꐐ D+k()= R '>'' +k     +T'      +T'    + $   7 7T'    7     7  7 7#' ٠,LAG@֠8@ -@@,pow_pos_comm @@>@_ᾘ@@  !(&/-:8:=n߶!jV,AC93- "@@@A@AAۀߠK@#Aۓό^@AB&A@*A@A+A@-A݋X_A/RelationClasses&@AB2A@4A@6AP@8A@ABCDE@@,pow_pos_succ @@ADIGOMWU_]fdmkxvx{><ک!, "1{}smgZ&BinPos&PArithS#Pos@$succ=)a)BinPosDef @#RP@@@J@AE@C@AB?@@@A>@;@A9@8@7@ABCDE@@)+pow_pos_add @@Bz}HSȶuɩs2X,4VWYh7@=<ECPNPSͩ,AA@@>@@䠠.ring_opp_mul_l @@sF5:8@>HFPNWU^\igiٶl -˩HMHJ QL@@@0@A+@]@ABY@+@A'@W@ABC'@(@AX@T@AB$@S@$@#@ABCDE@@.ring_opp_mul_r @@Gdigomwu}2=<\=/??uz /@@)@@-,ring_opp_add @@H~"LWVvWY GJ[ L] I M@@@v@Aq@@AB@@Am@l@AB@@A@h@g@ABCDE@@W,ring_opp_opp @@I ȶ϶ڶLv߶Y" $ @@'@@r,ring_sub_ext @@J "öƶ̶Զܶg"x1"x2@^׶"y1"y2i@87!ǩe#`h&@@@@A@@ABAJ@@A@@ABC@A"@A@@A@@@ABCDE@@,ring_add_0_r @@>K _  " )'4247h٩%@@@@A@ @AB@@A@@A@@@ABCDE@@Ҡ/ring_add_assoc1 @@aL #(&.,64><ECLJWUWǶZq_ F HB<7 J LD@@@@A@E@AB@@A;@ @ @ABCD@@/ring_add_assoc2 @@M JOMUS][ecljsq~|~#""Cȩ m oci^'@@%@@-ring_opp_zero @@N gljrpzx 5]A3C5ɠF8@@@^@A]@Z@AB@Y@AU@@ABCU@U@A@R@A@Q@P@ABCDE@@@@@@UG@AV @BX@Y.@A[@BC]{@_'@Aa@Be @We@ @A@A_]@_]@A@BCDf~@p@Aq@By@၉ @ᾘ@@A@ƚ@ƚ@A@ABC ӳ2@ ӳ2[)Datatypes$Init#Coq@@A@ Գq@ Գq\ @A@ADEF@@A @B@C@@AW@BDS@@A@@ABE@@AT@BP@@@9@ABCD640-CEF! BC@@@ t@ABC @ @ADE *A@ x@A @ 0A@@ABC@@@A@ABC@?DE==76DFGH&'CD@@A@@AB@@ACD@@A@BEF@@@@ABC@@AA@B@@AC@@A@B@@A@@ABCDEFGI@@"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@А0^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&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 8QPO@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+%Logic$Init#Coq@0\͉!Ig*Logic_Type$Init#Coq@0 1jc6"Lt%Arith#Coq@0KZ-eJkP܏%Minus%Arith#Coq@0LFtR")Morphisms'Classes#Coq@0Imӽ%\$PD.Morphisms_Prop'Classes#Coq@0% :B'.>u%$Mult%Arith#Coq@0햖Qyb0$NAdd(Abstract'Natural'Numbers#Coq@05;ZW:㥜un$)NAddOrder(Abstract'Natural'Numbers#Coq@02'8zn7Hfɠ'NAxioms(Abstract'Natural'Numbers#Coq@0Zخb1Z3uuѠ%NBase(Abstract'Natural'Numbers#Coq@0 Y?V vI%NBits(Abstract'Natural'Numbers#Coq@0qteo_hɅ $NDiv(Abstract'Natural'Numbers#Coq@0bz$?[p(5$NGcd(Abstract'Natural'Numbers#Coq@08E-S ;j_Ҡ$NLcm(Abstract'Natural'Numbers#Coq@0 ~xZ9L{:$NLog(Abstract'Natural'Numbers#Coq@0K Aat/ j &NOrder(Abstract'Natural'Numbers#Coq@0]@7U#oY'NParity(Abstract'Natural'Numbers#Coq@0̗SKz*!&4h$NPow(Abstract'Natural'Numbers#Coq@0҆mulf+NProperties(Abstract'Natural'Numbers#Coq@0unt"kwpYC%NSqrt(Abstract'Natural'Numbers#Coq@0<ge$NSub(Abstract'Natural'Numbers#Coq@0:DfJᠠ%NZAdd&NatInt'Numbers#Coq@00h`ZK4*NZAddOrder&NatInt'Numbers#Coq@0e~1>r砠(NZAxioms&NatInt'Numbers#Coq@0] ρ5r&NZBase&NatInt'Numbers#Coq@0^&8yUL&NZBits&NatInt'Numbers#Coq@0MlIpKt%NZDiv&NatInt'Numbers#Coq@0$ |J?d (w%NZGcd&NatInt'Numbers#Coq@0KgT7|%NZLog&NatInt'Numbers#Coq@0ꔉ .uV%NZMul&NatInt'Numbers#Coq@0ctR~6[Ƞ*NZMulOrder&NatInt'Numbers#Coq@0}\^ !"k}@R'NZOrder&NatInt'Numbers#Coq@0 q;Ve7R W,(NZParity&NatInt'Numbers#Coq@0H>ca'^^%NZPow&NatInt'Numbers#Coq@0)6*9 B:vȻ,NZProperties&NatInt'Numbers#Coq@01D%E`|3x&NZSqrt&NatInt'Numbers#Coq@0` .%m#Nat$Init#Coq@0eʤģPSR蠠$Nnat&NArith#Coq@0$W;s #%M)Notations$Init#Coq@0&v!D]hwnv *NumPrelude'Numbers#Coq@05WUVŦ]xVXԠ4Operators_Properties)Relations#Coq@0U3y#h&&Orders*Structures#Coq@0$Znl0\͗+OrdersFacts*Structures#Coq@05Mܿ獐ζΖLB)OrdersTac*Structures#Coq@05'4Ԗ+9%%Peano$Init#Coq@0 jha|ؠ(PeanoNat%Arith#Coq@0O~2$k[#lZ)Peano_dec%Arith#Coq@0Kݢ*k$Plus%Arith#Coq@04tmG$Pnat&PArith#Coq@0,?pr.gZ'Prelude$Init#Coq@0JqTttֱ'Classes#Coq@0Gz rA6ՠ4Relation_Definitions)Relations#Coq@0]4Ѐd{n^2Relation_Operators)Relations#Coq@0%s鯰s)Relations#Coq@0 Ǡ'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@03 N$@@B@ Ŕ @ |@@@@#_12 AA@@@@@@ B@A@@@@@@@@@A@ B@A@@@@@@@@@@#_13'`o@/@H*type_scope@@.function_scope @@@@AAAAA@#_14'`o@U@AH&@@%')+-@@@@AAAAA@#_15 @yH@!BAA!%@AA!.@AA!9@AA!D@AA!N@AA!X@AA!f@AA@@@#_16L4x.@A@@#_17/@ @@@@@@@@@!@G@!!!~@F!!}@E@!!!}@D@!!!|@C@!!!{B!zA!y!x@@@@@@!22 Q@@J@#_18!@!=S𠠑@!B@A!I@A!@A! @A!@A!ʐ@A!Ր@A!@A@@@@#_192M접8IB@@#_20'`o@?I@@@@@@@AAAAA!U@#_21fTI@@!@AA"@AA"@AA"@AA"$@AA".@AA"<@AA!@AA@@@#_2246@v@!{#'0'@@@2#_23X@3typeclass_instances!H@(META1039H@@@@!q"u@;Coq.setoid_ring.Ncring#<>#1?ʰ@!2 Q@@@#_24"@!:2@"PB@A"[I@A"f@A"r @A"~@A"@A"@A"@A@@@@#_252M접8IC@@#_26'`o@?I@@àŠ@@@@@AAAAA"@#_27fI@@"@AA"@AA"@AA"@AA"@AA"@AA"@AA"p@AA@@@#_2846@5@!#m@1#_29X@!H@(META1057F@@"&-#1@;Coq.setoid_ring.Ncring#<>#2?ʱ@!2 Q@@|@#_30#>@!k@# B@A#I@A#"@A#. @A#:@A#E@A#P@A#_@A@@@@@@#_312M접:ID@@#_32'`o@AI|@@{}@@@@@AAAAA"@#_33hѐK@@#x@AA#@AA#@AA#@AA#@AA#@AA#@AA#.@AA@@@@@#_3446@@"FHJ@3#_35X@~"SH@(META1075H@@}"#@;Coq.setoid_ring.Ncring#<>#3?ʲ@"P2 Q@@<@#_36#@"Z%[C+@#̐B@A#אI@A#@A# @A#@A$@A$@A$@A@@@@@@#_372M접:IE@@#_38'`o@AI<@@;=?AC@@@@@AAAAA#@#_39hK@@$8@AA$A@AA$L@AA$W@AA$a@AA$k@AA$y@AA#@AA@@@@@#_4046@@" {P?@3#_41X@>"H@(META1093J@@?"$@;Coq.setoid_ring.Ncring#<>#4?ʳ@"2 Q@@@#_42$@"g@$B@A$I@A$@A$ @A$@A$ǐ@A$Ґ@A$@A@@@@@@#_432M접:IF@@#_44'`o@AI@@@@@@@AAAAA$T@#_45hSK@@$@AA%@AA%@AA%@AA%#@AA%-@AA%;@AA$@AA@@@@@#_4646@w@#_@3#_47X@#"H@(META1111H@@#^o%s@;Coq.setoid_ring.Ncring#<>#5?ʴ@#2 Q@@@#_48%@#)-\[@%NB@A%YI@A%d@A%p @A%|@A%@A%@A%@A@@@@@#_492M접9IG@@#_50'`o@@I@@ Ġ@@@@@AAAAA%@#_51gJ@@%@AA%@AA%@AA%@AA%@AA%@AA%@AA%o@AA@@@@#_5246@5@#|xN@2#_53X@#H@(META1129G@@# -&1@;Coq.setoid_ring.Ncring#<>#6?ʵ@#2 Q@@|@#_54&>@#(k@& B@A&I@A&"@A&. @A&:@A&E@A&P@A&_@A@@@@@@#_552M접:IH@@#_56'`o@AI|@@{}@@@@@AAAAA%@#_57hѐK@@&x@AA&@AA&@AA&@AA&@AA&@AA&@AA&.@AA@@@@@#_5846@@#Ka@3#_59X@~#H@(META1147H@@}$. &@;Coq.setoid_ring.Ncring#<>#7?ʶ@#N$@@B@#0@#@@@/@#_60!)AA@@@@@@&ѐB@A&ܐI@A&@A& @A&@A' @A'@A'$@A@@@2A@'B@A' I@A'@A'$ @A'0@A';@A'F@A'U@A@@@@@@@@@@@@@@@@@@@#_61'`o@z@Iy@@xz|~@@@@@AAAAA&@#_62'`o@@AX@@@@@@@@@@@@AAAAA'<$$$$$AAAAAAAAAA@#_63"/@I@'@AA'@AA'@AA'@AA'@AA(@AA(@AA(@AA%!@AA@@@$2 Q@@K@#_64(<@$8;@( B@A(I@A( @A(, @A(8@A(C@A(N@A(]@A%aJ@A@@@@#_652M접>JJ@A#_66'`o@EJ~@@}@@@@@@AAAAA("@#_67pJ@(x@AA(@AA(@AA(@AA(@AA(@AA(@AA(@AA%@AA%@AA@@@%|2 Q@@K@#_68(@%+K㠠@(B@A(I@A(Ȑ@A(Ԑ @A(@A(@A(@A)@A& J@A@@@@@@@@@@#_692M접DJJ@A#_70'`o@KJ,@@+-/13@@@@@@AAAAA(#{@#_71vWP@)&@AA)/@AA)8@AA)C@AA)N@AA)X@AA)b@AA)p@AA&s@AA&@AA@@@@@@@@@&2 Q@@K@#_72)@&<@)fB@A)qI@A)|@A) @A)@A)@A)@A)@A&J@A@@@@@@@@@@#_732M접DJJ@A#_74'`o@KJ@@ߠ᠐㠐堐@@@@@@AAAAA)c$/@#_75v P@)@AA)@AA)@AA)@AA*@AA* @AA*@AA*$@AA''@AA'3@AA@@@@@@@@@&2 Q@@K@#_76*L@&K@*B@A*%I@A*0@A*< @A*H@A*S@A*^@A*m@A'qJ@A@@@@@@@@@@#_772M접DJJ@A#_78'`o@KJ @@     @@@@@@AAAAA*$@#_79vP@*@AA*@AA*@AA*@AA*@AA*@AA*@AA*@AA'@AA'@AA@@@@@@@@@'42 Q@@K@#_80+@'?0@*ΐB@A*ِI@A*@A* @A*@A+@A+@A+!@A(%J@A@@@@@@@#_812M접AJJ@A#_82'`o@HJ E@@ D F H J L@@@@@@AAAAA*Ƞ%@#_83spM@+?@AA+H@AA+Q@AA+\@AA+g@AA+q@AA+{@AA+@AA(@AA(@AA@@@@@@'ˠ2 Q@@K@#_84+@'Ғ@+|B@A+I@A+@A+ @A+@A+@A+@A+ϐ@A(ӐJ@A@@@@@#_852M접?JJ@A#_86'`o@FK @@     @@@@@@@AAAAA+u&A@@#_87sK@+@AA+@AA+@AA, @AA,@AA,@AA,)@AA,7@AA):@AA)F@AA@@@@(]2 Q@@K@#_88,Z@(h#ZcY@,(B@A,3I@A,>@A,J @A,V@A,a@A,l@A,{@A)J@A@@@@@@#_892M접@JJ@A#_90'`o@GL @@     @@@@@@@@AAAAA,#&@@@#_91v͐L@,@AA,@AA,@AA,@AA,@AA,@AA,@AA,@AA)@AA)@AA@@@@@(2 Q@@K@#_92- @)%;N @,ؐB@A,㐐I@A,@A, @A-@A-@A-@A-+@A*/J@A@@@@@@@#_932M접AJJ@A#_94'`o@HM O@@ N P R T V@@@@@@@@@AAAAA,ՠ'@@@@#_95yM@-O@AA-X@AA-a@AA-l@AA-w@AA-@AA-@AA-@AA*@AA*@AA@@@@@@)2 Q@@K@#_96-@))"d@-B@A-I@A-@A- @A-@A-Ő@A-А@A-ߐ@A*㐐J@A@@@@@#_972M접?JJ@A#_98'`o@FK @@     @@@@@@@AAAAA-(Q@@#_99s.K@-@AA.@AA.@AA.@AA.%@AA./@AA.9@AA.G@AA+J@AA+V@AA@@@@*-2 Q@@K@$_100.j@*8)"di@.8B@A.CI@A.N@A.Z @A.f@A.q@A.|@A.@A+J@A@@@@@$_1012M접?JJ@A$_102'`o@FK @@     @@@@@@@AAAAA.1(@@$_103sڐK@.@AA.@AA.@AA.@AA.@AA.@AA.@AA.@AA+@AA,@AA@@@@*͠2 Q@@K@$_104/@*9p6@.䐐B@A.I@A.@A/ @A/@A/@A/(@A/7@A,;J@A@@@@@@@$_1052M접AJJ@A$_106'`o@HM[@@Z\^`b@@@@@@@@@AAAAA.᠐)@@@@$_107yM@/[@AA/d@AA/m@AA/x@AA/@AA/@AA/@AA/@AA,@AA,@AA@@@@@@+k2 Q@@K@$_108/@+v0ɠ@/B@A/I@A/@A/ @A/Ɛ@A/ѐ@A/ܐ@A/@A,J@A@@@@@@@$_1092M접AJJ@A$_110'`o@HM@@@@@@@@@@@AAAAA/*a@@@@$_111y @M@0@AA0@AA0!@AA0,@AA07@AA0A@AA0K@AA0Y@AA-\@AA-h@AA@@@@@@,2 Q@@K@$_1120~@,0 }@0LB@A0WI@A0b@A0n @A0z@A0@A0@A0@A-J@A@@@@@@@$_1132M접AJJ@A$_114'`o@HMà@@ ĠƠȠʠ@@@@@@@@@AAAAA0I+@@@@$_115y M@0@AA0@AA0@AA0@AA0@AA0@AA0@AA1 @AA.@AA.@AA@@@@@@,2 Q@@K@$_11612@,9% 1@1B@A1 I@A1@A1" @A1.@A19@A1D@A1S@A.WJ@A@@@@@@$_1172M접@JJ@A$_118'`o@GLv@@uwy{}@@@@@@@@AAAAA0+Ǡ@@@$_119v L@1t@AA1}@AA1@AA1@AA1@AA1@AA1@AA1@AA.@AA.@AA@@@@@-F2 Q@@K@$_1201@-Q. q ᠠ@1B@A1I@A1Ɛ@A1Ґ @A1ސ@A1@A1@A2@A/J@A@@@@@$_1212M접?JJ@A$_122'`o@FK%@@$&(*,@@@@@@@AAAAA1,u@@$_123s RK@2!@AA2*@AA23@AA2>@AA2I@AA2S@AA2]@AA2k@AA/n@AA/z@AA@@@@$_124L4x,,A/MA/0A/A.A.A.A.A.A.A.sA.jA.WA.CA./A.#A@ | ֠ $rj `R@$_125/X-[@@@@@@@@@/٩2 222222222@G@22ߠ2ݶ@F2砠2ܶ@E@222ܶ@D@22頠2۶@C@22頠2ڐB2ِA2ؔ/@@d'~W'~.l'V'W'.v(lU(lV(lW(l.(T(U(V(.ڠ)`S)`.)_.)^.)ϐR)/ *3Q*3/&*P*Q*/A*/@+ O+ P+ /Z+|N+|/{ũ+/˩,T/ѩ,/֠ש-3/ݩ-0@@@@@@@@@@@@@@@@@@@$_12646@@-~@:@ X$_127X@;-@A@(META11650\0Y$(META1166(META1167(META1168(META1169(META1170(META1171(META1172(META1173>@@aB. -3@;Coq.setoid_ring.Ncring#<>#8?ʷ@$_12846@@-L@ $_129X@-A@@(META1185@0 @00$ (META1186(META1187(META1188(META1189(META1190(META1191(META1192(META11930?A0젛H0$O/.-,+*)(1 f1$mMLKJIHGF00$kjihgfed@@%.r.4@;Coq.setoid_ring.Ncring#<>#9?ʸ@$_13046@J@ $_131X@K.zA@@(META1205@1O @1}1z$ (META1206(META1207(META1208(META1209(META1210(META1211(META1212(META12131?A1H1$O/.-,+*)(1ʠf1$mMLKJIHGF11$mlkjihgf@@砐./W5[@#10T`@$_13246@ @ $_133X@ /#11T`@$_13446@F̐@ &$_135X@͒/A@@(META12452  22$(META1246(META1247(META1248(META1249(META1250(META1251(META1252(META1253393$@&%$#"! 2W2$^DCBA@?>=@@:/D06@#12T`@*ޠ2 Q@@E@$_1716@*+@*@AA6@6@6@ 6@ 6@6@6@3@@@@@@$_1722M접6@++KK@A$_173'`o@6@++K@@@@.positive_scope@@@@AAAAA6u@+!@*ՠ2 Q@@@@$_1747%@* $@+S@i6@l7@o7 @r7@u7 @x7)@{76@~48@@@@@@$_1752M접7O@+  KK@A$_176'`o@7X@+ KW@@VXZ\^@@'N_scope@@@@AAAAA6ݠ@+)@*2 Q@@@@$_1777@*:AA@@@@@@@@@$_1782M접AA@A$_179'`o@A'Z_scope@*@*Ơ2 Q@@@$_1807@*:4t&@+ᐐB@A7I@A7@A7 @A7@A7@A7Ő@A7Ԑ@A4ؐJ@A@@@@@@$_1812M접@LL@A$_182'`o@GJ@@@@@@@@AAAAA7z*@$_183rL@,Q@AA7@AA8@AA8@AA8@AA8#@AA8-@AA8;@AA5>@AA7@AA@@@@@$_18446@+@8$_185X@+%I@(META1265+@Q@@ǀ+s2u8y@#15T`@+N$@@B@+ @*@@@@$_186(AA@@@@@@*ϐC@A,L@A8jJ@A8u@A8 @A8@A8@A8@A8@A5K@A@+.S@A+8@A+A @A+J@A+T@A+^@A+i@A+tT@A@@@@jA@+8C@A-(L@A8ӐJ@A8ސ@A8 @A8@A9@A9 @A9@A6K@A@+S@A+@A+ @A+@A+@A+ǐ@A+Ґ@A+ݐT@A@@@@@@@@@@@@$_187'`o@@Uik@@jlnpr@@@@xz|~@@@@@@@@AAAAA84@@AAAAA94,I@$_188'`o@6@A\@@ ĠƠ@@@@̠ΠРҠԠ@@@@@۠ݠߠ᠐@@@@@AAAAA9_4@@AAAAA9q5,6ˠ6ΠAAAAA@$_189*X@U@,rCAA.bLAA: @AA:@AA:!@AA:,@AA:6@AA:@@AA:N@AA7Q@AA,@AA,@AA,@AA,@AA,@AA,@AA,@AA,@AA-@AA-@AA-!@AA@@@,2 Q@@K@$_190:@, &)d@,ܐC@A.̐L@A:wJ@A:@A: @A:@A:@A:@A:@A7ÐK@A-6V@A-@S@A-J@A-S @A-\@A-f@A-p@A-{@A-T@A-0@A-5@A@@@@$_1912M접~VV@A$_192'`o@V@@!#@@@@)+-/1@@@@@@@@@AAAAA:6F@@AAAAA:à6X-+@$_193V@-@AA/@AA;M@AA;V@AA;a@AA;l@AA;v@AA;@AA;@AA8@AA.@AA. @AA.@AA.@AA."@AA.+@AA.4@AA.>@AA.H@AA.R@AA.a@AA.m@AA@@@-2 Q@@K@$_194;@- &)eS@. C@A0L@A;J@A;Ɛ@A;Ґ @A;ސ@A;@A;@A<@A9K@A.zV@A.S@A.@A. @A.@A.@A.@A.@A.ʐT@A.֐0@A.5@A@@@@$_1952M접~VV@A$_196'`o@V^`@@_aceg@@@@moqsu@@@@@@@@@AAAAA;7@@AAAAA<7/?,@$_197-V@.@AA0@AA<@AA<@AA<@AA<@AA<@AA<@AA<@AA9@AA/F@AA/N@AA/V@AA/^@AA/f@AA/o@AA/x@AA/@AA/@AA/@AA/@AA/@AA@@@.2 Q@@K@$_198= @.3 >@/dC@A1TL@A@AA>@AA>@AA;@AA0@AA0@AA0@AA0@AA0@AA0@AA0@AA0@AA0@AA0@AA0@AA0@AA@@@@@0*2 Q@@K@$_202>l@053㠠@0C@A2L@A>KJ@A>V@A>b @A>n@A>y@A>@A>@A;K@A1 V@A1S@A1@A1' @A10@A1:@A1D@A1O@A1ZT@A1f0@A1v5@A@@@@@@$_2032M접VV@A$_204'`o@X@@@@@@@@@@@@@@@@@AAAAA>:@@AAAAA>:01Ӡ/n@@@$_205ÐX@1@AA3~@AA?'@AA?0@AA?;@AA?F@AA?P@AA?Z@AA?h@AA@@=?ACE@@@@KMOQS@@@@@@@@@@@AAAAA?ՠ;j@@AAAAA?砐;|30@@@$_209X@2@AA4@AA@s@AA@|@AA@@AA@@AA@@AA@@AA@@AA=@AA3(@AA30@AA38@AA3@@AA3H@AA3Q@AA3Z@AA3d@AA3n@AA3x@AA3@AA3@AA@@@@@22 Q@@K@$_210A@23 {@3HC@A58L@A@㐐J@A@@A@ @AA@AA@AA@AA+@A>/K@A3V@A3S@A3@A3 @A3Ȑ@A3Ґ@A3ܐ@A3@A3T@A30@A45@A@@@@@$_2112M접VV@A$_212'`o@W  @@     @@@@     @@@@@@@@@@AAAAAA<@@AAAAAA1<Ơ4i2@@$_213 XW@4%@AA6@AAA@AAA@AAA@AAA@AAA@AAA@AAA@AA?@AA4q@AA4y@AA4@AA4@AA4@AA4@AA4@AA4@AA4@AA4@AA4@AA4@AA@@@@3Π2 Q@@K@$_214BL@3_Y  à@4C@A6L@AB+J@AB6@ABB @ABN@ABY@ABd@ABs@A?wK@A4ꐐV@A4S@A4@A5 @A5@A5@A5$@A5/@A5:T@A5F0@A5V5@A@@@@@@@$_2152M접VV@A$_216'`o@Y!Ѡ!Ӡ@@!Ҡ!Ԡ!֠!ؠ!ڠ@@@@!ࠐ!⠐!䠐!栐!@@@@@@@@@@@@AAAAABk>@@AAAAAB}>53P@@;L@$_217 Y@5u@AA7c@AAC @AAC@AAC @AAC+@AAC5@AAC?@AACM@AA@P@AA5@AA5@AA5@AA5@AA5@AA5@AA5@AA5@AA6@AA6@AA6 @AA6,@AA@@@@@@$_218L4x33A5A5A5A5lA5XA5DA59A@ ֠Jp@$_219/"@3렠;@'Bracket-2G"K@@@@@@@"V@@@@@@@@@@6yC@!-2G6w6v66w6vCT6u6t@P@QC砠6u@O@6u@N@@%@ 6v@M@@_@+6x@L@@@e6zK6zJ6z66{AC6{D@H@CDD@GDD@F@D$D"D@E@D D*D@D@D D&DCDB8o6@66@@1^[1]5@1[51N5ܠ1Z152Y2Z26ƶ3X3Y362ж3W3X36Oک4+6d46|@@Ϡ@Ϡ@Ϡ@Ϡ@Ϡ@Ϡ@@@@1X2 Q@@A@$_255D@1cAA@@@@@8@ ڠDl@ ݠDt@ ࠐD~@ 㠐D@ 栐D@ 預D@ 점D@ A@ 򠐰7E@ @@@@@$_2562M접D@1䐐$_257'`o@D@1L#̠@@#ˠ#͠#Ϡ#Ѡ#Ӡ@@@ @@@@AAAAADR?@9@12 Q@@A@$_258E@1BAA@@@@@94@JD@MD@PD@SD@VE@YE @\E@_B@b7@e@@@@@$_2592M접E3@1B$_260'`o@E=@1BL$<@@$;$=$?$A$C@@@N@@@@AAAAAD @W@9q@12 Q@@A@$_261Eu@16|AA@@@@@9@EL@ET@E^@àEh@ƠEq@ɠEz@̠E@ϠB@Ҡ8%@ՠ@@@@@@$_2622M접E@16|$_263'`o@E@26|M$@@$$$$$@@@@@@@AAAAAE5@ʠ@9䠐9@2 2 Q@@@@$_264E@2!M&v@@@@@$_2652M접E@2$!M&AA@@$_266'`o@F@2-!M&A@9@2#2 Q@@A@$_267F@2.<~saAA@@@@@:C@YE@\E@_E@bF@eF@hF@kF&@nC(@q8@t@@@@@$_2682M접FB@2\<~sa$_269'`o@FL@2f<~saL%K@@%J%L%N%P%R@@@@@@@AAAAAEѠAf@: @2l2 Q@@A@$_270F@2w)"c9AA@@@@@:@ɠF[@̠Fc@ϠFm@ҠFw@ՠF@ؠF@۠F@ޠC@᠐94@@@@@$_2712M접F@2)"c9$_272'`o@F@2)"c9K%@@%%%%%@@@@@@@AAAAAF>AӠ@@22 Q@@A@$_273F@2)"c?AA@@@@@;@3F@6F@9F@<F@?F@BF@EG@HD@K9@N@@@@$_2742M접G@2)"c?$_275'`o@G%@2)"c?K&$@@&#&%&'&)&+@@@@@@@AAAAAFB=@@22 Q@@A@$_276GX@2"AA@@@@@;@G/@G7@GA@GK@GT@G]@Gj@Dl@:@@@@@@$_2772M접G@3"萐$_278'`o@G@3)"L&@@&&&&&@@@@@@@@AAAAAGB@@@3$2 Q@@A@$_279G@3/"AA@@@@@;@ G@ G@G@G@G@G@G@D@":u@%@@@@@$_2802M접G@3]"$_281'`o@G@3g"L&@@&&&''@@@@@@@@AAAAAGC@@@3w2 Q@@A@$_282H2@3. mAA@@@@@AA@@@@@<@䠐Hv@砐H~@ꠐH@H@𠐰H@󠐰H@H@E@;O@@@@@$_2862M접H@3. >$_287'`o@H@3. >K'ՠ@@'Ԡ'֠'ؠ'ڠ'ܠ@@@@@@@AAAAAHYC@@4 2 Q@@A@$_288I @49AA@@@@@=8@NH@QH@TH@WH@ZI@]I@`I@cF@f;@i@@@@@@@@@$_2892M접I;@4F9$_290'`o@IE@4P9P(D@@(C(E(G(I(K@@@@@@@@@@@@AAAAAH͠Db@@F&@@F+@4I2 Q@@A@$_291I@4TҘAA@@@@@=@ˠI]@ΠIe@ѠIo@ԠIy@נI@ڠI@ݠI@ࠐF@㠐<6@@@@@$_2922M접I@4Ҙ$_293'`o@I@4ҘK(@@(((((à@@@@@@@AAAAAI@Dՠ@@42 Q@@A@$_294I@4¼AA@@@@@>@5I@8I@;I@>I@AI@DI@GJ@JG@M<@P@@@@@@$_2952M접J@4¼$_296'`o@J)@4¼M)(@@)')))+)-)/@@@@@@@@@AAAAAIEC@@@@4٠2 Q@@A@$_297J`@4¼AA@@@@@>@J7@J?@JI@JS@J\@Je@Jr@Gt@=@@@@@@@$_2982M접J@5¼$_299'`o@J@5¼M)@@)))))@@@@@@@@@AAAAAJE@@@@5,2 Q@@A@$_300J@570 AA@@@@@>@J@J@J@J@!J@$J@'J@*G@-=@0@@@$_3012M접J@5c0 $_302'`o@K@5m0 J*@@**** * @@@@@@AAAAAJF@/gen_reflexivityF@@@>./plugins/setoid_ring/Ncring.v"|"|"""|"|"")Notations$Init#Coq@@+reflexivity/&k@+gen_rewriteF@@@""""ؓ$""""ؠ@@@AA@Ko@50 @>"""" A?A@@ BKKA@@CKWA@@ DKeA@@'EKsA@@&.FKA@@-5GKA@@4DA@@I@""""@@@@@@@@Aa@ !@""## AKA@@ BKA@@CKA@@DKA@@&EKA@@&-FKA@@-4GKA@@4;HKA@@;BIIA@@BIJIA@@I@""##@@@@@@@@A@L.@6Ҙ@ # ##*#6 A@^A@@ BL A@@CLA@@ DL$A@@'EL2A@@&.FL?A@@-5GLLA@@4@M@9^)"c?@{$#$### AAA@@ BMA@@CMA@@ DMA@@'EMA@@&.FMA@@-5GMA@@41%1%%.%= AEA@@ BQKA@@CQWA@@ DQeA@@'EQsA@@&.FQA@@-5GQA@@4%?M͐1%1%%@%AM1%1%%B%C@1%1%%.%C@@@@@@@@@@2%E2%E%U%b@@@@ @2%E2%E%V%\@@@@ N#2%E2%E%V%WN2%E2%E%Z%\@N2%E2%E%`%b@4@Ĥ ɑNAN(N@@AĠ@R2@<¼@3%g3%g%% AFbA@@ BRA@@CRA@@ DR(A@@'ER6A@@&.FRCA@@-5GRPA@@4#IHj.%lemma3N+$.&%OSmv|$')  , 7/.X\v- / )Morphisms'Classes@>trans_sym_co_inv_impl_morphism'\|ORI$!LDCmq/RelationClasses@/Equivalence_PER/;@+ring_setoid8(2]UT~SNVXM,;f^]\!! ^## `%%   @(symmetry0xj,+'@5Equivalence_Symmetric. U$٠@.ring_mul_assoc9p6̀4VyxN֩\ZY{\\WR}^^YTXNDC?.#FF.HH0+JJ2-婚V@>Reflexive_partial_app_morphism 2R,Q@RPR_@*respectful%WO?ZZYY\\D@.ring_mult_comp<Mn@6reflexive_proper_proxy5ihd@5Equivalence_Reflexive:,53,*i$k@c^ B12S2Q|O,JHA?69Bi4 $-39:* ?&\,WUNLCFL@09?b*"$Rͩ9éi,db[YPS^4"&@IOUV̩@+reflexivity(ϓ/ݩީZ(/3MV\beCi, 7;U^dk5Aw r=;)nljd^8@=trans_co_eq_inv_impl_morphism&ni$멚@6Equivalence_TransitiveWNtt@/eq_proper_proxy)f{B@2subrelation_properJ74@@@  %Logic$Init@#iffС) @,PER_morphism q&Basics'Program@$flip$ @$impl7o)Datatypes(@$unitUe@AF@6subrelation_respectful>6z A:@@M@0subrelation_reflv HG@+ JII @+U@9iff_flip_impl_subrelation2VA@Qm 44 ,SR6 vɩq$XWlک3ZY.h\z$a`u &C,B Ġ$ j( !!C %,  'C ,0DB64310.)'$""  з, $-39<&BinPos&PArithU#Pos@$succ=)a)BinPosDef @#RX֩ө,"&@IOVC$ѩ,)-GP\#aEEi@/3MV\GnGnՠq lA ZZ$XZ}4 AE_hntuaN$aHDBj$M@<b@,pow_pos_comm01)(RVpy ?$L;'7C?   ,910Z^xT%)[Y\=86CJ+,D<;ei_CQA2,CBlpf}{!izoз}~k87L,:e]\@=9W,Ephgз#IHi%@(eq_ind_r!2#v!p$?[~}ũo,A]֩#{v,Hdx,JfA@&eq_ind J3 7, \x>@,dʩHJ2ϩ0'*,qSU-+۩Y[1_aI2G,4 h$j&l/I,!-|w,%1$FH]J(L $-NN[,P (7>,R *9KTTa,V.=FH(d\ S8ө!,!%?HTQ$i#!kkxmmz,o)-GV7w,q@rQ-ruu//wwm-*hz4c2-+t))!rh#ѩ,>B\eqY,!BF`iu[DB"9A,*"!KOix9@,$#MQkt?Ok =+ө ,910Z^xn\913X5Z*,C;:dhx@E=<fj,=h;97`6hiVʩDiFkqo /`A,/ZRQ{uPE,3^VU2$V{X}M,;f^]e\^`ݩ,db`^] ,fdb`_ 5577@,pow_pos_succB03OzrqڵV85u::"w<<$)y>>&#+Y$!}!X4Ok22<qSPUU=2@p$  )4^zCIb_?n   @f   44iLLkjCmj5ooWqqYT\@'add_1_r@(add_comm_*@)add_assocD$$ && j 1 73U@(add_diag%]!]ҩ@*xI_succ_xO H!طqSJgUACLm VkbXXe,Z2A9dΩ,8AM,"<EQ$f ,h"&@OXZann{ ,p *.HWiРri$$}75 13,= 5 |--z'*ة ,$EIclx©G7@*"!KOir9#8& (ة$WU 4;32\`zߩ: ؠyna_abO٩=2, KCBlpjh (n#$&IGS  ) 0WONx|WZd\[^(`XWVCjbaXXddSM,f^]OƐطʷǷķ!n@!N7@{v@%pow_N ݀,}|向ܷ׷׷зɷȐ!Hq$@(addition;53@,add_notation@$zero#*@-zero_notationS@#one#ҍ@,one_notation:2+&'",*., %˩ 05Ω0: "թ!:@(oppositeGݩ@,opp_notation-\[.GLN -M)@.ring_plus_comp+K@7@FLMO! XO@<3@,ring_distr_l04#'AJPVWY^VIbݩl<fN:9i4k6=h.@/3MV\bce!},@ Ww  YYt ?$UGm^ZI)tx:: Q@,ring_mul_1_l)"d,AE_hntuw|,^J!E$&g)wcb)+]d-_W/}y0q@.ring_add_assoc%;N47aexL; >xw@ryw,B:975{4y@,ring_opp_def. q2,]LNPSU@-ring_add_comm#Zc0\@q`.cˠ@,ring_add_0_lҒ,jrlnݩǰp#(rC-SetoidTactics@@0default_relation | @3equivalence_defaultúée#Heqh(<c: Ȱ p $`  " @$@)    "d, &'/թ5//$;)1@&,23>  &&, )/568FI>AN$1I11 BECXXC@w:o6&!`^ki][ZXWUPNKIFIDB=;20'%rpnlmmhrpd  trY ZF RrEwBVvA<{F}H \|EB/@CGajpvwy DD*[@,ring_distr_r0(5$'ua)[+]UB@-,VZt},/'}&$"#1{%[[Ar@,ring_mul_1_r)"d!L;=8 ?A<"D~8Fx:H!4JtxE+.OC QE,SKJHFG$(7hWƩYT[V)^R`TȠ 0b]Fwf a4i] ]Ѡ,kfsmhCojqpRwkiS('wr{vީbܩ]$`:bکdd_ѩfީhhcթ@j,l@mQooqqlРΩyx${U̩@}۠oC@0.#! ݷ!y$'o}m$%**,149fzax5j, &,-/ = ADIB0 $-39:< -J)IM ('RU%TW)+d,@^[^ /T1f -ha,%)CLRXY[ߩLi4E!k6m8I#!GFqtsvFHJt48<V_eklnR,*#_Y~IA{!XW#%%'~]6@)! JNhqw}~+Waa-c34('QUox~R <,x6ml8.::)UpI@<43]a{@>65_c}Y@vv0;:dheO?v IKAMM<\@OGFpt@QIHrvl&,LKuy/`PNRR\^m@`XW5@,ring_mul_0_l)"c9,`_ȩCtdf3pР,kjrmٷַӷ̷ǷǷz^˩R5ũ)=,,uϩeH G0©nQ  ,U WU"/ϩ3ϩd"!$3"4 <ة ',B-u03*47D1 @%+,k94$*013Q<8$A BWEH?ILFY @ +4:@A[,ߩMHHJ  S))Ƞ05>DJKMkVѩ>)32]`}4 @!%?HNTUo,  Yib88נߩL7 A@@ -1KTZ`aslBBᠩE@,ring_mul_0_r)"c?ywvtsqljgebe`^YWNLCAd-iQVI!D#U$-O/135a79,43]a{$@B]Q@D<;ei_FraH$UEGy~I{*%$SUW"" ,RQ{ 5d0$^ `x o@bZYzd |$$f  &11/dBsc8N?$moqLD,s|{ywu5@wonRJJ1BB@0rqUvR$&@|{,*QQO)0dѩvli$=,/Chhfe4 {ȩ |$P     !,Z# \Z% %,^ zI L` K 4      " #$& '!$o3*-:,/.1 +)>,w@% 14   " ( ) + 4.9 :$F=@M?BAD< >2Q,S0@   % . 4 : ; F66=80   * 3 9 ? @ B K Ʃ3PR SMTO$aX[hZ]U\_ YMl,nK! -# aʠ4 % ) C L R X Y [& d^ߩ  Li 4k 6 l h$ xo rq tls vu x r m, ! d, #" tq v!  |堩4   @ D ^ g m s t v  { + g$ % ' ) +, -6531y, /8753>@ 1 ) ( R V p y    0 , + U Y s |        @ 0| 2di$ < > @, BKJHF, DMLJH*  , ? > h l       " S C Ewo| Gy~q#$ Q S© U, W`_][ "" 0 R Q {       | 5 f V2$ ` b, dm ljh //-, _ ^         B s c e gC$ q< <<:0 l k        s n     ڷ  ׷  Է  ͷ  ȷ  ȷ         ^  ~ ݩ ac_$ өZϩ   & ]   [  +,           tYo$   l@          n 5 lp    [        %  '$ %   ( J    $4           2   %$ 4"   2,   !     # ' # #3},         ! &   4/ * 0$1 ,& 2$ G5  2 6 2 2By0     ! ' - . 0 5 9-   C  =$ %R  ; ? ; ;Kt© nl C W U I G F D C A < : 7 5 2 5 0 . ) '  "x1 "x2 c  < T X"y1 "y2 ӷ"H0    _ cȐ"H1   r @+subtraction y J@,sub_notationgǀ f oy t i= 8 u$ * !$    $   E I (    (   I M g s "  vP%K  ( l@,ring_sub_def9%0    ; 3 2 \ ` z    : ^*%C `^5( M:# (R R I$A   ! L D C m  ( E   % P H G q uE @    xs  N    "Z : k     ;$S t k$'c  ' C n f e ; ( +g  + G r j i g b  ɩ     BJ09u  9 U  x w    թ ;: 6 C>=9-# " P T  $)K  K g   F >( -O  O k           Ʃð   ~   ̩ {$U  $!Eg  g   { Z( %Ik  k     װ   @/Su # u                  =:   $#"  ;,%@&V& 6))((3+ $  ,.- " @-ring_opp_comp045Qu E      & > 3 TS 1OCC@h|{`wtq [XRLC@n˩f  b ` T R Q O N L G E B @ = @ ; 9 4 2 ) '   ֩  e/1 $  Gt@-   I/B c _ _o0  ' + E N T Z [ ] bZ f- z x l j i g f d _ ] Z X U X S Q L J A ? 6 4W !z   #  |  t~  {  !  $  ҩ r t | ~  v ~ x     %  #   }   4 5 - , V Z t }        A 9 8 ;  $  5  0 @ 8 7 a e      # ? B                    } { r p G< I , ] U T W  Y   [G  /$ 2 U  4 6    8  :    < _:  997/4 j b a          ʩ E v n m p ̩ r  9 7 I l ( jG L Ω N  Ω  P sNM ۠C4 ~ v u          թ Y   + V$ Y |3# , [ ~ ]թ |   `   (  R b09  75#                ܷ  շ  ʩ x  © $            Ʃ  ɩ f4@ @    @  ;   = a= W ? h=  B   D S B 8   FF 3 H  <   JJ n Y .     '4          # [ T VR *,      ! " $ ) -'   0 21   1 22 $ e c   ?1 =   @.ring_opp_mul_l"0   & / 5 ; < > C GAA ©  JE $ xA M**,   / 8 > D E G L P S  @H1H T*    X I  (  " < E K Q R T Y ]W)5' &iig