"`$W)SetoidDec'Classes#Coq@8)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@$Init'Classes#Coq@/RelationClasses'Classes#Coq@)Morphisms'Classes#Coq@+SetoidClass'Classes#Coq@L)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ֱ'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$Mult%Arith#Coq@0햖Qyb0'Between%Arith#Coq@06v*0ur`C0)Eqdep_dec%Logic#Coq@0u wWIϰ߼)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#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^~&Syntax'Program#Coq@0B"f64'Program#Coq@0eJOPp0lCݢr3 ޏ7'BinNums'Numbers#Coq@0dmk(5Ju<)BinPosDef&PArith#Coq@0}H d.%,b&BinPos&PArith#Coq@0vyػ0= u)BinNatDef&NArith#Coq@03@1O,[{ &BinNat&NArith#Coq@0K11ڤs+Π$Pnat&PArith#Coq@0,?pr.gZ$Nnat&NArith#Coq@0$W;s #%M+Ring_theory+setoid_ring#Coq@0S.JvfI咠%Quote%quote#Coq@0J@ŹVz-,3%'BinList+setoid_ring#Coq@0Au'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#9'>9'' +k7%'5AABAAA@Ő@@@@@*nequiv_dec @ ̠L@@"S0Cxru_@f4lgpk*@M_ q@ @ؐb'Classes#Coq@@ qg1onm@@Z; ? +k() 7 7!7    77&'?|pQ̠&@@ @d@A@A@fA݋X_A/RelationClasses'Classes#Coq@@pA@rAN@ABC@@*equiv_decb @O@@~ ZBϰ@@@@@A!sd)Datatypese@$boolZ'@@ A@B@.)@_詚#"C!D)Datatypes$Init#Coq@@$boolZ'@ +k() 7= R'>G'>H''+k6'|KAAhCĀ@@@[@A@A@]A@_A@AB@@+nequiv_decb @qFRo@@j*w_Y\F`@$negb @YQ@@wBy}|C{DZ `+k() 77$'"|,L@@F@:@A@A@A@@A@ABC@@M)eq_setoid @ĠT@@A@"eq @@.eq_equivalence()'@ؔ@@@A @+k7 7 :'#hX@@@5@A@A@7A@9A@;A1DH%Logic$Init#Coq@@ABC@@AA@@"s @,Ring_polynom+setoid_ring#Coq@@&PEeval"s @@A@AA@,nat_eq_eqdec @(PeanoNat%Arith#Nat@&eq_dec>U;@t@#nat@?@~ D퀐 @@@@@8*bool_eqdec @$BoolA@(bool_dec4i@"@@@@@X7unit_eqdec_obligation_1 @@t@I#@$unitUe@M@ BZ^@@@@@v*unit_eqdec @gg@$unitUe@j2] @ D퀐vzg z~~{$@A_:##@퀠>2B @+k() 7!9'h@@@@@7prod_eqdec_obligation_1 @BV@@X@@@$prodt@U"x1"x2%Heq_xFGAL"y1G"y2%Heq_y((IHJoݷ"H07BBB@@@@D!pCLK$JJM6 9QQN= %,? 9B.!a!b<b K-&gO[mmPY -,#ttQ` -4b JQ/"a0"b0sn48@(eq_ind_r!2#]SR/I/CT  2NW^24Wy6UY%i eo"KUjq!ls°00/~,@B@@@@@Dx1@а@ӰӠVڰڠW pvɐ\GBGQ@'f_equal=5O!e8 8=Y[ΩƩ*(+Ʒ&X'(1L03Ȑ"H1 1ǩʷ@ΩZYȐ"H2 շ $$[ ߷ /   66\"$ԩ??] + 5G2021243(N*7*99,; 82XA" K]]^I!K#ff_ R Hn833_q2/Z2; '!@y*@||`,h ao 9/u/M,Z+2,ZSE<:H.1:*0J<2h#!$habTK I!S*@ )U, 4\(& V@dchn 6!c° ex@+mͰ   ӰӠfɩ۰&&%?('%AX ө#鰩預gߩ/""A# &!@ fChh@dJEENݐ@Ӕ@@©@$prodt@Ͷȩ ζ%Logic$Init#Coq@@"eq @"#i&A(nӶ"! #4! 8A&%:̩$)D&. 1L Q#"X*)6-,GS'0/ +k()  )= Re '>  + '$ '   )= R'>   + '$'     + +t7#'   + +7#'G  = R' + '$'::+O7!7 ::+P7!7   + L+27# '= R '>''+k'= R '>''+k' *   +$+c7+7#'() ++7# '()G = R'+'$'::+I7!7 ::+J7!7 +L+7# '= R '>''+k'= R '>''+k'  ++_7+7#' ++ 7#'G'+: :7!7"T'::7!7&'+: :7!7"T'::7!7&': :7!7&' + 7"T'::7!7&'+k()+: 7!7"T'::7!7&'+: :7!7"T'+::7!7"T'::7!7&' +: :7!7"T'+::7!7"T'::7!7&': :7!7&' + 7"T'::7!7&'+k()+: 7!7"T'::7!7&' +: :7!7"T'::7!7&' +: :7!7"T'::7!7&'+k+ :7!7"T'::7!7&'  + k+ :7!7"T'::7!7&'@@@J@LABAB 4 LR@RL(  @  P x\dl,8` `  d   \  tphpx8Dl ,l   p $  h @@B@@A@@@A@AB@A}@AA@A ϲ6W)Datatypes$Init#Coq@@ABA@A@AA1FdJ@A1GK@ABCA@A*@AA вuX@A@ABA@A@A@A@ABCDE@@7prod_eqdec_obligation_2 @cַܷϷmnȷY}۩ɩʩ@%Falsee@Ő֩ߩɷ fy©{ ~ͷ zz|öeeb/" ѩ ӷ)gv@1^^y@6\YF琷:# WlRmhfhiAGȐ"H3Lwr߷s_$uEvCUU?W@AY BC[10'@_G oWb>K>M M@OvWiikTmVoDP;@sskva_a`&W@~HgHZ1@D0lDM@e%ret8?XhYWPRPB9R7SE}^p-CGrE][^e^B7PGBECOcl!Qe7XJ3"CRD@G ib*5W6ĩ-$8"979o;+Jðà #%t'@ͰvvݷаMMT>OV^eװ7T;9V!=@߰=%%X *+##0 %2 ک*,6ͩ>>= 66C@\v6*@-@h .;;L"+*>&+ܷǐ0F?F̩HH94$i jِة&B%ک/( /2  @8!H kN  @ElV7IInm68a@U//eFXXC$E&RddoP R  {\n%'\#HS#1#$@u'`8Z&"a&ONa*y*+@|X.J-41@3[6fR@Q~{:x<@;}=A+-sЩgPT8ed_c.Pbc[mngi r ,+k()  += R'>  + '$'   += RB'>      +'$'      + +7# '()G %= R|'   + '$': :+J7!7  -     + =+7 +7#'= R '>''+k'()G != R[' + '$'::+P7!7 ::+Q7!7    + K+7# '= R '>''+k'= R '>''+k' -    +"+7 +Y7#'() ++7# '()G = Rj'+'$'::+J7!7 ::+K7!7 + K+7# '= R '>''+k'= R '>''+k' " ++P7 +~7#'() ++7# 'G$'+: :7!7"T'6' + +' 7"TT'+::7!7"T'6'6'6'+ 7"T'6'+k()+: 7!7"T'6' +: :7!7"T'+::7!7"T'6' +: :7!7"T'+::7!7"T'+ +7"TT'6'6'6'+ 7"T'6'+k()+: 7!7"T'6' +: :7!7"T'+ +&7"TT'+::7!7"T'6'6'6'+k()+: 7!7"T'6' +: :7!7"T'+::7!7"T'6'+k+ :7!7"T'6'  +k+ :7!7"T'6' !h@K PL $t8hXH(XH8hjAB ` dn@SLl,  l D   ,`h 4 $PpPxD ( P| \ , P@@@A`@AAT@AR@ABAK@A@A[@AY@ABCD@@ؠ7prod_eqdec_obligation_3 @("E'' ֩ AթѶ)I퐷ҷӷ-5y@C,@HX)AL@52id   Y>up&  L g  #@"|%(Ȑ"H4 !&$ hfx#abz +cd|KRHjhji . rmo^]T6tuvw$z{q~q Hf@c Hg__h I-Z@  st,,v Xn@SSq c@O bLLzw_{`~YW pgYeZ s6 sİNb`cOF |sOqP {hqg }Ұj> հW7NR~S@۰V!  V= >Y @ Aԩ110  ũ))6 +8/<R>TXbөDDCFE!v$;<ݩ00A 2C !!7  @     Q&&C@@/*V @   Ӷ@%% ԩ9 ֐-((D *F1)L-G 萷 #5%$ >7&7ZU E     3%& % N'(2 Q@Wg;  lPbK MvWi R  T"!   @tp & &fxxqd  *f @t"q$  8 c ?  ;c  ? ? @@bb Cq[6 F Bdo Bko F~ F G@Y H= G+ K G{N K K L@QQ O@ l 2 U W [ V X \ F H 멜  k o S z ~ I  n  Ǡ z͠|Ӡש  +k()  )= R  '>  + '$ '   '= R'>  + '$'G (= Rg'     +'$'::+V7!7 ::+W7!7      +K+7# '= R '>''+k'= R '>''+k' 2     + "+"7 +S7#'()    + +7# '()G != RZ' + '$'::+P7!7 ::+Q7!7    + K+7# '= R '>''+k'= R '>''+k' ,    + "+(7 +Y7#'() ++7# '()G = Ri'+'$'::+J7!7 ::+K7!7 + K+7# '= R '>''+k'= R '>''+k' " ++m7 +~7#' ++7# '()G $' + +& 7"TT'+::7!7"T'6'6'+: :7!7"T'6'6'+ 7"T'6'+k()+: 7!7"T'6' +: :7!7"T'+::7!7"T'+ +7"TT'6'6' +: :7!7"T'+::7!7"T'6'6'+ 7"T'6'+k()+: 7!7"T'6' +: :7!7"T'+ +&7"TT'+::7!7"T'6'6' +: :7!7"T'+::7!7"T'6'6'+ 7"T'6'+k()+: 7!7"T'6'+k+ :7!7"T'6'  + k+ :7!7"T'6' 4{@K Р PlX @0td}AB   t @RL0p L P  ࠒ#  \00 TH0l$@  P$$TT@<(x0L@@@%As@A&A@(Ai@AB)Af@%Aa@A&A@(Ap@*An@ABCD@@*prod_eqdec @ =&EqDec0  q  =&EqDec1 :   = o Ȑ0program_branch_09-7 t5GG32 5    0#-#+QQ )<+  ?   l G  e K  v e!R%LUT!'   u     .-] @ / *  57g & 9 ;k *  4BĐr8F`lt:H  "   +   Mb} <@   cjh )ej Lc Ia з\xxU Lq- @_0Yg{  A U Y ]8Zahg|  B V Z ^@1 '-# | B~ e| bz un 9eB @`@h >dZ ׷ Yҷ | y  Px )@a,  p   4  q     }"        B@@@@B"y'жة     !  4շݩ  V ; =ɩ # Q       -"x'! S &   ;    2   Ր$"(? @ * N 멚Ԁ ﶐ 1  Z   b:  鐩@   P+k()G = R'>   +'$'G#= Rc'>+ '$' 7 7= dR'> 7 7= 'R`'> 7 9'> 7 9''> 7 9''+k$::7!7 7!7!7!7 ::7!7 7!77%'+k$::7!7 7!7!7!7 ::7!7 7!77%'+k+ 7!7"T' :7!7 7!7!7!7 :7!7 7!77%'+k + 7!7"T'7!7 7!7!7!7 7!7 7!77%'0     ,HDP@PH - AP8uX  L\<8dD$  <T hp Xܠ( ($0@@@@@ O bool_function_eqdec_obligation_2 @ [>Z Y@@!f@ J H!g@ N H  < K Q I Wr  > E @' V N \ @ b H \, @ e K 3  @ з < ð Y @ Ȱ ٩ {ڠ  ~ v z@ >@;@ ] <@  W y   @        E   @#㩚 @(詚 @.  +k() +++D7T7#'()G $' +L L 7"T'+ +M M 7"TT'6'6''hXx l <@@>@@A@A@A :@A +@A @ABC@@ ꠠ bool_function_eqdec_obligation_3 @   7 ک ͠  6@  g    @ > ({NN @ B r S T 1   @ z@w @{  ͩ [         h@  @ l@     +k() +++.7T7# 'G $'+ +L L 7"TT'6'6''p -d ܀@@@A W@A@@ O bool_function_eqdec_obligation_1 @@ kA [ö@ C@ C  8 HJ K P H V J r D @V C X P ^ R N@ @  Q e@@@,A#,5R8FunctionalExtensionality%Logic#Coq@@6A @AB@@ 3bool_function_eqdec @ B=7:@  l    w r2:8  t6<:  }1 3   5 7    @ HF@     # 0 %IG  '  )MK  H :J   L N   - 5 YW@ z  zڷuor8 4  d@5       G    ȷ@#  I E , u@6@J HD X R @7 e    Z@h Q  ׀ 򩚠 Y@q I@v +k()G L 7 7= WR'>H M 7 7= RD'>    79'>    79''> 79'' +k"+<7T7 +57T7!+.7T7 +!7T7 +7T77%'''''' +k"+<7T7 +57T7!+.7T7 +!7T7 +7T77%''''''( |X $):NT  AI (\` 4 u( hlH@@@@@ <@@@ ӳ2@ ӳ2[@A@A Գq@ Գq\@A@V @AB W@  _@A @F @AB Z@B@@>k@ABCDE@cA N M L@A.0TQ+Ring_theory+setoid_ring#Coq@@ABA.U>[J @ @A u@BC z@ r@A p@ @A @ @ABCD @ @A ~@B |@ }@A @B CD@@A@B@@ACE@@@ABC@@@@ABC@@@ABDEFG@&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ѓ7@y@A@A@E@&to_intϑ<@@A@z@6@&doublez-@/!@A@AB@i@(nth_map2*VectorSpec'Vectors#Coq@@ 8"@A@@v@*fold_left2p@6U@A@"W@|@*fold_right"Wv@6N@A@ABCD/@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@G@J@)mask_rectGA@+ED@A@F˱@P@)add_carryF˱G@+p@A@ABCK5@@*Forall_indK5@9M@A@X@@/shiftrepeat_nthX@;\@A@A^Ҷ@@'to_uint^Ҷ@#m@A@gL7@@'sqrtremgL7@40@A@q@@'testbitq@5)@A@ABCD@@-replace_order@:k@A@2s@@,shiftin_last2s@=Nn@A@AxYe@#@!txYe@;z@A@BEx^@(@"Inx^ʑ"@;z!@A@xa @1@"hdxa +@;zd@A@Axa@6@"tlxa0@;zP@A@Bx#@;@#eqbx#(VectorEq'Vectors#Coq@@ /@A@x[@I@#etax[@> .@A@AxI@N@#mapxIH@;{&@A@BCx@S@#nthxM@;{)j@A@y@Z@#revyT@;{-@A@AG8@_@$castG8$@/Y@A@BDFG8[@d@$last8[^@;d@A@R@p@$map2Rj@;@A@A @u@$take o@;:c@A@ݎO@M@+succ_doubleݎOD@6r@A@ABHI@@%case0HIz@@A@ @x@$even o@>4@A@A @}@$ggcd Бt@>U@A@ @@$iter z@>:@A@ABD 3"@@$land 3"@>m@A@ F)@@$log2 F)@>t@A@A S@@$lxor S@>@A@ @@$pred @?U@A@AB @@$size ܑ@?'@A@ !@@$sqrt !@?@A@A ! @@$succ ! @?\@A@ !7@@$zero !7@@P@A@ *@@%ldiff *@@A@ABCD O@s@,take_prf_irr O @*@A@ g_@@+pred_double g_@25\@A@A q@@(take_app q@lm@A@ m@@÷ m@2j@A@A @@+Exists2_ind Ñ@ @A@BCEFG k@@'nth_map k'@wF@A@S@@&of_intS㫑@4}5@A@AS@@&of_natS@4};@A@\R@@(mask_ind\R@4@A@\^@@(mask_rec\^@4@A@ABCũ@@*Exists_indũ@@A@Ǜ@@'of_listǛ@@A@A!,@@&pred_N!, @4s)@A@@@&shiftl@5X@A@ABD@!@&shiftr@5X@A@&@*@&square&ّ!@5,x@A@A"@/@&to_int"&@5L@A@"@5@&to_nat",@5L @A@ABnTq@:@+testbit_natnTq1@6n@A@B@1@(succ_posB(@@A@I@@'abs_natI@?n@A@AB.@<@'of_uint.3@MS@A@3~@R@'sqrtrem3~I@7]%{@A@ACD,@@'bitwise,@/v@A@>4'@_@'testbit>4'V@8g$@A@Ad;@ @*rev_appendd;@fh:@A@{U@j@,sqrtrem_step{Ua@8R@A@u^@`@(div_euclu^W@ @A@ABCu@@&Existsu@@A@UA@ @&ForallUA@@A@#N@&@&In_ind#N @%@A@fz@@'to_uintfz~@9w@A@ABCDEFHIl@@'comparel@3R@A@A@;@&appendA5@ m@A@AL9@@@&caseS'L9:@ x@A@W@G@'replaceWݑA@ 4@A@AK@L@&eq_decK@?w@A@K~@R@&eqb_eqK~@?w@A@MĚ@X@)nth_orderMĚR@ O@A@ABCDs8@D@+of_uint_accs8;@5+@A@@f@3to_list_of_list_opp@<@A@A}@@,pos_div_eucl}@&`@A@3x@D@'compare3x;@]=@A@A`<@w@&t_rect`<q@ b@A@BCc`@|@&take_Oc`@3@A@@@&double@'޺_@A@A(@@'shiftin(@*I@A@q@@+of_succ_natq@$@A@Aw@@&modulowɑ@)1@A@K@@&of_intK@)j,I@A@K@@&of_natK@)j2_@A@ABCDEH@@'Exists2H@uF@A@I@@&shiftlI@*O@A@AO@@&shiftrO@*O@A@,@@&square,@*ow@A@AZ@ @&to_intZ@*81@A@`@@&to_nat`@*9G@A@A@@'Forall2@?j@A@e@@+testbit_nateđ@+@A@ABCD'@@+Forall2_ind'@ ~@A@"@@'to_list"ӑ@O*@A@+{@-@'sqrtrem+{ё$@,J@A@AB@@0shiftrepeat_last~@@A@5z@9@'testbit5z0@-T|@A@A @>@'to_uint ͑5@.@A@ @E@+succ_double <@.^4@A@A!lK@@)const_nth!lK@@A@BCDEFG!K@@+fold_right2!K@x @A@#@h@'compare#ݑ_@ )Q@A@A$@@8fold_left_right_assoc_eq$@3@A@%t2@t@(size_nat%t2k@ @A@A%9@y@+of_uint_acc%9p@ ΋@A@%V@@+double_mask%Vv@ S@A@%%@@'div2_up%%|@ "@A@ABCD%R@/@)take_idem%R@-W@A@'ş@@'Ndouble'ş@ @A@A(K|@;@*eqb_nat_eq(K|@w@A@BE(b0@@*shiftl_nat(b0@9-@A@(nՖ@@*shiftr_nat(nՖ@'@A@(@@0succ_double_mask(@@A@*W$@@,compare_cont*W$@!@A@ABC*@Y@(cons_inj*@!@A@*A@_@(shiftout*AY@@A@.0@@.sub_mask_carry.0@΂@A@ABD.@Q@!t.H@ ;@A@.먩@X@#add.먩O@ `@A@A.U@]@#div.UT@ @A@.B@d@#eqb.B[@ @A@A. @i@#gcd. `@ @A@.=@o@#leb.=f@ @A@ABCEFH. @t@#lor. k@ @A@.Z@@#ltb.Zx@ @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@CD/@@%ldiff/@ H@A@00@`@'compare00W@?H{@A@A1P%@@!t1P%@  @A@1P@@#abs1P@ @A@AB1P&@@#add1P&@ @A@1P@@#div1Pґ@ y@A@ACEF1P@@#eqb1P@ f@A@1P@ @#gcd1P@ 0@A@A1P@@#geb1P @ T@A@1P@@#gtb1Pʑ@ q@A@AB1Pĺ@@#leb1Pĺ@ a@A@1Pň@#@#lor1Pň@ /@A@AC1P@(@#ltb1Pב@ ~@A@1P@0@#max1P'@ @A@A1P{@5@#min1P{,@ "@A@1P]@;@#mul1P]2@ @A@AB1P@@@#odd1P7@ @A@1Pɣ@F@#one1Pɣ=@ J@A@ACD1P@K@#opp1PԑB@ {@A@1P1@S@#pow1P1J@ @A@A1P;@X@#rem1P;O@ @A@1P@^@#sgn1PˑU@ r@A@AB1P@c@#sub1PɑZ@ p@A@1Pe@i@#two1Pe`@  @A@ACE1[8@n@$div21[8ޑe@ @A@1[d@x@$even1[do@ I@A@A1[6@}@$ggcd1[6t@ i@A@1[U@@$iter1[Uz@ @A@AB1\@@$land1\@ /@A@1\@@$log21\@ 6@A@AC1\$@@$lxor1\$@ @A@1\Y@@$of_N1\YÑ@ >j@A@A1\@@$pred1\@ j@A@1\@@$quot1\֑@ }@A@AB1\@@$sqrt1\@ @A@1\w@@$succ1\w@ @A@AC1\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@3@@(tail_add3@^q@A@ABDEF3@@(tail_mul3@^@A@5Z@g@*shiftl_nat5Z^@y/@A@5f}@m@*shiftr_nat5f}d@4@A@AB5a@@'iter_op5ay@ @A@C6w~@@'of_uint6w~ @^5@A@6W @3@)fold_left6W -@*Za@A@8j@ @'of_uint8j@'"h@A@AB8V@>@.nth_order_last8V@/71@A@9E@@(div_eucl9Eđ@(*k@A@A:El@J@/rev_append_tail:ElD@.G@A@:x@@,Nsucc_double:x@ ʭ@A@ABCDGHI@@&divmod>@C@A@>@@&double>@NĴ@A@A>@@+shiftrepeat>@2Y@A@?2@@,pos_div_eucl?2@-u@A@A?;@@&modulo?;@"i@A@BCFGJKL@L%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+Combinators'Program#Coq@0 = <@0*ij?yŠ-GenericMinMax*Structures#Coq@0måj$"Gt%Arith#Coq@0䙛#c:D $Init'Classes#Coq@0](p{yOh.+InitialRing+setoid_ring#Coq@0k/T=cN$JMeq%Logic#Coq@01iYx^%R~Cmw"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܏%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ֱ'Program#Coq@0eJOPp0ProofIrrelevance%Logic#Coq@0Fk=)IToz 5ProofIrrelevanceFacts%Logic#Coq@0k=hV57NK?}$%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@00lCݢr3 ޏ7-SetoidTactics'Classes#Coq@0S_`nOU$0;RWMi\N&Subset'Program#Coq@0ӗ-,%3 ٠(VectorEq'Vectors#Coq@0#'`ԶlxjT*VectorSpec'Vectors#Coq@0GyK5%l6L"Wf$Init#Coq@0q+W,J+"Wf'Program#Coq@0FKĦ^a&Wf_nat%Arith#Coq@0UJX AJhO$ZAdd(Abstract'Integer'Numbers#Coq@0Y9Vgⲫ򐠠)ZAddOrder(Abstract'Integer'Numbers#Coq@0w:}H#NK}{*ZArith_dec&ZArith#Coq@0mZ# O7'ZAxioms(Abstract'Integer'Numbers#Coq@0\}zK=PK%ZBase(Abstract'Integer'Numbers#Coq@0 TL}2_} ؠ%ZBits(Abstract'Integer'Numbers#Coq@0ܹCF5s)ZDivFloor(Abstract'Integer'Numbers#Coq@0dj_TYQc|)ZDivTrunc(Abstract'Integer'Numbers#Coq@0`]f5FԠ$ZGcd(Abstract'Integer'Numbers#Coq@0G0=$ZLcm(Abstract'Integer'Numbers#Coq@0(9g%MmN]#ZLt(Abstract'Integer'Numbers#Coq@0xK|j2[&=}۠'ZMaxMin(Abstract'Integer'Numbers#Coq@0bAX1$ZMul(Abstract'Integer'Numbers#Coq@0Mtr\b"H)ZMulOrder(Abstract'Integer'Numbers#Coq@0Dr~-~ECM'ZParity(Abstract'Integer'Numbers#Coq@0S)*Dd$ZPow(Abstract'Integer'Numbers#Coq@0AşsאI+ZProperties(Abstract'Integer'Numbers#Coq@0Ve*ʞ_OV'ZSgnAbs(Abstract'Integer'Numbers#Coq@02`ou{Z%Zbool&ZArith#Coq@0FJpsq2 Q@@@@#_10A@@@@@@|B@A@@@@#_112M접@#_12'`o@ B*type_scope@@@W@,2 Q@@.@#_13@62C>/@B@AC@A@@@@@@#_142M접CC@@#_15'`o@#E6@@@@@@N@@@#_16WgB@@AA@@@@#_17KxE@@AA@AA@AA@@@@@#_18X@3typeclass_instances@@#_19/@43@@ؠ@BC@@@@@2 Q@@@#_20A@@@@@#@5B@A@@@@#_212M접2#_22'`o@8B@@@@W2 Q@@@#_23d@aM_-@aB@A[C@A@@@@@@#_242M접CC@@#_25'`o@#E@@@@@@F{@@@#_26eB@@AA@@@@#_27KvE@@AA@AA @AA@@@@@#_28X@@@#_29/2@@@նBC@@@@@#_30@FF@F@@F@@FA@&_ == _@F @@ݠ"==@@@@@A@@# ==@A@@B@@@@@#_31%c?@@@@@@@@@ˠA(A@@ B!A@@CA@@@@@@@@MM@( x == y  2 Q@@@@#_32T@4@QC@A@A@@@@#_332M접CC@A#_34'`o@ Cڠܠ@@@@\@#_353NC@@AAJ@AA@@@@ 2 Q@@@@#_39@vi@B@AC@A@@@@@@#_402M접ECBA#_41'`o@#E)@@@@@@@@@#_42:E@@AAJ@AA@AA@@@@@#_43@FF@F@@F@@FA@'_ =/= _@F @@砐#=/=@@@ @A@@$ =/=@A@@B@@@@@#_44%c?@@@@@@@@@A1A@@ BA@@CA@@" @@@@JT@'x =/= yF2 Q@@@@#_45[@QYQ$@XB@AϑC@A@@@@@@#_462M접ECBA#_47'`o@#E@@@@@@=ˠ@@@#_48:\E@@AA@AAI@AA@@@@@32 Q@@@@#_49@>@z|@B@A'C@A@@@@@@#_502M접ECBA#_51'`o@#E<@@@@@@#@@@#_52:E@@AA]@AA@AA@@@@@#_53@FF@F@@F@@FA@'_ ==b _@F @@#==b@@@@A@@$ ==b@A@@B@@@@@#_54%c?@@@@@@@@@𠳰ADA@@ BA@@CA@@53@@@@Jg@'x ==b y#_55@FF@F@@F@@FA@'_ <>b _@F @@]#<>ba@@@@A@@$ <>b@A@@B@@@@@#_56%c?@@}@@@}@@@@AA@@ BA@@CbA@@@@@@J@'x <>b y2 Q@@J@#_58@@@@@#_592M접@#_60'`o@AI@@@#_6146@РJ@@à#_62X@撠@J@(META1095@@@@)@@ @:Coq.Classes.SetoidDec#<>#7 V@2 Q@@I@#_63 @E⠠@@@@@@#_642M접AA@A#_65'`o@@@@#_6646@@@@#_67X@-(@@@@ @@PC*P [@:Coq.Classes.SetoidDec#<>#8 W@2 Q@@@#_69 h@  1@@@@@@#_702M접BAAA#_71'`o@@@@#_7246@O@#_73X@{v@@H@^Q@ @@BR @:Coq.Classes.SetoidDec#<>#9 X@D2 Q@@DA#_76 @O_:A@@@@@@@@@@@#_772M접#_78'`o@B@@@ad@Q2 Q@@J@#_81 @\*+@@@@@@#_822M접@#_83'`o@@@@#_84EB@@@@@@#_8546@n֐@+#_86X@@@@吐@ @@%O%!0@;Coq.Classes.SetoidDec#<>#12.V@s2 Q@@A#_89!=@}_@!:C@A @A!*G@A!,J@A} @A@A@u@Av@A@@@@@@#_902M접#23.j@2 Q@@A#_94!@"` @!C@A @A!G@A!J@A @A@A@@A@A@@@@@@@#_952M접=MD@A#_96'`o@DLnp@@@@@@@@@@@@@03@@%@@*!𠐑!_@#_97X@6vD@@@@6|"?@;Coq.Classes.SetoidDec#<>#51.̡@Z2 Q@@A#_98"L@da@"IC@A!@A"9G@A";J@A @A@A@@A@A@@@@@@#_992M접#60.̳@Ƞ2 Q@@J@$_104"@&'&d@"͢BE@A@!D@A@@@@@@$_1052M접FE@A$_106'`o@%D[@^@@@!?@!D@$_107<SF@#@AA@!@AA@@@@@@$_10846@@U$_109X@"B@K@(META1679(META1681 \@.@@KOK#V@;Coq.Classes.SetoidDec#<>#61.̴@2 Q@@A$_113#c@6@#`B@AD@A@A@@@@@@$_1142M접!FFBA$_115'`o@(E.function_scope@@@@AA#`"@$_116X@GD@@@@M#@#104:Ӥ@2 Q@@A$_117#@7@#B@A]D@A_@A@@@@@$_1182M접 EEAA$_119'`o@'DIXZ@@@AA#"@$_120X@UAD@@@@G$@#111:Ӵ@2 Q@@YA$_122$@5A@@@@@@$ B@AD@A@A@@@@@$_1232M접!#$_124'`o@)E@@@@AA$ $@2 Q@@J@$_127$W@8vH@$TBC@A@@@@@@$_1282M접DBBA$_129'`o@B۠@@@"@$_130-sD@$@AA@@@@@@$_13146@a@A$_132X@#A@@"[@(META1942!t@"h@ '@@l$@#120:@@@JlxbU[w2U@2'\-2~@E;WPyExl2@qCw^6m:4̈́Ҡ!x)Datatypes$Init#Coq@@$unitUe@!y@@@@@D!u%Logic@"eq @$AB)+,A  A4 !A>Z)SetoidDec'Classes9@@!f@G@$boolZ'@(!g@ C!H+SetoidClass@%equivZ&@)eq_setoid D퀐C#AI"H0D%1BV8FunctionalExtensionalitycz@9functional_extensionality%;?E6AA@@@@@@@@D!bJxGFstHtRVIrg}T