From f8b7c1883ca61a9aab1c92ad9f83ea9867068c51 Mon Sep 17 00:00:00 2001 From: Michael Clarkson Date: Thu, 16 Jan 2025 10:24:22 -0500 Subject: [PATCH] Update textbook --- _sources/chapters/preface/install.md | 10 +++++----- _sources/cover.md | 2 +- chapters/preface/install.html | 8 ++++---- cover.html | 2 +- ocaml_programming.pdf | Bin 2028937 -> 2028949 bytes searchindex.js | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/_sources/chapters/preface/install.md b/_sources/chapters/preface/install.md index aa7d9d10..ae96c13b 100644 --- a/_sources/chapters/preface/install.md +++ b/_sources/chapters/preface/install.md @@ -274,7 +274,7 @@ and set of packages. You can have many switches and, well, switch between them this command: ```console -opam switch create cs3110-2024fa ocaml-base-compiler.5.2.0 +opam switch create cs3110-2025sp ocaml-base-compiler.5.2.0 ``` ```{tip} @@ -302,7 +302,7 @@ You should get output like this: ``` # switch compiler -→ cs3110-2024fa ocaml-base-compiler.5.2.0,ocaml-options-vanilla.1 +→ cs3110-2025sp ocaml-base-compiler.5.2.0,ocaml-options-vanilla.1 ``` There might be other lines if you happen to have done OCaml development before. There will be another column named "description" whose contents are not shown here. Double check the following: @@ -388,9 +388,9 @@ issues: `opam init` command. To fix it, follow the "redo" instructions below. - **Is your switch listed?** Run `opam switch list` and make sure a switch named - `cs3110-2024fa` is listed, that it has the 5.2.0 compiler, and that it is the + `cs3110-2025sp` is listed, that it has the 5.2.0 compiler, and that it is the active switch (which is indicated with an arrow beside it). If that switch is - present but not active, run `opam switch cs3110-2024fa` then see whether utop + present but not active, run `opam switch cs3110-2025sp` then see whether utop works. If that switch is not present, follow the "redo" instructions below. **Redo Instructions:** Remove the OPAM directory by running `rm -r ~/.opam`. @@ -557,4 +557,4 @@ If you are a Cornell student, log in with your Microsoft account, not GitHub. Enter your Cornell NetID email, e.g., `your_netid@cornell.edu`. That will take you to Cornell's login site. Use the password associated with your NetID. -[liveshare]: https://learn.microsoft.com/en-us/visualstudio/liveshare/ \ No newline at end of file +[liveshare]: https://learn.microsoft.com/en-us/visualstudio/liveshare/ diff --git a/_sources/cover.md b/_sources/cover.md index 1be415ff..85446e4b 100644 --- a/_sources/cover.md +++ b/_sources/cover.md @@ -5,7 +5,7 @@ emphasis on semantics and software engineering. This book is the textbook for CS 3110 Data Structures and Functional Programming at Cornell University. A past title of this book was "Functional Programming in OCaml". -**Fall 2024 Edition.** +**Spring 2025 Edition.** **Videos.** There are over 200 YouTube videos embedded in this book. They can be watched independently of reading the book. Start with diff --git a/chapters/preface/install.html b/chapters/preface/install.html index f13e0d70..39b6b325 100644 --- a/chapters/preface/install.html +++ b/chapters/preface/install.html @@ -764,7 +764,7 @@

Create an OPAM Switch -
opam switch create cs3110-2024fa ocaml-base-compiler.5.2.0
+
opam switch create cs3110-2025sp ocaml-base-compiler.5.2.0
 
@@ -786,7 +786,7 @@

Create an OPAM Switch

You should get output like this:

#  switch         compiler
-→  cs3110-2024fa  ocaml-base-compiler.5.2.0,ocaml-options-vanilla.1
+→  cs3110-2025sp  ocaml-base-compiler.5.2.0,ocaml-options-vanilla.1
 

There might be other lines if you happen to have done OCaml development before. There will be another column named “description” whose contents are not shown here. Double check the following:

@@ -857,9 +857,9 @@

Double-Check OCamleval command. Probably something went wrong earlier when you ran the opam init command. To fix it, follow the “redo” instructions below.

  • Is your switch listed? Run opam switch list and make sure a switch named -cs3110-2024fa is listed, that it has the 5.2.0 compiler, and that it is the +cs3110-2025sp is listed, that it has the 5.2.0 compiler, and that it is the active switch (which is indicated with an arrow beside it). If that switch is -present but not active, run opam switch cs3110-2024fa then see whether utop +present but not active, run opam switch cs3110-2025sp then see whether utop works. If that switch is not present, follow the “redo” instructions below.

  • Redo Instructions: Remove the OPAM directory by running rm -r ~/.opam. diff --git a/cover.html b/cover.html index bbbd2191..782f1db2 100644 --- a/cover.html +++ b/cover.html @@ -524,7 +524,7 @@

    OCaml Programming: Correct + Efficient + Beautiful -

    Fall 2024 Edition.

    +

    Spring 2025 Edition.

    Videos. There are over 200 YouTube videos embedded in this book. They can be watched independently of reading the book. Start with this YouTube playlist.

    diff --git a/ocaml_programming.pdf b/ocaml_programming.pdf index fdcc2cbc4dbb484deee97b3f2d4c5f5fa06e43df..baa0e3cede3a1034586fe5ae9ab647d98c36f29a 100644 GIT binary patch delta 20844 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 Gg8v6$N^<)E delta 20842 zcmagFRa9KjvbG)EJ-7weKtto2;4UG!TjTE9!QHJJClG?W26t^VxO;F29_(YE{a>7O z^^^x!iuH63* z8X^^X1JW;~8!dOalNLpw#nE|2gGIq7wM9hfC@Of%Sr1MsI%_lk+bsh_mQn9wUIzA|n$$G3?0T$P+xUXu09< zbeGN4lTh3cDiqj7Yn5O6lDtEul{*!RynBg3_+nysq-_&%EWaJ{#LmGr^6r2o4M|H& zwi{anU9JwR1wo`{QLjcAKkfQqV+roZpQc~p8VL#NSkzpVdRE@+{7f{-$IZ^*XuC77 z`*A~hX9IyO=Ff9D_$a0{af5DzD&02f{hwCu23zgfJJ?+r5S!}c>gYO@j%T7c{Y(## zPl}2bB$jDzXXKWv9$J#bRlUx)?k_N=wjweL{Ba2DgW<|4{;!BXNJrvV_^#Khr*L$( zIPd`O%u|SeKAx^dQ=O0sXY3~${d;8C7?f4WwP2KgulWAq)^N6YM5XwtadvxD94HF@ zsG2u=BOM41$Q1K$(8zUjwekI>I#K0@e!M#`Xdy1z@#MibNN#QbU~F++8@;K^Sq0b4 z^Up(cjE3syD!e({jyzZvC^wdlJ^#iC(pC7vtIQLW8hCu&gqv3-rtERIZ=2%YI?|;%sU(&K-~=q4%(rcQ|?I#`&Y9$f8&y zz~n)|m|5o(TEm_NyLqWwLbc1PGyo$+Xd0#G8tgXoU&Ng{awv4opowk4rXr$_sUcdi>N z=}VZ!M3GFWFJ-8j!N{Q>gya-OkALl};`c+MHEf17CZU9DSN6&V*6oe> z{xUGcBH{OxL0=jB{K&y3{T&&sNh@03VjI}@6W-vJAU8VG#EA5}-7S(mnJL=o@!+4& z%$8|b<=uDr1!fq{6Rjc-!YF;#FOO9uT!=)sY87LT33~<}GQY>P_wPIoa01=58?7=}Ug?B=f zFPV2pgoeyt+V-Z59w3!DwL%OP z%Ev~&{H^kOn-sJ{hp-_Fb|Q)|M^bM`$G#RGiGx>hVOEiFm4i`d+Qy?%x6r*)SrcC_ z{CnWwrXJZ;c+gfqFA7hitt6Xk>9tfswiR`PU8u2L^dMK|C`V%b&G1R6Op+>;g;fl8 zV$b@DVtfL=Jr;VtJT$r72n>nM+t+>aljC*x^0 zs1}anPW%7%{Hj<&q7qNBEJ-cn0r&tD2x|xmI%Zo576MVEvFPK~4Jx+D~ zc6&Zzmbmx}lL#xgr6BRPV1yl0Gf3^&kuI09tfxpXAC2O`>EkeSdokxOQBY?x>ghWz z_4)30P1~fuw9t#Flkx;|4mbQw{CsUjuI&&D-RQ1$K_QjDvW(yG5DWA%!@oTDil+E9 z8kG-pqLc6$s?o1XQsEW!7m&#IwimwpBO)0>#+EA+An&^10H_hkX@+;=h!p_SBdP~$4*CKL~)L+i*dWI?J zuwL@T2hyu!*zYs5YDoyKUR2*CP_G* zzvuY&Lu5k{b#L|CPsX+?5YqW|AIYGVDAre3H5*3jix85w%Oww`h0#(TamFNoT zz{AHqPXoV1@b8O9|37iIk-J0dnZ(QYvhPlfTh0QhllYK0c+Xdf|i@pzg;HH!ksXtcuX1Z=;_k^tx;$ry%9k-QW!DES#eiW>=6{s4-Tg!{vX1TaFYy}xl5D_$`vXO zpudq#|J*QCC?BcmHs%tj2(R@_qC$_t#;-?*7Sa0t+lDUI*F#f`p9=;jKn#L9@+avL z0r13iL2#<8nJ6Z2_-FHkk%5g71;kp7>yn|wGTs;A6k(HXoPLJFZM?+`o zAn&|F(7^d;}HE)#lMQ-oFNZ0+^^8T2_yqUHZLz zX6!?{LLrg-xBAE#j_Oyv<)6Nak-b~|qGRfxCrd=AY$fG5Ju^-=151(C&sdTB6)HO} zegCK_5{a68qI9kNwmg$d$e!7EA@g@%2VmAbGNH8HzcJ?VZi=4%d)L3kgrrvayKl%Q zi;hT9eh%fI6o+V?fT>_JPhur$mZNa=$xuc-Wv1DZzbCwvr+ov2lwP$2&$&oy&^e+U ztGaJCAIsT&I-Ar}4pUr!TJH9UBORQjn?Tp>$c2vmK9IhMa?(4Q2>#3xW;k@Fm!Z}0CuCZnoM*8lU3#a)VvZ(?ZqB1S znZR}EbHZrC(fS!+!Ei!+#*lZZ?#BQ~%^GqE*tMV%g#{9EL#0R*gbsO@Wz%wcxCcja zcboaD{|aSzbQ_=_w9J8#=^Tg8H(`cdfp`pT2+B&r2N_LMiF$1cNf2C{`R+S8_(?B0 zf|vJg`Gv`x*pc|x;+=GY?dV#@I@vktO*ur_QVV2q^XXSLp61~$9O^IME{64Ok4Z4^ zci}0Q57&>&KqhCdR>_}6OI8`@vDK{u zHP2{ra`B-Y9@o~r3!in_3;igOPBB4wysw;t=81BFE z4CL&lHnbPjZ-**AH5c%A$~@nmS=5qm=ktpY2&R6asMUGcNXLjpVrn#=;rG0)5nQoz z!SOeSt1gz_SNxF}#ad&B;rky$GglYQdS6fk7I1sFoTBM>D^7_sjGy&iml7_X!MA-n z8G>b-Zme-)H}k3b65q;c{QFm}uLL#}_8pe7FkD{))k6Kx1r(Qf(UX;^AT z9>-nCWiGDt193yi#0S)VShjix^OZ^#SDI4T6-z$VMGmsNoOUBLbZfebxO-94{&2_S z2lrMas`A7|XYDU2=&86D2Xq{KQP@?Os#6Ooe6NkaC~S&cz80 zC;p5B;k`!f>w5NBHwFCpon`RH{5C1{0)=&fxcN@wI-vnnZ~OO&i5)5R@GNNw;l7b< za0*baZ@eG&KFy_bhs$r+TyQEUHi3L@2Mnxe(pYL}*SUay^$@JJvXl38(h~V(p)vD1 ziDWElFGS~flv3_pJKI#D#B!;Yp>;f(sJc{RC#KYa8ePyq({Am_VSt?G&pAs&|0@uv z6%GigF;1v+eNEGtoU8C$I4Sv3)+W5W+qVc~4J_dw=+3Dk8zj7=IgZAZGsN0l2bYUZ zLT^9Q!G2%S`24En{LI{1(lL7cD{t}a&(~3id~*{%qe5zn=1ZZ7!EE~&CFb@T`YN7j zl;0eI&}DI~@43CwXt9vLnBa*(4N-PJQBvJ^oj#>+)TgRiz=u-h$FVB?CB1y3)hKmJKHVt!Bly z*RQ{bg`xOLeWO+bjTlMI&i866AN?AqOY+;rvjCk{R8XKo)d)Uf4Dn$pp? za`~{;Zb<7GHmCURVVx^5;7RsFMXf$+CQ?L+H}Z!f;3B3n8)L-itpwI`OKPYm_Ai&i5yM!HM4AAYykcg69MxiAu0a z#LK(MK7FdLw}OfmCi~$(K^>xA7@=MW_XhkM2yY<1f%FFQ8z^s}zJc}z`WqN;V7`I% z2KE~`Z{WUx_XhqO1aG{5gYXTaH;CULd4u!~vNy=zplDVvqzohntHy)?a0kuSElP{}F^3ILXghSZJJ@^@SJV-nf{65L=C3 zf$XF$1`kzMgm=`OW>^N3pjD&6z%TG};s(VD@2T(jZiNH9Ox7P=E_Ocg_n~H^4v~J| zV%3;eLcpc9wCedA*rD_Yd*(O7g_pUbID}24!qTf>wmg6=s#u-LTi|_~Mp?|fmAyI^ zuD9;~Hi-wLP*lf0JeD@o^^A!DY0-*{B^9gBok($+`NzN(mosPg1g0^H%E)vnyYFd* z0O$AWXQ{Z)d$0xKi9y#gSZTUr6f>ZB%nYA+S7|X-QJ&LFCXORV7!zU#BIS%k{~l^> zZX?Q@N$;7`3$m0}5MV=MneJl!3#+yfFQR;LxZO4z7r?%YX!*PXxw7BCo3#xS1*TiI!W*P@iTjkE*fZOKEA>DunG;$r`^oLQ!Zcs(Zmsy%1?HQlNS0)Dxpvcb zDxH6zZa^N$NA0I>N%G&<<(Nem6?Ixx%Z}KV)D=r5iGJk7a7h@;4BX-I0~cx=G*U$b zp`;GkXGZExZ(w>k@LOKKAoXAm-~Mk$>X;!O2alAo)kDb&=KJ3rHp7&a_$&Z!__+_d zv7@HueYbjaqE6(GhLy9j6NOWTAR1{~OxI!Q^}tio&Uu3xaXL{{aO4eMd;k5=gS;bP}s(+*z^6Y{~S?1oG>5UZvwfqV1Yk ztT3P4*FL=QUT?Mc5S7GA$D=KtX3E8RiVus<{OC>7j_=_hFSEWfZMTwl)s4;86KT5! zw){Vl%Fs1g5>sWO?TX}ZZHgfCU-ZC=%=*8iSy{%k@YAFO|LIXmX^VS3a)n=}QZWD3 zFnZohEnsHpD07J(wkxVKdQOdOB>6%7@N?&Qm?_=Bgp^VgUs@^?wfqo5uqPE=LK_`v z`<+5w;d>^t3%xg^Xw+&o8pAVoW;xRtyodt3VT-tm$QlWOe~_sW zg4e|4^|b8Nld7*pyVRcQtIu=~e18MLc8_QFm3A^uf;F%J*?45f*GUmrAhFoF-McM` zj3gBVf{d9yN|yiI-!oM2v3+Zjb{w#|pODbStze@cJST9TD_HK0fR}YH+*A2Ur`XP)D$CZ2_1CgIdGPG~Gz`Ky?1&lKAZ>rJFEM z)XT%;s~cBecFb*E`5X5(q7e*dd&U{C$8S`N!M$2CzZgRnawHovxPI!1`esn*Ty8lT zwf`y1nMb0j=GUHP$=8s1@x_9Mn)o{QMFtIRC6^OkOY0JQE`7*Ll?s*d8r3I-t0yx@na?NN?Qc64(nf#bBv{@_>MWk zaFCqsDAB;^%b<|-WdZkqV;|~uTP=82tHJKdt&pe&AJi|poN26qi;wi<3dGf+r&i>; zz`&I+0xzvhaZ`+bK&=7n{q^5{xjIP60>_nsJVZ$Y?lGP zGWw2HHRa}|H3n1*Bfg$K@^X$1tZ_Nxpb~a-5MXL`gMcg8Rm#d zABD0Bj%$71bgWrqcI%A*%Rf4!8S<%`yFA=rd)n>QZ?=*|be%#VE^NWvfiwuMo1hI@cSFPD#O_?H zOKgL#-W1Q6)=t2~{9Dfv03_J^yPR&1WKG?h@;ha@&vN;md>2yD^J@~h&#{W2BII&RW+7lr>4-39DG1h*T zx;D-k^{iEDwtW04(rRMU#5q~r1s2T+ShJt>Ti{)(d-eDA7&_Ko67A?BR6_Fe`UYF^ zI))d!WLya_HuCja=815t(fb%|A_$qw=zPQuggig=JySGxt!*|s#`h%Lxyz28EjJmT z?PiLh5+C!nn#$wOG_K0gji`*WP1k8J2As8V|;HN%@G;R zB1FxC&eWDzf?J<9mWY+gAOR|6&X3H(=VDIM7D(-9Lyx{i-(w;@#m2yk@WDXCSPqhx z&o46KQsb^xLyZAkMA6HHyGcuAs2n2;73Acj{)_$Y|)hR3H%UYoDXWYN|QmnSWqcM_Ew)m=I zo(<-kx8`F~)O8E-wu$CKV8z7&0=>}=-$6tWry)NE_b6Z%f}k=~L{4kk@{(YYtq(|F z@>$^L#s@VJ%b>i;Vj2RmO_6F0(HY@S@$|#rt|_6UmPBnM^pW3zVj!5rUvB@;h|G-K zWJRB8hJ&pcuTI4b7>oLwUs!wPp|I(zeFjSLe>*uIZFOaK3s~AHhW73(ad)z7Eh}pa zxhvDrfv@j=XH^&ecW=6ky{(t2-J1)3KC2!cisw?Yx8uhxXiU-lBLsRx;1M*;XVm?T z^Lz&sT!IoR1g^|*39oQE{b?NxQoT%fvSvK8eXnD!L#$)|46wm?FROcv`-Xo`FGfT@=tV1F zN`?m8N1%Ez`N+zUesAQ#DW`0bag}y~r`KMzem;^M->-GXz0A7@kY6h6iA{9_uwfPL}h%q_2GPY_3;YQ zU)OPpY=tlTawgaBPw1B>mR=MPEMu(|8)!x&J*5bz1*hVXmYJl4zkkF#yfqqH+*kT# ze<}IL^>FC!`0ml5x<#0nUzJjf=43XZibw2qgzQ+e=k=Yyp9tIkQK(sEg7U*(WuE_S zMmzLuoXBPIpF6w0cU59Znr_JAk|b95$6Jt#nOQMi1*OYy*SAD4xQA{atEal~ z$|r0%$=?i>t6}{&4)u%q!cz;k`0DtO#^@CuLLHsEY=x`;?D)@x`g+jBk7&d(X-97a z`4bgPnfJ&r~vw zoD$K>FR@9j;?v%6arpt|zigR9qk z_4R+;T9xfaH#nHsU%H`O)MrVQk<&C+*!WhAI8-(2+oIhlHy3sCsF^vUE&UkE=so`w zbL0`tr~mJ^D5z-eMd`ZJ2K?z*ldkdC-p3Bv$aS8n+X{5ke~?fF$i2SJ_Z6P*zvj)j z#r#;QEOrvt&_2jBlq5h{`4^AL*F4-#ZPYFXscOL)IHm1M9xg-FOy_c}mQ9u z?;G6ov24LE!K;f}ioUGdVJc-)@`S5rgne*q|6qi$K=Oxh?Q|Kn9Q)>#VUK2qPg|PY`?n0uVfxjMF3>>9>P{v6JTqatt8l>Tk~9Ve zf(<uKL}0d-D=iTg{FwT^!l+v_7eeR8f;l;4tmuwzKZ)3eFT_j_ z+}yux-uqsX8mP)zZXcS<>IAld(kf!{& zWUX!$lA|)21@3wDxjORYqEa>y=gY+u=iL$9?`ZGL)W+{$=}C#e@n8huQ2(n!k|ArS zFruM|Wm&SF;xbbl@mS*IuYz^@iWp!H%__=dSH*I9Y#STl{8rHBSoU`Z5p;QM8pdxN zhg>#Jr)ih*HT@OvKwAHs{|$3dNR&HPwgJT==^MR+8n{-tU+vSUi)3bGBP>$9@B3I1 zFWB9+2?`fxH1CqAd}2spbe!IHw&!dIJ_H3HKCy2IfXLV7-zid!*=2VeNC{DlpZj2#Z)%1f(-$^4lU6nNeEqmU_e3`g(#N^--a5?boR^A!6 z1)iE5eE2@yN*R=Nu-7^)qctMLf13Pt@@&nk>{PeuXtOGJH8w#YZPW$lO7ZXRMw;pzJ>g8UHI6NQ1UqSI)F{nV ziYt^b+{-LY5vs7zg!}F5X6bdZ>q_YiKW6;R$N{@pjwxWKQU-!`Ue7J1u4%!!JvU zr1=Hj!+p%L#3`IV5c*;Z-XD6KtON0UjfKPL|0I0?U@&4|FaWhpAHRucQ=3SmSjgxV{<3Nc=LA-1ChD1Yqut8a5fHvj18&y3(7Arx7eT=_u~O z3b*E3N~ngf{Lb7kf775W@$Q(O5HtG-u{2IbVy;dENO!Rk_BV$g9yMx2Q=MKsv?+~+ zfuML?gAC6cGpgjT!iRUfB;wwnW0LZAFrHLQ1mgY!h=Lk~3md**kdPSe{1+BD(=fuYvMj{vu^&0$Dzt^=zED#tyJ%v0?X5X zQT%gagI~aaX}T%j?};hF=|#h#*Bfqt@aNka!b7Z72_$?PtAgg!rw@t(xa!R@GS$M7 zfSZ*vhGk29SIPY}cl#(g`Uo`Go6k@oG4_{5q;o{MK zlL4(5h*AlqarVxA0rpAtZeELb-;Yrd zxE#I@=s6n2lWS>9iuWa1Uflkhr6snR%)5Y6x?WfdIJurb8iU1suKx7Y>&~`Qs_Z8e z@3_VLKYDapSLLd56hA=R1v5E8#^;oIs^YwNDAk|?7-rgK$H4(}m~2e-9k_NlgL7v; zI;~cUP<~!D^I^&U8fnkdr?AiVas&nM2ZcX#b<})<(y<%z&=t^i$GIt4Ov074JM}2bTIPWHPsbc|fsP6;-g{T1PGF5y%bd9+K-4?l*2CRXq?LkS z0y{S@BEt<%gq6JK`M4!W3S1qLa@hVLFVoqPlvhKl$fy z5`VIBdZ+zud)y07`W8XD5{|(lpSjZln--dzy6wlc9fTPXTZciXpRPY3+d8D*6CwJJ zIx8DzK<1GVL`nYQY!4QBzF3+3sG|Ba%9t#kP&|TAWzbS&}dCIy)6t&$qGM19SpU+<0MxfLW zbKlyd{DJWmly%rUY!ED!#0TeEw2D)O5VcBYRdkwNyAo+W#;P)lDr zlAjz^(AsGU6nKA&@7Ya9iJh=ByTIfW=;O?75X;z(o2RT25i=?KssF}XppBr2y_uY1 zP{9_>ub2poKnBjPXv?vp1O_4j*Q-oqx$aqEaf8iA zc(3j4WyGkyiyA`j6@ZL_Zg)yDsl-+J}v*$CS%d zfR7KzW6mok^8fcl2J!@z3|LT5@c&GE^5$6SP%Nc=dYrMa&X2;vVrEKZc&|2rSCCyF z>MAApJ@)M)8|q4gD$h)}vO~JkMwQ?tdMgm$w|LxQlyF+xEONI7Tu5XEDC!<4!tublb>2c<+u8IMfKv%g*|ZQqQVE;gbcf(rbwizr zvat@jTb-%0afrLaobe1WF*fmA-gAVEZJ~o(@T-E$x5!$EszQ!UX;$Cy_bP8I$knse zL)i)!JTX?$o1@qQS{hlt#~GcTZjWN}bs>mL8QfGsmZC^Gs{Z9cmcr2diLu0Z>&Xij zz&NWIcP-CyTDGJ95`lV{Dv94NsaIpmNn;# zL-~LMjg{rla)|CWYZZ@1^z@4xmQe(MzlTj?W2=0Y&$jOc6sk{hYS=t*b1Oc+(Zh+q zz~9N^My&Cn%ITKN4X0kpfI1%NMh&hPF)@Pre47ruPn^s}aT~ZfRIPx~En83eV~%YS z=x|htuh*p$HvA5Jd@mLNZCNsWCldXrlMrsxv^doeWdr`>xg;0VNQ`~4pRmR855 zuXVDKv-#A;F(S9RS(wWdOcU=*(Rqy#z{xF)6%2n}#K-0t{bY8nCNyW576i9{(SoV$ zI;mcQ5nH=#ipBP618kTn*ukIClF}VM-PR$_t(p|m>_;OuE}9nO6{iX)1`AE{ZjgX; zTA~p5IDi}P!C5U(MCCJ^PQjOW#E+iwQ}Ax8!RYm{hW^!z{Eju)AOHOV#2hlyV&45E z#I<%CMsf|t&yy2bHX$q-`A+SCS)!}2!D6IN#gzL{#Ao*g=q-e}A1sJ}{YbViylEW0 zauWoNhb(NXMDxy~U8T3ww;Z?gZ6HKRFLzK1>q9T6O_k3IOqJ97_qwB)`q*tN60KcvZ-0r zRlnh1%Bzq|BbN*hFaU^{@=4_DYW0grAc@g=>Xvh8OV?T5iCkT2e_{Xg<>#xy%RrY` z{~{Br$hKedOn^IFjqspcC>msW`-OXWTuLcmTOOZ6(>{>9 zGYIj~3JMLjq3^*;fI_23k~eR`+(4{ZsbCbLyBl{U;5L{PU>rQ8QgfnI_mSSacs7uz znDEkG0A(U=lVPO-CbHbXkjvSVm2++h*O`MzEY4Gpn?l!fzzt*Xbx+(p2J_aF%tBi} z1&_7wXKc2~InM32Ays0Zgkz_XX2GY|X=8Uk)OoNc^;!5BUj_;J7csV)l)Ps|e zs4EVrCj?4Jq!AR)Gf~^=B zMelgp)Gj-40P@fu!O(Cv38U`eq!nW=SZdu**usdsVeyoZXcOF+makJ}a1Wi$Q#DPO z|8wmR{K>_}(6HGA1wu6Oe~p;$vxDM7&tO0|?0PK;)jfz{f-Yx)HYc?88%ydGH~7FO z0IyzMBJYOV4Xqw}Ul-cxD)YkTo#T-z_XoubW;}3C%aJy9F1&Hi`$T0H0Kc9%Wh}5W zr(7pg*uqc%_OX58d-)cMB&fO~43Wg&FSXp~DAwsU%XT`Y+K&u4P+s$n9%+37U};8*S|61VggrQYIIfN{JyrzwUw{}rO!=id3}K_#U9 z+@f|CtZP90Lm<-@SKqky7PX=`*1_Qgl?LM$IA>BTE5AE{ zew~qY&ZS#C>0;F>i&!ZvRQ0J}33neFI;rn87*|St=Ugl3%9*kkH8hl=N!F%l67lsg#$ z2qMtZF7jT6V~Gg_n#Bdcd0bQkG+V~Xd@0|eQX@;ILHJx$QF5majA#UOcsJQyX|b31 zKR@M3HQe{sm0IjDd>;}5+CZeDNdEBx1C^4clte5TDR<~5LP=}FrN*Demwy*2mq}H) zR_T9K`XyyQ$*n=2LW9R7G5)&;G2TsZLCH`_IjZHZ6zU5R>c3$Ce|OD&K)(Nlf2m#o z4TpTnqHYJyqRu7?DAJ0(Rz3{g58_{19at*^lk1R`nnx%;76_{eCUC{T_wPQ-Zj~6zmm&=!BxElYOjP6#qM4uNvFrkQe-ijAxLq39?-36HG}}sY+^qk82hKDEFOv2X;M(nO?FV1H10QOe#?U z^UV?imA;2N^3CD^4Zi;cI~9wAQl&n+P58V6HAoS{c)&nhV7!2{RzyyE$i)uB(UbW2 zt|_C!?@A32vN@yt*8w}ABtV0{?5G4<04c@4$)N*$Zb>P7& zXd8p!Uxi!VM6W$Ab!A3);x&HfltwW?<4SvYlZ$_pCE|HB%1yoN*7-}ZoTAp z@RbuV1|ZDvZ_FAP!__vhh4<_ug!exD7^NS*S)@nWaJFAR7I?So|?oXRc$8 zG=4H7<@%XR(SmHbaT7Ni;ewpGFeoS*Kn!0zJnlJec}bzdU5}t4(XJt)T@O3&1!qM6 zTy1UhGOvm{2sr@VnmFR0hxiR#8Bch3=AC@Jd}5p%ha0E7^cUP1|2%FO6-7Y^G4C(> zstNRP=Uox zbcH0L|Hm1h8wvrP3syGMjbZGB&zZczn9Tn9&JIJ>iWCqB5QWcwp9_tE&_`wM#?B-F zSn&CeJD@`(dHsX}&o!7k87){7SHCDyI9#OnK)EK|3}@ef++R&>vgvKKSqvE!h8>p-r5XW%lHL-fm zTU^@zTzw_l*~634(q+tZMKmkXZaM;5H`R;gpJ=Tv2UHFmzm`MqAoiD@W=6zMv!9HW z$p;q6FHZY~O@e%S8i>y!YQWDB?CqT8)mZXb^>z#jg4jcL@Om&f6RpP`?>u?~f;Qkz z;I!oeG=-dPuPrPo2^42|t3ItOAr?1#b5;Tgq7G##unJ8uuOpkUCGAKR$6mHOv@IC1 zQxs1K&+9F&F7H2YKl_$K5yx@2r7n*mi6c`kBnKXSLZKGpsFyE3jnMbwa+fdlZKTwo zhW?1OEcpR&EQ3nQ{qFq!^Zg~hv0EF|eH<~$=^qM^6e5qm@uM87G;R?!3FFZ~07`EU z?PZlljbz-n#=(B~jwjx0PTZ8nL6r@N=Ywuc0-`p!*7f-E_b8&oJ6Dt>$3>#V@05XY zfGdWVGh>*ADUpKz02pEut4n`LjmbBQSfAQb+7AX#UcxTM=wGb50J9YJ65HTcr?+%k z9;vVJB<`5y6lP3^w)G5a7_3MO-BkcCL2i;0FI%B}5UhR&hJv6gua&K4+~$nXlc9aL z3w?%y5VyCXZF{COW;Dv2+zqrYNqpoJz$|HfRtv@nE1Ef*ZqCoHRR}v`6^&=VF;++RIh1eyxJY+(*Amqt9Ps`(|== zw+wF{3Wg}l$&bR}C!+FC;XwTO0g=Rh>Jx4t_LUlb*IO`LLWYv>tDzu9lTmt>za7vh z2vc(EQEX@mfH3)YO#yTS@-sPg#~^|Qq9A{?vpTK8#Yu0|j|rRwRMXp-frWvyT-6LV zm+Zg?NON+7XDXBw;+5R6LJ9{mTUVTkiUGkpp|}K*#?Tvz*@O57Kg#12j*s^sD$eL1 zbmqpOr4^k|0D(9JjPhNWTtI398hLPl2?&nyOS0t7ID5Z$B(Z#*_{fu)e=I#esaf$m z0=AJ;J&10weCn>z9gH13KrjDy${jccU`ZBv0RqRk#N>@2AP^Fxa`J-kWKSBzeOoiR z{Vx7t?p{e=?07Z64!}$Qpb`shge)f;99}njK!lQ?PD4QR=11~>ttLqHBTG3)x?T&Q zSdj4Kr#T%UIaeG#!!{i->n)fWdRoW$%roT_I$n9|k!B6PfR}|to!N@RimpBWz49rs z$&mY~#wI-&?L8 zKk0E#PmRulF2x+OvQYbupY*w>q*4o+?*uC0$Uo%Frr?b-r{ zE!jw?)T<|EJ#@;v%#wKWz>1mJ`j^e7Q;m>;m{27{qAon8~;7px#67nXM9>OS)ANBVia z^`bq4%jdsgZ^_wb`%&CV%ZkNOa92;3NbKNm#*|U=U6LTm#tJ-9H0@e%USw! z1Dxp-%#!+h<{88aAZNIV0+#znFVUBtXO~}M*6V)h+KUaGjZ`r~l&cD}vi!b-J8 zdjfPag!?r`H+JUxqWdL9dsi>yWRNv^ung+?4jfo%X8*O>rzbnHffo!U2o+?pX^YQv zF;`Jsp56fkb6L?>(*IUM-ES{C1h?S>3LqHCw>|K0d0H{~cBFbd)SN?c`M?e)^%mHt zoF8FQW>wJ}H&IaLao)?JCICTPE5}QwA<(6B zk{k2tTSrR0&*1VuttXC`6^424ko4+)<64*!<9^)z#w}0-;Y#a?TCkY0Sm9|SfmZ|L z%IHZv&!(8Ke(%F2_!0*U^Z+pg5Ca#=ZinkexY>h8I2i)znIzK( ztRH~%%#s-bO0TN*O#PEP=O5;;yE0YMuD_pWjtt&2JWm+`9l(IYB5*v0Wh+Pj&D-%6Pdsn-CrcpAnt;Kjw*m%9}#hG(!X^e}dW z_6)wQr%LU0<(#U9=>*A7@n4?f65c=OP{#ge6XQkWnJ!;T2Y4su-2Njbk87|tSc57M z3+DoP$zWUf0u09-Ck>>~D@D|{Z{pWUMqGU>pA=9SroVWLsJVh>Dz}{rJ5gEfOo5MkDhnJcOP`JS! z#5#hg6jN5E2;LEu;FPWR{)UT@=7W8F7C-Tu!yQbqPozA_T!H4Vhe$M%$fvP8VcFfW{ z{?86wZ}m@PJI9%L_02IR<|MSDa`uc}pf4fyGhDE;hb@e7gvJ1xH!0)WQDhPgl_<~( zO?a*oKYoZ0ss&*Cj&RVZd_yr&UCcW9(t^n`bQgkPN<|^#iFC;;%L{_p|#Jc?^6zxcVhVa-E1V}hx+%BMa;Hjl@pj(3Vk2*LDugbqQDWjLL?s`Jh z&YvA99w@w|P%%T2EMg)HO)+CbE-jh~n0mfKdZsy&=hn-u>SFAv7jdvd|B-r(|K{=p zzo$UCS=o>jp`6$rU-=~3*YPxvS%Yo=jyz=z<<4BMn-73;wD|qG33xJ^B-$_JNI{VBtuHy zNNbQQly3!ouj}COh3cwRPs(o>*9h8!(NczUX>&1u_S&db$KDP?o%ymch!aH-{$CB} z9?x|9|8dN57?Sf$ZpZFXE6G`o>7?y<-x=o6#GTum=GG8qm_tQWQp;J2-E6Zkmg6=` z2a(KSmBYA8wqo5HBK+3(`}_TU{q=c$-q-tjzOL8%agA^iMb5k@*!^enbe@Io>s371 z{~LLsbu&$*kuFnR(&I%5{|mVNKsx5c+Trf(=h?nt%H;4ArGy|7z{$OG_mkC={6Hmt zcSFLrdo7T-oFKGD;5MW=JjvtB$d*I>@Kn6$$F=;cFoK)_yknlA8lW(d?-a5lI7>F8>K11w;^kG`n!PTF=(v(91BH3k6p@2!GJN2Y-4lXU zBfN*N>3ua$krj;Vo?Ua8y=Y&U4I#&aOGR=|l{IVDe%sDCzbBGY1`b@jwz(9lvFK6B zF3Jpl)@xoR)xb)(FaK0!aQf%%D5Yy6q(xnA1_ie~d5lvT&*g$f%ckz#^@S=zL z-y|35bMLNNHig1ZELdBqE35qCBn8SQ68Nx|xcQriVuzax#U=)YqcgPaz_gE^Eye?X z&}EPu{|L`8-H(Q=aC}*DU!t zXAXd6#g%`+0@c2%+wTSCn>-hMzHj(m88-kmZdxD3r5McQ7e9aMe(?B8_NfhEFTuN~F>>lO zGEyfsFVzC_;T?COL1PQ;NKq2r5_^hO(cx3zcJp#~ihsZ?@eZdnLfjK$_+GYy9TI_y zm{BWcm58i(Wpr&HSNGY1>`?;jPE7243P~1^80iKjsFJOPiESkj!Z+};{yQ*(c9W*< zR@Zs}cYT0HcjCzpxYQQW8m?H}iap`1CvZZ!R(K<47e2b-3r5#9@C%kTzS@!xajT54 zsC@-t>MWbQD@-}&tXRO;XxTgocXJuB0e=DWv~}^VX|mO<$cP{U2T9TqX{D>q-Wa!g zos1Z?3xS?6ZQ9;-?pA5$7)0P=`4B7ONKKJPZ0(HG$|qwF%67XNZ*5?E&W)syf8&)g z1cZCyHY>Ea`Nhq-G#nE@X|aWGF$}X9G6?`xb95q{G=(+~bfm&X235Uh@beB zXq-(6<@f5U6)rqW_079A4m~C#Xe^*zKV$x`Iz@jd--aL4vKc()fc2k`6q)fPdCjUe zGU1@|r4mCg@PA?ei}JynBV#rPS&N9l%lKQv`Gf-gU(7PfT6HbyI$co^6b5M7+<6$i z&+dv*e?tWB`su}AQ+E#NoMMO*C(sldK!!u7}wSqm9 ztp3|$ts@3CgiaZ%0S1^|uo}+KSotWCT3d8S^QuG*k@aMxEAQmMCZt35K>lXoYeL5Z zKddSjNAzgPu%2xe#U69 z97?ZKzDG!jo=Sd6$cb)9TqdEsCS$AMN{45N%UH*bX9O;0|D3^SY0d&-mLT5zl-vka zNvs*Zr*muE4(Y-<%*;0V^uyQZ*B+lsMJ^Bl^AT9^!Y^b>{b<(axi_}7b~->(NhRYM zTC$#et(5DZG4nw`o)jQvBb!Uc(|jU>lOIoBsL>H5`mX%_2i752nn8#c+QL6H$C#~o zRvHM)g3Kv$LiTa`{@A0e>xjj)^5^Z@#bJ6@7G1eaNjI?jAs&msc?+!~Q=}l-`Oo7_ zT!;JKh<{ulujcc!=!J*(O`aWCxrl#xJl&Gf6whSVK4u!Z1wr|P4PptFM(FLYe{t;Mk# zEGNEvL`k6aI<%qBXDHM0sK7G0D8T=-jt5@**uFGKD9bqyUgJ90P%@6oFl-v(D8mXr zo6Td%J?o~vDN_i@Y7-y;mnYKAK_o`xIC-K`XApl*~Qx@IK$q#3-2IjA>I} zoaIVl?Cfes_OqGX&bZfxg0fph)_xHyi8}|#tE>CSHb*Ki_b$!~QoSt;O}B0Y`1s@F z|Mf5o7dvd}w(1E^JgoCgY;lyo*uO?M`RvhNK?oqYE9UVL$L`XuxaM@4*T)-mJj3h~ zu3c8Fb_=l>oq4!AZb|MF7v?!8r=F!GK6s7=R-8imYn8Ds(&b_#-S6Nfa|%>#)4Wtg zyxn8Wn;h`1*(u}6f4qVBe1BC~Uw6NESD=E7+_!nQOb%BuYWE?T4ouV+^ib9*GvzCU z?_PK`fxOT_8)BN)eIUGje^D0PA35sR<=8eVhT}cs2Y7;&)=elzom*uiC+Loo=Q@yR zmtJM9*7W+WXBs02>Z9ULj3oG=;4l~=X!|d zB+~>Jl6QFwx$h}vWJ$5h4X-AUCy0OG49`q(zCHH~I*kPIXV1_z zKLefm4;c0$t#dMxKrDB4E}bbW;nBGZ0aADSA7b?=RciiI zrIQw%i%fl5Ry5y{3DM@LVoiRYcGg(vd)0!uBqm@vr)w^Qsj!^8g+AmgrN;3T!JK7^ zIjtgHXArKGuwv>gCyq*y56xbjyPP5&nqww9+%4105z_aD6786&aThAbXR}jBX0p`y zE-6N?nSV$COyxZ1uMJrwt3jlf4ubNPH?(`RoB0Oh=+Ax?wY2zd3()(Qt2`r}D@3%D zu1XzRQ6)DF20qR@@hSKJM+Z*AAm%JD5&>8e2K>e@gQ@+*ReL~O6wdd z*1#&e>;IJILsAr%iCcW>6!of{Cn9@im135p897Uj^#3k8;tUvJw@T!dI>?f;P ziv)2oSs9;*C}Wr^#<%Yh*-zSrP>YnIC`G$d=Nhzj1s>FY8yH({u2mDSUS^~2!XwY4 z3Yzt}n`x-TW+=Ba2?d8oe~OxRrj|B{zqXl&g1D$8)Ye(y^b+Cf+gsO;p!&{1Z-a;~ zVaKMF*RqIcg1tH@_cB(VtKYgXXK62gHgAFNMN(^EMPc|#fUzEn zMnKas)c>LSHfnhpc~U3;G0y;OGr;x+LU}!PDq#qnW4_W%qQ6cL7Ce% zNL%iUoXdzN9gM99^;rW$mLZrkC6@vi^Rp^Unc*zdWw`L)pYn7!FvM-@Sr2+32n)LI|@T0c|aHqjuKYj7lQFMr6xSEEohs+fwUiWbS9tz zPejW`*&0(<>uj^zQi~_rMuE<#5TB+Ge~QbOuqqW&jH2tv@_X`(7uS%5_W+Ei1xVs( zqZO*}g9i7lIh2oL>SM5%3zNfO2q; zHt}K~Av2V}9mI^wP;F{(fJ@Ci6Vk8o+qjzL7n9rFv9-(fla>E=Du*UBgc;cBN3^cd zE{|ykno}Kay<>TL0zccS6SN*D%)m?+P}8pYxKFQ8Bx^dY%kBhMHRYOR!z$%SwjB1* zd)d4FW?0)`rAhX6x;iB1-P}c{rZ&3=tK%%ic<~}EMWrey^7|czcFu&uV-?2cwTW}1 zZ}+2gyrEft`e{kh@xO9gJoBiRrOU15~n|a3*3}<8P-# z9Q@I;#)L~>XTE=OpP(vuI=(3_O8jopu)cHBZ=FE9!!batqXikiO&c|Cxm1e`mkwA@ zmyo-xaK#Uno6~(J%{~my-nv|H5#2;jSg@6&Ys6)tR^Q_8JaEBxobzBehR;4 zwH&_Z3L!SZ;Q0n7>&Z0W>!5Z==@5#iy$&4cXl!%^P9=R@gSs`I$2>U!;KQ^H#qIaXlaf`2YSGX%(a=Pno W)@yCeyLd4~UC|b3X66k)4*Xw~9%-=v diff --git a/searchindex.js b/searchindex.js index d816adbe..ddee4168 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["chapters/adv/curry-howard", "chapters/appendix/bigoh", "chapters/appendix/vm", "chapters/basics/compiling", "chapters/basics/debugging", "chapters/basics/documentation", "chapters/basics/exercises", "chapters/basics/expressions", "chapters/basics/functions", "chapters/basics/intro", "chapters/basics/printing", "chapters/basics/summary", "chapters/basics/toplevel", "chapters/correctness/black_glass_box", "chapters/correctness/eq_spec", "chapters/correctness/exercises", "chapters/correctness/function_docs", "chapters/correctness/intro", "chapters/correctness/module_docs", "chapters/correctness/proving_correctness", "chapters/correctness/randomized", "chapters/correctness/specifications", "chapters/correctness/structural_induction", "chapters/correctness/summary", "chapters/correctness/test_debug", "chapters/data/algebraic_data_types", "chapters/data/assoc_list", "chapters/data/exceptions", "chapters/data/exercises", "chapters/data/intro", "chapters/data/lists", "chapters/data/nats", "chapters/data/options", "chapters/data/ounit", "chapters/data/pattern_matching_advanced", "chapters/data/records_tuples", "chapters/data/summary", "chapters/data/trees", "chapters/data/type_synonym", "chapters/data/variants", "chapters/ds/amortized", "chapters/ds/exercises", "chapters/ds/hash_tables", "chapters/ds/intro", "chapters/ds/memoization", "chapters/ds/monads", "chapters/ds/parrays", "chapters/ds/promises", "chapters/ds/rb", "chapters/ds/sequence", "chapters/ds/summary", "chapters/hop/beyond_lists", "chapters/hop/currying", "chapters/hop/exercises", "chapters/hop/filter", "chapters/hop/fold", "chapters/hop/higher_order", "chapters/hop/intro", "chapters/hop/map", "chapters/hop/pipelining", "chapters/hop/summary", "chapters/interp/calculator", "chapters/interp/environment", "chapters/interp/exercises", "chapters/interp/inference", "chapters/interp/intro", "chapters/interp/parsing", "chapters/interp/substitution", "chapters/interp/summary", "chapters/interp/typecheck", "chapters/intro/3110", "chapters/intro/future", "chapters/intro/intro", "chapters/intro/past", "chapters/intro/present", "chapters/intro/summary", "chapters/modules/compilation_units", "chapters/modules/encapsulation", "chapters/modules/exercises", "chapters/modules/functional_data_structures", "chapters/modules/functors", "chapters/modules/includes", "chapters/modules/intro", "chapters/modules/module_systems", "chapters/modules/module_type_constraints", "chapters/modules/modules", "chapters/modules/summary", "chapters/modules/toplevel", "chapters/mut/arrays", "chapters/mut/exercises", "chapters/mut/intro", "chapters/mut/mutable_fields", "chapters/mut/refs", "chapters/mut/summary", "chapters/preface/about", "chapters/preface/install", "cover"], "filenames": ["chapters/adv/curry-howard.md", "chapters/appendix/bigoh.md", "chapters/appendix/vm.md", "chapters/basics/compiling.md", "chapters/basics/debugging.md", "chapters/basics/documentation.md", "chapters/basics/exercises.md", "chapters/basics/expressions.md", "chapters/basics/functions.md", "chapters/basics/intro.md", "chapters/basics/printing.md", "chapters/basics/summary.md", "chapters/basics/toplevel.md", "chapters/correctness/black_glass_box.md", "chapters/correctness/eq_spec.md", "chapters/correctness/exercises.md", "chapters/correctness/function_docs.md", "chapters/correctness/intro.md", "chapters/correctness/module_docs.md", "chapters/correctness/proving_correctness.md", "chapters/correctness/randomized.md", "chapters/correctness/specifications.md", "chapters/correctness/structural_induction.md", "chapters/correctness/summary.md", "chapters/correctness/test_debug.md", "chapters/data/algebraic_data_types.md", "chapters/data/assoc_list.md", "chapters/data/exceptions.md", "chapters/data/exercises.md", "chapters/data/intro.md", "chapters/data/lists.md", "chapters/data/nats.md", "chapters/data/options.md", "chapters/data/ounit.md", "chapters/data/pattern_matching_advanced.md", "chapters/data/records_tuples.md", "chapters/data/summary.md", "chapters/data/trees.md", "chapters/data/type_synonym.md", "chapters/data/variants.md", "chapters/ds/amortized.md", "chapters/ds/exercises.md", "chapters/ds/hash_tables.md", "chapters/ds/intro.md", "chapters/ds/memoization.md", "chapters/ds/monads.md", "chapters/ds/parrays.md", "chapters/ds/promises.md", "chapters/ds/rb.md", "chapters/ds/sequence.md", "chapters/ds/summary.md", "chapters/hop/beyond_lists.md", "chapters/hop/currying.md", "chapters/hop/exercises.md", "chapters/hop/filter.md", "chapters/hop/fold.md", "chapters/hop/higher_order.md", "chapters/hop/intro.md", "chapters/hop/map.md", "chapters/hop/pipelining.md", "chapters/hop/summary.md", "chapters/interp/calculator.md", "chapters/interp/environment.md", "chapters/interp/exercises.md", "chapters/interp/inference.md", "chapters/interp/intro.md", "chapters/interp/parsing.md", "chapters/interp/substitution.md", "chapters/interp/summary.md", "chapters/interp/typecheck.md", "chapters/intro/3110.md", "chapters/intro/future.md", "chapters/intro/intro.md", "chapters/intro/past.md", "chapters/intro/present.md", "chapters/intro/summary.md", "chapters/modules/compilation_units.md", "chapters/modules/encapsulation.md", "chapters/modules/exercises.md", "chapters/modules/functional_data_structures.md", "chapters/modules/functors.md", "chapters/modules/includes.md", "chapters/modules/intro.md", "chapters/modules/module_systems.md", "chapters/modules/module_type_constraints.md", "chapters/modules/modules.md", "chapters/modules/summary.md", "chapters/modules/toplevel.md", "chapters/mut/arrays.md", "chapters/mut/exercises.md", "chapters/mut/intro.md", "chapters/mut/mutable_fields.md", "chapters/mut/refs.md", "chapters/mut/summary.md", "chapters/preface/about.md", "chapters/preface/install.md", "cover.md"], "titles": ["The Curry-Howard Correspondence", "Big-Oh Notation", "Virtual Machine", "2.2. Compiling OCaml Programs", "2.7. Debugging", "2.5. Documentation", "2.9. Exercises", "2.3. Expressions", "2.4. Functions", "2. The Basics of OCaml", "2.6. Printing", "2.8. Summary", "2.1. The OCaml Toplevel", "6.5. Black-box and Glass-box Testing", "6.9. Equational Specification", "6.11. Exercises", "6.2. Function Documentation", "6. Correctness", "6.3. Module Documentation", "6.7. Proving Correctness", "6.6. Randomized Testing with QCheck", "6.1. Specifications", "6.8. Structural Induction", "6.10. Summary", "6.4. Testing and Debugging", "3.9. Algebraic Data Types", "3.8. Association Lists", "3.10. Exceptions", "3.14. Exercises", "3. Data and Types", "3.1. Lists", "3.12. Example: Natural Numbers", "3.7. Options", "3.3. Unit Testing with OUnit", "3.5. Advanced Pattern Matching", "3.4. Records and Tuples", "3.13. Summary", "3.11. Example: Trees", "3.6. Type Synonyms", "3.2. Variants", "8.2. Amortized Analysis", "8.10. Exercises", "8.1. Hash Tables", "8. Data Structures", "8.5. Memoization", "8.8. Monads", "8.6. Persistent Arrays", "8.7. Promises", "8.3. Red-Black Trees", "8.4. Sequences", "8.9. Summary", "4.5. Beyond Lists", "4.7. Currying", "4.9. Exercises", "4.3. Filter", "4.4. Fold", "4.1. Higher-Order Functions", "4. Higher-Order Programming", "4.2. Map", "4.6. Pipelining", "4.8. Summary", "9.1. Example: Calculator", "9.4. Environment Model", "9.8. Exercises", "9.6. Type Inference", "9. Interpreters", "9.2. Parsing", "9.3. Substitution Model", "9.7. Summary", "9.5. Type Checking", "1.4. A Brief History of CS 3110", "1.3. Look to Your Future", "1. Better Programming Through OCaml", "1.1. The Past of OCaml", "1.2. The Present of OCaml", "1.5. Summary", "5.5. Compilation Units", "5.4. Encapsulation", "5.11. Exercises", "5.6. Functional Data Structures", "5.9. Functors", "5.8. Includes", "5. Modular Programming", "5.1. Module Systems", "5.7. Module Type Constraints", "5.2. Modules", "5.10. Summary", "5.3. Modules and the Toplevel", "7.3. Arrays and Loops", "7.5. Exercises", "7. Mutability", "7.2. Mutable Fields", "7.1. Refs", "7.4. Summary", "About This Book", "Installing OCaml", "OCaml Programming: Correct + Efficient + Beautiful"], "terms": {"A": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 24, 25, 26, 27, 28, 31, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 53, 60, 63, 64, 65, 66, 67, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 92, 94, 95, 96], "lagniapp": 0, "small": [0, 1, 3, 4, 12, 13, 14, 17, 18, 20, 24, 26, 30, 33, 36, 37, 42, 46, 52, 58, 62, 63, 65, 67, 68, 69, 78, 82, 85], "unexpect": [0, 49], "gift": 0, "littl": [0, 1, 4, 8, 12, 18, 20, 22, 33, 40, 42, 45, 46, 47, 49, 51, 55, 58, 61, 64, 66, 67, 69, 77, 80, 84, 85, 92, 94, 95], "someth": [0, 1, 3, 5, 7, 8, 11, 12, 13, 14, 16, 18, 21, 22, 24, 25, 27, 30, 32, 33, 41, 42, 45, 47, 51, 52, 54, 55, 56, 57, 58, 63, 67, 74, 76, 77, 79, 80, 82, 84, 85, 95], "extra": [0, 1, 8, 14, 16, 19, 24, 27, 30, 37, 39, 40, 42, 44, 45, 47, 48, 53, 57, 59, 64, 67, 74, 77, 79, 80, 84, 95], "pleas": [0, 6, 15, 28, 41, 53, 63, 78, 89, 94], "enjoi": [0, 7, 30, 75], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 92, 95, 96], "chapter": [0, 1, 5, 8, 9, 11, 15, 16, 17, 23, 27, 29, 30, 33, 36, 43, 50, 57, 59, 60, 62, 64, 65, 67, 68, 74, 75, 76, 79, 85, 86, 90, 92, 93, 94], "which": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 91, 92, 94, 95], "contain": [0, 3, 7, 8, 13, 15, 16, 18, 20, 25, 27, 28, 30, 32, 33, 35, 37, 41, 42, 44, 45, 46, 47, 49, 53, 54, 59, 62, 64, 66, 67, 69, 76, 77, 78, 79, 80, 81, 82, 85, 89, 91, 92, 94], "one": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 92, 94, 95], "most": [0, 1, 2, 4, 5, 6, 7, 8, 9, 12, 13, 15, 20, 21, 24, 26, 28, 29, 30, 33, 40, 41, 42, 45, 46, 47, 48, 53, 55, 56, 59, 60, 62, 63, 64, 65, 66, 67, 69, 74, 76, 78, 79, 82, 83, 85, 86, 88, 89, 94, 95], "beauti": [0, 50, 57, 72, 75], "result": [0, 1, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 18, 20, 24, 25, 27, 28, 30, 33, 34, 36, 41, 42, 44, 45, 47, 48, 49, 51, 53, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 73, 74, 77, 78, 79, 80, 92, 95], "entir": [0, 4, 7, 8, 9, 12, 13, 14, 16, 20, 21, 27, 30, 35, 40, 41, 45, 46, 47, 48, 49, 51, 55, 62, 63, 64, 66, 79, 85, 94], "book": [0, 5, 9, 12, 17, 20, 22, 30, 41, 60, 65, 68, 70, 72, 74, 75, 79, 95, 96], "base": [0, 1, 2, 4, 7, 8, 13, 14, 15, 18, 19, 21, 22, 23, 24, 25, 29, 30, 33, 35, 40, 41, 42, 45, 46, 48, 56, 58, 66, 67, 68, 69, 70, 76, 77, 78, 79, 80, 85, 86, 92, 94, 95, 96], "paper": [0, 8, 48, 68, 74], "philip": 0, "wadler": 0, "you": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 76, 77, 78, 79, 80, 81, 83, 85, 86, 87, 88, 89, 92, 94, 95], "can": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96], "watch": [0, 3, 24, 72, 94, 96], "an": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 57, 58, 59, 61, 63, 64, 65, 66, 67, 69, 70, 72, 74, 75, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 94, 96], "entertain": [0, 67], "record": [0, 4, 8, 13, 14, 25, 28, 29, 30, 34, 36, 40, 41, 44, 46, 47, 56, 64, 67, 69, 70, 80, 85, 89, 91, 92], "lectur": [0, 14, 25, 53, 60, 70, 75], "prof": [0, 79], "addit": [0, 1, 3, 6, 8, 12, 13, 15, 16, 18, 19, 20, 22, 24, 25, 27, 30, 32, 33, 34, 40, 41, 42, 45, 47, 48, 53, 55, 57, 61, 64, 65, 66, 67, 74, 77, 78, 79, 84, 89, 95], "our": [0, 1, 2, 3, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 27, 29, 30, 31, 33, 34, 35, 37, 40, 41, 42, 44, 45, 46, 48, 49, 50, 51, 54, 55, 57, 58, 60, 62, 64, 66, 67, 68, 69, 70, 75, 77, 78, 79, 80, 82, 85, 92], "below": [0, 2, 4, 6, 14, 20, 26, 28, 30, 31, 34, 35, 37, 41, 42, 45, 47, 48, 66, 67, 78, 79, 80, 81, 83, 84, 85, 87, 94, 95], "As": [0, 1, 4, 5, 7, 8, 10, 11, 14, 15, 16, 18, 19, 21, 22, 25, 27, 28, 30, 33, 34, 35, 40, 41, 42, 44, 45, 47, 48, 49, 54, 55, 57, 58, 62, 64, 65, 66, 67, 69, 70, 77, 80, 84, 85, 88, 92, 95], "we": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 91, 92, 93, 94, 95], "observ": [0, 7, 12, 22, 24, 30, 40, 44, 47, 51, 77, 92, 95], "long": [0, 1, 3, 10, 16, 17, 19, 28, 30, 36, 41, 42, 45, 46, 48, 49, 57, 62, 63, 71, 79, 80, 82, 85, 94], "ago": [0, 1, 10, 17, 66], "ocaml": [0, 1, 2, 5, 6, 7, 8, 10, 11, 13, 15, 18, 19, 20, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 42, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 63, 65, 66, 68, 69, 70, 71, 75, 76, 77, 79, 80, 81, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94], "languag": [0, 1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 18, 19, 20, 21, 23, 24, 25, 27, 29, 30, 32, 33, 35, 36, 39, 43, 45, 46, 47, 49, 52, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 81, 82, 83, 85, 86, 89, 90, 92, 94], "ml": [0, 3, 7, 12, 13, 23, 27, 33, 41, 46, 47, 49, 62, 66, 67, 68, 70, 71, 73, 75, 76, 78, 80, 85, 86, 87, 92, 95], "famili": [0, 8, 71, 74, 75, 92], "wa": [0, 1, 3, 4, 7, 8, 10, 12, 14, 15, 17, 18, 25, 27, 30, 33, 35, 40, 41, 42, 44, 45, 46, 47, 48, 55, 58, 62, 63, 64, 66, 67, 69, 70, 71, 72, 73, 77, 79, 80, 81, 84, 85, 92, 94, 95, 96], "origin": [0, 8, 12, 14, 17, 19, 20, 22, 24, 25, 27, 41, 42, 44, 45, 46, 48, 49, 54, 55, 58, 59, 63, 64, 65, 73, 77, 81, 85, 92, 94], "design": [0, 1, 4, 8, 13, 15, 16, 21, 23, 24, 30, 32, 40, 42, 45, 47, 51, 62, 64, 65, 66, 69, 70, 73, 75, 79, 82, 83, 85, 86, 92], "m": [0, 1, 6, 14, 15, 16, 19, 23, 30, 31, 32, 34, 41, 42, 45, 64, 76, 77, 78, 79, 80, 81, 84, 85, 87, 89], "eta": 0, "l": [0, 1, 15, 22, 23, 25, 30, 37, 41, 42, 44, 48, 51, 59, 66, 80, 85, 96], "anguag": 0, "theorem": [0, 15, 19, 24, 48, 73, 74], "prover": [0, 24, 73, 74], "help": [0, 1, 4, 8, 13, 18, 20, 24, 30, 31, 40, 41, 45, 46, 47, 49, 51, 55, 58, 60, 63, 64, 65, 66, 67, 72, 75, 78, 79, 81, 82, 83, 84, 85, 86, 95], "prove": [0, 4, 14, 15, 17, 22, 23, 24, 33, 41, 47, 48, 64, 69, 74], "check": [0, 1, 4, 5, 6, 7, 8, 9, 11, 13, 15, 16, 18, 19, 20, 21, 26, 27, 30, 32, 33, 34, 35, 41, 42, 44, 45, 48, 63, 64, 65, 67, 68, 74, 77, 78, 79, 80, 81, 84, 85, 88, 89, 92, 94], "logic": [0, 15, 16, 17, 19, 23, 24, 31, 56, 60, 64, 83], "formula": [0, 1, 59], "when": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 42, 45, 46, 47, 48, 49, 53, 55, 58, 59, 62, 63, 64, 65, 66, 67, 72, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 91, 92, 94, 95], "construct": [0, 7, 13, 14, 15, 19, 20, 22, 24, 25, 28, 33, 35, 37, 40, 44, 45, 49, 51, 59, 62, 63, 67, 73, 81, 82, 91, 92], "s": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 94, 95], "desir": [0, 7, 19, 20, 42, 49, 67, 85], "make": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 27, 28, 30, 33, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 48, 49, 51, 53, 54, 55, 58, 60, 61, 63, 64, 66, 67, 69, 70, 72, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 94, 95], "sure": [0, 1, 8, 15, 18, 30, 41, 45, 53, 55, 66, 67, 77, 79, 81, 84, 92, 95], "onli": [0, 3, 4, 6, 7, 8, 9, 10, 13, 14, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 56, 58, 62, 63, 64, 66, 67, 69, 73, 74, 77, 78, 79, 80, 81, 82, 84, 85, 92, 94, 95], "true": [0, 5, 6, 7, 8, 13, 14, 18, 20, 25, 28, 30, 31, 34, 35, 40, 41, 42, 45, 47, 48, 53, 54, 55, 62, 63, 64, 66, 67, 69, 74, 76, 77, 79, 80, 82, 85, 90, 92, 95], "don": [0, 1, 3, 4, 7, 8, 10, 12, 13, 14, 16, 18, 19, 20, 22, 25, 31, 32, 33, 35, 36, 42, 45, 47, 48, 49, 55, 58, 59, 62, 63, 64, 65, 67, 69, 74, 77, 78, 79, 81, 84, 86, 87, 91, 92, 94, 95], "t": [0, 1, 2, 3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 71, 72, 74, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 95], "incorrect": [0, 7, 10, 67, 73, 92, 95], "argument": [0, 4, 5, 6, 7, 10, 13, 14, 15, 16, 18, 19, 20, 22, 27, 28, 30, 33, 37, 41, 44, 45, 47, 49, 51, 52, 53, 56, 57, 58, 62, 64, 65, 67, 77, 78, 79, 80, 87, 92], "etc": [0, 1, 5, 7, 8, 9, 12, 13, 14, 18, 21, 30, 33, 34, 35, 39, 41, 45, 47, 53, 56, 62, 63, 64, 66, 67, 74, 76, 78, 79, 80, 81, 83, 85, 92, 94], "dream": 0, "would": [0, 1, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 26, 27, 30, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 53, 55, 56, 58, 59, 62, 63, 64, 65, 66, 67, 69, 73, 76, 77, 78, 79, 80, 81, 84, 85, 92, 95], "have": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 94, 95, 96], "determin": [0, 4, 7, 13, 15, 18, 20, 22, 27, 28, 30, 31, 37, 41, 42, 48, 53, 64, 65, 69, 80, 85], "truth": [0, 8, 17, 20, 23, 40], "falsiti": 0, "ani": [0, 1, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 16, 18, 19, 22, 24, 25, 27, 28, 30, 32, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 53, 55, 56, 57, 60, 61, 62, 63, 64, 65, 67, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 94, 95], "For": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 27, 28, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 53, 55, 58, 62, 63, 64, 65, 66, 67, 69, 76, 77, 78, 79, 80, 81, 84, 85, 87, 91, 92, 93, 94, 95], "some": [0, 1, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 54, 55, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 74, 75, 76, 77, 78, 79, 80, 81, 83, 85, 86, 87, 89, 90, 91, 92, 93, 94, 95], "possibl": [0, 1, 4, 5, 7, 8, 13, 14, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 32, 33, 35, 37, 39, 41, 42, 44, 45, 46, 47, 48, 49, 55, 57, 58, 62, 64, 65, 67, 69, 76, 77, 78, 79, 80, 81, 85, 89, 92, 94, 95], "But": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 27, 30, 32, 33, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 72, 74, 75, 76, 77, 79, 80, 81, 82, 84, 85, 86, 87, 90, 92, 93, 94, 95], "groundbreak": 0, "earli": [0, 18, 21, 33, 41, 73, 79, 82], "20th": [0, 41], "centuri": [0, 67], "gener": [0, 1, 3, 8, 9, 13, 14, 15, 16, 17, 19, 21, 22, 23, 25, 27, 30, 34, 40, 44, 45, 48, 51, 53, 57, 58, 60, 63, 64, 65, 67, 68, 71, 76, 80, 82, 85, 86, 88], "do": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 32, 33, 35, 36, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 60, 62, 63, 64, 65, 66, 67, 69, 71, 72, 74, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 91, 92, 94, 95], "alonzo": 0, "church": [0, 67], "alan": [0, 72], "ture": [0, 8, 60, 67, 72, 73, 85], "independ": [0, 1, 8, 24, 36, 44, 64, 65, 73, 78, 80, 82, 85, 96], "show": [0, 1, 3, 7, 13, 14, 16, 19, 20, 22, 33, 40, 47, 48, 53, 63, 64, 67, 69, 72, 77, 78, 79, 80, 85, 92], "1936": 0, "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 51, 52, 53, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 70, 73, 74, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94], "lambda": [0, 1, 8, 11, 54, 58, 64, 67, 68], "calculu": [0, 8, 23, 64, 67, 68], "model": [0, 8, 45, 63, 64, 68, 70, 74, 95], "now": [0, 1, 3, 4, 7, 8, 12, 13, 14, 16, 17, 18, 19, 20, 22, 25, 27, 29, 30, 31, 33, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 54, 55, 58, 60, 62, 63, 64, 66, 67, 69, 77, 78, 79, 80, 81, 84, 85, 87, 90, 91, 92, 94, 95, 96], "call": [0, 1, 3, 4, 5, 7, 8, 10, 11, 12, 13, 15, 16, 18, 19, 25, 27, 28, 29, 30, 32, 33, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 57, 58, 62, 63, 64, 65, 66, 67, 68, 69, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 84, 85, 87, 92, 95], "machin": [0, 1, 7, 8, 16, 17, 57, 62, 65, 67, 68, 72, 74, 78, 94, 95], "thesi": 0, "hypothesi": [0, 4, 19, 22, 23, 24, 67], "sai": [0, 1, 3, 5, 8, 9, 13, 16, 18, 19, 24, 25, 28, 30, 33, 42, 45, 46, 47, 54, 56, 58, 62, 64, 66, 67, 69, 72, 74, 77, 81, 85, 86, 90, 91, 95], "both": [0, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 27, 28, 30, 34, 35, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 51, 52, 55, 56, 57, 58, 62, 64, 67, 69, 76, 77, 78, 79, 80, 81, 82, 83, 85, 87, 92, 95], "formal": [0, 1, 4, 17, 19, 23, 24, 63, 64, 66, 67, 69, 80, 92], "inform": [0, 4, 7, 8, 13, 16, 18, 21, 24, 27, 33, 35, 42, 64, 66, 74, 76, 77, 80, 82, 83, 86, 89, 92, 95], "instead": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 19, 20, 21, 22, 23, 25, 27, 28, 30, 33, 35, 36, 40, 41, 42, 45, 46, 47, 49, 51, 52, 53, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 76, 77, 79, 80, 81, 84, 85, 88, 89, 92, 94, 95], "focus": [0, 75], "imposs": [0, 4, 8, 19, 25, 28, 45, 47, 74, 80], "task": [0, 7, 17, 19, 24, 30, 41, 65, 69, 74, 82, 96], "re": [0, 1, 3, 4, 5, 7, 8, 10, 11, 12, 13, 16, 17, 18, 19, 20, 22, 27, 30, 33, 35, 36, 39, 40, 41, 42, 45, 47, 49, 51, 58, 62, 63, 64, 65, 66, 67, 69, 74, 76, 77, 78, 79, 80, 81, 84, 85, 86, 87, 90, 92, 94, 95], "go": [0, 1, 2, 3, 4, 7, 8, 10, 12, 13, 14, 15, 16, 17, 19, 25, 30, 33, 35, 36, 40, 41, 42, 45, 46, 47, 48, 49, 51, 55, 58, 59, 61, 63, 64, 65, 66, 67, 71, 72, 74, 75, 77, 83, 84, 85, 92, 94, 95], "focu": [0, 4, 8, 9, 24, 48, 65, 83, 84, 94], "relationship": [0, 18, 30, 48, 69, 80, 83, 85, 92], "between": [0, 1, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 28, 30, 33, 35, 41, 46, 47, 48, 49, 52, 53, 55, 56, 58, 59, 62, 64, 65, 66, 67, 69, 71, 74, 76, 79, 80, 82, 83, 85, 87, 88, 92, 95], "turn": [0, 6, 8, 10, 13, 15, 18, 19, 22, 27, 32, 40, 42, 44, 45, 47, 49, 55, 64, 67, 76, 80, 84, 85, 91, 95], "out": [0, 1, 4, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 27, 28, 30, 32, 33, 35, 40, 41, 42, 44, 45, 46, 47, 48, 49, 54, 55, 56, 58, 60, 63, 64, 65, 66, 67, 69, 70, 72, 74, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 91, 92, 94, 95, 96], "two": [0, 1, 2, 3, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 31, 32, 33, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 58, 60, 62, 63, 64, 65, 66, 67, 69, 70, 73, 76, 78, 79, 80, 81, 83, 84, 85, 86, 87, 89, 91, 92, 94, 95], "ar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 69, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 94, 95, 96], "deepli": [0, 24, 30], "connect": [0, 4, 44, 94, 95], "surpris": [0, 5, 8, 12, 39, 55, 58, 60, 64, 66, 67, 71, 72, 74, 79, 85], "wai": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 16, 18, 19, 20, 24, 25, 30, 32, 34, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 88, 91, 92, 94, 95], "accustom": [0, 85, 95], "manipul": [0, 8, 13, 14, 15, 18, 19, 20, 23, 31, 49, 55, 65, 74, 85], "data": [0, 1, 3, 8, 14, 15, 18, 20, 22, 23, 24, 26, 30, 33, 35, 36, 37, 39, 40, 42, 44, 45, 46, 47, 48, 49, 50, 51, 55, 56, 57, 58, 59, 60, 62, 65, 66, 70, 74, 77, 78, 80, 84, 85, 86, 90, 92, 93, 94, 96], "integ": [0, 1, 4, 5, 6, 7, 8, 13, 15, 16, 19, 20, 22, 28, 30, 32, 33, 34, 41, 42, 44, 45, 56, 58, 62, 64, 66, 67, 69, 74, 77, 78, 79, 80, 85, 88, 92, 95], "variant": [0, 10, 28, 29, 31, 36, 41, 44, 48, 51, 56, 63, 66, 67, 69, 73, 75, 79, 80, 85, 92], "function": [0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 19, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 36, 37, 40, 41, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 74, 75, 76, 77, 78, 80, 81, 82, 83, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96], "those": [0, 1, 3, 4, 5, 6, 7, 8, 10, 13, 14, 18, 19, 20, 21, 22, 24, 25, 27, 29, 30, 32, 34, 35, 36, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 53, 55, 58, 59, 60, 63, 64, 65, 66, 67, 69, 72, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 91, 92, 94, 95], "valu": [0, 4, 5, 6, 8, 10, 11, 13, 14, 15, 16, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 59, 62, 63, 64, 66, 67, 68, 69, 72, 74, 75, 77, 78, 79, 80, 81, 84, 85, 86, 87, 88, 89, 90, 91, 92], "alwai": [0, 1, 7, 8, 10, 12, 14, 16, 17, 18, 19, 20, 30, 33, 40, 42, 45, 46, 47, 48, 49, 51, 55, 64, 69, 70, 74, 78, 79, 80, 81, 85, 88, 92, 94], "compil": [0, 1, 5, 7, 8, 9, 10, 12, 13, 16, 18, 20, 21, 23, 24, 27, 30, 31, 33, 41, 45, 47, 55, 57, 63, 64, 65, 66, 67, 68, 69, 70, 74, 77, 85, 86, 92, 94, 95, 96], "time": [0, 1, 3, 4, 7, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 24, 26, 27, 28, 30, 33, 35, 37, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 53, 54, 55, 56, 58, 59, 61, 62, 63, 64, 65, 66, 67, 69, 70, 72, 73, 74, 75, 77, 78, 79, 80, 85, 87, 88, 91, 92, 94, 95], "infer": [0, 7, 8, 11, 30, 35, 55, 63, 68, 69, 71, 74, 77, 80, 85, 92], "programm": [0, 4, 5, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 23, 24, 27, 30, 32, 35, 39, 47, 48, 55, 56, 60, 64, 65, 67, 71, 72, 74, 75, 76, 77, 79, 80, 82, 83, 84, 85, 92], "annot": [0, 8, 10, 16, 25, 31, 34, 38, 45, 47, 55, 63, 64, 66, 68, 76, 77, 80, 81, 84, 85, 94, 95], "express": [0, 1, 3, 6, 8, 9, 10, 11, 12, 13, 14, 16, 19, 20, 22, 25, 27, 28, 30, 31, 32, 34, 35, 36, 40, 41, 45, 47, 49, 52, 53, 55, 56, 58, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 74, 77, 78, 79, 80, 81, 85, 86, 87, 88, 89, 92], "exampl": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 18, 19, 20, 22, 23, 25, 26, 27, 28, 30, 32, 35, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 51, 53, 55, 56, 57, 58, 62, 63, 64, 65, 67, 69, 73, 77, 78, 79, 81, 82, 84, 85, 86, 87, 88, 89, 93, 94, 95], "3110": [0, 2, 6, 7, 15, 28, 42, 63, 66, 67, 89, 94, 95, 96], "int": [0, 6, 7, 8, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 26, 27, 28, 30, 31, 32, 34, 35, 37, 39, 41, 42, 44, 45, 46, 47, 49, 51, 52, 53, 54, 55, 56, 58, 59, 62, 63, 64, 66, 67, 69, 76, 77, 78, 79, 80, 81, 84, 85, 87, 88, 89, 91, 92, 95], "list": [0, 1, 5, 8, 13, 14, 15, 16, 18, 20, 23, 25, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 49, 50, 53, 54, 55, 56, 58, 59, 60, 63, 64, 65, 66, 67, 69, 76, 77, 78, 80, 81, 85, 87, 88, 89, 95], "learn": [0, 1, 4, 8, 9, 10, 11, 12, 14, 17, 19, 27, 29, 30, 33, 35, 40, 43, 46, 51, 58, 60, 64, 67, 69, 70, 71, 72, 74, 76, 77, 85, 86, 91, 92, 94], "read": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 21, 30, 34, 41, 45, 47, 48, 49, 55, 59, 63, 64, 65, 66, 67, 69, 72, 74, 76, 77, 84, 85, 92, 94, 96], "ha": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 26, 27, 28, 30, 32, 33, 34, 35, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 60, 62, 64, 65, 66, 67, 68, 69, 70, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 88, 89, 91, 92, 94, 95], "let": [0, 1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 58, 59, 61, 62, 63, 66, 67, 68, 69, 72, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 87, 88, 89, 91, 92, 94, 95], "try": [0, 1, 3, 4, 7, 8, 12, 13, 14, 15, 16, 17, 19, 22, 24, 27, 35, 40, 41, 44, 45, 47, 49, 55, 63, 64, 67, 69, 76, 78, 80, 81, 85, 89, 93, 94, 95], "differ": [0, 1, 4, 6, 7, 8, 9, 10, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 25, 30, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 54, 55, 58, 60, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 74, 76, 78, 79, 80, 81, 82, 83, 85, 86, 87, 91, 92, 94, 95], "so": [0, 1, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 30, 32, 33, 34, 35, 36, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 69, 72, 73, 74, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 94, 95], "doe": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 25, 26, 27, 28, 30, 32, 33, 34, 35, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 52, 53, 54, 55, 57, 58, 63, 64, 65, 66, 67, 69, 70, 71, 74, 76, 77, 79, 80, 81, 82, 85, 87, 89, 90, 91, 92, 93, 94, 95], "think": [0, 1, 4, 5, 7, 8, 9, 12, 13, 14, 17, 18, 19, 20, 23, 24, 25, 28, 30, 32, 41, 42, 44, 45, 47, 48, 49, 51, 53, 55, 56, 58, 62, 63, 64, 65, 66, 67, 72, 76, 77, 80, 82, 83, 84, 85, 86, 90, 92, 94, 95], "set": [0, 1, 2, 9, 13, 14, 15, 18, 25, 28, 30, 33, 34, 35, 41, 42, 43, 44, 45, 47, 50, 52, 56, 64, 66, 67, 69, 70, 78, 80, 81, 83, 84, 85, 86, 92], "empti": [0, 5, 13, 14, 15, 18, 20, 22, 25, 27, 28, 30, 32, 33, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 53, 55, 58, 62, 63, 64, 66, 69, 72, 76, 77, 78, 79, 80, 81, 85, 89, 91, 92], "likewis": [0, 1, 5, 7, 8, 19, 22, 30, 45, 64, 69, 77, 79, 80, 84], "inhabit": 0, "There": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 18, 19, 21, 22, 24, 25, 26, 27, 28, 30, 32, 33, 35, 39, 40, 41, 42, 44, 45, 46, 47, 48, 51, 53, 56, 58, 62, 63, 64, 66, 67, 69, 71, 74, 76, 77, 78, 79, 80, 84, 85, 86, 87, 92, 95, 96], "actual": [0, 1, 7, 8, 10, 12, 13, 14, 16, 17, 18, 20, 21, 22, 24, 25, 26, 27, 30, 32, 33, 34, 35, 36, 40, 41, 42, 44, 47, 48, 49, 52, 55, 56, 58, 62, 64, 65, 66, 67, 69, 76, 77, 79, 80, 81, 85, 86, 87, 91, 92, 94, 95], "though": [0, 2, 5, 7, 8, 9, 10, 12, 14, 19, 21, 22, 24, 25, 27, 30, 31, 35, 37, 39, 40, 42, 45, 46, 47, 48, 49, 56, 63, 64, 65, 66, 67, 69, 75, 77, 79, 80, 81, 84, 85, 90, 92, 95], "ve": [0, 4, 5, 7, 8, 9, 11, 13, 14, 17, 18, 19, 20, 22, 25, 27, 30, 33, 34, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 55, 56, 58, 59, 62, 63, 64, 66, 67, 68, 69, 72, 76, 77, 79, 80, 81, 83, 84, 85, 90, 91, 92, 94, 95], "never": [0, 1, 5, 7, 8, 10, 13, 14, 18, 19, 24, 25, 27, 30, 40, 41, 42, 44, 45, 46, 47, 49, 51, 54, 62, 64, 65, 67, 69, 71, 76, 77, 78, 79, 85, 90, 92, 95], "had": [0, 1, 7, 12, 14, 17, 25, 33, 40, 41, 44, 45, 46, 47, 51, 55, 57, 64, 67, 70, 71, 74, 77, 78, 79, 80, 81, 85, 87, 92, 94], "reason": [0, 1, 3, 7, 8, 10, 14, 18, 21, 22, 23, 24, 30, 33, 40, 42, 45, 47, 49, 58, 60, 62, 64, 66, 67, 74, 76, 77, 80, 81, 82, 85, 86, 90, 91, 92, 93, 94, 95], "mention": [0, 18, 25, 41, 44, 58, 67, 77, 81, 83, 92], "befor": [0, 1, 4, 5, 7, 8, 9, 10, 12, 13, 16, 18, 19, 20, 22, 24, 25, 27, 28, 29, 33, 34, 35, 37, 40, 41, 44, 45, 46, 47, 48, 49, 51, 55, 58, 63, 64, 65, 67, 71, 74, 76, 77, 78, 79, 80, 85, 90, 92, 93, 95], "defin": [0, 1, 6, 7, 8, 9, 12, 14, 15, 16, 18, 19, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 44, 45, 47, 52, 53, 55, 56, 58, 62, 63, 64, 65, 66, 69, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 89, 92], "constructor": [0, 22, 25, 27, 28, 30, 31, 32, 35, 36, 39, 41, 42, 48, 49, 51, 55, 63, 65, 66, 67, 69, 80, 83, 85, 88, 92], "could": [0, 1, 3, 4, 5, 7, 8, 9, 10, 13, 14, 15, 16, 18, 19, 20, 24, 25, 28, 30, 33, 35, 38, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 55, 56, 57, 58, 63, 64, 65, 66, 67, 68, 72, 73, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 87, 90, 92, 94, 95], "anyth": [0, 4, 8, 10, 12, 16, 21, 25, 30, 32, 33, 41, 45, 47, 62, 64, 67, 77, 95], "want": [0, 1, 2, 3, 4, 7, 8, 9, 10, 12, 13, 16, 17, 18, 19, 20, 22, 25, 27, 30, 32, 33, 35, 36, 41, 42, 44, 45, 46, 47, 49, 51, 52, 54, 55, 58, 59, 62, 63, 64, 65, 66, 67, 69, 71, 77, 78, 79, 80, 81, 85, 87, 92, 94, 95], "special": [0, 3, 5, 7, 10, 20, 29, 30, 34, 41, 47, 62, 64, 65, 66, 77, 78, 80, 85], "syntax": [0, 3, 7, 8, 9, 10, 11, 12, 22, 23, 27, 28, 32, 34, 35, 36, 39, 42, 45, 47, 49, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 79, 84, 85, 88, 91, 95], "just": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 18, 19, 20, 22, 24, 25, 26, 27, 28, 30, 33, 34, 35, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 72, 74, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 92, 94, 95], "write": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 31, 32, 33, 35, 37, 39, 41, 42, 44, 45, 47, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 60, 62, 63, 64, 66, 67, 69, 72, 74, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 89, 91, 92, 94], "note": [0, 1, 3, 5, 6, 7, 8, 9, 12, 14, 15, 16, 18, 19, 20, 26, 27, 28, 30, 35, 41, 42, 46, 47, 48, 49, 51, 54, 59, 62, 63, 64, 66, 67, 69, 70, 76, 77, 78, 79, 80, 84, 85, 87, 91, 92, 94, 95, 96], "might": [0, 1, 3, 4, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 22, 24, 25, 27, 29, 30, 31, 32, 33, 36, 38, 39, 40, 41, 42, 45, 46, 47, 48, 49, 55, 56, 57, 58, 59, 60, 62, 64, 65, 66, 67, 68, 69, 72, 74, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 89, 90, 92, 94, 95], "give": [0, 1, 3, 8, 9, 10, 13, 16, 17, 24, 25, 28, 30, 33, 38, 40, 41, 47, 48, 55, 58, 64, 67, 72, 74, 76, 77, 78, 79, 82, 84, 89, 92, 95], "editor": [0, 3, 4, 16, 33, 47, 94, 95], "troubl": [0, 8, 12, 40, 64, 84, 95], "need": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 30, 31, 33, 34, 35, 36, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 55, 56, 57, 58, 62, 63, 64, 65, 66, 67, 69, 71, 74, 76, 77, 78, 79, 80, 81, 82, 84, 85, 92, 94, 95], "put": [0, 1, 3, 7, 8, 10, 12, 33, 41, 42, 45, 47, 55, 58, 64, 66, 69, 73, 75, 76, 78, 79, 85, 87, 90, 92, 95], "doubl": [0, 1, 3, 5, 6, 7, 10, 12, 18, 20, 30, 40, 41, 42, 48, 53, 56, 63], "semicolon": [0, 3, 12, 45, 65, 92, 95], "after": [0, 4, 5, 7, 8, 10, 16, 19, 20, 27, 28, 29, 30, 33, 35, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 55, 57, 61, 62, 65, 66, 67, 68, 69, 70, 71, 72, 76, 78, 79, 85, 88, 92, 94, 95], "get": [0, 1, 3, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 27, 28, 30, 33, 34, 35, 40, 41, 42, 45, 46, 47, 48, 49, 51, 55, 58, 59, 61, 63, 64, 66, 67, 69, 71, 74, 77, 78, 79, 80, 81, 83, 85, 86, 87, 88, 89, 92, 95], "format": [0, 3, 5, 9, 10, 15, 19, 24, 30, 66, 75, 77, 78, 84, 94], "right": [0, 1, 3, 7, 8, 9, 10, 12, 17, 18, 19, 20, 22, 25, 26, 27, 28, 30, 32, 34, 35, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 58, 59, 62, 63, 64, 65, 66, 67, 72, 77, 78, 79, 80, 81, 85, 87, 89, 92, 94, 95], "exactli": [0, 4, 7, 8, 13, 18, 20, 25, 27, 28, 30, 35, 37, 40, 41, 42, 45, 47, 48, 55, 57, 63, 66, 67, 69, 76, 77, 78, 80, 85, 86, 87, 95], "becaus": [0, 1, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 55, 56, 58, 62, 63, 64, 65, 66, 67, 69, 72, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 91, 92, 94, 95], "under": [0, 5, 7, 8, 10, 15, 19, 20, 34, 42, 47, 55, 58, 64, 95, 96], "new": [0, 1, 2, 3, 7, 8, 9, 13, 14, 15, 17, 18, 20, 21, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 53, 55, 56, 58, 60, 62, 63, 64, 65, 67, 69, 70, 71, 72, 74, 75, 77, 78, 79, 80, 81, 83, 85, 86, 87, 88, 90, 91, 92, 93, 95], "about": [0, 1, 2, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 28, 29, 30, 32, 33, 34, 35, 40, 41, 42, 43, 45, 47, 48, 49, 51, 53, 55, 56, 57, 58, 59, 61, 62, 64, 65, 66, 67, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 90, 92, 93, 95, 96], "transform": [0, 8, 12, 19, 30, 33, 42, 45, 47, 48, 53, 55, 56, 58, 65, 66, 67], "alreadi": [0, 1, 2, 3, 4, 5, 8, 9, 12, 14, 18, 19, 25, 26, 27, 28, 30, 34, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 52, 55, 58, 62, 64, 67, 69, 72, 76, 77, 78, 79, 80, 85, 87, 90, 91, 92, 94, 95], "follow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 14, 16, 18, 19, 20, 22, 24, 25, 27, 28, 30, 31, 33, 34, 35, 38, 39, 40, 41, 42, 45, 46, 47, 48, 49, 53, 56, 58, 62, 63, 64, 65, 66, 67, 70, 76, 77, 78, 79, 80, 81, 83, 85, 87, 88, 89, 91, 92, 94, 95], "destruct": [0, 62, 74, 79, 91], "pair": [0, 4, 13, 14, 15, 18, 19, 23, 24, 25, 26, 27, 28, 31, 34, 35, 36, 42, 45, 46, 52, 53, 56, 62, 63, 67, 76, 77, 78, 79, 80], "x": [0, 4, 6, 7, 8, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 27, 28, 30, 33, 34, 35, 37, 38, 39, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 58, 59, 62, 63, 64, 65, 66, 67, 69, 74, 76, 77, 78, 79, 80, 81, 84, 85, 87, 88, 89, 91, 92, 95], "y": [0, 6, 7, 8, 13, 14, 15, 16, 19, 22, 28, 33, 34, 35, 44, 45, 46, 47, 48, 52, 55, 56, 62, 63, 64, 66, 67, 74, 76, 77, 78, 80, 81, 84, 85, 87, 89, 91, 92, 95], "fst": [0, 34, 42, 52, 62, 63, 67, 79], "snd": [0, 34, 52, 62, 67, 77], "val": [0, 7, 8, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 26, 28, 30, 31, 32, 34, 35, 37, 38, 39, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 56, 58, 59, 64, 69, 76, 77, 78, 79, 80, 81, 84, 85, 87, 88, 89, 91, 92], "b": [0, 7, 8, 14, 15, 16, 19, 22, 23, 25, 26, 27, 28, 30, 34, 38, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 58, 62, 63, 64, 66, 67, 69, 77, 79, 80, 81, 84, 85, 87, 89, 92], "fun": [0, 1, 3, 6, 7, 8, 10, 12, 13, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 37, 38, 39, 41, 42, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 58, 59, 62, 63, 64, 65, 67, 77, 79, 80, 81, 84, 85, 87, 89, 91, 92, 95], "take": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 20, 22, 24, 25, 28, 30, 32, 33, 36, 37, 40, 41, 42, 43, 44, 45, 46, 47, 49, 51, 52, 53, 55, 56, 57, 58, 59, 63, 64, 65, 66, 67, 69, 70, 71, 77, 78, 79, 80, 82, 84, 85, 86, 92, 94, 95], "back": [0, 4, 8, 11, 15, 17, 20, 22, 25, 30, 33, 35, 40, 41, 42, 45, 47, 48, 49, 55, 58, 62, 63, 64, 65, 67, 68, 69, 70, 76, 77, 79, 80, 85, 92, 95], "That": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 24, 25, 27, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 53, 55, 58, 62, 64, 65, 66, 67, 69, 72, 74, 76, 77, 78, 79, 80, 81, 83, 85, 86, 87, 88, 92, 95], "latter": [0, 1, 6, 7, 8, 14, 18, 23, 24, 30, 40, 45, 47, 51, 58, 66, 69, 77, 84, 87, 94], "piec": [0, 3, 4, 7, 9, 12, 17, 18, 19, 20, 22, 23, 24, 25, 27, 30, 33, 35, 42, 49, 61, 64, 65, 66, 67, 79, 82, 83], "individu": [0, 4, 7, 18, 20, 25, 33, 34, 39, 40, 46, 55, 56, 64, 66, 67, 79, 94], "similarli": [0, 8, 14, 16, 18, 31, 42, 45, 47, 49, 56, 64, 66, 67, 79, 80, 85, 92], "extract": [0, 5, 28, 30, 32, 41, 45, 47, 49, 79, 80], "from": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 47, 49, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 91, 92, 93, 94, 95], "thu": [0, 5, 7, 8, 13, 14, 19, 22, 25, 30, 32, 33, 35, 39, 40, 41, 42, 44, 45, 47, 48, 51, 55, 58, 62, 64, 65, 66, 67, 69, 77, 79, 80, 83, 85, 87, 92, 93], "If": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 32, 33, 34, 35, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 55, 58, 62, 63, 64, 66, 67, 69, 71, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88, 92, 94, 95], "produc": [0, 1, 3, 6, 7, 8, 12, 13, 18, 19, 20, 23, 25, 27, 30, 32, 33, 34, 35, 39, 41, 42, 45, 46, 47, 49, 53, 58, 59, 62, 63, 64, 65, 66, 67, 69, 74, 78, 79, 80, 83, 87, 89, 92, 94], "In": [0, 1, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 27, 29, 30, 32, 33, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 53, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 90, 91, 92, 94, 95], "discret": [0, 17, 23, 66, 68, 69, 82, 94], "mathemat": [0, 1, 4, 5, 7, 8, 9, 16, 17, 18, 19, 22, 23, 24, 30, 31, 42, 45, 49, 53, 58, 62, 64, 66, 67, 68, 69, 73, 74, 76, 94], "class": [0, 1, 4, 8, 10, 13, 23, 30, 45, 47, 64, 66, 71, 72, 74, 75, 76, 77, 79, 80, 81, 82, 83, 86, 92], "order": [0, 1, 8, 13, 15, 19, 20, 27, 28, 30, 34, 35, 36, 37, 41, 42, 45, 47, 48, 49, 51, 52, 53, 55, 58, 59, 60, 63, 64, 65, 66, 77, 78, 79, 80, 81, 82, 85, 91, 92, 94], "statement": [0, 1, 4, 7, 10, 40, 45, 47, 72, 78, 81, 85], "hold": [0, 7, 14, 16, 18, 19, 20, 30, 34, 35, 40, 41, 42, 45, 47, 64, 67, 69, 78, 82, 85, 92], "each": [0, 1, 3, 6, 7, 8, 10, 13, 14, 15, 18, 19, 20, 22, 24, 25, 28, 30, 33, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 55, 56, 58, 60, 63, 64, 65, 66, 67, 69, 77, 78, 79, 80, 81, 82, 85, 86, 87, 88, 89, 92, 94, 95], "conjunct": [0, 7, 15, 19, 88], "must": [0, 1, 4, 5, 6, 7, 8, 10, 12, 13, 14, 16, 18, 19, 21, 22, 24, 25, 27, 28, 30, 34, 35, 39, 40, 41, 42, 45, 46, 47, 48, 49, 53, 62, 64, 65, 66, 67, 69, 76, 79, 80, 81, 82, 84, 85, 91, 92, 95], "well": [0, 1, 4, 5, 7, 8, 9, 13, 15, 16, 18, 19, 20, 21, 23, 24, 30, 41, 42, 45, 46, 47, 49, 51, 55, 58, 63, 64, 66, 67, 68, 69, 71, 73, 74, 77, 78, 79, 80, 81, 82, 85, 92, 94, 95], "conclud": [0, 8, 14, 19, 34, 40, 64], "pattern": [0, 13, 20, 22, 25, 28, 29, 32, 35, 36, 37, 40, 41, 45, 48, 49, 50, 51, 52, 55, 56, 57, 58, 63, 64, 65, 67, 69, 71, 74, 77, 79], "denot": [0, 8, 25, 49, 62, 66, 67, 85], "implic": [0, 13, 15, 42, 95], "form": [0, 3, 6, 8, 9, 13, 14, 15, 18, 19, 21, 23, 25, 27, 30, 34, 35, 39, 42, 45, 46, 48, 53, 59, 60, 63, 64, 67, 68, 69, 78, 80, 82, 83, 85, 94, 96], "thei": [0, 1, 2, 3, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 70, 73, 74, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 94, 95, 96], "anoth": [0, 1, 2, 5, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 30, 33, 35, 38, 40, 41, 42, 45, 46, 47, 48, 49, 52, 53, 56, 58, 59, 64, 66, 67, 70, 73, 76, 77, 79, 80, 81, 83, 85, 92, 94, 95], "notic": [0, 6, 8, 18, 20, 25, 27, 30, 33, 37, 40, 44, 45, 47, 48, 49, 55, 58, 64, 65, 76, 77, 78, 80, 84, 85], "how": [0, 1, 3, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 27, 28, 30, 31, 32, 33, 34, 35, 37, 39, 41, 42, 43, 44, 45, 46, 47, 48, 51, 52, 53, 54, 55, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 74, 75, 76, 77, 78, 79, 81, 82, 84, 85, 87, 92, 94, 95], "given": [0, 6, 7, 8, 9, 12, 13, 14, 18, 20, 21, 26, 27, 28, 30, 32, 33, 34, 35, 39, 42, 44, 47, 48, 53, 56, 64, 67, 78, 80, 83, 84, 86, 91, 92, 95], "same": [0, 1, 3, 4, 5, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 20, 22, 25, 26, 27, 28, 30, 34, 35, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 56, 58, 59, 62, 64, 65, 66, 67, 68, 69, 70, 74, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 91, 92, 94, 95], "fact": [0, 1, 4, 6, 7, 8, 13, 14, 16, 17, 19, 20, 22, 24, 25, 30, 33, 34, 40, 45, 47, 48, 49, 53, 58, 59, 62, 63, 64, 67, 72, 77, 79, 80, 81, 83, 84, 85, 90, 91, 92], "close": [0, 2, 6, 15, 18, 19, 20, 21, 32, 33, 40, 41, 42, 48, 55, 59, 66, 70, 81, 85, 94, 95], "look": [0, 4, 7, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22, 26, 30, 33, 35, 40, 41, 42, 43, 44, 45, 46, 47, 49, 55, 58, 62, 64, 65, 66, 67, 69, 77, 78, 79, 80, 81, 82, 85, 91, 92, 94, 95], "compar": [0, 1, 6, 8, 9, 18, 19, 20, 22, 24, 28, 37, 41, 42, 44, 45, 47, 48, 51, 53, 59, 63, 64, 78, 79, 80, 81, 83, 84, 85, 92], "describ": [0, 2, 3, 5, 7, 8, 14, 16, 18, 19, 21, 41, 42, 47, 66, 68, 76, 78, 83, 87, 95], "valid": [0, 4, 6, 14, 16, 18, 19, 23, 28, 34, 44, 53, 66, 73, 85], "replac": [0, 1, 7, 8, 19, 33, 42, 45, 48, 51, 53, 55, 64, 65, 66, 67, 69, 74, 77, 81, 84, 92], "ident": [0, 7, 8, 14, 18, 19, 23, 41, 45, 50, 51, 55, 64, 67, 80, 81, 92], "discov": [0, 4, 9, 15, 16, 19, 24, 33, 45, 49, 54, 55, 58, 64, 67, 85, 95], "accid": [0, 8, 30, 45, 47, 54], "occur": [0, 4, 5, 6, 7, 8, 12, 15, 17, 18, 22, 30, 37, 39, 40, 41, 42, 45, 46, 47, 48, 58, 62, 63, 64, 65, 66, 67, 69, 74, 78, 79, 81, 85, 92, 95], "three": [0, 1, 4, 5, 6, 7, 8, 13, 17, 18, 19, 20, 24, 27, 28, 30, 31, 33, 35, 40, 41, 42, 45, 46, 47, 51, 53, 55, 56, 63, 65, 66, 67, 78, 79, 88, 94, 95], "specif": [0, 4, 8, 13, 15, 17, 18, 20, 23, 24, 27, 28, 30, 33, 41, 44, 45, 47, 48, 49, 58, 65, 70, 71, 76, 77, 78, 80, 81, 82, 85, 86, 95], "rather": [0, 1, 2, 3, 4, 5, 7, 8, 9, 12, 15, 18, 19, 22, 24, 25, 27, 30, 33, 35, 36, 40, 42, 44, 45, 47, 49, 55, 58, 59, 61, 63, 64, 66, 67, 69, 70, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 91, 92, 95], "deep": [0, 8, 10, 49, 50], "phenomenon": [0, 7, 48, 64], "link": [0, 3, 13, 23, 25, 30, 33, 35, 36, 42, 46, 49, 58, 79, 85, 95], "field": [0, 20, 28, 35, 36, 41, 45, 47, 65, 71, 77, 78, 79, 81, 89, 92, 93], "aspect": [0, 8, 9, 18, 46, 86], "been": [0, 1, 3, 5, 7, 8, 9, 12, 13, 14, 16, 17, 18, 19, 20, 24, 25, 34, 39, 40, 42, 44, 45, 46, 47, 48, 49, 50, 54, 57, 58, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 76, 77, 78, 80, 81, 83, 85, 87, 92, 94, 95], "mani": [0, 1, 3, 4, 8, 9, 10, 13, 14, 15, 16, 18, 20, 21, 23, 24, 25, 27, 28, 29, 30, 33, 35, 36, 40, 41, 42, 44, 45, 47, 49, 53, 54, 55, 56, 58, 63, 64, 65, 66, 67, 69, 70, 73, 74, 76, 79, 80, 82, 83, 85, 86, 88, 89, 90, 92, 94, 95], "peopl": [0, 1, 6, 16, 21, 24, 33, 52, 58, 64, 67], "work": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13, 14, 15, 16, 18, 19, 20, 22, 23, 24, 25, 28, 30, 32, 33, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 55, 56, 58, 63, 64, 65, 67, 70, 73, 74, 76, 77, 78, 80, 81, 82, 83, 84, 85, 87, 92, 95, 96], "area": [0, 6, 25, 56, 64, 80], "goe": [0, 7, 8, 21, 25, 33, 40, 41, 42, 45, 47, 55, 65, 74, 76, 82], "name": [0, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 16, 18, 19, 20, 23, 25, 26, 27, 28, 30, 33, 34, 35, 37, 38, 39, 41, 42, 44, 45, 47, 52, 54, 55, 56, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 76, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 91, 95], "One": [0, 1, 7, 8, 9, 12, 13, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28, 35, 40, 41, 42, 44, 45, 47, 48, 51, 55, 58, 63, 64, 66, 67, 76, 77, 79, 81, 82, 84, 85, 86, 87, 90, 92, 94], "common": [0, 1, 4, 9, 10, 12, 13, 16, 19, 21, 23, 24, 27, 28, 30, 42, 44, 48, 55, 58, 65, 72, 74, 77, 78, 81, 83, 85, 95, 96], "logician": [0, 52], "haskel": [0, 23, 30, 32, 33, 45, 47, 49, 52, 67, 71, 73, 74], "whom": 0, "william": 0, "idea": [0, 1, 4, 5, 6, 8, 9, 10, 11, 13, 14, 17, 18, 22, 24, 25, 40, 41, 42, 44, 45, 46, 47, 49, 54, 55, 56, 58, 59, 60, 62, 64, 66, 67, 69, 70, 72, 73, 77, 78, 79, 80, 81, 82, 84, 85, 86, 92, 94], "aka": [0, 3, 7, 13, 14, 15, 20, 29, 47, 49, 51, 66, 68, 69, 78, 79, 83, 87, 95], "seen": [0, 1, 8, 10, 11, 18, 19, 22, 25, 39, 41, 42, 44, 45, 46, 47, 48, 51, 52, 55, 56, 58, 62, 64, 67, 77, 79, 80, 84, 85, 86, 90, 91, 92], "first": [0, 1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 33, 34, 35, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 58, 59, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 89, 91, 92, 94, 95], "themselv": [0, 7, 42, 49, 62, 67, 79, 85, 88, 92], "done": [0, 2, 3, 5, 7, 8, 9, 13, 17, 18, 30, 33, 40, 41, 42, 45, 46, 47, 48, 49, 51, 55, 60, 63, 64, 65, 73, 76, 78, 82, 84, 88, 95], "involv": [0, 2, 4, 8, 14, 19, 21, 22, 24, 25, 30, 33, 35, 41, 42, 45, 48, 62, 63, 64, 65, 74, 80, 82, 85, 87, 92, 95], "haven": [0, 7, 10, 25, 30, 39, 49, 64, 67, 77, 82], "third": [0, 1, 4, 8, 16, 17, 19, 23, 28, 30, 47, 52, 55, 56, 63, 64, 66, 67, 77, 81, 92, 94, 95], "yet": [0, 1, 7, 8, 12, 13, 14, 17, 18, 25, 30, 34, 39, 41, 47, 53, 58, 63, 64, 67, 81, 83, 85, 87, 92], "later": [0, 4, 7, 8, 14, 16, 22, 25, 26, 27, 29, 30, 33, 35, 39, 40, 45, 46, 47, 48, 49, 57, 58, 62, 64, 65, 66, 67, 70, 73, 79, 85, 88, 92, 95], "dig": [0, 94], "appreci": [0, 42, 45, 55, 72, 75, 86, 94, 95], "them": [0, 1, 2, 3, 4, 5, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 24, 25, 27, 28, 30, 33, 35, 36, 39, 40, 41, 42, 44, 45, 47, 48, 49, 51, 52, 53, 55, 56, 57, 58, 62, 63, 64, 65, 66, 67, 69, 71, 72, 74, 76, 79, 80, 81, 82, 83, 84, 86, 90, 92, 94, 95], "more": [0, 1, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 32, 33, 35, 36, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 74, 77, 78, 79, 80, 82, 84, 85, 86, 89, 90, 92, 94, 95], "fulli": [0, 24, 65], "creat": [0, 2, 6, 8, 12, 13, 14, 15, 18, 19, 20, 22, 27, 28, 30, 32, 33, 36, 41, 42, 44, 45, 46, 47, 48, 49, 54, 56, 58, 64, 66, 76, 77, 78, 79, 80, 81, 85, 87, 88, 89, 90, 92, 96], "atom": [0, 1, 15], "negat": [0, 15, 45, 65, 92], "disjunct": [0, 7, 15], "bnf": [0, 63, 66, 67, 68], "p": [0, 6, 13, 15, 19, 22, 25, 27, 28, 30, 34, 41, 47, 51, 53, 54, 55, 56, 58, 63, 64, 78, 80, 91, 92, 96], "identifi": [0, 1, 5, 7, 8, 11, 12, 13, 21, 30, 34, 35, 39, 63, 64, 65, 66, 67, 69, 85], "rain": [0, 15], "snow": [0, 15], "cold": [0, 15, 74], "state": [0, 5, 8, 15, 16, 19, 20, 21, 22, 23, 32, 45, 47, 48, 56, 62, 64, 67, 74, 75, 78], "simultan": [0, 15, 47, 77], "weather": [0, 15], "condit": [0, 5, 7, 15, 16, 18, 19, 23, 47, 48, 50, 67, 69], "known": [0, 4, 7, 8, 10, 13, 15, 16, 19, 21, 22, 24, 26, 35, 41, 42, 47, 57, 64, 66, 67, 69, 70, 74, 79, 81, 82, 85], "ithac": [0, 15], "world": [0, 1, 3, 6, 10, 11, 25, 36, 40, 41, 42, 45, 50, 60, 64, 68, 75, 81, 82, 84, 86, 87, 92, 93, 94], "distinguish": [0, 7, 8, 13, 18, 39, 40, 47, 66, 80], "written": [0, 1, 5, 6, 7, 8, 9, 10, 13, 16, 17, 18, 21, 23, 30, 33, 35, 42, 45, 46, 47, 48, 51, 52, 53, 56, 64, 66, 67, 69, 72, 73, 75, 76, 77, 78, 79, 80, 82, 85, 89, 92, 94], "fals": [0, 6, 7, 14, 20, 25, 28, 30, 31, 37, 41, 47, 48, 53, 54, 55, 62, 63, 66, 67, 76, 77, 79, 80, 85, 88, 92], "respect": [0, 10, 16, 30, 41, 44, 66, 70, 79, 82], "togeth": [0, 1, 8, 9, 10, 18, 22, 41, 42, 45, 46, 47, 53, 59, 64, 65, 66, 69, 72, 73, 80, 82, 83, 86, 87, 95, 96], "assert": [0, 4, 6, 11, 18, 19, 23, 33, 41, 45, 47, 56, 85], "product": [0, 4, 9, 16, 18, 25, 28, 35, 36, 47, 53, 65, 66, 82], "other": [0, 1, 2, 3, 4, 7, 8, 9, 10, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 38, 40, 41, 42, 45, 46, 47, 48, 49, 53, 56, 57, 59, 60, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 91, 92, 94, 95], "word": [0, 1, 2, 5, 7, 8, 9, 14, 17, 19, 24, 25, 30, 35, 39, 40, 44, 45, 47, 48, 58, 65, 66, 67, 69, 70, 76, 77, 78, 79, 80, 85, 92, 95, 96], "assum": [0, 1, 6, 8, 14, 15, 19, 21, 25, 28, 34, 40, 41, 42, 44, 47, 63, 66, 67, 79, 94, 95], "sens": [0, 8, 13, 16, 17, 18, 19, 20, 22, 27, 42, 45, 49, 51, 58, 63, 64, 66, 67, 77, 82, 85, 86, 91], "even": [0, 1, 4, 5, 7, 8, 9, 10, 13, 15, 16, 17, 19, 20, 21, 24, 25, 31, 32, 33, 36, 40, 41, 42, 45, 46, 47, 48, 49, 52, 53, 54, 55, 56, 58, 62, 64, 65, 67, 70, 71, 74, 77, 78, 79, 80, 81, 82, 84, 85, 92, 95], "clearli": [0, 13, 16, 24, 42, 45, 51, 58, 86, 92], "Such": [0, 5, 14, 17, 19, 22, 25, 31, 64, 66], "exhibit": [0, 20, 78], "appli": [0, 1, 4, 6, 8, 12, 14, 15, 16, 17, 18, 19, 20, 22, 24, 27, 30, 40, 41, 44, 45, 47, 49, 51, 52, 53, 54, 55, 56, 58, 60, 62, 63, 64, 67, 77, 78, 79, 80, 81, 85, 92], "difficult": [0, 7, 16, 17, 19, 22, 24, 25, 41, 42, 47, 74, 82, 90], "concis": [0, 5, 16, 48], "either": [0, 4, 7, 8, 9, 10, 13, 18, 21, 22, 24, 25, 27, 28, 30, 31, 32, 40, 41, 45, 46, 47, 48, 53, 57, 58, 62, 64, 66, 67, 69, 70, 76, 78, 80, 81, 83, 85, 95], "strengthen": [0, 19, 41], "further": [0, 4, 13, 16, 19, 21, 22, 30, 44, 46, 47, 48, 64, 65, 67, 77, 85, 95], "specifi": [0, 4, 5, 7, 8, 10, 13, 15, 16, 20, 21, 27, 30, 42, 58, 66, 67, 69, 74, 77, 78, 80, 82, 84, 85], "why": [0, 4, 7, 8, 15, 18, 19, 24, 28, 29, 30, 33, 34, 40, 41, 42, 44, 47, 48, 49, 51, 54, 55, 58, 62, 63, 64, 67, 72, 74, 77, 78, 80, 81, 85, 91, 92], "matter": [0, 1, 7, 8, 14, 15, 16, 20, 28, 30, 40, 42, 47, 48, 49, 53, 55, 58, 62, 64, 68, 72, 79, 85, 92, 95], "suppos": [0, 4, 6, 7, 8, 10, 12, 13, 14, 16, 18, 19, 22, 25, 28, 30, 32, 33, 35, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 54, 59, 63, 64, 67, 76, 77, 78, 80, 81, 82, 87, 92], "were": [0, 4, 5, 6, 9, 10, 14, 16, 17, 19, 22, 25, 30, 33, 40, 42, 43, 45, 46, 48, 49, 56, 57, 58, 64, 65, 66, 67, 70, 72, 73, 74, 77, 78, 79, 80, 81, 84, 85, 87, 94, 95], "twin": 0, "prime": [0, 30, 41, 49, 56], "conjectur": 0, "unsolv": 0, "problem": [0, 1, 6, 8, 12, 13, 14, 16, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 37, 40, 42, 44, 45, 47, 48, 49, 51, 53, 55, 62, 63, 64, 67, 73, 74, 77, 79, 80, 81, 82, 85, 87, 92, 94, 95], "infinit": [0, 7, 16, 19, 25, 27, 41, 43, 45, 47, 49, 50, 63, 67], "n": [0, 1, 6, 8, 10, 13, 14, 15, 16, 19, 20, 22, 25, 28, 30, 34, 35, 40, 41, 42, 44, 46, 47, 48, 49, 53, 54, 58, 59, 64, 77, 78, 79, 80, 81, 84, 85, 88, 89, 91, 92], "2": [0, 2, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 18, 19, 20, 22, 25, 28, 30, 33, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 53, 54, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 75, 77, 78, 79, 80, 81, 84, 85, 86, 88, 89, 92, 95], "3": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22, 23, 25, 28, 30, 33, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47, 48, 49, 53, 54, 55, 56, 57, 58, 60, 63, 64, 65, 66, 67, 76, 77, 78, 79, 81, 85, 87, 89, 91, 92], "5": [0, 1, 6, 7, 8, 10, 12, 14, 15, 22, 23, 28, 30, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 56, 60, 63, 64, 67, 68, 69, 71, 77, 79, 81, 85, 87, 88, 91, 92, 95], "7": [0, 1, 6, 7, 8, 12, 14, 22, 30, 36, 37, 39, 40, 41, 42, 45, 46, 48, 49, 53, 63, 77, 80, 81, 85, 89, 92, 93], "tp": 0, "Then": [0, 3, 8, 15, 17, 19, 30, 33, 40, 41, 42, 44, 46, 48, 51, 55, 56, 58, 59, 63, 64, 65, 66, 67, 70, 76, 77, 78, 79, 81, 84, 87, 89, 92, 94, 95], "seem": [0, 1, 6, 7, 8, 22, 24, 25, 27, 30, 33, 42, 44, 45, 49, 55, 56, 58, 62, 67, 68, 70, 76, 77, 80, 81, 84, 85, 86, 92], "aren": [0, 1, 8, 17, 18, 26, 28, 45, 46, 55, 66, 67, 74, 77, 81, 95], "wouldn": [0, 4, 45, 72, 77, 81, 84], "figur": [0, 12, 18, 22, 42, 44, 48, 64, 65, 67, 74, 79, 80, 81], "side": [0, 3, 7, 10, 13, 14, 19, 22, 26, 30, 34, 35, 43, 44, 45, 48, 49, 62, 64, 66, 67, 73, 74, 75, 80, 81, 82, 85, 88, 90], "left": [0, 2, 7, 8, 12, 18, 19, 22, 25, 26, 27, 30, 34, 35, 37, 41, 42, 44, 45, 47, 48, 50, 51, 58, 59, 62, 63, 64, 66, 67, 77, 78, 79, 80, 85, 89, 91, 92, 95], "disproof": 0, "No": [0, 1, 16, 17, 21, 30, 42, 64, 72, 77, 78, 79], "know": [0, 1, 3, 4, 7, 8, 9, 10, 12, 13, 16, 17, 18, 19, 20, 22, 23, 27, 32, 33, 41, 42, 45, 49, 51, 52, 62, 64, 65, 66, 67, 69, 71, 72, 77, 78, 79, 80, 81, 82, 85, 91, 92, 94], "current": [0, 1, 2, 3, 8, 12, 20, 27, 30, 40, 41, 42, 44, 47, 58, 62, 67, 79, 85, 89, 92, 94, 95], "henceforth": [0, 13, 19, 47, 95], "stronger": [0, 19], "whether": [0, 1, 4, 7, 8, 9, 12, 13, 15, 16, 17, 18, 19, 20, 24, 25, 26, 27, 28, 30, 31, 33, 35, 37, 38, 39, 41, 42, 45, 47, 53, 54, 55, 56, 63, 64, 65, 66, 67, 69, 77, 78, 79, 80, 85, 92, 95], "necessarili": [0, 8, 15, 17, 24, 42, 45, 47, 48, 56, 65, 72, 78, 80, 83], "own": [0, 2, 4, 8, 9, 15, 16, 18, 20, 22, 25, 28, 33, 41, 42, 45, 52, 55, 58, 64, 66, 70, 72, 73, 78, 79, 80, 82, 85, 87, 92, 94, 95], "technic": [0, 8, 19, 45, 56, 64, 67, 77, 94], "than": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 32, 33, 35, 36, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 53, 54, 55, 56, 58, 59, 60, 63, 64, 65, 66, 67, 71, 72, 74, 77, 78, 79, 80, 81, 82, 85, 86, 87, 88, 90, 91, 92, 95], "classic": [0, 16, 73], "tradit": [0, 67, 69], "understood": [0, 7, 10, 18, 21, 30, 34, 40, 45, 66, 79], "requir": [0, 1, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 27, 32, 33, 36, 40, 41, 42, 44, 45, 46, 47, 48, 49, 55, 56, 58, 62, 63, 64, 65, 66, 67, 70, 72, 75, 76, 77, 78, 79, 80, 82, 85, 92, 94, 95], "return": [0, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 18, 19, 20, 23, 25, 26, 28, 30, 32, 33, 37, 39, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 57, 58, 59, 63, 64, 65, 66, 67, 72, 74, 77, 78, 79, 80, 85, 86, 88, 89, 91, 92, 95], "consid": [0, 1, 4, 5, 7, 8, 13, 14, 15, 17, 18, 19, 22, 24, 27, 28, 30, 32, 35, 41, 44, 45, 46, 47, 48, 49, 53, 55, 56, 59, 63, 64, 65, 66, 67, 77, 78, 81, 83, 85], "disj": 0, "v": [0, 1, 7, 8, 15, 19, 22, 25, 26, 27, 30, 32, 34, 35, 41, 42, 44, 46, 49, 51, 62, 63, 67, 69, 77, 78, 79, 80, 88, 91, 92, 94, 95], "where": [0, 1, 3, 4, 6, 7, 8, 13, 15, 16, 17, 18, 19, 22, 24, 27, 28, 30, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 55, 62, 63, 64, 65, 66, 67, 69, 77, 78, 79, 80, 84, 85, 88, 89, 90, 92, 94, 95], "i": [0, 1, 5, 6, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 22, 25, 27, 28, 30, 31, 32, 34, 35, 40, 41, 42, 44, 45, 46, 48, 49, 58, 59, 62, 63, 64, 66, 67, 69, 72, 73, 74, 78, 79, 82, 84, 85, 88, 89, 90, 92, 93, 95], "tag": [0, 3, 5, 25, 36, 67], "ii": [0, 28, 30, 41, 47, 85, 95], "carri": [0, 22, 27, 28, 36, 37, 41, 47, 66, 67, 82], "within": [0, 1, 6, 13, 18, 30, 39, 41, 42, 47, 65, 85, 88], "sub": [0, 8, 25, 41, 44, 55, 67, 85], "subvalu": 0, "therefor": [0, 1, 4, 7, 8, 13, 18, 19, 21, 22, 26, 40, 42, 46, 47, 48, 49, 57, 62, 64, 65, 67, 77, 79, 80, 81, 82, 83, 85, 87, 94], "union": [0, 18, 25, 30, 35, 44, 46, 67, 80], "guarante": [0, 1, 4, 5, 13, 16, 19, 21, 24, 25, 27, 30, 32, 40, 42, 46, 47, 48, 65, 67, 69, 74, 79, 80, 85, 90, 92], "simplest": [0, 14, 24, 33, 39, 42, 67, 80], "unit": [0, 1, 4, 7, 9, 17, 20, 21, 27, 28, 29, 40, 41, 42, 46, 47, 49, 53, 56, 64, 77, 78, 79, 80, 84, 86, 87, 88, 89, 91, 92, 94], "best": [0, 4, 7, 8, 10, 12, 34, 42, 44, 46, 47, 48, 51, 59, 62, 66, 83, 85, 95], "introduc": [0, 7, 13, 14, 18, 24, 30, 33, 37, 39, 41, 46, 47, 63, 64, 67, 69, 71, 73, 78, 79, 92], "earlier": [0, 4, 10, 12, 14, 22, 40, 47, 64, 69, 76, 77, 78, 79, 80, 81, 85, 95], "includ": [0, 1, 3, 7, 8, 9, 10, 13, 15, 18, 20, 21, 23, 24, 25, 28, 29, 30, 32, 35, 36, 40, 42, 44, 47, 48, 56, 58, 64, 65, 66, 67, 69, 70, 73, 77, 78, 80, 83, 85, 86, 92, 94, 95], "zero": [0, 1, 8, 13, 15, 16, 19, 22, 28, 31, 40, 41, 45, 46, 67, 78, 80, 84], "void": [0, 8, 10, 79, 92], "ll": [0, 1, 2, 3, 4, 5, 7, 8, 9, 12, 13, 14, 15, 17, 19, 20, 22, 25, 26, 27, 29, 30, 31, 33, 36, 37, 39, 40, 42, 43, 44, 46, 47, 49, 51, 55, 56, 57, 58, 59, 61, 62, 64, 65, 66, 67, 69, 71, 72, 74, 77, 79, 80, 85, 90, 92, 94, 95], "stick": [0, 7, 17, 79, 92], "subtleti": 0, "should": [0, 1, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 18, 19, 20, 21, 22, 27, 28, 30, 33, 40, 41, 42, 45, 46, 47, 51, 53, 58, 62, 63, 64, 65, 66, 67, 69, 73, 76, 77, 78, 80, 81, 82, 85, 89, 92, 94, 95], "address": [0, 18, 42, 47, 48, 50, 55, 64, 92, 93], "nonetheless": [0, 7, 19, 47, 49, 62, 64, 67, 91, 95], "here": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 18, 19, 20, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 37, 38, 39, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 56, 58, 60, 63, 64, 65, 66, 67, 69, 72, 76, 77, 78, 79, 80, 81, 84, 85, 89, 91, 92, 94, 95], "rec": [0, 4, 5, 8, 15, 19, 20, 22, 25, 26, 28, 30, 31, 32, 33, 37, 41, 44, 46, 48, 49, 51, 53, 54, 55, 58, 59, 63, 67, 69, 77, 78, 80, 81, 85, 91], "loop": [0, 7, 8, 12, 15, 16, 19, 27, 41, 45, 47, 49, 50, 59, 63, 65, 72, 78, 89, 93], "enter": [0, 3, 6, 7, 8, 12, 20, 40, 41, 47, 64, 65, 70, 79, 85, 87, 94, 95], "code": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 13, 15, 16, 17, 18, 20, 21, 23, 24, 25, 27, 28, 30, 31, 32, 33, 35, 37, 38, 41, 42, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 71, 72, 74, 76, 77, 78, 79, 80, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 94, 96], "utop": [0, 6, 7, 12, 20, 47, 62, 63, 64, 66, 67, 76, 78, 85, 87, 89, 95], "respons": [0, 5, 8, 12, 20, 33, 42, 47, 65, 74, 77, 78, 79, 80, 82, 85, 92, 93, 94], "e": [0, 1, 6, 7, 8, 10, 13, 14, 15, 16, 17, 19, 20, 22, 25, 27, 28, 30, 32, 33, 34, 35, 39, 41, 42, 44, 45, 46, 47, 48, 49, 56, 58, 62, 63, 64, 65, 66, 67, 69, 73, 74, 76, 77, 78, 79, 80, 82, 85, 87, 88, 92, 95], "successfulli": [0, 7, 16, 25, 35, 49, 58, 64, 82, 87, 95], "failwith": [0, 4, 18, 27, 31, 33, 41, 44, 47, 48, 49, 67, 69], "except": [0, 4, 5, 7, 8, 10, 13, 14, 16, 18, 19, 21, 22, 23, 25, 28, 29, 30, 32, 34, 36, 41, 44, 45, 46, 47, 49, 58, 62, 63, 64, 67, 69, 76, 77, 78, 80, 84, 85, 91, 92, 94], "failur": [0, 4, 7, 14, 15, 17, 20, 23, 24, 27, 28, 30, 47, 49, 69], "rais": [0, 4, 5, 6, 7, 13, 14, 18, 19, 23, 27, 28, 30, 32, 33, 34, 41, 45, 46, 47, 49, 56, 62, 63, 64, 67, 69, 76, 77, 78, 79, 80, 85, 88, 91, 92], "stdlib": [0, 7, 18, 20, 28, 33, 42, 45, 47, 49, 53, 69, 78, 79, 80, 81, 84, 85, 91, 92], "file": [0, 2, 7, 8, 9, 10, 12, 13, 20, 21, 25, 27, 30, 33, 39, 41, 45, 47, 49, 55, 66, 76, 77, 78, 79, 80, 81, 85, 87, 91, 92, 95], "line": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 16, 17, 22, 24, 25, 27, 28, 30, 33, 41, 44, 45, 47, 49, 51, 53, 55, 63, 64, 66, 67, 73, 77, 78, 79, 80, 81, 85, 87, 91, 92, 95], "29": [0, 28, 30, 49], "charact": [0, 5, 7, 8, 10, 12, 25, 27, 30, 33, 34, 39, 41, 42, 45, 47, 49, 51, 55, 65, 66, 67, 77, 78, 79, 80, 81, 85, 87, 91, 92], "17": [0, 8, 25, 30, 41, 42, 49, 63, 77, 80, 85, 92], "33": [0, 7, 27, 30, 42, 47, 49, 79, 80, 85, 92], "unknown": [0, 7, 8, 24, 30, 49, 64, 92], "locat": [0, 4, 7, 41, 42, 47, 49, 64, 81, 92], "stdlib__fun": [0, 7, 27, 47, 49, 80, 92], "protect": [0, 7, 21, 27, 47, 49, 77, 80, 83, 86, 92], "8": [0, 1, 6, 7, 8, 11, 25, 27, 30, 36, 40, 41, 42, 46, 47, 49, 50, 53, 56, 57, 58, 60, 63, 77, 80, 81, 86, 87, 91, 92, 93], "15": [0, 7, 8, 25, 27, 30, 41, 47, 49, 77, 80, 85, 92], "38": [0, 7, 8, 24, 27, 30, 47, 49, 80, 85, 92], "6": [0, 1, 7, 8, 14, 16, 22, 23, 27, 30, 35, 36, 37, 39, 40, 41, 42, 45, 47, 48, 49, 55, 56, 59, 60, 63, 67, 70, 77, 78, 79, 80, 81, 85, 92], "52": [0, 7, 27, 28, 30, 47, 49, 80, 92], "topev": [0, 7, 27, 47, 49, 80, 92], "load_lambda": [0, 7, 27, 47, 49, 80, 92], "toplevel": [0, 3, 6, 7, 8, 9, 18, 27, 33, 34, 47, 49, 53, 64, 77, 80, 84, 85, 91, 92, 95], "byte": [0, 1, 3, 7, 27, 42, 47, 49, 80, 92], "89": [0, 7, 27, 30, 47, 49, 80, 92], "4": [0, 1, 3, 6, 7, 8, 12, 13, 14, 19, 22, 23, 26, 27, 28, 30, 33, 36, 37, 39, 40, 41, 42, 44, 45, 47, 48, 49, 50, 54, 58, 59, 63, 64, 77, 79, 80, 81, 85, 86, 89, 92, 96], "150": [0, 7, 24, 27, 30, 47, 49, 80, 92], "again": [0, 1, 4, 5, 7, 8, 12, 13, 14, 20, 22, 24, 27, 28, 30, 35, 39, 40, 41, 42, 44, 45, 46, 47, 49, 54, 55, 58, 61, 63, 64, 66, 67, 71, 77, 78, 80, 92, 94, 95], "total": [0, 16, 19, 23, 40, 41, 44, 45, 48, 49, 53, 58, 79, 80], "rule": [0, 7, 8, 9, 16, 19, 21, 27, 30, 34, 35, 62, 63, 64, 65, 66, 67, 69, 81, 85, 92], "elimin": [0, 4, 14, 27, 32, 46, 48, 51, 56, 64, 65, 67, 69, 70, 78, 80], "did": [0, 5, 7, 8, 12, 13, 17, 18, 21, 24, 26, 27, 30, 33, 40, 42, 45, 46, 47, 49, 50, 51, 52, 53, 54, 63, 64, 66, 67, 76, 77, 78, 80, 81, 85, 87, 91, 92, 95], "start": [0, 1, 3, 4, 5, 7, 8, 10, 12, 13, 16, 18, 19, 20, 22, 24, 25, 28, 30, 33, 40, 41, 44, 45, 46, 47, 48, 49, 55, 61, 64, 66, 67, 69, 78, 81, 85, 87, 88, 89, 92, 94, 95, 96], "discuss": [0, 4, 13, 16, 18, 19, 20, 22, 30, 33, 39, 42, 43, 45, 47, 48, 49, 53, 58, 60, 66, 70, 78, 80, 83, 85], "method": [0, 4, 7, 8, 10, 19, 23, 24, 33, 40, 50, 58, 60, 74, 77, 79, 81, 82, 85, 86, 92], "continu": [0, 2, 4, 5, 10, 16, 21, 27, 33, 35, 40, 41, 44, 45, 46, 47, 48, 49, 63, 64, 67, 69, 70, 95], "trickiest": [0, 47], "syntact": [0, 7, 8, 9, 19, 27, 30, 34, 35, 36, 51, 53, 55, 63, 64, 66, 67, 69, 80, 81, 84, 85], "sugar": [0, 8, 27, 30, 35, 36, 51, 55, 63, 64, 67, 80, 81, 84], "particular": [0, 1, 4, 8, 9, 13, 20, 24, 25, 29, 30, 33, 45, 48, 49, 64, 69, 75, 76, 78, 80, 85, 87, 91, 92, 95], "lead": [0, 7, 8, 13, 14, 16, 20, 22, 25, 31, 32, 41, 42, 46, 47, 52, 58, 64, 67, 76, 81, 85, 92, 94, 95], "contradict": 0, "standard": [0, 1, 4, 5, 7, 9, 18, 20, 26, 27, 28, 29, 30, 33, 34, 37, 41, 47, 48, 49, 50, 54, 55, 58, 60, 62, 66, 69, 70, 73, 75, 76, 77, 78, 79, 80, 85, 92, 94], "understand": [0, 1, 7, 8, 9, 11, 13, 16, 17, 20, 24, 30, 33, 40, 42, 45, 46, 47, 55, 58, 61, 62, 65, 67, 72, 74, 76, 81, 82, 84, 85, 86, 94], "whose": [0, 3, 8, 13, 15, 18, 20, 21, 25, 27, 28, 30, 33, 34, 35, 41, 42, 44, 45, 46, 47, 49, 53, 54, 62, 67, 73, 77, 78, 79, 80, 85, 88, 91, 92, 95], "ongo": [0, 21, 64], "assumpt": [0, 7, 8, 15, 19, 21, 34, 40], "input": [0, 1, 5, 6, 8, 10, 12, 13, 15, 16, 18, 19, 20, 21, 23, 24, 27, 28, 30, 33, 41, 42, 44, 45, 47, 48, 49, 50, 53, 56, 57, 58, 64, 65, 66, 74, 77, 78, 79, 80, 85, 86, 89, 92], "enabl": [0, 12, 13, 18, 20, 21, 35, 41, 45, 47, 56, 57, 66, 74, 80, 81, 83, 86, 90, 92, 95], "level": [0, 3, 15, 16, 22, 45, 46, 47, 48, 61, 64, 65, 66, 70, 87, 92, 94, 95], "deeper": [0, 40, 47, 94], "everi": [0, 1, 3, 7, 8, 13, 14, 18, 21, 25, 27, 30, 32, 33, 40, 41, 42, 44, 45, 48, 49, 53, 55, 56, 59, 62, 63, 64, 66, 76, 78, 79, 81, 82, 85, 86, 87, 89, 92], "sinc": [0, 7, 8, 9, 14, 18, 19, 20, 27, 30, 40, 41, 42, 44, 45, 46, 47, 48, 49, 53, 57, 58, 62, 64, 66, 67, 69, 77, 79, 80, 84, 85, 92, 94], "checker": [0, 25, 64, 67, 68], "verifi": [0, 4, 14, 19, 24, 74], "detail": [0, 5, 8, 19, 21, 27, 30, 41, 45, 47, 61, 65, 66, 67, 76, 77, 80, 82, 83, 85, 87, 92, 95], "compel": [0, 25], "restrict": [0, 8, 9, 16, 19, 21, 30, 35, 42, 51, 64, 68, 80, 85, 92], "attent": [0, 4, 21, 42, 55, 67, 95], "equival": [0, 5, 7, 8, 10, 14, 19, 27, 32, 35, 40, 42, 47, 48, 51, 53, 58, 59, 67, 79, 80, 85, 86, 91, 92], "gave": [0, 1, 14, 45, 67, 81, 92], "variabl": [0, 1, 4, 7, 8, 10, 14, 15, 16, 30, 34, 35, 39, 47, 52, 56, 57, 62, 63, 64, 65, 66, 67, 68, 69, 72, 79, 80, 85], "whatev": [0, 1, 3, 4, 7, 8, 12, 13, 14, 25, 27, 28, 41, 47, 53, 66, 67, 69, 77, 79, 80, 85, 95], "environ": [0, 9, 57, 63, 64, 67, 68, 69, 70, 94], "env": [0, 62, 63, 64, 69, 95], "anonym": [0, 1, 11, 25, 27, 34, 45, 49, 62, 63, 64, 67, 76, 77, 80, 92], "static": [0, 7, 8, 9, 11, 25, 30, 34, 35, 39, 49, 64, 68, 69, 70, 74, 75, 83, 84, 86, 88, 91, 92], "extend": [0, 9, 25, 35, 39, 41, 62, 63, 64, 65, 69, 77, 81, 85, 86], "bind": [0, 1, 7, 8, 10, 11, 12, 25, 26, 27, 30, 34, 35, 36, 39, 40, 41, 42, 45, 46, 47, 48, 50, 58, 62, 64, 65, 66, 67, 69, 78, 79, 80, 85, 92], "e1": [0, 7, 8, 10, 19, 22, 27, 30, 34, 35, 47, 62, 63, 64, 66, 67, 69, 88, 91, 92], "e2": [0, 7, 8, 10, 19, 22, 27, 30, 34, 35, 47, 62, 63, 64, 66, 67, 69, 88, 91, 92], "applic": [0, 1, 5, 7, 11, 13, 18, 30, 34, 41, 47, 49, 51, 55, 58, 59, 62, 63, 64, 67, 68, 78, 80, 82, 92, 95], "t1": [0, 7, 8, 25, 34, 35, 39, 41, 49, 52, 64, 69, 91], "t2": [0, 7, 8, 34, 35, 39, 41, 44, 49, 52, 64, 69, 91], "tree": [0, 3, 14, 15, 28, 36, 41, 42, 43, 44, 49, 56, 63, 65, 67, 68, 70, 78, 79, 80], "draw": [0, 41, 48], "recurs": [0, 1, 4, 6, 11, 13, 14, 15, 28, 31, 36, 37, 41, 44, 46, 48, 49, 50, 51, 53, 59, 63, 67, 69, 77, 80, 84, 85, 88, 91], "rewrit": [0, 8, 10, 14, 19, 21, 25, 27, 28, 30, 44, 45, 47, 48, 51, 53, 55, 58, 62, 63, 65, 66, 67, 79, 81, 94], "leav": [0, 3, 8, 13, 14, 16, 17, 19, 30, 41, 42, 48, 64, 67, 77, 79, 84, 94], "At": [0, 7, 8, 9, 13, 33, 39, 40, 46, 54, 55, 62, 64, 66, 67, 68, 70, 72, 77, 92, 94, 95], "p1": [0, 13, 27, 30, 34, 35, 38, 63, 80], "p2": [0, 13, 27, 30, 38, 63], "whenev": [0, 7, 25, 30, 39, 40, 41, 42, 44, 45, 47, 62, 67, 79, 80], "usual": [0, 1, 3, 7, 8, 9, 12, 13, 14, 16, 19, 20, 21, 24, 27, 30, 32, 33, 35, 37, 40, 41, 42, 45, 47, 49, 55, 63, 64, 65, 67, 69, 77, 79, 80, 82, 83, 84, 85, 92, 94, 95], "premiss": 0, "abov": [0, 3, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 19, 20, 22, 25, 27, 28, 30, 32, 33, 35, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 52, 53, 55, 56, 58, 62, 63, 64, 66, 67, 76, 77, 78, 79, 80, 81, 83, 84, 85, 91, 92, 94, 95], "conclus": [0, 19], "deriv": [0, 1, 30, 51, 62, 63, 66, 76, 78, 80, 89], "swap": [0, 14, 22, 46, 55, 63], "compon": [0, 8, 9, 25, 27, 30, 34, 35, 53, 62, 63, 67, 77, 78, 80, 82, 85, 87, 89], "eras": 0, "And": [0, 1, 2, 6, 7, 8, 13, 14, 17, 19, 22, 25, 27, 30, 32, 33, 35, 36, 39, 40, 41, 44, 45, 46, 47, 48, 49, 51, 54, 55, 56, 58, 62, 64, 67, 71, 74, 77, 78, 80, 81, 84, 85, 89, 91, 92, 93], "see": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 18, 19, 20, 22, 24, 25, 27, 28, 30, 33, 35, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 55, 57, 58, 63, 64, 65, 66, 67, 69, 74, 76, 77, 78, 79, 80, 81, 85, 86, 88, 89, 92, 94, 95], "case": [0, 1, 4, 6, 7, 8, 13, 14, 16, 17, 18, 19, 21, 22, 23, 24, 27, 30, 32, 33, 34, 36, 40, 41, 42, 44, 45, 46, 47, 48, 50, 55, 56, 58, 59, 63, 64, 66, 67, 69, 76, 77, 78, 79, 80, 85, 92], "itself": [0, 5, 7, 8, 9, 12, 13, 20, 22, 24, 25, 27, 30, 32, 40, 41, 42, 45, 46, 47, 49, 51, 59, 62, 63, 65, 66, 77, 79, 80, 83, 85, 91, 92], "second": [0, 1, 3, 4, 7, 8, 12, 17, 18, 19, 20, 22, 23, 25, 27, 28, 30, 33, 34, 35, 41, 42, 45, 46, 47, 51, 52, 53, 55, 56, 60, 63, 64, 66, 67, 69, 77, 78, 79, 80, 81, 85, 92, 95], "treat": [0, 7, 16, 42, 49, 53, 54, 63, 64, 74, 76, 81, 92], "part": [0, 4, 5, 6, 7, 9, 12, 13, 14, 15, 16, 17, 18, 21, 24, 27, 28, 30, 34, 35, 36, 41, 44, 45, 47, 48, 49, 56, 58, 60, 62, 64, 65, 66, 67, 69, 73, 74, 76, 77, 79, 80, 81, 82, 83, 84, 85, 87, 92, 94, 95], "briefli": [0, 41, 85], "cours": [0, 1, 3, 4, 5, 8, 9, 11, 13, 15, 17, 18, 19, 20, 22, 23, 25, 26, 31, 33, 34, 36, 41, 42, 43, 45, 48, 49, 51, 56, 58, 59, 60, 62, 64, 65, 66, 67, 68, 69, 70, 75, 77, 78, 79, 80, 85, 87, 92, 94, 95, 96], "next": [0, 1, 4, 5, 8, 10, 13, 14, 18, 19, 20, 22, 25, 27, 33, 37, 40, 41, 42, 45, 46, 47, 48, 49, 56, 58, 61, 63, 64, 66, 67, 69, 78, 79, 81, 84, 85, 86, 90, 91, 92, 95], "bound": [0, 1, 4, 5, 7, 8, 12, 15, 22, 30, 41, 42, 44, 46, 48, 50, 58, 62, 64, 65, 66, 67, 69, 78, 79, 80, 85, 88, 89, 92], "per": [0, 13, 15, 19, 24, 28, 37, 40, 41, 80], "howev": [0, 5, 8, 16, 18, 24, 28, 41, 42, 44, 48, 55, 65, 67, 74, 79, 85, 92], "much": [0, 1, 3, 7, 8, 9, 13, 18, 20, 21, 24, 25, 26, 30, 35, 41, 43, 45, 46, 47, 49, 55, 56, 63, 64, 65, 67, 76, 79, 80, 81, 82, 83, 85, 88, 92, 94], "simpler": [0, 1, 8, 47, 63, 67, 77, 79, 81], "detour": [0, 33, 85], "through": [0, 1, 4, 6, 8, 13, 14, 15, 16, 18, 21, 23, 24, 25, 26, 28, 30, 37, 41, 42, 45, 46, 47, 53, 55, 57, 58, 59, 63, 64, 65, 66, 67, 70, 74, 78, 80, 82, 85, 89, 92, 94, 95], "directli": [0, 3, 20, 30, 41, 44, 47, 55, 62, 63, 65, 66, 67, 69, 78, 79, 87, 92, 95], "bigger": [0, 1, 9, 14, 19, 30, 42, 46, 58, 64, 66, 77, 85], "caus": [0, 3, 4, 5, 12, 13, 14, 15, 16, 20, 22, 27, 30, 33, 40, 41, 42, 45, 47, 49, 55, 58, 64, 67, 77, 80, 81, 85, 87, 88, 92], "simplifi": [0, 8, 14, 15, 19, 20, 40, 63, 64, 67, 71, 91], "final": [0, 1, 3, 4, 7, 8, 10, 14, 15, 16, 17, 20, 25, 30, 33, 34, 40, 41, 42, 45, 46, 47, 48, 49, 53, 58, 62, 64, 65, 66, 67, 69, 70, 77, 82, 92, 95], "fundament": [0, 19, 23, 45, 47, 93], "human": [0, 2, 16, 17, 18, 19, 23, 24, 30, 72, 74, 85, 90, 95], "inquiri": 0, "guid": [0, 6, 7, 15, 41, 61, 63, 75, 85, 95], "deduc": [0, 14, 18], "vs": [0, 2, 3, 22, 30, 33, 38, 40, 42, 47, 48, 53, 65, 67, 78, 80, 83, 85, 94], "train": [0, 7, 17], "variou": [0, 13, 20, 70, 88, 95], "disciplin": [0, 17], "import": [0, 1, 2, 4, 8, 9, 13, 14, 16, 17, 18, 19, 21, 23, 24, 29, 30, 33, 36, 40, 42, 43, 44, 47, 60, 64, 66, 67, 76, 80, 81, 82, 85, 86, 87, 94], "higher": [0, 1, 8, 15, 30, 49, 52, 58, 59, 60, 63, 64, 65, 66, 80, 85, 92], "educ": [0, 24, 75], "mayb": [0, 1, 2, 3, 8, 17, 19, 30, 32, 36, 40, 41, 50, 58, 59, 66, 67, 77, 79, 81, 85, 92], "mysteri": [0, 8, 33, 53, 55, 68, 72, 86], "basic": [0, 7, 23, 33, 49, 56, 65, 85], "build": [0, 1, 3, 9, 12, 24, 31, 33, 35, 36, 39, 42, 43, 46, 54, 64, 66, 74, 79, 82, 83, 87, 92, 95], "block": [0, 7, 12, 43, 45, 47, 50, 83, 85], "veri": [0, 1, 3, 8, 9, 10, 11, 15, 16, 20, 22, 24, 25, 26, 33, 36, 37, 40, 41, 42, 45, 47, 48, 51, 52, 60, 62, 63, 64, 66, 67, 75, 77, 78, 79, 80, 81, 82, 86, 93, 95], "present": [0, 12, 18, 20, 24, 27, 30, 42, 70, 80, 81, 95], "intrins": [0, 7, 59], "better": [0, 1, 9, 12, 16, 17, 19, 24, 25, 30, 32, 34, 35, 36, 41, 42, 43, 44, 45, 46, 47, 49, 54, 55, 58, 60, 62, 71, 75, 76, 77, 79, 80, 81, 86, 87, 95], "studi": [0, 1, 4, 7, 8, 9, 14, 17, 22, 24, 26, 29, 30, 33, 34, 35, 45, 47, 48, 55, 59, 65, 66, 68, 73, 75, 77, 79, 80, 83, 86, 92, 94], "solut": [0, 1, 6, 8, 10, 15, 28, 41, 42, 44, 48, 53, 58, 63, 64, 78, 80, 81, 82, 85, 87, 89, 94, 95], "avail": [0, 6, 7, 8, 9, 10, 13, 15, 20, 24, 28, 30, 33, 41, 47, 53, 63, 64, 65, 66, 75, 77, 78, 80, 81, 82, 87, 89, 94], "happi": [0, 1, 6, 15, 25, 28, 41, 53, 63, 78, 89, 94], "add": [0, 2, 3, 4, 5, 6, 8, 10, 12, 13, 14, 15, 16, 18, 20, 25, 26, 27, 28, 30, 31, 33, 35, 39, 41, 42, 44, 45, 46, 47, 48, 52, 53, 55, 58, 59, 62, 63, 64, 66, 67, 69, 77, 78, 79, 80, 81, 85, 86, 87, 89, 94, 95], "correct": [0, 4, 6, 8, 9, 14, 15, 16, 18, 20, 21, 22, 23, 24, 28, 33, 41, 42, 45, 49, 50, 53, 55, 58, 63, 66, 67, 72, 74, 78, 79, 80, 82, 89, 92, 94], "contribut": [0, 6, 15, 28, 41, 53, 63, 78, 89, 94, 96], "github": [0, 6, 15, 28, 33, 41, 47, 53, 63, 77, 78, 80, 89, 94, 95], "its": [0, 1, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 33, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 56, 57, 58, 60, 62, 63, 64, 66, 67, 69, 70, 73, 74, 76, 77, 78, 79, 80, 81, 82, 85, 87, 88, 89, 91, 92, 93, 94, 95, 96], "q": [0, 13, 14, 40, 78, 79], "r": [0, 15, 19, 22, 25, 37, 41, 44, 47, 48, 51, 64, 80, 91, 92, 94, 95, 96], "definit": [0, 1, 3, 6, 7, 11, 12, 19, 20, 21, 22, 25, 28, 30, 33, 34, 35, 37, 39, 41, 42, 47, 49, 51, 52, 53, 55, 62, 63, 64, 66, 67, 69, 77, 78, 79, 80, 81, 83, 84, 86, 87, 92], "your": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 17, 18, 20, 24, 25, 28, 30, 33, 35, 36, 40, 41, 42, 45, 47, 52, 53, 58, 63, 64, 65, 66, 72, 76, 77, 78, 85, 87, 89, 93, 94, 95], "also": [0, 1, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 30, 34, 35, 37, 40, 41, 42, 43, 44, 45, 47, 48, 55, 56, 57, 63, 64, 65, 66, 67, 68, 69, 72, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 92, 94, 95], "f": [0, 1, 6, 7, 8, 10, 14, 19, 22, 25, 30, 33, 34, 35, 41, 44, 45, 47, 49, 51, 52, 53, 55, 56, 58, 62, 63, 64, 73, 74, 76, 79, 80, 84, 85, 89, 91, 92], "1": [0, 4, 6, 7, 8, 12, 13, 14, 15, 16, 18, 19, 20, 22, 23, 25, 27, 28, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48, 49, 51, 53, 54, 55, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 72, 75, 77, 78, 79, 80, 81, 84, 85, 86, 87, 88, 89, 91, 92, 95], "step": [0, 1, 3, 4, 8, 12, 19, 20, 42, 47, 48, 50, 62, 63, 65, 68, 69, 80, 95], "semant": [0, 7, 8, 9, 11, 19, 23, 30, 32, 34, 35, 36, 39, 49, 62, 63, 65, 67, 68, 69, 70, 84, 86, 88, 91, 96], "implement": [0, 1, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 26, 27, 29, 30, 33, 36, 37, 40, 41, 43, 44, 45, 46, 48, 49, 51, 52, 53, 54, 56, 58, 61, 63, 64, 65, 66, 68, 69, 70, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93], "suggest": [0, 2, 4, 8, 10, 14, 15, 16, 18, 19, 24, 28, 30, 41, 42, 45, 49, 62, 65, 77, 94, 95], "perhap": [0, 1, 2, 5, 7, 12, 20, 21, 24, 47, 51, 54, 55, 62, 64, 66, 67, 76, 80, 85, 86, 92, 95], "sever": [0, 1, 7, 8, 11, 16, 18, 20, 23, 25, 33, 34, 36, 39, 41, 42, 45, 65, 67, 80, 85, 87], "probabl": [0, 1, 4, 8, 9, 10, 13, 16, 20, 24, 28, 33, 36, 42, 45, 64, 77, 79, 85, 92, 95], "still": [0, 1, 7, 8, 10, 13, 16, 19, 27, 40, 42, 45, 46, 47, 48, 49, 51, 55, 58, 63, 70, 71, 74, 76, 77, 78, 79, 80, 81, 82, 85, 92, 94, 95], "what": [1, 2, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 30, 32, 33, 35, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 51, 53, 55, 56, 57, 58, 62, 63, 64, 65, 66, 67, 69, 71, 72, 76, 77, 78, 79, 80, 81, 82, 84, 85, 89, 91, 92, 95, 96], "mean": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 22, 25, 30, 32, 33, 34, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 57, 62, 64, 65, 66, 67, 69, 76, 77, 78, 79, 83, 85, 87, 89, 91, 92, 95], "cornel": [1, 42, 70, 74, 79, 94, 95, 96], "professor": [1, 72], "jon": 1, "kleinberg": 1, "eva": 1, "tardo": 1, "wonder": [1, 77, 81], "explan": [1, 7], "textbook": [1, 3, 56, 70, 75, 94, 95, 96], "2006": [1, 23, 70], "appendix": 1, "summari": 1, "reinterpret": 1, "program": [1, 5, 7, 8, 9, 10, 11, 12, 13, 16, 17, 18, 20, 21, 22, 23, 24, 25, 27, 29, 30, 33, 41, 43, 45, 47, 48, 50, 52, 54, 55, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 73, 74, 75, 77, 79, 80, 83, 85, 86, 92, 93, 94], "perspect": [1, 8, 40, 44, 64, 71, 72, 74, 75, 79, 85, 95], "The": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 48, 49, 51, 53, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 68, 69, 70, 72, 75, 76, 77, 78, 79, 81, 82, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96], "ultim": [1, 13, 32, 83], "answer": [1, 6, 7, 8, 17, 18, 19, 22, 27, 28, 39, 42, 44, 46, 47, 55, 62, 63, 67, 78, 81, 85, 89, 92], "worst": [1, 40, 41, 42, 46, 48, 50, 55, 79], "run": [1, 2, 4, 7, 8, 9, 12, 13, 15, 18, 19, 20, 25, 27, 28, 30, 33, 40, 41, 42, 44, 45, 47, 48, 49, 55, 63, 64, 65, 66, 67, 69, 73, 74, 78, 79, 80, 85, 87, 91, 92, 94, 95], "size": [1, 7, 8, 13, 15, 18, 30, 36, 37, 40, 41, 42, 46, 50, 51, 53, 77, 79], "o": [1, 3, 8, 9, 14, 32, 40, 41, 42, 44, 46, 48, 49, 58, 79, 81, 85, 87, 89, 90, 93], "d": [1, 2, 6, 8, 10, 12, 13, 18, 19, 26, 27, 28, 30, 32, 33, 39, 40, 41, 45, 48, 49, 51, 55, 64, 66, 67, 70, 76, 77, 78, 79, 80, 84, 85, 92, 94, 95, 96], "constant": [1, 8, 18, 25, 26, 28, 34, 36, 40, 41, 42, 43, 46, 48, 54, 58, 59, 62, 63, 64, 65, 67, 69, 76, 77, 78, 79, 85, 88], "up": [1, 3, 4, 6, 7, 8, 9, 13, 14, 15, 19, 20, 22, 24, 25, 27, 33, 36, 40, 41, 42, 44, 45, 46, 47, 48, 49, 56, 58, 59, 62, 64, 67, 69, 72, 76, 77, 80, 85, 90, 92, 95], "naiv": [1, 44, 55, 64], "proce": [1, 4, 14, 15, 17, 19, 27, 36, 47, 55, 64, 67, 82, 95], "amount": [1, 4, 6, 17, 30, 40, 42, 45, 48, 53, 78], "instanc": [1, 18, 22, 70, 83, 92], "ineffici": [1, 14, 15, 19, 49, 59], "quickli": [1, 6, 10, 18, 41, 49, 58, 74, 94], "test": [1, 4, 6, 7, 8, 9, 12, 15, 16, 17, 19, 23, 27, 28, 29, 36, 41, 53, 54, 63, 66, 67, 72, 87, 92, 95], "fast": [1, 4, 6, 42, 46, 48, 65, 71], "processor": [1, 7, 24, 47, 65, 74], "optim": [1, 8, 11, 15, 18, 30, 42, 59, 65, 68], "slowli": [1, 4, 8, 42], "sloppili": 1, "harder": [1, 4, 30, 45, 49, 51, 64, 69, 77, 79, 84, 93], "doesn": [1, 4, 7, 8, 10, 13, 14, 15, 16, 19, 20, 24, 26, 27, 30, 31, 33, 34, 35, 38, 40, 42, 44, 45, 47, 48, 49, 55, 58, 62, 63, 64, 65, 67, 72, 76, 77, 80, 81, 85, 92, 95], "impli": [1, 18, 19, 22, 35, 42, 69, 79, 92], "larg": [1, 3, 8, 12, 13, 18, 21, 24, 28, 41, 42, 43, 45, 46, 48, 62, 73, 74, 77, 82, 83, 85], "client": [1, 4, 5, 15, 16, 18, 21, 23, 41, 42, 44, 47, 76, 77, 79, 80, 81, 82, 83, 86, 92], "afford": [1, 4, 13, 40, 71], "patient": 1, "quick": [1, 24, 42, 81, 95], "me": [1, 45], "slow": [1, 16, 18, 20, 21, 49, 65], "lesson": [1, 46, 58], "measur": [1, 40, 44], "clock": [1, 45], "metric": 1, "hardwar": [1, 41, 42, 47, 67, 92], "softwar": [1, 4, 13, 21, 23, 24, 42, 74, 80, 81, 82, 83, 95, 96], "good": [1, 5, 8, 10, 12, 13, 16, 17, 18, 20, 21, 23, 24, 30, 31, 32, 33, 34, 35, 40, 41, 42, 44, 45, 46, 47, 48, 54, 58, 63, 66, 67, 71, 72, 73, 74, 79, 80, 82, 84, 85, 90, 92, 95], "count": [1, 8, 18, 20, 41, 48, 95], "number": [1, 6, 7, 8, 13, 15, 16, 22, 23, 26, 28, 30, 35, 36, 37, 40, 41, 42, 44, 46, 47, 48, 49, 53, 54, 56, 59, 64, 65, 70, 74, 77, 78, 79, 80, 84], "taken": [1, 50, 70], "dure": [1, 7, 8, 14, 16, 18, 19, 48, 49, 63, 64, 65, 72, 76, 81, 94], "evalu": [1, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19, 22, 24, 27, 28, 30, 34, 36, 41, 43, 44, 45, 47, 49, 50, 53, 55, 58, 61, 63, 64, 65, 68, 69, 80, 81, 85, 87, 88, 91, 92], "It": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 30, 33, 35, 40, 41, 42, 44, 45, 47, 48, 49, 54, 55, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 89, 90, 91, 92, 94, 95], "ought": [1, 45, 58, 67, 92], "somehow": [1, 18, 20, 51, 55, 95], "repres": [1, 7, 9, 13, 14, 15, 18, 20, 22, 23, 25, 28, 32, 34, 35, 36, 37, 38, 39, 42, 44, 45, 46, 47, 49, 51, 53, 56, 62, 65, 66, 67, 69, 77, 78, 79, 80, 84, 89, 91, 92], "primit": [1, 8, 10, 30, 34, 62, 66, 67, 68, 69, 80], "comput": [1, 3, 4, 6, 7, 8, 9, 11, 13, 15, 16, 17, 19, 20, 22, 23, 24, 28, 30, 33, 35, 37, 39, 41, 42, 43, 44, 45, 47, 49, 50, 53, 55, 56, 57, 58, 59, 60, 62, 64, 65, 66, 67, 68, 70, 72, 73, 74, 78, 79, 86, 89, 92, 94, 95], "lot": [1, 4, 5, 6, 7, 8, 14, 24, 31, 33, 36, 42, 45, 56, 58, 59, 66, 74, 87], "flexibl": [1, 12, 82, 85], "choic": [1, 3, 4, 8, 14, 18, 21, 30, 40, 42, 44, 45, 47, 48, 54, 55, 62, 63, 67, 74, 79, 94, 95], "pseudocod": [1, 89], "being": [1, 4, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 25, 28, 30, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 53, 56, 58, 59, 62, 63, 64, 65, 66, 67, 74, 76, 77, 78, 79, 80, 85, 86, 92, 94], "singl": [1, 4, 7, 8, 15, 18, 25, 28, 30, 35, 40, 41, 42, 44, 45, 47, 48, 55, 56, 61, 63, 64, 66, 74, 76, 77, 78, 79, 80, 81, 85, 91], "imper": [1, 7, 9, 10, 13, 19, 20, 23, 25, 30, 42, 43, 44, 45, 46, 47, 48, 59, 67, 71, 74, 75, 79, 92, 94], "assign": [1, 5, 7, 47, 64, 72, 85, 88, 89, 92, 93], "arrai": [1, 40, 41, 43, 44, 50, 64, 65, 89, 92, 93], "index": [1, 5, 7, 13, 16, 33, 42, 44, 46, 88, 93], "pointer": [1, 4, 7, 8, 32, 46, 49, 57, 74, 91, 93], "derefer": [1, 92, 93], "arithmet": [1, 6, 7, 8, 15, 45, 67, 78, 84, 92], "oper": [1, 2, 4, 6, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 28, 30, 33, 35, 37, 40, 41, 42, 45, 46, 47, 48, 51, 53, 55, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 74, 76, 77, 78, 79, 80, 81, 84, 85, 88, 89, 91, 92, 95], "choos": [1, 2, 4, 7, 9, 12, 15, 20, 28, 33, 42, 47, 48, 53, 55, 56, 64, 80, 81, 83, 95], "branch": [1, 7, 8, 13, 19, 28, 30, 32, 36, 46, 48, 51, 55, 62, 63, 64, 65, 67, 69], "match": [1, 13, 14, 15, 18, 21, 22, 24, 25, 28, 29, 31, 32, 33, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 55, 58, 62, 63, 64, 65, 66, 67, 69, 71, 74, 77, 78, 79, 80, 81, 84, 85, 86, 91, 92, 95], "realiti": [1, 8, 20, 47, 64, 74], "all": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 27, 28, 30, 32, 33, 34, 35, 36, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 55, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 69, 72, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 92, 94, 95], "realli": [1, 4, 5, 7, 8, 9, 13, 14, 16, 17, 22, 24, 25, 27, 30, 31, 35, 36, 40, 41, 45, 47, 49, 55, 56, 57, 58, 62, 64, 66, 67, 77, 80, 84, 85, 86, 87, 92, 95], "practic": [1, 16, 23, 24, 32, 42, 45, 56, 60, 64, 65, 67, 69, 72, 73, 74, 80, 82, 85, 95], "predict": [1, 13, 20, 41, 71, 89], "g": [1, 6, 7, 8, 13, 14, 16, 19, 20, 25, 27, 30, 33, 35, 39, 41, 44, 45, 46, 47, 49, 53, 56, 62, 63, 64, 65, 66, 67, 74, 76, 77, 85, 87, 92, 95], "matrix": [1, 38, 53, 89], "text": [1, 10, 47, 87, 94, 95], "document": [1, 2, 3, 4, 7, 8, 10, 11, 13, 15, 17, 19, 20, 21, 23, 24, 26, 30, 33, 38, 49, 55, 66, 68, 77, 78, 89, 92, 94], "bit": [1, 2, 7, 8, 11, 18, 30, 33, 42, 45, 47, 84, 86], "row": [1, 53], "column": [1, 53, 95], "represent": [1, 7, 8, 12, 13, 14, 15, 22, 23, 41, 46, 47, 48, 49, 51, 53, 65, 67, 68, 76, 77, 78, 79, 86, 89], "context": [1, 11, 33, 63, 66, 68, 69, 72, 85, 92], "structur": [1, 6, 7, 8, 14, 15, 18, 20, 26, 28, 30, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 55, 56, 57, 58, 59, 60, 62, 63, 65, 66, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 96], "element": [1, 5, 8, 13, 14, 15, 18, 19, 20, 22, 25, 28, 30, 32, 35, 37, 40, 41, 42, 46, 48, 49, 53, 54, 55, 56, 58, 59, 60, 64, 65, 76, 77, 78, 79, 80, 81, 85, 88, 91, 92], "maintain": [1, 18, 23, 45, 66, 67, 72, 74, 76, 83, 86, 95], "node": [1, 15, 22, 25, 28, 36, 37, 41, 42, 44, 46, 48, 49, 51, 63, 65, 66, 67, 78, 79, 80, 91, 92], "edg": [1, 13, 48, 49], "graph": [1, 70], "multipli": [1, 6, 8, 19, 53], "faster": [1, 19, 49, 77, 95], "arbitrari": [1, 7, 15, 16, 19, 20, 28, 30, 31, 78, 86], "exact": [1, 6, 30, 33, 41, 80, 95], "too": [1, 4, 7, 8, 12, 13, 16, 18, 20, 21, 22, 24, 30, 33, 40, 42, 45, 46, 48, 49, 55, 62, 64, 66, 67, 76, 79, 80, 81, 82, 83, 84, 85, 92, 95], "rel": [1, 4, 8, 13, 14, 16, 19, 23, 24, 40, 41, 48, 56, 73, 94], "term": [1, 4, 5, 7, 8, 9, 18, 19, 25, 30, 35, 40, 41, 45, 49, 52, 53, 55, 56, 63, 67, 74, 78, 83, 85, 92], "object": [1, 7, 8, 9, 10, 11, 23, 30, 32, 36, 41, 42, 49, 50, 57, 60, 64, 70, 72, 73, 75, 77, 80, 81, 82, 83, 85, 86, 92, 93, 94], "reli": [1, 3, 16, 23, 24, 27, 29, 30, 42, 47, 63, 67, 68, 95], "subject": 1, "notion": [1, 8, 19, 41, 45, 67, 79, 85, 86], "constitut": [1, 9, 30, 67, 82], "sort": [1, 13, 15, 20, 28, 41, 79, 80, 84, 85], "okai": [1, 10, 40, 41, 42, 92], "beat": 1, "brute": [1, 50], "forc": [1, 4, 8, 10, 16, 17, 21, 25, 27, 30, 32, 41, 42, 45, 46, 47, 49, 50, 64, 67, 81], "search": [1, 14, 15, 28, 37, 41, 42, 77, 78, 80, 94, 95], "enumer": [1, 25], "permut": 1, "version": [1, 2, 3, 5, 8, 12, 15, 16, 18, 19, 28, 30, 33, 37, 41, 44, 45, 47, 48, 52, 53, 54, 55, 56, 58, 59, 62, 63, 70, 71, 79, 81, 85, 92, 94, 95], "terribl": [1, 8, 20, 42, 92], "certainli": [1, 14, 17, 26, 45, 67], "quicksort": 1, "simpl": [1, 4, 14, 19, 20, 21, 25, 29, 33, 40, 42, 43, 44, 45, 47, 48, 54, 55, 56, 63, 64, 65, 72, 74, 79, 90, 91], "dumb": [1, 8], "nearli": [1, 6, 7, 51, 54, 62, 66], "huge": [1, 36, 42, 44, 92], "space": [1, 8, 9, 13, 18, 19, 28, 30, 33, 36, 42, 46, 49, 53, 58, 59, 66, 77, 79, 95], "exponenti": [1, 6, 15, 19, 41, 44, 48, 50, 64, 78], "less": [1, 4, 5, 8, 13, 15, 16, 18, 19, 21, 24, 29, 30, 37, 41, 42, 43, 44, 46, 48, 55, 58, 60, 64, 78, 79, 88], "polynomi": [1, 15, 50], "immedi": [1, 4, 10, 14, 18, 19, 20, 22, 27, 29, 33, 42, 45, 46, 47, 49, 55, 63, 64, 65, 95], "come": [1, 4, 5, 6, 7, 8, 9, 11, 16, 17, 21, 25, 28, 30, 33, 35, 42, 45, 47, 52, 56, 58, 62, 64, 66, 67, 69, 71, 72, 73, 77, 79, 81, 82, 83, 85, 90, 93, 95], "100": [1, 8, 13, 15, 20, 28, 30, 40, 47, 53, 67, 78], "non": [1, 8, 13, 14, 19, 20, 25, 27, 28, 30, 32, 36, 42, 44, 45, 47, 48, 50, 55, 58, 63, 66, 67, 69, 73, 79, 81, 85, 89, 91, 92], "02": [1, 74], "log": [1, 2, 33, 41, 42, 45, 46, 48, 79, 95], "adequ": [1, 13, 42], "job": [1, 2, 13, 16, 17, 21, 36, 47, 64, 65, 71, 80, 81, 82, 85], "fine": [1, 7, 18, 20, 25, 40, 45, 47, 55, 64, 77, 80, 85], "combin": [1, 15, 22, 26, 36, 41, 42, 45, 51, 53, 56, 74, 80, 86, 92], "maximum": [1, 13, 28, 32, 41, 44], "execut": [1, 3, 8, 9, 13, 16, 20, 24, 33, 41, 47, 50, 64, 65, 67, 72, 74, 88, 92, 94, 95], "isn": [1, 8, 12, 14, 16, 17, 20, 22, 26, 30, 32, 39, 48, 49, 57, 58, 62, 64, 66, 67, 72, 77, 78, 79, 80, 81, 92, 95], "perfect": [1, 41, 48], "insan": 1, "tediou": [1, 10, 16, 17, 30, 63], "author": [1, 5, 17, 45, 48, 96], "develop": [1, 4, 7, 9, 18, 21, 23, 24, 27, 30, 36, 41, 45, 47, 51, 66, 67, 70, 73, 76, 82], "insert": [1, 4, 10, 13, 15, 26, 28, 40, 41, 42, 44, 45, 46, 76, 77, 79, 91, 92], "c_1": [1, 15], "c_2": 1, "c_4": 1, "c_5": 1, "sum_": [1, 40, 41], "j": [1, 30, 46, 59, 60, 72, 89], "t_j": 1, "c_6": 1, "c_7": 1, "c_8": 1, "explain": [1, 5, 7, 8, 11, 15, 16, 17, 18, 22, 24, 28, 41, 53, 62, 63, 74, 76, 78, 79, 85, 92], "complic": [1, 8, 10, 22, 24, 32, 33, 40, 41, 45, 55, 56, 64, 67, 74, 77, 79, 80, 90, 92], "heart": [1, 11, 28, 57], "poor": [1, 5, 18, 42, 64, 81], "grad": 1, "student": [1, 2, 28, 70, 75, 89, 94, 95], "who": [1, 5, 9, 18, 21, 24, 42, 44, 47, 54, 58, 71, 72, 81, 82, 83, 92, 94, 96], "introduct": [1, 11, 36, 50, 60, 70, 75, 86, 93, 94], "3rd": [1, 34], "edit": [1, 3, 12, 23, 47, 78, 80, 94, 95, 96], "2009": [1, 70], "cormen": 1, "leiserson": 1, "rivest": 1, "stein": 1, "tell": [1, 3, 6, 12, 13, 14, 18, 20, 28, 33, 46, 47, 64, 78, 85, 87], "precis": [1, 7, 8, 16, 19, 44, 56, 64, 69, 84, 94], "like": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 29, 30, 31, 32, 33, 35, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 53, 54, 55, 56, 57, 58, 62, 63, 64, 65, 66, 67, 69, 71, 72, 74, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 91, 92, 93, 94, 95], "exhaust": [1, 8, 13, 25, 30, 36, 40, 65, 67], "find": [1, 3, 4, 6, 7, 8, 12, 13, 14, 15, 16, 20, 21, 22, 24, 28, 30, 33, 40, 41, 42, 44, 46, 47, 48, 53, 55, 63, 64, 67, 69, 78, 80, 91, 94, 95], "somewhat": [1, 8, 22, 28, 30, 39, 48, 59, 76, 77], "meaningless": [1, 4], "25": [1, 4, 13, 24, 30, 80, 92], "java": [1, 3, 4, 5, 7, 8, 9, 10, 12, 18, 19, 20, 23, 29, 30, 32, 33, 35, 39, 41, 42, 45, 47, 54, 57, 58, 60, 64, 65, 68, 70, 71, 72, 73, 74, 76, 77, 79, 80, 81, 82, 83, 85, 86, 89, 92, 94], "down": [1, 2, 3, 4, 6, 7, 8, 11, 16, 18, 19, 40, 45, 46, 48, 55, 57, 62, 63, 64, 74, 79, 92, 94], "risc": 1, "250": [1, 30], "ye": [1, 30, 42, 49, 81, 95], "fli": 1, "airplan": 1, "control": [1, 3, 12, 42, 45, 47, 62, 64, 95], "nuclear": 1, "reactor": 1, "care": [1, 3, 8, 10, 11, 17, 18, 19, 24, 25, 33, 34, 38, 41, 45, 47, 55, 59, 66, 67, 77, 95], "real": [1, 9, 11, 16, 18, 22, 25, 36, 40, 50, 55, 60, 63, 64, 65, 68, 74, 75, 78, 82, 86, 90, 93, 94, 95], "otherwis": [1, 2, 6, 7, 8, 13, 16, 17, 20, 26, 27, 28, 30, 34, 41, 42, 46, 47, 63, 64, 66, 67, 77, 79, 85, 88, 92, 95], "broad": 1, "similar": [1, 3, 7, 8, 9, 10, 12, 13, 14, 18, 22, 24, 25, 27, 29, 30, 33, 35, 37, 41, 42, 45, 46, 47, 51, 53, 55, 56, 58, 63, 64, 66, 67, 70, 73, 76, 77, 78, 79, 80, 81, 83, 85, 86, 88, 91, 92, 94], "perform": [1, 7, 8, 9, 18, 20, 21, 26, 30, 39, 40, 41, 42, 43, 44, 46, 47, 48, 50, 53, 58, 65, 74, 79, 95], "62": [1, 7, 30], "ignor": [1, 13, 18, 27, 28, 33, 40, 41, 42, 45, 47, 62, 65, 69, 73, 77, 79, 92, 95], "low": [1, 42, 65, 92], "factor": [1, 33, 40, 41, 42, 44, 45, 48, 50, 54, 55, 56, 58, 59, 60, 66, 67, 69, 72, 79, 81], "highest": [1, 3, 28], "tabl": [1, 6, 35, 41, 43, 44, 48, 50, 65, 68, 79, 93], "microsecond": 1, "estim": [1, 30], "univers": [1, 14, 42, 50, 56, 64, 67, 70, 72, 79, 95, 96], "10": [1, 6, 8, 13, 15, 20, 25, 27, 28, 30, 35, 36, 41, 42, 47, 49, 53, 56, 58, 63, 67, 75, 77, 78, 80, 85, 86], "sec": [1, 41], "1017": 1, "year": [1, 13, 17, 28, 42, 70, 75, 80, 85, 96], "000": [1, 8, 20, 30, 58], "18": [1, 30, 47, 50, 77], "min": [1, 41], "12": [1, 6, 7, 23, 25, 28, 30, 33, 42, 45, 76, 77, 80, 85, 86], "dai": [1, 6, 25, 28, 30, 33, 35, 39, 40, 47, 62, 72, 78, 85], "hour": [1, 4, 24], "32": [1, 8, 20, 30, 42, 77, 85], "104": [1, 30], "seriou": [1, 73], "complet": [1, 5, 7, 8, 13, 16, 20, 22, 24, 28, 38, 41, 45, 47, 58, 62, 63, 64, 66, 67, 69, 76, 85, 92, 95], "domin": [1, 9], "my": [1, 40, 47, 85], "laptop": 1, "2x": 1, "bought": 1, "interest": [1, 8, 9, 10, 13, 19, 20, 27, 33, 45, 46, 47, 48, 56, 67, 85, 92], "properti": [1, 13, 15, 18, 19, 22, 28, 40, 44, 45, 49, 56, 64, 67, 69, 79, 82, 85, 91], "pseduocod": 1, "1620": 1, "assembl": [1, 45, 65, 83], "1000": [1, 20, 28, 63, 67, 78], "1000x": 1, "longer": [1, 30, 33, 42, 46, 48, 55, 64, 65, 67, 72, 76, 77, 90, 92, 95], "tune": 1, "employ": 1, "twice": [1, 19, 20, 40, 42, 47, 48, 49, 53, 56, 58, 77], "argu": [1, 16, 48], "imprecis": 1, "abstract": [1, 14, 15, 16, 19, 21, 23, 24, 33, 41, 42, 44, 45, 47, 55, 58, 60, 64, 65, 66, 67, 68, 69, 70, 72, 74, 76, 78, 80, 81, 82, 83, 84, 86, 92], "noth": [1, 7, 8, 13, 21, 22, 32, 45, 47, 49, 58, 64, 66, 67, 85, 92], "pm": [1, 41], "quantiti": [1, 19], "scienc": [1, 17, 23, 56, 73, 94], "review": [1, 4, 23, 24, 33, 55, 64], "natur": [1, 3, 5, 7, 9, 10, 20, 23, 30, 36, 39, 41, 49, 56, 64, 65, 69, 79, 82, 83], "ess": 1, "equal": [1, 6, 7, 8, 12, 13, 14, 22, 28, 30, 33, 35, 40, 41, 42, 64, 66, 67, 77, 78, 79, 80, 81, 84, 89, 93], "henc": [1, 3, 6, 12, 19, 20, 25, 27, 35, 42, 45, 47, 49, 56, 64, 77, 81, 85, 90, 92, 95], "mid": [1, 70], "0": [1, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 28, 30, 31, 33, 35, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 59, 62, 63, 64, 66, 67, 76, 77, 78, 79, 80, 81, 84, 85, 87, 88, 89, 91, 92, 95, 96], "leq": [1, 20, 48, 66, 67, 69], "pose": 1, "question": [1, 14, 16, 27, 46, 54, 62, 67, 85], "honest": [1, 17, 62, 67], "interpret": [1, 9, 12, 17, 22, 57, 61, 62, 63, 64, 66, 68, 69, 70, 92], "yield": [1, 7, 14, 15, 19, 30, 34, 53, 55, 58, 64, 67, 89], "proper": [1, 42, 48], "subset": [1, 13, 28, 67, 85, 90], "subseteq": 1, "tight": 1, "former": [1, 8, 30, 41, 45, 47, 69, 85, 87], "relat": [1, 16, 19, 29, 30, 47, 55, 62, 63, 64, 68, 69, 77, 83, 85, 86], "fewest": 1, "wherea": [1, 4, 6, 7, 8, 22, 24, 30, 35, 37, 49, 51, 55, 56, 67, 74, 76, 79, 80, 81, 85, 87, 92], "loos": [1, 21, 29], "needlessli": [1, 5], "concret": [1, 18, 19, 23, 33, 45, 47, 65, 66, 67, 68], "9": [1, 8, 23, 25, 26, 30, 33, 40, 41, 42, 46, 49, 53, 56, 63, 64, 66, 77, 81, 86], "1989": [1, 70], "graham": 1, "knuth": 1, "patashnik": 1, "easili": [1, 12, 18, 30, 62, 66, 69, 73, 74, 78, 90], "few": [1, 5, 6, 7, 8, 10, 13, 14, 15, 20, 28, 43, 45, 47, 48, 49, 56, 67, 76, 78, 85, 90, 94, 95], "o_1": 1, "type": [1, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 39, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 58, 60, 62, 63, 65, 66, 67, 68, 71, 72, 73, 74, 75, 76, 78, 79, 81, 83, 86, 87, 88, 89, 91, 93, 95], "mathbb": [1, 8], "rightarrow": [1, 66], "upgrad": [1, 2, 15, 21, 41, 45, 47, 67, 95], "Of": [1, 3, 13, 17, 20, 22, 33, 34, 42, 43, 45, 48, 49, 56, 58, 59, 60, 67, 70, 79, 80, 85, 87, 92, 95], "foral": [1, 15, 19, 22, 56], "mathrel": 1, "math": [1, 7, 17, 23, 40, 59, 66, 69, 74, 77, 85], "2n": [1, 40, 59], "proceed": [1, 63, 67, 95], "frac": [1, 40, 41, 42, 44, 59, 89], "3n": 1, "notin": 1, "recal": [1, 7, 8, 14, 15, 19, 20, 22, 30, 37, 41, 45, 49, 51, 53, 56, 58, 62, 64, 65, 67, 69, 77, 78, 79, 80, 81, 84, 87], "toward": [1, 20, 30, 41, 42], "end": [1, 3, 7, 10, 12, 13, 14, 15, 18, 20, 24, 27, 30, 32, 33, 40, 41, 42, 44, 45, 46, 47, 49, 53, 62, 64, 65, 66, 67, 68, 69, 72, 76, 77, 78, 79, 80, 81, 84, 85, 87, 91, 92, 94, 95], "o_2": 1, "exist": [1, 8, 13, 16, 25, 28, 38, 42, 45, 53, 54, 56, 58, 60, 62, 63, 64, 65, 67, 69, 70, 79, 80, 83, 85, 87, 92, 95], "c": [1, 3, 4, 5, 6, 7, 8, 10, 14, 16, 19, 23, 25, 27, 29, 30, 34, 35, 39, 41, 42, 45, 47, 48, 49, 51, 52, 55, 56, 57, 58, 63, 64, 65, 66, 68, 71, 74, 76, 77, 78, 80, 84, 85, 86, 87, 89, 91, 92, 95, 96], "gt": [1, 80], "existenti": [1, 56], "quantifi": [1, 14, 19, 56], "posit": [1, 8, 15, 28, 35, 41, 49, 67, 78, 79, 80, 81, 94], "bump": 1, "larger": [1, 3, 7, 22, 24, 33, 41, 42, 45, 63, 66, 67, 69, 82], "analyz": [1, 40, 44, 64, 65, 74], "happen": [1, 5, 6, 7, 8, 10, 12, 13, 16, 22, 26, 27, 33, 40, 41, 42, 44, 45, 47, 48, 49, 55, 64, 67, 78, 81, 85, 92, 94, 95], "slower": [1, 16], "hardcod": [1, 12, 20, 95], "lookup": [1, 26, 28, 48, 69, 79], "o_3": 1, "n_0": 1, "geq": [1, 48], "smaller": [1, 4, 14, 19, 20, 21, 22, 42, 46, 64, 67, 79, 85], "temporarili": [1, 7, 85], "pick": [1, 3, 10, 13, 19, 44, 47, 48, 51, 64, 67, 92, 95], "power": [1, 2, 6, 8, 11, 12, 20, 24, 25, 29, 36, 39, 40, 41, 42, 44, 45, 55, 56, 74, 77, 93, 95], "repeat": [1, 12, 15, 17, 18, 20, 24, 33, 41, 44, 47, 53, 58, 64, 77, 95], "memor": [1, 49], "abl": [1, 3, 9, 18, 27, 30, 41, 44, 45, 47, 55, 66, 67, 71, 74, 77, 80, 82, 85, 92, 95], "recreat": 1, "scratch": [1, 58, 66, 71, 95], "anytim": [1, 64, 67, 77], "asymptot": [1, 44, 50, 58, 79, 90], "upper": [1, 7, 15, 22, 25, 66, 70, 85], "least": [1, 8, 9, 14, 15, 18, 20, 25, 28, 30, 40, 41, 42, 47, 48, 53, 54, 57, 58, 62, 63, 64, 69, 78, 85, 90], "inflat": [1, 40], "goal": [1, 7, 9, 14, 16, 19, 21, 24, 33, 40, 50, 61, 65, 66, 67, 69, 78, 84, 95], "explicitli": [1, 5, 7, 8, 18, 32, 53, 63, 87], "ask": [1, 5, 6, 8, 12, 13, 47, 95], "tightest": 1, "ldot": [1, 40, 42, 89], "parameter": [1, 36, 41, 56, 74, 77, 79, 80, 81, 86], "badli": [1, 94], "mislead": 1, "moral": [1, 25, 64], "stori": [1, 25, 64], "hideou": 1, "inexcus": 1, "abus": [1, 83, 93], "allow": [1, 8, 12, 14, 16, 18, 19, 20, 21, 25, 27, 30, 31, 40, 41, 42, 47, 48, 49, 56, 64, 73, 74, 77, 78, 80, 82, 83, 85, 92, 95], "perman": [1, 4], "infect": 1, "conscious": 1, "defens": [1, 11, 23], "patent": 1, "ridicul": 1, "grace": [1, 72], "admit": [1, 47, 90], "nonsens": 1, "sometim": [1, 4, 7, 8, 9, 13, 14, 16, 19, 22, 24, 25, 27, 32, 35, 40, 42, 44, 45, 47, 52, 63, 64, 65, 66, 67, 73, 76, 77, 79, 85, 92, 94, 95], "becom": [1, 3, 8, 9, 10, 18, 21, 25, 27, 28, 30, 35, 36, 40, 41, 42, 43, 45, 46, 47, 48, 55, 60, 62, 63, 64, 66, 67, 70, 75, 79, 80, 81, 82, 84, 85, 88, 92, 95], "stuck": [1, 14, 19, 22, 51, 63, 68, 69, 95], "mistak": [1, 3, 10, 16, 21, 27, 32, 40, 81, 92, 95], "ancestor": [1, 66], "Be": [1, 15, 41, 66, 95], "direct": [1, 4, 12, 20, 41, 42, 47, 50, 53, 55, 77, 78, 87, 95], "ever": [1, 3, 4, 7, 8, 9, 18, 27, 35, 40, 42, 45, 47, 49, 64, 67, 69, 79, 81, 85, 92], "chanc": [1, 4, 27, 47, 85], "teach": [1, 70, 75], "intellectu": [1, 96], "children": [1, 37, 44, 48, 51, 65], "By": [1, 8, 9, 13, 14, 17, 18, 19, 22, 24, 30, 41, 42, 45, 48, 49, 55, 56, 58, 64, 67, 70, 78, 85, 92, 95], "improv": [1, 5, 9, 13, 16, 20, 21, 24, 41, 46, 47, 48, 55, 56, 66, 72, 77, 78, 83, 85, 92, 95], "pretti": [1, 8, 12, 13, 47, 63, 84], "thing": [1, 4, 5, 8, 9, 10, 12, 16, 20, 25, 27, 31, 32, 33, 45, 47, 49, 64, 67, 74, 79, 92, 94, 95], "longest": [1, 28, 48], "euphem": 1, "emphas": [1, 5, 16, 33, 55, 85], "featur": [1, 7, 8, 9, 11, 19, 25, 29, 30, 33, 35, 36, 43, 45, 46, 47, 49, 60, 62, 65, 66, 67, 71, 75, 77, 80, 81, 83, 86, 88, 90, 92, 94], "linear": [1, 6, 8, 18, 26, 37, 38, 40, 41, 42, 44, 46, 55, 58, 59, 63, 64, 77, 78, 79], "familiar": [1, 14, 22, 24, 29, 30, 42, 54, 58, 61, 66, 92, 95], "tail": [1, 11, 19, 28, 36, 41, 46, 49, 51, 59, 67, 77, 79, 91, 92], "insid": [2, 3, 5, 7, 8, 9, 10, 22, 25, 27, 30, 32, 35, 41, 44, 45, 47, 48, 49, 62, 63, 65, 66, 67, 76, 77, 80, 81, 83, 84, 85, 92, 95], "With": [2, 8, 16, 18, 20, 41, 46, 47, 55, 62, 64, 65, 67, 69, 77, 80, 81, 90, 95], "system": [2, 3, 4, 8, 9, 10, 16, 21, 24, 45, 46, 47, 63, 64, 67, 68, 72, 73, 74, 77, 80, 81, 82, 85, 86, 87, 92, 95], "host": 2, "os": [2, 47, 65, 95], "guest": 2, "nativ": [2, 3], "vm": [2, 68], "provid": [2, 3, 5, 6, 7, 8, 9, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 27, 32, 33, 35, 36, 41, 42, 45, 46, 47, 48, 55, 57, 58, 60, 63, 65, 66, 72, 74, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 94, 95], "pre": [2, 26, 27, 30, 40, 55, 95], "ubuntu": [2, 95], "free": [2, 4, 16, 28, 64, 66, 67, 68, 74, 75, 94, 95], "linux": [2, 16], "ancient": 2, "african": 2, "process": [2, 8, 13, 20, 24, 30, 33, 36, 47, 48, 51, 55, 58, 64, 66, 67, 79, 80, 87, 95], "download": [2, 12, 13, 62, 63, 65, 66, 67, 69, 78, 94, 95], "vmware": 2, "workstat": 2, "pro": 2, "person": [2, 5, 13, 21, 82], "account": [2, 25, 40, 53, 62, 95], "broadcom": 2, "amd64": 2, "save": [2, 3, 4, 40, 42, 44, 56, 62, 69, 95], "ova": 2, "wherev": [2, 64], "launch": [2, 12, 47, 63, 76, 87, 94, 95], "select": [2, 13, 65, 84, 95], "open": [2, 3, 13, 27, 30, 32, 33, 41, 42, 47, 63, 66, 67, 69, 77, 78, 79, 80, 86, 87, 94, 95], "click": [2, 13, 47, 94, 95], "cs": [2, 4, 6, 23, 37, 47, 68, 94, 95, 96], "minut": [2, 8, 64, 94], "gui": [2, 8, 23, 47, 94, 95], "appear": [2, 4, 8, 14, 18, 24, 28, 30, 34, 35, 39, 41, 42, 43, 45, 47, 53, 63, 64, 65, 66, 67, 77, 79, 80, 85, 86, 87, 95], "skip": [2, 12, 15, 45, 66, 67, 69, 95], "fusion": 2, "appl": [2, 78], "silicon": 2, "m1": [2, 80], "m2": [2, 80], "m3": [2, 80], "arm": [2, 65], "intel": 2, "drag": 2, "custom": [2, 14, 18, 33, 77, 79, 85], "64": [2, 7, 8, 30], "plai": [2, 15, 16, 30, 45, 85], "icon": [2, 12, 94, 95], "middl": [2, 13, 22, 46, 49, 64, 65, 77], "black": [2, 15, 19, 23, 41, 43, 50], "automat": [2, 4, 7, 8, 17, 39, 64, 66, 74, 76, 77, 80, 81, 83, 85, 95], "usernam": [2, 95], "camel": [2, 10, 47, 92, 94, 95], "password": [2, 95], "termin": [2, 3, 7, 10, 12, 27, 41, 47, 64, 66, 68, 77, 85, 88, 92, 94, 95], "firefox": 2, "web": [2, 12, 13, 30, 43, 47, 94], "browser": [2, 12, 13, 47, 65, 94, 95], "hand": [2, 3, 7, 8, 18, 21, 24, 30, 34, 35, 41, 45, 48, 49, 55, 58, 62, 64, 65, 66, 67, 69, 71, 77, 80, 85, 92, 95], "launcher": 2, "bar": [2, 30, 65, 69, 95], "updat": [2, 20, 21, 25, 33, 44, 47, 74, 79, 80, 88, 91, 92, 95], "opam": [2, 3, 8, 47, 66], "sudo": [2, 95], "apt": [2, 95], "switch": [2, 47, 62, 67, 70, 79], "semest": [2, 94, 95], "instruct": [2, 8, 45, 47, 65, 70, 95], "default": [2, 3, 8, 13, 20, 42, 47, 48, 49, 66, 77, 86, 89, 95], "recent": [2, 26, 43, 46, 57, 62, 79, 95], "platform": [2, 3, 7, 94, 95], "option": [2, 3, 12, 14, 20, 25, 26, 27, 28, 29, 30, 36, 41, 42, 44, 45, 63, 64, 66, 77, 80, 81, 85, 91, 92, 95], "chang": [2, 3, 4, 7, 8, 10, 13, 14, 17, 18, 19, 20, 21, 25, 30, 33, 34, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 55, 58, 62, 63, 64, 67, 70, 71, 72, 74, 77, 78, 79, 81, 82, 85, 87, 88, 90, 91, 92, 95], "passwd": 2, "prompt": [2, 12, 87, 95], "welcom": [2, 95], "user": [2, 20, 24, 32, 47, 49, 92, 95], "awar": [2, 16, 40, 47, 76, 83], "won": [2, 3, 4, 9, 16, 25, 28, 41, 45, 49, 64, 66, 67, 69, 72, 74, 76, 77, 80, 81, 85, 87, 92, 95], "kind": [3, 4, 5, 8, 9, 12, 15, 16, 18, 19, 20, 21, 22, 25, 27, 29, 30, 32, 36, 39, 40, 41, 42, 43, 45, 47, 48, 49, 51, 52, 60, 64, 65, 67, 68, 74, 76, 80, 84, 85, 86, 92, 95], "interact": [3, 9, 12, 13, 14, 24, 41, 47, 49, 64, 66, 87, 92, 94], "calcul": [3, 12, 41, 44], "far": [3, 4, 5, 7, 8, 13, 17, 18, 19, 20, 22, 24, 25, 27, 34, 35, 40, 42, 45, 47, 55, 58, 62, 63, 64, 66, 69, 72, 76, 77, 79, 82, 85, 90, 92], "directori": [3, 13, 33, 76, 87, 95], "command": [3, 7, 12, 41, 47, 66, 74, 87, 94, 95], "mkdir": [3, 95], "hello": [3, 6, 25, 35, 41, 65, 77, 94], "cd": [3, 95], "root": [3, 6, 10, 13, 16, 25, 28, 41, 44, 48, 51, 64, 66, 95], "unix": [3, 16, 20, 41, 47], "home": [3, 95], "place": [3, 7, 8, 13, 18, 21, 22, 24, 25, 30, 33, 42, 47, 48, 51, 63, 67, 69, 76, 77, 85, 89, 92, 94, 95], "soon": [3, 4, 8, 21, 25, 39, 45, 55, 67, 74, 79, 81, 83, 85], "subdirectori": [3, 87, 95], "_": [3, 10, 14, 16, 18, 19, 20, 25, 27, 28, 30, 31, 33, 34, 37, 38, 41, 42, 44, 45, 46, 47, 48, 49, 51, 55, 63, 67, 69, 76, 77, 79, 80, 84, 85, 92], "print_endlin": [3, 6, 10, 47, 94], "intend": [3, 17, 24, 27, 30, 41, 45, 51, 66, 67, 77, 85, 95], "session": [3, 12, 20], "blank": 3, "underscor": [3, 10, 30, 33], "ocamlc": [3, 78, 87], "output": [3, 4, 6, 8, 10, 12, 13, 15, 16, 18, 19, 21, 23, 28, 30, 41, 42, 45, 47, 48, 49, 50, 53, 54, 56, 57, 58, 64, 65, 66, 69, 74, 77, 78, 79, 80, 84, 85, 86, 91, 92, 94, 95], "bytecod": [3, 45, 65, 68, 87], "cmi": 3, "cmo": [3, 78, 87], "concern": [3, 4, 18, 30, 74, 77, 82, 83], "print": [3, 4, 11, 12, 20, 28, 33, 41, 45, 47, 49, 54, 58, 64, 78, 84, 90, 92, 94], "string": [3, 5, 6, 7, 8, 10, 15, 18, 20, 25, 26, 27, 28, 32, 33, 34, 35, 41, 42, 44, 45, 47, 53, 55, 56, 58, 63, 64, 66, 69, 76, 77, 78, 79, 80, 84, 85, 87, 91, 92, 94, 95], "recompil": [3, 63, 78], "rerun": 3, "multipl": [3, 6, 7, 8, 10, 11, 15, 18, 19, 22, 25, 26, 35, 40, 41, 42, 45, 46, 47, 49, 53, 61, 64, 65, 67, 77, 78, 79, 84, 92], "cycl": [3, 25, 42, 45, 49, 50, 91, 92], "feel": [3, 8, 9, 24, 29, 45, 66, 72, 85, 95], "unfamiliar": [3, 6], "id": [3, 8, 9, 30, 45, 63, 64, 66, 79, 80, 81, 94, 95], "eclips": [3, 9], "worri": [3, 4, 7, 8, 17, 30, 33, 47, 58, 64, 67, 76, 77, 78, 93, 95], "clean": [3, 73, 95], "rm": [3, 6, 13, 95], "unlik": [3, 7, 29, 42, 64, 85, 92], "invok": [3, 13, 20, 47, 77, 81, 85, 92], "idiom": [3, 9, 11, 30, 77], "last": [3, 4, 7, 13, 18, 20, 22, 28, 40, 41, 42, 44, 45, 46, 47, 49, 52, 64, 66, 67, 69, 80, 85], "serv": [3, 19, 21, 24, 47, 72], "kick": [3, 8], "off": [3, 4, 8, 18, 24, 30, 32, 40, 47, 49, 58, 64, 77, 84, 85, 92, 94], "librari": [3, 4, 5, 7, 8, 9, 10, 11, 13, 18, 20, 21, 25, 26, 27, 28, 30, 33, 34, 36, 37, 41, 45, 47, 48, 49, 52, 53, 54, 57, 58, 60, 66, 67, 76, 77, 78, 79, 80, 81, 85, 89, 92], "legaci": [3, 87], "ocamlbuild": [3, 87], "newer": [3, 95], "gradl": 3, "maven": 3, "ant": 3, "hierarchi": [3, 64], "extern": [3, 47], "packag": [3, 20, 47, 83, 85, 95], "instal": [3, 8, 15, 18, 20, 47, 77, 78, 84, 94], "manag": [3, 13, 17, 25, 40, 47, 74, 82, 95], "descend": [3, 13, 16, 19, 28, 48, 64], "lisp": [3, 8, 30, 46, 62, 67, 71, 73, 75], "parenthes": [3, 7, 8, 12, 25, 35, 47, 55, 59, 63, 65, 66, 79, 80, 85, 88], "nest": [3, 6, 7, 10, 13, 19, 30, 31, 32, 63, 67, 77, 84, 85, 92], "html": [3, 5, 12, 13, 23, 30, 75, 76, 94], "declar": [3, 5, 8, 16, 25, 47, 63, 64, 66, 76, 77, 78, 80, 81, 82, 84, 85, 86, 91], "lang": [3, 33, 64], "releas": [3, 47, 95, 96], "sourc": [3, 4, 5, 12, 13, 16, 17, 18, 20, 24, 30, 47, 55, 62, 65, 68, 74, 76, 80, 81, 82, 87, 90, 91, 94, 95], "ex": [3, 13, 30, 33, 41, 47, 95], "extens": [3, 4, 19, 25, 30, 47, 66, 70, 76, 80, 86, 94, 95], "window": [3, 12, 33, 41], "_build": [3, 33, 66, 87], "benefit": [3, 21, 24, 42, 47, 56, 75, 83], "over": [3, 7, 8, 9, 14, 15, 16, 17, 19, 20, 25, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 55, 56, 60, 61, 62, 64, 66, 67, 69, 70, 74, 77, 78, 80, 94, 95, 96], "pollut": 3, "bunch": [3, 40], "cleanli": [3, 41], "separ": [3, 6, 7, 8, 10, 18, 30, 33, 53, 64, 65, 66, 67, 76, 79, 82, 84, 85, 92, 95], "buri": 3, "coupl": [3, 4, 8, 9, 10, 14, 17, 20, 21, 25, 28, 32, 42, 45, 47, 48, 52, 55, 61, 66, 69, 80, 81, 85, 86, 92], "shortcut": [3, 95], "rememb": [3, 12, 16, 30, 32, 35, 44, 49, 55, 63, 67, 77, 80, 81, 92, 95], "To": [3, 4, 7, 8, 10, 13, 14, 18, 19, 20, 25, 27, 28, 31, 33, 34, 35, 40, 41, 42, 44, 46, 47, 48, 49, 51, 53, 55, 58, 62, 63, 64, 67, 69, 76, 77, 78, 79, 80, 82, 85, 88, 91, 92, 94, 95], "simpli": [3, 7, 8, 14, 16, 18, 19, 25, 26, 27, 28, 30, 39, 41, 42, 44, 45, 47, 48, 49, 54, 63, 66, 74, 77, 80, 81, 82, 85, 92, 94, 95], "exec": [3, 13, 33, 41, 47], "remov": [3, 14, 15, 18, 20, 21, 41, 42, 45, 47, 58, 65, 78, 79, 80, 82, 85, 91, 95], "cach": [3, 49, 50, 77, 79], "copi": [3, 4, 12, 18, 20, 30, 33, 35, 36, 40, 66, 77, 78, 79, 81, 83, 95], "accident": [3, 55, 58, 67, 76, 85], "loss": [3, 18], "recov": [3, 42], "git": 3, "advis": [3, 79], "error": [3, 4, 6, 7, 8, 10, 12, 13, 16, 20, 23, 24, 25, 27, 32, 33, 45, 49, 55, 63, 64, 65, 67, 69, 74, 76, 77, 78, 79, 80, 81, 85, 87, 91, 92, 94, 95], "attempt": [3, 13, 22, 24, 30, 36, 42, 47, 49, 58, 64, 65, 66, 67, 69, 74, 77], "init": [3, 30, 55, 77, 89, 95], "bin": 3, "ocamlformat": [3, 76, 95], "top": [3, 8, 12, 14, 15, 47, 48, 59, 77, 80, 81, 85, 91, 94, 95], "onc": [3, 10, 15, 18, 19, 20, 22, 27, 28, 30, 40, 41, 42, 44, 45, 47, 49, 53, 55, 56, 64, 65, 67, 69, 70, 77, 78, 79, 82, 85, 86, 88, 92, 94], "accomplish": [3, 7, 30, 42, 65, 67, 80, 84], "respond": [3, 7, 47, 85], "wait": [3, 14, 33, 47, 64, 94], "filesystem": [3, 95], "rebuild": [3, 33], "stop": [3, 4, 8, 41, 42, 47, 63, 67, 95], "press": [3, 12, 41, 47, 50, 79, 86, 95], "resort": 4, "everyth": [4, 5, 8, 57, 67, 69, 74, 80, 82, 87], "els": [4, 6, 7, 8, 13, 14, 15, 16, 18, 19, 26, 30, 42, 44, 45, 46, 47, 48, 49, 51, 54, 55, 56, 58, 59, 62, 63, 64, 66, 67, 69, 77, 78, 79, 80, 81, 92, 95], "fail": [4, 7, 13, 16, 17, 18, 19, 20, 21, 22, 27, 33, 41, 47, 48, 64, 72, 77, 87, 94, 95], "accord": [4, 7, 14, 17, 19, 20, 28, 30, 41, 42, 46, 49, 55, 62, 64, 65, 80, 85, 92], "rob": 4, "miller": 4, "four": [4, 13, 28, 31, 45, 46, 48, 63, 64, 66, 70, 77, 86, 94, 95], "erad": 4, "memori": [4, 8, 9, 12, 17, 30, 36, 40, 45, 47, 49, 62, 65, 74, 92, 93], "safeti": [4, 8, 17, 68, 74, 75, 92, 93], "access": [4, 7, 8, 9, 32, 35, 36, 39, 46, 47, 49, 65, 77, 78, 79, 81, 85, 87, 88, 92, 95], "refer": [4, 7, 8, 10, 15, 19, 20, 25, 32, 39, 40, 45, 47, 52, 56, 64, 66, 79, 87, 89, 91, 92, 93], "region": [4, 13, 92], "inconsist": [4, 18], "prevent": [4, 8, 21, 24, 30, 64, 67, 74, 77, 83, 92], "buffer": [4, 10, 66, 74], "overflow": [4, 6, 8, 49, 72, 74], "ad": [4, 8, 12, 13, 15, 16, 18, 19, 20, 40, 41, 42, 47, 48, 58, 66, 67, 69, 77, 78, 79, 80, 81, 83, 84, 85], "boolean": [4, 7, 14, 22, 34, 41, 42, 56, 64, 66, 67, 69, 92], "float": [4, 6, 7, 10, 13, 25, 28, 32, 38, 41, 42, 53, 76, 78, 79, 80, 84, 88, 89], "tool": [4, 5, 9, 11, 12, 13, 16, 24, 30, 61, 65, 66, 95], "autom": [4, 24, 33], "analysi": [4, 9, 14, 22, 43, 50, 65, 67, 68, 69, 70, 79], "findbug": 4, "slam": 4, "devic": 4, "driver": [4, 24], "subfield": 4, "verif": [4, 14, 19, 23, 24], "social": [4, 17, 23, 24, 85], "ibm": [4, 24], "1970": [4, 48, 66, 73], "1990": [4, 56, 60, 70, 71, 72], "remark": [4, 24, 67], "effect": [4, 7, 8, 9, 10, 13, 19, 24, 39, 40, 41, 42, 43, 44, 45, 47, 49, 50, 66, 74, 75, 76, 77, 80, 81, 82, 85, 87, 88, 90, 94, 95], "jone": [4, 24], "1991": [4, 23, 24, 46, 73], "inspect": [4, 23, 24, 48], "found": [4, 7, 8, 15, 18, 19, 20, 23, 24, 41, 42, 46, 48, 64, 74, 87, 93, 94, 95], "65": [4, 7, 24, 30], "20": [4, 7, 24, 26, 27, 30, 40, 41, 42, 45, 47, 63, 64, 85, 92, 96], "none": [4, 5, 8, 10, 20, 24, 25, 26, 27, 28, 30, 32, 41, 42, 44, 45, 47, 49, 55, 63, 67, 77, 79, 81, 91, 92], "visibl": [4, 30, 44, 77, 81, 85, 86, 94], "easier": [4, 15, 16, 18, 24, 28, 30, 40, 45, 47, 62, 64, 65, 67, 72, 74, 79, 81, 82, 86, 87, 95], "diagnos": [4, 45, 85, 95], "fix": [4, 8, 10, 12, 20, 21, 22, 24, 35, 40, 42, 47, 48, 58, 63, 64, 85, 88, 95], "past": [4, 12, 14, 17, 33, 58, 63, 81, 83, 84, 95, 96], "point": [4, 6, 7, 8, 13, 16, 18, 19, 25, 28, 33, 34, 35, 38, 42, 45, 47, 49, 54, 55, 58, 61, 62, 63, 64, 65, 66, 67, 76, 77, 79, 83, 85, 91, 92, 95], "obscur": [4, 16, 47, 64, 86], "loudli": 4, "fourth": [4, 41, 53, 56, 66, 92, 95], "expos": [4, 5, 17, 18, 45, 47, 72, 77, 80, 81, 84, 92], "confirm": [4, 13], "modul": [4, 7, 8, 10, 13, 14, 15, 20, 21, 24, 26, 28, 30, 33, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 53, 55, 57, 59, 60, 66, 67, 69, 74, 76, 77, 78, 79, 82, 86, 88, 89, 91, 92], "especi": [4, 8, 30, 40, 42, 43, 47, 64, 66, 90, 94], "break": [4, 23, 40, 42, 48, 64, 65, 74, 77, 79, 95], "distil": 4, "hard": [4, 5, 14, 16, 21, 22, 24, 30, 35, 42, 45, 48, 55, 67, 76, 80, 81, 82, 90, 92], "lurk": [4, 12, 85], "spent": [4, 16, 40, 44], "until": [4, 7, 17, 27, 32, 33, 45, 46, 47, 49, 58, 65, 67, 71, 72, 74, 76, 78, 81, 92, 95], "emploi": [4, 24], "scientif": [4, 23, 24], "formul": [4, 15, 19, 22, 24, 41, 45, 69], "notebook": [4, 94], "chemistri": 4, "lab": [4, 95], "clarifi": [4, 71], "mind": [4, 6, 15, 36, 57, 76, 86, 95], "keep": [4, 15, 18, 19, 20, 21, 22, 24, 31, 36, 40, 41, 42, 45, 46, 47, 48, 55, 58, 62, 64, 67, 69, 77, 79, 80, 82, 86, 87, 95], "track": [4, 22, 31, 42, 47, 55, 64, 67], "hypothes": [4, 22], "experi": [4, 9, 17, 20, 24, 62, 63, 72, 78, 79, 87, 94], "affirm": 4, "deni": 4, "reformul": 4, "ration": [4, 13, 78], "typo": [4, 85], "Or": [4, 8, 10, 13, 21, 25, 30, 35, 45, 54, 62, 64, 66, 67, 85, 94, 95], "reveal": [4, 8, 13, 19, 20, 21, 24, 40, 47, 68, 77, 82, 83], "flaw": [4, 58], "major": [4, 8, 18, 53, 67, 69, 95], "refactor": [4, 33, 56, 78], "suit": [4, 13, 15, 17, 20, 27, 28, 33], "creep": 4, "futur": [4, 7, 17, 18, 24, 25, 30, 41, 46, 47, 62, 86, 95], "guard": [4, 7, 64, 67, 69], "repeatedli": [4, 6, 44], "previou": [4, 5, 6, 8, 13, 14, 15, 19, 25, 28, 30, 33, 35, 41, 44, 47, 49, 54, 63, 64, 65, 67, 69, 78, 80, 92, 95], "regress": [4, 23], "tip": [4, 94, 95], "ascertain": 4, "inc": [4, 8, 12, 41, 45, 85, 87, 89], "print_int": [4, 10, 58], "trace": [4, 27], "fib": [4, 6, 15, 44, 49], "untrac": 4, "debugg": [4, 9], "ocamldebug": 4, "tutori": [4, 13, 95], "websit": [4, 73, 95], "unless": [4, 8, 20, 63, 67, 72, 79, 87, 95], "emac": [4, 62, 94, 95], "section": [4, 5, 16, 18, 23, 28, 30, 33, 35, 41, 44, 45, 46, 47, 50, 54, 55, 56, 61, 63, 66, 67, 69, 77, 80, 81, 85, 92, 94], "precondit": [4, 8, 11, 13, 14, 15, 16, 18, 19, 21, 23, 41, 76], "random_int": [4, 5], "random": [4, 5, 15, 23, 42, 92, 95], "inclus": [4, 5, 6, 30, 53, 87], "exclus": [4, 5, 57], "greater": [4, 5, 6, 13, 16, 24, 30, 46, 48, 53, 67, 78, 79, 80], "30": [4, 5, 28, 30, 47, 49, 85], "pass": [4, 5, 8, 10, 13, 19, 20, 21, 30, 33, 38, 42, 45, 52, 55, 56, 57, 58, 59, 64, 67, 75, 78, 80, 85, 92], "violat": [4, 13, 16, 18, 20, 21, 24, 40, 42, 44, 47, 48, 64, 67, 84, 92], "claus": [4, 5, 23, 30], "whatsoev": [4, 45, 69], "bet": [4, 92], "didn": [4, 8, 30, 33, 49, 55, 60, 69, 71, 80, 81, 92, 93], "implementor": [4, 80], "lsl": 4, "invalid_arg": [4, 13, 47, 92], "built": [4, 6, 7, 8, 10, 14, 18, 20, 26, 29, 30, 31, 33, 36, 40, 41, 42, 45, 46, 47, 49, 54, 55, 58, 64, 66, 69, 73, 78, 79, 83, 84, 85, 92, 95], "invalid_argu": [4, 7, 13, 46, 47, 88, 92], "situat": [4, 13, 22, 40, 46, 48, 49, 62, 65, 69, 76, 87], "invalid": [4, 16, 53, 66, 78], "computation": [4, 67], "cheap": [4, 18, 40, 42], "prefer": [4, 9, 12, 42, 47, 48, 76, 92, 95], "inexpens": [4, 40], "approxim": [4, 7, 13, 18, 41, 42, 49, 64, 79], "unnecessarili": 4, "expens": [4, 18, 24, 37, 40, 42, 46, 58], "cost": [4, 18, 24, 40, 48, 58, 77, 79], "initi": [4, 8, 15, 20, 23, 24, 40, 41, 42, 46, 51, 55, 64, 65, 69, 88, 89, 92], "paid": [4, 40], "These": [4, 7, 8, 16, 19, 23, 24, 30, 36, 45, 49, 56, 66, 76, 83, 87, 92, 94, 95], "often": [4, 5, 7, 8, 10, 13, 16, 18, 20, 24, 33, 35, 37, 42, 43, 45, 48, 56, 59, 64, 77, 80, 85, 87, 88, 95], "misplac": 4, "monei": [4, 40], "societi": 4, "repair": [4, 48], "fault": [4, 19, 23, 24, 45, 90], "restat": 4, "postcondit": [4, 8, 11, 16, 19, 21, 23], "big": [4, 7, 8, 30, 35, 42, 44, 50, 62, 63, 66, 68, 69, 70, 77, 78, 87], "savvi": [4, 42], "anywai": [4, 12, 40, 45, 47, 62, 85], "spend": [4, 24, 40, 95], "ocamldoc": [5, 76], "javadoc": [5, 30], "comment": [5, 8, 15, 18, 19, 21, 23, 24, 30, 47, 55, 63, 64, 77, 84, 85], "render": [5, 30, 33, 47], "easi": [5, 8, 9, 10, 14, 17, 18, 19, 24, 26, 30, 35, 39, 41, 42, 45, 48, 51, 58, 64, 67, 69, 72, 74, 77, 79, 81, 85, 94, 95, 96], "sum": [5, 19, 25, 30, 33, 35, 36, 40, 41, 49, 53, 55, 59, 84], "lst": [5, 15, 16, 18, 20, 22, 26, 28, 30, 42, 49, 53, 54, 55, 58, 65, 79, 80, 81, 85, 91, 92], "asterisk": 5, "recogn": [5, 27, 32, 40, 45, 56, 60, 66, 86, 95], "squar": [5, 6, 7, 8, 13, 15, 16, 25, 28, 30, 48, 49, 53, 56, 59, 65, 89, 95], "bracket": [5, 7, 25, 28, 30, 48, 65, 77], "around": [5, 7, 8, 16, 18, 22, 27, 40, 41, 46, 48, 49, 57, 62, 63, 64, 76, 79, 80, 87, 95], "typewrit": [5, 30], "font": 5, "regular": [5, 8, 63, 66, 68, 86], "support": [5, 7, 8, 10, 18, 19, 20, 25, 30, 42, 47, 57, 60, 62, 66, 74, 77, 78, 79, 80, 82, 83, 84, 95], "deprec": 5, "param": 5, "netid": [5, 95], "full": [5, 18, 19, 32, 34, 35, 41, 45, 48, 63, 64, 65, 72, 73, 80, 94], "rang": [5, 7, 20, 42, 59], "markup": 5, "manual": [5, 6, 7, 8, 27, 34, 41, 47, 55, 64, 77, 84, 85, 92, 95], "cover": [5, 7, 8, 9, 13, 18, 20, 24, 25, 27, 29, 30, 39, 43, 47, 60, 64, 65, 66, 67, 70, 78, 85, 90, 94], "enough": [5, 6, 8, 13, 14, 16, 17, 18, 21, 30, 33, 41, 58, 65, 66, 67, 82, 92], "style": [5, 7, 12, 16, 18, 35, 45, 46, 47, 52, 60, 67, 85, 86], "favor": 5, "resembl": [5, 19, 62, 64, 66, 67, 80, 86], "revisit": [5, 33, 34, 40, 78], "descript": [5, 16, 19, 30, 33, 38, 55, 66, 69, 82, 95], "redundantli": 5, "paramet": [5, 8, 16, 25, 33, 55, 57, 64, 80, 81], "said": [5, 9, 13, 27, 47, 72, 77, 92], "strongli": [5, 7, 19], "discourag": [5, 7], "limpid": 5, "lowercase_ascii": [5, 85], "lowercas": [5, 8], "ascii": [5, 7], "occurr": [5, 7, 15, 22, 30, 42, 45, 51, 62, 63, 66, 67, 79], "not_found": [5, 44, 69, 78, 79, 80], "satisfi": [5, 13, 16, 18, 19, 20, 21, 23, 28, 33, 40, 41, 45, 46, 48, 53, 56, 77, 80, 82, 83, 84], "sentenc": [5, 16, 18, 35, 80], "dynam": [5, 7, 8, 9, 11, 25, 27, 30, 34, 35, 39, 49, 63, 64, 67, 68, 69, 70, 74, 75, 81, 84, 85, 88, 91, 92], "python": [5, 7, 8, 10, 12, 20, 29, 30, 54, 57, 58, 59, 60, 65, 71, 72, 74, 85, 94], "frequent": [5, 13, 47, 65, 94], "regard": [5, 7, 17, 19, 35, 40, 67, 79], "ensur": [5, 9, 10, 13, 14, 17, 18, 20, 30, 42, 47, 48, 55, 58, 64, 67, 69, 78, 79, 80, 85], "wrong": [5, 16, 21, 25, 27, 58, 62, 67, 72, 82, 83, 92, 95], "although": [5, 7, 8, 9, 18, 19, 20, 25, 26, 37, 40, 41, 42, 44, 64, 65, 66, 67, 79, 80, 89, 92], "english": [5, 7, 14, 19], "helpfulli": 5, "reader": [5, 8, 12, 16, 18, 31, 45, 54, 55, 58, 66, 85, 94], "highli": [5, 7, 36, 49, 65], "unidiomat": 5, "puzzl": [5, 20, 28, 92], "wrote": [5, 8, 25, 26, 28, 30, 33, 45, 58, 64, 66, 69, 74, 77, 80], "Is": [5, 14, 17, 40, 42, 46, 77, 95], "am": 5, "miss": [5, 14, 16, 18, 66, 67, 76, 85], "string_of_int": [6, 7, 28, 32, 33, 42, 53, 67, 78, 84], "hint": [6, 7, 12, 13, 15, 18, 19, 28, 41, 47, 53, 63, 78, 79, 87, 89], "examin": [6, 7, 21, 29, 41, 42, 63, 74], "scroll": [6, 7], "page": [6, 7, 8, 12, 47, 49, 94, 95], "42": [6, 7, 8, 12, 19, 30, 32, 41, 42, 47, 56, 62, 63, 64, 65, 67, 77, 80, 81, 84, 85, 87, 91, 92], "divid": [6, 13, 19, 42, 67, 76, 78, 79, 89], "14": [6, 7, 8, 10, 25, 28, 30, 63, 68, 76, 77, 79, 85, 92], "seventh": [6, 66], "nor": [6, 8, 10, 16, 27, 47, 53, 55, 63, 85, 90], "cpu": [6, 47], "hi": [6, 25, 32, 44, 53, 56, 70, 72, 73, 79, 94], "physic": [6, 7, 9, 89, 93], "2110": [6, 37, 42, 70], "increment": [6, 7, 8, 12, 30, 33, 40, 45, 47, 49, 66, 88, 92], "cube": [6, 44, 53], "sign": [6, 8, 25, 28, 30, 33, 35, 66, 79, 80, 84], "circl": [6, 17, 25], "radiu": [6, 25], "bear": [6, 22, 57, 80, 95], "1e": 6, "worthwhil": [6, 8, 24, 30], "averag": [6, 15, 40, 42], "avg3": 6, "z": [6, 7, 8, 13, 15, 19, 22, 34, 35, 41, 47, 48, 63, 64, 66, 67, 80, 85, 89, 92], "sqrt": [6, 13, 44, 89], "date": [6, 28, 78, 95], "month": [6, 17, 28, 78], "abbrevi": [6, 25], "jan": [6, 79], "feb": 6, "mar": 6, "apr": 6, "mai": [6, 7, 8, 13, 14, 15, 16, 18, 21, 24, 25, 27, 28, 30, 34, 35, 41, 42, 45, 47, 48, 53, 63, 64, 67, 69, 79, 82, 85, 92], "jun": 6, "jul": 6, "aug": 6, "sept": 6, "oct": 6, "nov": 6, "dec": [6, 45], "minimum": [6, 13, 28], "31": [6, 8, 20, 28, 30, 41, 78, 80, 81, 85], "28": [6, 7, 28, 30, 85], "ters": [6, 53, 78, 79], "short": [6, 7, 13, 16, 24, 30, 37, 41, 42, 54, 62, 67, 68, 76, 85, 90, 92], "fewer": [6, 10, 24, 28, 48], "th": 6, "fibonacci": [6, 49], "sequenc": [6, 7, 10, 14, 19, 20, 30, 40, 41, 43, 45, 46, 63, 64, 65, 66, 88, 93], "13": [6, 20, 28, 30, 33, 41, 49, 50, 77, 80, 81, 85, 86, 93], "50th": [6, 78], "instantan": 6, "congratul": 6, "hang": 6, "indefinit": 6, "obviou": [6, 18, 42, 45, 49, 56, 67], "subproblem": [6, 22], "redon": 6, "fib_fast": 6, "helper": [6, 8, 28, 41, 45, 46, 47, 58, 69, 77, 79, 81, 91, 92], "h": [6, 14, 15, 18, 19, 22, 23, 25, 28, 30, 32, 34, 35, 41, 44, 45, 48, 49, 51, 54, 55, 58, 64, 77, 79, 80, 81], "pp": [6, 77], "forward": [6, 41, 95], "neg": [6, 16, 19, 22, 25, 28, 31, 40, 42, 46, 79, 80, 81, 85], "indic": [6, 7, 8, 10, 12, 30, 33, 39, 41, 42, 47, 48, 49, 55, 56, 57, 64, 65, 66, 77, 84, 85, 92, 95], "poli": [6, 8, 15, 23, 25, 28], "numer": [6, 16, 41, 78, 79], "denomin": [6, 41, 78], "associ": [6, 9, 14, 15, 18, 19, 22, 23, 28, 29, 30, 35, 36, 39, 44, 45, 46, 47, 50, 53, 55, 60, 63, 65, 66, 68, 69, 78, 79, 80, 95], "decid": [6, 18, 19, 21, 30, 35, 51, 55, 67, 80], "infix": [6, 8, 19, 22, 41, 45, 47, 64, 69, 79], "print_str": [6, 10], "primari": [7, 30, 46, 47, 65, 69, 70, 96], "primarili": [7, 8, 9, 47, 56, 74], "21": [7, 12, 30, 46, 49, 77, 85, 92], "cryptic": 7, "overview": 7, "remain": [7, 8, 14, 17, 33, 40, 46, 47, 49, 51, 53, 55, 62, 63, 64, 67, 69, 78, 80, 91], "yai": 7, "mostli": [7, 13, 47, 91, 94], "recogniz": 7, "mod": [7, 15, 20, 41, 42, 54, 87], "divis": [7, 41, 45, 47, 76, 78], "modulu": 7, "60": [7, 30], "division_by_zero": 7, "modern": [7, 13, 17, 42, 47, 62, 66, 68, 73, 75, 85], "regist": [7, 45, 47, 65, 77], "stolen": 7, "63": [7, 8, 13, 30], "int64": 7, "zarith": [7, 8], "purpos": [7, 16, 18, 20, 22, 45, 47, 55, 62, 65, 67, 69, 71], "suffic": [7, 19, 20, 33, 77, 79, 80, 85], "offer": [7, 40, 42, 43, 46, 48, 52, 70, 80, 85, 93, 95], "ieee": 7, "754": 7, "dot": [7, 30, 35, 53, 64, 77, 85, 95], "deliber": [7, 16, 33, 42, 77], "overload": [7, 10, 85], "expect": [7, 8, 10, 14, 16, 20, 24, 33, 35, 36, 38, 39, 40, 42, 45, 47, 48, 55, 63, 64, 66, 67, 72, 76, 77, 79, 80, 81, 85, 92], "convert": [7, 8, 10, 14, 15, 16, 18, 20, 31, 32, 40, 41, 42, 44, 49, 52, 58, 78, 84, 85], "int_of_float": 7, "float_of_int": [7, 15, 42], "round": [7, 40], "300000000000000044": 7, "behavior": [7, 8, 9, 13, 16, 18, 21, 22, 24, 41, 45, 47, 53, 78, 80, 85, 92, 95], "encount": [7, 45, 48, 51, 64, 67, 74, 76, 77, 86, 91, 92], "bool": [7, 8, 10, 13, 14, 15, 18, 20, 22, 25, 28, 30, 31, 37, 41, 42, 47, 48, 51, 53, 54, 55, 56, 64, 66, 67, 69, 76, 77, 79, 80, 81, 85, 89, 92], "circuit": [7, 41, 67, 68], "char": [7, 20, 53, 78, 80, 85], "quot": [7, 8, 41, 95], "iso": 7, "8859": 7, "latin": 7, "encod": [7, 16, 65, 69, 92], "half": [7, 41, 52, 74], "char_of_int": 7, "int_of_char": 7, "abc": [7, 55], "concaten": [7, 28, 45, 47, 55, 58], "def": [7, 59], "abcdef": 7, "orient": [7, 8, 9, 23, 70, 80, 81, 82, 83, 85, 86, 94], "overrid": [7, 42, 83], "tostr": [7, 10, 18, 33, 77, 78], "__str__": 7, "string_of_float": [7, 84], "string_of_bool": 7, "strang": [7, 8, 27, 47, 64, 80, 85, 92], "string_of_char": 7, "int_of_str": [7, 25, 66], "float_of_str": 7, "bool_of_str": 7, "123": [7, 30], "char_of_str": 7, "correspond": [7, 8, 18, 20, 22, 41, 42, 44, 45, 47, 51, 63, 66, 67, 76, 85], "inequ": [7, 48], "tricki": [7, 28, 40, 67, 80, 92], "curiou": [7, 77, 85], "yourself": [7, 8, 9, 10, 12, 13, 17, 20, 22, 30, 33, 41, 42, 47, 48, 49, 72, 75, 78, 92, 94, 95], "seri": [7, 13, 40, 41, 89], "input1": 7, "output1": 7, "input2": 7, "output2": 7, "input3": 7, "output3": 7, "forth": [7, 22, 41, 42, 47, 56, 57, 76, 77, 79, 85], "handl": [7, 13, 16, 25, 27, 30, 33, 41, 45, 47, 48, 62, 64, 66, 67, 69, 77, 79, 80, 81], "e3": [7, 8, 27, 30, 62, 64, 66, 67, 69, 88], "boo": 7, "anywher": [7, 8, 30, 38, 63, 64, 67, 74, 94], "ternari": [7, 51, 62, 63, 69], "pleasant": [7, 23, 30, 49, 57, 79], "e4": [7, 8, 27, 64], "e5": 7, "e6": 7, "en": [7, 8, 27, 30, 35, 63, 67, 88, 92], "mandatori": [7, 8, 35, 85, 88], "regardless": [7, 14, 28, 30, 42, 45, 47, 67, 78, 81, 92, 95], "omit": [7, 8, 12, 16, 18, 25, 30, 42, 45, 67, 76, 77, 79, 85, 90, 95], "messag": [7, 8, 17, 20, 33, 45, 64, 76, 81, 85, 95], "inscrut": 7, "letter": [7, 8, 17, 34, 39, 64, 66, 69, 76, 85, 87], "metavari": [7, 8, 11, 30, 66, 68], "certain": [7, 9, 19, 21, 40, 45, 47, 67, 69, 77, 86, 90], "curious": 7, "compact": [7, 53], "notat": [7, 19, 22, 28, 30, 35, 42, 45, 49, 62, 63, 66, 67, 69], "colon": [7, 30, 35, 64, 85], "pronounc": [7, 8, 10, 12, 25, 30, 45, 63, 77], "usag": [7, 8, 9, 27, 32, 41, 45, 63, 74, 77, 89], "consist": [7, 8, 9, 12, 56, 62, 64], "43": [7, 8, 30, 67, 80, 92], "24": [7, 30, 45, 48, 77], "11": [7, 8, 28, 30, 36, 41, 42, 44, 50, 77, 79, 80, 85, 86, 87], "permit": [7, 8, 10, 16, 34, 41, 47, 49, 64, 67, 79, 81, 85, 92], "On": [7, 18, 30, 40, 41, 45, 55, 67, 77, 81, 92, 95], "bodi": [7, 8, 10, 11, 16, 25, 27, 34, 41, 45, 49, 58, 62, 63, 64, 65, 67, 69, 80, 81, 85, 88, 92], "implicitli": [7, 8, 13, 14, 16, 32, 64, 86], "red": [7, 25, 41, 43, 50, 85, 91, 95], "idiomat": [7, 8, 9, 10, 30, 35, 39, 77, 85, 92], "begin": [7, 8, 10, 11, 12, 14, 16, 22, 30, 32, 33, 36, 39, 41, 48, 49, 53, 55, 60, 65, 66, 67, 69, 75, 77, 79, 81, 84, 85, 86, 92, 93], "lower": [7, 18, 25, 41, 48, 64, 66, 85], "snake_cas": [7, 85], "camelcas": [7, 85], "v1": [7, 8, 30, 34, 35, 42, 62, 63, 67, 79, 88, 91, 92], "substitut": [7, 8, 11, 30, 34, 62, 63, 64, 68, 70, 74, 85, 92, 95], "v2": [7, 30, 34, 42, 62, 63, 67, 88, 91, 92], "clariti": [7, 16, 18, 55, 59, 67], "inferenc": [7, 64, 68], "meaning": [7, 8, 42, 65, 85], "overlap": [7, 39, 44, 47], "darn": 7, "confus": [7, 9, 16, 30, 47, 64, 66, 77, 84, 85, 92], "ambigu": [7, 65, 79], "pronoun": 7, "guess": [7, 8], "principl": [7, 15, 19, 23, 32, 44, 45, 55, 58, 60, 62, 64, 67, 70, 71, 81, 85, 92, 95], "irrelev": [7, 8, 35, 48, 62, 67, 92], "shouldn": [7, 55, 62, 92, 95], "align": [7, 22, 82], "commonli": [7, 8, 35, 62, 69, 85], "alpha": [7, 8, 77, 78], "renam": [7, 45, 55, 70], "convers": [7, 8, 10, 18, 52, 64, 77, 92], "histor": [7, 54, 80], "unimport": 7, "embed": [7, 47, 94, 96], "shadow": [7, 62, 63, 64, 65, 67, 85], "old": [7, 17, 25, 30, 35, 40, 46, 47, 55, 62, 65, 69, 72, 79, 80, 83, 95], "metaphor": [7, 8, 12, 32, 41, 45, 52, 81], "cast": [7, 65, 85], "eventu": [7, 8, 17, 19, 41, 42, 45, 46, 47, 57, 58, 64, 66, 67, 73, 79], "reappear": 7, "reced": 7, "mutabl": [7, 19, 23, 25, 30, 42, 47, 48, 50, 58, 67, 74, 75, 79, 88, 89, 93], "transcript": [7, 47], "22": [7, 12, 25, 30, 47, 55, 63, 64, 68, 85, 95], "worth": [7, 13, 42, 72, 95, 96], "mutat": [7, 35, 42, 46, 47, 64, 88, 89, 91, 92, 93], "summar": 7, "immut": [7, 15, 30, 42, 72, 74, 75, 79, 90, 93], "superfici": [7, 14], "quit": [7, 8, 10, 12, 14, 18, 19, 20, 21, 22, 24, 30, 42, 43, 45, 47, 49, 59, 64, 66, 73, 74, 78, 80, 81, 86, 91, 92, 95], "27": [7, 30, 33, 45, 55, 68], "debug": [7, 8, 11, 16, 18, 23, 32, 45, 66, 72, 79], "forgotten": [7, 59, 85], "cannot": [7, 8, 14, 16, 18, 27, 32, 41, 45, 47, 48, 49, 63, 64, 67, 69, 72, 74, 77, 80, 85, 87, 88, 91, 93, 95], "tri": [7, 8, 34, 40, 73, 80, 92], "clear": [7, 8, 16, 21, 33, 37, 45, 48, 54, 64, 79, 82, 84, 94], "silli": [7, 74], "tini": [7, 61, 66, 67, 79, 80], "techniqu": [7, 8, 17, 19, 20, 22, 23, 24, 40, 42, 43, 44, 45, 50, 51, 61, 65, 81, 82], "awai": [7, 8, 10, 16, 17, 18, 25, 40, 47, 48, 55, 58, 64, 67, 81, 83, 87, 92, 95], "receiv": [8, 21, 33, 47, 66, 72, 73, 85, 92], "keyword": [8, 9, 12, 25, 28, 30, 32, 33, 47, 49, 53, 55, 63, 65, 66, 69, 79, 80, 84, 85, 88, 92], "self": [8, 38, 44, 55, 66, 85], "quibbl": 8, "distinct": [8, 13, 18, 30, 35, 44, 65, 80, 82, 83, 85, 95], "procedur": [8, 48, 64, 74, 95], "background": [8, 47, 94], "terminolog": [8, 23, 24, 47, 64], "strictli": [8, 10, 30, 32, 33, 41, 53, 56, 64, 67, 78, 80], "group": [8, 45, 65, 66, 83, 94], "titl": [8, 96], "scheme": [8, 20, 35, 64, 68, 70], "factori": [8, 14, 19, 58, 77, 92], "limit": [8, 20, 47, 65, 74, 78, 85, 86, 90], "wider": 8, "architectur": 8, "grown": 8, "garbag": [8, 71, 74], "collector": [8, 54, 58], "runtim": [8, 30, 64], "steal": 8, "flag": [8, 13, 18], "pow": [8, 67], "solv": [8, 14, 22, 28, 37, 41, 42, 44, 48, 55, 63, 67, 77, 80, 81, 95], "algorithm": [8, 16, 19, 37, 40, 41, 44, 47, 50, 51, 55, 60, 63, 64, 68, 70, 76, 78, 91], "ourselv": [8, 13, 17, 19, 20, 25, 40, 47, 58, 77, 82, 85, 90, 92], "mental": [8, 62, 64], "deduct": [8, 19, 53], "particularli": [8, 13, 16, 24, 25, 33, 42, 48, 75, 92], "x1": [8, 15, 19, 25, 34, 62, 67, 79, 89], "x2": [8, 19, 25, 34, 62, 67, 79], "xn": [8, 15, 34, 79, 89], "augment": [8, 45, 65, 67, 85], "week": [8, 17, 40], "mutual": [8, 11, 25, 31, 36, 37, 82, 85], "y1": [8, 25], "yn": 8, "odd": [8, 9, 15, 20, 31, 53, 54, 85], "u": [8, 18, 22, 25, 34, 41, 47, 49, 63, 84], "tn": [8, 25, 34, 35], "scope": [8, 16, 33, 63, 65, 67, 68, 69, 80, 81, 83, 86, 87, 92], "without": [8, 9, 12, 13, 16, 18, 19, 21, 27, 30, 33, 35, 41, 42, 44, 45, 46, 47, 49, 51, 55, 56, 58, 61, 62, 65, 66, 67, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 91, 93, 95], "e0": [8, 34, 88], "vn": [8, 30, 35, 42, 79, 92], "vi": [8, 30, 35, 79, 88], "xi": [8, 34], "essenc": [8, 19, 57, 63, 71, 74], "imagin": [8, 16, 17, 33, 42, 45, 47, 48, 49, 56, 59, 92], "depict": [8, 18, 48], "triangl": 8, "sent": [8, 17, 47], "36": [8, 30, 85, 92], "send": [8, 77], "nice": [8, 30, 45, 48, 64, 79, 80, 85], "arguabl": [8, 16, 29, 35, 81, 84], "eleg": [8, 48, 53, 72], "ey": [8, 30, 45], "jump": [8, 65], "move": [8, 18, 24, 30, 33, 46, 47, 48, 49, 58, 63, 79, 85], "linearli": 8, "scale": [8, 94], "grow": [8, 19, 40, 42, 48], "1444": 8, "weird": [8, 66, 84], "chain": [8, 10, 19, 41, 47, 50], "stand": [8, 12, 19, 30, 55, 58, 64, 73, 92], "typic": [8, 13, 16, 23, 42, 47, 65, 66, 67, 69, 77, 88, 92, 94, 95], "greek": [8, 20, 25, 69], "beta": 8, "gamma": [8, 69], "bigr": [8, 28, 85, 87], "morph": [8, 25], "id_int": 8, "took": [8, 18, 22, 24, 40, 70, 79, 92], "promis": [8, 21, 41, 43, 45, 50, 92], "thrown": [8, 21], "lost": [8, 17, 79], "broken": [8, 13, 16, 18, 33, 63, 92], "safe": [8, 25, 28, 30, 45, 48, 64, 74, 92, 95], "someon": [8, 16, 17, 56, 64], "potenti": [8, 10, 24, 32, 39, 40, 46, 47, 48, 50, 58, 79, 84, 85, 95], "instanti": [8, 19, 64, 65, 68, 80, 85], "mechan": [8, 27, 47, 82, 83, 86], "unappli": 8, "backward": [8, 54, 58], "among": [8, 42, 47, 48, 64, 65, 72, 74, 83], "first_int": 8, "bad_first": 8, "19": [8, 27, 30, 45, 85], "compat": [8, 45, 66, 77, 81, 85], "substr": 8, "consult": [8, 18, 28, 40], "name1": 8, "arg1": 8, "name2": 8, "arg2": 8, "shorthand": 8, "tast": [8, 72], "convei": [8, 77], "clutter": [8, 64], "explicit": [8, 16, 34, 58, 85], "addx": [8, 80], "add5": 8, "normal": [8, 20, 22, 27, 28, 39, 40, 45, 76, 80, 84, 86, 89, 92], "multi": [8, 30, 44], "readi": [8, 22, 27, 47, 64, 76, 95], "breath": 8, "t3": [8, 41, 52, 64], "t4": 8, "implicit": [8, 55, 64, 68], "intuit": [8, 14, 30, 45, 47, 49, 55, 63, 67, 79, 84, 85, 92], "grab": [8, 95], "prefix": [8, 20, 22, 39, 41, 49, 64, 69, 85, 92, 95], "add3": 8, "unnecessari": [8, 30, 59], "bewar": [8, 25, 60], "pars": [8, 35, 45, 47, 61, 63, 64, 65, 67, 69, 84, 85, 92], "max": [8, 15, 28, 32, 44, 51, 53], "punctuat": [8, 9, 51, 65], "preced": [8, 15, 30, 63, 66, 68], "seemingli": [8, 85], "uninterest": 8, "100_000": 8, "100000": 8, "stack": [8, 18, 19, 27, 28, 36, 43, 45, 47, 49, 58, 65, 66, 77, 80, 85], "issu": [8, 12, 18, 20, 24, 30, 46, 48, 57, 77, 78, 87, 94, 95], "introductori": [8, 70, 72, 94], "store": [8, 12, 30, 40, 41, 42, 44, 46, 47, 48, 49, 57, 64, 65, 78, 80, 88, 92, 95], "local": [8, 18, 21, 23, 33, 36, 48, 81, 82, 85, 86, 94], "push": [8, 14, 16, 22, 42, 45, 66, 76, 77, 79, 80, 85, 91], "pop": [8, 14, 45, 66, 76, 77, 79, 80, 85, 91], "success": [8, 15, 17, 23, 41, 94], "eat": [8, 40], "harm": 8, "count_forev": 8, "sake": [8, 31, 49, 58, 62, 69, 77], "manifest": [8, 49], "1977": [8, 30, 60, 70], "steel": 8, "cooper": [8, 47, 50], "trick": [8, 16, 19, 40, 92], "count_aux": 8, "acc": [8, 19, 22, 30, 37, 42, 51, 54, 55, 58, 77], "count_tr": 8, "almost": [8, 16, 19, 29, 46, 81, 91], "accumul": [8, 15, 16, 17, 19, 22, 33, 37, 40, 41, 55, 60], "arriv": 8, "somewher": [8, 13], "tr": 8, "went": [8, 19, 27, 55, 62, 73, 94, 95], "effort": [8, 16, 33, 42, 95], "frame": [8, 36], "reus": [8, 73, 78, 80, 81, 83, 86], "finish": [8, 13, 14, 15, 19, 33, 40, 41, 47, 48, 49, 66, 67, 92, 95], "wast": [8, 13, 30, 42, 44, 59], "alloc": [8, 30, 40, 42, 74, 92], "recycl": 8, "beyond": [8, 9, 17, 24, 30, 35, 36, 42, 49, 74, 94, 95], "suitabl": [8, 65, 81], "calle": 8, "deal": [8, 14, 16, 42, 47, 55, 64, 66, 67, 77], "reduc": [8, 13, 14, 42, 44, 46, 64, 67, 78, 79], "1_000_000": [8, 30], "1000000": 8, "patholog": 8, "fixat": 8, "upon": [8, 16, 21, 22, 42, 45, 47, 66, 67, 70, 77, 80, 94], "draft": 8, "rethink": 8, "iter": [8, 14, 15, 23, 28, 42, 47, 60, 78, 79, 80, 88], "thousand": [8, 25], "inde": [8, 10, 14, 19, 20, 29, 35, 45, 47, 58, 62, 64, 65, 67, 73, 85, 92], "notabl": [8, 9, 49], "recip": [8, 16], "nutshel": 8, "made": [8, 14, 17, 19, 21, 40, 44, 46, 55, 77, 78, 79, 81, 85, 92, 94, 95], "main": [8, 9, 16, 24, 41, 47, 58, 62, 63, 66, 67, 77], "ingenu": 8, "fact_aux": [8, 77], "fact_tr": [8, 19], "exercis": [8, 13, 14, 23, 55, 94], "suffer": [8, 64], "50": [8, 30, 49, 78], "3258495067890909184": 8, "hopefulli": [8, 17, 68, 79, 86, 95], "along": [8, 9, 13, 14, 17, 19, 20, 25, 33, 41, 45, 48, 51, 64, 66, 71, 77, 83, 94, 95], "zfact_aux": 8, "pred": [8, 31], "mul": [8, 78], "zfact_tr": 8, "of_int": [8, 78], "30414093201713378043612608166064768844377641568960512000000000000": 8, "load": [8, 20, 40, 41, 42, 47, 50, 65, 66, 76, 78, 94], "symbol": [8, 12, 42, 65, 66, 68, 69, 92], "comparison": [8, 14, 22, 41, 49, 77, 79, 80, 94], "predecessor": 8, "subtract": [8, 45, 55, 65], "dive": [9, 50, 56, 61, 66, 85], "talk": [9, 16, 18, 30, 64, 66, 82, 85, 92], "secondari": 9, "skill": [9, 65, 70], "five": [9, 28, 40, 63, 94], "essenti": [9, 13, 17, 22, 33, 37, 42, 46, 47, 54, 61, 79, 80, 82, 83, 91, 92, 95], "textual": [9, 87], "whitespac": [9, 12, 65, 66, 85], "annoi": [9, 10, 16, 81, 87], "accept": [9, 12, 18, 45, 64, 66, 69, 85, 87], "wish": [9, 95], "unusu": [9, 27, 92], "apl": 9, "keyboard": [9, 47, 62, 69, 95], "tab": [9, 41, 42, 66, 95], "newlin": [9, 10, 47], "speak": [9, 40, 67, 75], "plural": 9, "singular": 9, "legal": [9, 25, 35, 39, 62, 77, 79, 92], "challeng": [9, 12, 14, 17, 23, 41, 47, 60, 61, 64, 77, 80, 94], "hurdl": 9, "overcom": 9, "approach": [9, 13, 14, 16, 18, 19, 23, 24, 47, 64, 70, 71], "fluent": 9, "mode": [9, 41, 70], "paradigm": [9, 11, 47], "bundl": [9, 72, 80], "lazi": [9, 41, 43, 44, 50], "virtu": [9, 79, 84], "core": [9, 22, 25, 27, 45, 47, 60, 63, 64, 74, 79, 83], "unabl": [9, 45], "integr": 9, "appar": [9, 18, 42, 58, 72, 76, 86, 95], "exposur": [9, 75], "ounit": [9, 13, 15, 20, 28, 29, 80, 87], "framework": [9, 29, 30, 33, 47, 80], "junit": [9, 33], "hunit": [9, 33], "besid": [9, 56, 65, 95], "abil": [9, 16, 17, 20, 21, 36, 47, 57, 74, 76, 79, 81], "print_char": 10, "print_float": 10, "bae": [10, 47, 94], "undon": 10, "boilerpl": [10, 45], "discard": [10, 33, 79], "depend": [10, 13, 14, 21, 25, 28, 33, 40, 42, 45, 47, 48, 57, 64, 66, 67, 70, 74, 80, 82, 85, 92, 95], "surround": [10, 30, 64, 65, 85], "warn": [10, 12, 21, 25, 27, 30, 63, 66, 92, 95], "truli": [10, 20, 28, 34, 48, 69], "intent": [10, 15, 16, 17, 23], "statist": [10, 20, 41, 42], "print_stat": 10, "num": 10, "print_newlin": [10, 58], "84": [10, 30], "39": [10, 30, 35, 81, 92], "shorten": 10, "println": [10, 45], "inherit": [10, 17, 80, 81, 83], "fortran": [10, 71, 85], "invent": [10, 13, 15, 17, 19, 32, 33, 42, 44, 45, 47, 48, 64, 67, 69, 78, 79, 80, 85, 92], "plain": [10, 25], "dozen": 10, "apart": [10, 30, 73], "content": [10, 32, 41, 45, 46, 47, 58, 70, 76, 77, 79, 87, 88, 91, 92, 94, 95], "flush": 10, "sit": [10, 64], "detect": [10, 12, 15, 18, 24, 30, 64, 67, 74, 95], "34": [10, 28, 30, 49, 80, 81], "37": [10, 30, 81], "sprintf": [10, 45, 78], "collect": [10, 13, 18, 20, 25, 37, 45, 51, 54, 58, 63, 64, 66, 71, 74, 80, 85], "string_of_stat": 10, "throughout": [11, 21, 25, 56, 64, 67, 68, 74, 77, 94], "deepen": 11, "pipelin": [11, 30, 53, 56, 60, 79, 85], "caml": [11, 36, 50, 60, 73, 75, 86, 93], "music": [11, 47], "javascript": [11, 47, 64], "cute": 11, "anim": [11, 64], "disnei": 11, "song": [11, 70], "interfac": [12, 14, 15, 18, 20, 21, 41, 42, 45, 46, 47, 74, 76, 77, 78, 79, 80, 81, 82, 83, 86, 91, 92, 94, 95], "jshell": [12, 54, 58, 77], "handi": 12, "reliant": 12, "repl": 12, "eval": [12, 14, 15, 95], "exit": [12, 20, 41, 47, 65], "kei": [12, 15, 20, 24, 26, 28, 41, 42, 44, 46, 47, 48, 50, 53, 62, 74, 78, 79, 82, 85], "dissect": 12, "infrastructur": [12, 47], "translat": [12, 14, 65, 67], "pdf": [12, 75, 94], "indent": [12, 47, 63, 77], "view": [12, 18, 22, 47, 77, 79, 82, 85, 94, 95], "md": 12, "myst": [12, 94], "markdown": [12, 94], "stai": [12, 40, 48], "dear": [12, 78], "arrow": [12, 64, 67, 80, 91, 95], "visual": [12, 13, 18, 47, 94], "amen": 12, "placehold": [12, 92], "unprint": [12, 77], "vocabulari": [12, 22, 24], "strategi": [12, 42, 49, 63, 65, 67], "mycod": 12, "unbound": [12, 16, 33, 35, 49, 64, 65, 67, 69, 77, 80, 81, 85, 87], "incr": [12, 47, 67, 87, 92], "bug": [12, 13, 15, 16, 18, 19, 21, 23, 24, 30, 32, 33, 47, 67, 74], "tempt": [12, 16, 17, 20, 24, 58, 64, 74, 76, 80, 85], "resist": 12, "temptat": 12, "stale": 12, "infeas": 13, "plu": [13, 15, 22, 40, 63, 64, 66, 69, 78], "sig": [13, 14, 15, 18, 20, 41, 42, 44, 45, 46, 47, 49, 69, 76, 77, 78, 79, 80, 81, 84, 85, 87, 91], "r1": [13, 78, 92], "r2": [13, 78, 92], "struct": [13, 14, 18, 29, 35, 41, 42, 44, 45, 46, 47, 49, 69, 76, 77, 78, 79, 80, 81, 84, 85, 87, 91], "af": [13, 14, 15, 18, 24, 42, 46, 49, 89, 91], "ri": [13, 14, 15, 18, 24, 41, 42, 47, 49, 89, 91, 92], "q1": [13, 40], "q2": [13, 40], "252": [13, 30], "nanosecond": 13, "59": [13, 30], "carefulli": [13, 16, 18, 24, 30, 33, 44, 47, 48, 73], "convinc": [13, 17, 24, 30, 48, 82], "correctli": [13, 18, 19, 20, 24, 27, 28, 42, 45, 47, 67, 92, 95], "126": [13, 30], "across": [13, 42, 49, 52, 74, 82], "whole": [13, 47, 48, 49, 61, 64, 95], "compris": 13, "fashion": [13, 47], "achiev": [13, 15, 30, 40, 42, 46, 48, 51, 58, 74, 78, 79, 80, 81, 86], "coverag": [13, 15, 23], "surfac": [13, 95], "boundari": [13, 21, 23], "corner": [13, 18, 25, 27], "elicit": 13, "path": [13, 18, 23, 28, 41, 46, 48, 95], "min_int": [13, 32], "max_int": 13, "quadrant": [13, 28], "evenli": 13, "advertis": 13, "list_max": [13, 28, 32], "spec": [13, 15, 16, 18, 21, 24], "realiz": [13, 16, 17, 25, 72], "arrang": [13, 42, 62], "ascend": 13, "accuraci": [13, 16], "signific": [13, 18, 64], "digit": [13, 66, 70], "consum": [13, 23, 94], "mem": [13, 14, 15, 18, 37, 48, 78, 79, 80, 81], "iff": [13, 48], "unchang": [13, 19, 25, 34, 42, 46, 48, 62, 67, 78, 79, 91], "increas": [13, 24, 28, 30, 40, 41, 44, 48, 57, 78], "white": [13, 66, 91], "condition": [13, 56], "unexecut": 13, "explor": [13, 30, 62, 95], "max3": 13, "trigger": [13, 15, 23, 24, 42], "absenc": [13, 19, 37, 74, 85], "against": [13, 22, 25, 27, 28, 30, 34, 45, 49, 51, 55, 58, 63, 64, 66, 67], "invari": [13, 15, 23, 28, 41, 44, 47, 48, 76, 78, 85], "rep": [13, 18, 23, 41, 42, 46], "advantag": [13, 16, 18, 49, 55, 77], "parallel": [13, 47, 50], "rewritten": [13, 62, 85], "caught": [13, 18, 74], "disadvantag": [13, 16], "high": [13, 14, 16, 20, 41, 42, 47, 58, 61, 64, 65, 66, 77], "aid": [13, 95], "assess": 13, "bisect_ppx": [13, 95], "instrument": 13, "mainli": 13, "ppx": 13, "report": [13, 69, 74, 94], "got": [13, 14, 17, 33, 47, 49, 66], "merg": [13, 64, 80], "test_sort": 13, "skeleton": 13, "dune": [13, 20, 33, 41, 47, 66, 76, 78], "ounit2": [13, 20, 27, 33, 87, 95], "backend": 13, "bisectnnnn": 13, "newli": [13, 35, 42, 80, 87, 92], "_coverag": 13, "percent": 13, "uncom": 13, "delet": [13, 33, 41, 48], "tradeoff": [13, 40, 42, 58, 59, 79], "nondeterminist": [13, 47, 50, 92, 93], "affect": [13, 41, 42, 64, 72, 74, 79, 92], "runner": 13, "sequenti": [13, 45, 47, 50, 64], "ceas": 13, "tackl": 14, "proof": [14, 17, 19, 22, 23, 24, 30, 47, 48, 73], "analog": [14, 46, 47, 48, 49, 65, 77, 83, 85, 89], "complex": [14, 16, 18, 24, 38, 40, 47, 50, 74, 78, 79, 82, 83], "effici": [14, 15, 18, 19, 26, 28, 30, 31, 40, 41, 42, 43, 46, 48, 49, 50, 53, 54, 56, 58, 59, 62, 64, 67, 78, 79, 90, 92, 93], "map": [14, 15, 18, 25, 26, 28, 29, 35, 39, 41, 43, 45, 49, 50, 53, 54, 55, 56, 59, 60, 62, 64, 65, 69, 74, 78, 85, 86, 88, 89], "balanc": [14, 16, 21, 53, 64, 66, 70, 79, 80], "binari": [14, 19, 22, 28, 36, 37, 41, 42, 44, 51, 62, 64, 65, 66, 67, 69, 78, 79, 80], "pursu": [14, 84], "algebra": [14, 19, 22, 23, 29, 36, 38, 45, 48, 60, 64, 74, 78, 79], "school": [14, 64], "is_empti": [14, 15, 76, 77, 79, 80, 85], "peek": [14, 33, 45, 76, 77, 79, 80, 85, 91], "cautious": 14, "relax": [14, 15, 41, 48, 66, 79, 92], "prohibit": 14, "alon": [14, 67, 95], "chosen": [14, 20, 67, 85], "liststack": [14, 76, 77, 79, 80, 85], "hd": [14, 27, 28, 30, 41, 49], "con": [14, 15, 18, 25, 26, 30, 36, 37, 40, 41, 42, 46, 49, 51, 55, 58, 76, 79, 80, 81], "tl": [14, 28, 30, 41, 49, 79], "front": [14, 17, 24, 26, 39, 58, 65, 68, 79, 87, 92, 95], "enq": 14, "deq": 14, "3a": 14, "3b": 14, "4a": 14, "4b": 14, "obvious": [14, 15, 16, 19, 49, 62, 66, 78, 92], "enqueu": [14, 40, 47, 78, 79], "dequeu": [14, 40, 78, 79], "listqueu": [14, 78, 79], "lemma": [14, 15, 19, 22, 48], "xs": [14, 22, 30, 33], "ys": [14, 22], "qed": [14, 19, 22], "batchedqueu": [14, 78, 79], "rev": [14, 15, 20, 28, 49, 54, 55, 58, 79], "abstractli": [14, 18, 42, 47, 82], "adopt": [14, 19, 47, 57, 64], "distribut": [14, 15, 41, 42, 48, 66, 74, 95], "unstuck": 14, "canon": [14, 23], "categor": [14, 15], "queri": [14, 15, 23, 42, 47], "subcas": [14, 64], "6a": 14, "6b": 14, "game": [15, 47, 49], "deviou": [15, 16], "num_vowel": 15, "is_sort": [15, 20], "is_prim": 15, "is_palindrom": 15, "second_largest": 15, "depth": [15, 28, 51], "c_n": 15, "dotsb": [15, 40], "c_0": 15, "dens": 15, "coeffici": 15, "incomplet": [15, 16], "3x": [15, 40], "subvert": 15, "impl": [15, 81], "interv": [15, 42], "rep_ok": [15, 18], "to_str": [15, 18, 24, 78, 84], "install_print": [15, 77, 78, 84], "dictionari": [15, 18, 26, 29, 35, 36, 42, 50, 53, 62, 65, 67, 79, 80], "k": [15, 19, 22, 26, 40, 41, 42, 46, 79], "heavi": [15, 77], "box": [15, 19, 23, 32, 41, 45, 47], "listset": [15, 18, 79, 80, 81], "glass": [15, 19, 23], "bisect": 15, "uniqlistset": [15, 18, 79, 80, 81], "qcheck": [15, 95], "gen": [15, 20, 67], "generate1": [15, 20], "length": [15, 16, 18, 20, 25, 28, 30, 40, 42, 44, 46, 48, 49, 53, 55, 64, 74, 77, 78, 79, 85, 88], "is_even": [15, 20], "divisor": [15, 45, 78], "buggi": [15, 24, 25, 33], "odd_divisor": 15, "exceed": 15, "smallest": [15, 24, 48], "avg": 15, "h1": [15, 20, 28, 49], "h2": [15, 20, 28, 44, 49], "exp": [15, 41], "induct": [15, 23, 30, 36, 48, 67, 69], "fibi": 15, "prev": 15, "curr": 15, "expsq": 15, "strong": [15, 79], "redo": [15, 64, 95], "mult": [15, 66, 67, 69], "append": [15, 22, 30, 36, 53, 58, 66, 79], "nil": [15, 25, 30, 36, 37, 46, 49, 51], "dist": 15, "revers": [15, 16, 20, 30, 40, 45, 54, 55, 58, 79, 87], "lst1": [15, 18, 22, 30, 54, 58, 92], "lst2": [15, 18, 22, 30, 54, 58, 92], "involut": [15, 20, 22], "reflect": [15, 22, 64, 71, 77, 81, 87], "leaf": [15, 22, 28, 36, 37, 41, 48, 51], "fold": [15, 18, 41, 53, 56, 60, 80, 88], "fold_left": [15, 16, 18, 22, 42, 51, 53, 55, 59, 88, 89], "fold_right": [15, 22, 51, 53, 55, 80, 81, 89], "commut": [15, 22, 23, 55], "concat": [15, 18, 28, 55], "concat_l": 15, "concat_r": 15, "proposit": [15, 67], "equat": [15, 22, 23, 45, 56, 64, 84], "strikingli": 15, "bag": 15, "multiset": 15, "blend": [15, 65, 67, 71], "signatur": [15, 18, 20, 41, 47, 69, 76, 77, 78, 80, 81, 83, 84, 85, 86], "decreas": [15, 20, 28, 40], "began": [16, 70], "audienc": [16, 23, 76], "verbos": [16, 58, 64, 76, 85], "commun": [16, 17, 23, 47, 72, 73, 94], "ingredi": 16, "forget": [16, 25, 27, 28, 30, 47, 65, 67, 95], "sqr": 16, "accur": [16, 85, 87], "Its": [16, 18, 30, 42, 47, 55, 60, 64, 80, 85], "wors": [16, 45, 48, 59, 81, 95], "0e": 16, "verbiag": 16, "plow": 16, "struck": 16, "breviti": 16, "partial": [16, 18, 19, 23, 25, 30, 45, 52, 55, 58, 64, 67, 81], "domain": [16, 18, 56, 65, 74], "straightforward": [16, 85, 94], "legitim": 16, "bad": [16, 18, 32, 40, 41, 42, 48, 59, 79, 81, 90], "establish": [16, 17, 23, 24, 44, 48, 69, 90], "contract": [16, 21, 82], "burden": [16, 74], "onto": [16, 30, 40, 42, 46, 49, 66, 77, 79, 85], "throw": [16, 44, 48, 55, 92], "constraint": [16, 18, 25, 42, 48, 63, 68, 86], "improperli": 16, "misbehav": 16, "recommend": [16, 75, 95], "tend": [16, 18, 24, 42, 67], "encourag": 16, "wrap": [16, 32, 40, 41, 45, 49], "complain": [16, 85], "silent": 16, "innumer": 16, "secur": [16, 20, 42, 74, 92], "met": [16, 21], "avoid": [16, 24, 25, 30, 44, 45, 47, 48, 56, 63, 66, 68, 72, 77, 79, 81, 84, 85], "necess": 16, "distract": [16, 66], "illustr": [16, 40, 49, 77, 85, 92], "meet": [16, 22, 85], "refin": [16, 24], "settl": 16, "nth": [16, 28, 35, 41, 44, 49, 53], "her": [16, 58, 85], "advoc": [16, 24], "ruthless": 16, "561": 16, "quak": 16, "arena": 16, "engin": [16, 20, 23, 24, 64, 67, 80, 81, 94, 96], "shovel": 16, "wield": 16, "interspers": [16, 40], "necessari": [16, 18, 21, 30, 40, 41, 45, 55, 64, 65, 67, 79, 80, 95], "pictur": 16, "paragraph": [16, 47, 79, 94, 95], "mark": [16, 48, 63, 65, 66, 80], "brief": [16, 20, 65, 85], "number_of_zero": 16, "the_list": 16, "list_el": 16, "emb": [16, 65], "is0": 16, "zs": [16, 22], "i_count": 16, "hover": [16, 95], "hope": [17, 51], "thought": [17, 27, 56], "bore": 17, "altogeth": [17, 47], "postpon": 17, "matur": 17, "ground": 17, "oppos": [17, 22], "head": [17, 21, 25, 28, 30, 32, 36, 40, 41, 49, 51, 54, 55, 58, 67, 79, 82], "er": 17, "cognit": 17, "importantli": 17, "capsul": 17, "unreach": 17, "archeolog": 17, "evid": [17, 19, 22, 23, 33], "unintellig": 17, "empathi": 17, "commit": 17, "distant": 17, "fleet": 17, "somedai": [17, 58, 80], "todai": [17, 70, 71], "clue": [17, 35], "breadcrumb": 17, "scientist": [17, 24, 47], "demand": [17, 49, 54], "arrog": 17, "humil": 17, "beings": 17, "amazingli": [17, 29, 55], "delud": 17, "echo": [17, 47, 70, 78], "chamber": 17, "media": 17, "demonstr": [17, 31, 40, 41, 49, 63, 79, 92], "ten": 17, "absolut": [17, 19, 24, 40, 41, 67], "weren": 17, "clever": [17, 47, 48, 49, 58, 79], "replic": [17, 18], "crucial": [17, 18, 23, 33, 40, 74, 79, 80, 82], "captur": [17, 46, 63, 68], "furthermor": [17, 64], "craft": 17, "meanwhil": [17, 47, 58, 65], "critic": [17, 21, 24, 26, 95], "live": [17, 81, 94, 95], "intern": [18, 20, 44, 47, 55, 68, 76, 77, 96], "relev": [18, 66, 75], "inappropri": 18, "risk": 18, "evolv": [18, 47, 73, 74, 85], "sync": [18, 95], "fall": [18, 42, 70, 76, 94, 96], "categori": [18, 45, 51, 80], "aris": [18, 48, 78], "pure": [18, 19, 40, 45, 47, 48, 50, 79, 86, 90, 93], "signal": 18, "item": [18, 37, 77, 80, 81, 84, 85], "unord": 18, "member": [18, 37, 48, 83, 87], "rem": 18, "minu": [18, 35, 40, 64, 66, 78], "cardin": [18, 35, 80], "s1": [18, 45, 47, 64, 80, 85], "s2": [18, 45, 47, 64, 85], "inter": [18, 30], "simplic": [18, 79], "duplic": [18, 20, 41, 42, 45, 58, 66, 76, 78, 79, 80, 81], "filter": [18, 30, 41, 42, 53, 55, 56, 60, 80], "sort_uniq": [18, 42, 53, 79, 80, 81], "judg": [18, 30, 50], "rest": [18, 30, 33, 44, 45, 47, 62, 64, 65, 77, 79, 80, 81, 82, 91, 95], "lack": [18, 19, 77], "act": [18, 31], "ideal": 18, "invis": [18, 64], "belong": [18, 28, 76], "a1": [18, 41, 46, 49, 53, 55, 64], "b1": [18, 41, 49], "bm": 18, "reinforc": 18, "redund": [18, 30, 33, 44, 65], "hypothet": [18, 45, 85], "readabl": [18, 55, 69, 79, 85], "conveni": [18, 27, 30, 48, 49, 55, 64, 65, 69, 74, 79, 80], "queue": [18, 43, 58, 78], "heap": [18, 47], "string_of_v": 18, "uniq": 18, "interior": [18, 48], "to_list": [18, 79, 91, 92], "formatt": [18, 77, 78, 84], "encapsul": [18, 45, 74, 78, 83, 84, 86], "usabl": [18, 77, 85], "programmat": 18, "obtain": [18, 41, 48, 49, 63], "undefin": [18, 31], "preserv": [18, 48, 65, 68, 69, 80], "isol": [18, 82], "provabl": [18, 65], "incom": 18, "convent": [18, 30, 77, 85], "outsid": [18, 41, 44, 64, 77, 81, 85, 87, 92], "saniti": 18, "copiou": 18, "creation": [18, 48, 88, 92], "compare_length": 18, "linearithm": [18, 53, 79, 81], "destroi": [18, 42], "previous": [18, 45, 51, 56, 64, 69, 77, 80, 92], "appropri": [18, 19, 41, 42, 51, 80, 85], "macro": 18, "reinstat": 18, "rep_ok_expens": 18, "codebas": 18, "noassert": 18, "disabl": [18, 47, 95], "portion": 18, "assur": [19, 24], "presenc": [19, 30], "edsger": 19, "w": [19, 25, 63, 67, 68, 92], "dijkstra": [19, 23], "useless": [19, 21], "premis": 19, "straightforwardli": 19, "41": [19, 30, 85, 92], "token": [19, 63, 65, 66, 68, 96], "axiom": [19, 78], "extension": [19, 23], "polymorph": [19, 28, 36, 68, 74, 77, 85, 92], "refus": 19, "compos": [19, 45, 47, 56, 60, 82], "composit": [19, 35, 42, 47, 50, 53, 64], "sumto": 19, "summat": [19, 35, 41, 55], "claim": [19, 22, 28, 47, 73, 79, 85], "ih": [19, 22], "sumto_clos": 19, "corollari": 19, "se": 19, "elid": [19, 20, 55], "facti": [19, 22], "while": [19, 20, 42, 43, 46, 47, 48, 72, 73, 77, 80, 82, 83, 88, 89, 94, 95], "share": [19, 30, 36, 46, 47, 55, 76, 79, 80, 84, 86, 94, 95], "decrement": [19, 45, 88, 92], "unfortun": [19, 20, 42, 45, 49, 67, 76, 79, 80], "neither": [19, 45, 48, 51, 55, 79, 90], "abort": [19, 78], "astrai": 19, "moment": [19, 40, 85], "f_r": 19, "op": [19, 22, 45, 55, 63], "meant": [19, 20, 30, 62, 67, 69, 77, 91, 92, 95], "f_i": 19, "f_tr": 19, "fact_i": 19, "held": [19, 48], "sumto_r": 19, "sumto_i": 19, "sumto_tr": 19, "thank": [19, 55], "halt": [19, 41], "smart": 19, "heurist": 19, "despit": [19, 46, 79, 92, 95], "x0": 19, "x3": [19, 67], "finit": [19, 25, 41, 49, 65, 66, 88], "descent": 19, "bottom": [19, 48, 59, 77, 80, 81, 95], "hit": [19, 34, 35], "reach": [19, 22, 27, 40, 41, 42, 46, 47, 49, 63, 67, 69, 89], "ack": 19, "ackermann": 19, "famou": [19, 47], "lexicograph": 19, "fuzz": 20, "feed": 20, "behav": [20, 24, 41, 45, 47, 62, 63, 64, 77, 79, 86, 91], "believ": [20, 72, 74], "crash": [20, 92], "encrypt": [20, 45], "decrypt": [20, 45], "enigma": 20, "incred": [20, 72], "vulner": [20, 92], "digress": 20, "facil": 20, "unpredict": 20, "pseudorandom": [20, 41], "discern": [20, 69], "determinist": [20, 24, 50, 66, 92, 93], "seed": 20, "pseudo": 20, "pseud\u0113": 20, "prng": 20, "phrase": [20, 56, 78, 92], "44": [20, 28, 30], "85": [20, 30, 92], "82": [20, 30], "Not": [20, 40, 44, 46, 91, 92], "eh": 20, "cryptographi": 20, "simul": [20, 41, 67, 80], "Their": [20, 46, 48, 88], "get_stat": 20, "request": [20, 47, 49, 79, 87], "self_init": 20, "make_self_init": 20, "sampl": [20, 24, 89], "dev": 20, "urandom": 20, "96": [20, 30], "51": [20, 30], "rand": 20, "suppli": [20, 77, 85], "small_int": 20, "int_rang": 20, "list_siz": 20, "small_str": 20, "randomli": [20, 42, 48, 95], "characterist": [20, 30, 56], "pseudorandomli": 20, "shrink": 20, "stat": [20, 41, 42], "qcheck2": 20, "abstr": [20, 42, 47, 76, 77, 79, 80, 84], "qcheck_runn": 20, "run_test": 20, "2k": 20, "65051295": 20, "1mfailur": 20, "0m": 20, "anon_test_1": 20, "printer": [20, 33, 77, 78, 84], "ran": [20, 33, 95], "run_tests_main": 20, "run_test_tt_main": [20, 27, 33], "to_ounit2_test": 20, "told": 20, "properli": [20, 63, 85], "privat": [20, 47, 77, 81, 86, 94], "luckili": 20, "list_of_s": 20, "my_test": 20, "77": [20, 30], "double_check": 20, "1msuccess": 20, "drawn": 20, "bring": [20, 33, 40, 41, 85], "rev_involut": 20, "uniformli": [20, 42], "nat": [20, 22, 31, 41, 49], "bias": 20, "small_nat": 20, "anon_test_4": 20, "mli": [21, 76, 78, 80], "spell": [21, 49], "blame": [21, 82], "misus": [21, 42, 76], "deliv": [21, 47], "feasibl": 21, "team": [21, 24, 74, 82, 83, 94], "everyon": [21, 47, 82], "agre": [21, 67, 85], "slip": 21, "crack": 21, "conflict": 21, "suffici": [21, 42], "research": [21, 24, 64, 75, 80], "misunderstand": 21, "decis": [21, 51, 85], "obsolet": 21, "modular": [21, 70, 83, 86], "hide": [21, 47, 50, 77, 82, 83, 86, 92], "disclos": 21, "modifi": [21, 23, 28, 33, 40, 44, 48, 77, 78, 81, 86, 89, 91, 92, 94], "reimplement": [21, 54], "enhanc": 21, "bottleneck": 21, "barrier": 21, "vice": [21, 31, 38, 42, 52, 85], "versa": [21, 31, 38, 42, 52, 85], "enforc": [21, 47, 82], "promot": [21, 51], "hung": 22, "mismatch": [22, 67, 69, 77, 81, 85], "successor": [22, 31, 91], "unari": [22, 65, 84], "decim": 22, "trivial": [22, 26, 33, 41, 45, 47, 64], "concept": [22, 47, 66, 67, 85], "inner": [22, 30, 45, 77, 85], "outer": [22, 30], "interchang": [22, 80], "resum": [22, 95], "restart": [22, 47, 87], "succeed": [22, 49, 55, 81], "wasn": [22, 92], "fluke": 22, "subtre": [22, 37, 41, 44, 48, 51, 78, 80], "ih1": 22, "ih2": 22, "mirror": 22, "imag": 22, "styliz": 22, "expr": [22, 63, 66, 67, 69], "uop": 22, "uminu": 22, "bop": [22, 62, 64, 66, 67, 69], "bplu": 22, "bminu": 22, "bleq": 22, "unop": 22, "binop": [22, 66, 67, 69], "strike": [22, 64], "adt": [22, 48], "organiz": 22, "methodolog": [23, 24], "complementari": [23, 47], "orthogon": [23, 67], "hoar": [23, 32], "toni": [23, 32], "weakest": [23, 48], "walkthrough": [23, 24], "diagram": [23, 28, 46], "minim": [23, 24], "ok": [23, 33, 34, 45, 77], "satisfact": 23, "barbara": [23, 70, 85], "liskov": [23, 70, 85], "john": [23, 50, 60, 66, 70], "guttag": [23, 70], "cousineau": 23, "michel": 23, "mauni": 23, "cambridg": [23, 50, 79], "1998": [23, 70], "paulson": 23, "1996": [23, 70], "richard": 23, "bird": 23, "2015": 23, "foundat": [23, 72, 86, 95], "volum": [23, 48], "benjamin": [23, 68, 86], "pierc": [23, 68, 86], "et": 23, "al": 23, "http": 23, "softwarefound": 23, "ci": 23, "upenn": 23, "edu": [23, 95], "robert": [23, 79, 86, 96], "mccloskei": 23, "www": 23, "scranton": 23, "mcclosk": 23, "se507": 23, "alg_specs_lec": 23, "theori": [23, 35, 45, 51, 56, 60, 62, 64, 66, 68, 72, 80], "shari": 23, "lawrenc": 23, "pfleeger": 23, "joann": 23, "atle": 23, "prentic": 23, "hall": 23, "kenneth": 23, "slonneg": 23, "barri": 23, "kurtz": 23, "addison": [23, 60], "weslei": [23, 60], "1995": [23, 71], "muffi": 23, "thoma": 23, "david": [23, 79], "watt": 23, "ehrig": 23, "mahr": 23, "springer": 23, "verlag": 23, "1985": 23, "treatment": [23, 68, 86], "inspir": [23, 40, 51, 67, 78], "indebt": [23, 56, 60], "materi": [23, 70, 94], "princeton": [23, 42], "co": [23, 70, 95], "326": 23, "walker": 23, "confid": 24, "assist": [24, 60], "coder": 24, "hurt": 24, "drive": 24, "prepar": [24, 67, 71], "beforehand": [24, 95], "qualiti": 24, "blameless": 24, "role": [24, 82], "navig": [24, 47, 95], "devil": 24, "clearer": [24, 45, 47, 59, 81], "shorter": [24, 30, 42, 58, 67, 77], "partner": 24, "trade": 24, "conduct": 24, "fagan": 24, "1976": 24, "thorough": 24, "75": [24, 30, 41, 42], "inspector": 24, "li": [24, 74], "valuabl": 24, "concurr": [24, 41, 43, 50, 74], "subtl": [24, 35, 48, 49, 58], "increasingli": 24, "emul": 24, "significantli": [24, 60, 66], "cheaper": 24, "wander": 24, "discoveri": [24, 64, 75], "inevit": [24, 76], "refut": 24, "crux": 24, "experiment": 24, "afraid": 24, "invalu": 24, "slap": 24, "danger": [24, 92, 95], "sun": [25, 35, 39], "mon": [25, 34, 35, 39], "tue": [25, 39], "wed": [25, 39], "fri": [25, 39], "sat": [25, 39], "ptype": [25, 28, 34, 35, 39], "tnormal": [25, 34, 35, 39], "tfire": [25, 34, 35, 39], "twater": [25, 34, 35, 39], "peff": [25, 39], "enorm": [25, 39], "enotveri": [25, 39], "esup": [25, 39], "shape": [25, 26, 28, 30, 48, 63, 74], "center": [25, 48], "rect": 25, "rectangl": [25, 26], "pi": [25, 30, 34, 35, 76, 79, 85], "y2": 25, "underli": [25, 35, 40, 42, 47, 55, 66, 67, 80, 81, 85, 94, 95], "tupl": [25, 29, 30, 36, 52, 63, 67, 88], "string_or_int": 25, "string_or_int_list": 25, "lst_sum": 25, "discrimin": 25, "double_right": 25, "c1": [25, 39, 44, 49, 64], "cn": [25, 39], "ti": [25, 34, 35, 48, 70], "color": [25, 41, 48, 91, 95], "blue": [25, 85], "string_of_color": 25, "green": [25, 85], "sudden": 25, "blind": 25, "wildcard": [25, 30, 36, 63], "robust": [25, 30, 55, 79], "life": [25, 63, 71], "alert": 25, "intlist": 25, "lst3": [25, 92], "lst123": 25, "mylist": [25, 37, 49, 51], "synonym": [25, 28, 36, 41, 45, 78, 80, 81], "cyclic": [25, 92], "circular": 25, "lst_hi": 25, "parametr": [25, 36, 64, 74], "perfectli": [25, 64, 85], "constrain": [25, 84], "occasion": [25, 40], "infti": 25, "fin_or_inf": 25, "infin": 25, "downsid": [25, 59], "backquot": 25, "neginfin": 25, "steer": 25, "nonagon": 26, "icosagon": 26, "bother": [26, 64, 79], "assoc": [26, 28, 42, 69, 79], "assoc_opt": [26, 42], "exn": [27, 28, 41, 47], "catch": [27, 32, 33, 36, 41, 47], "pn": [27, 30, 34, 35, 63], "pun": [27, 47], "packet": [27, 36], "oop": [27, 49, 85], "subexpress": [27, 35, 55, 58, 63, 64, 67, 69], "offici": 27, "nuanc": 27, "stipul": [27, 45, 76], "forgiven": 27, "propag": [27, 45, 47], "match_failur": [27, 30, 34], "p3": 27, "p4": 27, "assert_rais": 27, "succe": [27, 30, 33, 34, 50, 65, 67, 80, 87, 94], "thunk": [27, 43, 49, 50], "suspend": [27, 43, 49], "delai": [27, 41, 47, 49, 50, 64, 78, 85], "typecheck": [27, 69], "fifth": [28, 66, 95], "any_zero": 28, "drop": [28, 49, 64, 94], "revis": [28, 33, 37, 45, 63, 64, 70, 77], "unimod": 28, "is_unimod": 28, "monoton": 28, "segment": 28, "powerset": 28, "print_int_list": 28, "fill": [28, 41, 42, 44, 45, 47, 63, 78, 89], "first_nam": 28, "last_nam": 28, "gpa": [28, 89], "pokerecord": 28, "pok\u00e9mon": [28, 34, 39], "poketyp": 28, "fire": 28, "water": 28, "pokemon": [28, 34], "hp": [28, 34, 35], "charizard": 28, "78": [28, 30], "squirtl": 28, "safe_hd": 28, "safe_tl": 28, "pokefun": 28, "max_hp": 28, "tripl": [28, 34, 35, 36], "2013": [28, 70], "era": [28, 72], "is_befor": 28, "januari": 28, "februari": 28, "leap": 28, "earliest": [28, 30, 70], "card": 28, "deck": 28, "rank": 28, "jack": 28, "queen": 28, "king": 28, "ac": [28, 85], "club": 28, "diamond": 28, "seven": 28, "spade": 28, "borrow": 28, "wikipedia": 28, "lie": 28, "axi": [28, 48], "quad": [28, 40, 53, 56], "iii": [28, 95], "iv": 28, "po": 28, "quadrant_when": 28, "same_shap": 28, "list_max_str": 28, "is_bst": 28, "visit": [28, 37], "enum": [29, 39], "paus": [29, 45, 46, 49, 64], "couldn": [29, 77, 80, 90], "null": [29, 32, 92], "behind": [29, 45, 49, 62, 71, 74, 77, 94], "singli": [30, 35, 36, 58, 79], "statu": [30, 85], "mainstream": [30, 57, 71, 72, 80, 94], "elt": [30, 55], "prepend": [30, 36, 49], "truct": 30, "verb": 30, "sweeter": 30, "sweet": [30, 58], "desugar": [30, 35, 36, 63, 67, 68], "consequ": [30, 64], "ei": [30, 35, 88], "video": [30, 35, 61, 87, 94, 96], "uh": 30, "fit": [30, 67], "inc_first": 30, "proportion": 30, "saw": [30, 41, 44, 45, 60, 64, 65, 76, 79, 80, 84, 85], "vertic": 30, "illeg": [30, 67], "expand": [30, 94], "b_1": 30, "b_2": 30, "cup": [30, 72], "b_i": [30, 35], "bigcup_i": [30, 35], "justif": 30, "ta": [30, 70], "tb": 30, "emit": 30, "defend": 30, "sorri": 30, "cell": [30, 46, 47, 92, 93, 94], "split": [30, 77, 79, 80], "jupyterbook": 30, "unus": [30, 42, 67], "latent": 30, "length_i": 30, "face": [30, 47, 76], "highlight": [30, 94, 95], "typeset": [30, 69, 94], "npl": 30, "caller": [30, 32], "sum_tr": 30, "sum_plus_acc": 30, "entail": 30, "post": [30, 76, 94], "medium": [30, 36], "overhead": [30, 65], "long_list": 30, "16": [30, 40, 41, 42, 44, 55, 63, 85, 86], "23": [30, 41], "26": [30, 33, 46, 80, 85], "35": [30, 80, 85], "40": [30, 40, 96], "45": [30, 33, 47], "46": 30, "47": [30, 77], "48": 30, "49": 30, "53": 30, "54": 30, "55": [30, 49], "56": 30, "57": 30, "58": 30, "61": 30, "66": [30, 77], "67": 30, "68": 30, "69": 30, "70": 30, "71": 30, "72": 30, "73": 30, "74": 30, "76": 30, "79": 30, "80": [30, 73, 95], "81": 30, "83": [30, 33], "86": 30, "87": 30, "88": 30, "90": [30, 66], "91": 30, "92": 30, "93": 30, "94": 30, "95": 30, "97": 30, "98": 30, "99": 30, "101": 30, "102": 30, "103": 30, "105": 30, "106": 30, "107": 30, "108": 30, "109": 30, "110": [30, 63, 67], "111": 30, "112": 30, "113": 30, "114": 30, "115": 30, "116": 30, "117": 30, "118": 30, "119": 30, "120": [30, 92], "121": 30, "122": 30, "124": 30, "125": 30, "127": 30, "128": 30, "129": 30, "130": 30, "131": 30, "132": 30, "133": 30, "134": 30, "135": 30, "136": 30, "137": [30, 80], "138": 30, "139": 30, "140": 30, "141": 30, "142": 30, "143": 30, "144": 30, "145": [30, 46], "146": 30, "147": [30, 46], "148": 30, "149": 30, "151": 30, "152": 30, "153": 30, "154": 30, "155": 30, "156": 30, "157": 30, "158": 30, "159": 30, "160": 30, "161": 30, "162": 30, "163": 30, "164": 30, "165": 30, "166": 30, "167": 30, "168": 30, "169": 30, "170": 30, "171": 30, "172": 30, "173": 30, "174": 30, "175": 30, "176": 30, "177": 30, "178": 30, "179": 30, "180": 30, "181": 30, "182": 30, "183": 30, "184": 30, "185": 30, "186": 30, "187": 30, "188": 30, "189": 30, "190": 30, "191": 30, "192": 30, "193": 30, "194": 30, "195": 30, "196": 30, "197": 30, "198": 30, "199": 30, "200": [30, 40, 94, 96], "201": 30, "202": 30, "203": 30, "204": 30, "205": 30, "206": 30, "207": 30, "208": 30, "209": 30, "210": 30, "211": [30, 70], "212": [30, 70], "213": 30, "214": 30, "215": 30, "216": 30, "217": 30, "218": 30, "219": 30, "220": 30, "221": 30, "222": 30, "223": 30, "224": 30, "225": 30, "226": 30, "227": 30, "228": 30, "229": 30, "230": 30, "231": 30, "232": 30, "233": 30, "234": 30, "235": 30, "236": 30, "237": 30, "238": 30, "239": 30, "240": 30, "241": 30, "242": 30, "243": 30, "244": 30, "245": 30, "246": 30, "247": 30, "248": 30, "249": 30, "251": 30, "253": 30, "254": 30, "255": 30, "256": 30, "257": 30, "258": 30, "259": 30, "260": 30, "261": 30, "262": 30, "263": 30, "264": 30, "265": 30, "266": 30, "267": 30, "268": 30, "269": 30, "270": 30, "271": 30, "272": 30, "273": 30, "274": 30, "275": 30, "276": 30, "277": 30, "278": 30, "279": 30, "280": 30, "281": 30, "282": 30, "283": 30, "284": 30, "285": 30, "286": 30, "287": 30, "288": 30, "289": 30, "290": 30, "291": 30, "292": 30, "293": 30, "294": 30, "295": 30, "296": 30, "297": 30, "298": 30, "len": 30, "succ": [31, 64], "versu": [31, 42, 58], "iszero": 31, "n1": 31, "n2": 31, "pred_n": 31, "int_of_nat": 31, "nat_of_int": 31, "sensibl": 32, "sir": 32, "billion": 32, "dollar": 32, "monad": [32, 41, 43, 47, 50], "unconstrain": 32, "habit": [32, 40, 95], "workflow": 33, "assert_equ": [33, 80], "singleton": [33, 80], "two_el": 33, "configur": [33, 42, 62, 68, 95], "project": [33, 42, 47, 66, 74], "disappear": [33, 47, 62], "fff": 33, "01": [33, 41], "ounitassert": 33, "assert_failur": 33, "src": [33, 66], "lib": 33, "advanc": [33, 35, 40, 42, 50, 64, 71, 74, 75, 77, 79, 80, 86, 88, 95], "ounitrunn": 33, "run_one_test": 33, "ail": 33, "onetwo": 33, "label": [33, 48, 63], "tester": 33, "make_sum_test": 33, "expected_output": 33, "ahead": [33, 42, 47, 64, 73, 95], "tdd": [33, 36], "exceedingli": 33, "sundai": 33, "mondai": [33, 40], "tuesdai": [33, 40], "wednesdai": [33, 40], "thursdai": [33, 40], "fridai": [33, 40], "saturdai": 33, "next_weekdai": 33, "weekdai": 33, "unimpl": 33, "tue_after_mon": 33, "weekend": 33, "wed_after_tu": 33, "thu_after_w": 33, "fri_after_thu": 33, "make_next_weekday_test": 33, "mon_after_fri": 33, "mon_after_sat": 33, "mon_after_sun": 33, "rare": [33, 40, 42, 64, 69, 79], "liter": [34, 47, 66, 77], "ch1": 34, "ch2": 34, "ch": 34, "uppercas": [34, 39, 85], "get_hp": 34, "thrd": 34, "quadrupl": [34, 56], "great": [35, 42, 45, 46, 55, 61, 62, 67, 71, 74, 75, 78, 79, 92, 93, 95], "pok\u00e9": 35, "namespac": [35, 83, 85, 86, 87], "charmand": 35, "f1": [35, 49], "fn": 35, "fi": 35, "hash": [35, 41, 43, 44, 48, 50, 79, 93], "g1": 35, "gn": 35, "gi": 35, "disjoint": 35, "sigma": 35, "cartesian": 35, "lightweight": [36, 47], "lengthi": [36, 85], "exploit": [36, 56, 81], "workhors": 36, "theoret": 36, "driven": 36, "child": [37, 48, 51], "sublist": [37, 54], "travers": [37, 41, 55, 79], "preorder": [37, 41, 51], "beautifulli": 37, "quadrat": [37, 40, 41, 58, 78, 81], "unbalanc": [37, 41], "preorder_lin": 37, "pre_acc": 37, "vector": [38, 53, 89], "exchang": 38, "get_x": 38, "int_of_dai": 39, "win": [39, 46, 55, 90], "attack": 39, "consider": [39, 64, 69, 85, 86], "rehash": [40, 41, 42], "defeat": 40, "excus": 40, "acknowledg": 40, "undertak": 40, "spread": [40, 74], "creativ": [40, 96], "sushi": 40, "ramen": 40, "amus": 40, "lunch": 40, "occas": [40, 79], "budget": 40, "financi": [40, 74], "pai": [40, 42, 46, 48, 55, 79, 95], "debt": 40, "t_1": [40, 64], "t_2": [40, 64], "t_n": 40, "resiz": [40, 41, 50, 88], "proactiv": 40, "hashtbl": [40, 41, 44, 48], "exce": [40, 41, 42], "bucket": [40, 41, 42, 48, 50], "8th": 40, "pretend": [40, 64, 69], "price": [40, 46, 79], "reinsert": 40, "incur": 40, "geometr": 40, "400": 40, "300": 40, "600": 40, "500": 40, "800": 40, "700": 40, "200k": 40, "200i": 40, "came": [40, 47, 64, 70, 72], "outbox": [40, 79], "becam": [40, 45, 58, 70, 94], "inbox": [40, 79], "prepai": 40, "bookkeep": 40, "conceptu": [40, 65, 80], "bank": 40, "deposit": 40, "credit": [40, 46, 50], "withdraw": 40, "energi": [40, 50], "transit": [40, 67], "offset": 40, "analyt": 40, "friend": [40, 47], "opinion": [40, 72], "qn": 40, "okasaki": [40, 50, 79, 86], "collis": [41, 42, 50, 85], "load_factor": [41, 42], "functori": [41, 42], "insensit": [41, 78], "obei": [41, 45, 78, 81], "hashedtyp": [41, 42], "hashcod": [41, 42], "probe": [41, 42, 50], "altern": [41, 49, 59], "databas": 41, "functor": [41, 42, 74, 78, 81, 83, 86], "bst": [41, 78], "bstset": 41, "inord": 41, "postord": 41, "rb": 41, "height": [41, 48, 80], "pow2": 41, "alphabet": [41, 51, 64, 80], "endless": 41, "unend": 41, "coin": 41, "flip": [41, 42], "predic": [41, 53, 54, 56], "interleav": [41, 47, 50, 67], "a2": [41, 46, 49, 53, 55, 64], "a3": [41, 46, 49], "b2": [41, 49], "b3": [41, 49], "sift": 41, "siev": 41, "eratosthen": 41, "cdot": [41, 58, 64, 79, 89], "e_term": 41, "1666": 41, "041666": 41, "stream": [41, 42, 49, 50, 54, 57, 58, 66, 67], "66666666666666652": 41, "70833333333333304": 41, "ep": 41, "toler": 41, "875": 41, "9375": 41, "96875": 41, "71666666666666634": 41, "investig": [41, 47, 48, 53, 78, 95], "distanc": 41, "mathit": [41, 69, 85], "epsilon": [41, 66], "lazier": 41, "lazy_t": [41, 49], "AND": 41, "lb1": 41, "lb2": 41, "lazysequ": [41, 49], "resolv": [41, 45, 47, 50, 64, 95], "lwt": [41, 50], "lwt_io": [41, 47], "printf": [41, 45, 47, 77, 78], "lwt_unix": 41, "sleep": [41, 47], "delay_then_print": 41, "timing2": 41, "_t1": 41, "printl": [41, 47], "_t2": 41, "_t3": 41, "timing3": 41, "timing4": 41, "join": [41, 47], "monitor": 41, "stdout": 41, "eof": [41, 66], "starter": [41, 63], "input_channel": [41, 47], "openfil": 41, "o_rdonli": 41, "fd": 41, "of_fd": 41, "ic": 41, "todo": 41, "read_lin": [41, 47, 92], "printlf": 41, "handler": [41, 47, 62], "end_of_fil": 41, "lwt_main": [41, 47], "mkfifo": 41, "cat": [41, 94], "opt": [41, 48, 79], "shown": [41, 46, 76, 94, 95], "fmap": [41, 79], "extmonad": 41, "unbox": [41, 45], "fmapjoinmonad": 41, "bindmonad": 41, "makemonad": 41, "listmonad": 41, "law": [41, 50], "wide": [42, 47, 60], "k_1": [42, 78], "v_1": [42, 78], "k_2": 42, "v_2": 42, "k_n": [42, 78], "v_n": [42, 78], "oo": [42, 77, 85], "charter": 42, "harvard": 42, "1636": 42, "1746": 42, "penn": 42, "1740": 42, "1865": 42, "brace": [42, 45, 95], "admittedli": [42, 45, 55, 56, 85], "of_list": [42, 80, 81], "slightli": [42, 44, 47, 55, 63, 91], "listmap": 42, "k1": [42, 79, 80], "k2": [42, 80], "kn": [42, 79], "offic": 42, "occup": 42, "459": 42, "fan": [42, 78], "460": 42, "gri": [42, 79], "461": 42, "clarkson": [42, 70, 96], "462": 42, "muhlberg": 42, "463": 42, "capac": 42, "directaddressmap": 42, "_in": 42, "bounds_": 42, "arraymap": 42, "v0": 42, "bs": 42, "ref": [42, 44, 46, 47, 64, 67, 88, 89, 93], "add_bind": 42, "iteri": [42, 89], "moreov": [42, 45, 46, 48, 49, 64, 67, 72, 77, 80, 85, 86], "tablemap": 42, "inject": [42, 50, 76], "collid": [42, 83], "scan": 42, "confusingli": 42, "stride": 42, "entri": [42, 44, 46, 53, 77, 78], "cluster": 42, "rapidli": [42, 47, 71], "circuitri": 42, "k11": 42, "v11": 42, "k12": 42, "v12": 42, "k21": 42, "v21": 42, "k22": 42, "v22": 42, "mbox": 42, "therebi": [42, 64, 80, 83], "restor": [42, 45, 48, 63, 65, 79], "halv": 42, "ruin": 42, "hashmap": 42, "insert_no_res": 42, "old_bucket": 42, "remove_assoc": [42, 79], "mem_assoc": 42, "new_capac": 42, "land": 42, "rehash_bind": 42, "rehash_bucket": 42, "resize_if_need": 42, "lf": 42, "remove_no_res": 42, "phone": [42, 47], "art": 42, "extrem": [42, 71], "sabotag": 42, "diffus": [42, 50], "trust": 42, "hash_c": 42, "hash_i": 42, "serial": [42, 50], "compress": 42, "forthcom": 42, "fortun": [42, 49], "sic": 42, "capabl": [42, 47, 86], "arbitrarili": [42, 48, 80], "predetermin": 42, "635296333": 42, "822221246": 42, "degrad": 42, "hash_param": 42, "_weak1": [42, 47, 64, 92], "_weak2": [42, 92], "num_bind": 42, "num_bucket": 42, "max_bucket_length": 42, "bucket_histogram": 42, "histogram": 42, "pump": 42, "sound": [42, 47, 64], "amort": [43, 48, 50, 79], "batch": [43, 78, 79], "cool": 43, "aptli": 43, "persist": [43, 48, 50, 74, 79, 86, 91], "organ": [43, 66, 76], "popular": [43, 45, 70, 74, 80, 94], "recomput": [44, 49], "speed": 44, "phi": [44, 79], "golden": 44, "ratio": [44, 78], "fibm": 44, "memo": 44, "f_mem": 44, "exclud": 44, "progress": [44, 46, 68, 69], "formerli": 44, "speedup": 44, "million": 44, "storag": 44, "benign": 44, "curri": [44, 64], "uncurri": [44, 52, 53], "memo_rec": 44, "fib_memo": 44, "compani": 44, "org": [44, 94], "chart": 44, "employe": 44, "invit": 44, "superior": 44, "weight": [44, 47, 94], "party_in": 44, "party_out": 44, "unmemo": 44, "optimum": 44, "infun": 44, "innam": 44, "outfun": 44, "outnam": 44, "lfun": 44, "lname": 44, "rfun": 44, "rname": 44, "substructur": 44, "charg": [44, 75], "linebreak": 44, "wlen": 44, "contlen": 44, "clen": 44, "l1": 44, "lb": 44, "target": [44, 65, 67, 68], "c2": [44, 49, 64], "br": 44, "break_result": 44, "lb_mem": 44, "phd": [45, 70, 74, 79], "concentr": [45, 62], "screen": [45, 47], "teas": [45, 73, 96], "max_list": 45, "inabl": 45, "lose": 45, "composition": 45, "div": 45, "plus_opt": 45, "minus_opt": 45, "mult_opt": 45, "div_opt": 45, "tremend": 45, "dedupl": 45, "propagate_non": 45, "wrap_output": 45, "fair": [45, 70], "de": 45, "upgrade_binari": 45, "return_binari": 45, "collaps": [45, 95], "inc_log": 45, "dec_log": 45, "loggabl": 45, "dec_log_upgrad": 45, "f_log": 45, "inc_log_upgrad": 45, "inconveni": 45, "addition": [45, 62, 81], "debat": [45, 55], "comfort": 45, "hidden": [45, 62, 77, 81, 85, 87], "callback": [45, 50], "asynchron": [45, 50, 94], "impos": [45, 76], "mnemon": 45, "nop": 45, "elaps": 45, "curli": 45, "s3": 45, "embodi": [45, 86], "cleaner": 45, "ephemer": [46, 48, 79, 86], "persistentarrai": 46, "conchon": 46, "filli\u00e2tr": 46, "2007": 46, "easiest": [46, 64, 94], "copyonsetarrai": 46, "underneath": 46, "hood": 46, "a0": 46, "diverg": 46, "version_tre": 46, "diff": 46, "mere": [46, 79], "walk": [46, 48, 58], "degener": 46, "worsen": 46, "pull": [46, 66], "versiontreearrai": 46, "outermost": [46, 95], "perfrom": 46, "adjust": 46, "compens": 46, "indirect": [46, 78], "rebasing_tre": 46, "adapt": [46, 63, 71, 72], "old_x": 46, "modif": [46, 92], "rebasingversiontreearrai": 46, "sylvain": 46, "jean": 46, "christoph": 46, "acm": [46, 73], "workshop": 46, "henri": 46, "baker": 46, "shallow": 46, "cacm": 46, "1978": [46, 48, 64], "sigplan": 46, "durat": 47, "graphic": 47, "lock": 47, "action": [47, 66, 69, 92], "frustrat": [47, 72, 75], "spreadsheet": 47, "menu": [47, 94, 95], "network": [47, 49, 74, 95], "hyperlink": 47, "server": [47, 94, 95], "cm": 47, "depart": 47, "motor": 47, "vehicl": 47, "deli": 47, "player": 47, "millisecond": 47, "multicor": 47, "central": 47, "resourc": 47, "agreement": [47, 82], "corrupt": 47, "race": [47, 50], "notori": 47, "nondetermin": 47, "problemat": 47, "schedul": 47, "preemptiv": [47, 50], "relinquish": 47, "unrespons": 47, "preemption": 47, "timer": 47, "interrupt": 47, "3410": 47, "4410": 47, "defer": 47, "net": 47, "async": 47, "await": 47, "jane": 47, "street": 47, "ocsigen": 47, "acronym": 47, "light": 47, "misnom": 47, "pend": [47, 50], "fulfil": 47, "reject": [47, 50, 64, 66, 72, 85], "incorpor": [47, 70, 71], "writeabl": 47, "public": [47, 77, 81, 82, 86, 94], "write_onc": 47, "demean": 47, "wakeup_lat": 47, "wakeup_later_exn": 47, "weak": [47, 64, 68], "nope": 47, "inher": [47, 79, 88], "synchron": [47, 50], "input_lin": 47, "in_channel": 47, "channel": [47, 50, 95], "stdin": 47, "adventur": 47, "opposit": [47, 55, 79], "mix": [47, 84], "latenc": [47, 50], "transfer": [47, 62, 79], "disk": 47, "excel": [47, 56, 60], "regain": 47, "show_val": 47, "set_auto_run_lwt": 47, "auto": 47, "ocamlinit": [47, 87], "print_the_str": 47, "str": [47, 53], "v5": 47, "activ": [47, 80, 95], "read2": 47, "resolut": [47, 50], "stringmi": 47, "lwt_ppx": 47, "fool": 47, "ps": 47, "counterpart": 47, "trickier": [47, 64, 66, 67], "st": 47, "fulfill_or_reject": 47, "input_promis": 47, "exc": 47, "output_promis": 47, "output_resolv": 47, "handler_of_callback": 47, "qualifi": [48, 87], "logarithm": [48, 79], "plenti": 48, "workload": 48, "log_2": 48, "strongest": 48, "hopcroft": 48, "avl": 48, "adelson": 48, "velski": 48, "landi": 48, "1962": 48, "shortest": 48, "guiba": 48, "sedgewick": 48, "rbtree": 48, "adjac": [48, 65], "global": [48, 82], "imbal": 48, "eight": 48, "lowest": 48, "2b": 48, "equiv": 48, "chri": [48, 50, 79, 86], "1999": [48, 50, 70], "parent": [48, 51], "grandpar": 48, "bz": 48, "bx": 48, "ry": 48, "rx": 48, "rz": 48, "rotat": 48, "overal": 48, "cascad": 48, "recolor": 48, "ins": [48, 74], "rbt": 48, "rebalanc": 48, "nonleaf": 48, "splice": 48, "german": 48, "doubli": 48, "curs": 48, "journal": 48, "juli": 48, "2014": [48, 70, 92], "vari": [48, 60], "sword": 48, "winner": 48, "ones": [49, 64, 95], "entireti": 49, "socket": 49, "chess": 49, "tic": 49, "tac": 49, "toe": 49, "board": 49, "chase": 49, "forev": 49, "rid": [49, 85, 92], "f2": 49, "templat": 49, "map2": [49, 53], "30th": 49, "100th": 49, "memoiz": [49, 50], "subsequ": 49, "misspel": 49, "suspens": 49, "eager": [49, 50, 62], "strict": [49, 50, 67], "lazili": [49, 62, 67], "unpleas": 49, "fib30long": 49, "832040": 49, "fib30lazi": 49, "fib30": 49, "fib30fast": 49, "sped": 49, "fib29": 49, "514229": 49, "gotten": 49, "sequencefib": 49, "take_aux": 49, "h_a": 49, "t_a": 49, "h_b": 49, "t_b": 49, "nth_fib": 49, "lazyfib": 49, "banker": 50, "oh": 50, "physicist": 50, "thread": [50, 74], "writer": [50, 65], "divers": [50, 60], "whitington": [50, 60], "map_tre": 51, "fold_mylist": 51, "fold_tre": 51, "catamorph": 51, "hardest": 51, "reshap": 51, "prune": 51, "filter_tre": 51, "spicier": 52, "spice": 52, "uncurried_add": 52, "curried_add": 52, "product_left": 53, "product_right": 53, "listlabel": [53, 55], "sum_cube_odd": 53, "exists_rec": 53, "exists_fold": 53, "exists_lib": 53, "debit": 53, "uncurried_nth": 53, "sep": 53, "bye": 53, "comma": [53, 63, 79], "uniqu": [53, 79, 80, 81], "bmatrix": 53, "is_valid_matrix": 53, "add_row_vector": 53, "wise": 53, "unspecifi": [53, 66, 67, 78], "add_matric": 53, "matric": [53, 89], "multiply_matric": 53, "transposit": 53, "fanci": 54, "filter_aux": 54, "tolist": [54, 58], "unifi": [55, 63, 64, 68, 96], "led": 55, "succinct": 55, "motiv": [55, 84], "nicer": [55, 67, 80], "combine_tr": 55, "procrastin": 55, "invoc": [55, 92], "crastin": 55, "sub_tr": 55, "fold_x": 55, "uniform": [55, 56, 74], "experienc": [55, 72], "perus": 55, "incorrectli": 55, "lst_and": 55, "lst_and_rec": 55, "lst_and_fold": 55, "lst_and_lib": 55, "for_al": [55, 80], "toi": 56, "recod": 56, "bruce": [56, 60], "maclennan": [56, 60], "recur": 56, "square_then_doubl": 56, "ds": 56, "cond": 56, "quantif": [56, 64], "itertool": 57, "2011": 57, "wizard": 57, "closur": [57, 62, 63, 67, 68], "obviat": 57, "fuss": [57, 74], "reusabl": 57, "add1": 58, "concat_bang": 58, "salti": 58, "guis": [58, 64], "contriv": 58, "anyon": [58, 81], "predispos": 58, "astut": 58, "extent": [58, 60], "unavoid": 58, "aw": 58, "map_tr_aux": 58, "map_tr": 58, "alic": [58, 89], "bob": [58, 70], "him": 58, "rev_map": 58, "rev_map_aux": 58, "theme": 58, "sum_sq": 59, "uglier": 59, "intermedi": [59, 65, 67, 68], "sq_l": 59, "rubi": [60, 64], "sequel": 60, "liber": 60, "von": 60, "neumann": 60, "backu": [60, 68], "award": [60, 72, 73, 85], "elabor": 60, "publish": [60, 64], "articl": 60, "stanford": 60, "encyclopedia": 60, "philosophi": 60, "tour": [61, 75], "lex": [61, 63, 65, 66, 67, 69], "tightli": 61, "crawl": 62, "mapsto": [62, 69], "aim": [62, 69], "fragment": [62, 66, 67], "coincid": [62, 92], "consensu": 62, "decad": [62, 70], "norm": [62, 89], "latex": 62, "perl": 62, "racket": [62, 73, 74], "travel": 62, "delimit": [62, 66], "evok": 62, "defenv": 62, "zip": [62, 63, 66, 67, 69, 95], "v3": [62, 67, 88], "interp": [63, 66], "lexer": [63, 68], "parser": [63, 65, 68], "ast": [63, 65, 67], "mly": [63, 66], "reevalu": 63, "typ": [63, 69], "typeof": [63, 69], "unif": [63, 64, 68], "ctx": 63, "parenthet": 63, "omega": 63, "inexhaust": 63, "is_valu": [63, 67], "subst": [63, 67], "not_empti": 63, "grammar": [63, 66, 68], "meta": [63, 64, 73], "insight": 63, "forgot": 63, "unfold": 63, "fv": [63, 67], "const": [63, 77, 79], "lexic": [63, 64, 66], "hm": [63, 64, 68], "contrast": 64, "disagre": 64, "sophist": [64, 74, 77, 84], "gather": 64, "literatur": 64, "roger": 64, "indlei": 64, "robin": [64, 73], "ilner": 64, "rediscov": 64, "1950": 64, "1930": 64, "he": [64, 70, 72, 73, 94], "1967": 64, "1969": 64, "hindlei": [64, 68], "morri": 64, "1968": 64, "milner": [64, 68, 73], "realm": [64, 85], "tarski": 64, "1920": 64, "histori": [64, 75, 85], "blow": 64, "f0": [64, 92], "repetit": [64, 72], "layer": 64, "untyp": [64, 67], "simplif": 64, "quaternari": 64, "turnstil": [64, 69], "c3": 64, "fresh": [64, 67, 68, 95], "elsewher": [64, 78], "foobar": 64, "strip": 64, "5x": 64, "2y": 64, "toss": 64, "gaussian": 64, "i1": [64, 78], "o1": 64, "i2": [64, 78], "o2": 64, "typeabl": 64, "princip": 64, "lenient": 64, "judgment": 64, "ramif": 64, "downstream": 64, "permiss": 64, "contradictori": 64, "unsatisfi": 64, "ill": [64, 67, 69, 78], "mylen": 64, "uncompl": 64, "u1": 64, "env1": 64, "glean": 64, "mistakenli": 64, "disast": 64, "_weak": [64, 92], "pin": 64, "everywher": [64, 69, 74, 77, 92], "topic": [64, 86, 94], "eleph": 64, "rabbit": 64, "subtyp": [64, 68, 80, 83, 85, 86], "arraystoreexcept": 64, "ouch": 64, "bun": 64, "artisan": 65, "carpent": 65, "plane": 65, "chef": 65, "knive": 65, "pot": 65, "demystifi": 65, "career": 65, "dsl": 65, "mip": 65, "x86": 65, "mixtur": 65, "virtual": [65, 68, 95], "jvm": 65, "zinc": [65, 68], "hotspot": 65, "jit": 65, "phase": [65, 67, 69], "sensit": 65, "delin": 65, "foo": [65, 69, 76, 83], "operand": [65, 67, 69], "gratuit": 65, "unambigu": [65, 85], "ir": [65, 67], "opcod": [65, 67], "begun": [65, 79], "runnabl": 65, "yacc": 66, "ocamlyacc": 66, "automata": [66, 68], "automaton": 66, "reset": 66, "pushdown": [66, 68], "cfl": 66, "parenthesi": 66, "ss": 66, "nontermin": [66, 68], "inventor": 66, "peter": 66, "picki": 66, "adher": 66, "metasyntax": [66, 67], "var": [66, 67, 69], "allud": 66, "awhil": 66, "header": 66, "trailer": 66, "lparen": 66, "rparen": 66, "IN": 66, "IF": 66, "THEN": 66, "nonassoc": 66, "prog": 66, "production1": 66, "action1": 66, "production2": 66, "action2": 66, "sixth": 66, "eighth": 66, "mll": 66, "fyi": 66, "regexp1": 66, "regexp2": 66, "lexbuf": 66, "lexem": 66, "explanatori": 66, "folder": [66, 95], "from_str": 66, "from_channel": 66, "reflex": 67, "axiomat": 67, "bridg": 67, "gap": 67, "faith": 67, "circumst": 67, "toolkit": 67, "eagerli": 67, "slash": 67, "deleg": 67, "3000": 67, "step_bop": 67, "eval_smal": 67, "eval_big": 67, "eval_bop": 67, "eval_if": 67, "kept": [67, 72, 73, 77], "rudimentari": 67, "makefil": 67, "closest": 67, "surprisingli": 67, "suddenli": 67, "elud": 67, "mathematician": 67, "reserv": 67, "counter": [67, 84], "gensym": 67, "erat": 67, "sym": 67, "bol": 67, "caution": 67, "intersect": 67, "exot": 67, "studiou": 68, "heavili": [68, 95], "naur": 68, "preliminari": 68, "operatiohn": 68, "reconstruct": 68, "andrew": [68, 70, 96], "appel": 68, "dexter": [68, 70, 96], "kozen": [68, 70, 96], "frontend": 68, "webpag": 68, "hastyp": 69, "vdash": 69, "friendlier": 69, "machineri": 69, "tint": 69, "tbool": 69, "disambigu": 69, "staticenviron": 69, "ty": [69, 92], "hasn": [69, 87], "typeof_let": 69, "typeof_bop": 69, "typeof_if": 69, "taught": [70, 96], "mit": [70, 86], "001": 70, "sicp": 70, "tim": 70, "teitelbaum": 70, "1988": [70, 79], "dan": [70, 96], "huttenloch": [70, 96], "faculti": 70, "inaugur": 70, "infus": 70, "rigor": 70, "homegrown": 70, "dialect": [70, 73, 75], "regularli": 70, "ramin": [70, 96], "zabih": [70, 96], "spring": 70, "1994": 70, "surviv": 70, "onlin": [70, 95], "greg": [70, 96], "morrisett": [70, 96], "dylan": 70, "312": 70, "curriculum": 70, "2112": 70, "410": 70, "chose": [70, 95], "prerequisit": 70, "parcel": 70, "482": 70, "2001": 70, "myer": [70, 96], "2002": 70, "2008": [70, 85], "2010": 70, "nate": [70, 96], "foster": [70, 96], "2012": 70, "constabl": [70, 96], "michael": [70, 96], "georg": [70, 96], "grossman": [70, 96], "2003": 70, "decompos": 70, "cse": 70, "341": 70, "washington": 70, "mooc": 70, "2018": 70, "synthes": 70, "wall": 70, "yesterdai": 71, "pascal": [71, 85], "cobol": [71, 85], "tomorrow": 71, "transcend": [71, 75, 86], "opportun": [71, 72], "scala": [71, 73], "tendenc": 71, "brought": [71, 85], "1958": 71, "2004": 71, "nan": 72, "\u5357\u96a0": 72, "japanes": 72, "master": [72, 77, 87], "meiji": 72, "1868": 72, "1912": 72, "inquir": 72, "zen": 72, "tea": 72, "pour": 72, "visitor": 72, "restrain": 72, "himself": 72, "overful": 72, "specul": 72, "freedom": [72, 74], "goodby": 72, "bloat": 72, "hate": 72, "love": [72, 95], "humbl": 72, "magic": [72, 92], "incant": 72, "perli": 72, "1922": 72, "recipi": 72, "aesthet": 72, "stylish": 72, "sanskrit": 72, "poetri": 72, "struggl": 72, "ugli": 72, "genealog": 73, "grandfath": 73, "clojur": [73, 75], "edinburgh": 73, "laboratori": 73, "scotland": 73, "late": 73, "1980": [73, 80, 85], "tradition": 73, "fledg": 73, "schism": 73, "french": 73, "british": 73, "brit": 73, "american": 73, "microsoft": [73, 95], "2005": [73, 86], "prais": 73, "articul": 73, "remix": 73, "influenc": 73, "linguist": 74, "stateless": 74, "fantasi": 74, "referenti": [74, 75], "transpar": [74, 75], "illus": 74, "immens": 74, "turkei": 74, "biggest": [74, 75], "emerg": 74, "cert": 74, "govern": 74, "agenc": 74, "cybersecur": 74, "due": 74, "reliev": 74, "dealloc": 74, "nowher": [74, 77], "strength": [74, 82], "yaron": 74, "minski": 74, "obstacl": 75, "freeli": 75, "gentl": 75, "cornellian": 75, "sml": 75, "essai": 75, "director": 75, "googl": [75, 95], "capit": [76, 87], "creator": 76, "placement": 76, "mystack": 76, "homework": 76, "lab1": 76, "rarer": 76, "everydai": 76, "customstack": [76, 77], "hpp": 76, "cpp": 76, "filenam": [76, 87], "gone": [77, 95], "opaqu": 77, "seal": [77, 78, 81, 86], "inaccess": 77, "mathcheck": 77, "c_public": 77, "cprivat": 77, "list_stack": [77, 85], "liststackcacheds": 77, "checkliststackcacheds": 77, "doubt": 77, "unawar": [77, 83], "overli": 77, "cap": [77, 85], "shout": [77, 85], "unwieldi": 77, "fairli": [77, 79], "angl": 77, "friendli": 77, "margin": [77, 94], "fprintf": [77, 78, 84], "kupo": 77, "kupo_pp": 77, "fmt": [77, 84], "uninstal": [77, 95], "remove_print": 77, "pp_val": 77, "pp_break": 77, "pp_print_list": 77, "pp_sep": 77, "lift": 77, "imaginari": 78, "complexsig": 78, "ctrl": [78, 95], "fill_listqueu": 78, "fill_batchedqueu": 78, "bstmap": 78, "fraction": 78, "to_float": 78, "euclid": 78, "gcd": 78, "greatest": 78, "charmap": 78, "orderedtyp": [78, 80], "sierra": 78, "victor": 78, "march": 78, "31st": 78, "june": 78, "calendar": 78, "datemap": 78, "event": 78, "birthdai": 78, "anniversari": 78, "print_calendar": 78, "is_for": 78, "k_i": 78, "v_i": 78, "fancier": 78, "first_aft": 78, "grr": 78, "argh": 78, "printint": 78, "printstr": 78, "mystr": 78, "albeit": 78, "super": [78, 85, 95], "stringwithprint": 78, "make_d": 78, "get_month": 78, "get_dai": 78, "reissu": 78, "arith": 78, "ring": [78, 84], "intr": [78, 84], "floatr": [78, 84], "intfield": 78, "floatfield": 78, "intrat": 78, "floatrat": 78, "advic": [78, 95], "coexist": 79, "peek_opt": 79, "pop_opt": 79, "melvil": 79, "dissert": 79, "1981": 79, "supersed": [79, 94], "718": 79, "618": 79, "assoclistmap": 79, "ki": 79, "willing": [79, 92], "uniqassoclistmap": 79, "morphism": 80, "intimid": 80, "quotat": 80, "stratifi": 80, "incx": 80, "add42": 80, "mn": 80, "sn": 80, "si": 80, "module_expression1": 80, "module_expression2": 80, "module_typ": [80, 85], "checkaddx": 80, "pair1": 80, "p0": 80, "pa": 80, "nameabl": 80, "difficulti": [80, 94], "fx": 80, "fz": 80, "lesser": 80, "lt": 80, "eq": 80, "ala": 80, "strcmp": 80, "intmap": 80, "filter_map": 80, "partit": 80, "min_bind": 80, "min_binding_opt": 80, "max_bind": 80, "max_binding_opt": 80, "choose_opt": 80, "find_opt": 80, "find_first": 80, "find_first_opt": 80, "find_last": 80, "find_last_opt": 80, "mapi": 80, "to_seq": 80, "seq": 80, "to_rev_seq": 80, "to_seq_from": 80, "add_seq": 80, "of_seq": 80, "stdlib__map": 80, "accordingli": 80, "v4": 80, "lightli": [80, 95], "ord": 80, "treemap": 80, "first1": 80, "last1": 80, "first2": 80, "last2": 80, "namemap": 80, "birth": 80, "kardashian": 80, "kourtnei": 80, "kimberli": 80, "k3": 80, "khloe": 80, "nm": 80, "1979": 80, "1984": 80, "reseal": 80, "unusablemap": 80, "variantstack": 80, "horribl": 80, "contempl": 80, "hundr": 80, "stacktest": 80, "liststacktest": 80, "variantstacktest": 80, "all_test": 80, "flatten": 80, "objection": 80, "newest": 80, "setoflist": [80, 81], "oflist": [80, 81], "uniqoflist": 80, "setwithoflist": 80, "setl": 80, "uniqsetl": 80, "necessit": 80, "grain": 80, "mixin": 80, "prolifer": 81, "prone": 81, "quicker": [81, 94], "neat": [81, 92], "parti": 81, "listsetextend": 81, "subclass": 81, "superclass": 81, "setextend": 81, "ah": 81, "workaround": 81, "listsetimpl": 81, "listsetextendedimpl": 81, "dispatch": 81, "subtli": 81, "consumpt": 81, "export": 81, "of_list_uniq": 81, "uniqlistsetextend": 81, "magnitud": 82, "colleg": 82, "plug": 82, "moder": 82, "industri": 82, "sole": 82, "serious": 82, "defici": 82, "decoupl": 82, "accompani": 83, "blissfulli": 83, "reassembl": 83, "intellig": 83, "imperfect": 83, "degre": 83, "extol": 84, "invers": 84, "pp_intr": 84, "pp_floatr": 84, "int_r": 84, "float_r": 84, "proxim": 84, "constraint1": 84, "constraint2": 84, "constraintn": 84, "xy": 84, "primary_color": 85, "mymodul": 85, "broaden": 85, "sight": 85, "vagu": 85, "let_modul": 85, "modulenam": 85, "module_item": 85, "module_express": 85, "alia": [85, 93, 95], "pervas": 85, "uppercase_al": 85, "uppercase_ascii": 85, "trim": 85, "lower_trim": 85, "eschew": 85, "moduletypenam": 85, "ls": [85, 87], "all_cap": 85, "older": [85, 95], "impolit": 85, "connot": 85, "liststackalia": 85, "opac": 85, "gain": 85, "she": 85, "twenti": [85, 94], "flavor": 85, "nomin": 85, "decre": 85, "mx": 85, "mz": 85, "xz": 85, "mxz": 85, "xstring": 85, "mxstring": 85, "intfun": 85, "idfun": 85, "iid": 85, "irrevoc": 85, "superset": 85, "ab": 85, "stackhistori": 85, "duck": 85, "un": 85, "brutal": 86, "equip": 86, "harper": 86, "ed": 86, "pragmat": 87, "topmost": 87, "ompil": 87, "odul": 87, "bject": 87, "ing": 87, "uncompil": 87, "downto": 88, "euclidean": 89, "dimension": [89, 91], "x_1": 89, "x_n": 89, "instinct": 89, "7071": 89, "make_matrix": 89, "init_matrix": 89, "till": 90, "analogu": 90, "mlist": [91, 92], "insert_first": [91, 92], "mutablestack": 91, "mutablerecordstack": 91, "0x3110bae0": 92, "forego": 92, "hick": 92, "dereferenc": 92, "allot": 92, "loc": 92, "next_val": 92, "decr": 92, "next_val_broken": 92, "malloc": 92, "segfault": 92, "deref": 92, "ptr": 92, "misunderstood": 92, "knowledg": [92, 94], "undocu": 92, "obj": 92, "circumv": 92, "fact_rec": 92, "fact0": 92, "rewrot": 92, "knot": 92, "tie": 92, "jacqu": 92, "garrigu": 92, "unequ": 92, "lst0": 92, "_weak3": 92, "linkedlist": 92, "_weak4": 92, "alias": 93, "heavier": 94, "fork": 94, "repositori": 94, "minor": 94, "uptak": 94, "prior": 94, "youtub": [94, 96], "pandem": 94, "overwhelmingli": 94, "profession": 94, "basement": 94, "ecosystem": 94, "2020": [94, 95], "alarm": 94, "plugin": 94, "ag": 94, "nearest": 94, "playlist": [94, 96], "collabor": 94, "hypoth": 94, "publicli": 94, "rocket": 94, "ship": 94, "binder": 94, "site": [94, 95], "mybind": 94, "cloud": 94, "servic": 94, "reproduc": 94, "shareabl": 94, "ui": 94, "jupyt": 94, "ipynb": 94, "narr": 94, "julia": 94, "analys": 94, "shift": [94, 95], "hotkei": 94, "scene": 94, "kernel": 94, "reload": 94, "studio": 94, "seamlessli": 94, "varieti": 94, "anaconda": 94, "rate": 94, "star": 94, "misjudg": 94, "tablet": 94, "epub": 94, "prefac": 95, "brush": 95, "sad": 95, "tower": 95, "solid": 95, "stranger": 95, "internet": 95, "beneath": 95, "maco": 95, "homebrew": 95, "macport": 95, "nudg": 95, "xcode": 95, "x11": 95, "subsystem": 95, "wsl": 95, "20262": 95, "novemb": 95, "bio": 95, "manufactur": 95, "hat": 95, "powershel": 95, "administr": 95, "reboot": 95, "reinstal": 95, "setup": 95, "wsl2": 95, "wsl1": 95, "04": 95, "app": 95, "bash": 95, "keystrok": 95, "unzip": 95, "your_ubuntu_user_nam": 95, "mnt": 95, "your_windows_user_nam": 95, "pc": 95, "brew": 95, "port": 95, "bare": 95, "profil": 95, "bashrc": 95, "sandbox": 95, "whenc": 95, "cs3110": 95, "2024fa": 95, "logout": 95, "vanilla": 95, "shell": 95, "reinit": 95, "odoc": 95, "menhir": 95, "lsp": 95, "vim": 95, "slate": 95, "zsh": 95, "cmd": 95, "login": 95, "pane": 95, "palett": 95, "yeah": 95, "orang": 95, "squiggl": 95, "troubleshoot": 95, "band": 95, "cure": 95, "tweak": 95, "json": 95, "tabsiz": 95, "ruler": 95, "formatonsav": 95, "doc": 95, "voic": 95, "spin": 95, "zoom": 95, "email": 95, "your_netid": 95, "emphasi": 96, "2024": 96, "justin": 96, "hsu": 96, "daniel": 96, "radu": 96, "rugina": 96, "2021": 96, "copyright": 96, "attribut": 96, "noncommerci": 96, "noderiv": 96, "licens": 96}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"The": [0, 9, 12, 16, 45, 47, 56, 66, 67, 73, 74, 80], "curri": [0, 52], "howard": 0, "correspond": 0, "comput": 0, "evid": 0, "type": [0, 7, 12, 25, 29, 38, 64, 69, 77, 80, 84, 85, 92], "proposit": 0, "program": [0, 3, 4, 19, 49, 57, 72, 82, 96], "proof": 0, "evalu": [0, 62, 67], "simplif": 0, "what": [0, 3, 5], "It": 0, "all": [0, 22, 25], "mean": [0, 56], "exercis": [0, 6, 15, 28, 41, 53, 63, 78, 89], "big": [1, 67], "oh": 1, "notat": 1, "algorithm": [1, 48], "effici": [1, 96], "attempt": [1, 62], "1": 1, "2": 1, "ell": 1, "finish": [1, 2, 64], "warn": 1, "3": 1, "virtual": 2, "machin": 2, "start": 2, "instal": [2, 95], "window": [2, 95], "mac": [2, 95], "compil": [3, 76, 87], "ocaml": [3, 4, 9, 12, 62, 64, 67, 72, 73, 74, 95, 96], "store": 3, "code": [3, 12, 81, 95], "file": 3, "about": [3, 22, 94], "main": 3, "dune": [3, 87], "creat": [3, 95], "project": 3, "manual": 3, "automat": 3, "run": 3, "continu": 3, "debug": [4, 24], "defens": 4, "against": 4, "bug": 4, "how": [4, 5, 49, 80], "document": [5, 16, 18, 76], "precondit": 5, "postcondit": 5, "express": 7, "primit": 7, "valu": [7, 12], "more": 7, "oper": [7, 8], "assert": 7, "If": 7, "let": [7, 34, 64], "scope": [7, 39, 62, 85], "annot": 7, "function": [8, 12, 16, 18, 20, 34, 42, 44, 55, 56, 79], "definit": [8, 85], "anonym": 8, "applic": 8, "pipelin": [8, 59], "polymorph": [8, 25, 64], "label": [8, 55], "option": [8, 32, 79], "argument": [8, 55], "partial": 8, "associ": [8, 26, 42], "tail": [8, 30, 54, 55, 58], "recurs": [8, 19, 22, 25, 30, 54, 55, 58, 92], "basic": 9, "print": [10, 77], "unit": [10, 33, 76], "semicolon": 10, "ignor": 10, "printf": 10, "summari": [11, 23, 36, 50, 60, 68, 75, 86, 93], "term": [11, 23, 36, 50, 60, 68, 75, 86, 93], "concept": [11, 23, 36, 50, 60, 68, 75, 86, 93], "further": [11, 23, 36, 50, 60, 68, 75, 86, 93], "read": [11, 23, 36, 50, 60, 68, 75, 86, 93], "toplevel": [12, 87], "load": [12, 87], "workflow": 12, "black": [13, 48], "box": 13, "glass": 13, "test": [13, 20, 24, 33, 80], "data": [13, 25, 29, 43, 79], "abstract": [13, 18, 20, 56, 77], "vs": [13, 19, 35, 55, 62, 79, 81, 87, 95], "bisect": 13, "equat": [14, 19], "specif": [14, 16, 19, 21], "exampl": [14, 16, 31, 33, 34, 37, 45, 61, 66, 76, 80, 91, 92], "stack": [14, 76, 79, 91], "queue": [14, 40, 79], "batch": [14, 40], "design": 14, "return": 16, "claus": 16, "requir": [16, 87], "rais": 16, "game": 16, "comment": [16, 76], "correct": [17, 19, 96], "modul": [18, 80, 81, 83, 84, 85, 87], "remind": 18, "implement": [18, 42, 47, 55, 62, 67], "commut": 18, "diagram": 18, "represent": [18, 37, 42], "invari": 18, "prove": 19, "equal": [19, 92], "reason": 19, "induct": [19, 22], "natur": [19, 22, 31], "number": [19, 20, 31], "iter": 19, "termin": 19, "random": 20, "qcheck": 20, "gener": [20, 66], "properti": 20, "inform": 20, "output": [20, 33], "from": [20, 48], "structur": [22, 43, 79], "list": [22, 26, 30, 42, 51, 79, 91, 92], "A": [22, 55, 62, 69, 70], "theorem": 22, "fold": [22, 51, 55], "tree": [22, 37, 46, 48, 51], "principl": [22, 56], "variant": [22, 25, 27, 35, 39], "acknowledg": [23, 68], "valid": 24, "algebra": 25, "carri": 25, "syntax": [25, 30, 80, 92], "semant": [25, 27, 80, 81, 85, 92], "catch": 25, "case": 25, "parameter": 25, "built": 25, "except": [27, 33, 79], "ar": [27, 85, 91], "extens": 27, "pattern": [27, 30, 34, 39], "match": [27, 30, 34, 39], "ounit": [27, 33], "build": 30, "access": 30, "Not": [30, 49], "mutat": 30, "deep": 30, "immedi": 30, "ocamldoc": 30, "comprehens": 30, "an": [33, 62, 76, 80, 95], "explan": 33, "improv": 33, "driven": 33, "develop": [33, 95], "advanc": 34, "record": [35, 37], "tupl": [35, 37], "synonym": 38, "amort": 40, "analysi": 40, "hash": [40, 42], "tabl": [40, 42], "banker": 40, "physicist": 40, "persist": [40, 46], "map": [42, 48, 51, 58, 79, 80], "arrai": [42, 46, 88], "chain": 42, "resiz": 42, "standard": 42, "librari": [42, 55, 87], "hashtbl": 42, "memoiz": 44, "fibonacci": 44, "us": [44, 55, 80, 87, 95], "higher": [44, 56, 57], "order": [44, 56, 57], "just": 44, "fun": 44, "parti": 44, "optim": 44, "monad": 45, "signatur": 45, "mayb": 45, "writer": 45, "lwt": [45, 47], "law": 45, "composit": 45, "copi": 46, "On": 46, "set": [46, 48, 79, 95], "version": 46, "rebas": 46, "citat": 46, "promis": 47, "concurr": 47, "thread": 47, "make": 47, "our": 47, "own": 47, "asynchron": 47, "i": 47, "o": 47, "callback": 47, "full": 47, "red": 48, "binari": 48, "search": 48, "balanc": 48, "membership": 48, "insert": 48, "okasaki": 48, "s": 48, "remov": 48, "bst": 48, "sequenc": [49, 92], "defin": [49, 67], "correctli": 49, "lazi": 49, "beyond": 51, "filter": [51, 54], "other": [54, 55, 58], "languag": [54, 58], "combin": 55, "right": 55, "left": 55, "digress": 55, "famou": 56, "side": 58, "effect": [58, 92], "calcul": 61, "environ": [62, 95], "model": [62, 67], "lambda": 62, "calculu": 62, "lexic": 62, "dynam": 62, "second": 62, "core": [62, 67], "infer": 64, "reconstruct": 64, "constraint": [64, 80, 84], "base": 64, "solv": 64, "mutabl": [64, 90, 91, 92], "interpret": [65, 67], "pars": 66, "lexer": 66, "parser": 66, "backu": 66, "naur": 66, "form": 66, "simpl": [66, 67, 69], "ast": 66, "menhir": 66, "ocamllex": 66, "driver": 66, "substitut": 67, "singl": 67, "step": 67, "relat": 67, "multistep": 67, "done": 67, "captur": 67, "avoid": 67, "check": [69, 95], "system": [69, 83], "checker": 69, "safeti": 69, "brief": 70, "histori": 70, "cs": 70, "3110": 70, "look": 71, "your": 71, "futur": 71, "better": 72, "through": 72, "past": 73, "present": 74, "featur": 74, "industri": 74, "incomplet": 76, "encapsul": [77, 81], "opac": 77, "pretti": 77, "functor": 80, "custom": 80, "kei": 80, "suit": 80, "extend": 80, "multipl": [80, 81], "includ": 81, "open": [81, 85], "modular": 82, "special": 84, "static": 85, "first": 85, "class": 85, "initi": [87, 95], "loop": 88, "field": 91, "ref": [91, 92], "singli": [91, 92], "link": [91, 92], "alias": 92, "counter": 92, "pointer": 92, "evil": 92, "secret": 92, "without": 92, "rec": 92, "weak": 92, "variabl": 92, "physic": 92, "thi": 94, "book": 94, "unix": 95, "linux": 95, "opam": 95, "switch": 95, "doubl": 95, "visual": 95, "studio": 95, "collabor": 95, "beauti": 96}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["chapters/adv/curry-howard", "chapters/appendix/bigoh", "chapters/appendix/vm", "chapters/basics/compiling", "chapters/basics/debugging", "chapters/basics/documentation", "chapters/basics/exercises", "chapters/basics/expressions", "chapters/basics/functions", "chapters/basics/intro", "chapters/basics/printing", "chapters/basics/summary", "chapters/basics/toplevel", "chapters/correctness/black_glass_box", "chapters/correctness/eq_spec", "chapters/correctness/exercises", "chapters/correctness/function_docs", "chapters/correctness/intro", "chapters/correctness/module_docs", "chapters/correctness/proving_correctness", "chapters/correctness/randomized", "chapters/correctness/specifications", "chapters/correctness/structural_induction", "chapters/correctness/summary", "chapters/correctness/test_debug", "chapters/data/algebraic_data_types", "chapters/data/assoc_list", "chapters/data/exceptions", "chapters/data/exercises", "chapters/data/intro", "chapters/data/lists", "chapters/data/nats", "chapters/data/options", "chapters/data/ounit", "chapters/data/pattern_matching_advanced", "chapters/data/records_tuples", "chapters/data/summary", "chapters/data/trees", "chapters/data/type_synonym", "chapters/data/variants", "chapters/ds/amortized", "chapters/ds/exercises", "chapters/ds/hash_tables", "chapters/ds/intro", "chapters/ds/memoization", "chapters/ds/monads", "chapters/ds/parrays", "chapters/ds/promises", "chapters/ds/rb", "chapters/ds/sequence", "chapters/ds/summary", "chapters/hop/beyond_lists", "chapters/hop/currying", "chapters/hop/exercises", "chapters/hop/filter", "chapters/hop/fold", "chapters/hop/higher_order", "chapters/hop/intro", "chapters/hop/map", "chapters/hop/pipelining", "chapters/hop/summary", "chapters/interp/calculator", "chapters/interp/environment", "chapters/interp/exercises", "chapters/interp/inference", "chapters/interp/intro", "chapters/interp/parsing", "chapters/interp/substitution", "chapters/interp/summary", "chapters/interp/typecheck", "chapters/intro/3110", "chapters/intro/future", "chapters/intro/intro", "chapters/intro/past", "chapters/intro/present", "chapters/intro/summary", "chapters/modules/compilation_units", "chapters/modules/encapsulation", "chapters/modules/exercises", "chapters/modules/functional_data_structures", "chapters/modules/functors", "chapters/modules/includes", "chapters/modules/intro", "chapters/modules/module_systems", "chapters/modules/module_type_constraints", "chapters/modules/modules", "chapters/modules/summary", "chapters/modules/toplevel", "chapters/mut/arrays", "chapters/mut/exercises", "chapters/mut/intro", "chapters/mut/mutable_fields", "chapters/mut/refs", "chapters/mut/summary", "chapters/preface/about", "chapters/preface/install", "cover"], "filenames": ["chapters/adv/curry-howard.md", "chapters/appendix/bigoh.md", "chapters/appendix/vm.md", "chapters/basics/compiling.md", "chapters/basics/debugging.md", "chapters/basics/documentation.md", "chapters/basics/exercises.md", "chapters/basics/expressions.md", "chapters/basics/functions.md", "chapters/basics/intro.md", "chapters/basics/printing.md", "chapters/basics/summary.md", "chapters/basics/toplevel.md", "chapters/correctness/black_glass_box.md", "chapters/correctness/eq_spec.md", "chapters/correctness/exercises.md", "chapters/correctness/function_docs.md", "chapters/correctness/intro.md", "chapters/correctness/module_docs.md", "chapters/correctness/proving_correctness.md", "chapters/correctness/randomized.md", "chapters/correctness/specifications.md", "chapters/correctness/structural_induction.md", "chapters/correctness/summary.md", "chapters/correctness/test_debug.md", "chapters/data/algebraic_data_types.md", "chapters/data/assoc_list.md", "chapters/data/exceptions.md", "chapters/data/exercises.md", "chapters/data/intro.md", "chapters/data/lists.md", "chapters/data/nats.md", "chapters/data/options.md", "chapters/data/ounit.md", "chapters/data/pattern_matching_advanced.md", "chapters/data/records_tuples.md", "chapters/data/summary.md", "chapters/data/trees.md", "chapters/data/type_synonym.md", "chapters/data/variants.md", "chapters/ds/amortized.md", "chapters/ds/exercises.md", "chapters/ds/hash_tables.md", "chapters/ds/intro.md", "chapters/ds/memoization.md", "chapters/ds/monads.md", "chapters/ds/parrays.md", "chapters/ds/promises.md", "chapters/ds/rb.md", "chapters/ds/sequence.md", "chapters/ds/summary.md", "chapters/hop/beyond_lists.md", "chapters/hop/currying.md", "chapters/hop/exercises.md", "chapters/hop/filter.md", "chapters/hop/fold.md", "chapters/hop/higher_order.md", "chapters/hop/intro.md", "chapters/hop/map.md", "chapters/hop/pipelining.md", "chapters/hop/summary.md", "chapters/interp/calculator.md", "chapters/interp/environment.md", "chapters/interp/exercises.md", "chapters/interp/inference.md", "chapters/interp/intro.md", "chapters/interp/parsing.md", "chapters/interp/substitution.md", "chapters/interp/summary.md", "chapters/interp/typecheck.md", "chapters/intro/3110.md", "chapters/intro/future.md", "chapters/intro/intro.md", "chapters/intro/past.md", "chapters/intro/present.md", "chapters/intro/summary.md", "chapters/modules/compilation_units.md", "chapters/modules/encapsulation.md", "chapters/modules/exercises.md", "chapters/modules/functional_data_structures.md", "chapters/modules/functors.md", "chapters/modules/includes.md", "chapters/modules/intro.md", "chapters/modules/module_systems.md", "chapters/modules/module_type_constraints.md", "chapters/modules/modules.md", "chapters/modules/summary.md", "chapters/modules/toplevel.md", "chapters/mut/arrays.md", "chapters/mut/exercises.md", "chapters/mut/intro.md", "chapters/mut/mutable_fields.md", "chapters/mut/refs.md", "chapters/mut/summary.md", "chapters/preface/about.md", "chapters/preface/install.md", "cover.md"], "titles": ["The Curry-Howard Correspondence", "Big-Oh Notation", "Virtual Machine", "2.2. Compiling OCaml Programs", "2.7. Debugging", "2.5. Documentation", "2.9. Exercises", "2.3. Expressions", "2.4. Functions", "2. The Basics of OCaml", "2.6. Printing", "2.8. Summary", "2.1. The OCaml Toplevel", "6.5. Black-box and Glass-box Testing", "6.9. Equational Specification", "6.11. Exercises", "6.2. Function Documentation", "6. Correctness", "6.3. Module Documentation", "6.7. Proving Correctness", "6.6. Randomized Testing with QCheck", "6.1. Specifications", "6.8. Structural Induction", "6.10. Summary", "6.4. Testing and Debugging", "3.9. Algebraic Data Types", "3.8. Association Lists", "3.10. Exceptions", "3.14. Exercises", "3. Data and Types", "3.1. Lists", "3.12. Example: Natural Numbers", "3.7. Options", "3.3. Unit Testing with OUnit", "3.5. Advanced Pattern Matching", "3.4. Records and Tuples", "3.13. Summary", "3.11. Example: Trees", "3.6. Type Synonyms", "3.2. Variants", "8.2. Amortized Analysis", "8.10. Exercises", "8.1. Hash Tables", "8. Data Structures", "8.5. Memoization", "8.8. Monads", "8.6. Persistent Arrays", "8.7. Promises", "8.3. Red-Black Trees", "8.4. Sequences", "8.9. Summary", "4.5. Beyond Lists", "4.7. Currying", "4.9. Exercises", "4.3. Filter", "4.4. Fold", "4.1. Higher-Order Functions", "4. Higher-Order Programming", "4.2. Map", "4.6. Pipelining", "4.8. Summary", "9.1. Example: Calculator", "9.4. Environment Model", "9.8. Exercises", "9.6. Type Inference", "9. Interpreters", "9.2. Parsing", "9.3. Substitution Model", "9.7. Summary", "9.5. Type Checking", "1.4. A Brief History of CS 3110", "1.3. Look to Your Future", "1. Better Programming Through OCaml", "1.1. The Past of OCaml", "1.2. The Present of OCaml", "1.5. Summary", "5.5. Compilation Units", "5.4. Encapsulation", "5.11. Exercises", "5.6. Functional Data Structures", "5.9. Functors", "5.8. Includes", "5. Modular Programming", "5.1. Module Systems", "5.7. Module Type Constraints", "5.2. Modules", "5.10. Summary", "5.3. Modules and the Toplevel", "7.3. Arrays and Loops", "7.5. Exercises", "7. Mutability", "7.2. Mutable Fields", "7.1. Refs", "7.4. Summary", "About This Book", "Installing OCaml", "OCaml Programming: Correct + Efficient + Beautiful"], "terms": {"A": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 24, 25, 26, 27, 28, 31, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 53, 60, 63, 64, 65, 66, 67, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 92, 94, 95, 96], "lagniapp": 0, "small": [0, 1, 3, 4, 12, 13, 14, 17, 18, 20, 24, 26, 30, 33, 36, 37, 42, 46, 52, 58, 62, 63, 65, 67, 68, 69, 78, 82, 85], "unexpect": [0, 49], "gift": 0, "littl": [0, 1, 4, 8, 12, 18, 20, 22, 33, 40, 42, 45, 46, 47, 49, 51, 55, 58, 61, 64, 66, 67, 69, 77, 80, 84, 85, 92, 94, 95], "someth": [0, 1, 3, 5, 7, 8, 11, 12, 13, 14, 16, 18, 21, 22, 24, 25, 27, 30, 32, 33, 41, 42, 45, 47, 51, 52, 54, 55, 56, 57, 58, 63, 67, 74, 76, 77, 79, 80, 82, 84, 85, 95], "extra": [0, 1, 8, 14, 16, 19, 24, 27, 30, 37, 39, 40, 42, 44, 45, 47, 48, 53, 57, 59, 64, 67, 74, 77, 79, 80, 84, 95], "pleas": [0, 6, 15, 28, 41, 53, 63, 78, 89, 94], "enjoi": [0, 7, 30, 75], "thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 92, 95, 96], "chapter": [0, 1, 5, 8, 9, 11, 15, 16, 17, 23, 27, 29, 30, 33, 36, 43, 50, 57, 59, 60, 62, 64, 65, 67, 68, 74, 75, 76, 79, 85, 86, 90, 92, 93, 94], "which": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 91, 92, 94, 95], "contain": [0, 3, 7, 8, 13, 15, 16, 18, 20, 25, 27, 28, 30, 32, 33, 35, 37, 41, 42, 44, 45, 46, 47, 49, 53, 54, 59, 62, 64, 66, 67, 69, 76, 77, 78, 79, 80, 81, 82, 85, 89, 91, 92, 94], "one": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 92, 94, 95], "most": [0, 1, 2, 4, 5, 6, 7, 8, 9, 12, 13, 15, 20, 21, 24, 26, 28, 29, 30, 33, 40, 41, 42, 45, 46, 47, 48, 53, 55, 56, 59, 60, 62, 63, 64, 65, 66, 67, 69, 74, 76, 78, 79, 82, 83, 85, 86, 88, 89, 94, 95], "beauti": [0, 50, 57, 72, 75], "result": [0, 1, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 18, 20, 24, 25, 27, 28, 30, 33, 34, 36, 41, 42, 44, 45, 47, 48, 49, 51, 53, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 73, 74, 77, 78, 79, 80, 92, 95], "entir": [0, 4, 7, 8, 9, 12, 13, 14, 16, 20, 21, 27, 30, 35, 40, 41, 45, 46, 47, 48, 49, 51, 55, 62, 63, 64, 66, 79, 85, 94], "book": [0, 5, 9, 12, 17, 20, 22, 30, 41, 60, 65, 68, 70, 72, 74, 75, 79, 95, 96], "base": [0, 1, 2, 4, 7, 8, 13, 14, 15, 18, 19, 21, 22, 23, 24, 25, 29, 30, 33, 35, 40, 41, 42, 45, 46, 48, 56, 58, 66, 67, 68, 69, 70, 76, 77, 78, 79, 80, 85, 86, 92, 94, 95, 96], "paper": [0, 8, 48, 68, 74], "philip": 0, "wadler": 0, "you": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 76, 77, 78, 79, 80, 81, 83, 85, 86, 87, 88, 89, 92, 94, 95], "can": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96], "watch": [0, 3, 24, 72, 94, 96], "an": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 57, 58, 59, 61, 63, 64, 65, 66, 67, 69, 70, 72, 74, 75, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 94, 96], "entertain": [0, 67], "record": [0, 4, 8, 13, 14, 25, 28, 29, 30, 34, 36, 40, 41, 44, 46, 47, 56, 64, 67, 69, 70, 80, 85, 89, 91, 92], "lectur": [0, 14, 25, 53, 60, 70, 75], "prof": [0, 79], "addit": [0, 1, 3, 6, 8, 12, 13, 15, 16, 18, 19, 20, 22, 24, 25, 27, 30, 32, 33, 34, 40, 41, 42, 45, 47, 48, 53, 55, 57, 61, 64, 65, 66, 67, 74, 77, 78, 79, 84, 89, 95], "our": [0, 1, 2, 3, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 27, 29, 30, 31, 33, 34, 35, 37, 40, 41, 42, 44, 45, 46, 48, 49, 50, 51, 54, 55, 57, 58, 60, 62, 64, 66, 67, 68, 69, 70, 75, 77, 78, 79, 80, 82, 85, 92], "below": [0, 2, 4, 6, 14, 20, 26, 28, 30, 31, 34, 35, 37, 41, 42, 45, 47, 48, 66, 67, 78, 79, 80, 81, 83, 84, 85, 87, 94, 95], "As": [0, 1, 4, 5, 7, 8, 10, 11, 14, 15, 16, 18, 19, 21, 22, 25, 27, 28, 30, 33, 34, 35, 40, 41, 42, 44, 45, 47, 48, 49, 54, 55, 57, 58, 62, 64, 65, 66, 67, 69, 70, 77, 80, 84, 85, 88, 92, 95], "we": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 91, 92, 93, 94, 95], "observ": [0, 7, 12, 22, 24, 30, 40, 44, 47, 51, 77, 92, 95], "long": [0, 1, 3, 10, 16, 17, 19, 28, 30, 36, 41, 42, 45, 46, 48, 49, 57, 62, 63, 71, 79, 80, 82, 85, 94], "ago": [0, 1, 10, 17, 66], "ocaml": [0, 1, 2, 5, 6, 7, 8, 10, 11, 13, 15, 18, 19, 20, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 42, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 57, 58, 59, 60, 61, 63, 65, 66, 68, 69, 70, 71, 75, 76, 77, 79, 80, 81, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94], "languag": [0, 1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 18, 19, 20, 21, 23, 24, 25, 27, 29, 30, 32, 33, 35, 36, 39, 43, 45, 46, 47, 49, 52, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 79, 80, 81, 82, 83, 85, 86, 89, 90, 92, 94], "ml": [0, 3, 7, 12, 13, 23, 27, 33, 41, 46, 47, 49, 62, 66, 67, 68, 70, 71, 73, 75, 76, 78, 80, 85, 86, 87, 92, 95], "famili": [0, 8, 71, 74, 75, 92], "wa": [0, 1, 3, 4, 7, 8, 10, 12, 14, 15, 17, 18, 25, 27, 30, 33, 35, 40, 41, 42, 44, 45, 46, 47, 48, 55, 58, 62, 63, 64, 66, 67, 69, 70, 71, 72, 73, 77, 79, 80, 81, 84, 85, 92, 94, 95, 96], "origin": [0, 8, 12, 14, 17, 19, 20, 22, 24, 25, 27, 41, 42, 44, 45, 46, 48, 49, 54, 55, 58, 59, 63, 64, 65, 73, 77, 81, 85, 92, 94], "design": [0, 1, 4, 8, 13, 15, 16, 21, 23, 24, 30, 32, 40, 42, 45, 47, 51, 62, 64, 65, 66, 69, 70, 73, 75, 79, 82, 83, 85, 86, 92], "m": [0, 1, 6, 14, 15, 16, 19, 23, 30, 31, 32, 34, 41, 42, 45, 64, 76, 77, 78, 79, 80, 81, 84, 85, 87, 89], "eta": 0, "l": [0, 1, 15, 22, 23, 25, 30, 37, 41, 42, 44, 48, 51, 59, 66, 80, 85, 96], "anguag": 0, "theorem": [0, 15, 19, 24, 48, 73, 74], "prover": [0, 24, 73, 74], "help": [0, 1, 4, 8, 13, 18, 20, 24, 30, 31, 40, 41, 45, 46, 47, 49, 51, 55, 58, 60, 63, 64, 65, 66, 67, 72, 75, 78, 79, 81, 82, 83, 84, 85, 86, 95], "prove": [0, 4, 14, 15, 17, 22, 23, 24, 33, 41, 47, 48, 64, 69, 74], "check": [0, 1, 4, 5, 6, 7, 8, 9, 11, 13, 15, 16, 18, 19, 20, 21, 26, 27, 30, 32, 33, 34, 35, 41, 42, 44, 45, 48, 63, 64, 65, 67, 68, 74, 77, 78, 79, 80, 81, 84, 85, 88, 89, 92, 94], "logic": [0, 15, 16, 17, 19, 23, 24, 31, 56, 60, 64, 83], "formula": [0, 1, 59], "when": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 36, 39, 40, 41, 42, 45, 46, 47, 48, 49, 53, 55, 58, 59, 62, 63, 64, 65, 66, 67, 72, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 91, 92, 94, 95], "construct": [0, 7, 13, 14, 15, 19, 20, 22, 24, 25, 28, 33, 35, 37, 40, 44, 45, 49, 51, 59, 62, 63, 67, 73, 81, 82, 91, 92], "s": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 94, 95], "desir": [0, 7, 19, 20, 42, 49, 67, 85], "make": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 27, 28, 30, 33, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 48, 49, 51, 53, 54, 55, 58, 60, 61, 63, 64, 66, 67, 69, 70, 72, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 94, 95], "sure": [0, 1, 8, 15, 18, 30, 41, 45, 53, 55, 66, 67, 77, 79, 81, 84, 92, 95], "onli": [0, 3, 4, 6, 7, 8, 9, 10, 13, 14, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 56, 58, 62, 63, 64, 66, 67, 69, 73, 74, 77, 78, 79, 80, 81, 82, 84, 85, 92, 94, 95], "true": [0, 5, 6, 7, 8, 13, 14, 18, 20, 25, 28, 30, 31, 34, 35, 40, 41, 42, 45, 47, 48, 53, 54, 55, 62, 63, 64, 66, 67, 69, 74, 76, 77, 79, 80, 82, 85, 90, 92, 95], "don": [0, 1, 3, 4, 7, 8, 10, 12, 13, 14, 16, 18, 19, 20, 22, 25, 31, 32, 33, 35, 36, 42, 45, 47, 48, 49, 55, 58, 59, 62, 63, 64, 65, 67, 69, 74, 77, 78, 79, 81, 84, 86, 87, 91, 92, 94, 95], "t": [0, 1, 2, 3, 4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 71, 72, 74, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 95], "incorrect": [0, 7, 10, 67, 73, 92, 95], "argument": [0, 4, 5, 6, 7, 10, 13, 14, 15, 16, 18, 19, 20, 22, 27, 28, 30, 33, 37, 41, 44, 45, 47, 49, 51, 52, 53, 56, 57, 58, 62, 64, 65, 67, 77, 78, 79, 80, 87, 92], "etc": [0, 1, 5, 7, 8, 9, 12, 13, 14, 18, 21, 30, 33, 34, 35, 39, 41, 45, 47, 53, 56, 62, 63, 64, 66, 67, 74, 76, 78, 79, 80, 81, 83, 85, 92, 94], "dream": 0, "would": [0, 1, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 26, 27, 30, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 53, 55, 56, 58, 59, 62, 63, 64, 65, 66, 67, 69, 73, 76, 77, 78, 79, 80, 81, 84, 85, 92, 95], "have": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 94, 95, 96], "determin": [0, 4, 7, 13, 15, 18, 20, 22, 27, 28, 30, 31, 37, 41, 42, 48, 53, 64, 65, 69, 80, 85], "truth": [0, 8, 17, 20, 23, 40], "falsiti": 0, "ani": [0, 1, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 16, 18, 19, 22, 24, 25, 27, 28, 30, 32, 33, 34, 35, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 53, 55, 56, 57, 60, 61, 62, 63, 64, 65, 67, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 94, 95], "For": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 27, 28, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 53, 55, 58, 62, 63, 64, 65, 66, 67, 69, 76, 77, 78, 79, 80, 81, 84, 85, 87, 91, 92, 93, 94, 95], "some": [0, 1, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 47, 48, 49, 50, 51, 54, 55, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 74, 75, 76, 77, 78, 79, 80, 81, 83, 85, 86, 87, 89, 90, 91, 92, 93, 94, 95], "possibl": [0, 1, 4, 5, 7, 8, 13, 14, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 32, 33, 35, 37, 39, 41, 42, 44, 45, 46, 47, 48, 49, 55, 57, 58, 62, 64, 65, 67, 69, 76, 77, 78, 79, 80, 81, 85, 89, 92, 94, 95], "But": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 27, 30, 32, 33, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 72, 74, 75, 76, 77, 79, 80, 81, 82, 84, 85, 86, 87, 90, 92, 93, 94, 95], "groundbreak": 0, "earli": [0, 18, 21, 33, 41, 73, 79, 82], "20th": [0, 41], "centuri": [0, 67], "gener": [0, 1, 3, 8, 9, 13, 14, 15, 16, 17, 19, 21, 22, 23, 25, 27, 30, 34, 40, 44, 45, 48, 51, 53, 57, 58, 60, 63, 64, 65, 67, 68, 71, 76, 80, 82, 85, 86, 88], "do": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 32, 33, 35, 36, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 60, 62, 63, 64, 65, 66, 67, 69, 71, 72, 74, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 91, 92, 94, 95], "alonzo": 0, "church": [0, 67], "alan": [0, 72], "ture": [0, 8, 60, 67, 72, 73, 85], "independ": [0, 1, 8, 24, 36, 44, 64, 65, 73, 78, 80, 82, 85, 96], "show": [0, 1, 3, 7, 13, 14, 16, 19, 20, 22, 33, 40, 47, 48, 53, 63, 64, 67, 69, 72, 77, 78, 79, 80, 85, 92], "1936": 0, "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 51, 52, 53, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 70, 73, 74, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94], "lambda": [0, 1, 8, 11, 54, 58, 64, 67, 68], "calculu": [0, 8, 23, 64, 67, 68], "model": [0, 8, 45, 63, 64, 68, 70, 74, 95], "now": [0, 1, 3, 4, 7, 8, 12, 13, 14, 16, 17, 18, 19, 20, 22, 25, 27, 29, 30, 31, 33, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 54, 55, 58, 60, 62, 63, 64, 66, 67, 69, 77, 78, 79, 80, 81, 84, 85, 87, 90, 91, 92, 94, 95, 96], "call": [0, 1, 3, 4, 5, 7, 8, 10, 11, 12, 13, 15, 16, 18, 19, 25, 27, 28, 29, 30, 32, 33, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 57, 58, 62, 63, 64, 65, 66, 67, 68, 69, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 84, 85, 87, 92, 95], "machin": [0, 1, 7, 8, 16, 17, 57, 62, 65, 67, 68, 72, 74, 78, 94, 95], "thesi": 0, "hypothesi": [0, 4, 19, 22, 23, 24, 67], "sai": [0, 1, 3, 5, 8, 9, 13, 16, 18, 19, 24, 25, 28, 30, 33, 42, 45, 46, 47, 54, 56, 58, 62, 64, 66, 67, 69, 72, 74, 77, 81, 85, 86, 90, 91, 95], "both": [0, 6, 7, 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 27, 28, 30, 34, 35, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 51, 52, 55, 56, 57, 58, 62, 64, 67, 69, 76, 77, 78, 79, 80, 81, 82, 83, 85, 87, 92, 95], "formal": [0, 1, 4, 17, 19, 23, 24, 63, 64, 66, 67, 69, 80, 92], "inform": [0, 4, 7, 8, 13, 16, 18, 21, 24, 27, 33, 35, 42, 64, 66, 74, 76, 77, 80, 82, 83, 86, 89, 92, 95], "instead": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 19, 20, 21, 22, 23, 25, 27, 28, 30, 33, 35, 36, 40, 41, 42, 45, 46, 47, 49, 51, 52, 53, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 76, 77, 79, 80, 81, 84, 85, 88, 89, 92, 94, 95], "focus": [0, 75], "imposs": [0, 4, 8, 19, 25, 28, 45, 47, 74, 80], "task": [0, 7, 17, 19, 24, 30, 41, 65, 69, 74, 82, 96], "re": [0, 1, 3, 4, 5, 7, 8, 10, 11, 12, 13, 16, 17, 18, 19, 20, 22, 27, 30, 33, 35, 36, 39, 40, 41, 42, 45, 47, 49, 51, 58, 62, 63, 64, 65, 66, 67, 69, 74, 76, 77, 78, 79, 80, 81, 84, 85, 86, 87, 90, 92, 94, 95], "go": [0, 1, 2, 3, 4, 7, 8, 10, 12, 13, 14, 15, 16, 17, 19, 25, 30, 33, 35, 36, 40, 41, 42, 45, 46, 47, 48, 49, 51, 55, 58, 59, 61, 63, 64, 65, 66, 67, 71, 72, 74, 75, 77, 83, 84, 85, 92, 94, 95], "focu": [0, 4, 8, 9, 24, 48, 65, 83, 84, 94], "relationship": [0, 18, 30, 48, 69, 80, 83, 85, 92], "between": [0, 1, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 25, 28, 30, 33, 35, 41, 46, 47, 48, 49, 52, 53, 55, 56, 58, 59, 62, 64, 65, 66, 67, 69, 71, 74, 76, 79, 80, 82, 83, 85, 87, 88, 92, 95], "turn": [0, 6, 8, 10, 13, 15, 18, 19, 22, 27, 32, 40, 42, 44, 45, 47, 49, 55, 64, 67, 76, 80, 84, 85, 91, 95], "out": [0, 1, 4, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 27, 28, 30, 32, 33, 35, 40, 41, 42, 44, 45, 46, 47, 48, 49, 54, 55, 56, 58, 60, 63, 64, 65, 66, 67, 69, 70, 72, 74, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 91, 92, 94, 95, 96], "two": [0, 1, 2, 3, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 31, 32, 33, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 58, 60, 62, 63, 64, 65, 66, 67, 69, 70, 73, 76, 78, 79, 80, 81, 83, 84, 85, 86, 87, 89, 91, 92, 94, 95], "ar": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 69, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 94, 95, 96], "deepli": [0, 24, 30], "connect": [0, 4, 44, 94, 95], "surpris": [0, 5, 8, 12, 39, 55, 58, 60, 64, 66, 67, 71, 72, 74, 79, 85], "wai": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 16, 18, 19, 20, 24, 25, 30, 32, 34, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 88, 91, 92, 94, 95], "accustom": [0, 85, 95], "manipul": [0, 8, 13, 14, 15, 18, 19, 20, 23, 31, 49, 55, 65, 74, 85], "data": [0, 1, 3, 8, 14, 15, 18, 20, 22, 23, 24, 26, 30, 33, 35, 36, 37, 39, 40, 42, 44, 45, 46, 47, 48, 49, 50, 51, 55, 56, 57, 58, 59, 60, 62, 65, 66, 70, 74, 77, 78, 80, 84, 85, 86, 90, 92, 93, 94, 96], "integ": [0, 1, 4, 5, 6, 7, 8, 13, 15, 16, 19, 20, 22, 28, 30, 32, 33, 34, 41, 42, 44, 45, 56, 58, 62, 64, 66, 67, 69, 74, 77, 78, 79, 80, 85, 88, 92, 95], "variant": [0, 10, 28, 29, 31, 36, 41, 44, 48, 51, 56, 63, 66, 67, 69, 73, 75, 79, 80, 85, 92], "function": [0, 1, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 19, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 36, 37, 40, 41, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 74, 75, 76, 77, 78, 80, 81, 82, 83, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96], "those": [0, 1, 3, 4, 5, 6, 7, 8, 10, 13, 14, 18, 19, 20, 21, 22, 24, 25, 27, 29, 30, 32, 34, 35, 36, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 53, 55, 58, 59, 60, 63, 64, 65, 66, 67, 69, 72, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 91, 92, 94, 95], "valu": [0, 4, 5, 6, 8, 10, 11, 13, 14, 15, 16, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 59, 62, 63, 64, 66, 67, 68, 69, 72, 74, 75, 77, 78, 79, 80, 81, 84, 85, 86, 87, 88, 89, 90, 91, 92], "alwai": [0, 1, 7, 8, 10, 12, 14, 16, 17, 18, 19, 20, 30, 33, 40, 42, 45, 46, 47, 48, 49, 51, 55, 64, 69, 70, 74, 78, 79, 80, 81, 85, 88, 92, 94], "compil": [0, 1, 5, 7, 8, 9, 10, 12, 13, 16, 18, 20, 21, 23, 24, 27, 30, 31, 33, 41, 45, 47, 55, 57, 63, 64, 65, 66, 67, 68, 69, 70, 74, 77, 85, 86, 92, 94, 95, 96], "time": [0, 1, 3, 4, 7, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 24, 26, 27, 28, 30, 33, 35, 37, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 53, 54, 55, 56, 58, 59, 61, 62, 63, 64, 65, 66, 67, 69, 70, 72, 73, 74, 75, 77, 78, 79, 80, 85, 87, 88, 91, 92, 94, 95], "infer": [0, 7, 8, 11, 30, 35, 55, 63, 68, 69, 71, 74, 77, 80, 85, 92], "programm": [0, 4, 5, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 23, 24, 27, 30, 32, 35, 39, 47, 48, 55, 56, 60, 64, 65, 67, 71, 72, 74, 75, 76, 77, 79, 80, 82, 83, 84, 85, 92], "annot": [0, 8, 10, 16, 25, 31, 34, 38, 45, 47, 55, 63, 64, 66, 68, 76, 77, 80, 81, 84, 85, 94, 95], "express": [0, 1, 3, 6, 8, 9, 10, 11, 12, 13, 14, 16, 19, 20, 22, 25, 27, 28, 30, 31, 32, 34, 35, 36, 40, 41, 45, 47, 49, 52, 53, 55, 56, 58, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 74, 77, 78, 79, 80, 81, 85, 86, 87, 88, 89, 92], "exampl": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 18, 19, 20, 22, 23, 25, 26, 27, 28, 30, 32, 35, 38, 39, 40, 41, 42, 44, 46, 47, 48, 49, 51, 53, 55, 56, 57, 58, 62, 63, 64, 65, 67, 69, 73, 77, 78, 79, 81, 82, 84, 85, 86, 87, 88, 89, 93, 94, 95], "3110": [0, 2, 6, 7, 15, 28, 42, 63, 66, 67, 89, 94, 95, 96], "int": [0, 6, 7, 8, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 26, 27, 28, 30, 31, 32, 34, 35, 37, 39, 41, 42, 44, 45, 46, 47, 49, 51, 52, 53, 54, 55, 56, 58, 59, 62, 63, 64, 66, 67, 69, 76, 77, 78, 79, 80, 81, 84, 85, 87, 88, 89, 91, 92, 95], "list": [0, 1, 5, 8, 13, 14, 15, 16, 18, 20, 23, 25, 27, 28, 29, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 49, 50, 53, 54, 55, 56, 58, 59, 60, 63, 64, 65, 66, 67, 69, 76, 77, 78, 80, 81, 85, 87, 88, 89, 95], "learn": [0, 1, 4, 8, 9, 10, 11, 12, 14, 17, 19, 27, 29, 30, 33, 35, 40, 43, 46, 51, 58, 60, 64, 67, 69, 70, 71, 72, 74, 76, 77, 85, 86, 91, 92, 94], "read": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 21, 30, 34, 41, 45, 47, 48, 49, 55, 59, 63, 64, 65, 66, 67, 69, 72, 74, 76, 77, 84, 85, 92, 94, 96], "ha": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 26, 27, 28, 30, 32, 33, 34, 35, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 60, 62, 64, 65, 66, 67, 68, 69, 70, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 88, 89, 91, 92, 94, 95], "let": [0, 1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 58, 59, 61, 62, 63, 66, 67, 68, 69, 72, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 87, 88, 89, 91, 92, 94, 95], "try": [0, 1, 3, 4, 7, 8, 12, 13, 14, 15, 16, 17, 19, 22, 24, 27, 35, 40, 41, 44, 45, 47, 49, 55, 63, 64, 67, 69, 76, 78, 80, 81, 85, 89, 93, 94, 95], "differ": [0, 1, 4, 6, 7, 8, 9, 10, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 25, 30, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 54, 55, 58, 60, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 74, 76, 78, 79, 80, 81, 82, 83, 85, 86, 87, 91, 92, 94, 95], "so": [0, 1, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 30, 32, 33, 34, 35, 36, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 69, 72, 73, 74, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 94, 95], "doe": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 25, 26, 27, 28, 30, 32, 33, 34, 35, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 52, 53, 54, 55, 57, 58, 63, 64, 65, 66, 67, 69, 70, 71, 74, 76, 77, 79, 80, 81, 82, 85, 87, 89, 90, 91, 92, 93, 94, 95], "think": [0, 1, 4, 5, 7, 8, 9, 12, 13, 14, 17, 18, 19, 20, 23, 24, 25, 28, 30, 32, 41, 42, 44, 45, 47, 48, 49, 51, 53, 55, 56, 58, 62, 63, 64, 65, 66, 67, 72, 76, 77, 80, 82, 83, 84, 85, 86, 90, 92, 94, 95], "set": [0, 1, 2, 9, 13, 14, 15, 18, 25, 28, 30, 33, 34, 35, 41, 42, 43, 44, 45, 47, 50, 52, 56, 64, 66, 67, 69, 70, 78, 80, 81, 83, 84, 85, 86, 92], "empti": [0, 5, 13, 14, 15, 18, 20, 22, 25, 27, 28, 30, 32, 33, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 53, 55, 58, 62, 63, 64, 66, 69, 72, 76, 77, 78, 79, 80, 81, 85, 89, 91, 92], "likewis": [0, 1, 5, 7, 8, 19, 22, 30, 45, 64, 69, 77, 79, 80, 84], "inhabit": 0, "There": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 18, 19, 21, 22, 24, 25, 26, 27, 28, 30, 32, 33, 35, 39, 40, 41, 42, 44, 45, 46, 47, 48, 51, 53, 56, 58, 62, 63, 64, 66, 67, 69, 71, 74, 76, 77, 78, 79, 80, 84, 85, 86, 87, 92, 95, 96], "actual": [0, 1, 7, 8, 10, 12, 13, 14, 16, 17, 18, 20, 21, 22, 24, 25, 26, 27, 30, 32, 33, 34, 35, 36, 40, 41, 42, 44, 47, 48, 49, 52, 55, 56, 58, 62, 64, 65, 66, 67, 69, 76, 77, 79, 80, 81, 85, 86, 87, 91, 92, 94, 95], "though": [0, 2, 5, 7, 8, 9, 10, 12, 14, 19, 21, 22, 24, 25, 27, 30, 31, 35, 37, 39, 40, 42, 45, 46, 47, 48, 49, 56, 63, 64, 65, 66, 67, 69, 75, 77, 79, 80, 81, 84, 85, 90, 92, 95], "ve": [0, 4, 5, 7, 8, 9, 11, 13, 14, 17, 18, 19, 20, 22, 25, 27, 30, 33, 34, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 55, 56, 58, 59, 62, 63, 64, 66, 67, 68, 69, 72, 76, 77, 79, 80, 81, 83, 84, 85, 90, 91, 92, 94, 95], "never": [0, 1, 5, 7, 8, 10, 13, 14, 18, 19, 24, 25, 27, 30, 40, 41, 42, 44, 45, 46, 47, 49, 51, 54, 62, 64, 65, 67, 69, 71, 76, 77, 78, 79, 85, 90, 92, 95], "had": [0, 1, 7, 12, 14, 17, 25, 33, 40, 41, 44, 45, 46, 47, 51, 55, 57, 64, 67, 70, 71, 74, 77, 78, 79, 80, 81, 85, 87, 92, 94], "reason": [0, 1, 3, 7, 8, 10, 14, 18, 21, 22, 23, 24, 30, 33, 40, 42, 45, 47, 49, 58, 60, 62, 64, 66, 67, 74, 76, 77, 80, 81, 82, 85, 86, 90, 91, 92, 93, 94, 95], "mention": [0, 18, 25, 41, 44, 58, 67, 77, 81, 83, 92], "befor": [0, 1, 4, 5, 7, 8, 9, 10, 12, 13, 16, 18, 19, 20, 22, 24, 25, 27, 28, 29, 33, 34, 35, 37, 40, 41, 44, 45, 46, 47, 48, 49, 51, 55, 58, 63, 64, 65, 67, 71, 74, 76, 77, 78, 79, 80, 85, 90, 92, 93, 95], "defin": [0, 1, 6, 7, 8, 9, 12, 14, 15, 16, 18, 19, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 44, 45, 47, 52, 53, 55, 56, 58, 62, 63, 64, 65, 66, 69, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 89, 92], "constructor": [0, 22, 25, 27, 28, 30, 31, 32, 35, 36, 39, 41, 42, 48, 49, 51, 55, 63, 65, 66, 67, 69, 80, 83, 85, 88, 92], "could": [0, 1, 3, 4, 5, 7, 8, 9, 10, 13, 14, 15, 16, 18, 19, 20, 24, 25, 28, 30, 33, 35, 38, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 55, 56, 57, 58, 63, 64, 65, 66, 67, 68, 72, 73, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 87, 90, 92, 94, 95], "anyth": [0, 4, 8, 10, 12, 16, 21, 25, 30, 32, 33, 41, 45, 47, 62, 64, 67, 77, 95], "want": [0, 1, 2, 3, 4, 7, 8, 9, 10, 12, 13, 16, 17, 18, 19, 20, 22, 25, 27, 30, 32, 33, 35, 36, 41, 42, 44, 45, 46, 47, 49, 51, 52, 54, 55, 58, 59, 62, 63, 64, 65, 66, 67, 69, 71, 77, 78, 79, 80, 81, 85, 87, 92, 94, 95], "special": [0, 3, 5, 7, 10, 20, 29, 30, 34, 41, 47, 62, 64, 65, 66, 77, 78, 80, 85], "syntax": [0, 3, 7, 8, 9, 10, 11, 12, 22, 23, 27, 28, 32, 34, 35, 36, 39, 42, 45, 47, 49, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 79, 84, 85, 88, 91, 95], "just": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 18, 19, 20, 22, 24, 25, 26, 27, 28, 30, 33, 34, 35, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 72, 74, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 92, 94, 95], "write": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 31, 32, 33, 35, 37, 39, 41, 42, 44, 45, 47, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 60, 62, 63, 64, 66, 67, 69, 72, 74, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 89, 91, 92, 94], "note": [0, 1, 3, 5, 6, 7, 8, 9, 12, 14, 15, 16, 18, 19, 20, 26, 27, 28, 30, 35, 41, 42, 46, 47, 48, 49, 51, 54, 59, 62, 63, 64, 66, 67, 69, 70, 76, 77, 78, 79, 80, 84, 85, 87, 91, 92, 94, 95, 96], "might": [0, 1, 3, 4, 5, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 22, 24, 25, 27, 29, 30, 31, 32, 33, 36, 38, 39, 40, 41, 42, 45, 46, 47, 48, 49, 55, 56, 57, 58, 59, 60, 62, 64, 65, 66, 67, 68, 69, 72, 74, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 89, 90, 92, 94, 95], "give": [0, 1, 3, 8, 9, 10, 13, 16, 17, 24, 25, 28, 30, 33, 38, 40, 41, 47, 48, 55, 58, 64, 67, 72, 74, 76, 77, 78, 79, 82, 84, 89, 92, 95], "editor": [0, 3, 4, 16, 33, 47, 94, 95], "troubl": [0, 8, 12, 40, 64, 84, 95], "need": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 30, 31, 33, 34, 35, 36, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 55, 56, 57, 58, 62, 63, 64, 65, 66, 67, 69, 71, 74, 76, 77, 78, 79, 80, 81, 82, 84, 85, 92, 94, 95], "put": [0, 1, 3, 7, 8, 10, 12, 33, 41, 42, 45, 47, 55, 58, 64, 66, 69, 73, 75, 76, 78, 79, 85, 87, 90, 92, 95], "doubl": [0, 1, 3, 5, 6, 7, 10, 12, 18, 20, 30, 40, 41, 42, 48, 53, 56, 63], "semicolon": [0, 3, 12, 45, 65, 92, 95], "after": [0, 4, 5, 7, 8, 10, 16, 19, 20, 27, 28, 29, 30, 33, 35, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 55, 57, 61, 62, 65, 66, 67, 68, 69, 70, 71, 72, 76, 78, 79, 85, 88, 92, 94, 95], "get": [0, 1, 3, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 27, 28, 30, 33, 34, 35, 40, 41, 42, 45, 46, 47, 48, 49, 51, 55, 58, 59, 61, 63, 64, 66, 67, 69, 71, 74, 77, 78, 79, 80, 81, 83, 85, 86, 87, 88, 89, 92, 95], "format": [0, 3, 5, 9, 10, 15, 19, 24, 30, 66, 75, 77, 78, 84, 94], "right": [0, 1, 3, 7, 8, 9, 10, 12, 17, 18, 19, 20, 22, 25, 26, 27, 28, 30, 32, 34, 35, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 58, 59, 62, 63, 64, 65, 66, 67, 72, 77, 78, 79, 80, 81, 85, 87, 89, 92, 94, 95], "exactli": [0, 4, 7, 8, 13, 18, 20, 25, 27, 28, 30, 35, 37, 40, 41, 42, 45, 47, 48, 55, 57, 63, 66, 67, 69, 76, 77, 78, 80, 85, 86, 87, 95], "becaus": [0, 1, 4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 55, 56, 58, 62, 63, 64, 65, 66, 67, 69, 72, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 91, 92, 94, 95], "under": [0, 5, 7, 8, 10, 15, 19, 20, 34, 42, 47, 55, 58, 64, 95, 96], "new": [0, 1, 2, 3, 7, 8, 9, 13, 14, 15, 17, 18, 20, 21, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 53, 55, 56, 58, 60, 62, 63, 64, 65, 67, 69, 70, 71, 72, 74, 75, 77, 78, 79, 80, 81, 83, 85, 86, 87, 88, 90, 91, 92, 93, 95], "about": [0, 1, 2, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 28, 29, 30, 32, 33, 34, 35, 40, 41, 42, 43, 45, 47, 48, 49, 51, 53, 55, 56, 57, 58, 59, 61, 62, 64, 65, 66, 67, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 90, 92, 93, 95, 96], "transform": [0, 8, 12, 19, 30, 33, 42, 45, 47, 48, 53, 55, 56, 58, 65, 66, 67], "alreadi": [0, 1, 2, 3, 4, 5, 8, 9, 12, 14, 18, 19, 25, 26, 27, 28, 30, 34, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 52, 55, 58, 62, 64, 67, 69, 72, 76, 77, 78, 79, 80, 85, 87, 90, 91, 92, 94, 95], "follow": [0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 14, 16, 18, 19, 20, 22, 24, 25, 27, 28, 30, 31, 33, 34, 35, 38, 39, 40, 41, 42, 45, 46, 47, 48, 49, 53, 56, 58, 62, 63, 64, 65, 66, 67, 70, 76, 77, 78, 79, 80, 81, 83, 85, 87, 88, 89, 91, 92, 94, 95], "destruct": [0, 62, 74, 79, 91], "pair": [0, 4, 13, 14, 15, 18, 19, 23, 24, 25, 26, 27, 28, 31, 34, 35, 36, 42, 45, 46, 52, 53, 56, 62, 63, 67, 76, 77, 78, 79, 80], "x": [0, 4, 6, 7, 8, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 27, 28, 30, 33, 34, 35, 37, 38, 39, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 58, 59, 62, 63, 64, 65, 66, 67, 69, 74, 76, 77, 78, 79, 80, 81, 84, 85, 87, 88, 89, 91, 92, 95], "y": [0, 6, 7, 8, 13, 14, 15, 16, 19, 22, 28, 33, 34, 35, 44, 45, 46, 47, 48, 52, 55, 56, 62, 63, 64, 66, 67, 74, 76, 77, 78, 80, 81, 84, 85, 87, 89, 91, 92, 95], "fst": [0, 34, 42, 52, 62, 63, 67, 79], "snd": [0, 34, 52, 62, 67, 77], "val": [0, 7, 8, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 26, 28, 30, 31, 32, 34, 35, 37, 38, 39, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 56, 58, 59, 64, 69, 76, 77, 78, 79, 80, 81, 84, 85, 87, 88, 89, 91, 92], "b": [0, 7, 8, 14, 15, 16, 19, 22, 23, 25, 26, 27, 28, 30, 34, 38, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 58, 62, 63, 64, 66, 67, 69, 77, 79, 80, 81, 84, 85, 87, 89, 92], "fun": [0, 1, 3, 6, 7, 8, 10, 12, 13, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 37, 38, 39, 41, 42, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 58, 59, 62, 63, 64, 65, 67, 77, 79, 80, 81, 84, 85, 87, 89, 91, 92, 95], "take": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 20, 22, 24, 25, 28, 30, 32, 33, 36, 37, 40, 41, 42, 43, 44, 45, 46, 47, 49, 51, 52, 53, 55, 56, 57, 58, 59, 63, 64, 65, 66, 67, 69, 70, 71, 77, 78, 79, 80, 82, 84, 85, 86, 92, 94, 95], "back": [0, 4, 8, 11, 15, 17, 20, 22, 25, 30, 33, 35, 40, 41, 42, 45, 47, 48, 49, 55, 58, 62, 63, 64, 65, 67, 68, 69, 70, 76, 77, 79, 80, 85, 92, 95], "That": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 24, 25, 27, 30, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 53, 55, 58, 62, 64, 65, 66, 67, 69, 72, 74, 76, 77, 78, 79, 80, 81, 83, 85, 86, 87, 88, 92, 95], "latter": [0, 1, 6, 7, 8, 14, 18, 23, 24, 30, 40, 45, 47, 51, 58, 66, 69, 77, 84, 87, 94], "piec": [0, 3, 4, 7, 9, 12, 17, 18, 19, 20, 22, 23, 24, 25, 27, 30, 33, 35, 42, 49, 61, 64, 65, 66, 67, 79, 82, 83], "individu": [0, 4, 7, 18, 20, 25, 33, 34, 39, 40, 46, 55, 56, 64, 66, 67, 79, 94], "similarli": [0, 8, 14, 16, 18, 31, 42, 45, 47, 49, 56, 64, 66, 67, 79, 80, 85, 92], "extract": [0, 5, 28, 30, 32, 41, 45, 47, 49, 79, 80], "from": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 47, 49, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 91, 92, 93, 94, 95], "thu": [0, 5, 7, 8, 13, 14, 19, 22, 25, 30, 32, 33, 35, 39, 40, 41, 42, 44, 45, 47, 48, 51, 55, 58, 62, 64, 65, 66, 67, 69, 77, 79, 80, 83, 85, 87, 92, 93], "If": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 32, 33, 34, 35, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 55, 58, 62, 63, 64, 66, 67, 69, 71, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88, 92, 94, 95], "produc": [0, 1, 3, 6, 7, 8, 12, 13, 18, 19, 20, 23, 25, 27, 30, 32, 33, 34, 35, 39, 41, 42, 45, 46, 47, 49, 53, 58, 59, 62, 63, 64, 65, 66, 67, 69, 74, 78, 79, 80, 83, 87, 89, 92, 94], "In": [0, 1, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 27, 29, 30, 32, 33, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 53, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 90, 91, 92, 94, 95], "discret": [0, 17, 23, 66, 68, 69, 82, 94], "mathemat": [0, 1, 4, 5, 7, 8, 9, 16, 17, 18, 19, 22, 23, 24, 30, 31, 42, 45, 49, 53, 58, 62, 64, 66, 67, 68, 69, 73, 74, 76, 94], "class": [0, 1, 4, 8, 10, 13, 23, 30, 45, 47, 64, 66, 71, 72, 74, 75, 76, 77, 79, 80, 81, 82, 83, 86, 92], "order": [0, 1, 8, 13, 15, 19, 20, 27, 28, 30, 34, 35, 36, 37, 41, 42, 45, 47, 48, 49, 51, 52, 53, 55, 58, 59, 60, 63, 64, 65, 66, 77, 78, 79, 80, 81, 82, 85, 91, 92, 94], "statement": [0, 1, 4, 7, 10, 40, 45, 47, 72, 78, 81, 85], "hold": [0, 7, 14, 16, 18, 19, 20, 30, 34, 35, 40, 41, 42, 45, 47, 64, 67, 69, 78, 82, 85, 92], "each": [0, 1, 3, 6, 7, 8, 10, 13, 14, 15, 18, 19, 20, 22, 24, 25, 28, 30, 33, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 55, 56, 58, 60, 63, 64, 65, 66, 67, 69, 77, 78, 79, 80, 81, 82, 85, 86, 87, 88, 89, 92, 94, 95], "conjunct": [0, 7, 15, 19, 88], "must": [0, 1, 4, 5, 6, 7, 8, 10, 12, 13, 14, 16, 18, 19, 21, 22, 24, 25, 27, 28, 30, 34, 35, 39, 40, 41, 42, 45, 46, 47, 48, 49, 53, 62, 64, 65, 66, 67, 69, 76, 79, 80, 81, 82, 84, 85, 91, 92, 95], "well": [0, 1, 4, 5, 7, 8, 9, 13, 15, 16, 18, 19, 20, 21, 23, 24, 30, 41, 42, 45, 46, 47, 49, 51, 55, 58, 63, 64, 66, 67, 68, 69, 71, 73, 74, 77, 78, 79, 80, 81, 82, 85, 92, 94, 95], "conclud": [0, 8, 14, 19, 34, 40, 64], "pattern": [0, 13, 20, 22, 25, 28, 29, 32, 35, 36, 37, 40, 41, 45, 48, 49, 50, 51, 52, 55, 56, 57, 58, 63, 64, 65, 67, 69, 71, 74, 77, 79], "denot": [0, 8, 25, 49, 62, 66, 67, 85], "implic": [0, 13, 15, 42, 95], "form": [0, 3, 6, 8, 9, 13, 14, 15, 18, 19, 21, 23, 25, 27, 30, 34, 35, 39, 42, 45, 46, 48, 53, 59, 60, 63, 64, 67, 68, 69, 78, 80, 82, 83, 85, 94, 96], "thei": [0, 1, 2, 3, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 70, 73, 74, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 94, 95, 96], "anoth": [0, 1, 2, 5, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 30, 33, 35, 38, 40, 41, 42, 45, 46, 47, 48, 49, 52, 53, 56, 58, 59, 64, 66, 67, 70, 73, 76, 77, 79, 80, 81, 83, 85, 92, 94, 95], "notic": [0, 6, 8, 18, 20, 25, 27, 30, 33, 37, 40, 44, 45, 47, 48, 49, 55, 58, 64, 65, 76, 77, 78, 80, 84, 85], "how": [0, 1, 3, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 27, 28, 30, 31, 32, 33, 34, 35, 37, 39, 41, 42, 43, 44, 45, 46, 47, 48, 51, 52, 53, 54, 55, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 74, 75, 76, 77, 78, 79, 81, 82, 84, 85, 87, 92, 94, 95], "given": [0, 6, 7, 8, 9, 12, 13, 14, 18, 20, 21, 26, 27, 28, 30, 32, 33, 34, 35, 39, 42, 44, 47, 48, 53, 56, 64, 67, 78, 80, 83, 84, 86, 91, 92, 95], "same": [0, 1, 3, 4, 5, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 20, 22, 25, 26, 27, 28, 30, 34, 35, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 56, 58, 59, 62, 64, 65, 66, 67, 68, 69, 70, 74, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 91, 92, 94, 95], "fact": [0, 1, 4, 6, 7, 8, 13, 14, 16, 17, 19, 20, 22, 24, 25, 30, 33, 34, 40, 45, 47, 48, 49, 53, 58, 59, 62, 63, 64, 67, 72, 77, 79, 80, 81, 83, 84, 85, 90, 91, 92], "close": [0, 2, 6, 15, 18, 19, 20, 21, 32, 33, 40, 41, 42, 48, 55, 59, 66, 70, 81, 85, 94, 95], "look": [0, 4, 7, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22, 26, 30, 33, 35, 40, 41, 42, 43, 44, 45, 46, 47, 49, 55, 58, 62, 64, 65, 66, 67, 69, 77, 78, 79, 80, 81, 82, 85, 91, 92, 94, 95], "compar": [0, 1, 6, 8, 9, 18, 19, 20, 22, 24, 28, 37, 41, 42, 44, 45, 47, 48, 51, 53, 59, 63, 64, 78, 79, 80, 81, 83, 84, 85, 92], "describ": [0, 2, 3, 5, 7, 8, 14, 16, 18, 19, 21, 41, 42, 47, 66, 68, 76, 78, 83, 87, 95], "valid": [0, 4, 6, 14, 16, 18, 19, 23, 28, 34, 44, 53, 66, 73, 85], "replac": [0, 1, 7, 8, 19, 33, 42, 45, 48, 51, 53, 55, 64, 65, 66, 67, 69, 74, 77, 81, 84, 92], "ident": [0, 7, 8, 14, 18, 19, 23, 41, 45, 50, 51, 55, 64, 67, 80, 81, 92], "discov": [0, 4, 9, 15, 16, 19, 24, 33, 45, 49, 54, 55, 58, 64, 67, 85, 95], "accid": [0, 8, 30, 45, 47, 54], "occur": [0, 4, 5, 6, 7, 8, 12, 15, 17, 18, 22, 30, 37, 39, 40, 41, 42, 45, 46, 47, 48, 58, 62, 63, 64, 65, 66, 67, 69, 74, 78, 79, 81, 85, 92, 95], "three": [0, 1, 4, 5, 6, 7, 8, 13, 17, 18, 19, 20, 24, 27, 28, 30, 31, 33, 35, 40, 41, 42, 45, 46, 47, 51, 53, 55, 56, 63, 65, 66, 67, 78, 79, 88, 94, 95], "specif": [0, 4, 8, 13, 15, 17, 18, 20, 23, 24, 27, 28, 30, 33, 41, 44, 45, 47, 48, 49, 58, 65, 70, 71, 76, 77, 78, 80, 81, 82, 85, 86, 95], "rather": [0, 1, 2, 3, 4, 5, 7, 8, 9, 12, 15, 18, 19, 22, 24, 25, 27, 30, 33, 35, 36, 40, 42, 44, 45, 47, 49, 55, 58, 59, 61, 63, 64, 66, 67, 69, 70, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 91, 92, 95], "deep": [0, 8, 10, 49, 50], "phenomenon": [0, 7, 48, 64], "link": [0, 3, 13, 23, 25, 30, 33, 35, 36, 42, 46, 49, 58, 79, 85, 95], "field": [0, 20, 28, 35, 36, 41, 45, 47, 65, 71, 77, 78, 79, 81, 89, 92, 93], "aspect": [0, 8, 9, 18, 46, 86], "been": [0, 1, 3, 5, 7, 8, 9, 12, 13, 14, 16, 17, 18, 19, 20, 24, 25, 34, 39, 40, 42, 44, 45, 46, 47, 48, 49, 50, 54, 57, 58, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 76, 77, 78, 80, 81, 83, 85, 87, 92, 94, 95], "mani": [0, 1, 3, 4, 8, 9, 10, 13, 14, 15, 16, 18, 20, 21, 23, 24, 25, 27, 28, 29, 30, 33, 35, 36, 40, 41, 42, 44, 45, 47, 49, 53, 54, 55, 56, 58, 63, 64, 65, 66, 67, 69, 70, 73, 74, 76, 79, 80, 82, 83, 85, 86, 88, 89, 90, 92, 94, 95], "peopl": [0, 1, 6, 16, 21, 24, 33, 52, 58, 64, 67], "work": [0, 1, 3, 4, 5, 6, 7, 8, 9, 13, 14, 15, 16, 18, 19, 20, 22, 23, 24, 25, 28, 30, 32, 33, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 55, 56, 58, 63, 64, 65, 67, 70, 73, 74, 76, 77, 78, 80, 81, 82, 83, 84, 85, 87, 92, 95, 96], "area": [0, 6, 25, 56, 64, 80], "goe": [0, 7, 8, 21, 25, 33, 40, 41, 42, 45, 47, 55, 65, 74, 76, 82], "name": [0, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 16, 18, 19, 20, 23, 25, 26, 27, 28, 30, 33, 34, 35, 37, 38, 39, 41, 42, 44, 45, 47, 52, 54, 55, 56, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 76, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 91, 95], "One": [0, 1, 7, 8, 9, 12, 13, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28, 35, 40, 41, 42, 44, 45, 47, 48, 51, 55, 58, 63, 64, 66, 67, 76, 77, 79, 81, 82, 84, 85, 86, 87, 90, 92, 94], "common": [0, 1, 4, 9, 10, 12, 13, 16, 19, 21, 23, 24, 27, 28, 30, 42, 44, 48, 55, 58, 65, 72, 74, 77, 78, 81, 83, 85, 95, 96], "logician": [0, 52], "haskel": [0, 23, 30, 32, 33, 45, 47, 49, 52, 67, 71, 73, 74], "whom": 0, "william": 0, "idea": [0, 1, 4, 5, 6, 8, 9, 10, 11, 13, 14, 17, 18, 22, 24, 25, 40, 41, 42, 44, 45, 46, 47, 49, 54, 55, 56, 58, 59, 60, 62, 64, 66, 67, 69, 70, 72, 73, 77, 78, 79, 80, 81, 82, 84, 85, 86, 92, 94], "aka": [0, 3, 7, 13, 14, 15, 20, 29, 47, 49, 51, 66, 68, 69, 78, 79, 83, 87, 95], "seen": [0, 1, 8, 10, 11, 18, 19, 22, 25, 39, 41, 42, 44, 45, 46, 47, 48, 51, 52, 55, 56, 58, 62, 64, 67, 77, 79, 80, 84, 85, 86, 90, 91, 92], "first": [0, 1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 33, 34, 35, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 58, 59, 60, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 86, 87, 89, 91, 92, 94, 95], "themselv": [0, 7, 42, 49, 62, 67, 79, 85, 88, 92], "done": [0, 2, 3, 5, 7, 8, 9, 13, 17, 18, 30, 33, 40, 41, 42, 45, 46, 47, 48, 49, 51, 55, 60, 63, 64, 65, 73, 76, 78, 82, 84, 88, 95], "involv": [0, 2, 4, 8, 14, 19, 21, 22, 24, 25, 30, 33, 35, 41, 42, 45, 48, 62, 63, 64, 65, 74, 80, 82, 85, 87, 92, 95], "haven": [0, 7, 10, 25, 30, 39, 49, 64, 67, 77, 82], "third": [0, 1, 4, 8, 16, 17, 19, 23, 28, 30, 47, 52, 55, 56, 63, 64, 66, 67, 77, 81, 92, 94, 95], "yet": [0, 1, 7, 8, 12, 13, 14, 17, 18, 25, 30, 34, 39, 41, 47, 53, 58, 63, 64, 67, 81, 83, 85, 87, 92], "later": [0, 4, 7, 8, 14, 16, 22, 25, 26, 27, 29, 30, 33, 35, 39, 40, 45, 46, 47, 48, 49, 57, 58, 62, 64, 65, 66, 67, 70, 73, 79, 85, 88, 92, 95], "dig": [0, 94], "appreci": [0, 42, 45, 55, 72, 75, 86, 94, 95], "them": [0, 1, 2, 3, 4, 5, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 24, 25, 27, 28, 30, 33, 35, 36, 39, 40, 41, 42, 44, 45, 47, 48, 49, 51, 52, 53, 55, 56, 57, 58, 62, 63, 64, 65, 66, 67, 69, 71, 72, 74, 76, 79, 80, 81, 82, 83, 84, 86, 90, 92, 94, 95], "more": [0, 1, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 32, 33, 35, 36, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 74, 77, 78, 79, 80, 82, 84, 85, 86, 89, 90, 92, 94, 95], "fulli": [0, 24, 65], "creat": [0, 2, 6, 8, 12, 13, 14, 15, 18, 19, 20, 22, 27, 28, 30, 32, 33, 36, 41, 42, 44, 45, 46, 47, 48, 49, 54, 56, 58, 64, 66, 76, 77, 78, 79, 80, 81, 85, 87, 88, 89, 90, 92, 96], "atom": [0, 1, 15], "negat": [0, 15, 45, 65, 92], "disjunct": [0, 7, 15], "bnf": [0, 63, 66, 67, 68], "p": [0, 6, 13, 15, 19, 22, 25, 27, 28, 30, 34, 41, 47, 51, 53, 54, 55, 56, 58, 63, 64, 78, 80, 91, 92, 96], "identifi": [0, 1, 5, 7, 8, 11, 12, 13, 21, 30, 34, 35, 39, 63, 64, 65, 66, 67, 69, 85], "rain": [0, 15], "snow": [0, 15], "cold": [0, 15, 74], "state": [0, 5, 8, 15, 16, 19, 20, 21, 22, 23, 32, 45, 47, 48, 56, 62, 64, 67, 74, 75, 78], "simultan": [0, 15, 47, 77], "weather": [0, 15], "condit": [0, 5, 7, 15, 16, 18, 19, 23, 47, 48, 50, 67, 69], "known": [0, 4, 7, 8, 10, 13, 15, 16, 19, 21, 22, 24, 26, 35, 41, 42, 47, 57, 64, 66, 67, 69, 70, 74, 79, 81, 82, 85], "ithac": [0, 15], "world": [0, 1, 3, 6, 10, 11, 25, 36, 40, 41, 42, 45, 50, 60, 64, 68, 75, 81, 82, 84, 86, 87, 92, 93, 94], "distinguish": [0, 7, 8, 13, 18, 39, 40, 47, 66, 80], "written": [0, 1, 5, 6, 7, 8, 9, 10, 13, 16, 17, 18, 21, 23, 30, 33, 35, 42, 45, 46, 47, 48, 51, 52, 53, 56, 64, 66, 67, 69, 72, 73, 75, 76, 77, 78, 79, 80, 82, 85, 89, 92, 94], "fals": [0, 6, 7, 14, 20, 25, 28, 30, 31, 37, 41, 47, 48, 53, 54, 55, 62, 63, 66, 67, 76, 77, 79, 80, 85, 88, 92], "respect": [0, 10, 16, 30, 41, 44, 66, 70, 79, 82], "togeth": [0, 1, 8, 9, 10, 18, 22, 41, 42, 45, 46, 47, 53, 59, 64, 65, 66, 69, 72, 73, 80, 82, 83, 86, 87, 95, 96], "assert": [0, 4, 6, 11, 18, 19, 23, 33, 41, 45, 47, 56, 85], "product": [0, 4, 9, 16, 18, 25, 28, 35, 36, 47, 53, 65, 66, 82], "other": [0, 1, 2, 3, 4, 7, 8, 9, 10, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 38, 40, 41, 42, 45, 46, 47, 48, 49, 53, 56, 57, 59, 60, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 91, 92, 94, 95], "word": [0, 1, 2, 5, 7, 8, 9, 14, 17, 19, 24, 25, 30, 35, 39, 40, 44, 45, 47, 48, 58, 65, 66, 67, 69, 70, 76, 77, 78, 79, 80, 85, 92, 95, 96], "assum": [0, 1, 6, 8, 14, 15, 19, 21, 25, 28, 34, 40, 41, 42, 44, 47, 63, 66, 67, 79, 94, 95], "sens": [0, 8, 13, 16, 17, 18, 19, 20, 22, 27, 42, 45, 49, 51, 58, 63, 64, 66, 67, 77, 82, 85, 86, 91], "even": [0, 1, 4, 5, 7, 8, 9, 10, 13, 15, 16, 17, 19, 20, 21, 24, 25, 31, 32, 33, 36, 40, 41, 42, 45, 46, 47, 48, 49, 52, 53, 54, 55, 56, 58, 62, 64, 65, 67, 70, 71, 74, 77, 78, 79, 80, 81, 82, 84, 85, 92, 95], "clearli": [0, 13, 16, 24, 42, 45, 51, 58, 86, 92], "Such": [0, 5, 14, 17, 19, 22, 25, 31, 64, 66], "exhibit": [0, 20, 78], "appli": [0, 1, 4, 6, 8, 12, 14, 15, 16, 17, 18, 19, 20, 22, 24, 27, 30, 40, 41, 44, 45, 47, 49, 51, 52, 53, 54, 55, 56, 58, 60, 62, 63, 64, 67, 77, 78, 79, 80, 81, 85, 92], "difficult": [0, 7, 16, 17, 19, 22, 24, 25, 41, 42, 47, 74, 82, 90], "concis": [0, 5, 16, 48], "either": [0, 4, 7, 8, 9, 10, 13, 18, 21, 22, 24, 25, 27, 28, 30, 31, 32, 40, 41, 45, 46, 47, 48, 53, 57, 58, 62, 64, 66, 67, 69, 70, 76, 78, 80, 81, 83, 85, 95], "strengthen": [0, 19, 41], "further": [0, 4, 13, 16, 19, 21, 22, 30, 44, 46, 47, 48, 64, 65, 67, 77, 85, 95], "specifi": [0, 4, 5, 7, 8, 10, 13, 15, 16, 20, 21, 27, 30, 42, 58, 66, 67, 69, 74, 77, 78, 80, 82, 84, 85], "why": [0, 4, 7, 8, 15, 18, 19, 24, 28, 29, 30, 33, 34, 40, 41, 42, 44, 47, 48, 49, 51, 54, 55, 58, 62, 63, 64, 67, 72, 74, 77, 78, 80, 81, 85, 91, 92], "matter": [0, 1, 7, 8, 14, 15, 16, 20, 28, 30, 40, 42, 47, 48, 49, 53, 55, 58, 62, 64, 68, 72, 79, 85, 92, 95], "suppos": [0, 4, 6, 7, 8, 10, 12, 13, 14, 16, 18, 19, 22, 25, 28, 30, 32, 33, 35, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 54, 59, 63, 64, 67, 76, 77, 78, 80, 81, 82, 87, 92], "were": [0, 4, 5, 6, 9, 10, 14, 16, 17, 19, 22, 25, 30, 33, 40, 42, 43, 45, 46, 48, 49, 56, 57, 58, 64, 65, 66, 67, 70, 72, 73, 74, 77, 78, 79, 80, 81, 84, 85, 87, 94, 95], "twin": 0, "prime": [0, 30, 41, 49, 56], "conjectur": 0, "unsolv": 0, "problem": [0, 1, 6, 8, 12, 13, 14, 16, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 37, 40, 42, 44, 45, 47, 48, 49, 51, 53, 55, 62, 63, 64, 67, 73, 74, 77, 79, 80, 81, 82, 85, 87, 92, 94, 95], "infinit": [0, 7, 16, 19, 25, 27, 41, 43, 45, 47, 49, 50, 63, 67], "n": [0, 1, 6, 8, 10, 13, 14, 15, 16, 19, 20, 22, 25, 28, 30, 34, 35, 40, 41, 42, 44, 46, 47, 48, 49, 53, 54, 58, 59, 64, 77, 78, 79, 80, 81, 84, 85, 88, 89, 91, 92], "2": [0, 2, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 18, 19, 20, 22, 25, 28, 30, 33, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 53, 54, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 75, 77, 78, 79, 80, 81, 84, 85, 86, 88, 89, 92, 95], "3": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 22, 23, 25, 28, 30, 33, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47, 48, 49, 53, 54, 55, 56, 57, 58, 60, 63, 64, 65, 66, 67, 76, 77, 78, 79, 81, 85, 87, 89, 91, 92], "5": [0, 1, 6, 7, 8, 10, 12, 14, 15, 22, 23, 28, 30, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 56, 60, 63, 64, 67, 68, 69, 71, 77, 79, 81, 85, 87, 88, 91, 92, 95], "7": [0, 1, 6, 7, 8, 12, 14, 22, 30, 36, 37, 39, 40, 41, 42, 45, 46, 48, 49, 53, 63, 77, 80, 81, 85, 89, 92, 93], "tp": 0, "Then": [0, 3, 8, 15, 17, 19, 30, 33, 40, 41, 42, 44, 46, 48, 51, 55, 56, 58, 59, 63, 64, 65, 66, 67, 70, 76, 77, 78, 79, 81, 84, 87, 89, 92, 94, 95], "seem": [0, 1, 6, 7, 8, 22, 24, 25, 27, 30, 33, 42, 44, 45, 49, 55, 56, 58, 62, 67, 68, 70, 76, 77, 80, 81, 84, 85, 86, 92], "aren": [0, 1, 8, 17, 18, 26, 28, 45, 46, 55, 66, 67, 74, 77, 81, 95], "wouldn": [0, 4, 45, 72, 77, 81, 84], "figur": [0, 12, 18, 22, 42, 44, 48, 64, 65, 67, 74, 79, 80, 81], "side": [0, 3, 7, 10, 13, 14, 19, 22, 26, 30, 34, 35, 43, 44, 45, 48, 49, 62, 64, 66, 67, 73, 74, 75, 80, 81, 82, 85, 88, 90], "left": [0, 2, 7, 8, 12, 18, 19, 22, 25, 26, 27, 30, 34, 35, 37, 41, 42, 44, 45, 47, 48, 50, 51, 58, 59, 62, 63, 64, 66, 67, 77, 78, 79, 80, 85, 89, 91, 92, 95], "disproof": 0, "No": [0, 1, 16, 17, 21, 30, 42, 64, 72, 77, 78, 79], "know": [0, 1, 3, 4, 7, 8, 9, 10, 12, 13, 16, 17, 18, 19, 20, 22, 23, 27, 32, 33, 41, 42, 45, 49, 51, 52, 62, 64, 65, 66, 67, 69, 71, 72, 77, 78, 79, 80, 81, 82, 85, 91, 92, 94], "current": [0, 1, 2, 3, 8, 12, 20, 27, 30, 40, 41, 42, 44, 47, 58, 62, 67, 79, 85, 89, 92, 94, 95], "henceforth": [0, 13, 19, 47, 95], "stronger": [0, 19], "whether": [0, 1, 4, 7, 8, 9, 12, 13, 15, 16, 17, 18, 19, 20, 24, 25, 26, 27, 28, 30, 31, 33, 35, 37, 38, 39, 41, 42, 45, 47, 53, 54, 55, 56, 63, 64, 65, 66, 67, 69, 77, 78, 79, 80, 85, 92, 95], "necessarili": [0, 8, 15, 17, 24, 42, 45, 47, 48, 56, 65, 72, 78, 80, 83], "own": [0, 2, 4, 8, 9, 15, 16, 18, 20, 22, 25, 28, 33, 41, 42, 45, 52, 55, 58, 64, 66, 70, 72, 73, 78, 79, 80, 82, 85, 87, 92, 94, 95], "technic": [0, 8, 19, 45, 56, 64, 67, 77, 94], "than": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 32, 33, 35, 36, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 53, 54, 55, 56, 58, 59, 60, 63, 64, 65, 66, 67, 71, 72, 74, 77, 78, 79, 80, 81, 82, 85, 86, 87, 88, 90, 91, 92, 95], "classic": [0, 16, 73], "tradit": [0, 67, 69], "understood": [0, 7, 10, 18, 21, 30, 34, 40, 45, 66, 79], "requir": [0, 1, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 27, 32, 33, 36, 40, 41, 42, 44, 45, 46, 47, 48, 49, 55, 56, 58, 62, 63, 64, 65, 66, 67, 70, 72, 75, 76, 77, 78, 79, 80, 82, 85, 92, 94, 95], "return": [0, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 18, 19, 20, 23, 25, 26, 28, 30, 32, 33, 37, 39, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 56, 57, 58, 59, 63, 64, 65, 66, 67, 72, 74, 77, 78, 79, 80, 85, 86, 88, 89, 91, 92, 95], "consid": [0, 1, 4, 5, 7, 8, 13, 14, 15, 17, 18, 19, 22, 24, 27, 28, 30, 32, 35, 41, 44, 45, 46, 47, 48, 49, 53, 55, 56, 59, 63, 64, 65, 66, 67, 77, 78, 81, 83, 85], "disj": 0, "v": [0, 1, 7, 8, 15, 19, 22, 25, 26, 27, 30, 32, 34, 35, 41, 42, 44, 46, 49, 51, 62, 63, 67, 69, 77, 78, 79, 80, 88, 91, 92, 94, 95], "where": [0, 1, 3, 4, 6, 7, 8, 13, 15, 16, 17, 18, 19, 22, 24, 27, 28, 30, 35, 40, 41, 42, 43, 44, 45, 46, 47, 48, 55, 62, 63, 64, 65, 66, 67, 69, 77, 78, 79, 80, 84, 85, 88, 89, 90, 92, 94, 95], "i": [0, 1, 5, 6, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 22, 25, 27, 28, 30, 31, 32, 34, 35, 40, 41, 42, 44, 45, 46, 48, 49, 58, 59, 62, 63, 64, 66, 67, 69, 72, 73, 74, 78, 79, 82, 84, 85, 88, 89, 90, 92, 93, 95], "tag": [0, 3, 5, 25, 36, 67], "ii": [0, 28, 30, 41, 47, 85, 95], "carri": [0, 22, 27, 28, 36, 37, 41, 47, 66, 67, 82], "within": [0, 1, 6, 13, 18, 30, 39, 41, 42, 47, 65, 85, 88], "sub": [0, 8, 25, 41, 44, 55, 67, 85], "subvalu": 0, "therefor": [0, 1, 4, 7, 8, 13, 18, 19, 21, 22, 26, 40, 42, 46, 47, 48, 49, 57, 62, 64, 65, 67, 77, 79, 80, 81, 82, 83, 85, 87, 94], "union": [0, 18, 25, 30, 35, 44, 46, 67, 80], "guarante": [0, 1, 4, 5, 13, 16, 19, 21, 24, 25, 27, 30, 32, 40, 42, 46, 47, 48, 65, 67, 69, 74, 79, 80, 85, 90, 92], "simplest": [0, 14, 24, 33, 39, 42, 67, 80], "unit": [0, 1, 4, 7, 9, 17, 20, 21, 27, 28, 29, 40, 41, 42, 46, 47, 49, 53, 56, 64, 77, 78, 79, 80, 84, 86, 87, 88, 89, 91, 92, 94], "best": [0, 4, 7, 8, 10, 12, 34, 42, 44, 46, 47, 48, 51, 59, 62, 66, 83, 85, 95], "introduc": [0, 7, 13, 14, 18, 24, 30, 33, 37, 39, 41, 46, 47, 63, 64, 67, 69, 71, 73, 78, 79, 92], "earlier": [0, 4, 10, 12, 14, 22, 40, 47, 64, 69, 76, 77, 78, 79, 80, 81, 85, 95], "includ": [0, 1, 3, 7, 8, 9, 10, 13, 15, 18, 20, 21, 23, 24, 25, 28, 29, 30, 32, 35, 36, 40, 42, 44, 47, 48, 56, 58, 64, 65, 66, 67, 69, 70, 73, 77, 78, 80, 83, 85, 86, 92, 94, 95], "zero": [0, 1, 8, 13, 15, 16, 19, 22, 28, 31, 40, 41, 45, 46, 67, 78, 80, 84], "void": [0, 8, 10, 79, 92], "ll": [0, 1, 2, 3, 4, 5, 7, 8, 9, 12, 13, 14, 15, 17, 19, 20, 22, 25, 26, 27, 29, 30, 31, 33, 36, 37, 39, 40, 42, 43, 44, 46, 47, 49, 51, 55, 56, 57, 58, 59, 61, 62, 64, 65, 66, 67, 69, 71, 72, 74, 77, 79, 80, 85, 90, 92, 94, 95], "stick": [0, 7, 17, 79, 92], "subtleti": 0, "should": [0, 1, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 18, 19, 20, 21, 22, 27, 28, 30, 33, 40, 41, 42, 45, 46, 47, 51, 53, 58, 62, 63, 64, 65, 66, 67, 69, 73, 76, 77, 78, 80, 81, 82, 85, 89, 92, 94, 95], "address": [0, 18, 42, 47, 48, 50, 55, 64, 92, 93], "nonetheless": [0, 7, 19, 47, 49, 62, 64, 67, 91, 95], "here": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 13, 14, 15, 16, 18, 19, 20, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 37, 38, 39, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 56, 58, 60, 63, 64, 65, 66, 67, 69, 72, 76, 77, 78, 79, 80, 81, 84, 85, 89, 91, 92, 94, 95], "rec": [0, 4, 5, 8, 15, 19, 20, 22, 25, 26, 28, 30, 31, 32, 33, 37, 41, 44, 46, 48, 49, 51, 53, 54, 55, 58, 59, 63, 67, 69, 77, 78, 80, 81, 85, 91], "loop": [0, 7, 8, 12, 15, 16, 19, 27, 41, 45, 47, 49, 50, 59, 63, 65, 72, 78, 89, 93], "enter": [0, 3, 6, 7, 8, 12, 20, 40, 41, 47, 64, 65, 70, 79, 85, 87, 94, 95], "code": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 13, 15, 16, 17, 18, 20, 21, 23, 24, 25, 27, 28, 30, 31, 32, 33, 35, 37, 38, 41, 42, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 71, 72, 74, 76, 77, 78, 79, 80, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 94, 96], "utop": [0, 6, 7, 12, 20, 47, 62, 63, 64, 66, 67, 76, 78, 85, 87, 89, 95], "respons": [0, 5, 8, 12, 20, 33, 42, 47, 65, 74, 77, 78, 79, 80, 82, 85, 92, 93, 94], "e": [0, 1, 6, 7, 8, 10, 13, 14, 15, 16, 17, 19, 20, 22, 25, 27, 28, 30, 32, 33, 34, 35, 39, 41, 42, 44, 45, 46, 47, 48, 49, 56, 58, 62, 63, 64, 65, 66, 67, 69, 73, 74, 76, 77, 78, 79, 80, 82, 85, 87, 88, 92, 95], "successfulli": [0, 7, 16, 25, 35, 49, 58, 64, 82, 87, 95], "failwith": [0, 4, 18, 27, 31, 33, 41, 44, 47, 48, 49, 67, 69], "except": [0, 4, 5, 7, 8, 10, 13, 14, 16, 18, 19, 21, 22, 23, 25, 28, 29, 30, 32, 34, 36, 41, 44, 45, 46, 47, 49, 58, 62, 63, 64, 67, 69, 76, 77, 78, 80, 84, 85, 91, 92, 94], "failur": [0, 4, 7, 14, 15, 17, 20, 23, 24, 27, 28, 30, 47, 49, 69], "rais": [0, 4, 5, 6, 7, 13, 14, 18, 19, 23, 27, 28, 30, 32, 33, 34, 41, 45, 46, 47, 49, 56, 62, 63, 64, 67, 69, 76, 77, 78, 79, 80, 85, 88, 91, 92], "stdlib": [0, 7, 18, 20, 28, 33, 42, 45, 47, 49, 53, 69, 78, 79, 80, 81, 84, 85, 91, 92], "file": [0, 2, 7, 8, 9, 10, 12, 13, 20, 21, 25, 27, 30, 33, 39, 41, 45, 47, 49, 55, 66, 76, 77, 78, 79, 80, 81, 85, 87, 91, 92, 95], "line": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 16, 17, 22, 24, 25, 27, 28, 30, 33, 41, 44, 45, 47, 49, 51, 53, 55, 63, 64, 66, 67, 73, 77, 78, 79, 80, 81, 85, 87, 91, 92, 95], "29": [0, 28, 30, 49], "charact": [0, 5, 7, 8, 10, 12, 25, 27, 30, 33, 34, 39, 41, 42, 45, 47, 49, 51, 55, 65, 66, 67, 77, 78, 79, 80, 81, 85, 87, 91, 92], "17": [0, 8, 25, 30, 41, 42, 49, 63, 77, 80, 85, 92], "33": [0, 7, 27, 30, 42, 47, 49, 79, 80, 85, 92], "unknown": [0, 7, 8, 24, 30, 49, 64, 92], "locat": [0, 4, 7, 41, 42, 47, 49, 64, 81, 92], "stdlib__fun": [0, 7, 27, 47, 49, 80, 92], "protect": [0, 7, 21, 27, 47, 49, 77, 80, 83, 86, 92], "8": [0, 1, 6, 7, 8, 11, 25, 27, 30, 36, 40, 41, 42, 46, 47, 49, 50, 53, 56, 57, 58, 60, 63, 77, 80, 81, 86, 87, 91, 92, 93], "15": [0, 7, 8, 25, 27, 30, 41, 47, 49, 77, 80, 85, 92], "38": [0, 7, 8, 24, 27, 30, 47, 49, 80, 85, 92], "6": [0, 1, 7, 8, 14, 16, 22, 23, 27, 30, 35, 36, 37, 39, 40, 41, 42, 45, 47, 48, 49, 55, 56, 59, 60, 63, 67, 70, 77, 78, 79, 80, 81, 85, 92], "52": [0, 7, 27, 28, 30, 47, 49, 80, 92], "topev": [0, 7, 27, 47, 49, 80, 92], "load_lambda": [0, 7, 27, 47, 49, 80, 92], "toplevel": [0, 3, 6, 7, 8, 9, 18, 27, 33, 34, 47, 49, 53, 64, 77, 80, 84, 85, 91, 92, 95], "byte": [0, 1, 3, 7, 27, 42, 47, 49, 80, 92], "89": [0, 7, 27, 30, 47, 49, 80, 92], "4": [0, 1, 3, 6, 7, 8, 12, 13, 14, 19, 22, 23, 26, 27, 28, 30, 33, 36, 37, 39, 40, 41, 42, 44, 45, 47, 48, 49, 50, 54, 58, 59, 63, 64, 77, 79, 80, 81, 85, 86, 89, 92, 96], "150": [0, 7, 24, 27, 30, 47, 49, 80, 92], "again": [0, 1, 4, 5, 7, 8, 12, 13, 14, 20, 22, 24, 27, 28, 30, 35, 39, 40, 41, 42, 44, 45, 46, 47, 49, 54, 55, 58, 61, 63, 64, 66, 67, 71, 77, 78, 80, 92, 94, 95], "total": [0, 16, 19, 23, 40, 41, 44, 45, 48, 49, 53, 58, 79, 80], "rule": [0, 7, 8, 9, 16, 19, 21, 27, 30, 34, 35, 62, 63, 64, 65, 66, 67, 69, 81, 85, 92], "elimin": [0, 4, 14, 27, 32, 46, 48, 51, 56, 64, 65, 67, 69, 70, 78, 80], "did": [0, 5, 7, 8, 12, 13, 17, 18, 21, 24, 26, 27, 30, 33, 40, 42, 45, 46, 47, 49, 50, 51, 52, 53, 54, 63, 64, 66, 67, 76, 77, 78, 80, 81, 85, 87, 91, 92, 95], "start": [0, 1, 3, 4, 5, 7, 8, 10, 12, 13, 16, 18, 19, 20, 22, 24, 25, 28, 30, 33, 40, 41, 44, 45, 46, 47, 48, 49, 55, 61, 64, 66, 67, 69, 78, 81, 85, 87, 88, 89, 92, 94, 95, 96], "discuss": [0, 4, 13, 16, 18, 19, 20, 22, 30, 33, 39, 42, 43, 45, 47, 48, 49, 53, 58, 60, 66, 70, 78, 80, 83, 85], "method": [0, 4, 7, 8, 10, 19, 23, 24, 33, 40, 50, 58, 60, 74, 77, 79, 81, 82, 85, 86, 92], "continu": [0, 2, 4, 5, 10, 16, 21, 27, 33, 35, 40, 41, 44, 45, 46, 47, 48, 49, 63, 64, 67, 69, 70, 95], "trickiest": [0, 47], "syntact": [0, 7, 8, 9, 19, 27, 30, 34, 35, 36, 51, 53, 55, 63, 64, 66, 67, 69, 80, 81, 84, 85], "sugar": [0, 8, 27, 30, 35, 36, 51, 55, 63, 64, 67, 80, 81, 84], "particular": [0, 1, 4, 8, 9, 13, 20, 24, 25, 29, 30, 33, 45, 48, 49, 64, 69, 75, 76, 78, 80, 85, 87, 91, 92, 95], "lead": [0, 7, 8, 13, 14, 16, 20, 22, 25, 31, 32, 41, 42, 46, 47, 52, 58, 64, 67, 76, 81, 85, 92, 94, 95], "contradict": 0, "standard": [0, 1, 4, 5, 7, 9, 18, 20, 26, 27, 28, 29, 30, 33, 34, 37, 41, 47, 48, 49, 50, 54, 55, 58, 60, 62, 66, 69, 70, 73, 75, 76, 77, 78, 79, 80, 85, 92, 94], "understand": [0, 1, 7, 8, 9, 11, 13, 16, 17, 20, 24, 30, 33, 40, 42, 45, 46, 47, 55, 58, 61, 62, 65, 67, 72, 74, 76, 81, 82, 84, 85, 86, 94], "whose": [0, 3, 8, 13, 15, 18, 20, 21, 25, 27, 28, 30, 33, 34, 35, 41, 42, 44, 45, 46, 47, 49, 53, 54, 62, 67, 73, 77, 78, 79, 80, 85, 88, 91, 92, 95], "ongo": [0, 21, 64], "assumpt": [0, 7, 8, 15, 19, 21, 34, 40], "input": [0, 1, 5, 6, 8, 10, 12, 13, 15, 16, 18, 19, 20, 21, 23, 24, 27, 28, 30, 33, 41, 42, 44, 45, 47, 48, 49, 50, 53, 56, 57, 58, 64, 65, 66, 74, 77, 78, 79, 80, 85, 86, 89, 92], "enabl": [0, 12, 13, 18, 20, 21, 35, 41, 45, 47, 56, 57, 66, 74, 80, 81, 83, 86, 90, 92, 95], "level": [0, 3, 15, 16, 22, 45, 46, 47, 48, 61, 64, 65, 66, 70, 87, 92, 94, 95], "deeper": [0, 40, 47, 94], "everi": [0, 1, 3, 7, 8, 13, 14, 18, 21, 25, 27, 30, 32, 33, 40, 41, 42, 44, 45, 48, 49, 53, 55, 56, 59, 62, 63, 64, 66, 76, 78, 79, 81, 82, 85, 86, 87, 89, 92], "sinc": [0, 7, 8, 9, 14, 18, 19, 20, 27, 30, 40, 41, 42, 44, 45, 46, 47, 48, 49, 53, 57, 58, 62, 64, 66, 67, 69, 77, 79, 80, 84, 85, 92, 94], "checker": [0, 25, 64, 67, 68], "verifi": [0, 4, 14, 19, 24, 74], "detail": [0, 5, 8, 19, 21, 27, 30, 41, 45, 47, 61, 65, 66, 67, 76, 77, 80, 82, 83, 85, 87, 92, 95], "compel": [0, 25], "restrict": [0, 8, 9, 16, 19, 21, 30, 35, 42, 51, 64, 68, 80, 85, 92], "attent": [0, 4, 21, 42, 55, 67, 95], "equival": [0, 5, 7, 8, 10, 14, 19, 27, 32, 35, 40, 42, 47, 48, 51, 53, 58, 59, 67, 79, 80, 85, 86, 91, 92], "gave": [0, 1, 14, 45, 67, 81, 92], "variabl": [0, 1, 4, 7, 8, 10, 14, 15, 16, 30, 34, 35, 39, 47, 52, 56, 57, 62, 63, 64, 65, 66, 67, 68, 69, 72, 79, 80, 85], "whatev": [0, 1, 3, 4, 7, 8, 12, 13, 14, 25, 27, 28, 41, 47, 53, 66, 67, 69, 77, 79, 80, 85, 95], "environ": [0, 9, 57, 63, 64, 67, 68, 69, 70, 94], "env": [0, 62, 63, 64, 69, 95], "anonym": [0, 1, 11, 25, 27, 34, 45, 49, 62, 63, 64, 67, 76, 77, 80, 92], "static": [0, 7, 8, 9, 11, 25, 30, 34, 35, 39, 49, 64, 68, 69, 70, 74, 75, 83, 84, 86, 88, 91, 92], "extend": [0, 9, 25, 35, 39, 41, 62, 63, 64, 65, 69, 77, 81, 85, 86], "bind": [0, 1, 7, 8, 10, 11, 12, 25, 26, 27, 30, 34, 35, 36, 39, 40, 41, 42, 45, 46, 47, 48, 50, 58, 62, 64, 65, 66, 67, 69, 78, 79, 80, 85, 92], "e1": [0, 7, 8, 10, 19, 22, 27, 30, 34, 35, 47, 62, 63, 64, 66, 67, 69, 88, 91, 92], "e2": [0, 7, 8, 10, 19, 22, 27, 30, 34, 35, 47, 62, 63, 64, 66, 67, 69, 88, 91, 92], "applic": [0, 1, 5, 7, 11, 13, 18, 30, 34, 41, 47, 49, 51, 55, 58, 59, 62, 63, 64, 67, 68, 78, 80, 82, 92, 95], "t1": [0, 7, 8, 25, 34, 35, 39, 41, 49, 52, 64, 69, 91], "t2": [0, 7, 8, 34, 35, 39, 41, 44, 49, 52, 64, 69, 91], "tree": [0, 3, 14, 15, 28, 36, 41, 42, 43, 44, 49, 56, 63, 65, 67, 68, 70, 78, 79, 80], "draw": [0, 41, 48], "recurs": [0, 1, 4, 6, 11, 13, 14, 15, 28, 31, 36, 37, 41, 44, 46, 48, 49, 50, 51, 53, 59, 63, 67, 69, 77, 80, 84, 85, 88, 91], "rewrit": [0, 8, 10, 14, 19, 21, 25, 27, 28, 30, 44, 45, 47, 48, 51, 53, 55, 58, 62, 63, 65, 66, 67, 79, 81, 94], "leav": [0, 3, 8, 13, 14, 16, 17, 19, 30, 41, 42, 48, 64, 67, 77, 79, 84, 94], "At": [0, 7, 8, 9, 13, 33, 39, 40, 46, 54, 55, 62, 64, 66, 67, 68, 70, 72, 77, 92, 94, 95], "p1": [0, 13, 27, 30, 34, 35, 38, 63, 80], "p2": [0, 13, 27, 30, 38, 63], "whenev": [0, 7, 25, 30, 39, 40, 41, 42, 44, 45, 47, 62, 67, 79, 80], "usual": [0, 1, 3, 7, 8, 9, 12, 13, 14, 16, 19, 20, 21, 24, 27, 30, 32, 33, 35, 37, 40, 41, 42, 45, 47, 49, 55, 63, 64, 65, 67, 69, 77, 79, 80, 82, 83, 84, 85, 92, 94, 95], "premiss": 0, "abov": [0, 3, 5, 6, 7, 8, 10, 12, 13, 14, 15, 18, 19, 20, 22, 25, 27, 28, 30, 32, 33, 35, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 52, 53, 55, 56, 58, 62, 63, 64, 66, 67, 76, 77, 78, 79, 80, 81, 83, 84, 85, 91, 92, 94, 95], "conclus": [0, 19], "deriv": [0, 1, 30, 51, 62, 63, 66, 76, 78, 80, 89], "swap": [0, 14, 22, 46, 55, 63], "compon": [0, 8, 9, 25, 27, 30, 34, 35, 53, 62, 63, 67, 77, 78, 80, 82, 85, 87, 89], "eras": 0, "And": [0, 1, 2, 6, 7, 8, 13, 14, 17, 19, 22, 25, 27, 30, 32, 33, 35, 36, 39, 40, 41, 44, 45, 46, 47, 48, 49, 51, 54, 55, 56, 58, 62, 64, 67, 71, 74, 77, 78, 80, 81, 84, 85, 89, 91, 92, 93], "see": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 18, 19, 20, 22, 24, 25, 27, 28, 30, 33, 35, 36, 41, 42, 43, 44, 45, 46, 47, 48, 49, 55, 57, 58, 63, 64, 65, 66, 67, 69, 74, 76, 77, 78, 79, 80, 81, 85, 86, 88, 89, 92, 94, 95], "case": [0, 1, 4, 6, 7, 8, 13, 14, 16, 17, 18, 19, 21, 22, 23, 24, 27, 30, 32, 33, 34, 36, 40, 41, 42, 44, 45, 46, 47, 48, 50, 55, 56, 58, 59, 63, 64, 66, 67, 69, 76, 77, 78, 79, 80, 85, 92], "itself": [0, 5, 7, 8, 9, 12, 13, 20, 22, 24, 25, 27, 30, 32, 40, 41, 42, 45, 46, 47, 49, 51, 59, 62, 63, 65, 66, 77, 79, 80, 83, 85, 91, 92], "second": [0, 1, 3, 4, 7, 8, 12, 17, 18, 19, 20, 22, 23, 25, 27, 28, 30, 33, 34, 35, 41, 42, 45, 46, 47, 51, 52, 53, 55, 56, 60, 63, 64, 66, 67, 69, 77, 78, 79, 80, 81, 85, 92, 95], "treat": [0, 7, 16, 42, 49, 53, 54, 63, 64, 74, 76, 81, 92], "part": [0, 4, 5, 6, 7, 9, 12, 13, 14, 15, 16, 17, 18, 21, 24, 27, 28, 30, 34, 35, 36, 41, 44, 45, 47, 48, 49, 56, 58, 60, 62, 64, 65, 66, 67, 69, 73, 74, 76, 77, 79, 80, 81, 82, 83, 84, 85, 87, 92, 94, 95], "briefli": [0, 41, 85], "cours": [0, 1, 3, 4, 5, 8, 9, 11, 13, 15, 17, 18, 19, 20, 22, 23, 25, 26, 31, 33, 34, 36, 41, 42, 43, 45, 48, 49, 51, 56, 58, 59, 60, 62, 64, 65, 66, 67, 68, 69, 70, 75, 77, 78, 79, 80, 85, 87, 92, 94, 95, 96], "next": [0, 1, 4, 5, 8, 10, 13, 14, 18, 19, 20, 22, 25, 27, 33, 37, 40, 41, 42, 45, 46, 47, 48, 49, 56, 58, 61, 63, 64, 66, 67, 69, 78, 79, 81, 84, 85, 86, 90, 91, 92, 95], "bound": [0, 1, 4, 5, 7, 8, 12, 15, 22, 30, 41, 42, 44, 46, 48, 50, 58, 62, 64, 65, 66, 67, 69, 78, 79, 80, 85, 88, 89, 92], "per": [0, 13, 15, 19, 24, 28, 37, 40, 41, 80], "howev": [0, 5, 8, 16, 18, 24, 28, 41, 42, 44, 48, 55, 65, 67, 74, 79, 85, 92], "much": [0, 1, 3, 7, 8, 9, 13, 18, 20, 21, 24, 25, 26, 30, 35, 41, 43, 45, 46, 47, 49, 55, 56, 63, 64, 65, 67, 76, 79, 80, 81, 82, 83, 85, 88, 92, 94], "simpler": [0, 1, 8, 47, 63, 67, 77, 79, 81], "detour": [0, 33, 85], "through": [0, 1, 4, 6, 8, 13, 14, 15, 16, 18, 21, 23, 24, 25, 26, 28, 30, 37, 41, 42, 45, 46, 47, 53, 55, 57, 58, 59, 63, 64, 65, 66, 67, 70, 74, 78, 80, 82, 85, 89, 92, 94, 95], "directli": [0, 3, 20, 30, 41, 44, 47, 55, 62, 63, 65, 66, 67, 69, 78, 79, 87, 92, 95], "bigger": [0, 1, 9, 14, 19, 30, 42, 46, 58, 64, 66, 77, 85], "caus": [0, 3, 4, 5, 12, 13, 14, 15, 16, 20, 22, 27, 30, 33, 40, 41, 42, 45, 47, 49, 55, 58, 64, 67, 77, 80, 81, 85, 87, 88, 92], "simplifi": [0, 8, 14, 15, 19, 20, 40, 63, 64, 67, 71, 91], "final": [0, 1, 3, 4, 7, 8, 10, 14, 15, 16, 17, 20, 25, 30, 33, 34, 40, 41, 42, 45, 46, 47, 48, 49, 53, 58, 62, 64, 65, 66, 67, 69, 70, 77, 82, 92, 95], "fundament": [0, 19, 23, 45, 47, 93], "human": [0, 2, 16, 17, 18, 19, 23, 24, 30, 72, 74, 85, 90, 95], "inquiri": 0, "guid": [0, 6, 7, 15, 41, 61, 63, 75, 85, 95], "deduc": [0, 14, 18], "vs": [0, 2, 3, 22, 30, 33, 38, 40, 42, 47, 48, 53, 65, 67, 78, 80, 83, 85, 94], "train": [0, 7, 17], "variou": [0, 13, 20, 70, 88, 95], "disciplin": [0, 17], "import": [0, 1, 2, 4, 8, 9, 13, 14, 16, 17, 18, 19, 21, 23, 24, 29, 30, 33, 36, 40, 42, 43, 44, 47, 60, 64, 66, 67, 76, 80, 81, 82, 85, 86, 87, 94], "higher": [0, 1, 8, 15, 30, 49, 52, 58, 59, 60, 63, 64, 65, 66, 80, 85, 92], "educ": [0, 24, 75], "mayb": [0, 1, 2, 3, 8, 17, 19, 30, 32, 36, 40, 41, 50, 58, 59, 66, 67, 77, 79, 81, 85, 92], "mysteri": [0, 8, 33, 53, 55, 68, 72, 86], "basic": [0, 7, 23, 33, 49, 56, 65, 85], "build": [0, 1, 3, 9, 12, 24, 31, 33, 35, 36, 39, 42, 43, 46, 54, 64, 66, 74, 79, 82, 83, 87, 92, 95], "block": [0, 7, 12, 43, 45, 47, 50, 83, 85], "veri": [0, 1, 3, 8, 9, 10, 11, 15, 16, 20, 22, 24, 25, 26, 33, 36, 37, 40, 41, 42, 45, 47, 48, 51, 52, 60, 62, 63, 64, 66, 67, 75, 77, 78, 79, 80, 81, 82, 86, 93, 95], "present": [0, 12, 18, 20, 24, 27, 30, 42, 70, 80, 81, 95], "intrins": [0, 7, 59], "better": [0, 1, 9, 12, 16, 17, 19, 24, 25, 30, 32, 34, 35, 36, 41, 42, 43, 44, 45, 46, 47, 49, 54, 55, 58, 60, 62, 71, 75, 76, 77, 79, 80, 81, 86, 87, 95], "studi": [0, 1, 4, 7, 8, 9, 14, 17, 22, 24, 26, 29, 30, 33, 34, 35, 45, 47, 48, 55, 59, 65, 66, 68, 73, 75, 77, 79, 80, 83, 86, 92, 94], "solut": [0, 1, 6, 8, 10, 15, 28, 41, 42, 44, 48, 53, 58, 63, 64, 78, 80, 81, 82, 85, 87, 89, 94, 95], "avail": [0, 6, 7, 8, 9, 10, 13, 15, 20, 24, 28, 30, 33, 41, 47, 53, 63, 64, 65, 66, 75, 77, 78, 80, 81, 82, 87, 89, 94], "happi": [0, 1, 6, 15, 25, 28, 41, 53, 63, 78, 89, 94], "add": [0, 2, 3, 4, 5, 6, 8, 10, 12, 13, 14, 15, 16, 18, 20, 25, 26, 27, 28, 30, 31, 33, 35, 39, 41, 42, 44, 45, 46, 47, 48, 52, 53, 55, 58, 59, 62, 63, 64, 66, 67, 69, 77, 78, 79, 80, 81, 85, 86, 87, 89, 94, 95], "correct": [0, 4, 6, 8, 9, 14, 15, 16, 18, 20, 21, 22, 23, 24, 28, 33, 41, 42, 45, 49, 50, 53, 55, 58, 63, 66, 67, 72, 74, 78, 79, 80, 82, 89, 92, 94], "contribut": [0, 6, 15, 28, 41, 53, 63, 78, 89, 94, 96], "github": [0, 6, 15, 28, 33, 41, 47, 53, 63, 77, 78, 80, 89, 94, 95], "its": [0, 1, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 33, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 56, 57, 58, 60, 62, 63, 64, 66, 67, 69, 70, 73, 74, 76, 77, 78, 79, 80, 81, 82, 85, 87, 88, 89, 91, 92, 93, 94, 95, 96], "q": [0, 13, 14, 40, 78, 79], "r": [0, 15, 19, 22, 25, 37, 41, 44, 47, 48, 51, 64, 80, 91, 92, 94, 95, 96], "definit": [0, 1, 3, 6, 7, 11, 12, 19, 20, 21, 22, 25, 28, 30, 33, 34, 35, 37, 39, 41, 42, 47, 49, 51, 52, 53, 55, 62, 63, 64, 66, 67, 69, 77, 78, 79, 80, 81, 83, 84, 86, 87, 92], "your": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 16, 17, 18, 20, 24, 25, 28, 30, 33, 35, 36, 40, 41, 42, 45, 47, 52, 53, 58, 63, 64, 65, 66, 72, 76, 77, 78, 85, 87, 89, 93, 94, 95], "also": [0, 1, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 30, 34, 35, 37, 40, 41, 42, 43, 44, 45, 47, 48, 55, 56, 57, 63, 64, 65, 66, 67, 68, 69, 72, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 92, 94, 95], "f": [0, 1, 6, 7, 8, 10, 14, 19, 22, 25, 30, 33, 34, 35, 41, 44, 45, 47, 49, 51, 52, 53, 55, 56, 58, 62, 63, 64, 73, 74, 76, 79, 80, 84, 85, 89, 91, 92], "1": [0, 4, 6, 7, 8, 12, 13, 14, 15, 16, 18, 19, 20, 22, 23, 25, 27, 28, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48, 49, 51, 53, 54, 55, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 72, 75, 77, 78, 79, 80, 81, 84, 85, 86, 87, 88, 89, 91, 92, 95], "step": [0, 1, 3, 4, 8, 12, 19, 20, 42, 47, 48, 50, 62, 63, 65, 68, 69, 80, 95], "semant": [0, 7, 8, 9, 11, 19, 23, 30, 32, 34, 35, 36, 39, 49, 62, 63, 65, 67, 68, 69, 70, 84, 86, 88, 91, 96], "implement": [0, 1, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 26, 27, 29, 30, 33, 36, 37, 40, 41, 43, 44, 45, 46, 48, 49, 51, 52, 53, 54, 56, 58, 61, 63, 64, 65, 66, 68, 69, 70, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93], "suggest": [0, 2, 4, 8, 10, 14, 15, 16, 18, 19, 24, 28, 30, 41, 42, 45, 49, 62, 65, 77, 94, 95], "perhap": [0, 1, 2, 5, 7, 12, 20, 21, 24, 47, 51, 54, 55, 62, 64, 66, 67, 76, 80, 85, 86, 92, 95], "sever": [0, 1, 7, 8, 11, 16, 18, 20, 23, 25, 33, 34, 36, 39, 41, 42, 45, 65, 67, 80, 85, 87], "probabl": [0, 1, 4, 8, 9, 10, 13, 16, 20, 24, 28, 33, 36, 42, 45, 64, 77, 79, 85, 92, 95], "still": [0, 1, 7, 8, 10, 13, 16, 19, 27, 40, 42, 45, 46, 47, 48, 49, 51, 55, 58, 63, 70, 71, 74, 76, 77, 78, 79, 80, 81, 82, 85, 92, 94, 95], "what": [1, 2, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 30, 32, 33, 35, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 51, 53, 55, 56, 57, 58, 62, 63, 64, 65, 66, 67, 69, 71, 72, 76, 77, 78, 79, 80, 81, 82, 84, 85, 89, 91, 92, 95, 96], "mean": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 22, 25, 30, 32, 33, 34, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 57, 62, 64, 65, 66, 67, 69, 76, 77, 78, 79, 83, 85, 87, 89, 91, 92, 95], "cornel": [1, 42, 70, 74, 79, 94, 95, 96], "professor": [1, 72], "jon": 1, "kleinberg": 1, "eva": 1, "tardo": 1, "wonder": [1, 77, 81], "explan": [1, 7], "textbook": [1, 3, 56, 70, 75, 94, 95, 96], "2006": [1, 23, 70], "appendix": 1, "summari": 1, "reinterpret": 1, "program": [1, 5, 7, 8, 9, 10, 11, 12, 13, 16, 17, 18, 20, 21, 22, 23, 24, 25, 27, 29, 30, 33, 41, 43, 45, 47, 48, 50, 52, 54, 55, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 73, 74, 75, 77, 79, 80, 83, 85, 86, 92, 93, 94], "perspect": [1, 8, 40, 44, 64, 71, 72, 74, 75, 79, 85, 95], "The": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 48, 49, 51, 53, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 68, 69, 70, 72, 75, 76, 77, 78, 79, 81, 82, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96], "ultim": [1, 13, 32, 83], "answer": [1, 6, 7, 8, 17, 18, 19, 22, 27, 28, 39, 42, 44, 46, 47, 55, 62, 63, 67, 78, 81, 85, 89, 92], "worst": [1, 40, 41, 42, 46, 48, 50, 55, 79], "run": [1, 2, 4, 7, 8, 9, 12, 13, 15, 18, 19, 20, 25, 27, 28, 30, 33, 40, 41, 42, 44, 45, 47, 48, 49, 55, 63, 64, 65, 66, 67, 69, 73, 74, 78, 79, 80, 85, 87, 91, 92, 94, 95], "size": [1, 7, 8, 13, 15, 18, 30, 36, 37, 40, 41, 42, 46, 50, 51, 53, 77, 79], "o": [1, 3, 8, 9, 14, 32, 40, 41, 42, 44, 46, 48, 49, 58, 79, 81, 85, 87, 89, 90, 93], "d": [1, 2, 6, 8, 10, 12, 13, 18, 19, 26, 27, 28, 30, 32, 33, 39, 40, 41, 45, 48, 49, 51, 55, 64, 66, 67, 70, 76, 77, 78, 79, 80, 84, 85, 92, 94, 95, 96], "constant": [1, 8, 18, 25, 26, 28, 34, 36, 40, 41, 42, 43, 46, 48, 54, 58, 59, 62, 63, 64, 65, 67, 69, 76, 77, 78, 79, 85, 88], "up": [1, 3, 4, 6, 7, 8, 9, 13, 14, 15, 19, 20, 22, 24, 25, 27, 33, 36, 40, 41, 42, 44, 45, 46, 47, 48, 49, 56, 58, 59, 62, 64, 67, 69, 72, 76, 77, 80, 85, 90, 92, 95], "naiv": [1, 44, 55, 64], "proce": [1, 4, 14, 15, 17, 19, 27, 36, 47, 55, 64, 67, 82, 95], "amount": [1, 4, 6, 17, 30, 40, 42, 45, 48, 53, 78], "instanc": [1, 18, 22, 70, 83, 92], "ineffici": [1, 14, 15, 19, 49, 59], "quickli": [1, 6, 10, 18, 41, 49, 58, 74, 94], "test": [1, 4, 6, 7, 8, 9, 12, 15, 16, 17, 19, 23, 27, 28, 29, 36, 41, 53, 54, 63, 66, 67, 72, 87, 92, 95], "fast": [1, 4, 6, 42, 46, 48, 65, 71], "processor": [1, 7, 24, 47, 65, 74], "optim": [1, 8, 11, 15, 18, 30, 42, 59, 65, 68], "slowli": [1, 4, 8, 42], "sloppili": 1, "harder": [1, 4, 30, 45, 49, 51, 64, 69, 77, 79, 84, 93], "doesn": [1, 4, 7, 8, 10, 13, 14, 15, 16, 19, 20, 24, 26, 27, 30, 31, 33, 34, 35, 38, 40, 42, 44, 45, 47, 48, 49, 55, 58, 62, 63, 64, 65, 67, 72, 76, 77, 80, 81, 85, 92, 95], "impli": [1, 18, 19, 22, 35, 42, 69, 79, 92], "larg": [1, 3, 8, 12, 13, 18, 21, 24, 28, 41, 42, 43, 45, 46, 48, 62, 73, 74, 77, 82, 83, 85], "client": [1, 4, 5, 15, 16, 18, 21, 23, 41, 42, 44, 47, 76, 77, 79, 80, 81, 82, 83, 86, 92], "afford": [1, 4, 13, 40, 71], "patient": 1, "quick": [1, 24, 42, 81, 95], "me": [1, 45], "slow": [1, 16, 18, 20, 21, 49, 65], "lesson": [1, 46, 58], "measur": [1, 40, 44], "clock": [1, 45], "metric": 1, "hardwar": [1, 41, 42, 47, 67, 92], "softwar": [1, 4, 13, 21, 23, 24, 42, 74, 80, 81, 82, 83, 95, 96], "good": [1, 5, 8, 10, 12, 13, 16, 17, 18, 20, 21, 23, 24, 30, 31, 32, 33, 34, 35, 40, 41, 42, 44, 45, 46, 47, 48, 54, 58, 63, 66, 67, 71, 72, 73, 74, 79, 80, 82, 84, 85, 90, 92, 95], "count": [1, 8, 18, 20, 41, 48, 95], "number": [1, 6, 7, 8, 13, 15, 16, 22, 23, 26, 28, 30, 35, 36, 37, 40, 41, 42, 44, 46, 47, 48, 49, 53, 54, 56, 59, 64, 65, 70, 74, 77, 78, 79, 80, 84], "taken": [1, 50, 70], "dure": [1, 7, 8, 14, 16, 18, 19, 48, 49, 63, 64, 65, 72, 76, 81, 94], "evalu": [1, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 19, 22, 24, 27, 28, 30, 34, 36, 41, 43, 44, 45, 47, 49, 50, 53, 55, 58, 61, 63, 64, 65, 68, 69, 80, 81, 85, 87, 88, 91, 92], "It": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 28, 30, 33, 35, 40, 41, 42, 44, 45, 47, 48, 49, 54, 55, 60, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 89, 90, 91, 92, 94, 95], "ought": [1, 45, 58, 67, 92], "somehow": [1, 18, 20, 51, 55, 95], "repres": [1, 7, 9, 13, 14, 15, 18, 20, 22, 23, 25, 28, 32, 34, 35, 36, 37, 38, 39, 42, 44, 45, 46, 47, 49, 51, 53, 56, 62, 65, 66, 67, 69, 77, 78, 79, 80, 84, 89, 91, 92], "primit": [1, 8, 10, 30, 34, 62, 66, 67, 68, 69, 80], "comput": [1, 3, 4, 6, 7, 8, 9, 11, 13, 15, 16, 17, 19, 20, 22, 23, 24, 28, 30, 33, 35, 37, 39, 41, 42, 43, 44, 45, 47, 49, 50, 53, 55, 56, 57, 58, 59, 60, 62, 64, 65, 66, 67, 68, 70, 72, 73, 74, 78, 79, 86, 89, 92, 94, 95], "lot": [1, 4, 5, 6, 7, 8, 14, 24, 31, 33, 36, 42, 45, 56, 58, 59, 66, 74, 87], "flexibl": [1, 12, 82, 85], "choic": [1, 3, 4, 8, 14, 18, 21, 30, 40, 42, 44, 45, 47, 48, 54, 55, 62, 63, 67, 74, 79, 94, 95], "pseudocod": [1, 89], "being": [1, 4, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 25, 28, 30, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 53, 56, 58, 59, 62, 63, 64, 65, 66, 67, 74, 76, 77, 78, 79, 80, 85, 86, 92, 94], "singl": [1, 4, 7, 8, 15, 18, 25, 28, 30, 35, 40, 41, 42, 44, 45, 47, 48, 55, 56, 61, 63, 64, 66, 74, 76, 77, 78, 79, 80, 81, 85, 91], "imper": [1, 7, 9, 10, 13, 19, 20, 23, 25, 30, 42, 43, 44, 45, 46, 47, 48, 59, 67, 71, 74, 75, 79, 92, 94], "assign": [1, 5, 7, 47, 64, 72, 85, 88, 89, 92, 93], "arrai": [1, 40, 41, 43, 44, 50, 64, 65, 89, 92, 93], "index": [1, 5, 7, 13, 16, 33, 42, 44, 46, 88, 93], "pointer": [1, 4, 7, 8, 32, 46, 49, 57, 74, 91, 93], "derefer": [1, 92, 93], "arithmet": [1, 6, 7, 8, 15, 45, 67, 78, 84, 92], "oper": [1, 2, 4, 6, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 28, 30, 33, 35, 37, 40, 41, 42, 45, 46, 47, 48, 51, 53, 55, 56, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 69, 74, 76, 77, 78, 79, 80, 81, 84, 85, 88, 89, 91, 92, 95], "choos": [1, 2, 4, 7, 9, 12, 15, 20, 28, 33, 42, 47, 48, 53, 55, 56, 64, 80, 81, 83, 95], "branch": [1, 7, 8, 13, 19, 28, 30, 32, 36, 46, 48, 51, 55, 62, 63, 64, 65, 67, 69], "match": [1, 13, 14, 15, 18, 21, 22, 24, 25, 28, 29, 31, 32, 33, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 55, 58, 62, 63, 64, 65, 66, 67, 69, 71, 74, 77, 78, 79, 80, 81, 84, 85, 86, 91, 92, 95], "realiti": [1, 8, 20, 47, 64, 74], "all": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 27, 28, 30, 32, 33, 34, 35, 36, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 55, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 69, 72, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 92, 94, 95], "realli": [1, 4, 5, 7, 8, 9, 13, 14, 16, 17, 22, 24, 25, 27, 30, 31, 35, 36, 40, 41, 45, 47, 49, 55, 56, 57, 58, 62, 64, 66, 67, 77, 80, 84, 85, 86, 87, 92, 95], "practic": [1, 16, 23, 24, 32, 42, 45, 56, 60, 64, 65, 67, 69, 72, 73, 74, 80, 82, 85, 95], "predict": [1, 13, 20, 41, 71, 89], "g": [1, 6, 7, 8, 13, 14, 16, 19, 20, 25, 27, 30, 33, 35, 39, 41, 44, 45, 46, 47, 49, 53, 56, 62, 63, 64, 65, 66, 67, 74, 76, 77, 85, 87, 92, 95], "matrix": [1, 38, 53, 89], "text": [1, 10, 47, 87, 94, 95], "document": [1, 2, 3, 4, 7, 8, 10, 11, 13, 15, 17, 19, 20, 21, 23, 24, 26, 30, 33, 38, 49, 55, 66, 68, 77, 78, 89, 92, 94], "bit": [1, 2, 7, 8, 11, 18, 30, 33, 42, 45, 47, 84, 86], "row": [1, 53], "column": [1, 53, 95], "represent": [1, 7, 8, 12, 13, 14, 15, 22, 23, 41, 46, 47, 48, 49, 51, 53, 65, 67, 68, 76, 77, 78, 79, 86, 89], "context": [1, 11, 33, 63, 66, 68, 69, 72, 85, 92], "structur": [1, 6, 7, 8, 14, 15, 18, 20, 26, 28, 30, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 55, 56, 57, 58, 59, 60, 62, 63, 65, 66, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 96], "element": [1, 5, 8, 13, 14, 15, 18, 19, 20, 22, 25, 28, 30, 32, 35, 37, 40, 41, 42, 46, 48, 49, 53, 54, 55, 56, 58, 59, 60, 64, 65, 76, 77, 78, 79, 80, 81, 85, 88, 91, 92], "maintain": [1, 18, 23, 45, 66, 67, 72, 74, 76, 83, 86, 95], "node": [1, 15, 22, 25, 28, 36, 37, 41, 42, 44, 46, 48, 49, 51, 63, 65, 66, 67, 78, 79, 80, 91, 92], "edg": [1, 13, 48, 49], "graph": [1, 70], "multipli": [1, 6, 8, 19, 53], "faster": [1, 19, 49, 77, 95], "arbitrari": [1, 7, 15, 16, 19, 20, 28, 30, 31, 78, 86], "exact": [1, 6, 30, 33, 41, 80, 95], "too": [1, 4, 7, 8, 12, 13, 16, 18, 20, 21, 22, 24, 30, 33, 40, 42, 45, 46, 48, 49, 55, 62, 64, 66, 67, 76, 79, 80, 81, 82, 83, 84, 85, 92, 95], "rel": [1, 4, 8, 13, 14, 16, 19, 23, 24, 40, 41, 48, 56, 73, 94], "term": [1, 4, 5, 7, 8, 9, 18, 19, 25, 30, 35, 40, 41, 45, 49, 52, 53, 55, 56, 63, 67, 74, 78, 83, 85, 92], "object": [1, 7, 8, 9, 10, 11, 23, 30, 32, 36, 41, 42, 49, 50, 57, 60, 64, 70, 72, 73, 75, 77, 80, 81, 82, 83, 85, 86, 92, 93, 94], "reli": [1, 3, 16, 23, 24, 27, 29, 30, 42, 47, 63, 67, 68, 95], "subject": 1, "notion": [1, 8, 19, 41, 45, 67, 79, 85, 86], "constitut": [1, 9, 30, 67, 82], "sort": [1, 13, 15, 20, 28, 41, 79, 80, 84, 85], "okai": [1, 10, 40, 41, 42, 92], "beat": 1, "brute": [1, 50], "forc": [1, 4, 8, 10, 16, 17, 21, 25, 27, 30, 32, 41, 42, 45, 46, 47, 49, 50, 64, 67, 81], "search": [1, 14, 15, 28, 37, 41, 42, 77, 78, 80, 94, 95], "enumer": [1, 25], "permut": 1, "version": [1, 2, 3, 5, 8, 12, 15, 16, 18, 19, 28, 30, 33, 37, 41, 44, 45, 47, 48, 52, 53, 54, 55, 56, 58, 59, 62, 63, 70, 71, 79, 81, 85, 92, 94, 95], "terribl": [1, 8, 20, 42, 92], "certainli": [1, 14, 17, 26, 45, 67], "quicksort": 1, "simpl": [1, 4, 14, 19, 20, 21, 25, 29, 33, 40, 42, 43, 44, 45, 47, 48, 54, 55, 56, 63, 64, 65, 72, 74, 79, 90, 91], "dumb": [1, 8], "nearli": [1, 6, 7, 51, 54, 62, 66], "huge": [1, 36, 42, 44, 92], "space": [1, 8, 9, 13, 18, 19, 28, 30, 33, 36, 42, 46, 49, 53, 58, 59, 66, 77, 79, 95], "exponenti": [1, 6, 15, 19, 41, 44, 48, 50, 64, 78], "less": [1, 4, 5, 8, 13, 15, 16, 18, 19, 21, 24, 29, 30, 37, 41, 42, 43, 44, 46, 48, 55, 58, 60, 64, 78, 79, 88], "polynomi": [1, 15, 50], "immedi": [1, 4, 10, 14, 18, 19, 20, 22, 27, 29, 33, 42, 45, 46, 47, 49, 55, 63, 64, 65, 95], "come": [1, 4, 5, 6, 7, 8, 9, 11, 16, 17, 21, 25, 28, 30, 33, 35, 42, 45, 47, 52, 56, 58, 62, 64, 66, 67, 69, 71, 72, 73, 77, 79, 81, 82, 83, 85, 90, 93, 95], "100": [1, 8, 13, 15, 20, 28, 30, 40, 47, 53, 67, 78], "non": [1, 8, 13, 14, 19, 20, 25, 27, 28, 30, 32, 36, 42, 44, 45, 47, 48, 50, 55, 58, 63, 66, 67, 69, 73, 79, 81, 85, 89, 91, 92], "02": [1, 74], "log": [1, 2, 33, 41, 42, 45, 46, 48, 79, 95], "adequ": [1, 13, 42], "job": [1, 2, 13, 16, 17, 21, 36, 47, 64, 65, 71, 80, 81, 82, 85], "fine": [1, 7, 18, 20, 25, 40, 45, 47, 55, 64, 77, 80, 85], "combin": [1, 15, 22, 26, 36, 41, 42, 45, 51, 53, 56, 74, 80, 86, 92], "maximum": [1, 13, 28, 32, 41, 44], "execut": [1, 3, 8, 9, 13, 16, 20, 24, 33, 41, 47, 50, 64, 65, 67, 72, 74, 88, 92, 94, 95], "isn": [1, 8, 12, 14, 16, 17, 20, 22, 26, 30, 32, 39, 48, 49, 57, 58, 62, 64, 66, 67, 72, 77, 78, 79, 80, 81, 92, 95], "perfect": [1, 41, 48], "insan": 1, "tediou": [1, 10, 16, 17, 30, 63], "author": [1, 5, 17, 45, 48, 96], "develop": [1, 4, 7, 9, 18, 21, 23, 24, 27, 30, 36, 41, 45, 47, 51, 66, 67, 70, 73, 76, 82], "insert": [1, 4, 10, 13, 15, 26, 28, 40, 41, 42, 44, 45, 46, 76, 77, 79, 91, 92], "c_1": [1, 15], "c_2": 1, "c_4": 1, "c_5": 1, "sum_": [1, 40, 41], "j": [1, 30, 46, 59, 60, 72, 89], "t_j": 1, "c_6": 1, "c_7": 1, "c_8": 1, "explain": [1, 5, 7, 8, 11, 15, 16, 17, 18, 22, 24, 28, 41, 53, 62, 63, 74, 76, 78, 79, 85, 92], "complic": [1, 8, 10, 22, 24, 32, 33, 40, 41, 45, 55, 56, 64, 67, 74, 77, 79, 80, 90, 92], "heart": [1, 11, 28, 57], "poor": [1, 5, 18, 42, 64, 81], "grad": 1, "student": [1, 2, 28, 70, 75, 89, 94, 95], "who": [1, 5, 9, 18, 21, 24, 42, 44, 47, 54, 58, 71, 72, 81, 82, 83, 92, 94, 96], "introduct": [1, 11, 36, 50, 60, 70, 75, 86, 93, 94], "3rd": [1, 34], "edit": [1, 3, 12, 23, 47, 78, 80, 94, 95, 96], "2009": [1, 70], "cormen": 1, "leiserson": 1, "rivest": 1, "stein": 1, "tell": [1, 3, 6, 12, 13, 14, 18, 20, 28, 33, 46, 47, 64, 78, 85, 87], "precis": [1, 7, 8, 16, 19, 44, 56, 64, 69, 84, 94], "like": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 29, 30, 31, 32, 33, 35, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 53, 54, 55, 56, 57, 58, 62, 63, 64, 65, 66, 67, 69, 71, 72, 74, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 91, 92, 93, 94, 95], "exhaust": [1, 8, 13, 25, 30, 36, 40, 65, 67], "find": [1, 3, 4, 6, 7, 8, 12, 13, 14, 15, 16, 20, 21, 22, 24, 28, 30, 33, 40, 41, 42, 44, 46, 47, 48, 53, 55, 63, 64, 67, 69, 78, 80, 91, 94, 95], "somewhat": [1, 8, 22, 28, 30, 39, 48, 59, 76, 77], "meaningless": [1, 4], "25": [1, 4, 13, 24, 30, 80, 92], "java": [1, 3, 4, 5, 7, 8, 9, 10, 12, 18, 19, 20, 23, 29, 30, 32, 33, 35, 39, 41, 42, 45, 47, 54, 57, 58, 60, 64, 65, 68, 70, 71, 72, 73, 74, 76, 77, 79, 80, 81, 82, 83, 85, 86, 89, 92, 94], "down": [1, 2, 3, 4, 6, 7, 8, 11, 16, 18, 19, 40, 45, 46, 48, 55, 57, 62, 63, 64, 74, 79, 92, 94], "risc": 1, "250": [1, 30], "ye": [1, 30, 42, 49, 81, 95], "fli": 1, "airplan": 1, "control": [1, 3, 12, 42, 45, 47, 62, 64, 95], "nuclear": 1, "reactor": 1, "care": [1, 3, 8, 10, 11, 17, 18, 19, 24, 25, 33, 34, 38, 41, 45, 47, 55, 59, 66, 67, 77, 95], "real": [1, 9, 11, 16, 18, 22, 25, 36, 40, 50, 55, 60, 63, 64, 65, 68, 74, 75, 78, 82, 86, 90, 93, 94, 95], "otherwis": [1, 2, 6, 7, 8, 13, 16, 17, 20, 26, 27, 28, 30, 34, 41, 42, 46, 47, 63, 64, 66, 67, 77, 79, 85, 88, 92, 95], "broad": 1, "similar": [1, 3, 7, 8, 9, 10, 12, 13, 14, 18, 22, 24, 25, 27, 29, 30, 33, 35, 37, 41, 42, 45, 46, 47, 51, 53, 55, 56, 58, 63, 64, 66, 67, 70, 73, 76, 77, 78, 79, 80, 81, 83, 85, 86, 88, 91, 92, 94], "perform": [1, 7, 8, 9, 18, 20, 21, 26, 30, 39, 40, 41, 42, 43, 44, 46, 47, 48, 50, 53, 58, 65, 74, 79, 95], "62": [1, 7, 30], "ignor": [1, 13, 18, 27, 28, 33, 40, 41, 42, 45, 47, 62, 65, 69, 73, 77, 79, 92, 95], "low": [1, 42, 65, 92], "factor": [1, 33, 40, 41, 42, 44, 45, 48, 50, 54, 55, 56, 58, 59, 60, 66, 67, 69, 72, 79, 81], "highest": [1, 3, 28], "tabl": [1, 6, 35, 41, 43, 44, 48, 50, 65, 68, 79, 93], "microsecond": 1, "estim": [1, 30], "univers": [1, 14, 42, 50, 56, 64, 67, 70, 72, 79, 95, 96], "10": [1, 6, 8, 13, 15, 20, 25, 27, 28, 30, 35, 36, 41, 42, 47, 49, 53, 56, 58, 63, 67, 75, 77, 78, 80, 85, 86], "sec": [1, 41], "1017": 1, "year": [1, 13, 17, 28, 42, 70, 75, 80, 85, 96], "000": [1, 8, 20, 30, 58], "18": [1, 30, 47, 50, 77], "min": [1, 41], "12": [1, 6, 7, 23, 25, 28, 30, 33, 42, 45, 76, 77, 80, 85, 86], "dai": [1, 6, 25, 28, 30, 33, 35, 39, 40, 47, 62, 72, 78, 85], "hour": [1, 4, 24], "32": [1, 8, 20, 30, 42, 77, 85], "104": [1, 30], "seriou": [1, 73], "complet": [1, 5, 7, 8, 13, 16, 20, 22, 24, 28, 38, 41, 45, 47, 58, 62, 63, 64, 66, 67, 69, 76, 85, 92, 95], "domin": [1, 9], "my": [1, 40, 47, 85], "laptop": 1, "2x": 1, "bought": 1, "interest": [1, 8, 9, 10, 13, 19, 20, 27, 33, 45, 46, 47, 48, 56, 67, 85, 92], "properti": [1, 13, 15, 18, 19, 22, 28, 40, 44, 45, 49, 56, 64, 67, 69, 79, 82, 85, 91], "pseduocod": 1, "1620": 1, "assembl": [1, 45, 65, 83], "1000": [1, 20, 28, 63, 67, 78], "1000x": 1, "longer": [1, 30, 33, 42, 46, 48, 55, 64, 65, 67, 72, 76, 77, 90, 92, 95], "tune": 1, "employ": 1, "twice": [1, 19, 20, 40, 42, 47, 48, 49, 53, 56, 58, 77], "argu": [1, 16, 48], "imprecis": 1, "abstract": [1, 14, 15, 16, 19, 21, 23, 24, 33, 41, 42, 44, 45, 47, 55, 58, 60, 64, 65, 66, 67, 68, 69, 70, 72, 74, 76, 78, 80, 81, 82, 83, 84, 86, 92], "noth": [1, 7, 8, 13, 21, 22, 32, 45, 47, 49, 58, 64, 66, 67, 85, 92], "pm": [1, 41], "quantiti": [1, 19], "scienc": [1, 17, 23, 56, 73, 94], "review": [1, 4, 23, 24, 33, 55, 64], "natur": [1, 3, 5, 7, 9, 10, 20, 23, 30, 36, 39, 41, 49, 56, 64, 65, 69, 79, 82, 83], "ess": 1, "equal": [1, 6, 7, 8, 12, 13, 14, 22, 28, 30, 33, 35, 40, 41, 42, 64, 66, 67, 77, 78, 79, 80, 81, 84, 89, 93], "henc": [1, 3, 6, 12, 19, 20, 25, 27, 35, 42, 45, 47, 49, 56, 64, 77, 81, 85, 90, 92, 95], "mid": [1, 70], "0": [1, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16, 18, 19, 20, 22, 25, 28, 30, 31, 33, 35, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 59, 62, 63, 64, 66, 67, 76, 77, 78, 79, 80, 81, 84, 85, 87, 88, 89, 91, 92, 95, 96], "leq": [1, 20, 48, 66, 67, 69], "pose": 1, "question": [1, 14, 16, 27, 46, 54, 62, 67, 85], "honest": [1, 17, 62, 67], "interpret": [1, 9, 12, 17, 22, 57, 61, 62, 63, 64, 66, 68, 69, 70, 92], "yield": [1, 7, 14, 15, 19, 30, 34, 53, 55, 58, 64, 67, 89], "proper": [1, 42, 48], "subset": [1, 13, 28, 67, 85, 90], "subseteq": 1, "tight": 1, "former": [1, 8, 30, 41, 45, 47, 69, 85, 87], "relat": [1, 16, 19, 29, 30, 47, 55, 62, 63, 64, 68, 69, 77, 83, 85, 86], "fewest": 1, "wherea": [1, 4, 6, 7, 8, 22, 24, 30, 35, 37, 49, 51, 55, 56, 67, 74, 76, 79, 80, 81, 85, 87, 92], "loos": [1, 21, 29], "needlessli": [1, 5], "concret": [1, 18, 19, 23, 33, 45, 47, 65, 66, 67, 68], "9": [1, 8, 23, 25, 26, 30, 33, 40, 41, 42, 46, 49, 53, 56, 63, 64, 66, 77, 81, 86], "1989": [1, 70], "graham": 1, "knuth": 1, "patashnik": 1, "easili": [1, 12, 18, 30, 62, 66, 69, 73, 74, 78, 90], "few": [1, 5, 6, 7, 8, 10, 13, 14, 15, 20, 28, 43, 45, 47, 48, 49, 56, 67, 76, 78, 85, 90, 94, 95], "o_1": 1, "type": [1, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 39, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 55, 58, 60, 62, 63, 65, 66, 67, 68, 71, 72, 73, 74, 75, 76, 78, 79, 81, 83, 86, 87, 88, 89, 91, 93, 95], "mathbb": [1, 8], "rightarrow": [1, 66], "upgrad": [1, 2, 15, 21, 41, 45, 47, 67, 95], "Of": [1, 3, 13, 17, 20, 22, 33, 34, 42, 43, 45, 48, 49, 56, 58, 59, 60, 67, 70, 79, 80, 85, 87, 92, 95], "foral": [1, 15, 19, 22, 56], "mathrel": 1, "math": [1, 7, 17, 23, 40, 59, 66, 69, 74, 77, 85], "2n": [1, 40, 59], "proceed": [1, 63, 67, 95], "frac": [1, 40, 41, 42, 44, 59, 89], "3n": 1, "notin": 1, "recal": [1, 7, 8, 14, 15, 19, 20, 22, 30, 37, 41, 45, 49, 51, 53, 56, 58, 62, 64, 65, 67, 69, 77, 78, 79, 80, 81, 84, 87], "toward": [1, 20, 30, 41, 42], "end": [1, 3, 7, 10, 12, 13, 14, 15, 18, 20, 24, 27, 30, 32, 33, 40, 41, 42, 44, 45, 46, 47, 49, 53, 62, 64, 65, 66, 67, 68, 69, 72, 76, 77, 78, 79, 80, 81, 84, 85, 87, 91, 92, 94, 95], "o_2": 1, "exist": [1, 8, 13, 16, 25, 28, 38, 42, 45, 53, 54, 56, 58, 60, 62, 63, 64, 65, 67, 69, 70, 79, 80, 83, 85, 87, 92, 95], "c": [1, 3, 4, 5, 6, 7, 8, 10, 14, 16, 19, 23, 25, 27, 29, 30, 34, 35, 39, 41, 42, 45, 47, 48, 49, 51, 52, 55, 56, 57, 58, 63, 64, 65, 66, 68, 71, 74, 76, 77, 78, 80, 84, 85, 86, 87, 89, 91, 92, 95, 96], "gt": [1, 80], "existenti": [1, 56], "quantifi": [1, 14, 19, 56], "posit": [1, 8, 15, 28, 35, 41, 49, 67, 78, 79, 80, 81, 94], "bump": 1, "larger": [1, 3, 7, 22, 24, 33, 41, 42, 45, 63, 66, 67, 69, 82], "analyz": [1, 40, 44, 64, 65, 74], "happen": [1, 5, 6, 7, 8, 10, 12, 13, 16, 22, 26, 27, 33, 40, 41, 42, 44, 45, 47, 48, 49, 55, 64, 67, 78, 81, 85, 92, 94, 95], "slower": [1, 16], "hardcod": [1, 12, 20, 95], "lookup": [1, 26, 28, 48, 69, 79], "o_3": 1, "n_0": 1, "geq": [1, 48], "smaller": [1, 4, 14, 19, 20, 21, 22, 42, 46, 64, 67, 79, 85], "temporarili": [1, 7, 85], "pick": [1, 3, 10, 13, 19, 44, 47, 48, 51, 64, 67, 92, 95], "power": [1, 2, 6, 8, 11, 12, 20, 24, 25, 29, 36, 39, 40, 41, 42, 44, 45, 55, 56, 74, 77, 93, 95], "repeat": [1, 12, 15, 17, 18, 20, 24, 33, 41, 44, 47, 53, 58, 64, 77, 95], "memor": [1, 49], "abl": [1, 3, 9, 18, 27, 30, 41, 44, 45, 47, 55, 66, 67, 71, 74, 77, 80, 82, 85, 92, 95], "recreat": 1, "scratch": [1, 58, 66, 71, 95], "anytim": [1, 64, 67, 77], "asymptot": [1, 44, 50, 58, 79, 90], "upper": [1, 7, 15, 22, 25, 66, 70, 85], "least": [1, 8, 9, 14, 15, 18, 20, 25, 28, 30, 40, 41, 42, 47, 48, 53, 54, 57, 58, 62, 63, 64, 69, 78, 85, 90], "inflat": [1, 40], "goal": [1, 7, 9, 14, 16, 19, 21, 24, 33, 40, 50, 61, 65, 66, 67, 69, 78, 84, 95], "explicitli": [1, 5, 7, 8, 18, 32, 53, 63, 87], "ask": [1, 5, 6, 8, 12, 13, 47, 95], "tightest": 1, "ldot": [1, 40, 42, 89], "parameter": [1, 36, 41, 56, 74, 77, 79, 80, 81, 86], "badli": [1, 94], "mislead": 1, "moral": [1, 25, 64], "stori": [1, 25, 64], "hideou": 1, "inexcus": 1, "abus": [1, 83, 93], "allow": [1, 8, 12, 14, 16, 18, 19, 20, 21, 25, 27, 30, 31, 40, 41, 42, 47, 48, 49, 56, 64, 73, 74, 77, 78, 80, 82, 83, 85, 92, 95], "perman": [1, 4], "infect": 1, "conscious": 1, "defens": [1, 11, 23], "patent": 1, "ridicul": 1, "grace": [1, 72], "admit": [1, 47, 90], "nonsens": 1, "sometim": [1, 4, 7, 8, 9, 13, 14, 16, 19, 22, 24, 25, 27, 32, 35, 40, 42, 44, 45, 47, 52, 63, 64, 65, 66, 67, 73, 76, 77, 79, 85, 92, 94, 95], "becom": [1, 3, 8, 9, 10, 18, 21, 25, 27, 28, 30, 35, 36, 40, 41, 42, 43, 45, 46, 47, 48, 55, 60, 62, 63, 64, 66, 67, 70, 75, 79, 80, 81, 82, 84, 85, 88, 92, 95], "stuck": [1, 14, 19, 22, 51, 63, 68, 69, 95], "mistak": [1, 3, 10, 16, 21, 27, 32, 40, 81, 92, 95], "ancestor": [1, 66], "Be": [1, 15, 41, 66, 95], "direct": [1, 4, 12, 20, 41, 42, 47, 50, 53, 55, 77, 78, 87, 95], "ever": [1, 3, 4, 7, 8, 9, 18, 27, 35, 40, 42, 45, 47, 49, 64, 67, 69, 79, 81, 85, 92], "chanc": [1, 4, 27, 47, 85], "teach": [1, 70, 75], "intellectu": [1, 96], "children": [1, 37, 44, 48, 51, 65], "By": [1, 8, 9, 13, 14, 17, 18, 19, 22, 24, 30, 41, 42, 45, 48, 49, 55, 56, 58, 64, 67, 70, 78, 85, 92, 95], "improv": [1, 5, 9, 13, 16, 20, 21, 24, 41, 46, 47, 48, 55, 56, 66, 72, 77, 78, 83, 85, 92, 95], "pretti": [1, 8, 12, 13, 47, 63, 84], "thing": [1, 4, 5, 8, 9, 10, 12, 16, 20, 25, 27, 31, 32, 33, 45, 47, 49, 64, 67, 74, 79, 92, 94, 95], "longest": [1, 28, 48], "euphem": 1, "emphas": [1, 5, 16, 33, 55, 85], "featur": [1, 7, 8, 9, 11, 19, 25, 29, 30, 33, 35, 36, 43, 45, 46, 47, 49, 60, 62, 65, 66, 67, 71, 75, 77, 80, 81, 83, 86, 88, 90, 92, 94], "linear": [1, 6, 8, 18, 26, 37, 38, 40, 41, 42, 44, 46, 55, 58, 59, 63, 64, 77, 78, 79], "familiar": [1, 14, 22, 24, 29, 30, 42, 54, 58, 61, 66, 92, 95], "tail": [1, 11, 19, 28, 36, 41, 46, 49, 51, 59, 67, 77, 79, 91, 92], "insid": [2, 3, 5, 7, 8, 9, 10, 22, 25, 27, 30, 32, 35, 41, 44, 45, 47, 48, 49, 62, 63, 65, 66, 67, 76, 77, 80, 81, 83, 84, 85, 92, 95], "With": [2, 8, 16, 18, 20, 41, 46, 47, 55, 62, 64, 65, 67, 69, 77, 80, 81, 90, 95], "system": [2, 3, 4, 8, 9, 10, 16, 21, 24, 45, 46, 47, 63, 64, 67, 68, 72, 73, 74, 77, 80, 81, 82, 85, 86, 87, 92, 95], "host": 2, "os": [2, 47, 65, 95], "guest": 2, "nativ": [2, 3], "vm": [2, 68], "provid": [2, 3, 5, 6, 7, 8, 9, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 27, 32, 33, 35, 36, 41, 42, 45, 46, 47, 48, 55, 57, 58, 60, 63, 65, 66, 72, 74, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 94, 95], "pre": [2, 26, 27, 30, 40, 55, 95], "ubuntu": [2, 95], "free": [2, 4, 16, 28, 64, 66, 67, 68, 74, 75, 94, 95], "linux": [2, 16], "ancient": 2, "african": 2, "process": [2, 8, 13, 20, 24, 30, 33, 36, 47, 48, 51, 55, 58, 64, 66, 67, 79, 80, 87, 95], "download": [2, 12, 13, 62, 63, 65, 66, 67, 69, 78, 94, 95], "vmware": 2, "workstat": 2, "pro": 2, "person": [2, 5, 13, 21, 82], "account": [2, 25, 40, 53, 62, 95], "broadcom": 2, "amd64": 2, "save": [2, 3, 4, 40, 42, 44, 56, 62, 69, 95], "ova": 2, "wherev": [2, 64], "launch": [2, 12, 47, 63, 76, 87, 94, 95], "select": [2, 13, 65, 84, 95], "open": [2, 3, 13, 27, 30, 32, 33, 41, 42, 47, 63, 66, 67, 69, 77, 78, 79, 80, 86, 87, 94, 95], "click": [2, 13, 47, 94, 95], "cs": [2, 4, 6, 23, 37, 47, 68, 94, 95, 96], "minut": [2, 8, 64, 94], "gui": [2, 8, 23, 47, 94, 95], "appear": [2, 4, 8, 14, 18, 24, 28, 30, 34, 35, 39, 41, 42, 43, 45, 47, 53, 63, 64, 65, 66, 67, 77, 79, 80, 85, 86, 87, 95], "skip": [2, 12, 15, 45, 66, 67, 69, 95], "fusion": 2, "appl": [2, 78], "silicon": 2, "m1": [2, 80], "m2": [2, 80], "m3": [2, 80], "arm": [2, 65], "intel": 2, "drag": 2, "custom": [2, 14, 18, 33, 77, 79, 85], "64": [2, 7, 8, 30], "plai": [2, 15, 16, 30, 45, 85], "icon": [2, 12, 94, 95], "middl": [2, 13, 22, 46, 49, 64, 65, 77], "black": [2, 15, 19, 23, 41, 43, 50], "automat": [2, 4, 7, 8, 17, 39, 64, 66, 74, 76, 77, 80, 81, 83, 85, 95], "usernam": [2, 95], "camel": [2, 10, 47, 92, 94, 95], "password": [2, 95], "termin": [2, 3, 7, 10, 12, 27, 41, 47, 64, 66, 68, 77, 85, 88, 92, 94, 95], "firefox": 2, "web": [2, 12, 13, 30, 43, 47, 94], "browser": [2, 12, 13, 47, 65, 94, 95], "hand": [2, 3, 7, 8, 18, 21, 24, 30, 34, 35, 41, 45, 48, 49, 55, 58, 62, 64, 65, 66, 67, 69, 71, 77, 80, 85, 92, 95], "launcher": 2, "bar": [2, 30, 65, 69, 95], "updat": [2, 20, 21, 25, 33, 44, 47, 74, 79, 80, 88, 91, 92, 95], "opam": [2, 3, 8, 47, 66], "sudo": [2, 95], "apt": [2, 95], "switch": [2, 47, 62, 67, 70, 79], "semest": [2, 94, 95], "instruct": [2, 8, 45, 47, 65, 70, 95], "default": [2, 3, 8, 13, 20, 42, 47, 48, 49, 66, 77, 86, 89, 95], "recent": [2, 26, 43, 46, 57, 62, 79, 95], "platform": [2, 3, 7, 94, 95], "option": [2, 3, 12, 14, 20, 25, 26, 27, 28, 29, 30, 36, 41, 42, 44, 45, 63, 64, 66, 77, 80, 81, 85, 91, 92, 95], "chang": [2, 3, 4, 7, 8, 10, 13, 14, 17, 18, 19, 20, 21, 25, 30, 33, 34, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 55, 58, 62, 63, 64, 67, 70, 71, 72, 74, 77, 78, 79, 81, 82, 85, 87, 88, 90, 91, 92, 95], "passwd": 2, "prompt": [2, 12, 87, 95], "welcom": [2, 95], "user": [2, 20, 24, 32, 47, 49, 92, 95], "awar": [2, 16, 40, 47, 76, 83], "won": [2, 3, 4, 9, 16, 25, 28, 41, 45, 49, 64, 66, 67, 69, 72, 74, 76, 77, 80, 81, 85, 87, 92, 95], "kind": [3, 4, 5, 8, 9, 12, 15, 16, 18, 19, 20, 21, 22, 25, 27, 29, 30, 32, 36, 39, 40, 41, 42, 43, 45, 47, 48, 49, 51, 52, 60, 64, 65, 67, 68, 74, 76, 80, 84, 85, 86, 92, 95], "interact": [3, 9, 12, 13, 14, 24, 41, 47, 49, 64, 66, 87, 92, 94], "calcul": [3, 12, 41, 44], "far": [3, 4, 5, 7, 8, 13, 17, 18, 19, 20, 22, 24, 25, 27, 34, 35, 40, 42, 45, 47, 55, 58, 62, 63, 64, 66, 69, 72, 76, 77, 79, 82, 85, 90, 92], "directori": [3, 13, 33, 76, 87, 95], "command": [3, 7, 12, 41, 47, 66, 74, 87, 94, 95], "mkdir": [3, 95], "hello": [3, 6, 25, 35, 41, 65, 77, 94], "cd": [3, 95], "root": [3, 6, 10, 13, 16, 25, 28, 41, 44, 48, 51, 64, 66, 95], "unix": [3, 16, 20, 41, 47], "home": [3, 95], "place": [3, 7, 8, 13, 18, 21, 22, 24, 25, 30, 33, 42, 47, 48, 51, 63, 67, 69, 76, 77, 85, 89, 92, 94, 95], "soon": [3, 4, 8, 21, 25, 39, 45, 55, 67, 74, 79, 81, 83, 85], "subdirectori": [3, 87, 95], "_": [3, 10, 14, 16, 18, 19, 20, 25, 27, 28, 30, 31, 33, 34, 37, 38, 41, 42, 44, 45, 46, 47, 48, 49, 51, 55, 63, 67, 69, 76, 77, 79, 80, 84, 85, 92], "print_endlin": [3, 6, 10, 47, 94], "intend": [3, 17, 24, 27, 30, 41, 45, 51, 66, 67, 77, 85, 95], "session": [3, 12, 20], "blank": 3, "underscor": [3, 10, 30, 33], "ocamlc": [3, 78, 87], "output": [3, 4, 6, 8, 10, 12, 13, 15, 16, 18, 19, 21, 23, 28, 30, 41, 42, 45, 47, 48, 49, 50, 53, 54, 56, 57, 58, 64, 65, 66, 69, 74, 77, 78, 79, 80, 84, 85, 86, 91, 92, 94, 95], "bytecod": [3, 45, 65, 68, 87], "cmi": 3, "cmo": [3, 78, 87], "concern": [3, 4, 18, 30, 74, 77, 82, 83], "print": [3, 4, 11, 12, 20, 28, 33, 41, 45, 47, 49, 54, 58, 64, 78, 84, 90, 92, 94], "string": [3, 5, 6, 7, 8, 10, 15, 18, 20, 25, 26, 27, 28, 32, 33, 34, 35, 41, 42, 44, 45, 47, 53, 55, 56, 58, 63, 64, 66, 69, 76, 77, 78, 79, 80, 84, 85, 87, 91, 92, 94, 95], "recompil": [3, 63, 78], "rerun": 3, "multipl": [3, 6, 7, 8, 10, 11, 15, 18, 19, 22, 25, 26, 35, 40, 41, 42, 45, 46, 47, 49, 53, 61, 64, 65, 67, 77, 78, 79, 84, 92], "cycl": [3, 25, 42, 45, 49, 50, 91, 92], "feel": [3, 8, 9, 24, 29, 45, 66, 72, 85, 95], "unfamiliar": [3, 6], "id": [3, 8, 9, 30, 45, 63, 64, 66, 79, 80, 81, 94, 95], "eclips": [3, 9], "worri": [3, 4, 7, 8, 17, 30, 33, 47, 58, 64, 67, 76, 77, 78, 93, 95], "clean": [3, 73, 95], "rm": [3, 6, 13, 95], "unlik": [3, 7, 29, 42, 64, 85, 92], "invok": [3, 13, 20, 47, 77, 81, 85, 92], "idiom": [3, 9, 11, 30, 77], "last": [3, 4, 7, 13, 18, 20, 22, 28, 40, 41, 42, 44, 45, 46, 47, 49, 52, 64, 66, 67, 69, 80, 85], "serv": [3, 19, 21, 24, 47, 72], "kick": [3, 8], "off": [3, 4, 8, 18, 24, 30, 32, 40, 47, 49, 58, 64, 77, 84, 85, 92, 94], "librari": [3, 4, 5, 7, 8, 9, 10, 11, 13, 18, 20, 21, 25, 26, 27, 28, 30, 33, 34, 36, 37, 41, 45, 47, 48, 49, 52, 53, 54, 57, 58, 60, 66, 67, 76, 77, 78, 79, 80, 81, 85, 89, 92], "legaci": [3, 87], "ocamlbuild": [3, 87], "newer": [3, 95], "gradl": 3, "maven": 3, "ant": 3, "hierarchi": [3, 64], "extern": [3, 47], "packag": [3, 20, 47, 83, 85, 95], "instal": [3, 8, 15, 18, 20, 47, 77, 78, 84, 94], "manag": [3, 13, 17, 25, 40, 47, 74, 82, 95], "descend": [3, 13, 16, 19, 28, 48, 64], "lisp": [3, 8, 30, 46, 62, 67, 71, 73, 75], "parenthes": [3, 7, 8, 12, 25, 35, 47, 55, 59, 63, 65, 66, 79, 80, 85, 88], "nest": [3, 6, 7, 10, 13, 19, 30, 31, 32, 63, 67, 77, 84, 85, 92], "html": [3, 5, 12, 13, 23, 30, 75, 76, 94], "declar": [3, 5, 8, 16, 25, 47, 63, 64, 66, 76, 77, 78, 80, 81, 82, 84, 85, 86, 91], "lang": [3, 33, 64], "releas": [3, 47, 95, 96], "sourc": [3, 4, 5, 12, 13, 16, 17, 18, 20, 24, 30, 47, 55, 62, 65, 68, 74, 76, 80, 81, 82, 87, 90, 91, 94, 95], "ex": [3, 13, 30, 33, 41, 47, 95], "extens": [3, 4, 19, 25, 30, 47, 66, 70, 76, 80, 86, 94, 95], "window": [3, 12, 33, 41], "_build": [3, 33, 66, 87], "benefit": [3, 21, 24, 42, 47, 56, 75, 83], "over": [3, 7, 8, 9, 14, 15, 16, 17, 19, 20, 25, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 55, 56, 60, 61, 62, 64, 66, 67, 69, 70, 74, 77, 78, 80, 94, 95, 96], "pollut": 3, "bunch": [3, 40], "cleanli": [3, 41], "separ": [3, 6, 7, 8, 10, 18, 30, 33, 53, 64, 65, 66, 67, 76, 79, 82, 84, 85, 92, 95], "buri": 3, "coupl": [3, 4, 8, 9, 10, 14, 17, 20, 21, 25, 28, 32, 42, 45, 47, 48, 52, 55, 61, 66, 69, 80, 81, 85, 86, 92], "shortcut": [3, 95], "rememb": [3, 12, 16, 30, 32, 35, 44, 49, 55, 63, 67, 77, 80, 81, 92, 95], "To": [3, 4, 7, 8, 10, 13, 14, 18, 19, 20, 25, 27, 28, 31, 33, 34, 35, 40, 41, 42, 44, 46, 47, 48, 49, 51, 53, 55, 58, 62, 63, 64, 67, 69, 76, 77, 78, 79, 80, 82, 85, 88, 91, 92, 94, 95], "simpli": [3, 7, 8, 14, 16, 18, 19, 25, 26, 27, 28, 30, 39, 41, 42, 44, 45, 47, 48, 49, 54, 63, 66, 74, 77, 80, 81, 82, 85, 92, 94, 95], "exec": [3, 13, 33, 41, 47], "remov": [3, 14, 15, 18, 20, 21, 41, 42, 45, 47, 58, 65, 78, 79, 80, 82, 85, 91, 95], "cach": [3, 49, 50, 77, 79], "copi": [3, 4, 12, 18, 20, 30, 33, 35, 36, 40, 66, 77, 78, 79, 81, 83, 95], "accident": [3, 55, 58, 67, 76, 85], "loss": [3, 18], "recov": [3, 42], "git": 3, "advis": [3, 79], "error": [3, 4, 6, 7, 8, 10, 12, 13, 16, 20, 23, 24, 25, 27, 32, 33, 45, 49, 55, 63, 64, 65, 67, 69, 74, 76, 77, 78, 79, 80, 81, 85, 87, 91, 92, 94, 95], "attempt": [3, 13, 22, 24, 30, 36, 42, 47, 49, 58, 64, 65, 66, 67, 69, 74, 77], "init": [3, 30, 55, 77, 89, 95], "bin": 3, "ocamlformat": [3, 76, 95], "top": [3, 8, 12, 14, 15, 47, 48, 59, 77, 80, 81, 85, 91, 94, 95], "onc": [3, 10, 15, 18, 19, 20, 22, 27, 28, 30, 40, 41, 42, 44, 45, 47, 49, 53, 55, 56, 64, 65, 67, 69, 70, 77, 78, 79, 82, 85, 86, 88, 92, 94], "accomplish": [3, 7, 30, 42, 65, 67, 80, 84], "respond": [3, 7, 47, 85], "wait": [3, 14, 33, 47, 64, 94], "filesystem": [3, 95], "rebuild": [3, 33], "stop": [3, 4, 8, 41, 42, 47, 63, 67, 95], "press": [3, 12, 41, 47, 50, 79, 86, 95], "resort": 4, "everyth": [4, 5, 8, 57, 67, 69, 74, 80, 82, 87], "els": [4, 6, 7, 8, 13, 14, 15, 16, 18, 19, 26, 30, 42, 44, 45, 46, 47, 48, 49, 51, 54, 55, 56, 58, 59, 62, 63, 64, 66, 67, 69, 77, 78, 79, 80, 81, 92, 95], "fail": [4, 7, 13, 16, 17, 18, 19, 20, 21, 22, 27, 33, 41, 47, 48, 64, 72, 77, 87, 94, 95], "accord": [4, 7, 14, 17, 19, 20, 28, 30, 41, 42, 46, 49, 55, 62, 64, 65, 80, 85, 92], "rob": 4, "miller": 4, "four": [4, 13, 28, 31, 45, 46, 48, 63, 64, 66, 70, 77, 86, 94, 95], "erad": 4, "memori": [4, 8, 9, 12, 17, 30, 36, 40, 45, 47, 49, 62, 65, 74, 92, 93], "safeti": [4, 8, 17, 68, 74, 75, 92, 93], "access": [4, 7, 8, 9, 32, 35, 36, 39, 46, 47, 49, 65, 77, 78, 79, 81, 85, 87, 88, 92, 95], "refer": [4, 7, 8, 10, 15, 19, 20, 25, 32, 39, 40, 45, 47, 52, 56, 64, 66, 79, 87, 89, 91, 92, 93], "region": [4, 13, 92], "inconsist": [4, 18], "prevent": [4, 8, 21, 24, 30, 64, 67, 74, 77, 83, 92], "buffer": [4, 10, 66, 74], "overflow": [4, 6, 8, 49, 72, 74], "ad": [4, 8, 12, 13, 15, 16, 18, 19, 20, 40, 41, 42, 47, 48, 58, 66, 67, 69, 77, 78, 79, 80, 81, 83, 84, 85], "boolean": [4, 7, 14, 22, 34, 41, 42, 56, 64, 66, 67, 69, 92], "float": [4, 6, 7, 10, 13, 25, 28, 32, 38, 41, 42, 53, 76, 78, 79, 80, 84, 88, 89], "tool": [4, 5, 9, 11, 12, 13, 16, 24, 30, 61, 65, 66, 95], "autom": [4, 24, 33], "analysi": [4, 9, 14, 22, 43, 50, 65, 67, 68, 69, 70, 79], "findbug": 4, "slam": 4, "devic": 4, "driver": [4, 24], "subfield": 4, "verif": [4, 14, 19, 23, 24], "social": [4, 17, 23, 24, 85], "ibm": [4, 24], "1970": [4, 48, 66, 73], "1990": [4, 56, 60, 70, 71, 72], "remark": [4, 24, 67], "effect": [4, 7, 8, 9, 10, 13, 19, 24, 39, 40, 41, 42, 43, 44, 45, 47, 49, 50, 66, 74, 75, 76, 77, 80, 81, 82, 85, 87, 88, 90, 94, 95], "jone": [4, 24], "1991": [4, 23, 24, 46, 73], "inspect": [4, 23, 24, 48], "found": [4, 7, 8, 15, 18, 19, 20, 23, 24, 41, 42, 46, 48, 64, 74, 87, 93, 94, 95], "65": [4, 7, 24, 30], "20": [4, 7, 24, 26, 27, 30, 40, 41, 42, 45, 47, 63, 64, 85, 92, 96], "none": [4, 5, 8, 10, 20, 24, 25, 26, 27, 28, 30, 32, 41, 42, 44, 45, 47, 49, 55, 63, 67, 77, 79, 81, 91, 92], "visibl": [4, 30, 44, 77, 81, 85, 86, 94], "easier": [4, 15, 16, 18, 24, 28, 30, 40, 45, 47, 62, 64, 65, 67, 72, 74, 79, 81, 82, 86, 87, 95], "diagnos": [4, 45, 85, 95], "fix": [4, 8, 10, 12, 20, 21, 22, 24, 35, 40, 42, 47, 48, 58, 63, 64, 85, 88, 95], "past": [4, 12, 14, 17, 33, 58, 63, 81, 83, 84, 95, 96], "point": [4, 6, 7, 8, 13, 16, 18, 19, 25, 28, 33, 34, 35, 38, 42, 45, 47, 49, 54, 55, 58, 61, 62, 63, 64, 65, 66, 67, 76, 77, 79, 83, 85, 91, 92, 95], "obscur": [4, 16, 47, 64, 86], "loudli": 4, "fourth": [4, 41, 53, 56, 66, 92, 95], "expos": [4, 5, 17, 18, 45, 47, 72, 77, 80, 81, 84, 92], "confirm": [4, 13], "modul": [4, 7, 8, 10, 13, 14, 15, 20, 21, 24, 26, 28, 30, 33, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 53, 55, 57, 59, 60, 66, 67, 69, 74, 76, 77, 78, 79, 82, 86, 88, 89, 91, 92], "especi": [4, 8, 30, 40, 42, 43, 47, 64, 66, 90, 94], "break": [4, 23, 40, 42, 48, 64, 65, 74, 77, 79, 95], "distil": 4, "hard": [4, 5, 14, 16, 21, 22, 24, 30, 35, 42, 45, 48, 55, 67, 76, 80, 81, 82, 90, 92], "lurk": [4, 12, 85], "spent": [4, 16, 40, 44], "until": [4, 7, 17, 27, 32, 33, 45, 46, 47, 49, 58, 65, 67, 71, 72, 74, 76, 78, 81, 92, 95], "emploi": [4, 24], "scientif": [4, 23, 24], "formul": [4, 15, 19, 22, 24, 41, 45, 69], "notebook": [4, 94], "chemistri": 4, "lab": [4, 95], "clarifi": [4, 71], "mind": [4, 6, 15, 36, 57, 76, 86, 95], "keep": [4, 15, 18, 19, 20, 21, 22, 24, 31, 36, 40, 41, 42, 45, 46, 47, 48, 55, 58, 62, 64, 67, 69, 77, 79, 80, 82, 86, 87, 95], "track": [4, 22, 31, 42, 47, 55, 64, 67], "hypothes": [4, 22], "experi": [4, 9, 17, 20, 24, 62, 63, 72, 78, 79, 87, 94], "affirm": 4, "deni": 4, "reformul": 4, "ration": [4, 13, 78], "typo": [4, 85], "Or": [4, 8, 10, 13, 21, 25, 30, 35, 45, 54, 62, 64, 66, 67, 85, 94, 95], "reveal": [4, 8, 13, 19, 20, 21, 24, 40, 47, 68, 77, 82, 83], "flaw": [4, 58], "major": [4, 8, 18, 53, 67, 69, 95], "refactor": [4, 33, 56, 78], "suit": [4, 13, 15, 17, 20, 27, 28, 33], "creep": 4, "futur": [4, 7, 17, 18, 24, 25, 30, 41, 46, 47, 62, 86, 95], "guard": [4, 7, 64, 67, 69], "repeatedli": [4, 6, 44], "previou": [4, 5, 6, 8, 13, 14, 15, 19, 25, 28, 30, 33, 35, 41, 44, 47, 49, 54, 63, 64, 65, 67, 69, 78, 80, 92, 95], "regress": [4, 23], "tip": [4, 94, 95], "ascertain": 4, "inc": [4, 8, 12, 41, 45, 85, 87, 89], "print_int": [4, 10, 58], "trace": [4, 27], "fib": [4, 6, 15, 44, 49], "untrac": 4, "debugg": [4, 9], "ocamldebug": 4, "tutori": [4, 13, 95], "websit": [4, 73, 95], "unless": [4, 8, 20, 63, 67, 72, 79, 87, 95], "emac": [4, 62, 94, 95], "section": [4, 5, 16, 18, 23, 28, 30, 33, 35, 41, 44, 45, 46, 47, 50, 54, 55, 56, 61, 63, 66, 67, 69, 77, 80, 81, 85, 92, 94], "precondit": [4, 8, 11, 13, 14, 15, 16, 18, 19, 21, 23, 41, 76], "random_int": [4, 5], "random": [4, 5, 15, 23, 42, 92, 95], "inclus": [4, 5, 6, 30, 53, 87], "exclus": [4, 5, 57], "greater": [4, 5, 6, 13, 16, 24, 30, 46, 48, 53, 67, 78, 79, 80], "30": [4, 5, 28, 30, 47, 49, 85], "pass": [4, 5, 8, 10, 13, 19, 20, 21, 30, 33, 38, 42, 45, 52, 55, 56, 57, 58, 59, 64, 67, 75, 78, 80, 85, 92], "violat": [4, 13, 16, 18, 20, 21, 24, 40, 42, 44, 47, 48, 64, 67, 84, 92], "claus": [4, 5, 23, 30], "whatsoev": [4, 45, 69], "bet": [4, 92], "didn": [4, 8, 30, 33, 49, 55, 60, 69, 71, 80, 81, 92, 93], "implementor": [4, 80], "lsl": 4, "invalid_arg": [4, 13, 47, 92], "built": [4, 6, 7, 8, 10, 14, 18, 20, 26, 29, 30, 31, 33, 36, 40, 41, 42, 45, 46, 47, 49, 54, 55, 58, 64, 66, 69, 73, 78, 79, 83, 84, 85, 92, 95], "invalid_argu": [4, 7, 13, 46, 47, 88, 92], "situat": [4, 13, 22, 40, 46, 48, 49, 62, 65, 69, 76, 87], "invalid": [4, 16, 53, 66, 78], "computation": [4, 67], "cheap": [4, 18, 40, 42], "prefer": [4, 9, 12, 42, 47, 48, 76, 92, 95], "inexpens": [4, 40], "approxim": [4, 7, 13, 18, 41, 42, 49, 64, 79], "unnecessarili": 4, "expens": [4, 18, 24, 37, 40, 42, 46, 58], "cost": [4, 18, 24, 40, 48, 58, 77, 79], "initi": [4, 8, 15, 20, 23, 24, 40, 41, 42, 46, 51, 55, 64, 65, 69, 88, 89, 92], "paid": [4, 40], "These": [4, 7, 8, 16, 19, 23, 24, 30, 36, 45, 49, 56, 66, 76, 83, 87, 92, 94, 95], "often": [4, 5, 7, 8, 10, 13, 16, 18, 20, 24, 33, 35, 37, 42, 43, 45, 48, 56, 59, 64, 77, 80, 85, 87, 88, 95], "misplac": 4, "monei": [4, 40], "societi": 4, "repair": [4, 48], "fault": [4, 19, 23, 24, 45, 90], "restat": 4, "postcondit": [4, 8, 11, 16, 19, 21, 23], "big": [4, 7, 8, 30, 35, 42, 44, 50, 62, 63, 66, 68, 69, 70, 77, 78, 87], "savvi": [4, 42], "anywai": [4, 12, 40, 45, 47, 62, 85], "spend": [4, 24, 40, 95], "ocamldoc": [5, 76], "javadoc": [5, 30], "comment": [5, 8, 15, 18, 19, 21, 23, 24, 30, 47, 55, 63, 64, 77, 84, 85], "render": [5, 30, 33, 47], "easi": [5, 8, 9, 10, 14, 17, 18, 19, 24, 26, 30, 35, 39, 41, 42, 45, 48, 51, 58, 64, 67, 69, 72, 74, 77, 79, 81, 85, 94, 95, 96], "sum": [5, 19, 25, 30, 33, 35, 36, 40, 41, 49, 53, 55, 59, 84], "lst": [5, 15, 16, 18, 20, 22, 26, 28, 30, 42, 49, 53, 54, 55, 58, 65, 79, 80, 81, 85, 91, 92], "asterisk": 5, "recogn": [5, 27, 32, 40, 45, 56, 60, 66, 86, 95], "squar": [5, 6, 7, 8, 13, 15, 16, 25, 28, 30, 48, 49, 53, 56, 59, 65, 89, 95], "bracket": [5, 7, 25, 28, 30, 48, 65, 77], "around": [5, 7, 8, 16, 18, 22, 27, 40, 41, 46, 48, 49, 57, 62, 63, 64, 76, 79, 80, 87, 95], "typewrit": [5, 30], "font": 5, "regular": [5, 8, 63, 66, 68, 86], "support": [5, 7, 8, 10, 18, 19, 20, 25, 30, 42, 47, 57, 60, 62, 66, 74, 77, 78, 79, 80, 82, 83, 84, 95], "deprec": 5, "param": 5, "netid": [5, 95], "full": [5, 18, 19, 32, 34, 35, 41, 45, 48, 63, 64, 65, 72, 73, 80, 94], "rang": [5, 7, 20, 42, 59], "markup": 5, "manual": [5, 6, 7, 8, 27, 34, 41, 47, 55, 64, 77, 84, 85, 92, 95], "cover": [5, 7, 8, 9, 13, 18, 20, 24, 25, 27, 29, 30, 39, 43, 47, 60, 64, 65, 66, 67, 70, 78, 85, 90, 94], "enough": [5, 6, 8, 13, 14, 16, 17, 18, 21, 30, 33, 41, 58, 65, 66, 67, 82, 92], "style": [5, 7, 12, 16, 18, 35, 45, 46, 47, 52, 60, 67, 85, 86], "favor": 5, "resembl": [5, 19, 62, 64, 66, 67, 80, 86], "revisit": [5, 33, 34, 40, 78], "descript": [5, 16, 19, 30, 33, 38, 55, 66, 69, 82, 95], "redundantli": 5, "paramet": [5, 8, 16, 25, 33, 55, 57, 64, 80, 81], "said": [5, 9, 13, 27, 47, 72, 77, 92], "strongli": [5, 7, 19], "discourag": [5, 7], "limpid": 5, "lowercase_ascii": [5, 85], "lowercas": [5, 8], "ascii": [5, 7], "occurr": [5, 7, 15, 22, 30, 42, 45, 51, 62, 63, 66, 67, 79], "not_found": [5, 44, 69, 78, 79, 80], "satisfi": [5, 13, 16, 18, 19, 20, 21, 23, 28, 33, 40, 41, 45, 46, 48, 53, 56, 77, 80, 82, 83, 84], "sentenc": [5, 16, 18, 35, 80], "dynam": [5, 7, 8, 9, 11, 25, 27, 30, 34, 35, 39, 49, 63, 64, 67, 68, 69, 70, 74, 75, 81, 84, 85, 88, 91, 92], "python": [5, 7, 8, 10, 12, 20, 29, 30, 54, 57, 58, 59, 60, 65, 71, 72, 74, 85, 94], "frequent": [5, 13, 47, 65, 94], "regard": [5, 7, 17, 19, 35, 40, 67, 79], "ensur": [5, 9, 10, 13, 14, 17, 18, 20, 30, 42, 47, 48, 55, 58, 64, 67, 69, 78, 79, 80, 85], "wrong": [5, 16, 21, 25, 27, 58, 62, 67, 72, 82, 83, 92, 95], "although": [5, 7, 8, 9, 18, 19, 20, 25, 26, 37, 40, 41, 42, 44, 64, 65, 66, 67, 79, 80, 89, 92], "english": [5, 7, 14, 19], "helpfulli": 5, "reader": [5, 8, 12, 16, 18, 31, 45, 54, 55, 58, 66, 85, 94], "highli": [5, 7, 36, 49, 65], "unidiomat": 5, "puzzl": [5, 20, 28, 92], "wrote": [5, 8, 25, 26, 28, 30, 33, 45, 58, 64, 66, 69, 74, 77, 80], "Is": [5, 14, 17, 40, 42, 46, 77, 95], "am": 5, "miss": [5, 14, 16, 18, 66, 67, 76, 85], "string_of_int": [6, 7, 28, 32, 33, 42, 53, 67, 78, 84], "hint": [6, 7, 12, 13, 15, 18, 19, 28, 41, 47, 53, 63, 78, 79, 87, 89], "examin": [6, 7, 21, 29, 41, 42, 63, 74], "scroll": [6, 7], "page": [6, 7, 8, 12, 47, 49, 94, 95], "42": [6, 7, 8, 12, 19, 30, 32, 41, 42, 47, 56, 62, 63, 64, 65, 67, 77, 80, 81, 84, 85, 87, 91, 92], "divid": [6, 13, 19, 42, 67, 76, 78, 79, 89], "14": [6, 7, 8, 10, 25, 28, 30, 63, 68, 76, 77, 79, 85, 92], "seventh": [6, 66], "nor": [6, 8, 10, 16, 27, 47, 53, 55, 63, 85, 90], "cpu": [6, 47], "hi": [6, 25, 32, 44, 53, 56, 70, 72, 73, 79, 94], "physic": [6, 7, 9, 89, 93], "2110": [6, 37, 42, 70], "increment": [6, 7, 8, 12, 30, 33, 40, 45, 47, 49, 66, 88, 92], "cube": [6, 44, 53], "sign": [6, 8, 25, 28, 30, 33, 35, 66, 79, 80, 84], "circl": [6, 17, 25], "radiu": [6, 25], "bear": [6, 22, 57, 80, 95], "1e": 6, "worthwhil": [6, 8, 24, 30], "averag": [6, 15, 40, 42], "avg3": 6, "z": [6, 7, 8, 13, 15, 19, 22, 34, 35, 41, 47, 48, 63, 64, 66, 67, 80, 85, 89, 92], "sqrt": [6, 13, 44, 89], "date": [6, 28, 78, 95], "month": [6, 17, 28, 78], "abbrevi": [6, 25], "jan": [6, 79], "feb": 6, "mar": 6, "apr": 6, "mai": [6, 7, 8, 13, 14, 15, 16, 18, 21, 24, 25, 27, 28, 30, 34, 35, 41, 42, 45, 47, 48, 53, 63, 64, 67, 69, 79, 82, 85, 92], "jun": 6, "jul": 6, "aug": 6, "sept": 6, "oct": 6, "nov": 6, "dec": [6, 45], "minimum": [6, 13, 28], "31": [6, 8, 20, 28, 30, 41, 78, 80, 81, 85], "28": [6, 7, 28, 30, 85], "ters": [6, 53, 78, 79], "short": [6, 7, 13, 16, 24, 30, 37, 41, 42, 54, 62, 67, 68, 76, 85, 90, 92], "fewer": [6, 10, 24, 28, 48], "th": 6, "fibonacci": [6, 49], "sequenc": [6, 7, 10, 14, 19, 20, 30, 40, 41, 43, 45, 46, 63, 64, 65, 66, 88, 93], "13": [6, 20, 28, 30, 33, 41, 49, 50, 77, 80, 81, 85, 86, 93], "50th": [6, 78], "instantan": 6, "congratul": 6, "hang": 6, "indefinit": 6, "obviou": [6, 18, 42, 45, 49, 56, 67], "subproblem": [6, 22], "redon": 6, "fib_fast": 6, "helper": [6, 8, 28, 41, 45, 46, 47, 58, 69, 77, 79, 81, 91, 92], "h": [6, 14, 15, 18, 19, 22, 23, 25, 28, 30, 32, 34, 35, 41, 44, 45, 48, 49, 51, 54, 55, 58, 64, 77, 79, 80, 81], "pp": [6, 77], "forward": [6, 41, 95], "neg": [6, 16, 19, 22, 25, 28, 31, 40, 42, 46, 79, 80, 81, 85], "indic": [6, 7, 8, 10, 12, 30, 33, 39, 41, 42, 47, 48, 49, 55, 56, 57, 64, 65, 66, 77, 84, 85, 92, 95], "poli": [6, 8, 15, 23, 25, 28], "numer": [6, 16, 41, 78, 79], "denomin": [6, 41, 78], "associ": [6, 9, 14, 15, 18, 19, 22, 23, 28, 29, 30, 35, 36, 39, 44, 45, 46, 47, 50, 53, 55, 60, 63, 65, 66, 68, 69, 78, 79, 80, 95], "decid": [6, 18, 19, 21, 30, 35, 51, 55, 67, 80], "infix": [6, 8, 19, 22, 41, 45, 47, 64, 69, 79], "print_str": [6, 10], "primari": [7, 30, 46, 47, 65, 69, 70, 96], "primarili": [7, 8, 9, 47, 56, 74], "21": [7, 12, 30, 46, 49, 77, 85, 92], "cryptic": 7, "overview": 7, "remain": [7, 8, 14, 17, 33, 40, 46, 47, 49, 51, 53, 55, 62, 63, 64, 67, 69, 78, 80, 91], "yai": 7, "mostli": [7, 13, 47, 91, 94], "recogniz": 7, "mod": [7, 15, 20, 41, 42, 54, 87], "divis": [7, 41, 45, 47, 76, 78], "modulu": 7, "60": [7, 30], "division_by_zero": 7, "modern": [7, 13, 17, 42, 47, 62, 66, 68, 73, 75, 85], "regist": [7, 45, 47, 65, 77], "stolen": 7, "63": [7, 8, 13, 30], "int64": 7, "zarith": [7, 8], "purpos": [7, 16, 18, 20, 22, 45, 47, 55, 62, 65, 67, 69, 71], "suffic": [7, 19, 20, 33, 77, 79, 80, 85], "offer": [7, 40, 42, 43, 46, 48, 52, 70, 80, 85, 93, 95], "ieee": 7, "754": 7, "dot": [7, 30, 35, 53, 64, 77, 85, 95], "deliber": [7, 16, 33, 42, 77], "overload": [7, 10, 85], "expect": [7, 8, 10, 14, 16, 20, 24, 33, 35, 36, 38, 39, 40, 42, 45, 47, 48, 55, 63, 64, 66, 67, 72, 76, 77, 79, 80, 81, 85, 92], "convert": [7, 8, 10, 14, 15, 16, 18, 20, 31, 32, 40, 41, 42, 44, 49, 52, 58, 78, 84, 85], "int_of_float": 7, "float_of_int": [7, 15, 42], "round": [7, 40], "300000000000000044": 7, "behavior": [7, 8, 9, 13, 16, 18, 21, 22, 24, 41, 45, 47, 53, 78, 80, 85, 92, 95], "encount": [7, 45, 48, 51, 64, 67, 74, 76, 77, 86, 91, 92], "bool": [7, 8, 10, 13, 14, 15, 18, 20, 22, 25, 28, 30, 31, 37, 41, 42, 47, 48, 51, 53, 54, 55, 56, 64, 66, 67, 69, 76, 77, 79, 80, 81, 85, 89, 92], "circuit": [7, 41, 67, 68], "char": [7, 20, 53, 78, 80, 85], "quot": [7, 8, 41, 95], "iso": 7, "8859": 7, "latin": 7, "encod": [7, 16, 65, 69, 92], "half": [7, 41, 52, 74], "char_of_int": 7, "int_of_char": 7, "abc": [7, 55], "concaten": [7, 28, 45, 47, 55, 58], "def": [7, 59], "abcdef": 7, "orient": [7, 8, 9, 23, 70, 80, 81, 82, 83, 85, 86, 94], "overrid": [7, 42, 83], "tostr": [7, 10, 18, 33, 77, 78], "__str__": 7, "string_of_float": [7, 84], "string_of_bool": 7, "strang": [7, 8, 27, 47, 64, 80, 85, 92], "string_of_char": 7, "int_of_str": [7, 25, 66], "float_of_str": 7, "bool_of_str": 7, "123": [7, 30], "char_of_str": 7, "correspond": [7, 8, 18, 20, 22, 41, 42, 44, 45, 47, 51, 63, 66, 67, 76, 85], "inequ": [7, 48], "tricki": [7, 28, 40, 67, 80, 92], "curiou": [7, 77, 85], "yourself": [7, 8, 9, 10, 12, 13, 17, 20, 22, 30, 33, 41, 42, 47, 48, 49, 72, 75, 78, 92, 94, 95], "seri": [7, 13, 40, 41, 89], "input1": 7, "output1": 7, "input2": 7, "output2": 7, "input3": 7, "output3": 7, "forth": [7, 22, 41, 42, 47, 56, 57, 76, 77, 79, 85], "handl": [7, 13, 16, 25, 27, 30, 33, 41, 45, 47, 48, 62, 64, 66, 67, 69, 77, 79, 80, 81], "e3": [7, 8, 27, 30, 62, 64, 66, 67, 69, 88], "boo": 7, "anywher": [7, 8, 30, 38, 63, 64, 67, 74, 94], "ternari": [7, 51, 62, 63, 69], "pleasant": [7, 23, 30, 49, 57, 79], "e4": [7, 8, 27, 64], "e5": 7, "e6": 7, "en": [7, 8, 27, 30, 35, 63, 67, 88, 92], "mandatori": [7, 8, 35, 85, 88], "regardless": [7, 14, 28, 30, 42, 45, 47, 67, 78, 81, 92, 95], "omit": [7, 8, 12, 16, 18, 25, 30, 42, 45, 67, 76, 77, 79, 85, 90, 95], "messag": [7, 8, 17, 20, 33, 45, 64, 76, 81, 85, 95], "inscrut": 7, "letter": [7, 8, 17, 34, 39, 64, 66, 69, 76, 85, 87], "metavari": [7, 8, 11, 30, 66, 68], "certain": [7, 9, 19, 21, 40, 45, 47, 67, 69, 77, 86, 90], "curious": 7, "compact": [7, 53], "notat": [7, 19, 22, 28, 30, 35, 42, 45, 49, 62, 63, 66, 67, 69], "colon": [7, 30, 35, 64, 85], "pronounc": [7, 8, 10, 12, 25, 30, 45, 63, 77], "usag": [7, 8, 9, 27, 32, 41, 45, 63, 74, 77, 89], "consist": [7, 8, 9, 12, 56, 62, 64], "43": [7, 8, 30, 67, 80, 92], "24": [7, 30, 45, 48, 77], "11": [7, 8, 28, 30, 36, 41, 42, 44, 50, 77, 79, 80, 85, 86, 87], "permit": [7, 8, 10, 16, 34, 41, 47, 49, 64, 67, 79, 81, 85, 92], "On": [7, 18, 30, 40, 41, 45, 55, 67, 77, 81, 92, 95], "bodi": [7, 8, 10, 11, 16, 25, 27, 34, 41, 45, 49, 58, 62, 63, 64, 65, 67, 69, 80, 81, 85, 88, 92], "implicitli": [7, 8, 13, 14, 16, 32, 64, 86], "red": [7, 25, 41, 43, 50, 85, 91, 95], "idiomat": [7, 8, 9, 10, 30, 35, 39, 77, 85, 92], "begin": [7, 8, 10, 11, 12, 14, 16, 22, 30, 32, 33, 36, 39, 41, 48, 49, 53, 55, 60, 65, 66, 67, 69, 75, 77, 79, 81, 84, 85, 86, 92, 93], "lower": [7, 18, 25, 41, 48, 64, 66, 85], "snake_cas": [7, 85], "camelcas": [7, 85], "v1": [7, 8, 30, 34, 35, 42, 62, 63, 67, 79, 88, 91, 92], "substitut": [7, 8, 11, 30, 34, 62, 63, 64, 68, 70, 74, 85, 92, 95], "v2": [7, 30, 34, 42, 62, 63, 67, 88, 91, 92], "clariti": [7, 16, 18, 55, 59, 67], "inferenc": [7, 64, 68], "meaning": [7, 8, 42, 65, 85], "overlap": [7, 39, 44, 47], "darn": 7, "confus": [7, 9, 16, 30, 47, 64, 66, 77, 84, 85, 92], "ambigu": [7, 65, 79], "pronoun": 7, "guess": [7, 8], "principl": [7, 15, 19, 23, 32, 44, 45, 55, 58, 60, 62, 64, 67, 70, 71, 81, 85, 92, 95], "irrelev": [7, 8, 35, 48, 62, 67, 92], "shouldn": [7, 55, 62, 92, 95], "align": [7, 22, 82], "commonli": [7, 8, 35, 62, 69, 85], "alpha": [7, 8, 77, 78], "renam": [7, 45, 55, 70], "convers": [7, 8, 10, 18, 52, 64, 77, 92], "histor": [7, 54, 80], "unimport": 7, "embed": [7, 47, 94, 96], "shadow": [7, 62, 63, 64, 65, 67, 85], "old": [7, 17, 25, 30, 35, 40, 46, 47, 55, 62, 65, 69, 72, 79, 80, 83, 95], "metaphor": [7, 8, 12, 32, 41, 45, 52, 81], "cast": [7, 65, 85], "eventu": [7, 8, 17, 19, 41, 42, 45, 46, 47, 57, 58, 64, 66, 67, 73, 79], "reappear": 7, "reced": 7, "mutabl": [7, 19, 23, 25, 30, 42, 47, 48, 50, 58, 67, 74, 75, 79, 88, 89, 93], "transcript": [7, 47], "22": [7, 12, 25, 30, 47, 55, 63, 64, 68, 85, 95], "worth": [7, 13, 42, 72, 95, 96], "mutat": [7, 35, 42, 46, 47, 64, 88, 89, 91, 92, 93], "summar": 7, "immut": [7, 15, 30, 42, 72, 74, 75, 79, 90, 93], "superfici": [7, 14], "quit": [7, 8, 10, 12, 14, 18, 19, 20, 21, 22, 24, 30, 42, 43, 45, 47, 49, 59, 64, 66, 73, 74, 78, 80, 81, 86, 91, 92, 95], "27": [7, 30, 33, 45, 55, 68], "debug": [7, 8, 11, 16, 18, 23, 32, 45, 66, 72, 79], "forgotten": [7, 59, 85], "cannot": [7, 8, 14, 16, 18, 27, 32, 41, 45, 47, 48, 49, 63, 64, 67, 69, 72, 74, 77, 80, 85, 87, 88, 91, 93, 95], "tri": [7, 8, 34, 40, 73, 80, 92], "clear": [7, 8, 16, 21, 33, 37, 45, 48, 54, 64, 79, 82, 84, 94], "silli": [7, 74], "tini": [7, 61, 66, 67, 79, 80], "techniqu": [7, 8, 17, 19, 20, 22, 23, 24, 40, 42, 43, 44, 45, 50, 51, 61, 65, 81, 82], "awai": [7, 8, 10, 16, 17, 18, 25, 40, 47, 48, 55, 58, 64, 67, 81, 83, 87, 92, 95], "receiv": [8, 21, 33, 47, 66, 72, 73, 85, 92], "keyword": [8, 9, 12, 25, 28, 30, 32, 33, 47, 49, 53, 55, 63, 65, 66, 69, 79, 80, 84, 85, 88, 92], "self": [8, 38, 44, 55, 66, 85], "quibbl": 8, "distinct": [8, 13, 18, 30, 35, 44, 65, 80, 82, 83, 85, 95], "procedur": [8, 48, 64, 74, 95], "background": [8, 47, 94], "terminolog": [8, 23, 24, 47, 64], "strictli": [8, 10, 30, 32, 33, 41, 53, 56, 64, 67, 78, 80], "group": [8, 45, 65, 66, 83, 94], "titl": [8, 96], "scheme": [8, 20, 35, 64, 68, 70], "factori": [8, 14, 19, 58, 77, 92], "limit": [8, 20, 47, 65, 74, 78, 85, 86, 90], "wider": 8, "architectur": 8, "grown": 8, "garbag": [8, 71, 74], "collector": [8, 54, 58], "runtim": [8, 30, 64], "steal": 8, "flag": [8, 13, 18], "pow": [8, 67], "solv": [8, 14, 22, 28, 37, 41, 42, 44, 48, 55, 63, 67, 77, 80, 81, 95], "algorithm": [8, 16, 19, 37, 40, 41, 44, 47, 50, 51, 55, 60, 63, 64, 68, 70, 76, 78, 91], "ourselv": [8, 13, 17, 19, 20, 25, 40, 47, 58, 77, 82, 85, 90, 92], "mental": [8, 62, 64], "deduct": [8, 19, 53], "particularli": [8, 13, 16, 24, 25, 33, 42, 48, 75, 92], "x1": [8, 15, 19, 25, 34, 62, 67, 79, 89], "x2": [8, 19, 25, 34, 62, 67, 79], "xn": [8, 15, 34, 79, 89], "augment": [8, 45, 65, 67, 85], "week": [8, 17, 40], "mutual": [8, 11, 25, 31, 36, 37, 82, 85], "y1": [8, 25], "yn": 8, "odd": [8, 9, 15, 20, 31, 53, 54, 85], "u": [8, 18, 22, 25, 34, 41, 47, 49, 63, 84], "tn": [8, 25, 34, 35], "scope": [8, 16, 33, 63, 65, 67, 68, 69, 80, 81, 83, 86, 87, 92], "without": [8, 9, 12, 13, 16, 18, 19, 21, 27, 30, 33, 35, 41, 42, 44, 45, 46, 47, 49, 51, 55, 56, 58, 61, 62, 65, 66, 67, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 91, 93, 95], "e0": [8, 34, 88], "vn": [8, 30, 35, 42, 79, 92], "vi": [8, 30, 35, 79, 88], "xi": [8, 34], "essenc": [8, 19, 57, 63, 71, 74], "imagin": [8, 16, 17, 33, 42, 45, 47, 48, 49, 56, 59, 92], "depict": [8, 18, 48], "triangl": 8, "sent": [8, 17, 47], "36": [8, 30, 85, 92], "send": [8, 77], "nice": [8, 30, 45, 48, 64, 79, 80, 85], "arguabl": [8, 16, 29, 35, 81, 84], "eleg": [8, 48, 53, 72], "ey": [8, 30, 45], "jump": [8, 65], "move": [8, 18, 24, 30, 33, 46, 47, 48, 49, 58, 63, 79, 85], "linearli": 8, "scale": [8, 94], "grow": [8, 19, 40, 42, 48], "1444": 8, "weird": [8, 66, 84], "chain": [8, 10, 19, 41, 47, 50], "stand": [8, 12, 19, 30, 55, 58, 64, 73, 92], "typic": [8, 13, 16, 23, 42, 47, 65, 66, 67, 69, 77, 88, 92, 94, 95], "greek": [8, 20, 25, 69], "beta": 8, "gamma": [8, 69], "bigr": [8, 28, 85, 87], "morph": [8, 25], "id_int": 8, "took": [8, 18, 22, 24, 40, 70, 79, 92], "promis": [8, 21, 41, 43, 45, 50, 92], "thrown": [8, 21], "lost": [8, 17, 79], "broken": [8, 13, 16, 18, 33, 63, 92], "safe": [8, 25, 28, 30, 45, 48, 64, 74, 92, 95], "someon": [8, 16, 17, 56, 64], "potenti": [8, 10, 24, 32, 39, 40, 46, 47, 48, 50, 58, 79, 84, 85, 95], "instanti": [8, 19, 64, 65, 68, 80, 85], "mechan": [8, 27, 47, 82, 83, 86], "unappli": 8, "backward": [8, 54, 58], "among": [8, 42, 47, 48, 64, 65, 72, 74, 83], "first_int": 8, "bad_first": 8, "19": [8, 27, 30, 45, 85], "compat": [8, 45, 66, 77, 81, 85], "substr": 8, "consult": [8, 18, 28, 40], "name1": 8, "arg1": 8, "name2": 8, "arg2": 8, "shorthand": 8, "tast": [8, 72], "convei": [8, 77], "clutter": [8, 64], "explicit": [8, 16, 34, 58, 85], "addx": [8, 80], "add5": 8, "normal": [8, 20, 22, 27, 28, 39, 40, 45, 76, 80, 84, 86, 89, 92], "multi": [8, 30, 44], "readi": [8, 22, 27, 47, 64, 76, 95], "breath": 8, "t3": [8, 41, 52, 64], "t4": 8, "implicit": [8, 55, 64, 68], "intuit": [8, 14, 30, 45, 47, 49, 55, 63, 67, 79, 84, 85, 92], "grab": [8, 95], "prefix": [8, 20, 22, 39, 41, 49, 64, 69, 85, 92, 95], "add3": 8, "unnecessari": [8, 30, 59], "bewar": [8, 25, 60], "pars": [8, 35, 45, 47, 61, 63, 64, 65, 67, 69, 84, 85, 92], "max": [8, 15, 28, 32, 44, 51, 53], "punctuat": [8, 9, 51, 65], "preced": [8, 15, 30, 63, 66, 68], "seemingli": [8, 85], "uninterest": 8, "100_000": 8, "100000": 8, "stack": [8, 18, 19, 27, 28, 36, 43, 45, 47, 49, 58, 65, 66, 77, 80, 85], "issu": [8, 12, 18, 20, 24, 30, 46, 48, 57, 77, 78, 87, 94, 95], "introductori": [8, 70, 72, 94], "store": [8, 12, 30, 40, 41, 42, 44, 46, 47, 48, 49, 57, 64, 65, 78, 80, 88, 92, 95], "local": [8, 18, 21, 23, 33, 36, 48, 81, 82, 85, 86, 94], "push": [8, 14, 16, 22, 42, 45, 66, 76, 77, 79, 80, 85, 91], "pop": [8, 14, 45, 66, 76, 77, 79, 80, 85, 91], "success": [8, 15, 17, 23, 41, 94], "eat": [8, 40], "harm": 8, "count_forev": 8, "sake": [8, 31, 49, 58, 62, 69, 77], "manifest": [8, 49], "1977": [8, 30, 60, 70], "steel": 8, "cooper": [8, 47, 50], "trick": [8, 16, 19, 40, 92], "count_aux": 8, "acc": [8, 19, 22, 30, 37, 42, 51, 54, 55, 58, 77], "count_tr": 8, "almost": [8, 16, 19, 29, 46, 81, 91], "accumul": [8, 15, 16, 17, 19, 22, 33, 37, 40, 41, 55, 60], "arriv": 8, "somewher": [8, 13], "tr": 8, "went": [8, 19, 27, 55, 62, 73, 94, 95], "effort": [8, 16, 33, 42, 95], "frame": [8, 36], "reus": [8, 73, 78, 80, 81, 83, 86], "finish": [8, 13, 14, 15, 19, 33, 40, 41, 47, 48, 49, 66, 67, 92, 95], "wast": [8, 13, 30, 42, 44, 59], "alloc": [8, 30, 40, 42, 74, 92], "recycl": 8, "beyond": [8, 9, 17, 24, 30, 35, 36, 42, 49, 74, 94, 95], "suitabl": [8, 65, 81], "calle": 8, "deal": [8, 14, 16, 42, 47, 55, 64, 66, 67, 77], "reduc": [8, 13, 14, 42, 44, 46, 64, 67, 78, 79], "1_000_000": [8, 30], "1000000": 8, "patholog": 8, "fixat": 8, "upon": [8, 16, 21, 22, 42, 45, 47, 66, 67, 70, 77, 80, 94], "draft": 8, "rethink": 8, "iter": [8, 14, 15, 23, 28, 42, 47, 60, 78, 79, 80, 88], "thousand": [8, 25], "inde": [8, 10, 14, 19, 20, 29, 35, 45, 47, 58, 62, 64, 65, 67, 73, 85, 92], "notabl": [8, 9, 49], "recip": [8, 16], "nutshel": 8, "made": [8, 14, 17, 19, 21, 40, 44, 46, 55, 77, 78, 79, 81, 85, 92, 94, 95], "main": [8, 9, 16, 24, 41, 47, 58, 62, 63, 66, 67, 77], "ingenu": 8, "fact_aux": [8, 77], "fact_tr": [8, 19], "exercis": [8, 13, 14, 23, 55, 94], "suffer": [8, 64], "50": [8, 30, 49, 78], "3258495067890909184": 8, "hopefulli": [8, 17, 68, 79, 86, 95], "along": [8, 9, 13, 14, 17, 19, 20, 25, 33, 41, 45, 48, 51, 64, 66, 71, 77, 83, 94, 95], "zfact_aux": 8, "pred": [8, 31], "mul": [8, 78], "zfact_tr": 8, "of_int": [8, 78], "30414093201713378043612608166064768844377641568960512000000000000": 8, "load": [8, 20, 40, 41, 42, 47, 50, 65, 66, 76, 78, 94], "symbol": [8, 12, 42, 65, 66, 68, 69, 92], "comparison": [8, 14, 22, 41, 49, 77, 79, 80, 94], "predecessor": 8, "subtract": [8, 45, 55, 65], "dive": [9, 50, 56, 61, 66, 85], "talk": [9, 16, 18, 30, 64, 66, 82, 85, 92], "secondari": 9, "skill": [9, 65, 70], "five": [9, 28, 40, 63, 94], "essenti": [9, 13, 17, 22, 33, 37, 42, 46, 47, 54, 61, 79, 80, 82, 83, 91, 92, 95], "textual": [9, 87], "whitespac": [9, 12, 65, 66, 85], "annoi": [9, 10, 16, 81, 87], "accept": [9, 12, 18, 45, 64, 66, 69, 85, 87], "wish": [9, 95], "unusu": [9, 27, 92], "apl": 9, "keyboard": [9, 47, 62, 69, 95], "tab": [9, 41, 42, 66, 95], "newlin": [9, 10, 47], "speak": [9, 40, 67, 75], "plural": 9, "singular": 9, "legal": [9, 25, 35, 39, 62, 77, 79, 92], "challeng": [9, 12, 14, 17, 23, 41, 47, 60, 61, 64, 77, 80, 94], "hurdl": 9, "overcom": 9, "approach": [9, 13, 14, 16, 18, 19, 23, 24, 47, 64, 70, 71], "fluent": 9, "mode": [9, 41, 70], "paradigm": [9, 11, 47], "bundl": [9, 72, 80], "lazi": [9, 41, 43, 44, 50], "virtu": [9, 79, 84], "core": [9, 22, 25, 27, 45, 47, 60, 63, 64, 74, 79, 83], "unabl": [9, 45], "integr": 9, "appar": [9, 18, 42, 58, 72, 76, 86, 95], "exposur": [9, 75], "ounit": [9, 13, 15, 20, 28, 29, 80, 87], "framework": [9, 29, 30, 33, 47, 80], "junit": [9, 33], "hunit": [9, 33], "besid": [9, 56, 65, 95], "abil": [9, 16, 17, 20, 21, 36, 47, 57, 74, 76, 79, 81], "print_char": 10, "print_float": 10, "bae": [10, 47, 94], "undon": 10, "boilerpl": [10, 45], "discard": [10, 33, 79], "depend": [10, 13, 14, 21, 25, 28, 33, 40, 42, 45, 47, 48, 57, 64, 66, 67, 70, 74, 80, 82, 85, 92, 95], "surround": [10, 30, 64, 65, 85], "warn": [10, 12, 21, 25, 27, 30, 63, 66, 92, 95], "truli": [10, 20, 28, 34, 48, 69], "intent": [10, 15, 16, 17, 23], "statist": [10, 20, 41, 42], "print_stat": 10, "num": 10, "print_newlin": [10, 58], "84": [10, 30], "39": [10, 30, 35, 81, 92], "shorten": 10, "println": [10, 45], "inherit": [10, 17, 80, 81, 83], "fortran": [10, 71, 85], "invent": [10, 13, 15, 17, 19, 32, 33, 42, 44, 45, 47, 48, 64, 67, 69, 78, 79, 80, 85, 92], "plain": [10, 25], "dozen": 10, "apart": [10, 30, 73], "content": [10, 32, 41, 45, 46, 47, 58, 70, 76, 77, 79, 87, 88, 91, 92, 94, 95], "flush": 10, "sit": [10, 64], "detect": [10, 12, 15, 18, 24, 30, 64, 67, 74, 95], "34": [10, 28, 30, 49, 80, 81], "37": [10, 30, 81], "sprintf": [10, 45, 78], "collect": [10, 13, 18, 20, 25, 37, 45, 51, 54, 58, 63, 64, 66, 71, 74, 80, 85], "string_of_stat": 10, "throughout": [11, 21, 25, 56, 64, 67, 68, 74, 77, 94], "deepen": 11, "pipelin": [11, 30, 53, 56, 60, 79, 85], "caml": [11, 36, 50, 60, 73, 75, 86, 93], "music": [11, 47], "javascript": [11, 47, 64], "cute": 11, "anim": [11, 64], "disnei": 11, "song": [11, 70], "interfac": [12, 14, 15, 18, 20, 21, 41, 42, 45, 46, 47, 74, 76, 77, 78, 79, 80, 81, 82, 83, 86, 91, 92, 94, 95], "jshell": [12, 54, 58, 77], "handi": 12, "reliant": 12, "repl": 12, "eval": [12, 14, 15, 95], "exit": [12, 20, 41, 47, 65], "kei": [12, 15, 20, 24, 26, 28, 41, 42, 44, 46, 47, 48, 50, 53, 62, 74, 78, 79, 82, 85], "dissect": 12, "infrastructur": [12, 47], "translat": [12, 14, 65, 67], "pdf": [12, 75, 94], "indent": [12, 47, 63, 77], "view": [12, 18, 22, 47, 77, 79, 82, 85, 94, 95], "md": 12, "myst": [12, 94], "markdown": [12, 94], "stai": [12, 40, 48], "dear": [12, 78], "arrow": [12, 64, 67, 80, 91, 95], "visual": [12, 13, 18, 47, 94], "amen": 12, "placehold": [12, 92], "unprint": [12, 77], "vocabulari": [12, 22, 24], "strategi": [12, 42, 49, 63, 65, 67], "mycod": 12, "unbound": [12, 16, 33, 35, 49, 64, 65, 67, 69, 77, 80, 81, 85, 87], "incr": [12, 47, 67, 87, 92], "bug": [12, 13, 15, 16, 18, 19, 21, 23, 24, 30, 32, 33, 47, 67, 74], "tempt": [12, 16, 17, 20, 24, 58, 64, 74, 76, 80, 85], "resist": 12, "temptat": 12, "stale": 12, "infeas": 13, "plu": [13, 15, 22, 40, 63, 64, 66, 69, 78], "sig": [13, 14, 15, 18, 20, 41, 42, 44, 45, 46, 47, 49, 69, 76, 77, 78, 79, 80, 81, 84, 85, 87, 91], "r1": [13, 78, 92], "r2": [13, 78, 92], "struct": [13, 14, 18, 29, 35, 41, 42, 44, 45, 46, 47, 49, 69, 76, 77, 78, 79, 80, 81, 84, 85, 87, 91], "af": [13, 14, 15, 18, 24, 42, 46, 49, 89, 91], "ri": [13, 14, 15, 18, 24, 41, 42, 47, 49, 89, 91, 92], "q1": [13, 40], "q2": [13, 40], "252": [13, 30], "nanosecond": 13, "59": [13, 30], "carefulli": [13, 16, 18, 24, 30, 33, 44, 47, 48, 73], "convinc": [13, 17, 24, 30, 48, 82], "correctli": [13, 18, 19, 20, 24, 27, 28, 42, 45, 47, 67, 92, 95], "126": [13, 30], "across": [13, 42, 49, 52, 74, 82], "whole": [13, 47, 48, 49, 61, 64, 95], "compris": 13, "fashion": [13, 47], "achiev": [13, 15, 30, 40, 42, 46, 48, 51, 58, 74, 78, 79, 80, 81, 86], "coverag": [13, 15, 23], "surfac": [13, 95], "boundari": [13, 21, 23], "corner": [13, 18, 25, 27], "elicit": 13, "path": [13, 18, 23, 28, 41, 46, 48, 95], "min_int": [13, 32], "max_int": 13, "quadrant": [13, 28], "evenli": 13, "advertis": 13, "list_max": [13, 28, 32], "spec": [13, 15, 16, 18, 21, 24], "realiz": [13, 16, 17, 25, 72], "arrang": [13, 42, 62], "ascend": 13, "accuraci": [13, 16], "signific": [13, 18, 64], "digit": [13, 66, 70], "consum": [13, 23, 94], "mem": [13, 14, 15, 18, 37, 48, 78, 79, 80, 81], "iff": [13, 48], "unchang": [13, 19, 25, 34, 42, 46, 48, 62, 67, 78, 79, 91], "increas": [13, 24, 28, 30, 40, 41, 44, 48, 57, 78], "white": [13, 66, 91], "condition": [13, 56], "unexecut": 13, "explor": [13, 30, 62, 95], "max3": 13, "trigger": [13, 15, 23, 24, 42], "absenc": [13, 19, 37, 74, 85], "against": [13, 22, 25, 27, 28, 30, 34, 45, 49, 51, 55, 58, 63, 64, 66, 67], "invari": [13, 15, 23, 28, 41, 44, 47, 48, 76, 78, 85], "rep": [13, 18, 23, 41, 42, 46], "advantag": [13, 16, 18, 49, 55, 77], "parallel": [13, 47, 50], "rewritten": [13, 62, 85], "caught": [13, 18, 74], "disadvantag": [13, 16], "high": [13, 14, 16, 20, 41, 42, 47, 58, 61, 64, 65, 66, 77], "aid": [13, 95], "assess": 13, "bisect_ppx": [13, 95], "instrument": 13, "mainli": 13, "ppx": 13, "report": [13, 69, 74, 94], "got": [13, 14, 17, 33, 47, 49, 66], "merg": [13, 64, 80], "test_sort": 13, "skeleton": 13, "dune": [13, 20, 33, 41, 47, 66, 76, 78], "ounit2": [13, 20, 27, 33, 87, 95], "backend": 13, "bisectnnnn": 13, "newli": [13, 35, 42, 80, 87, 92], "_coverag": 13, "percent": 13, "uncom": 13, "delet": [13, 33, 41, 48], "tradeoff": [13, 40, 42, 58, 59, 79], "nondeterminist": [13, 47, 50, 92, 93], "affect": [13, 41, 42, 64, 72, 74, 79, 92], "runner": 13, "sequenti": [13, 45, 47, 50, 64], "ceas": 13, "tackl": 14, "proof": [14, 17, 19, 22, 23, 24, 30, 47, 48, 73], "analog": [14, 46, 47, 48, 49, 65, 77, 83, 85, 89], "complex": [14, 16, 18, 24, 38, 40, 47, 50, 74, 78, 79, 82, 83], "effici": [14, 15, 18, 19, 26, 28, 30, 31, 40, 41, 42, 43, 46, 48, 49, 50, 53, 54, 56, 58, 59, 62, 64, 67, 78, 79, 90, 92, 93], "map": [14, 15, 18, 25, 26, 28, 29, 35, 39, 41, 43, 45, 49, 50, 53, 54, 55, 56, 59, 60, 62, 64, 65, 69, 74, 78, 85, 86, 88, 89], "balanc": [14, 16, 21, 53, 64, 66, 70, 79, 80], "binari": [14, 19, 22, 28, 36, 37, 41, 42, 44, 51, 62, 64, 65, 66, 67, 69, 78, 79, 80], "pursu": [14, 84], "algebra": [14, 19, 22, 23, 29, 36, 38, 45, 48, 60, 64, 74, 78, 79], "school": [14, 64], "is_empti": [14, 15, 76, 77, 79, 80, 85], "peek": [14, 33, 45, 76, 77, 79, 80, 85, 91], "cautious": 14, "relax": [14, 15, 41, 48, 66, 79, 92], "prohibit": 14, "alon": [14, 67, 95], "chosen": [14, 20, 67, 85], "liststack": [14, 76, 77, 79, 80, 85], "hd": [14, 27, 28, 30, 41, 49], "con": [14, 15, 18, 25, 26, 30, 36, 37, 40, 41, 42, 46, 49, 51, 55, 58, 76, 79, 80, 81], "tl": [14, 28, 30, 41, 49, 79], "front": [14, 17, 24, 26, 39, 58, 65, 68, 79, 87, 92, 95], "enq": 14, "deq": 14, "3a": 14, "3b": 14, "4a": 14, "4b": 14, "obvious": [14, 15, 16, 19, 49, 62, 66, 78, 92], "enqueu": [14, 40, 47, 78, 79], "dequeu": [14, 40, 78, 79], "listqueu": [14, 78, 79], "lemma": [14, 15, 19, 22, 48], "xs": [14, 22, 30, 33], "ys": [14, 22], "qed": [14, 19, 22], "batchedqueu": [14, 78, 79], "rev": [14, 15, 20, 28, 49, 54, 55, 58, 79], "abstractli": [14, 18, 42, 47, 82], "adopt": [14, 19, 47, 57, 64], "distribut": [14, 15, 41, 42, 48, 66, 74, 95], "unstuck": 14, "canon": [14, 23], "categor": [14, 15], "queri": [14, 15, 23, 42, 47], "subcas": [14, 64], "6a": 14, "6b": 14, "game": [15, 47, 49], "deviou": [15, 16], "num_vowel": 15, "is_sort": [15, 20], "is_prim": 15, "is_palindrom": 15, "second_largest": 15, "depth": [15, 28, 51], "c_n": 15, "dotsb": [15, 40], "c_0": 15, "dens": 15, "coeffici": 15, "incomplet": [15, 16], "3x": [15, 40], "subvert": 15, "impl": [15, 81], "interv": [15, 42], "rep_ok": [15, 18], "to_str": [15, 18, 24, 78, 84], "install_print": [15, 77, 78, 84], "dictionari": [15, 18, 26, 29, 35, 36, 42, 50, 53, 62, 65, 67, 79, 80], "k": [15, 19, 22, 26, 40, 41, 42, 46, 79], "heavi": [15, 77], "box": [15, 19, 23, 32, 41, 45, 47], "listset": [15, 18, 79, 80, 81], "glass": [15, 19, 23], "bisect": 15, "uniqlistset": [15, 18, 79, 80, 81], "qcheck": [15, 95], "gen": [15, 20, 67], "generate1": [15, 20], "length": [15, 16, 18, 20, 25, 28, 30, 40, 42, 44, 46, 48, 49, 53, 55, 64, 74, 77, 78, 79, 85, 88], "is_even": [15, 20], "divisor": [15, 45, 78], "buggi": [15, 24, 25, 33], "odd_divisor": 15, "exceed": 15, "smallest": [15, 24, 48], "avg": 15, "h1": [15, 20, 28, 49], "h2": [15, 20, 28, 44, 49], "exp": [15, 41], "induct": [15, 23, 30, 36, 48, 67, 69], "fibi": 15, "prev": 15, "curr": 15, "expsq": 15, "strong": [15, 79], "redo": [15, 64, 95], "mult": [15, 66, 67, 69], "append": [15, 22, 30, 36, 53, 58, 66, 79], "nil": [15, 25, 30, 36, 37, 46, 49, 51], "dist": 15, "revers": [15, 16, 20, 30, 40, 45, 54, 55, 58, 79, 87], "lst1": [15, 18, 22, 30, 54, 58, 92], "lst2": [15, 18, 22, 30, 54, 58, 92], "involut": [15, 20, 22], "reflect": [15, 22, 64, 71, 77, 81, 87], "leaf": [15, 22, 28, 36, 37, 41, 48, 51], "fold": [15, 18, 41, 53, 56, 60, 80, 88], "fold_left": [15, 16, 18, 22, 42, 51, 53, 55, 59, 88, 89], "fold_right": [15, 22, 51, 53, 55, 80, 81, 89], "commut": [15, 22, 23, 55], "concat": [15, 18, 28, 55], "concat_l": 15, "concat_r": 15, "proposit": [15, 67], "equat": [15, 22, 23, 45, 56, 64, 84], "strikingli": 15, "bag": 15, "multiset": 15, "blend": [15, 65, 67, 71], "signatur": [15, 18, 20, 41, 47, 69, 76, 77, 78, 80, 81, 83, 84, 85, 86], "decreas": [15, 20, 28, 40], "began": [16, 70], "audienc": [16, 23, 76], "verbos": [16, 58, 64, 76, 85], "commun": [16, 17, 23, 47, 72, 73, 94], "ingredi": 16, "forget": [16, 25, 27, 28, 30, 47, 65, 67, 95], "sqr": 16, "accur": [16, 85, 87], "Its": [16, 18, 30, 42, 47, 55, 60, 64, 80, 85], "wors": [16, 45, 48, 59, 81, 95], "0e": 16, "verbiag": 16, "plow": 16, "struck": 16, "breviti": 16, "partial": [16, 18, 19, 23, 25, 30, 45, 52, 55, 58, 64, 67, 81], "domain": [16, 18, 56, 65, 74], "straightforward": [16, 85, 94], "legitim": 16, "bad": [16, 18, 32, 40, 41, 42, 48, 59, 79, 81, 90], "establish": [16, 17, 23, 24, 44, 48, 69, 90], "contract": [16, 21, 82], "burden": [16, 74], "onto": [16, 30, 40, 42, 46, 49, 66, 77, 79, 85], "throw": [16, 44, 48, 55, 92], "constraint": [16, 18, 25, 42, 48, 63, 68, 86], "improperli": 16, "misbehav": 16, "recommend": [16, 75, 95], "tend": [16, 18, 24, 42, 67], "encourag": 16, "wrap": [16, 32, 40, 41, 45, 49], "complain": [16, 85], "silent": 16, "innumer": 16, "secur": [16, 20, 42, 74, 92], "met": [16, 21], "avoid": [16, 24, 25, 30, 44, 45, 47, 48, 56, 63, 66, 68, 72, 77, 79, 81, 84, 85], "necess": 16, "distract": [16, 66], "illustr": [16, 40, 49, 77, 85, 92], "meet": [16, 22, 85], "refin": [16, 24], "settl": 16, "nth": [16, 28, 35, 41, 44, 49, 53], "her": [16, 58, 85], "advoc": [16, 24], "ruthless": 16, "561": 16, "quak": 16, "arena": 16, "engin": [16, 20, 23, 24, 64, 67, 80, 81, 94, 96], "shovel": 16, "wield": 16, "interspers": [16, 40], "necessari": [16, 18, 21, 30, 40, 41, 45, 55, 64, 65, 67, 79, 80, 95], "pictur": 16, "paragraph": [16, 47, 79, 94, 95], "mark": [16, 48, 63, 65, 66, 80], "brief": [16, 20, 65, 85], "number_of_zero": 16, "the_list": 16, "list_el": 16, "emb": [16, 65], "is0": 16, "zs": [16, 22], "i_count": 16, "hover": [16, 95], "hope": [17, 51], "thought": [17, 27, 56], "bore": 17, "altogeth": [17, 47], "postpon": 17, "matur": 17, "ground": 17, "oppos": [17, 22], "head": [17, 21, 25, 28, 30, 32, 36, 40, 41, 49, 51, 54, 55, 58, 67, 79, 82], "er": 17, "cognit": 17, "importantli": 17, "capsul": 17, "unreach": 17, "archeolog": 17, "evid": [17, 19, 22, 23, 33], "unintellig": 17, "empathi": 17, "commit": 17, "distant": 17, "fleet": 17, "somedai": [17, 58, 80], "todai": [17, 70, 71], "clue": [17, 35], "breadcrumb": 17, "scientist": [17, 24, 47], "demand": [17, 49, 54], "arrog": 17, "humil": 17, "beings": 17, "amazingli": [17, 29, 55], "delud": 17, "echo": [17, 47, 70, 78], "chamber": 17, "media": 17, "demonstr": [17, 31, 40, 41, 49, 63, 79, 92], "ten": 17, "absolut": [17, 19, 24, 40, 41, 67], "weren": 17, "clever": [17, 47, 48, 49, 58, 79], "replic": [17, 18], "crucial": [17, 18, 23, 33, 40, 74, 79, 80, 82], "captur": [17, 46, 63, 68], "furthermor": [17, 64], "craft": 17, "meanwhil": [17, 47, 58, 65], "critic": [17, 21, 24, 26, 95], "live": [17, 81, 94, 95], "intern": [18, 20, 44, 47, 55, 68, 76, 77, 96], "relev": [18, 66, 75], "inappropri": 18, "risk": 18, "evolv": [18, 47, 73, 74, 85], "sync": [18, 95], "fall": [18, 42, 70, 76, 94, 96], "categori": [18, 45, 51, 80], "aris": [18, 48, 78], "pure": [18, 19, 40, 45, 47, 48, 50, 79, 86, 90, 93], "signal": 18, "item": [18, 37, 77, 80, 81, 84, 85], "unord": 18, "member": [18, 37, 48, 83, 87], "rem": 18, "minu": [18, 35, 40, 64, 66, 78], "cardin": [18, 35, 80], "s1": [18, 45, 47, 64, 80, 85], "s2": [18, 45, 47, 64, 85], "inter": [18, 30], "simplic": [18, 79], "duplic": [18, 20, 41, 42, 45, 58, 66, 76, 78, 79, 80, 81], "filter": [18, 30, 41, 42, 53, 55, 56, 60, 80], "sort_uniq": [18, 42, 53, 79, 80, 81], "judg": [18, 30, 50], "rest": [18, 30, 33, 44, 45, 47, 62, 64, 65, 77, 79, 80, 81, 82, 91, 95], "lack": [18, 19, 77], "act": [18, 31], "ideal": 18, "invis": [18, 64], "belong": [18, 28, 76], "a1": [18, 41, 46, 49, 53, 55, 64], "b1": [18, 41, 49], "bm": 18, "reinforc": 18, "redund": [18, 30, 33, 44, 65], "hypothet": [18, 45, 85], "readabl": [18, 55, 69, 79, 85], "conveni": [18, 27, 30, 48, 49, 55, 64, 65, 69, 74, 79, 80], "queue": [18, 43, 58, 78], "heap": [18, 47], "string_of_v": 18, "uniq": 18, "interior": [18, 48], "to_list": [18, 79, 91, 92], "formatt": [18, 77, 78, 84], "encapsul": [18, 45, 74, 78, 83, 84, 86], "usabl": [18, 77, 85], "programmat": 18, "obtain": [18, 41, 48, 49, 63], "undefin": [18, 31], "preserv": [18, 48, 65, 68, 69, 80], "isol": [18, 82], "provabl": [18, 65], "incom": 18, "convent": [18, 30, 77, 85], "outsid": [18, 41, 44, 64, 77, 81, 85, 87, 92], "saniti": 18, "copiou": 18, "creation": [18, 48, 88, 92], "compare_length": 18, "linearithm": [18, 53, 79, 81], "destroi": [18, 42], "previous": [18, 45, 51, 56, 64, 69, 77, 80, 92], "appropri": [18, 19, 41, 42, 51, 80, 85], "macro": 18, "reinstat": 18, "rep_ok_expens": 18, "codebas": 18, "noassert": 18, "disabl": [18, 47, 95], "portion": 18, "assur": [19, 24], "presenc": [19, 30], "edsger": 19, "w": [19, 25, 63, 67, 68, 92], "dijkstra": [19, 23], "useless": [19, 21], "premis": 19, "straightforwardli": 19, "41": [19, 30, 85, 92], "token": [19, 63, 65, 66, 68, 96], "axiom": [19, 78], "extension": [19, 23], "polymorph": [19, 28, 36, 68, 74, 77, 85, 92], "refus": 19, "compos": [19, 45, 47, 56, 60, 82], "composit": [19, 35, 42, 47, 50, 53, 64], "sumto": 19, "summat": [19, 35, 41, 55], "claim": [19, 22, 28, 47, 73, 79, 85], "ih": [19, 22], "sumto_clos": 19, "corollari": 19, "se": 19, "elid": [19, 20, 55], "facti": [19, 22], "while": [19, 20, 42, 43, 46, 47, 48, 72, 73, 77, 80, 82, 83, 88, 89, 94, 95], "share": [19, 30, 36, 46, 47, 55, 76, 79, 80, 84, 86, 94, 95], "decrement": [19, 45, 88, 92], "unfortun": [19, 20, 42, 45, 49, 67, 76, 79, 80], "neither": [19, 45, 48, 51, 55, 79, 90], "abort": [19, 78], "astrai": 19, "moment": [19, 40, 85], "f_r": 19, "op": [19, 22, 45, 55, 63], "meant": [19, 20, 30, 62, 67, 69, 77, 91, 92, 95], "f_i": 19, "f_tr": 19, "fact_i": 19, "held": [19, 48], "sumto_r": 19, "sumto_i": 19, "sumto_tr": 19, "thank": [19, 55], "halt": [19, 41], "smart": 19, "heurist": 19, "despit": [19, 46, 79, 92, 95], "x0": 19, "x3": [19, 67], "finit": [19, 25, 41, 49, 65, 66, 88], "descent": 19, "bottom": [19, 48, 59, 77, 80, 81, 95], "hit": [19, 34, 35], "reach": [19, 22, 27, 40, 41, 42, 46, 47, 49, 63, 67, 69, 89], "ack": 19, "ackermann": 19, "famou": [19, 47], "lexicograph": 19, "fuzz": 20, "feed": 20, "behav": [20, 24, 41, 45, 47, 62, 63, 64, 77, 79, 86, 91], "believ": [20, 72, 74], "crash": [20, 92], "encrypt": [20, 45], "decrypt": [20, 45], "enigma": 20, "incred": [20, 72], "vulner": [20, 92], "digress": 20, "facil": 20, "unpredict": 20, "pseudorandom": [20, 41], "discern": [20, 69], "determinist": [20, 24, 50, 66, 92, 93], "seed": 20, "pseudo": 20, "pseud\u0113": 20, "prng": 20, "phrase": [20, 56, 78, 92], "44": [20, 28, 30], "85": [20, 30, 92], "82": [20, 30], "Not": [20, 40, 44, 46, 91, 92], "eh": 20, "cryptographi": 20, "simul": [20, 41, 67, 80], "Their": [20, 46, 48, 88], "get_stat": 20, "request": [20, 47, 49, 79, 87], "self_init": 20, "make_self_init": 20, "sampl": [20, 24, 89], "dev": 20, "urandom": 20, "96": [20, 30], "51": [20, 30], "rand": 20, "suppli": [20, 77, 85], "small_int": 20, "int_rang": 20, "list_siz": 20, "small_str": 20, "randomli": [20, 42, 48, 95], "characterist": [20, 30, 56], "pseudorandomli": 20, "shrink": 20, "stat": [20, 41, 42], "qcheck2": 20, "abstr": [20, 42, 47, 76, 77, 79, 80, 84], "qcheck_runn": 20, "run_test": 20, "2k": 20, "65051295": 20, "1mfailur": 20, "0m": 20, "anon_test_1": 20, "printer": [20, 33, 77, 78, 84], "ran": [20, 33, 95], "run_tests_main": 20, "run_test_tt_main": [20, 27, 33], "to_ounit2_test": 20, "told": 20, "properli": [20, 63, 85], "privat": [20, 47, 77, 81, 86, 94], "luckili": 20, "list_of_s": 20, "my_test": 20, "77": [20, 30], "double_check": 20, "1msuccess": 20, "drawn": 20, "bring": [20, 33, 40, 41, 85], "rev_involut": 20, "uniformli": [20, 42], "nat": [20, 22, 31, 41, 49], "bias": 20, "small_nat": 20, "anon_test_4": 20, "mli": [21, 76, 78, 80], "spell": [21, 49], "blame": [21, 82], "misus": [21, 42, 76], "deliv": [21, 47], "feasibl": 21, "team": [21, 24, 74, 82, 83, 94], "everyon": [21, 47, 82], "agre": [21, 67, 85], "slip": 21, "crack": 21, "conflict": 21, "suffici": [21, 42], "research": [21, 24, 64, 75, 80], "misunderstand": 21, "decis": [21, 51, 85], "obsolet": 21, "modular": [21, 70, 83, 86], "hide": [21, 47, 50, 77, 82, 83, 86, 92], "disclos": 21, "modifi": [21, 23, 28, 33, 40, 44, 48, 77, 78, 81, 86, 89, 91, 92, 94], "reimplement": [21, 54], "enhanc": 21, "bottleneck": 21, "barrier": 21, "vice": [21, 31, 38, 42, 52, 85], "versa": [21, 31, 38, 42, 52, 85], "enforc": [21, 47, 82], "promot": [21, 51], "hung": 22, "mismatch": [22, 67, 69, 77, 81, 85], "successor": [22, 31, 91], "unari": [22, 65, 84], "decim": 22, "trivial": [22, 26, 33, 41, 45, 47, 64], "concept": [22, 47, 66, 67, 85], "inner": [22, 30, 45, 77, 85], "outer": [22, 30], "interchang": [22, 80], "resum": [22, 95], "restart": [22, 47, 87], "succeed": [22, 49, 55, 81], "wasn": [22, 92], "fluke": 22, "subtre": [22, 37, 41, 44, 48, 51, 78, 80], "ih1": 22, "ih2": 22, "mirror": 22, "imag": 22, "styliz": 22, "expr": [22, 63, 66, 67, 69], "uop": 22, "uminu": 22, "bop": [22, 62, 64, 66, 67, 69], "bplu": 22, "bminu": 22, "bleq": 22, "unop": 22, "binop": [22, 66, 67, 69], "strike": [22, 64], "adt": [22, 48], "organiz": 22, "methodolog": [23, 24], "complementari": [23, 47], "orthogon": [23, 67], "hoar": [23, 32], "toni": [23, 32], "weakest": [23, 48], "walkthrough": [23, 24], "diagram": [23, 28, 46], "minim": [23, 24], "ok": [23, 33, 34, 45, 77], "satisfact": 23, "barbara": [23, 70, 85], "liskov": [23, 70, 85], "john": [23, 50, 60, 66, 70], "guttag": [23, 70], "cousineau": 23, "michel": 23, "mauni": 23, "cambridg": [23, 50, 79], "1998": [23, 70], "paulson": 23, "1996": [23, 70], "richard": 23, "bird": 23, "2015": 23, "foundat": [23, 72, 86, 95], "volum": [23, 48], "benjamin": [23, 68, 86], "pierc": [23, 68, 86], "et": 23, "al": 23, "http": 23, "softwarefound": 23, "ci": 23, "upenn": 23, "edu": [23, 95], "robert": [23, 79, 86, 96], "mccloskei": 23, "www": 23, "scranton": 23, "mcclosk": 23, "se507": 23, "alg_specs_lec": 23, "theori": [23, 35, 45, 51, 56, 60, 62, 64, 66, 68, 72, 80], "shari": 23, "lawrenc": 23, "pfleeger": 23, "joann": 23, "atle": 23, "prentic": 23, "hall": 23, "kenneth": 23, "slonneg": 23, "barri": 23, "kurtz": 23, "addison": [23, 60], "weslei": [23, 60], "1995": [23, 71], "muffi": 23, "thoma": 23, "david": [23, 79], "watt": 23, "ehrig": 23, "mahr": 23, "springer": 23, "verlag": 23, "1985": 23, "treatment": [23, 68, 86], "inspir": [23, 40, 51, 67, 78], "indebt": [23, 56, 60], "materi": [23, 70, 94], "princeton": [23, 42], "co": [23, 70, 95], "326": 23, "walker": 23, "confid": 24, "assist": [24, 60], "coder": 24, "hurt": 24, "drive": 24, "prepar": [24, 67, 71], "beforehand": [24, 95], "qualiti": 24, "blameless": 24, "role": [24, 82], "navig": [24, 47, 95], "devil": 24, "clearer": [24, 45, 47, 59, 81], "shorter": [24, 30, 42, 58, 67, 77], "partner": 24, "trade": 24, "conduct": 24, "fagan": 24, "1976": 24, "thorough": 24, "75": [24, 30, 41, 42], "inspector": 24, "li": [24, 74], "valuabl": 24, "concurr": [24, 41, 43, 50, 74], "subtl": [24, 35, 48, 49, 58], "increasingli": 24, "emul": 24, "significantli": [24, 60, 66], "cheaper": 24, "wander": 24, "discoveri": [24, 64, 75], "inevit": [24, 76], "refut": 24, "crux": 24, "experiment": 24, "afraid": 24, "invalu": 24, "slap": 24, "danger": [24, 92, 95], "sun": [25, 35, 39], "mon": [25, 34, 35, 39], "tue": [25, 39], "wed": [25, 39], "fri": [25, 39], "sat": [25, 39], "ptype": [25, 28, 34, 35, 39], "tnormal": [25, 34, 35, 39], "tfire": [25, 34, 35, 39], "twater": [25, 34, 35, 39], "peff": [25, 39], "enorm": [25, 39], "enotveri": [25, 39], "esup": [25, 39], "shape": [25, 26, 28, 30, 48, 63, 74], "center": [25, 48], "rect": 25, "rectangl": [25, 26], "pi": [25, 30, 34, 35, 76, 79, 85], "y2": 25, "underli": [25, 35, 40, 42, 47, 55, 66, 67, 80, 81, 85, 94, 95], "tupl": [25, 29, 30, 36, 52, 63, 67, 88], "string_or_int": 25, "string_or_int_list": 25, "lst_sum": 25, "discrimin": 25, "double_right": 25, "c1": [25, 39, 44, 49, 64], "cn": [25, 39], "ti": [25, 34, 35, 48, 70], "color": [25, 41, 48, 91, 95], "blue": [25, 85], "string_of_color": 25, "green": [25, 85], "sudden": 25, "blind": 25, "wildcard": [25, 30, 36, 63], "robust": [25, 30, 55, 79], "life": [25, 63, 71], "alert": 25, "intlist": 25, "lst3": [25, 92], "lst123": 25, "mylist": [25, 37, 49, 51], "synonym": [25, 28, 36, 41, 45, 78, 80, 81], "cyclic": [25, 92], "circular": 25, "lst_hi": 25, "parametr": [25, 36, 64, 74], "perfectli": [25, 64, 85], "constrain": [25, 84], "occasion": [25, 40], "infti": 25, "fin_or_inf": 25, "infin": 25, "downsid": [25, 59], "backquot": 25, "neginfin": 25, "steer": 25, "nonagon": 26, "icosagon": 26, "bother": [26, 64, 79], "assoc": [26, 28, 42, 69, 79], "assoc_opt": [26, 42], "exn": [27, 28, 41, 47], "catch": [27, 32, 33, 36, 41, 47], "pn": [27, 30, 34, 35, 63], "pun": [27, 47], "packet": [27, 36], "oop": [27, 49, 85], "subexpress": [27, 35, 55, 58, 63, 64, 67, 69], "offici": 27, "nuanc": 27, "stipul": [27, 45, 76], "forgiven": 27, "propag": [27, 45, 47], "match_failur": [27, 30, 34], "p3": 27, "p4": 27, "assert_rais": 27, "succe": [27, 30, 33, 34, 50, 65, 67, 80, 87, 94], "thunk": [27, 43, 49, 50], "suspend": [27, 43, 49], "delai": [27, 41, 47, 49, 50, 64, 78, 85], "typecheck": [27, 69], "fifth": [28, 66, 95], "any_zero": 28, "drop": [28, 49, 64, 94], "revis": [28, 33, 37, 45, 63, 64, 70, 77], "unimod": 28, "is_unimod": 28, "monoton": 28, "segment": 28, "powerset": 28, "print_int_list": 28, "fill": [28, 41, 42, 44, 45, 47, 63, 78, 89], "first_nam": 28, "last_nam": 28, "gpa": [28, 89], "pokerecord": 28, "pok\u00e9mon": [28, 34, 39], "poketyp": 28, "fire": 28, "water": 28, "pokemon": [28, 34], "hp": [28, 34, 35], "charizard": 28, "78": [28, 30], "squirtl": 28, "safe_hd": 28, "safe_tl": 28, "pokefun": 28, "max_hp": 28, "tripl": [28, 34, 35, 36], "2013": [28, 70], "era": [28, 72], "is_befor": 28, "januari": 28, "februari": 28, "leap": 28, "earliest": [28, 30, 70], "card": 28, "deck": 28, "rank": 28, "jack": 28, "queen": 28, "king": 28, "ac": [28, 85], "club": 28, "diamond": 28, "seven": 28, "spade": 28, "borrow": 28, "wikipedia": 28, "lie": 28, "axi": [28, 48], "quad": [28, 40, 53, 56], "iii": [28, 95], "iv": 28, "po": 28, "quadrant_when": 28, "same_shap": 28, "list_max_str": 28, "is_bst": 28, "visit": [28, 37], "enum": [29, 39], "paus": [29, 45, 46, 49, 64], "couldn": [29, 77, 80, 90], "null": [29, 32, 92], "behind": [29, 45, 49, 62, 71, 74, 77, 94], "singli": [30, 35, 36, 58, 79], "statu": [30, 85], "mainstream": [30, 57, 71, 72, 80, 94], "elt": [30, 55], "prepend": [30, 36, 49], "truct": 30, "verb": 30, "sweeter": 30, "sweet": [30, 58], "desugar": [30, 35, 36, 63, 67, 68], "consequ": [30, 64], "ei": [30, 35, 88], "video": [30, 35, 61, 87, 94, 96], "uh": 30, "fit": [30, 67], "inc_first": 30, "proportion": 30, "saw": [30, 41, 44, 45, 60, 64, 65, 76, 79, 80, 84, 85], "vertic": 30, "illeg": [30, 67], "expand": [30, 94], "b_1": 30, "b_2": 30, "cup": [30, 72], "b_i": [30, 35], "bigcup_i": [30, 35], "justif": 30, "ta": [30, 70], "tb": 30, "emit": 30, "defend": 30, "sorri": 30, "cell": [30, 46, 47, 92, 93, 94], "split": [30, 77, 79, 80], "jupyterbook": 30, "unus": [30, 42, 67], "latent": 30, "length_i": 30, "face": [30, 47, 76], "highlight": [30, 94, 95], "typeset": [30, 69, 94], "npl": 30, "caller": [30, 32], "sum_tr": 30, "sum_plus_acc": 30, "entail": 30, "post": [30, 76, 94], "medium": [30, 36], "overhead": [30, 65], "long_list": 30, "16": [30, 40, 41, 42, 44, 55, 63, 85, 86], "23": [30, 41], "26": [30, 33, 46, 80, 85], "35": [30, 80, 85], "40": [30, 40, 96], "45": [30, 33, 47], "46": 30, "47": [30, 77], "48": 30, "49": 30, "53": 30, "54": 30, "55": [30, 49], "56": 30, "57": 30, "58": 30, "61": 30, "66": [30, 77], "67": 30, "68": 30, "69": 30, "70": 30, "71": 30, "72": 30, "73": 30, "74": 30, "76": 30, "79": 30, "80": [30, 73, 95], "81": 30, "83": [30, 33], "86": 30, "87": 30, "88": 30, "90": [30, 66], "91": 30, "92": 30, "93": 30, "94": 30, "95": 30, "97": 30, "98": 30, "99": 30, "101": 30, "102": 30, "103": 30, "105": 30, "106": 30, "107": 30, "108": 30, "109": 30, "110": [30, 63, 67], "111": 30, "112": 30, "113": 30, "114": 30, "115": 30, "116": 30, "117": 30, "118": 30, "119": 30, "120": [30, 92], "121": 30, "122": 30, "124": 30, "125": 30, "127": 30, "128": 30, "129": 30, "130": 30, "131": 30, "132": 30, "133": 30, "134": 30, "135": 30, "136": 30, "137": [30, 80], "138": 30, "139": 30, "140": 30, "141": 30, "142": 30, "143": 30, "144": 30, "145": [30, 46], "146": 30, "147": [30, 46], "148": 30, "149": 30, "151": 30, "152": 30, "153": 30, "154": 30, "155": 30, "156": 30, "157": 30, "158": 30, "159": 30, "160": 30, "161": 30, "162": 30, "163": 30, "164": 30, "165": 30, "166": 30, "167": 30, "168": 30, "169": 30, "170": 30, "171": 30, "172": 30, "173": 30, "174": 30, "175": 30, "176": 30, "177": 30, "178": 30, "179": 30, "180": 30, "181": 30, "182": 30, "183": 30, "184": 30, "185": 30, "186": 30, "187": 30, "188": 30, "189": 30, "190": 30, "191": 30, "192": 30, "193": 30, "194": 30, "195": 30, "196": 30, "197": 30, "198": 30, "199": 30, "200": [30, 40, 94, 96], "201": 30, "202": 30, "203": 30, "204": 30, "205": 30, "206": 30, "207": 30, "208": 30, "209": 30, "210": 30, "211": [30, 70], "212": [30, 70], "213": 30, "214": 30, "215": 30, "216": 30, "217": 30, "218": 30, "219": 30, "220": 30, "221": 30, "222": 30, "223": 30, "224": 30, "225": 30, "226": 30, "227": 30, "228": 30, "229": 30, "230": 30, "231": 30, "232": 30, "233": 30, "234": 30, "235": 30, "236": 30, "237": 30, "238": 30, "239": 30, "240": 30, "241": 30, "242": 30, "243": 30, "244": 30, "245": 30, "246": 30, "247": 30, "248": 30, "249": 30, "251": 30, "253": 30, "254": 30, "255": 30, "256": 30, "257": 30, "258": 30, "259": 30, "260": 30, "261": 30, "262": 30, "263": 30, "264": 30, "265": 30, "266": 30, "267": 30, "268": 30, "269": 30, "270": 30, "271": 30, "272": 30, "273": 30, "274": 30, "275": 30, "276": 30, "277": 30, "278": 30, "279": 30, "280": 30, "281": 30, "282": 30, "283": 30, "284": 30, "285": 30, "286": 30, "287": 30, "288": 30, "289": 30, "290": 30, "291": 30, "292": 30, "293": 30, "294": 30, "295": 30, "296": 30, "297": 30, "298": 30, "len": 30, "succ": [31, 64], "versu": [31, 42, 58], "iszero": 31, "n1": 31, "n2": 31, "pred_n": 31, "int_of_nat": 31, "nat_of_int": 31, "sensibl": 32, "sir": 32, "billion": 32, "dollar": 32, "monad": [32, 41, 43, 47, 50], "unconstrain": 32, "habit": [32, 40, 95], "workflow": 33, "assert_equ": [33, 80], "singleton": [33, 80], "two_el": 33, "configur": [33, 42, 62, 68, 95], "project": [33, 42, 47, 66, 74], "disappear": [33, 47, 62], "fff": 33, "01": [33, 41], "ounitassert": 33, "assert_failur": 33, "src": [33, 66], "lib": 33, "advanc": [33, 35, 40, 42, 50, 64, 71, 74, 75, 77, 79, 80, 86, 88, 95], "ounitrunn": 33, "run_one_test": 33, "ail": 33, "onetwo": 33, "label": [33, 48, 63], "tester": 33, "make_sum_test": 33, "expected_output": 33, "ahead": [33, 42, 47, 64, 73, 95], "tdd": [33, 36], "exceedingli": 33, "sundai": 33, "mondai": [33, 40], "tuesdai": [33, 40], "wednesdai": [33, 40], "thursdai": [33, 40], "fridai": [33, 40], "saturdai": 33, "next_weekdai": 33, "weekdai": 33, "unimpl": 33, "tue_after_mon": 33, "weekend": 33, "wed_after_tu": 33, "thu_after_w": 33, "fri_after_thu": 33, "make_next_weekday_test": 33, "mon_after_fri": 33, "mon_after_sat": 33, "mon_after_sun": 33, "rare": [33, 40, 42, 64, 69, 79], "liter": [34, 47, 66, 77], "ch1": 34, "ch2": 34, "ch": 34, "uppercas": [34, 39, 85], "get_hp": 34, "thrd": 34, "quadrupl": [34, 56], "great": [35, 42, 45, 46, 55, 61, 62, 67, 71, 74, 75, 78, 79, 92, 93, 95], "pok\u00e9": 35, "namespac": [35, 83, 85, 86, 87], "charmand": 35, "f1": [35, 49], "fn": 35, "fi": 35, "hash": [35, 41, 43, 44, 48, 50, 79, 93], "g1": 35, "gn": 35, "gi": 35, "disjoint": 35, "sigma": 35, "cartesian": 35, "lightweight": [36, 47], "lengthi": [36, 85], "exploit": [36, 56, 81], "workhors": 36, "theoret": 36, "driven": 36, "child": [37, 48, 51], "sublist": [37, 54], "travers": [37, 41, 55, 79], "preorder": [37, 41, 51], "beautifulli": 37, "quadrat": [37, 40, 41, 58, 78, 81], "unbalanc": [37, 41], "preorder_lin": 37, "pre_acc": 37, "vector": [38, 53, 89], "exchang": 38, "get_x": 38, "int_of_dai": 39, "win": [39, 46, 55, 90], "attack": 39, "consider": [39, 64, 69, 85, 86], "rehash": [40, 41, 42], "defeat": 40, "excus": 40, "acknowledg": 40, "undertak": 40, "spread": [40, 74], "creativ": [40, 96], "sushi": 40, "ramen": 40, "amus": 40, "lunch": 40, "occas": [40, 79], "budget": 40, "financi": [40, 74], "pai": [40, 42, 46, 48, 55, 79, 95], "debt": 40, "t_1": [40, 64], "t_2": [40, 64], "t_n": 40, "resiz": [40, 41, 50, 88], "proactiv": 40, "hashtbl": [40, 41, 44, 48], "exce": [40, 41, 42], "bucket": [40, 41, 42, 48, 50], "8th": 40, "pretend": [40, 64, 69], "price": [40, 46, 79], "reinsert": 40, "incur": 40, "geometr": 40, "400": 40, "300": 40, "600": 40, "500": 40, "800": 40, "700": 40, "200k": 40, "200i": 40, "came": [40, 47, 64, 70, 72], "outbox": [40, 79], "becam": [40, 45, 58, 70, 94], "inbox": [40, 79], "prepai": 40, "bookkeep": 40, "conceptu": [40, 65, 80], "bank": 40, "deposit": 40, "credit": [40, 46, 50], "withdraw": 40, "energi": [40, 50], "transit": [40, 67], "offset": 40, "analyt": 40, "friend": [40, 47], "opinion": [40, 72], "qn": 40, "okasaki": [40, 50, 79, 86], "collis": [41, 42, 50, 85], "load_factor": [41, 42], "functori": [41, 42], "insensit": [41, 78], "obei": [41, 45, 78, 81], "hashedtyp": [41, 42], "hashcod": [41, 42], "probe": [41, 42, 50], "altern": [41, 49, 59], "databas": 41, "functor": [41, 42, 74, 78, 81, 83, 86], "bst": [41, 78], "bstset": 41, "inord": 41, "postord": 41, "rb": 41, "height": [41, 48, 80], "pow2": 41, "alphabet": [41, 51, 64, 80], "endless": 41, "unend": 41, "coin": 41, "flip": [41, 42], "predic": [41, 53, 54, 56], "interleav": [41, 47, 50, 67], "a2": [41, 46, 49, 53, 55, 64], "a3": [41, 46, 49], "b2": [41, 49], "b3": [41, 49], "sift": 41, "siev": 41, "eratosthen": 41, "cdot": [41, 58, 64, 79, 89], "e_term": 41, "1666": 41, "041666": 41, "stream": [41, 42, 49, 50, 54, 57, 58, 66, 67], "66666666666666652": 41, "70833333333333304": 41, "ep": 41, "toler": 41, "875": 41, "9375": 41, "96875": 41, "71666666666666634": 41, "investig": [41, 47, 48, 53, 78, 95], "distanc": 41, "mathit": [41, 69, 85], "epsilon": [41, 66], "lazier": 41, "lazy_t": [41, 49], "AND": 41, "lb1": 41, "lb2": 41, "lazysequ": [41, 49], "resolv": [41, 45, 47, 50, 64, 95], "lwt": [41, 50], "lwt_io": [41, 47], "printf": [41, 45, 47, 77, 78], "lwt_unix": 41, "sleep": [41, 47], "delay_then_print": 41, "timing2": 41, "_t1": 41, "printl": [41, 47], "_t2": 41, "_t3": 41, "timing3": 41, "timing4": 41, "join": [41, 47], "monitor": 41, "stdout": 41, "eof": [41, 66], "starter": [41, 63], "input_channel": [41, 47], "openfil": 41, "o_rdonli": 41, "fd": 41, "of_fd": 41, "ic": 41, "todo": 41, "read_lin": [41, 47, 92], "printlf": 41, "handler": [41, 47, 62], "end_of_fil": 41, "lwt_main": [41, 47], "mkfifo": 41, "cat": [41, 94], "opt": [41, 48, 79], "shown": [41, 46, 76, 94, 95], "fmap": [41, 79], "extmonad": 41, "unbox": [41, 45], "fmapjoinmonad": 41, "bindmonad": 41, "makemonad": 41, "listmonad": 41, "law": [41, 50], "wide": [42, 47, 60], "k_1": [42, 78], "v_1": [42, 78], "k_2": 42, "v_2": 42, "k_n": [42, 78], "v_n": [42, 78], "oo": [42, 77, 85], "charter": 42, "harvard": 42, "1636": 42, "1746": 42, "penn": 42, "1740": 42, "1865": 42, "brace": [42, 45, 95], "admittedli": [42, 45, 55, 56, 85], "of_list": [42, 80, 81], "slightli": [42, 44, 47, 55, 63, 91], "listmap": 42, "k1": [42, 79, 80], "k2": [42, 80], "kn": [42, 79], "offic": 42, "occup": 42, "459": 42, "fan": [42, 78], "460": 42, "gri": [42, 79], "461": 42, "clarkson": [42, 70, 96], "462": 42, "muhlberg": 42, "463": 42, "capac": 42, "directaddressmap": 42, "_in": 42, "bounds_": 42, "arraymap": 42, "v0": 42, "bs": 42, "ref": [42, 44, 46, 47, 64, 67, 88, 89, 93], "add_bind": 42, "iteri": [42, 89], "moreov": [42, 45, 46, 48, 49, 64, 67, 72, 77, 80, 85, 86], "tablemap": 42, "inject": [42, 50, 76], "collid": [42, 83], "scan": 42, "confusingli": 42, "stride": 42, "entri": [42, 44, 46, 53, 77, 78], "cluster": 42, "rapidli": [42, 47, 71], "circuitri": 42, "k11": 42, "v11": 42, "k12": 42, "v12": 42, "k21": 42, "v21": 42, "k22": 42, "v22": 42, "mbox": 42, "therebi": [42, 64, 80, 83], "restor": [42, 45, 48, 63, 65, 79], "halv": 42, "ruin": 42, "hashmap": 42, "insert_no_res": 42, "old_bucket": 42, "remove_assoc": [42, 79], "mem_assoc": 42, "new_capac": 42, "land": 42, "rehash_bind": 42, "rehash_bucket": 42, "resize_if_need": 42, "lf": 42, "remove_no_res": 42, "phone": [42, 47], "art": 42, "extrem": [42, 71], "sabotag": 42, "diffus": [42, 50], "trust": 42, "hash_c": 42, "hash_i": 42, "serial": [42, 50], "compress": 42, "forthcom": 42, "fortun": [42, 49], "sic": 42, "capabl": [42, 47, 86], "arbitrarili": [42, 48, 80], "predetermin": 42, "635296333": 42, "822221246": 42, "degrad": 42, "hash_param": 42, "_weak1": [42, 47, 64, 92], "_weak2": [42, 92], "num_bind": 42, "num_bucket": 42, "max_bucket_length": 42, "bucket_histogram": 42, "histogram": 42, "pump": 42, "sound": [42, 47, 64], "amort": [43, 48, 50, 79], "batch": [43, 78, 79], "cool": 43, "aptli": 43, "persist": [43, 48, 50, 74, 79, 86, 91], "organ": [43, 66, 76], "popular": [43, 45, 70, 74, 80, 94], "recomput": [44, 49], "speed": 44, "phi": [44, 79], "golden": 44, "ratio": [44, 78], "fibm": 44, "memo": 44, "f_mem": 44, "exclud": 44, "progress": [44, 46, 68, 69], "formerli": 44, "speedup": 44, "million": 44, "storag": 44, "benign": 44, "curri": [44, 64], "uncurri": [44, 52, 53], "memo_rec": 44, "fib_memo": 44, "compani": 44, "org": [44, 94], "chart": 44, "employe": 44, "invit": 44, "superior": 44, "weight": [44, 47, 94], "party_in": 44, "party_out": 44, "unmemo": 44, "optimum": 44, "infun": 44, "innam": 44, "outfun": 44, "outnam": 44, "lfun": 44, "lname": 44, "rfun": 44, "rname": 44, "substructur": 44, "charg": [44, 75], "linebreak": 44, "wlen": 44, "contlen": 44, "clen": 44, "l1": 44, "lb": 44, "target": [44, 65, 67, 68], "c2": [44, 49, 64], "br": 44, "break_result": 44, "lb_mem": 44, "phd": [45, 70, 74, 79], "concentr": [45, 62], "screen": [45, 47], "teas": [45, 73, 96], "max_list": 45, "inabl": 45, "lose": 45, "composition": 45, "div": 45, "plus_opt": 45, "minus_opt": 45, "mult_opt": 45, "div_opt": 45, "tremend": 45, "dedupl": 45, "propagate_non": 45, "wrap_output": 45, "fair": [45, 70], "de": 45, "upgrade_binari": 45, "return_binari": 45, "collaps": [45, 95], "inc_log": 45, "dec_log": 45, "loggabl": 45, "dec_log_upgrad": 45, "f_log": 45, "inc_log_upgrad": 45, "inconveni": 45, "addition": [45, 62, 81], "debat": [45, 55], "comfort": 45, "hidden": [45, 62, 77, 81, 85, 87], "callback": [45, 50], "asynchron": [45, 50, 94], "impos": [45, 76], "mnemon": 45, "nop": 45, "elaps": 45, "curli": 45, "s3": 45, "embodi": [45, 86], "cleaner": 45, "ephemer": [46, 48, 79, 86], "persistentarrai": 46, "conchon": 46, "filli\u00e2tr": 46, "2007": 46, "easiest": [46, 64, 94], "copyonsetarrai": 46, "underneath": 46, "hood": 46, "a0": 46, "diverg": 46, "version_tre": 46, "diff": 46, "mere": [46, 79], "walk": [46, 48, 58], "degener": 46, "worsen": 46, "pull": [46, 66], "versiontreearrai": 46, "outermost": [46, 95], "perfrom": 46, "adjust": 46, "compens": 46, "indirect": [46, 78], "rebasing_tre": 46, "adapt": [46, 63, 71, 72], "old_x": 46, "modif": [46, 92], "rebasingversiontreearrai": 46, "sylvain": 46, "jean": 46, "christoph": 46, "acm": [46, 73], "workshop": 46, "henri": 46, "baker": 46, "shallow": 46, "cacm": 46, "1978": [46, 48, 64], "sigplan": 46, "durat": 47, "graphic": 47, "lock": 47, "action": [47, 66, 69, 92], "frustrat": [47, 72, 75], "spreadsheet": 47, "menu": [47, 94, 95], "network": [47, 49, 74, 95], "hyperlink": 47, "server": [47, 94, 95], "cm": 47, "depart": 47, "motor": 47, "vehicl": 47, "deli": 47, "player": 47, "millisecond": 47, "multicor": 47, "central": 47, "resourc": 47, "agreement": [47, 82], "corrupt": 47, "race": [47, 50], "notori": 47, "nondetermin": 47, "problemat": 47, "schedul": 47, "preemptiv": [47, 50], "relinquish": 47, "unrespons": 47, "preemption": 47, "timer": 47, "interrupt": 47, "3410": 47, "4410": 47, "defer": 47, "net": 47, "async": 47, "await": 47, "jane": 47, "street": 47, "ocsigen": 47, "acronym": 47, "light": 47, "misnom": 47, "pend": [47, 50], "fulfil": 47, "reject": [47, 50, 64, 66, 72, 85], "incorpor": [47, 70, 71], "writeabl": 47, "public": [47, 77, 81, 82, 86, 94], "write_onc": 47, "demean": 47, "wakeup_lat": 47, "wakeup_later_exn": 47, "weak": [47, 64, 68], "nope": 47, "inher": [47, 79, 88], "synchron": [47, 50], "input_lin": 47, "in_channel": 47, "channel": [47, 50, 95], "stdin": 47, "adventur": 47, "opposit": [47, 55, 79], "mix": [47, 84], "latenc": [47, 50], "transfer": [47, 62, 79], "disk": 47, "excel": [47, 56, 60], "regain": 47, "show_val": 47, "set_auto_run_lwt": 47, "auto": 47, "ocamlinit": [47, 87], "print_the_str": 47, "str": [47, 53], "v5": 47, "activ": [47, 80, 95], "read2": 47, "resolut": [47, 50], "stringmi": 47, "lwt_ppx": 47, "fool": 47, "ps": 47, "counterpart": 47, "trickier": [47, 64, 66, 67], "st": 47, "fulfill_or_reject": 47, "input_promis": 47, "exc": 47, "output_promis": 47, "output_resolv": 47, "handler_of_callback": 47, "qualifi": [48, 87], "logarithm": [48, 79], "plenti": 48, "workload": 48, "log_2": 48, "strongest": 48, "hopcroft": 48, "avl": 48, "adelson": 48, "velski": 48, "landi": 48, "1962": 48, "shortest": 48, "guiba": 48, "sedgewick": 48, "rbtree": 48, "adjac": [48, 65], "global": [48, 82], "imbal": 48, "eight": 48, "lowest": 48, "2b": 48, "equiv": 48, "chri": [48, 50, 79, 86], "1999": [48, 50, 70], "parent": [48, 51], "grandpar": 48, "bz": 48, "bx": 48, "ry": 48, "rx": 48, "rz": 48, "rotat": 48, "overal": 48, "cascad": 48, "recolor": 48, "ins": [48, 74], "rbt": 48, "rebalanc": 48, "nonleaf": 48, "splice": 48, "german": 48, "doubli": 48, "curs": 48, "journal": 48, "juli": 48, "2014": [48, 70, 92], "vari": [48, 60], "sword": 48, "winner": 48, "ones": [49, 64, 95], "entireti": 49, "socket": 49, "chess": 49, "tic": 49, "tac": 49, "toe": 49, "board": 49, "chase": 49, "forev": 49, "rid": [49, 85, 92], "f2": 49, "templat": 49, "map2": [49, 53], "30th": 49, "100th": 49, "memoiz": [49, 50], "subsequ": 49, "misspel": 49, "suspens": 49, "eager": [49, 50, 62], "strict": [49, 50, 67], "lazili": [49, 62, 67], "unpleas": 49, "fib30long": 49, "832040": 49, "fib30lazi": 49, "fib30": 49, "fib30fast": 49, "sped": 49, "fib29": 49, "514229": 49, "gotten": 49, "sequencefib": 49, "take_aux": 49, "h_a": 49, "t_a": 49, "h_b": 49, "t_b": 49, "nth_fib": 49, "lazyfib": 49, "banker": 50, "oh": 50, "physicist": 50, "thread": [50, 74], "writer": [50, 65], "divers": [50, 60], "whitington": [50, 60], "map_tre": 51, "fold_mylist": 51, "fold_tre": 51, "catamorph": 51, "hardest": 51, "reshap": 51, "prune": 51, "filter_tre": 51, "spicier": 52, "spice": 52, "uncurried_add": 52, "curried_add": 52, "product_left": 53, "product_right": 53, "listlabel": [53, 55], "sum_cube_odd": 53, "exists_rec": 53, "exists_fold": 53, "exists_lib": 53, "debit": 53, "uncurried_nth": 53, "sep": 53, "bye": 53, "comma": [53, 63, 79], "uniqu": [53, 79, 80, 81], "bmatrix": 53, "is_valid_matrix": 53, "add_row_vector": 53, "wise": 53, "unspecifi": [53, 66, 67, 78], "add_matric": 53, "matric": [53, 89], "multiply_matric": 53, "transposit": 53, "fanci": 54, "filter_aux": 54, "tolist": [54, 58], "unifi": [55, 63, 64, 68, 96], "led": 55, "succinct": 55, "motiv": [55, 84], "nicer": [55, 67, 80], "combine_tr": 55, "procrastin": 55, "invoc": [55, 92], "crastin": 55, "sub_tr": 55, "fold_x": 55, "uniform": [55, 56, 74], "experienc": [55, 72], "perus": 55, "incorrectli": 55, "lst_and": 55, "lst_and_rec": 55, "lst_and_fold": 55, "lst_and_lib": 55, "for_al": [55, 80], "toi": 56, "recod": 56, "bruce": [56, 60], "maclennan": [56, 60], "recur": 56, "square_then_doubl": 56, "ds": 56, "cond": 56, "quantif": [56, 64], "itertool": 57, "2011": 57, "wizard": 57, "closur": [57, 62, 63, 67, 68], "obviat": 57, "fuss": [57, 74], "reusabl": 57, "add1": 58, "concat_bang": 58, "salti": 58, "guis": [58, 64], "contriv": 58, "anyon": [58, 81], "predispos": 58, "astut": 58, "extent": [58, 60], "unavoid": 58, "aw": 58, "map_tr_aux": 58, "map_tr": 58, "alic": [58, 89], "bob": [58, 70], "him": 58, "rev_map": 58, "rev_map_aux": 58, "theme": 58, "sum_sq": 59, "uglier": 59, "intermedi": [59, 65, 67, 68], "sq_l": 59, "rubi": [60, 64], "sequel": 60, "liber": 60, "von": 60, "neumann": 60, "backu": [60, 68], "award": [60, 72, 73, 85], "elabor": 60, "publish": [60, 64], "articl": 60, "stanford": 60, "encyclopedia": 60, "philosophi": 60, "tour": [61, 75], "lex": [61, 63, 65, 66, 67, 69], "tightli": 61, "crawl": 62, "mapsto": [62, 69], "aim": [62, 69], "fragment": [62, 66, 67], "coincid": [62, 92], "consensu": 62, "decad": [62, 70], "norm": [62, 89], "latex": 62, "perl": 62, "racket": [62, 73, 74], "travel": 62, "delimit": [62, 66], "evok": 62, "defenv": 62, "zip": [62, 63, 66, 67, 69, 95], "v3": [62, 67, 88], "interp": [63, 66], "lexer": [63, 68], "parser": [63, 65, 68], "ast": [63, 65, 67], "mly": [63, 66], "reevalu": 63, "typ": [63, 69], "typeof": [63, 69], "unif": [63, 64, 68], "ctx": 63, "parenthet": 63, "omega": 63, "inexhaust": 63, "is_valu": [63, 67], "subst": [63, 67], "not_empti": 63, "grammar": [63, 66, 68], "meta": [63, 64, 73], "insight": 63, "forgot": 63, "unfold": 63, "fv": [63, 67], "const": [63, 77, 79], "lexic": [63, 64, 66], "hm": [63, 64, 68], "contrast": 64, "disagre": 64, "sophist": [64, 74, 77, 84], "gather": 64, "literatur": 64, "roger": 64, "indlei": 64, "robin": [64, 73], "ilner": 64, "rediscov": 64, "1950": 64, "1930": 64, "he": [64, 70, 72, 73, 94], "1967": 64, "1969": 64, "hindlei": [64, 68], "morri": 64, "1968": 64, "milner": [64, 68, 73], "realm": [64, 85], "tarski": 64, "1920": 64, "histori": [64, 75, 85], "blow": 64, "f0": [64, 92], "repetit": [64, 72], "layer": 64, "untyp": [64, 67], "simplif": 64, "quaternari": 64, "turnstil": [64, 69], "c3": 64, "fresh": [64, 67, 68, 95], "elsewher": [64, 78], "foobar": 64, "strip": 64, "5x": 64, "2y": 64, "toss": 64, "gaussian": 64, "i1": [64, 78], "o1": 64, "i2": [64, 78], "o2": 64, "typeabl": 64, "princip": 64, "lenient": 64, "judgment": 64, "ramif": 64, "downstream": 64, "permiss": 64, "contradictori": 64, "unsatisfi": 64, "ill": [64, 67, 69, 78], "mylen": 64, "uncompl": 64, "u1": 64, "env1": 64, "glean": 64, "mistakenli": 64, "disast": 64, "_weak": [64, 92], "pin": 64, "everywher": [64, 69, 74, 77, 92], "topic": [64, 86, 94], "eleph": 64, "rabbit": 64, "subtyp": [64, 68, 80, 83, 85, 86], "arraystoreexcept": 64, "ouch": 64, "bun": 64, "artisan": 65, "carpent": 65, "plane": 65, "chef": 65, "knive": 65, "pot": 65, "demystifi": 65, "career": 65, "dsl": 65, "mip": 65, "x86": 65, "mixtur": 65, "virtual": [65, 68, 95], "jvm": 65, "zinc": [65, 68], "hotspot": 65, "jit": 65, "phase": [65, 67, 69], "sensit": 65, "delin": 65, "foo": [65, 69, 76, 83], "operand": [65, 67, 69], "gratuit": 65, "unambigu": [65, 85], "ir": [65, 67], "opcod": [65, 67], "begun": [65, 79], "runnabl": 65, "yacc": 66, "ocamlyacc": 66, "automata": [66, 68], "automaton": 66, "reset": 66, "pushdown": [66, 68], "cfl": 66, "parenthesi": 66, "ss": 66, "nontermin": [66, 68], "inventor": 66, "peter": 66, "picki": 66, "adher": 66, "metasyntax": [66, 67], "var": [66, 67, 69], "allud": 66, "awhil": 66, "header": 66, "trailer": 66, "lparen": 66, "rparen": 66, "IN": 66, "IF": 66, "THEN": 66, "nonassoc": 66, "prog": 66, "production1": 66, "action1": 66, "production2": 66, "action2": 66, "sixth": 66, "eighth": 66, "mll": 66, "fyi": 66, "regexp1": 66, "regexp2": 66, "lexbuf": 66, "lexem": 66, "explanatori": 66, "folder": [66, 95], "from_str": 66, "from_channel": 66, "reflex": 67, "axiomat": 67, "bridg": 67, "gap": 67, "faith": 67, "circumst": 67, "toolkit": 67, "eagerli": 67, "slash": 67, "deleg": 67, "3000": 67, "step_bop": 67, "eval_smal": 67, "eval_big": 67, "eval_bop": 67, "eval_if": 67, "kept": [67, 72, 73, 77], "rudimentari": 67, "makefil": 67, "closest": 67, "surprisingli": 67, "suddenli": 67, "elud": 67, "mathematician": 67, "reserv": 67, "counter": [67, 84], "gensym": 67, "erat": 67, "sym": 67, "bol": 67, "caution": 67, "intersect": 67, "exot": 67, "studiou": 68, "heavili": [68, 95], "naur": 68, "preliminari": 68, "operatiohn": 68, "reconstruct": 68, "andrew": [68, 70, 96], "appel": 68, "dexter": [68, 70, 96], "kozen": [68, 70, 96], "frontend": 68, "webpag": 68, "hastyp": 69, "vdash": 69, "friendlier": 69, "machineri": 69, "tint": 69, "tbool": 69, "disambigu": 69, "staticenviron": 69, "ty": [69, 92], "hasn": [69, 87], "typeof_let": 69, "typeof_bop": 69, "typeof_if": 69, "taught": [70, 96], "mit": [70, 86], "001": 70, "sicp": 70, "tim": 70, "teitelbaum": 70, "1988": [70, 79], "dan": [70, 96], "huttenloch": [70, 96], "faculti": 70, "inaugur": 70, "infus": 70, "rigor": 70, "homegrown": 70, "dialect": [70, 73, 75], "regularli": 70, "ramin": [70, 96], "zabih": [70, 96], "spring": [70, 96], "1994": 70, "surviv": 70, "onlin": [70, 95], "greg": [70, 96], "morrisett": [70, 96], "dylan": 70, "312": 70, "curriculum": 70, "2112": 70, "410": 70, "chose": [70, 95], "prerequisit": 70, "parcel": 70, "482": 70, "2001": 70, "myer": [70, 96], "2002": 70, "2008": [70, 85], "2010": 70, "nate": [70, 96], "foster": [70, 96], "2012": 70, "constabl": [70, 96], "michael": [70, 96], "georg": [70, 96], "grossman": [70, 96], "2003": 70, "decompos": 70, "cse": 70, "341": 70, "washington": 70, "mooc": 70, "2018": 70, "synthes": 70, "wall": 70, "yesterdai": 71, "pascal": [71, 85], "cobol": [71, 85], "tomorrow": 71, "transcend": [71, 75, 86], "opportun": [71, 72], "scala": [71, 73], "tendenc": 71, "brought": [71, 85], "1958": 71, "2004": 71, "nan": 72, "\u5357\u96a0": 72, "japanes": 72, "master": [72, 77, 87], "meiji": 72, "1868": 72, "1912": 72, "inquir": 72, "zen": 72, "tea": 72, "pour": 72, "visitor": 72, "restrain": 72, "himself": 72, "overful": 72, "specul": 72, "freedom": [72, 74], "goodby": 72, "bloat": 72, "hate": 72, "love": [72, 95], "humbl": 72, "magic": [72, 92], "incant": 72, "perli": 72, "1922": 72, "recipi": 72, "aesthet": 72, "stylish": 72, "sanskrit": 72, "poetri": 72, "struggl": 72, "ugli": 72, "genealog": 73, "grandfath": 73, "clojur": [73, 75], "edinburgh": 73, "laboratori": 73, "scotland": 73, "late": 73, "1980": [73, 80, 85], "tradition": 73, "fledg": 73, "schism": 73, "french": 73, "british": 73, "brit": 73, "american": 73, "microsoft": [73, 95], "2005": [73, 86], "prais": 73, "articul": 73, "remix": 73, "influenc": 73, "linguist": 74, "stateless": 74, "fantasi": 74, "referenti": [74, 75], "transpar": [74, 75], "illus": 74, "immens": 74, "turkei": 74, "biggest": [74, 75], "emerg": 74, "cert": 74, "govern": 74, "agenc": 74, "cybersecur": 74, "due": 74, "reliev": 74, "dealloc": 74, "nowher": [74, 77], "strength": [74, 82], "yaron": 74, "minski": 74, "obstacl": 75, "freeli": 75, "gentl": 75, "cornellian": 75, "sml": 75, "essai": 75, "director": 75, "googl": [75, 95], "capit": [76, 87], "creator": 76, "placement": 76, "mystack": 76, "homework": 76, "lab1": 76, "rarer": 76, "everydai": 76, "customstack": [76, 77], "hpp": 76, "cpp": 76, "filenam": [76, 87], "gone": [77, 95], "opaqu": 77, "seal": [77, 78, 81, 86], "inaccess": 77, "mathcheck": 77, "c_public": 77, "cprivat": 77, "list_stack": [77, 85], "liststackcacheds": 77, "checkliststackcacheds": 77, "doubt": 77, "unawar": [77, 83], "overli": 77, "cap": [77, 85], "shout": [77, 85], "unwieldi": 77, "fairli": [77, 79], "angl": 77, "friendli": 77, "margin": [77, 94], "fprintf": [77, 78, 84], "kupo": 77, "kupo_pp": 77, "fmt": [77, 84], "uninstal": [77, 95], "remove_print": 77, "pp_val": 77, "pp_break": 77, "pp_print_list": 77, "pp_sep": 77, "lift": 77, "imaginari": 78, "complexsig": 78, "ctrl": [78, 95], "fill_listqueu": 78, "fill_batchedqueu": 78, "bstmap": 78, "fraction": 78, "to_float": 78, "euclid": 78, "gcd": 78, "greatest": 78, "charmap": 78, "orderedtyp": [78, 80], "sierra": 78, "victor": 78, "march": 78, "31st": 78, "june": 78, "calendar": 78, "datemap": 78, "event": 78, "birthdai": 78, "anniversari": 78, "print_calendar": 78, "is_for": 78, "k_i": 78, "v_i": 78, "fancier": 78, "first_aft": 78, "grr": 78, "argh": 78, "printint": 78, "printstr": 78, "mystr": 78, "albeit": 78, "super": [78, 85, 95], "stringwithprint": 78, "make_d": 78, "get_month": 78, "get_dai": 78, "reissu": 78, "arith": 78, "ring": [78, 84], "intr": [78, 84], "floatr": [78, 84], "intfield": 78, "floatfield": 78, "intrat": 78, "floatrat": 78, "advic": [78, 95], "coexist": 79, "peek_opt": 79, "pop_opt": 79, "melvil": 79, "dissert": 79, "1981": 79, "supersed": [79, 94], "718": 79, "618": 79, "assoclistmap": 79, "ki": 79, "willing": [79, 92], "uniqassoclistmap": 79, "morphism": 80, "intimid": 80, "quotat": 80, "stratifi": 80, "incx": 80, "add42": 80, "mn": 80, "sn": 80, "si": 80, "module_expression1": 80, "module_expression2": 80, "module_typ": [80, 85], "checkaddx": 80, "pair1": 80, "p0": 80, "pa": 80, "nameabl": 80, "difficulti": [80, 94], "fx": 80, "fz": 80, "lesser": 80, "lt": 80, "eq": 80, "ala": 80, "strcmp": 80, "intmap": 80, "filter_map": 80, "partit": 80, "min_bind": 80, "min_binding_opt": 80, "max_bind": 80, "max_binding_opt": 80, "choose_opt": 80, "find_opt": 80, "find_first": 80, "find_first_opt": 80, "find_last": 80, "find_last_opt": 80, "mapi": 80, "to_seq": 80, "seq": 80, "to_rev_seq": 80, "to_seq_from": 80, "add_seq": 80, "of_seq": 80, "stdlib__map": 80, "accordingli": 80, "v4": 80, "lightli": [80, 95], "ord": 80, "treemap": 80, "first1": 80, "last1": 80, "first2": 80, "last2": 80, "namemap": 80, "birth": 80, "kardashian": 80, "kourtnei": 80, "kimberli": 80, "k3": 80, "khloe": 80, "nm": 80, "1979": 80, "1984": 80, "reseal": 80, "unusablemap": 80, "variantstack": 80, "horribl": 80, "contempl": 80, "hundr": 80, "stacktest": 80, "liststacktest": 80, "variantstacktest": 80, "all_test": 80, "flatten": 80, "objection": 80, "newest": 80, "setoflist": [80, 81], "oflist": [80, 81], "uniqoflist": 80, "setwithoflist": 80, "setl": 80, "uniqsetl": 80, "necessit": 80, "grain": 80, "mixin": 80, "prolifer": 81, "prone": 81, "quicker": [81, 94], "neat": [81, 92], "parti": 81, "listsetextend": 81, "subclass": 81, "superclass": 81, "setextend": 81, "ah": 81, "workaround": 81, "listsetimpl": 81, "listsetextendedimpl": 81, "dispatch": 81, "subtli": 81, "consumpt": 81, "export": 81, "of_list_uniq": 81, "uniqlistsetextend": 81, "magnitud": 82, "colleg": 82, "plug": 82, "moder": 82, "industri": 82, "sole": 82, "serious": 82, "defici": 82, "decoupl": 82, "accompani": 83, "blissfulli": 83, "reassembl": 83, "intellig": 83, "imperfect": 83, "degre": 83, "extol": 84, "invers": 84, "pp_intr": 84, "pp_floatr": 84, "int_r": 84, "float_r": 84, "proxim": 84, "constraint1": 84, "constraint2": 84, "constraintn": 84, "xy": 84, "primary_color": 85, "mymodul": 85, "broaden": 85, "sight": 85, "vagu": 85, "let_modul": 85, "modulenam": 85, "module_item": 85, "module_express": 85, "alia": [85, 93, 95], "pervas": 85, "uppercase_al": 85, "uppercase_ascii": 85, "trim": 85, "lower_trim": 85, "eschew": 85, "moduletypenam": 85, "ls": [85, 87], "all_cap": 85, "older": [85, 95], "impolit": 85, "connot": 85, "liststackalia": 85, "opac": 85, "gain": 85, "she": 85, "twenti": [85, 94], "flavor": 85, "nomin": 85, "decre": 85, "mx": 85, "mz": 85, "xz": 85, "mxz": 85, "xstring": 85, "mxstring": 85, "intfun": 85, "idfun": 85, "iid": 85, "irrevoc": 85, "superset": 85, "ab": 85, "stackhistori": 85, "duck": 85, "un": 85, "brutal": 86, "equip": 86, "harper": 86, "ed": 86, "pragmat": 87, "topmost": 87, "ompil": 87, "odul": 87, "bject": 87, "ing": 87, "uncompil": 87, "downto": 88, "euclidean": 89, "dimension": [89, 91], "x_1": 89, "x_n": 89, "instinct": 89, "7071": 89, "make_matrix": 89, "init_matrix": 89, "till": 90, "analogu": 90, "mlist": [91, 92], "insert_first": [91, 92], "mutablestack": 91, "mutablerecordstack": 91, "0x3110bae0": 92, "forego": 92, "hick": 92, "dereferenc": 92, "allot": 92, "loc": 92, "next_val": 92, "decr": 92, "next_val_broken": 92, "malloc": 92, "segfault": 92, "deref": 92, "ptr": 92, "misunderstood": 92, "knowledg": [92, 94], "undocu": 92, "obj": 92, "circumv": 92, "fact_rec": 92, "fact0": 92, "rewrot": 92, "knot": 92, "tie": 92, "jacqu": 92, "garrigu": 92, "unequ": 92, "lst0": 92, "_weak3": 92, "linkedlist": 92, "_weak4": 92, "alias": 93, "heavier": 94, "fork": 94, "repositori": 94, "minor": 94, "uptak": 94, "prior": 94, "youtub": [94, 96], "pandem": 94, "overwhelmingli": 94, "profession": 94, "basement": 94, "ecosystem": 94, "2020": [94, 95], "alarm": 94, "plugin": 94, "ag": 94, "nearest": 94, "playlist": [94, 96], "collabor": 94, "hypoth": 94, "publicli": 94, "rocket": 94, "ship": 94, "binder": 94, "site": [94, 95], "mybind": 94, "cloud": 94, "servic": 94, "reproduc": 94, "shareabl": 94, "ui": 94, "jupyt": 94, "ipynb": 94, "narr": 94, "julia": 94, "analys": 94, "shift": [94, 95], "hotkei": 94, "scene": 94, "kernel": 94, "reload": 94, "studio": 94, "seamlessli": 94, "varieti": 94, "anaconda": 94, "rate": 94, "star": 94, "misjudg": 94, "tablet": 94, "epub": 94, "prefac": 95, "brush": 95, "sad": 95, "tower": 95, "solid": 95, "stranger": 95, "internet": 95, "beneath": 95, "maco": 95, "homebrew": 95, "macport": 95, "nudg": 95, "xcode": 95, "x11": 95, "subsystem": 95, "wsl": 95, "20262": 95, "novemb": 95, "bio": 95, "manufactur": 95, "hat": 95, "powershel": 95, "administr": 95, "reboot": 95, "reinstal": 95, "setup": 95, "wsl2": 95, "wsl1": 95, "04": 95, "app": 95, "bash": 95, "keystrok": 95, "unzip": 95, "your_ubuntu_user_nam": 95, "mnt": 95, "your_windows_user_nam": 95, "pc": 95, "brew": 95, "port": 95, "bare": 95, "profil": 95, "bashrc": 95, "sandbox": 95, "whenc": 95, "cs3110": 95, "2024fa": [], "logout": 95, "vanilla": 95, "shell": 95, "reinit": 95, "odoc": 95, "menhir": 95, "lsp": 95, "vim": 95, "slate": 95, "zsh": 95, "cmd": 95, "login": 95, "pane": 95, "palett": 95, "yeah": 95, "orang": 95, "squiggl": 95, "troubleshoot": 95, "band": 95, "cure": 95, "tweak": 95, "json": 95, "tabsiz": 95, "ruler": 95, "formatonsav": 95, "doc": 95, "voic": 95, "spin": 95, "zoom": 95, "email": 95, "your_netid": 95, "emphasi": 96, "2024": 96, "justin": 96, "hsu": 96, "daniel": 96, "radu": 96, "rugina": 96, "2021": 96, "copyright": 96, "attribut": 96, "noncommerci": 96, "noderiv": 96, "licens": 96, "2025sp": 95, "2025": 96}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"The": [0, 9, 12, 16, 45, 47, 56, 66, 67, 73, 74, 80], "curri": [0, 52], "howard": 0, "correspond": 0, "comput": 0, "evid": 0, "type": [0, 7, 12, 25, 29, 38, 64, 69, 77, 80, 84, 85, 92], "proposit": 0, "program": [0, 3, 4, 19, 49, 57, 72, 82, 96], "proof": 0, "evalu": [0, 62, 67], "simplif": 0, "what": [0, 3, 5], "It": 0, "all": [0, 22, 25], "mean": [0, 56], "exercis": [0, 6, 15, 28, 41, 53, 63, 78, 89], "big": [1, 67], "oh": 1, "notat": 1, "algorithm": [1, 48], "effici": [1, 96], "attempt": [1, 62], "1": 1, "2": 1, "ell": 1, "finish": [1, 2, 64], "warn": 1, "3": 1, "virtual": 2, "machin": 2, "start": 2, "instal": [2, 95], "window": [2, 95], "mac": [2, 95], "compil": [3, 76, 87], "ocaml": [3, 4, 9, 12, 62, 64, 67, 72, 73, 74, 95, 96], "store": 3, "code": [3, 12, 81, 95], "file": 3, "about": [3, 22, 94], "main": 3, "dune": [3, 87], "creat": [3, 95], "project": 3, "manual": 3, "automat": 3, "run": 3, "continu": 3, "debug": [4, 24], "defens": 4, "against": 4, "bug": 4, "how": [4, 5, 49, 80], "document": [5, 16, 18, 76], "precondit": 5, "postcondit": 5, "express": 7, "primit": 7, "valu": [7, 12], "more": 7, "oper": [7, 8], "assert": 7, "If": 7, "let": [7, 34, 64], "scope": [7, 39, 62, 85], "annot": 7, "function": [8, 12, 16, 18, 20, 34, 42, 44, 55, 56, 79], "definit": [8, 85], "anonym": 8, "applic": 8, "pipelin": [8, 59], "polymorph": [8, 25, 64], "label": [8, 55], "option": [8, 32, 79], "argument": [8, 55], "partial": 8, "associ": [8, 26, 42], "tail": [8, 30, 54, 55, 58], "recurs": [8, 19, 22, 25, 30, 54, 55, 58, 92], "basic": 9, "print": [10, 77], "unit": [10, 33, 76], "semicolon": 10, "ignor": 10, "printf": 10, "summari": [11, 23, 36, 50, 60, 68, 75, 86, 93], "term": [11, 23, 36, 50, 60, 68, 75, 86, 93], "concept": [11, 23, 36, 50, 60, 68, 75, 86, 93], "further": [11, 23, 36, 50, 60, 68, 75, 86, 93], "read": [11, 23, 36, 50, 60, 68, 75, 86, 93], "toplevel": [12, 87], "load": [12, 87], "workflow": 12, "black": [13, 48], "box": 13, "glass": 13, "test": [13, 20, 24, 33, 80], "data": [13, 25, 29, 43, 79], "abstract": [13, 18, 20, 56, 77], "vs": [13, 19, 35, 55, 62, 79, 81, 87, 95], "bisect": 13, "equat": [14, 19], "specif": [14, 16, 19, 21], "exampl": [14, 16, 31, 33, 34, 37, 45, 61, 66, 76, 80, 91, 92], "stack": [14, 76, 79, 91], "queue": [14, 40, 79], "batch": [14, 40], "design": 14, "return": 16, "claus": 16, "requir": [16, 87], "rais": 16, "game": 16, "comment": [16, 76], "correct": [17, 19, 96], "modul": [18, 80, 81, 83, 84, 85, 87], "remind": 18, "implement": [18, 42, 47, 55, 62, 67], "commut": 18, "diagram": 18, "represent": [18, 37, 42], "invari": 18, "prove": 19, "equal": [19, 92], "reason": 19, "induct": [19, 22], "natur": [19, 22, 31], "number": [19, 20, 31], "iter": 19, "termin": 19, "random": 20, "qcheck": 20, "gener": [20, 66], "properti": 20, "inform": 20, "output": [20, 33], "from": [20, 48], "structur": [22, 43, 79], "list": [22, 26, 30, 42, 51, 79, 91, 92], "A": [22, 55, 62, 69, 70], "theorem": 22, "fold": [22, 51, 55], "tree": [22, 37, 46, 48, 51], "principl": [22, 56], "variant": [22, 25, 27, 35, 39], "acknowledg": [23, 68], "valid": 24, "algebra": 25, "carri": 25, "syntax": [25, 30, 80, 92], "semant": [25, 27, 80, 81, 85, 92], "catch": 25, "case": 25, "parameter": 25, "built": 25, "except": [27, 33, 79], "ar": [27, 85, 91], "extens": 27, "pattern": [27, 30, 34, 39], "match": [27, 30, 34, 39], "ounit": [27, 33], "build": 30, "access": 30, "Not": [30, 49], "mutat": 30, "deep": 30, "immedi": 30, "ocamldoc": 30, "comprehens": 30, "an": [33, 62, 76, 80, 95], "explan": 33, "improv": 33, "driven": 33, "develop": [33, 95], "advanc": 34, "record": [35, 37], "tupl": [35, 37], "synonym": 38, "amort": 40, "analysi": 40, "hash": [40, 42], "tabl": [40, 42], "banker": 40, "physicist": 40, "persist": [40, 46], "map": [42, 48, 51, 58, 79, 80], "arrai": [42, 46, 88], "chain": 42, "resiz": 42, "standard": 42, "librari": [42, 55, 87], "hashtbl": 42, "memoiz": 44, "fibonacci": 44, "us": [44, 55, 80, 87, 95], "higher": [44, 56, 57], "order": [44, 56, 57], "just": 44, "fun": 44, "parti": 44, "optim": 44, "monad": 45, "signatur": 45, "mayb": 45, "writer": 45, "lwt": [45, 47], "law": 45, "composit": 45, "copi": 46, "On": 46, "set": [46, 48, 79, 95], "version": 46, "rebas": 46, "citat": 46, "promis": 47, "concurr": 47, "thread": 47, "make": 47, "our": 47, "own": 47, "asynchron": 47, "i": 47, "o": 47, "callback": 47, "full": 47, "red": 48, "binari": 48, "search": 48, "balanc": 48, "membership": 48, "insert": 48, "okasaki": 48, "s": 48, "remov": 48, "bst": 48, "sequenc": [49, 92], "defin": [49, 67], "correctli": 49, "lazi": 49, "beyond": 51, "filter": [51, 54], "other": [54, 55, 58], "languag": [54, 58], "combin": 55, "right": 55, "left": 55, "digress": 55, "famou": 56, "side": 58, "effect": [58, 92], "calcul": 61, "environ": [62, 95], "model": [62, 67], "lambda": 62, "calculu": 62, "lexic": 62, "dynam": 62, "second": 62, "core": [62, 67], "infer": 64, "reconstruct": 64, "constraint": [64, 80, 84], "base": 64, "solv": 64, "mutabl": [64, 90, 91, 92], "interpret": [65, 67], "pars": 66, "lexer": 66, "parser": 66, "backu": 66, "naur": 66, "form": 66, "simpl": [66, 67, 69], "ast": 66, "menhir": 66, "ocamllex": 66, "driver": 66, "substitut": 67, "singl": 67, "step": 67, "relat": 67, "multistep": 67, "done": 67, "captur": 67, "avoid": 67, "check": [69, 95], "system": [69, 83], "checker": 69, "safeti": 69, "brief": 70, "histori": 70, "cs": 70, "3110": 70, "look": 71, "your": 71, "futur": 71, "better": 72, "through": 72, "past": 73, "present": 74, "featur": 74, "industri": 74, "incomplet": 76, "encapsul": [77, 81], "opac": 77, "pretti": 77, "functor": 80, "custom": 80, "kei": 80, "suit": 80, "extend": 80, "multipl": [80, 81], "includ": 81, "open": [81, 85], "modular": 82, "special": 84, "static": 85, "first": 85, "class": 85, "initi": [87, 95], "loop": 88, "field": 91, "ref": [91, 92], "singli": [91, 92], "link": [91, 92], "alias": 92, "counter": 92, "pointer": 92, "evil": 92, "secret": 92, "without": 92, "rec": 92, "weak": 92, "variabl": 92, "physic": 92, "thi": 94, "book": 94, "unix": 95, "linux": 95, "opam": 95, "switch": 95, "doubl": 95, "visual": 95, "studio": 95, "collabor": 95, "beauti": 96}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 56}}) \ No newline at end of file