"`##l?*RMicromega)micromega#Coq@D+Ring_theory+setoid_ring#Coq@)Ring_base+setoid_ring#Coq@+InitialRing+setoid_ring#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@+ListTactics%Lists#Coq@(Ring_tac+setoid_ring#Coq@$Ring+setoid_ring#Coq@*ZArithRing+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$&Setoid'Setoids#Coq@0D9AsWE!>$Bool#Coq@0j 2cZ`FW'BinNums'Numbers#Coq@0dmk(5Ju<*EqdepFacts%Logic#Coq@0FI$ͼՋ`)Eqdep_dec%Logic#Coq@0u wWIϰ߼*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$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^,Ring_polynom+setoid_ring#Coq@0gaKw9`UW+ListTactics%Lists#Coq@0,Jcy{%Zeven&ZArith#Coq@0i?eK#$Nnat&NArith#Coq@0$W;s #%M(Ndiv_def&NArith#Coq@0AU|ڣTu)Nsqrt_def&NArith#Coq@0W58pG*~W-G(Ngcd_def&NArith#Coq@0OLMP"^e#Fin'Vectors#Coq@0r'gް؅/׸)VectorDef'Vectors#Coq@0]i>3 ٠*VectorSpec'Vectors#Coq@0GyK5%l6L(VectorEq'Vectors#Coq@0#'`ԶlxjT&Vector'Vectors#Coq@0_ċ|"Ʌhz'Bvector$Bool#Coq@0,rO3^~'Ndigits&NArith#Coq@032W}-RingMicromega)micromega#Coq@0{L䬃ɟh'Zminmax&ZArith#Coq@0 qprc&Z$Zmin&ZArith#Coq@0 FY2l\`K$Zmax&ZArith#Coq@0U93qjΠ$Znat&ZArith#Coq@0&^ 2J$Zabs&ZArith#Coq@0w"R8Y1k)auxiliary&ZArith#Coq@09؉ 䀍5[q'%Zmisc&ZArith#Coq@0 eY $Wf_Z&ZArith#Coq@0`&iaU堠#Min%Arith#Coq@0Ce-Fѕ(PreOmega%omega#Coq@0\|چBb~w4%Omega%omega#Coq@0t.J'6\ϨrK(Zpow_def&ZArith#Coq@0f蓜DX;Vn0{#'[{nm!/,Zcomplements&ZArith#Coq@0ʾq %RIneq%Reals#Coq@0JUڻIu)$w&DiscrR%Reals#Coq@0z41pV.$Zdiv&ZArith#Coq@0gho4S*Zlogarithm&ZArith#Coq@0|P#ar&ZArith#Coq@0ߴ#ҤР+QArith_base&QArith#Coq@0#-\D7* Q,"f\&Qfield&QArith#Coq@0td;X񦐳#@`%Qring&QArith#Coq@0F%pw;}=O5}*Znumtheory&ZArith#Coq@0g2/#1ϳ\;R*Qreduction&QArith#Coq@0nDk%}Y&QArith#Coq@0H#oޞ6 78%Rbase%Reals#Coq@0Jܡ\ c6{&Qreals&QArith#Coq@0 |-=ʈ%U~6U{ 􄕦D t)m6Р*RMicromega)micromega#Coq@A$Rsrt @@@+Ring_theory+setoid_ring#Coq@@+ring_theory؛@ ,Rdefinitions%Reals#Coq@@!RӀ,Rdefinitions%Reals#Coq@@"R0ǀ @"R1Ȁ@%Rplus+1@%Rmult׀@&Rminus&H @$Ropp΀%Logic$Init#Coq@@"eq @4@9Ӏ@@@@@AA@@>@,Field_theory+setoid_ring#Coq@@&FEeval>@@A@A"s @,Ring_polynom+setoid_ring#Coq@@&PEeval"s @@A@BA@A@$Rsor @@A+OrderedRing)micromega#Coq@@#SORL@(ymc`]ZWT,Rdefinitions%Reals@@!RӀ@#Rle=@#Rlt=@@@@@Z&Rinv_1 @@B!x%Logic$Init#Coq@@z @@@׀A @$Rinv8CB@@#IZR/r'BinNums'Numbers@@!Z7@B  @@(positive*@CA@@@@@(Qeq_true @@CS+QArith_base&QArith#Coq@@!Q4+@!y@c)Datatypes$Init#Coq@@$boolZ'@+QArith_base&QArith#Coq@@(Qeq_bool=ʀBA)Datatypes$Init#Coq@@$boolZ'@A,Rdefinitions%Reals#Coq@@!RӀ&Qreals&QArith#Coq@@#Q2R>CB@@@@@)Qeq_false @@Dpcr@ŀbUBAKB@#notШـG;1?0@@@@@L(Qle_true @@E򛠠}@4+@@)Datatypes$Init#Coq@@$boolZ'@@(Qle_bool=uBAA @0=|rq@@@@@%IQR_0 @@F0@A'BinNums'Numbers@@!Z7@A  @@(positive*@C7/@A@@@@@Ơ%IQR_1 @@3Gi&Qreals&QArith@#Q2R>) @$4+@AXW@U7@B @P*@C@p/r@@@@@+IQR_inv_ext @@nHl ^@$Qinv4ƀAQ@@@@@@@@A!bZ-OAAAC}A€=A@@@@@K)QSORaddon @@I-RingMicromega)micromega#Coq@@(SORaddon }[@Xhz("AACA@BCC@%Qplus5p1y@%Qmult5o@&Qminus̀@$Qopp4\Ѐ:@#nat@&BinNat&NArith#Coq@!N@&to_nat`)BinNatDef&NArith#Coq@!N@&to_nat*9G(Rpow_def%Reals#Coq@@#pow#׀@@@@@ݠ$Rcst,<@@$"C0"C1"CQ"CZ%CPlus&CMinus%CMult$CInv$COpp$A!r㶐"r1 "r2@@@AB@$@@AABBBAA$@@AABBBAA@n@0 hz@$@@@@@@@@@@@@ BG$@@A@AABACBDBEBFAGA@@A@@@@@@@.)Rcst_rect @!PD@b hz@*H@@!fXA8Bb`D#CllgE-D !m1@Fn5@HI=E!`2~B@G F@#JMFAQ@S@ 0KZGN^@cHXh@mI @@!Fy$U||@@$@@@@@@@@@@@@@@@@@@@DMh$8E;IZv0۩wqbX u{@雠C@ hz@@@@ @ '@@ @ʶ5@@'@+ض-C@@57M@@??VF +k()      , ' *(=mp #4EVbRj'> $'> $'>3 3 #'>3 3 #'>3 3 #'>3 %'>3 %''''+k$'+7Tk$'%AF̀@@*@@A@A@@@L(Rcst_ind @`A@"e|nLtr$yt  )v@@ z@   8@@ @  G@@&@  V@@3%a@@.#ր)ƐAF̀@@@@@ɠ(Rcst_rec @쩚@<"%y@󐐠 ,+k7$'X@@@@@栠)Q_of_Rcst @@@ C$A#!q !z ) з ѩ+@%Qplus5p1yDCٷک4@&Qminus̀ ⩚<@%Qmult5o-驚C@4ƀP4𩚠J@$Qopp4\@;R@ (,{k*(=^b ,:HSR]'>'>G :'>3 3 7%'>3 3 7%'>3 3 7%'>3 7$'>3 7$'6'6''+k6'+7Tk6'(A@@4(l2@s𠑑 :ADhRРAA@@@@@@@k)R_of_Rcst @@@ B9DȷF=$>@"R0ǀC@"R1Ȁ.0VWO@%Rplus+1^_W@&Rminus&Hfg_@%Rmult׀nР)Datatypes$Initf@$boolZ'@@ t@(Qeq_bool=ʀ@&2*dǠC@$Rinv8@$Ropp΀@ܛۀ ,k*(=~ #1?MsR'>7$'>7$'>3 3 7%'>3 3 7%'>3 3 7%'>6 7 7!= R*'6'3 7$''>3 7$'6'6''+k6'+k6'+7Tk6'@A@@tCTp6k@s0Ƞ$5䠒cn䠐]@@A@AAѐO]ADh@@@@@*Q_of_RcstR @@J!c򩛠-!@H&2*A@~ũA@@@@@<#INZ @!n]@!N7@@@A@A@@@@Da]Z!pgdw@'BinNums'Numbers#Coq@@!N7@u +k= R'>97$'G7$''+k6'50@@AAABtx\@@@@@*Reval_expr @-RingMicromegaU@*eval_pexpr0N(U^]@.~ũ@#nat@&NArith__@&to_nat`d@*9G(Rpow_defm@#pow#׀@@-RingMicromega)micromega#Coq@@&PolEnv)^ @'EnvRing@%PExpr K*@ l67777777777 k,*L;DTtDTO|ZLWdc\l^\@@@@@)Reval_op2 @!o{@#Op2Rg@@@@@@@@@@@@@@@@@@@@@D @Զ@$ਜ਼%Logicr@"eq @᷐㷐b婚@#notШ=@#Rle=@#Rge=-@#Rlt=@#Rgt=<@?@#Op2Rg@@T@W x+k=#'R5'67$'+'6'6'6'6''() 77"7$'+k+7T'+7T'6'$N@@A@B@C@D@E@AAD#X8X)64A!l``T@@@@@-Reval_formula @!e@&PolEnv)^o"ff@'Formula2@cACC@@@@@@Q#lhs'EnvRings@ K*@#rhs ~@-*@:)sOfac@=t@)^<}@'Formula2@; +k()= R'>7! 7! 7&''+k6't`FACAF|.@@@@@.Reval_formula' @i@-eval_sformula=84l\d2b\Nf@#envHI!fN@62@:A "677777777 777777 k8f\wh٠xDSXd-`pLtT|l&L@@@@@D.QReval_formula @@,eval_formulaSe4:"[@USQaLJ8LÐh%xDX̐Tdڐ`plCtP|\oL@@@@@4Reval_formula_compat @@K#env̶Q6@#iffС) @$JuBA @*P^BA@@@@@.Qeval_nformula @/@-eval_nformula\<р$n2"@Ʃ ĩ@(NFormula.F~ x677777 77L7 77 k(4@`lh LPHT\d֐tT@@@@@2Reval_nformula_dec @@ dLjHv@BРA@@\/L d1lT@@@@@ -RTautoChecker @%Tauto@(BFormulaf@t!we@$list]@@"5@-tauto_checker&E(Rk@'c@q@:; @`e@$y瀩5@,map_bformula8|΀@+map_FormulaJ (N@%Tauto)micromega#Coq@@(BFormulaf@JID m +k() 7777"77 77 777777777 77 7# '80.RAH XDG=l|td蠑t`dKLԐȀ@@@@@ 3RTautoChecker_sound @@ NNTG@ 8J @5؀BA A⩚j@&eval_f?:b@@@@@ @@@*u@A ӳ2@ ӳ2[)Datatypes$Init#Coq@@A@ Գq@ Գq\ @A@AB@cA   @A.0TQ+Ring_theory+setoid_ring#Coq@@BA.U>[J @AB-A'EnvRing)micromega#Coq@A.0TQ+Ring_theory+setoid_ring#Coq@@-#BA.U>[J @AC@&Vector'Vectors#Coq@/VectorNotations)VectorDef'Vectors#Coq@ @A@"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ѓ6@y@A@A@D@&to_intϑ;@@A@z@6@&doublez-@/!@A@A@j@(nth_map2*VectorSpec'Vectors#Coq@@ 8"@A@@w@*fold_left2q@6U@A@"W@}@*fold_right"Ww@6N@A@ABCDE/@h@)log2_iter/_@wd@A@NH/@[@&moduloNH/R@1,@A@A\d@`@&of_int\dW@1?A @A@bz@f@&of_natbz]@1?G!@A@#@l@&shiftl#c@1dV@A@#@r@&shiftr#i@1d\@A@ABCD/x@&BinPos&PArith#Coq@#Pos@)pred_mask/x)BinPosDef&PArith#Coq@#Pos@ )X@A@6@@&square6@19@A@AV+L@@&to_intV+L@2@A@V1b@@&to_natV1b@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@K5@@*Forall_indK5@9M@A@X@@/shiftrepeat_nthX@;\@A@ABCD^Ҷ@@'to_uint^Ҷ@#m@A@gL7@@'sqrtremgL7@40@A@Aq@@'testbitq@5)@A@BE@@-replace_order@:k@A@2s@!@,shiftin_last2s@=Nn@A@AxYe@&@!txYe @;z@A@Bx^@+@"Inx^ʑ%@;z!@A@xa @2@"hdxa ,@;zd@A@Axa@7@"tlxa1@;zP@A@BCx#@<@#eqbx#(VectorEq'Vectors#Coq@@ /@A@x[@J@#etax[@> .@A@AxI@O@#mapxII@;{&@A@BDx@T@#nthxN@;{)j@A@y@^@#revyX@;{-@A@AG8@c@$castG8'@/Y@A@B8[@h@$last8[b@;d@A@R@n@$map2Rh@;@A@ @t@$take n@;:c@A@ABCݎO@J@+succ_doubleݎOA@6r@A@HI@@%case0HIz@@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@A *@@%ldiff *@@A@ O@u@,take_prf_irr O @*@A@A g_@@+pred_double g_@25\@A@ q@@(take_app q@lm@A@ABCD m@@÷ m@2j@A@ @@+Exists2_ind Ñ@ @A@ k@@'nth_map k(@wF@A@ABS@@&of_intS㫑@4}5@A@S@@&of_natS@4};@A@ACEFGJ\R@@(mask_ind\R@4@A@\^@@(mask_rec\^@4@A@Aũ@@*Exists_indũ@@A@Ǜ@@'of_listǛ@@A@A!,@@&pred_N!,@4s)@A@BC@@&shiftl@5X@A@@#@&shiftr@5X@A@A&@(@&square&ّ@5,x@A@BD"@-@&to_int"$@5L@A@"@5@&to_nat",@5L @A@AnTq@:@+testbit_natnTq1@6n@A@B@3@(succ_posB*@@A@I@@'abs_natI@?n@A@AB.@>@'of_uint.5@MS@A@3~@R@'sqrtrem3~I@7]%{@A@ACD,@@'bitwise,@/v@A@>4'@_@'testbit>4'V@8g$@A@d;@ @*rev_appendd;@fh:@A@AB{U@j@,sqrtrem_step{Ua@8R@A@u^@c@(div_euclu^Z@ @A@Au@@&Existsu@@A@UA@"@&ForallUA@@A@#N@(@&In_ind#N"@%@A@ABCDfz@@'to_uintfz~@9w@A@l@@'comparel@3R@A@AA@:@&appendA4@ m@A@L9@@@&caseS'L9:@ x@A@ABW@E@'replaceWݑ?@ 4@A@K@K@&eq_decK@?w@A@K~@Q@&eqb_eqK~@?w@A@MĚ@W@)nth_orderMĚQ@ O@A@ABCDEFGs8@B@+of_uint_accs89@5+@A@@g@3to_list_of_list_opp@<@A@A}@@,pos_div_eucl}@&`@A@3x@C@'compare3x:@]=@A@`<@x@&t_rect`<r@ b@A@c`@~@&take_Oc`@3@A@ABCD@@&double@'޺_@A@(@@'shiftin(@*I@A@Aq@@+of_succ_natq@$@A@w@@&modulowɑ@)1@A@ABEK@@&of_intK@)j,I@A@K@@&of_natK@)j2_@A@H@@'Exists2H@uF@A@ABI@@&shiftlI@*O@A@O@@&shiftrO@*O@A@AC,@@&square,@*ow@A@Z@ @&to_intZ@*81@A@ADF`@@&to_nat`@*9G@A@@@'Forall2@?j@A@Ae@@+testbit_nateđ@+@A@'@@+Forall2_ind'@ ~@A@"@@'to_list"ӑ@O*@A@ABC+{@.@'sqrtrem+{ё%@,J@A@@@0shiftrepeat_last@@A@A5z@:@'testbit5z1@-T|@A@BD @?@'to_uint ͑6@.@A@ @G@+succ_double >@.^4@A@A!lK@@)const_nth!lK@@A@!K@@+fold_right2!K@x @A@A#@f@'compare#ݑ]@ )Q@A@$@@8fold_left_right_assoc_eq$@3@A@ABC%t2@q@(size_nat%t2h@ @A@%9@x@+of_uint_acc%9o@ ΋@A@A%V@}@+double_mask%Vt@ S@A@%%@@'div2_up%%z@ "@A@%R@/@)take_idem%R@-W@A@ABCDEG'ş@@'Ndouble'ş@ @A@(K|@=@*eqb_nat_eq(K|@w@A@A(b0@@*shiftl_nat(b0@9-@A@B(nՖ@@*shiftr_nat(nՖ@'@A@(@@0succ_double_mask(@@A@A*W$@@,compare_cont*W$@!@A@*@Z@(cons_inj*@!@A@*A@`@(shiftout*AZ@@A@AB.0@@.sub_mask_carry.0@΂@A@CDE.@P@!t.G@ ;@A@.먩@W@#add.먩N@ `@A@A.U@\@#div.US@ @A@.B@c@#eqb.BZ@ @A@A. @h@#gcd. _@ @A@.=@n@#leb.=e@ @A@ABCFHIK. @s@#lor. j@ @A@.Z@@#ltb.Zw@ @A@A.p@@#max.p|@ '@A@B.@@#min.@ @A@.@@#mul.@ @A@AC.g@@#odd.g@ @A@.&@@#one.&@ @A@A.뾴@@#pow.뾴@ k@A@.L@@#sub.L@ @A@.@@#two.@ @A@ABCD.,a@@$div2.,a@ @A@.Xz@@$even.Xz@ ?1@A@A.@@$iter.ؑ@ @A@B. @@$land. @ @A@. @@$log2. @ @A@ACE.@@$lxor.@ R@A@.y@@$pred.y@ `<@A@A.Ʉ@@$sqrt.Ʉ@ ;@A@.@@$succ.@ @A@.t @@$zero.t @ Z@A@AB/@@.to_little_uint/@ @A@CDF/@@%ldiff/@ H@A@00@c@'compare00Z@?H{@A@A1P%@@!t1P%@  @A@B1P@@#abs1P@ @A@1P&@@#add1P&@ @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{@4@#min1P{+@ "@A@B1P]@9@#mul1P]0@ @A@1P@@@#odd1P7@ @A@A1Pɣ@E@#one1Pɣ<@ J@A@BC1P@J@#opp1PԑA@ {@A@1P1@R@#pow1P1I@ @A@A1P;@W@#rem1P;N@ @A@B1P@\@#sgn1PˑS@ r@A@1P@c@#sub1PɑZ@ p@A@A1Pe@h@#two1Pe_@  @A@BCDE1[8@m@$div21[8ޑd@ @A@1[d@v@$even1[dm@ I@A@A1[6@{@$ggcd1[6r@ i@A@B1[U@@$iter1[Uw@ @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\@@$sqrt1\@ @A@A1\w@@$succ1\w@ @A@BC1\k@@$to_N1\k@ @A@1]@@$zero1]@ eD@A@A2:@@%abs_N2:@ @A@21@@%ldiff21@ ߵ@A@2=*@@%quot22=*@ @A@ABC2kF@N@(size_nat2kFE@{@A@3s&@ @*eq_nth_iff3s&@*@A@A3@@(tail_add3@^q@A@BDEFGH3@@(tail_mul3@^@A@5Z@i@*shiftl_nat5Z`@y/@A@5f}@o@*shiftr_nat5f}f@4@A@AB5a@@'iter_op5ay@ @A@C6w~@@'of_uint6w~ @^5@A@6W @5@)fold_left6W /@*Za@A@A8j@ @'of_uint8j@'"h@A@8V@@@.nth_order_last8V@/71@A@AB9E@@(div_eucl9Eđ @(*k@A@:El@L@/rev_append_tail:ElF@.G@A@A:x@@,Nsucc_double:x@ ʭ@A@BCD@#R@A@A=9R@L@.to_little_uint=9RˑC@#b@A@=Y@@+shiftin_nth=Yӑ@3뗦@A@A=@X@%ggcdn=͑O@$*@A@=U@^@%ldiff=UU@$'R@A@ABCD>@@&divmod>@C@A@>@@&double>@NĴ@A@>@@+shiftrepeat>@2Y@A@AB?2@@,pos_div_eucl?2@-u@A@?;@@&modulo?;@"i@A@ACEFGIL@%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'Bvector$Bool#Coq@0,rO3^~*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&DiscrR%Reals#Coq@0z41pV.#Env)micromega#Coq@0=rΜL杠@0s<#"#8r;%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%Field+setoid_ring#Coq@0J _ȫ)Field_tac+setoid_ring#Coq@0d vDZl^۹H40B~uYٮ٠#Fin'Vectors#Coq@0r'gް؅/׸-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")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ɠ&NArith#Coq@0S22b%&*NArithRing+setoid_ring#Coq@0_ .Ys!Р'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蠠'Ndigits&NArith#Coq@0&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ֱ&QArith#Coq@0H#oޞ6 78w0#-\D7* Q,"f\&Qfield&QArith#Coq@0td;X񦐳#@`&Qreals&QArith#Coq@0 |-=ʈ%*Qreduction&QArith#Coq@0nDk%}Y%Qring&QArith#Coq@0F%pw;}=O5}%Quote%quote#Coq@0J@ŹVz-,3%%RIneq%Reals#Coq@0JUڻIu)$w'Raxioms%Reals#Coq@0S]jnj][L%Rbase%Reals#Coq@0Jܡ\ c6{0(2{Ze$ќ8)RealField+setoid_ring#Coq@0 >ʾq $Refl)micromega#Coq@0h <0P/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@0332W}&Vector'Vectors#Coq@0_ċ|"Ʌhz)VectorDef'Vectors#Coq@0]i>3 ٠(VectorEq'Vectors#Coq@0#'`ԶlxjT*VectorSpec'Vectors#Coq@0GyK5%l6L"Wf$Init#Coq@0q+W,J+$Wf_Z&ZArith#Coq@0`&i|2 Q@@@@#_13@ h@A@@@@@@@@#_142M접#_15'`o@@@@#_16&Ű@A'R_scope+2 Q@@A@#_17@6 h@A@@@@(@#_182M접 #_19'`o@@@@#IQR9D{(@@eB2 Q@@A@#_20@ V)@A@@@@P@#_212M접 #_22'`o@A'R_scope@@2 Q@@A@#_23@@A@@@@u@#_242M접 #_25'`o@C'Q_scope@@[@2 Q@@A@#_26.@*[@A@@@@@#_272M접 #_28'`o@C.0@@14@2 Q@@A@#_29[@'c@A@@@@@#_302M접 #_31'`o@C[]@@ @2 Q@@A@#_32@ ~@A@@@@@#_332M접 #_34'`o@@@@u2 Q@@A@#_35@ ~@A@@@@@#_362M접 #_37'`o@@@@Y2 Q@@A@#_38@d5~f@A@@@@;@#_392M접 #_40'`o@A@@֠9D{(@@@:2 Q@@A@#_41@E /@A@@@@f@#_422M접 #_43'`o@@@@ǠN$@@B@̔V@ĠĠĠĠĠĠĠĠ@@@@@@#_44,@A B CDEFG!H%I@#_45'`o@0@@@@#_46'`o@8@A@@@#_47'`o@@@B@@@#_48'`o@H@CAR@)@#_49'`o@U@DA'Z_scope@-@#_50'`o@c@EB@@@i@@#_51'`o@t@FB@@@z@@#_52'`o@@GB@@@@@#_53'`o@@HA@@@@#_54'`o@@IA@@@@72 Q@@G@#_55@B<"%ࠠE@#_562M접 KK@A#_57'`o@K.function_scope@@   @@A@@AAAAAAA@#_58? 3V/_rect_from_typeCg2 Q@@N@#_59@qN-@#_602M접 KK@A#_61'`o@KM@@QSUWY[]@@A@@AAAAAAA@#_62? 3V._ind_from_typeB62 Q@@@#_63j@@Sy@#_642M접 KK@A#_65'`o@K@@@@A@@AAAAAAAb@#_66? 3V._rec_from_typejBe2 Q@@E@#_67(Š*@#_682M접 AA@A#_69'`o@A@@8@2 Q@@E@#_70A堠J@#_712M접 AA@A#_72'`o@A@@X@r2 Q@@A@#_73@}%j@A@@@@l@#_742M접 #_75'`o@A@@{@r2 Q@@@@#_77@} _#@#_782M접 AA@A#_79'`o@A'N_scope@n@K2 Q@@@@#_80=@V)sOfF@#_812M접 BB@A#_82'`o@B@@@8,@2 Q@@@@#_83b@-*k@#_842M접 AA@A#_85'`o@C@@Ӡ#&@2 Q@@@@#_86@#_872M접 BB@A#_88'`o@B@@@xs@V2 Q@@@@#_89$@#_902M접 BB@A#_91'`o@B@@@a@%2 Q@@@@#_92@0/ޠI@#_932M접 BB@A#_94'`o@B@@@Р@2 Q@@A@#_95@ H@A@@@@o@#_962M접 #_97'`o@B@@@蠐@2 Q@@@@#_98&@#_992M접 BB@A$_100'`o@B@@@@2 Q@@A@$_101E@ |0@A@@@@@$_1022M접 $_103'`o@B@@@B6@ޠ2 Q@@@@$_104M&@$_1052M접 @$_106'`o@@@@۠2 Q@@@@$_107_B@$_1082M접 BB@A$_109'`o@B*list_scope@@砐@2 Q@@A@$_111@s@A@@@@#@$_1122M접 $_113'`o@D)@@@@@2 Q@@@@$_115@; 0R@$_1162M접 AA@A$_117'`o@A@@@T2 Q@@@@$_118@_`eQs@$_1192M접 AA@A$_120'`o@A@@@12 Q@@@@$_121 @<'cr@$_1222M접 AA@A$_123'`o@A@@ @!2 Q@@@@$_124 A@,@$_1252M접 BA@A$_126'`o@B@@@-0@2 Q@@@@$_127b@$_1282M접 BAAA$_129'`o@B@@֠p@2 Q@@A@$_130 @@A@@@@@$_1312M접 $_132'`o@D@@@@堐@@@>e{&(_>Υ@cj$sN0F@A F`tmo@N6hPkS" 9m7nig$q>rJtR"xV#&"G{E|wuC~A`x5VOZ@#iffС)DCA7T Ak@#andЖw@A@HFJFT>kigeYzs$cb`Vs+`@` ^b^lV*RMicromega@$Rsrt h!n%RIneq@*Req_le_sym bttCvvϷ!mҷͩ~#@+Rle_antisym>`K~C"ⷐ!p&@)Rle_trans"1!_@ b@#notШ@ 0 u#H@&Rlt_le AC*Wn@%Falsee@3̩^@*Rlt_irreflnQCC."'@'and_ind14ۀI6*J"H1:Ws@*Rnot_le_lt.J8XꐩkCKGxHȐ!s@-total_order_T=ҖX&Specif)@%sumor$|@ @'sumbool7̂K@p\e@#Rgt=<BAAAA@@@@@D*"rZP@"or @". 2&.?+BAAAA@@@@@DH5k7qo;]Dm'A KsƩ-B S{5., ,Xε@1Rplus_le_compat_l?e\hdC֠i`·÷٠o@1Rmult_lt_0_compat=ɩµ@)R1_neq_R0iw۩@#IZR/r'BinNums'Numbers@!Z7@AB@(positive*@CCC/ܰD@)Rmult_1_r+1; @$Rinv8%P@&Rinv_1 ;9ۀ؛+QArith_base&QArith)@!Q4+@ ")Datatypes@$boolZ'@@(Qeq_bool=ʀ㜠A&Qreals!@'Qeq_eqR-署+@+Qeq_bool_eqaܐ 4 5K)) *BQ<@,Qeq_bool_neqi-dD@#Qeq4?G?i-@#Q2R>Z@@D@^^;@'eqR_Qeq;IqR&C@h>i]]l@(Qle_bool=u7TQ@'Qle_Rle@=y@/Qle_bool_imp_le0*@)Rmult_0_l+€ʐ@$Qden4A@V)CW֐@@@@@@@@D!b@'٩p@$Qinv4ƀl@@@@A ېy;ŰB@BB@@@@D!qٰ*+$Qnum'` cd@&eq_ind J&BinInt&ZArith,;@#mul1P])BinIntDefA@ ?&(Pީ@'mul_1_r5Jé0X2Z53?֐fi:mZspC*T됩{~T22s  @'Q2R_inv9T  sC@==~~?if_ G-RingMicromega@(SORaddon }[@Ahupkfa\Wdc@%Qplus5p1yh@%Qmult5om@&Qminus̀r@$Qopp4\_ )i@#nat@&BinNat&NArith!N@&to_nat`)BinNatDef @*9G(Rpow_def@#pow#׀@*ring_morphM @A` <72-Q@%IQR_0 ~π @%IQR_1 ~Ѐ@(Q2R_plusfaw@)Q2R_minus7Ӏ@(Q2R_multf3é@'Q2R_opp9ʷ˷2@(Qeq_true})RealField@.R_power_theory uA?@)Qeq_false*[D@(Qle_true'c!cO@$Rcst hz@U@(Rcst_indN,a@)Q_of_Rcst&2*Kg@)R_of_Rcst~ũQhC%&AnC0ǐ1Bנ<lC?֐+ACv+?Ns~P(RwکU= K C1[CD@[4Or[{  CFp #CIs _uD_"c1{$IHc1p"c2$IHc2vs"w5g(k#B~&4'Gy<O 1R<WCDE:8642dW:/+)mǩ &#"s!wCͩdF5ZӷXƷVշTȵRީw_OKI FCBACðِGU#IHc赩`ְ'm# ҠpW8T@+IQR_inv_ext5~fqfCH$  ""UG}C(*Iِ#env@&PolEnv)^!f@'Formula2@CACC@@@@@DϠA  @@@@@@"ffA#lhs'EnvRing@%PExpr K*@(!o@#Op2Rg@#rhs@)Reval_op2-**@*Reval_expr)sOf>7@.Reval_formula'*P^6$Flhs.#Fop$$Frhs4@#H*@*eval_pexpr0N0 zR0|P3@-eval_sformula=8<eqAT`]@ <$ eba?g0*$s]0,&uhN@@@@@@@@@@@@@@@@@@@@DWU@Mq !<82!Gwzw൷˩4-{C@ZfA:31<HB1,}٩C@htBHA?<VP?:PIC@vCVOM< d^MH8@&Rge_le 6/R@*eval_sexpr0TK0uo^0 wq`C@Dqjh<+&yhȩc+)C@E~wu< 83uթpʵ6C@F<, E@(}*o@<3 LG/1ީ09% 5n 0;'"7p൷8@?8C@<C/*% \W?&Ao˰qCP C@<N:50+&gbJ1"LlְnNnUC@<XD?:50qlT;,Vhj@&Rle_ge @ HC@<gSNID?{cJ;e\^gnC@<q]XSNImTEoY[qqx!C@<|hc^YTx_Pz*W&YC-Z2\0C`C @-Reval_formulaJu> ?db!d&@(NFormula.F~-@1eval_nformula_dec$ <<@$Rsor hDWV!l@$list]@ "cm@(RWitness"5@,RWeakChecker$yvY@0checker_nf_sound &4t,%VQLGMkB<+@)QSORaddon /zC$Refl@)make_implubI/@.Qeval_nformula€Ӑ%Tauto@(BFormulaf@!wH?"TCٰ٩@-tauto_checker&E(jpU@&runsat'cZ@'rdeduce_@*Rnormalise; d@'Rnegate`eaX1@,map_bformula8|΀@+map_Formula)0A@3tauto_checker_sound'RLT,@.QReval_formula/V@2Reval_nformula_dec |05!tР@$prodt@BBB@@@@Dm@$PolC޼@#Op1Rf@@99Y+1/@P@8check_inconsistent_soundlqgb]XSNIV=a@>nformula_plus_nformula_correct,ddyoje`[VQ^ECFD:ඐ"t'㶐!u@@@^_@&option >v@թ AA7}"@5cnf_normalise_correct:]%$env0j`@(eval_cnf$sR٩5@2cnf_negate_correct8sp2-(#})G]ZYq"w0@2RWeakChecker_soundse~]ife@&eval_f?: ǩj R!Prxx@*eval_f_map׀%lemma_',]w)Morphisms@4iff_impl_subrelation59Ġ&0>o3@,eval_f_morphf2[ !aʵd< '"{ud A4򩚠,@>trans_sym_co_inv_impl_morphism'\|,@/Equivalence_PER/;2@/iff_equivalenceZ< -     FA)֠z@4Reval_formula_compatH@, @"4.5$㩚@,eval_formulaSe< B . ) $  [V'm@.eval_formulaSC @|L I 5 0 + & !b].E2,HF L0 M % O Q5=@*Q_of_RcstR%jCԠrC C@ 22@-RTautoChecker5؀ )/-& z4h40 UO