"`"o"Sv9*Ncring_tac+setoid_ring#Coq@+Ring_theory+setoid_ring#Coq@)Ring_base+setoid_ring#Coq@+InitialRing+setoid_ring#Coq@+ListTactics%Lists#Coq@(Ring_tac+setoid_ring#Coq@$Ring+setoid_ring#Coq@*ZArithRing+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@h)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$&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'BinNums'Numbers#Coq@0dmk(5Ju<*EqdepFacts%Logic#Coq@0FI$ͼՋ`)Eqdep_dec%Logic#Coq@0u wWIϰ߼)BinPosDef&PArith#Coq@0}H d.%,b&BinPos&PArith#Coq@0vyػ0= u'BinList+setoid_ring#Coq@0Au)BinNatDef&NArith#Coq@03@1O,[{ &BinNat&NArith#Coq@0K11ڤs+Π$Pnat&PArith#Coq@0,?pr.gZ'ZAxioms(Abstract'Integer'Numbers#Coq@0\}zK=PK%ZBase(Abstract'Integer'Numbers#Coq@0 TL}2_} ؠ$ZAdd(Abstract'Integer'Numbers#Coq@0Y9Vgⲫ򐠠$ZMul(Abstract'Integer'Numbers#Coq@0Mtr\b"H#ZLt(Abstract'Integer'Numbers#Coq@0xK|j2[&=}۠)ZAddOrder(Abstract'Integer'Numbers#Coq@0w:}H#NK}{)ZMulOrder(Abstract'Integer'Numbers#Coq@0Dr~-~ECM'ZMaxMin(Abstract'Integer'Numbers#Coq@0bAX1'ZSgnAbs(Abstract'Integer'Numbers#Coq@02`ou{Z'ZParity(Abstract'Integer'Numbers#Coq@0S)*Dd$ZPow(Abstract'Integer'Numbers#Coq@0AşsאI)ZDivTrunc(Abstract'Integer'Numbers#Coq@0`]f5FԠ)ZDivFloor(Abstract'Integer'Numbers#Coq@0dj_TYQc|$ZGcd(Abstract'Integer'Numbers#Coq@0G0=$ZLcm(Abstract'Integer'Numbers#Coq@0(9g%MmN]%ZBits(Abstract'Integer'Numbers#Coq@0ܹCF5s+ZProperties(Abstract'Integer'Numbers#Coq@0Ve*ʞ_OV)BinIntDef&ZArith#Coq@0ådR4Tuy&BinInt&ZArith#Coq@0BpHޞun^$Mult%Arith#Coq@0햖Qyb0(Zcompare&ZArith#Coq@0'ҤjI=D'Between%Arith#Coq@06v*0ur`C0)Peano_dec%Arith#Coq@0Kݢ*k+Compare_dec%Arith#Coq@0jXF 8)Factorial%Arith#Coq@0@oehJd%EqNat%Arith#Coq@0AIgՋXRV &Wf_nat%Arith#Coq@0UJX AJhO*Arith_base%Arith#Coq@0Ĕ}CS&Zorder&ZArith#Coq@0fVk.BG)%Zeven&ZArith#Coq@0i?eK#aU堠#Min%Arith#Coq@0Ce-Fѕ(PreOmega%omega#Coq@0\|چBb~w4%Omega%omega#Coq@0t.J'6\ϨrK,Zcomplements&ZArith#Coq@0@@Aϩ8ʶ@F@KD.B (+k()G'@@!n@4@A@A@6A#@8A@AB@@%reify,<L$lvarK!e,Ring_polynom@%PExprk@'BinNums'Numbers@!Z7@"Rr&Ncring@$Ring,@$IHG<$"Ro@(Ring_ops( @  H  0+'ring_eq@@#opp@S#sub@#mul@!@$^#add@&@(*%ring1P%ring0ON!o1PL@@@W [a!'%-+42A?TRomwuh{SR+Build_reifygk#q*(1/75=;DBQOdb}xN4MJ_^]^\[{@@Z@@@@*=AR@@A@@@WBA@MMqogeca`^][YWUSQ@@!o1@Q@A@!q)@!q)X@A@AB@WAUA@[Ae͠C@_At@ABC@r*reify_zero @!qZ@@"op˷~@@@@ ӷ!H$^ةj@*=AR@A4ੜC㜠An@攑.@A/BC#add@D@#mul@E@!涐#sub@F@#opp@G'ring_eq@H@A"Ro&Ncring+setoid_ring#Coq@@( @ IGFEDCBA]&Ncring+setoid_ring#Coq@@$Ring,@ip@b*=AR@4KIHGFEDCBA[+setoid_ring#Coq@@%PExprk@C{JI (+k() G' @@!q@@A@A@AUAO@AAe͠CR@A@A"@ABC@@5)reify_one @|!tdz@@S;hFJMPSY`mk trsqp$uvvts4xywxvuB@(positive*@C)@&@ABdC@D@ն@E@@F@@G@H@ IFGEDCBAJ4KHIGFEDCBACXJI@@!t@v@A@A@yA@AzA@|AB@~A@ABC@@'reifyZ0 @!vn@@"շ۷LLJHFDB47&BinInt&ZArith9@1P&)BinIntDef@ ̀@1P] @ @1P@ p@1P@ {%LogicX@"eq @C.Ncring_initial?@$Zops2G[;@"Zr2=Qql@OJ@ieXBCh@D@Hg@E@Lf@F@QRe@GVd@H@\ca` IGFEDCBAT$mlmkjJ4'BinNums'Numbers#Coq@@!Z7@'BinNums'Numbers#Coq@@!Z7@A@B&ZArith#Coq@!Z@#add1P&&ZArith#Coq@!Z@#add ̀@#mul1P]@#mul @#sub1P@#sub p%@#opp1P@#opp {%Logic$Init#Coq@@"eq @蚠.Ncring_initial+setoid_ringM@@2G[; @2=QCJq@A@@!v@@A@A@HAA@AAS@A@A@ABC@@Ҡ)reifyZpos @!yHy@@5!p  b@@@@  S;6c&$GV>9a49V [;M@=%@WSF%@(positive*@C D^@E@x=]@F@BC\@G@HI[@HMZ@I@YWV JGFEDCBAJG?4@7CPKB (+k() G' @@!yH@|@A@A@AJ@AKA@A4@A3@ABC@@b)reifyZneg @!{D@@hmt}{4({sߠC@Ô@ݩ̶ِCD@E@߶@F@Ŷ޶@G@˶ݶ@H϶ܶ@I@v۶٩ JGFEDCBA)̀$€4x@n`\[D=6/"!COKC@@!{@n@A@A@A@AAe@tA@vA@ABC@@䠠)reify_add @+!~O)@@"e1@JEc"e2Ej zt!#@&@Q @˶@T[@^@7*( j0/.-RMz=$2m3310UP@x4O98:s976[Vk@4P>=<w=;:_oh4QAk@?z@>=gE`  qy@b8@5tk{BC;vE@F@ab3G:H@I@@J@@K@L@ MFEGDCBAѩtZ@j@[@[s4[JIKHGFEDCoEcOKd (+k()G'@@!~@@A@A@Af@AAd@A@A@ABC@@)reify_mul @ޔ!ۂ$]@@ʷϷ)#зҷө }#$@4@4 '4ᩜ G@&@֩  B=Cܩ FEX@F@ԐGېH.@I@9'@J@>E&@KI%@L@$"! MFEDGCBArR@S@T4QJIHKGFEDCGc OK~@@!ۂ$@@A@A@A@AA@A@A%@ABC@@8-reify_mul_ext @!酖k}@@<AHFOMUS[Yb`omU!z]%ring2$%ring3I$add0@I@GR$mul0@L@S$sub0@ @T$opp0(ring_eq0@@U#Ro0 "H0$Vķ@t4WON4XQЩʰ˩VX.Algebra_syntax@.multiplication+-@7multiplication_phi_ring^(fg@ޔ`@AB@C@Ӷ@D@@E@ܶ@Fඐ@G@ HGFEDCBA<߀$2($J) OMNO@P@QR@Q@RS@R@ST@ST@T@U52 UGFEDCBA&@4JIHGFEDCBGN.Algebra_syntax+setoid_ring#Coq@@.multiplication+- (+k()G'@@!酖@@A@A@6A@AAY@@AϠH.Algebra_syntax+setoid_ring#Coq@@AA/@A.@AL@ABCD@@_)reify_sub @!@@{yinuw|uus E$J@q4oMKٷ@t4nMPթ4mOFlxk@˔&@Զ䐐BC߶E @F@˶GH@I@y@J@ @K@L@춐 MFEDCGBA:݀R@iS@mTڀ4QJIHGKFEDCF+OKFj@@!@@A@A@A@AA@A@A@ABC@@ )reify_opp @ G" r E@@Zd _} 3 8 s*@<@>#/@@l K>< o~ D B A fC aQ$yF G E DG i d@4JI J HK G l g|u4MLK L J I nsH}@ l&@?~u BC@D e6E=F@G@pq@H@v@I@@J@ KFEDCBGAթxJ@Kq4NIHGFEJDCBnHKLJ֐ (+k() G'@@" r@@A@A@Ag@AAe@A @A@ABC@@ )reify_pow @ ߔ"f @@  ͷ  !n@!N7@eca_\ZWURUPNKIGE@4B &     14A (    I@%pow_N ݀,M 4   ,%@ 7@АAאB*@C@  )@D@  I(@E@ N'@F&@G@%#" HGFEDCBAs$0/. i / - , Q LWNb ^K Lc'BinNums'Numbers @@!N7@͐N͐OͶ@P@QRζ@Q@RS϶@R@STж@STҶ@T@Uvҩs UGFEDCBA٩g$   ~ }  @a4XJIHGFEDCB^IM@%pow_N ݀<@@"f@@A@A@qA @AAY@AX@AWe@Az@ABCD@@ )reify_var @ Ԕ"0 @@  ޷      ķ Ʒ @@  ط˩        $x      4|      󩜠D&BinPos&PArith #Pos@+of_succ_natq)BinPosDef @$  @ 5@ A % !B 7 6F    $ ӐEڐF-@G@  ,@H@ +@I@ B*@J F)@K@ R(&% LGFEDCBA ;^4NIHGFEDCBA DiLM@@"0@@A@A@A@AA@A @A j@A @ABCD@@ 3)reifylist,<%lterm    %lexpr   } { m k c a _ ] \ Z Y W U S Q  O  "< @@@   [  `  g e n l t r z x      +)  ¶53  /Build_reifylist  k  p  w u ~ |          ;9  ҶEC M@@ @@@ @U/T@@A@@@ BA@MMTR  䠠PN  Ǡ              렠  蠠 L@@"<@L@A@"D@"D @A@AB@RA H@TA F@VA @ABC@ )reify_nil @ "Fy @@  Է      ˷  ѷ  B  B  @  >  : @/T@A4 &    5         )@ @ 2 .A ؐB ߐC 2@D@  L 1@E@ Q  0@F@   /@G  .@H@ & - + * IGFEDCBA @ $  7 6 q 7 5 4 Y T @/T@4KIHGFEDCBA A sJ A ~ @@"Fy@u@A@A@xA @AyA @{A @}A@ABC@@ ?*reify_cons @ "P @@[     r&lexpr2 <erm2  } N  S ~ ZE a] g[ m[ tY    +         $ 0        @W4U          3 1 @4V 5          8 4U  7        : Z :^ <Y > @ .@   Щ ̐B C3 ?3 אE F G ۶@H@  ^ ڶ@I@ c 붐 ٶ@J@   ض@K  ׶@L@ r ֶ ԩ  MGFEDCBA 驛 ǀV@SW@@X4QKJIHGFEDC rBfO wBiV@@"P@@A@A@A @AA @A o@A @A@ABCD@@ +list_reifyl @ 5"^a 3@@ R M h  #  &  z     ( &  Y - h . , + P K = ;$ c 1 0 k 1 / . S N@4  5 4 3 n 4 2 1 V Q f _ ׷ ~ 𩜠 r@$prodt@A i   @ \(@ީ rݶ y u o y N "D )E |@F@ [ \ {@G@ a b z@H@ g  y@I  x@J@  w u tE  _G@H ũ Ԁ '  @Jt@ R  4+k() :'@@"^a@v@A@A@yA G@AzA E@}A ϲ6W @AA @A @A@ABCD@@ ~'Zeqb_ok @@ @!xˀ!yЀ@%Logic$Init#Coq@@"eq @)Datatypes$Init#Coq@@$boolZ'@%Zbool&ZArith#Coq@@(Zeq_bool0߀BA @$boolZ'@Auts@@(equality78zF   @@+eq_notation($Q  r n m V O H A 4 3 "@@@@@ ޠ$comm @@XA%"jU$@@ A B =@C@ <@D@" \ ;@E@ a & :@F * 9@G@ 0 8 6 5 HGFEDCBA  )$IHGFEDCBA!c lKkLe$LKJIHGFED{@+-АLLx@,mul_notation%[C$LKJIHGFEDA.Ncring_initial+setoid_ring#Coq@@(gen_phiZ4(LKJIHGFEDB1АLL/$LKJIHGFED)(LKJIHGFEDBA@@"jU@@A@A@AhAO@AAviA)Morphisms'Classes#Coq@@AۀߠK @ABAۓό^ @AA\@AAC_@AEc@ABCAGf@Am@AAˠLn@AINr@ABA݋X_A/RelationClasses'Classes#Coq@@A @AAV C @AXK @ABCAYS @A[[ @AA_k @Aaݠs @A @Aᾘ @ABCDEF@@@@@h@\@A@p@pI@A@ABWe@q@A@_]@_] @A@ACᾘ@@A@ƚ@ƚ %@A@AE@EA@@A@BDF@FB@A@N@NݠJ @A@AO@OK@A@W@WS@A@XS@XST@A@ABC ӳ2@ ӳ2[@A@ Գq@ Գq\@A@A!k,@!k@AB!l|E@!m9@A!m @!n @ABCDE!o1 @!q) @A!q @!t z@AB!v h@!yH @A!{ W@!~@ABC!ۂ$@!酖@A!?@" r@AB"f@"0@A"<@"D@AB"Fy@"PY@"^a@"jU@ABCDEFG@AUA&Ncring+setoid_ring#Coq@@AAe͠C @BcALK4A.0TQ+Ring_theory+setoid_ring#Coq@@BA.U>[J @ACA 8@A 9@A}A =@B~A ;@ @AiAǠP.Algebra_syntax+setoid_ring#Coq@@BrAUA&Ncring+setoid_ring#Coq@@|Ae͠C @ACDEAp @A Q@AA@A@AAqˠ@BC@@A@@A@BCDz@A@A?@@A @ 5@AB 1@ .@ u@ABCDEF r@ u@A s@ @AB @ @A @BC @ @A N@B L@ @A @ @ABCD @ @A @@AB@@@ABn@g@ACDE^@a@A_@@AB@@A@/@ABC.@/@A-@A@AB?@?@A;@@ABCD@@A@B@@AC@@A@B@@A@@ABCDEF@@A@B@g@ACffb@c@Aa@G@ABD;CD74EF(%GHI@@"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@h0^CIۂ{$|%Arith#Coq@0I|кX*o4)ArithRing+setoid_ring#Coq@0ṔCgt?}*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 80.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.+InitialRing+setoid_ring#Coq@0k/T=cN"Le%Arith#Coq@0d}Omq+$List%Lists#Coq@0>I+ListTactics%Lists#Coq@0,Jcy{0\͉!Ig*Logic_Type$Init#Coq@0 1jc6"Lt%Arith#Coq@0KZ-eJkP܏#Max%Arith#Coq@04=;3$>aU堠#Min%Arith#Coq@0Ce-Fѕ%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БAg2?5G0˻*L aS&$Nnat&NArith#Coq@0$W;s #%M)Notations$Init#Coq@0&v!D]hwnv *NumPrelude'Numbers#Coq@05WUVŦ]xVXԠ%Omega%omega#Coq@0t.J'6\ϨrK+OmegaLemmas%omega#Coq@0TJ#Jes4Operators_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(PreOmega%omega#Coq@0\|چBb~w4'Prelude$Init#Coq@0JqTttֱ%Quote%quote#Coq@0J@ŹVz-,3% - , +@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@03N$@@B@y@x@@@@@@#_17AA@@@@@@B@A@@@@@A@B@A@@@@@@#_18'`o@'@D*type_scope@*list_scope)nat_scope@@@נ@#_19'`o@B@AD@@@@@#_20L4xQRA@@#_21/@Y@@@@@y  A@@@@@@2 Q@@J@#_22F@4k@ B@A@@@@@#_232M접@#_24'`o@Cx@w@@@@#_2546@R@@@/#_26X@3typeclass_instances@@@(META1451(META1452@B  (META1453@A.@@@@b@?Coq.setoid_ring.Ncring_tac#<>#1l@2 Q@@o@#_27@4󠠑@B@A@F@A@A @A@@@@#_282M접%@#_29'`o@+F@@@@@@@͠᠐@#_30H9F@@@@@@%arg_6@AA@@@#_3146@A@@#_32X@V@A@(META1457(META1459w@B (META1458(META1460@B(META1461K@@5J@?Coq.setoid_ring.Ncring_tac#<>#2m@N$@@B@@@@@@#_33AA@@@@@@B@A@@@A@B@A@@@@#_34'`o@#@B@@e@#_35'`o@4@AB@@v@#_36L4xA@@#_37/@@@MLK@@@@@@&2 Q@@x@#_38@0.c@@@@@#_392M접@#_40'`o@A@@@#_4146@8i@ #_42X@h8@@@(META1469=@A  @@ZDZF@?Coq.setoid_ring.Ncring_tac#<>#3n@92 Q@@@#_43 @C <@B@A@D@A@@@@#_442M접@#_45'`o@!DE@D@@@@H@#_467D@@@@%arg_4@AA@@@#_4746@@#_48X@㒠@A@(META1471@B (META1472(META1473:@@۠u@?Coq.setoid_ring.Ncring_tac#<>#4o@vN$@@B@{@@@@@#_49"AA@@@@@@mB@A)I@A3@A> @AI@AS@A]@Ah@AyJ@A@@@@@@;A@B@AcI@Am@Ax @A@A@A@A@AJ@A@@@@@@@#_50'`o@}@M&@@.function_scope @@@4@@@@@AAAAA㠐@@#_51'`o@@AM^@@8:<>@@@@k@@@@@AAAAA/LS@@#_52@M@VB@A@AA@AA$@AA.@AA7@AA@@AAJ@AAZ@AAp@AA@@@@@@#_53L4xFGA@@#_54/M@@@@[,@@w( @@@@@@@@@@L&c@G@@Fʶ@E@ֶ@D@@C@ BA攑@@@@@@92 Q@@@#_55 #@C{@B@A@CJ@AĐ@A @A@A@A@A@AK@A@@@@#_562M접?@#_57'`o@EK}@@[]_ac@@@@ ]@@AAAAAE0@#_58uK@@@@-@AA@AA@AA}@AA{@AAz@AAv@AA@AA@@@#_5946@ T@0#_60X@Rb@@@4(META1479(META1481(META1482(META1483(META1484(META1485(META1486(META1487(META1488(META1489y@C@@A(META1480.v@@kW!@?Coq.setoid_ring.Ncring_tac#<>#7r@q2 Q@@@#_61!@{/ @ B@A@>J@A@A @A@A@A@A@AK@A@@@@#_622M접?@#_63'`o@EKzx@@VXZ\^@@@@!X@@AAAAA@+@#_64uK@@@@$@AA|@AAz@AAx@AAv@AAu@AAq@AA@AA@@@#_6546@O@0#_66X@M]@@@4(META1501(META1504(META1503(META1505(META1506(META1507(META1508(META1509(META1510(META1511t@C@@B;@C(META15022}@@mEY"@ Coq.setoid_ring.Ncring_tac#<>#107J@2 Q@@@#_67" @88@!C@A@J@A@A @A@A@A@A@AK@A@@@@#_682M접?@#_69'`o@EK|z@@XZ\^`@@@@"Z@@AAAAAB-@#_70uK@@@ %@AA -@AA@AA@AA}@AA{@AAz@AAv@AA@AA@@@#_7146@ K@@5#_72X@Td@K@4 @@A@B"@C @ @褐@C @ @A(META1524e@A@@ o#)@ Coq.setoid_ring.Ncring_tac#<>#137M@2 Q@@@#_73#6@/@#D@A@@ ΐK@A ؐ@A - @A ,@A +@A *@A *@A 'L@A@@@@#_742M접@@#_75'`o@FL.positive_scope@@rtvxz@@@@#t!@@AAAAA _ J@#_76|L@@@@!C@AA!K@AA @AA @AA @AA @AA @AA @AA @AA@@@#_7746@)K@@6#_78X@r @K@4>@5@A;@B @@C(@!@  @C"@"@B(META1547(META1546@B @@$P@ Coq.setoid_ring.Ncring_tac#<>#167P@2 Q@@@#_79$]@/̠@$7D@A@@!K@A!@A!T @A!S@A!R@A!Q@A!Q@A!NL@A@@@@#_802M접@@#_81'`o@FL'@@@@@@$G@@AAAAA!!p@#_82{EL@@@@"i@AA"q@AA!@AA!@AA!@AA!@AA!@AA!@AA"@AA@@@#_8346@OK@@6#_84X@!@K@4 d@ [@A a@B!f@C N B > : 8@#@ 3 ,!@C#(@#.@C(META1571(META1570 @C @@Р %v@ Coq.setoid_ring.Ncring_tac#<>#197S@'2 Q@@ >@#_85%@1/p򠠑@%]C@A1P@A#~@A$ @A#_90X@ #@B@4(META1593(META1600(META1601(META1599(META1602(META1603(META1604(META1605(META1606(META1607#@E$q@(META1594(META1597(META1595*(META1596(META1598@@ : - &@ Coq.setoid_ring.Ncring_tac#<>#297f@2 Q@@ @#_91&@/8@&C@A wP@A$Đ@A% @A Q@A%@A$N@A$@A$ @A#ސ@A#א@A#֐@A#֐@A#ӐO@A$E@A@@@@@#_922M접_@#_93'`o@eQ E@ D@@@#@@')+-@@@@@@%%',@%,@A@@AAAA$$  @#_94ߐQ@@@@@@@@%@AA%@AA$c@AA$[@AA$Y@AA$X@AA$T@AA$@AAF@AAE@AA@@@#_9546@J@@>#_96X@ :$J@J@4(META1627(META1634(META1635(META1636(META1633(META1637(META1638(META1639(META1640(META1641$a@G%@(META1628(META1631(META1629'(META1630(META1632@@ \:  H(@ Coq.setoid_ring.Ncring_tac#<>#397y@ _2 Q@@ @#_97(@ i =q ~@'鐐B@A%I@A%@A% @A%@A%@A%@A%@A$J@A@&/X@A@!@A'V @A V@A @A  @A @A @A @A @A W@A ;@A@@@@#_982M접@#_99'`o@X @@     @@ 'Z_scope@@@@     @@@@@@@AAAAA%%m(#&@@@AAAAA%%"@$_100 aX@@&@AA&@AA%@AA%@AA%@AA%@AA%@AA%@AA&@AA@@@@!_@AA!`@AA!a@AA!_@AA!]@AA![@AA!\@AA!Z@AA!Y@AA&arg_24@AA@@@$_10146@ I@@a$_102X@ ߒ%@I@4(META1661(META1675(META1676(META1677(META1678(META1679(META1680(META1681(META1682(META1683&@G'\@'l@C'g@(META1672(META1673(META1671!А'y@F!(MLKJIHGFED-(META1674@@ +À!)@ Coq.setoid_ring.Ncring_tac#<>#497ʌ@!2 Q@@ @$_103)@!/3 M@)C@A#P@A'ِ@A( @A#Q@A)@A'N@A'@A' @A&@A&@A&@A&@A&萐O@A'2E@A@@@@@$_1042M접_@$_105'`o@eQZ@Y@@@ 8@@ < > @ B@@@@@@(:*A@(A@A@@AAAA'.'##@$_106 Q@@@@@@@@(@AA($@AA'x@AA'v@AA'n@AA'm@AA'i@AA'@AA[@AAZ@AA@@@$_10746@ O@<$_108X@M']@B@4(META1709(META1716(META1717(META1718(META1719(META1715(META1720(META1721(META1722(META1723't@F(@(META1710(META1713(META1711$(META1712(META1714@@o8"[+@ Coq.setoid_ring.Ncring_tac#<>#597ʟ@!2 Q@@@$_109+"@!/> @*C@A$АN@A)@A*: @A(QL@A(ΐ@A(א @A(,@A(+@A(*@A($@A(!M@A(k:@A@@@@$_1102M접S@$_111'`o@YN@@ n@@ r t v x@@@@@)o+v@A@@AAAA(_(J$@$_112 "N@@@@@@)H@AA)P@AA(@AA(@AA(@AA(@AA(@AA(@AA&arg_14@AA@@@$_11346@ /x@7$_114X@v(@A@4(META1743(META1748(META1749(META1750(META1751(META1752(META1747(META1753(META1754(META1755(@H)@(META1744(META1745(META1746@@"~,8@ Coq.setoid_ring.Ncring_tac#<>#657ʮ@"52 Q@@@$_115,E@"?/ @,B@A)ېI@A)@A): @A)9@A)8@A)7@A)7@A)4J@A@&X@A*k@A+ @A@$ːV@A$ΐ@A$А @A$ϐ@A$ΐ@A$͐@A$ϐ@A$ΐW@A$ϐ;@A@@@@$_1162M접@$_117'`o@X@@     à@@@@'N_scope@@ Р Ҡ Ԡ ֠ ؠ@@@@@@@AAAAA))*᠐,@"@@AAAAA)Ԡ)&J@$_118X@@*@AA*@AA*@AA*@AA*@AA*@AA*@AA* @AA*R@AA@@@@%@AA%@AA%@AA%@AA%@AA%@AA%@AA%@AA%@AA6@AA@@@$_11946@ ˠA@@`$_120X@*$@A@4(META1771(META1785(META1786(META1787(META1788(META1789(META1790(META1791(META1792(META1793*;@I+@(META1781(META1784(META1782",76543210/(META1783 @@H#4-@ Coq.setoid_ring.Ncring_tac#<>#757@"2 Q@@@$_121-@#/j@-ՐB@A-E@A+@A. @A@+M@A+@A+ @A+@A*@A*@A*@A*N@A@@@@$_1222M접O@$_123'`o@UNg@fe@@@GIKMO@@@@@.J.^-F@@AAAAA+8+#@$_124N@@@@@+@AA,!@AA,)@AA+}@AA+{@AA+y@AA+w@AA+v@AA+r@AA,@AA@@@$_12546@d@@;$_126X@P+`@d@4(META1819(META1824(META1825(META1826(META1827(META1828(META1829(META1830(META1831(META1832+w@D,@#Ґ(META1822(META1821(META1820@@m#Y/@ Coq.setoid_ring.Ncring_tac#<>#767@#uN$@@B@#ze@#>@@@d@$_127"AA@@@@@@.B@A,I@A,Ő@A,А @A,ې@A,@A,@A,@A- J@A@@@@@@;A@/9B@A,I@A,@A-  @A-@A-@A-)@A-4@A-EJ@A@@@@@@@$_128'`o@}@M@@@@ĠƠ@@@@AAAAA-v-///@$_129'`o@@AM@@͠ϠѠӠՠ@@@@@@AAAAA--Ơ/砐/ꠐ/@$_130#@M@/B@A-@AA-@AA-@AA-@AA-@AA-@AA-@AA-@AA. @AA@@@@@@$_131L4x#ˠ#A@@$_132/5#Ҡ@@@@@@@@@@@@$.$.S..T$©.$à.?-$.7.6.5/p0604030X0S-=-< .;.:/u0;09080]0X-J@G@.A-I-U@F.E-`@E@/.K-l@D@0R/-x@C@0V0X..B..A0|$@@@@@@$2 Q@@t@$_1330@$/L@0B@A@.PJ@A.Z@A- @A-@A-@A-@A-@A-K@A@@@@$_1342M접?@$_135'`o@EK@@@@@@0@@AAAAA-۠-@$_136u K@@@.@AA.@AA.@AA.@AA.@AA.@AA.@AA.@AA/@AA@@@$_13746@ @3$_138X@뒠$@@@4(META1847(META1849(META1850(META1851(META1852(META1853(META1854(META1855(META1856(META1857/@A/s@/n@(META1848/@A9@@ %m1@ Coq.setoid_ring.Ncring_tac#<>#777@%2 Q@@z@$_1391@%@1C@A+mP@A/@A0א @A%Q@A%"@A/pN@A/z@A.ϐ @A.ΐ@A.͐@A.̐@A.̐@A.ɐO@A/ؐE@A@@@@@$_1402M접_@$_141'`o@eQ;@:@=?@@!#%@@@@@@02$@2(2+@@AAAAA/.+%5@$_142GQ@@@@@@@0@AA0@AA/\@AA/Z@AA/X@AA/V@AA/U@AA/Q@AA0^@AA C@AA B@AA@@@$_14346@U7@?$_144X@5&1@B@4(META1869(META1875(META1876(META1877(META1878(META1879(META1880(META1881(META1882(META18832%@B0@0@(META1870(META1873(META18712?@B?(META1872(META1874@@bJ&(N3@ Coq.setoid_ring.Ncring_tac#<>#787@%2 Q@@@@$_1453@%;󠠑@2C@A'sN@A1@A' @A0L@A0Ɛ@A0 @A0@A0@A0@A0@A0M@A1$:@A@@@@@$_1462M접T@$_147'`o@ZO@@gikmo@@@@@@3k3n3q@@AAAAA0Y0D&x1@$_148O@3CAA( NAA1AA(  AA1V@AA1^@AA0@AA0@AA0@AA0@AA0@AA0@AA1@AA@AA0@AA@@@*lterm_goalF@@@!g@ B "./plugins/setoid_ring/Ncring_tac.vqqyz qqyz@@%@ A!AA@@ B(EqualityA@@31.3<6@#@&@3D3IE?LFI3B@U A!AA@@ 3gd@n@@3y2A@ A0A@@ @@$@=@@@&@@@@@ 33@@&@3›3̐~}@ˠ{@@3ސ @ˠ@@3Ơw@ˠAA@@ @@"@7@@@@@@@Ӡ4נ4*$@'@41462@?󠠐@@4MJꠠ@T󠠐@@4e_@i󠠐AA@@ @s@"@7@@'2 Q@@A@$_1505@'5\@A@@@@@@@@$_1512M접$_152'`o@C  @@0x0{'@*reify_goalF@@@3** @ Bؒ*ؠ@@F@栠NAtA@@ @@4(@A@@@@@@/@@@/ @@@@@@.@5i@B/Ĥ5r@B雐/ B@@@3K6,/"u1?03"u2H47@K,7@3f@@3u`<<OQ.Ncring_polynom+setoid_ring#Coq@@5:È@tSSbh1U@|SSij@@@@SSkl@@@@SSmn@@@@SSop@@@@SSqr@@@@SSst@@@@SSuv@@@@SSwx@@@@SSyz@@@@SS{|(@SS@@@@SS@@@@SS@@@@SS@@@@SS@@@@SS@@@@SS@@@@SS@@@@ SS@@@@)SS@,SS~2~@!N7@@8SSŐ-$@@C--IL,z@Wɠ@@@@`ˠ@@@@i͠@@@@rϠ@@@@{Ѡ@@@@Ӡ@@@@ՠ@@@@נ@@@@٠@@@@@۠51]@Sa\@ R@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  !@@@@"#@@@@$%Q@((0@@@@112@@@@:34@@@@C56@@@@L78@@@@U9:@@@@^;<@@@@g=>@@@@p?@@@@@yAB@|'BP@DEŐ.o@[@FFcd.xFFhiFF]iK@FFmr@@@@FFst@@@@FFuv@@@@FFwx@@@@FFyz@@@@FF{|@@@@FF}~@@@@FF@@@@FF@@@@FF@FFl62@ @ <O@@@@@*Ƞ2 Q@@A@$_1539@*)Zc@A@@@@@$_1542M접 $_155'`o@LJ@@$&(*,@@@@@@@AAAAA6540@@$_156FDL@@6@AA6@AA6P@AA6N@AA6L@AA6J@AA6I@AA6E@AA6@AA@@@@@(ring_genF@@@ B@@@ @ @-'%9@'ǐ&'@@ B,,9a@@,,FQ A9A@@ B.0A@@C7A@@.C,,Z_&E7~A@@&-F7A@@-4G6A@@4;H6A@@;BI6A@@BIJ6A@@IPK6A@@PWL6A@@W^M7A@@^eNUA@@elO7=A@@l@8,,F`@@@,@A@Iggr AA@@ B!BA@@"fvaggsv.iggx~@#@,@A55.ʡz,,:@/>- .!&.',@ B@@@JJZ\@@A@@Q@,ring_correct@aaxK@aa@@@@aa@@@@aa@@@@aa@@@@aa@@@@aa@@@@aa@@@@aa@@@@aa@@@@aa@@@@ aa@@@@)aa@@@@2aa@@@@;aa@@@@Daa@@@@Maa@@@@Vaa@@@@_aa@@@@haa@@@@qaa@{Π@@@@Р@@@@Ҡ@@@@Ԡ@@@@֠@@@@ؠ@@@@ڠ@@@@ܠ@@@@ޠ@@@@@ࠠ@@@@㠠@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# @@@@,  @@@@5  @@@@>@A.2@I@R!&@Y"#Ő2E@1@d+,2Nj01m%1!@w33FK@@@@33LM@@@@33NO@@@@33PQ@@@@33RS@@@@33TU@@@@33VW@@@@33XY@@@@33Z[@@@@33\]@33E]@a3w^@@@@@A@@u@,power_theory K@A@aaw@@@@aaaa)Notations$Init#Coq@@+reflexivity/&k@@@@@  @@@@@4non_commutative_ringF@@@@@Z @ !  & =1@@1ring_simplify_auxF@@@1ؠ1#hyp@ B @RR\a1 FRR\a@@ @ Tggoz@@"t0 aggor1Đ iggtz@@<@B 51 B z~~1Ӑ ~~@@ ;@  9@@;~ "le @@<@B o; @= ߐ qY@*norm_substG@ S@ ;;=@@;7@A@ @B@ ;ʠ;ɠ>@@:3*@C@@&BinInt&ZArith#Coq@!Z@#add1P&)BinIntDef&ZArith#Coq@!Z@#add @ @#mul1P]@#mul @ $ %,@#sub1P#@#sub p@ 1&+9@#opp1P0@#opp {@ >,1%Logic$Init#Coq@@0N @@ S46@ Z78@ ]38/@92G[;@ g:>&@ n?G?@@@LP@@@@@@QR@@@ST@@@@ @ @@@UV@@@@ @ @@@WX@@@@ @ @@@[\@@@@ @@@@@@_`@@@@ @ @@@ce@@@@ @ @@@fg@@@@ @ @@@@ @@kl@@@@)@@mn@,@@Kn@@@@5@@pq@<@@ry@?@y@@@@@A@@o@L||@@@@Q||V||i@ B`*f@@C@B@wѠCA@ @ @C@BC@A@@AA@@@@@@@@@A@A@@A @:  @@@@A@@@A@@@ @!P&&23!P@@ BCCQTCCQT@@r@ZZfgo@@@D!@BD'@A"ok@@@Aw@*{{@@@@@@@@@ @'@@@@0@:à@@@@ @ @LŠ@@|@@ @ x@^Ǡt@@q@@ @ m@pˠl@@i@@ e@@@a@Ϡ]@@Z@@ @ V@ԠR@@O@@ @ @֠K@@H@@ @ @@@@頠@AEA@@ BDA@@CCA@@ DBA@@EAA@@&F@A@@- G?A@@4'H>A@@;.I=A@@B@ @@@@@ B@@@@ߐ*&&8:F 2&&;=@5&&8=@@𐛐F@@}@F&&JK@@@A@@@@OS^^su@@@ Y^^|-@0clear_#_4C69D547<d@@@@@@AAAAAA@@@@@@C|@C@@A@@@@@C@@@A@@@@󠠐3@@@@@@@@@@ @  @@@@@ @ @@@@@ @ @@@@@ @@@@ @@@@ @ @ @@@@ @ @1  @@@@ @ @@@@B"#u@L$;}AA@@ BA@@CA@@DA@@EA@@&FA@@-GA@@4HA@@;IA@@B@$; 5<>?A@A@@@D@@@A BJJ_hDJJgh@@@BxnnGnn@nn@BG@@Bnn@@D@@@AA@@@@@@@ @@@@@@AAAAAA@@@E@@@A@@@S@@@  Š d@@@@+>0>6.H>@ *h <>/4 E57 L8: S;>@@@@a??GJA A@@ @k??GJ@F@A7@@@@@\\beA,A@@ @\\be@F@AW@@-set_variablesF@@@?@ BH@@3@;AaA@@ @@G@A@@@@ @@H@@H?@BHћ @!vӔ!X@@@@ H@@@A@   I'@v۠ǐ'  @@%desetF@@@?@ B6  %  % . /? <  %  % . /@@@G  5  5 ; <@H}@A@@@H'B@]  J  J P Q"n1f  J  J R U@i  J  J P U@H:@B B@!h}  o  o y z@  o  o } @@In  o  o  @Is@@  o  o  @@@2  o  o  @@@   o  o  [XC@@@  o  o    o  o    o  o  I@*!xfo  o  o  @@@1ring_simplify_genF@@@!a @ @>C!!!! B!!!!!!!!@@@!!!!@@@@@@!!!!@@@@!!!!@@In@B%!!!!K+!!!!2!!!!Ӑ@?!!!!Ҡ@@jJ!!!!͠@T!!!!Ҡ٠AA@@ @^!!!!@"@@@ Bd!!!"@p!!!"AJPA@@ B>A@@CHsA@@>!!" "ʠEH"A@@&ѠFH-A@@-ؠGGA@@4ߠHGA@@;IGA@@BJGA@@IKGA@@PLGA@@WMHA@@^ NA@@eOGA@@l@!!!"@@@@"""",@@@@ """ "#?U"""%"+@@=B@AΛ?c?r@@@@?r@@ @A$"T"T"^"_AAAAAA@I@&length@6"T"T"t"z AA@@ D"T"T"{"}@G"T"T"t"}@@A3@@ @"ltU"""""lt@@@@ ?e " """@@@A@ @"lvp!"!"""є"fv@@@@!""""""@@@A@&#&###&#&###&#&###K@v۠;&#&###@ @<erm1'#'###Ñ@Z'#'###@a'#'###@@ @#lv1(#(###쑡@Y(#(###@`(#(#$$@@7@@!@@*$)*$)$/$U*$)*$)$/$U*$)*$)$/$@K@*h P*$)*$)$A$G=*$)*$)$H$K@T*$)*$)$L$Q̐*$)*$)$R$U@  +$W+$W$]$h@@@@-$-$$$!-$-$$$'-$-$$$L/@*!xfB/-$-$$$@@$_157(L<@ (non_commutative_ring_simplify_#_217E6B32.z@@=non_commutative_ring_simplify@0$0$$$堕?LFI@@@@K1$1$$%P1$1$$%V1$1$$$L^@*h@^1$1$$%@k1$1$%%@@@@@$_158(L|@ -non_commutative_ring_simplify_#_in_#_217E6B31@@=non_commutative_ring_simplify3% 3% %9%F?LFI@⠐"in3% 3% %L%TE I@@I@4%W4%W%X%q4%W4%W%X%q4%W4%W%X%iNA4%W4%W%j%oI4%W4%W%p%q@@@@m""G!x'BinNums'Numbers#Coq@@!Z7@!y!H%Logic$Init@"eq @)Datatypes @$boolZ'@%Zbool&ZArith)@(Zeq_bool0߀BAA&@(eq_ind_r!2#A DB.Algebra_syntax+setoid_ringB@(equality78zN&Ncring @+eq_notation($XYA]Ba@(positive*@C&BinInt>c@#add1P&)BinIntDefDi@ ̀@#mul1P] @ @#sub1P@ p@#opp1P@ {t.Ncring_initialF@$Zops2G[;[C/RelationClasses'Classes@+reflexivity(ϓ/\R@,eq_ReflexiveaN3q}@+Zeq_bool_eq䤀xw!R"jU*Ncring_tacp@@%ring0%ring1S@2@DEO@@FN@ @GM'ring_eq@@HA"Ro@(Ring_ops( @  !Tթ@$Ring,@$I %*+^!c'Numbers@7@ @%Z_indrзLM$KJ5=BG@.multiplication+-  @,mul_notation%[C㩚@(gen_phiZ4(2IQV[ %%lemma&$("!>U]bgh **@$zero#*2@-zero_notationS )Morphisms@>trans_sym_co_inv_impl_morphism'\|?A@@/Equivalence_PER/;H @+ring_setoid8(ORLKhJQQE#)S$ROVVJ('@,ring_mul_0_l)"c9,a[Zw/A%e?]gg=5<</@=trans_co_eq_inv_impl_morphism&ni$k,@6Equivalence_TransitiveW*" B  <@/eq_proper_proxy)fx'2@,ring_mul_0_r)"c?"F`@5Equivalence_Reflexive6z D:99@0subrelation_reflv K@<( M5BB <(@9iff_flip_impl_subrelation2VATTGc(W  )@HM YYm@>Reflexive_partial_app_morphism 2R,a@b`W_ddYYff@.ring_mult_comp<L@6reflexive_proper_proxy5shV@(symmetry0xj{p@5Equivalence_Symmetric. Uc(, 5/.71,@@C=<Ypx}2.@(same_gen:,HKEDax]@,positive_ind?UзMG&(VYSRo'QK*#IHp @$$cf`_|^Y+@(addition;53&@,add_notation8@#one#ҍ3@,one_notation:2 (~T!4@P@Q@TJ$ é ưV Q(ө  B!=8$3'' J) (+*--P/ R133 ,5@6408822::*=7C/ ,@ : cB!@.ring_plus_comp+K7&JD (%LL.-NN0!@P  1#@,ring_distr_l04&(nnaĩ*ae44_[XRLH3``B,bA@dC;;,f1`0.,2+9,h3b2(&F 9&@j8: #+9A9AllN 8@n<>'/A::3@,ring_mul_1_l)"d,DF/7<HJJLNPRRTTz*injXp,Z蠩>4_a3JRWc9xe W@ik$'! =T\g`/,np),&%BYaf r t©*vvLx2|&,}|rp~w& b4>A;:Wnv{!=?٩AթCC$fJLh$  "@,ring_distr_r0C?#֩$@ficb7A55"@,ring_mul_1_r)"dGR6+ p$-өxl,0RNN.,FfJ&!#% )$C)+ d``@M@.ring_add_assoc%;N4&&~b>94t;6=8vvptA C"tt|4$uQ=N$+%h% @-% ,/);;G10^<y( "C d  b="(1Ak F97xv$4OKHB<8PP2+RR4#,TN /%VV81"XX:)$@Z(*5+&& 54`\YSMI,a,[+)'-&2 թ@c13$4//(ĩhbZ $mg{oàwK$tnȩ2@vDF/7 ѩuGECCIKK|a(MO !8@pB?SS aVDcceXhh*,$'! =T\afg('#**$shVv3C65188, (:=76Sjrw|C8??3CICBA=DD82(FICB_v~]B}ELL@XR24yd]NH'@(oppositeG@,opp_notation-\[T]W6 TS,NMKI:C!@-ring_opp_comp04orlka]BjdClfET@uxrq  GGP5.зߩ>vpO(#+ztS) g's,!B@@ɩ.Morphisms_Prop @9iff_iff_iff_impl_morphism8C ש j  T"O%%暠$@-iff_Reflexive/hz.&00d2446.88l: <<$>80,@ :  a4B#@D  ,JGE-$KCMM/O-QQ3 $SME,U O!v4W%'*@Y')! %%멷Ʃ,.|0~xkk,e#b`H?f^hhJ4jHlKnMLEEppR<*$rld' ,t?n><:@9' 4vDF/7 '@xFH19+DD=n4IK4<AMO$RT&V,BI)ne&pZoİp&rv`N$0  ,cb`^d]0 *@hj#& <S[2 ff_@,ring_opp_add. m0pr+.('D[chBtΩ*vv&xƩ.zz(0||($,hoO&&8& @8per_partial_app_morphismp1+ m4ILFEby<:,HDLFNFB,mȩVD"$J0$$:& F*Za\X,2ީ ǩl ˩ Щϩtϩ$$@|{$l,hRک\H @H f@nX۩bݠf0 oS/-+,'1- a,  +] +46+a 3+@+u4>nJH#FGBL'H^,+(&x,$O. Q022F!$4.&N@6N>%%82'l fr4!AF>91/)G?){I'KE=-(MG?+$PH$sR1uT3?  VPH*E@X&(E,Z%T$E\VG99@.ring_opp_mul_l"024%*mcЩ68_,$m+j h'&-G) phDrQtSvT//xrjL(6@zHJ3;(8@|JL5=g~x1 i77zC999$0QS  %<DI,?F&B]jlm[HHe!O@ac5LT!Q@ce!7NV!4eg #9PX cPPPPjĩаlԩv4^?:[ְ]^$[aa*!~  %h$n@;>87Tks(,~try--{/@.ring_opp_mul_r"0ILFEbyɩ,E <,g(,*"ĩ 00I$*@_b\[x*@ad^]z4 488>:::SS&$0hkedK W,C1ݩƩ \GG`$@vysr@x{utb4z}wv+KOOOOhh;"AYaW$G=$@($':5 ԩ=   ٩(35H  @,@R%''C ##,+( >&'sCxTR-bV1$"cDa,:75;3== q?AA# C;EE'yG%II+$KE=,MGn4O* @Q!  ,WTR:1XPZZ<&\:^^@*$`ZR,b-\,*(.'4d24%5@f46'! 22+ө9;=,)r0omULskuuWAwVWWyy[E3${um#,}HwGECIB#!@MO !8@% KKD0PR $;CHT VVXީ,DK+pgomm젩B4ce!7NV[gii.kө,W^>z]$2 jo4kLGhdjj%q@>A;:WnvnjnjY"4xYTu x$~@KNHGd{  & ө2($ͩé@Y\VUr**-.C"Zש Y]^۵I-jilkZhoocq\B<nhG [rlK$\NIN0}|kQcqM /*X4iZYglP8#gb"-$g >9{hc$h&X0mx:$t 84ts sfrP;xCl|VAuCu(CkR_J o8