diff --git a/_sources/chapters/basics/expressions.ipynb b/_sources/chapters/basics/expressions.ipynb index ef9a3b3e..d071f2a8 100644 --- a/_sources/chapters/basics/expressions.ipynb +++ b/_sources/chapters/basics/expressions.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "5738c8f5", + "id": "de643309", "metadata": {}, "source": [ "# Expressions\n", @@ -50,72 +50,41 @@ }, { "cell_type": "code", - "execution_count": 1, - "id": "cb3fa0c2", + "execution_count": null, + "id": "a6689563", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : int = 1\n" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "65 / 60" ] }, { "cell_type": "code", - "execution_count": 2, - "id": "207a0f79", + "execution_count": null, + "id": "c01dd4dd", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : int = 5\n" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "65 mod 60" ] }, { "cell_type": "code", - "execution_count": 3, - "id": "223e0b29", + "execution_count": null, + "id": "78bc7260", "metadata": { "tags": [ "raises-exception" ] }, - "outputs": [ - { - "ename": "error", - "evalue": "runtime_error", - "output_type": "error", - "traceback": [ - "\u001b[31mException: Division_by_zero.\nRaised by primitive operation at unknown location\nCalled from Stdlib__Fun.protect in file \"fun.ml\", line 33, characters 8-15\nRe-raised at Stdlib__Fun.protect in file \"fun.ml\", line 38, characters 6-52\nCalled from Topeval.load_lambda in file \"toplevel/byte/topeval.ml\", line 89, characters 4-150\n\u001b[0m" - ] - } - ], + "outputs": [], "source": [ "65 / 0" ] }, { "cell_type": "markdown", - "id": "d7ba9067", + "id": "603d4266", "metadata": {}, "source": [ "OCaml integers range from $-2^{62}$ to $2^{62}-1$ on modern platforms. They are\n", @@ -139,49 +108,27 @@ }, { "cell_type": "code", - "execution_count": 4, - "id": "f0d15655", + "execution_count": null, + "id": "8dc13c88", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : float = 3.\n" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "3." ] }, { "cell_type": "code", - "execution_count": 5, - "id": "5e61e783", + "execution_count": null, + "id": "3e8ee2c3", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : int = 3\n" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "3" ] }, { "cell_type": "markdown", - "id": "e6d9e894", + "id": "d956480c", "metadata": {}, "source": [ "OCaml deliberately does not support operator overloading, Arithmetic operations\n", @@ -191,51 +138,31 @@ }, { "cell_type": "code", - "execution_count": 6, - "id": "88d82dbb", + "execution_count": null, + "id": "e2f62334", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : float = 6.28\n" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "3.14 *. 2." ] }, { "cell_type": "code", - "execution_count": 7, - "id": "255582a3", + "execution_count": null, + "id": "4e0392a2", "metadata": { "tags": [ "raises-exception" ] }, - "outputs": [ - { - "ename": "error", - "evalue": "compile_error", - "output_type": "error", - "traceback": [ - "File \"[7]\", line 1, characters 0-4:\n1 | 3.14 * 2.\n ^^^^\nError: This expression has type float but an expression was expected of type\n int\n" - ] - } - ], + "outputs": [], "source": [ "3.14 * 2." ] }, { "cell_type": "markdown", - "id": "e1293fa4", + "id": "e3addc18", "metadata": {}, "source": [ "OCaml will not automatically convert between `int` and `float`. If you want to\n", @@ -245,28 +172,17 @@ }, { "cell_type": "code", - "execution_count": 8, - "id": "a560033c", + "execution_count": null, + "id": "fac2d2fa", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : float = 6.28\n" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "3.14 *. (float_of_int 2)" ] }, { "cell_type": "markdown", - "id": "65ff8542", + "id": "b6c24f17", "metadata": {}, "source": [ "As in any language, the floating-point representation is approximate. That can\n", @@ -275,28 +191,17 @@ }, { "cell_type": "code", - "execution_count": 9, - "id": "9346b1eb", + "execution_count": null, + "id": "a5f4e26c", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : float = 0.300000000000000044\n" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "0.1 +. 0.2" ] }, { "cell_type": "markdown", - "id": "e70265cc", + "id": "8912c61f", "metadata": {}, "source": [ "The same behavior can be observed in Python and Java, too. If you haven't\n", @@ -323,28 +228,17 @@ }, { "cell_type": "code", - "execution_count": 10, - "id": "b795d1f6", + "execution_count": null, + "id": "506a9183", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : string = \"abcdef\"\n" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "\"abc\" ^ \"def\"" ] }, { "cell_type": "markdown", - "id": "68622ab1", + "id": "a07183b2", "metadata": {}, "source": [ "Object-oriented languages often provide an overridable method for converting\n", @@ -358,49 +252,27 @@ }, { "cell_type": "code", - "execution_count": 11, - "id": "bd0355ea", + "execution_count": null, + "id": "3df15416", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : string = \"42\"\n" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "string_of_int 42" ] }, { "cell_type": "code", - "execution_count": 12, - "id": "57d1407a", + "execution_count": null, + "id": "88c94182", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : string = \"z\"\n" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "String.make 1 'z'" ] }, { "cell_type": "markdown", - "id": "dfa59c90", + "id": "771543e2", "metadata": {}, "source": [ "Likewise, for the same three primitive types, there are built-in functions to\n", @@ -410,51 +282,31 @@ }, { "cell_type": "code", - "execution_count": 13, - "id": "d829b6e3", + "execution_count": null, + "id": "901b88a2", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : int = 123\n" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "int_of_string \"123\"" ] }, { "cell_type": "code", - "execution_count": 14, - "id": "bdd3d1e3", + "execution_count": null, + "id": "d53b2948", "metadata": { "tags": [ "raises-exception" ] }, - "outputs": [ - { - "ename": "error", - "evalue": "runtime_error", - "output_type": "error", - "traceback": [ - "\u001b[31mException: Failure \"int_of_string\".\nRaised by primitive operation at unknown location\nCalled from Stdlib__Fun.protect in file \"fun.ml\", line 33, characters 8-15\nRe-raised at Stdlib__Fun.protect in file \"fun.ml\", line 38, characters 6-52\nCalled from Topeval.load_lambda in file \"toplevel/byte/topeval.ml\", line 89, characters 4-150\n\u001b[0m" - ] - } - ], + "outputs": [], "source": [ "int_of_string \"not an int\"" ] }, { "cell_type": "markdown", - "id": "a9dcc2d4", + "id": "b851f9a1", "metadata": {}, "source": [ "There is no `char_of_string`, but the individual characters of a string can be\n", @@ -464,72 +316,41 @@ }, { "cell_type": "code", - "execution_count": 15, - "id": "ad79b011", + "execution_count": null, + "id": "b484274a", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : char = 'a'\n" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "\"abc\".[0]" ] }, { "cell_type": "code", - "execution_count": 16, - "id": "40a767c8", + "execution_count": null, + "id": "bf6f339b", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : char = 'b'\n" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "\"abc\".[1]" ] }, { "cell_type": "code", - "execution_count": 17, - "id": "18b88212", + "execution_count": null, + "id": "4fb2dcee", "metadata": { "tags": [ "raises-exception" ] }, - "outputs": [ - { - "ename": "error", - "evalue": "runtime_error", - "output_type": "error", - "traceback": [ - "\u001b[31mException: Invalid_argument \"index out of bounds\".\nRaised by primitive operation at unknown location\nCalled from Stdlib__Fun.protect in file \"fun.ml\", line 33, characters 8-15\nRe-raised at Stdlib__Fun.protect in file \"fun.ml\", line 38, characters 6-52\nCalled from Topeval.load_lambda in file \"toplevel/byte/topeval.ml\", line 89, characters 4-150\n\u001b[0m" - ] - } - ], + "outputs": [], "source": [ "\"abc\".[3]" ] }, { "cell_type": "markdown", - "id": "f81a051b", + "id": "d5cc59da", "metadata": {}, "source": [ "## More Operators\n", @@ -559,6 +380,18 @@ "The unit value is written `()` and its type is `unit`. But if the result is\n", "`false`, an exception is raised.\n", "\n", + "One way to test a function `f` is to write a series of assertions like this:\n", + "\n", + "```ocaml\n", + "let () = assert (f input1 = output1)\n", + "let () = assert (f input2 = output2)\n", + "let () = assert (f input3 = output3)\n", + "```\n", + "\n", + "Those assert that `f input1` should be `output1`, and so forth. The\n", + "`let () = ...` part of those is used to handle the unit value returned by each\n", + "assertion.\n", + "\n", "## If Expressions\n", "\n", "{{ video_embed | replace(\"%%VID%%\", \"XJ6QPtlPD7s\")}}\n", @@ -569,28 +402,17 @@ }, { "cell_type": "code", - "execution_count": 18, - "id": "a146e149", + "execution_count": null, + "id": "b2fc8bd4", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : string = \"yay!\"\n" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "if 3 + 5 > 2 then \"yay!\" else \"boo!\"" ] }, { "cell_type": "markdown", - "id": "11c577a0", + "id": "0f969e2b", "metadata": {}, "source": [ "Unlike `if-then-else` *statements* that you may have used in imperative\n", @@ -602,28 +424,17 @@ }, { "cell_type": "code", - "execution_count": 19, - "id": "6a6e0df1", + "execution_count": null, + "id": "11a426b2", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : int = 6\n" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "4 + (if 'a' = 'b' then 1 else 2)" ] }, { "cell_type": "markdown", - "id": "0940b595", + "id": "138561d9", "metadata": {}, "source": [ "`If` expressions can be nested in a pleasant way:\n", @@ -643,30 +454,21 @@ }, { "cell_type": "code", - "execution_count": 20, - "id": "7838140c", + "execution_count": null, + "id": "ff5bc9a7", "metadata": { "tags": [ "raises-exception" ] }, - "outputs": [ - { - "ename": "error", - "evalue": "compile_error", - "output_type": "error", - "traceback": [ - "File \"[20]\", line 1, characters 14-15:\n1 | if 2 > 3 then 5\n ^\nError: This expression has type int but an expression was expected of type\n unit\n because it is in the result of a conditional with no else branch\n" - ] - } - ], + "outputs": [], "source": [ "if 2 > 3 then 5" ] }, { "cell_type": "markdown", - "id": "7525e8a6", + "id": "8e9cc30a", "metadata": {}, "source": [ "**Syntax.** The syntax of an `if` expression:\n", @@ -720,28 +522,17 @@ }, { "cell_type": "code", - "execution_count": 21, - "id": "137569eb", + "execution_count": null, + "id": "5753995e", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val x : int = 42\n" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let x = 42" ] }, { "cell_type": "markdown", - "id": "fd3e4637", + "id": "4f14c204", "metadata": {}, "source": [ "In the above example, variable `x` has type `int`, which is what the colon\n", @@ -757,28 +548,17 @@ }, { "cell_type": "code", - "execution_count": 22, - "id": "d4daf21f", + "execution_count": null, + "id": "6d1827b2", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "val x : int = 42\n" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let x = 42;;" ] }, { "cell_type": "markdown", - "id": "afe49cb4", + "id": "9b53123d", "metadata": {}, "source": [ "defines `x` to be 42, after which we can use `x` in future definitions at the\n", @@ -789,28 +569,17 @@ }, { "cell_type": "code", - "execution_count": 23, - "id": "857c0017", + "execution_count": null, + "id": "bbaddbf1", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : int = 43\n" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "let x = 42 in x + 1" ] }, { "cell_type": "markdown", - "id": "46390426", + "id": "cc815014", "metadata": {}, "source": [ "Here we're *binding* a value to the name `x` then using that binding inside\n", @@ -822,30 +591,21 @@ }, { "cell_type": "code", - "execution_count": 24, - "id": "88a56cbd", + "execution_count": null, + "id": "cfbbf975", "metadata": { "tags": [ "raises-exception" ] }, - "outputs": [ - { - "ename": "error", - "evalue": "compile_error", - "output_type": "error", - "traceback": [ - "File \"[24]\", line 1, characters 11-12:\n1 | (let x = 42) + 1\n ^\nError: Syntax error\n" - ] - } - ], + "outputs": [], "source": [ "(let x = 42) + 1" ] }, { "cell_type": "markdown", - "id": "b05929fa", + "id": "fb0f3822", "metadata": {}, "source": [ "Syntactically, a `let` definition is not permitted on the left-hand side of the\n", @@ -855,28 +615,17 @@ }, { "cell_type": "code", - "execution_count": 25, - "id": "3c777d91", + "execution_count": null, + "id": "ed188654", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : int = 43\n" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "(let x = 42 in x) + 1" ] }, { "cell_type": "markdown", - "id": "140395bc", + "id": "eab2203d", "metadata": {}, "source": [ "Another way to understand let definitions at the toplevel is that they are like\n", @@ -1091,28 +840,17 @@ }, { "cell_type": "code", - "execution_count": 26, - "id": "f15b8dfd", + "execution_count": null, + "id": "f7860e0b", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "- : int = 5\n" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "(5 : int)" ] }, { "cell_type": "markdown", - "id": "8fdc1157", + "id": "567d6143", "metadata": {}, "source": [ "An incorrect annotation will produce a compile-time error:" @@ -1120,30 +858,21 @@ }, { "cell_type": "code", - "execution_count": 27, - "id": "3ebbf874", + "execution_count": null, + "id": "1ecfd423", "metadata": { "tags": [ "raises-exception" ] }, - "outputs": [ - { - "ename": "error", - "evalue": "compile_error", - "output_type": "error", - "traceback": [ - "File \"[27]\", line 1, characters 1-2:\n1 | (5 : float)\n ^\nError: This expression has type int but an expression was expected of type\n float\n Hint: Did you mean `5.'?\n" - ] - } - ], + "outputs": [], "source": [ "(5 : float)" ] }, { "cell_type": "markdown", - "id": "a3391e4e", + "id": "1b68abb4", "metadata": {}, "source": [ "And that example shows why you might use manual type annotations during\n", @@ -1159,30 +888,21 @@ }, { "cell_type": "code", - "execution_count": 28, - "id": "a290852d", + "execution_count": null, + "id": "2fdf2af5", "metadata": { "tags": [ "raises-exception" ] }, - "outputs": [ - { - "ename": "error", - "evalue": "compile_error", - "output_type": "error", - "traceback": [ - "File \"[28]\", line 1, characters 1-2:\n1 | (5 : float) +. 1.1\n ^\nError: This expression has type int but an expression was expected of type\n float\n Hint: Did you mean `5.'?\n" - ] - } - ], + "outputs": [], "source": [ "(5 : float) +. 1.1" ] }, { "cell_type": "markdown", - "id": "cdd2604f", + "id": "fe8c9132", "metadata": {}, "source": [ "It's clear that the type annotation has failed. Although that might seem silly\n", @@ -1229,15 +949,6 @@ "language": "OCaml", "name": "ocaml-jupyter" }, - "language_info": { - "codemirror_mode": "text/x-ocaml", - "file_extension": ".ml", - "mimetype": "text/x-ocaml", - "name": "OCaml", - "nbconverter_exporter": null, - "pygments_lexer": "OCaml", - "version": "4.14.0" - }, "source_map": [ 14, 58, @@ -1266,28 +977,28 @@ 187, 191, 194, - 230, - 232, - 240, 242, - 258, - 263, - 313, - 315, + 244, + 252, + 254, + 270, + 275, 325, 327, - 332, - 334, - 340, - 343, - 347, - 349, - 560, - 562, - 566, - 569, + 337, + 339, + 344, + 346, + 352, + 355, + 359, + 361, + 572, + 574, + 578, 581, - 584 + 593, + 596 ] }, "nbformat": 4, diff --git a/_sources/chapters/basics/expressions.md b/_sources/chapters/basics/expressions.md index 5f0cd255..6d5caf0a 100644 --- a/_sources/chapters/basics/expressions.md +++ b/_sources/chapters/basics/expressions.md @@ -220,6 +220,18 @@ happens, and the entire expression evaluates to a special value called *unit*. The unit value is written `()` and its type is `unit`. But if the result is `false`, an exception is raised. +One way to test a function `f` is to write a series of assertions like this: + +```ocaml +let () = assert (f input1 = output1) +let () = assert (f input2 = output2) +let () = assert (f input3 = output3) +``` + +Those assert that `f input1` should be `output1`, and so forth. The +`let () = ...` part of those is used to handle the unit value returned by each +assertion. + ## If Expressions {{ video_embed | replace("%%VID%%", "XJ6QPtlPD7s")}} diff --git a/chapters/basics/expressions.html b/chapters/basics/expressions.html index 48bbf801..1b8bc74e 100644 --- a/chapters/basics/expressions.html +++ b/chapters/basics/expressions.html @@ -925,6 +925,15 @@

2.3.3. Assertionsunit. The unit value is written () and its type is unit. But if the result is false, an exception is raised.

+

One way to test a function f is to write a series of assertions like this:

+
let () = assert (f input1 = output1)
+let () = assert (f input2 = output2)
+let () = assert (f input3 = output3)
+
+
+

Those assert that f input1 should be output1, and so forth. The +let () = ... part of those is used to handle the unit value returned by each +assertion.

2.3.4. If Expressions#

diff --git a/ocaml_programming.pdf b/ocaml_programming.pdf index a5b51aac..d52c5122 100644 Binary files a/ocaml_programming.pdf and b/ocaml_programming.pdf differ diff --git a/searchindex.js b/searchindex.js index 9817a093..65f337a7 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/alg_spec", "chapters/correctness/black_glass_box", "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/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/alg_spec.md", "chapters/correctness/black_glass_box.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/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.9. Algebraic Specification", "6.5. Black-box and Glass-box Testing", "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.9. Exercises", "8.1. Hash Tables", "8. Data Structures", "8.5. Memoization", "8.7. Monads", "8.6. Promises", "8.3. Red-Black Trees", "8.4. Sequences", "8.8. 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, 52, 59, 62, 63, 64, 65, 66, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 91, 93, 94, 95], "lagniapp": 0, "small": [0, 1, 3, 4, 12, 13, 14, 17, 18, 20, 24, 26, 30, 33, 36, 37, 42, 51, 57, 61, 62, 64, 66, 67, 68, 77, 81, 84], "unexpect": [0, 48], "gift": 0, "littl": [0, 1, 2, 4, 8, 12, 18, 20, 22, 33, 40, 42, 45, 46, 48, 50, 54, 57, 60, 63, 65, 66, 68, 76, 79, 83, 84, 91, 93, 94], "someth": [0, 1, 3, 5, 7, 8, 11, 12, 13, 14, 16, 18, 21, 22, 24, 25, 27, 30, 32, 33, 41, 42, 45, 46, 50, 51, 53, 54, 55, 56, 57, 62, 66, 73, 75, 76, 78, 79, 81, 83, 84, 94], "extra": [0, 1, 8, 13, 16, 19, 24, 27, 30, 37, 39, 40, 42, 44, 45, 46, 47, 52, 56, 58, 63, 66, 73, 76, 78, 79, 83, 94], "pleas": [0, 6, 15, 28, 41, 52, 62, 77, 88, 93], "enjoi": [0, 7, 30, 74], "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, 52, 53, 54, 55, 56, 57, 59, 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, 88, 89, 91, 94, 95], "chapter": [0, 1, 5, 8, 9, 11, 15, 16, 17, 23, 27, 29, 30, 33, 36, 43, 49, 56, 58, 59, 61, 63, 64, 66, 67, 73, 74, 75, 78, 84, 85, 89, 91, 92, 93], "which": [0, 1, 2, 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, 50, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 90, 91, 93, 94], "contain": [0, 3, 7, 8, 14, 15, 16, 18, 20, 25, 27, 28, 30, 32, 33, 35, 37, 41, 42, 44, 45, 46, 47, 48, 52, 53, 54, 58, 61, 63, 65, 66, 68, 75, 76, 77, 78, 79, 80, 81, 84, 88, 90, 91, 93], "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, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 91, 93, 94], "most": [0, 1, 2, 4, 5, 6, 7, 8, 9, 12, 14, 15, 20, 21, 24, 26, 28, 29, 30, 33, 40, 41, 42, 45, 46, 47, 52, 54, 55, 58, 59, 61, 62, 63, 64, 65, 66, 68, 73, 75, 77, 78, 81, 82, 84, 85, 87, 88, 93], "beauti": [0, 49, 56, 71, 74], "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, 46, 47, 48, 50, 52, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 66, 72, 73, 76, 77, 78, 79, 91], "entir": [0, 4, 7, 8, 9, 12, 13, 14, 16, 20, 21, 27, 30, 35, 40, 41, 45, 46, 47, 48, 50, 54, 61, 62, 63, 65, 78, 84, 93], "book": [0, 5, 9, 12, 17, 20, 22, 30, 41, 59, 64, 67, 69, 71, 73, 74, 78, 94, 95], "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, 55, 57, 65, 66, 67, 68, 69, 75, 76, 77, 78, 79, 84, 85, 91, 93, 94, 95], "paper": [0, 8, 47, 67, 73], "philip": 0, "wadler": 0, "you": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 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, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 68, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 82, 84, 85, 86, 87, 88, 91, 93, 94], "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, 61, 62, 63, 64, 65, 66, 68, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 95], "watch": [0, 24, 71, 93, 95], "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, 50, 51, 52, 54, 55, 56, 57, 58, 60, 62, 63, 64, 65, 66, 68, 69, 71, 73, 74, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 93, 95], "entertain": [0, 66], "record": [0, 4, 8, 13, 14, 25, 28, 29, 30, 34, 36, 40, 41, 44, 46, 55, 63, 66, 68, 69, 79, 84, 88, 90, 91], "lectur": [0, 13, 25, 52, 59, 69, 74], "prof": [0, 78], "addit": [0, 1, 3, 6, 8, 12, 14, 15, 16, 18, 19, 20, 22, 24, 25, 27, 30, 32, 33, 34, 40, 41, 42, 45, 46, 47, 52, 54, 56, 60, 63, 64, 65, 66, 73, 76, 77, 78, 83, 88, 94], "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, 47, 48, 49, 50, 53, 54, 56, 57, 59, 61, 63, 65, 66, 67, 68, 69, 74, 76, 77, 78, 79, 81, 84, 91], "below": [0, 2, 4, 6, 13, 20, 26, 28, 30, 31, 34, 35, 37, 41, 42, 45, 46, 47, 65, 66, 77, 78, 79, 80, 82, 83, 84, 86, 93, 94], "As": [0, 1, 4, 5, 7, 8, 10, 11, 13, 15, 16, 18, 19, 21, 22, 25, 27, 28, 30, 33, 34, 35, 40, 41, 42, 44, 45, 46, 47, 48, 53, 54, 56, 57, 61, 63, 64, 65, 66, 68, 69, 76, 79, 83, 84, 87, 91, 94], "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, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94], "observ": [0, 7, 12, 22, 24, 30, 40, 44, 46, 50, 76, 91, 94], "long": [0, 1, 2, 3, 10, 16, 17, 19, 28, 30, 36, 41, 42, 45, 47, 48, 56, 61, 62, 70, 78, 79, 81, 84], "ago": [0, 1, 10, 17, 65], "ocaml": [0, 1, 2, 5, 6, 7, 8, 10, 11, 14, 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, 54, 55, 56, 57, 58, 59, 60, 62, 64, 65, 67, 68, 69, 70, 74, 75, 76, 78, 79, 80, 82, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93], "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, 48, 51, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 81, 82, 84, 85, 88, 89, 91, 93], "ml": [0, 3, 7, 12, 14, 23, 27, 33, 41, 46, 48, 61, 65, 66, 67, 69, 70, 72, 74, 75, 77, 79, 84, 85, 86, 91, 94], "famili": [0, 8, 70, 73, 74, 91], "wa": [0, 1, 3, 4, 7, 8, 10, 12, 13, 15, 17, 18, 25, 27, 30, 33, 35, 40, 41, 42, 44, 45, 46, 47, 54, 57, 61, 62, 63, 65, 66, 68, 69, 70, 71, 72, 76, 78, 79, 80, 83, 84, 91, 93, 94, 95], "origin": [0, 8, 12, 13, 17, 19, 20, 22, 24, 25, 27, 41, 42, 44, 45, 47, 48, 53, 54, 57, 58, 62, 63, 64, 72, 76, 80, 84, 91, 93], "design": [0, 1, 4, 8, 14, 15, 16, 21, 23, 24, 30, 32, 40, 42, 45, 46, 50, 61, 63, 64, 65, 68, 69, 72, 74, 78, 81, 82, 84, 85, 91], "m": [0, 1, 6, 13, 15, 16, 19, 23, 30, 31, 32, 34, 41, 42, 45, 63, 75, 76, 77, 78, 79, 80, 83, 84, 86, 88], "eta": 0, "l": [0, 1, 15, 22, 23, 25, 30, 37, 41, 42, 44, 47, 50, 58, 65, 79, 84, 95], "anguag": 0, "theorem": [0, 15, 19, 24, 72, 73], "prover": [0, 24, 72, 73], "help": [0, 1, 2, 4, 8, 14, 18, 20, 24, 30, 31, 40, 41, 45, 46, 47, 48, 50, 54, 57, 59, 62, 63, 64, 65, 66, 71, 74, 77, 78, 80, 81, 82, 83, 84, 85, 94], "prove": [0, 4, 13, 15, 17, 22, 23, 24, 33, 41, 46, 63, 68, 73], "check": [0, 1, 2, 4, 5, 6, 7, 8, 9, 11, 14, 15, 16, 18, 19, 20, 21, 26, 27, 30, 32, 33, 34, 35, 41, 42, 44, 45, 47, 62, 63, 64, 66, 67, 73, 76, 77, 78, 79, 80, 83, 84, 87, 88, 91, 93], "logic": [0, 15, 16, 17, 19, 23, 24, 31, 55, 59, 63, 82], "formula": [0, 1, 58], "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, 52, 54, 57, 58, 61, 62, 63, 64, 65, 66, 71, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 90, 91, 93, 94], "construct": [0, 7, 13, 14, 15, 19, 20, 22, 24, 25, 28, 33, 35, 37, 40, 44, 45, 48, 50, 58, 61, 62, 66, 72, 80, 81, 90, 91], "s": [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, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 94], "desir": [0, 7, 19, 20, 42, 48, 66, 84], "make": [0, 1, 2, 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, 47, 48, 50, 52, 53, 54, 57, 59, 60, 62, 63, 65, 66, 68, 69, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94], "sure": [0, 1, 2, 8, 15, 18, 30, 41, 45, 52, 54, 65, 66, 76, 78, 80, 83, 91, 94], "onli": [0, 2, 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, 50, 52, 53, 54, 55, 57, 61, 62, 63, 65, 66, 68, 72, 73, 76, 77, 78, 79, 80, 81, 83, 84, 91, 93, 94], "true": [0, 5, 6, 7, 8, 13, 14, 18, 20, 25, 28, 30, 31, 34, 35, 40, 41, 42, 45, 46, 47, 52, 53, 54, 61, 62, 63, 65, 66, 68, 73, 75, 76, 78, 79, 81, 84, 89, 91, 94], "don": [0, 1, 2, 3, 4, 7, 8, 10, 12, 13, 14, 16, 18, 19, 20, 22, 25, 31, 32, 33, 35, 36, 42, 45, 46, 47, 48, 54, 57, 58, 61, 62, 63, 64, 66, 68, 73, 76, 77, 78, 80, 83, 85, 86, 90, 91, 93, 94], "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, 50, 51, 53, 54, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 68, 70, 71, 73, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 94], "incorrect": [0, 7, 10, 66, 72, 91, 94], "argument": [0, 4, 5, 6, 7, 10, 13, 14, 15, 16, 18, 19, 20, 22, 27, 28, 30, 33, 37, 41, 44, 45, 46, 48, 50, 51, 52, 55, 56, 57, 61, 63, 64, 66, 76, 77, 78, 79, 86, 91], "etc": [0, 1, 5, 7, 8, 9, 12, 13, 14, 18, 21, 30, 33, 34, 35, 39, 41, 45, 46, 52, 55, 61, 62, 63, 65, 66, 73, 75, 77, 78, 79, 80, 82, 84, 91, 93], "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, 50, 52, 54, 55, 57, 58, 61, 62, 63, 64, 65, 66, 68, 72, 75, 76, 77, 78, 79, 80, 83, 84, 91, 94], "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, 50, 52, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95], "determin": [0, 4, 7, 14, 15, 18, 20, 22, 27, 28, 30, 31, 37, 41, 42, 47, 52, 63, 64, 68, 79, 84], "truth": [0, 8, 17, 20, 23, 40], "falsiti": 0, "ani": [0, 1, 2, 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, 50, 52, 54, 55, 56, 59, 60, 61, 62, 63, 64, 66, 68, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 93, 94], "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, 50, 52, 54, 57, 61, 62, 63, 64, 65, 66, 68, 75, 76, 77, 78, 79, 80, 83, 84, 86, 90, 91, 92, 93, 94], "some": [0, 1, 2, 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, 46, 47, 48, 49, 50, 53, 54, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94], "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, 54, 56, 57, 61, 63, 64, 66, 68, 75, 76, 77, 78, 79, 80, 84, 88, 91, 93, 94], "But": [0, 1, 2, 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, 50, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 66, 67, 68, 71, 73, 74, 75, 76, 78, 79, 80, 81, 83, 84, 85, 86, 89, 91, 92, 93, 94], "groundbreak": 0, "earli": [0, 18, 21, 33, 41, 72, 78, 81], "20th": [0, 41], "centuri": [0, 66], "gener": [0, 1, 3, 8, 9, 13, 14, 15, 16, 17, 19, 21, 22, 23, 25, 27, 30, 34, 40, 44, 45, 47, 50, 52, 56, 57, 59, 62, 63, 64, 66, 67, 70, 75, 79, 81, 84, 85, 87], "do": [0, 1, 2, 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, 50, 51, 52, 53, 54, 55, 56, 57, 59, 61, 62, 63, 64, 65, 66, 68, 70, 71, 73, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 87, 88, 90, 91, 93, 94], "alonzo": 0, "church": [0, 66], "alan": [0, 71], "ture": [0, 8, 59, 66, 71, 72, 84], "independ": [0, 1, 8, 24, 36, 44, 63, 64, 72, 77, 79, 81, 84, 95], "show": [0, 1, 3, 7, 13, 14, 16, 19, 20, 22, 33, 40, 46, 47, 52, 62, 63, 66, 68, 71, 76, 77, 78, 79, 84, 91], "1936": 0, "us": [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, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 50, 51, 52, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 68, 69, 72, 73, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 91, 92, 93], "lambda": [0, 1, 8, 11, 53, 57, 63, 66, 67], "calculu": [0, 8, 23, 63, 66, 67], "model": [0, 2, 8, 45, 62, 63, 67, 69, 73, 94], "now": [0, 1, 2, 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, 50, 53, 54, 57, 59, 61, 62, 63, 65, 66, 68, 76, 77, 78, 79, 80, 83, 84, 86, 89, 90, 91, 93, 94, 95], "call": [0, 1, 3, 4, 5, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 25, 27, 28, 29, 30, 32, 33, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 67, 68, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 83, 84, 86, 91, 94], "machin": [0, 1, 7, 8, 16, 17, 56, 61, 64, 66, 67, 71, 73, 77, 93, 94], "thesi": 0, "hypothesi": [0, 4, 19, 22, 23, 24, 66], "sai": [0, 1, 3, 5, 8, 9, 14, 16, 18, 19, 24, 25, 27, 28, 30, 33, 42, 45, 46, 53, 55, 57, 61, 63, 65, 66, 68, 71, 73, 76, 80, 84, 85, 89, 90, 94], "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, 50, 51, 54, 55, 56, 57, 61, 63, 66, 68, 75, 76, 77, 78, 79, 80, 81, 82, 84, 86, 91, 94], "formal": [0, 1, 4, 17, 19, 23, 24, 62, 63, 65, 66, 68, 79, 91], "inform": [0, 4, 7, 8, 14, 16, 18, 21, 24, 27, 33, 35, 42, 63, 65, 73, 75, 76, 79, 81, 82, 85, 88, 91, 94], "instead": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 16, 19, 20, 21, 22, 23, 25, 27, 28, 30, 33, 35, 36, 40, 41, 42, 45, 46, 48, 50, 51, 52, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 68, 75, 76, 78, 79, 80, 83, 84, 87, 88, 91, 93, 94], "focus": [0, 74], "imposs": [0, 4, 8, 19, 25, 28, 45, 46, 73, 79], "task": [0, 2, 7, 17, 19, 24, 30, 41, 64, 68, 73, 81, 95], "re": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 14, 16, 17, 18, 19, 20, 22, 27, 30, 33, 35, 36, 39, 40, 41, 42, 45, 46, 48, 50, 57, 61, 62, 63, 64, 65, 66, 68, 73, 75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 89, 91, 93, 94], "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, 50, 54, 57, 58, 60, 62, 63, 64, 65, 66, 70, 71, 73, 74, 76, 82, 83, 84, 91, 93, 94], "focu": [0, 4, 8, 9, 24, 47, 64, 82, 83, 93], "relationship": [0, 18, 30, 68, 79, 82, 84, 91], "between": [0, 1, 2, 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, 51, 52, 54, 55, 57, 58, 61, 63, 64, 65, 66, 68, 70, 73, 75, 78, 79, 81, 82, 84, 86, 87, 91, 94], "turn": [0, 6, 8, 10, 14, 15, 18, 19, 22, 27, 32, 40, 42, 44, 45, 46, 48, 54, 63, 66, 75, 79, 83, 84, 90, 94], "out": [0, 1, 2, 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, 53, 54, 55, 57, 59, 62, 63, 64, 65, 66, 68, 69, 71, 73, 76, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 91, 93, 94, 95], "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, 50, 51, 52, 53, 54, 55, 57, 59, 61, 62, 63, 64, 65, 66, 68, 69, 72, 75, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 90, 91, 93, 94], "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, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 91, 93, 94, 95], "deepli": [0, 24, 30], "connect": [0, 4, 44, 93, 94], "surpris": [0, 5, 8, 12, 39, 54, 57, 59, 63, 65, 66, 70, 71, 73, 78, 84], "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, 50, 51, 52, 53, 54, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 87, 90, 91, 93, 94], "accustom": [0, 84, 94], "manipul": [0, 8, 13, 14, 15, 18, 19, 20, 23, 31, 48, 54, 64, 73, 84], "data": [0, 1, 3, 8, 13, 15, 18, 20, 22, 23, 24, 26, 30, 33, 35, 36, 37, 39, 40, 42, 44, 45, 46, 47, 48, 49, 50, 54, 55, 56, 57, 58, 59, 61, 64, 65, 69, 73, 76, 77, 79, 83, 84, 85, 89, 91, 92, 93, 95], "integ": [0, 1, 4, 5, 6, 7, 8, 14, 15, 16, 19, 20, 22, 28, 30, 32, 33, 34, 41, 42, 44, 45, 55, 57, 61, 63, 65, 66, 68, 73, 76, 77, 78, 79, 84, 87, 91, 94], "variant": [0, 10, 28, 29, 31, 36, 41, 44, 47, 50, 55, 62, 65, 66, 68, 72, 74, 78, 79, 84, 91], "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, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 73, 74, 75, 76, 77, 79, 80, 81, 82, 84, 85, 87, 88, 89, 90, 91, 93, 94, 95], "those": [0, 1, 2, 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, 50, 52, 54, 57, 58, 59, 62, 63, 64, 65, 66, 68, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 90, 91, 93, 94], "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, 54, 55, 56, 57, 58, 61, 62, 63, 65, 66, 67, 68, 71, 73, 74, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87, 88, 89, 90, 91], "alwai": [0, 1, 7, 8, 10, 12, 13, 16, 17, 18, 19, 20, 30, 33, 40, 42, 45, 46, 47, 48, 50, 54, 63, 68, 69, 73, 77, 78, 79, 80, 84, 87, 91, 93], "compil": [0, 1, 5, 7, 8, 9, 10, 12, 14, 16, 18, 20, 21, 23, 24, 27, 30, 31, 33, 41, 45, 46, 56, 62, 63, 64, 65, 66, 67, 68, 69, 73, 76, 84, 85, 91, 93, 94, 95], "time": [0, 1, 2, 3, 4, 7, 8, 9, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 26, 27, 28, 30, 33, 35, 37, 39, 40, 41, 42, 44, 46, 47, 48, 49, 52, 53, 54, 55, 57, 58, 60, 61, 62, 63, 64, 65, 66, 68, 69, 71, 72, 73, 74, 76, 77, 78, 79, 84, 86, 87, 90, 91, 93, 94], "infer": [0, 7, 8, 11, 30, 35, 62, 67, 68, 70, 73, 76, 79, 84, 91], "programm": [0, 4, 5, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 19, 23, 24, 27, 30, 32, 35, 39, 46, 47, 54, 55, 59, 63, 64, 66, 70, 71, 73, 74, 75, 76, 78, 79, 81, 82, 83, 84, 91], "annot": [0, 8, 10, 16, 25, 31, 34, 38, 45, 46, 62, 63, 65, 67, 75, 76, 79, 80, 83, 84, 93, 94], "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, 46, 48, 51, 52, 54, 55, 57, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 73, 76, 77, 78, 79, 80, 84, 85, 86, 87, 88, 91], "exampl": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 18, 19, 20, 22, 23, 25, 26, 27, 28, 30, 32, 35, 38, 39, 40, 41, 42, 44, 46, 47, 48, 50, 52, 54, 55, 56, 57, 61, 62, 63, 64, 66, 68, 72, 76, 77, 78, 80, 81, 83, 84, 85, 86, 87, 88, 92, 93, 94], "3110": [0, 2, 6, 7, 15, 28, 42, 62, 65, 66, 88, 93, 94, 95], "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, 48, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 63, 65, 66, 68, 75, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88, 90, 91, 94], "list": [0, 1, 2, 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, 48, 49, 52, 53, 54, 55, 57, 58, 59, 62, 63, 64, 65, 66, 68, 75, 76, 77, 79, 80, 84, 86, 87, 88, 94], "learn": [0, 1, 4, 8, 9, 10, 11, 12, 13, 17, 19, 27, 29, 30, 33, 35, 40, 43, 50, 57, 59, 63, 66, 68, 69, 70, 71, 73, 75, 76, 84, 85, 90, 91, 93], "read": [0, 1, 2, 4, 5, 6, 7, 8, 10, 12, 13, 16, 20, 21, 30, 34, 41, 45, 46, 47, 48, 54, 58, 62, 63, 64, 65, 66, 68, 71, 73, 75, 76, 83, 84, 91, 93, 95], "ha": [0, 1, 2, 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, 56, 57, 59, 61, 63, 64, 65, 66, 67, 68, 69, 70, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 87, 88, 90, 91, 93, 94], "let": [0, 1, 2, 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, 50, 51, 52, 53, 54, 55, 57, 58, 60, 61, 62, 65, 66, 67, 68, 71, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 86, 87, 88, 90, 91, 93, 94], "try": [0, 1, 2, 3, 4, 7, 8, 12, 13, 14, 15, 16, 17, 19, 22, 24, 27, 30, 35, 40, 41, 44, 45, 46, 48, 54, 62, 63, 66, 68, 75, 77, 79, 80, 84, 88, 92, 93, 94], "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, 53, 54, 57, 59, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 73, 75, 77, 78, 79, 80, 81, 82, 84, 85, 86, 90, 91, 93, 94], "so": [0, 1, 2, 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, 50, 51, 53, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 66, 68, 71, 72, 73, 75, 76, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 91, 93, 94], "doe": [0, 1, 2, 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, 51, 52, 53, 54, 56, 57, 62, 63, 64, 65, 66, 68, 69, 70, 73, 75, 76, 78, 79, 80, 81, 84, 86, 88, 89, 90, 91, 92, 93, 94], "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, 46, 47, 48, 50, 52, 54, 55, 57, 61, 62, 63, 64, 65, 66, 71, 75, 76, 79, 81, 82, 83, 84, 85, 89, 91, 93, 94], "set": [0, 1, 2, 9, 13, 14, 15, 18, 25, 28, 30, 33, 34, 35, 41, 42, 43, 44, 45, 46, 49, 51, 55, 63, 65, 66, 68, 69, 77, 79, 80, 82, 83, 84, 85, 91], "empti": [0, 5, 13, 14, 15, 18, 20, 22, 25, 27, 28, 30, 32, 33, 37, 40, 41, 42, 44, 45, 46, 47, 48, 52, 54, 57, 61, 62, 63, 65, 68, 71, 75, 76, 77, 78, 79, 80, 84, 88, 90, 91], "likewis": [0, 1, 5, 7, 8, 19, 22, 30, 45, 63, 68, 76, 78, 79, 83], "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, 50, 52, 55, 57, 61, 62, 63, 65, 66, 68, 70, 73, 75, 76, 77, 78, 79, 83, 84, 85, 86, 91, 94, 95], "actual": [0, 1, 2, 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, 46, 47, 48, 51, 54, 55, 57, 61, 63, 64, 65, 66, 68, 75, 76, 78, 79, 80, 84, 85, 86, 90, 91, 93, 94], "though": [0, 2, 5, 6, 7, 8, 9, 10, 12, 13, 15, 19, 21, 22, 24, 25, 27, 28, 30, 31, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 52, 55, 62, 63, 64, 65, 66, 68, 74, 76, 77, 78, 79, 80, 83, 84, 88, 89, 91, 93, 94], "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, 50, 51, 54, 55, 57, 58, 61, 62, 63, 65, 66, 67, 68, 71, 75, 76, 78, 79, 80, 82, 83, 84, 89, 90, 91, 93, 94], "never": [0, 1, 5, 7, 8, 10, 13, 14, 18, 19, 24, 25, 27, 30, 40, 41, 42, 44, 45, 46, 48, 50, 53, 61, 63, 64, 66, 68, 70, 75, 76, 77, 78, 84, 89, 91, 94], "had": [0, 1, 2, 7, 12, 13, 17, 25, 33, 40, 41, 44, 45, 46, 50, 54, 56, 63, 66, 69, 70, 73, 76, 77, 78, 79, 80, 84, 86, 91, 93], "reason": [0, 1, 3, 7, 8, 10, 13, 18, 21, 22, 23, 24, 30, 33, 40, 42, 45, 46, 48, 57, 59, 61, 63, 65, 66, 73, 75, 76, 79, 80, 81, 84, 85, 89, 90, 91, 92, 93, 94], "mention": [0, 18, 25, 41, 44, 57, 66, 76, 80, 82, 91], "befor": [0, 1, 2, 4, 5, 7, 8, 9, 10, 12, 14, 16, 18, 19, 20, 22, 24, 25, 27, 28, 29, 33, 34, 35, 37, 40, 41, 44, 45, 46, 47, 48, 50, 54, 57, 62, 63, 64, 66, 70, 73, 75, 76, 77, 78, 79, 84, 89, 91, 92, 94], "defin": [0, 1, 6, 7, 8, 9, 12, 13, 15, 16, 18, 19, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 44, 45, 46, 51, 52, 54, 55, 57, 61, 62, 63, 64, 65, 68, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 88, 91], "constructor": [0, 22, 25, 27, 28, 30, 31, 32, 35, 36, 39, 41, 42, 48, 50, 54, 62, 64, 65, 66, 68, 79, 82, 84, 87, 91], "could": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 18, 19, 20, 24, 25, 27, 28, 30, 33, 35, 38, 40, 41, 42, 45, 46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 62, 63, 64, 65, 66, 67, 71, 72, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 91, 93, 94], "anyth": [0, 4, 8, 10, 12, 16, 21, 25, 30, 32, 33, 41, 45, 46, 61, 63, 66, 76, 94], "want": [0, 1, 2, 3, 4, 7, 8, 9, 10, 12, 14, 16, 17, 18, 19, 20, 22, 25, 27, 30, 32, 33, 35, 36, 41, 42, 44, 45, 46, 48, 50, 51, 53, 54, 57, 58, 61, 62, 63, 64, 65, 66, 68, 70, 76, 77, 78, 79, 80, 84, 86, 91, 93, 94], "special": [0, 3, 5, 7, 10, 20, 29, 30, 34, 41, 46, 61, 63, 64, 65, 76, 77, 79, 84], "syntax": [0, 3, 7, 8, 9, 10, 11, 12, 22, 23, 27, 28, 32, 34, 35, 36, 39, 42, 45, 46, 48, 57, 58, 61, 62, 63, 64, 65, 66, 67, 68, 69, 78, 83, 84, 87, 90, 94], "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, 50, 52, 53, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 91, 93, 94], "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, 46, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 61, 62, 63, 65, 66, 68, 71, 73, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 88, 90, 91, 93], "note": [0, 1, 3, 5, 6, 7, 8, 9, 12, 13, 15, 16, 18, 19, 20, 26, 27, 28, 30, 35, 41, 42, 46, 48, 50, 53, 58, 61, 62, 63, 65, 66, 68, 69, 75, 76, 77, 78, 79, 83, 84, 86, 90, 91, 93, 94, 95], "might": [0, 1, 2, 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, 54, 55, 56, 57, 58, 59, 61, 63, 64, 65, 66, 67, 68, 71, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 88, 89, 91, 93, 94], "give": [0, 1, 3, 8, 9, 10, 14, 16, 17, 24, 25, 28, 30, 33, 38, 40, 41, 46, 47, 54, 57, 63, 66, 71, 73, 75, 76, 77, 78, 81, 83, 88, 91, 94], "editor": [0, 3, 4, 16, 33, 46, 93, 94], "troubl": [0, 8, 12, 40, 63, 83, 94], "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, 50, 52, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 68, 70, 73, 75, 76, 77, 78, 79, 80, 81, 83, 84, 91, 93, 94], "put": [0, 1, 2, 3, 7, 8, 10, 12, 33, 41, 42, 45, 46, 54, 57, 63, 65, 68, 72, 74, 75, 77, 78, 84, 86, 89, 91, 94], "doubl": [0, 1, 3, 5, 6, 7, 10, 12, 18, 20, 30, 40, 41, 42, 47, 52, 55, 62], "semicolon": [0, 3, 12, 45, 64, 91, 94], "after": [0, 2, 4, 5, 7, 8, 10, 16, 19, 20, 27, 28, 29, 30, 33, 35, 39, 40, 41, 42, 44, 45, 46, 47, 48, 50, 51, 54, 56, 60, 61, 64, 65, 66, 67, 68, 69, 70, 71, 75, 77, 78, 84, 87, 91, 93, 94], "get": [0, 1, 2, 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, 50, 54, 57, 58, 60, 62, 63, 65, 66, 68, 70, 73, 76, 77, 78, 79, 80, 82, 84, 85, 86, 87, 88, 91, 94], "format": [0, 5, 9, 10, 15, 19, 24, 30, 65, 74, 76, 77, 83, 93], "right": [0, 1, 2, 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, 57, 58, 61, 62, 63, 64, 65, 66, 71, 76, 77, 78, 79, 80, 84, 86, 88, 91, 93, 94], "exactli": [0, 4, 7, 8, 14, 18, 20, 25, 27, 28, 30, 35, 37, 40, 41, 42, 45, 46, 47, 54, 56, 62, 65, 66, 68, 75, 76, 77, 79, 84, 85, 86, 94], "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, 50, 51, 54, 55, 57, 61, 62, 63, 64, 65, 66, 68, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 90, 91, 93, 94], "under": [0, 2, 5, 7, 8, 10, 15, 19, 20, 34, 42, 46, 54, 57, 63, 94, 95], "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, 52, 54, 55, 57, 59, 61, 62, 63, 64, 66, 68, 69, 71, 73, 74, 76, 77, 78, 79, 80, 82, 84, 85, 86, 87, 89, 90, 91, 92, 94], "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, 46, 48, 50, 52, 54, 55, 56, 57, 58, 60, 61, 63, 64, 65, 66, 68, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 89, 91, 92, 94, 95], "transform": [0, 8, 12, 19, 30, 33, 42, 45, 46, 47, 52, 54, 55, 57, 64, 65, 66], "alreadi": [0, 1, 2, 3, 4, 5, 8, 9, 12, 13, 18, 19, 25, 26, 27, 28, 30, 34, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 54, 57, 61, 63, 66, 68, 71, 75, 76, 77, 78, 79, 84, 86, 89, 90, 91, 93, 94], "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, 52, 55, 57, 61, 62, 63, 64, 65, 66, 69, 75, 76, 77, 78, 79, 80, 82, 84, 86, 87, 88, 90, 91, 93, 94], "destruct": [0, 61, 73, 78, 90], "pair": [0, 4, 13, 14, 15, 18, 19, 23, 24, 25, 26, 27, 28, 31, 34, 35, 36, 42, 45, 51, 52, 55, 61, 62, 66, 75, 76, 77, 78, 79], "x": [0, 2, 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, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 63, 64, 65, 66, 68, 73, 75, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88, 90, 91, 94], "y": [0, 6, 7, 8, 13, 14, 15, 16, 19, 22, 28, 33, 34, 35, 44, 45, 46, 47, 51, 54, 55, 61, 62, 63, 65, 66, 73, 75, 76, 77, 79, 80, 83, 84, 86, 88, 90, 91, 94], "fst": [0, 34, 42, 51, 61, 62, 66, 78], "snd": [0, 34, 51, 61, 66, 76], "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, 50, 51, 53, 54, 55, 57, 58, 63, 68, 75, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88, 90, 91], "b": [0, 7, 8, 13, 15, 16, 19, 22, 23, 25, 26, 27, 28, 30, 34, 38, 41, 42, 44, 45, 46, 47, 48, 50, 51, 52, 54, 55, 57, 61, 62, 63, 65, 66, 68, 76, 78, 79, 80, 83, 84, 86, 88, 91], "fun": [0, 1, 3, 6, 7, 8, 10, 12, 14, 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, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 63, 64, 66, 76, 78, 79, 80, 83, 84, 86, 88, 90, 91, 94], "take": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 20, 22, 24, 25, 28, 30, 32, 33, 36, 37, 40, 41, 42, 43, 44, 45, 46, 48, 50, 51, 52, 54, 55, 56, 57, 58, 62, 63, 64, 65, 66, 68, 69, 70, 76, 77, 78, 79, 81, 83, 84, 85, 91, 93, 94], "back": [0, 4, 8, 11, 15, 17, 20, 22, 25, 30, 33, 35, 40, 41, 42, 45, 46, 47, 48, 54, 57, 61, 62, 63, 64, 66, 67, 68, 69, 75, 76, 78, 79, 84, 91, 94], "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, 50, 52, 54, 57, 61, 63, 64, 65, 66, 68, 71, 73, 75, 76, 77, 78, 79, 80, 82, 84, 85, 86, 87, 91, 94], "latter": [0, 1, 6, 7, 8, 13, 18, 23, 24, 30, 40, 45, 46, 50, 57, 65, 68, 76, 83, 86, 93], "piec": [0, 3, 4, 7, 9, 12, 17, 18, 19, 20, 22, 23, 24, 25, 27, 30, 33, 35, 42, 48, 60, 63, 64, 65, 66, 78, 81, 82], "individu": [0, 4, 7, 18, 20, 25, 33, 34, 39, 40, 54, 55, 63, 65, 66, 78, 93], "similarli": [0, 8, 13, 16, 18, 31, 42, 45, 46, 48, 55, 63, 65, 66, 78, 79, 84, 91], "extract": [0, 5, 28, 30, 32, 41, 45, 46, 48, 78, 79], "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, 46, 48, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 90, 91, 92, 93, 94], "thu": [0, 5, 7, 8, 13, 14, 19, 22, 25, 30, 32, 33, 35, 39, 40, 41, 42, 44, 45, 46, 50, 54, 57, 61, 63, 64, 65, 66, 68, 76, 78, 79, 82, 84, 86, 91, 92], "If": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 14, 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, 50, 52, 54, 57, 61, 62, 63, 65, 66, 68, 70, 75, 77, 78, 79, 80, 81, 84, 85, 86, 87, 91, 93, 94], "produc": [0, 1, 3, 6, 7, 8, 12, 14, 18, 19, 20, 23, 25, 27, 30, 32, 33, 34, 35, 39, 41, 42, 45, 46, 48, 52, 57, 58, 61, 62, 63, 64, 65, 66, 68, 73, 77, 78, 79, 82, 86, 88, 91, 93], "In": [0, 1, 2, 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, 52, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 89, 90, 91, 93, 94], "discret": [0, 17, 23, 65, 67, 68, 81, 93], "mathemat": [0, 1, 4, 5, 7, 8, 9, 16, 17, 18, 19, 22, 23, 24, 30, 31, 42, 45, 48, 52, 57, 61, 63, 65, 66, 67, 68, 72, 73, 75, 93], "class": [0, 1, 4, 8, 10, 14, 23, 30, 45, 46, 63, 65, 70, 71, 73, 74, 75, 76, 78, 79, 80, 81, 82, 85, 91], "order": [0, 1, 8, 14, 15, 19, 20, 27, 28, 30, 34, 35, 36, 37, 41, 42, 45, 46, 47, 48, 50, 51, 52, 54, 57, 58, 59, 62, 63, 64, 65, 76, 77, 78, 79, 80, 81, 84, 90, 91, 93], "statement": [0, 1, 4, 7, 10, 40, 45, 46, 71, 77, 80, 84], "hold": [0, 7, 13, 16, 18, 19, 20, 30, 34, 35, 40, 41, 42, 45, 46, 63, 66, 68, 77, 81, 84, 91], "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, 50, 52, 54, 55, 57, 59, 62, 63, 64, 65, 66, 68, 76, 77, 78, 79, 80, 81, 84, 85, 86, 87, 88, 91, 93, 94], "conjunct": [0, 7, 15, 19, 87], "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, 52, 61, 63, 64, 65, 66, 68, 75, 78, 79, 80, 81, 83, 84, 90, 91, 94], "well": [0, 1, 2, 4, 5, 7, 8, 9, 14, 15, 16, 18, 19, 20, 21, 23, 24, 30, 41, 42, 45, 46, 48, 50, 54, 57, 62, 63, 65, 66, 67, 68, 70, 72, 73, 76, 77, 78, 79, 80, 81, 84, 91, 93, 94], "conclud": [0, 8, 13, 19, 34, 40, 63], "pattern": [0, 14, 20, 22, 25, 28, 29, 32, 35, 36, 37, 40, 41, 45, 47, 48, 49, 50, 51, 54, 55, 56, 57, 62, 63, 64, 66, 68, 70, 73, 76, 78], "denot": [0, 8, 25, 48, 61, 65, 66, 84], "implic": [0, 14, 15, 42, 94], "form": [0, 3, 6, 8, 9, 13, 14, 15, 18, 19, 21, 23, 25, 27, 30, 34, 35, 39, 42, 45, 52, 58, 59, 62, 63, 66, 67, 68, 77, 79, 81, 82, 84, 93, 95], "thei": [0, 1, 2, 3, 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, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 93, 94, 95], "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, 51, 52, 55, 57, 58, 63, 65, 66, 69, 72, 75, 76, 78, 79, 80, 82, 84, 91, 93], "notic": [0, 6, 8, 18, 20, 25, 27, 30, 33, 37, 40, 44, 45, 46, 47, 48, 54, 57, 63, 64, 75, 76, 77, 79, 83, 84], "how": [0, 1, 2, 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, 50, 51, 52, 53, 54, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 73, 74, 75, 76, 77, 78, 80, 81, 83, 84, 86, 91, 93, 94], "given": [0, 6, 7, 8, 9, 12, 13, 14, 18, 20, 21, 26, 27, 28, 30, 32, 33, 34, 35, 39, 42, 44, 46, 47, 52, 55, 63, 66, 77, 79, 82, 83, 85, 90, 91, 94], "same": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 15, 16, 18, 19, 20, 22, 25, 26, 27, 28, 30, 34, 35, 40, 41, 42, 44, 45, 46, 47, 48, 50, 52, 53, 54, 55, 57, 58, 61, 63, 64, 65, 66, 67, 68, 69, 73, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 90, 91, 93, 94], "fact": [0, 1, 4, 6, 7, 8, 13, 14, 16, 17, 19, 20, 22, 24, 25, 30, 33, 34, 40, 45, 46, 48, 52, 54, 57, 58, 61, 62, 63, 66, 71, 76, 78, 79, 80, 82, 83, 84, 89, 90, 91], "close": [0, 2, 6, 15, 18, 19, 20, 21, 32, 33, 40, 41, 42, 54, 58, 65, 69, 80, 84, 94], "look": [0, 2, 4, 7, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22, 26, 30, 33, 35, 40, 41, 42, 43, 44, 45, 46, 48, 54, 57, 61, 63, 64, 65, 66, 68, 76, 77, 78, 79, 80, 81, 84, 90, 91, 93, 94], "compar": [0, 1, 6, 8, 9, 18, 19, 20, 22, 24, 28, 37, 41, 42, 44, 45, 46, 47, 50, 52, 58, 62, 63, 77, 78, 79, 80, 82, 83, 84, 91], "describ": [0, 3, 5, 7, 8, 13, 16, 18, 19, 21, 41, 42, 46, 65, 67, 75, 77, 82, 86, 94], "valid": [0, 4, 6, 13, 16, 18, 19, 23, 28, 34, 44, 52, 65, 72, 84], "replac": [0, 1, 7, 8, 19, 33, 42, 45, 47, 50, 52, 54, 63, 64, 65, 66, 68, 73, 76, 80, 83, 91], "ident": [0, 7, 8, 13, 18, 19, 23, 41, 45, 49, 50, 54, 63, 66, 79, 80, 91], "discov": [0, 4, 9, 15, 16, 19, 24, 33, 45, 48, 53, 54, 57, 63, 66, 84, 94], "accid": [0, 8, 30, 45, 46, 53], "occur": [0, 2, 4, 5, 6, 7, 8, 12, 15, 17, 18, 22, 30, 37, 39, 40, 41, 42, 45, 46, 47, 57, 61, 62, 63, 64, 65, 66, 68, 73, 77, 78, 80, 84, 91, 94], "three": [0, 1, 2, 4, 5, 6, 7, 8, 14, 17, 18, 19, 20, 24, 27, 28, 30, 31, 33, 35, 40, 41, 42, 45, 46, 50, 52, 54, 55, 62, 64, 65, 66, 77, 78, 87, 93, 94], "specif": [0, 4, 8, 14, 15, 17, 18, 20, 23, 24, 27, 28, 30, 33, 41, 44, 45, 46, 48, 57, 64, 69, 70, 75, 76, 77, 79, 80, 81, 84, 85, 94], "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, 46, 48, 57, 58, 60, 62, 63, 65, 66, 68, 69, 75, 76, 77, 79, 80, 81, 83, 84, 85, 86, 90, 91, 94], "deep": [0, 8, 10, 48, 49], "phenomenon": [0, 7, 47, 63], "link": [0, 3, 14, 23, 25, 30, 33, 35, 36, 42, 48, 57, 78, 84, 94], "field": [0, 20, 28, 35, 36, 41, 45, 46, 64, 70, 76, 77, 78, 80, 88, 91, 92], "aspect": [0, 8, 9, 18, 85], "been": [0, 1, 3, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 24, 25, 28, 34, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 52, 53, 56, 57, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 75, 76, 77, 79, 80, 82, 84, 86, 88, 91, 93, 94], "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, 46, 48, 52, 53, 54, 55, 57, 62, 63, 64, 65, 66, 68, 69, 72, 73, 75, 78, 79, 81, 82, 84, 85, 87, 88, 89, 91, 93, 94], "peopl": [0, 1, 6, 16, 21, 24, 33, 51, 57, 63, 66], "work": [0, 1, 2, 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, 50, 54, 55, 57, 62, 63, 64, 66, 69, 72, 73, 75, 76, 77, 79, 80, 81, 82, 83, 84, 86, 91, 94, 95], "area": [0, 6, 25, 55, 63, 79], "goe": [0, 7, 8, 21, 25, 33, 40, 41, 42, 45, 46, 54, 64, 73, 75, 81], "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, 46, 51, 53, 54, 55, 57, 58, 61, 62, 63, 64, 65, 66, 67, 68, 69, 75, 76, 77, 78, 79, 80, 82, 83, 84, 86, 88, 90, 94], "One": [0, 1, 8, 9, 12, 14, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28, 35, 40, 41, 42, 44, 45, 46, 47, 50, 54, 57, 62, 63, 65, 66, 75, 76, 78, 80, 81, 83, 84, 85, 86, 89, 91, 93], "common": [0, 1, 4, 9, 10, 12, 14, 16, 19, 21, 23, 24, 27, 28, 30, 42, 44, 47, 54, 57, 64, 71, 73, 76, 77, 80, 82, 84, 94, 95], "logician": [0, 51], "haskel": [0, 23, 30, 32, 33, 45, 46, 48, 51, 66, 70, 72, 73], "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, 48, 53, 54, 55, 57, 58, 59, 61, 63, 65, 66, 68, 69, 71, 72, 76, 77, 78, 79, 80, 81, 83, 84, 85, 91, 93], "aka": [0, 7, 13, 14, 15, 20, 29, 46, 48, 50, 65, 67, 68, 77, 78, 82, 86, 94], "seen": [0, 1, 8, 10, 11, 18, 19, 22, 25, 39, 41, 42, 44, 45, 46, 47, 50, 51, 54, 55, 57, 61, 63, 66, 76, 78, 79, 83, 84, 85, 89, 90, 91], "first": [0, 1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 33, 34, 35, 40, 41, 42, 44, 45, 46, 47, 48, 50, 51, 52, 54, 55, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 88, 90, 91, 93, 94], "themselv": [0, 7, 42, 48, 61, 66, 78, 84, 87, 91], "done": [0, 3, 5, 7, 8, 9, 14, 17, 18, 30, 33, 40, 41, 42, 45, 46, 47, 48, 50, 54, 59, 62, 63, 64, 72, 75, 77, 81, 83, 87, 94], "involv": [0, 2, 4, 8, 13, 19, 21, 22, 24, 25, 30, 33, 35, 41, 42, 45, 47, 61, 62, 63, 64, 73, 79, 81, 84, 86, 91, 94], "haven": [0, 7, 10, 25, 30, 39, 48, 63, 66, 76, 81], "third": [0, 1, 4, 8, 16, 17, 19, 23, 28, 30, 46, 51, 54, 55, 62, 63, 65, 66, 76, 80, 91, 93, 94], "yet": [0, 1, 2, 7, 8, 12, 13, 14, 17, 18, 25, 30, 34, 39, 41, 46, 52, 57, 62, 63, 66, 80, 82, 84, 86, 91], "later": [0, 2, 4, 7, 8, 13, 16, 22, 25, 26, 27, 29, 30, 33, 35, 39, 40, 45, 46, 47, 48, 56, 57, 61, 63, 64, 65, 66, 69, 72, 75, 78, 84, 87, 91, 94], "dig": [0, 93], "appreci": [0, 42, 45, 54, 71, 74, 85, 93, 94], "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, 46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 68, 70, 71, 73, 75, 78, 79, 80, 81, 82, 83, 85, 89, 91, 93, 94], "more": [0, 1, 2, 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, 52, 54, 55, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 73, 76, 77, 78, 79, 81, 83, 84, 85, 88, 89, 91, 93, 94], "fulli": [0, 24, 64], "creat": [0, 2, 3, 6, 8, 12, 13, 14, 15, 18, 19, 20, 22, 27, 28, 30, 32, 33, 36, 41, 42, 44, 45, 46, 47, 48, 53, 55, 57, 63, 65, 75, 76, 77, 78, 79, 80, 84, 86, 87, 88, 89, 91, 95], "atom": [0, 1, 15], "negat": [0, 15, 45, 64, 91], "disjunct": [0, 7, 15], "bnf": [0, 62, 65, 66, 67], "p": [0, 6, 14, 15, 19, 22, 25, 27, 28, 30, 34, 41, 46, 50, 52, 53, 54, 55, 57, 62, 63, 77, 79, 90, 91, 95], "identifi": [0, 1, 5, 7, 8, 11, 12, 14, 21, 30, 34, 35, 39, 62, 63, 64, 65, 66, 68, 84], "rain": [0, 15], "snow": [0, 15], "cold": [0, 15, 73], "state": [0, 2, 5, 8, 15, 16, 19, 20, 21, 22, 23, 32, 45, 46, 55, 61, 63, 66, 73, 74, 77], "simultan": [0, 15, 46, 76], "weather": [0, 15], "condit": [0, 5, 7, 15, 16, 18, 19, 23, 46, 47, 49, 66, 68], "known": [0, 4, 7, 8, 10, 14, 15, 16, 19, 21, 22, 24, 26, 35, 41, 42, 46, 56, 63, 65, 66, 68, 69, 73, 78, 80, 81, 84], "ithac": [0, 15], "world": [0, 1, 3, 6, 10, 11, 25, 36, 40, 41, 42, 45, 49, 59, 63, 67, 74, 80, 81, 83, 85, 86, 91, 92, 93], "distinguish": [0, 7, 8, 14, 18, 39, 40, 46, 65, 79], "written": [0, 1, 5, 6, 7, 8, 9, 10, 14, 16, 17, 18, 21, 23, 30, 33, 35, 42, 45, 46, 47, 50, 51, 52, 55, 63, 65, 66, 68, 71, 72, 74, 75, 76, 77, 78, 79, 81, 84, 88, 91, 93], "fals": [0, 6, 7, 13, 20, 25, 28, 30, 31, 37, 41, 46, 47, 52, 53, 54, 61, 62, 65, 66, 75, 76, 78, 79, 84, 87, 91], "respect": [0, 10, 16, 30, 41, 44, 65, 69, 78, 81], "togeth": [0, 1, 8, 9, 10, 18, 22, 41, 42, 45, 46, 52, 58, 63, 64, 65, 68, 71, 72, 79, 81, 82, 85, 86, 94, 95], "assert": [0, 4, 6, 11, 18, 19, 23, 33, 41, 45, 46, 55, 84], "product": [0, 4, 9, 16, 18, 25, 28, 35, 36, 46, 52, 64, 65, 81], "other": [0, 1, 2, 3, 4, 7, 8, 9, 10, 12, 13, 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, 52, 55, 56, 58, 59, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 91, 93, 94], "word": [0, 1, 2, 5, 7, 8, 9, 13, 17, 19, 24, 25, 30, 35, 39, 40, 44, 45, 46, 47, 57, 64, 65, 66, 68, 69, 75, 76, 77, 78, 79, 84, 91, 94, 95], "assum": [0, 1, 2, 6, 8, 13, 15, 19, 21, 25, 28, 34, 40, 41, 42, 44, 46, 62, 65, 66, 78, 93, 94], "sens": [0, 8, 14, 16, 17, 18, 19, 20, 22, 27, 42, 45, 48, 50, 57, 62, 63, 65, 66, 76, 81, 84, 85, 90], "even": [0, 1, 2, 4, 5, 7, 8, 9, 10, 14, 15, 16, 17, 19, 20, 21, 24, 25, 31, 32, 33, 36, 40, 41, 42, 45, 46, 47, 48, 51, 52, 53, 54, 55, 57, 61, 63, 64, 66, 69, 70, 73, 76, 77, 78, 79, 80, 81, 83, 84, 91, 94], "clearli": [0, 14, 16, 24, 42, 45, 50, 57, 85, 91], "Such": [0, 5, 13, 17, 19, 22, 25, 31, 63, 65], "exhibit": [0, 20, 77], "appli": [0, 1, 4, 6, 8, 12, 13, 15, 16, 17, 18, 19, 20, 22, 24, 27, 30, 40, 41, 44, 45, 46, 48, 50, 51, 52, 53, 54, 55, 57, 59, 61, 62, 63, 66, 76, 77, 78, 79, 80, 84, 91], "difficult": [0, 7, 16, 17, 19, 22, 24, 25, 41, 42, 46, 73, 81, 89], "concis": [0, 5, 16, 47], "either": [0, 4, 7, 8, 9, 10, 14, 18, 21, 22, 24, 25, 27, 28, 30, 31, 32, 40, 41, 45, 46, 47, 52, 56, 57, 61, 63, 65, 66, 68, 69, 75, 77, 79, 80, 82, 84, 94], "strengthen": [0, 19, 41, 47], "further": [0, 4, 14, 16, 19, 21, 22, 30, 44, 46, 47, 63, 64, 66, 76, 84, 94], "specifi": [0, 4, 5, 7, 8, 10, 14, 15, 16, 20, 21, 27, 30, 42, 57, 65, 66, 68, 73, 76, 77, 79, 81, 83, 84], "why": [0, 4, 7, 8, 15, 18, 19, 24, 28, 29, 30, 33, 34, 40, 41, 42, 44, 46, 47, 48, 50, 53, 54, 57, 61, 62, 63, 66, 71, 73, 76, 77, 79, 80, 84, 90, 91], "matter": [0, 1, 7, 8, 13, 15, 16, 20, 28, 30, 40, 42, 46, 47, 48, 52, 54, 57, 61, 63, 67, 71, 78, 84, 91, 94], "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, 48, 50, 53, 58, 62, 63, 66, 75, 76, 77, 79, 80, 81, 86, 91], "were": [0, 4, 5, 6, 9, 10, 13, 16, 17, 19, 22, 25, 30, 33, 40, 42, 43, 45, 47, 48, 55, 56, 57, 63, 64, 65, 66, 69, 71, 72, 73, 76, 77, 78, 79, 80, 83, 84, 86, 93, 94], "twin": 0, "prime": [0, 30, 41, 48, 55], "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, 46, 47, 48, 50, 52, 54, 61, 62, 63, 66, 72, 73, 76, 78, 79, 80, 81, 84, 86, 91, 93, 94], "infinit": [0, 7, 16, 19, 25, 27, 41, 43, 45, 46, 48, 49, 62, 66], "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, 52, 53, 57, 58, 63, 76, 77, 78, 79, 80, 83, 84, 87, 88, 90, 91], "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, 52, 53, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 66, 67, 74, 76, 77, 78, 79, 80, 83, 84, 85, 87, 88, 91, 94], "3": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 19, 22, 23, 25, 28, 30, 33, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47, 48, 52, 53, 54, 55, 56, 57, 59, 62, 63, 64, 65, 66, 75, 76, 77, 78, 80, 84, 86, 88, 90, 91], "5": [0, 1, 6, 7, 8, 10, 12, 13, 15, 22, 23, 28, 30, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 55, 59, 62, 63, 66, 67, 68, 70, 76, 78, 80, 84, 86, 87, 90, 91, 94], "7": [0, 1, 6, 7, 8, 12, 13, 22, 30, 36, 37, 39, 40, 41, 42, 45, 47, 48, 52, 62, 76, 79, 80, 84, 88, 91, 92], "tp": 0, "Then": [0, 2, 3, 8, 15, 17, 19, 27, 30, 33, 40, 41, 42, 44, 50, 54, 55, 57, 58, 62, 63, 64, 65, 66, 69, 75, 76, 77, 78, 80, 83, 86, 88, 91, 93, 94], "seem": [0, 1, 6, 7, 8, 22, 24, 25, 27, 30, 33, 42, 44, 45, 48, 54, 55, 57, 61, 66, 67, 69, 75, 76, 79, 80, 83, 84, 85, 91], "aren": [0, 1, 8, 17, 18, 26, 28, 45, 54, 65, 66, 73, 76, 80, 94], "wouldn": [0, 4, 45, 71, 76, 80, 83], "figur": [0, 12, 18, 22, 42, 44, 47, 54, 63, 64, 66, 73, 78, 79, 80], "side": [0, 3, 7, 10, 13, 14, 19, 22, 26, 30, 34, 35, 43, 44, 45, 48, 61, 63, 65, 66, 72, 73, 74, 79, 80, 81, 84, 87, 89], "left": [0, 2, 7, 8, 12, 18, 19, 22, 25, 26, 27, 30, 34, 35, 37, 41, 42, 44, 45, 46, 47, 49, 50, 57, 58, 61, 62, 63, 65, 66, 76, 77, 78, 79, 84, 88, 90, 91, 94], "disproof": 0, "No": [0, 1, 16, 17, 21, 30, 42, 63, 71, 76, 77, 78], "know": [0, 1, 2, 3, 4, 7, 8, 9, 10, 12, 14, 16, 17, 18, 19, 20, 22, 23, 27, 32, 33, 41, 42, 45, 48, 50, 51, 54, 61, 63, 64, 65, 66, 68, 70, 71, 76, 77, 78, 79, 80, 81, 84, 90, 91, 93], "current": [0, 1, 3, 8, 12, 20, 27, 30, 40, 41, 42, 44, 46, 57, 61, 66, 78, 84, 88, 91, 93, 94], "henceforth": [0, 14, 19, 46, 94], "stronger": [0, 19, 47], "whether": [0, 1, 4, 7, 8, 9, 12, 14, 15, 16, 18, 19, 20, 24, 25, 26, 27, 28, 30, 31, 33, 35, 37, 38, 39, 41, 42, 45, 46, 52, 53, 54, 55, 62, 63, 64, 65, 66, 68, 76, 77, 78, 79, 84, 91, 94], "necessarili": [0, 8, 15, 17, 24, 42, 45, 46, 55, 64, 71, 77, 79, 82], "own": [0, 2, 4, 8, 9, 15, 16, 18, 20, 22, 25, 28, 33, 41, 42, 45, 51, 54, 57, 63, 65, 69, 71, 72, 77, 78, 79, 81, 84, 86, 91, 93, 94], "technic": [0, 8, 19, 45, 55, 63, 66, 76, 93], "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, 52, 53, 54, 55, 57, 58, 59, 62, 63, 64, 65, 66, 70, 71, 73, 76, 77, 78, 79, 80, 81, 84, 85, 86, 87, 89, 90, 91, 94], "classic": [0, 16, 72], "tradit": [0, 66, 68], "understood": [0, 7, 10, 18, 21, 34, 40, 45, 65, 78], "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, 54, 55, 57, 61, 62, 63, 64, 65, 66, 69, 71, 74, 75, 76, 77, 78, 79, 81, 84, 91, 93, 94], "return": [0, 3, 4, 5, 6, 8, 10, 12, 13, 14, 18, 19, 20, 23, 25, 26, 28, 30, 32, 33, 37, 39, 41, 42, 44, 45, 46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 58, 62, 63, 64, 65, 66, 71, 73, 76, 77, 78, 79, 84, 85, 87, 88, 90, 91, 94], "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, 52, 54, 55, 58, 62, 63, 64, 65, 66, 76, 77, 80, 82, 84], "disj": 0, "v": [0, 1, 2, 7, 8, 15, 19, 22, 25, 26, 27, 30, 32, 34, 35, 41, 42, 44, 48, 50, 61, 62, 66, 68, 76, 77, 78, 79, 87, 90, 91, 93, 94], "where": [0, 1, 4, 6, 7, 8, 14, 15, 16, 17, 18, 19, 22, 24, 27, 28, 30, 35, 40, 41, 42, 43, 44, 45, 46, 47, 54, 61, 62, 63, 64, 65, 66, 68, 76, 77, 78, 79, 83, 84, 87, 88, 89, 91, 93, 94], "i": [0, 1, 2, 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, 47, 48, 57, 58, 61, 62, 63, 65, 66, 68, 71, 72, 73, 77, 78, 81, 83, 84, 87, 88, 89, 91, 92, 94], "tag": [0, 3, 5, 25, 36, 66], "ii": [0, 28, 30, 41, 46, 84, 94], "carri": [0, 22, 27, 28, 36, 37, 41, 46, 65, 66, 81], "within": [0, 1, 6, 14, 18, 30, 39, 41, 42, 46, 64, 84, 87], "sub": [0, 8, 25, 41, 44, 54, 66, 84], "subvalu": 0, "therefor": [0, 1, 4, 7, 8, 14, 18, 19, 21, 22, 26, 40, 42, 46, 47, 48, 56, 61, 63, 64, 66, 76, 78, 79, 80, 81, 82, 84, 86, 93], "union": [0, 18, 25, 30, 35, 44, 66, 79], "guarante": [0, 1, 4, 5, 14, 16, 19, 21, 24, 25, 27, 30, 32, 40, 42, 46, 47, 64, 66, 68, 73, 78, 79, 84, 89, 91], "simplest": [0, 13, 24, 33, 39, 42, 66, 79], "unit": [0, 1, 4, 7, 9, 17, 20, 21, 27, 28, 29, 40, 41, 42, 46, 48, 52, 55, 63, 76, 77, 78, 79, 83, 85, 86, 87, 88, 90, 91, 93], "best": [0, 4, 7, 8, 10, 12, 34, 42, 44, 46, 47, 50, 58, 61, 65, 82, 84, 94], "introduc": [0, 7, 13, 14, 18, 24, 30, 33, 37, 39, 41, 46, 62, 63, 66, 68, 70, 72, 77, 78, 91], "earlier": [0, 4, 10, 12, 13, 22, 40, 46, 63, 68, 75, 76, 77, 78, 79, 80, 84, 94], "includ": [0, 1, 3, 7, 8, 9, 10, 14, 15, 18, 20, 21, 23, 24, 25, 28, 29, 30, 32, 35, 36, 40, 42, 44, 46, 47, 55, 57, 63, 64, 65, 66, 68, 69, 72, 76, 77, 79, 82, 84, 85, 91, 93, 94], "zero": [0, 1, 8, 14, 15, 16, 19, 22, 28, 31, 40, 41, 45, 66, 77, 79, 83], "void": [0, 8, 10, 78, 91], "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, 48, 50, 54, 55, 56, 57, 58, 60, 61, 63, 64, 65, 66, 68, 70, 71, 73, 75, 76, 78, 79, 84, 89, 91, 93, 94], "stick": [0, 7, 17, 78, 91], "subtleti": 0, "should": [0, 1, 2, 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, 50, 52, 57, 61, 62, 63, 64, 65, 66, 68, 72, 75, 76, 77, 79, 80, 81, 84, 88, 91, 93, 94], "address": [0, 18, 42, 46, 47, 49, 54, 63, 91, 92], "nonetheless": [0, 7, 19, 46, 48, 61, 63, 66, 90, 94], "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, 50, 52, 53, 54, 55, 57, 59, 62, 63, 64, 65, 66, 68, 71, 75, 76, 77, 78, 79, 80, 83, 84, 88, 90, 91, 93, 94], "rec": [0, 4, 5, 8, 15, 19, 20, 22, 25, 26, 28, 30, 31, 32, 33, 37, 41, 44, 47, 48, 50, 52, 53, 54, 57, 58, 62, 66, 68, 76, 77, 79, 80, 84, 90], "loop": [0, 7, 8, 12, 15, 16, 19, 27, 41, 45, 46, 48, 49, 58, 62, 64, 71, 77, 88, 92], "enter": [0, 3, 6, 7, 8, 12, 20, 40, 41, 46, 63, 64, 69, 78, 84, 86, 93, 94], "code": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 14, 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, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 70, 71, 73, 75, 76, 77, 78, 79, 81, 82, 84, 85, 86, 87, 88, 89, 90, 91, 93, 95], "utop": [0, 6, 7, 12, 20, 46, 61, 62, 63, 65, 66, 75, 77, 84, 86, 88, 94], "respons": [0, 5, 8, 12, 20, 33, 42, 46, 64, 73, 76, 77, 78, 79, 81, 84, 91, 92, 93], "e": [0, 1, 2, 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, 55, 57, 61, 62, 63, 64, 65, 66, 68, 72, 73, 75, 76, 77, 78, 79, 81, 84, 86, 87, 91, 94], "successfulli": [0, 7, 16, 25, 35, 48, 57, 63, 81, 86, 94], "failwith": [0, 4, 18, 27, 31, 33, 41, 44, 46, 47, 48, 66, 68], "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, 48, 57, 61, 62, 63, 66, 68, 75, 76, 77, 79, 83, 84, 90, 91, 93], "failur": [0, 4, 7, 13, 15, 17, 20, 23, 24, 27, 28, 30, 46, 48, 68], "rais": [0, 4, 5, 6, 7, 13, 14, 18, 19, 23, 27, 28, 30, 32, 33, 34, 41, 45, 46, 48, 55, 61, 62, 63, 66, 68, 75, 76, 77, 78, 79, 84, 87, 90, 91], "stdlib": [0, 7, 18, 20, 28, 33, 42, 45, 46, 48, 52, 68, 77, 78, 79, 80, 83, 84, 90, 91], "file": [0, 2, 7, 8, 9, 10, 12, 14, 20, 21, 25, 27, 30, 33, 39, 41, 45, 46, 48, 54, 65, 75, 76, 77, 78, 79, 80, 84, 86, 90, 91, 94], "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, 46, 48, 50, 52, 54, 62, 63, 65, 66, 72, 76, 77, 78, 79, 80, 84, 86, 90, 91, 94], "29": [0, 28, 30, 48], "charact": [0, 5, 7, 8, 10, 12, 25, 27, 30, 33, 34, 39, 41, 42, 45, 46, 48, 50, 54, 64, 65, 66, 76, 77, 78, 79, 80, 84, 86, 90, 91], "17": [0, 8, 25, 30, 41, 42, 48, 54, 62, 76, 79, 84, 91], "33": [0, 7, 27, 30, 42, 46, 48, 78, 79, 84, 91], "unknown": [0, 7, 8, 24, 30, 48, 63, 91], "locat": [0, 4, 7, 41, 42, 46, 48, 63, 80, 91], "stdlib__fun": [0, 7, 27, 46, 48, 79, 91], "protect": [0, 7, 21, 27, 46, 48, 76, 79, 82, 85, 91], "8": [0, 1, 6, 7, 8, 11, 25, 27, 30, 36, 40, 41, 42, 46, 48, 49, 52, 55, 56, 57, 59, 62, 76, 79, 80, 85, 86, 90, 91, 92], "15": [0, 7, 8, 25, 27, 30, 41, 46, 48, 76, 79, 84, 91], "38": [0, 7, 8, 24, 27, 30, 46, 48, 79, 84, 91], "6": [0, 1, 7, 8, 13, 16, 22, 23, 27, 30, 35, 36, 37, 39, 40, 41, 42, 45, 46, 47, 48, 54, 55, 58, 59, 62, 66, 69, 76, 77, 78, 79, 80, 84, 91], "52": [0, 7, 27, 28, 30, 46, 48, 79, 91], "topev": [0, 7, 27, 46, 48, 79, 91], "load_lambda": [0, 7, 27, 46, 48, 79, 91], "toplevel": [0, 3, 6, 7, 8, 9, 18, 27, 33, 34, 46, 48, 52, 54, 63, 76, 79, 83, 84, 90, 91, 94], "byte": [0, 1, 3, 7, 27, 42, 46, 48, 79, 91], "89": [0, 7, 20, 27, 30, 46, 48, 79, 91], "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, 46, 47, 48, 49, 53, 57, 58, 62, 63, 76, 78, 79, 80, 84, 85, 88, 91, 95], "150": [0, 7, 24, 27, 30, 46, 48, 79, 91], "again": [0, 1, 2, 4, 5, 7, 8, 12, 13, 14, 20, 22, 24, 27, 28, 30, 35, 39, 40, 41, 42, 44, 45, 46, 48, 53, 54, 57, 60, 62, 63, 65, 66, 70, 76, 77, 79, 91, 94], "total": [0, 16, 19, 23, 40, 41, 44, 45, 47, 48, 52, 57, 78, 79], "rule": [0, 7, 8, 9, 16, 19, 21, 27, 30, 34, 35, 61, 62, 63, 64, 65, 66, 68, 80, 84, 91], "elimin": [0, 4, 13, 32, 47, 50, 55, 63, 64, 66, 68, 69, 75, 77, 79], "did": [0, 5, 7, 8, 12, 14, 17, 18, 21, 24, 26, 27, 30, 33, 40, 42, 45, 46, 48, 49, 50, 51, 52, 53, 62, 63, 65, 66, 75, 76, 77, 79, 80, 84, 86, 90, 91, 94], "start": [0, 1, 3, 4, 5, 7, 8, 10, 12, 14, 16, 18, 19, 20, 22, 24, 25, 28, 30, 33, 40, 41, 44, 45, 46, 47, 48, 54, 60, 63, 65, 66, 68, 77, 80, 84, 86, 87, 88, 91, 93, 94, 95], "discuss": [0, 4, 14, 16, 18, 19, 20, 22, 30, 33, 39, 42, 43, 45, 46, 48, 52, 57, 59, 65, 69, 77, 79, 82, 84], "method": [0, 4, 7, 8, 10, 19, 23, 24, 33, 40, 49, 57, 59, 73, 76, 78, 80, 81, 84, 85, 91], "continu": [0, 4, 5, 10, 16, 21, 27, 33, 35, 40, 41, 44, 45, 46, 47, 48, 62, 63, 66, 68, 69, 94], "trickiest": [0, 46], "syntact": [0, 7, 8, 9, 19, 27, 30, 34, 35, 36, 50, 52, 54, 62, 63, 65, 66, 68, 79, 80, 83, 84], "sugar": [0, 8, 27, 30, 35, 36, 50, 54, 62, 63, 66, 79, 80, 83], "particular": [0, 1, 4, 8, 9, 14, 20, 24, 25, 29, 30, 33, 45, 48, 63, 68, 74, 75, 77, 79, 84, 86, 90, 91, 94], "lead": [0, 7, 8, 13, 14, 16, 20, 22, 25, 31, 32, 41, 42, 46, 47, 51, 57, 63, 66, 75, 80, 84, 91, 93, 94], "contradict": 0, "standard": [0, 1, 4, 5, 7, 9, 18, 20, 26, 27, 28, 29, 30, 33, 34, 37, 41, 46, 47, 48, 49, 53, 54, 57, 59, 61, 65, 68, 69, 72, 74, 75, 76, 77, 78, 79, 84, 91, 93], "understand": [0, 1, 7, 8, 9, 11, 14, 16, 17, 20, 24, 30, 33, 40, 42, 45, 46, 54, 57, 60, 61, 64, 66, 71, 73, 75, 80, 81, 83, 84, 85, 93], "whose": [0, 3, 8, 14, 15, 18, 20, 21, 25, 27, 28, 30, 33, 34, 35, 41, 42, 44, 45, 46, 48, 52, 53, 61, 66, 72, 76, 77, 78, 79, 84, 87, 90, 91], "ongo": [0, 21, 63], "assumpt": [0, 7, 8, 15, 19, 21, 34, 40], "input": [0, 1, 5, 6, 8, 10, 12, 14, 15, 16, 18, 19, 20, 21, 23, 24, 27, 28, 30, 33, 41, 42, 44, 45, 46, 47, 48, 49, 52, 55, 56, 57, 63, 64, 65, 73, 76, 77, 78, 79, 84, 85, 88, 91], "enabl": [0, 2, 12, 14, 18, 20, 21, 35, 41, 45, 46, 55, 56, 65, 73, 79, 80, 82, 85, 89, 91, 94], "level": [0, 3, 15, 16, 22, 45, 46, 47, 60, 63, 64, 65, 69, 86, 91, 93, 94], "deeper": [0, 40, 46, 93], "everi": [0, 1, 3, 7, 8, 13, 14, 18, 21, 25, 27, 30, 32, 33, 40, 41, 42, 44, 45, 47, 48, 52, 54, 55, 58, 61, 62, 63, 65, 75, 77, 78, 80, 81, 84, 85, 86, 88, 91], "sinc": [0, 7, 8, 9, 13, 18, 19, 20, 27, 30, 40, 41, 42, 44, 45, 46, 47, 48, 52, 56, 57, 61, 63, 65, 66, 68, 76, 78, 79, 83, 84, 91, 93], "checker": [0, 25, 63, 66, 67], "verifi": [0, 4, 13, 19, 24, 73], "detail": [0, 2, 5, 8, 19, 21, 27, 30, 41, 45, 46, 60, 64, 65, 66, 75, 76, 79, 81, 82, 84, 86, 91, 94], "compel": [0, 25], "restrict": [0, 8, 9, 16, 19, 21, 30, 35, 42, 50, 63, 67, 79, 84, 91], "attent": [0, 4, 21, 42, 54, 66, 94], "equival": [0, 2, 5, 7, 8, 10, 13, 19, 27, 32, 35, 40, 42, 46, 47, 50, 52, 57, 58, 66, 78, 79, 84, 85, 90, 91], "gave": [0, 1, 13, 45, 66, 80, 91], "variabl": [0, 1, 4, 7, 8, 10, 13, 15, 16, 30, 34, 35, 39, 46, 51, 55, 56, 61, 62, 63, 64, 65, 66, 67, 68, 71, 78, 79, 84], "whatev": [0, 1, 3, 4, 7, 8, 12, 13, 14, 25, 27, 28, 41, 46, 52, 65, 66, 68, 76, 78, 79, 84, 94], "environ": [0, 9, 56, 62, 63, 66, 67, 68, 69, 93], "env": [0, 61, 62, 63, 68, 94], "anonym": [0, 1, 11, 25, 27, 34, 45, 48, 61, 62, 63, 66, 75, 76, 79, 91], "static": [0, 7, 8, 9, 11, 25, 30, 34, 35, 39, 48, 63, 67, 68, 69, 73, 74, 82, 83, 85, 87, 90, 91], "extend": [0, 9, 25, 35, 39, 41, 61, 62, 63, 64, 68, 76, 80, 84, 85], "bind": [0, 1, 7, 8, 10, 11, 12, 25, 26, 27, 30, 34, 35, 36, 39, 40, 41, 42, 45, 46, 47, 49, 57, 61, 63, 64, 65, 66, 68, 77, 78, 79, 84, 91], "e1": [0, 7, 8, 10, 19, 22, 27, 30, 34, 35, 46, 61, 62, 63, 65, 66, 68, 87, 90, 91], "e2": [0, 7, 8, 10, 19, 22, 27, 30, 34, 35, 46, 61, 62, 63, 65, 66, 68, 87, 90, 91], "applic": [0, 1, 5, 7, 11, 14, 18, 30, 34, 41, 46, 48, 50, 54, 57, 58, 61, 62, 63, 66, 67, 77, 79, 81, 91], "t1": [0, 7, 8, 25, 34, 35, 39, 41, 48, 51, 63, 68, 90], "t2": [0, 7, 8, 34, 35, 39, 41, 44, 48, 51, 63, 68, 90], "tree": [0, 3, 13, 15, 28, 36, 41, 42, 43, 44, 48, 55, 62, 64, 66, 67, 69, 77, 78, 79], "draw": [0, 41], "recurs": [0, 1, 4, 6, 11, 13, 14, 15, 28, 31, 36, 37, 41, 44, 47, 48, 49, 50, 52, 58, 62, 66, 68, 76, 79, 83, 84, 87, 90], "rewrit": [0, 8, 10, 13, 19, 21, 25, 27, 28, 30, 44, 45, 46, 50, 52, 54, 57, 61, 62, 64, 65, 66, 78, 80, 93], "leav": [0, 3, 8, 13, 14, 16, 17, 19, 30, 41, 42, 47, 63, 66, 76, 78, 83, 93], "At": [0, 2, 7, 8, 9, 14, 33, 39, 40, 53, 54, 61, 63, 65, 66, 67, 69, 71, 76, 91, 93, 94], "p1": [0, 14, 27, 30, 34, 35, 38, 62, 79], "p2": [0, 14, 30, 38, 62], "whenev": [0, 7, 25, 30, 39, 40, 41, 42, 44, 45, 46, 61, 66, 78, 79], "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, 46, 48, 54, 62, 63, 64, 66, 68, 76, 78, 79, 81, 82, 83, 84, 91, 93, 94], "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, 51, 52, 54, 55, 57, 61, 62, 63, 65, 66, 75, 76, 77, 78, 79, 80, 82, 83, 84, 90, 91, 93, 94], "conclus": [0, 19], "deriv": [0, 1, 30, 50, 61, 62, 65, 75, 77, 79, 88], "swap": [0, 13, 22, 54, 62], "compon": [0, 8, 9, 25, 27, 30, 34, 35, 52, 61, 62, 66, 76, 77, 79, 81, 84, 86, 88], "eras": 0, "And": [0, 1, 6, 7, 8, 13, 14, 17, 19, 22, 25, 27, 30, 32, 33, 35, 36, 39, 40, 41, 44, 45, 46, 47, 48, 50, 53, 54, 55, 57, 61, 63, 66, 70, 73, 76, 77, 79, 80, 83, 84, 88, 90, 91, 92], "see": [0, 1, 2, 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, 54, 56, 57, 62, 63, 64, 65, 66, 68, 73, 75, 76, 77, 78, 79, 80, 84, 85, 87, 88, 91, 93, 94], "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, 49, 54, 55, 57, 58, 62, 63, 65, 66, 68, 75, 76, 77, 78, 79, 84, 91], "itself": [0, 5, 7, 8, 9, 12, 14, 20, 22, 24, 25, 27, 30, 32, 40, 41, 42, 45, 46, 48, 50, 58, 61, 62, 64, 65, 76, 78, 79, 82, 84, 90, 91], "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, 50, 51, 52, 54, 55, 59, 62, 63, 65, 66, 68, 76, 77, 78, 79, 80, 84, 91, 94], "treat": [0, 7, 16, 42, 48, 52, 53, 62, 63, 73, 75, 80, 91], "part": [0, 4, 5, 6, 9, 12, 13, 14, 15, 16, 17, 18, 21, 24, 27, 28, 30, 34, 35, 36, 41, 44, 45, 46, 47, 48, 55, 57, 59, 61, 63, 64, 65, 66, 68, 72, 73, 75, 76, 78, 79, 80, 81, 82, 83, 84, 86, 91, 93, 94], "briefli": [0, 41, 84], "cours": [0, 1, 3, 4, 5, 8, 9, 11, 14, 15, 17, 18, 19, 20, 22, 23, 25, 26, 31, 33, 34, 36, 41, 42, 43, 45, 48, 50, 55, 57, 58, 59, 61, 63, 64, 65, 66, 67, 68, 69, 74, 76, 77, 78, 79, 84, 86, 91, 93, 94, 95], "next": [0, 1, 2, 4, 5, 8, 10, 13, 14, 18, 19, 20, 22, 25, 27, 33, 37, 40, 41, 42, 45, 46, 47, 48, 55, 57, 60, 62, 63, 65, 66, 68, 77, 78, 80, 83, 84, 85, 89, 90, 91, 94], "bound": [0, 1, 4, 5, 7, 8, 12, 15, 22, 30, 41, 42, 44, 49, 57, 61, 63, 64, 65, 66, 68, 77, 78, 79, 84, 87, 88, 91], "per": [0, 14, 15, 19, 24, 28, 37, 40, 41, 79], "howev": [0, 5, 8, 16, 18, 24, 28, 41, 42, 44, 47, 54, 64, 66, 73, 78, 84, 91], "much": [0, 1, 2, 3, 7, 8, 9, 14, 18, 20, 21, 24, 25, 26, 30, 35, 41, 43, 45, 46, 48, 54, 55, 62, 63, 64, 66, 75, 78, 79, 80, 81, 82, 84, 87, 91, 93], "simpler": [0, 1, 8, 46, 62, 66, 76, 78, 80], "detour": [0, 33, 84], "through": [0, 1, 4, 6, 8, 13, 14, 15, 16, 18, 21, 23, 24, 25, 26, 28, 30, 37, 41, 42, 45, 46, 52, 54, 56, 57, 58, 62, 63, 64, 65, 66, 69, 73, 77, 79, 81, 84, 88, 91, 93, 94], "directli": [0, 3, 20, 30, 41, 44, 46, 54, 61, 62, 64, 65, 66, 68, 77, 78, 86, 91, 94], "bigger": [0, 1, 9, 13, 19, 30, 42, 57, 63, 65, 76, 84], "caus": [0, 2, 3, 4, 5, 12, 13, 14, 15, 16, 20, 22, 27, 30, 33, 40, 41, 42, 45, 46, 48, 54, 57, 63, 66, 76, 79, 80, 84, 86, 87, 91], "simplifi": [0, 8, 13, 15, 19, 20, 40, 62, 63, 66, 70, 90], "final": [0, 1, 3, 4, 7, 8, 10, 13, 15, 16, 17, 20, 25, 30, 33, 34, 40, 41, 42, 45, 46, 47, 48, 52, 54, 57, 61, 63, 64, 65, 66, 68, 69, 76, 81, 91, 94], "fundament": [0, 19, 23, 45, 46, 92], "human": [0, 2, 16, 17, 18, 19, 23, 24, 30, 71, 73, 84, 89, 94], "inquiri": 0, "guid": [0, 6, 7, 15, 41, 60, 62, 74, 84, 94], "deduc": [0, 13, 18], "vs": [0, 2, 3, 22, 30, 33, 38, 40, 42, 46, 47, 52, 64, 66, 77, 79, 82, 84, 93], "train": [0, 7, 17], "variou": [0, 2, 14, 20, 69, 87, 94], "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, 46, 59, 63, 65, 66, 75, 79, 80, 81, 84, 85, 86, 93], "higher": [0, 1, 2, 8, 15, 30, 48, 51, 57, 58, 59, 62, 63, 64, 65, 79, 84, 91], "educ": [0, 24, 74], "mayb": [0, 1, 2, 8, 17, 19, 30, 32, 36, 40, 41, 49, 57, 58, 65, 66, 76, 78, 80, 84, 91], "mysteri": [0, 8, 33, 52, 54, 67, 71, 85], "basic": [0, 7, 23, 33, 48, 55, 64, 84], "build": [0, 1, 3, 9, 12, 24, 31, 33, 35, 36, 39, 42, 43, 53, 63, 65, 73, 78, 81, 82, 86, 91, 94], "block": [0, 7, 12, 43, 45, 46, 49, 82, 84], "veri": [0, 1, 2, 3, 8, 9, 10, 11, 15, 16, 20, 22, 24, 25, 26, 33, 36, 37, 40, 41, 42, 45, 46, 47, 50, 51, 59, 61, 62, 63, 65, 66, 74, 76, 77, 78, 79, 80, 81, 85, 92, 94], "present": [0, 2, 12, 18, 20, 24, 27, 30, 42, 69, 79, 80, 94], "intrins": [0, 7, 58], "better": [0, 1, 9, 12, 16, 17, 19, 24, 25, 30, 32, 34, 35, 36, 41, 42, 43, 44, 45, 46, 48, 53, 54, 57, 59, 61, 70, 74, 75, 76, 78, 79, 80, 85, 86, 94], "studi": [0, 1, 4, 7, 8, 9, 13, 17, 22, 24, 26, 29, 30, 33, 34, 35, 45, 46, 54, 58, 64, 65, 67, 72, 74, 76, 78, 79, 82, 85, 91, 93], "solut": [0, 1, 6, 8, 10, 15, 28, 41, 42, 44, 47, 52, 57, 62, 63, 77, 79, 80, 81, 84, 86, 88, 93, 94], "avail": [0, 2, 6, 7, 8, 9, 10, 14, 15, 20, 24, 28, 30, 33, 41, 46, 52, 62, 63, 64, 65, 74, 76, 77, 79, 80, 81, 86, 88, 93], "fall": [0, 6, 15, 18, 28, 41, 42, 52, 62, 69, 75, 77, 88, 93, 95], "2022": [0, 6, 15, 28, 41, 52, 62, 77, 88, 93], "public": [0, 6, 15, 28, 41, 46, 52, 62, 76, 77, 80, 81, 85, 88, 93], "releas": [0, 3, 6, 15, 28, 41, 46, 52, 62, 77, 88, 93, 94, 95], "cornel": [0, 1, 6, 15, 28, 41, 42, 52, 62, 69, 73, 77, 78, 88, 93, 94, 95], "student": [0, 1, 6, 15, 28, 41, 52, 62, 69, 74, 77, 88, 93, 94], "few": [0, 1, 5, 6, 7, 8, 10, 13, 14, 15, 20, 28, 41, 43, 45, 46, 47, 48, 52, 55, 62, 66, 75, 77, 84, 88, 89, 93, 94], "year": [0, 1, 6, 14, 15, 17, 28, 41, 42, 52, 62, 69, 70, 74, 77, 79, 84, 88, 93, 95], "inevit": [0, 6, 15, 24, 28, 41, 52, 62, 75, 77, 88, 93], "wider": [0, 6, 8, 15, 28, 41, 52, 62, 77, 88, 93], "circul": [0, 6, 15, 28, 41, 52, 62, 77, 88, 93], "reveal": [0, 4, 6, 8, 14, 15, 19, 20, 21, 24, 28, 40, 41, 46, 52, 62, 67, 76, 77, 81, 82, 88, 93], "improv": [0, 1, 2, 5, 6, 9, 14, 15, 16, 20, 21, 24, 28, 41, 46, 47, 52, 54, 55, 62, 65, 71, 76, 77, 82, 84, 88, 91, 93, 94], "made": [0, 6, 8, 13, 15, 19, 21, 28, 40, 41, 44, 52, 54, 62, 76, 77, 78, 80, 84, 88, 91, 93, 94], "happi": [0, 1, 6, 15, 25, 28, 41, 52, 62, 77, 88, 93], "add": [0, 2, 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, 51, 52, 54, 57, 58, 61, 62, 63, 65, 66, 68, 76, 77, 78, 79, 80, 84, 85, 86, 88, 93, 94], "correct": [0, 4, 6, 8, 9, 13, 15, 16, 18, 20, 21, 22, 23, 24, 28, 33, 41, 42, 45, 48, 49, 52, 57, 62, 65, 66, 71, 73, 77, 78, 79, 81, 88, 91, 93], "contribut": [0, 6, 15, 28, 41, 52, 62, 77, 88, 93, 95], "github": [0, 6, 15, 28, 33, 41, 46, 52, 62, 76, 77, 79, 88, 93, 94], "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, 50, 52, 54, 55, 56, 57, 59, 61, 62, 63, 65, 66, 68, 69, 72, 73, 75, 76, 77, 78, 79, 80, 81, 84, 86, 87, 88, 90, 91, 92, 93, 94, 95], "q": [0, 13, 14, 27, 40, 77, 78], "r": [0, 15, 19, 22, 25, 37, 41, 44, 46, 47, 50, 63, 79, 90, 91, 93, 94, 95], "definit": [0, 1, 3, 6, 7, 11, 12, 19, 20, 21, 22, 25, 28, 30, 33, 34, 35, 37, 39, 41, 42, 46, 48, 50, 51, 52, 54, 61, 62, 63, 65, 66, 68, 76, 77, 78, 79, 80, 82, 83, 85, 86, 91], "your": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 14, 15, 16, 17, 18, 20, 24, 25, 28, 30, 33, 35, 36, 40, 41, 42, 45, 46, 51, 52, 57, 62, 63, 64, 65, 71, 75, 76, 77, 84, 86, 88, 92, 93, 94], "also": [0, 1, 2, 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, 46, 47, 54, 55, 56, 62, 63, 64, 65, 66, 67, 68, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 91, 93, 94], "f": [0, 1, 6, 7, 8, 10, 13, 19, 22, 25, 30, 33, 34, 35, 41, 44, 45, 46, 48, 50, 51, 52, 54, 55, 57, 61, 62, 63, 72, 73, 75, 78, 79, 83, 84, 88, 90, 91], "1": [0, 2, 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, 47, 48, 50, 52, 53, 54, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 71, 74, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87, 88, 90, 91, 94], "step": [0, 1, 3, 4, 8, 12, 19, 20, 42, 46, 47, 49, 61, 62, 64, 67, 68, 79, 94], "semant": [0, 7, 8, 9, 11, 19, 23, 30, 32, 34, 35, 36, 39, 48, 61, 62, 64, 66, 67, 68, 69, 83, 85, 87, 90, 95], "implement": [0, 1, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 19, 20, 21, 23, 24, 26, 27, 29, 30, 33, 36, 37, 40, 41, 43, 44, 45, 47, 48, 50, 51, 52, 53, 55, 57, 60, 62, 63, 64, 65, 67, 68, 69, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 88, 89, 90, 91, 92], "suggest": [0, 2, 4, 8, 10, 13, 15, 16, 18, 19, 24, 28, 30, 41, 42, 45, 48, 61, 64, 76, 93, 94], "perhap": [0, 1, 2, 5, 7, 12, 20, 21, 24, 46, 50, 53, 54, 61, 63, 65, 66, 75, 79, 84, 85, 91, 94], "sever": [0, 1, 7, 8, 11, 16, 18, 20, 23, 25, 33, 34, 36, 39, 41, 42, 45, 64, 66, 79, 84, 86], "probabl": [0, 1, 4, 8, 9, 10, 14, 16, 20, 24, 28, 33, 36, 42, 45, 63, 76, 78, 84, 91, 94], "still": [0, 1, 2, 7, 8, 10, 14, 16, 19, 27, 40, 42, 45, 46, 47, 48, 50, 54, 57, 62, 69, 70, 73, 75, 76, 77, 78, 79, 80, 81, 84, 91, 93, 94], "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, 50, 52, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 68, 70, 71, 75, 76, 77, 78, 79, 80, 81, 83, 84, 88, 90, 91, 94, 95], "mean": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 19, 20, 22, 25, 30, 32, 33, 34, 40, 41, 42, 43, 44, 45, 46, 47, 50, 56, 61, 63, 64, 65, 66, 68, 75, 76, 77, 78, 82, 84, 86, 88, 90, 91, 94], "professor": [1, 71], "jon": 1, "kleinberg": 1, "eva": 1, "tardo": 1, "wonder": [1, 54, 76, 80], "explan": [1, 7], "textbook": [1, 3, 55, 69, 74, 93, 94, 95], "2006": [1, 23, 69], "appendix": 1, "summari": 1, "reinterpret": 1, "program": [1, 5, 7, 8, 9, 10, 11, 12, 14, 16, 17, 18, 20, 21, 22, 23, 24, 25, 27, 29, 30, 33, 41, 43, 45, 46, 47, 49, 51, 53, 54, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 76, 78, 79, 82, 84, 85, 91, 92, 93], "perspect": [1, 8, 40, 44, 63, 70, 71, 73, 74, 78, 84, 94], "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, 47, 48, 50, 52, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 67, 68, 69, 71, 74, 75, 76, 77, 78, 80, 81, 83, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 95], "ultim": [1, 14, 32, 82], "answer": [1, 6, 7, 8, 17, 18, 19, 22, 27, 28, 39, 42, 44, 46, 54, 61, 62, 66, 77, 80, 84, 88, 91], "worst": [1, 40, 41, 42, 47, 49, 54, 78], "run": [1, 2, 3, 4, 7, 8, 9, 12, 14, 15, 18, 19, 20, 25, 27, 28, 30, 33, 40, 41, 42, 44, 45, 46, 47, 48, 54, 62, 63, 64, 65, 66, 68, 72, 73, 77, 78, 79, 84, 86, 90, 91, 93, 94], "size": [1, 7, 8, 14, 15, 18, 30, 36, 37, 40, 41, 42, 49, 50, 52, 76, 78], "o": [1, 3, 8, 9, 13, 32, 40, 41, 42, 44, 47, 48, 57, 78, 80, 84, 86, 88, 89, 92], "d": [1, 2, 6, 8, 10, 12, 14, 18, 19, 26, 27, 28, 30, 32, 33, 39, 40, 41, 45, 47, 48, 50, 54, 63, 65, 66, 69, 75, 76, 77, 78, 79, 83, 84, 91, 93, 94, 95], "constant": [1, 8, 18, 25, 26, 28, 34, 36, 40, 41, 42, 47, 53, 57, 58, 61, 62, 63, 64, 66, 68, 75, 76, 77, 78, 84, 87], "up": [1, 2, 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, 55, 57, 58, 61, 63, 66, 68, 71, 75, 76, 79, 84, 89, 91, 94], "naiv": [1, 44, 54, 63], "proce": [1, 4, 13, 15, 17, 19, 36, 46, 54, 63, 66, 81, 94], "amount": [1, 2, 4, 6, 17, 30, 40, 42, 45, 47, 52, 77], "instanc": [1, 18, 22, 69, 82, 91], "ineffici": [1, 13, 15, 19, 48, 58], "quickli": [1, 2, 6, 10, 18, 41, 48, 57, 73], "test": [1, 4, 6, 8, 9, 12, 15, 16, 17, 19, 23, 27, 28, 29, 36, 41, 52, 53, 62, 65, 66, 71, 86, 91, 94], "fast": [1, 4, 6, 42, 47, 64, 70], "processor": [1, 2, 7, 24, 46, 64, 73], "optim": [1, 8, 11, 15, 18, 30, 42, 58, 64, 67], "slowli": [1, 4, 8, 42], "sloppili": 1, "harder": [1, 4, 30, 45, 48, 50, 63, 68, 76, 78, 83, 92], "doesn": [1, 2, 4, 7, 8, 10, 13, 14, 15, 16, 19, 20, 24, 26, 27, 30, 31, 33, 34, 35, 38, 40, 42, 44, 45, 46, 47, 48, 54, 57, 61, 62, 63, 64, 66, 71, 75, 76, 79, 80, 84, 91, 94], "impli": [1, 18, 19, 22, 35, 42, 68, 78, 91], "larg": [1, 3, 8, 12, 14, 18, 21, 24, 28, 41, 42, 43, 45, 47, 61, 72, 73, 76, 81, 82, 84], "client": [1, 4, 5, 15, 16, 18, 21, 23, 41, 42, 44, 46, 75, 76, 78, 79, 80, 81, 82, 85, 91], "afford": [1, 4, 14, 40, 70], "patient": 1, "quick": [1, 24, 42, 80, 94], "me": [1, 45], "slow": [1, 16, 18, 20, 21, 48, 64], "lesson": [1, 57], "measur": [1, 40, 44], "clock": [1, 45], "metric": 1, "hardwar": [1, 2, 41, 42, 46, 66, 91], "softwar": [1, 4, 14, 21, 23, 24, 42, 73, 79, 80, 81, 82, 94, 95], "good": [1, 2, 5, 8, 10, 12, 14, 16, 17, 18, 20, 21, 23, 24, 30, 31, 32, 33, 34, 35, 40, 41, 42, 44, 45, 46, 47, 53, 54, 57, 62, 65, 66, 70, 71, 72, 73, 78, 79, 81, 83, 84, 89, 91, 94], "count": [1, 8, 18, 20, 41, 47, 94], "number": [1, 2, 6, 7, 8, 14, 15, 16, 22, 23, 26, 28, 30, 35, 36, 37, 40, 41, 42, 44, 46, 47, 48, 52, 53, 55, 58, 63, 64, 69, 73, 76, 77, 78, 79, 83], "taken": [1, 49, 69], "dure": [1, 7, 8, 13, 16, 18, 19, 47, 48, 62, 63, 64, 71, 75, 80, 93], "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, 46, 48, 49, 52, 54, 57, 60, 62, 63, 64, 67, 68, 79, 80, 84, 86, 87, 90, 91], "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, 46, 47, 48, 53, 54, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 88, 89, 90, 91, 93, 94], "ought": [1, 45, 57, 66, 91], "somehow": [1, 18, 20, 50, 54, 94], "repres": [1, 7, 9, 13, 14, 15, 18, 20, 22, 23, 25, 28, 32, 34, 35, 36, 37, 38, 39, 42, 44, 45, 46, 48, 50, 52, 55, 61, 64, 65, 66, 68, 76, 77, 78, 79, 83, 88, 90, 91], "primit": [1, 8, 10, 30, 34, 61, 65, 66, 67, 68, 79], "comput": [1, 2, 3, 4, 6, 7, 8, 9, 11, 14, 15, 16, 17, 19, 20, 22, 23, 24, 28, 30, 33, 35, 37, 39, 41, 42, 43, 44, 45, 46, 48, 49, 52, 54, 55, 56, 57, 58, 59, 61, 63, 64, 65, 66, 67, 69, 71, 72, 73, 77, 78, 85, 88, 91, 93, 94], "lot": [1, 4, 5, 6, 7, 8, 13, 24, 31, 33, 36, 42, 45, 55, 57, 58, 65, 73, 86], "flexibl": [1, 12, 81, 84], "choic": [1, 3, 4, 8, 13, 18, 21, 30, 40, 42, 44, 45, 46, 47, 53, 61, 62, 66, 73, 78, 93, 94], "pseudocod": [1, 88], "being": [1, 4, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 25, 28, 30, 32, 33, 40, 41, 42, 44, 45, 46, 47, 48, 52, 55, 57, 58, 61, 62, 63, 64, 65, 66, 73, 75, 76, 77, 78, 79, 84, 85, 91, 93], "singl": [1, 4, 7, 8, 15, 18, 25, 28, 30, 35, 40, 41, 42, 44, 45, 46, 47, 54, 55, 60, 62, 63, 65, 73, 75, 76, 77, 78, 79, 80, 84, 90], "imper": [1, 7, 9, 10, 14, 19, 20, 23, 25, 30, 42, 43, 44, 45, 46, 47, 58, 66, 70, 73, 74, 78, 91, 93], "assign": [1, 5, 7, 46, 63, 71, 84, 87, 88, 91, 92], "arrai": [1, 40, 41, 44, 49, 63, 64, 88, 91, 92], "index": [1, 5, 7, 14, 16, 33, 42, 44, 87, 92], "pointer": [1, 4, 7, 8, 32, 48, 56, 73, 90, 92], "derefer": [1, 91, 92], "arithmet": [1, 6, 7, 8, 15, 45, 66, 77, 83, 91], "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, 50, 52, 54, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 73, 75, 76, 77, 78, 79, 80, 83, 84, 87, 88, 90, 91, 94], "choos": [1, 2, 4, 7, 9, 12, 15, 20, 28, 33, 42, 46, 47, 52, 55, 63, 79, 80, 82, 94], "branch": [1, 7, 8, 14, 19, 28, 30, 32, 36, 47, 50, 54, 61, 62, 63, 64, 66, 68], "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, 50, 54, 57, 61, 62, 63, 64, 65, 66, 68, 70, 73, 76, 77, 78, 79, 80, 83, 84, 85, 90, 91, 94], "realiti": [1, 8, 20, 46, 63, 73], "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, 50, 52, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 68, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 91, 93, 94], "realli": [1, 4, 5, 7, 8, 9, 13, 14, 16, 17, 22, 24, 25, 27, 30, 31, 35, 36, 40, 41, 45, 46, 48, 54, 55, 56, 57, 61, 63, 65, 66, 76, 79, 83, 84, 85, 86, 91, 94], "practic": [1, 16, 23, 24, 32, 42, 45, 55, 59, 63, 64, 66, 68, 71, 72, 73, 79, 81, 84, 94], "predict": [1, 2, 14, 20, 41, 70, 88], "g": [1, 2, 6, 7, 8, 13, 14, 16, 19, 20, 25, 27, 30, 33, 35, 39, 41, 44, 45, 46, 48, 52, 55, 61, 62, 63, 64, 65, 66, 73, 75, 76, 84, 86, 91, 94], "matrix": [1, 38, 52, 88], "text": [1, 10, 46, 86, 93, 94], "document": [1, 2, 3, 4, 7, 8, 10, 11, 14, 15, 17, 19, 20, 21, 23, 24, 26, 30, 33, 38, 48, 54, 65, 67, 76, 77, 88, 91, 93], "bit": [1, 7, 8, 11, 18, 30, 33, 42, 45, 46, 83, 85], "row": [1, 52], "column": [1, 52, 94], "represent": [1, 7, 8, 12, 13, 14, 15, 22, 23, 41, 46, 47, 48, 50, 52, 64, 66, 67, 75, 76, 77, 78, 85, 88], "context": [1, 11, 33, 62, 65, 67, 68, 71, 84, 91], "structur": [1, 6, 7, 8, 13, 15, 18, 20, 26, 28, 30, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 54, 55, 56, 57, 58, 59, 61, 62, 64, 65, 69, 73, 76, 77, 79, 80, 81, 82, 83, 84, 85, 89, 91, 92, 95], "element": [1, 5, 8, 13, 14, 15, 18, 19, 20, 22, 25, 28, 30, 32, 35, 37, 40, 41, 42, 47, 48, 52, 53, 54, 55, 57, 58, 59, 63, 64, 75, 76, 77, 78, 79, 80, 84, 87, 90, 91], "maintain": [1, 18, 23, 45, 65, 66, 71, 73, 75, 82, 85, 94], "node": [1, 15, 22, 25, 28, 36, 37, 41, 42, 44, 47, 48, 50, 62, 64, 65, 66, 77, 78, 79, 90, 91], "edg": [1, 14, 47, 48], "graph": [1, 69], "multipli": [1, 6, 8, 19, 52], "faster": [1, 19, 48, 76, 94], "arbitrari": [1, 7, 15, 16, 19, 20, 28, 30, 31, 77, 85], "exact": [1, 6, 30, 33, 41, 79, 94], "too": [1, 4, 7, 8, 12, 14, 16, 18, 20, 21, 22, 24, 30, 33, 40, 42, 45, 47, 48, 54, 61, 63, 65, 66, 75, 78, 79, 80, 81, 82, 83, 84, 91, 94], "rel": [1, 4, 8, 13, 14, 16, 19, 23, 24, 40, 41, 47, 55, 72], "term": [1, 4, 5, 7, 8, 9, 18, 19, 25, 30, 35, 40, 41, 45, 48, 51, 52, 54, 55, 62, 66, 73, 77, 82, 84, 91], "object": [1, 7, 8, 9, 10, 11, 23, 30, 32, 36, 41, 42, 48, 49, 56, 59, 63, 69, 71, 72, 74, 76, 79, 80, 81, 82, 84, 85, 91, 92, 93], "reli": [1, 3, 16, 23, 24, 27, 29, 30, 42, 46, 62, 66, 67, 94], "subject": 1, "notion": [1, 8, 19, 41, 45, 66, 78, 84, 85], "constitut": [1, 9, 30, 66, 81], "sort": [1, 14, 15, 20, 28, 41, 78, 79, 83, 84], "okai": [1, 10, 40, 41, 42, 91], "beat": 1, "brute": [1, 49], "forc": [1, 4, 8, 10, 16, 17, 21, 25, 27, 30, 32, 41, 42, 45, 46, 48, 49, 63, 66, 80], "search": [1, 13, 15, 28, 37, 41, 42, 76, 77, 79, 93, 94], "enumer": [1, 25], "permut": 1, "version": [1, 2, 3, 5, 8, 12, 15, 16, 18, 19, 28, 30, 33, 37, 41, 44, 45, 46, 47, 51, 52, 53, 54, 55, 57, 58, 61, 62, 69, 70, 78, 80, 84, 91, 93, 94], "terribl": [1, 8, 20, 42, 91], "certainli": [1, 13, 17, 26, 45, 66], "quicksort": 1, "simpl": [1, 4, 13, 19, 20, 21, 25, 29, 33, 40, 42, 43, 44, 45, 46, 47, 53, 54, 55, 62, 63, 64, 71, 73, 78, 89, 90], "dumb": [1, 8], "nearli": [1, 6, 7, 50, 53, 61, 65], "huge": [1, 36, 42, 44, 91], "space": [1, 2, 8, 9, 14, 18, 19, 28, 30, 33, 36, 42, 48, 52, 57, 58, 65, 76, 78, 94], "exponenti": [1, 6, 15, 19, 41, 44, 49, 63, 77], "less": [1, 4, 5, 8, 14, 15, 16, 18, 19, 21, 24, 29, 30, 37, 41, 42, 43, 44, 47, 54, 57, 59, 63, 77, 78, 87], "polynomi": [1, 15, 49], "immedi": [1, 4, 10, 13, 18, 19, 20, 22, 27, 29, 33, 42, 45, 46, 48, 54, 62, 63, 64, 94], "come": [1, 4, 5, 6, 7, 8, 9, 11, 16, 17, 21, 25, 28, 30, 33, 35, 42, 45, 46, 51, 55, 57, 61, 63, 65, 66, 68, 70, 71, 72, 76, 78, 80, 81, 82, 84, 89, 92, 94], "100": [1, 8, 14, 15, 20, 28, 30, 40, 46, 52, 66, 77], "non": [1, 8, 13, 14, 19, 20, 25, 27, 28, 30, 32, 36, 42, 44, 45, 46, 47, 49, 54, 57, 62, 65, 66, 68, 72, 78, 80, 84, 88, 90, 91], "02": [1, 73], "log": [1, 2, 33, 41, 42, 45, 47, 78, 94], "adequ": [1, 14, 42], "job": [1, 14, 16, 17, 21, 36, 46, 63, 64, 70, 79, 80, 81, 84], "fine": [1, 7, 18, 20, 25, 40, 45, 46, 54, 63, 76, 79, 84], "combin": [1, 15, 22, 26, 36, 41, 42, 45, 50, 52, 55, 73, 79, 85, 91], "maximum": [1, 14, 28, 32, 41, 44], "execut": [1, 3, 8, 9, 14, 16, 20, 24, 33, 41, 46, 49, 63, 64, 66, 71, 73, 87, 91, 93, 94], "isn": [1, 8, 12, 13, 16, 17, 20, 22, 26, 30, 32, 39, 47, 48, 56, 57, 61, 63, 65, 66, 71, 76, 77, 78, 79, 80, 91, 94], "perfect": [1, 41, 47], "insan": 1, "tediou": [1, 10, 16, 17, 30, 62], "author": [1, 5, 17, 45, 47, 95], "develop": [1, 4, 7, 9, 18, 21, 23, 24, 27, 30, 36, 41, 45, 46, 50, 65, 66, 69, 72, 75, 81], "insert": [1, 4, 10, 14, 15, 26, 28, 40, 41, 42, 44, 45, 47, 75, 76, 78, 90, 91], "c_1": [1, 15], "c_2": 1, "c_4": 1, "c_5": 1, "sum_": [1, 40, 41], "j": [1, 30, 58, 59, 71, 88], "t_j": 1, "c_6": 1, "c_7": 1, "c_8": 1, "explain": [1, 2, 5, 7, 8, 11, 15, 16, 17, 18, 22, 24, 28, 41, 52, 61, 62, 73, 75, 77, 78, 84, 91], "complic": [1, 8, 10, 22, 24, 32, 33, 40, 41, 45, 54, 55, 63, 66, 73, 76, 78, 79, 89, 91], "heart": [1, 11, 28, 56], "poor": [1, 5, 18, 42, 63, 80], "grad": 1, "who": [1, 5, 9, 18, 21, 24, 42, 44, 46, 53, 57, 70, 71, 80, 81, 82, 91, 93, 95], "introduct": [1, 11, 36, 49, 59, 69, 74, 85, 92, 93], "3rd": [1, 34], "edit": [1, 3, 12, 23, 46, 77, 79, 93, 94, 95], "2009": [1, 69], "cormen": 1, "leiserson": 1, "rivest": 1, "stein": 1, "tell": [1, 3, 6, 12, 13, 14, 18, 20, 28, 33, 46, 54, 63, 77, 84, 86], "precis": [1, 7, 8, 16, 19, 44, 55, 63, 68, 83, 93], "like": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 14, 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, 50, 52, 53, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 68, 70, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 90, 91, 92, 93, 94], "exhaust": [1, 8, 14, 25, 30, 36, 40, 64, 66], "find": [1, 2, 3, 4, 6, 7, 8, 12, 13, 14, 15, 16, 20, 21, 22, 24, 28, 30, 33, 40, 41, 42, 44, 46, 47, 52, 54, 62, 63, 66, 68, 77, 79, 90, 93, 94], "somewhat": [1, 8, 22, 28, 30, 39, 47, 58, 75, 76], "meaningless": [1, 4], "25": [1, 4, 14, 24, 30, 79, 91], "java": [1, 3, 4, 5, 7, 8, 9, 10, 12, 18, 19, 20, 23, 29, 30, 32, 33, 35, 39, 41, 42, 45, 46, 53, 56, 57, 59, 63, 64, 67, 69, 70, 71, 72, 73, 75, 76, 78, 79, 80, 81, 82, 84, 85, 88, 91, 93], "down": [1, 2, 3, 4, 6, 7, 8, 11, 16, 18, 19, 40, 45, 47, 54, 56, 61, 62, 63, 73, 78, 91, 93], "risc": 1, "250": [1, 30], "ye": [1, 30, 42, 48, 80, 94], "fli": 1, "airplan": 1, "control": [1, 3, 12, 42, 45, 46, 61, 63, 94], "nuclear": 1, "reactor": 1, "care": [1, 3, 8, 10, 11, 17, 18, 19, 24, 25, 33, 34, 38, 41, 45, 46, 54, 58, 65, 66, 76, 94], "real": [1, 9, 11, 16, 18, 22, 25, 36, 40, 49, 54, 59, 62, 63, 64, 67, 73, 74, 77, 81, 85, 89, 92, 93, 94], "otherwis": [1, 6, 7, 8, 14, 16, 17, 20, 26, 27, 28, 30, 34, 41, 42, 46, 62, 63, 65, 66, 76, 78, 84, 87, 91, 94], "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, 50, 52, 54, 55, 57, 62, 63, 65, 66, 69, 72, 75, 76, 77, 78, 79, 80, 82, 84, 85, 87, 90, 91, 93], "perform": [1, 2, 7, 8, 9, 18, 20, 21, 26, 30, 39, 40, 41, 42, 44, 46, 47, 49, 52, 57, 64, 73, 78, 79, 94], "62": [1, 7, 30], "ignor": [1, 14, 18, 27, 28, 33, 40, 41, 42, 45, 46, 61, 64, 68, 72, 76, 78, 91, 94], "low": [1, 42, 64, 91], "factor": [1, 2, 33, 40, 41, 42, 44, 45, 49, 53, 54, 55, 57, 58, 59, 65, 66, 68, 71, 78, 80], "highest": [1, 3, 28], "tabl": [1, 6, 35, 41, 43, 44, 47, 49, 64, 67, 78, 92], "microsecond": 1, "estim": [1, 30], "univers": [1, 13, 42, 49, 55, 63, 66, 69, 71, 78, 94, 95], "10": [1, 6, 8, 14, 15, 20, 25, 27, 28, 30, 35, 36, 41, 42, 46, 48, 52, 55, 57, 62, 66, 70, 74, 76, 77, 79, 84, 85], "sec": [1, 41], "1017": 1, "000": [1, 8, 20, 30, 57], "18": [1, 30, 46, 49, 76], "min": [1, 41], "12": [1, 6, 7, 20, 23, 25, 28, 30, 33, 42, 45, 75, 76, 79, 84, 85], "dai": [1, 6, 25, 28, 30, 33, 35, 39, 40, 46, 61, 71, 77, 84], "hour": [1, 4, 24], "32": [1, 8, 20, 30, 40, 42, 76, 84], "104": [1, 30], "seriou": [1, 72], "complet": [1, 5, 7, 8, 14, 16, 20, 22, 24, 28, 38, 41, 45, 46, 57, 61, 62, 63, 65, 66, 68, 75, 84, 91, 94], "domin": [1, 9], "my": [1, 40, 46, 84], "laptop": [1, 2], "2x": 1, "bought": 1, "interest": [1, 8, 9, 10, 14, 19, 20, 27, 33, 45, 46, 47, 55, 66, 84, 91], "properti": [1, 14, 15, 18, 19, 22, 28, 40, 44, 45, 48, 55, 63, 66, 68, 78, 81, 84, 90], "pseduocod": 1, "1620": 1, "assembl": [1, 45, 64, 82], "1000": [1, 20, 28, 62, 66, 77], "1000x": 1, "longer": [1, 2, 30, 33, 42, 54, 63, 64, 66, 71, 75, 76, 89, 91, 94], "tune": 1, "employ": 1, "twice": [1, 19, 20, 40, 42, 46, 47, 48, 52, 55, 57, 76], "argu": [1, 16], "imprecis": 1, "abstract": [1, 13, 15, 16, 19, 21, 23, 24, 33, 41, 42, 44, 45, 46, 54, 57, 59, 63, 64, 65, 66, 67, 68, 69, 71, 73, 75, 77, 79, 80, 81, 82, 83, 85, 91], "noth": [1, 2, 7, 8, 14, 21, 22, 32, 45, 46, 48, 57, 63, 65, 66, 84, 91], "pm": [1, 41], "quantiti": [1, 19, 40], "scienc": [1, 17, 23, 55, 72, 93], "review": [1, 4, 23, 24, 33, 54, 63], "natur": [1, 3, 5, 7, 9, 10, 20, 23, 30, 36, 39, 41, 48, 55, 63, 64, 68, 75, 78, 81, 82], "ess": 1, "equal": [1, 6, 7, 8, 12, 13, 14, 22, 28, 30, 33, 35, 40, 41, 42, 63, 65, 66, 76, 77, 78, 79, 80, 83, 88, 92], "henc": [1, 2, 3, 6, 12, 19, 20, 25, 27, 35, 42, 45, 46, 48, 55, 63, 76, 80, 84, 89, 91, 94], "mid": [1, 69], "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, 48, 50, 52, 53, 54, 58, 61, 62, 63, 65, 66, 75, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88, 90, 91, 95], "leq": [1, 20, 65, 66, 68], "pose": 1, "question": [1, 13, 16, 27, 53, 54, 61, 66, 84], "honest": [1, 17, 61, 66], "interpret": [1, 9, 12, 17, 22, 56, 60, 61, 62, 63, 65, 67, 68, 69, 91], "yield": [1, 7, 13, 15, 19, 30, 34, 52, 54, 57, 63, 66, 88], "proper": [1, 42, 47], "subset": [1, 14, 28, 66, 84, 89], "subseteq": 1, "tight": 1, "former": [1, 8, 30, 41, 45, 46, 68, 84, 86], "relat": [1, 16, 19, 29, 30, 46, 54, 61, 62, 63, 67, 68, 76, 82, 84, 85], "fewest": 1, "wherea": [1, 4, 6, 7, 8, 22, 24, 30, 35, 37, 48, 50, 54, 55, 66, 73, 75, 78, 79, 80, 84, 86, 91], "loos": [1, 21, 29], "needlessli": [1, 5], "concret": [1, 18, 19, 23, 33, 45, 46, 64, 65, 66, 67], "9": [1, 8, 20, 23, 25, 26, 30, 33, 40, 41, 42, 48, 52, 55, 62, 63, 65, 76, 80, 85], "1989": [1, 69], "graham": 1, "knuth": 1, "patashnik": 1, "easili": [1, 2, 12, 18, 30, 61, 65, 68, 72, 73, 77, 89], "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, 50, 51, 52, 54, 57, 59, 61, 62, 64, 65, 66, 67, 70, 71, 72, 73, 74, 75, 77, 78, 80, 82, 85, 86, 87, 88, 90, 92, 94], "mathbb": [1, 8], "rightarrow": [1, 65], "upgrad": [1, 15, 21, 41, 45, 46, 66, 94], "Of": [1, 3, 14, 17, 20, 22, 33, 34, 42, 43, 45, 48, 55, 57, 58, 59, 66, 69, 78, 79, 84, 86, 91, 94], "foral": [1, 15, 19, 22, 55], "mathrel": 1, "math": [1, 7, 17, 23, 40, 58, 65, 68, 73, 76, 84], "2n": [1, 40, 58], "proceed": [1, 2, 62, 66, 94], "frac": [1, 40, 41, 42, 44, 58, 88], "3n": 1, "notin": 1, "recal": [1, 7, 8, 13, 15, 19, 20, 22, 30, 37, 41, 45, 48, 50, 52, 55, 57, 61, 63, 64, 66, 68, 76, 77, 78, 79, 80, 83, 86], "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, 48, 52, 61, 63, 64, 65, 66, 67, 68, 71, 75, 76, 77, 78, 79, 80, 83, 84, 86, 90, 91, 93, 94], "o_2": 1, "exist": [1, 8, 14, 16, 25, 28, 38, 42, 45, 52, 53, 55, 57, 59, 61, 62, 63, 64, 66, 68, 69, 78, 79, 82, 84, 86, 91, 94], "c": [1, 3, 4, 5, 6, 7, 8, 10, 13, 16, 19, 23, 25, 27, 29, 30, 34, 35, 39, 41, 42, 45, 46, 47, 48, 50, 51, 54, 55, 56, 57, 62, 63, 64, 65, 67, 70, 73, 75, 76, 77, 79, 83, 84, 85, 86, 88, 90, 91, 94, 95], "gt": [1, 79], "existenti": [1, 55], "quantifi": [1, 13, 19, 55], "posit": [1, 8, 15, 28, 35, 41, 48, 66, 77, 78, 79, 80, 93], "bump": 1, "larger": [1, 3, 7, 22, 24, 33, 41, 42, 45, 62, 65, 66, 68, 81], "analyz": [1, 40, 44, 63, 64, 73], "happen": [1, 5, 6, 7, 8, 10, 12, 14, 16, 22, 26, 27, 33, 40, 41, 42, 44, 45, 46, 47, 48, 54, 63, 66, 77, 80, 84, 91, 93, 94], "slower": [1, 16], "hardcod": [1, 12, 20, 94], "lookup": [1, 26, 28, 47, 68, 78], "o_3": 1, "n_0": 1, "geq": 1, "smaller": [1, 4, 13, 19, 20, 21, 22, 42, 63, 66, 78, 84], "temporarili": [1, 7, 84], "pick": [1, 10, 14, 19, 44, 46, 50, 63, 66, 91, 94], "power": [1, 2, 6, 8, 11, 12, 20, 24, 25, 29, 36, 39, 40, 41, 42, 44, 45, 54, 55, 73, 76, 92, 94], "repeat": [1, 12, 15, 17, 18, 20, 24, 33, 41, 44, 46, 52, 57, 63, 76, 94], "memor": [1, 48], "abl": [1, 2, 3, 9, 18, 27, 30, 41, 44, 45, 46, 54, 65, 66, 70, 73, 76, 79, 81, 84, 91, 94], "recreat": 1, "scratch": [1, 2, 57, 65, 70, 94], "anytim": [1, 63, 66, 76], "asymptot": [1, 44, 47, 49, 57, 78, 89], "upper": [1, 7, 15, 22, 25, 65, 69, 84], "least": [1, 8, 9, 13, 15, 18, 20, 25, 28, 30, 40, 41, 42, 46, 52, 53, 56, 57, 61, 62, 63, 68, 77, 84, 89], "inflat": [1, 40], "goal": [1, 7, 9, 13, 16, 19, 21, 24, 33, 40, 49, 60, 64, 65, 66, 68, 77, 83, 94], "explicitli": [1, 5, 7, 8, 18, 32, 52, 62, 86], "ask": [1, 5, 6, 8, 12, 14, 46, 54, 94], "tightest": 1, "ldot": [1, 40, 42, 88], "parameter": [1, 36, 41, 55, 73, 76, 78, 79, 80, 85], "badli": [1, 93], "mislead": 1, "moral": [1, 25, 63], "stori": [1, 25, 63], "hideou": 1, "inexcus": 1, "abus": [1, 82, 92], "allow": [1, 8, 12, 13, 16, 18, 19, 20, 21, 25, 27, 30, 31, 40, 41, 42, 46, 47, 48, 55, 63, 72, 73, 76, 77, 79, 81, 82, 84, 91, 94], "perman": [1, 4], "infect": 1, "conscious": 1, "defens": [1, 11, 23], "patent": 1, "ridicul": 1, "grace": [1, 71], "admit": [1, 46, 89], "nonsens": 1, "sometim": [1, 4, 7, 8, 9, 13, 14, 16, 19, 22, 24, 25, 27, 32, 35, 40, 42, 44, 45, 46, 51, 62, 63, 64, 65, 66, 72, 75, 76, 78, 84, 91, 93, 94], "becom": [1, 2, 3, 8, 9, 10, 18, 21, 25, 27, 28, 30, 35, 36, 40, 41, 42, 43, 45, 46, 47, 54, 59, 61, 62, 63, 65, 66, 69, 74, 78, 79, 80, 81, 83, 84, 87, 91], "stuck": [1, 13, 19, 22, 50, 62, 67, 68, 94], "mistak": [1, 3, 10, 16, 21, 27, 32, 40, 80, 91, 94], "ancestor": [1, 65], "Be": [1, 15, 41, 65, 94], "direct": [1, 4, 12, 20, 41, 42, 46, 49, 52, 54, 76, 77, 86, 94], "ever": [1, 3, 4, 7, 8, 9, 18, 27, 35, 40, 42, 45, 46, 48, 63, 66, 68, 78, 80, 84, 91], "chanc": [1, 4, 27, 46, 84], "teach": [1, 69, 74], "intellectu": [1, 95], "children": [1, 37, 44, 47, 50, 64], "By": [1, 8, 9, 13, 14, 17, 18, 19, 22, 24, 30, 41, 42, 45, 48, 55, 57, 63, 66, 69, 77, 84, 91, 94], "pretti": [1, 8, 12, 14, 46, 62, 83], "thing": [1, 4, 5, 8, 9, 10, 12, 16, 20, 25, 27, 31, 32, 33, 45, 46, 48, 63, 66, 73, 78, 91, 93, 94], "longest": [1, 28, 47], "euphem": 1, "emphas": [1, 5, 16, 33, 54, 84], "featur": [1, 7, 8, 9, 11, 19, 25, 29, 30, 33, 35, 36, 43, 45, 46, 48, 59, 61, 64, 65, 66, 70, 74, 76, 79, 80, 82, 85, 87, 89, 91, 93], "linear": [1, 6, 8, 18, 26, 37, 38, 40, 41, 42, 44, 54, 57, 58, 62, 63, 76, 77, 78], "familiar": [1, 13, 22, 24, 29, 30, 42, 53, 57, 60, 65, 91, 94], "tail": [1, 11, 19, 28, 36, 41, 48, 50, 58, 66, 76, 78, 90, 91], "insid": [2, 3, 5, 7, 8, 9, 10, 22, 25, 27, 30, 32, 35, 41, 44, 45, 46, 47, 48, 61, 62, 64, 65, 66, 75, 76, 79, 80, 82, 83, 84, 91, 94], "With": [2, 8, 16, 18, 20, 41, 46, 47, 54, 61, 63, 64, 66, 68, 76, 79, 80, 89, 94], "system": [2, 3, 4, 8, 9, 10, 16, 21, 24, 45, 46, 62, 63, 66, 67, 71, 72, 73, 76, 79, 80, 81, 84, 85, 86, 91, 94], "host": 2, "os": [2, 46, 64, 94], "guest": 2, "nativ": [2, 3], "window": [2, 3, 12, 33, 41], "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, 56, 57, 59, 62, 64, 65, 71, 73, 75, 76, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 93, 94], "pre": [2, 26, 27, 30, 40, 54, 94], "ubuntu": [2, 94], "free": [2, 4, 16, 28, 63, 65, 66, 67, 73, 74, 93, 94], "linux": [2, 16], "ancient": 2, "african": 2, "process": [2, 8, 14, 20, 24, 30, 33, 36, 46, 47, 50, 54, 57, 63, 65, 66, 78, 79, 86, 94], "download": [2, 12, 14, 61, 62, 64, 65, 66, 68, 77, 93, 94], "oracl": 2, "virtualbox": 2, "Or": [2, 4, 8, 10, 14, 21, 25, 30, 35, 45, 53, 61, 63, 65, 66, 84, 93, 94], "updat": [2, 20, 21, 25, 33, 44, 46, 73, 78, 79, 87, 90, 91, 94], "latest": 2, "worri": [2, 3, 4, 7, 8, 17, 30, 33, 46, 57, 63, 66, 75, 76, 77, 92, 94], "sorri": [2, 30], "preview": 2, "didn": [2, 4, 8, 30, 33, 48, 54, 59, 68, 70, 79, 80, 91, 92], "load": [2, 8, 20, 40, 41, 42, 46, 49, 64, 65, 75, 77], "messag": [2, 7, 8, 17, 20, 33, 45, 63, 75, 80, 84, 94], "click": [2, 14, 46, 93, 94], "button": 2, "save": [2, 3, 4, 40, 42, 44, 55, 61, 68, 94], "ova": 2, "wherev": [2, 63], "6gb": [], "while": [2, 19, 20, 42, 46, 47, 71, 72, 76, 79, 81, 82, 87, 88, 93, 94], "launch": [2, 12, 46, 62, 75, 86, 93, 94], "select": [2, 14, 64, 83, 94], "applianc": 2, "cs3110": 94, "2022fa": [], "point": [2, 4, 6, 7, 8, 14, 16, 18, 19, 25, 28, 33, 34, 35, 38, 42, 45, 46, 48, 53, 54, 57, 60, 61, 62, 63, 64, 65, 66, 75, 76, 78, 82, 84, 90, 91, 94], "error": [2, 4, 6, 7, 8, 10, 12, 14, 16, 20, 23, 24, 25, 27, 32, 33, 45, 48, 54, 62, 63, 64, 66, 68, 73, 75, 76, 77, 78, 79, 80, 84, 86, 90, 91, 93, 94], "depend": [2, 10, 13, 14, 21, 25, 28, 33, 40, 42, 45, 46, 47, 56, 63, 65, 66, 69, 73, 79, 81, 84, 91, 94], "hard": [2, 4, 5, 13, 16, 21, 22, 24, 30, 35, 42, 45, 47, 54, 66, 75, 79, 80, 81, 89, 91], "vt": 2, "amd": 2, "acceler": 2, "access": [2, 4, 7, 8, 9, 32, 35, 36, 39, 46, 48, 64, 76, 77, 78, 80, 84, 86, 87, 91, 94], "bio": [2, 94], "vari": [2, 47, 59], "manufactur": [2, 94], "googl": [2, 74, 94], "substitut": [2, 7, 8, 11, 30, 34, 61, 62, 63, 67, 69, 73, 84, 91, 94], "red": [2, 7, 25, 41, 43, 49, 84, 90, 94], "hat": [2, 94], "page": [2, 6, 7, 8, 12, 46, 48, 93, 94], "kernel": [2, 93], "panic": 2, "attempt": [2, 14, 22, 24, 36, 42, 46, 48, 57, 63, 64, 65, 66, 68, 73, 76], "kill": 2, "idl": 2, "increas": [2, 14, 24, 28, 30, 40, 41, 44, 47, 56, 77], "box": [2, 15, 19, 23, 32, 41, 45, 46], "slider": 2, "grei": 2, "won": [2, 3, 4, 9, 16, 25, 28, 41, 45, 48, 63, 65, 66, 68, 71, 73, 75, 76, 79, 80, 84, 86, 91, 94], "permit": [2, 7, 8, 10, 16, 34, 41, 46, 48, 63, 66, 78, 80, 84, 91], "adjust": 2, "chang": [2, 3, 4, 7, 8, 10, 13, 14, 18, 19, 20, 21, 25, 30, 33, 34, 40, 41, 42, 44, 45, 46, 47, 48, 50, 54, 57, 61, 62, 63, 66, 69, 70, 71, 73, 76, 77, 78, 80, 81, 84, 86, 87, 89, 90, 91, 94], "memori": [2, 4, 8, 9, 12, 17, 30, 36, 45, 46, 48, 61, 64, 73, 91, 92], "activ": [2, 46, 79, 94], "shut": 2, "freez": 2, "black": [2, 15, 19, 23, 41, 43, 49], "abort": [2, 19, 77], "displai": 2, "motherboard": 2, "video": [2, 30, 35, 60, 86, 93, 95], "screen": [2, 45, 46], "color": [2, 25, 41, 47, 90, 94], "underneath": 2, "indic": [2, 6, 7, 8, 10, 12, 30, 33, 39, 41, 42, 46, 47, 48, 54, 55, 56, 63, 64, 65, 76, 83, 84, 91, 94], "zone": 2, "lower": [2, 7, 18, 25, 41, 47, 63, 65, 84], "monitor": [2, 41], "high": [2, 13, 14, 16, 20, 41, 42, 46, 57, 60, 63, 64, 65, 76], "pixel": 2, "densiti": 2, "appl": [2, 77], "retina": 2, "incred": [2, 20, 71], "tini": [2, 7, 60, 65, 66, 78, 79], "scale": [2, 8, 93], "200": [2, 30, 40, 93, 95], "automat": [2, 3, 4, 7, 8, 17, 39, 63, 65, 73, 75, 76, 79, 80, 82, 84, 94], "usernam": [2, 94], "camel": [2, 10, 46, 91, 93, 94], "password": [2, 94], "To": [2, 3, 4, 7, 8, 10, 13, 14, 18, 19, 20, 25, 27, 28, 31, 33, 34, 35, 40, 41, 42, 44, 46, 47, 48, 50, 52, 54, 57, 61, 62, 63, 66, 68, 75, 76, 77, 78, 79, 81, 84, 87, 90, 91, 93, 94], "passwd": 2, "termin": [2, 3, 7, 10, 12, 27, 41, 46, 63, 65, 67, 76, 84, 87, 91, 93, 94], "prompt": [2, 12, 86, 94], "welcom": [2, 94], "user": [2, 20, 24, 32, 46, 48, 91, 94], "account": [2, 25, 40, 52, 61, 94], "awar": [2, 16, 40, 46, 75, 82], "opam": [2, 3, 8, 46, 65], "instruct": [2, 8, 45, 46, 64, 69, 94], "menu": [2, 46, 93, 94], "safe": [2, 8, 25, 28, 30, 45, 47, 63, 73, 91, 94], "shutdown": 2, "reboot": [2, 94], "often": [2, 4, 5, 7, 8, 10, 14, 16, 18, 20, 24, 33, 35, 37, 42, 43, 45, 47, 55, 58, 63, 76, 79, 84, 86, 87, 94], "icon": [2, 12, 93, 94], "option": [2, 3, 12, 13, 20, 25, 26, 27, 28, 29, 30, 36, 41, 42, 44, 45, 62, 63, 65, 76, 79, 80, 84, 90, 91, 94], "normal": [2, 8, 20, 22, 27, 28, 39, 40, 45, 47, 75, 79, 83, 85, 88, 91], "lid": 2, "sleep": [2, 41, 46], "wake": 2, "send": [2, 8, 76], "signal": [2, 18], "intend": [2, 3, 17, 24, 27, 30, 41, 45, 50, 65, 66, 76, 84, 94], "unplug": 2, "desktop": 2, "wall": [2, 69], "boot": 2, "off": [2, 3, 4, 8, 18, 24, 30, 32, 40, 46, 48, 57, 63, 76, 83, 84, 91, 93], "danger": [2, 24, 91, 94], "pull": [2, 65], "cord": 2, "suddenli": [2, 66], "quit": [2, 7, 8, 10, 12, 13, 18, 19, 20, 21, 22, 24, 30, 42, 43, 45, 46, 48, 58, 63, 65, 72, 73, 77, 79, 80, 85, 90, 91, 94], "without": [2, 8, 9, 12, 14, 16, 18, 19, 21, 27, 30, 33, 35, 41, 42, 44, 45, 46, 48, 50, 55, 57, 60, 61, 64, 65, 66, 73, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 90, 92, 94], "cleanup": 2, "hand": [2, 3, 7, 8, 18, 21, 24, 30, 34, 35, 41, 45, 47, 48, 54, 57, 61, 63, 64, 65, 66, 68, 70, 76, 79, 84, 91, 94], "corrupt": [2, 46], "lose": [2, 45], "reinstal": [2, 94], "unhappi": [2, 75], "avoid": [2, 16, 24, 25, 30, 44, 45, 46, 47, 55, 62, 65, 67, 71, 76, 78, 80, 83, 84], "firefox": 2, "web": [2, 12, 14, 30, 43, 46, 93], "browser": [2, 12, 14, 46, 64, 93, 94], "launcher": 2, "bar": [2, 30, 64, 68, 94], "share": [2, 19, 30, 36, 46, 54, 75, 78, 79, 83, 85, 93, 94], "folder": [2, 65], "copi": [2, 3, 4, 12, 18, 20, 30, 33, 35, 36, 40, 65, 76, 77, 78, 80, 82, 94], "plu": [2, 14, 15, 22, 40, 62, 63, 65, 68, 77], "sign": [2, 6, 8, 25, 28, 30, 33, 35, 65, 78, 79, 83], "dialog": 2, "path": [2, 14, 18, 23, 28, 41, 47, 94], "navig": [2, 24, 46, 94], "vmshare": 2, "keep": [2, 4, 15, 18, 19, 20, 21, 22, 24, 31, 36, 40, 41, 42, 45, 46, 47, 54, 57, 61, 63, 66, 68, 76, 78, 79, 81, 85, 86, 94], "fill": [2, 28, 41, 42, 44, 45, 46, 62, 77, 88], "auto": [2, 46], "mount": 2, "home": [2, 3, 94], "ok": [2, 23, 33, 34, 45, 76], "subdirectori": [2, 3, 86, 94], "directori": [2, 3, 14, 33, 75, 86, 94], "cpu": [2, 6, 46], "alloc": [2, 8, 30, 42, 73, 91], "els": [2, 4, 6, 7, 8, 13, 14, 15, 16, 18, 19, 26, 30, 42, 44, 45, 46, 47, 48, 50, 53, 54, 55, 57, 58, 61, 62, 63, 65, 66, 68, 76, 77, 78, 79, 80, 91, 94], "tinker": 2, "tab": [2, 9, 41, 42, 65, 94], "bring": [2, 20, 33, 40, 41, 84], "plai": [2, 15, 16, 30, 45, 84], "around": [2, 5, 7, 8, 16, 18, 22, 27, 40, 41, 47, 48, 56, 61, 62, 63, 75, 78, 79, 86, 94], "sweet": [2, 30, 57], "spot": 2, "satisfi": [2, 5, 14, 16, 18, 19, 20, 21, 23, 28, 33, 40, 41, 45, 47, 52, 55, 76, 79, 81, 82, 83], "properli": [2, 20, 62, 84], "delet": [2, 14, 33, 41, 47], "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, 46, 47, 48, 50, 51, 59, 63, 64, 66, 67, 73, 75, 79, 83, 84, 85, 91, 94], "interact": [3, 9, 12, 13, 14, 24, 41, 46, 48, 63, 65, 86, 91, 93], "calcul": [3, 12, 40, 41, 44], "far": [3, 4, 5, 7, 8, 14, 17, 18, 19, 20, 22, 24, 25, 27, 34, 35, 40, 42, 45, 46, 54, 57, 61, 62, 63, 65, 68, 71, 75, 76, 78, 81, 84, 89, 91], "open": [3, 14, 27, 30, 32, 33, 41, 42, 46, 62, 65, 66, 68, 76, 77, 78, 79, 85, 86, 93, 94], "command": [3, 7, 12, 41, 46, 65, 73, 86, 93, 94], "mkdir": [3, 94], "hello": [3, 6, 25, 35, 41, 64, 76, 93], "cd": [3, 94], "root": [3, 6, 10, 14, 16, 25, 28, 41, 44, 47, 50, 63, 65, 94], "unix": [3, 16, 20, 41, 46], "place": [3, 7, 8, 14, 18, 21, 22, 24, 25, 30, 33, 42, 46, 47, 50, 62, 66, 68, 75, 76, 84, 88, 91, 93, 94], "soon": [3, 4, 8, 21, 25, 39, 45, 54, 66, 73, 78, 80, 82, 84], "_": [3, 10, 13, 16, 18, 19, 20, 25, 27, 28, 30, 31, 33, 34, 37, 38, 41, 42, 44, 45, 46, 47, 48, 50, 54, 62, 66, 68, 75, 76, 78, 79, 83, 84, 91], "print_endlin": [3, 6, 10, 46, 93], "session": [3, 12, 20], "blank": 3, "underscor": [3, 10, 30, 33], "ocamlc": [3, 77, 86], "output": [3, 4, 6, 8, 10, 12, 14, 15, 16, 18, 19, 21, 23, 28, 30, 41, 42, 45, 46, 47, 48, 49, 52, 53, 55, 56, 57, 63, 64, 65, 68, 73, 76, 77, 78, 79, 83, 84, 85, 90, 91, 93, 94], "bytecod": [3, 45, 64, 67, 86], "cmi": 3, "cmo": [3, 77, 86], "concern": [3, 4, 18, 30, 73, 76, 81, 82], "print": [3, 4, 11, 12, 20, 28, 33, 41, 45, 46, 48, 53, 57, 63, 77, 83, 89, 91, 93], "string": [3, 5, 6, 7, 8, 10, 15, 18, 20, 25, 26, 27, 28, 32, 33, 34, 35, 41, 42, 44, 45, 46, 52, 54, 55, 57, 62, 63, 65, 68, 75, 76, 77, 78, 79, 83, 84, 86, 90, 91, 93, 94], "recompil": [3, 62, 77], "rerun": 3, "multipl": [3, 6, 7, 8, 10, 11, 15, 18, 19, 22, 25, 26, 35, 40, 41, 42, 45, 46, 48, 52, 60, 63, 64, 66, 76, 77, 78, 83, 91], "cycl": [3, 25, 42, 45, 48, 49, 90, 91], "feel": [3, 8, 9, 24, 29, 45, 65, 71, 84, 94], "unfamiliar": [3, 6], "id": [3, 8, 9, 30, 45, 62, 63, 65, 78, 79, 80, 93, 94], "eclips": [3, 9], "clean": [3, 72, 94], "rm": [3, 6, 14, 27, 94], "unlik": [3, 7, 29, 42, 63, 84, 91], "invok": [3, 14, 20, 46, 76, 80, 84, 91], "idiom": [3, 9, 11, 30, 76], "last": [3, 4, 7, 14, 18, 20, 22, 28, 40, 41, 42, 44, 45, 46, 48, 51, 63, 65, 66, 68, 70, 79, 84], "serv": [3, 19, 21, 24, 46, 71], "kick": [3, 8], "project": [3, 33, 42, 46, 65, 73], "manual": [3, 5, 6, 7, 8, 27, 34, 41, 46, 63, 76, 83, 84, 91, 94], "librari": [3, 4, 5, 7, 8, 9, 10, 11, 14, 18, 20, 21, 25, 26, 27, 28, 30, 33, 34, 36, 37, 41, 45, 46, 47, 48, 51, 52, 53, 56, 57, 59, 65, 66, 75, 76, 77, 78, 79, 80, 84, 88, 91], "legaci": [3, 86], "ocamlbuild": [3, 86], "newer": [3, 94], "gradl": 3, "maven": 3, "ant": 3, "hierarchi": [3, 63], "extern": [3, 46], "packag": [3, 20, 46, 82, 84, 94], "instal": [3, 8, 15, 18, 20, 46, 76, 77, 83, 93], "manag": [3, 14, 17, 25, 40, 46, 73, 81, 94], "descend": [3, 14, 16, 19, 28, 47, 63], "lisp": [3, 8, 30, 61, 66, 70, 72, 74], "parenthes": [3, 7, 8, 12, 25, 35, 46, 54, 58, 62, 64, 65, 78, 79, 84, 87], "nest": [3, 6, 7, 10, 14, 19, 30, 31, 32, 62, 66, 76, 83, 84, 91], "html": [3, 5, 12, 14, 23, 30, 74, 75, 93], "declar": [3, 5, 8, 16, 25, 46, 62, 63, 65, 75, 76, 77, 79, 80, 81, 83, 84, 85, 90], "lang": [3, 33, 63], "sourc": [3, 4, 5, 12, 14, 16, 17, 18, 20, 24, 30, 46, 54, 61, 64, 67, 73, 75, 79, 80, 81, 86, 89, 90, 93, 94], "ex": [3, 14, 30, 33, 41, 46, 94], "extens": [3, 4, 19, 25, 30, 46, 65, 69, 75, 79, 85, 93, 94], "platform": [3, 7, 93, 94], "_build": [3, 33, 65, 86], "benefit": [3, 21, 24, 42, 46, 55, 74, 82], "over": [3, 7, 8, 9, 13, 15, 16, 19, 20, 25, 37, 40, 41, 42, 44, 45, 46, 47, 48, 50, 54, 55, 59, 60, 61, 63, 65, 66, 68, 69, 70, 73, 76, 77, 79, 93, 94, 95], "pollut": 3, "bunch": [3, 40], "cleanli": [3, 41], "separ": [3, 6, 7, 8, 10, 18, 30, 33, 52, 63, 64, 65, 66, 75, 78, 81, 83, 84, 91, 94], "buri": 3, "coupl": [3, 4, 8, 9, 10, 13, 17, 20, 21, 25, 28, 32, 42, 45, 46, 47, 51, 54, 60, 65, 68, 79, 80, 84, 85, 91], "default": [3, 8, 14, 20, 42, 46, 47, 48, 65, 76, 85, 88, 94], "shortcut": [3, 94], "rememb": [3, 12, 16, 30, 32, 35, 44, 48, 54, 62, 66, 76, 79, 80, 91, 94], "simpli": [3, 7, 8, 13, 16, 18, 19, 25, 26, 27, 28, 30, 39, 41, 42, 44, 45, 46, 47, 48, 53, 62, 65, 73, 76, 79, 80, 81, 84, 91, 93, 94], "exec": [3, 14, 33, 41, 46], "remov": [3, 13, 15, 18, 20, 21, 41, 42, 45, 46, 47, 57, 64, 77, 78, 79, 81, 84, 90, 94], "cach": [3, 48, 49, 76, 78], "accident": [3, 54, 57, 66, 75, 84], "loss": [3, 18], "recov": [3, 42], "git": 3, "advis": [3, 78], "resort": 4, "everyth": [4, 5, 8, 46, 54, 56, 66, 68, 73, 79, 81, 86], "fail": [4, 7, 14, 16, 17, 18, 19, 20, 21, 22, 27, 33, 41, 46, 47, 63, 71, 76, 86, 94], "accord": [4, 7, 13, 17, 19, 20, 28, 30, 41, 42, 48, 54, 61, 63, 64, 79, 84, 91], "rob": 4, "miller": 4, "four": [4, 14, 28, 31, 40, 45, 47, 62, 63, 65, 69, 76, 77, 85, 93, 94], "erad": 4, "safeti": [4, 8, 17, 67, 73, 74, 91, 92], "refer": [4, 7, 8, 10, 15, 19, 20, 25, 32, 39, 40, 45, 46, 51, 55, 63, 65, 78, 86, 88, 90, 91, 92], "region": [4, 14, 91], "inconsist": [4, 18], "prevent": [4, 8, 21, 24, 30, 63, 66, 73, 76, 82, 91], "buffer": [4, 10, 65, 73], "overflow": [4, 6, 8, 48, 71, 73], "ad": [4, 8, 12, 14, 15, 16, 18, 19, 20, 40, 41, 42, 46, 47, 57, 65, 66, 68, 76, 77, 78, 79, 80, 82, 83, 84], "boolean": [4, 7, 13, 22, 34, 41, 42, 55, 63, 65, 66, 68, 91], "float": [4, 6, 7, 10, 14, 25, 28, 32, 38, 41, 42, 52, 75, 77, 78, 79, 83, 87, 88], "tool": [4, 5, 9, 11, 12, 14, 16, 24, 30, 60, 64, 65, 94], "autom": [4, 24, 33], "analysi": [4, 9, 13, 22, 43, 49, 64, 66, 67, 68, 69, 78], "findbug": 4, "slam": 4, "devic": 4, "driver": [4, 24], "subfield": 4, "cs": [2, 4, 6, 23, 37, 46, 67, 93, 94, 95], "verif": [4, 13, 19, 23, 24], "social": [4, 17, 23, 24, 84], "ibm": [4, 24], "1970": [4, 47, 65, 72], "1990": [4, 55, 59, 69, 70, 71], "remark": [4, 24, 66], "effect": [4, 7, 8, 9, 10, 14, 19, 24, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 65, 73, 74, 75, 76, 79, 80, 81, 84, 86, 87, 89, 93, 94], "jone": [4, 24], "1991": [4, 23, 24, 72], "inspect": [4, 23, 24, 47], "found": [4, 7, 8, 15, 18, 19, 20, 23, 24, 41, 42, 47, 63, 73, 86, 92, 93, 94], "65": [4, 7, 20, 24, 30], "20": [4, 7, 24, 26, 27, 30, 40, 41, 42, 45, 46, 62, 63, 84, 91, 95], "none": [4, 5, 8, 10, 20, 24, 25, 26, 27, 28, 30, 32, 41, 42, 44, 45, 46, 48, 54, 62, 66, 76, 78, 80, 90, 91], "visibl": [4, 30, 44, 76, 80, 84, 85, 93], "appear": [4, 8, 13, 18, 24, 28, 30, 34, 35, 39, 41, 42, 43, 45, 46, 52, 62, 63, 64, 65, 66, 76, 78, 79, 84, 85, 86, 94], "easier": [4, 15, 16, 18, 24, 28, 30, 40, 45, 46, 61, 63, 64, 66, 71, 73, 78, 80, 81, 85, 86, 94], "diagnos": [4, 45, 84, 94], "fix": [4, 8, 10, 12, 20, 21, 22, 24, 35, 40, 42, 46, 47, 57, 62, 63, 84, 87, 94], "past": [4, 12, 13, 17, 33, 57, 62, 80, 82, 83, 94, 95], "obscur": [4, 16, 46, 63, 85], "loudli": 4, "fourth": [4, 41, 52, 55, 65, 91, 94], "expos": [4, 5, 17, 18, 45, 46, 71, 76, 79, 80, 83, 91], "confirm": [4, 14], "modul": [4, 7, 8, 10, 13, 14, 15, 20, 21, 24, 26, 28, 30, 33, 39, 41, 42, 43, 44, 45, 46, 47, 48, 52, 54, 56, 58, 59, 65, 66, 68, 73, 75, 76, 77, 78, 81, 85, 87, 88, 90, 91], "especi": [4, 8, 30, 40, 42, 43, 46, 63, 65, 89, 93], "break": [4, 23, 40, 42, 47, 63, 64, 73, 76, 78, 94], "distil": 4, "lurk": [4, 12, 84], "spent": [4, 16, 40, 44], "until": [4, 7, 17, 27, 32, 33, 45, 46, 48, 57, 64, 66, 70, 71, 73, 75, 77, 80, 91], "emploi": [4, 24], "scientif": [4, 23, 24], "formul": [4, 15, 19, 22, 24, 41, 45, 68], "notebook": [4, 93], "chemistri": 4, "lab": [4, 94], "clarifi": [4, 70], "mind": [4, 6, 15, 36, 56, 75, 85, 94], "track": [4, 22, 31, 42, 46, 54, 63, 66], "hypothes": [4, 22], "experi": [4, 9, 17, 20, 24, 61, 62, 71, 77, 78, 86, 93], "affirm": 4, "deni": 4, "reformul": 4, "ration": [4, 14, 77], "typo": [4, 84], "flaw": [4, 57], "major": [4, 8, 18, 46, 52, 66, 68, 94], "refactor": [4, 33, 55, 77], "suit": [4, 14, 15, 17, 20, 27, 28, 33], "creep": 4, "futur": [4, 7, 17, 18, 24, 25, 30, 41, 46, 61, 85, 94], "guard": [4, 7, 63, 66, 68], "repeatedli": [4, 6, 44], "previou": [4, 5, 6, 8, 13, 14, 15, 19, 25, 28, 30, 33, 35, 41, 44, 46, 48, 53, 62, 63, 64, 66, 68, 77, 79, 91, 94], "regress": [4, 23], "tip": [4, 93, 94], "ascertain": 4, "inc": [4, 8, 12, 41, 45, 84, 86, 88], "print_int": [4, 10, 57], "trace": [4, 27], "fib": [4, 6, 15, 44, 48], "stop": [4, 8, 30, 41, 42, 46, 62, 66, 94], "untrac": 4, "debugg": [4, 9], "ocamldebug": 4, "tutori": [4, 14, 94], "websit": [4, 72, 94], "unless": [4, 8, 20, 62, 66, 71, 78, 86, 94], "emac": [4, 61, 93, 94], "section": [4, 5, 16, 18, 23, 28, 30, 33, 35, 41, 44, 45, 46, 49, 53, 54, 55, 60, 62, 65, 66, 68, 76, 79, 80, 84, 91, 93], "precondit": [4, 8, 11, 13, 14, 15, 16, 18, 19, 21, 23, 41, 75], "random_int": [4, 5], "random": [4, 5, 15, 23, 42, 91, 94], "inclus": [4, 5, 6, 30, 52, 86], "exclus": [4, 5, 56], "greater": [4, 5, 6, 14, 16, 24, 30, 47, 52, 66, 77, 78, 79], "30": [4, 5, 28, 30, 46, 48, 84], "pass": [4, 5, 8, 10, 14, 19, 20, 21, 30, 33, 38, 42, 45, 51, 54, 55, 56, 57, 58, 63, 66, 74, 77, 79, 84, 91], "violat": [4, 14, 16, 18, 20, 21, 24, 40, 42, 44, 46, 47, 63, 66, 83, 91], "claus": [4, 5, 23, 30], "whatsoev": [4, 45, 68], "bet": [4, 91], "implementor": [4, 79], "lsl": 4, "invalid_arg": [4, 14, 46, 91], "built": [4, 6, 7, 8, 10, 13, 18, 20, 26, 29, 30, 31, 33, 36, 40, 41, 42, 45, 46, 48, 53, 54, 57, 63, 65, 68, 72, 77, 78, 82, 83, 84, 91, 94], "invalid_argu": [4, 7, 14, 46, 87, 91], "situat": [4, 14, 22, 40, 47, 48, 61, 64, 68, 75, 86], "invalid": [4, 16, 52, 65, 77], "computation": [4, 66], "cheap": [4, 18, 40, 42], "prefer": [4, 9, 12, 42, 46, 47, 75, 91, 94], "inexpens": [4, 40], "approxim": [4, 7, 14, 18, 41, 42, 48, 63, 78], "unnecessarili": 4, "expens": [4, 18, 24, 37, 40, 42, 57], "cost": [4, 18, 24, 40, 47, 57, 76, 78], "initi": [4, 8, 15, 20, 23, 24, 40, 41, 42, 50, 54, 63, 64, 68, 87, 88, 91], "paid": [4, 40], "These": [4, 7, 8, 16, 19, 23, 24, 30, 36, 45, 48, 55, 65, 75, 82, 86, 91, 93, 94], "misplac": 4, "monei": [4, 40], "societi": 4, "repair": [4, 47], "fault": [4, 19, 23, 24, 45, 89], "restat": 4, "postcondit": [4, 8, 11, 16, 19, 21, 23], "big": [4, 7, 8, 30, 35, 42, 44, 49, 61, 62, 65, 67, 68, 69, 76, 77, 86], "savvi": [4, 42], "anywai": [4, 12, 40, 45, 46, 61, 84], "spend": [4, 24, 40, 94], "ocamldoc": [5, 75], "javadoc": [5, 30], "comment": [5, 8, 15, 18, 19, 21, 23, 24, 30, 46, 54, 62, 63, 76, 83, 84], "render": [5, 30, 33, 46], "easi": [5, 8, 9, 10, 13, 17, 18, 19, 24, 26, 30, 35, 39, 41, 42, 45, 47, 50, 57, 63, 66, 68, 71, 73, 76, 78, 79, 80, 84, 93, 94, 95], "sum": [5, 19, 25, 30, 33, 35, 36, 40, 41, 48, 52, 54, 58, 83], "lst": [5, 15, 16, 18, 20, 22, 26, 28, 30, 42, 48, 52, 53, 54, 57, 64, 78, 79, 80, 84, 90, 91], "asterisk": 5, "recogn": [5, 27, 32, 40, 45, 55, 59, 65, 85, 94], "squar": [5, 6, 7, 8, 14, 15, 16, 25, 28, 30, 47, 48, 52, 55, 58, 64, 88, 94], "bracket": [5, 7, 25, 28, 30, 47, 64, 76], "typewrit": [5, 30], "font": 5, "regular": [5, 8, 62, 65, 67, 85], "support": [2, 5, 7, 8, 10, 18, 19, 20, 25, 30, 42, 46, 56, 59, 61, 65, 70, 73, 76, 77, 78, 79, 81, 82, 83, 94], "deprec": 5, "param": 5, "netid": [5, 94], "full": [5, 18, 19, 32, 34, 35, 41, 45, 62, 63, 64, 71, 72, 79, 93], "rang": [5, 7, 20, 42, 58], "markup": 5, "cover": [5, 7, 8, 9, 14, 18, 20, 24, 25, 27, 29, 30, 39, 43, 46, 59, 63, 64, 65, 66, 69, 77, 84, 89, 93], "enough": [5, 6, 8, 13, 14, 16, 17, 18, 21, 30, 33, 41, 57, 64, 65, 66, 81, 91], "style": [5, 7, 12, 16, 18, 35, 45, 46, 51, 59, 66, 84, 85], "favor": 5, "resembl": [5, 19, 61, 63, 65, 66, 79, 85], "revisit": [5, 33, 34, 40, 77], "descript": [5, 16, 19, 30, 33, 38, 65, 68, 81, 94], "redundantli": 5, "paramet": [5, 8, 16, 25, 33, 54, 56, 63, 79, 80], "said": [5, 9, 14, 27, 46, 71, 76, 91], "strongli": [5, 7, 19], "discourag": [5, 7], "limpid": 5, "lowercase_ascii": [5, 84], "lowercas": [5, 8], "ascii": [5, 7], "occurr": [5, 7, 15, 22, 30, 42, 45, 50, 61, 62, 65, 66, 78], "not_found": [5, 44, 68, 77, 78, 79], "sentenc": [5, 16, 18, 35, 79], "dynam": [5, 7, 8, 9, 11, 25, 27, 30, 34, 35, 39, 48, 62, 63, 66, 67, 68, 69, 73, 74, 80, 83, 84, 87, 90, 91], "python": [5, 7, 8, 10, 12, 20, 29, 30, 53, 56, 57, 58, 59, 64, 70, 71, 73, 84, 93], "frequent": [5, 14, 46, 64, 93], "regard": [5, 7, 17, 19, 35, 40, 54, 66, 78], "ensur": [5, 9, 10, 13, 14, 18, 20, 30, 42, 46, 47, 54, 57, 63, 66, 68, 77, 78, 79, 84], "wrong": [5, 16, 21, 25, 27, 57, 61, 66, 71, 81, 82, 91, 94], "although": [5, 7, 8, 9, 18, 19, 20, 25, 26, 37, 40, 41, 42, 44, 63, 64, 65, 66, 78, 79, 88, 91], "english": [5, 7, 13, 19], "helpfulli": 5, "reader": [5, 8, 12, 16, 18, 31, 45, 53, 54, 57, 65, 84, 93], "highli": [5, 7, 36, 48, 64], "unidiomat": 5, "puzzl": [5, 20, 28, 91], "person": [5, 14, 21, 81], "wrote": [5, 8, 17, 25, 26, 28, 30, 33, 45, 57, 63, 65, 68, 73, 76, 79], "Is": [5, 13, 17, 40, 42, 76, 94], "am": 5, "miss": [5, 13, 16, 18, 65, 66, 75, 84], "string_of_int": [6, 7, 28, 32, 33, 42, 52, 66, 77, 83], "hint": [6, 7, 12, 14, 15, 18, 19, 28, 41, 46, 52, 62, 77, 78, 86, 88], "examin": [6, 7, 21, 29, 41, 42, 62, 73], "scroll": [6, 7], "42": [6, 7, 8, 12, 19, 30, 32, 41, 42, 46, 55, 61, 62, 63, 64, 66, 76, 79, 80, 83, 84, 86, 90, 91], "divid": [6, 14, 19, 42, 66, 75, 77, 78, 88], "14": [6, 7, 8, 10, 25, 28, 30, 62, 67, 75, 76, 78, 84, 91], "seventh": [6, 65], "nor": [6, 8, 10, 16, 27, 46, 52, 54, 62, 84, 89], "hi": [6, 25, 32, 44, 52, 55, 69, 71, 72, 78, 93], "physic": [6, 7, 9, 88, 92], "2110": [6, 37, 42, 69], "increment": [6, 7, 8, 12, 30, 33, 40, 45, 46, 48, 65, 87, 91], "cube": [6, 44, 52], "circl": [6, 17, 25], "radiu": [6, 25], "bear": [6, 22, 56, 79, 94], "1e": 6, "worthwhil": [6, 8, 24, 30], "averag": [6, 15, 40, 42], "avg3": 6, "z": [6, 7, 8, 14, 15, 19, 22, 34, 35, 41, 46, 47, 62, 63, 65, 66, 79, 84, 88, 91], "sqrt": [6, 14, 44, 88], "date": [6, 28, 77], "month": [6, 17, 28, 77], "abbrevi": [6, 25], "jan": [6, 78], "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, 46, 52, 62, 63, 66, 68, 78, 81, 84, 91], "jun": 6, "jul": 6, "aug": 6, "sept": 6, "oct": 6, "nov": 6, "dec": [6, 45], "minimum": [6, 14, 28], "31": [6, 8, 20, 28, 30, 41, 77, 79, 80, 84], "28": [6, 7, 28, 30, 84], "ters": [6, 52, 77, 78], "short": [6, 7, 14, 16, 24, 30, 37, 41, 42, 53, 61, 66, 67, 75, 84, 89, 91], "fewer": [6, 10, 24, 28, 47], "th": 6, "fibonacci": [6, 48], "sequenc": [6, 7, 10, 13, 19, 20, 30, 40, 41, 43, 45, 62, 63, 64, 65, 87, 92], "13": [6, 28, 30, 33, 41, 48, 49, 76, 79, 80, 84, 85, 92], "50th": [6, 77], "instantan": 6, "congratul": 6, "hang": 6, "indefinit": 6, "obviou": [6, 18, 42, 45, 48, 55, 66], "subproblem": [6, 22], "redon": 6, "fib_fast": 6, "helper": [6, 8, 28, 41, 45, 46, 57, 68, 76, 78, 80, 90, 91], "h": [6, 13, 15, 18, 19, 20, 22, 23, 25, 28, 30, 32, 34, 35, 41, 44, 45, 47, 48, 50, 53, 54, 57, 63, 76, 78, 79, 80], "pp": [6, 76], "forward": [6, 41, 94], "neg": [6, 16, 19, 22, 25, 28, 31, 40, 42, 78, 79, 80, 84], "poli": [6, 8, 15, 23, 25, 28], "numer": [6, 16, 41, 77, 78], "denomin": [6, 41, 77], "associ": [6, 9, 13, 15, 18, 19, 22, 23, 28, 29, 30, 35, 36, 39, 44, 45, 46, 49, 52, 54, 59, 62, 64, 65, 67, 68, 77, 78, 79, 94], "decid": [6, 18, 19, 21, 30, 35, 50, 54, 66, 79], "infix": [6, 8, 19, 22, 41, 45, 46, 63, 68, 78], "print_str": [6, 10], "primari": [7, 30, 46, 64, 68, 69, 95], "primarili": [7, 8, 9, 46, 55, 73], "21": [7, 12, 30, 48, 76, 84, 91], "cryptic": 7, "overview": 7, "remain": [7, 8, 13, 33, 40, 46, 48, 50, 52, 54, 61, 62, 63, 66, 68, 77, 79, 90], "yai": 7, "mostli": [7, 14, 46, 90, 93], "recogniz": 7, "mod": [7, 15, 20, 41, 42, 53, 86], "divis": [7, 41, 45, 46, 75, 77], "modulu": 7, "60": [7, 30], "division_by_zero": 7, "modern": [7, 14, 17, 42, 46, 61, 65, 67, 72, 74, 84], "64": [7, 8, 30], "regist": [7, 45, 46, 64, 76], "stolen": 7, "63": [7, 8, 14, 20, 30], "int64": 7, "zarith": [7, 8], "purpos": [7, 16, 18, 20, 22, 45, 46, 61, 64, 66, 68, 70], "suffic": [7, 19, 20, 33, 76, 78, 79, 84], "offer": [7, 40, 42, 47, 51, 69, 79, 84, 92, 94], "ieee": 7, "754": 7, "dot": [7, 30, 35, 52, 63, 76, 84, 94], "deliber": [7, 16, 33, 42, 76], "overload": [7, 10, 84], "expect": [7, 8, 10, 13, 16, 20, 24, 33, 35, 36, 38, 39, 40, 42, 45, 46, 47, 54, 62, 63, 65, 66, 71, 75, 76, 78, 79, 80, 84, 91], "convert": [7, 8, 10, 13, 15, 16, 18, 20, 31, 32, 40, 41, 42, 44, 48, 51, 57, 77, 83, 84], "int_of_float": 7, "float_of_int": [7, 15, 42], "round": [7, 40], "300000000000000044": 7, "behavior": [7, 8, 9, 14, 16, 18, 21, 22, 24, 41, 45, 46, 52, 77, 79, 84, 91, 94], "encount": [7, 45, 47, 50, 63, 66, 73, 75, 76, 85, 90, 91], "bool": [7, 8, 10, 13, 14, 15, 18, 20, 22, 25, 28, 30, 31, 37, 41, 42, 46, 47, 50, 52, 53, 54, 55, 63, 65, 66, 68, 75, 76, 78, 79, 80, 84, 88, 91], "circuit": [7, 41, 66, 67], "char": [7, 20, 52, 77, 79, 84], "quot": [7, 8, 41, 94], "iso": 7, "8859": 7, "latin": 7, "encod": [7, 16, 64, 68, 91], "half": [7, 41, 51, 73], "char_of_int": 7, "int_of_char": 7, "abc": [7, 54], "concaten": [7, 28, 45, 46, 54, 57], "def": [7, 58], "abcdef": 7, "orient": [7, 8, 9, 23, 69, 79, 80, 81, 82, 84, 85, 93], "overrid": [7, 42, 82], "tostr": [7, 10, 18, 33, 76, 77], "__str__": 7, "string_of_float": [7, 83], "string_of_bool": 7, "strang": [7, 8, 27, 46, 63, 79, 84, 91], "string_of_char": 7, "accomplish": [7, 30, 42, 64, 66, 79, 83], "int_of_str": [7, 25, 65], "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, 46, 50, 62, 65, 66, 75, 84], "inequ": 7, "tricki": [7, 28, 40, 66, 79, 91], "curiou": [7, 76, 84], "yourself": [7, 8, 9, 10, 12, 14, 17, 20, 22, 30, 33, 41, 42, 46, 47, 48, 71, 74, 77, 91, 93, 94], "e3": [7, 8, 61, 63, 65, 66, 68, 87], "boo": 7, "anywher": [7, 8, 30, 38, 62, 63, 66, 73, 93], "ternari": [7, 50, 61, 62, 68], "pleasant": [7, 23, 30, 48, 56, 78], "e4": [7, 8, 63], "e5": 7, "e6": 7, "en": [7, 8, 27, 30, 35, 62, 66, 87, 91], "mandatori": [7, 8, 35, 84, 87], "regardless": [7, 13, 28, 30, 42, 45, 46, 66, 77, 80, 91, 94], "omit": [7, 8, 12, 16, 18, 25, 30, 42, 45, 66, 75, 76, 78, 84, 89, 94], "inscrut": 7, "letter": [7, 8, 17, 34, 39, 63, 65, 68, 75, 84, 86], "metavari": [7, 8, 11, 30, 65, 67], "certain": [7, 9, 19, 21, 40, 45, 46, 66, 68, 76, 85, 89], "curious": 7, "compact": [7, 52], "notat": [7, 19, 22, 28, 30, 35, 42, 45, 48, 61, 62, 65, 66, 68], "colon": [7, 30, 35, 63, 84], "pronounc": [7, 8, 10, 12, 25, 30, 45, 62, 76], "usag": [7, 8, 9, 27, 32, 41, 45, 62, 73, 76, 88], "consist": [7, 8, 9, 12, 55, 61, 63], "respond": [7, 46, 84], "43": [7, 8, 30, 66, 79, 91], "24": [7, 30, 45, 47, 76], "11": [7, 8, 28, 30, 36, 41, 42, 44, 49, 76, 78, 79, 84, 85, 86], "On": [7, 18, 30, 40, 41, 45, 54, 66, 76, 80, 91, 94], "bodi": [7, 8, 10, 11, 16, 25, 27, 34, 41, 45, 48, 57, 61, 62, 63, 64, 66, 68, 79, 80, 84, 87, 91], "implicitli": [7, 8, 13, 14, 16, 32, 63, 85], "seri": [7, 14, 40, 41, 88], "idiomat": [7, 8, 9, 10, 30, 35, 39, 76, 84, 91], "begin": [7, 8, 10, 11, 12, 13, 16, 22, 30, 32, 33, 36, 39, 41, 47, 48, 52, 54, 59, 64, 65, 66, 68, 74, 76, 78, 80, 83, 84, 85, 91, 92], "snake_cas": [7, 84], "camelcas": [7, 84], "v1": [7, 8, 30, 34, 35, 42, 61, 62, 66, 78, 87, 90, 91], "v2": [7, 30, 34, 42, 61, 62, 66, 87, 90, 91], "clariti": [7, 16, 18, 54, 58, 66], "inferenc": [7, 63, 67], "meaning": [7, 8, 42, 64, 84], "overlap": [7, 39, 44, 46], "darn": 7, "confus": [7, 9, 16, 30, 46, 63, 65, 76, 83, 84, 91], "ambigu": [7, 64, 78], "pronoun": 7, "guess": [7, 8], "principl": [7, 15, 19, 23, 32, 44, 45, 54, 57, 59, 61, 63, 66, 69, 70, 80, 84, 91, 94], "irrelev": [7, 8, 35, 47, 61, 66, 91], "shouldn": [7, 54, 61, 91, 94], "align": [7, 22, 81], "commonli": [7, 8, 35, 61, 68, 84], "alpha": [7, 8, 76, 77], "renam": [7, 45, 54, 69], "convers": [7, 8, 10, 18, 51, 63, 76, 91], "histor": [7, 53, 79], "unimport": 7, "embed": [7, 46, 93, 95], "shadow": [7, 61, 62, 63, 64, 66, 84], "old": [7, 17, 25, 30, 35, 46, 54, 61, 64, 68, 71, 78, 79, 82, 94], "metaphor": [7, 8, 12, 32, 41, 45, 51, 80], "cast": [7, 64, 84], "eventu": [7, 8, 17, 19, 41, 42, 45, 46, 56, 57, 63, 65, 66, 72, 78], "reappear": 7, "reced": 7, "mutabl": [7, 19, 23, 25, 30, 42, 46, 47, 49, 57, 66, 73, 74, 78, 87, 88, 92], "transcript": [7, 46], "22": [7, 12, 25, 30, 46, 54, 62, 63, 67, 84, 94], "worth": [7, 14, 42, 71, 94, 95], "mutat": [7, 35, 42, 46, 63, 87, 88, 90, 91, 92], "summar": 7, "immut": [7, 15, 30, 42, 71, 73, 74, 78, 89, 92], "superfici": [7, 13], "27": [7, 30, 33, 45, 54, 67], "debug": [7, 8, 11, 16, 18, 23, 32, 45, 65, 71, 78], "forgotten": [7, 58, 84], "cannot": [7, 8, 13, 16, 18, 27, 32, 41, 45, 46, 47, 48, 62, 63, 66, 68, 71, 73, 76, 79, 84, 86, 87, 90, 92], "tri": [7, 8, 34, 40, 72, 79, 91], "clear": [7, 8, 16, 21, 33, 37, 45, 47, 53, 63, 78, 81, 83, 93], "silli": [7, 73], "techniqu": [7, 8, 17, 19, 20, 22, 23, 24, 40, 42, 43, 44, 45, 49, 50, 60, 64, 80, 81], "awai": [7, 8, 10, 16, 17, 18, 25, 40, 46, 54, 57, 63, 66, 80, 82, 86, 91, 94], "receiv": [8, 21, 33, 46, 65, 71, 72, 84, 91], "keyword": [8, 9, 12, 25, 27, 28, 30, 32, 33, 46, 48, 52, 54, 62, 64, 65, 68, 78, 79, 83, 84, 87, 91], "self": [8, 38, 44, 65, 84], "quibbl": 8, "distinct": [8, 14, 18, 30, 35, 44, 64, 79, 81, 82, 84, 94], "procedur": [8, 47, 63, 73, 94], "background": [8, 46, 93], "terminolog": [8, 23, 24, 46, 63], "strictli": [8, 10, 30, 32, 33, 41, 52, 55, 63, 66, 77, 79], "group": [8, 45, 64, 65, 82, 93], "titl": [8, 95], "scheme": [8, 20, 35, 47, 63, 67, 69], "factori": [8, 13, 19, 57, 76, 91], "limit": [8, 20, 46, 64, 73, 77, 84, 85, 89], "architectur": 8, "grown": 8, "garbag": [8, 70, 73], "collector": [8, 53, 57], "runtim": [8, 30, 63], "steal": 8, "flag": [8, 14, 18], "pow": [8, 66], "solv": [8, 13, 22, 28, 37, 41, 42, 44, 47, 54, 62, 66, 76, 79, 80, 94], "algorithm": [8, 16, 19, 37, 40, 41, 44, 46, 47, 49, 50, 54, 59, 62, 63, 67, 69, 75, 77, 90], "ourselv": [8, 14, 17, 19, 20, 25, 40, 46, 57, 76, 81, 84, 89, 91], "mental": [8, 61, 63], "deduct": [8, 19, 52], "particularli": [8, 14, 16, 24, 25, 33, 42, 74, 91], "x1": [8, 15, 19, 25, 34, 61, 66, 78, 88], "x2": [8, 19, 25, 34, 61, 66, 78], "xn": [8, 15, 34, 78, 88], "augment": [8, 45, 64, 66, 84], "week": [8, 17, 40], "mutual": [8, 11, 25, 31, 36, 37, 81, 84], "y1": [8, 25], "yn": 8, "odd": [8, 9, 15, 20, 31, 52, 53, 84], "u": [8, 18, 22, 25, 34, 41, 46, 48, 62, 83], "tn": [8, 25, 34, 35], "scope": [8, 16, 33, 62, 64, 66, 67, 68, 79, 80, 82, 85, 86, 91], "e0": [8, 34, 87], "vn": [8, 30, 35, 42, 78, 91], "vi": [8, 30, 35, 78, 87], "xi": [8, 34], "essenc": [8, 19, 56, 62, 70, 73], "imagin": [8, 16, 17, 33, 42, 45, 46, 47, 48, 55, 58, 91], "depict": [8, 18], "triangl": 8, "sent": [8, 17, 46], "36": [8, 30, 84, 91], "nice": [8, 30, 45, 63, 78, 79, 84], "arguabl": [8, 16, 29, 35, 80, 83], "eleg": [8, 47, 52, 71], "ey": [8, 30, 45], "jump": [8, 64], "move": [8, 18, 24, 30, 33, 46, 47, 48, 57, 62, 78, 84], "linearli": 8, "grow": [8, 19, 40, 42], "1444": 8, "weird": [8, 65, 83], "chain": [8, 10, 19, 41, 46, 49], "stand": [8, 12, 19, 30, 54, 57, 63, 72, 91], "typic": [8, 14, 16, 23, 42, 46, 64, 65, 66, 68, 76, 87, 91, 93, 94], "greek": [8, 20, 25, 68], "beta": 8, "gamma": [8, 68], "bigr": [8, 28, 84, 86], "morph": [8, 25], "id_int": 8, "took": [8, 18, 22, 24, 40, 69, 78, 91], "promis": [8, 21, 41, 43, 45, 49, 91], "thrown": [8, 21], "lost": [8, 17, 78], "broken": [8, 14, 16, 18, 33, 62, 91], "someon": [8, 16, 17, 55, 63], "potenti": [8, 10, 24, 32, 39, 40, 46, 49, 57, 78, 83, 84, 94], "instanti": [8, 19, 63, 64, 67, 79, 84], "mechan": [8, 27, 46, 81, 82, 85], "unappli": 8, "backward": [8, 53, 57], "among": [8, 42, 46, 63, 64, 71, 73, 82], "first_int": 8, "bad_first": 8, "19": [8, 27, 30, 45, 84], "compat": [8, 45, 65, 76, 80, 84], "substr": 8, "consult": [8, 18, 28, 40], "name1": 8, "arg1": 8, "name2": 8, "arg2": 8, "shorthand": 8, "tast": [8, 71], "convei": [8, 76], "clutter": [8, 63], "explicit": [8, 16, 34, 57, 84], "addx": [8, 79], "add5": 8, "multi": [8, 30, 44], "readi": [8, 22, 27, 46, 63, 75, 94], "breath": 8, "t3": [8, 41, 51, 63], "t4": 8, "implicit": [8, 54, 63, 67], "intuit": [8, 13, 30, 45, 46, 48, 54, 62, 66, 78, 83, 84, 91], "grab": [8, 94], "prefix": [8, 20, 22, 39, 41, 48, 63, 68, 84, 91, 94], "add3": 8, "unnecessari": [8, 30, 58], "bewar": [8, 25, 59], "pars": [8, 35, 45, 46, 60, 62, 63, 64, 66, 68, 83, 84, 91], "max": [8, 15, 28, 32, 44, 50, 52], "punctuat": [8, 9, 50, 64], "preced": [8, 15, 30, 62, 65, 67], "seemingli": [8, 84], "uninterest": 8, "100_000": 8, "100000": 8, "stack": [8, 18, 19, 27, 28, 36, 43, 45, 46, 48, 57, 64, 65, 76, 79, 84], "issu": [8, 12, 18, 20, 24, 30, 47, 56, 76, 77, 86, 93, 94], "introductori": [8, 69, 71, 93], "store": [8, 12, 30, 40, 41, 42, 44, 46, 47, 48, 56, 63, 64, 77, 79, 87, 91, 94], "local": [8, 18, 21, 23, 33, 36, 47, 80, 81, 84, 85, 93], "push": [8, 13, 16, 22, 42, 45, 65, 75, 76, 78, 79, 84, 90], "pop": [8, 13, 45, 65, 75, 76, 78, 79, 84, 90], "success": [8, 15, 17, 23, 41], "eat": [8, 40], "harm": 8, "count_forev": 8, "sake": [8, 31, 48, 57, 61, 68, 76], "manifest": [8, 48], "1977": [8, 30, 59, 69], "gui": [8, 23, 46, 93, 94], "steel": 8, "cooper": [8, 46, 49], "trick": [8, 16, 19, 40, 91], "count_aux": 8, "acc": [8, 19, 22, 30, 37, 42, 50, 53, 54, 57, 76], "count_tr": 8, "almost": [8, 16, 19, 29, 80, 90], "accumul": [8, 15, 16, 17, 19, 22, 33, 37, 40, 41, 54, 59], "arriv": 8, "somewher": [8, 14], "tr": 8, "minut": [8, 63, 93], "went": [8, 19, 27, 54, 61, 72, 93, 94], "effort": [8, 16, 33, 42, 94], "frame": [8, 36], "reus": [8, 72, 77, 79, 80, 82, 85], "finish": [8, 13, 14, 15, 19, 33, 40, 41, 46, 47, 48, 65, 66, 91, 94], "wast": [8, 14, 30, 42, 44, 58], "recycl": 8, "beyond": [8, 9, 17, 24, 30, 35, 36, 42, 48, 73, 93, 94], "suitabl": [8, 64, 80], "calle": 8, "deal": [8, 13, 16, 42, 46, 54, 63, 65, 66, 76], "reduc": [8, 13, 14, 42, 44, 63, 66, 77, 78], "1_000_000": [8, 30], "1000000": 8, "patholog": 8, "fixat": 8, "upon": [8, 16, 21, 22, 42, 45, 46, 65, 66, 69, 76, 79, 93], "draft": 8, "rethink": 8, "iter": [8, 13, 15, 23, 28, 42, 46, 59, 77, 78, 79, 87], "thousand": [8, 25], "inde": [8, 10, 13, 19, 20, 29, 35, 45, 46, 57, 61, 63, 64, 66, 72, 84, 91], "notabl": [8, 9, 48], "recip": [8, 16], "nutshel": 8, "main": [8, 9, 16, 24, 41, 46, 57, 61, 62, 65, 66, 76], "ingenu": 8, "fact_aux": [8, 76], "fact_tr": [8, 19], "exercis": [8, 13, 14, 23, 54, 93], "suffer": [8, 63], "50": [8, 30, 48, 77], "3258495067890909184": 8, "hopefulli": [8, 17, 67, 78, 85, 94], "along": [8, 9, 13, 14, 17, 19, 20, 25, 33, 41, 45, 47, 50, 63, 65, 70, 76, 82, 93, 94], "top": [8, 12, 13, 15, 46, 47, 58, 76, 79, 80, 84, 90, 93, 94], "zfact_aux": 8, "pred": [8, 31], "mul": [8, 77], "zfact_tr": 8, "of_int": [8, 77], "30414093201713378043612608166064768844377641568960512000000000000": 8, "symbol": [8, 12, 42, 64, 65, 67, 68, 91], "comparison": [8, 13, 22, 41, 48, 76, 78, 79, 93], "predecessor": 8, "subtract": [8, 45, 54, 64, 79], "dive": [9, 49, 55, 60, 65, 84], "talk": [9, 16, 18, 30, 63, 65, 81, 84, 91], "secondari": 9, "skill": [9, 64, 69], "five": [9, 28, 62, 93], "essenti": [9, 14, 17, 22, 33, 37, 42, 46, 53, 60, 78, 79, 81, 82, 90, 91, 94], "textual": [9, 86], "whitespac": [9, 12, 64, 65, 84], "annoi": [9, 10, 16, 80, 86], "accept": [9, 12, 18, 45, 63, 65, 68, 84, 86], "wish": [9, 94], "unusu": [9, 27, 91], "apl": 9, "keyboard": [9, 46, 61, 68, 94], "newlin": [9, 10, 46], "speak": [9, 40, 66, 74], "plural": 9, "singular": 9, "legal": [9, 25, 35, 39, 61, 76, 78, 91], "challeng": [9, 12, 13, 17, 23, 41, 46, 59, 60, 63, 76, 79, 93], "hurdl": 9, "overcom": 9, "approach": [9, 13, 14, 16, 18, 19, 23, 24, 46, 63, 69, 70], "fluent": 9, "mode": [9, 41, 69], "paradigm": [9, 11, 46], "bundl": [9, 71, 79], "lazi": [9, 41, 43, 44, 49], "virtu": [9, 78, 83], "core": [9, 22, 25, 27, 45, 46, 59, 62, 63, 73, 78, 82], "unabl": [9, 45], "integr": 9, "appar": [9, 18, 42, 57, 71, 75, 85], "exposur": [9, 74], "ounit": [9, 14, 15, 20, 28, 29, 79, 86], "framework": [9, 29, 30, 33, 46, 79], "junit": [9, 33], "hunit": [9, 33], "besid": [9, 55, 64, 94], "abil": [9, 16, 17, 20, 21, 36, 46, 56, 73, 75, 78, 80], "print_char": 10, "print_float": 10, "bae": [10, 46, 93], "undon": 10, "boilerpl": [10, 45], "discard": [10, 33, 78], "surround": [10, 30, 63, 64, 84], "warn": [10, 12, 21, 25, 27, 30, 62, 65, 91, 94], "truli": [10, 20, 28, 34, 47, 68], "intent": [10, 15, 16, 17, 23], "statist": [10, 20, 41, 42], "print_stat": 10, "num": 10, "print_newlin": [10, 57], "84": [10, 30], "39": [10, 30, 35, 80, 91], "shorten": 10, "println": [10, 45], "inherit": [10, 17, 79, 80, 82], "fortran": [10, 70, 84], "invent": [10, 14, 15, 17, 19, 32, 33, 42, 44, 45, 46, 47, 63, 66, 68, 77, 78, 79, 84, 91], "plain": [10, 25], "dozen": 10, "apart": [10, 30, 72], "content": [10, 32, 41, 45, 46, 57, 69, 75, 76, 78, 86, 87, 90, 91, 93], "flush": 10, "onc": [10, 15, 18, 19, 20, 22, 27, 28, 30, 40, 41, 42, 44, 45, 46, 48, 52, 54, 55, 63, 64, 66, 68, 69, 76, 77, 78, 81, 84, 85, 87, 91, 93], "sit": [10, 63], "detect": [10, 12, 15, 18, 24, 30, 63, 66, 73, 94], "34": [10, 28, 30, 48, 79, 80], "37": [10, 30, 80], "sprintf": [10, 45, 77], "collect": [10, 14, 18, 20, 25, 37, 45, 50, 53, 57, 62, 63, 65, 70, 73, 79, 84], "string_of_stat": 10, "throughout": [11, 21, 25, 55, 63, 66, 67, 73, 76, 93], "deepen": 11, "pipelin": [11, 30, 52, 55, 59, 78, 84], "caml": [11, 36, 49, 59, 72, 74, 85, 92], "music": [11, 46], "javascript": [11, 46, 63], "cute": 11, "anim": [11, 63], "disnei": 11, "song": [11, 69], "interfac": [12, 13, 15, 18, 20, 21, 41, 42, 45, 46, 73, 75, 76, 77, 78, 79, 80, 81, 82, 85, 90, 91, 93, 94], "jshell": [12, 53, 57, 76], "handi": 12, "reliant": 12, "repl": 12, "eval": [12, 13, 15, 94], "press": [12, 41, 46, 49, 78, 85, 94], "exit": [12, 20, 41, 46, 64], "kei": [12, 15, 20, 24, 26, 28, 41, 42, 44, 46, 47, 49, 52, 61, 73, 77, 78, 81, 84], "dissect": 12, "infrastructur": [12, 46], "translat": [12, 13, 64, 66], "pdf": [12, 74, 93], "indent": [12, 46, 62, 76], "view": [12, 18, 22, 46, 76, 78, 81, 84, 93, 94], "md": 12, "myst": [12, 93], "markdown": [12, 93], "stai": [12, 40], "dear": [12, 77], "arrow": [12, 63, 66, 79, 90, 94], "visual": [12, 14, 18, 46, 93], "amen": 12, "placehold": [12, 91], "unprint": [12, 76], "vocabulari": [12, 22, 24], "strategi": [12, 42, 48, 62, 64, 66], "mycod": 12, "unbound": [12, 16, 33, 35, 48, 63, 64, 66, 68, 76, 79, 80, 84, 86], "incr": [12, 46, 66, 86, 91], "skip": [12, 15, 45, 65, 66, 68, 94], "bug": [12, 14, 15, 16, 18, 19, 21, 23, 24, 30, 32, 33, 46, 66, 73], "tempt": [12, 16, 17, 20, 24, 57, 63, 73, 75, 79, 84], "resist": 12, "temptat": 12, "stale": 12, "tackl": 13, "proof": [13, 17, 19, 22, 23, 24, 30, 46, 72], "analog": [13, 46, 47, 48, 64, 76, 82, 84, 88], "complex": [13, 16, 18, 24, 38, 40, 46, 49, 73, 77, 78, 81, 82], "effici": [13, 15, 18, 19, 26, 28, 30, 31, 40, 41, 42, 43, 47, 48, 49, 52, 53, 55, 57, 58, 61, 63, 66, 77, 78, 89, 91, 92], "map": [13, 15, 18, 25, 26, 28, 29, 35, 39, 41, 43, 45, 48, 49, 52, 53, 54, 55, 58, 59, 61, 63, 64, 68, 73, 77, 84, 85, 87, 88], "balanc": [13, 16, 21, 47, 52, 63, 65, 69, 78, 79], "binari": [13, 19, 22, 28, 36, 37, 41, 42, 44, 50, 61, 63, 64, 65, 66, 68, 77, 78, 79], "pursu": [13, 83], "equat": [13, 15, 22, 23, 45, 55, 63, 83], "school": [13, 63], "sig": [13, 14, 15, 18, 20, 41, 42, 44, 45, 46, 48, 68, 75, 76, 77, 78, 79, 80, 83, 84, 86, 90], "is_empti": [13, 15, 75, 76, 78, 79, 84], "peek": [13, 33, 45, 75, 76, 78, 79, 84, 90], "cautious": 13, "relax": [13, 15, 41, 65, 78, 91], "prohibit": 13, "alon": [13, 66, 94], "chosen": [13, 20, 66, 84], "liststack": [13, 75, 76, 78, 79, 84], "struct": [13, 14, 18, 29, 35, 41, 42, 44, 45, 46, 48, 68, 75, 76, 77, 78, 79, 80, 83, 84, 86, 90], "hd": [13, 27, 28, 30, 41, 48], "con": [13, 15, 18, 25, 26, 30, 36, 37, 40, 41, 42, 48, 50, 54, 57, 75, 78, 79, 80], "tl": [13, 28, 30, 41, 48, 78], "front": [13, 17, 24, 26, 39, 57, 64, 67, 78, 86, 91, 94], "enq": 13, "deq": 13, "3a": 13, "3b": 13, "4a": 13, "4b": 13, "obvious": [13, 15, 16, 19, 48, 61, 65, 77, 91], "enqueu": [13, 40, 46, 77, 78], "dequeu": [13, 40, 77, 78], "listqueu": [13, 77, 78], "lemma": [13, 15, 19, 22], "xs": [13, 22, 30, 33], "ys": [13, 22], "qed": [13, 19, 22], "batchedqueu": [13, 77, 78], "af": [13, 14, 15, 18, 24, 42, 48, 88, 90], "rev": [13, 15, 20, 28, 48, 53, 54, 57, 78], "ri": [13, 14, 15, 18, 24, 41, 42, 46, 48, 88, 90, 91], "custom": [13, 18, 33, 76, 78, 84], "wait": [13, 33, 46, 63, 93], "got": [13, 14, 17, 33, 46, 48, 65], "abstractli": [13, 18, 42, 46, 81], "adopt": [13, 19, 46, 56, 63], "distribut": [13, 15, 41, 42, 47, 65, 73, 94], "unstuck": 13, "canon": [13, 23], "categor": [13, 15], "queri": [13, 15, 23, 42, 46], "subcas": [13, 63], "mem": [13, 14, 15, 18, 37, 47, 77, 78, 79, 80], "6a": 13, "6b": 13, "infeas": 14, "r1": [14, 27, 77, 91], "r2": [14, 77, 91], "q1": [14, 27, 40], "q2": [14, 40], "252": [14, 30], "nanosecond": 14, "59": [14, 30], "carefulli": [14, 16, 18, 24, 30, 33, 44, 46, 47, 72], "convinc": [14, 17, 24, 30, 47, 81], "correctli": [14, 18, 19, 20, 24, 27, 28, 42, 45, 46, 66, 91, 94], "126": [14, 30], "across": [14, 42, 48, 51, 73, 81], "whole": [14, 46, 47, 48, 60, 63, 94], "compris": 14, "fashion": [14, 46], "achiev": [14, 15, 30, 40, 42, 47, 50, 57, 73, 77, 78, 79, 80, 85], "coverag": [14, 15, 23], "surfac": [14, 94], "boundari": [14, 21, 23], "corner": [14, 18, 25, 27], "elicit": 14, "min_int": [14, 32], "max_int": 14, "quadrant": [14, 28], "evenli": 14, "advertis": 14, "list_max": [14, 28, 32], "spec": [14, 15, 16, 18, 21, 24], "realiz": [14, 16, 17, 25, 71], "middl": [14, 22, 48, 63, 64, 76], "arrang": [14, 42, 61], "ascend": 14, "accuraci": [14, 16], "signific": [14, 18, 63], "digit": [14, 65, 69], "consum": [14, 23, 93], "iff": [14, 47], "handl": [14, 16, 25, 27, 30, 33, 41, 45, 46, 47, 61, 63, 65, 66, 68, 76, 78, 79, 80], "unchang": [14, 19, 25, 34, 42, 47, 61, 66, 77, 78, 90], "white": [14, 65, 90], "condition": [14, 55], "unexecut": 14, "explor": [14, 30, 61, 94], "max3": 14, "trigger": [14, 15, 23, 24, 42], "absenc": [14, 19, 37, 73, 84], "against": [14, 22, 25, 27, 28, 30, 34, 45, 48, 50, 54, 57, 62, 63, 65, 66], "invari": [14, 15, 23, 28, 41, 44, 46, 47, 75, 77, 84], "rep": [14, 18, 23, 41, 42], "advantag": [14, 16, 18, 48, 54, 76], "parallel": [14, 46, 49], "rewritten": [14, 61, 84], "caught": [14, 18, 73], "disadvantag": [14, 16], "aid": [14, 94], "assess": 14, "bisect_ppx": [14, 94], "instrument": 14, "mainli": 14, "ppx": 14, "report": [14, 68, 73, 93], "merg": [14, 63, 79], "test_sort": 14, "skeleton": 14, "dune": [14, 20, 33, 41, 46, 65, 75, 77], "ounit2": [14, 20, 27, 33, 86, 94], "backend": 14, "bisectnnnn": 14, "newli": [14, 35, 42, 79, 86, 91], "_coverag": 14, "percent": 14, "uncom": 14, "tradeoff": [14, 40, 42, 57, 58, 78], "nondeterminist": [14, 46, 49, 91, 92], "affect": [14, 41, 42, 63, 71, 73, 78, 91], "runner": 14, "sequenti": [14, 45, 46, 49, 63], "ceas": 14, "game": [15, 46, 48], "deviou": [15, 16], "num_vowel": 15, "is_sort": [15, 20], "is_prim": 15, "is_palindrom": 15, "second_largest": 15, "depth": [15, 28, 50], "c_n": 15, "dotsb": [15, 40], "c_0": 15, "dens": 15, "coeffici": 15, "incomplet": [15, 16], "3x": [15, 40], "subvert": 15, "impl": [15, 80], "interv": [15, 42], "rep_ok": [15, 18], "to_str": [15, 18, 24, 77, 83], "install_print": [15, 76, 77, 83], "dictionari": [15, 18, 26, 29, 35, 36, 42, 49, 52, 61, 64, 66, 78, 79], "k": [15, 19, 22, 26, 40, 41, 42, 78], "heavi": [15, 76], "listset": [15, 18, 78, 79, 80], "glass": [15, 19, 23], "bisect": 15, "uniqlistset": [15, 18, 78, 79, 80], "qcheck": [15, 94], "gen": [15, 20, 66], "generate1": [15, 20], "length": [15, 16, 18, 20, 25, 28, 30, 40, 42, 44, 47, 48, 52, 54, 63, 73, 76, 77, 78, 84, 87], "is_even": [15, 20], "divisor": [15, 45, 77], "buggi": [15, 24, 25, 33], "odd_divisor": 15, "exceed": 15, "smallest": [15, 24], "avg": 15, "h1": [15, 20, 28, 48], "h2": [15, 20, 28, 44, 48], "exp": [15, 41], "induct": [15, 23, 30, 36, 66, 68], "fibi": 15, "prev": 15, "curr": 15, "expsq": 15, "strong": [15, 78], "redo": [15, 63, 94], "mult": [15, 65, 66, 68], "append": [15, 22, 30, 36, 52, 57, 65, 78], "nil": [15, 25, 30, 36, 37, 48, 50], "dist": 15, "revers": [15, 16, 20, 30, 40, 45, 53, 54, 57, 78, 86], "lst1": [15, 18, 22, 30, 53, 57, 91], "lst2": [15, 18, 22, 30, 53, 57, 91], "involut": [15, 20, 22], "reflect": [15, 22, 63, 70, 76, 80, 86], "leaf": [15, 22, 28, 36, 37, 41, 47, 50], "fold": [15, 18, 41, 52, 55, 59, 79, 87], "fold_left": [15, 16, 18, 22, 42, 50, 52, 54, 58, 87, 88], "fold_right": [15, 22, 50, 52, 54, 79, 80, 88], "commut": [15, 22, 23, 54], "concat": [15, 18, 28, 54], "concat_l": 15, "concat_r": 15, "proposit": [15, 66], "strikingli": 15, "bag": 15, "multiset": 15, "blend": [15, 64, 66, 70], "signatur": [15, 18, 20, 41, 46, 68, 75, 76, 77, 79, 80, 82, 83, 84, 85], "decreas": [15, 20, 28, 40], "began": [16, 69], "audienc": [16, 23, 75], "verbos": [16, 57, 63, 75, 84], "commun": [16, 17, 23, 46, 71, 72, 93], "ingredi": 16, "forget": [16, 25, 27, 28, 30, 46, 64, 66, 94], "sqr": 16, "accur": [16, 84, 86], "Its": [16, 18, 30, 42, 46, 59, 63, 79, 84], "wors": [16, 45, 47, 58, 80, 94], "0e": 16, "verbiag": 16, "plow": 16, "struck": 16, "breviti": 16, "partial": [16, 18, 19, 23, 25, 30, 45, 51, 54, 57, 63, 66, 80], "domain": [16, 18, 55, 64, 73], "straightforward": [16, 84, 93], "legitim": 16, "bad": [16, 18, 32, 40, 41, 42, 58, 78, 80, 89], "establish": [16, 17, 23, 24, 44, 47, 68, 89], "contract": [16, 21, 81], "burden": [16, 73], "onto": [16, 30, 40, 42, 48, 65, 76, 78, 84], "throw": [16, 44, 54, 91], "constraint": [16, 18, 25, 42, 62, 67, 85], "improperli": 16, "misbehav": 16, "recommend": [16, 74, 94], "tend": [16, 18, 24, 42, 66], "encourag": 16, "wrap": [16, 32, 40, 41, 45, 48], "complain": [16, 84], "silent": 16, "innumer": 16, "secur": [16, 20, 42, 73, 91], "met": [16, 21], "necess": 16, "distract": [16, 65], "illustr": [16, 40, 48, 76, 84, 91], "meet": [16, 22, 84], "refin": [16, 24], "settl": 16, "nth": [16, 28, 35, 41, 44, 48, 52], "her": [16, 57, 84], "advoc": [16, 24], "ruthless": 16, "561": 16, "quak": 16, "arena": 16, "engin": [16, 20, 23, 24, 63, 66, 79, 80, 93, 95], "shovel": 16, "wield": 16, "interspers": [16, 40], "necessari": [16, 18, 21, 30, 40, 41, 45, 63, 64, 66, 78, 79, 94], "pictur": 16, "paragraph": [16, 46, 78, 93, 94], "mark": [16, 47, 62, 64, 65, 79], "brief": [16, 20, 64, 84], "number_of_zero": 16, "the_list": 16, "list_el": 16, "emb": [16, 64], "is0": 16, "zs": [16, 22], "i_count": 16, "hover": [16, 94], "hope": [17, 50], "thought": [17, 27, 55], "bore": 17, "altogeth": [17, 46], "postpon": 17, "matur": 17, "ground": 17, "oppos": [17, 22], "head": [17, 21, 25, 28, 30, 32, 36, 40, 41, 48, 50, 53, 54, 57, 66, 78, 81], "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, 57, 79], "todai": [17, 69, 70], "clue": [17, 35], "breadcrumb": 17, "scientist": [17, 24, 46], "demand": [17, 48, 53], "arrog": 17, "humil": 17, "beings": 17, "amazingli": [17, 29, 54], "delud": 17, "echo": [17, 46, 69, 77], "chamber": 17, "media": 17, "demonstr": [17, 31, 40, 41, 48, 62, 78, 91], "ten": 17, "absolut": [17, 19, 24, 40, 41, 66], "weren": 17, "clever": [17, 46, 47, 48, 57, 78], "replic": [17, 18], "crucial": [17, 18, 23, 33, 40, 73, 78, 79, 81], "captur": [17, 62, 67], "craft": 17, "meanwhil": [17, 46, 57, 64], "critic": [17, 21, 24, 26, 94], "live": [17, 80, 93, 94], "intern": [18, 20, 44, 46, 54, 67, 75, 76, 95], "relev": [18, 65, 74], "inappropri": 18, "risk": 18, "evolv": [18, 46, 72, 73, 84], "sync": [18, 94], "categori": [18, 45, 50, 79], "aris": [18, 47, 77], "pure": [18, 19, 40, 45, 46, 47, 49, 78, 85, 89, 92], "item": [18, 37, 76, 79, 80, 83, 84], "unord": 18, "member": [18, 37, 47, 82, 86], "rem": 18, "minu": [18, 35, 40, 63, 65, 77], "cardin": [18, 35, 79], "s1": [18, 45, 46, 63, 79, 84], "s2": [18, 45, 46, 63, 84], "inter": [18, 30], "simplic": [18, 40, 78], "duplic": [18, 20, 41, 42, 45, 57, 65, 75, 77, 78, 79, 80], "filter": [18, 30, 41, 42, 52, 54, 55, 59, 79], "sort_uniq": [18, 42, 52, 78, 79, 80], "judg": [18, 30, 49], "rest": [18, 30, 33, 44, 45, 46, 61, 63, 64, 76, 78, 79, 80, 81, 90, 94], "lack": [18, 19, 76], "act": [18, 31], "ideal": 18, "invis": [18, 63], "belong": [18, 28, 75], "a1": [18, 41, 48, 52, 54, 63], "b1": [18, 41, 48], "bm": 18, "reinforc": 18, "redund": [18, 30, 33, 44, 64], "hypothet": [18, 45, 84], "readabl": [18, 54, 68, 78, 84], "conveni": [18, 27, 30, 47, 48, 54, 63, 64, 68, 73, 78, 79], "queue": [18, 43, 57, 77], "heap": [18, 46], "string_of_v": 18, "uniq": 18, "interior": [18, 47], "to_list": [18, 78, 90, 91], "formatt": [18, 76, 77, 83], "encapsul": [18, 45, 73, 77, 82, 83, 85], "usabl": [18, 76, 84], "programmat": 18, "obtain": [18, 41, 48, 62], "undefin": [18, 31], "preserv": [18, 47, 64, 67, 68, 79], "isol": [18, 81], "provabl": [18, 64], "incom": 18, "convent": [18, 30, 47, 76, 84], "outsid": [18, 41, 44, 63, 76, 80, 84, 86, 91], "saniti": 18, "copiou": 18, "creation": [18, 47, 87, 91], "compare_length": 18, "linearithm": [18, 52, 78, 80], "destroi": [18, 42], "previous": [18, 45, 50, 55, 63, 68, 76, 79, 91], "appropri": [18, 19, 41, 42, 50, 79, 84], "macro": 18, "reinstat": 18, "rep_ok_expens": 18, "codebas": 18, "noassert": 18, "disabl": [18, 46, 94], "portion": 18, "assur": [19, 24], "presenc": [19, 30], "edsger": 19, "w": [19, 25, 62, 66, 67, 91], "dijkstra": [19, 23], "useless": [19, 21], "premis": 19, "straightforwardli": 19, "41": [19, 30, 84, 91], "token": [19, 62, 64, 65, 67, 95], "axiom": [19, 77], "extension": [19, 23], "polymorph": [19, 28, 36, 67, 73, 76, 84, 91], "refus": 19, "compos": [19, 45, 46, 55, 59, 81], "composit": [19, 35, 42, 46, 49, 52, 63], "sumto": 19, "summat": [19, 35, 41, 54], "claim": [19, 22, 28, 46, 72, 78, 84], "algebra": [19, 22, 23, 29, 36, 38, 45, 59, 63, 73, 77, 78], "ih": [19, 22], "sumto_clos": 19, "corollari": 19, "se": 19, "elid": [19, 20, 54], "facti": [19, 22], "decrement": [19, 45, 87, 91], "unfortun": [2, 19, 20, 42, 45, 48, 66, 75, 78, 79], "neither": [19, 45, 47, 50, 54, 78, 89], "astrai": 19, "moment": [19, 40, 84], "f_r": 19, "op": [19, 22, 45, 54, 62], "meant": [19, 20, 30, 61, 66, 68, 76, 90, 91, 94], "f_i": 19, "f_tr": 19, "fact_i": 19, "held": [19, 47], "sumto_r": 19, "sumto_i": 19, "sumto_tr": 19, "thank": [19, 54], "halt": [19, 41], "smart": 19, "heurist": 19, "despit": [19, 78, 91, 94], "x0": 19, "x3": [19, 66], "finit": [19, 25, 41, 48, 64, 65, 87], "descent": 19, "bottom": [19, 58, 76, 79, 80, 94], "hit": [19, 34, 35], "reach": [19, 22, 27, 40, 41, 42, 46, 48, 62, 66, 68, 88], "ack": 19, "ackermann": 19, "famou": [19, 46], "lexicograph": 19, "fuzz": 20, "feed": 20, "behav": [20, 24, 41, 45, 46, 61, 62, 63, 76, 78, 85, 90], "believ": [20, 71, 73], "crash": [20, 91], "encrypt": [20, 45], "decrypt": [20, 45], "enigma": 20, "vulner": [20, 91], "digress": 20, "facil": 20, "unpredict": 20, "pseudorandom": [20, 41], "discern": [20, 68], "determinist": [20, 24, 49, 65, 91, 92], "seed": 20, "pseudo": 20, "pseud\u0113": 20, "prng": 20, "phrase": [20, 55, 77, 91], "44": [20, 28, 30], "85": [20, 30, 91], "82": [20, 30], "Not": [20, 40, 44, 90, 91], "eh": 20, "cryptographi": 20, "simul": [20, 41, 66, 79], "Their": [20, 47, 87], "get_stat": 20, "request": [20, 46, 48, 78, 86], "self_init": 20, "make_self_init": 20, "sampl": [20, 24, 88], "dev": 20, "urandom": 20, "97": [20, 30], "rand": 20, "suppli": [20, 76, 84], "small_int": 20, "int_rang": 20, "list_siz": 20, "small_str": 20, "randomli": [20, 42, 47, 94], "characterist": [20, 30, 55], "pseudorandomli": 20, "shrink": 20, "stat": [20, 41, 42], "qcheck2": 20, "abstr": [20, 42, 46, 75, 76, 78, 79, 83], "qcheck_runn": 20, "run_test": 20, "2k": 20, "93600085": 20, "1mfailur": 20, "0m": 20, "anon_test_1": 20, "printer": [20, 33, 76, 77, 83], "ran": [20, 33, 94], "run_tests_main": 20, "run_test_tt_main": [20, 27, 33], "to_ounit2_test": 20, "told": 20, "privat": [20, 46, 76, 80, 85, 93], "luckili": [20, 54], "list_of_s": 20, "my_test": 20, "double_check": 20, "1msuccess": 20, "drawn": 20, "rev_involut": 20, "uniformli": [20, 42], "nat": [20, 22, 31, 41, 48], "bias": 20, "small_nat": 20, "anon_test_4": 20, "mli": [21, 75, 77, 79], "spell": [21, 48], "blame": [21, 81], "misus": [21, 42, 75], "deliv": [21, 46], "feasibl": 21, "team": [21, 24, 73, 81, 82, 93], "everyon": [21, 46, 81], "agre": [21, 66, 84], "slip": 21, "crack": 21, "conflict": 21, "suffici": [21, 42], "research": [21, 24, 63, 74, 79], "misunderstand": 21, "decis": [21, 50, 84], "obsolet": 21, "modular": [21, 69, 82, 85], "hide": [21, 46, 49, 76, 81, 82, 85, 91], "disclos": 21, "modifi": [21, 23, 28, 33, 40, 44, 47, 76, 77, 80, 85, 88, 90, 91, 93], "reimplement": [21, 53], "enhanc": 21, "bottleneck": 21, "barrier": 21, "vice": [21, 31, 38, 42, 51, 84], "versa": [21, 31, 38, 42, 51, 84], "enforc": [21, 46, 47, 81], "promot": [21, 50], "hung": 22, "mismatch": [22, 66, 68, 76, 80, 84], "successor": [22, 31, 90], "forth": [22, 41, 42, 46, 55, 56, 75, 76, 78, 84], "unari": [22, 64, 83], "decim": 22, "trivial": [22, 26, 33, 41, 45, 46, 63], "concept": [22, 46, 65, 66, 84], "inner": [22, 30, 45, 76, 84], "outer": [22, 30], "interchang": [22, 79], "resum": [22, 94], "restart": [22, 46, 86], "succeed": [22, 48, 54, 80], "wasn": [22, 91], "fluke": 22, "subtre": [22, 37, 41, 44, 47, 50, 77, 79], "ih1": 22, "ih2": 22, "mirror": 22, "imag": 22, "styliz": 22, "expr": [22, 62, 65, 66, 68], "uop": 22, "uminu": 22, "bop": [22, 61, 63, 65, 66, 68], "bplu": 22, "bminu": 22, "bleq": 22, "unop": 22, "binop": [22, 65, 66, 68], "strike": [22, 63], "adt": [22, 47], "organiz": 22, "methodolog": [23, 24], "complementari": [23, 46], "orthogon": [23, 66], "hoar": [23, 32], "toni": [23, 32], "weakest": 23, "walkthrough": [23, 24], "diagram": [23, 28], "minim": [23, 24], "satisfact": 23, "barbara": [23, 69, 84], "liskov": [23, 69, 84], "john": [23, 49, 59, 65, 69], "guttag": [23, 69], "cousineau": 23, "michel": 23, "mauni": 23, "cambridg": [23, 49, 78], "1998": [23, 69], "paulson": 23, "1996": [23, 69], "richard": 23, "bird": 23, "2015": 23, "foundat": [23, 71, 85, 94], "volum": [23, 47], "benjamin": [23, 67, 85], "pierc": [23, 67, 85], "et": 23, "al": 23, "http": 23, "softwarefound": 23, "ci": 23, "upenn": 23, "edu": [23, 94], "robert": [23, 78, 85, 95], "mccloskei": 23, "www": 23, "scranton": 23, "mcclosk": 23, "se507": 23, "alg_specs_lec": 23, "theori": [23, 35, 45, 50, 55, 59, 61, 63, 65, 67, 71, 79], "shari": 23, "lawrenc": 23, "pfleeger": 23, "joann": 23, "atle": 23, "prentic": 23, "hall": 23, "kenneth": 23, "slonneg": 23, "barri": 23, "kurtz": 23, "addison": [23, 59], "weslei": [23, 59], "1995": [23, 70], "muffi": 23, "thoma": 23, "david": [23, 78], "watt": 23, "ehrig": 23, "mahr": 23, "springer": 23, "verlag": 23, "1985": 23, "treatment": [23, 67, 85], "inspir": [23, 40, 50, 66, 77], "indebt": [23, 55, 59], "materi": [23, 69, 93], "princeton": [23, 42], "co": [23, 69, 94], "326": 23, "walker": 23, "confid": 24, "assist": [24, 59], "coder": 24, "hurt": 24, "drive": 24, "prepar": [24, 66, 70], "beforehand": [24, 94], "qualiti": 24, "blameless": 24, "role": [24, 81], "devil": 24, "clearer": [24, 45, 46, 58, 80], "shorter": [24, 30, 42, 57, 66, 76], "partner": 24, "trade": 24, "conduct": 24, "fagan": 24, "1976": 24, "thorough": 24, "75": [24, 30, 41, 42], "inspector": 24, "li": [24, 73], "valuabl": 24, "concurr": [24, 41, 43, 49, 73], "subtl": [24, 35, 47, 48, 57], "increasingli": 24, "emul": 24, "significantli": [24, 59, 65], "cheaper": 24, "wander": 24, "discoveri": [24, 63, 74], "refut": 24, "crux": 24, "experiment": 24, "afraid": 24, "invalu": 24, "slap": 24, "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, 47, 62, 73], "center": [25, 47], "rect": 25, "rectangl": [25, 26], "pi": [25, 30, 34, 35, 75, 78, 84], "y2": 25, "underli": [25, 35, 40, 42, 46, 54, 65, 66, 79, 80, 84, 93, 94], "tupl": [25, 29, 30, 36, 51, 62, 66, 87], "string_or_int": 25, "string_or_int_list": 25, "lst_sum": 25, "discrimin": 25, "double_right": 25, "c1": [25, 39, 44, 48, 63], "cn": [25, 39], "ti": [25, 34, 35, 69], "blue": [25, 84], "string_of_color": 25, "green": [25, 84], "sudden": 25, "blind": 25, "wildcard": [25, 30, 36, 62], "robust": [25, 30, 54, 78], "life": [25, 62, 70], "alert": 25, "intlist": 25, "lst3": [25, 91], "lst123": 25, "mylist": [25, 37, 48, 50], "synonym": [25, 28, 36, 41, 45, 77, 79, 80], "cyclic": [25, 91], "circular": 25, "lst_hi": 25, "parametr": [25, 36, 63, 73], "perfectli": [25, 63, 84], "constrain": [25, 83], "occasion": [25, 40], "infti": 25, "fin_or_inf": 25, "infin": 25, "downsid": [25, 58], "backquot": 25, "neginfin": 25, "steer": 25, "nonagon": 26, "icosagon": 26, "bother": [26, 63, 78], "recent": [26, 43, 56, 61, 78, 94], "assoc": [26, 28, 42, 68, 78], "assoc_opt": [26, 42], "exn": [27, 28, 41, 46], "catch": [27, 32, 33, 36, 41], "pn": [27, 30, 34, 35, 62], "pun": [27, 46], "packet": [27, 36], "oop": [27, 48, 84], "subexpress": [27, 35, 54, 57, 62, 63, 66, 68], "offici": [2, 27], "nuanc": 27, "stipul": [27, 45, 75], "forgiven": 27, "propag": [27, 45, 46], "match_failur": [27, 30, 34], "qn": [27, 40], "subsequ": [27, 48], "rn": 27, "qm": 27, "em": 27, "assert_rais": 27, "exc": [27, 46], "succe": [27, 30, 33, 34, 49, 64, 66, 79, 86], "thunk": [27, 43, 48, 49], "suspend": [27, 43, 48], "delai": [27, 41, 46, 48, 49, 63, 77, 84], "typecheck": [27, 68], "fifth": [28, 65, 94], "any_zero": 28, "drop": [28, 48, 63, 93], "revis": [28, 33, 37, 45, 62, 63, 69, 76], "unimod": 28, "is_unimod": 28, "monoton": 28, "segment": 28, "powerset": 28, "print_int_list": 28, "first_nam": 28, "last_nam": 28, "gpa": [28, 88], "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, 69], "era": [28, 71], "is_befor": 28, "januari": 28, "februari": [28, 70], "leap": 28, "earliest": [28, 30, 69], "card": 28, "deck": 28, "rank": 28, "jack": 28, "queen": 28, "king": 28, "ac": [28, 84], "club": 28, "diamond": 28, "seven": 28, "spade": 28, "borrow": 28, "wikipedia": 28, "lie": 28, "axi": [28, 47], "quad": [28, 40, 52, 55], "iii": [28, 94], "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, 48, 63], "couldn": [29, 76, 79, 89], "null": [29, 32, 91], "behind": [29, 45, 48, 61, 70, 73, 76, 93], "singli": [30, 35, 36, 57, 78], "statu": [30, 84], "mainstream": [30, 56, 70, 71, 79, 93], "elt": [30, 54], "prepend": [30, 36, 48], "truct": 30, "verb": 30, "sweeter": 30, "desugar": [30, 35, 36, 62, 66, 67], "consequ": [30, 63], "ei": [30, 35, 87], "uh": 30, "fit": [30, 66], "inc_first": 30, "proportion": 30, "saw": [30, 41, 44, 45, 59, 63, 64, 75, 78, 79, 83, 84], "vertic": 30, "illeg": [30, 66], "expand": [30, 93], "b_1": 30, "b_2": 30, "cup": [30, 71], "b_i": [30, 35], "bigcup_i": [30, 35], "justif": 30, "ta": [30, 69], "tb": 30, "emit": 30, "defend": 30, "cell": [30, 46, 91, 92, 93], "split": [30, 76, 78, 79], "jupyterbook": 30, "unus": [30, 42, 66], "latent": 30, "length_i": 30, "face": [30, 46, 75], "highlight": [30, 93, 94], "typeset": [30, 68, 93], "npl": 30, "caller": [30, 32], "sum_tr": 30, "sum_plus_acc": 30, "entail": 30, "post": [30, 75, 93], "medium": [30, 36], "overhead": [30, 64], "long_list": 30, "16": [30, 40, 41, 42, 44, 62, 84, 85], "23": [30, 41], "26": [30, 33, 79, 84], "35": [30, 79, 84], "40": [30, 95], "45": [30, 33, 46], "46": 30, "47": [30, 76], "48": 30, "49": 30, "51": 30, "53": 30, "54": 30, "55": [30, 48], "56": 30, "57": 30, "58": 30, "61": 30, "66": [30, 76], "67": 30, "68": 30, "69": 30, "70": 30, "71": 30, "72": 30, "73": 30, "74": 30, "76": 30, "77": 30, "79": 30, "80": [30, 72, 94], "81": 30, "83": [30, 33], "86": 30, "87": 30, "88": 30, "90": [30, 65], "91": 30, "92": 30, "93": 30, "94": 30, "95": 30, "96": 30, "98": 30, "99": 30, "101": 30, "102": 30, "103": 30, "105": 30, "106": 30, "107": 30, "108": 30, "109": 30, "110": [30, 62, 66], "111": 30, "112": 30, "113": 30, "114": 30, "115": 30, "116": 30, "117": 30, "118": 30, "119": 30, "120": [30, 91], "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, 79], "138": 30, "139": 30, "140": 30, "141": 30, "142": 30, "143": 30, "144": 30, "145": 30, "146": 30, "147": 30, "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, "201": 30, "202": 30, "203": 30, "204": 30, "205": 30, "206": 30, "207": 30, "208": 30, "209": 30, "210": 30, "211": [30, 69], "212": [30, 69], "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, "init": [30, 54, 76, 88, 94], "len": 30, "succ": [31, 63], "versu": [31, 42, 57], "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, 46, 49], "unconstrain": 32, "habit": [32, 40, 94], "workflow": 33, "assert_equ": [33, 79], "singleton": [33, 79], "two_el": 33, "configur": [33, 42, 61, 67, 94], "disappear": [33, 46, 61], "rebuild": 33, "fff": 33, "01": [33, 41], "ounitassert": 33, "assert_failur": 33, "src": [33, 65], "lib": 33, "advanc": [33, 35, 40, 42, 49, 63, 70, 73, 74, 76, 78, 79, 85, 87, 94], "ounitrunn": 33, "run_one_test": 33, "ail": 33, "onetwo": 33, "label": [33, 47, 62], "tester": 33, "make_sum_test": 33, "expected_output": 33, "ahead": [33, 42, 46, 63, 72, 94], "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, 63, 68, 78], "liter": [34, 46, 65, 76], "ch1": 34, "ch2": 34, "ch": 34, "uppercas": [34, 39, 84], "get_hp": 34, "thrd": 34, "quadrupl": [34, 55], "great": [35, 42, 45, 54, 60, 61, 66, 70, 73, 74, 77, 78, 91, 92, 94], "pok\u00e9": 35, "namespac": [35, 82, 84, 85, 86], "charmand": 35, "f1": [35, 48], "fn": 35, "fi": 35, "hash": [35, 41, 43, 44, 47, 49, 78, 92], "g1": 35, "gn": 35, "gi": 35, "disjoint": 35, "sigma": 35, "cartesian": 35, "lightweight": [36, 46], "lengthi": [36, 84], "exploit": [36, 55, 80], "workhors": 36, "theoret": 36, "driven": 36, "child": [37, 47, 50], "sublist": [37, 53], "travers": [37, 41, 54, 78], "preorder": [37, 41, 50], "beautifulli": 37, "quadrat": [37, 40, 41, 57, 77, 80], "unbalanc": [37, 41, 47], "preorder_lin": 37, "pre_acc": 37, "vector": [38, 52, 88], "exchang": 38, "get_x": 38, "int_of_dai": 39, "win": [39, 54, 89], "attack": 39, "consider": [39, 63, 68, 84, 85], "rehash": [40, 41, 42], "defeat": 40, "excus": 40, "acknowledg": 40, "undertak": 40, "spread": [40, 73], "creativ": [40, 95], "sushi": 40, "ramen": 40, "amus": 40, "lunch": 40, "occas": [40, 78], "budget": 40, "financi": [40, 73], "pai": [40, 42, 47, 54, 78, 94], "debt": 40, "t_1": [40, 63], "t_2": [40, 63], "t_n": 40, "resiz": [40, 41, 49, 87], "proactiv": 40, "hashtbl": [40, 41, 44, 47], "exce": [40, 41, 42], "bucket": [40, 41, 42, 47, 49], "8th": 40, "grossli": 40, "pretend": [40, 63, 68], "price": [40, 78], "reinsert": 40, "geometr": 40, "400": 40, "300": 40, "600": 40, "500": 40, "800": 40, "700": 40, "200k": 40, "200i": 40, "came": [40, 46, 63, 69, 71], "outbox": [40, 78], "becam": [40, 45, 57, 69, 93], "inbox": [40, 78], "prepai": 40, "incur": 40, "bookkeep": 40, "conceptu": [40, 64, 79], "bank": 40, "deposit": 40, "credit": [40, 49], "withdraw": 40, "energi": [40, 49], "transit": [40, 66], "offset": 40, "analyt": 40, "friend": [40, 46], "opinion": [40, 71], "okasaki": [40, 47, 49, 78, 85], "collis": [41, 42, 49, 84], "load_factor": [41, 42], "functori": [41, 42], "insensit": [41, 77], "obei": [41, 45, 77, 80], "hashedtyp": [41, 42], "hashcod": [41, 42], "probe": [41, 42, 49], "altern": [41, 47, 48, 58], "databas": 41, "functor": [41, 42, 73, 75, 77, 80, 82, 85], "bst": [41, 77], "bstset": 41, "inord": 41, "postord": 41, "rb": 41, "height": [41, 47, 79], "pow2": 41, "alphabet": [41, 50, 63, 79], "endless": 41, "unend": 41, "coin": 41, "flip": [41, 42], "predic": [41, 52, 53, 55], "interleav": [41, 46, 49, 66], "a2": [41, 48, 52, 54, 63], "a3": [41, 48], "b2": [41, 48], "b3": [41, 48], "sift": 41, "siev": 41, "eratosthen": 41, "cdot": [41, 57, 63, 78, 88], "e_term": 41, "1666": 41, "041666": 41, "stream": [41, 42, 48, 49, 53, 56, 57, 65, 66], "66666666666666652": 41, "70833333333333304": 41, "ep": 41, "toler": 41, "875": 41, "9375": 41, "96875": 41, "71666666666666634": 41, "investig": [41, 46, 47, 52, 77, 94], "distanc": 41, "mathit": [41, 68, 84], "epsilon": [41, 65], "lazier": 41, "lazy_t": [41, 48], "AND": 41, "lb1": 41, "lb2": 41, "lazysequ": [41, 48], "resolv": [41, 45, 46, 49, 63, 94], "lwt": [41, 49], "lwt_io": [41, 46], "printf": [41, 45, 46, 76, 77], "lwt_unix": 41, "delay_then_print": 41, "timing2": 41, "_t1": 41, "printl": [41, 46], "_t2": 41, "_t3": 41, "timing3": 41, "timing4": 41, "join": [41, 46], "stdout": 41, "eof": [41, 65], "starter": [41, 62], "input_channel": [41, 46], "openfil": 41, "o_rdonli": 41, "fd": 41, "of_fd": 41, "ic": 41, "todo": 41, "read_lin": [41, 46, 91], "printlf": 41, "handler": [41, 46, 61], "end_of_fil": 41, "lwt_main": [41, 46], "mkfifo": 41, "cat": [41, 93], "opt": [41, 47, 78], "shown": [41, 75, 93], "fmap": [41, 78], "extmonad": 41, "unbox": [41, 45], "fmapjoinmonad": 41, "bindmonad": 41, "makemonad": 41, "listmonad": 41, "law": [41, 49], "wide": [42, 46, 59], "k_1": [42, 77], "v_1": [42, 77], "k_2": 42, "v_2": 42, "k_n": [42, 77], "v_n": [42, 77], "oo": [42, 76, 84], "charter": 42, "harvard": 42, "1636": 42, "1746": 42, "penn": 42, "1740": 42, "1865": 42, "brace": [42, 45], "admittedli": [42, 45, 54, 55, 84], "of_list": [42, 79, 80], "slightli": [42, 44, 46, 54, 62, 90], "listmap": 42, "k1": [42, 78, 79], "k2": [42, 79], "kn": [42, 78], "offic": 42, "occup": 42, "459": 42, "fan": [42, 77], "460": 42, "gri": [42, 78], "461": 42, "clarkson": [42, 69, 95], "462": 42, "muhlberg": 42, "463": 42, "capac": 42, "directaddressmap": 42, "_in": 42, "bounds_": 42, "arraymap": 42, "v0": 42, "bs": 42, "ref": [42, 44, 46, 63, 66, 87, 88, 92], "add_bind": 42, "iteri": [42, 88], "moreov": [42, 45, 47, 48, 63, 66, 71, 76, 79, 84, 85], "tablemap": 42, "inject": [42, 49, 75], "collid": [42, 82], "scan": 42, "confusingli": 42, "stride": 42, "entri": [42, 44, 52, 76, 77], "cluster": 42, "rapidli": [42, 46, 70], "circuitri": 42, "k11": 42, "v11": 42, "k12": 42, "v12": 42, "k21": 42, "v21": 42, "k22": 42, "v22": 42, "mbox": 42, "therebi": [42, 63, 79, 82], "restor": [42, 45, 47, 62, 64, 78], "halv": 42, "ruin": 42, "hashmap": 42, "insert_no_res": 42, "old_bucket": 42, "remove_assoc": [42, 78], "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, 46], "art": 42, "extrem": [42, 70], "sabotag": 42, "diffus": [42, 49], "trust": 42, "hash_c": 42, "hash_i": 42, "serial": [42, 49], "compress": 42, "forthcom": 42, "fortun": [42, 48], "sic": 42, "capabl": [42, 46, 85], "arbitrarili": [42, 79], "predetermin": 42, "635296333": 42, "822221246": 42, "degrad": 42, "hash_param": 42, "_weak1": [42, 46, 63, 91], "_weak2": [42, 91], "num_bind": 42, "num_bucket": 42, "max_bucket_length": 42, "bucket_histogram": 42, "histogram": 42, "pump": 42, "sound": [42, 46, 63], "amort": [43, 47, 49, 78], "batch": [43, 77, 78], "cool": 43, "aptli": 43, "organ": [43, 65, 75], "popular": [43, 45, 69, 73, 79, 93], "recomput": [44, 48], "speed": 44, "phi": [44, 78], "golden": 44, "ratio": [44, 77], "fibm": 44, "memo": 44, "f_mem": 44, "exclud": 44, "progress": [44, 67, 68], "formerli": 44, "speedup": 44, "million": 44, "storag": 44, "benign": 44, "curri": [44, 63], "uncurri": [44, 51, 52], "memo_rec": 44, "fib_memo": 44, "compani": 44, "org": [44, 93], "chart": 44, "employe": 44, "invit": 44, "superior": 44, "weight": [44, 46, 93], "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, 74], "linebreak": 44, "wlen": 44, "contlen": 44, "clen": 44, "l1": 44, "lb": 44, "target": [44, 64, 66, 67], "c2": [44, 48, 63], "br": 44, "break_result": 44, "lb_mem": 44, "phd": [45, 69, 73, 78], "concentr": [45, 61], "teas": [45, 72, 95], "max_list": 45, "inabl": 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, 69], "de": 45, "upgrade_binari": 45, "return_binari": 45, "collaps": [45, 94], "inc_log": 45, "dec_log": 45, "loggabl": 45, "dec_log_upgrad": 45, "f_log": 45, "inc_log_upgrad": 45, "inconveni": 45, "addition": [45, 47, 61, 80], "debat": [45, 54], "comfort": 45, "hidden": [45, 61, 76, 80, 84, 86], "callback": [45, 49], "asynchron": [45, 49, 93], "impos": [45, 75], "mnemon": 45, "nop": 45, "elaps": 45, "curli": 45, "s3": 45, "embodi": [45, 85], "cleaner": 45, "durat": 46, "graphic": 46, "lock": 46, "action": [46, 65, 68, 91], "frustrat": [46, 71, 74], "spreadsheet": 46, "network": [46, 48, 73, 94], "hyperlink": 46, "server": [46, 93, 94], "cm": 46, "depart": 46, "motor": 46, "vehicl": 46, "deli": 46, "player": 46, "switch": [46, 61, 66, 69, 78], "millisecond": 46, "multicor": 46, "central": 46, "resourc": 46, "agreement": [46, 81], "race": [46, 49], "notori": 46, "nondetermin": 46, "problemat": 46, "schedul": 46, "preemptiv": [46, 49], "relinquish": 46, "unrespons": 46, "preemption": 46, "timer": 46, "interrupt": 46, "3410": 46, "4410": 46, "defer": 46, "net": 46, "async": 46, "await": 46, "jane": 46, "street": 46, "ocsigen": 46, "acronym": 46, "light": 46, "misnom": 46, "pend": [46, 49], "reject": [46, 49, 63, 65, 71, 84], "incorpor": [46, 69, 70], "writeabl": 46, "write_onc": 46, "demean": 46, "wakeup": 46, "wakeup_exn": 46, "weak": [46, 63, 67], "nope": 46, "inher": [46, 78, 87], "synchron": [46, 49], "input_lin": 46, "in_channel": 46, "channel": [46, 49, 94], "stdin": 46, "adventur": 46, "opposit": [46, 54, 78], "mix": [46, 83], "latenc": [46, 49], "transfer": [46, 61, 78], "disk": 46, "excel": [46, 55, 59], "regain": 46, "show_val": 46, "set_auto_run_lwt": 46, "ocamlinit": [46, 86], "print_the_str": 46, "str": [46, 52], "v4": [46, 79], "read2": 46, "resolut": [46, 49], "stringmi": 46, "topic": [46, 63, 85, 93], "lwt_ppx": 46, "fool": 46, "ps": 46, "trickier": [46, 63, 65, 66], "st": 46, "resolve_or_reject": 46, "input_promis": 46, "he": [46, 63, 69, 71, 72, 93], "output_promis": 46, "output_resolv": 46, "handler_of_callback": 46, "qualifi": [47, 86], "logarithm": [47, 78], "plenti": 47, "workload": 47, "largest": 47, "kept": [47, 66, 71, 72, 76], "surgeri": 47, "rebal": 47, "avl": 47, "1962": 47, "rbtree": 47, "adjac": [47, 64], "global": [47, 81], "bh": 47, "shortest": 47, "membership": 47, "chri": [47, 49, 78, 85], "1999": [47, 49, 69], "walk": [47, 57], "parent": [47, 50], "grandpar": 47, "bz": 47, "bx": 47, "ry": 47, "rx": 47, "rz": 47, "rotat": 47, "overal": 47, "cascad": 47, "recolor": 47, "ins": [47, 73], "rbt": 47, "rebalanc": 47, "nonleaf": 47, "splice": 47, "german": 47, "doubli": 47, "curs": 47, "journal": 47, "juli": 47, "2014": [47, 69, 91], "persist": [47, 49, 73, 78, 85, 90], "ephemer": [47, 78, 85], "sword": 47, "winner": 47, "ones": [48, 63, 94], "entireti": 48, "socket": 48, "chess": 48, "tic": 48, "tac": 48, "toe": 48, "board": 48, "chase": 48, "forev": 48, "rid": [48, 84, 91], "f2": 48, "templat": 48, "map2": [48, 52], "30th": 48, "100th": 48, "memoiz": [48, 49], "misspel": 48, "suspens": 48, "eager": [48, 49, 61], "strict": [48, 49, 66], "lazili": [48, 61, 66], "unpleas": 48, "fib30long": 48, "832040": 48, "fib30lazi": 48, "fib30": 48, "fib30fast": 48, "sped": 48, "fib29": 48, "514229": 48, "gotten": 48, "sequencefib": 48, "take_aux": 48, "h_a": 48, "t_a": 48, "h_b": 48, "t_b": 48, "nth_fib": 48, "lazyfib": 48, "banker": 49, "oh": 49, "physicist": 49, "thread": [49, 73], "writer": [49, 64], "divers": [49, 59], "whitington": [49, 59], "map_tre": 50, "fold_mylist": 50, "fold_tre": 50, "catamorph": 50, "hardest": 50, "reshap": 50, "prune": 50, "filter_tre": 50, "spicier": 51, "spice": 51, "uncurried_add": 51, "curried_add": 51, "product_left": 52, "product_right": 52, "listlabel": [52, 54], "sum_cube_odd": 52, "exists_rec": 52, "exists_fold": 52, "exists_lib": 52, "debit": 52, "uncurried_nth": 52, "sep": 52, "bye": 52, "comma": [52, 62, 78], "uniqu": [52, 78, 79, 80], "bmatrix": 52, "is_valid_matrix": 52, "add_row_vector": 52, "wise": 52, "unspecifi": [52, 65, 66, 77], "add_matric": 52, "matric": [52, 88], "multiply_matric": 52, "transposit": 52, "fanci": 53, "filter_aux": 53, "tolist": [53, 57], "unifi": [54, 62, 63, 67, 95], "led": 54, "succinct": 54, "motiv": [54, 83], "combine_tr": 54, "procrastin": 54, "invoc": [54, 91], "crastin": 54, "sub_tr": 54, "fold_x": 54, "uniform": [54, 55, 73], "experienc": [54, 71], "perus": 54, "incorrectli": 54, "lst_and": 54, "lst_and_rec": 54, "lst_and_fold": 54, "lst_and_lib": 54, "for_al": [54, 79], "toi": 55, "recod": 55, "bruce": [55, 59], "maclennan": [55, 59], "recur": 55, "square_then_doubl": 55, "ds": 55, "cond": 55, "quantif": [55, 63], "itertool": 56, "2011": 56, "wizard": 56, "closur": [56, 61, 62, 66, 67], "obviat": 56, "fuss": [56, 73], "reusabl": 56, "add1": 57, "concat_bang": 57, "salti": 57, "guis": [57, 63], "contriv": 57, "anyon": [57, 80], "predispos": 57, "astut": 57, "extent": [57, 59], "unavoid": 57, "aw": 57, "map_tr_aux": 57, "map_tr": 57, "alic": [57, 88], "bob": [57, 69], "him": 57, "rev_map": 57, "rev_map_aux": 57, "theme": 57, "sum_sq": 58, "uglier": 58, "intermedi": [58, 64, 66, 67], "sq_l": 58, "rubi": [59, 63], "sequel": 59, "liber": 59, "von": 59, "neumann": 59, "backu": [59, 67], "award": [59, 71, 72, 84], "elabor": 59, "publish": [59, 63], "articl": 59, "stanford": 59, "encyclopedia": 59, "philosophi": 59, "tour": [60, 74], "lex": [60, 62, 64, 65, 66, 68], "tightli": 60, "crawl": 61, "mapsto": [61, 68], "aim": [61, 68], "fragment": [61, 65, 66], "coincid": [61, 91], "consensu": 61, "decad": [61, 69], "norm": [61, 88], "latex": 61, "perl": 61, "racket": [61, 72, 73], "travel": 61, "delimit": [61, 65], "evok": 61, "defenv": 61, "zip": [61, 62, 65, 66, 68, 94], "v3": [61, 66, 87], "interp": [62, 65], "lexer": [62, 67], "parser": [62, 64, 67], "ast": [62, 64, 66], "mly": [62, 65], "reevalu": 62, "typ": [62, 68], "typeof": [62, 68], "unif": [62, 63, 67], "ctx": 62, "parenthet": 62, "omega": 62, "inexhaust": 62, "is_valu": [62, 66], "subst": [62, 66], "not_empti": 62, "grammar": [62, 65, 67], "meta": [62, 63, 72], "insight": 62, "adapt": [62, 70, 71], "forgot": 62, "unfold": 62, "fv": [62, 66], "const": [62, 76, 78], "lexic": [62, 63, 65], "hm": [62, 63, 67], "contrast": 63, "disagre": 63, "sophist": [63, 73, 76, 83], "gather": 63, "literatur": 63, "roger": 63, "indlei": 63, "robin": [63, 72], "ilner": 63, "rediscov": 63, "1950": 63, "1930": 63, "1967": 63, "1969": 63, "hindlei": [63, 67], "morri": 63, "1968": 63, "milner": [63, 67, 72], "1978": 63, "realm": [63, 84], "tarski": 63, "1920": 63, "histori": [63, 74, 84], "blow": 63, "f0": [63, 91], "repetit": [63, 71], "layer": 63, "untyp": [63, 66], "simplif": 63, "quaternari": 63, "turnstil": [63, 68], "easiest": [63, 93], "c3": 63, "fresh": [63, 66, 67, 94], "furthermor": 63, "elsewher": [63, 77], "foobar": 63, "strip": 63, "5x": 63, "2y": 63, "toss": 63, "gaussian": 63, "i1": [63, 77], "o1": 63, "i2": [63, 77], "o2": 63, "typeabl": 63, "princip": 63, "lenient": 63, "judgment": 63, "ramif": 63, "downstream": 63, "permiss": 63, "contradictori": 63, "unsatisfi": 63, "ill": [63, 66, 68, 77], "mylen": 63, "uncompl": 63, "u1": 63, "env1": 63, "glean": 63, "mistakenli": 63, "disast": 63, "_weak": [63, 91], "pin": 63, "everywher": [63, 68, 73, 76, 91], "eleph": 63, "rabbit": 63, "subtyp": [63, 79, 82, 84, 85], "arraystoreexcept": 63, "ouch": 63, "bun": 63, "artisan": 64, "carpent": 64, "plane": 64, "chef": 64, "knive": 64, "pot": 64, "demystifi": 64, "career": 64, "dsl": 64, "mip": 64, "x86": 64, "mixtur": 64, "virtual": [64, 67, 94], "jvm": 64, "zinc": [64, 67], "hotspot": 64, "jit": 64, "phase": [64, 66, 68], "sensit": 64, "delin": 64, "foo": [64, 68, 75, 82], "operand": [64, 66, 68], "gratuit": 64, "unambigu": [64, 84], "arm": 64, "ir": [64, 66], "opcod": [64, 66], "begun": [64, 78], "runnabl": 64, "yacc": 65, "ocamlyacc": 65, "automata": [65, 67], "automaton": 65, "reset": 65, "pushdown": [65, 67], "cfl": 65, "parenthesi": 65, "ss": 65, "nontermin": [65, 67], "inventor": 65, "peter": 65, "picki": 65, "adher": 65, "metasyntax": [65, 66], "var": [65, 66, 68], "allud": 65, "awhil": 65, "header": 65, "trailer": 65, "lparen": 65, "rparen": 65, "IN": 65, "IF": 65, "THEN": 65, "nonassoc": 65, "prog": 65, "production1": 65, "action1": 65, "production2": 65, "action2": 65, "sixth": 65, "eighth": 65, "mll": 65, "fyi": 65, "regexp1": 65, "regexp2": 65, "lexbuf": 65, "lexem": 65, "explanatori": 65, "from_str": 65, "from_channel": 65, "reflex": 66, "axiomat": 66, "bridg": 66, "gap": 66, "faith": 66, "circumst": 66, "toolkit": 66, "eagerli": 66, "nicer": [66, 79], "slash": 66, "deleg": 66, "3000": 66, "step_bop": 66, "eval_smal": 66, "eval_big": 66, "eval_bop": 66, "eval_if": 66, "rudimentari": 66, "makefil": 66, "closest": 66, "surprisingli": 66, "elud": 66, "mathematician": 66, "reserv": 66, "counter": [66, 83], "gensym": 66, "erat": 66, "sym": 66, "bol": 66, "caution": 66, "intersect": 66, "exot": 66, "studiou": 67, "heavili": [67, 94], "naur": 67, "preliminari": 67, "operatiohn": 67, "reconstruct": 67, "andrew": [67, 69, 95], "appel": 67, "dexter": [67, 69, 95], "kozen": [67, 69, 95], "frontend": 67, "webpag": 67, "vm": 67, "hastyp": 68, "vdash": 68, "friendlier": 68, "machineri": 68, "tint": 68, "tbool": 68, "disambigu": 68, "staticenviron": 68, "ty": [68, 91], "hasn": [68, 86], "typeof_let": 68, "typeof_bop": 68, "typeof_if": 68, "taught": [69, 95], "mit": [69, 85], "001": 69, "sicp": 69, "tim": 69, "teitelbaum": 69, "1988": [69, 78], "dan": [69, 95], "huttenloch": [69, 95], "faculti": 69, "inaugur": 69, "infus": 69, "rigor": 69, "homegrown": 69, "dialect": [69, 72, 74], "regularli": 69, "ramin": [69, 95], "zabih": [69, 95], "spring": [69, 95], "1994": 69, "surviv": 69, "onlin": [69, 94], "greg": [69, 95], "morrisett": [69, 95], "dylan": 69, "312": 69, "curriculum": 69, "2112": 69, "410": 69, "chose": [69, 94], "prerequisit": 69, "parcel": 69, "482": 69, "2001": 69, "myer": [69, 95], "2002": 69, "2008": [69, 84], "2010": 69, "nate": [69, 95], "foster": [69, 95], "2012": 69, "constabl": [69, 95], "michael": [69, 95], "georg": [69, 95], "grossman": [69, 95], "2003": 69, "decompos": 69, "cse": 69, "341": 69, "washington": 69, "mooc": 69, "2018": 69, "synthes": 69, "yesterdai": 70, "pascal": [70, 84], "cobol": [70, 84], "tomorrow": 70, "transcend": [70, 74, 85], "opportun": [70, 71], "scala": [70, 72], "tendenc": 70, "brought": [70, 84], "1958": 70, "2004": 70, "announc": 70, "plan": 70, "2021": [70, 95], "nan": 71, "\u5357\u96a0": 71, "japanes": 71, "master": [71, 76, 86], "meiji": 71, "1868": 71, "1912": 71, "inquir": 71, "zen": 71, "tea": 71, "pour": 71, "visitor": 71, "restrain": 71, "himself": 71, "overful": 71, "specul": 71, "freedom": [71, 73], "goodby": 71, "bloat": 71, "hate": 71, "love": [71, 94], "humbl": 71, "magic": [71, 91], "incant": 71, "perli": 71, "1922": 71, "recipi": 71, "aesthet": 71, "stylish": 71, "sanskrit": 71, "poetri": 71, "struggl": 71, "ugli": 71, "genealog": 72, "grandfath": 72, "clojur": [72, 74], "edinburgh": 72, "laboratori": 72, "scotland": 72, "late": 72, "1980": [72, 79, 84], "tradition": 72, "fledg": 72, "schism": 72, "french": 72, "british": 72, "brit": 72, "american": 72, "microsoft": [72, 94], "2005": [72, 85], "acm": 72, "prais": 72, "articul": 72, "remix": 72, "influenc": 72, "linguist": 73, "stateless": 73, "fantasi": 73, "referenti": [73, 74], "transpar": [73, 74], "illus": 73, "immens": 73, "turkei": 73, "biggest": [73, 74], "emerg": 73, "cert": 73, "govern": 73, "agenc": 73, "cybersecur": 73, "due": 73, "reliev": 73, "dealloc": 73, "nowher": [73, 76], "strength": [73, 81], "yaron": 73, "minski": 73, "obstacl": 74, "freeli": 74, "gentl": 74, "cornellian": 74, "sml": 74, "essai": 74, "director": 74, "capit": [75, 86], "creator": 75, "placement": 75, "ocamlformat": [75, 94], "mystack": 75, "homework": 75, "lab1": 75, "rarer": 75, "everydai": 75, "customstack": [75, 76], "hpp": 75, "cpp": 75, "filenam": [75, 86], "gone": [76, 94], "opaqu": 76, "seal": [76, 77, 80, 85], "inaccess": 76, "mathcheck": 76, "c_public": 76, "cprivat": 76, "list_stack": [76, 84], "liststackcacheds": 76, "checkliststackcacheds": 76, "doubt": 76, "unawar": [76, 82], "overli": 76, "cap": [76, 84], "shout": [76, 84], "unwieldi": 76, "fairli": [76, 78], "angl": 76, "friendli": 76, "margin": [76, 93], "fprintf": [76, 77, 83], "kupo": 76, "kupo_pp": 76, "fmt": [76, 83], "uninstal": [76, 94], "remove_print": 76, "pp_val": 76, "pp_break": 76, "pp_print_list": 76, "pp_sep": 76, "lift": 76, "imaginari": 77, "complexsig": 77, "ctrl": [77, 94], "fill_listqueu": 77, "fill_batchedqueu": 77, "bstmap": 77, "fraction": 77, "to_float": 77, "euclid": 77, "gcd": 77, "greatest": 77, "charmap": 77, "orderedtyp": [77, 79], "sierra": 77, "victor": 77, "march": 77, "31st": 77, "june": 77, "calendar": 77, "datemap": 77, "event": 77, "birthdai": 77, "anniversari": 77, "print_calendar": 77, "is_for": 77, "k_i": 77, "v_i": 77, "fancier": 77, "first_aft": 77, "grr": 77, "argh": 77, "printint": 77, "printstr": 77, "mystr": 77, "albeit": 77, "super": [77, 84, 94], "stringwithprint": 77, "make_d": 77, "get_month": 77, "get_dai": 77, "reissu": 77, "arith": 77, "ring": [77, 83], "intr": [77, 83], "floatr": [77, 83], "intfield": 77, "floatfield": 77, "intrat": 77, "floatrat": 77, "advic": [77, 94], "indirect": 77, "coexist": 78, "mere": 78, "peek_opt": 78, "pop_opt": 78, "melvil": 78, "dissert": 78, "1981": 78, "supersed": [78, 93], "718": 78, "618": 78, "assoclistmap": 78, "ki": 78, "willing": [78, 91], "uniqassoclistmap": 78, "morphism": 79, "intimid": 79, "quotat": 79, "stratifi": 79, "incx": 79, "add42": 79, "m1": 79, "mn": 79, "sn": 79, "si": 79, "module_expression1": 79, "module_expression2": 79, "module_typ": [79, 84], "checkaddx": 79, "pair1": 79, "p0": 79, "pa": 79, "nameabl": 79, "difficulti": [79, 93], "fx": 79, "fz": 79, "lesser": 79, "lt": 79, "eq": 79, "ala": 79, "strcmp": 79, "intmap": 79, "filter_map": 79, "partit": 79, "min_bind": 79, "min_binding_opt": 79, "max_bind": 79, "max_binding_opt": 79, "choose_opt": 79, "find_opt": 79, "find_first": 79, "find_first_opt": 79, "find_last": 79, "find_last_opt": 79, "mapi": 79, "to_seq": 79, "seq": 79, "to_rev_seq": 79, "to_seq_from": 79, "add_seq": 79, "of_seq": 79, "stdlib__map": 79, "m2": 79, "m3": 79, "accordingli": 79, "lightli": [79, 94], "ord": 79, "treemap": 79, "first1": 79, "last1": 79, "first2": 79, "last2": 79, "namemap": 79, "birth": 79, "kardashian": 79, "kourtnei": 79, "kimberli": 79, "k3": 79, "khloe": 79, "nm": 79, "1979": 79, "1984": 79, "reseal": 79, "unusablemap": 79, "variantstack": 79, "horribl": 79, "contempl": 79, "hundr": 79, "stacktest": 79, "liststacktest": 79, "variantstacktest": 79, "all_test": 79, "flatten": 79, "objection": 79, "newest": 79, "setoflist": [79, 80], "oflist": [79, 80], "uniqoflist": 79, "setwithoflist": 79, "setl": 79, "uniqsetl": 79, "necessit": 79, "grain": 79, "mixin": 79, "prolifer": 80, "prone": 80, "quicker": [80, 93], "neat": [80, 91], "parti": 80, "listsetextend": 80, "subclass": 80, "superclass": 80, "setextend": 80, "ah": 80, "workaround": 80, "listsetimpl": 80, "listsetextendedimpl": 80, "dispatch": 80, "subtli": 80, "consumpt": 80, "export": 80, "of_list_uniq": 80, "uniqlistsetextend": 80, "magnitud": 81, "colleg": 81, "plug": 81, "moder": 81, "industri": 81, "sole": 81, "serious": 81, "defici": 81, "decoupl": 81, "accompani": 82, "blissfulli": 82, "reassembl": 82, "intellig": 82, "imperfect": 82, "degre": 82, "extol": 83, "invers": 83, "pp_intr": 83, "pp_floatr": 83, "int_r": 83, "float_r": 83, "proxim": 83, "constraint1": 83, "constraint2": 83, "constraintn": 83, "xy": 83, "primary_color": 84, "mymodul": 84, "broaden": 84, "sight": 84, "vagu": 84, "let_modul": 84, "modulenam": 84, "module_item": 84, "module_express": 84, "alia": [84, 92, 94], "pervas": 84, "uppercase_al": 84, "uppercase_ascii": 84, "trim": 84, "lower_trim": 84, "eschew": 84, "moduletypenam": 84, "ls": [84, 86], "all_cap": 84, "older": [84, 94], "impolit": 84, "connot": 84, "liststackalia": 84, "opac": 84, "gain": 84, "she": 84, "twenti": [84, 93], "flavor": 84, "nomin": 84, "decre": 84, "mx": 84, "mz": 84, "xz": 84, "mxz": 84, "xstring": 84, "mxstring": 84, "intfun": 84, "idfun": 84, "iid": 84, "irrevoc": 84, "superset": 84, "ab": 84, "stackhistori": 84, "duck": 84, "un": 84, "brutal": 85, "equip": 85, "harper": 85, "ed": 85, "pragmat": 86, "topmost": 86, "ompil": 86, "odul": 86, "bject": 86, "ing": 86, "uncompil": 86, "downto": 87, "euclidean": 88, "dimension": [88, 90], "x_1": 88, "x_n": 88, "instinct": 88, "7071": 88, "make_matrix": 88, "init_matrix": 88, "till": 89, "analogu": 89, "mlist": [90, 91], "insert_first": [90, 91], "mutablestack": 90, "mutablerecordstack": 90, "0x3110bae0": 91, "forego": 91, "hick": 91, "dereferenc": 91, "allot": 91, "loc": 91, "next_val": 91, "decr": 91, "next_val_broken": 91, "malloc": 91, "segfault": 91, "deref": 91, "ptr": 91, "misunderstood": 91, "knowledg": [91, 93], "undocu": 91, "obj": 91, "circumv": 91, "fact_rec": 91, "fact0": 91, "rewrot": 91, "knot": 91, "tie": 91, "jacqu": 91, "garrigu": 91, "modif": 91, "unequ": 91, "lst0": 91, "_weak3": 91, "linkedlist": 91, "_weak4": 91, "alias": 92, "heavier": 93, "fork": 93, "repositori": 93, "minor": 93, "uptak": 93, "semest": [93, 94], "prior": 93, "youtub": [93, 95], "pandem": 93, "overwhelmingli": 93, "profession": 93, "basement": 93, "ecosystem": 93, "2020": [93, 94], "alarm": 93, "plugin": 93, "ag": 93, "nearest": 93, "playlist": [93, 95], "collabor": 93, "hypoth": 93, "publicli": 93, "rocket": 93, "ship": 93, "binder": 93, "site": [93, 94], "mybind": 93, "cloud": 93, "servic": 93, "reproduc": 93, "shareabl": 93, "ui": 93, "jupyt": 93, "ipynb": 93, "narr": 93, "julia": 93, "analys": 93, "shift": [93, 94], "hotkei": 93, "scene": 93, "studio": 93, "seamlessli": 93, "varieti": 93, "anaconda": 93, "rate": 93, "star": 93, "misjudg": 93, "tablet": 93, "epub": 93, "prefac": 94, "brush": 94, "sad": 94, "tower": 94, "solid": 94, "stranger": 94, "internet": 94, "beneath": 94, "maco": 94, "homebrew": 94, "macport": 94, "nudg": 94, "xcode": 94, "x11": 94, "subsystem": 94, "wsl": 94, "20262": 94, "novemb": 94, "powershel": 94, "administr": 94, "setup": 94, "wsl2": 94, "wsl1": 94, "04": 94, "app": 94, "bash": 94, "keystrok": 94, "apt": 94, "sudo": 94, "unzip": 94, "filesystem": 94, "your_ubuntu_user_nam": 94, "mnt": 94, "your_windows_user_nam": 94, "pc": 94, "brew": 94, "port": 94, "bare": 94, "profil": 94, "bashrc": 94, "sandbox": 94, "whenc": 94, "2023fa": [], "logout": 94, "shell": 94, "reinit": 94, "odoc": 94, "menhir": 94, "lsp": 94, "vim": 94, "slate": 94, "zsh": 94, "cmd": 94, "login": 94, "pane": 94, "palett": 94, "yeah": 94, "orang": 94, "squiggl": 94, "remot": [], "troubleshoot": 94, "band": 94, "cure": 94, "tweak": 94, "json": 94, "tabsiz": 94, "ruler": 94, "formatonsav": 94, "doc": 94, "voic": 94, "spin": 94, "zoom": 94, "pack": [], "email": 94, "your_netid": 94, "url": [], "dm": [], "emphasi": 95, "winter": [], "2024": 95, "volatil": [], "interim": [], "2023": [], "justin": 95, "hsu": 95, "daniel": 95, "radu": 95, "rugina": 95, "copyright": 95, "attribut": 95, "noncommerci": 95, "noderiv": 95, "licens": 95, "2024sp": 94, "silicon": 2, "9gb": 2}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"The": [0, 9, 12, 16, 45, 46, 55, 65, 66, 72, 73, 79], "curri": [0, 51], "howard": 0, "correspond": 0, "comput": 0, "evid": 0, "type": [0, 7, 12, 25, 29, 38, 63, 68, 76, 79, 83, 84, 91], "proposit": 0, "program": [0, 3, 4, 19, 48, 56, 71, 81, 95], "proof": 0, "evalu": [0, 61, 66], "simplif": 0, "what": [0, 3, 5], "It": 0, "all": [0, 22, 25], "mean": [0, 55], "exercis": [0, 6, 15, 28, 41, 52, 62, 77, 88], "big": [1, 66], "oh": 1, "notat": 1, "algorithm": 1, "effici": [1, 95], "attempt": [1, 61], "1": 1, "2": 1, "ell": 1, "finish": [1, 63], "warn": 1, "3": 1, "virtual": 2, "machin": 2, "instal": [2, 94], "vm": 2, "start": 2, "stop": 2, "us": [2, 44, 54, 79, 86, 94], "compil": [3, 75, 86], "ocaml": [3, 4, 9, 12, 61, 63, 66, 71, 72, 73, 94, 95], "store": 3, "code": [3, 12, 80, 94], "file": 3, "about": [3, 22, 93], "main": 3, "dune": [3, 86], "debug": [4, 24], "defens": 4, "against": 4, "bug": 4, "how": [4, 5, 48, 79], "document": [5, 16, 18, 75], "precondit": 5, "postcondit": 5, "express": 7, "primit": 7, "valu": [7, 12], "more": 7, "oper": [7, 8], "assert": 7, "If": 7, "let": [7, 34, 63], "scope": [7, 39, 61, 84], "annot": 7, "function": [8, 12, 16, 18, 20, 34, 42, 44, 54, 55, 78], "definit": [8, 84], "anonym": 8, "applic": 8, "pipelin": [8, 58], "polymorph": [8, 25, 63], "label": [8, 54], "option": [8, 32, 78], "argument": [8, 54], "partial": 8, "associ": [8, 26, 42], "tail": [8, 30, 53, 54, 57], "recurs": [8, 19, 22, 25, 30, 53, 54, 57, 91], "basic": 9, "print": [10, 76], "unit": [10, 33, 75], "semicolon": 10, "ignor": 10, "printf": 10, "summari": [11, 23, 36, 49, 59, 67, 74, 85, 92], "term": [11, 23, 36, 49, 59, 67, 74, 85, 92], "concept": [11, 23, 36, 49, 59, 67, 74, 85, 92], "further": [11, 23, 36, 49, 59, 67, 74, 85, 92], "read": [11, 23, 36, 49, 59, 67, 74, 85, 92], "toplevel": [12, 86], "load": [12, 86], "workflow": 12, "algebra": [13, 25], "specif": [13, 16, 19, 21], "exampl": [13, 16, 31, 33, 34, 37, 45, 60, 65, 75, 79, 90, 91], "stack": [13, 75, 78, 90], "queue": [13, 40, 78], "batch": [13, 40], "design": 13, "black": [14, 47], "box": 14, "glass": 14, "test": [14, 20, 24, 33, 79], "data": [14, 25, 29, 43, 78], "abstract": [14, 18, 20, 55, 76], "vs": [14, 19, 35, 54, 61, 78, 80, 86, 94], "bisect": 14, "return": 16, "claus": 16, "requir": [16, 86], "rais": 16, "game": 16, "comment": [16, 75], "correct": [17, 19, 95], "modul": [18, 79, 80, 82, 83, 84, 86], "remind": 18, "implement": [18, 42, 46, 54, 61, 66], "commut": 18, "diagram": 18, "represent": [18, 37, 42], "invari": 18, "prove": 19, "equal": [19, 91], "equat": 19, "reason": 19, "induct": [19, 22], "natur": [19, 22, 31], "number": [19, 20, 31], "iter": 19, "termin": 19, "random": 20, "qcheck": 20, "gener": [20, 65], "properti": 20, "inform": 20, "output": [20, 33], "from": [20, 47], "structur": [22, 43, 78], "list": [22, 26, 30, 42, 50, 78, 90, 91], "A": [22, 54, 61, 68, 69], "theorem": 22, "fold": [22, 50, 54], "tree": [22, 37, 47, 50], "principl": [22, 55], "variant": [22, 25, 27, 35, 39], "acknowledg": [23, 67], "valid": 24, "carri": 25, "syntax": [25, 30, 79, 91], "semant": [25, 27, 79, 80, 84, 91], "catch": 25, "case": 25, "parameter": 25, "built": 25, "except": [27, 33, 78], "ar": [27, 84, 90], "extens": 27, "pattern": [27, 30, 34, 39], "match": [27, 30, 34, 39], "ounit": [27, 33], "build": 30, "access": 30, "Not": [30, 48], "mutat": 30, "deep": 30, "immedi": 30, "ocamldoc": 30, "comprehens": 30, "an": [33, 61, 75, 79, 94], "explan": 33, "improv": 33, "driven": 33, "develop": [33, 94], "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, "map": [42, 47, 50, 57, 78, 79], "arrai": [42, 87], "chain": 42, "resiz": 42, "standard": 42, "librari": [42, 54, 86], "hashtbl": 42, "memoiz": 44, "fibonacci": 44, "higher": [44, 55, 56], "order": [44, 55, 56], "just": 44, "fun": 44, "parti": 44, "optim": 44, "monad": 45, "signatur": 45, "mayb": 45, "writer": 45, "lwt": [45, 46], "law": 45, "composit": 45, "promis": 46, "concurr": 46, "thread": 46, "make": 46, "our": 46, "own": 46, "asynchron": 46, "i": 46, "o": 46, "callback": 46, "full": 46, "red": 47, "binari": 47, "search": 47, "set": [47, 78, 94], "bst": 47, "sequenc": [48, 91], "defin": [48, 66], "correctli": 48, "lazi": 48, "beyond": 50, "filter": [50, 53], "other": [53, 54, 57], "languag": [53, 57], "combin": 54, "right": 54, "left": 54, "digress": 54, "famou": 55, "side": 57, "effect": [57, 91], "calcul": 60, "environ": [61, 94], "model": [61, 66], "lambda": 61, "calculu": 61, "lexic": 61, "dynam": 61, "second": 61, "simpl": [61, 65, 66, 68], "core": [61, 66], "infer": 63, "reconstruct": 63, "constraint": [63, 79, 83], "base": 63, "solv": 63, "mutabl": [63, 89, 90, 91], "interpret": [64, 66], "pars": 65, "lexer": 65, "parser": 65, "backu": 65, "naur": 65, "form": 65, "ast": 65, "menhir": 65, "ocamllex": 65, "driver": 65, "substitut": 66, "singl": 66, "step": 66, "relat": 66, "multistep": 66, "done": 66, "captur": 66, "avoid": 66, "check": [68, 94], "system": [68, 82], "checker": 68, "safeti": 68, "brief": 69, "histori": 69, "cs": 69, "3110": 69, "look": 70, "your": 70, "futur": 70, "new": 70, "flash": 70, "better": 71, "through": 71, "past": 72, "present": 73, "featur": 73, "industri": 73, "incomplet": 75, "encapsul": [76, 80], "opac": 76, "pretti": 76, "functor": 79, "custom": 79, "kei": 79, "suit": 79, "extend": 79, "multipl": [79, 80], "includ": 80, "open": [80, 84], "modular": 81, "special": 83, "static": 84, "first": 84, "class": 84, "initi": [86, 94], "loop": 87, "field": 90, "ref": [90, 91], "singli": [90, 91], "link": [90, 91], "alias": 91, "counter": 91, "pointer": 91, "evil": 91, "secret": 91, "without": 91, "rec": 91, "weak": 91, "variabl": 91, "physic": 91, "thi": 93, "book": 93, "unix": 94, "linux": 94, "mac": 94, "window": 94, "opam": 94, "creat": 94, "switch": 94, "doubl": 94, "visual": 94, "studio": 94, "collabor": 94, "beauti": 95}, "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/alg_spec", "chapters/correctness/black_glass_box", "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/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/alg_spec.md", "chapters/correctness/black_glass_box.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/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.9. Algebraic Specification", "6.5. Black-box and Glass-box Testing", "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.9. Exercises", "8.1. Hash Tables", "8. Data Structures", "8.5. Memoization", "8.7. Monads", "8.6. Promises", "8.3. Red-Black Trees", "8.4. Sequences", "8.8. 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, 52, 59, 62, 63, 64, 65, 66, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 91, 93, 94, 95], "lagniapp": 0, "small": [0, 1, 3, 4, 12, 13, 14, 17, 18, 20, 24, 26, 30, 33, 36, 37, 42, 51, 57, 61, 62, 64, 66, 67, 68, 77, 81, 84], "unexpect": [0, 48], "gift": 0, "littl": [0, 1, 2, 4, 8, 12, 18, 20, 22, 33, 40, 42, 45, 46, 48, 50, 54, 57, 60, 63, 65, 66, 68, 76, 79, 83, 84, 91, 93, 94], "someth": [0, 1, 3, 5, 7, 8, 11, 12, 13, 14, 16, 18, 21, 22, 24, 25, 27, 30, 32, 33, 41, 42, 45, 46, 50, 51, 53, 54, 55, 56, 57, 62, 66, 73, 75, 76, 78, 79, 81, 83, 84, 94], "extra": [0, 1, 8, 13, 16, 19, 24, 27, 30, 37, 39, 40, 42, 44, 45, 46, 47, 52, 56, 58, 63, 66, 73, 76, 78, 79, 83, 94], "pleas": [0, 6, 15, 28, 41, 52, 62, 77, 88, 93], "enjoi": [0, 7, 30, 74], "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, 52, 53, 54, 55, 56, 57, 59, 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, 88, 89, 91, 94, 95], "chapter": [0, 1, 5, 8, 9, 11, 15, 16, 17, 23, 27, 29, 30, 33, 36, 43, 49, 56, 58, 59, 61, 63, 64, 66, 67, 73, 74, 75, 78, 84, 85, 89, 91, 92, 93], "which": [0, 1, 2, 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, 50, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 90, 91, 93, 94], "contain": [0, 3, 7, 8, 14, 15, 16, 18, 20, 25, 27, 28, 30, 32, 33, 35, 37, 41, 42, 44, 45, 46, 47, 48, 52, 53, 54, 58, 61, 63, 65, 66, 68, 75, 76, 77, 78, 79, 80, 81, 84, 88, 90, 91, 93], "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, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 91, 93, 94], "most": [0, 1, 2, 4, 5, 6, 7, 8, 9, 12, 14, 15, 20, 21, 24, 26, 28, 29, 30, 33, 40, 41, 42, 45, 46, 47, 52, 54, 55, 58, 59, 61, 62, 63, 64, 65, 66, 68, 73, 75, 77, 78, 81, 82, 84, 85, 87, 88, 93], "beauti": [0, 49, 56, 71, 74], "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, 46, 47, 48, 50, 52, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 66, 72, 73, 76, 77, 78, 79, 91], "entir": [0, 4, 7, 8, 9, 12, 13, 14, 16, 20, 21, 27, 30, 35, 40, 41, 45, 46, 47, 48, 50, 54, 61, 62, 63, 65, 78, 84, 93], "book": [0, 5, 9, 12, 17, 20, 22, 30, 41, 59, 64, 67, 69, 71, 73, 74, 78, 94, 95], "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, 55, 57, 65, 66, 67, 68, 69, 75, 76, 77, 78, 79, 84, 85, 91, 93, 94, 95], "paper": [0, 8, 47, 67, 73], "philip": 0, "wadler": 0, "you": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 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, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 68, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 82, 84, 85, 86, 87, 88, 91, 93, 94], "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, 61, 62, 63, 64, 65, 66, 68, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 95], "watch": [0, 24, 71, 93, 95], "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, 50, 51, 52, 54, 55, 56, 57, 58, 60, 62, 63, 64, 65, 66, 68, 69, 71, 73, 74, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 93, 95], "entertain": [0, 66], "record": [0, 4, 8, 13, 14, 25, 28, 29, 30, 34, 36, 40, 41, 44, 46, 55, 63, 66, 68, 69, 79, 84, 88, 90, 91], "lectur": [0, 13, 25, 52, 59, 69, 74], "prof": [0, 78], "addit": [0, 1, 3, 6, 8, 12, 14, 15, 16, 18, 19, 20, 22, 24, 25, 27, 30, 32, 33, 34, 40, 41, 42, 45, 46, 47, 52, 54, 56, 60, 63, 64, 65, 66, 73, 76, 77, 78, 83, 88, 94], "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, 47, 48, 49, 50, 53, 54, 56, 57, 59, 61, 63, 65, 66, 67, 68, 69, 74, 76, 77, 78, 79, 81, 84, 91], "below": [0, 2, 4, 6, 13, 20, 26, 28, 30, 31, 34, 35, 37, 41, 42, 45, 46, 47, 65, 66, 77, 78, 79, 80, 82, 83, 84, 86, 93, 94], "As": [0, 1, 4, 5, 7, 8, 10, 11, 13, 15, 16, 18, 19, 21, 22, 25, 27, 28, 30, 33, 34, 35, 40, 41, 42, 44, 45, 46, 47, 48, 53, 54, 56, 57, 61, 63, 64, 65, 66, 68, 69, 76, 79, 83, 84, 87, 91, 94], "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, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94], "observ": [0, 7, 12, 22, 24, 30, 40, 44, 46, 50, 76, 91, 94], "long": [0, 1, 2, 3, 10, 16, 17, 19, 28, 30, 36, 41, 42, 45, 47, 48, 56, 61, 62, 70, 78, 79, 81, 84], "ago": [0, 1, 10, 17, 65], "ocaml": [0, 1, 2, 5, 6, 7, 8, 10, 11, 14, 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, 54, 55, 56, 57, 58, 59, 60, 62, 64, 65, 67, 68, 69, 70, 74, 75, 76, 78, 79, 80, 82, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93], "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, 48, 51, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 81, 82, 84, 85, 88, 89, 91, 93], "ml": [0, 3, 7, 12, 14, 23, 27, 33, 41, 46, 48, 61, 65, 66, 67, 69, 70, 72, 74, 75, 77, 79, 84, 85, 86, 91, 94], "famili": [0, 8, 70, 73, 74, 91], "wa": [0, 1, 3, 4, 7, 8, 10, 12, 13, 15, 17, 18, 25, 27, 30, 33, 35, 40, 41, 42, 44, 45, 46, 47, 54, 57, 61, 62, 63, 65, 66, 68, 69, 70, 71, 72, 76, 78, 79, 80, 83, 84, 91, 93, 94, 95], "origin": [0, 8, 12, 13, 17, 19, 20, 22, 24, 25, 27, 41, 42, 44, 45, 47, 48, 53, 54, 57, 58, 62, 63, 64, 72, 76, 80, 84, 91, 93], "design": [0, 1, 4, 8, 14, 15, 16, 21, 23, 24, 30, 32, 40, 42, 45, 46, 50, 61, 63, 64, 65, 68, 69, 72, 74, 78, 81, 82, 84, 85, 91], "m": [0, 1, 6, 13, 15, 16, 19, 23, 30, 31, 32, 34, 41, 42, 45, 63, 75, 76, 77, 78, 79, 80, 83, 84, 86, 88], "eta": 0, "l": [0, 1, 15, 22, 23, 25, 30, 37, 41, 42, 44, 47, 50, 58, 65, 79, 84, 95], "anguag": 0, "theorem": [0, 15, 19, 24, 72, 73], "prover": [0, 24, 72, 73], "help": [0, 1, 2, 4, 8, 14, 18, 20, 24, 30, 31, 40, 41, 45, 46, 47, 48, 50, 54, 57, 59, 62, 63, 64, 65, 66, 71, 74, 77, 78, 80, 81, 82, 83, 84, 85, 94], "prove": [0, 4, 13, 15, 17, 22, 23, 24, 33, 41, 46, 63, 68, 73], "check": [0, 1, 2, 4, 5, 6, 7, 8, 9, 11, 14, 15, 16, 18, 19, 20, 21, 26, 27, 30, 32, 33, 34, 35, 41, 42, 44, 45, 47, 62, 63, 64, 66, 67, 73, 76, 77, 78, 79, 80, 83, 84, 87, 88, 91, 93], "logic": [0, 15, 16, 17, 19, 23, 24, 31, 55, 59, 63, 82], "formula": [0, 1, 58], "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, 52, 54, 57, 58, 61, 62, 63, 64, 65, 66, 71, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 90, 91, 93, 94], "construct": [0, 7, 13, 14, 15, 19, 20, 22, 24, 25, 28, 33, 35, 37, 40, 44, 45, 48, 50, 58, 61, 62, 66, 72, 80, 81, 90, 91], "s": [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, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 93, 94], "desir": [0, 7, 19, 20, 42, 48, 66, 84], "make": [0, 1, 2, 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, 47, 48, 50, 52, 53, 54, 57, 59, 60, 62, 63, 65, 66, 68, 69, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94], "sure": [0, 1, 2, 8, 15, 18, 30, 41, 45, 52, 54, 65, 66, 76, 78, 80, 83, 91, 94], "onli": [0, 2, 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, 50, 52, 53, 54, 55, 57, 61, 62, 63, 65, 66, 68, 72, 73, 76, 77, 78, 79, 80, 81, 83, 84, 91, 93, 94], "true": [0, 5, 6, 7, 8, 13, 14, 18, 20, 25, 28, 30, 31, 34, 35, 40, 41, 42, 45, 46, 47, 52, 53, 54, 61, 62, 63, 65, 66, 68, 73, 75, 76, 78, 79, 81, 84, 89, 91, 94], "don": [0, 1, 2, 3, 4, 7, 8, 10, 12, 13, 14, 16, 18, 19, 20, 22, 25, 31, 32, 33, 35, 36, 42, 45, 46, 47, 48, 54, 57, 58, 61, 62, 63, 64, 66, 68, 73, 76, 77, 78, 80, 83, 85, 86, 90, 91, 93, 94], "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, 50, 51, 53, 54, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 68, 70, 71, 73, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 94], "incorrect": [0, 7, 10, 66, 72, 91, 94], "argument": [0, 4, 5, 6, 7, 10, 13, 14, 15, 16, 18, 19, 20, 22, 27, 28, 30, 33, 37, 41, 44, 45, 46, 48, 50, 51, 52, 55, 56, 57, 61, 63, 64, 66, 76, 77, 78, 79, 86, 91], "etc": [0, 1, 5, 7, 8, 9, 12, 13, 14, 18, 21, 30, 33, 34, 35, 39, 41, 45, 46, 52, 55, 61, 62, 63, 65, 66, 73, 75, 77, 78, 79, 80, 82, 84, 91, 93], "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, 50, 52, 54, 55, 57, 58, 61, 62, 63, 64, 65, 66, 68, 72, 75, 76, 77, 78, 79, 80, 83, 84, 91, 94], "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, 50, 52, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95], "determin": [0, 4, 7, 14, 15, 18, 20, 22, 27, 28, 30, 31, 37, 41, 42, 47, 52, 63, 64, 68, 79, 84], "truth": [0, 8, 17, 20, 23, 40], "falsiti": 0, "ani": [0, 1, 2, 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, 50, 52, 54, 55, 56, 59, 60, 61, 62, 63, 64, 66, 68, 70, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 89, 90, 91, 93, 94], "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, 50, 52, 54, 57, 61, 62, 63, 64, 65, 66, 68, 75, 76, 77, 78, 79, 80, 83, 84, 86, 90, 91, 92, 93, 94], "some": [0, 1, 2, 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, 46, 47, 48, 49, 50, 53, 54, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94], "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, 54, 56, 57, 61, 63, 64, 66, 68, 75, 76, 77, 78, 79, 80, 84, 88, 91, 93, 94], "But": [0, 1, 2, 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, 50, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 66, 67, 68, 71, 73, 74, 75, 76, 78, 79, 80, 81, 83, 84, 85, 86, 89, 91, 92, 93, 94], "groundbreak": 0, "earli": [0, 18, 21, 33, 41, 72, 78, 81], "20th": [0, 41], "centuri": [0, 66], "gener": [0, 1, 3, 8, 9, 13, 14, 15, 16, 17, 19, 21, 22, 23, 25, 27, 30, 34, 40, 44, 45, 47, 50, 52, 56, 57, 59, 62, 63, 64, 66, 67, 70, 75, 79, 81, 84, 85, 87], "do": [0, 1, 2, 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, 50, 51, 52, 53, 54, 55, 56, 57, 59, 61, 62, 63, 64, 65, 66, 68, 70, 71, 73, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 87, 88, 90, 91, 93, 94], "alonzo": 0, "church": [0, 66], "alan": [0, 71], "ture": [0, 8, 59, 66, 71, 72, 84], "independ": [0, 1, 8, 24, 36, 44, 63, 64, 72, 77, 79, 81, 84, 95], "show": [0, 1, 3, 7, 13, 14, 16, 19, 20, 22, 33, 40, 46, 47, 52, 62, 63, 66, 68, 71, 76, 77, 78, 79, 84, 91], "1936": 0, "us": [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, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 50, 51, 52, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 68, 69, 72, 73, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 91, 92, 93], "lambda": [0, 1, 8, 11, 53, 57, 63, 66, 67], "calculu": [0, 8, 23, 63, 66, 67], "model": [0, 2, 8, 45, 62, 63, 67, 69, 73, 94], "now": [0, 1, 2, 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, 50, 53, 54, 57, 59, 61, 62, 63, 65, 66, 68, 76, 77, 78, 79, 80, 83, 84, 86, 89, 90, 91, 93, 94, 95], "call": [0, 1, 3, 4, 5, 7, 8, 10, 11, 12, 14, 15, 16, 18, 19, 25, 27, 28, 29, 30, 32, 33, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 67, 68, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 83, 84, 86, 91, 94], "machin": [0, 1, 7, 8, 16, 17, 56, 61, 64, 66, 67, 71, 73, 77, 93, 94], "thesi": 0, "hypothesi": [0, 4, 19, 22, 23, 24, 66], "sai": [0, 1, 3, 5, 8, 9, 14, 16, 18, 19, 24, 25, 27, 28, 30, 33, 42, 45, 46, 53, 55, 57, 61, 63, 65, 66, 68, 71, 73, 76, 80, 84, 85, 89, 90, 94], "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, 50, 51, 54, 55, 56, 57, 61, 63, 66, 68, 75, 76, 77, 78, 79, 80, 81, 82, 84, 86, 91, 94], "formal": [0, 1, 4, 17, 19, 23, 24, 62, 63, 65, 66, 68, 79, 91], "inform": [0, 4, 7, 8, 14, 16, 18, 21, 24, 27, 33, 35, 42, 63, 65, 73, 75, 76, 79, 81, 82, 85, 88, 91, 94], "instead": [0, 1, 3, 4, 5, 6, 7, 8, 10, 12, 13, 16, 19, 20, 21, 22, 23, 25, 27, 28, 30, 33, 35, 36, 40, 41, 42, 45, 46, 48, 50, 51, 52, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 68, 75, 76, 78, 79, 80, 83, 84, 87, 88, 91, 93, 94], "focus": [0, 74], "imposs": [0, 4, 8, 19, 25, 28, 45, 46, 73, 79], "task": [0, 2, 7, 17, 19, 24, 30, 41, 64, 68, 73, 81, 95], "re": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 14, 16, 17, 18, 19, 20, 22, 27, 30, 33, 35, 36, 39, 40, 41, 42, 45, 46, 48, 50, 57, 61, 62, 63, 64, 65, 66, 68, 73, 75, 76, 77, 78, 79, 80, 83, 84, 85, 86, 89, 91, 93, 94], "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, 50, 54, 57, 58, 60, 62, 63, 64, 65, 66, 70, 71, 73, 74, 76, 82, 83, 84, 91, 93, 94], "focu": [0, 4, 8, 9, 24, 47, 64, 82, 83, 93], "relationship": [0, 18, 30, 68, 79, 82, 84, 91], "between": [0, 1, 2, 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, 51, 52, 54, 55, 57, 58, 61, 63, 64, 65, 66, 68, 70, 73, 75, 78, 79, 81, 82, 84, 86, 87, 91, 94], "turn": [0, 6, 8, 10, 14, 15, 18, 19, 22, 27, 32, 40, 42, 44, 45, 46, 48, 54, 63, 66, 75, 79, 83, 84, 90, 94], "out": [0, 1, 2, 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, 53, 54, 55, 57, 59, 62, 63, 64, 65, 66, 68, 69, 71, 73, 76, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 91, 93, 94, 95], "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, 50, 51, 52, 53, 54, 55, 57, 59, 61, 62, 63, 64, 65, 66, 68, 69, 72, 75, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 90, 91, 93, 94], "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, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 91, 93, 94, 95], "deepli": [0, 24, 30], "connect": [0, 4, 44, 93, 94], "surpris": [0, 5, 8, 12, 39, 54, 57, 59, 63, 65, 66, 70, 71, 73, 78, 84], "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, 50, 51, 52, 53, 54, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 68, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 87, 90, 91, 93, 94], "accustom": [0, 84, 94], "manipul": [0, 8, 13, 14, 15, 18, 19, 20, 23, 31, 48, 54, 64, 73, 84], "data": [0, 1, 3, 8, 13, 15, 18, 20, 22, 23, 24, 26, 30, 33, 35, 36, 37, 39, 40, 42, 44, 45, 46, 47, 48, 49, 50, 54, 55, 56, 57, 58, 59, 61, 64, 65, 69, 73, 76, 77, 79, 83, 84, 85, 89, 91, 92, 93, 95], "integ": [0, 1, 4, 5, 6, 7, 8, 14, 15, 16, 19, 20, 22, 28, 30, 32, 33, 34, 41, 42, 44, 45, 55, 57, 61, 63, 65, 66, 68, 73, 76, 77, 78, 79, 84, 87, 91, 94], "variant": [0, 10, 28, 29, 31, 36, 41, 44, 47, 50, 55, 62, 65, 66, 68, 72, 74, 78, 79, 84, 91], "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, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 73, 74, 75, 76, 77, 79, 80, 81, 82, 84, 85, 87, 88, 89, 90, 91, 93, 94, 95], "those": [0, 1, 2, 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, 50, 52, 54, 57, 58, 59, 62, 63, 64, 65, 66, 68, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 90, 91, 93, 94], "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, 54, 55, 56, 57, 58, 61, 62, 63, 65, 66, 67, 68, 71, 73, 74, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87, 88, 89, 90, 91], "alwai": [0, 1, 7, 8, 10, 12, 13, 16, 17, 18, 19, 20, 30, 33, 40, 42, 45, 46, 47, 48, 50, 54, 63, 68, 69, 73, 77, 78, 79, 80, 84, 87, 91, 93], "compil": [0, 1, 5, 7, 8, 9, 10, 12, 14, 16, 18, 20, 21, 23, 24, 27, 30, 31, 33, 41, 45, 46, 56, 62, 63, 64, 65, 66, 67, 68, 69, 73, 76, 84, 85, 91, 93, 94, 95], "time": [0, 1, 2, 3, 4, 7, 8, 9, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 26, 27, 28, 30, 33, 35, 37, 39, 40, 41, 42, 44, 46, 47, 48, 49, 52, 53, 54, 55, 57, 58, 60, 61, 62, 63, 64, 65, 66, 68, 69, 71, 72, 73, 74, 76, 77, 78, 79, 84, 86, 87, 90, 91, 93, 94], "infer": [0, 7, 8, 11, 30, 35, 62, 67, 68, 70, 73, 76, 79, 84, 91], "programm": [0, 4, 5, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 19, 23, 24, 27, 30, 32, 35, 39, 46, 47, 54, 55, 59, 63, 64, 66, 70, 71, 73, 74, 75, 76, 78, 79, 81, 82, 83, 84, 91], "annot": [0, 8, 10, 16, 25, 31, 34, 38, 45, 46, 62, 63, 65, 67, 75, 76, 79, 80, 83, 84, 93, 94], "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, 46, 48, 51, 52, 54, 55, 57, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 73, 76, 77, 78, 79, 80, 84, 85, 86, 87, 88, 91], "exampl": [0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 18, 19, 20, 22, 23, 25, 26, 27, 28, 30, 32, 35, 38, 39, 40, 41, 42, 44, 46, 47, 48, 50, 52, 54, 55, 56, 57, 61, 62, 63, 64, 66, 68, 72, 76, 77, 78, 80, 81, 83, 84, 85, 86, 87, 88, 92, 93, 94], "3110": [0, 2, 6, 7, 15, 28, 42, 62, 65, 66, 88, 93, 94, 95], "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, 48, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 63, 65, 66, 68, 75, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88, 90, 91, 94], "list": [0, 1, 2, 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, 48, 49, 52, 53, 54, 55, 57, 58, 59, 62, 63, 64, 65, 66, 68, 75, 76, 77, 79, 80, 84, 86, 87, 88, 94], "learn": [0, 1, 4, 8, 9, 10, 11, 12, 13, 17, 19, 27, 29, 30, 33, 35, 40, 43, 50, 57, 59, 63, 66, 68, 69, 70, 71, 73, 75, 76, 84, 85, 90, 91, 93], "read": [0, 1, 2, 4, 5, 6, 7, 8, 10, 12, 13, 16, 20, 21, 30, 34, 41, 45, 46, 47, 48, 54, 58, 62, 63, 64, 65, 66, 68, 71, 73, 75, 76, 83, 84, 91, 93, 95], "ha": [0, 1, 2, 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, 56, 57, 59, 61, 63, 64, 65, 66, 67, 68, 69, 70, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 87, 88, 90, 91, 93, 94], "let": [0, 1, 2, 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, 50, 51, 52, 53, 54, 55, 57, 58, 60, 61, 62, 65, 66, 67, 68, 71, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 86, 87, 88, 90, 91, 93, 94], "try": [0, 1, 2, 3, 4, 7, 8, 12, 13, 14, 15, 16, 17, 19, 22, 24, 27, 30, 35, 40, 41, 44, 45, 46, 48, 54, 62, 63, 66, 68, 75, 77, 79, 80, 84, 88, 92, 93, 94], "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, 53, 54, 57, 59, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 73, 75, 77, 78, 79, 80, 81, 82, 84, 85, 86, 90, 91, 93, 94], "so": [0, 1, 2, 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, 50, 51, 53, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 66, 68, 71, 72, 73, 75, 76, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 91, 93, 94], "doe": [0, 1, 2, 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, 51, 52, 53, 54, 56, 57, 62, 63, 64, 65, 66, 68, 69, 70, 73, 75, 76, 78, 79, 80, 81, 84, 86, 88, 89, 90, 91, 92, 93, 94], "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, 46, 47, 48, 50, 52, 54, 55, 57, 61, 62, 63, 64, 65, 66, 71, 75, 76, 79, 81, 82, 83, 84, 85, 89, 91, 93, 94], "set": [0, 1, 2, 9, 13, 14, 15, 18, 25, 28, 30, 33, 34, 35, 41, 42, 43, 44, 45, 46, 49, 51, 55, 63, 65, 66, 68, 69, 77, 79, 80, 82, 83, 84, 85, 91], "empti": [0, 5, 13, 14, 15, 18, 20, 22, 25, 27, 28, 30, 32, 33, 37, 40, 41, 42, 44, 45, 46, 47, 48, 52, 54, 57, 61, 62, 63, 65, 68, 71, 75, 76, 77, 78, 79, 80, 84, 88, 90, 91], "likewis": [0, 1, 5, 7, 8, 19, 22, 30, 45, 63, 68, 76, 78, 79, 83], "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, 50, 52, 55, 57, 61, 62, 63, 65, 66, 68, 70, 73, 75, 76, 77, 78, 79, 83, 84, 85, 86, 91, 94, 95], "actual": [0, 1, 2, 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, 46, 47, 48, 51, 54, 55, 57, 61, 63, 64, 65, 66, 68, 75, 76, 78, 79, 80, 84, 85, 86, 90, 91, 93, 94], "though": [0, 2, 5, 6, 7, 8, 9, 10, 12, 13, 15, 19, 21, 22, 24, 25, 27, 28, 30, 31, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 52, 55, 62, 63, 64, 65, 66, 68, 74, 76, 77, 78, 79, 80, 83, 84, 88, 89, 91, 93, 94], "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, 50, 51, 54, 55, 57, 58, 61, 62, 63, 65, 66, 67, 68, 71, 75, 76, 78, 79, 80, 82, 83, 84, 89, 90, 91, 93, 94], "never": [0, 1, 5, 7, 8, 10, 13, 14, 18, 19, 24, 25, 27, 30, 40, 41, 42, 44, 45, 46, 48, 50, 53, 61, 63, 64, 66, 68, 70, 75, 76, 77, 78, 84, 89, 91, 94], "had": [0, 1, 2, 7, 12, 13, 17, 25, 33, 40, 41, 44, 45, 46, 50, 54, 56, 63, 66, 69, 70, 73, 76, 77, 78, 79, 80, 84, 86, 91, 93], "reason": [0, 1, 3, 7, 8, 10, 13, 18, 21, 22, 23, 24, 30, 33, 40, 42, 45, 46, 48, 57, 59, 61, 63, 65, 66, 73, 75, 76, 79, 80, 81, 84, 85, 89, 90, 91, 92, 93, 94], "mention": [0, 18, 25, 41, 44, 57, 66, 76, 80, 82, 91], "befor": [0, 1, 2, 4, 5, 7, 8, 9, 10, 12, 14, 16, 18, 19, 20, 22, 24, 25, 27, 28, 29, 33, 34, 35, 37, 40, 41, 44, 45, 46, 47, 48, 50, 54, 57, 62, 63, 64, 66, 70, 73, 75, 76, 77, 78, 79, 84, 89, 91, 92, 94], "defin": [0, 1, 6, 7, 8, 9, 12, 13, 15, 16, 18, 19, 22, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 44, 45, 46, 51, 52, 54, 55, 57, 61, 62, 63, 64, 65, 68, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 88, 91], "constructor": [0, 22, 25, 27, 28, 30, 31, 32, 35, 36, 39, 41, 42, 48, 50, 54, 62, 64, 65, 66, 68, 79, 82, 84, 87, 91], "could": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 18, 19, 20, 24, 25, 27, 28, 30, 33, 35, 38, 40, 41, 42, 45, 46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 62, 63, 64, 65, 66, 67, 71, 72, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 91, 93, 94], "anyth": [0, 4, 8, 10, 12, 16, 21, 25, 30, 32, 33, 41, 45, 46, 61, 63, 66, 76, 94], "want": [0, 1, 2, 3, 4, 7, 8, 9, 10, 12, 14, 16, 17, 18, 19, 20, 22, 25, 27, 30, 32, 33, 35, 36, 41, 42, 44, 45, 46, 48, 50, 51, 53, 54, 57, 58, 61, 62, 63, 64, 65, 66, 68, 70, 76, 77, 78, 79, 80, 84, 86, 91, 93, 94], "special": [0, 3, 5, 7, 10, 20, 29, 30, 34, 41, 46, 61, 63, 64, 65, 76, 77, 79, 84], "syntax": [0, 3, 7, 8, 9, 10, 11, 12, 22, 23, 27, 28, 32, 34, 35, 36, 39, 42, 45, 46, 48, 57, 58, 61, 62, 63, 64, 65, 66, 67, 68, 69, 78, 83, 84, 87, 90, 94], "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, 50, 52, 53, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 91, 93, 94], "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, 46, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 61, 62, 63, 65, 66, 68, 71, 73, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 88, 90, 91, 93], "note": [0, 1, 3, 5, 6, 7, 8, 9, 12, 13, 15, 16, 18, 19, 20, 26, 27, 28, 30, 35, 41, 42, 46, 48, 50, 53, 58, 61, 62, 63, 65, 66, 68, 69, 75, 76, 77, 78, 79, 83, 84, 86, 90, 91, 93, 94, 95], "might": [0, 1, 2, 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, 54, 55, 56, 57, 58, 59, 61, 63, 64, 65, 66, 67, 68, 71, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 88, 89, 91, 93, 94], "give": [0, 1, 3, 8, 9, 10, 14, 16, 17, 24, 25, 28, 30, 33, 38, 40, 41, 46, 47, 54, 57, 63, 66, 71, 73, 75, 76, 77, 78, 81, 83, 88, 91, 94], "editor": [0, 3, 4, 16, 33, 46, 93, 94], "troubl": [0, 8, 12, 40, 63, 83, 94], "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, 50, 52, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 68, 70, 73, 75, 76, 77, 78, 79, 80, 81, 83, 84, 91, 93, 94], "put": [0, 1, 2, 3, 7, 8, 10, 12, 33, 41, 42, 45, 46, 54, 57, 63, 65, 68, 72, 74, 75, 77, 78, 84, 86, 89, 91, 94], "doubl": [0, 1, 3, 5, 6, 7, 10, 12, 18, 20, 30, 40, 41, 42, 47, 52, 55, 62], "semicolon": [0, 3, 12, 45, 64, 91, 94], "after": [0, 2, 4, 5, 7, 8, 10, 16, 19, 20, 27, 28, 29, 30, 33, 35, 39, 40, 41, 42, 44, 45, 46, 47, 48, 50, 51, 54, 56, 60, 61, 64, 65, 66, 67, 68, 69, 70, 71, 75, 77, 78, 84, 87, 91, 93, 94], "get": [0, 1, 2, 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, 50, 54, 57, 58, 60, 62, 63, 65, 66, 68, 70, 73, 76, 77, 78, 79, 80, 82, 84, 85, 86, 87, 88, 91, 94], "format": [0, 5, 9, 10, 15, 19, 24, 30, 65, 74, 76, 77, 83, 93], "right": [0, 1, 2, 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, 57, 58, 61, 62, 63, 64, 65, 66, 71, 76, 77, 78, 79, 80, 84, 86, 88, 91, 93, 94], "exactli": [0, 4, 7, 8, 14, 18, 20, 25, 27, 28, 30, 35, 37, 40, 41, 42, 45, 46, 47, 54, 56, 62, 65, 66, 68, 75, 76, 77, 79, 84, 85, 86, 94], "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, 50, 51, 54, 55, 57, 61, 62, 63, 64, 65, 66, 68, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 90, 91, 93, 94], "under": [0, 2, 5, 7, 8, 10, 15, 19, 20, 34, 42, 46, 54, 57, 63, 94, 95], "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, 52, 54, 55, 57, 59, 61, 62, 63, 64, 66, 68, 69, 71, 73, 74, 76, 77, 78, 79, 80, 82, 84, 85, 86, 87, 89, 90, 91, 92, 94], "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, 46, 48, 50, 52, 54, 55, 56, 57, 58, 60, 61, 63, 64, 65, 66, 68, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 89, 91, 92, 94, 95], "transform": [0, 8, 12, 19, 30, 33, 42, 45, 46, 47, 52, 54, 55, 57, 64, 65, 66], "alreadi": [0, 1, 2, 3, 4, 5, 8, 9, 12, 13, 18, 19, 25, 26, 27, 28, 30, 34, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 54, 57, 61, 63, 66, 68, 71, 75, 76, 77, 78, 79, 84, 86, 89, 90, 91, 93, 94], "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, 52, 55, 57, 61, 62, 63, 64, 65, 66, 69, 75, 76, 77, 78, 79, 80, 82, 84, 86, 87, 88, 90, 91, 93, 94], "destruct": [0, 61, 73, 78, 90], "pair": [0, 4, 13, 14, 15, 18, 19, 23, 24, 25, 26, 27, 28, 31, 34, 35, 36, 42, 45, 51, 52, 55, 61, 62, 66, 75, 76, 77, 78, 79], "x": [0, 2, 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, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 63, 64, 65, 66, 68, 73, 75, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88, 90, 91, 94], "y": [0, 6, 7, 8, 13, 14, 15, 16, 19, 22, 28, 33, 34, 35, 44, 45, 46, 47, 51, 54, 55, 61, 62, 63, 65, 66, 73, 75, 76, 77, 79, 80, 83, 84, 86, 88, 90, 91, 94], "fst": [0, 34, 42, 51, 61, 62, 66, 78], "snd": [0, 34, 51, 61, 66, 76], "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, 50, 51, 53, 54, 55, 57, 58, 63, 68, 75, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88, 90, 91], "b": [0, 7, 8, 13, 15, 16, 19, 22, 23, 25, 26, 27, 28, 30, 34, 38, 41, 42, 44, 45, 46, 47, 48, 50, 51, 52, 54, 55, 57, 61, 62, 63, 65, 66, 68, 76, 78, 79, 80, 83, 84, 86, 88, 91], "fun": [0, 1, 3, 6, 7, 8, 10, 12, 14, 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, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 63, 64, 66, 76, 78, 79, 80, 83, 84, 86, 88, 90, 91, 94], "take": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 20, 22, 24, 25, 28, 30, 32, 33, 36, 37, 40, 41, 42, 43, 44, 45, 46, 48, 50, 51, 52, 54, 55, 56, 57, 58, 62, 63, 64, 65, 66, 68, 69, 70, 76, 77, 78, 79, 81, 83, 84, 85, 91, 93, 94], "back": [0, 4, 8, 11, 15, 17, 20, 22, 25, 30, 33, 35, 40, 41, 42, 45, 46, 47, 48, 54, 57, 61, 62, 63, 64, 66, 67, 68, 69, 75, 76, 78, 79, 84, 91, 94], "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, 50, 52, 54, 57, 61, 63, 64, 65, 66, 68, 71, 73, 75, 76, 77, 78, 79, 80, 82, 84, 85, 86, 87, 91, 94], "latter": [0, 1, 6, 7, 8, 13, 18, 23, 24, 30, 40, 45, 46, 50, 57, 65, 68, 76, 83, 86, 93], "piec": [0, 3, 4, 7, 9, 12, 17, 18, 19, 20, 22, 23, 24, 25, 27, 30, 33, 35, 42, 48, 60, 63, 64, 65, 66, 78, 81, 82], "individu": [0, 4, 7, 18, 20, 25, 33, 34, 39, 40, 54, 55, 63, 65, 66, 78, 93], "similarli": [0, 8, 13, 16, 18, 31, 42, 45, 46, 48, 55, 63, 65, 66, 78, 79, 84, 91], "extract": [0, 5, 28, 30, 32, 41, 45, 46, 48, 78, 79], "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, 46, 48, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 90, 91, 92, 93, 94], "thu": [0, 5, 7, 8, 13, 14, 19, 22, 25, 30, 32, 33, 35, 39, 40, 41, 42, 44, 45, 46, 50, 54, 57, 61, 63, 64, 65, 66, 68, 76, 78, 79, 82, 84, 86, 91, 92], "If": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 14, 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, 50, 52, 54, 57, 61, 62, 63, 65, 66, 68, 70, 75, 77, 78, 79, 80, 81, 84, 85, 86, 87, 91, 93, 94], "produc": [0, 1, 3, 6, 7, 8, 12, 14, 18, 19, 20, 23, 25, 27, 30, 32, 33, 34, 35, 39, 41, 42, 45, 46, 48, 52, 57, 58, 61, 62, 63, 64, 65, 66, 68, 73, 77, 78, 79, 82, 86, 88, 91, 93], "In": [0, 1, 2, 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, 52, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 89, 90, 91, 93, 94], "discret": [0, 17, 23, 65, 67, 68, 81, 93], "mathemat": [0, 1, 4, 5, 7, 8, 9, 16, 17, 18, 19, 22, 23, 24, 30, 31, 42, 45, 48, 52, 57, 61, 63, 65, 66, 67, 68, 72, 73, 75, 93], "class": [0, 1, 4, 8, 10, 14, 23, 30, 45, 46, 63, 65, 70, 71, 73, 74, 75, 76, 78, 79, 80, 81, 82, 85, 91], "order": [0, 1, 8, 14, 15, 19, 20, 27, 28, 30, 34, 35, 36, 37, 41, 42, 45, 46, 47, 48, 50, 51, 52, 54, 57, 58, 59, 62, 63, 64, 65, 76, 77, 78, 79, 80, 81, 84, 90, 91, 93], "statement": [0, 1, 4, 7, 10, 40, 45, 46, 71, 77, 80, 84], "hold": [0, 7, 13, 16, 18, 19, 20, 30, 34, 35, 40, 41, 42, 45, 46, 63, 66, 68, 77, 81, 84, 91], "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, 50, 52, 54, 55, 57, 59, 62, 63, 64, 65, 66, 68, 76, 77, 78, 79, 80, 81, 84, 85, 86, 87, 88, 91, 93, 94], "conjunct": [0, 7, 15, 19, 87], "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, 52, 61, 63, 64, 65, 66, 68, 75, 78, 79, 80, 81, 83, 84, 90, 91, 94], "well": [0, 1, 2, 4, 5, 7, 8, 9, 14, 15, 16, 18, 19, 20, 21, 23, 24, 30, 41, 42, 45, 46, 48, 50, 54, 57, 62, 63, 65, 66, 67, 68, 70, 72, 73, 76, 77, 78, 79, 80, 81, 84, 91, 93, 94], "conclud": [0, 8, 13, 19, 34, 40, 63], "pattern": [0, 14, 20, 22, 25, 28, 29, 32, 35, 36, 37, 40, 41, 45, 47, 48, 49, 50, 51, 54, 55, 56, 57, 62, 63, 64, 66, 68, 70, 73, 76, 78], "denot": [0, 8, 25, 48, 61, 65, 66, 84], "implic": [0, 14, 15, 42, 94], "form": [0, 3, 6, 8, 9, 13, 14, 15, 18, 19, 21, 23, 25, 27, 30, 34, 35, 39, 42, 45, 52, 58, 59, 62, 63, 66, 67, 68, 77, 79, 81, 82, 84, 93, 95], "thei": [0, 1, 2, 3, 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, 36, 37, 38, 40, 41, 42, 44, 45, 46, 47, 48, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 69, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 93, 94, 95], "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, 51, 52, 55, 57, 58, 63, 65, 66, 69, 72, 75, 76, 78, 79, 80, 82, 84, 91, 93], "notic": [0, 6, 8, 18, 20, 25, 27, 30, 33, 37, 40, 44, 45, 46, 47, 48, 54, 57, 63, 64, 75, 76, 77, 79, 83, 84], "how": [0, 1, 2, 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, 50, 51, 52, 53, 54, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 73, 74, 75, 76, 77, 78, 80, 81, 83, 84, 86, 91, 93, 94], "given": [0, 6, 7, 8, 9, 12, 13, 14, 18, 20, 21, 26, 27, 28, 30, 32, 33, 34, 35, 39, 42, 44, 46, 47, 52, 55, 63, 66, 77, 79, 82, 83, 85, 90, 91, 94], "same": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 15, 16, 18, 19, 20, 22, 25, 26, 27, 28, 30, 34, 35, 40, 41, 42, 44, 45, 46, 47, 48, 50, 52, 53, 54, 55, 57, 58, 61, 63, 64, 65, 66, 67, 68, 69, 73, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 90, 91, 93, 94], "fact": [0, 1, 4, 6, 7, 8, 13, 14, 16, 17, 19, 20, 22, 24, 25, 30, 33, 34, 40, 45, 46, 48, 52, 54, 57, 58, 61, 62, 63, 66, 71, 76, 78, 79, 80, 82, 83, 84, 89, 90, 91], "close": [0, 2, 6, 15, 18, 19, 20, 21, 32, 33, 40, 41, 42, 54, 58, 65, 69, 80, 84, 94], "look": [0, 2, 4, 7, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 22, 26, 30, 33, 35, 40, 41, 42, 43, 44, 45, 46, 48, 54, 57, 61, 63, 64, 65, 66, 68, 76, 77, 78, 79, 80, 81, 84, 90, 91, 93, 94], "compar": [0, 1, 6, 8, 9, 18, 19, 20, 22, 24, 28, 37, 41, 42, 44, 45, 46, 47, 50, 52, 58, 62, 63, 77, 78, 79, 80, 82, 83, 84, 91], "describ": [0, 3, 5, 7, 8, 13, 16, 18, 19, 21, 41, 42, 46, 65, 67, 75, 77, 82, 86, 94], "valid": [0, 4, 6, 13, 16, 18, 19, 23, 28, 34, 44, 52, 65, 72, 84], "replac": [0, 1, 7, 8, 19, 33, 42, 45, 47, 50, 52, 54, 63, 64, 65, 66, 68, 73, 76, 80, 83, 91], "ident": [0, 7, 8, 13, 18, 19, 23, 41, 45, 49, 50, 54, 63, 66, 79, 80, 91], "discov": [0, 4, 9, 15, 16, 19, 24, 33, 45, 48, 53, 54, 57, 63, 66, 84, 94], "accid": [0, 8, 30, 45, 46, 53], "occur": [0, 2, 4, 5, 6, 7, 8, 12, 15, 17, 18, 22, 30, 37, 39, 40, 41, 42, 45, 46, 47, 57, 61, 62, 63, 64, 65, 66, 68, 73, 77, 78, 80, 84, 91, 94], "three": [0, 1, 2, 4, 5, 6, 7, 8, 14, 17, 18, 19, 20, 24, 27, 28, 30, 31, 33, 35, 40, 41, 42, 45, 46, 50, 52, 54, 55, 62, 64, 65, 66, 77, 78, 87, 93, 94], "specif": [0, 4, 8, 14, 15, 17, 18, 20, 23, 24, 27, 28, 30, 33, 41, 44, 45, 46, 48, 57, 64, 69, 70, 75, 76, 77, 79, 80, 81, 84, 85, 94], "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, 46, 48, 57, 58, 60, 62, 63, 65, 66, 68, 69, 75, 76, 77, 79, 80, 81, 83, 84, 85, 86, 90, 91, 94], "deep": [0, 8, 10, 48, 49], "phenomenon": [0, 7, 47, 63], "link": [0, 3, 14, 23, 25, 30, 33, 35, 36, 42, 48, 57, 78, 84, 94], "field": [0, 20, 28, 35, 36, 41, 45, 46, 64, 70, 76, 77, 78, 80, 88, 91, 92], "aspect": [0, 8, 9, 18, 85], "been": [0, 1, 3, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 24, 25, 28, 34, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 52, 53, 56, 57, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 75, 76, 77, 79, 80, 82, 84, 86, 88, 91, 93, 94], "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, 46, 48, 52, 53, 54, 55, 57, 62, 63, 64, 65, 66, 68, 69, 72, 73, 75, 78, 79, 81, 82, 84, 85, 87, 88, 89, 91, 93, 94], "peopl": [0, 1, 6, 16, 21, 24, 33, 51, 57, 63, 66], "work": [0, 1, 2, 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, 50, 54, 55, 57, 62, 63, 64, 66, 69, 72, 73, 75, 76, 77, 79, 80, 81, 82, 83, 84, 86, 91, 94, 95], "area": [0, 6, 25, 55, 63, 79], "goe": [0, 7, 8, 21, 25, 33, 40, 41, 42, 45, 46, 54, 64, 73, 75, 81], "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, 46, 51, 53, 54, 55, 57, 58, 61, 62, 63, 64, 65, 66, 67, 68, 69, 75, 76, 77, 78, 79, 80, 82, 83, 84, 86, 88, 90, 94], "One": [0, 1, 7, 8, 9, 12, 14, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28, 35, 40, 41, 42, 44, 45, 46, 47, 50, 54, 57, 62, 63, 65, 66, 75, 76, 78, 80, 81, 83, 84, 85, 86, 89, 91, 93], "common": [0, 1, 4, 9, 10, 12, 14, 16, 19, 21, 23, 24, 27, 28, 30, 42, 44, 47, 54, 57, 64, 71, 73, 76, 77, 80, 82, 84, 94, 95], "logician": [0, 51], "haskel": [0, 23, 30, 32, 33, 45, 46, 48, 51, 66, 70, 72, 73], "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, 48, 53, 54, 55, 57, 58, 59, 61, 63, 65, 66, 68, 69, 71, 72, 76, 77, 78, 79, 80, 81, 83, 84, 85, 91, 93], "aka": [0, 7, 13, 14, 15, 20, 29, 46, 48, 50, 65, 67, 68, 77, 78, 82, 86, 94], "seen": [0, 1, 8, 10, 11, 18, 19, 22, 25, 39, 41, 42, 44, 45, 46, 47, 50, 51, 54, 55, 57, 61, 63, 66, 76, 78, 79, 83, 84, 85, 89, 90, 91], "first": [0, 1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 27, 28, 30, 33, 34, 35, 40, 41, 42, 44, 45, 46, 47, 48, 50, 51, 52, 54, 55, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 85, 86, 88, 90, 91, 93, 94], "themselv": [0, 7, 42, 48, 61, 66, 78, 84, 87, 91], "done": [0, 3, 5, 7, 8, 9, 14, 17, 18, 30, 33, 40, 41, 42, 45, 46, 47, 48, 50, 54, 59, 62, 63, 64, 72, 75, 77, 81, 83, 87, 94], "involv": [0, 2, 4, 8, 13, 19, 21, 22, 24, 25, 30, 33, 35, 41, 42, 45, 47, 61, 62, 63, 64, 73, 79, 81, 84, 86, 91, 94], "haven": [0, 7, 10, 25, 30, 39, 48, 63, 66, 76, 81], "third": [0, 1, 4, 8, 16, 17, 19, 23, 28, 30, 46, 51, 54, 55, 62, 63, 65, 66, 76, 80, 91, 93, 94], "yet": [0, 1, 2, 7, 8, 12, 13, 14, 17, 18, 25, 30, 34, 39, 41, 46, 52, 57, 62, 63, 66, 80, 82, 84, 86, 91], "later": [0, 2, 4, 7, 8, 13, 16, 22, 25, 26, 27, 29, 30, 33, 35, 39, 40, 45, 46, 47, 48, 56, 57, 61, 63, 64, 65, 66, 69, 72, 75, 78, 84, 87, 91, 94], "dig": [0, 93], "appreci": [0, 42, 45, 54, 71, 74, 85, 93, 94], "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, 46, 47, 48, 50, 51, 52, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 68, 70, 71, 73, 75, 78, 79, 80, 81, 82, 83, 85, 89, 91, 93, 94], "more": [0, 1, 2, 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, 52, 54, 55, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 73, 76, 77, 78, 79, 81, 83, 84, 85, 88, 89, 91, 93, 94], "fulli": [0, 24, 64], "creat": [0, 2, 3, 6, 8, 12, 13, 14, 15, 18, 19, 20, 22, 27, 28, 30, 32, 33, 36, 41, 42, 44, 45, 46, 47, 48, 53, 55, 57, 63, 65, 75, 76, 77, 78, 79, 80, 84, 86, 87, 88, 89, 91, 95], "atom": [0, 1, 15], "negat": [0, 15, 45, 64, 91], "disjunct": [0, 7, 15], "bnf": [0, 62, 65, 66, 67], "p": [0, 6, 14, 15, 19, 22, 25, 27, 28, 30, 34, 41, 46, 50, 52, 53, 54, 55, 57, 62, 63, 77, 79, 90, 91, 95], "identifi": [0, 1, 5, 7, 8, 11, 12, 14, 21, 30, 34, 35, 39, 62, 63, 64, 65, 66, 68, 84], "rain": [0, 15], "snow": [0, 15], "cold": [0, 15, 73], "state": [0, 2, 5, 8, 15, 16, 19, 20, 21, 22, 23, 32, 45, 46, 55, 61, 63, 66, 73, 74, 77], "simultan": [0, 15, 46, 76], "weather": [0, 15], "condit": [0, 5, 7, 15, 16, 18, 19, 23, 46, 47, 49, 66, 68], "known": [0, 4, 7, 8, 10, 14, 15, 16, 19, 21, 22, 24, 26, 35, 41, 42, 46, 56, 63, 65, 66, 68, 69, 73, 78, 80, 81, 84], "ithac": [0, 15], "world": [0, 1, 3, 6, 10, 11, 25, 36, 40, 41, 42, 45, 49, 59, 63, 67, 74, 80, 81, 83, 85, 86, 91, 92, 93], "distinguish": [0, 7, 8, 14, 18, 39, 40, 46, 65, 79], "written": [0, 1, 5, 6, 7, 8, 9, 10, 14, 16, 17, 18, 21, 23, 30, 33, 35, 42, 45, 46, 47, 50, 51, 52, 55, 63, 65, 66, 68, 71, 72, 74, 75, 76, 77, 78, 79, 81, 84, 88, 91, 93], "fals": [0, 6, 7, 13, 20, 25, 28, 30, 31, 37, 41, 46, 47, 52, 53, 54, 61, 62, 65, 66, 75, 76, 78, 79, 84, 87, 91], "respect": [0, 10, 16, 30, 41, 44, 65, 69, 78, 81], "togeth": [0, 1, 8, 9, 10, 18, 22, 41, 42, 45, 46, 52, 58, 63, 64, 65, 68, 71, 72, 79, 81, 82, 85, 86, 94, 95], "assert": [0, 4, 6, 11, 18, 19, 23, 33, 41, 45, 46, 55, 84], "product": [0, 4, 9, 16, 18, 25, 28, 35, 36, 46, 52, 64, 65, 81], "other": [0, 1, 2, 3, 4, 7, 8, 9, 10, 12, 13, 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, 52, 55, 56, 58, 59, 61, 62, 63, 64, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 91, 93, 94], "word": [0, 1, 2, 5, 7, 8, 9, 13, 17, 19, 24, 25, 30, 35, 39, 40, 44, 45, 46, 47, 57, 64, 65, 66, 68, 69, 75, 76, 77, 78, 79, 84, 91, 94, 95], "assum": [0, 1, 2, 6, 8, 13, 15, 19, 21, 25, 28, 34, 40, 41, 42, 44, 46, 62, 65, 66, 78, 93, 94], "sens": [0, 8, 14, 16, 17, 18, 19, 20, 22, 27, 42, 45, 48, 50, 57, 62, 63, 65, 66, 76, 81, 84, 85, 90], "even": [0, 1, 2, 4, 5, 7, 8, 9, 10, 14, 15, 16, 17, 19, 20, 21, 24, 25, 31, 32, 33, 36, 40, 41, 42, 45, 46, 47, 48, 51, 52, 53, 54, 55, 57, 61, 63, 64, 66, 69, 70, 73, 76, 77, 78, 79, 80, 81, 83, 84, 91, 94], "clearli": [0, 14, 16, 24, 42, 45, 50, 57, 85, 91], "Such": [0, 5, 13, 17, 19, 22, 25, 31, 63, 65], "exhibit": [0, 20, 77], "appli": [0, 1, 4, 6, 8, 12, 13, 15, 16, 17, 18, 19, 20, 22, 24, 27, 30, 40, 41, 44, 45, 46, 48, 50, 51, 52, 53, 54, 55, 57, 59, 61, 62, 63, 66, 76, 77, 78, 79, 80, 84, 91], "difficult": [0, 7, 16, 17, 19, 22, 24, 25, 41, 42, 46, 73, 81, 89], "concis": [0, 5, 16, 47], "either": [0, 4, 7, 8, 9, 10, 14, 18, 21, 22, 24, 25, 27, 28, 30, 31, 32, 40, 41, 45, 46, 47, 52, 56, 57, 61, 63, 65, 66, 68, 69, 75, 77, 79, 80, 82, 84, 94], "strengthen": [0, 19, 41, 47], "further": [0, 4, 14, 16, 19, 21, 22, 30, 44, 46, 47, 63, 64, 66, 76, 84, 94], "specifi": [0, 4, 5, 7, 8, 10, 14, 15, 16, 20, 21, 27, 30, 42, 57, 65, 66, 68, 73, 76, 77, 79, 81, 83, 84], "why": [0, 4, 7, 8, 15, 18, 19, 24, 28, 29, 30, 33, 34, 40, 41, 42, 44, 46, 47, 48, 50, 53, 54, 57, 61, 62, 63, 66, 71, 73, 76, 77, 79, 80, 84, 90, 91], "matter": [0, 1, 7, 8, 13, 15, 16, 20, 28, 30, 40, 42, 46, 47, 48, 52, 54, 57, 61, 63, 67, 71, 78, 84, 91, 94], "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, 48, 50, 53, 58, 62, 63, 66, 75, 76, 77, 79, 80, 81, 86, 91], "were": [0, 4, 5, 6, 9, 10, 13, 16, 17, 19, 22, 25, 30, 33, 40, 42, 43, 45, 47, 48, 55, 56, 57, 63, 64, 65, 66, 69, 71, 72, 73, 76, 77, 78, 79, 80, 83, 84, 86, 93, 94], "twin": 0, "prime": [0, 30, 41, 48, 55], "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, 46, 47, 48, 50, 52, 54, 61, 62, 63, 66, 72, 73, 76, 78, 79, 80, 81, 84, 86, 91, 93, 94], "infinit": [0, 7, 16, 19, 25, 27, 41, 43, 45, 46, 48, 49, 62, 66], "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, 52, 53, 57, 58, 63, 76, 77, 78, 79, 80, 83, 84, 87, 88, 90, 91], "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, 52, 53, 54, 55, 56, 57, 58, 61, 62, 63, 64, 65, 66, 67, 74, 76, 77, 78, 79, 80, 83, 84, 85, 87, 88, 91, 94], "3": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18, 19, 22, 23, 25, 28, 30, 33, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47, 48, 52, 53, 54, 55, 56, 57, 59, 62, 63, 64, 65, 66, 75, 76, 77, 78, 80, 84, 86, 88, 90, 91], "5": [0, 1, 6, 7, 8, 10, 12, 13, 15, 22, 23, 28, 30, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 55, 59, 62, 63, 66, 67, 68, 70, 76, 78, 80, 84, 86, 87, 90, 91, 94], "7": [0, 1, 6, 7, 8, 12, 13, 22, 30, 36, 37, 39, 40, 41, 42, 45, 47, 48, 52, 62, 76, 79, 80, 84, 88, 91, 92], "tp": 0, "Then": [0, 2, 3, 8, 15, 17, 19, 27, 30, 33, 40, 41, 42, 44, 50, 54, 55, 57, 58, 62, 63, 64, 65, 66, 69, 75, 76, 77, 78, 80, 83, 86, 88, 91, 93, 94], "seem": [0, 1, 6, 7, 8, 22, 24, 25, 27, 30, 33, 42, 44, 45, 48, 54, 55, 57, 61, 66, 67, 69, 75, 76, 79, 80, 83, 84, 85, 91], "aren": [0, 1, 8, 17, 18, 26, 28, 45, 54, 65, 66, 73, 76, 80, 94], "wouldn": [0, 4, 45, 71, 76, 80, 83], "figur": [0, 12, 18, 22, 42, 44, 47, 54, 63, 64, 66, 73, 78, 79, 80], "side": [0, 3, 7, 10, 13, 14, 19, 22, 26, 30, 34, 35, 43, 44, 45, 48, 61, 63, 65, 66, 72, 73, 74, 79, 80, 81, 84, 87, 89], "left": [0, 2, 7, 8, 12, 18, 19, 22, 25, 26, 27, 30, 34, 35, 37, 41, 42, 44, 45, 46, 47, 49, 50, 57, 58, 61, 62, 63, 65, 66, 76, 77, 78, 79, 84, 88, 90, 91, 94], "disproof": 0, "No": [0, 1, 16, 17, 21, 30, 42, 63, 71, 76, 77, 78], "know": [0, 1, 2, 3, 4, 7, 8, 9, 10, 12, 14, 16, 17, 18, 19, 20, 22, 23, 27, 32, 33, 41, 42, 45, 48, 50, 51, 54, 61, 63, 64, 65, 66, 68, 70, 71, 76, 77, 78, 79, 80, 81, 84, 90, 91, 93], "current": [0, 1, 3, 8, 12, 20, 27, 30, 40, 41, 42, 44, 46, 57, 61, 66, 78, 84, 88, 91, 93, 94], "henceforth": [0, 14, 19, 46, 94], "stronger": [0, 19, 47], "whether": [0, 1, 4, 7, 8, 9, 12, 14, 15, 16, 18, 19, 20, 24, 25, 26, 27, 28, 30, 31, 33, 35, 37, 38, 39, 41, 42, 45, 46, 52, 53, 54, 55, 62, 63, 64, 65, 66, 68, 76, 77, 78, 79, 84, 91, 94], "necessarili": [0, 8, 15, 17, 24, 42, 45, 46, 55, 64, 71, 77, 79, 82], "own": [0, 2, 4, 8, 9, 15, 16, 18, 20, 22, 25, 28, 33, 41, 42, 45, 51, 54, 57, 63, 65, 69, 71, 72, 77, 78, 79, 81, 84, 86, 91, 93, 94], "technic": [0, 8, 19, 45, 55, 63, 66, 76, 93], "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, 52, 53, 54, 55, 57, 58, 59, 62, 63, 64, 65, 66, 70, 71, 73, 76, 77, 78, 79, 80, 81, 84, 85, 86, 87, 89, 90, 91, 94], "classic": [0, 16, 72], "tradit": [0, 66, 68], "understood": [0, 7, 10, 18, 21, 34, 40, 45, 65, 78], "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, 54, 55, 57, 61, 62, 63, 64, 65, 66, 69, 71, 74, 75, 76, 77, 78, 79, 81, 84, 91, 93, 94], "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, 50, 51, 52, 54, 55, 56, 57, 58, 62, 63, 64, 65, 66, 71, 73, 76, 77, 78, 79, 84, 85, 87, 88, 90, 91, 94], "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, 52, 54, 55, 58, 62, 63, 64, 65, 66, 76, 77, 80, 82, 84], "disj": 0, "v": [0, 1, 2, 7, 8, 15, 19, 22, 25, 26, 27, 30, 32, 34, 35, 41, 42, 44, 48, 50, 61, 62, 66, 68, 76, 77, 78, 79, 87, 90, 91, 93, 94], "where": [0, 1, 4, 6, 7, 8, 14, 15, 16, 17, 18, 19, 22, 24, 27, 28, 30, 35, 40, 41, 42, 43, 44, 45, 46, 47, 54, 61, 62, 63, 64, 65, 66, 68, 76, 77, 78, 79, 83, 84, 87, 88, 89, 91, 93, 94], "i": [0, 1, 2, 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, 47, 48, 57, 58, 61, 62, 63, 65, 66, 68, 71, 72, 73, 77, 78, 81, 83, 84, 87, 88, 89, 91, 92, 94], "tag": [0, 3, 5, 25, 36, 66], "ii": [0, 28, 30, 41, 46, 84, 94], "carri": [0, 22, 27, 28, 36, 37, 41, 46, 65, 66, 81], "within": [0, 1, 6, 14, 18, 30, 39, 41, 42, 46, 64, 84, 87], "sub": [0, 8, 25, 41, 44, 54, 66, 84], "subvalu": 0, "therefor": [0, 1, 4, 7, 8, 14, 18, 19, 21, 22, 26, 40, 42, 46, 47, 48, 56, 61, 63, 64, 66, 76, 78, 79, 80, 81, 82, 84, 86, 93], "union": [0, 18, 25, 30, 35, 44, 66, 79], "guarante": [0, 1, 4, 5, 14, 16, 19, 21, 24, 25, 27, 30, 32, 40, 42, 46, 47, 64, 66, 68, 73, 78, 79, 84, 89, 91], "simplest": [0, 13, 24, 33, 39, 42, 66, 79], "unit": [0, 1, 4, 7, 9, 17, 20, 21, 27, 28, 29, 40, 41, 42, 46, 48, 52, 55, 63, 76, 77, 78, 79, 83, 85, 86, 87, 88, 90, 91, 93], "best": [0, 4, 7, 8, 10, 12, 34, 42, 44, 46, 47, 50, 58, 61, 65, 82, 84, 94], "introduc": [0, 7, 13, 14, 18, 24, 30, 33, 37, 39, 41, 46, 62, 63, 66, 68, 70, 72, 77, 78, 91], "earlier": [0, 4, 10, 12, 13, 22, 40, 46, 63, 68, 75, 76, 77, 78, 79, 80, 84, 94], "includ": [0, 1, 3, 7, 8, 9, 10, 14, 15, 18, 20, 21, 23, 24, 25, 28, 29, 30, 32, 35, 36, 40, 42, 44, 46, 47, 55, 57, 63, 64, 65, 66, 68, 69, 72, 76, 77, 79, 82, 84, 85, 91, 93, 94], "zero": [0, 1, 8, 14, 15, 16, 19, 22, 28, 31, 40, 41, 45, 66, 77, 79, 83], "void": [0, 8, 10, 78, 91], "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, 48, 50, 54, 55, 56, 57, 58, 60, 61, 63, 64, 65, 66, 68, 70, 71, 73, 75, 76, 78, 79, 84, 89, 91, 93, 94], "stick": [0, 7, 17, 78, 91], "subtleti": 0, "should": [0, 1, 2, 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, 50, 52, 57, 61, 62, 63, 64, 65, 66, 68, 72, 75, 76, 77, 79, 80, 81, 84, 88, 91, 93, 94], "address": [0, 18, 42, 46, 47, 49, 54, 63, 91, 92], "nonetheless": [0, 7, 19, 46, 48, 61, 63, 66, 90, 94], "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, 50, 52, 53, 54, 55, 57, 59, 62, 63, 64, 65, 66, 68, 71, 75, 76, 77, 78, 79, 80, 83, 84, 88, 90, 91, 93, 94], "rec": [0, 4, 5, 8, 15, 19, 20, 22, 25, 26, 28, 30, 31, 32, 33, 37, 41, 44, 47, 48, 50, 52, 53, 54, 57, 58, 62, 66, 68, 76, 77, 79, 80, 84, 90], "loop": [0, 7, 8, 12, 15, 16, 19, 27, 41, 45, 46, 48, 49, 58, 62, 64, 71, 77, 88, 92], "enter": [0, 3, 6, 7, 8, 12, 20, 40, 41, 46, 63, 64, 69, 78, 84, 86, 93, 94], "code": [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 14, 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, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 70, 71, 73, 75, 76, 77, 78, 79, 81, 82, 84, 85, 86, 87, 88, 89, 90, 91, 93, 95], "utop": [0, 6, 7, 12, 20, 46, 61, 62, 63, 65, 66, 75, 77, 84, 86, 88, 94], "respons": [0, 5, 8, 12, 20, 33, 42, 46, 64, 73, 76, 77, 78, 79, 81, 84, 91, 92, 93], "e": [0, 1, 2, 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, 55, 57, 61, 62, 63, 64, 65, 66, 68, 72, 73, 75, 76, 77, 78, 79, 81, 84, 86, 87, 91, 94], "successfulli": [0, 7, 16, 25, 35, 48, 57, 63, 81, 86, 94], "failwith": [0, 4, 18, 27, 31, 33, 41, 44, 46, 47, 48, 66, 68], "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, 48, 57, 61, 62, 63, 66, 68, 75, 76, 77, 79, 83, 84, 90, 91, 93], "failur": [0, 4, 7, 13, 15, 17, 20, 23, 24, 27, 28, 30, 46, 48, 68], "rais": [0, 4, 5, 6, 7, 13, 14, 18, 19, 23, 27, 28, 30, 32, 33, 34, 41, 45, 46, 48, 55, 61, 62, 63, 66, 68, 75, 76, 77, 78, 79, 84, 87, 90, 91], "stdlib": [0, 7, 18, 20, 28, 33, 42, 45, 46, 48, 52, 68, 77, 78, 79, 80, 83, 84, 90, 91], "file": [0, 2, 7, 8, 9, 10, 12, 14, 20, 21, 25, 27, 30, 33, 39, 41, 45, 46, 48, 54, 65, 75, 76, 77, 78, 79, 80, 84, 86, 90, 91, 94], "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, 46, 48, 50, 52, 54, 62, 63, 65, 66, 72, 76, 77, 78, 79, 80, 84, 86, 90, 91, 94], "29": [0, 28, 30, 48], "charact": [0, 5, 7, 8, 10, 12, 25, 27, 30, 33, 34, 39, 41, 42, 45, 46, 48, 50, 54, 64, 65, 66, 76, 77, 78, 79, 80, 84, 86, 90, 91], "17": [0, 8, 25, 30, 41, 42, 48, 54, 62, 76, 79, 84, 91], "33": [0, 7, 27, 30, 42, 46, 48, 78, 79, 84, 91], "unknown": [0, 7, 8, 24, 30, 48, 63, 91], "locat": [0, 4, 7, 41, 42, 46, 48, 63, 80, 91], "stdlib__fun": [0, 7, 27, 46, 48, 79, 91], "protect": [0, 7, 21, 27, 46, 48, 76, 79, 82, 85, 91], "8": [0, 1, 6, 7, 8, 11, 25, 27, 30, 36, 40, 41, 42, 46, 48, 49, 52, 55, 56, 57, 59, 62, 76, 79, 80, 85, 86, 90, 91, 92], "15": [0, 7, 8, 25, 27, 30, 41, 46, 48, 76, 79, 84, 91], "38": [0, 7, 8, 24, 27, 30, 46, 48, 79, 84, 91], "6": [0, 1, 7, 8, 13, 16, 22, 23, 27, 30, 35, 36, 37, 39, 40, 41, 42, 45, 46, 47, 48, 54, 55, 58, 59, 62, 66, 69, 76, 77, 78, 79, 80, 84, 91], "52": [0, 7, 27, 28, 30, 46, 48, 79, 91], "topev": [0, 7, 27, 46, 48, 79, 91], "load_lambda": [0, 7, 27, 46, 48, 79, 91], "toplevel": [0, 3, 6, 7, 8, 9, 18, 27, 33, 34, 46, 48, 52, 54, 63, 76, 79, 83, 84, 90, 91, 94], "byte": [0, 1, 3, 7, 27, 42, 46, 48, 79, 91], "89": [0, 7, 20, 27, 30, 46, 48, 79, 91], "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, 46, 47, 48, 49, 53, 57, 58, 62, 63, 76, 78, 79, 80, 84, 85, 88, 91, 95], "150": [0, 7, 24, 27, 30, 46, 48, 79, 91], "again": [0, 1, 2, 4, 5, 7, 8, 12, 13, 14, 20, 22, 24, 27, 28, 30, 35, 39, 40, 41, 42, 44, 45, 46, 48, 53, 54, 57, 60, 62, 63, 65, 66, 70, 76, 77, 79, 91, 94], "total": [0, 16, 19, 23, 40, 41, 44, 45, 47, 48, 52, 57, 78, 79], "rule": [0, 7, 8, 9, 16, 19, 21, 27, 30, 34, 35, 61, 62, 63, 64, 65, 66, 68, 80, 84, 91], "elimin": [0, 4, 13, 32, 47, 50, 55, 63, 64, 66, 68, 69, 75, 77, 79], "did": [0, 5, 7, 8, 12, 14, 17, 18, 21, 24, 26, 27, 30, 33, 40, 42, 45, 46, 48, 49, 50, 51, 52, 53, 62, 63, 65, 66, 75, 76, 77, 79, 80, 84, 86, 90, 91, 94], "start": [0, 1, 3, 4, 5, 7, 8, 10, 12, 14, 16, 18, 19, 20, 22, 24, 25, 28, 30, 33, 40, 41, 44, 45, 46, 47, 48, 54, 60, 63, 65, 66, 68, 77, 80, 84, 86, 87, 88, 91, 93, 94, 95], "discuss": [0, 4, 14, 16, 18, 19, 20, 22, 30, 33, 39, 42, 43, 45, 46, 48, 52, 57, 59, 65, 69, 77, 79, 82, 84], "method": [0, 4, 7, 8, 10, 19, 23, 24, 33, 40, 49, 57, 59, 73, 76, 78, 80, 81, 84, 85, 91], "continu": [0, 4, 5, 10, 16, 21, 27, 33, 35, 40, 41, 44, 45, 46, 47, 48, 62, 63, 66, 68, 69, 94], "trickiest": [0, 46], "syntact": [0, 7, 8, 9, 19, 27, 30, 34, 35, 36, 50, 52, 54, 62, 63, 65, 66, 68, 79, 80, 83, 84], "sugar": [0, 8, 27, 30, 35, 36, 50, 54, 62, 63, 66, 79, 80, 83], "particular": [0, 1, 4, 8, 9, 14, 20, 24, 25, 29, 30, 33, 45, 48, 63, 68, 74, 75, 77, 79, 84, 86, 90, 91, 94], "lead": [0, 7, 8, 13, 14, 16, 20, 22, 25, 31, 32, 41, 42, 46, 47, 51, 57, 63, 66, 75, 80, 84, 91, 93, 94], "contradict": 0, "standard": [0, 1, 4, 5, 7, 9, 18, 20, 26, 27, 28, 29, 30, 33, 34, 37, 41, 46, 47, 48, 49, 53, 54, 57, 59, 61, 65, 68, 69, 72, 74, 75, 76, 77, 78, 79, 84, 91, 93], "understand": [0, 1, 7, 8, 9, 11, 14, 16, 17, 20, 24, 30, 33, 40, 42, 45, 46, 54, 57, 60, 61, 64, 66, 71, 73, 75, 80, 81, 83, 84, 85, 93], "whose": [0, 3, 8, 14, 15, 18, 20, 21, 25, 27, 28, 30, 33, 34, 35, 41, 42, 44, 45, 46, 48, 52, 53, 61, 66, 72, 76, 77, 78, 79, 84, 87, 90, 91], "ongo": [0, 21, 63], "assumpt": [0, 7, 8, 15, 19, 21, 34, 40], "input": [0, 1, 5, 6, 8, 10, 12, 14, 15, 16, 18, 19, 20, 21, 23, 24, 27, 28, 30, 33, 41, 42, 44, 45, 46, 47, 48, 49, 52, 55, 56, 57, 63, 64, 65, 73, 76, 77, 78, 79, 84, 85, 88, 91], "enabl": [0, 2, 12, 14, 18, 20, 21, 35, 41, 45, 46, 55, 56, 65, 73, 79, 80, 82, 85, 89, 91, 94], "level": [0, 3, 15, 16, 22, 45, 46, 47, 60, 63, 64, 65, 69, 86, 91, 93, 94], "deeper": [0, 40, 46, 93], "everi": [0, 1, 3, 7, 8, 13, 14, 18, 21, 25, 27, 30, 32, 33, 40, 41, 42, 44, 45, 47, 48, 52, 54, 55, 58, 61, 62, 63, 65, 75, 77, 78, 80, 81, 84, 85, 86, 88, 91], "sinc": [0, 7, 8, 9, 13, 18, 19, 20, 27, 30, 40, 41, 42, 44, 45, 46, 47, 48, 52, 56, 57, 61, 63, 65, 66, 68, 76, 78, 79, 83, 84, 91, 93], "checker": [0, 25, 63, 66, 67], "verifi": [0, 4, 13, 19, 24, 73], "detail": [0, 2, 5, 8, 19, 21, 27, 30, 41, 45, 46, 60, 64, 65, 66, 75, 76, 79, 81, 82, 84, 86, 91, 94], "compel": [0, 25], "restrict": [0, 8, 9, 16, 19, 21, 30, 35, 42, 50, 63, 67, 79, 84, 91], "attent": [0, 4, 21, 42, 54, 66, 94], "equival": [0, 2, 5, 7, 8, 10, 13, 19, 27, 32, 35, 40, 42, 46, 47, 50, 52, 57, 58, 66, 78, 79, 84, 85, 90, 91], "gave": [0, 1, 13, 45, 66, 80, 91], "variabl": [0, 1, 4, 7, 8, 10, 13, 15, 16, 30, 34, 35, 39, 46, 51, 55, 56, 61, 62, 63, 64, 65, 66, 67, 68, 71, 78, 79, 84], "whatev": [0, 1, 3, 4, 7, 8, 12, 13, 14, 25, 27, 28, 41, 46, 52, 65, 66, 68, 76, 78, 79, 84, 94], "environ": [0, 9, 56, 62, 63, 66, 67, 68, 69, 93], "env": [0, 61, 62, 63, 68, 94], "anonym": [0, 1, 11, 25, 27, 34, 45, 48, 61, 62, 63, 66, 75, 76, 79, 91], "static": [0, 7, 8, 9, 11, 25, 30, 34, 35, 39, 48, 63, 67, 68, 69, 73, 74, 82, 83, 85, 87, 90, 91], "extend": [0, 9, 25, 35, 39, 41, 61, 62, 63, 64, 68, 76, 80, 84, 85], "bind": [0, 1, 7, 8, 10, 11, 12, 25, 26, 27, 30, 34, 35, 36, 39, 40, 41, 42, 45, 46, 47, 49, 57, 61, 63, 64, 65, 66, 68, 77, 78, 79, 84, 91], "e1": [0, 7, 8, 10, 19, 22, 27, 30, 34, 35, 46, 61, 62, 63, 65, 66, 68, 87, 90, 91], "e2": [0, 7, 8, 10, 19, 22, 27, 30, 34, 35, 46, 61, 62, 63, 65, 66, 68, 87, 90, 91], "applic": [0, 1, 5, 7, 11, 14, 18, 30, 34, 41, 46, 48, 50, 54, 57, 58, 61, 62, 63, 66, 67, 77, 79, 81, 91], "t1": [0, 7, 8, 25, 34, 35, 39, 41, 48, 51, 63, 68, 90], "t2": [0, 7, 8, 34, 35, 39, 41, 44, 48, 51, 63, 68, 90], "tree": [0, 3, 13, 15, 28, 36, 41, 42, 43, 44, 48, 55, 62, 64, 66, 67, 69, 77, 78, 79], "draw": [0, 41], "recurs": [0, 1, 4, 6, 11, 13, 14, 15, 28, 31, 36, 37, 41, 44, 47, 48, 49, 50, 52, 58, 62, 66, 68, 76, 79, 83, 84, 87, 90], "rewrit": [0, 8, 10, 13, 19, 21, 25, 27, 28, 30, 44, 45, 46, 50, 52, 54, 57, 61, 62, 64, 65, 66, 78, 80, 93], "leav": [0, 3, 8, 13, 14, 16, 17, 19, 30, 41, 42, 47, 63, 66, 76, 78, 83, 93], "At": [0, 2, 7, 8, 9, 14, 33, 39, 40, 53, 54, 61, 63, 65, 66, 67, 69, 71, 76, 91, 93, 94], "p1": [0, 14, 27, 30, 34, 35, 38, 62, 79], "p2": [0, 14, 30, 38, 62], "whenev": [0, 7, 25, 30, 39, 40, 41, 42, 44, 45, 46, 61, 66, 78, 79], "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, 46, 48, 54, 62, 63, 64, 66, 68, 76, 78, 79, 81, 82, 83, 84, 91, 93, 94], "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, 51, 52, 54, 55, 57, 61, 62, 63, 65, 66, 75, 76, 77, 78, 79, 80, 82, 83, 84, 90, 91, 93, 94], "conclus": [0, 19], "deriv": [0, 1, 30, 50, 61, 62, 65, 75, 77, 79, 88], "swap": [0, 13, 22, 54, 62], "compon": [0, 8, 9, 25, 27, 30, 34, 35, 52, 61, 62, 66, 76, 77, 79, 81, 84, 86, 88], "eras": 0, "And": [0, 1, 6, 7, 8, 13, 14, 17, 19, 22, 25, 27, 30, 32, 33, 35, 36, 39, 40, 41, 44, 45, 46, 47, 48, 50, 53, 54, 55, 57, 61, 63, 66, 70, 73, 76, 77, 79, 80, 83, 84, 88, 90, 91, 92], "see": [0, 1, 2, 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, 54, 56, 57, 62, 63, 64, 65, 66, 68, 73, 75, 76, 77, 78, 79, 80, 84, 85, 87, 88, 91, 93, 94], "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, 49, 54, 55, 57, 58, 62, 63, 65, 66, 68, 75, 76, 77, 78, 79, 84, 91], "itself": [0, 5, 7, 8, 9, 12, 14, 20, 22, 24, 25, 27, 30, 32, 40, 41, 42, 45, 46, 48, 50, 58, 61, 62, 64, 65, 76, 78, 79, 82, 84, 90, 91], "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, 50, 51, 52, 54, 55, 59, 62, 63, 65, 66, 68, 76, 77, 78, 79, 80, 84, 91, 94], "treat": [0, 7, 16, 42, 48, 52, 53, 62, 63, 73, 75, 80, 91], "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, 46, 47, 48, 55, 57, 59, 61, 63, 64, 65, 66, 68, 72, 73, 75, 76, 78, 79, 80, 81, 82, 83, 84, 86, 91, 93, 94], "briefli": [0, 41, 84], "cours": [0, 1, 3, 4, 5, 8, 9, 11, 14, 15, 17, 18, 19, 20, 22, 23, 25, 26, 31, 33, 34, 36, 41, 42, 43, 45, 48, 50, 55, 57, 58, 59, 61, 63, 64, 65, 66, 67, 68, 69, 74, 76, 77, 78, 79, 84, 86, 91, 93, 94, 95], "next": [0, 1, 2, 4, 5, 8, 10, 13, 14, 18, 19, 20, 22, 25, 27, 33, 37, 40, 41, 42, 45, 46, 47, 48, 55, 57, 60, 62, 63, 65, 66, 68, 77, 78, 80, 83, 84, 85, 89, 90, 91, 94], "bound": [0, 1, 4, 5, 7, 8, 12, 15, 22, 30, 41, 42, 44, 49, 57, 61, 63, 64, 65, 66, 68, 77, 78, 79, 84, 87, 88, 91], "per": [0, 14, 15, 19, 24, 28, 37, 40, 41, 79], "howev": [0, 5, 8, 16, 18, 24, 28, 41, 42, 44, 47, 54, 64, 66, 73, 78, 84, 91], "much": [0, 1, 2, 3, 7, 8, 9, 14, 18, 20, 21, 24, 25, 26, 30, 35, 41, 43, 45, 46, 48, 54, 55, 62, 63, 64, 66, 75, 78, 79, 80, 81, 82, 84, 87, 91, 93], "simpler": [0, 1, 8, 46, 62, 66, 76, 78, 80], "detour": [0, 33, 84], "through": [0, 1, 4, 6, 8, 13, 14, 15, 16, 18, 21, 23, 24, 25, 26, 28, 30, 37, 41, 42, 45, 46, 52, 54, 56, 57, 58, 62, 63, 64, 65, 66, 69, 73, 77, 79, 81, 84, 88, 91, 93, 94], "directli": [0, 3, 20, 30, 41, 44, 46, 54, 61, 62, 64, 65, 66, 68, 77, 78, 86, 91, 94], "bigger": [0, 1, 9, 13, 19, 30, 42, 57, 63, 65, 76, 84], "caus": [0, 2, 3, 4, 5, 12, 13, 14, 15, 16, 20, 22, 27, 30, 33, 40, 41, 42, 45, 46, 48, 54, 57, 63, 66, 76, 79, 80, 84, 86, 87, 91], "simplifi": [0, 8, 13, 15, 19, 20, 40, 62, 63, 66, 70, 90], "final": [0, 1, 3, 4, 7, 8, 10, 13, 15, 16, 17, 20, 25, 30, 33, 34, 40, 41, 42, 45, 46, 47, 48, 52, 54, 57, 61, 63, 64, 65, 66, 68, 69, 76, 81, 91, 94], "fundament": [0, 19, 23, 45, 46, 92], "human": [0, 2, 16, 17, 18, 19, 23, 24, 30, 71, 73, 84, 89, 94], "inquiri": 0, "guid": [0, 6, 7, 15, 41, 60, 62, 74, 84, 94], "deduc": [0, 13, 18], "vs": [0, 2, 3, 22, 30, 33, 38, 40, 42, 46, 47, 52, 64, 66, 77, 79, 82, 84, 93], "train": [0, 7, 17], "variou": [0, 2, 14, 20, 69, 87, 94], "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, 46, 59, 63, 65, 66, 75, 79, 80, 81, 84, 85, 86, 93], "higher": [0, 1, 2, 8, 15, 30, 48, 51, 57, 58, 59, 62, 63, 64, 65, 79, 84, 91], "educ": [0, 24, 74], "mayb": [0, 1, 2, 8, 17, 19, 30, 32, 36, 40, 41, 49, 57, 58, 65, 66, 76, 78, 80, 84, 91], "mysteri": [0, 8, 33, 52, 54, 67, 71, 85], "basic": [0, 7, 23, 33, 48, 55, 64, 84], "build": [0, 1, 3, 9, 12, 24, 31, 33, 35, 36, 39, 42, 43, 53, 63, 65, 73, 78, 81, 82, 86, 91, 94], "block": [0, 7, 12, 43, 45, 46, 49, 82, 84], "veri": [0, 1, 2, 3, 8, 9, 10, 11, 15, 16, 20, 22, 24, 25, 26, 33, 36, 37, 40, 41, 42, 45, 46, 47, 50, 51, 59, 61, 62, 63, 65, 66, 74, 76, 77, 78, 79, 80, 81, 85, 92, 94], "present": [0, 2, 12, 18, 20, 24, 27, 30, 42, 69, 79, 80, 94], "intrins": [0, 7, 58], "better": [0, 1, 9, 12, 16, 17, 19, 24, 25, 30, 32, 34, 35, 36, 41, 42, 43, 44, 45, 46, 48, 53, 54, 57, 59, 61, 70, 74, 75, 76, 78, 79, 80, 85, 86, 94], "studi": [0, 1, 4, 7, 8, 9, 13, 17, 22, 24, 26, 29, 30, 33, 34, 35, 45, 46, 54, 58, 64, 65, 67, 72, 74, 76, 78, 79, 82, 85, 91, 93], "solut": [0, 1, 6, 8, 10, 15, 28, 41, 42, 44, 47, 52, 57, 62, 63, 77, 79, 80, 81, 84, 86, 88, 93, 94], "avail": [0, 2, 6, 7, 8, 9, 10, 14, 15, 20, 24, 28, 30, 33, 41, 46, 52, 62, 63, 64, 65, 74, 76, 77, 79, 80, 81, 86, 88, 93], "fall": [0, 6, 15, 18, 28, 41, 42, 52, 62, 69, 75, 77, 88, 93, 95], "2022": [0, 6, 15, 28, 41, 52, 62, 77, 88, 93], "public": [0, 6, 15, 28, 41, 46, 52, 62, 76, 77, 80, 81, 85, 88, 93], "releas": [0, 3, 6, 15, 28, 41, 46, 52, 62, 77, 88, 93, 94, 95], "cornel": [0, 1, 6, 15, 28, 41, 42, 52, 62, 69, 73, 77, 78, 88, 93, 94, 95], "student": [0, 1, 6, 15, 28, 41, 52, 62, 69, 74, 77, 88, 93, 94], "few": [0, 1, 5, 6, 7, 8, 10, 13, 14, 15, 20, 28, 41, 43, 45, 46, 47, 48, 52, 55, 62, 66, 75, 77, 84, 88, 89, 93, 94], "year": [0, 1, 6, 14, 15, 17, 28, 41, 42, 52, 62, 69, 70, 74, 77, 79, 84, 88, 93, 95], "inevit": [0, 6, 15, 24, 28, 41, 52, 62, 75, 77, 88, 93], "wider": [0, 6, 8, 15, 28, 41, 52, 62, 77, 88, 93], "circul": [0, 6, 15, 28, 41, 52, 62, 77, 88, 93], "reveal": [0, 4, 6, 8, 14, 15, 19, 20, 21, 24, 28, 40, 41, 46, 52, 62, 67, 76, 77, 81, 82, 88, 93], "improv": [0, 1, 2, 5, 6, 9, 14, 15, 16, 20, 21, 24, 28, 41, 46, 47, 52, 54, 55, 62, 65, 71, 76, 77, 82, 84, 88, 91, 93, 94], "made": [0, 6, 8, 13, 15, 19, 21, 28, 40, 41, 44, 52, 54, 62, 76, 77, 78, 80, 84, 88, 91, 93, 94], "happi": [0, 1, 6, 15, 25, 28, 41, 52, 62, 77, 88, 93], "add": [0, 2, 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, 51, 52, 54, 57, 58, 61, 62, 63, 65, 66, 68, 76, 77, 78, 79, 80, 84, 85, 86, 88, 93, 94], "correct": [0, 4, 6, 8, 9, 13, 15, 16, 18, 20, 21, 22, 23, 24, 28, 33, 41, 42, 45, 48, 49, 52, 57, 62, 65, 66, 71, 73, 77, 78, 79, 81, 88, 91, 93], "contribut": [0, 6, 15, 28, 41, 52, 62, 77, 88, 93, 95], "github": [0, 6, 15, 28, 33, 41, 46, 52, 62, 76, 77, 79, 88, 93, 94], "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, 50, 52, 54, 55, 56, 57, 59, 61, 62, 63, 65, 66, 68, 69, 72, 73, 75, 76, 77, 78, 79, 80, 81, 84, 86, 87, 88, 90, 91, 92, 93, 94, 95], "q": [0, 13, 14, 27, 40, 77, 78], "r": [0, 15, 19, 22, 25, 37, 41, 44, 46, 47, 50, 63, 79, 90, 91, 93, 94, 95], "definit": [0, 1, 3, 6, 7, 11, 12, 19, 20, 21, 22, 25, 28, 30, 33, 34, 35, 37, 39, 41, 42, 46, 48, 50, 51, 52, 54, 61, 62, 63, 65, 66, 68, 76, 77, 78, 79, 80, 82, 83, 85, 86, 91], "your": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 14, 15, 16, 17, 18, 20, 24, 25, 28, 30, 33, 35, 36, 40, 41, 42, 45, 46, 51, 52, 57, 62, 63, 64, 65, 71, 75, 76, 77, 84, 86, 88, 92, 93, 94], "also": [0, 1, 2, 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, 46, 47, 54, 55, 56, 62, 63, 64, 65, 66, 67, 68, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 91, 93, 94], "f": [0, 1, 6, 7, 8, 10, 13, 19, 22, 25, 30, 33, 34, 35, 41, 44, 45, 46, 48, 50, 51, 52, 54, 55, 57, 61, 62, 63, 72, 73, 75, 78, 79, 83, 84, 88, 90, 91], "1": [0, 2, 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, 47, 48, 50, 52, 53, 54, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 71, 74, 76, 77, 78, 79, 80, 83, 84, 85, 86, 87, 88, 90, 91, 94], "step": [0, 1, 3, 4, 8, 12, 19, 20, 42, 46, 47, 49, 61, 62, 64, 67, 68, 79, 94], "semant": [0, 7, 8, 9, 11, 19, 23, 30, 32, 34, 35, 36, 39, 48, 61, 62, 64, 66, 67, 68, 69, 83, 85, 87, 90, 95], "implement": [0, 1, 4, 6, 7, 8, 9, 10, 13, 14, 15, 16, 19, 20, 21, 23, 24, 26, 27, 29, 30, 33, 36, 37, 40, 41, 43, 44, 45, 47, 48, 50, 51, 52, 53, 55, 57, 60, 62, 63, 64, 65, 67, 68, 69, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 88, 89, 90, 91, 92], "suggest": [0, 2, 4, 8, 10, 13, 15, 16, 18, 19, 24, 28, 30, 41, 42, 45, 48, 61, 64, 76, 93, 94], "perhap": [0, 1, 2, 5, 7, 12, 20, 21, 24, 46, 50, 53, 54, 61, 63, 65, 66, 75, 79, 84, 85, 91, 94], "sever": [0, 1, 7, 8, 11, 16, 18, 20, 23, 25, 33, 34, 36, 39, 41, 42, 45, 64, 66, 79, 84, 86], "probabl": [0, 1, 4, 8, 9, 10, 14, 16, 20, 24, 28, 33, 36, 42, 45, 63, 76, 78, 84, 91, 94], "still": [0, 1, 2, 7, 8, 10, 14, 16, 19, 27, 40, 42, 45, 46, 47, 48, 50, 54, 57, 62, 69, 70, 73, 75, 76, 77, 78, 79, 80, 81, 84, 91, 93, 94], "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, 50, 52, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 68, 70, 71, 75, 76, 77, 78, 79, 80, 81, 83, 84, 88, 90, 91, 94, 95], "mean": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 19, 20, 22, 25, 30, 32, 33, 34, 40, 41, 42, 43, 44, 45, 46, 47, 50, 56, 61, 63, 64, 65, 66, 68, 75, 76, 77, 78, 82, 84, 86, 88, 90, 91, 94], "professor": [1, 71], "jon": 1, "kleinberg": 1, "eva": 1, "tardo": 1, "wonder": [1, 54, 76, 80], "explan": [1, 7], "textbook": [1, 3, 55, 69, 74, 93, 94, 95], "2006": [1, 23, 69], "appendix": 1, "summari": 1, "reinterpret": 1, "program": [1, 5, 7, 8, 9, 10, 11, 12, 14, 16, 17, 18, 20, 21, 22, 23, 24, 25, 27, 29, 30, 33, 41, 43, 45, 46, 47, 49, 51, 53, 54, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 76, 78, 79, 82, 84, 85, 91, 92, 93], "perspect": [1, 8, 40, 44, 63, 70, 71, 73, 74, 78, 84, 94], "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, 47, 48, 50, 52, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 67, 68, 69, 71, 74, 75, 76, 77, 78, 80, 81, 83, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 95], "ultim": [1, 14, 32, 82], "answer": [1, 6, 7, 8, 17, 18, 19, 22, 27, 28, 39, 42, 44, 46, 54, 61, 62, 66, 77, 80, 84, 88, 91], "worst": [1, 40, 41, 42, 47, 49, 54, 78], "run": [1, 2, 3, 4, 7, 8, 9, 12, 14, 15, 18, 19, 20, 25, 27, 28, 30, 33, 40, 41, 42, 44, 45, 46, 47, 48, 54, 62, 63, 64, 65, 66, 68, 72, 73, 77, 78, 79, 84, 86, 90, 91, 93, 94], "size": [1, 7, 8, 14, 15, 18, 30, 36, 37, 40, 41, 42, 49, 50, 52, 76, 78], "o": [1, 3, 8, 9, 13, 32, 40, 41, 42, 44, 47, 48, 57, 78, 80, 84, 86, 88, 89, 92], "d": [1, 2, 6, 8, 10, 12, 14, 18, 19, 26, 27, 28, 30, 32, 33, 39, 40, 41, 45, 47, 48, 50, 54, 63, 65, 66, 69, 75, 76, 77, 78, 79, 83, 84, 91, 93, 94, 95], "constant": [1, 8, 18, 25, 26, 28, 34, 36, 40, 41, 42, 47, 53, 57, 58, 61, 62, 63, 64, 66, 68, 75, 76, 77, 78, 84, 87], "up": [1, 2, 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, 55, 57, 58, 61, 63, 66, 68, 71, 75, 76, 79, 84, 89, 91, 94], "naiv": [1, 44, 54, 63], "proce": [1, 4, 13, 15, 17, 19, 36, 46, 54, 63, 66, 81, 94], "amount": [1, 2, 4, 6, 17, 30, 40, 42, 45, 47, 52, 77], "instanc": [1, 18, 22, 69, 82, 91], "ineffici": [1, 13, 15, 19, 48, 58], "quickli": [1, 2, 6, 10, 18, 41, 48, 57, 73], "test": [1, 4, 6, 7, 8, 9, 12, 15, 16, 17, 19, 23, 27, 28, 29, 36, 41, 52, 53, 62, 65, 66, 71, 86, 91, 94], "fast": [1, 4, 6, 42, 47, 64, 70], "processor": [1, 2, 7, 24, 46, 64, 73], "optim": [1, 8, 11, 15, 18, 30, 42, 58, 64, 67], "slowli": [1, 4, 8, 42], "sloppili": 1, "harder": [1, 4, 30, 45, 48, 50, 63, 68, 76, 78, 83, 92], "doesn": [1, 2, 4, 7, 8, 10, 13, 14, 15, 16, 19, 20, 24, 26, 27, 30, 31, 33, 34, 35, 38, 40, 42, 44, 45, 46, 47, 48, 54, 57, 61, 62, 63, 64, 66, 71, 75, 76, 79, 80, 84, 91, 94], "impli": [1, 18, 19, 22, 35, 42, 68, 78, 91], "larg": [1, 3, 8, 12, 14, 18, 21, 24, 28, 41, 42, 43, 45, 47, 61, 72, 73, 76, 81, 82, 84], "client": [1, 4, 5, 15, 16, 18, 21, 23, 41, 42, 44, 46, 75, 76, 78, 79, 80, 81, 82, 85, 91], "afford": [1, 4, 14, 40, 70], "patient": 1, "quick": [1, 24, 42, 80, 94], "me": [1, 45], "slow": [1, 16, 18, 20, 21, 48, 64], "lesson": [1, 57], "measur": [1, 40, 44], "clock": [1, 45], "metric": 1, "hardwar": [1, 2, 41, 42, 46, 66, 91], "softwar": [1, 4, 14, 21, 23, 24, 42, 73, 79, 80, 81, 82, 94, 95], "good": [1, 2, 5, 8, 10, 12, 14, 16, 17, 18, 20, 21, 23, 24, 30, 31, 32, 33, 34, 35, 40, 41, 42, 44, 45, 46, 47, 53, 54, 57, 62, 65, 66, 70, 71, 72, 73, 78, 79, 81, 83, 84, 89, 91, 94], "count": [1, 8, 18, 20, 41, 47, 94], "number": [1, 2, 6, 7, 8, 14, 15, 16, 22, 23, 26, 28, 30, 35, 36, 37, 40, 41, 42, 44, 46, 47, 48, 52, 53, 55, 58, 63, 64, 69, 73, 76, 77, 78, 79, 83], "taken": [1, 49, 69], "dure": [1, 7, 8, 13, 16, 18, 19, 47, 48, 62, 63, 64, 71, 75, 80, 93], "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, 46, 48, 49, 52, 54, 57, 60, 62, 63, 64, 67, 68, 79, 80, 84, 86, 87, 90, 91], "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, 46, 47, 48, 53, 54, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 88, 89, 90, 91, 93, 94], "ought": [1, 45, 57, 66, 91], "somehow": [1, 18, 20, 50, 54, 94], "repres": [1, 7, 9, 13, 14, 15, 18, 20, 22, 23, 25, 28, 32, 34, 35, 36, 37, 38, 39, 42, 44, 45, 46, 48, 50, 52, 55, 61, 64, 65, 66, 68, 76, 77, 78, 79, 83, 88, 90, 91], "primit": [1, 8, 10, 30, 34, 61, 65, 66, 67, 68, 79], "comput": [1, 2, 3, 4, 6, 7, 8, 9, 11, 14, 15, 16, 17, 19, 20, 22, 23, 24, 28, 30, 33, 35, 37, 39, 41, 42, 43, 44, 45, 46, 48, 49, 52, 54, 55, 56, 57, 58, 59, 61, 63, 64, 65, 66, 67, 69, 71, 72, 73, 77, 78, 85, 88, 91, 93, 94], "lot": [1, 4, 5, 6, 7, 8, 13, 24, 31, 33, 36, 42, 45, 55, 57, 58, 65, 73, 86], "flexibl": [1, 12, 81, 84], "choic": [1, 3, 4, 8, 13, 18, 21, 30, 40, 42, 44, 45, 46, 47, 53, 61, 62, 66, 73, 78, 93, 94], "pseudocod": [1, 88], "being": [1, 4, 6, 7, 8, 11, 12, 13, 14, 15, 16, 18, 19, 20, 25, 28, 30, 32, 33, 40, 41, 42, 44, 45, 46, 47, 48, 52, 55, 57, 58, 61, 62, 63, 64, 65, 66, 73, 75, 76, 77, 78, 79, 84, 85, 91, 93], "singl": [1, 4, 7, 8, 15, 18, 25, 28, 30, 35, 40, 41, 42, 44, 45, 46, 47, 54, 55, 60, 62, 63, 65, 73, 75, 76, 77, 78, 79, 80, 84, 90], "imper": [1, 7, 9, 10, 14, 19, 20, 23, 25, 30, 42, 43, 44, 45, 46, 47, 58, 66, 70, 73, 74, 78, 91, 93], "assign": [1, 5, 7, 46, 63, 71, 84, 87, 88, 91, 92], "arrai": [1, 40, 41, 44, 49, 63, 64, 88, 91, 92], "index": [1, 5, 7, 14, 16, 33, 42, 44, 87, 92], "pointer": [1, 4, 7, 8, 32, 48, 56, 73, 90, 92], "derefer": [1, 91, 92], "arithmet": [1, 6, 7, 8, 15, 45, 66, 77, 83, 91], "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, 50, 52, 54, 55, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 73, 75, 76, 77, 78, 79, 80, 83, 84, 87, 88, 90, 91, 94], "choos": [1, 2, 4, 7, 9, 12, 15, 20, 28, 33, 42, 46, 47, 52, 55, 63, 79, 80, 82, 94], "branch": [1, 7, 8, 14, 19, 28, 30, 32, 36, 47, 50, 54, 61, 62, 63, 64, 66, 68], "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, 50, 54, 57, 61, 62, 63, 64, 65, 66, 68, 70, 73, 76, 77, 78, 79, 80, 83, 84, 85, 90, 91, 94], "realiti": [1, 8, 20, 46, 63, 73], "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, 50, 52, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 68, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 91, 93, 94], "realli": [1, 4, 5, 7, 8, 9, 13, 14, 16, 17, 22, 24, 25, 27, 30, 31, 35, 36, 40, 41, 45, 46, 48, 54, 55, 56, 57, 61, 63, 65, 66, 76, 79, 83, 84, 85, 86, 91, 94], "practic": [1, 16, 23, 24, 32, 42, 45, 55, 59, 63, 64, 66, 68, 71, 72, 73, 79, 81, 84, 94], "predict": [1, 2, 14, 20, 41, 70, 88], "g": [1, 2, 6, 7, 8, 13, 14, 16, 19, 20, 25, 27, 30, 33, 35, 39, 41, 44, 45, 46, 48, 52, 55, 61, 62, 63, 64, 65, 66, 73, 75, 76, 84, 86, 91, 94], "matrix": [1, 38, 52, 88], "text": [1, 10, 46, 86, 93, 94], "document": [1, 2, 3, 4, 7, 8, 10, 11, 14, 15, 17, 19, 20, 21, 23, 24, 26, 30, 33, 38, 48, 54, 65, 67, 76, 77, 88, 91, 93], "bit": [1, 7, 8, 11, 18, 30, 33, 42, 45, 46, 83, 85], "row": [1, 52], "column": [1, 52, 94], "represent": [1, 7, 8, 12, 13, 14, 15, 22, 23, 41, 46, 47, 48, 50, 52, 64, 66, 67, 75, 76, 77, 78, 85, 88], "context": [1, 11, 33, 62, 65, 67, 68, 71, 84, 91], "structur": [1, 6, 7, 8, 13, 15, 18, 20, 26, 28, 30, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 54, 55, 56, 57, 58, 59, 61, 62, 64, 65, 69, 73, 76, 77, 79, 80, 81, 82, 83, 84, 85, 89, 91, 92, 95], "element": [1, 5, 8, 13, 14, 15, 18, 19, 20, 22, 25, 28, 30, 32, 35, 37, 40, 41, 42, 47, 48, 52, 53, 54, 55, 57, 58, 59, 63, 64, 75, 76, 77, 78, 79, 80, 84, 87, 90, 91], "maintain": [1, 18, 23, 45, 65, 66, 71, 73, 75, 82, 85, 94], "node": [1, 15, 22, 25, 28, 36, 37, 41, 42, 44, 47, 48, 50, 62, 64, 65, 66, 77, 78, 79, 90, 91], "edg": [1, 14, 47, 48], "graph": [1, 69], "multipli": [1, 6, 8, 19, 52], "faster": [1, 19, 48, 76, 94], "arbitrari": [1, 7, 15, 16, 19, 20, 28, 30, 31, 77, 85], "exact": [1, 6, 30, 33, 41, 79, 94], "too": [1, 4, 7, 8, 12, 14, 16, 18, 20, 21, 22, 24, 30, 33, 40, 42, 45, 47, 48, 54, 61, 63, 65, 66, 75, 78, 79, 80, 81, 82, 83, 84, 91, 94], "rel": [1, 4, 8, 13, 14, 16, 19, 23, 24, 40, 41, 47, 55, 72], "term": [1, 4, 5, 7, 8, 9, 18, 19, 25, 30, 35, 40, 41, 45, 48, 51, 52, 54, 55, 62, 66, 73, 77, 82, 84, 91], "object": [1, 7, 8, 9, 10, 11, 23, 30, 32, 36, 41, 42, 48, 49, 56, 59, 63, 69, 71, 72, 74, 76, 79, 80, 81, 82, 84, 85, 91, 92, 93], "reli": [1, 3, 16, 23, 24, 27, 29, 30, 42, 46, 62, 66, 67, 94], "subject": 1, "notion": [1, 8, 19, 41, 45, 66, 78, 84, 85], "constitut": [1, 9, 30, 66, 81], "sort": [1, 14, 15, 20, 28, 41, 78, 79, 83, 84], "okai": [1, 10, 40, 41, 42, 91], "beat": 1, "brute": [1, 49], "forc": [1, 4, 8, 10, 16, 17, 21, 25, 27, 30, 32, 41, 42, 45, 46, 48, 49, 63, 66, 80], "search": [1, 13, 15, 28, 37, 41, 42, 76, 77, 79, 93, 94], "enumer": [1, 25], "permut": 1, "version": [1, 2, 3, 5, 8, 12, 15, 16, 18, 19, 28, 30, 33, 37, 41, 44, 45, 46, 47, 51, 52, 53, 54, 55, 57, 58, 61, 62, 69, 70, 78, 80, 84, 91, 93, 94], "terribl": [1, 8, 20, 42, 91], "certainli": [1, 13, 17, 26, 45, 66], "quicksort": 1, "simpl": [1, 4, 13, 19, 20, 21, 25, 29, 33, 40, 42, 43, 44, 45, 46, 47, 53, 54, 55, 62, 63, 64, 71, 73, 78, 89, 90], "dumb": [1, 8], "nearli": [1, 6, 7, 50, 53, 61, 65], "huge": [1, 36, 42, 44, 91], "space": [1, 2, 8, 9, 14, 18, 19, 28, 30, 33, 36, 42, 48, 52, 57, 58, 65, 76, 78, 94], "exponenti": [1, 6, 15, 19, 41, 44, 49, 63, 77], "less": [1, 4, 5, 8, 14, 15, 16, 18, 19, 21, 24, 29, 30, 37, 41, 42, 43, 44, 47, 54, 57, 59, 63, 77, 78, 87], "polynomi": [1, 15, 49], "immedi": [1, 4, 10, 13, 18, 19, 20, 22, 27, 29, 33, 42, 45, 46, 48, 54, 62, 63, 64, 94], "come": [1, 4, 5, 6, 7, 8, 9, 11, 16, 17, 21, 25, 28, 30, 33, 35, 42, 45, 46, 51, 55, 57, 61, 63, 65, 66, 68, 70, 71, 72, 76, 78, 80, 81, 82, 84, 89, 92, 94], "100": [1, 8, 14, 15, 20, 28, 30, 40, 46, 52, 66, 77], "non": [1, 8, 13, 14, 19, 20, 25, 27, 28, 30, 32, 36, 42, 44, 45, 46, 47, 49, 54, 57, 62, 65, 66, 68, 72, 78, 80, 84, 88, 90, 91], "02": [1, 73], "log": [1, 2, 33, 41, 42, 45, 47, 78, 94], "adequ": [1, 14, 42], "job": [1, 14, 16, 17, 21, 36, 46, 63, 64, 70, 79, 80, 81, 84], "fine": [1, 7, 18, 20, 25, 40, 45, 46, 54, 63, 76, 79, 84], "combin": [1, 15, 22, 26, 36, 41, 42, 45, 50, 52, 55, 73, 79, 85, 91], "maximum": [1, 14, 28, 32, 41, 44], "execut": [1, 3, 8, 9, 14, 16, 20, 24, 33, 41, 46, 49, 63, 64, 66, 71, 73, 87, 91, 93, 94], "isn": [1, 8, 12, 13, 16, 17, 20, 22, 26, 30, 32, 39, 47, 48, 56, 57, 61, 63, 65, 66, 71, 76, 77, 78, 79, 80, 91, 94], "perfect": [1, 41, 47], "insan": 1, "tediou": [1, 10, 16, 17, 30, 62], "author": [1, 5, 17, 45, 47, 95], "develop": [1, 4, 7, 9, 18, 21, 23, 24, 27, 30, 36, 41, 45, 46, 50, 65, 66, 69, 72, 75, 81], "insert": [1, 4, 10, 14, 15, 26, 28, 40, 41, 42, 44, 45, 47, 75, 76, 78, 90, 91], "c_1": [1, 15], "c_2": 1, "c_4": 1, "c_5": 1, "sum_": [1, 40, 41], "j": [1, 30, 58, 59, 71, 88], "t_j": 1, "c_6": 1, "c_7": 1, "c_8": 1, "explain": [1, 2, 5, 7, 8, 11, 15, 16, 17, 18, 22, 24, 28, 41, 52, 61, 62, 73, 75, 77, 78, 84, 91], "complic": [1, 8, 10, 22, 24, 32, 33, 40, 41, 45, 54, 55, 63, 66, 73, 76, 78, 79, 89, 91], "heart": [1, 11, 28, 56], "poor": [1, 5, 18, 42, 63, 80], "grad": 1, "who": [1, 5, 9, 18, 21, 24, 42, 44, 46, 53, 57, 70, 71, 80, 81, 82, 91, 93, 95], "introduct": [1, 11, 36, 49, 59, 69, 74, 85, 92, 93], "3rd": [1, 34], "edit": [1, 3, 12, 23, 46, 77, 79, 93, 94, 95], "2009": [1, 69], "cormen": 1, "leiserson": 1, "rivest": 1, "stein": 1, "tell": [1, 3, 6, 12, 13, 14, 18, 20, 28, 33, 46, 54, 63, 77, 84, 86], "precis": [1, 7, 8, 16, 19, 44, 55, 63, 68, 83, 93], "like": [1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 14, 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, 50, 52, 53, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 68, 70, 71, 73, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 90, 91, 92, 93, 94], "exhaust": [1, 8, 14, 25, 30, 36, 40, 64, 66], "find": [1, 2, 3, 4, 6, 7, 8, 12, 13, 14, 15, 16, 20, 21, 22, 24, 28, 30, 33, 40, 41, 42, 44, 46, 47, 52, 54, 62, 63, 66, 68, 77, 79, 90, 93, 94], "somewhat": [1, 8, 22, 28, 30, 39, 47, 58, 75, 76], "meaningless": [1, 4], "25": [1, 4, 14, 24, 30, 79, 91], "java": [1, 3, 4, 5, 7, 8, 9, 10, 12, 18, 19, 20, 23, 29, 30, 32, 33, 35, 39, 41, 42, 45, 46, 53, 56, 57, 59, 63, 64, 67, 69, 70, 71, 72, 73, 75, 76, 78, 79, 80, 81, 82, 84, 85, 88, 91, 93], "down": [1, 2, 3, 4, 6, 7, 8, 11, 16, 18, 19, 40, 45, 47, 54, 56, 61, 62, 63, 73, 78, 91, 93], "risc": 1, "250": [1, 30], "ye": [1, 30, 42, 48, 80, 94], "fli": 1, "airplan": 1, "control": [1, 3, 12, 42, 45, 46, 61, 63, 94], "nuclear": 1, "reactor": 1, "care": [1, 3, 8, 10, 11, 17, 18, 19, 24, 25, 33, 34, 38, 41, 45, 46, 54, 58, 65, 66, 76, 94], "real": [1, 9, 11, 16, 18, 22, 25, 36, 40, 49, 54, 59, 62, 63, 64, 67, 73, 74, 77, 81, 85, 89, 92, 93, 94], "otherwis": [1, 6, 7, 8, 14, 16, 17, 20, 26, 27, 28, 30, 34, 41, 42, 46, 62, 63, 65, 66, 76, 78, 84, 87, 91, 94], "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, 50, 52, 54, 55, 57, 62, 63, 65, 66, 69, 72, 75, 76, 77, 78, 79, 80, 82, 84, 85, 87, 90, 91, 93], "perform": [1, 2, 7, 8, 9, 18, 20, 21, 26, 30, 39, 40, 41, 42, 44, 46, 47, 49, 52, 57, 64, 73, 78, 79, 94], "62": [1, 7, 30], "ignor": [1, 14, 18, 27, 28, 33, 40, 41, 42, 45, 46, 61, 64, 68, 72, 76, 78, 91, 94], "low": [1, 42, 64, 91], "factor": [1, 2, 33, 40, 41, 42, 44, 45, 49, 53, 54, 55, 57, 58, 59, 65, 66, 68, 71, 78, 80], "highest": [1, 3, 28], "tabl": [1, 6, 35, 41, 43, 44, 47, 49, 64, 67, 78, 92], "microsecond": 1, "estim": [1, 30], "univers": [1, 13, 42, 49, 55, 63, 66, 69, 71, 78, 94, 95], "10": [1, 6, 8, 14, 15, 20, 25, 27, 28, 30, 35, 36, 41, 42, 46, 48, 52, 55, 57, 62, 66, 70, 74, 76, 77, 79, 84, 85], "sec": [1, 41], "1017": 1, "000": [1, 8, 20, 30, 57], "18": [1, 30, 46, 49, 76], "min": [1, 41], "12": [1, 6, 7, 20, 23, 25, 28, 30, 33, 42, 45, 75, 76, 79, 84, 85], "dai": [1, 6, 25, 28, 30, 33, 35, 39, 40, 46, 61, 71, 77, 84], "hour": [1, 4, 24], "32": [1, 8, 20, 30, 40, 42, 76, 84], "104": [1, 30], "seriou": [1, 72], "complet": [1, 5, 7, 8, 14, 16, 20, 22, 24, 28, 38, 41, 45, 46, 57, 61, 62, 63, 65, 66, 68, 75, 84, 91, 94], "domin": [1, 9], "my": [1, 40, 46, 84], "laptop": [1, 2], "2x": 1, "bought": 1, "interest": [1, 8, 9, 10, 14, 19, 20, 27, 33, 45, 46, 47, 55, 66, 84, 91], "properti": [1, 14, 15, 18, 19, 22, 28, 40, 44, 45, 48, 55, 63, 66, 68, 78, 81, 84, 90], "pseduocod": 1, "1620": 1, "assembl": [1, 45, 64, 82], "1000": [1, 20, 28, 62, 66, 77], "1000x": 1, "longer": [1, 2, 30, 33, 42, 54, 63, 64, 66, 71, 75, 76, 89, 91, 94], "tune": 1, "employ": 1, "twice": [1, 19, 20, 40, 42, 46, 47, 48, 52, 55, 57, 76], "argu": [1, 16], "imprecis": 1, "abstract": [1, 13, 15, 16, 19, 21, 23, 24, 33, 41, 42, 44, 45, 46, 54, 57, 59, 63, 64, 65, 66, 67, 68, 69, 71, 73, 75, 77, 79, 80, 81, 82, 83, 85, 91], "noth": [1, 2, 7, 8, 14, 21, 22, 32, 45, 46, 48, 57, 63, 65, 66, 84, 91], "pm": [1, 41], "quantiti": [1, 19, 40], "scienc": [1, 17, 23, 55, 72, 93], "review": [1, 4, 23, 24, 33, 54, 63], "natur": [1, 3, 5, 7, 9, 10, 20, 23, 30, 36, 39, 41, 48, 55, 63, 64, 68, 75, 78, 81, 82], "ess": 1, "equal": [1, 6, 7, 8, 12, 13, 14, 22, 28, 30, 33, 35, 40, 41, 42, 63, 65, 66, 76, 77, 78, 79, 80, 83, 88, 92], "henc": [1, 2, 3, 6, 12, 19, 20, 25, 27, 35, 42, 45, 46, 48, 55, 63, 76, 80, 84, 89, 91, 94], "mid": [1, 69], "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, 48, 50, 52, 53, 54, 58, 61, 62, 63, 65, 66, 75, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88, 90, 91, 95], "leq": [1, 20, 65, 66, 68], "pose": 1, "question": [1, 13, 16, 27, 53, 54, 61, 66, 84], "honest": [1, 17, 61, 66], "interpret": [1, 9, 12, 17, 22, 56, 60, 61, 62, 63, 65, 67, 68, 69, 91], "yield": [1, 7, 13, 15, 19, 30, 34, 52, 54, 57, 63, 66, 88], "proper": [1, 42, 47], "subset": [1, 14, 28, 66, 84, 89], "subseteq": 1, "tight": 1, "former": [1, 8, 30, 41, 45, 46, 68, 84, 86], "relat": [1, 16, 19, 29, 30, 46, 54, 61, 62, 63, 67, 68, 76, 82, 84, 85], "fewest": 1, "wherea": [1, 4, 6, 7, 8, 22, 24, 30, 35, 37, 48, 50, 54, 55, 66, 73, 75, 78, 79, 80, 84, 86, 91], "loos": [1, 21, 29], "needlessli": [1, 5], "concret": [1, 18, 19, 23, 33, 45, 46, 64, 65, 66, 67], "9": [1, 8, 20, 23, 25, 26, 30, 33, 40, 41, 42, 48, 52, 55, 62, 63, 65, 76, 80, 85], "1989": [1, 69], "graham": 1, "knuth": 1, "patashnik": 1, "easili": [1, 2, 12, 18, 30, 61, 65, 68, 72, 73, 77, 89], "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, 50, 51, 52, 54, 57, 59, 61, 62, 64, 65, 66, 67, 70, 71, 72, 73, 74, 75, 77, 78, 80, 82, 85, 86, 87, 88, 90, 92, 94], "mathbb": [1, 8], "rightarrow": [1, 65], "upgrad": [1, 15, 21, 41, 45, 46, 66, 94], "Of": [1, 3, 14, 17, 20, 22, 33, 34, 42, 43, 45, 48, 55, 57, 58, 59, 66, 69, 78, 79, 84, 86, 91, 94], "foral": [1, 15, 19, 22, 55], "mathrel": 1, "math": [1, 7, 17, 23, 40, 58, 65, 68, 73, 76, 84], "2n": [1, 40, 58], "proceed": [1, 2, 62, 66, 94], "frac": [1, 40, 41, 42, 44, 58, 88], "3n": 1, "notin": 1, "recal": [1, 7, 8, 13, 15, 19, 20, 22, 30, 37, 41, 45, 48, 50, 52, 55, 57, 61, 63, 64, 66, 68, 76, 77, 78, 79, 80, 83, 86], "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, 48, 52, 61, 63, 64, 65, 66, 67, 68, 71, 75, 76, 77, 78, 79, 80, 83, 84, 86, 90, 91, 93, 94], "o_2": 1, "exist": [1, 8, 14, 16, 25, 28, 38, 42, 45, 52, 53, 55, 57, 59, 61, 62, 63, 64, 66, 68, 69, 78, 79, 82, 84, 86, 91, 94], "c": [1, 3, 4, 5, 6, 7, 8, 10, 13, 16, 19, 23, 25, 27, 29, 30, 34, 35, 39, 41, 42, 45, 46, 47, 48, 50, 51, 54, 55, 56, 57, 62, 63, 64, 65, 67, 70, 73, 75, 76, 77, 79, 83, 84, 85, 86, 88, 90, 91, 94, 95], "gt": [1, 79], "existenti": [1, 55], "quantifi": [1, 13, 19, 55], "posit": [1, 8, 15, 28, 35, 41, 48, 66, 77, 78, 79, 80, 93], "bump": 1, "larger": [1, 3, 7, 22, 24, 33, 41, 42, 45, 62, 65, 66, 68, 81], "analyz": [1, 40, 44, 63, 64, 73], "happen": [1, 5, 6, 7, 8, 10, 12, 14, 16, 22, 26, 27, 33, 40, 41, 42, 44, 45, 46, 47, 48, 54, 63, 66, 77, 80, 84, 91, 93, 94], "slower": [1, 16], "hardcod": [1, 12, 20, 94], "lookup": [1, 26, 28, 47, 68, 78], "o_3": 1, "n_0": 1, "geq": 1, "smaller": [1, 4, 13, 19, 20, 21, 22, 42, 63, 66, 78, 84], "temporarili": [1, 7, 84], "pick": [1, 10, 14, 19, 44, 46, 50, 63, 66, 91, 94], "power": [1, 2, 6, 8, 11, 12, 20, 24, 25, 29, 36, 39, 40, 41, 42, 44, 45, 54, 55, 73, 76, 92, 94], "repeat": [1, 12, 15, 17, 18, 20, 24, 33, 41, 44, 46, 52, 57, 63, 76, 94], "memor": [1, 48], "abl": [1, 2, 3, 9, 18, 27, 30, 41, 44, 45, 46, 54, 65, 66, 70, 73, 76, 79, 81, 84, 91, 94], "recreat": 1, "scratch": [1, 2, 57, 65, 70, 94], "anytim": [1, 63, 66, 76], "asymptot": [1, 44, 47, 49, 57, 78, 89], "upper": [1, 7, 15, 22, 25, 65, 69, 84], "least": [1, 8, 9, 13, 15, 18, 20, 25, 28, 30, 40, 41, 42, 46, 52, 53, 56, 57, 61, 62, 63, 68, 77, 84, 89], "inflat": [1, 40], "goal": [1, 7, 9, 13, 16, 19, 21, 24, 33, 40, 49, 60, 64, 65, 66, 68, 77, 83, 94], "explicitli": [1, 5, 7, 8, 18, 32, 52, 62, 86], "ask": [1, 5, 6, 8, 12, 14, 46, 54, 94], "tightest": 1, "ldot": [1, 40, 42, 88], "parameter": [1, 36, 41, 55, 73, 76, 78, 79, 80, 85], "badli": [1, 93], "mislead": 1, "moral": [1, 25, 63], "stori": [1, 25, 63], "hideou": 1, "inexcus": 1, "abus": [1, 82, 92], "allow": [1, 8, 12, 13, 16, 18, 19, 20, 21, 25, 27, 30, 31, 40, 41, 42, 46, 47, 48, 55, 63, 72, 73, 76, 77, 79, 81, 82, 84, 91, 94], "perman": [1, 4], "infect": 1, "conscious": 1, "defens": [1, 11, 23], "patent": 1, "ridicul": 1, "grace": [1, 71], "admit": [1, 46, 89], "nonsens": 1, "sometim": [1, 4, 7, 8, 9, 13, 14, 16, 19, 22, 24, 25, 27, 32, 35, 40, 42, 44, 45, 46, 51, 62, 63, 64, 65, 66, 72, 75, 76, 78, 84, 91, 93, 94], "becom": [1, 2, 3, 8, 9, 10, 18, 21, 25, 27, 28, 30, 35, 36, 40, 41, 42, 43, 45, 46, 47, 54, 59, 61, 62, 63, 65, 66, 69, 74, 78, 79, 80, 81, 83, 84, 87, 91], "stuck": [1, 13, 19, 22, 50, 62, 67, 68, 94], "mistak": [1, 3, 10, 16, 21, 27, 32, 40, 80, 91, 94], "ancestor": [1, 65], "Be": [1, 15, 41, 65, 94], "direct": [1, 4, 12, 20, 41, 42, 46, 49, 52, 54, 76, 77, 86, 94], "ever": [1, 3, 4, 7, 8, 9, 18, 27, 35, 40, 42, 45, 46, 48, 63, 66, 68, 78, 80, 84, 91], "chanc": [1, 4, 27, 46, 84], "teach": [1, 69, 74], "intellectu": [1, 95], "children": [1, 37, 44, 47, 50, 64], "By": [1, 8, 9, 13, 14, 17, 18, 19, 22, 24, 30, 41, 42, 45, 48, 55, 57, 63, 66, 69, 77, 84, 91, 94], "pretti": [1, 8, 12, 14, 46, 62, 83], "thing": [1, 4, 5, 8, 9, 10, 12, 16, 20, 25, 27, 31, 32, 33, 45, 46, 48, 63, 66, 73, 78, 91, 93, 94], "longest": [1, 28, 47], "euphem": 1, "emphas": [1, 5, 16, 33, 54, 84], "featur": [1, 7, 8, 9, 11, 19, 25, 29, 30, 33, 35, 36, 43, 45, 46, 48, 59, 61, 64, 65, 66, 70, 74, 76, 79, 80, 82, 85, 87, 89, 91, 93], "linear": [1, 6, 8, 18, 26, 37, 38, 40, 41, 42, 44, 54, 57, 58, 62, 63, 76, 77, 78], "familiar": [1, 13, 22, 24, 29, 30, 42, 53, 57, 60, 65, 91, 94], "tail": [1, 11, 19, 28, 36, 41, 48, 50, 58, 66, 76, 78, 90, 91], "insid": [2, 3, 5, 7, 8, 9, 10, 22, 25, 27, 30, 32, 35, 41, 44, 45, 46, 47, 48, 61, 62, 64, 65, 66, 75, 76, 79, 80, 82, 83, 84, 91, 94], "With": [2, 8, 16, 18, 20, 41, 46, 47, 54, 61, 63, 64, 66, 68, 76, 79, 80, 89, 94], "system": [2, 3, 4, 8, 9, 10, 16, 21, 24, 45, 46, 62, 63, 66, 67, 71, 72, 73, 76, 79, 80, 81, 84, 85, 86, 91, 94], "host": 2, "os": [2, 46, 64, 94], "guest": 2, "nativ": [2, 3], "window": [2, 3, 12, 33, 41], "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, 56, 57, 59, 62, 64, 65, 71, 73, 75, 76, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 93, 94], "pre": [2, 26, 27, 30, 40, 54, 94], "ubuntu": [2, 94], "free": [2, 4, 16, 28, 63, 65, 66, 67, 73, 74, 93, 94], "linux": [2, 16], "ancient": 2, "african": 2, "process": [2, 8, 14, 20, 24, 30, 33, 36, 46, 47, 50, 54, 57, 63, 65, 66, 78, 79, 86, 94], "download": [2, 12, 14, 61, 62, 64, 65, 66, 68, 77, 93, 94], "oracl": 2, "virtualbox": 2, "Or": [2, 4, 8, 10, 14, 21, 25, 30, 35, 45, 53, 61, 63, 65, 66, 84, 93, 94], "updat": [2, 20, 21, 25, 33, 44, 46, 73, 78, 79, 87, 90, 91, 94], "latest": 2, "worri": [2, 3, 4, 7, 8, 17, 30, 33, 46, 57, 63, 66, 75, 76, 77, 92, 94], "sorri": [2, 30], "preview": 2, "didn": [2, 4, 8, 30, 33, 48, 54, 59, 68, 70, 79, 80, 91, 92], "load": [2, 8, 20, 40, 41, 42, 46, 49, 64, 65, 75, 77], "messag": [2, 7, 8, 17, 20, 33, 45, 63, 75, 80, 84, 94], "click": [2, 14, 46, 93, 94], "button": 2, "save": [2, 3, 4, 40, 42, 44, 55, 61, 68, 94], "ova": 2, "wherev": [2, 63], "6gb": [], "while": [2, 19, 20, 42, 46, 47, 71, 72, 76, 79, 81, 82, 87, 88, 93, 94], "launch": [2, 12, 46, 62, 75, 86, 93, 94], "select": [2, 14, 64, 83, 94], "applianc": 2, "cs3110": 94, "2022fa": [], "point": [2, 4, 6, 7, 8, 14, 16, 18, 19, 25, 28, 33, 34, 35, 38, 42, 45, 46, 48, 53, 54, 57, 60, 61, 62, 63, 64, 65, 66, 75, 76, 78, 82, 84, 90, 91, 94], "error": [2, 4, 6, 7, 8, 10, 12, 14, 16, 20, 23, 24, 25, 27, 32, 33, 45, 48, 54, 62, 63, 64, 66, 68, 73, 75, 76, 77, 78, 79, 80, 84, 86, 90, 91, 93, 94], "depend": [2, 10, 13, 14, 21, 25, 28, 33, 40, 42, 45, 46, 47, 56, 63, 65, 66, 69, 73, 79, 81, 84, 91, 94], "hard": [2, 4, 5, 13, 16, 21, 22, 24, 30, 35, 42, 45, 47, 54, 66, 75, 79, 80, 81, 89, 91], "vt": 2, "amd": 2, "acceler": 2, "access": [2, 4, 7, 8, 9, 32, 35, 36, 39, 46, 48, 64, 76, 77, 78, 80, 84, 86, 87, 91, 94], "bio": [2, 94], "vari": [2, 47, 59], "manufactur": [2, 94], "googl": [2, 74, 94], "substitut": [2, 7, 8, 11, 30, 34, 61, 62, 63, 67, 69, 73, 84, 91, 94], "red": [2, 7, 25, 41, 43, 49, 84, 90, 94], "hat": [2, 94], "page": [2, 6, 7, 8, 12, 46, 48, 93, 94], "kernel": [2, 93], "panic": 2, "attempt": [2, 14, 22, 24, 36, 42, 46, 48, 57, 63, 64, 65, 66, 68, 73, 76], "kill": 2, "idl": 2, "increas": [2, 14, 24, 28, 30, 40, 41, 44, 47, 56, 77], "box": [2, 15, 19, 23, 32, 41, 45, 46], "slider": 2, "grei": 2, "won": [2, 3, 4, 9, 16, 25, 28, 41, 45, 48, 63, 65, 66, 68, 71, 73, 75, 76, 79, 80, 84, 86, 91, 94], "permit": [2, 7, 8, 10, 16, 34, 41, 46, 48, 63, 66, 78, 80, 84, 91], "adjust": 2, "chang": [2, 3, 4, 7, 8, 10, 13, 14, 18, 19, 20, 21, 25, 30, 33, 34, 40, 41, 42, 44, 45, 46, 47, 48, 50, 54, 57, 61, 62, 63, 66, 69, 70, 71, 73, 76, 77, 78, 80, 81, 84, 86, 87, 89, 90, 91, 94], "memori": [2, 4, 8, 9, 12, 17, 30, 36, 45, 46, 48, 61, 64, 73, 91, 92], "activ": [2, 46, 79, 94], "shut": 2, "freez": 2, "black": [2, 15, 19, 23, 41, 43, 49], "abort": [2, 19, 77], "displai": 2, "motherboard": 2, "video": [2, 30, 35, 60, 86, 93, 95], "screen": [2, 45, 46], "color": [2, 25, 41, 47, 90, 94], "underneath": 2, "indic": [2, 6, 7, 8, 10, 12, 30, 33, 39, 41, 42, 46, 47, 48, 54, 55, 56, 63, 64, 65, 76, 83, 84, 91, 94], "zone": 2, "lower": [2, 7, 18, 25, 41, 47, 63, 65, 84], "monitor": [2, 41], "high": [2, 13, 14, 16, 20, 41, 42, 46, 57, 60, 63, 64, 65, 76], "pixel": 2, "densiti": 2, "appl": [2, 77], "retina": 2, "incred": [2, 20, 71], "tini": [2, 7, 60, 65, 66, 78, 79], "scale": [2, 8, 93], "200": [2, 30, 40, 93, 95], "automat": [2, 3, 4, 7, 8, 17, 39, 63, 65, 73, 75, 76, 79, 80, 82, 84, 94], "usernam": [2, 94], "camel": [2, 10, 46, 91, 93, 94], "password": [2, 94], "To": [2, 3, 4, 7, 8, 10, 13, 14, 18, 19, 20, 25, 27, 28, 31, 33, 34, 35, 40, 41, 42, 44, 46, 47, 48, 50, 52, 54, 57, 61, 62, 63, 66, 68, 75, 76, 77, 78, 79, 81, 84, 87, 90, 91, 93, 94], "passwd": 2, "termin": [2, 3, 7, 10, 12, 27, 41, 46, 63, 65, 67, 76, 84, 87, 91, 93, 94], "prompt": [2, 12, 86, 94], "welcom": [2, 94], "user": [2, 20, 24, 32, 46, 48, 91, 94], "account": [2, 25, 40, 52, 61, 94], "awar": [2, 16, 40, 46, 75, 82], "opam": [2, 3, 8, 46, 65], "instruct": [2, 8, 45, 46, 64, 69, 94], "menu": [2, 46, 93, 94], "safe": [2, 8, 25, 28, 30, 45, 47, 63, 73, 91, 94], "shutdown": 2, "reboot": [2, 94], "often": [2, 4, 5, 7, 8, 10, 14, 16, 18, 20, 24, 33, 35, 37, 42, 43, 45, 47, 55, 58, 63, 76, 79, 84, 86, 87, 94], "icon": [2, 12, 93, 94], "option": [2, 3, 12, 13, 20, 25, 26, 27, 28, 29, 30, 36, 41, 42, 44, 45, 62, 63, 65, 76, 79, 80, 84, 90, 91, 94], "normal": [2, 8, 20, 22, 27, 28, 39, 40, 45, 47, 75, 79, 83, 85, 88, 91], "lid": 2, "sleep": [2, 41, 46], "wake": 2, "send": [2, 8, 76], "signal": [2, 18], "intend": [2, 3, 17, 24, 27, 30, 41, 45, 50, 65, 66, 76, 84, 94], "unplug": 2, "desktop": 2, "wall": [2, 69], "boot": 2, "off": [2, 3, 4, 8, 18, 24, 30, 32, 40, 46, 48, 57, 63, 76, 83, 84, 91, 93], "danger": [2, 24, 91, 94], "pull": [2, 65], "cord": 2, "suddenli": [2, 66], "quit": [2, 7, 8, 10, 12, 13, 18, 19, 20, 21, 22, 24, 30, 42, 43, 45, 46, 48, 58, 63, 65, 72, 73, 77, 79, 80, 85, 90, 91, 94], "without": [2, 8, 9, 12, 14, 16, 18, 19, 21, 27, 30, 33, 35, 41, 42, 44, 45, 46, 48, 50, 55, 57, 60, 61, 64, 65, 66, 73, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 90, 92, 94], "cleanup": 2, "hand": [2, 3, 7, 8, 18, 21, 24, 30, 34, 35, 41, 45, 47, 48, 54, 57, 61, 63, 64, 65, 66, 68, 70, 76, 79, 84, 91, 94], "corrupt": [2, 46], "lose": [2, 45], "reinstal": [2, 94], "unhappi": [2, 75], "avoid": [2, 16, 24, 25, 30, 44, 45, 46, 47, 55, 62, 65, 67, 71, 76, 78, 80, 83, 84], "firefox": 2, "web": [2, 12, 14, 30, 43, 46, 93], "browser": [2, 12, 14, 46, 64, 93, 94], "launcher": 2, "bar": [2, 30, 64, 68, 94], "share": [2, 19, 30, 36, 46, 54, 75, 78, 79, 83, 85, 93, 94], "folder": [2, 65], "copi": [2, 3, 4, 12, 18, 20, 30, 33, 35, 36, 40, 65, 76, 77, 78, 80, 82, 94], "plu": [2, 14, 15, 22, 40, 62, 63, 65, 68, 77], "sign": [2, 6, 8, 25, 28, 30, 33, 35, 65, 78, 79, 83], "dialog": 2, "path": [2, 14, 18, 23, 28, 41, 47, 94], "navig": [2, 24, 46, 94], "vmshare": 2, "keep": [2, 4, 15, 18, 19, 20, 21, 22, 24, 31, 36, 40, 41, 42, 45, 46, 47, 54, 57, 61, 63, 66, 68, 76, 78, 79, 81, 85, 86, 94], "fill": [2, 28, 41, 42, 44, 45, 46, 62, 77, 88], "auto": [2, 46], "mount": 2, "home": [2, 3, 94], "ok": [2, 23, 33, 34, 45, 76], "subdirectori": [2, 3, 86, 94], "directori": [2, 3, 14, 33, 75, 86, 94], "cpu": [2, 6, 46], "alloc": [2, 8, 30, 42, 73, 91], "els": [2, 4, 6, 7, 8, 13, 14, 15, 16, 18, 19, 26, 30, 42, 44, 45, 46, 47, 48, 50, 53, 54, 55, 57, 58, 61, 62, 63, 65, 66, 68, 76, 77, 78, 79, 80, 91, 94], "tinker": 2, "tab": [2, 9, 41, 42, 65, 94], "bring": [2, 20, 33, 40, 41, 84], "plai": [2, 15, 16, 30, 45, 84], "around": [2, 5, 7, 8, 16, 18, 22, 27, 40, 41, 47, 48, 56, 61, 62, 63, 75, 78, 79, 86, 94], "sweet": [2, 30, 57], "spot": 2, "satisfi": [2, 5, 14, 16, 18, 19, 20, 21, 23, 28, 33, 40, 41, 45, 47, 52, 55, 76, 79, 81, 82, 83], "properli": [2, 20, 62, 84], "delet": [2, 14, 33, 41, 47], "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, 46, 47, 48, 50, 51, 59, 63, 64, 66, 67, 73, 75, 79, 83, 84, 85, 91, 94], "interact": [3, 9, 12, 13, 14, 24, 41, 46, 48, 63, 65, 86, 91, 93], "calcul": [3, 12, 40, 41, 44], "far": [3, 4, 5, 7, 8, 14, 17, 18, 19, 20, 22, 24, 25, 27, 34, 35, 40, 42, 45, 46, 54, 57, 61, 62, 63, 65, 68, 71, 75, 76, 78, 81, 84, 89, 91], "open": [3, 14, 27, 30, 32, 33, 41, 42, 46, 62, 65, 66, 68, 76, 77, 78, 79, 85, 86, 93, 94], "command": [3, 7, 12, 41, 46, 65, 73, 86, 93, 94], "mkdir": [3, 94], "hello": [3, 6, 25, 35, 41, 64, 76, 93], "cd": [3, 94], "root": [3, 6, 10, 14, 16, 25, 28, 41, 44, 47, 50, 63, 65, 94], "unix": [3, 16, 20, 41, 46], "place": [3, 7, 8, 14, 18, 21, 22, 24, 25, 30, 33, 42, 46, 47, 50, 62, 66, 68, 75, 76, 84, 88, 91, 93, 94], "soon": [3, 4, 8, 21, 25, 39, 45, 54, 66, 73, 78, 80, 82, 84], "_": [3, 10, 13, 16, 18, 19, 20, 25, 27, 28, 30, 31, 33, 34, 37, 38, 41, 42, 44, 45, 46, 47, 48, 50, 54, 62, 66, 68, 75, 76, 78, 79, 83, 84, 91], "print_endlin": [3, 6, 10, 46, 93], "session": [3, 12, 20], "blank": 3, "underscor": [3, 10, 30, 33], "ocamlc": [3, 77, 86], "output": [3, 4, 6, 8, 10, 12, 14, 15, 16, 18, 19, 21, 23, 28, 30, 41, 42, 45, 46, 47, 48, 49, 52, 53, 55, 56, 57, 63, 64, 65, 68, 73, 76, 77, 78, 79, 83, 84, 85, 90, 91, 93, 94], "bytecod": [3, 45, 64, 67, 86], "cmi": 3, "cmo": [3, 77, 86], "concern": [3, 4, 18, 30, 73, 76, 81, 82], "print": [3, 4, 11, 12, 20, 28, 33, 41, 45, 46, 48, 53, 57, 63, 77, 83, 89, 91, 93], "string": [3, 5, 6, 7, 8, 10, 15, 18, 20, 25, 26, 27, 28, 32, 33, 34, 35, 41, 42, 44, 45, 46, 52, 54, 55, 57, 62, 63, 65, 68, 75, 76, 77, 78, 79, 83, 84, 86, 90, 91, 93, 94], "recompil": [3, 62, 77], "rerun": 3, "multipl": [3, 6, 7, 8, 10, 11, 15, 18, 19, 22, 25, 26, 35, 40, 41, 42, 45, 46, 48, 52, 60, 63, 64, 66, 76, 77, 78, 83, 91], "cycl": [3, 25, 42, 45, 48, 49, 90, 91], "feel": [3, 8, 9, 24, 29, 45, 65, 71, 84, 94], "unfamiliar": [3, 6], "id": [3, 8, 9, 30, 45, 62, 63, 65, 78, 79, 80, 93, 94], "eclips": [3, 9], "clean": [3, 72, 94], "rm": [3, 6, 14, 27, 94], "unlik": [3, 7, 29, 42, 63, 84, 91], "invok": [3, 14, 20, 46, 76, 80, 84, 91], "idiom": [3, 9, 11, 30, 76], "last": [3, 4, 7, 14, 18, 20, 22, 28, 40, 41, 42, 44, 45, 46, 48, 51, 63, 65, 66, 68, 70, 79, 84], "serv": [3, 19, 21, 24, 46, 71], "kick": [3, 8], "project": [3, 33, 42, 46, 65, 73], "manual": [3, 5, 6, 7, 8, 27, 34, 41, 46, 63, 76, 83, 84, 91, 94], "librari": [3, 4, 5, 7, 8, 9, 10, 11, 14, 18, 20, 21, 25, 26, 27, 28, 30, 33, 34, 36, 37, 41, 45, 46, 47, 48, 51, 52, 53, 56, 57, 59, 65, 66, 75, 76, 77, 78, 79, 80, 84, 88, 91], "legaci": [3, 86], "ocamlbuild": [3, 86], "newer": [3, 94], "gradl": 3, "maven": 3, "ant": 3, "hierarchi": [3, 63], "extern": [3, 46], "packag": [3, 20, 46, 82, 84, 94], "instal": [3, 8, 15, 18, 20, 46, 76, 77, 83, 93], "manag": [3, 14, 17, 25, 40, 46, 73, 81, 94], "descend": [3, 14, 16, 19, 28, 47, 63], "lisp": [3, 8, 30, 61, 66, 70, 72, 74], "parenthes": [3, 7, 8, 12, 25, 35, 46, 54, 58, 62, 64, 65, 78, 79, 84, 87], "nest": [3, 6, 7, 10, 14, 19, 30, 31, 32, 62, 66, 76, 83, 84, 91], "html": [3, 5, 12, 14, 23, 30, 74, 75, 93], "declar": [3, 5, 8, 16, 25, 46, 62, 63, 65, 75, 76, 77, 79, 80, 81, 83, 84, 85, 90], "lang": [3, 33, 63], "sourc": [3, 4, 5, 12, 14, 16, 17, 18, 20, 24, 30, 46, 54, 61, 64, 67, 73, 75, 79, 80, 81, 86, 89, 90, 93, 94], "ex": [3, 14, 30, 33, 41, 46, 94], "extens": [3, 4, 19, 25, 30, 46, 65, 69, 75, 79, 85, 93, 94], "platform": [3, 7, 93, 94], "_build": [3, 33, 65, 86], "benefit": [3, 21, 24, 42, 46, 55, 74, 82], "over": [3, 7, 8, 9, 13, 15, 16, 19, 20, 25, 37, 40, 41, 42, 44, 45, 46, 47, 48, 50, 54, 55, 59, 60, 61, 63, 65, 66, 68, 69, 70, 73, 76, 77, 79, 93, 94, 95], "pollut": 3, "bunch": [3, 40], "cleanli": [3, 41], "separ": [3, 6, 7, 8, 10, 18, 30, 33, 52, 63, 64, 65, 66, 75, 78, 81, 83, 84, 91, 94], "buri": 3, "coupl": [3, 4, 8, 9, 10, 13, 17, 20, 21, 25, 28, 32, 42, 45, 46, 47, 51, 54, 60, 65, 68, 79, 80, 84, 85, 91], "default": [3, 8, 14, 20, 42, 46, 47, 48, 65, 76, 85, 88, 94], "shortcut": [3, 94], "rememb": [3, 12, 16, 30, 32, 35, 44, 48, 54, 62, 66, 76, 79, 80, 91, 94], "simpli": [3, 7, 8, 13, 16, 18, 19, 25, 26, 27, 28, 30, 39, 41, 42, 44, 45, 46, 47, 48, 53, 62, 65, 73, 76, 79, 80, 81, 84, 91, 93, 94], "exec": [3, 14, 33, 41, 46], "remov": [3, 13, 15, 18, 20, 21, 41, 42, 45, 46, 47, 57, 64, 77, 78, 79, 81, 84, 90, 94], "cach": [3, 48, 49, 76, 78], "accident": [3, 54, 57, 66, 75, 84], "loss": [3, 18], "recov": [3, 42], "git": 3, "advis": [3, 78], "resort": 4, "everyth": [4, 5, 8, 46, 54, 56, 66, 68, 73, 79, 81, 86], "fail": [4, 7, 14, 16, 17, 18, 19, 20, 21, 22, 27, 33, 41, 46, 47, 63, 71, 76, 86, 94], "accord": [4, 7, 13, 17, 19, 20, 28, 30, 41, 42, 48, 54, 61, 63, 64, 79, 84, 91], "rob": 4, "miller": 4, "four": [4, 14, 28, 31, 40, 45, 47, 62, 63, 65, 69, 76, 77, 85, 93, 94], "erad": 4, "safeti": [4, 8, 17, 67, 73, 74, 91, 92], "refer": [4, 7, 8, 10, 15, 19, 20, 25, 32, 39, 40, 45, 46, 51, 55, 63, 65, 78, 86, 88, 90, 91, 92], "region": [4, 14, 91], "inconsist": [4, 18], "prevent": [4, 8, 21, 24, 30, 63, 66, 73, 76, 82, 91], "buffer": [4, 10, 65, 73], "overflow": [4, 6, 8, 48, 71, 73], "ad": [4, 8, 12, 14, 15, 16, 18, 19, 20, 40, 41, 42, 46, 47, 57, 65, 66, 68, 76, 77, 78, 79, 80, 82, 83, 84], "boolean": [4, 7, 13, 22, 34, 41, 42, 55, 63, 65, 66, 68, 91], "float": [4, 6, 7, 10, 14, 25, 28, 32, 38, 41, 42, 52, 75, 77, 78, 79, 83, 87, 88], "tool": [4, 5, 9, 11, 12, 14, 16, 24, 30, 60, 64, 65, 94], "autom": [4, 24, 33], "analysi": [4, 9, 13, 22, 43, 49, 64, 66, 67, 68, 69, 78], "findbug": 4, "slam": 4, "devic": 4, "driver": [4, 24], "subfield": 4, "cs": [2, 4, 6, 23, 37, 46, 67, 93, 94, 95], "verif": [4, 13, 19, 23, 24], "social": [4, 17, 23, 24, 84], "ibm": [4, 24], "1970": [4, 47, 65, 72], "1990": [4, 55, 59, 69, 70, 71], "remark": [4, 24, 66], "effect": [4, 7, 8, 9, 10, 14, 19, 24, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 65, 73, 74, 75, 76, 79, 80, 81, 84, 86, 87, 89, 93, 94], "jone": [4, 24], "1991": [4, 23, 24, 72], "inspect": [4, 23, 24, 47], "found": [4, 7, 8, 15, 18, 19, 20, 23, 24, 41, 42, 47, 63, 73, 86, 92, 93, 94], "65": [4, 7, 20, 24, 30], "20": [4, 7, 24, 26, 27, 30, 40, 41, 42, 45, 46, 62, 63, 84, 91, 95], "none": [4, 5, 8, 10, 20, 24, 25, 26, 27, 28, 30, 32, 41, 42, 44, 45, 46, 48, 54, 62, 66, 76, 78, 80, 90, 91], "visibl": [4, 30, 44, 76, 80, 84, 85, 93], "appear": [4, 8, 13, 18, 24, 28, 30, 34, 35, 39, 41, 42, 43, 45, 46, 52, 62, 63, 64, 65, 66, 76, 78, 79, 84, 85, 86, 94], "easier": [4, 15, 16, 18, 24, 28, 30, 40, 45, 46, 61, 63, 64, 66, 71, 73, 78, 80, 81, 85, 86, 94], "diagnos": [4, 45, 84, 94], "fix": [4, 8, 10, 12, 20, 21, 22, 24, 35, 40, 42, 46, 47, 57, 62, 63, 84, 87, 94], "past": [4, 12, 13, 17, 33, 57, 62, 80, 82, 83, 94, 95], "obscur": [4, 16, 46, 63, 85], "loudli": 4, "fourth": [4, 41, 52, 55, 65, 91, 94], "expos": [4, 5, 17, 18, 45, 46, 71, 76, 79, 80, 83, 91], "confirm": [4, 14], "modul": [4, 7, 8, 10, 13, 14, 15, 20, 21, 24, 26, 28, 30, 33, 39, 41, 42, 43, 44, 45, 46, 47, 48, 52, 54, 56, 58, 59, 65, 66, 68, 73, 75, 76, 77, 78, 81, 85, 87, 88, 90, 91], "especi": [4, 8, 30, 40, 42, 43, 46, 63, 65, 89, 93], "break": [4, 23, 40, 42, 47, 63, 64, 73, 76, 78, 94], "distil": 4, "lurk": [4, 12, 84], "spent": [4, 16, 40, 44], "until": [4, 7, 17, 27, 32, 33, 45, 46, 48, 57, 64, 66, 70, 71, 73, 75, 77, 80, 91], "emploi": [4, 24], "scientif": [4, 23, 24], "formul": [4, 15, 19, 22, 24, 41, 45, 68], "notebook": [4, 93], "chemistri": 4, "lab": [4, 94], "clarifi": [4, 70], "mind": [4, 6, 15, 36, 56, 75, 85, 94], "track": [4, 22, 31, 42, 46, 54, 63, 66], "hypothes": [4, 22], "experi": [4, 9, 17, 20, 24, 61, 62, 71, 77, 78, 86, 93], "affirm": 4, "deni": 4, "reformul": 4, "ration": [4, 14, 77], "typo": [4, 84], "flaw": [4, 57], "major": [4, 8, 18, 46, 52, 66, 68, 94], "refactor": [4, 33, 55, 77], "suit": [4, 14, 15, 17, 20, 27, 28, 33], "creep": 4, "futur": [4, 7, 17, 18, 24, 25, 30, 41, 46, 61, 85, 94], "guard": [4, 7, 63, 66, 68], "repeatedli": [4, 6, 44], "previou": [4, 5, 6, 8, 13, 14, 15, 19, 25, 28, 30, 33, 35, 41, 44, 46, 48, 53, 62, 63, 64, 66, 68, 77, 79, 91, 94], "regress": [4, 23], "tip": [4, 93, 94], "ascertain": 4, "inc": [4, 8, 12, 41, 45, 84, 86, 88], "print_int": [4, 10, 57], "trace": [4, 27], "fib": [4, 6, 15, 44, 48], "stop": [4, 8, 30, 41, 42, 46, 62, 66, 94], "untrac": 4, "debugg": [4, 9], "ocamldebug": 4, "tutori": [4, 14, 94], "websit": [4, 72, 94], "unless": [4, 8, 20, 62, 66, 71, 78, 86, 94], "emac": [4, 61, 93, 94], "section": [4, 5, 16, 18, 23, 28, 30, 33, 35, 41, 44, 45, 46, 49, 53, 54, 55, 60, 62, 65, 66, 68, 76, 79, 80, 84, 91, 93], "precondit": [4, 8, 11, 13, 14, 15, 16, 18, 19, 21, 23, 41, 75], "random_int": [4, 5], "random": [4, 5, 15, 23, 42, 91, 94], "inclus": [4, 5, 6, 30, 52, 86], "exclus": [4, 5, 56], "greater": [4, 5, 6, 14, 16, 24, 30, 47, 52, 66, 77, 78, 79], "30": [4, 5, 28, 30, 46, 48, 84], "pass": [4, 5, 8, 10, 14, 19, 20, 21, 30, 33, 38, 42, 45, 51, 54, 55, 56, 57, 58, 63, 66, 74, 77, 79, 84, 91], "violat": [4, 14, 16, 18, 20, 21, 24, 40, 42, 44, 46, 47, 63, 66, 83, 91], "claus": [4, 5, 23, 30], "whatsoev": [4, 45, 68], "bet": [4, 91], "implementor": [4, 79], "lsl": 4, "invalid_arg": [4, 14, 46, 91], "built": [4, 6, 7, 8, 10, 13, 18, 20, 26, 29, 30, 31, 33, 36, 40, 41, 42, 45, 46, 48, 53, 54, 57, 63, 65, 68, 72, 77, 78, 82, 83, 84, 91, 94], "invalid_argu": [4, 7, 14, 46, 87, 91], "situat": [4, 14, 22, 40, 47, 48, 61, 64, 68, 75, 86], "invalid": [4, 16, 52, 65, 77], "computation": [4, 66], "cheap": [4, 18, 40, 42], "prefer": [4, 9, 12, 42, 46, 47, 75, 91, 94], "inexpens": [4, 40], "approxim": [4, 7, 14, 18, 41, 42, 48, 63, 78], "unnecessarili": 4, "expens": [4, 18, 24, 37, 40, 42, 57], "cost": [4, 18, 24, 40, 47, 57, 76, 78], "initi": [4, 8, 15, 20, 23, 24, 40, 41, 42, 50, 54, 63, 64, 68, 87, 88, 91], "paid": [4, 40], "These": [4, 7, 8, 16, 19, 23, 24, 30, 36, 45, 48, 55, 65, 75, 82, 86, 91, 93, 94], "misplac": 4, "monei": [4, 40], "societi": 4, "repair": [4, 47], "fault": [4, 19, 23, 24, 45, 89], "restat": 4, "postcondit": [4, 8, 11, 16, 19, 21, 23], "big": [4, 7, 8, 30, 35, 42, 44, 49, 61, 62, 65, 67, 68, 69, 76, 77, 86], "savvi": [4, 42], "anywai": [4, 12, 40, 45, 46, 61, 84], "spend": [4, 24, 40, 94], "ocamldoc": [5, 75], "javadoc": [5, 30], "comment": [5, 8, 15, 18, 19, 21, 23, 24, 30, 46, 54, 62, 63, 76, 83, 84], "render": [5, 30, 33, 46], "easi": [5, 8, 9, 10, 13, 17, 18, 19, 24, 26, 30, 35, 39, 41, 42, 45, 47, 50, 57, 63, 66, 68, 71, 73, 76, 78, 79, 80, 84, 93, 94, 95], "sum": [5, 19, 25, 30, 33, 35, 36, 40, 41, 48, 52, 54, 58, 83], "lst": [5, 15, 16, 18, 20, 22, 26, 28, 30, 42, 48, 52, 53, 54, 57, 64, 78, 79, 80, 84, 90, 91], "asterisk": 5, "recogn": [5, 27, 32, 40, 45, 55, 59, 65, 85, 94], "squar": [5, 6, 7, 8, 14, 15, 16, 25, 28, 30, 47, 48, 52, 55, 58, 64, 88, 94], "bracket": [5, 7, 25, 28, 30, 47, 64, 76], "typewrit": [5, 30], "font": 5, "regular": [5, 8, 62, 65, 67, 85], "support": [2, 5, 7, 8, 10, 18, 19, 20, 25, 30, 42, 46, 56, 59, 61, 65, 70, 73, 76, 77, 78, 79, 81, 82, 83, 94], "deprec": 5, "param": 5, "netid": [5, 94], "full": [5, 18, 19, 32, 34, 35, 41, 45, 62, 63, 64, 71, 72, 79, 93], "rang": [5, 7, 20, 42, 58], "markup": 5, "cover": [5, 7, 8, 9, 14, 18, 20, 24, 25, 27, 29, 30, 39, 43, 46, 59, 63, 64, 65, 66, 69, 77, 84, 89, 93], "enough": [5, 6, 8, 13, 14, 16, 17, 18, 21, 30, 33, 41, 57, 64, 65, 66, 81, 91], "style": [5, 7, 12, 16, 18, 35, 45, 46, 51, 59, 66, 84, 85], "favor": 5, "resembl": [5, 19, 61, 63, 65, 66, 79, 85], "revisit": [5, 33, 34, 40, 77], "descript": [5, 16, 19, 30, 33, 38, 65, 68, 81, 94], "redundantli": 5, "paramet": [5, 8, 16, 25, 33, 54, 56, 63, 79, 80], "said": [5, 9, 14, 27, 46, 71, 76, 91], "strongli": [5, 7, 19], "discourag": [5, 7], "limpid": 5, "lowercase_ascii": [5, 84], "lowercas": [5, 8], "ascii": [5, 7], "occurr": [5, 7, 15, 22, 30, 42, 45, 50, 61, 62, 65, 66, 78], "not_found": [5, 44, 68, 77, 78, 79], "sentenc": [5, 16, 18, 35, 79], "dynam": [5, 7, 8, 9, 11, 25, 27, 30, 34, 35, 39, 48, 62, 63, 66, 67, 68, 69, 73, 74, 80, 83, 84, 87, 90, 91], "python": [5, 7, 8, 10, 12, 20, 29, 30, 53, 56, 57, 58, 59, 64, 70, 71, 73, 84, 93], "frequent": [5, 14, 46, 64, 93], "regard": [5, 7, 17, 19, 35, 40, 54, 66, 78], "ensur": [5, 9, 10, 13, 14, 18, 20, 30, 42, 46, 47, 54, 57, 63, 66, 68, 77, 78, 79, 84], "wrong": [5, 16, 21, 25, 27, 57, 61, 66, 71, 81, 82, 91, 94], "although": [5, 7, 8, 9, 18, 19, 20, 25, 26, 37, 40, 41, 42, 44, 63, 64, 65, 66, 78, 79, 88, 91], "english": [5, 7, 13, 19], "helpfulli": 5, "reader": [5, 8, 12, 16, 18, 31, 45, 53, 54, 57, 65, 84, 93], "highli": [5, 7, 36, 48, 64], "unidiomat": 5, "puzzl": [5, 20, 28, 91], "person": [5, 14, 21, 81], "wrote": [5, 8, 17, 25, 26, 28, 30, 33, 45, 57, 63, 65, 68, 73, 76, 79], "Is": [5, 13, 17, 40, 42, 76, 94], "am": 5, "miss": [5, 13, 16, 18, 65, 66, 75, 84], "string_of_int": [6, 7, 28, 32, 33, 42, 52, 66, 77, 83], "hint": [6, 7, 12, 14, 15, 18, 19, 28, 41, 46, 52, 62, 77, 78, 86, 88], "examin": [6, 7, 21, 29, 41, 42, 62, 73], "scroll": [6, 7], "42": [6, 7, 8, 12, 19, 30, 32, 41, 42, 46, 55, 61, 62, 63, 64, 66, 76, 79, 80, 83, 84, 86, 90, 91], "divid": [6, 14, 19, 42, 66, 75, 77, 78, 88], "14": [6, 7, 8, 10, 25, 28, 30, 62, 67, 75, 76, 78, 84, 91], "seventh": [6, 65], "nor": [6, 8, 10, 16, 27, 46, 52, 54, 62, 84, 89], "hi": [6, 25, 32, 44, 52, 55, 69, 71, 72, 78, 93], "physic": [6, 7, 9, 88, 92], "2110": [6, 37, 42, 69], "increment": [6, 7, 8, 12, 30, 33, 40, 45, 46, 48, 65, 87, 91], "cube": [6, 44, 52], "circl": [6, 17, 25], "radiu": [6, 25], "bear": [6, 22, 56, 79, 94], "1e": 6, "worthwhil": [6, 8, 24, 30], "averag": [6, 15, 40, 42], "avg3": 6, "z": [6, 7, 8, 14, 15, 19, 22, 34, 35, 41, 46, 47, 62, 63, 65, 66, 79, 84, 88, 91], "sqrt": [6, 14, 44, 88], "date": [6, 28, 77], "month": [6, 17, 28, 77], "abbrevi": [6, 25], "jan": [6, 78], "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, 46, 52, 62, 63, 66, 68, 78, 81, 84, 91], "jun": 6, "jul": 6, "aug": 6, "sept": 6, "oct": 6, "nov": 6, "dec": [6, 45], "minimum": [6, 14, 28], "31": [6, 8, 20, 28, 30, 41, 77, 79, 80, 84], "28": [6, 7, 28, 30, 84], "ters": [6, 52, 77, 78], "short": [6, 7, 14, 16, 24, 30, 37, 41, 42, 53, 61, 66, 67, 75, 84, 89, 91], "fewer": [6, 10, 24, 28, 47], "th": 6, "fibonacci": [6, 48], "sequenc": [6, 7, 10, 13, 19, 20, 30, 40, 41, 43, 45, 62, 63, 64, 65, 87, 92], "13": [6, 28, 30, 33, 41, 48, 49, 76, 79, 80, 84, 85, 92], "50th": [6, 77], "instantan": 6, "congratul": 6, "hang": 6, "indefinit": 6, "obviou": [6, 18, 42, 45, 48, 55, 66], "subproblem": [6, 22], "redon": 6, "fib_fast": 6, "helper": [6, 8, 28, 41, 45, 46, 57, 68, 76, 78, 80, 90, 91], "h": [6, 13, 15, 18, 19, 20, 22, 23, 25, 28, 30, 32, 34, 35, 41, 44, 45, 47, 48, 50, 53, 54, 57, 63, 76, 78, 79, 80], "pp": [6, 76], "forward": [6, 41, 94], "neg": [6, 16, 19, 22, 25, 28, 31, 40, 42, 78, 79, 80, 84], "poli": [6, 8, 15, 23, 25, 28], "numer": [6, 16, 41, 77, 78], "denomin": [6, 41, 77], "associ": [6, 9, 13, 15, 18, 19, 22, 23, 28, 29, 30, 35, 36, 39, 44, 45, 46, 49, 52, 54, 59, 62, 64, 65, 67, 68, 77, 78, 79, 94], "decid": [6, 18, 19, 21, 30, 35, 50, 54, 66, 79], "infix": [6, 8, 19, 22, 41, 45, 46, 63, 68, 78], "print_str": [6, 10], "primari": [7, 30, 46, 64, 68, 69, 95], "primarili": [7, 8, 9, 46, 55, 73], "21": [7, 12, 30, 48, 76, 84, 91], "cryptic": 7, "overview": 7, "remain": [7, 8, 13, 33, 40, 46, 48, 50, 52, 54, 61, 62, 63, 66, 68, 77, 79, 90], "yai": 7, "mostli": [7, 14, 46, 90, 93], "recogniz": 7, "mod": [7, 15, 20, 41, 42, 53, 86], "divis": [7, 41, 45, 46, 75, 77], "modulu": 7, "60": [7, 30], "division_by_zero": 7, "modern": [7, 14, 17, 42, 46, 61, 65, 67, 72, 74, 84], "64": [7, 8, 30], "regist": [7, 45, 46, 64, 76], "stolen": 7, "63": [7, 8, 14, 20, 30], "int64": 7, "zarith": [7, 8], "purpos": [7, 16, 18, 20, 22, 45, 46, 61, 64, 66, 68, 70], "suffic": [7, 19, 20, 33, 76, 78, 79, 84], "offer": [7, 40, 42, 47, 51, 69, 79, 84, 92, 94], "ieee": 7, "754": 7, "dot": [7, 30, 35, 52, 63, 76, 84, 94], "deliber": [7, 16, 33, 42, 76], "overload": [7, 10, 84], "expect": [7, 8, 10, 13, 16, 20, 24, 33, 35, 36, 38, 39, 40, 42, 45, 46, 47, 54, 62, 63, 65, 66, 71, 75, 76, 78, 79, 80, 84, 91], "convert": [7, 8, 10, 13, 15, 16, 18, 20, 31, 32, 40, 41, 42, 44, 48, 51, 57, 77, 83, 84], "int_of_float": 7, "float_of_int": [7, 15, 42], "round": [7, 40], "300000000000000044": 7, "behavior": [7, 8, 9, 14, 16, 18, 21, 22, 24, 41, 45, 46, 52, 77, 79, 84, 91, 94], "encount": [7, 45, 47, 50, 63, 66, 73, 75, 76, 85, 90, 91], "bool": [7, 8, 10, 13, 14, 15, 18, 20, 22, 25, 28, 30, 31, 37, 41, 42, 46, 47, 50, 52, 53, 54, 55, 63, 65, 66, 68, 75, 76, 78, 79, 80, 84, 88, 91], "circuit": [7, 41, 66, 67], "char": [7, 20, 52, 77, 79, 84], "quot": [7, 8, 41, 94], "iso": 7, "8859": 7, "latin": 7, "encod": [7, 16, 64, 68, 91], "half": [7, 41, 51, 73], "char_of_int": 7, "int_of_char": 7, "abc": [7, 54], "concaten": [7, 28, 45, 46, 54, 57], "def": [7, 58], "abcdef": 7, "orient": [7, 8, 9, 23, 69, 79, 80, 81, 82, 84, 85, 93], "overrid": [7, 42, 82], "tostr": [7, 10, 18, 33, 76, 77], "__str__": 7, "string_of_float": [7, 83], "string_of_bool": 7, "strang": [7, 8, 27, 46, 63, 79, 84, 91], "string_of_char": 7, "accomplish": [7, 30, 42, 64, 66, 79, 83], "int_of_str": [7, 25, 65], "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, 46, 50, 62, 65, 66, 75, 84], "inequ": 7, "tricki": [7, 28, 40, 66, 79, 91], "curiou": [7, 76, 84], "yourself": [7, 8, 9, 10, 12, 14, 17, 20, 22, 30, 33, 41, 42, 46, 47, 48, 71, 74, 77, 91, 93, 94], "e3": [7, 8, 61, 63, 65, 66, 68, 87], "boo": 7, "anywher": [7, 8, 30, 38, 62, 63, 66, 73, 93], "ternari": [7, 50, 61, 62, 68], "pleasant": [7, 23, 30, 48, 56, 78], "e4": [7, 8, 63], "e5": 7, "e6": 7, "en": [7, 8, 27, 30, 35, 62, 66, 87, 91], "mandatori": [7, 8, 35, 84, 87], "regardless": [7, 13, 28, 30, 42, 45, 46, 66, 77, 80, 91, 94], "omit": [7, 8, 12, 16, 18, 25, 30, 42, 45, 66, 75, 76, 78, 84, 89, 94], "inscrut": 7, "letter": [7, 8, 17, 34, 39, 63, 65, 68, 75, 84, 86], "metavari": [7, 8, 11, 30, 65, 67], "certain": [7, 9, 19, 21, 40, 45, 46, 66, 68, 76, 85, 89], "curious": 7, "compact": [7, 52], "notat": [7, 19, 22, 28, 30, 35, 42, 45, 48, 61, 62, 65, 66, 68], "colon": [7, 30, 35, 63, 84], "pronounc": [7, 8, 10, 12, 25, 30, 45, 62, 76], "usag": [7, 8, 9, 27, 32, 41, 45, 62, 73, 76, 88], "consist": [7, 8, 9, 12, 55, 61, 63], "respond": [7, 46, 84], "43": [7, 8, 30, 66, 79, 91], "24": [7, 30, 45, 47, 76], "11": [7, 8, 28, 30, 36, 41, 42, 44, 49, 76, 78, 79, 84, 85, 86], "On": [7, 18, 30, 40, 41, 45, 54, 66, 76, 80, 91, 94], "bodi": [7, 8, 10, 11, 16, 25, 27, 34, 41, 45, 48, 57, 61, 62, 63, 64, 66, 68, 79, 80, 84, 87, 91], "implicitli": [7, 8, 13, 14, 16, 32, 63, 85], "seri": [7, 14, 40, 41, 88], "idiomat": [7, 8, 9, 10, 30, 35, 39, 76, 84, 91], "begin": [7, 8, 10, 11, 12, 13, 16, 22, 30, 32, 33, 36, 39, 41, 47, 48, 52, 54, 59, 64, 65, 66, 68, 74, 76, 78, 80, 83, 84, 85, 91, 92], "snake_cas": [7, 84], "camelcas": [7, 84], "v1": [7, 8, 30, 34, 35, 42, 61, 62, 66, 78, 87, 90, 91], "v2": [7, 30, 34, 42, 61, 62, 66, 87, 90, 91], "clariti": [7, 16, 18, 54, 58, 66], "inferenc": [7, 63, 67], "meaning": [7, 8, 42, 64, 84], "overlap": [7, 39, 44, 46], "darn": 7, "confus": [7, 9, 16, 30, 46, 63, 65, 76, 83, 84, 91], "ambigu": [7, 64, 78], "pronoun": 7, "guess": [7, 8], "principl": [7, 15, 19, 23, 32, 44, 45, 54, 57, 59, 61, 63, 66, 69, 70, 80, 84, 91, 94], "irrelev": [7, 8, 35, 47, 61, 66, 91], "shouldn": [7, 54, 61, 91, 94], "align": [7, 22, 81], "commonli": [7, 8, 35, 61, 68, 84], "alpha": [7, 8, 76, 77], "renam": [7, 45, 54, 69], "convers": [7, 8, 10, 18, 51, 63, 76, 91], "histor": [7, 53, 79], "unimport": 7, "embed": [7, 46, 93, 95], "shadow": [7, 61, 62, 63, 64, 66, 84], "old": [7, 17, 25, 30, 35, 46, 54, 61, 64, 68, 71, 78, 79, 82, 94], "metaphor": [7, 8, 12, 32, 41, 45, 51, 80], "cast": [7, 64, 84], "eventu": [7, 8, 17, 19, 41, 42, 45, 46, 56, 57, 63, 65, 66, 72, 78], "reappear": 7, "reced": 7, "mutabl": [7, 19, 23, 25, 30, 42, 46, 47, 49, 57, 66, 73, 74, 78, 87, 88, 92], "transcript": [7, 46], "22": [7, 12, 25, 30, 46, 54, 62, 63, 67, 84, 94], "worth": [7, 14, 42, 71, 94, 95], "mutat": [7, 35, 42, 46, 63, 87, 88, 90, 91, 92], "summar": 7, "immut": [7, 15, 30, 42, 71, 73, 74, 78, 89, 92], "superfici": [7, 13], "27": [7, 30, 33, 45, 54, 67], "debug": [7, 8, 11, 16, 18, 23, 32, 45, 65, 71, 78], "forgotten": [7, 58, 84], "cannot": [7, 8, 13, 16, 18, 27, 32, 41, 45, 46, 47, 48, 62, 63, 66, 68, 71, 73, 76, 79, 84, 86, 87, 90, 92], "tri": [7, 8, 34, 40, 72, 79, 91], "clear": [7, 8, 16, 21, 33, 37, 45, 47, 53, 63, 78, 81, 83, 93], "silli": [7, 73], "techniqu": [7, 8, 17, 19, 20, 22, 23, 24, 40, 42, 43, 44, 45, 49, 50, 60, 64, 80, 81], "awai": [7, 8, 10, 16, 17, 18, 25, 40, 46, 54, 57, 63, 66, 80, 82, 86, 91, 94], "receiv": [8, 21, 33, 46, 65, 71, 72, 84, 91], "keyword": [8, 9, 12, 25, 27, 28, 30, 32, 33, 46, 48, 52, 54, 62, 64, 65, 68, 78, 79, 83, 84, 87, 91], "self": [8, 38, 44, 65, 84], "quibbl": 8, "distinct": [8, 14, 18, 30, 35, 44, 64, 79, 81, 82, 84, 94], "procedur": [8, 47, 63, 73, 94], "background": [8, 46, 93], "terminolog": [8, 23, 24, 46, 63], "strictli": [8, 10, 30, 32, 33, 41, 52, 55, 63, 66, 77, 79], "group": [8, 45, 64, 65, 82, 93], "titl": [8, 95], "scheme": [8, 20, 35, 47, 63, 67, 69], "factori": [8, 13, 19, 57, 76, 91], "limit": [8, 20, 46, 64, 73, 77, 84, 85, 89], "architectur": 8, "grown": 8, "garbag": [8, 70, 73], "collector": [8, 53, 57], "runtim": [8, 30, 63], "steal": 8, "flag": [8, 14, 18], "pow": [8, 66], "solv": [8, 13, 22, 28, 37, 41, 42, 44, 47, 54, 62, 66, 76, 79, 80, 94], "algorithm": [8, 16, 19, 37, 40, 41, 44, 46, 47, 49, 50, 54, 59, 62, 63, 67, 69, 75, 77, 90], "ourselv": [8, 14, 17, 19, 20, 25, 40, 46, 57, 76, 81, 84, 89, 91], "mental": [8, 61, 63], "deduct": [8, 19, 52], "particularli": [8, 14, 16, 24, 25, 33, 42, 74, 91], "x1": [8, 15, 19, 25, 34, 61, 66, 78, 88], "x2": [8, 19, 25, 34, 61, 66, 78], "xn": [8, 15, 34, 78, 88], "augment": [8, 45, 64, 66, 84], "week": [8, 17, 40], "mutual": [8, 11, 25, 31, 36, 37, 81, 84], "y1": [8, 25], "yn": 8, "odd": [8, 9, 15, 20, 31, 52, 53, 84], "u": [8, 18, 22, 25, 34, 41, 46, 48, 62, 83], "tn": [8, 25, 34, 35], "scope": [8, 16, 33, 62, 64, 66, 67, 68, 79, 80, 82, 85, 86, 91], "e0": [8, 34, 87], "vn": [8, 30, 35, 42, 78, 91], "vi": [8, 30, 35, 78, 87], "xi": [8, 34], "essenc": [8, 19, 56, 62, 70, 73], "imagin": [8, 16, 17, 33, 42, 45, 46, 47, 48, 55, 58, 91], "depict": [8, 18], "triangl": 8, "sent": [8, 17, 46], "36": [8, 30, 84, 91], "nice": [8, 30, 45, 63, 78, 79, 84], "arguabl": [8, 16, 29, 35, 80, 83], "eleg": [8, 47, 52, 71], "ey": [8, 30, 45], "jump": [8, 64], "move": [8, 18, 24, 30, 33, 46, 47, 48, 57, 62, 78, 84], "linearli": 8, "grow": [8, 19, 40, 42], "1444": 8, "weird": [8, 65, 83], "chain": [8, 10, 19, 41, 46, 49], "stand": [8, 12, 19, 30, 54, 57, 63, 72, 91], "typic": [8, 14, 16, 23, 42, 46, 64, 65, 66, 68, 76, 87, 91, 93, 94], "greek": [8, 20, 25, 68], "beta": 8, "gamma": [8, 68], "bigr": [8, 28, 84, 86], "morph": [8, 25], "id_int": 8, "took": [8, 18, 22, 24, 40, 69, 78, 91], "promis": [8, 21, 41, 43, 45, 49, 91], "thrown": [8, 21], "lost": [8, 17, 78], "broken": [8, 14, 16, 18, 33, 62, 91], "someon": [8, 16, 17, 55, 63], "potenti": [8, 10, 24, 32, 39, 40, 46, 49, 57, 78, 83, 84, 94], "instanti": [8, 19, 63, 64, 67, 79, 84], "mechan": [8, 27, 46, 81, 82, 85], "unappli": 8, "backward": [8, 53, 57], "among": [8, 42, 46, 63, 64, 71, 73, 82], "first_int": 8, "bad_first": 8, "19": [8, 27, 30, 45, 84], "compat": [8, 45, 65, 76, 80, 84], "substr": 8, "consult": [8, 18, 28, 40], "name1": 8, "arg1": 8, "name2": 8, "arg2": 8, "shorthand": 8, "tast": [8, 71], "convei": [8, 76], "clutter": [8, 63], "explicit": [8, 16, 34, 57, 84], "addx": [8, 79], "add5": 8, "multi": [8, 30, 44], "readi": [8, 22, 27, 46, 63, 75, 94], "breath": 8, "t3": [8, 41, 51, 63], "t4": 8, "implicit": [8, 54, 63, 67], "intuit": [8, 13, 30, 45, 46, 48, 54, 62, 66, 78, 83, 84, 91], "grab": [8, 94], "prefix": [8, 20, 22, 39, 41, 48, 63, 68, 84, 91, 94], "add3": 8, "unnecessari": [8, 30, 58], "bewar": [8, 25, 59], "pars": [8, 35, 45, 46, 60, 62, 63, 64, 66, 68, 83, 84, 91], "max": [8, 15, 28, 32, 44, 50, 52], "punctuat": [8, 9, 50, 64], "preced": [8, 15, 30, 62, 65, 67], "seemingli": [8, 84], "uninterest": 8, "100_000": 8, "100000": 8, "stack": [8, 18, 19, 27, 28, 36, 43, 45, 46, 48, 57, 64, 65, 76, 79, 84], "issu": [8, 12, 18, 20, 24, 30, 47, 56, 76, 77, 86, 93, 94], "introductori": [8, 69, 71, 93], "store": [8, 12, 30, 40, 41, 42, 44, 46, 47, 48, 56, 63, 64, 77, 79, 87, 91, 94], "local": [8, 18, 21, 23, 33, 36, 47, 80, 81, 84, 85, 93], "push": [8, 13, 16, 22, 42, 45, 65, 75, 76, 78, 79, 84, 90], "pop": [8, 13, 45, 65, 75, 76, 78, 79, 84, 90], "success": [8, 15, 17, 23, 41], "eat": [8, 40], "harm": 8, "count_forev": 8, "sake": [8, 31, 48, 57, 61, 68, 76], "manifest": [8, 48], "1977": [8, 30, 59, 69], "gui": [8, 23, 46, 93, 94], "steel": 8, "cooper": [8, 46, 49], "trick": [8, 16, 19, 40, 91], "count_aux": 8, "acc": [8, 19, 22, 30, 37, 42, 50, 53, 54, 57, 76], "count_tr": 8, "almost": [8, 16, 19, 29, 80, 90], "accumul": [8, 15, 16, 17, 19, 22, 33, 37, 40, 41, 54, 59], "arriv": 8, "somewher": [8, 14], "tr": 8, "minut": [8, 63, 93], "went": [8, 19, 27, 54, 61, 72, 93, 94], "effort": [8, 16, 33, 42, 94], "frame": [8, 36], "reus": [8, 72, 77, 79, 80, 82, 85], "finish": [8, 13, 14, 15, 19, 33, 40, 41, 46, 47, 48, 65, 66, 91, 94], "wast": [8, 14, 30, 42, 44, 58], "recycl": 8, "beyond": [8, 9, 17, 24, 30, 35, 36, 42, 48, 73, 93, 94], "suitabl": [8, 64, 80], "calle": 8, "deal": [8, 13, 16, 42, 46, 54, 63, 65, 66, 76], "reduc": [8, 13, 14, 42, 44, 63, 66, 77, 78], "1_000_000": [8, 30], "1000000": 8, "patholog": 8, "fixat": 8, "upon": [8, 16, 21, 22, 42, 45, 46, 65, 66, 69, 76, 79, 93], "draft": 8, "rethink": 8, "iter": [8, 13, 15, 23, 28, 42, 46, 59, 77, 78, 79, 87], "thousand": [8, 25], "inde": [8, 10, 13, 19, 20, 29, 35, 45, 46, 57, 61, 63, 64, 66, 72, 84, 91], "notabl": [8, 9, 48], "recip": [8, 16], "nutshel": 8, "main": [8, 9, 16, 24, 41, 46, 57, 61, 62, 65, 66, 76], "ingenu": 8, "fact_aux": [8, 76], "fact_tr": [8, 19], "exercis": [8, 13, 14, 23, 54, 93], "suffer": [8, 63], "50": [8, 30, 48, 77], "3258495067890909184": 8, "hopefulli": [8, 17, 67, 78, 85, 94], "along": [8, 9, 13, 14, 17, 19, 20, 25, 33, 41, 45, 47, 50, 63, 65, 70, 76, 82, 93, 94], "top": [8, 12, 13, 15, 46, 47, 58, 76, 79, 80, 84, 90, 93, 94], "zfact_aux": 8, "pred": [8, 31], "mul": [8, 77], "zfact_tr": 8, "of_int": [8, 77], "30414093201713378043612608166064768844377641568960512000000000000": 8, "symbol": [8, 12, 42, 64, 65, 67, 68, 91], "comparison": [8, 13, 22, 41, 48, 76, 78, 79, 93], "predecessor": 8, "subtract": [8, 45, 54, 64, 79], "dive": [9, 49, 55, 60, 65, 84], "talk": [9, 16, 18, 30, 63, 65, 81, 84, 91], "secondari": 9, "skill": [9, 64, 69], "five": [9, 28, 62, 93], "essenti": [9, 14, 17, 22, 33, 37, 42, 46, 53, 60, 78, 79, 81, 82, 90, 91, 94], "textual": [9, 86], "whitespac": [9, 12, 64, 65, 84], "annoi": [9, 10, 16, 80, 86], "accept": [9, 12, 18, 45, 63, 65, 68, 84, 86], "wish": [9, 94], "unusu": [9, 27, 91], "apl": 9, "keyboard": [9, 46, 61, 68, 94], "newlin": [9, 10, 46], "speak": [9, 40, 66, 74], "plural": 9, "singular": 9, "legal": [9, 25, 35, 39, 61, 76, 78, 91], "challeng": [9, 12, 13, 17, 23, 41, 46, 59, 60, 63, 76, 79, 93], "hurdl": 9, "overcom": 9, "approach": [9, 13, 14, 16, 18, 19, 23, 24, 46, 63, 69, 70], "fluent": 9, "mode": [9, 41, 69], "paradigm": [9, 11, 46], "bundl": [9, 71, 79], "lazi": [9, 41, 43, 44, 49], "virtu": [9, 78, 83], "core": [9, 22, 25, 27, 45, 46, 59, 62, 63, 73, 78, 82], "unabl": [9, 45], "integr": 9, "appar": [9, 18, 42, 57, 71, 75, 85], "exposur": [9, 74], "ounit": [9, 14, 15, 20, 28, 29, 79, 86], "framework": [9, 29, 30, 33, 46, 79], "junit": [9, 33], "hunit": [9, 33], "besid": [9, 55, 64, 94], "abil": [9, 16, 17, 20, 21, 36, 46, 56, 73, 75, 78, 80], "print_char": 10, "print_float": 10, "bae": [10, 46, 93], "undon": 10, "boilerpl": [10, 45], "discard": [10, 33, 78], "surround": [10, 30, 63, 64, 84], "warn": [10, 12, 21, 25, 27, 30, 62, 65, 91, 94], "truli": [10, 20, 28, 34, 47, 68], "intent": [10, 15, 16, 17, 23], "statist": [10, 20, 41, 42], "print_stat": 10, "num": 10, "print_newlin": [10, 57], "84": [10, 30], "39": [10, 30, 35, 80, 91], "shorten": 10, "println": [10, 45], "inherit": [10, 17, 79, 80, 82], "fortran": [10, 70, 84], "invent": [10, 14, 15, 17, 19, 32, 33, 42, 44, 45, 46, 47, 63, 66, 68, 77, 78, 79, 84, 91], "plain": [10, 25], "dozen": 10, "apart": [10, 30, 72], "content": [10, 32, 41, 45, 46, 57, 69, 75, 76, 78, 86, 87, 90, 91, 93], "flush": 10, "onc": [10, 15, 18, 19, 20, 22, 27, 28, 30, 40, 41, 42, 44, 45, 46, 48, 52, 54, 55, 63, 64, 66, 68, 69, 76, 77, 78, 81, 84, 85, 87, 91, 93], "sit": [10, 63], "detect": [10, 12, 15, 18, 24, 30, 63, 66, 73, 94], "34": [10, 28, 30, 48, 79, 80], "37": [10, 30, 80], "sprintf": [10, 45, 77], "collect": [10, 14, 18, 20, 25, 37, 45, 50, 53, 57, 62, 63, 65, 70, 73, 79, 84], "string_of_stat": 10, "throughout": [11, 21, 25, 55, 63, 66, 67, 73, 76, 93], "deepen": 11, "pipelin": [11, 30, 52, 55, 59, 78, 84], "caml": [11, 36, 49, 59, 72, 74, 85, 92], "music": [11, 46], "javascript": [11, 46, 63], "cute": 11, "anim": [11, 63], "disnei": 11, "song": [11, 69], "interfac": [12, 13, 15, 18, 20, 21, 41, 42, 45, 46, 73, 75, 76, 77, 78, 79, 80, 81, 82, 85, 90, 91, 93, 94], "jshell": [12, 53, 57, 76], "handi": 12, "reliant": 12, "repl": 12, "eval": [12, 13, 15, 94], "press": [12, 41, 46, 49, 78, 85, 94], "exit": [12, 20, 41, 46, 64], "kei": [12, 15, 20, 24, 26, 28, 41, 42, 44, 46, 47, 49, 52, 61, 73, 77, 78, 81, 84], "dissect": 12, "infrastructur": [12, 46], "translat": [12, 13, 64, 66], "pdf": [12, 74, 93], "indent": [12, 46, 62, 76], "view": [12, 18, 22, 46, 76, 78, 81, 84, 93, 94], "md": 12, "myst": [12, 93], "markdown": [12, 93], "stai": [12, 40], "dear": [12, 77], "arrow": [12, 63, 66, 79, 90, 94], "visual": [12, 14, 18, 46, 93], "amen": 12, "placehold": [12, 91], "unprint": [12, 76], "vocabulari": [12, 22, 24], "strategi": [12, 42, 48, 62, 64, 66], "mycod": 12, "unbound": [12, 16, 33, 35, 48, 63, 64, 66, 68, 76, 79, 80, 84, 86], "incr": [12, 46, 66, 86, 91], "skip": [12, 15, 45, 65, 66, 68, 94], "bug": [12, 14, 15, 16, 18, 19, 21, 23, 24, 30, 32, 33, 46, 66, 73], "tempt": [12, 16, 17, 20, 24, 57, 63, 73, 75, 79, 84], "resist": 12, "temptat": 12, "stale": 12, "tackl": 13, "proof": [13, 17, 19, 22, 23, 24, 30, 46, 72], "analog": [13, 46, 47, 48, 64, 76, 82, 84, 88], "complex": [13, 16, 18, 24, 38, 40, 46, 49, 73, 77, 78, 81, 82], "effici": [13, 15, 18, 19, 26, 28, 30, 31, 40, 41, 42, 43, 47, 48, 49, 52, 53, 55, 57, 58, 61, 63, 66, 77, 78, 89, 91, 92], "map": [13, 15, 18, 25, 26, 28, 29, 35, 39, 41, 43, 45, 48, 49, 52, 53, 54, 55, 58, 59, 61, 63, 64, 68, 73, 77, 84, 85, 87, 88], "balanc": [13, 16, 21, 47, 52, 63, 65, 69, 78, 79], "binari": [13, 19, 22, 28, 36, 37, 41, 42, 44, 50, 61, 63, 64, 65, 66, 68, 77, 78, 79], "pursu": [13, 83], "equat": [13, 15, 22, 23, 45, 55, 63, 83], "school": [13, 63], "sig": [13, 14, 15, 18, 20, 41, 42, 44, 45, 46, 48, 68, 75, 76, 77, 78, 79, 80, 83, 84, 86, 90], "is_empti": [13, 15, 75, 76, 78, 79, 84], "peek": [13, 33, 45, 75, 76, 78, 79, 84, 90], "cautious": 13, "relax": [13, 15, 41, 65, 78, 91], "prohibit": 13, "alon": [13, 66, 94], "chosen": [13, 20, 66, 84], "liststack": [13, 75, 76, 78, 79, 84], "struct": [13, 14, 18, 29, 35, 41, 42, 44, 45, 46, 48, 68, 75, 76, 77, 78, 79, 80, 83, 84, 86, 90], "hd": [13, 27, 28, 30, 41, 48], "con": [13, 15, 18, 25, 26, 30, 36, 37, 40, 41, 42, 48, 50, 54, 57, 75, 78, 79, 80], "tl": [13, 28, 30, 41, 48, 78], "front": [13, 17, 24, 26, 39, 57, 64, 67, 78, 86, 91, 94], "enq": 13, "deq": 13, "3a": 13, "3b": 13, "4a": 13, "4b": 13, "obvious": [13, 15, 16, 19, 48, 61, 65, 77, 91], "enqueu": [13, 40, 46, 77, 78], "dequeu": [13, 40, 77, 78], "listqueu": [13, 77, 78], "lemma": [13, 15, 19, 22], "xs": [13, 22, 30, 33], "ys": [13, 22], "qed": [13, 19, 22], "batchedqueu": [13, 77, 78], "af": [13, 14, 15, 18, 24, 42, 48, 88, 90], "rev": [13, 15, 20, 28, 48, 53, 54, 57, 78], "ri": [13, 14, 15, 18, 24, 41, 42, 46, 48, 88, 90, 91], "custom": [13, 18, 33, 76, 78, 84], "wait": [13, 33, 46, 63, 93], "got": [13, 14, 17, 33, 46, 48, 65], "abstractli": [13, 18, 42, 46, 81], "adopt": [13, 19, 46, 56, 63], "distribut": [13, 15, 41, 42, 47, 65, 73, 94], "unstuck": 13, "canon": [13, 23], "categor": [13, 15], "queri": [13, 15, 23, 42, 46], "subcas": [13, 63], "mem": [13, 14, 15, 18, 37, 47, 77, 78, 79, 80], "6a": 13, "6b": 13, "infeas": 14, "r1": [14, 27, 77, 91], "r2": [14, 77, 91], "q1": [14, 27, 40], "q2": [14, 40], "252": [14, 30], "nanosecond": 14, "59": [14, 30], "carefulli": [14, 16, 18, 24, 30, 33, 44, 46, 47, 72], "convinc": [14, 17, 24, 30, 47, 81], "correctli": [14, 18, 19, 20, 24, 27, 28, 42, 45, 46, 66, 91, 94], "126": [14, 30], "across": [14, 42, 48, 51, 73, 81], "whole": [14, 46, 47, 48, 60, 63, 94], "compris": 14, "fashion": [14, 46], "achiev": [14, 15, 30, 40, 42, 47, 50, 57, 73, 77, 78, 79, 80, 85], "coverag": [14, 15, 23], "surfac": [14, 94], "boundari": [14, 21, 23], "corner": [14, 18, 25, 27], "elicit": 14, "min_int": [14, 32], "max_int": 14, "quadrant": [14, 28], "evenli": 14, "advertis": 14, "list_max": [14, 28, 32], "spec": [14, 15, 16, 18, 21, 24], "realiz": [14, 16, 17, 25, 71], "middl": [14, 22, 48, 63, 64, 76], "arrang": [14, 42, 61], "ascend": 14, "accuraci": [14, 16], "signific": [14, 18, 63], "digit": [14, 65, 69], "consum": [14, 23, 93], "iff": [14, 47], "handl": [7, 14, 16, 25, 27, 30, 33, 41, 45, 46, 47, 61, 63, 65, 66, 68, 76, 78, 79, 80], "unchang": [14, 19, 25, 34, 42, 47, 61, 66, 77, 78, 90], "white": [14, 65, 90], "condition": [14, 55], "unexecut": 14, "explor": [14, 30, 61, 94], "max3": 14, "trigger": [14, 15, 23, 24, 42], "absenc": [14, 19, 37, 73, 84], "against": [14, 22, 25, 27, 28, 30, 34, 45, 48, 50, 54, 57, 62, 63, 65, 66], "invari": [14, 15, 23, 28, 41, 44, 46, 47, 75, 77, 84], "rep": [14, 18, 23, 41, 42], "advantag": [14, 16, 18, 48, 54, 76], "parallel": [14, 46, 49], "rewritten": [14, 61, 84], "caught": [14, 18, 73], "disadvantag": [14, 16], "aid": [14, 94], "assess": 14, "bisect_ppx": [14, 94], "instrument": 14, "mainli": 14, "ppx": 14, "report": [14, 68, 73, 93], "merg": [14, 63, 79], "test_sort": 14, "skeleton": 14, "dune": [14, 20, 33, 41, 46, 65, 75, 77], "ounit2": [14, 20, 27, 33, 86, 94], "backend": 14, "bisectnnnn": 14, "newli": [14, 35, 42, 79, 86, 91], "_coverag": 14, "percent": 14, "uncom": 14, "tradeoff": [14, 40, 42, 57, 58, 78], "nondeterminist": [14, 46, 49, 91, 92], "affect": [14, 41, 42, 63, 71, 73, 78, 91], "runner": 14, "sequenti": [14, 45, 46, 49, 63], "ceas": 14, "game": [15, 46, 48], "deviou": [15, 16], "num_vowel": 15, "is_sort": [15, 20], "is_prim": 15, "is_palindrom": 15, "second_largest": 15, "depth": [15, 28, 50], "c_n": 15, "dotsb": [15, 40], "c_0": 15, "dens": 15, "coeffici": 15, "incomplet": [15, 16], "3x": [15, 40], "subvert": 15, "impl": [15, 80], "interv": [15, 42], "rep_ok": [15, 18], "to_str": [15, 18, 24, 77, 83], "install_print": [15, 76, 77, 83], "dictionari": [15, 18, 26, 29, 35, 36, 42, 49, 52, 61, 64, 66, 78, 79], "k": [15, 19, 22, 26, 40, 41, 42, 78], "heavi": [15, 76], "listset": [15, 18, 78, 79, 80], "glass": [15, 19, 23], "bisect": 15, "uniqlistset": [15, 18, 78, 79, 80], "qcheck": [15, 94], "gen": [15, 20, 66], "generate1": [15, 20], "length": [15, 16, 18, 20, 25, 28, 30, 40, 42, 44, 47, 48, 52, 54, 63, 73, 76, 77, 78, 84, 87], "is_even": [15, 20], "divisor": [15, 45, 77], "buggi": [15, 24, 25, 33], "odd_divisor": 15, "exceed": 15, "smallest": [15, 24], "avg": 15, "h1": [15, 20, 28, 48], "h2": [15, 20, 28, 44, 48], "exp": [15, 41], "induct": [15, 23, 30, 36, 66, 68], "fibi": 15, "prev": 15, "curr": 15, "expsq": 15, "strong": [15, 78], "redo": [15, 63, 94], "mult": [15, 65, 66, 68], "append": [15, 22, 30, 36, 52, 57, 65, 78], "nil": [15, 25, 30, 36, 37, 48, 50], "dist": 15, "revers": [15, 16, 20, 30, 40, 45, 53, 54, 57, 78, 86], "lst1": [15, 18, 22, 30, 53, 57, 91], "lst2": [15, 18, 22, 30, 53, 57, 91], "involut": [15, 20, 22], "reflect": [15, 22, 63, 70, 76, 80, 86], "leaf": [15, 22, 28, 36, 37, 41, 47, 50], "fold": [15, 18, 41, 52, 55, 59, 79, 87], "fold_left": [15, 16, 18, 22, 42, 50, 52, 54, 58, 87, 88], "fold_right": [15, 22, 50, 52, 54, 79, 80, 88], "commut": [15, 22, 23, 54], "concat": [15, 18, 28, 54], "concat_l": 15, "concat_r": 15, "proposit": [15, 66], "strikingli": 15, "bag": 15, "multiset": 15, "blend": [15, 64, 66, 70], "signatur": [15, 18, 20, 41, 46, 68, 75, 76, 77, 79, 80, 82, 83, 84, 85], "decreas": [15, 20, 28, 40], "began": [16, 69], "audienc": [16, 23, 75], "verbos": [16, 57, 63, 75, 84], "commun": [16, 17, 23, 46, 71, 72, 93], "ingredi": 16, "forget": [16, 25, 27, 28, 30, 46, 64, 66, 94], "sqr": 16, "accur": [16, 84, 86], "Its": [16, 18, 30, 42, 46, 59, 63, 79, 84], "wors": [16, 45, 47, 58, 80, 94], "0e": 16, "verbiag": 16, "plow": 16, "struck": 16, "breviti": 16, "partial": [16, 18, 19, 23, 25, 30, 45, 51, 54, 57, 63, 66, 80], "domain": [16, 18, 55, 64, 73], "straightforward": [16, 84, 93], "legitim": 16, "bad": [16, 18, 32, 40, 41, 42, 58, 78, 80, 89], "establish": [16, 17, 23, 24, 44, 47, 68, 89], "contract": [16, 21, 81], "burden": [16, 73], "onto": [16, 30, 40, 42, 48, 65, 76, 78, 84], "throw": [16, 44, 54, 91], "constraint": [16, 18, 25, 42, 62, 67, 85], "improperli": 16, "misbehav": 16, "recommend": [16, 74, 94], "tend": [16, 18, 24, 42, 66], "encourag": 16, "wrap": [16, 32, 40, 41, 45, 48], "complain": [16, 84], "silent": 16, "innumer": 16, "secur": [16, 20, 42, 73, 91], "met": [16, 21], "necess": 16, "distract": [16, 65], "illustr": [16, 40, 48, 76, 84, 91], "meet": [16, 22, 84], "refin": [16, 24], "settl": 16, "nth": [16, 28, 35, 41, 44, 48, 52], "her": [16, 57, 84], "advoc": [16, 24], "ruthless": 16, "561": 16, "quak": 16, "arena": 16, "engin": [16, 20, 23, 24, 63, 66, 79, 80, 93, 95], "shovel": 16, "wield": 16, "interspers": [16, 40], "necessari": [16, 18, 21, 30, 40, 41, 45, 63, 64, 66, 78, 79, 94], "pictur": 16, "paragraph": [16, 46, 78, 93, 94], "mark": [16, 47, 62, 64, 65, 79], "brief": [16, 20, 64, 84], "number_of_zero": 16, "the_list": 16, "list_el": 16, "emb": [16, 64], "is0": 16, "zs": [16, 22], "i_count": 16, "hover": [16, 94], "hope": [17, 50], "thought": [17, 27, 55], "bore": 17, "altogeth": [17, 46], "postpon": 17, "matur": 17, "ground": 17, "oppos": [17, 22], "head": [17, 21, 25, 28, 30, 32, 36, 40, 41, 48, 50, 53, 54, 57, 66, 78, 81], "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, 57, 79], "todai": [17, 69, 70], "clue": [17, 35], "breadcrumb": 17, "scientist": [17, 24, 46], "demand": [17, 48, 53], "arrog": 17, "humil": 17, "beings": 17, "amazingli": [17, 29, 54], "delud": 17, "echo": [17, 46, 69, 77], "chamber": 17, "media": 17, "demonstr": [17, 31, 40, 41, 48, 62, 78, 91], "ten": 17, "absolut": [17, 19, 24, 40, 41, 66], "weren": 17, "clever": [17, 46, 47, 48, 57, 78], "replic": [17, 18], "crucial": [17, 18, 23, 33, 40, 73, 78, 79, 81], "captur": [17, 62, 67], "craft": 17, "meanwhil": [17, 46, 57, 64], "critic": [17, 21, 24, 26, 94], "live": [17, 80, 93, 94], "intern": [18, 20, 44, 46, 54, 67, 75, 76, 95], "relev": [18, 65, 74], "inappropri": 18, "risk": 18, "evolv": [18, 46, 72, 73, 84], "sync": [18, 94], "categori": [18, 45, 50, 79], "aris": [18, 47, 77], "pure": [18, 19, 40, 45, 46, 47, 49, 78, 85, 89, 92], "item": [18, 37, 76, 79, 80, 83, 84], "unord": 18, "member": [18, 37, 47, 82, 86], "rem": 18, "minu": [18, 35, 40, 63, 65, 77], "cardin": [18, 35, 79], "s1": [18, 45, 46, 63, 79, 84], "s2": [18, 45, 46, 63, 84], "inter": [18, 30], "simplic": [18, 40, 78], "duplic": [18, 20, 41, 42, 45, 57, 65, 75, 77, 78, 79, 80], "filter": [18, 30, 41, 42, 52, 54, 55, 59, 79], "sort_uniq": [18, 42, 52, 78, 79, 80], "judg": [18, 30, 49], "rest": [18, 30, 33, 44, 45, 46, 61, 63, 64, 76, 78, 79, 80, 81, 90, 94], "lack": [18, 19, 76], "act": [18, 31], "ideal": 18, "invis": [18, 63], "belong": [18, 28, 75], "a1": [18, 41, 48, 52, 54, 63], "b1": [18, 41, 48], "bm": 18, "reinforc": 18, "redund": [18, 30, 33, 44, 64], "hypothet": [18, 45, 84], "readabl": [18, 54, 68, 78, 84], "conveni": [18, 27, 30, 47, 48, 54, 63, 64, 68, 73, 78, 79], "queue": [18, 43, 57, 77], "heap": [18, 46], "string_of_v": 18, "uniq": 18, "interior": [18, 47], "to_list": [18, 78, 90, 91], "formatt": [18, 76, 77, 83], "encapsul": [18, 45, 73, 77, 82, 83, 85], "usabl": [18, 76, 84], "programmat": 18, "obtain": [18, 41, 48, 62], "undefin": [18, 31], "preserv": [18, 47, 64, 67, 68, 79], "isol": [18, 81], "provabl": [18, 64], "incom": 18, "convent": [18, 30, 47, 76, 84], "outsid": [18, 41, 44, 63, 76, 80, 84, 86, 91], "saniti": 18, "copiou": 18, "creation": [18, 47, 87, 91], "compare_length": 18, "linearithm": [18, 52, 78, 80], "destroi": [18, 42], "previous": [18, 45, 50, 55, 63, 68, 76, 79, 91], "appropri": [18, 19, 41, 42, 50, 79, 84], "macro": 18, "reinstat": 18, "rep_ok_expens": 18, "codebas": 18, "noassert": 18, "disabl": [18, 46, 94], "portion": 18, "assur": [19, 24], "presenc": [19, 30], "edsger": 19, "w": [19, 25, 62, 66, 67, 91], "dijkstra": [19, 23], "useless": [19, 21], "premis": 19, "straightforwardli": 19, "41": [19, 30, 84, 91], "token": [19, 62, 64, 65, 67, 95], "axiom": [19, 77], "extension": [19, 23], "polymorph": [19, 28, 36, 67, 73, 76, 84, 91], "refus": 19, "compos": [19, 45, 46, 55, 59, 81], "composit": [19, 35, 42, 46, 49, 52, 63], "sumto": 19, "summat": [19, 35, 41, 54], "claim": [19, 22, 28, 46, 72, 78, 84], "algebra": [19, 22, 23, 29, 36, 38, 45, 59, 63, 73, 77, 78], "ih": [19, 22], "sumto_clos": 19, "corollari": 19, "se": 19, "elid": [19, 20, 54], "facti": [19, 22], "decrement": [19, 45, 87, 91], "unfortun": [2, 19, 20, 42, 45, 48, 66, 75, 78, 79], "neither": [19, 45, 47, 50, 54, 78, 89], "astrai": 19, "moment": [19, 40, 84], "f_r": 19, "op": [19, 22, 45, 54, 62], "meant": [19, 20, 30, 61, 66, 68, 76, 90, 91, 94], "f_i": 19, "f_tr": 19, "fact_i": 19, "held": [19, 47], "sumto_r": 19, "sumto_i": 19, "sumto_tr": 19, "thank": [19, 54], "halt": [19, 41], "smart": 19, "heurist": 19, "despit": [19, 78, 91, 94], "x0": 19, "x3": [19, 66], "finit": [19, 25, 41, 48, 64, 65, 87], "descent": 19, "bottom": [19, 58, 76, 79, 80, 94], "hit": [19, 34, 35], "reach": [19, 22, 27, 40, 41, 42, 46, 48, 62, 66, 68, 88], "ack": 19, "ackermann": 19, "famou": [19, 46], "lexicograph": 19, "fuzz": 20, "feed": 20, "behav": [20, 24, 41, 45, 46, 61, 62, 63, 76, 78, 85, 90], "believ": [20, 71, 73], "crash": [20, 91], "encrypt": [20, 45], "decrypt": [20, 45], "enigma": 20, "vulner": [20, 91], "digress": 20, "facil": 20, "unpredict": 20, "pseudorandom": [20, 41], "discern": [20, 68], "determinist": [20, 24, 49, 65, 91, 92], "seed": 20, "pseudo": 20, "pseud\u0113": 20, "prng": 20, "phrase": [20, 55, 77, 91], "44": [20, 28, 30], "85": [20, 30, 91], "82": [20, 30], "Not": [20, 40, 44, 90, 91], "eh": 20, "cryptographi": 20, "simul": [20, 41, 66, 79], "Their": [20, 47, 87], "get_stat": 20, "request": [20, 46, 48, 78, 86], "self_init": 20, "make_self_init": 20, "sampl": [20, 24, 88], "dev": 20, "urandom": 20, "97": [20, 30], "rand": 20, "suppli": [20, 76, 84], "small_int": 20, "int_rang": 20, "list_siz": 20, "small_str": 20, "randomli": [20, 42, 47, 94], "characterist": [20, 30, 55], "pseudorandomli": 20, "shrink": 20, "stat": [20, 41, 42], "qcheck2": 20, "abstr": [20, 42, 46, 75, 76, 78, 79, 83], "qcheck_runn": 20, "run_test": 20, "2k": 20, "93600085": 20, "1mfailur": 20, "0m": 20, "anon_test_1": 20, "printer": [20, 33, 76, 77, 83], "ran": [20, 33, 94], "run_tests_main": 20, "run_test_tt_main": [20, 27, 33], "to_ounit2_test": 20, "told": 20, "privat": [20, 46, 76, 80, 85, 93], "luckili": [20, 54], "list_of_s": 20, "my_test": 20, "double_check": 20, "1msuccess": 20, "drawn": 20, "rev_involut": 20, "uniformli": [20, 42], "nat": [20, 22, 31, 41, 48], "bias": 20, "small_nat": 20, "anon_test_4": 20, "mli": [21, 75, 77, 79], "spell": [21, 48], "blame": [21, 81], "misus": [21, 42, 75], "deliv": [21, 46], "feasibl": 21, "team": [21, 24, 73, 81, 82, 93], "everyon": [21, 46, 81], "agre": [21, 66, 84], "slip": 21, "crack": 21, "conflict": 21, "suffici": [21, 42], "research": [21, 24, 63, 74, 79], "misunderstand": 21, "decis": [21, 50, 84], "obsolet": 21, "modular": [21, 69, 82, 85], "hide": [21, 46, 49, 76, 81, 82, 85, 91], "disclos": 21, "modifi": [21, 23, 28, 33, 40, 44, 47, 76, 77, 80, 85, 88, 90, 91, 93], "reimplement": [21, 53], "enhanc": 21, "bottleneck": 21, "barrier": 21, "vice": [21, 31, 38, 42, 51, 84], "versa": [21, 31, 38, 42, 51, 84], "enforc": [21, 46, 47, 81], "promot": [21, 50], "hung": 22, "mismatch": [22, 66, 68, 76, 80, 84], "successor": [22, 31, 90], "forth": [7, 22, 41, 42, 46, 55, 56, 75, 76, 78, 84], "unari": [22, 64, 83], "decim": 22, "trivial": [22, 26, 33, 41, 45, 46, 63], "concept": [22, 46, 65, 66, 84], "inner": [22, 30, 45, 76, 84], "outer": [22, 30], "interchang": [22, 79], "resum": [22, 94], "restart": [22, 46, 86], "succeed": [22, 48, 54, 80], "wasn": [22, 91], "fluke": 22, "subtre": [22, 37, 41, 44, 47, 50, 77, 79], "ih1": 22, "ih2": 22, "mirror": 22, "imag": 22, "styliz": 22, "expr": [22, 62, 65, 66, 68], "uop": 22, "uminu": 22, "bop": [22, 61, 63, 65, 66, 68], "bplu": 22, "bminu": 22, "bleq": 22, "unop": 22, "binop": [22, 65, 66, 68], "strike": [22, 63], "adt": [22, 47], "organiz": 22, "methodolog": [23, 24], "complementari": [23, 46], "orthogon": [23, 66], "hoar": [23, 32], "toni": [23, 32], "weakest": 23, "walkthrough": [23, 24], "diagram": [23, 28], "minim": [23, 24], "satisfact": 23, "barbara": [23, 69, 84], "liskov": [23, 69, 84], "john": [23, 49, 59, 65, 69], "guttag": [23, 69], "cousineau": 23, "michel": 23, "mauni": 23, "cambridg": [23, 49, 78], "1998": [23, 69], "paulson": 23, "1996": [23, 69], "richard": 23, "bird": 23, "2015": 23, "foundat": [23, 71, 85, 94], "volum": [23, 47], "benjamin": [23, 67, 85], "pierc": [23, 67, 85], "et": 23, "al": 23, "http": 23, "softwarefound": 23, "ci": 23, "upenn": 23, "edu": [23, 94], "robert": [23, 78, 85, 95], "mccloskei": 23, "www": 23, "scranton": 23, "mcclosk": 23, "se507": 23, "alg_specs_lec": 23, "theori": [23, 35, 45, 50, 55, 59, 61, 63, 65, 67, 71, 79], "shari": 23, "lawrenc": 23, "pfleeger": 23, "joann": 23, "atle": 23, "prentic": 23, "hall": 23, "kenneth": 23, "slonneg": 23, "barri": 23, "kurtz": 23, "addison": [23, 59], "weslei": [23, 59], "1995": [23, 70], "muffi": 23, "thoma": 23, "david": [23, 78], "watt": 23, "ehrig": 23, "mahr": 23, "springer": 23, "verlag": 23, "1985": 23, "treatment": [23, 67, 85], "inspir": [23, 40, 50, 66, 77], "indebt": [23, 55, 59], "materi": [23, 69, 93], "princeton": [23, 42], "co": [23, 69, 94], "326": 23, "walker": 23, "confid": 24, "assist": [24, 59], "coder": 24, "hurt": 24, "drive": 24, "prepar": [24, 66, 70], "beforehand": [24, 94], "qualiti": 24, "blameless": 24, "role": [24, 81], "devil": 24, "clearer": [24, 45, 46, 58, 80], "shorter": [24, 30, 42, 57, 66, 76], "partner": 24, "trade": 24, "conduct": 24, "fagan": 24, "1976": 24, "thorough": 24, "75": [24, 30, 41, 42], "inspector": 24, "li": [24, 73], "valuabl": 24, "concurr": [24, 41, 43, 49, 73], "subtl": [24, 35, 47, 48, 57], "increasingli": 24, "emul": 24, "significantli": [24, 59, 65], "cheaper": 24, "wander": 24, "discoveri": [24, 63, 74], "refut": 24, "crux": 24, "experiment": 24, "afraid": 24, "invalu": 24, "slap": 24, "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, 47, 62, 73], "center": [25, 47], "rect": 25, "rectangl": [25, 26], "pi": [25, 30, 34, 35, 75, 78, 84], "y2": 25, "underli": [25, 35, 40, 42, 46, 54, 65, 66, 79, 80, 84, 93, 94], "tupl": [25, 29, 30, 36, 51, 62, 66, 87], "string_or_int": 25, "string_or_int_list": 25, "lst_sum": 25, "discrimin": 25, "double_right": 25, "c1": [25, 39, 44, 48, 63], "cn": [25, 39], "ti": [25, 34, 35, 69], "blue": [25, 84], "string_of_color": 25, "green": [25, 84], "sudden": 25, "blind": 25, "wildcard": [25, 30, 36, 62], "robust": [25, 30, 54, 78], "life": [25, 62, 70], "alert": 25, "intlist": 25, "lst3": [25, 91], "lst123": 25, "mylist": [25, 37, 48, 50], "synonym": [25, 28, 36, 41, 45, 77, 79, 80], "cyclic": [25, 91], "circular": 25, "lst_hi": 25, "parametr": [25, 36, 63, 73], "perfectli": [25, 63, 84], "constrain": [25, 83], "occasion": [25, 40], "infti": 25, "fin_or_inf": 25, "infin": 25, "downsid": [25, 58], "backquot": 25, "neginfin": 25, "steer": 25, "nonagon": 26, "icosagon": 26, "bother": [26, 63, 78], "recent": [26, 43, 56, 61, 78, 94], "assoc": [26, 28, 42, 68, 78], "assoc_opt": [26, 42], "exn": [27, 28, 41, 46], "catch": [27, 32, 33, 36, 41], "pn": [27, 30, 34, 35, 62], "pun": [27, 46], "packet": [27, 36], "oop": [27, 48, 84], "subexpress": [27, 35, 54, 57, 62, 63, 66, 68], "offici": [2, 27], "nuanc": 27, "stipul": [27, 45, 75], "forgiven": 27, "propag": [27, 45, 46], "match_failur": [27, 30, 34], "qn": [27, 40], "subsequ": [27, 48], "rn": 27, "qm": 27, "em": 27, "assert_rais": 27, "exc": [27, 46], "succe": [27, 30, 33, 34, 49, 64, 66, 79, 86], "thunk": [27, 43, 48, 49], "suspend": [27, 43, 48], "delai": [27, 41, 46, 48, 49, 63, 77, 84], "typecheck": [27, 68], "fifth": [28, 65, 94], "any_zero": 28, "drop": [28, 48, 63, 93], "revis": [28, 33, 37, 45, 62, 63, 69, 76], "unimod": 28, "is_unimod": 28, "monoton": 28, "segment": 28, "powerset": 28, "print_int_list": 28, "first_nam": 28, "last_nam": 28, "gpa": [28, 88], "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, 69], "era": [28, 71], "is_befor": 28, "januari": 28, "februari": [28, 70], "leap": 28, "earliest": [28, 30, 69], "card": 28, "deck": 28, "rank": 28, "jack": 28, "queen": 28, "king": 28, "ac": [28, 84], "club": 28, "diamond": 28, "seven": 28, "spade": 28, "borrow": 28, "wikipedia": 28, "lie": 28, "axi": [28, 47], "quad": [28, 40, 52, 55], "iii": [28, 94], "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, 48, 63], "couldn": [29, 76, 79, 89], "null": [29, 32, 91], "behind": [29, 45, 48, 61, 70, 73, 76, 93], "singli": [30, 35, 36, 57, 78], "statu": [30, 84], "mainstream": [30, 56, 70, 71, 79, 93], "elt": [30, 54], "prepend": [30, 36, 48], "truct": 30, "verb": 30, "sweeter": 30, "desugar": [30, 35, 36, 62, 66, 67], "consequ": [30, 63], "ei": [30, 35, 87], "uh": 30, "fit": [30, 66], "inc_first": 30, "proportion": 30, "saw": [30, 41, 44, 45, 59, 63, 64, 75, 78, 79, 83, 84], "vertic": 30, "illeg": [30, 66], "expand": [30, 93], "b_1": 30, "b_2": 30, "cup": [30, 71], "b_i": [30, 35], "bigcup_i": [30, 35], "justif": 30, "ta": [30, 69], "tb": 30, "emit": 30, "defend": 30, "cell": [30, 46, 91, 92, 93], "split": [30, 76, 78, 79], "jupyterbook": 30, "unus": [30, 42, 66], "latent": 30, "length_i": 30, "face": [30, 46, 75], "highlight": [30, 93, 94], "typeset": [30, 68, 93], "npl": 30, "caller": [30, 32], "sum_tr": 30, "sum_plus_acc": 30, "entail": 30, "post": [30, 75, 93], "medium": [30, 36], "overhead": [30, 64], "long_list": 30, "16": [30, 40, 41, 42, 44, 62, 84, 85], "23": [30, 41], "26": [30, 33, 79, 84], "35": [30, 79, 84], "40": [30, 95], "45": [30, 33, 46], "46": 30, "47": [30, 76], "48": 30, "49": 30, "51": 30, "53": 30, "54": 30, "55": [30, 48], "56": 30, "57": 30, "58": 30, "61": 30, "66": [30, 76], "67": 30, "68": 30, "69": 30, "70": 30, "71": 30, "72": 30, "73": 30, "74": 30, "76": 30, "77": 30, "79": 30, "80": [30, 72, 94], "81": 30, "83": [30, 33], "86": 30, "87": 30, "88": 30, "90": [30, 65], "91": 30, "92": 30, "93": 30, "94": 30, "95": 30, "96": 30, "98": 30, "99": 30, "101": 30, "102": 30, "103": 30, "105": 30, "106": 30, "107": 30, "108": 30, "109": 30, "110": [30, 62, 66], "111": 30, "112": 30, "113": 30, "114": 30, "115": 30, "116": 30, "117": 30, "118": 30, "119": 30, "120": [30, 91], "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, 79], "138": 30, "139": 30, "140": 30, "141": 30, "142": 30, "143": 30, "144": 30, "145": 30, "146": 30, "147": 30, "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, "201": 30, "202": 30, "203": 30, "204": 30, "205": 30, "206": 30, "207": 30, "208": 30, "209": 30, "210": 30, "211": [30, 69], "212": [30, 69], "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, "init": [30, 54, 76, 88, 94], "len": 30, "succ": [31, 63], "versu": [31, 42, 57], "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, 46, 49], "unconstrain": 32, "habit": [32, 40, 94], "workflow": 33, "assert_equ": [33, 79], "singleton": [33, 79], "two_el": 33, "configur": [33, 42, 61, 67, 94], "disappear": [33, 46, 61], "rebuild": 33, "fff": 33, "01": [33, 41], "ounitassert": 33, "assert_failur": 33, "src": [33, 65], "lib": 33, "advanc": [33, 35, 40, 42, 49, 63, 70, 73, 74, 76, 78, 79, 85, 87, 94], "ounitrunn": 33, "run_one_test": 33, "ail": 33, "onetwo": 33, "label": [33, 47, 62], "tester": 33, "make_sum_test": 33, "expected_output": 33, "ahead": [33, 42, 46, 63, 72, 94], "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, 63, 68, 78], "liter": [34, 46, 65, 76], "ch1": 34, "ch2": 34, "ch": 34, "uppercas": [34, 39, 84], "get_hp": 34, "thrd": 34, "quadrupl": [34, 55], "great": [35, 42, 45, 54, 60, 61, 66, 70, 73, 74, 77, 78, 91, 92, 94], "pok\u00e9": 35, "namespac": [35, 82, 84, 85, 86], "charmand": 35, "f1": [35, 48], "fn": 35, "fi": 35, "hash": [35, 41, 43, 44, 47, 49, 78, 92], "g1": 35, "gn": 35, "gi": 35, "disjoint": 35, "sigma": 35, "cartesian": 35, "lightweight": [36, 46], "lengthi": [36, 84], "exploit": [36, 55, 80], "workhors": 36, "theoret": 36, "driven": 36, "child": [37, 47, 50], "sublist": [37, 53], "travers": [37, 41, 54, 78], "preorder": [37, 41, 50], "beautifulli": 37, "quadrat": [37, 40, 41, 57, 77, 80], "unbalanc": [37, 41, 47], "preorder_lin": 37, "pre_acc": 37, "vector": [38, 52, 88], "exchang": 38, "get_x": 38, "int_of_dai": 39, "win": [39, 54, 89], "attack": 39, "consider": [39, 63, 68, 84, 85], "rehash": [40, 41, 42], "defeat": 40, "excus": 40, "acknowledg": 40, "undertak": 40, "spread": [40, 73], "creativ": [40, 95], "sushi": 40, "ramen": 40, "amus": 40, "lunch": 40, "occas": [40, 78], "budget": 40, "financi": [40, 73], "pai": [40, 42, 47, 54, 78, 94], "debt": 40, "t_1": [40, 63], "t_2": [40, 63], "t_n": 40, "resiz": [40, 41, 49, 87], "proactiv": 40, "hashtbl": [40, 41, 44, 47], "exce": [40, 41, 42], "bucket": [40, 41, 42, 47, 49], "8th": 40, "grossli": 40, "pretend": [40, 63, 68], "price": [40, 78], "reinsert": 40, "geometr": 40, "400": 40, "300": 40, "600": 40, "500": 40, "800": 40, "700": 40, "200k": 40, "200i": 40, "came": [40, 46, 63, 69, 71], "outbox": [40, 78], "becam": [40, 45, 57, 69, 93], "inbox": [40, 78], "prepai": 40, "incur": 40, "bookkeep": 40, "conceptu": [40, 64, 79], "bank": 40, "deposit": 40, "credit": [40, 49], "withdraw": 40, "energi": [40, 49], "transit": [40, 66], "offset": 40, "analyt": 40, "friend": [40, 46], "opinion": [40, 71], "okasaki": [40, 47, 49, 78, 85], "collis": [41, 42, 49, 84], "load_factor": [41, 42], "functori": [41, 42], "insensit": [41, 77], "obei": [41, 45, 77, 80], "hashedtyp": [41, 42], "hashcod": [41, 42], "probe": [41, 42, 49], "altern": [41, 47, 48, 58], "databas": 41, "functor": [41, 42, 73, 75, 77, 80, 82, 85], "bst": [41, 77], "bstset": 41, "inord": 41, "postord": 41, "rb": 41, "height": [41, 47, 79], "pow2": 41, "alphabet": [41, 50, 63, 79], "endless": 41, "unend": 41, "coin": 41, "flip": [41, 42], "predic": [41, 52, 53, 55], "interleav": [41, 46, 49, 66], "a2": [41, 48, 52, 54, 63], "a3": [41, 48], "b2": [41, 48], "b3": [41, 48], "sift": 41, "siev": 41, "eratosthen": 41, "cdot": [41, 57, 63, 78, 88], "e_term": 41, "1666": 41, "041666": 41, "stream": [41, 42, 48, 49, 53, 56, 57, 65, 66], "66666666666666652": 41, "70833333333333304": 41, "ep": 41, "toler": 41, "875": 41, "9375": 41, "96875": 41, "71666666666666634": 41, "investig": [41, 46, 47, 52, 77, 94], "distanc": 41, "mathit": [41, 68, 84], "epsilon": [41, 65], "lazier": 41, "lazy_t": [41, 48], "AND": 41, "lb1": 41, "lb2": 41, "lazysequ": [41, 48], "resolv": [41, 45, 46, 49, 63, 94], "lwt": [41, 49], "lwt_io": [41, 46], "printf": [41, 45, 46, 76, 77], "lwt_unix": 41, "delay_then_print": 41, "timing2": 41, "_t1": 41, "printl": [41, 46], "_t2": 41, "_t3": 41, "timing3": 41, "timing4": 41, "join": [41, 46], "stdout": 41, "eof": [41, 65], "starter": [41, 62], "input_channel": [41, 46], "openfil": 41, "o_rdonli": 41, "fd": 41, "of_fd": 41, "ic": 41, "todo": 41, "read_lin": [41, 46, 91], "printlf": 41, "handler": [41, 46, 61], "end_of_fil": 41, "lwt_main": [41, 46], "mkfifo": 41, "cat": [41, 93], "opt": [41, 47, 78], "shown": [41, 75, 93], "fmap": [41, 78], "extmonad": 41, "unbox": [41, 45], "fmapjoinmonad": 41, "bindmonad": 41, "makemonad": 41, "listmonad": 41, "law": [41, 49], "wide": [42, 46, 59], "k_1": [42, 77], "v_1": [42, 77], "k_2": 42, "v_2": 42, "k_n": [42, 77], "v_n": [42, 77], "oo": [42, 76, 84], "charter": 42, "harvard": 42, "1636": 42, "1746": 42, "penn": 42, "1740": 42, "1865": 42, "brace": [42, 45], "admittedli": [42, 45, 54, 55, 84], "of_list": [42, 79, 80], "slightli": [42, 44, 46, 54, 62, 90], "listmap": 42, "k1": [42, 78, 79], "k2": [42, 79], "kn": [42, 78], "offic": 42, "occup": 42, "459": 42, "fan": [42, 77], "460": 42, "gri": [42, 78], "461": 42, "clarkson": [42, 69, 95], "462": 42, "muhlberg": 42, "463": 42, "capac": 42, "directaddressmap": 42, "_in": 42, "bounds_": 42, "arraymap": 42, "v0": 42, "bs": 42, "ref": [42, 44, 46, 63, 66, 87, 88, 92], "add_bind": 42, "iteri": [42, 88], "moreov": [42, 45, 47, 48, 63, 66, 71, 76, 79, 84, 85], "tablemap": 42, "inject": [42, 49, 75], "collid": [42, 82], "scan": 42, "confusingli": 42, "stride": 42, "entri": [42, 44, 52, 76, 77], "cluster": 42, "rapidli": [42, 46, 70], "circuitri": 42, "k11": 42, "v11": 42, "k12": 42, "v12": 42, "k21": 42, "v21": 42, "k22": 42, "v22": 42, "mbox": 42, "therebi": [42, 63, 79, 82], "restor": [42, 45, 47, 62, 64, 78], "halv": 42, "ruin": 42, "hashmap": 42, "insert_no_res": 42, "old_bucket": 42, "remove_assoc": [42, 78], "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, 46], "art": 42, "extrem": [42, 70], "sabotag": 42, "diffus": [42, 49], "trust": 42, "hash_c": 42, "hash_i": 42, "serial": [42, 49], "compress": 42, "forthcom": 42, "fortun": [42, 48], "sic": 42, "capabl": [42, 46, 85], "arbitrarili": [42, 79], "predetermin": 42, "635296333": 42, "822221246": 42, "degrad": 42, "hash_param": 42, "_weak1": [42, 46, 63, 91], "_weak2": [42, 91], "num_bind": 42, "num_bucket": 42, "max_bucket_length": 42, "bucket_histogram": 42, "histogram": 42, "pump": 42, "sound": [42, 46, 63], "amort": [43, 47, 49, 78], "batch": [43, 77, 78], "cool": 43, "aptli": 43, "organ": [43, 65, 75], "popular": [43, 45, 69, 73, 79, 93], "recomput": [44, 48], "speed": 44, "phi": [44, 78], "golden": 44, "ratio": [44, 77], "fibm": 44, "memo": 44, "f_mem": 44, "exclud": 44, "progress": [44, 67, 68], "formerli": 44, "speedup": 44, "million": 44, "storag": 44, "benign": 44, "curri": [44, 63], "uncurri": [44, 51, 52], "memo_rec": 44, "fib_memo": 44, "compani": 44, "org": [44, 93], "chart": 44, "employe": 44, "invit": 44, "superior": 44, "weight": [44, 46, 93], "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, 74], "linebreak": 44, "wlen": 44, "contlen": 44, "clen": 44, "l1": 44, "lb": 44, "target": [44, 64, 66, 67], "c2": [44, 48, 63], "br": 44, "break_result": 44, "lb_mem": 44, "phd": [45, 69, 73, 78], "concentr": [45, 61], "teas": [45, 72, 95], "max_list": 45, "inabl": 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, 69], "de": 45, "upgrade_binari": 45, "return_binari": 45, "collaps": [45, 94], "inc_log": 45, "dec_log": 45, "loggabl": 45, "dec_log_upgrad": 45, "f_log": 45, "inc_log_upgrad": 45, "inconveni": 45, "addition": [45, 47, 61, 80], "debat": [45, 54], "comfort": 45, "hidden": [45, 61, 76, 80, 84, 86], "callback": [45, 49], "asynchron": [45, 49, 93], "impos": [45, 75], "mnemon": 45, "nop": 45, "elaps": 45, "curli": 45, "s3": 45, "embodi": [45, 85], "cleaner": 45, "durat": 46, "graphic": 46, "lock": 46, "action": [46, 65, 68, 91], "frustrat": [46, 71, 74], "spreadsheet": 46, "network": [46, 48, 73, 94], "hyperlink": 46, "server": [46, 93, 94], "cm": 46, "depart": 46, "motor": 46, "vehicl": 46, "deli": 46, "player": 46, "switch": [46, 61, 66, 69, 78], "millisecond": 46, "multicor": 46, "central": 46, "resourc": 46, "agreement": [46, 81], "race": [46, 49], "notori": 46, "nondetermin": 46, "problemat": 46, "schedul": 46, "preemptiv": [46, 49], "relinquish": 46, "unrespons": 46, "preemption": 46, "timer": 46, "interrupt": 46, "3410": 46, "4410": 46, "defer": 46, "net": 46, "async": 46, "await": 46, "jane": 46, "street": 46, "ocsigen": 46, "acronym": 46, "light": 46, "misnom": 46, "pend": [46, 49], "reject": [46, 49, 63, 65, 71, 84], "incorpor": [46, 69, 70], "writeabl": 46, "write_onc": 46, "demean": 46, "wakeup": 46, "wakeup_exn": 46, "weak": [46, 63, 67], "nope": 46, "inher": [46, 78, 87], "synchron": [46, 49], "input_lin": 46, "in_channel": 46, "channel": [46, 49, 94], "stdin": 46, "adventur": 46, "opposit": [46, 54, 78], "mix": [46, 83], "latenc": [46, 49], "transfer": [46, 61, 78], "disk": 46, "excel": [46, 55, 59], "regain": 46, "show_val": 46, "set_auto_run_lwt": 46, "ocamlinit": [46, 86], "print_the_str": 46, "str": [46, 52], "v4": [46, 79], "read2": 46, "resolut": [46, 49], "stringmi": 46, "topic": [46, 63, 85, 93], "lwt_ppx": 46, "fool": 46, "ps": 46, "trickier": [46, 63, 65, 66], "st": 46, "resolve_or_reject": 46, "input_promis": 46, "he": [46, 63, 69, 71, 72, 93], "output_promis": 46, "output_resolv": 46, "handler_of_callback": 46, "qualifi": [47, 86], "logarithm": [47, 78], "plenti": 47, "workload": 47, "largest": 47, "kept": [47, 66, 71, 72, 76], "surgeri": 47, "rebal": 47, "avl": 47, "1962": 47, "rbtree": 47, "adjac": [47, 64], "global": [47, 81], "bh": 47, "shortest": 47, "membership": 47, "chri": [47, 49, 78, 85], "1999": [47, 49, 69], "walk": [47, 57], "parent": [47, 50], "grandpar": 47, "bz": 47, "bx": 47, "ry": 47, "rx": 47, "rz": 47, "rotat": 47, "overal": 47, "cascad": 47, "recolor": 47, "ins": [47, 73], "rbt": 47, "rebalanc": 47, "nonleaf": 47, "splice": 47, "german": 47, "doubli": 47, "curs": 47, "journal": 47, "juli": 47, "2014": [47, 69, 91], "persist": [47, 49, 73, 78, 85, 90], "ephemer": [47, 78, 85], "sword": 47, "winner": 47, "ones": [48, 63, 94], "entireti": 48, "socket": 48, "chess": 48, "tic": 48, "tac": 48, "toe": 48, "board": 48, "chase": 48, "forev": 48, "rid": [48, 84, 91], "f2": 48, "templat": 48, "map2": [48, 52], "30th": 48, "100th": 48, "memoiz": [48, 49], "misspel": 48, "suspens": 48, "eager": [48, 49, 61], "strict": [48, 49, 66], "lazili": [48, 61, 66], "unpleas": 48, "fib30long": 48, "832040": 48, "fib30lazi": 48, "fib30": 48, "fib30fast": 48, "sped": 48, "fib29": 48, "514229": 48, "gotten": 48, "sequencefib": 48, "take_aux": 48, "h_a": 48, "t_a": 48, "h_b": 48, "t_b": 48, "nth_fib": 48, "lazyfib": 48, "banker": 49, "oh": 49, "physicist": 49, "thread": [49, 73], "writer": [49, 64], "divers": [49, 59], "whitington": [49, 59], "map_tre": 50, "fold_mylist": 50, "fold_tre": 50, "catamorph": 50, "hardest": 50, "reshap": 50, "prune": 50, "filter_tre": 50, "spicier": 51, "spice": 51, "uncurried_add": 51, "curried_add": 51, "product_left": 52, "product_right": 52, "listlabel": [52, 54], "sum_cube_odd": 52, "exists_rec": 52, "exists_fold": 52, "exists_lib": 52, "debit": 52, "uncurried_nth": 52, "sep": 52, "bye": 52, "comma": [52, 62, 78], "uniqu": [52, 78, 79, 80], "bmatrix": 52, "is_valid_matrix": 52, "add_row_vector": 52, "wise": 52, "unspecifi": [52, 65, 66, 77], "add_matric": 52, "matric": [52, 88], "multiply_matric": 52, "transposit": 52, "fanci": 53, "filter_aux": 53, "tolist": [53, 57], "unifi": [54, 62, 63, 67, 95], "led": 54, "succinct": 54, "motiv": [54, 83], "combine_tr": 54, "procrastin": 54, "invoc": [54, 91], "crastin": 54, "sub_tr": 54, "fold_x": 54, "uniform": [54, 55, 73], "experienc": [54, 71], "perus": 54, "incorrectli": 54, "lst_and": 54, "lst_and_rec": 54, "lst_and_fold": 54, "lst_and_lib": 54, "for_al": [54, 79], "toi": 55, "recod": 55, "bruce": [55, 59], "maclennan": [55, 59], "recur": 55, "square_then_doubl": 55, "ds": 55, "cond": 55, "quantif": [55, 63], "itertool": 56, "2011": 56, "wizard": 56, "closur": [56, 61, 62, 66, 67], "obviat": 56, "fuss": [56, 73], "reusabl": 56, "add1": 57, "concat_bang": 57, "salti": 57, "guis": [57, 63], "contriv": 57, "anyon": [57, 80], "predispos": 57, "astut": 57, "extent": [57, 59], "unavoid": 57, "aw": 57, "map_tr_aux": 57, "map_tr": 57, "alic": [57, 88], "bob": [57, 69], "him": 57, "rev_map": 57, "rev_map_aux": 57, "theme": 57, "sum_sq": 58, "uglier": 58, "intermedi": [58, 64, 66, 67], "sq_l": 58, "rubi": [59, 63], "sequel": 59, "liber": 59, "von": 59, "neumann": 59, "backu": [59, 67], "award": [59, 71, 72, 84], "elabor": 59, "publish": [59, 63], "articl": 59, "stanford": 59, "encyclopedia": 59, "philosophi": 59, "tour": [60, 74], "lex": [60, 62, 64, 65, 66, 68], "tightli": 60, "crawl": 61, "mapsto": [61, 68], "aim": [61, 68], "fragment": [61, 65, 66], "coincid": [61, 91], "consensu": 61, "decad": [61, 69], "norm": [61, 88], "latex": 61, "perl": 61, "racket": [61, 72, 73], "travel": 61, "delimit": [61, 65], "evok": 61, "defenv": 61, "zip": [61, 62, 65, 66, 68, 94], "v3": [61, 66, 87], "interp": [62, 65], "lexer": [62, 67], "parser": [62, 64, 67], "ast": [62, 64, 66], "mly": [62, 65], "reevalu": 62, "typ": [62, 68], "typeof": [62, 68], "unif": [62, 63, 67], "ctx": 62, "parenthet": 62, "omega": 62, "inexhaust": 62, "is_valu": [62, 66], "subst": [62, 66], "not_empti": 62, "grammar": [62, 65, 67], "meta": [62, 63, 72], "insight": 62, "adapt": [62, 70, 71], "forgot": 62, "unfold": 62, "fv": [62, 66], "const": [62, 76, 78], "lexic": [62, 63, 65], "hm": [62, 63, 67], "contrast": 63, "disagre": 63, "sophist": [63, 73, 76, 83], "gather": 63, "literatur": 63, "roger": 63, "indlei": 63, "robin": [63, 72], "ilner": 63, "rediscov": 63, "1950": 63, "1930": 63, "1967": 63, "1969": 63, "hindlei": [63, 67], "morri": 63, "1968": 63, "milner": [63, 67, 72], "1978": 63, "realm": [63, 84], "tarski": 63, "1920": 63, "histori": [63, 74, 84], "blow": 63, "f0": [63, 91], "repetit": [63, 71], "layer": 63, "untyp": [63, 66], "simplif": 63, "quaternari": 63, "turnstil": [63, 68], "easiest": [63, 93], "c3": 63, "fresh": [63, 66, 67, 94], "furthermor": 63, "elsewher": [63, 77], "foobar": 63, "strip": 63, "5x": 63, "2y": 63, "toss": 63, "gaussian": 63, "i1": [63, 77], "o1": 63, "i2": [63, 77], "o2": 63, "typeabl": 63, "princip": 63, "lenient": 63, "judgment": 63, "ramif": 63, "downstream": 63, "permiss": 63, "contradictori": 63, "unsatisfi": 63, "ill": [63, 66, 68, 77], "mylen": 63, "uncompl": 63, "u1": 63, "env1": 63, "glean": 63, "mistakenli": 63, "disast": 63, "_weak": [63, 91], "pin": 63, "everywher": [63, 68, 73, 76, 91], "eleph": 63, "rabbit": 63, "subtyp": [63, 79, 82, 84, 85], "arraystoreexcept": 63, "ouch": 63, "bun": 63, "artisan": 64, "carpent": 64, "plane": 64, "chef": 64, "knive": 64, "pot": 64, "demystifi": 64, "career": 64, "dsl": 64, "mip": 64, "x86": 64, "mixtur": 64, "virtual": [64, 67, 94], "jvm": 64, "zinc": [64, 67], "hotspot": 64, "jit": 64, "phase": [64, 66, 68], "sensit": 64, "delin": 64, "foo": [64, 68, 75, 82], "operand": [64, 66, 68], "gratuit": 64, "unambigu": [64, 84], "arm": 64, "ir": [64, 66], "opcod": [64, 66], "begun": [64, 78], "runnabl": 64, "yacc": 65, "ocamlyacc": 65, "automata": [65, 67], "automaton": 65, "reset": 65, "pushdown": [65, 67], "cfl": 65, "parenthesi": 65, "ss": 65, "nontermin": [65, 67], "inventor": 65, "peter": 65, "picki": 65, "adher": 65, "metasyntax": [65, 66], "var": [65, 66, 68], "allud": 65, "awhil": 65, "header": 65, "trailer": 65, "lparen": 65, "rparen": 65, "IN": 65, "IF": 65, "THEN": 65, "nonassoc": 65, "prog": 65, "production1": 65, "action1": 65, "production2": 65, "action2": 65, "sixth": 65, "eighth": 65, "mll": 65, "fyi": 65, "regexp1": 65, "regexp2": 65, "lexbuf": 65, "lexem": 65, "explanatori": 65, "from_str": 65, "from_channel": 65, "reflex": 66, "axiomat": 66, "bridg": 66, "gap": 66, "faith": 66, "circumst": 66, "toolkit": 66, "eagerli": 66, "nicer": [66, 79], "slash": 66, "deleg": 66, "3000": 66, "step_bop": 66, "eval_smal": 66, "eval_big": 66, "eval_bop": 66, "eval_if": 66, "rudimentari": 66, "makefil": 66, "closest": 66, "surprisingli": 66, "elud": 66, "mathematician": 66, "reserv": 66, "counter": [66, 83], "gensym": 66, "erat": 66, "sym": 66, "bol": 66, "caution": 66, "intersect": 66, "exot": 66, "studiou": 67, "heavili": [67, 94], "naur": 67, "preliminari": 67, "operatiohn": 67, "reconstruct": 67, "andrew": [67, 69, 95], "appel": 67, "dexter": [67, 69, 95], "kozen": [67, 69, 95], "frontend": 67, "webpag": 67, "vm": 67, "hastyp": 68, "vdash": 68, "friendlier": 68, "machineri": 68, "tint": 68, "tbool": 68, "disambigu": 68, "staticenviron": 68, "ty": [68, 91], "hasn": [68, 86], "typeof_let": 68, "typeof_bop": 68, "typeof_if": 68, "taught": [69, 95], "mit": [69, 85], "001": 69, "sicp": 69, "tim": 69, "teitelbaum": 69, "1988": [69, 78], "dan": [69, 95], "huttenloch": [69, 95], "faculti": 69, "inaugur": 69, "infus": 69, "rigor": 69, "homegrown": 69, "dialect": [69, 72, 74], "regularli": 69, "ramin": [69, 95], "zabih": [69, 95], "spring": [69, 95], "1994": 69, "surviv": 69, "onlin": [69, 94], "greg": [69, 95], "morrisett": [69, 95], "dylan": 69, "312": 69, "curriculum": 69, "2112": 69, "410": 69, "chose": [69, 94], "prerequisit": 69, "parcel": 69, "482": 69, "2001": 69, "myer": [69, 95], "2002": 69, "2008": [69, 84], "2010": 69, "nate": [69, 95], "foster": [69, 95], "2012": 69, "constabl": [69, 95], "michael": [69, 95], "georg": [69, 95], "grossman": [69, 95], "2003": 69, "decompos": 69, "cse": 69, "341": 69, "washington": 69, "mooc": 69, "2018": 69, "synthes": 69, "yesterdai": 70, "pascal": [70, 84], "cobol": [70, 84], "tomorrow": 70, "transcend": [70, 74, 85], "opportun": [70, 71], "scala": [70, 72], "tendenc": 70, "brought": [70, 84], "1958": 70, "2004": 70, "announc": 70, "plan": 70, "2021": [70, 95], "nan": 71, "\u5357\u96a0": 71, "japanes": 71, "master": [71, 76, 86], "meiji": 71, "1868": 71, "1912": 71, "inquir": 71, "zen": 71, "tea": 71, "pour": 71, "visitor": 71, "restrain": 71, "himself": 71, "overful": 71, "specul": 71, "freedom": [71, 73], "goodby": 71, "bloat": 71, "hate": 71, "love": [71, 94], "humbl": 71, "magic": [71, 91], "incant": 71, "perli": 71, "1922": 71, "recipi": 71, "aesthet": 71, "stylish": 71, "sanskrit": 71, "poetri": 71, "struggl": 71, "ugli": 71, "genealog": 72, "grandfath": 72, "clojur": [72, 74], "edinburgh": 72, "laboratori": 72, "scotland": 72, "late": 72, "1980": [72, 79, 84], "tradition": 72, "fledg": 72, "schism": 72, "french": 72, "british": 72, "brit": 72, "american": 72, "microsoft": [72, 94], "2005": [72, 85], "acm": 72, "prais": 72, "articul": 72, "remix": 72, "influenc": 72, "linguist": 73, "stateless": 73, "fantasi": 73, "referenti": [73, 74], "transpar": [73, 74], "illus": 73, "immens": 73, "turkei": 73, "biggest": [73, 74], "emerg": 73, "cert": 73, "govern": 73, "agenc": 73, "cybersecur": 73, "due": 73, "reliev": 73, "dealloc": 73, "nowher": [73, 76], "strength": [73, 81], "yaron": 73, "minski": 73, "obstacl": 74, "freeli": 74, "gentl": 74, "cornellian": 74, "sml": 74, "essai": 74, "director": 74, "capit": [75, 86], "creator": 75, "placement": 75, "ocamlformat": [75, 94], "mystack": 75, "homework": 75, "lab1": 75, "rarer": 75, "everydai": 75, "customstack": [75, 76], "hpp": 75, "cpp": 75, "filenam": [75, 86], "gone": [76, 94], "opaqu": 76, "seal": [76, 77, 80, 85], "inaccess": 76, "mathcheck": 76, "c_public": 76, "cprivat": 76, "list_stack": [76, 84], "liststackcacheds": 76, "checkliststackcacheds": 76, "doubt": 76, "unawar": [76, 82], "overli": 76, "cap": [76, 84], "shout": [76, 84], "unwieldi": 76, "fairli": [76, 78], "angl": 76, "friendli": 76, "margin": [76, 93], "fprintf": [76, 77, 83], "kupo": 76, "kupo_pp": 76, "fmt": [76, 83], "uninstal": [76, 94], "remove_print": 76, "pp_val": 76, "pp_break": 76, "pp_print_list": 76, "pp_sep": 76, "lift": 76, "imaginari": 77, "complexsig": 77, "ctrl": [77, 94], "fill_listqueu": 77, "fill_batchedqueu": 77, "bstmap": 77, "fraction": 77, "to_float": 77, "euclid": 77, "gcd": 77, "greatest": 77, "charmap": 77, "orderedtyp": [77, 79], "sierra": 77, "victor": 77, "march": 77, "31st": 77, "june": 77, "calendar": 77, "datemap": 77, "event": 77, "birthdai": 77, "anniversari": 77, "print_calendar": 77, "is_for": 77, "k_i": 77, "v_i": 77, "fancier": 77, "first_aft": 77, "grr": 77, "argh": 77, "printint": 77, "printstr": 77, "mystr": 77, "albeit": 77, "super": [77, 84, 94], "stringwithprint": 77, "make_d": 77, "get_month": 77, "get_dai": 77, "reissu": 77, "arith": 77, "ring": [77, 83], "intr": [77, 83], "floatr": [77, 83], "intfield": 77, "floatfield": 77, "intrat": 77, "floatrat": 77, "advic": [77, 94], "indirect": 77, "coexist": 78, "mere": 78, "peek_opt": 78, "pop_opt": 78, "melvil": 78, "dissert": 78, "1981": 78, "supersed": [78, 93], "718": 78, "618": 78, "assoclistmap": 78, "ki": 78, "willing": [78, 91], "uniqassoclistmap": 78, "morphism": 79, "intimid": 79, "quotat": 79, "stratifi": 79, "incx": 79, "add42": 79, "m1": 79, "mn": 79, "sn": 79, "si": 79, "module_expression1": 79, "module_expression2": 79, "module_typ": [79, 84], "checkaddx": 79, "pair1": 79, "p0": 79, "pa": 79, "nameabl": 79, "difficulti": [79, 93], "fx": 79, "fz": 79, "lesser": 79, "lt": 79, "eq": 79, "ala": 79, "strcmp": 79, "intmap": 79, "filter_map": 79, "partit": 79, "min_bind": 79, "min_binding_opt": 79, "max_bind": 79, "max_binding_opt": 79, "choose_opt": 79, "find_opt": 79, "find_first": 79, "find_first_opt": 79, "find_last": 79, "find_last_opt": 79, "mapi": 79, "to_seq": 79, "seq": 79, "to_rev_seq": 79, "to_seq_from": 79, "add_seq": 79, "of_seq": 79, "stdlib__map": 79, "m2": 79, "m3": 79, "accordingli": 79, "lightli": [79, 94], "ord": 79, "treemap": 79, "first1": 79, "last1": 79, "first2": 79, "last2": 79, "namemap": 79, "birth": 79, "kardashian": 79, "kourtnei": 79, "kimberli": 79, "k3": 79, "khloe": 79, "nm": 79, "1979": 79, "1984": 79, "reseal": 79, "unusablemap": 79, "variantstack": 79, "horribl": 79, "contempl": 79, "hundr": 79, "stacktest": 79, "liststacktest": 79, "variantstacktest": 79, "all_test": 79, "flatten": 79, "objection": 79, "newest": 79, "setoflist": [79, 80], "oflist": [79, 80], "uniqoflist": 79, "setwithoflist": 79, "setl": 79, "uniqsetl": 79, "necessit": 79, "grain": 79, "mixin": 79, "prolifer": 80, "prone": 80, "quicker": [80, 93], "neat": [80, 91], "parti": 80, "listsetextend": 80, "subclass": 80, "superclass": 80, "setextend": 80, "ah": 80, "workaround": 80, "listsetimpl": 80, "listsetextendedimpl": 80, "dispatch": 80, "subtli": 80, "consumpt": 80, "export": 80, "of_list_uniq": 80, "uniqlistsetextend": 80, "magnitud": 81, "colleg": 81, "plug": 81, "moder": 81, "industri": 81, "sole": 81, "serious": 81, "defici": 81, "decoupl": 81, "accompani": 82, "blissfulli": 82, "reassembl": 82, "intellig": 82, "imperfect": 82, "degre": 82, "extol": 83, "invers": 83, "pp_intr": 83, "pp_floatr": 83, "int_r": 83, "float_r": 83, "proxim": 83, "constraint1": 83, "constraint2": 83, "constraintn": 83, "xy": 83, "primary_color": 84, "mymodul": 84, "broaden": 84, "sight": 84, "vagu": 84, "let_modul": 84, "modulenam": 84, "module_item": 84, "module_express": 84, "alia": [84, 92, 94], "pervas": 84, "uppercase_al": 84, "uppercase_ascii": 84, "trim": 84, "lower_trim": 84, "eschew": 84, "moduletypenam": 84, "ls": [84, 86], "all_cap": 84, "older": [84, 94], "impolit": 84, "connot": 84, "liststackalia": 84, "opac": 84, "gain": 84, "she": 84, "twenti": [84, 93], "flavor": 84, "nomin": 84, "decre": 84, "mx": 84, "mz": 84, "xz": 84, "mxz": 84, "xstring": 84, "mxstring": 84, "intfun": 84, "idfun": 84, "iid": 84, "irrevoc": 84, "superset": 84, "ab": 84, "stackhistori": 84, "duck": 84, "un": 84, "brutal": 85, "equip": 85, "harper": 85, "ed": 85, "pragmat": 86, "topmost": 86, "ompil": 86, "odul": 86, "bject": 86, "ing": 86, "uncompil": 86, "downto": 87, "euclidean": 88, "dimension": [88, 90], "x_1": 88, "x_n": 88, "instinct": 88, "7071": 88, "make_matrix": 88, "init_matrix": 88, "till": 89, "analogu": 89, "mlist": [90, 91], "insert_first": [90, 91], "mutablestack": 90, "mutablerecordstack": 90, "0x3110bae0": 91, "forego": 91, "hick": 91, "dereferenc": 91, "allot": 91, "loc": 91, "next_val": 91, "decr": 91, "next_val_broken": 91, "malloc": 91, "segfault": 91, "deref": 91, "ptr": 91, "misunderstood": 91, "knowledg": [91, 93], "undocu": 91, "obj": 91, "circumv": 91, "fact_rec": 91, "fact0": 91, "rewrot": 91, "knot": 91, "tie": 91, "jacqu": 91, "garrigu": 91, "modif": 91, "unequ": 91, "lst0": 91, "_weak3": 91, "linkedlist": 91, "_weak4": 91, "alias": 92, "heavier": 93, "fork": 93, "repositori": 93, "minor": 93, "uptak": 93, "semest": [93, 94], "prior": 93, "youtub": [93, 95], "pandem": 93, "overwhelmingli": 93, "profession": 93, "basement": 93, "ecosystem": 93, "2020": [93, 94], "alarm": 93, "plugin": 93, "ag": 93, "nearest": 93, "playlist": [93, 95], "collabor": 93, "hypoth": 93, "publicli": 93, "rocket": 93, "ship": 93, "binder": 93, "site": [93, 94], "mybind": 93, "cloud": 93, "servic": 93, "reproduc": 93, "shareabl": 93, "ui": 93, "jupyt": 93, "ipynb": 93, "narr": 93, "julia": 93, "analys": 93, "shift": [93, 94], "hotkei": 93, "scene": 93, "studio": 93, "seamlessli": 93, "varieti": 93, "anaconda": 93, "rate": 93, "star": 93, "misjudg": 93, "tablet": 93, "epub": 93, "prefac": 94, "brush": 94, "sad": 94, "tower": 94, "solid": 94, "stranger": 94, "internet": 94, "beneath": 94, "maco": 94, "homebrew": 94, "macport": 94, "nudg": 94, "xcode": 94, "x11": 94, "subsystem": 94, "wsl": 94, "20262": 94, "novemb": 94, "powershel": 94, "administr": 94, "setup": 94, "wsl2": 94, "wsl1": 94, "04": 94, "app": 94, "bash": 94, "keystrok": 94, "apt": 94, "sudo": 94, "unzip": 94, "filesystem": 94, "your_ubuntu_user_nam": 94, "mnt": 94, "your_windows_user_nam": 94, "pc": 94, "brew": 94, "port": 94, "bare": 94, "profil": 94, "bashrc": 94, "sandbox": 94, "whenc": 94, "2023fa": [], "logout": 94, "shell": 94, "reinit": 94, "odoc": 94, "menhir": 94, "lsp": 94, "vim": 94, "slate": 94, "zsh": 94, "cmd": 94, "login": 94, "pane": 94, "palett": 94, "yeah": 94, "orang": 94, "squiggl": 94, "remot": [], "troubleshoot": 94, "band": 94, "cure": 94, "tweak": 94, "json": 94, "tabsiz": 94, "ruler": 94, "formatonsav": 94, "doc": 94, "voic": 94, "spin": 94, "zoom": 94, "pack": [], "email": 94, "your_netid": 94, "url": [], "dm": [], "emphasi": 95, "winter": [], "2024": 95, "volatil": [], "interim": [], "2023": [], "justin": 95, "hsu": 95, "daniel": 95, "radu": 95, "rugina": 95, "copyright": 95, "attribut": 95, "noncommerci": 95, "noderiv": 95, "licens": 95, "2024sp": 94, "silicon": 2, "9gb": 2, "input1": 7, "output1": 7, "input2": 7, "output2": 7, "input3": 7, "output3": 7}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"The": [0, 9, 12, 16, 45, 46, 55, 65, 66, 72, 73, 79], "curri": [0, 51], "howard": 0, "correspond": 0, "comput": 0, "evid": 0, "type": [0, 7, 12, 25, 29, 38, 63, 68, 76, 79, 83, 84, 91], "proposit": 0, "program": [0, 3, 4, 19, 48, 56, 71, 81, 95], "proof": 0, "evalu": [0, 61, 66], "simplif": 0, "what": [0, 3, 5], "It": 0, "all": [0, 22, 25], "mean": [0, 55], "exercis": [0, 6, 15, 28, 41, 52, 62, 77, 88], "big": [1, 66], "oh": 1, "notat": 1, "algorithm": 1, "effici": [1, 95], "attempt": [1, 61], "1": 1, "2": 1, "ell": 1, "finish": [1, 63], "warn": 1, "3": 1, "virtual": 2, "machin": 2, "instal": [2, 94], "vm": 2, "start": 2, "stop": 2, "us": [2, 44, 54, 79, 86, 94], "compil": [3, 75, 86], "ocaml": [3, 4, 9, 12, 61, 63, 66, 71, 72, 73, 94, 95], "store": 3, "code": [3, 12, 80, 94], "file": 3, "about": [3, 22, 93], "main": 3, "dune": [3, 86], "debug": [4, 24], "defens": 4, "against": 4, "bug": 4, "how": [4, 5, 48, 79], "document": [5, 16, 18, 75], "precondit": 5, "postcondit": 5, "express": 7, "primit": 7, "valu": [7, 12], "more": 7, "oper": [7, 8], "assert": 7, "If": 7, "let": [7, 34, 63], "scope": [7, 39, 61, 84], "annot": 7, "function": [8, 12, 16, 18, 20, 34, 42, 44, 54, 55, 78], "definit": [8, 84], "anonym": 8, "applic": 8, "pipelin": [8, 58], "polymorph": [8, 25, 63], "label": [8, 54], "option": [8, 32, 78], "argument": [8, 54], "partial": 8, "associ": [8, 26, 42], "tail": [8, 30, 53, 54, 57], "recurs": [8, 19, 22, 25, 30, 53, 54, 57, 91], "basic": 9, "print": [10, 76], "unit": [10, 33, 75], "semicolon": 10, "ignor": 10, "printf": 10, "summari": [11, 23, 36, 49, 59, 67, 74, 85, 92], "term": [11, 23, 36, 49, 59, 67, 74, 85, 92], "concept": [11, 23, 36, 49, 59, 67, 74, 85, 92], "further": [11, 23, 36, 49, 59, 67, 74, 85, 92], "read": [11, 23, 36, 49, 59, 67, 74, 85, 92], "toplevel": [12, 86], "load": [12, 86], "workflow": 12, "algebra": [13, 25], "specif": [13, 16, 19, 21], "exampl": [13, 16, 31, 33, 34, 37, 45, 60, 65, 75, 79, 90, 91], "stack": [13, 75, 78, 90], "queue": [13, 40, 78], "batch": [13, 40], "design": 13, "black": [14, 47], "box": 14, "glass": 14, "test": [14, 20, 24, 33, 79], "data": [14, 25, 29, 43, 78], "abstract": [14, 18, 20, 55, 76], "vs": [14, 19, 35, 54, 61, 78, 80, 86, 94], "bisect": 14, "return": 16, "claus": 16, "requir": [16, 86], "rais": 16, "game": 16, "comment": [16, 75], "correct": [17, 19, 95], "modul": [18, 79, 80, 82, 83, 84, 86], "remind": 18, "implement": [18, 42, 46, 54, 61, 66], "commut": 18, "diagram": 18, "represent": [18, 37, 42], "invari": 18, "prove": 19, "equal": [19, 91], "equat": 19, "reason": 19, "induct": [19, 22], "natur": [19, 22, 31], "number": [19, 20, 31], "iter": 19, "termin": 19, "random": 20, "qcheck": 20, "gener": [20, 65], "properti": 20, "inform": 20, "output": [20, 33], "from": [20, 47], "structur": [22, 43, 78], "list": [22, 26, 30, 42, 50, 78, 90, 91], "A": [22, 54, 61, 68, 69], "theorem": 22, "fold": [22, 50, 54], "tree": [22, 37, 47, 50], "principl": [22, 55], "variant": [22, 25, 27, 35, 39], "acknowledg": [23, 67], "valid": 24, "carri": 25, "syntax": [25, 30, 79, 91], "semant": [25, 27, 79, 80, 84, 91], "catch": 25, "case": 25, "parameter": 25, "built": 25, "except": [27, 33, 78], "ar": [27, 84, 90], "extens": 27, "pattern": [27, 30, 34, 39], "match": [27, 30, 34, 39], "ounit": [27, 33], "build": 30, "access": 30, "Not": [30, 48], "mutat": 30, "deep": 30, "immedi": 30, "ocamldoc": 30, "comprehens": 30, "an": [33, 61, 75, 79, 94], "explan": 33, "improv": 33, "driven": 33, "develop": [33, 94], "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, "map": [42, 47, 50, 57, 78, 79], "arrai": [42, 87], "chain": 42, "resiz": 42, "standard": 42, "librari": [42, 54, 86], "hashtbl": 42, "memoiz": 44, "fibonacci": 44, "higher": [44, 55, 56], "order": [44, 55, 56], "just": 44, "fun": 44, "parti": 44, "optim": 44, "monad": 45, "signatur": 45, "mayb": 45, "writer": 45, "lwt": [45, 46], "law": 45, "composit": 45, "promis": 46, "concurr": 46, "thread": 46, "make": 46, "our": 46, "own": 46, "asynchron": 46, "i": 46, "o": 46, "callback": 46, "full": 46, "red": 47, "binari": 47, "search": 47, "set": [47, 78, 94], "bst": 47, "sequenc": [48, 91], "defin": [48, 66], "correctli": 48, "lazi": 48, "beyond": 50, "filter": [50, 53], "other": [53, 54, 57], "languag": [53, 57], "combin": 54, "right": 54, "left": 54, "digress": 54, "famou": 55, "side": 57, "effect": [57, 91], "calcul": 60, "environ": [61, 94], "model": [61, 66], "lambda": 61, "calculu": 61, "lexic": 61, "dynam": 61, "second": 61, "simpl": [61, 65, 66, 68], "core": [61, 66], "infer": 63, "reconstruct": 63, "constraint": [63, 79, 83], "base": 63, "solv": 63, "mutabl": [63, 89, 90, 91], "interpret": [64, 66], "pars": 65, "lexer": 65, "parser": 65, "backu": 65, "naur": 65, "form": 65, "ast": 65, "menhir": 65, "ocamllex": 65, "driver": 65, "substitut": 66, "singl": 66, "step": 66, "relat": 66, "multistep": 66, "done": 66, "captur": 66, "avoid": 66, "check": [68, 94], "system": [68, 82], "checker": 68, "safeti": 68, "brief": 69, "histori": 69, "cs": 69, "3110": 69, "look": 70, "your": 70, "futur": 70, "new": 70, "flash": 70, "better": 71, "through": 71, "past": 72, "present": 73, "featur": 73, "industri": 73, "incomplet": 75, "encapsul": [76, 80], "opac": 76, "pretti": 76, "functor": 79, "custom": 79, "kei": 79, "suit": 79, "extend": 79, "multipl": [79, 80], "includ": 80, "open": [80, 84], "modular": 81, "special": 83, "static": 84, "first": 84, "class": 84, "initi": [86, 94], "loop": 87, "field": 90, "ref": [90, 91], "singli": [90, 91], "link": [90, 91], "alias": 91, "counter": 91, "pointer": 91, "evil": 91, "secret": 91, "without": 91, "rec": 91, "weak": 91, "variabl": 91, "physic": 91, "thi": 93, "book": 93, "unix": 94, "linux": 94, "mac": 94, "window": 94, "opam": 94, "creat": 94, "switch": 94, "doubl": 94, "visual": 94, "studio": 94, "collabor": 94, "beauti": 95}, "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