From bc0cba086a932cb9b85e3d890ddf75536c32af3c Mon Sep 17 00:00:00 2001 From: lmoss Date: Tue, 7 Jan 2025 16:14:03 +0000 Subject: [PATCH] deploy: 72f65e274a1c0a869b0fb461754cc8d94bd2caa2 --- _sources/introOneSharp/instructions.ipynb | 725 ++++++++++------------ introOneSharp/instructions.html | 572 +++++++---------- searchindex.js | 2 +- 3 files changed, 534 insertions(+), 765 deletions(-) diff --git a/_sources/introOneSharp/instructions.ipynb b/_sources/introOneSharp/instructions.ipynb index 1a17bf5..b594835 100644 --- a/_sources/introOneSharp/instructions.ipynb +++ b/_sources/introOneSharp/instructions.ipynb @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "editable": false, "id": "jxhALRpsNzgr", @@ -32,84 +32,7 @@ "source_hidden": false } }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: setuptools in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (75.3.0)\n", - "\u001b[33mWARNING: Error parsing dependencies of pyodbc: Invalid version: '4.0.0-unsupported'\u001b[0m\u001b[33m\n", - "\u001b[0m\u001b[31mERROR: Exception:\n", - "Traceback (most recent call last):\n", - " File \"/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/cli/base_command.py\", line 105, in _run_wrapper\n", - " status = _inner_run()\n", - " File \"/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/cli/base_command.py\", line 96, in _inner_run\n", - " return self.run(options, args)\n", - " File \"/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/cli/req_command.py\", line 67, in wrapper\n", - " return func(self, options, args)\n", - " File \"/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/commands/install.py\", line 483, in run\n", - " installed_versions[distribution.canonical_name] = distribution.version\n", - " File \"/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/metadata/pkg_resources.py\", line 192, in version\n", - " return parse_version(self._dist.version)\n", - " File \"/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_vendor/packaging/version.py\", line 56, in parse\n", - " return Version(version)\n", - " File \"/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_vendor/packaging/version.py\", line 202, in __init__\n", - " raise InvalidVersion(f\"Invalid version: '{version}'\")\n", - "pip._vendor.packaging.version.InvalidVersion: Invalid version: '4.0.0-unsupported'\u001b[0m\u001b[31m\n", - "\u001b[0mCollecting git+https://github.com/lmoss/onesharp.git@main\n", - " Cloning https://github.com/lmoss/onesharp.git (to revision main) to /private/var/folders/kt/458_ttf57hvdmjpsh88m1fzh0000gp/T/pip-req-build-xqv_5hs8\n", - " Running command git clone --filter=blob:none --quiet https://github.com/lmoss/onesharp.git /private/var/folders/kt/458_ttf57hvdmjpsh88m1fzh0000gp/T/pip-req-build-xqv_5hs8\n", - " warning: the following paths have collided (e.g. case-sensitive paths\n", - " on a case-insensitive filesystem) and only one from the same\n", - " colliding group is in the working tree:\n", - "\n", - " 'T_predicate.ipynb'\n", - " 't_predicate.ipynb'\n", - " Resolved https://github.com/lmoss/onesharp.git to commit 9a9a747ecc470393d71852392ea666780450e9c8\n", - " Installing build dependencies ... \u001b[?25ldone\n", - "\u001b[?25h Getting requirements to build wheel ... \u001b[?25ldone\n", - "\u001b[?25h Preparing metadata (pyproject.toml) ... \u001b[?25ldone\n", - "\u001b[?25hRequirement already satisfied: numpy in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from onesharp==0.0.0) (1.23.1)\n", - "Requirement already satisfied: pandas in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from onesharp==0.0.0) (1.1.3)\n", - "Requirement already satisfied: IPython in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from onesharp==0.0.0) (7.19.0)\n", - "Requirement already satisfied: setuptools>=18.5 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (75.3.0)\n", - "Requirement already satisfied: jedi>=0.10 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (0.17.1)\n", - "Requirement already satisfied: decorator in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (4.4.2)\n", - "Requirement already satisfied: pickleshare in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (0.7.5)\n", - "Requirement already satisfied: traitlets>=4.2 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (5.14.3)\n", - "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (3.0.8)\n", - "Requirement already satisfied: pygments in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (2.18.0)\n", - "Requirement already satisfied: backcall in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (0.2.0)\n", - "Requirement already satisfied: pexpect>4.3 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (4.8.0)\n", - "Requirement already satisfied: appnope in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (0.1.0)\n", - "Requirement already satisfied: python-dateutil>=2.7.3 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from pandas->onesharp==0.0.0) (2.9.0.post0)\n", - "Requirement already satisfied: pytz>=2017.2 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from pandas->onesharp==0.0.0) (2020.1)\n", - "Requirement already satisfied: parso<0.8.0,>=0.7.0 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from jedi>=0.10->IPython->onesharp==0.0.0) (0.7.0)\n", - "Requirement already satisfied: ptyprocess>=0.5 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from pexpect>4.3->IPython->onesharp==0.0.0) (0.6.0)\n", - "Requirement already satisfied: wcwidth in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->IPython->onesharp==0.0.0) (0.2.5)\n", - "Requirement already satisfied: six>=1.5 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from python-dateutil>=2.7.3->pandas->onesharp==0.0.0) (1.15.0)\n", - "\u001b[33mWARNING: Error parsing dependencies of pyodbc: Invalid version: '4.0.0-unsupported'\u001b[0m\u001b[33m\n", - "\u001b[0m\u001b[31mERROR: Exception:\n", - "Traceback (most recent call last):\n", - " File \"/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/cli/base_command.py\", line 105, in _run_wrapper\n", - " status = _inner_run()\n", - " File \"/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/cli/base_command.py\", line 96, in _inner_run\n", - " return self.run(options, args)\n", - " File \"/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/cli/req_command.py\", line 67, in wrapper\n", - " return func(self, options, args)\n", - " File \"/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/commands/install.py\", line 483, in run\n", - " installed_versions[distribution.canonical_name] = distribution.version\n", - " File \"/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/metadata/pkg_resources.py\", line 192, in version\n", - " return parse_version(self._dist.version)\n", - " File \"/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_vendor/packaging/version.py\", line 56, in parse\n", - " return Version(version)\n", - " File \"/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_vendor/packaging/version.py\", line 202, in __init__\n", - " raise InvalidVersion(f\"Invalid version: '{version}'\")\n", - "pip._vendor.packaging.version.InvalidVersion: Invalid version: '4.0.0-unsupported'\u001b[0m\u001b[31m\n", - "\u001b[0m" - ] - } - ], + "outputs": [], "source": [ "!python -m pip install -U setuptools\n", "!python -m pip install -U git+https://github.com/lmoss/onesharp.git@main\n", @@ -144,7 +67,111 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Enter a program and two registers, then press return in any field.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "df45f0264b554966b4e69d446c8630fa", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Text(value='', description='program')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "462ac9460c004ea0b18d05f3baf63e60", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Text(value='', description='R1')" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8490e885e00e4b1f898b2576b8681e8e", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Text(value='', description='R2')" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import ipywidgets as widgets\n", + "from IPython.display import display\n", + "\n", + "class date_input():\n", + " def __init__(self, \n", + " year = \"\", \n", + " month = \"\", \n", + " day = \"\"\n", + " ):\n", + " self.year = widgets.Text(description = 'program',value = year)\n", + " self.month = widgets.Text(description = 'R1',value = month)\n", + " self.day = widgets.Text(description = 'R2',value = day) \n", + " self.year.on_submit(self.handle_submit)\n", + " self.year.on_submit(self.handle_submit)\n", + " self.year.on_submit(self.handle_submit)\n", + " display(self.year, self.month, self.day)\n", + "\n", + " def handle_submit(self, text):\n", + " self.v = text.value\n", + " return self.v\n", + "\n", + "print(\"Enter a program and two registers, then press return in any field.\")\n", + "f = date_input()\n", + "# this is from\n", + "# https://stackoverflow.com/questions/43744999/using-ipython-ipywidget-text-to-create-multiple-variables" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# @title Interpreter\n", + "f = date_input()\n", + "button = widgets.Button(description=\"Run\",button_style='success')\n", + "output = widgets.Output()\n", + "\n", + "display(button, output)\n", + "\n", + "def on_button_clicked(b):\n", + " with output:\n", + " a = onesharp(f.year.value,[f.month.value])\n", + " print(a)\n", + "\n", + "button.on_click(on_button_clicked)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -155,14 +182,12 @@ }, "outputs": [ { - "data": { - "text/plain": [ - "'#11###111111#'" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" + "ename": "SyntaxError", + "evalue": "EOL while scanning string literal (, line 13)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m13\u001b[0m\n\u001b[0;31m R1 = '#11#\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m EOL while scanning string literal\n" + ] } ], "source": [ @@ -178,7 +203,34 @@ "\n", "\n", "program = '11#####111111###111###1##1111####1#111111####' #@param {type:\"string\"}\n", - "R1 = '#11###1' #@param {type:\"string\"}\n", + "R1 = '#11#" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'#11###111111#'" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "##1' #@param {type:\"string\"}\n", "R2 = '11111#' #@param {type:\"string\"}\n", "#R3 = '' #@param {type:\"string\"}\n", "\n", @@ -420,7 +472,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 9, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -432,14 +484,11 @@ "outputs": [ { "data": { - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "string" - }, "text/plain": [ "'1#11'" ] }, - "execution_count": 6, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -450,7 +499,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -475,47 +524,35 @@ { "data": { "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 instructionexplanation
11#add 1 to R1
211#####cases on R2
31###go forward 1 to instruction 4
41###go forward 1 to instruction 5
\n" + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
instruction explanation
11#add 1 to R1
211#####cases on R2
31###go forward 1 to instruction 4
41###go forward 1 to instruction 5
" ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -534,34 +571,23 @@ { "data": { "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 contents
11#1
2#
\n" + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
contents
11#1
2#
" ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -579,34 +605,23 @@ { "data": { "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 contents
11#11
2#
\n" + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
contents
11#11
2#
" ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -618,49 +633,7 @@ "text": [ "Step 2:\n", "Execute instruction 2: cases on R2.\n", - "The first symbol in that register is #, so we delete that symbol and go forward 3 instructions.\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 contents
11#11
2
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "The first symbol in that register is #, so we delete that symbol and go forward 3 instructions.\n", "The computation then halts properly because the control is just below the last line of the program,\n", "and because all registers other than R1 are empty.\n", "The output is 1#11.\n" @@ -716,7 +689,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -739,31 +712,20 @@ { "data": { "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 instructionexplanation
11#add 1 to R1
\n" + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
instruction explanation
11#add 1 to R1
" ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -782,37 +744,27 @@ { "data": { "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 contents
1#1
2#1
31#
\n" + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
contents
1#1
2#1
31#
" ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -839,7 +791,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -863,37 +815,25 @@ { "data": { "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 instructionexplanation
11##add # to R1
211#add 1 to R2
\n" + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
instruction explanation
11##add # to R1
211#add 1 to R2
" ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -912,34 +852,23 @@ { "data": { "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 contents
1
2
\n" + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
contents
1
2
" ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -957,34 +886,23 @@ { "data": { "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 contents
1#
2
\n" + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
contents
1#
2
" ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -995,49 +913,7 @@ "output_type": "stream", "text": [ "Step 2:\n", - "Execute instruction 2: add 1 to R2.\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 contents
1#
21
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Execute instruction 2: add 1 to R2.\n", "This computation does not halt.\n", "Here is the list of registers whose contents are not empty at this point, other than R1:[2].\n", "The register contents at the end are shown above.\n" @@ -1063,11 +939,42 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'1'" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "onesharp('1#',[])" + ] + }, + { + "cell_type": "code", + "execution_count": 13, "metadata": { "id": "g_hKkqiUNzgy" }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "''" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "clear_1 = '1##### 111### 11#### 111####'\n", "onesharp(clear_1,['1111###1111##########'])\n", diff --git a/introOneSharp/instructions.html b/introOneSharp/instructions.html index 171e23a..4cd8312 100644 --- a/introOneSharp/instructions.html +++ b/introOneSharp/instructions.html @@ -450,80 +450,6 @@

First steps
!python -m pip install -U setuptools
 !python -m pip install -U git+https://github.com/lmoss/onesharp.git@main
 from onesharp.interpreter.interpreter import *
-
- - -
-
Requirement already satisfied: setuptools in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (75.3.0)
-WARNING: Error parsing dependencies of pyodbc: Invalid version: '4.0.0-unsupported'
-ERROR: Exception:
-Traceback (most recent call last):
-  File "/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper
-    status = _inner_run()
-  File "/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run
-    return self.run(options, args)
-  File "/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 67, in wrapper
-    return func(self, options, args)
-  File "/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 483, in run
-    installed_versions[distribution.canonical_name] = distribution.version
-  File "/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/metadata/pkg_resources.py", line 192, in version
-    return parse_version(self._dist.version)
-  File "/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_vendor/packaging/version.py", line 56, in parse
-    return Version(version)
-  File "/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_vendor/packaging/version.py", line 202, in __init__
-    raise InvalidVersion(f"Invalid version: '{version}'")
-pip._vendor.packaging.version.InvalidVersion: Invalid version: '4.0.0-unsupported'
-Collecting git+https://github.com/lmoss/onesharp.git@main
-  Cloning https://github.com/lmoss/onesharp.git (to revision main) to /private/var/folders/kt/458_ttf57hvdmjpsh88m1fzh0000gp/T/pip-req-build-xqv_5hs8
-  Running command git clone --filter=blob:none --quiet https://github.com/lmoss/onesharp.git /private/var/folders/kt/458_ttf57hvdmjpsh88m1fzh0000gp/T/pip-req-build-xqv_5hs8
-  warning: the following paths have collided (e.g. case-sensitive paths
-  on a case-insensitive filesystem) and only one from the same
-  colliding group is in the working tree:
-
-    'T_predicate.ipynb'
-    't_predicate.ipynb'
-  Resolved https://github.com/lmoss/onesharp.git to commit 9a9a747ecc470393d71852392ea666780450e9c8
-  Installing build dependencies ... ?25ldone
-?25h  Getting requirements to build wheel ... ?25ldone
-?25h  Preparing metadata (pyproject.toml) ... ?25ldone
-?25hRequirement already satisfied: numpy in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from onesharp==0.0.0) (1.23.1)
-Requirement already satisfied: pandas in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from onesharp==0.0.0) (1.1.3)
-Requirement already satisfied: IPython in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from onesharp==0.0.0) (7.19.0)
-Requirement already satisfied: setuptools>=18.5 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (75.3.0)
-Requirement already satisfied: jedi>=0.10 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (0.17.1)
-Requirement already satisfied: decorator in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (4.4.2)
-Requirement already satisfied: pickleshare in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (0.7.5)
-Requirement already satisfied: traitlets>=4.2 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (5.14.3)
-Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (3.0.8)
-Requirement already satisfied: pygments in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (2.18.0)
-Requirement already satisfied: backcall in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (0.2.0)
-Requirement already satisfied: pexpect>4.3 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (4.8.0)
-Requirement already satisfied: appnope in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from IPython->onesharp==0.0.0) (0.1.0)
-Requirement already satisfied: python-dateutil>=2.7.3 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from pandas->onesharp==0.0.0) (2.9.0.post0)
-Requirement already satisfied: pytz>=2017.2 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from pandas->onesharp==0.0.0) (2020.1)
-Requirement already satisfied: parso<0.8.0,>=0.7.0 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from jedi>=0.10->IPython->onesharp==0.0.0) (0.7.0)
-Requirement already satisfied: ptyprocess>=0.5 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from pexpect>4.3->IPython->onesharp==0.0.0) (0.6.0)
-Requirement already satisfied: wcwidth in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->IPython->onesharp==0.0.0) (0.2.5)
-Requirement already satisfied: six>=1.5 in /Users/lsm/opt/anaconda3/lib/python3.8/site-packages (from python-dateutil>=2.7.3->pandas->onesharp==0.0.0) (1.15.0)
-WARNING: Error parsing dependencies of pyodbc: Invalid version: '4.0.0-unsupported'
-ERROR: Exception:
-Traceback (most recent call last):
-  File "/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 105, in _run_wrapper
-    status = _inner_run()
-  File "/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 96, in _inner_run
-    return self.run(options, args)
-  File "/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 67, in wrapper
-    return func(self, options, args)
-  File "/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 483, in run
-    installed_versions[distribution.canonical_name] = distribution.version
-  File "/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_internal/metadata/pkg_resources.py", line 192, in version
-    return parse_version(self._dist.version)
-  File "/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_vendor/packaging/version.py", line 56, in parse
-    return Version(version)
-  File "/Users/lsm/opt/anaconda3/lib/python3.8/site-packages/pip/_vendor/packaging/version.py", line 202, in __init__
-    raise InvalidVersion(f"Invalid version: '{version}'")
-pip._vendor.packaging.version.InvalidVersion: Invalid version: '4.0.0-unsupported'
-
 
@@ -536,6 +462,61 @@

First steps1#. Even before learning how the language works, we want to see how to run programs by entering them into the interpreter along with inputs.

+
import ipywidgets as widgets
+from IPython.display import display
+
+class date_input():
+    def __init__(self, 
+                 year = "", 
+                 month = "", 
+                 day = ""
+                ):
+        self.year = widgets.Text(description = 'program',value = year)
+        self.month = widgets.Text(description = 'R1',value = month)
+        self.day = widgets.Text(description = 'R2',value = day)        
+        self.year.on_submit(self.handle_submit)
+        self.year.on_submit(self.handle_submit)
+        self.year.on_submit(self.handle_submit)
+        display(self.year, self.month, self.day)
+
+    def handle_submit(self, text):
+        self.v = text.value
+        return self.v
+
+print("Enter a program and two registers, then press return in any field.")
+f = date_input()
+# this is from
+# https://stackoverflow.com/questions/43744999/using-ipython-ipywidget-text-to-create-multiple-variables
+
+
+
+
+
Enter a program and two registers, then press return in any field.
+
+
+
+
+
+
+
# @title Interpreter
+f = date_input()
+button = widgets.Button(description="Run",button_style='success')
+output = widgets.Output()
+
+display(button, output)
+
+def on_button_clicked(b):
+    with output:
+        a = onesharp(f.year.value,[f.month.value])
+        print(a)
+
+button.on_click(on_button_clicked)
+
+
+
+
+
+
+
+
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 instructionexplanation
11#add 1 to R1
211#####cases on R2
31###go forward 1 to instruction 4
41###go forward 1 to instruction 5
-
The computation starts with the register contents shown below.
+
+ + + + + + + + + + + + + + + + + + + + +
instruction explanation
11#add 1 to R1
211#####cases on R2
31###go forward 1 to instruction 4
41###go forward 1 to instruction 5
The computation starts with the register contents shown below.
 The registers include those those which you entered as part of the input
 and also others mentioned in the input program.
 
-
- - - - - - - - - - - - - - - - - -
 contents
11#1
2#
-
Step 1:
+
+ + + + + + + + +
contents
11#1
2#
Step 1:
 Execute instruction 1: add 1 to R1.
 
-
- - - - - - - - - - - - - - - - - -
 contents
11#11
2#
-
Step 2:
+
+ + + + + + + + +
contents
11#11
2#
Step 2:
 Execute instruction 2: cases on R2.
 The first symbol in that register is #, so we delete that symbol and go forward 3 instructions.
-
-
-
- - - - - - - - - - - - - - - - - -
 contents
11#11
2
-
The computation then halts properly because the control is just below the last line of the program,
+The computation then halts properly because the control is just below the last line of the program,
 and because all registers other than R1 are empty.
 The output is 1#11.
 
@@ -926,62 +858,39 @@

Running programs in notebook cells
First, here is the program:
 

-
- - - - - - - - - - - - - - - -
 instructionexplanation
11#add 1 to R1
-
The computation starts with the register contents shown below.
+
+ + + + + +
instruction explanation
11#add 1 to R1
The computation starts with the register contents shown below.
 The registers include those those which you entered as part of the input
 and also others mentioned in the input program.
 
-
- - - - - - - - - - - - - - - - - - - - - -
 contents
1#1
2#1
31#
-
Step 1:
+
+ + + + + + + + + + + + +
contents
1#1
2#1
31#
-
- - - - - - - - - - - - - - - - - - - - -
 instructionexplanation
11##add # to R1
211#add 1 to R2
-
The computation starts with the register contents shown below.
+
+ + + + + + + + + + +
instruction explanation
11##add # to R1
211#add 1 to R2
The computation starts with the register contents shown below.
 The registers include those those which you entered as part of the input
 and also others mentioned in the input program.
 
-
- - - - - - - - - - - - - - - - - -
 contents
1
2
-
Step 1:
+
+ + + + + + + + +
contents
1
2
Step 1:
 Execute instruction 1: add # to R1.
 
-
- - - - - - - - - - - - - - - - - -
 contents
1#
2
-
Step 2:
+
+ + + + + + + + +
contents
1#
2
Step 2:
 Execute instruction 2: add 1 to R2.
-
-
-
- - - - - - - - - - - - - - - - - -
 contents
1#
21
-
This computation does not halt.
+This computation does not halt.
 Here is the list of registers whose contents are not empty at this point, other than R1:[2].
 The register contents at the end are shown above.
 
@@ -1129,6 +974,18 @@

Running programs in notebook cellsstep_by_step. If we want to run things “in one fell swoop”, we could use the function onesharp(p,[r1,r2, . . ., rn]). It also takes two arguments, the first a program and the second a (possibly-empty) sequence of input words.

+
onesharp('1#',[])
+
+
+
+
+
'1'
+
+
+
+
+
+
diff --git a/searchindex.js b/searchindex.js index 1aaf210..43fb29b 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"": [[1, "phi-notation"], [1, "introOneSharp/functions-exercise-1"], [1, "introOneSharp/functions-exercise-2"], [1, "introOneSharp/functions-exercise-3"], [1, "definition-4"], [1, "introOneSharp/functions-exercise-5"], [1, "introOneSharp/functions-exercise-6"], [1, "introOneSharp/functions-exercise-7"], [1, "introOneSharp/functions-exercise-8"], [1, "introOneSharp/functions-exercise-9"], [1, "introOneSharp/functions-exercise-10"], [1, "definition-11"], [1, "introOneSharp/functions-exercise-12"], [2, "on-halting"], [2, "introOneSharp/haltDef-exercise-1"], [3, "introOneSharp/instructions-exercise-0"], [3, "try-to-figure"], [3, "introOneSharp/instructions-exercise-2"], [3, "introOneSharp/instructions-exercise-3"], [4, "introOneSharp/move_copy_write-exercise-0"], [4, "introOneSharp/move_copy_write-exercise-1"], [4, "introOneSharp/move_copy_write-exercise-2"], [4, "introOneSharp/move_copy_write-exercise-3"], [4, "introOneSharp/move_copy_write-exercise-4"], [4, "introOneSharp/move_copy_write-exercise-5"], [4, "definition-6"], [4, "introOneSharp/move_copy_write-exercise-7"], [5, "proposition-0"], [5, "introOneSharp/tidy-exercise-1"], [5, "tidiness"], [5, "back-transfer"], [5, "introOneSharp/tidy-exercise-4"], [8, "issues/problems-exercise-0"], [8, "issues/problems-exercise-1"], [9, "issues/reduction-exercise-0"], [9, "issues/reduction-exercise-1"], [9, "issues/reduction-exercise-2"], [10, "more_programs/arithmetic-exercise-0"], [10, "more_programs/arithmetic-exercise-1"], [10, "more_programs/arithmetic-exercise-2"], [10, "more_programs/arithmetic-exercise-3"], [13, "self_writing-exercise-0"], [13, "self_writing-exercise-1"], [13, "self_writing-exercise-2"], [13, "self_writing-exercise-3"], [13, "self_writing-exercise-4"], [13, "self_writing-exercise-5"], [13, "self_writing-exercise-6"], [13, "self_writing-exercise-7"], [13, "self_writing-exercise-8"], [13, "self_writing-exercise-9"], [14, "my-definition"], [14, "universal/universal-exercise-1"], [14, "universal/universal-exercise-2"], [14, "universal/universal-exercise-3"]], " (Post, 1946)": [[8, "theorem-2"]], "A remark on the beige and green sub-programs": [[14, "a-remark-on-the-beige-and-green-sub-programs"]], "Algorithmic problems": [[8, null]], "Basic functions in this notebook": [[11, "basic-functions-in-this-notebook"]], "Characteristic functions": [[1, "characteristic-functions"]], "Coding unboundedly many registers into one": [[14, "coding-unboundedly-many-registers-into-one"]], "Computability": [[7, null]], "Computably enumerable sets": [[1, "computably-enumerable-sets"]], "Concrete and Abstract Models of Computation": [[7, "concrete-and-abstract-models-of-computation"]], "Definition": [[1, null], [1, null], [2, null], [5, null]], "Diag": [[13, "diag"]], "Examples": [[1, null], [1, null]], "Examples of primitive recursive terms and functions": [[11, "examples-of-primitive-recursive-terms-and-functions"]], "Examples of segments:": [[12, "examples-of-segments"]], "Exercises": [[13, "exercises"]], "Finite vs. Infinite": [[7, "finite-vs-infinite"]], "First steps": [[3, null]], "Functions defined by programs": [[1, null]], "Functions of two or more arguments": [[1, "functions-of-two-or-more-arguments"]], "Functions of zero inputs": [[1, "functions-of-zero-inputs"]], "Further programs and exercises": [[12, "further-programs-and-exercises"]], "Halting: the formal definitions": [[2, "halting-the-formal-definitions"]], "How does Sanity work?": [[12, "how-does-sanity-work"]], "How to run insepct the terms and run the 1# programs.": [[11, "how-to-run-insepct-the-terms-and-run-the-1-programs"]], "I am going to change exercise 5(c) a little.": [[11, "i-am-going-to-change-exercise-5-c-a-little"]], "Implementing add# instructions": [[14, "implementing-add-instructions"]], "Invitation to Computability": [[0, null]], "Matrix problems": [[8, "matrix-problems"]], "Modifying move_2_1": [[4, "modifying-move-2-1"]], "Partial functions": [[1, "partial-functions"]], "Post\u2019s correspondence problem": [[8, "post-s-correspondence-problem"]], "Primitive Recursion": [[11, null]], "Primitive recursive terms, and the functions which they denote": [[11, "primitive-recursive-terms-and-the-functions-which-they-denote"]], "Problem": [[8, null]], "Problems": [[8, null]], "Programs for Arithmetic": [[10, null]], "Project": [[14, "project"]], "Reduction of one problem to another": [[9, null]], "Removing superfluous #s": [[10, "removing-superfluous-s"]], "Running programs in notebook cells": [[3, "running-programs-in-notebook-cells"]], "Self": [[13, "self"]], "Self-Replicating Programs": [[13, null]], "Simple programs": [[4, null]], "Simplification": [[14, "simplification"]], "Special note: the in_place_programs in this notebook do not halt in the sense of the course. Instead, they preserve their inputs. For example, run the program associated with add below as shown below it. (That is, take away the # from the beginning of the lines after the definition. The 2 inputs are preserved and the result goes in register 3.)": [[11, "special-note-the-in-place-programs-in-this-notebook-do-not-halt-in-the-sense-of-the-course-instead-they-preserve-their-inputs-for-example-run-the-program-associated-with-add-below-as-shown-below-it-that-is-take-away-the-from-the-beginning-of-the-lines-after-the-definition-the-2-inputs-are-preserved-and-the-result-goes-in-register-3"]], "Strong equivalence to tidy programs": [[5, "strong-equivalence-to-tidy-programs"]], "Summary": [[13, null]], "Syntax check": [[11, "syntax-check"]], "Testing the \u2018prime\u2019 primitive recursive term": [[11, "testing-the-prime-primitive-recursive-term"]], "The + notation on words": [[4, "the-notation-on-words"]], "The 1# instruction set": [[3, "the-1-instruction-set"]], "The full set of instructions of 1#": [[3, "the-full-set-of-instructions-of-1"]], "The idea in English": [[13, "the-idea-in-english"]], "The inputs to sanity": [[12, "the-inputs-to-sanity"]], "The output can be long because the function syntax_check is recursive, and thus reports information about all the subterms of whatever you enter.": [[11, "the-output-can-be-long-because-the-function-syntax-check-is-recursive-and-thus-reports-information-about-all-the-subterms-of-whatever-you-enter"]], "The plan for this lesson": [[14, "the-plan-for-this-lesson"]], "The successor function": [[10, "the-successor-function"]], "Tidy programs": [[5, null]], "Tiling problems": [[8, "tiling-problems"]], "Tools to help write programs": [[12, null]], "Universal Programs": [[14, null]], "Universal programs of more than one argument": [[14, "universal-programs-of-more-than-one-argument"]], "Useful command-line tools": [[3, "useful-command-line-tools"]], "Useful operations inside a Jupyter notebook": [[3, "useful-operations-inside-a-jupyter-notebook"]], "Using the book": [[0, "using-the-book"]], "What are programs?": [[3, "what-are-programs"]], "What is coding?": [[6, null]], "What may go into a segment?": [[12, null]], "When does a program halt?": [[2, null]], "Workflow": [[12, "workflow"]], "You can enter a line like the ones below to check that an expression really is a term, or to find an error.": [[11, "you-can-enter-a-line-like-the-ones-below-to-check-that-an-expression-really-is-a-term-or-to-find-an-error"]], "bb representation": [[10, "bb-representation"]], "copy": [[4, "copy"]], "labels": [[12, null]], "move_2_1": [[4, "move-2-1"]], "write": [[4, "write"]]}, "docnames": ["index", "introOneSharp/functions", "introOneSharp/haltDef", "introOneSharp/instructions", "introOneSharp/move_copy_write", "introOneSharp/tidy", "issues/coding", "issues/issues", "issues/problems", "issues/reduction", "more_programs/arithmetic", "more_programs/primitive_recursion", "more_programs/sanity", "self_writing", "universal/universal"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["index.md", "introOneSharp/functions.ipynb", "introOneSharp/haltDef.ipynb", "introOneSharp/instructions.ipynb", "introOneSharp/move_copy_write.ipynb", "introOneSharp/tidy.ipynb", "issues/coding.ipynb", "issues/issues.ipynb", "issues/problems.ipynb", "issues/reduction.ipynb", "more_programs/arithmetic.ipynb", "more_programs/primitive_recursion.ipynb", "more_programs/sanity.ipynb", "self_writing.ipynb", "universal/universal.ipynb"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [0, 4, 9, 11, 12, 13, 14], "0": [1, 3, 8, 10, 11, 13], "0_": 1, "0_p": 1, "0m": 3, "0mcollect": 3, "1": [0, 1, 2, 4, 5, 10, 12, 13, 14], "10": [3, 5, 10, 12, 13, 14], "100": 10, "1000": 10, "10000": 10, "10001": 10, "1001": 10, "10010": 10, "10011": 10, "101": 10, "1010": 10, "1011": 10, "105": 3, "11": [2, 3, 4, 10, 11, 12, 13, 14], "110": 10, "1100": 10, "1100110100001": 12, "1101": 10, "111": [2, 3, 4, 10, 11, 12, 13, 14], "1110": 10, "1111": [2, 3, 4, 5, 10, 11, 12, 13, 14], "11111": [3, 4, 10, 11, 12, 14], "111111": [3, 4, 10, 11, 12, 13, 14], "1111111": [10, 13, 14], "11111111": [3, 10, 11, 12, 14], "111111111": [4, 10, 11, 14], "1111111111": [10, 11, 12, 14], "11111111111": [10, 11, 13], "111111111111": 14, "1111111111111": [10, 11, 14], "11111111111111": 14, "111111111111111": [3, 10, 11, 14], "1111111111111111": 14, "11111111111111111": 14, "111111111111111111": [11, 12, 14], "1111111111111111111": [11, 12], "11111111111111111111": 12, "111111111111111111111": 11, "1111111111111111111111": [12, 14], "11111111111111111111111": [12, 14], "111111111111111111111111": 14, "1111111111111111111111111": [11, 12], "111111111111111111111111111": [12, 14], "1111111111111111111111111111": 14, "11111111111111111111111111111": 12, "11111111111111111111111111111111": 12, "11111111111111111111111111111111111": 14, "1111111111111111111111111111111111111": 14, "1111111111111111111111111111111111111111": 11, "11111111111111111111111111111111111111111": 12, "111111111111111111111111111111111111111111": 12, "111111111111111111111111111111111111111111111": 14, "1111111111111111111111111111111111111111111111": 14, "111111111111111111111111111111111111111111111111": 12, "111111111111111111111111111111111111111111111111111111": 14, "111111111111111111111111111111111111111111111111111111111": 14, "1111111111111111111111111111111111111111111111111111111111": 12, "11111111111111111111111111111111111111111111111111111111111111": 14, "11111111111111111111111111111111111111111111111111111111111111111111": 14, "111111111111111111111111111111111111111111111111111111111111111111111111111": 14, "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 12, "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 14, "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 14, "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 14, "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 12, "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 12, "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 14, "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 14, "112": 14, "113": 14, "114": 14, "115": 14, "116": 14, "117": 14, "118": 14, "119": 14, "12": [2, 5, 10, 12, 13, 14], "13": [10, 11, 12, 13, 14], "14": [3, 10, 12, 13, 14], "15": [3, 10, 11, 12, 14], "16": [10, 12, 14], "17": [3, 10, 12, 14], "18": [3, 10, 14], "19": [3, 10, 14], "192": 3, "1n": 14, "2": [1, 2, 3, 4, 5, 10, 12, 13, 14], "20": [10, 12], "2017": 3, "202": 3, "2020": 3, "204": 13, "22": 14, "23": 3, "243": 12, "25h": 3, "25hrequir": 3, "25ldone": 3, "26": 5, "3": [1, 3, 4, 5, 10, 12, 13, 14], "300": 14, "31m": 3, "31merror": 3, "322": 14, "33m": 3, "33mwarn": 3, "35": 3, "376": 14, "3px": [4, 13], "4": [1, 3, 4, 5, 10, 11, 12, 13, 14], "458_ttf57hvdmjpsh88m1fzh0000gp": 3, "483": 3, "5": [3, 4, 10, 12, 13, 14], "56": [3, 10], "57": 11, "5a": 11, "5b": 11, "5c": 11, "5d": 11, "5e": 11, "6": [3, 4, 10, 11, 12, 13, 14], "608": 14, "6561": 12, "67": 3, "7": [3, 4, 10, 11, 12, 13, 14], "75": 3, "8": [3, 4, 5, 10, 12, 13, 14], "9": [3, 4, 10, 11, 13, 14], "96": 3, "9a9a747ecc470393d71852392ea666780450e9c8": 3, "A": [1, 3, 5, 8, 12, 13], "And": [3, 4, 8, 10, 12, 13, 14], "As": [1, 3, 10, 11, 12, 14], "At": [0, 1, 10, 11, 12, 13, 14], "BE": 11, "But": [1, 2, 3, 4, 5, 9, 10, 11, 12, 13, 14], "For": [0, 1, 3, 4, 5, 8, 10, 12, 14], "If": [1, 2, 3, 4, 5, 10, 11, 12, 13, 14], "In": [0, 1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 14], "It": [0, 1, 2, 3, 4, 8, 10, 11, 12, 13, 14], "Its": 11, "No": [8, 13], "Of": [0, 4, 5, 8, 14], "On": [5, 10, 12], "One": [0, 5, 10, 11, 14], "That": [1, 3, 5, 10, 12, 13, 14], "The": [0, 1, 2, 8, 9], "Then": [1, 3, 4, 10, 11, 12, 13, 14], "There": [0, 1, 2, 3, 5, 8, 10, 11], "These": [3, 10, 12], "To": [2, 3, 8, 11, 12, 13, 14], "With": 12, "__init__": 3, "_dist": 3, "_inner_run": 3, "_intern": 3, "_run_wrapp": 3, "_vendor": 3, "a_1": 8, "a_2": 8, "a_i": 8, "a_n": 8, "ababaaabbbaabbaababaa": 8, "abbrevi": 3, "abil": [0, 13], "about": [0, 1, 3, 10, 12, 13, 14], "abov": [3, 4, 8, 10, 14], "abstract": [1, 3], "accordingli": 3, "act": 14, "action": [3, 14], "actual": [2, 3, 4, 10, 14], "ad": 14, "add": [0, 1, 2, 3, 4, 8, 10, 12, 13], "add1": [11, 12, 14], "addit": [0, 3, 10, 11, 14], "ado": 3, "adopt": 1, "advanc": 0, "advent": 0, "after": [2, 3, 4, 5, 10, 12, 13, 14], "again": [2, 3, 4, 9, 10, 13, 14], "against": 10, "ahead": [3, 10, 13], "aim": 0, "algorithm": [10, 11], "align": [4, 13], "all": [0, 1, 2, 3, 4, 5, 8, 10, 12, 13, 14], "all_equ": 11, "allow": [13, 14], "almost": 1, "alon": 14, "along": [3, 10, 11, 14], "alphabet": [1, 3, 8, 14], "alreadi": [3, 10, 14], "also": [0, 1, 2, 3, 8, 9, 10, 11, 12, 13, 14], "altern": [0, 1, 4, 5, 14], "although": 10, "altogeth": 10, "alwai": [1, 4], "am": 0, "amount": [0, 11], "an": [0, 1, 2, 3, 4, 5, 8, 10, 12, 13, 14], "anaconda3": 3, "ani": [1, 3, 4, 5, 8, 10, 11, 13, 14], "annot": 0, "anoth": [1, 3, 5, 12, 13, 14], "answer": [1, 8, 10], "anywai": 13, "app": 13, "appear": [3, 5, 8, 12], "appli": [4, 13], "applic": [12, 13, 14], "appnop": 3, "appreci": 14, "appropri": 14, "ar": [0, 1, 2, 4, 5, 8, 9, 10, 12, 13, 14], "arang": [4, 13], "arbitrari": 2, "aren": [11, 12, 13], "arg": [3, 11], "argument": [3, 11], "argument_numb": 11, "ari": 11, "ariti": 11, "around": [3, 4, 10], "arrai": [1, 8, 12], "arrow": [3, 4], "artifact": 0, "ask": [3, 10, 11, 14], "aspect": 0, "assembl": 14, "assign": [3, 11], "associ": [1, 4], "assum": [1, 4, 5, 10, 11, 13, 14], "assumpt": [12, 14], "attempt": 13, "author": 0, "automat": [13, 14], "auxilliari": 4, "axi": [4, 9, 13], "b": [1, 2, 5, 8, 9, 11, 12, 14], "b0e0e6": [4, 13], "b1": 11, "b2": 11, "b3": 11, "b4": 11, "b5": 11, "back": [4, 10, 12, 13, 14], "backcal": 3, "background": [3, 4, 13], "backround": 3, "backward": [3, 4, 5, 10, 11, 12, 13], "balk": 3, "bar": 11, "base": [10, 12], "base_command": 3, "basi": 14, "basic": [0, 3, 10, 13, 14], "batch": [3, 4], "bb": [11, 12], "becam": 0, "becaus": [3, 12, 13, 14], "becom": 13, "been": [3, 11], "befor": [2, 3, 4, 10, 11, 12, 13, 14], "begin": [0, 1, 2, 3, 4, 8, 12, 13, 14], "behav": [1, 14], "behavior": 3, "behind": [4, 13, 14], "believ": 10, "below": [2, 3, 4, 5, 8, 10, 12, 13, 14], "besid": 1, "best": [0, 10], "better": [2, 3, 4, 11, 13, 14], "between": [1, 3, 4, 11], "beyond": [2, 14], "big": [1, 13], "bigger": 12, "binari": [10, 12], "binder": 0, "bit": [13, 14], "black": 8, "blank": 3, "bleed": 12, "blob": 3, "blue": [8, 10, 13], "blush": 13, "book": 3, "booksourc": 13, "bool1": 11, "bool2": 11, "boolean": 11, "border": [4, 13], "borrow": 12, "borrowing_empti": 12, "borrowing_hash": 12, "borrowing_on": 12, "both": [0, 1, 3, 4, 5, 11], "bottom": [8, 9, 11, 12], "bound": 14, "bowman": 12, "box": [3, 12], "brackect": 12, "bracket": [3, 4], "branch": 13, "brown": [4, 13], "build": [1, 3, 4, 11, 14], "bump": [10, 11], "bump_instr": 11, "button": 0, "c": [1, 2, 5, 12], "call": [0, 1, 3, 4, 8, 9, 10, 11, 12, 13, 14], "can": [1, 3, 4, 5, 8, 9, 10, 12, 13, 14], "cannot": [5, 8, 10, 14], "canonical_nam": 3, "cap": 1, "care": 14, "carri": 10, "case": [1, 3, 4, 5, 10, 11, 12, 13, 14], "cdot": [5, 8, 12], "cell": [4, 11, 12, 13, 14], "center": 0, "certainli": 14, "challeng": 14, "chanc": 13, "chang": [0, 3, 4, 10, 14], "chapter": 0, "charact": 3, "characterist": 11, "chart": [3, 4, 14], "check": [3, 4, 10, 13, 14], "chi_a": 1, "chi_equ": 11, "chi_great": 11, "chi_greater_or_equ": 11, "chi_less": 11, "chi_lesser_or_equ": 11, "children": 11, "choic": 10, "choos": 8, "church": 0, "claim": 10, "clarifi": 12, "clasic": 0, "class": [0, 12, 14], "classic": 3, "cleanup": 10, "clear": [1, 4, 10, 12, 13, 14], "clear_1": [3, 12], "clear_out_fre": 11, "clear_prog": 11, "clearli": [1, 14], "clearprog_1": 1, "clearprog_3": 1, "clever": 13, "cli": 3, "click": [0, 3], "clickabl": 0, "clone": 3, "close": [1, 12, 14], "cmp": 12, "cocalc": 0, "code": [0, 3, 10, 11, 12], "colab": [0, 3, 12], "collid": 3, "color": [4, 8, 13, 14], "column": [4, 13, 14], "com": [3, 4, 5, 10, 11, 12, 13, 14], "combin": 14, "come": [0, 1, 3, 5, 8, 9, 12, 13, 14], "command": 4, "comment": [3, 5, 14], "commit": 3, "common": [8, 11], "commun": 0, "comp": 11, "compar": [10, 11, 12], "compare_prog": 11, "comparison": 10, "compel": 0, "compil": 11, "complet": [8, 10, 14], "complex": [0, 3], "compos": [3, 11, 14], "composit": [1, 11], "comput": [3, 5, 8, 10, 14], "computation": 10, "concaten": [3, 4, 8], "concept": [0, 3, 12], "conceptu": 1, "concern": [2, 5, 14], "conclud": [13, 14], "concret": 3, "condit": [2, 5, 8, 11], "confirm": 14, "conform": 14, "confus": 10, "connect": [0, 1], "consid": [2, 9, 12], "consist": [8, 12, 13], "construct": [1, 4, 8, 10, 12, 14], "constructor": 11, "contain": [2, 3, 11, 12, 13, 14], "content": [0, 2, 3, 4, 10, 12, 13, 14], "context": 10, "continu": [8, 10, 14], "contrast": [1, 2], "control": [2, 3, 5], "convers": 1, "convert": [10, 11], "copi": [3, 10, 11, 12, 14], "copy_1_2_3": [4, 11], "copy_all_forward": 11, "copy_prog": 11, "copyprog_": 4, "corner": 8, "corollari": 0, "correct": [3, 11, 12], "correctli": 1, "correspond": [9, 12], "could": [0, 2, 3, 4, 10, 11, 12, 14], "count": [1, 12], "cours": [0, 3, 4, 5, 8, 14], "crazi": 12, "cup": [1, 8], "current": [0, 3, 10], "cyan": 8, "d": [11, 12], "d1": 11, "d4b48c": [4, 13], "d_0": 9, "dar": 1, "dark": 8, "datafram": [4, 13], "date": 0, "dateutil": 3, "dd": 8, "ddd": 11, "deal": [1, 14], "decad": 0, "decid": [1, 8, 9, 10, 14], "decim": 10, "decis": 11, "decor": 3, "deepli": 12, "def": [3, 11], "defin": [4, 8, 11, 12, 13], "definit": [3, 9, 10, 13], "delet": [1, 3, 4, 12], "denot": [3, 12], "depend": [3, 14], "deriv": [0, 12], "describ": 14, "descript": [10, 13], "design": [4, 9, 10, 14], "desir": [12, 13], "destroi": [10, 14], "detail": [2, 3, 14], "determin": [8, 11, 13, 14], "develop": [0, 10, 11], "df": [4, 13], "dg": 12, "dg_idea": 12, "diag": [11, 12, 14], "diag_idea": 12, "diagon": 8, "did": [11, 12, 13, 14], "didn": 3, "differ": [0, 1, 2, 3, 4, 10, 13, 14], "difficult": 3, "direct": [13, 14], "directli": 10, "disciplin": 0, "discuss": [0, 2, 8, 12, 13, 14], "displai": [12, 13], "distinguish": 11, "distribut": 3, "diverg": 14, "divid": [3, 4, 14], "do": [1, 2, 3, 4, 5, 10, 13, 14], "document": 12, "doe": [0, 1, 3, 5, 8, 13, 14], "doesn": [1, 3, 8, 11, 13], "domain": 1, "domino": [8, 9], "don": [0, 3, 10, 11, 13], "done": [4, 10, 11, 12, 13, 14], "doubl": 3, "down": [3, 4, 11], "downarrow": 1, "download": 3, "draft": 14, "draw": 12, "drop": [13, 14], "dropbox": 13, "due": [5, 14], "dure": 2, "e": [3, 11], "each": [1, 3, 4, 5, 8, 12, 13, 14], "earlier": [4, 10, 12, 14], "easi": 3, "easier": [12, 13, 14], "easiest": 14, "edg": 8, "eight": [8, 14], "either": [2, 3, 4, 5, 10, 11, 12], "elabor": 13, "element": 4, "elif": [3, 4, 11, 13], "els": [3, 4, 8, 10, 11, 13, 14], "email": 14, "emphas": [3, 4, 8], "empti": [1, 2, 3, 4, 8, 10, 11, 12, 13, 14], "enabl": [0, 10, 11], "enclos": 3, "encod": 14, "encount": 10, "end": [0, 1, 3, 4, 5, 8, 10, 11, 12, 13, 14], "end_strip": 3, "english": [3, 12], "enough": [0, 2, 3, 11, 12, 14], "enter": [3, 4, 14], "entir": 14, "entri": 12, "enumer": [0, 5], "environ": [4, 12], "ep": [1, 4, 8], "epilogu": 12, "epsilon": 8, "equal": [10, 11, 13, 14], "equat": [10, 13], "equival": 14, "error": [3, 12], "especi": [0, 1, 14], "essentially_us": 11, "establish": 14, "etc": [11, 13, 14], "even": [1, 3, 4, 10, 13, 14], "eventu": [1, 4, 10, 12, 14], "ever": 10, "everi": [1, 5, 8, 11, 12, 14], "everyon": [0, 14], "everyth": [0, 13, 14], "exact": 14, "exactli": [4, 5, 8, 13, 14], "examin": 12, "exampl": [2, 3, 4, 5, 8, 9, 10, 14], "exce": 11, "except": [3, 5, 9, 12], "execut": [0, 2, 3, 5, 14], "exercis": [2, 3, 5, 10, 14], "exhibit": 14, "exist": [5, 9, 13], "exit": 3, "exp": [10, 11], "explain": [13, 14], "explan": [3, 4, 13, 14], "explic": 4, "explicit": [0, 5, 10], "explor": 3, "exponenti": [10, 12], "exponentiate_loop": 12, "express": [3, 12], "extend": [3, 13], "eyebal": 12, "f": [1, 3, 8, 11], "f1": 11, "fact": [3, 5, 8, 14], "factori": 10, "fair": 0, "fairli": 14, "fals": [1, 11], "famili": 1, "familiar": [3, 10], "far": [0, 3, 14], "fashion": 3, "featu": 0, "featur": [0, 4, 8, 10, 13], "feel": 10, "fell": 3, "felt": 12, "few": [0, 11, 14], "ffffcc": [4, 13], "figur": [2, 3], "file": [0, 3, 13], "filesystem": 3, "fill": 10, "filter": 3, "final": [2, 3, 12, 13, 14], "find": [1, 2, 3, 4, 8, 13, 14], "fine": 14, "finish": 2, "finit": [1, 3, 8, 14], "firm": 13, "first": [0, 1, 2, 4, 8, 9, 10, 11, 12, 13, 14], "first_and_third_greater_than_on": 11, "first_end": 12, "first_hash": 12, "first_on": 12, "first_part": 11, "first_third_second_prop": 11, "five": [2, 3], "fix": [2, 14], "flowchart": [12, 14], "fluke": 13, "folder": 3, "follow": [1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 14], "forget": [3, 10, 14], "form": [1, 2, 3, 5, 10, 12, 13, 14], "formal": [5, 10], "format": 3, "formul": 10, "forth": 10, "forward": [2, 3, 4, 5, 10, 11, 12, 13], "found": 5, "four": 14, "framework": 13, "free": [10, 11, 13], "free_plus_on": 11, "free_reg": 11, "frequent": [1, 8], "from": [0, 1, 3, 4, 5, 8, 10, 12, 13, 14], "front": 0, "full": [4, 10], "fun": 13, "func": 3, "function": [0, 3, 8, 12], "further": [0, 3, 4, 14], "futur": 11, "g": [1, 3, 11], "g3": 11, "g_1": 11, "g_i": 11, "g_k": 11, "g_list": 11, "gener": [1, 8, 10, 13], "geq": [1, 5, 8], "get": [3, 4, 8, 10, 11, 12, 13, 14], "get_ipython": 13, "git": [3, 4, 5, 10, 11, 12, 13, 14], "github": [0, 3, 4, 5, 10, 11, 12, 13, 14], "give": [1, 3, 4, 10, 11, 13, 14], "given": [0, 1, 2, 8, 9, 10, 14], "glimmer": 13, "gloss": [3, 4], "go": [0, 1, 2, 3, 4, 5, 8, 10, 13, 14], "goal": [13, 14], "goe": [2, 4, 10, 13, 14], "good": [3, 11, 14], "googl": 0, "got": 3, "goto": [10, 11, 12, 14], "graph": 8, "greater_than_on": 11, "green": [3, 4, 8, 13], "grei": 8, "group": [3, 14], "guess": 11, "guid": 14, "h": [1, 11], "h_proper": 11, "ha": [0, 2, 4, 5, 8, 10, 11, 12, 14], "had": [2, 4, 5, 12], "halt": [1, 3, 4, 5, 10, 13, 14], "hand": [5, 12, 13, 14], "handl": 14, "happen": [3, 12, 13, 14], "hard": [4, 13, 14], "harder": 14, "hardest": 14, "hash": [1, 3, 4, 5, 12, 13], "hash_found": 12, "hash_hash": 12, "hash_is_it": 12, "hash_on": 12, "hasten": 14, "have": [0, 1, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14], "he": 12, "height": 11, "help": [3, 4, 13], "here": [0, 1, 3, 4, 5, 8, 10, 11, 12, 13, 14], "hh": 12, "hi": 12, "hide": 3, "hide_column": 13, "hint": [1, 5, 10, 14], "ho": 12, "hold": [5, 13, 14], "homework": 11, "homomorph": 1, "hope": 0, "host": 0, "how": [1, 2, 3, 10, 13, 14], "howev": [11, 14], "http": [3, 4, 5, 10, 11, 12, 13, 14], "i": [0, 1, 2, 3, 4, 5, 8, 9, 10, 12, 13, 14], "id": 1, "idea": [3, 4, 10, 12, 14], "ident": [1, 4], "iff": 1, "ignor": [3, 14], "illustr": [3, 14], "implement": 10, "import": [1, 3, 4, 5, 8, 10, 11, 12, 13, 14], "improperli": 2, "incident": [3, 14], "includ": [1, 3, 14], "incorpor": [11, 14], "increment": 11, "ind": 11, "inde": [10, 11], "index": [4, 10, 11, 13], "indiana": 0, "indic": [12, 14], "infinit": [2, 3, 4, 5, 8, 13], "inform": [2, 4, 5, 12, 13, 14], "initi": 10, "input": [2, 3, 5, 8, 10, 13, 14], "insensit": 3, "insert": 3, "insid": [0, 2, 5, 12, 13], "inst": 11, "instal": [3, 4, 5, 10, 11, 12, 13, 14], "installed_vers": 3, "instanc": 9, "instead": [1, 3, 5, 9], "instr": [11, 14], "instruct": [1, 2, 4, 5, 12, 13], "instruction_typ": 11, "instructor": [0, 14], "intend": [0, 3, 10], "interest": [0, 1, 2, 9, 10], "interpret": [0, 2, 3, 4, 5, 10, 11, 12, 13, 14], "intersect": 1, "introduc": [3, 14], "introduct": 3, "introductori": 3, "intuit": 1, "invalid": 3, "invalidvers": 3, "invers": 3, "invit": 13, "invitationbook": 13, "involv": [1, 8, 12], "io": 13, "ipynb": 3, "ipython": [3, 13], "is_on": 12, "iself": 13, "isn": [1, 14], "item": 12, "iter": [1, 10, 12], "ith": 11, "its": [3, 11, 12, 13, 14], "itself": [0, 4, 13, 14], "j": [4, 11, 13], "jedi": 3, "job": 3, "joint": 14, "jon": 12, "journei": 3, "judici": 0, "jupyt": 0, "just": [0, 1, 3, 8, 10, 11, 12, 13, 14], "k": [1, 2, 3, 5, 11], "k1": 11, "keep": [1, 3, 10], "keyboard": 3, "kind": [3, 8, 14], "know": [1, 3, 8, 10, 11, 12, 13, 14], "kt": 3, "l": [1, 11], "lambda": [4, 13], "languag": [0, 3, 4, 10], "larg": [11, 14], "larger": 11, "last": [2, 3, 5, 8, 13, 14], "last_part": 11, "later": [10, 13, 14], "latex": 0, "lawrenc": 0, "lcl": [1, 8], "ldot": [1, 11], "lead": [0, 10], "learn": [0, 3], "least": 14, "leav": [3, 4, 10, 14], "left": [1, 3, 4, 13, 14], "len": [4, 11, 13], "length": [1, 12, 14], "leq": [1, 5], "leq_m": 9, "less": 10, "lesson": [3, 10, 13], "let": [1, 3, 4, 5, 8, 9, 12, 13, 14], "letter": [1, 12], "level": 3, "lib": 3, "librari": 13, "life": 14, "light": 8, "like": [0, 1, 3, 4, 8, 9, 10, 12, 13, 14], "line": [4, 5, 10, 12, 13], "list": [3, 4, 11, 12, 13], "liter": 14, "litt": [1, 11], "littl": [3, 14], "live": 0, "ll": [1, 3, 10, 12, 13, 14], "lmoss": [3, 4, 5, 10, 11, 12, 13, 14], "load": 3, "local": [0, 3], "logic": [0, 8], "long": [3, 10, 12, 14], "longer": 13, "look": [3, 10, 11, 12, 13, 14], "loop": [1, 2, 3, 4, 5, 10, 12, 13], "lost": 10, "lot": 10, "lower": 3, "lsm": 3, "m": [3, 4, 5, 10, 11, 12, 13, 14], "mach": 1, "machin": [0, 1, 3, 14], "maco": 13, "made": [12, 14], "magenta": [4, 13], "mai": [3, 4], "main": [3, 4, 5, 8, 10, 11, 12, 13, 14], "main_loop": 11, "mainli": [0, 10, 11], "make": [0, 1, 2, 4, 12, 13, 14], "mani": [0, 3], "manipul": 12, "mark": [3, 8], "markdown": 0, "marker": 14, "match": [9, 11], "materi": 0, "mathbf": 8, "mathemat": [0, 1, 3], "mathtt": [3, 14], "matric": 8, "matter": [0, 3, 8], "max": 11, "max_list": 11, "max_regist": 11, "maxi": 11, "mbox": [1, 8], "me": [0, 3], "mean": [1, 3, 4, 8, 12, 14], "medium": 0, "meet": [13, 14], "memor": 13, "mention": [1, 3], "metadata": 3, "method": [13, 14], "middl": 11, "might": [0, 1, 3, 8, 11, 13, 14], "mimic": 14, "mind": [0, 12], "minut": 14, "mn": 10, "model": [3, 14], "modif": 14, "modifi": [3, 10, 13, 14], "modul": 13, "modulenotfounderror": 13, "monoid": [1, 4], "monu": 11, "moon": 10, "more": [0, 2, 3, 4, 10, 11, 13], "moreov": 4, "mortal": 8, "moss": 0, "most": [0, 1, 2, 3, 10, 13, 14], "move": [3, 4, 10, 12, 13, 14], "move1": 10, "move2": [4, 10, 14], "move3": 13, "move_2_1": [12, 13], "move_3_1": [12, 13], "move_3_4": 4, "move_back": 12, "move_m_n": 4, "move_phas": 12, "move_prog": 11, "move_stuff_around": 12, "moveback": 12, "moveprog": 11, "moveprog_": [1, 4], "moveprogtwoon": 1, "mth": 14, "mu": 0, "much": [0, 3, 13, 14], "mul": 11, "multipl": 10, "multipli": [10, 11, 12], "multiply_loop": 12, "must": [3, 8, 9, 11, 12, 13, 14], "my": [0, 3, 11, 12, 14], "my_str": 3, "n": [1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 14], "n1": 11, "n2": 11, "n3": 11, "n_p": 1, "name": [1, 3, 4, 11, 12, 13], "natur": 11, "nbsp": [3, 4, 12, 13, 14], "necessari": 11, "need": [0, 1, 2, 3, 4, 5, 9, 10, 11, 12, 13, 14], "neither": 11, "never": [2, 12], "new": [0, 1, 3, 10, 12, 14], "new_program": 11, "next": [2, 3, 5, 10, 11, 12, 13, 14], "nice": 13, "nobodi": 10, "non": [1, 8, 10], "none": 3, "nor": 11, "notat": [1, 12], "note": [12, 13, 14], "notebook": [0, 4, 12, 14], "noth": [2, 3, 13], "notic": 13, "notin": 1, "notion": 1, "now": [3, 4, 8, 10, 11, 12, 13, 14], "nowher": 8, "np": [4, 13], "nth": 14, "nthe": 14, "number": [0, 1, 2, 3, 4, 10, 11, 12, 13, 14], "number_help": 11, "numer": 10, "numpi": [3, 13], "o": 1, "object": 3, "obtain": 12, "odd": 1, "oe": 12, "off": [4, 10, 13], "offer": 13, "offici": 13, "often": 0, "oh": 12, "ok": 14, "onc": [10, 12, 14], "one": [0, 1, 2, 3, 4, 5, 8, 10, 11, 12, 13], "one_found": 12, "one_prog": 11, "ones": [3, 8, 12, 14], "onesharp": [1, 3, 4, 5, 10, 11, 12, 13, 14], "onesharp_exponenti": 12, "onesharp_multipli": 12, "onli": [1, 3, 4, 5, 9, 10, 11, 13, 14], "onlin": 0, "onto": [4, 12, 13, 14], "oo": 12, "open": [0, 3, 4], "oper": [1, 4, 14], "opt": 3, "optim": 11, "option": [0, 3, 10, 12], "orang": 14, "order": [0, 3, 4, 5, 12, 13, 14], "ordinari": 11, "organ": 12, "origin": [0, 10, 11, 12, 13, 14], "oth": 1, "other": [0, 1, 3, 4, 5, 10, 11, 12, 13, 14], "otherwis": [1, 3, 10, 12], "our": [1, 3, 4, 8, 10, 12, 13, 14], "out": [2, 3, 4, 11, 12, 13, 14], "outer": 11, "outer_fn": 11, "outlin": 14, "output": [3, 4, 10, 13, 14], "outsid": [0, 5, 10], "over": [8, 11, 14], "overal": [0, 3, 4, 12, 14], "overhead": 1, "overlin": [1, 11], "own": 14, "p": [1, 2, 3, 4, 5, 11, 13, 14], "p1": 12, "packag": [0, 3, 12], "pair": 14, "panda": [3, 13], "paper": [0, 12], "par": 11, "paradox": 13, "parallel": 1, "param": 3, "parenthes": 3, "pars": [3, 4, 11, 12, 14], "parse_explain": [3, 4], "parse_vers": 3, "parser": 14, "parso": 3, "part": [0, 3, 4, 5, 8, 10, 12, 13, 14], "particular": [1, 8, 10, 11, 14], "pass": 12, "past": 0, "path": [3, 8], "pcp": [8, 9], "pd": [4, 13], "pd_invers": 11, "pd_inverse_zero": 11, "pencil": 12, "peopl": [3, 8, 14], "perfectli": 3, "perhap": 3, "pertain": 11, "pexpect": 3, "phi": 14, "phi_q": 1, "phifn": 1, "phifn_": [1, 13], "phifn_p": [1, 13], "phifn_u": 14, "phifn_x": [1, 14], "phixi": 13, "pickleshar": 3, "pip": [3, 4, 5, 10, 11, 12, 13, 14], "pkg_resourc": 3, "place": [5, 8, 11, 13, 14], "plai": 11, "plan": 11, "pleas": 3, "point": [1, 2, 3, 4, 5, 8, 9, 10, 12, 13, 14], "pointer": 0, "posit": 9, "possibl": [0, 1, 8, 10, 13, 14], "possibli": [3, 5, 14], "post": 9, "post0": 3, "potenti": 8, "power": 12, "ppcp": 9, "pr": [11, 12], "practic": 3, "pre": 14, "pre_pr": 12, "pre_program": 4, "preced": 13, "precis": 14, "pred": [11, 12], "predecessor": 12, "predict": 3, "predprog": 11, "prefer": [0, 1, 5, 14], "prefix": 12, "prepar": [0, 3], "present": [0, 3, 8, 13], "preserv": [1, 14], "pretti": [0, 12, 14], "previou": [3, 4], "primarili": 0, "prime_prog": 11, "primit": [0, 10], "primitive_recurs": 11, "print": 11, "privat": 3, "probabl": [3, 13, 14], "problem": [2, 11, 13], "process": [3, 4, 10, 12], "produc": 11, "product": 12, "prog": 11, "progam": 12, "proglist": 11, "program": 0, "proj": 11, "proj_prog": 11, "proj_prog_offici": 11, "project": [0, 11], "promis": 14, "prompt": 3, "proof": [0, 8], "proper_divisor": 11, "properli": 3, "properti": [4, 5, 8, 10, 11, 13, 14], "proposit": 5, "prorgram": 14, "prove": [1, 5, 9], "provid": [0, 3, 5], "pseudocod": 10, "ptyprocess": 3, "punctuat": 3, "purpos": [1, 14], "put": [1, 10, 13, 14], "py": [3, 13], "pygment": 3, "pyodbc": 3, "pyproject": 3, "python": [0, 1, 3, 4, 5, 10, 11, 12, 13, 14], "python3": 3, "pytz": 3, "q": [1, 3, 4, 5, 11, 13], "quadrant": [8, 9], "question": 8, "queue": 3, "quickli": [3, 10], "quiet": 3, "quit": [0, 12, 14], "quot": [3, 4, 12], "r": 11, "r1": [1, 2, 3, 4, 10, 12, 13, 14], "r2": [3, 4, 10, 12, 13, 14], "r3": [3, 4, 10, 12, 13, 14], "r4": [3, 4, 10, 14], "r5": [10, 14], "r6": [10, 14], "r7": [10, 14], "r8": 14, "rais": [3, 12], "ran": 2, "rang": 11, "rather": [0, 13], "re": [4, 13], "reach": [2, 5, 12], "read": [0, 3, 4, 11, 12, 13], "reader": [0, 14], "readi": 14, "real": [3, 14], "realli": [3, 10, 14], "reason": [5, 10, 11, 13], "recal": [10, 14], "recent": [3, 13], "record": 1, "recurs": [0, 1, 10, 14], "red": [4, 8, 10, 13], "refer": [0, 12], "regist": [0, 1, 2, 3, 4, 10, 12, 13], "relat": [8, 13], "relev": [1, 3, 14], "remain": [2, 14], "rememb": 10, "remov": [3, 13], "remove_multiple_blank": 3, "repeatedli": 4, "replac": 3, "repres": [3, 10], "req": 3, "req_command": 3, "request": 8, "requir": [3, 5, 11, 12, 13, 14], "resolv": 3, "resourc": 13, "rest": [3, 10, 12, 13, 14], "result": [0, 4, 8, 10, 12, 13, 14], "return": [3, 4, 11, 12, 14], "returna": 12, "returnb": 12, "rev": 12, "reveal": 5, "revers": 12, "reverse_idea": 12, "review": 3, "revis": 3, "revolut": 0, "rewrit": 5, "right": [1, 2, 3, 14], "rk": [2, 5], "rm": [4, 11], "rn": [1, 3, 4, 11], "rocket": 10, "rone": [1, 4, 13], "root": 13, "row": [8, 9], "rp": 4, "rtwo": 13, "run": [0, 1, 2, 4, 5, 12, 13, 14], "running_total_of_pd_invers": 11, "s_prog": 11, "sai": [1, 2, 3, 4, 5, 8, 11, 13, 14], "same": [0, 3, 4, 5, 8, 10, 11, 12, 13, 14], "sameth": 12, "sane": 12, "sane_exponenti": 12, "sane_multipli": 12, "saniti": [11, 14], "satisfi": [0, 3, 8, 10], "save": 0, "saw": [3, 12, 14], "scienc": [0, 1], "scratch": 13, "screen": 3, "search": 8, "second": [2, 3, 4, 10, 11, 12, 13, 14], "second_end": 12, "second_index": 11, "section": [4, 8, 10, 14], "see": [0, 1, 2, 3, 8, 10, 11, 13, 14], "seek": 10, "seem": [11, 13, 14], "seen": [1, 3, 4, 10, 12, 13, 14], "segmet": 12, "select": [0, 8], "self": [0, 3, 14], "self1": 14, "selfknow": 13, "semant": [1, 13], "semanticsalt": 1, "semest": 0, "send": 10, "sens": 14, "sensit": 3, "separ": 14, "sequenc": [1, 3, 8, 12, 13], "seri": 14, "servic": 0, "set": [5, 8, 9, 11, 13], "set_properti": [4, 13], "settl": 10, "setuptool": [3, 4, 5, 10, 11, 12, 13, 14], "seven": 3, "sever": [0, 14], "sgn": 11, "sgn_bar": 11, "shade": 10, "shall": [1, 14], "share": 8, "sharp": 12, "shell": 10, "shift": 3, "shold": 12, "short": 14, "shorten": 13, "shortli": 3, "should": [0, 3, 4, 8, 10, 11, 12, 13, 14], "shouldn": 12, "show": [0, 1, 3, 4, 5, 9, 12, 13, 14], "shown": [3, 4, 10, 12, 14], "side": [3, 8], "signific": 3, "silli": 14, "simeq": [1, 13, 14], "similar": [0, 1, 5, 10, 14], "similarli": [4, 10, 14], "simpl": [3, 10, 14], "simplest": 4, "simpli": [0, 1, 14], "simplifi": [3, 14], "simul": 14, "sinc": [0, 3, 4, 5, 8, 10, 11, 13, 14], "singl": [1, 3, 12, 14], "site": 3, "situat": 1, "six": [3, 14], "sketch": 14, "skim": 3, "skip": [0, 10], "slant": 3, "slight": 1, "slightli": 13, "slow": 11, "slowli": 3, "small": [1, 3, 13], "smallest": 14, "snapshot": 14, "snippet": 12, "so": [0, 1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 14], "societi": 0, "solid": [4, 13], "solut": 11, "solv": [2, 3, 11], "some": [0, 1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 14], "someon": [12, 14], "someth": [3, 10, 13, 14], "sometim": [1, 14], "soon": [3, 10, 13], "sort": 13, "sourc": 10, "space": [3, 8, 12, 14], "speak": 14, "special": [2, 8, 10, 12], "specif": [10, 11, 14], "specifi": 3, "spell": 13, "spit": 13, "squar": [3, 8, 12], "st": 12, "stage": 1, "stand": 11, "standard": [0, 1], "stare": 5, "start": [0, 1, 2, 3, 4, 8, 10, 11, 12, 13, 14], "statement": [3, 5, 8, 12], "statment": 14, "statu": 3, "step": [1, 4, 10, 13, 14], "step_by_step": [3, 11], "still": 14, "stop": [2, 3], "store": 12, "str": 11, "straight": [1, 3], "straightforward": 14, "strang": [0, 13], "strictli": 14, "string": [3, 11, 12, 13], "strip": 10, "strongli": 5, "stuck": 5, "student": [0, 14], "studi": 1, "stuff": 10, "style": [4, 13], "sub": [11, 13], "subject": [0, 14], "subprogram": 14, "subseteq": [1, 3], "succ": 10, "success": 14, "successor": [11, 12], "successor_prog": 11, "suggest": [12, 14], "sum": 10, "summar": [3, 13], "superscript": 3, "suppli": 8, "support": 0, "suppos": [1, 2, 3, 4, 5, 9, 10, 13, 14], "sure": [3, 14], "surround": [3, 12], "swap": 4, "swoop": 3, "sy": 11, "symbol": [0, 1, 3, 4, 8, 10, 12, 13, 14], "syntax": 4, "system": [8, 13], "t": [0, 1, 3, 8, 10, 11, 12, 13, 14], "t_0": 8, "t_predic": 3, "tabl": [3, 4, 13, 14], "tail": 3, "take": [1, 3, 4, 5, 10, 12, 13, 14], "talk": 14, "tame": 13, "tan": [4, 10, 13], "task": 8, "taught": 0, "teach": 14, "technic": 11, "techniqu": 14, "tell": [8, 10, 11, 12, 14], "temporari": 10, "tempt": 14, "terminologi": 3, "test": 14, "text": [0, 3, 4, 13], "textbook": 0, "th": [12, 14], "than": [0, 1, 2, 3, 11, 12, 13], "thatt": 14, "thei": [1, 3, 4, 10, 14], "them": [0, 2, 3, 4, 10, 11, 12, 13, 14], "themselv": [1, 11, 14], "theorem": [0, 14], "theoret": 10, "theori": [0, 1, 3, 10], "theorist": 0, "therefor": [13, 14], "thi": [0, 1, 2, 3, 4, 5, 8, 9, 10, 12, 13], "thing": [3, 8, 11, 12, 13, 14], "think": [12, 13, 14], "third": [3, 11, 12], "those": [0, 1, 3, 14], "three": [1, 4, 5, 10, 12, 13, 14], "through": [3, 10, 12, 13], "throughout": 14, "thu": [12, 14], "tile": [0, 9], "tile_1": 9, "tile_2": 9, "time": [0, 2, 3, 4, 8, 10, 11, 13, 14], "titl": [4, 11, 13, 14], "to_incr": 11, "to_us": 11, "togeth": [1, 3, 11, 14], "toml": 3, "too": [0, 3], "took": [12, 14], "tool": [0, 4, 11], "toolkit": 3, "top": [0, 3, 4, 5, 8, 10, 11, 12, 13], "topic": 0, "total": 1, "touchi": 10, "traceback": [3, 13], "trade": [13, 14], "tradit": [0, 10], "traitlet": 3, "tranfer": 2, "transer": 5, "transfer": [2, 4, 5, 12, 13, 14], "translat": 11, "treat": 0, "treatment": [0, 10], "tree": [3, 11], "trial": 11, "triangl": 3, "trick": [13, 14], "trivial": 8, "true": 11, "truli": 14, "try": [0, 2, 3, 4, 13, 14], "tt": 8, "tupl": 1, "ture": [1, 3, 10], "turn": [3, 4, 8, 10, 14], "tutori": 3, "twin": 13, "two": [0, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14], "two_place_fn_value_on": 11, "type": [2, 3], "typic": 13, "u": [1, 3, 4, 5, 10, 11, 12, 13, 14], "unari": [3, 10, 14], "unchang": 14, "undecid": [0, 8], "undefin": [1, 12], "under": [1, 11], "underscor": 12, "understand": [3, 4, 8, 13, 14], "understood": [3, 14], "union": 5, "univers": 0, "unless": 1, "unlimit": 8, "unpars": [3, 4, 11, 12], "unsupport": 3, "unus": 14, "unwant": 5, "up": [0, 3, 4, 10, 13, 14], "uparrow": 1, "updat": [10, 14], "upon": [1, 14], "upper": 11, "us": [1, 4, 5, 8, 9, 10, 11, 12, 13, 14], "usag": 1, "used_reg": 11, "user": 3, "usual": [2, 10, 11, 12, 13], "v": 11, "valu": [10, 11], "var": 3, "variabl": 11, "variant": 0, "variou": [0, 14], "ve": [10, 13], "veri": [3, 4, 8, 10, 13, 14], "verif": 10, "versa": 1, "version": [3, 5, 9, 13], "via": 14, "vice": 1, "w": [1, 12], "w_": 12, "w_1": [2, 12], "w_2": [2, 12], "w_3": 2, "w_n": 12, "w_p": 1, "wa": [2, 10, 12, 14], "wai": [0, 2, 3, 4, 8, 10, 11, 12, 13, 14], "wake": 0, "want": [1, 3, 4, 5, 8, 10, 11, 12, 13, 14], "warn": 3, "wcwidth": 3, "we": [0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14], "web": 0, "weird": 14, "welcom": 3, "well": [0, 3, 12, 13, 14], "were": [4, 5, 10, 14], "what": [0, 1, 4, 5, 11, 13, 14], "whatev": 13, "wheel": 3, "when": [1, 3, 4, 5, 8, 10, 11, 12, 13, 14], "whenev": 4, "where": [1, 11, 14], "wherea": 14, "whether": [2, 8, 11], "which": [0, 1, 2, 3, 4, 5, 8, 9, 10, 12, 13, 14], "whichev": [12, 14], "while": [2, 4, 14], "white": [4, 13], "who": [12, 14], "whose": 3, "why": [1, 2, 4, 13], "wide": 10, "willing": 10, "wish": 10, "without": [2, 3, 4, 12, 14], "wok": 14, "wonder": 11, "word": [1, 2, 3, 8, 10, 12, 13, 14], "work": [0, 1, 2, 3, 4, 10, 11, 13, 14], "world": 1, "worldwid": 0, "worri": 14, "would": [0, 1, 2, 3, 4, 5, 10, 12, 13, 14], "wouldn": 13, "wrapper": 3, "write": [0, 1, 3, 5, 10, 11, 13, 14], "writeprog": [1, 4, 13], "writetotwo": 4, "written": [3, 4, 11, 12, 13, 14], "wrong": 8, "x": [1, 2, 3, 4, 9, 10, 11, 13, 14], "x_1": [1, 11], "x_i": 1, "x_n": [1, 11], "xqv_5hs8": 3, "y": [1, 4, 13, 14], "ye": 8, "year": 0, "yellow": [8, 14], "yet": 9, "yield": 13, "you": [1, 2, 3, 4, 10, 12, 13, 14], "your": [3, 4, 10, 11, 12, 13, 14], "yourself": [3, 14], "z": [1, 4, 8, 11, 13], "z_empti": 11, "z_prog": 11, "zero": [10, 11], "zero_place_fn_value_on": 11, "\u03c6": 13, "\u03c6bump": 10, "\u03c6write": 13, "\u03c6x": 13}, "titles": ["Invitation to Computability", "Functions defined by programs", "When does a program halt?", "First steps", "Simple programs", "Tidy programs", "What is coding?", "Computability", "Algorithmic problems", "Reduction of one problem to another", "Programs for Arithmetic", "Primitive Recursion", "Tools to help write programs", "Self-Replicating Programs", "Universal Programs"], "titleterms": {"": [8, 10], "1": [3, 11], "1946": 8, "2": 11, "3": 11, "5": 11, "A": 14, "For": 11, "That": 11, "The": [3, 4, 10, 11, 12, 13, 14], "about": 11, "abstract": 7, "add": [11, 14], "after": 11, "algorithm": 8, "all": 11, "am": 11, "an": 11, "anoth": 9, "ar": [3, 11], "argument": [1, 14], "arithmet": 10, "associ": 11, "awai": 11, "basic": 11, "bb": 10, "becaus": 11, "begin": 11, "beig": 14, "below": 11, "book": 0, "c": 11, "can": 11, "cell": 3, "chang": 11, "characterist": 1, "check": 11, "code": [6, 14], "command": 3, "comput": [0, 1, 7], "concret": 7, "copi": 4, "correspond": 8, "cours": 11, "defin": 1, "definit": [1, 2, 5, 11], "denot": 11, "diag": 13, "do": 11, "doe": [2, 12], "english": 13, "enter": 11, "enumer": 1, "equival": 5, "error": 11, "exampl": [1, 11, 12], "exercis": [11, 12, 13], "express": 11, "find": 11, "finit": 7, "first": 3, "formal": 2, "from": 11, "full": 3, "function": [1, 10, 11], "further": 12, "go": [11, 12], "goe": 11, "green": 14, "halt": [2, 11], "help": 12, "how": [11, 12], "i": [6, 11], "idea": 13, "implement": 14, "in_place_program": 11, "infinit": 7, "inform": 11, "input": [1, 11, 12], "insepct": 11, "insid": 3, "instead": 11, "instruct": [3, 14], "invit": 0, "jupyt": 3, "label": 12, "lesson": 14, "like": 11, "line": [3, 11], "littl": 11, "long": 11, "mai": 12, "mani": 14, "matrix": 8, "model": 7, "modifi": 4, "more": [1, 14], "move_2_1": 4, "notat": 4, "note": 11, "notebook": [3, 11], "one": [9, 14], "ones": 11, "oper": 3, "output": 11, "partial": 1, "plan": 14, "post": 8, "preserv": 11, "prime": 11, "primit": 11, "problem": [8, 9], "program": [1, 2, 3, 4, 5, 10, 11, 12, 13, 14], "project": 14, "realli": 11, "recurs": 11, "reduct": 9, "regist": [11, 14], "remark": 14, "remov": 10, "replic": 13, "report": 11, "represent": 10, "result": 11, "run": [3, 11], "saniti": 12, "segment": 12, "self": 13, "sens": 11, "set": [1, 3], "shown": 11, "simpl": 4, "simplif": 14, "special": 11, "step": 3, "strong": 5, "sub": 14, "subterm": 11, "successor": 10, "summari": 13, "superflu": 10, "syntax": 11, "syntax_check": 11, "take": 11, "term": 11, "test": 11, "than": 14, "thei": 11, "thi": [11, 14], "thu": 11, "tidi": 5, "tile": 8, "tool": [3, 12], "two": 1, "unboundedli": 14, "univers": 14, "us": [0, 3], "v": 7, "what": [3, 6, 12], "whatev": 11, "when": 2, "which": 11, "word": 4, "work": 12, "workflow": 12, "write": [4, 12], "you": 11, "zero": 1}}) \ No newline at end of file +Search.setIndex({"alltitles": {"": [[1, "phi-notation"], [1, "introOneSharp/functions-exercise-1"], [1, "introOneSharp/functions-exercise-2"], [1, "introOneSharp/functions-exercise-3"], [1, "definition-4"], [1, "introOneSharp/functions-exercise-5"], [1, "introOneSharp/functions-exercise-6"], [1, "introOneSharp/functions-exercise-7"], [1, "introOneSharp/functions-exercise-8"], [1, "introOneSharp/functions-exercise-9"], [1, "introOneSharp/functions-exercise-10"], [1, "definition-11"], [1, "introOneSharp/functions-exercise-12"], [2, "on-halting"], [2, "introOneSharp/haltDef-exercise-1"], [3, "introOneSharp/instructions-exercise-0"], [3, "try-to-figure"], [3, "introOneSharp/instructions-exercise-2"], [3, "introOneSharp/instructions-exercise-3"], [4, "introOneSharp/move_copy_write-exercise-0"], [4, "introOneSharp/move_copy_write-exercise-1"], [4, "introOneSharp/move_copy_write-exercise-2"], [4, "introOneSharp/move_copy_write-exercise-3"], [4, "introOneSharp/move_copy_write-exercise-4"], [4, "introOneSharp/move_copy_write-exercise-5"], [4, "definition-6"], [4, "introOneSharp/move_copy_write-exercise-7"], [5, "proposition-0"], [5, "introOneSharp/tidy-exercise-1"], [5, "tidiness"], [5, "back-transfer"], [5, "introOneSharp/tidy-exercise-4"], [8, "issues/problems-exercise-0"], [8, "issues/problems-exercise-1"], [9, "issues/reduction-exercise-0"], [9, "issues/reduction-exercise-1"], [9, "issues/reduction-exercise-2"], [10, "more_programs/arithmetic-exercise-0"], [10, "more_programs/arithmetic-exercise-1"], [10, "more_programs/arithmetic-exercise-2"], [10, "more_programs/arithmetic-exercise-3"], [13, "self_writing-exercise-0"], [13, "self_writing-exercise-1"], [13, "self_writing-exercise-2"], [13, "self_writing-exercise-3"], [13, "self_writing-exercise-4"], [13, "self_writing-exercise-5"], [13, "self_writing-exercise-6"], [13, "self_writing-exercise-7"], [13, "self_writing-exercise-8"], [13, "self_writing-exercise-9"], [14, "my-definition"], [14, "universal/universal-exercise-1"], [14, "universal/universal-exercise-2"], [14, "universal/universal-exercise-3"]], " (Post, 1946)": [[8, "theorem-2"]], "A remark on the beige and green sub-programs": [[14, "a-remark-on-the-beige-and-green-sub-programs"]], "Algorithmic problems": [[8, null]], "Basic functions in this notebook": [[11, "basic-functions-in-this-notebook"]], "Characteristic functions": [[1, "characteristic-functions"]], "Coding unboundedly many registers into one": [[14, "coding-unboundedly-many-registers-into-one"]], "Computability": [[7, null]], "Computably enumerable sets": [[1, "computably-enumerable-sets"]], "Concrete and Abstract Models of Computation": [[7, "concrete-and-abstract-models-of-computation"]], "Definition": [[1, null], [1, null], [2, null], [5, null]], "Diag": [[13, "diag"]], "Examples": [[1, null], [1, null]], "Examples of primitive recursive terms and functions": [[11, "examples-of-primitive-recursive-terms-and-functions"]], "Examples of segments:": [[12, "examples-of-segments"]], "Exercises": [[13, "exercises"]], "Finite vs. Infinite": [[7, "finite-vs-infinite"]], "First steps": [[3, null]], "Functions defined by programs": [[1, null]], "Functions of two or more arguments": [[1, "functions-of-two-or-more-arguments"]], "Functions of zero inputs": [[1, "functions-of-zero-inputs"]], "Further programs and exercises": [[12, "further-programs-and-exercises"]], "Halting: the formal definitions": [[2, "halting-the-formal-definitions"]], "How does Sanity work?": [[12, "how-does-sanity-work"]], "How to run insepct the terms and run the 1# programs.": [[11, "how-to-run-insepct-the-terms-and-run-the-1-programs"]], "I am going to change exercise 5(c) a little.": [[11, "i-am-going-to-change-exercise-5-c-a-little"]], "Implementing add# instructions": [[14, "implementing-add-instructions"]], "Invitation to Computability": [[0, null]], "Matrix problems": [[8, "matrix-problems"]], "Modifying move_2_1": [[4, "modifying-move-2-1"]], "Partial functions": [[1, "partial-functions"]], "Post\u2019s correspondence problem": [[8, "post-s-correspondence-problem"]], "Primitive Recursion": [[11, null]], "Primitive recursive terms, and the functions which they denote": [[11, "primitive-recursive-terms-and-the-functions-which-they-denote"]], "Problem": [[8, null]], "Problems": [[8, null]], "Programs for Arithmetic": [[10, null]], "Project": [[14, "project"]], "Reduction of one problem to another": [[9, null]], "Removing superfluous #s": [[10, "removing-superfluous-s"]], "Running programs in notebook cells": [[3, "running-programs-in-notebook-cells"]], "Self": [[13, "self"]], "Self-Replicating Programs": [[13, null]], "Simple programs": [[4, null]], "Simplification": [[14, "simplification"]], "Special note: the in_place_programs in this notebook do not halt in the sense of the course. Instead, they preserve their inputs. For example, run the program associated with add below as shown below it. (That is, take away the # from the beginning of the lines after the definition. The 2 inputs are preserved and the result goes in register 3.)": [[11, "special-note-the-in-place-programs-in-this-notebook-do-not-halt-in-the-sense-of-the-course-instead-they-preserve-their-inputs-for-example-run-the-program-associated-with-add-below-as-shown-below-it-that-is-take-away-the-from-the-beginning-of-the-lines-after-the-definition-the-2-inputs-are-preserved-and-the-result-goes-in-register-3"]], "Strong equivalence to tidy programs": [[5, "strong-equivalence-to-tidy-programs"]], "Summary": [[13, null]], "Syntax check": [[11, "syntax-check"]], "Testing the \u2018prime\u2019 primitive recursive term": [[11, "testing-the-prime-primitive-recursive-term"]], "The + notation on words": [[4, "the-notation-on-words"]], "The 1# instruction set": [[3, "the-1-instruction-set"]], "The full set of instructions of 1#": [[3, "the-full-set-of-instructions-of-1"]], "The idea in English": [[13, "the-idea-in-english"]], "The inputs to sanity": [[12, "the-inputs-to-sanity"]], "The output can be long because the function syntax_check is recursive, and thus reports information about all the subterms of whatever you enter.": [[11, "the-output-can-be-long-because-the-function-syntax-check-is-recursive-and-thus-reports-information-about-all-the-subterms-of-whatever-you-enter"]], "The plan for this lesson": [[14, "the-plan-for-this-lesson"]], "The successor function": [[10, "the-successor-function"]], "Tidy programs": [[5, null]], "Tiling problems": [[8, "tiling-problems"]], "Tools to help write programs": [[12, null]], "Universal Programs": [[14, null]], "Universal programs of more than one argument": [[14, "universal-programs-of-more-than-one-argument"]], "Useful command-line tools": [[3, "useful-command-line-tools"]], "Useful operations inside a Jupyter notebook": [[3, "useful-operations-inside-a-jupyter-notebook"]], "Using the book": [[0, "using-the-book"]], "What are programs?": [[3, "what-are-programs"]], "What is coding?": [[6, null]], "What may go into a segment?": [[12, null]], "When does a program halt?": [[2, null]], "Workflow": [[12, "workflow"]], "You can enter a line like the ones below to check that an expression really is a term, or to find an error.": [[11, "you-can-enter-a-line-like-the-ones-below-to-check-that-an-expression-really-is-a-term-or-to-find-an-error"]], "bb representation": [[10, "bb-representation"]], "copy": [[4, "copy"]], "labels": [[12, null]], "move_2_1": [[4, "move-2-1"]], "write": [[4, "write"]]}, "docnames": ["index", "introOneSharp/functions", "introOneSharp/haltDef", "introOneSharp/instructions", "introOneSharp/move_copy_write", "introOneSharp/tidy", "issues/coding", "issues/issues", "issues/problems", "issues/reduction", "more_programs/arithmetic", "more_programs/primitive_recursion", "more_programs/sanity", "self_writing", "universal/universal"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["index.md", "introOneSharp/functions.ipynb", "introOneSharp/haltDef.ipynb", "introOneSharp/instructions.ipynb", "introOneSharp/move_copy_write.ipynb", "introOneSharp/tidy.ipynb", "issues/coding.ipynb", "issues/issues.ipynb", "issues/problems.ipynb", "issues/reduction.ipynb", "more_programs/arithmetic.ipynb", "more_programs/primitive_recursion.ipynb", "more_programs/sanity.ipynb", "self_writing.ipynb", "universal/universal.ipynb"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [0, 4, 9, 11, 12, 13, 14], "0": [1, 8, 10, 11, 13], "0_": 1, "0_p": 1, "1": [0, 1, 2, 4, 5, 10, 12, 13, 14], "10": [5, 10, 12, 13, 14], "100": 10, "1000": 10, "10000": 10, "10001": 10, "1001": 10, "10010": 10, "10011": 10, "101": 10, "1010": 10, "1011": 10, "11": [2, 3, 4, 10, 11, 12, 13, 14], "110": 10, "1100": 10, "1100110100001": 12, "1101": 10, "111": [2, 3, 4, 10, 11, 12, 13, 14], "1110": 10, "1111": [2, 3, 4, 5, 10, 11, 12, 13, 14], "11111": [3, 4, 10, 11, 12, 14], "111111": [3, 4, 10, 11, 12, 13, 14], "1111111": [10, 13, 14], "11111111": [3, 10, 11, 12, 14], "111111111": [4, 10, 11, 14], "1111111111": [10, 11, 12, 14], "11111111111": [10, 11, 13], "111111111111": 14, "1111111111111": [10, 11, 14], "11111111111111": 14, "111111111111111": [3, 10, 11, 14], "1111111111111111": 14, "11111111111111111": 14, "111111111111111111": [11, 12, 14], "1111111111111111111": [11, 12], "11111111111111111111": 12, "111111111111111111111": 11, "1111111111111111111111": [12, 14], "11111111111111111111111": [12, 14], "111111111111111111111111": 14, "1111111111111111111111111": [11, 12], "111111111111111111111111111": [12, 14], "1111111111111111111111111111": 14, "11111111111111111111111111111": 12, "11111111111111111111111111111111": 12, "11111111111111111111111111111111111": 14, "1111111111111111111111111111111111111": 14, "1111111111111111111111111111111111111111": 11, "11111111111111111111111111111111111111111": 12, "111111111111111111111111111111111111111111": 12, "111111111111111111111111111111111111111111111": 14, "1111111111111111111111111111111111111111111111": 14, "111111111111111111111111111111111111111111111111": 12, "111111111111111111111111111111111111111111111111111111": 14, "111111111111111111111111111111111111111111111111111111111": 14, "1111111111111111111111111111111111111111111111111111111111": 12, "11111111111111111111111111111111111111111111111111111111111111": 14, "11111111111111111111111111111111111111111111111111111111111111111111": 14, "111111111111111111111111111111111111111111111111111111111111111111111111111": 14, "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 12, "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 14, "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 14, "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 14, "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 12, "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 12, "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 14, "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111": 14, "112": 14, "113": 14, "114": 14, "115": 14, "116": 14, "117": 14, "118": 14, "119": 14, "12": [2, 5, 10, 12, 13, 14], "13": [3, 10, 11, 12, 13, 14], "14": [10, 12, 13, 14], "15": [3, 10, 11, 12, 14], "16": [3, 10, 12, 14], "17": [10, 12, 14], "18": [10, 14], "19": [10, 14], "1n": 14, "2": [1, 2, 3, 4, 5, 10, 12, 13, 14], "20": [10, 12], "204": 13, "22": 14, "243": 12, "26": 5, "3": [1, 3, 4, 5, 10, 12, 13, 14], "300": 14, "322": 14, "35": 3, "376": 14, "3px": [4, 13], "4": [1, 3, 4, 5, 10, 11, 12, 13, 14], "43744999": 3, "5": [3, 4, 10, 12, 13, 14], "56": 10, "57": 11, "5a": 11, "5b": 11, "5c": 11, "5d": 11, "5e": 11, "6": [4, 10, 11, 12, 13, 14], "608": 14, "6561": 12, "7": [4, 10, 11, 12, 13, 14], "8": [4, 5, 10, 12, 13, 14], "9": [4, 10, 11, 13, 14], "A": [1, 3, 5, 8, 12, 13], "And": [3, 4, 8, 10, 12, 13, 14], "As": [1, 3, 10, 11, 12, 14], "At": [0, 1, 10, 11, 12, 13, 14], "BE": 11, "But": [1, 2, 3, 4, 5, 9, 10, 11, 12, 13, 14], "For": [0, 1, 3, 4, 5, 8, 10, 12, 14], "If": [1, 2, 3, 4, 5, 10, 11, 12, 13, 14], "In": [0, 1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 14], "It": [0, 1, 2, 3, 4, 8, 10, 11, 12, 13, 14], "Its": 11, "No": [8, 13], "Of": [0, 4, 5, 8, 14], "On": [5, 10, 12], "One": [0, 5, 10, 11, 14], "That": [1, 3, 5, 10, 12, 13, 14], "The": [0, 1, 2, 8, 9], "Then": [1, 3, 4, 10, 11, 12, 13, 14], "There": [0, 1, 2, 3, 5, 8, 10, 11], "These": [3, 10, 12], "To": [2, 3, 8, 11, 12, 13, 14], "With": 12, "__init__": 3, "a_1": 8, "a_2": 8, "a_i": 8, "a_n": 8, "ababaaabbbaabbaababaa": 8, "abbrevi": 3, "abil": [0, 13], "about": [0, 1, 3, 10, 12, 13, 14], "abov": [3, 4, 8, 10, 14], "abstract": [1, 3], "accordingli": 3, "act": 14, "action": [3, 14], "actual": [2, 3, 4, 10, 14], "ad": 14, "add": [0, 1, 2, 3, 4, 8, 10, 12, 13], "add1": [11, 12, 14], "addit": [0, 3, 10, 11, 14], "ado": 3, "adopt": 1, "advanc": 0, "advent": 0, "after": [2, 3, 4, 5, 10, 12, 13, 14], "again": [2, 3, 4, 9, 10, 13, 14], "against": 10, "ahead": [3, 10, 13], "aim": 0, "algorithm": [10, 11], "align": [4, 13], "all": [0, 1, 2, 3, 4, 5, 8, 10, 12, 13, 14], "all_equ": 11, "allow": [13, 14], "almost": 1, "alon": 14, "along": [3, 10, 11, 14], "alphabet": [1, 3, 8, 14], "alreadi": [3, 10, 14], "also": [0, 1, 2, 3, 8, 9, 10, 11, 12, 13, 14], "altern": [0, 1, 4, 5, 14], "although": 10, "altogeth": 10, "alwai": [1, 4], "am": 0, "amount": [0, 11], "an": [0, 1, 2, 3, 4, 5, 8, 10, 12, 13, 14], "ani": [1, 3, 4, 5, 8, 10, 11, 13, 14], "annot": 0, "anoth": [1, 3, 5, 12, 13, 14], "answer": [1, 8, 10], "anywai": 13, "app": 13, "appear": [3, 5, 8, 12], "appli": [4, 13], "applic": [12, 13, 14], "appreci": 14, "appropri": 14, "ar": [0, 1, 2, 4, 5, 8, 9, 10, 12, 13, 14], "arang": [4, 13], "arbitrari": 2, "aren": [11, 12, 13], "arg": 11, "argument": [3, 11], "argument_numb": 11, "ari": 11, "ariti": 11, "around": [3, 4, 10], "arrai": [1, 8, 12], "arrow": [3, 4], "artifact": 0, "ask": [3, 10, 11, 14], "aspect": 0, "assembl": 14, "assign": [3, 11], "associ": [1, 4], "assum": [1, 4, 5, 10, 11, 13, 14], "assumpt": [12, 14], "attempt": 13, "author": 0, "automat": [13, 14], "auxilliari": 4, "axi": [4, 9, 13], "b": [1, 2, 3, 5, 8, 9, 11, 12, 14], "b0e0e6": [4, 13], "b1": 11, "b2": 11, "b3": 11, "b4": 11, "b5": 11, "back": [4, 10, 12, 13, 14], "background": [3, 4, 13], "backround": 3, "backward": [3, 4, 5, 10, 11, 12, 13], "balk": 3, "bar": 11, "base": [10, 12], "basi": 14, "basic": [0, 3, 10, 13, 14], "batch": [3, 4], "bb": [11, 12], "be182edc98d2": 3, "becam": 0, "becaus": [3, 12, 13, 14], "becom": 13, "been": [3, 11], "befor": [2, 3, 4, 10, 11, 12, 13, 14], "begin": [0, 1, 2, 3, 4, 8, 12, 13, 14], "behav": [1, 14], "behavior": 3, "behind": [4, 13, 14], "believ": 10, "below": [2, 3, 4, 5, 8, 10, 12, 13, 14], "besid": 1, "best": [0, 10], "better": [2, 3, 4, 11, 13, 14], "between": [1, 3, 4, 11], "beyond": [2, 14], "big": [1, 13], "bigger": 12, "binari": [10, 12], "binder": 0, "bit": [13, 14], "black": 8, "blank": 3, "bleed": 12, "blue": [8, 10, 13], "blush": 13, "book": 3, "booksourc": 13, "bool1": 11, "bool2": 11, "boolean": 11, "border": [4, 13], "borrow": 12, "borrowing_empti": 12, "borrowing_hash": 12, "borrowing_on": 12, "both": [0, 1, 3, 4, 5, 11], "bottom": [8, 9, 11, 12], "bound": 14, "bowman": 12, "box": [3, 12], "brackect": 12, "bracket": [3, 4], "branch": 13, "brown": [4, 13], "build": [1, 4, 11, 14], "bump": [10, 11], "bump_instr": 11, "button": [0, 3], "button_styl": 3, "c": [1, 2, 5, 12], "call": [0, 1, 3, 4, 8, 9, 10, 11, 12, 13, 14], "can": [1, 3, 4, 5, 8, 9, 10, 12, 13, 14], "cannot": [5, 8, 10, 14], "cap": 1, "care": 14, "carri": 10, "case": [1, 3, 4, 5, 10, 11, 12, 13, 14], "cdot": [5, 8, 12], "cell": [4, 11, 12, 13, 14], "center": 0, "certainli": 14, "challeng": 14, "chanc": 13, "chang": [0, 3, 4, 10, 14], "chapter": 0, "charact": 3, "characterist": 11, "chart": [3, 4, 14], "check": [3, 4, 10, 13, 14], "chi_a": 1, "chi_equ": 11, "chi_great": 11, "chi_greater_or_equ": 11, "chi_less": 11, "chi_lesser_or_equ": 11, "children": 11, "choic": 10, "choos": 8, "church": 0, "claim": 10, "clarifi": 12, "clasic": 0, "class": [0, 3, 12, 14], "classic": 3, "cleanup": 10, "clear": [1, 4, 10, 12, 13, 14], "clear_1": [3, 12], "clear_out_fre": 11, "clear_prog": 11, "clearli": [1, 14], "clearprog_1": 1, "clearprog_3": 1, "clever": 13, "click": [0, 3], "clickabl": 0, "close": [1, 12, 14], "cmp": 12, "cocalc": 0, "code": [0, 3, 10, 11, 12], "colab": [0, 3, 12], "color": [4, 8, 13, 14], "column": [4, 13, 14], "com": [3, 4, 5, 10, 11, 12, 13, 14], "combin": 14, "come": [0, 1, 3, 5, 8, 9, 12, 13, 14], "command": 4, "comment": [3, 5, 14], "common": [8, 11], "commun": 0, "comp": 11, "compar": [10, 11, 12], "compare_prog": 11, "comparison": 10, "compel": 0, "compil": 11, "complet": [8, 10, 14], "complex": [0, 3], "compos": [3, 11, 14], "composit": [1, 11], "comput": [3, 5, 8, 10, 14], "computation": 10, "concaten": [3, 4, 8], "concept": [0, 3, 12], "conceptu": 1, "concern": [2, 5, 14], "conclud": [13, 14], "concret": 3, "condit": [2, 5, 8, 11], "confirm": 14, "conform": 14, "confus": 10, "connect": [0, 1], "consid": [2, 9, 12], "consist": [8, 12, 13], "construct": [1, 4, 8, 10, 12, 14], "constructor": 11, "contain": [2, 3, 11, 12, 13, 14], "content": [0, 2, 3, 4, 10, 12, 13, 14], "context": 10, "continu": [8, 10, 14], "contrast": [1, 2], "control": [2, 3, 5], "convers": 1, "convert": [10, 11], "copi": [3, 10, 11, 12, 14], "copy_1_2_3": [4, 11], "copy_all_forward": 11, "copy_prog": 11, "copyprog_": 4, "corner": 8, "corollari": 0, "correct": [3, 11, 12], "correctli": 1, "correspond": [9, 12], "could": [0, 2, 3, 4, 10, 11, 12, 14], "count": [1, 12], "cours": [0, 3, 4, 5, 8, 14], "crazi": 12, "creat": 3, "cup": [1, 8], "current": [0, 3, 10], "cyan": 8, "d": [11, 12], "d1": 11, "d4b48c": [4, 13], "d_0": 9, "dai": 3, "dar": 1, "dark": 8, "datafram": [4, 13], "date": 0, "date_input": 3, "dd": 8, "ddd": 11, "deal": [1, 14], "decad": 0, "decid": [1, 8, 9, 10, 14], "decim": 10, "decis": 11, "deepli": 12, "def": [3, 11], "defin": [4, 8, 11, 12, 13], "definit": [3, 9, 10, 13], "delet": [1, 3, 4, 12], "denot": [3, 12], "depend": 14, "deriv": [0, 12], "describ": 14, "descript": [3, 10, 13], "design": [4, 9, 10, 14], "desir": [12, 13], "destroi": [10, 14], "detail": [2, 3, 14], "determin": [8, 11, 13, 14], "develop": [0, 10, 11], "df": [4, 13], "dg": 12, "dg_idea": 12, "diag": [11, 12, 14], "diag_idea": 12, "diagon": 8, "did": [11, 12, 13, 14], "didn": 3, "differ": [0, 1, 2, 3, 4, 10, 13, 14], "difficult": 3, "direct": [13, 14], "directli": 10, "disciplin": 0, "discuss": [0, 2, 8, 12, 13, 14], "displai": [3, 12, 13], "distinguish": 11, "diverg": 14, "divid": [3, 4, 14], "do": [1, 2, 3, 4, 5, 10, 13, 14], "document": 12, "doe": [0, 1, 3, 5, 8, 13, 14], "doesn": [1, 3, 8, 11, 13], "domain": 1, "domino": [8, 9], "don": [0, 3, 10, 11, 13], "done": [4, 10, 11, 12, 13, 14], "doubl": 3, "down": [3, 4, 11], "downarrow": 1, "download": 3, "draft": 14, "draw": 12, "drop": [13, 14], "dropbox": 13, "due": [5, 14], "dure": 2, "e": 11, "each": [1, 3, 4, 5, 8, 12, 13, 14], "earlier": [4, 10, 12, 14], "easi": 3, "easier": [12, 13, 14], "easiest": 14, "edg": 8, "eight": [8, 14], "either": [2, 3, 4, 5, 10, 11, 12], "elabor": 13, "element": 4, "elif": [3, 4, 11, 13], "els": [3, 4, 8, 10, 11, 13, 14], "email": 14, "emphas": [3, 4, 8], "empti": [1, 2, 3, 4, 8, 10, 11, 12, 13, 14], "enabl": [0, 10, 11], "enclos": 3, "encod": 14, "encount": 10, "end": [0, 1, 3, 4, 5, 8, 10, 11, 12, 13, 14], "end_strip": 3, "english": [3, 12], "enough": [0, 2, 3, 11, 12, 14], "enter": [3, 4, 14], "entir": 14, "entri": 12, "enumer": [0, 5], "environ": [4, 12], "eol": 3, "ep": [1, 4, 8], "epilogu": 12, "epsilon": 8, "equal": [10, 11, 13, 14], "equat": [10, 13], "equival": 14, "error": [3, 12], "especi": [0, 1, 14], "essentially_us": 11, "establish": 14, "etc": [11, 13, 14], "even": [1, 3, 4, 10, 13, 14], "eventu": [1, 4, 10, 12, 14], "ever": 10, "everi": [1, 5, 8, 11, 12, 14], "everyon": [0, 14], "everyth": [0, 13, 14], "exact": 14, "exactli": [4, 5, 8, 13, 14], "examin": 12, "exampl": [2, 3, 4, 5, 8, 9, 10, 14], "exce": 11, "except": [5, 9, 12], "execut": [0, 2, 3, 5, 14], "exercis": [2, 3, 5, 10, 14], "exhibit": 14, "exist": [5, 9, 13], "exit": 3, "exp": [10, 11], "explain": [13, 14], "explan": [3, 4, 13, 14], "explic": 4, "explicit": [0, 5, 10], "explor": 3, "exponenti": [10, 12], "exponentiate_loop": 12, "express": [3, 12], "extend": [3, 13], "eyebal": 12, "f": [1, 3, 8, 11], "f1": 11, "fact": [3, 5, 8, 14], "factori": 10, "fair": 0, "fairli": 14, "fals": [1, 11], "famili": 1, "familiar": [3, 10], "far": [0, 3, 14], "fashion": 3, "featu": 0, "featur": [0, 4, 8, 10, 13], "feel": 10, "fell": 3, "felt": 12, "few": [0, 11, 14], "ffffcc": [4, 13], "field": 3, "figur": [2, 3], "file": [0, 3, 13], "fill": 10, "final": [2, 3, 12, 13, 14], "find": [1, 2, 3, 4, 8, 13, 14], "fine": 14, "finish": 2, "finit": [1, 3, 8, 14], "firm": 13, "first": [0, 1, 2, 4, 8, 9, 10, 11, 12, 13, 14], "first_and_third_greater_than_on": 11, "first_end": 12, "first_hash": 12, "first_on": 12, "first_part": 11, "first_third_second_prop": 11, "five": [2, 3], "fix": [2, 14], "flowchart": [12, 14], "fluke": 13, "follow": [1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 14], "forget": [3, 10, 14], "form": [1, 2, 3, 5, 10, 12, 13, 14], "formal": [5, 10], "format": 3, "formul": 10, "forth": 10, "forward": [2, 3, 4, 5, 10, 11, 12, 13], "found": 5, "four": 14, "framework": 13, "free": [10, 11, 13], "free_plus_on": 11, "free_reg": 11, "frequent": [1, 8], "from": [0, 1, 3, 4, 5, 8, 10, 12, 13, 14], "front": 0, "full": [4, 10], "fun": 13, "function": [0, 3, 8, 12], "further": [0, 3, 4, 14], "futur": 11, "g": [1, 11], "g3": 11, "g_1": 11, "g_i": 11, "g_k": 11, "g_list": 11, "gener": [1, 8, 10, 13], "geq": [1, 5, 8], "get": [3, 4, 8, 10, 11, 12, 13, 14], "get_ipython": 13, "git": [3, 4, 5, 10, 11, 12, 13, 14], "github": [0, 3, 4, 5, 10, 11, 12, 13, 14], "give": [1, 3, 4, 10, 11, 13, 14], "given": [0, 1, 2, 8, 9, 10, 14], "glimmer": 13, "gloss": [3, 4], "go": [0, 1, 2, 3, 4, 5, 8, 10, 13, 14], "goal": [13, 14], "goe": [2, 4, 10, 13, 14], "good": [3, 11, 14], "googl": 0, "got": 3, "goto": [10, 11, 12, 14], "graph": 8, "greater_than_on": 11, "green": [3, 4, 8, 13], "grei": 8, "group": 14, "guess": 11, "guid": 14, "h": [1, 11], "h_proper": 11, "ha": [0, 2, 4, 5, 8, 10, 11, 12, 14], "had": [2, 4, 5, 12], "halt": [1, 3, 4, 5, 10, 13, 14], "hand": [5, 12, 13, 14], "handl": 14, "handle_submit": 3, "happen": [3, 12, 13, 14], "hard": [4, 13, 14], "harder": 14, "hardest": 14, "hash": [1, 3, 4, 5, 12, 13], "hash_found": 12, "hash_hash": 12, "hash_is_it": 12, "hash_on": 12, "hasten": 14, "have": [0, 1, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14], "he": 12, "height": 11, "help": [3, 4, 13], "here": [0, 1, 3, 4, 5, 8, 10, 11, 12, 13, 14], "hh": 12, "hi": 12, "hide": 3, "hide_column": 13, "hint": [1, 5, 10, 14], "ho": 12, "hold": [5, 13, 14], "homework": 11, "homomorph": 1, "hope": 0, "host": 0, "how": [1, 2, 3, 10, 13, 14], "howev": [11, 14], "http": [3, 4, 5, 10, 11, 12, 13, 14], "i": [0, 1, 2, 3, 4, 5, 8, 9, 10, 12, 13, 14], "id": 1, "idea": [3, 4, 10, 12, 14], "ident": [1, 4], "iff": 1, "ignor": [3, 14], "illustr": [3, 14], "implement": 10, "import": [1, 3, 4, 5, 8, 10, 11, 12, 13, 14], "improperli": 2, "incident": [3, 14], "includ": [1, 3, 14], "incorpor": [11, 14], "increment": 11, "ind": 11, "inde": [10, 11], "index": [4, 10, 11, 13], "indiana": 0, "indic": [12, 14], "infinit": [2, 3, 4, 5, 8, 13], "inform": [2, 4, 5, 12, 13, 14], "initi": 10, "input": [2, 3, 5, 8, 10, 13, 14], "insert": 3, "insid": [0, 2, 5, 12, 13], "inst": 11, "instal": [3, 4, 5, 10, 11, 12, 13, 14], "instanc": 9, "instead": [1, 3, 5, 9], "instr": [11, 14], "instruct": [1, 2, 4, 5, 12, 13], "instruction_typ": 11, "instructor": [0, 14], "intend": [0, 3, 10], "interest": [0, 1, 2, 9, 10], "interpret": [0, 2, 3, 4, 5, 10, 11, 12, 13, 14], "intersect": 1, "introduc": [3, 14], "introduct": 3, "introductori": 3, "intuit": 1, "invers": 3, "invit": 13, "invitationbook": 13, "involv": [1, 8, 12], "io": 13, "ipython": [3, 13], "ipywidget": 3, "is_on": 12, "iself": 13, "isn": [1, 14], "item": 12, "iter": [1, 10, 12], "ith": 11, "its": [3, 11, 12, 13, 14], "itself": [0, 4, 13, 14], "j": [4, 11, 13], "job": 3, "joint": 14, "jon": 12, "journei": 3, "judici": 0, "jupyt": 0, "just": [0, 1, 3, 8, 10, 11, 12, 13, 14], "k": [1, 2, 3, 5, 11], "k1": 11, "keep": [1, 3, 10], "keyboard": 3, "kind": [3, 8, 14], "know": [1, 3, 8, 10, 11, 12, 13, 14], "l": [1, 11], "lambda": [4, 13], "languag": [0, 3, 4, 10], "larg": [11, 14], "larger": 11, "last": [2, 3, 5, 8, 13, 14], "last_part": 11, "later": [10, 13, 14], "latex": 0, "lawrenc": 0, "lcl": [1, 8], "ldot": [1, 11], "lead": [0, 10], "learn": [0, 3], "least": 14, "leav": [3, 4, 10, 14], "left": [1, 3, 4, 13, 14], "len": [4, 11, 13], "length": [1, 12, 14], "leq": [1, 5], "leq_m": 9, "less": 10, "lesson": [3, 10, 13], "let": [1, 3, 4, 5, 8, 9, 12, 13, 14], "letter": [1, 12], "level": 3, "librari": 13, "life": 14, "light": 8, "like": [0, 1, 3, 4, 8, 9, 10, 12, 13, 14], "line": [4, 5, 10, 12, 13], "list": [3, 4, 11, 12, 13], "liter": [3, 14], "litt": [1, 11], "littl": [3, 14], "live": 0, "ll": [1, 3, 10, 12, 13, 14], "lmoss": [3, 4, 5, 10, 11, 12, 13, 14], "load": 3, "local": [0, 3], "logic": [0, 8], "long": [3, 10, 12, 14], "longer": 13, "look": [3, 10, 11, 12, 13, 14], "loop": [1, 2, 3, 4, 5, 10, 12, 13], "lost": 10, "lot": 10, "lower": 3, "m": [3, 4, 5, 10, 11, 12, 13, 14], "mach": 1, "machin": [0, 1, 3, 14], "maco": 13, "made": [12, 14], "magenta": [4, 13], "mai": [3, 4], "main": [3, 4, 5, 8, 10, 11, 12, 13, 14], "main_loop": 11, "mainli": [0, 10, 11], "make": [0, 1, 2, 4, 12, 13, 14], "mani": [0, 3], "manipul": 12, "mark": [3, 8], "markdown": 0, "marker": 14, "match": [9, 11], "materi": 0, "mathbf": 8, "mathemat": [0, 1, 3], "mathtt": [3, 14], "matric": 8, "matter": [0, 3, 8], "max": 11, "max_list": 11, "max_regist": 11, "maxi": 11, "mbox": [1, 8], "me": [0, 3], "mean": [1, 3, 4, 8, 12, 14], "medium": 0, "meet": [13, 14], "memor": 13, "mention": [1, 3], "method": [13, 14], "middl": 11, "might": [0, 1, 3, 8, 11, 13, 14], "mimic": 14, "mind": [0, 12], "minut": 14, "mn": 10, "model": [3, 14], "modif": 14, "modifi": [3, 10, 13, 14], "modul": 13, "modulenotfounderror": 13, "monoid": [1, 4], "month": 3, "monu": 11, "moon": 10, "more": [0, 2, 3, 4, 10, 11, 13], "moreov": 4, "mortal": 8, "moss": 0, "most": [0, 1, 2, 3, 10, 13, 14], "move": [3, 4, 10, 12, 13, 14], "move1": 10, "move2": [4, 10, 14], "move3": 13, "move_2_1": [12, 13], "move_3_1": [12, 13], "move_3_4": 4, "move_back": 12, "move_m_n": 4, "move_phas": 12, "move_prog": 11, "move_stuff_around": 12, "moveback": 12, "moveprog": 11, "moveprog_": [1, 4], "moveprogtwoon": 1, "mth": 14, "mu": 0, "much": [0, 3, 13, 14], "mul": 11, "multipl": [3, 10], "multipli": [10, 11, 12], "multiply_loop": 12, "must": [3, 8, 9, 11, 12, 13, 14], "my": [0, 3, 11, 12, 14], "my_str": 3, "n": [1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 14], "n1": 11, "n2": 11, "n3": 11, "n_p": 1, "name": [1, 3, 4, 11, 12, 13], "natur": 11, "nbsp": [4, 12, 13, 14], "necessari": 11, "need": [0, 1, 2, 3, 4, 5, 9, 10, 11, 12, 13, 14], "neither": 11, "never": [2, 12], "new": [0, 1, 3, 10, 12, 14], "new_program": 11, "next": [2, 3, 5, 10, 11, 12, 13, 14], "nice": 13, "nobodi": 10, "non": [1, 8, 10], "nor": 11, "notat": [1, 12], "note": [12, 13, 14], "notebook": [0, 4, 12, 14], "noth": [2, 3, 13], "notic": 13, "notin": 1, "notion": 1, "now": [3, 4, 8, 10, 11, 12, 13, 14], "nowher": 8, "np": [4, 13], "nth": 14, "nthe": 14, "number": [0, 1, 2, 3, 4, 10, 11, 12, 13, 14], "number_help": 11, "numer": 10, "numpi": 13, "o": 1, "object": 3, "obtain": 12, "odd": 1, "oe": 12, "off": [4, 10, 13], "offer": 13, "offici": 13, "often": 0, "oh": 12, "ok": 14, "on_button_click": 3, "on_click": 3, "on_submit": 3, "onc": [10, 12, 14], "one": [0, 1, 2, 3, 4, 5, 8, 10, 11, 12, 13], "one_found": 12, "one_prog": 11, "ones": [3, 8, 12, 14], "onesharp": [1, 3, 4, 5, 10, 11, 12, 13, 14], "onesharp_exponenti": 12, "onesharp_multipli": 12, "onli": [1, 3, 4, 5, 9, 10, 11, 13, 14], "onlin": 0, "onto": [4, 12, 13, 14], "oo": 12, "open": [0, 3, 4], "oper": [1, 4, 14], "optim": 11, "option": [0, 10, 12], "orang": 14, "order": [0, 3, 4, 5, 12, 13, 14], "ordinari": 11, "organ": 12, "origin": [0, 10, 11, 12, 13, 14], "oth": 1, "other": [0, 1, 3, 4, 5, 10, 11, 12, 13, 14], "otherwis": [1, 3, 10, 12], "our": [1, 3, 4, 8, 10, 12, 13, 14], "out": [2, 3, 4, 11, 12, 13, 14], "outer": 11, "outer_fn": 11, "outlin": 14, "output": [3, 4, 10, 13, 14], "outsid": [0, 5, 10], "over": [8, 11, 14], "overal": [0, 3, 4, 12, 14], "overhead": 1, "overlin": [1, 11], "own": 14, "p": [1, 2, 3, 4, 5, 11, 13, 14], "p1": 12, "packag": [0, 12], "pair": 14, "panda": 13, "paper": [0, 12], "par": 11, "paradox": 13, "parallel": 1, "param": 3, "parenthes": 3, "pars": [3, 4, 11, 12, 14], "parse_explain": [3, 4], "parser": 14, "part": [0, 3, 4, 5, 8, 10, 12, 13, 14], "particular": [1, 8, 10, 11, 14], "pass": 12, "past": 0, "path": 8, "pcp": [8, 9], "pd": [4, 13], "pd_invers": 11, "pd_inverse_zero": 11, "pencil": 12, "peopl": [3, 8, 14], "perfectli": 3, "perhap": 3, "pertain": 11, "phi": 14, "phi_q": 1, "phifn": 1, "phifn_": [1, 13], "phifn_p": [1, 13], "phifn_u": 14, "phifn_x": [1, 14], "phixi": 13, "pip": [3, 4, 5, 10, 11, 12, 13, 14], "place": [5, 8, 11, 13, 14], "plai": 11, "plan": 11, "pleas": 3, "point": [1, 2, 3, 4, 5, 8, 9, 10, 12, 13, 14], "pointer": 0, "posit": 9, "possibl": [0, 1, 8, 10, 13, 14], "possibli": [3, 5, 14], "post": 9, "potenti": 8, "power": 12, "ppcp": 9, "pr": [11, 12], "practic": 3, "pre": 14, "pre_pr": 12, "pre_program": 4, "preced": 13, "precis": 14, "pred": [11, 12], "predecessor": 12, "predict": 3, "predprog": 11, "prefer": [0, 1, 5, 14], "prefix": 12, "prepar": 0, "present": [0, 3, 8, 13], "preserv": [1, 14], "press": 3, "pretti": [0, 12, 14], "previou": [3, 4], "primarili": 0, "prime_prog": 11, "primit": [0, 10], "primitive_recurs": 11, "print": [3, 11], "probabl": [3, 13, 14], "problem": [2, 11, 13], "process": [3, 4, 10, 12], "produc": 11, "product": 12, "prog": 11, "progam": 12, "proglist": 11, "program": 0, "proj": 11, "proj_prog": 11, "proj_prog_offici": 11, "project": [0, 11], "promis": 14, "proof": [0, 8], "proper_divisor": 11, "properli": 3, "properti": [4, 5, 8, 10, 11, 13, 14], "proposit": 5, "prorgram": 14, "prove": [1, 5, 9], "provid": [0, 3, 5], "pseudocod": 10, "punctuat": 3, "purpos": [1, 14], "put": [1, 10, 13, 14], "py": 13, "python": [0, 1, 3, 4, 5, 10, 11, 12, 13, 14], "q": [1, 3, 4, 5, 11, 13], "quadrant": [8, 9], "question": [3, 8], "queue": 3, "quickli": [3, 10], "quit": [0, 12, 14], "quot": [3, 4, 12], "r": 11, "r1": [1, 2, 3, 4, 10, 12, 13, 14], "r2": [3, 4, 10, 12, 13, 14], "r3": [3, 4, 10, 12, 13, 14], "r4": [3, 4, 10, 14], "r5": [10, 14], "r6": [10, 14], "r7": [10, 14], "r8": 14, "rais": 12, "ran": 2, "rang": 11, "rather": [0, 13], "re": [4, 13], "reach": [2, 5, 12], "read": [0, 3, 4, 11, 12, 13], "reader": [0, 14], "readi": 14, "real": [3, 14], "realli": [3, 10, 14], "reason": [5, 10, 11, 13], "recal": [10, 14], "recent": 13, "record": 1, "recurs": [0, 1, 10, 14], "red": [4, 8, 10, 13], "refer": [0, 12], "regist": [0, 1, 2, 3, 4, 10, 12, 13], "relat": [8, 13], "relev": [1, 3, 14], "remain": [2, 14], "rememb": 10, "remov": [3, 13], "remove_multiple_blank": 3, "repeatedli": 4, "replac": 3, "repres": [3, 10], "request": 8, "requir": [3, 5, 11, 12, 13, 14], "resourc": 13, "rest": [3, 10, 12, 13, 14], "result": [0, 4, 8, 10, 12, 13, 14], "return": [3, 4, 11, 12, 14], "returna": 12, "returnb": 12, "rev": 12, "reveal": 5, "revers": 12, "reverse_idea": 12, "review": 3, "revolut": 0, "rewrit": 5, "right": [1, 2, 3, 14], "rk": [2, 5], "rm": [4, 11], "rn": [1, 3, 4, 11], "rocket": 10, "rone": [1, 4, 13], "root": 13, "row": [8, 9], "rp": 4, "rtwo": 13, "run": [0, 1, 2, 4, 5, 12, 13, 14], "running_total_of_pd_invers": 11, "s_prog": 11, "sai": [1, 2, 3, 4, 5, 8, 11, 13, 14], "same": [0, 3, 4, 5, 8, 10, 11, 12, 13, 14], "sameth": 12, "sane": 12, "sane_exponenti": 12, "sane_multipli": 12, "saniti": [11, 14], "satisfi": [0, 8, 10], "save": 0, "saw": [3, 12, 14], "scan": 3, "scienc": [0, 1], "scratch": 13, "screen": 3, "search": 8, "second": [2, 3, 4, 10, 11, 12, 13, 14], "second_end": 12, "second_index": 11, "section": [4, 8, 10, 14], "see": [0, 1, 2, 3, 8, 10, 11, 13, 14], "seek": 10, "seem": [11, 13, 14], "seen": [1, 3, 4, 10, 12, 13, 14], "segmet": 12, "select": [0, 8], "self": [0, 3, 14], "self1": 14, "selfknow": 13, "semant": [1, 13], "semanticsalt": 1, "semest": 0, "send": 10, "sens": 14, "separ": 14, "sequenc": [1, 3, 8, 12, 13], "seri": 14, "servic": 0, "set": [5, 8, 9, 11, 13], "set_properti": [4, 13], "settl": 10, "setuptool": [3, 4, 5, 10, 11, 12, 13, 14], "seven": 3, "sever": [0, 14], "sgn": 11, "sgn_bar": 11, "shade": 10, "shall": [1, 14], "share": 8, "sharp": 12, "shell": 10, "shift": 3, "shold": 12, "short": 14, "shorten": 13, "shortli": 3, "should": [0, 3, 4, 8, 10, 11, 12, 13, 14], "shouldn": 12, "show": [0, 1, 3, 4, 5, 9, 12, 13, 14], "shown": [3, 4, 10, 12, 14], "side": [3, 8], "signific": 3, "silli": 14, "simeq": [1, 13, 14], "similar": [0, 1, 5, 10, 14], "similarli": [4, 10, 14], "simpl": [3, 10, 14], "simplest": 4, "simpli": [0, 1, 14], "simplifi": [3, 14], "simul": 14, "sinc": [0, 3, 4, 5, 8, 10, 11, 13, 14], "singl": [1, 3, 12, 14], "situat": 1, "six": 14, "sketch": 14, "skim": 3, "skip": [0, 10], "slant": 3, "slight": 1, "slightli": 13, "slow": 11, "slowli": 3, "small": [1, 3, 13], "smallest": 14, "snapshot": 14, "snippet": 12, "so": [0, 1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 14], "societi": 0, "solid": [4, 13], "solut": 11, "solv": [2, 3, 11], "some": [0, 1, 2, 3, 4, 5, 8, 10, 11, 12, 13, 14], "someon": [12, 14], "someth": [3, 10, 13, 14], "sometim": [1, 14], "soon": [3, 10, 13], "sort": 13, "sourc": 10, "space": [3, 8, 12, 14], "speak": 14, "special": [2, 8, 10, 12], "specif": [10, 11, 14], "specifi": 3, "spell": 13, "spit": 13, "squar": [3, 8, 12], "st": 12, "stackoverflow": 3, "stage": 1, "stand": 11, "standard": [0, 1], "stare": 5, "start": [0, 1, 2, 3, 4, 8, 10, 11, 12, 13, 14], "statement": [3, 5, 8, 12], "statment": 14, "step": [1, 4, 10, 13, 14], "step_by_step": [3, 11], "still": 14, "stop": [2, 3], "store": 12, "str": 11, "straight": [1, 3], "straightforward": 14, "strang": [0, 13], "strictli": 14, "string": [3, 11, 12, 13], "strip": 10, "strongli": 5, "stuck": 5, "student": [0, 14], "studi": 1, "stuff": 10, "style": [4, 13], "sub": [11, 13], "subject": [0, 14], "subprogram": 14, "subseteq": [1, 3], "succ": 10, "success": [3, 14], "successor": [11, 12], "successor_prog": 11, "suggest": [12, 14], "sum": 10, "summar": [3, 13], "superscript": 3, "suppli": 8, "support": 0, "suppos": [1, 2, 3, 4, 5, 9, 10, 13, 14], "sure": [3, 14], "surround": [3, 12], "swap": 4, "swoop": 3, "sy": 11, "symbol": [0, 1, 3, 4, 8, 10, 12, 13, 14], "syntax": 4, "syntaxerror": 3, "system": [8, 13], "t": [0, 1, 3, 8, 10, 11, 12, 13, 14], "t_0": 8, "tabl": [3, 4, 13, 14], "tail": 3, "take": [1, 3, 4, 5, 10, 12, 13, 14], "talk": 14, "tame": 13, "tan": [4, 10, 13], "task": 8, "taught": 0, "teach": 14, "technic": 11, "techniqu": 14, "tell": [8, 10, 11, 12, 14], "temporari": 10, "tempt": 14, "terminologi": 3, "test": 14, "text": [0, 3, 4, 13], "textbook": 0, "th": [12, 14], "than": [0, 1, 2, 3, 11, 12, 13], "thatt": 14, "thei": [1, 3, 4, 10, 14], "them": [0, 2, 3, 4, 10, 11, 12, 13, 14], "themselv": [1, 11, 14], "theorem": [0, 14], "theoret": 10, "theori": [0, 1, 3, 10], "theorist": 0, "therefor": [13, 14], "thi": [0, 1, 2, 3, 4, 5, 8, 9, 10, 12, 13], "thing": [3, 8, 11, 12, 13, 14], "think": [12, 13, 14], "third": [3, 11, 12], "those": [0, 1, 3, 14], "three": [1, 4, 5, 10, 12, 13, 14], "through": [3, 10, 12, 13], "throughout": 14, "thu": [12, 14], "tile": [0, 9], "tile_1": 9, "tile_2": 9, "time": [0, 2, 3, 4, 8, 10, 11, 13, 14], "titl": [3, 4, 11, 13, 14], "to_incr": 11, "to_us": 11, "togeth": [1, 3, 11, 14], "too": [0, 3], "took": [12, 14], "tool": [0, 4, 11], "top": [0, 3, 4, 5, 8, 10, 11, 12, 13], "topic": 0, "total": 1, "touchi": 10, "traceback": 13, "trade": [13, 14], "tradit": [0, 10], "tranfer": 2, "transer": 5, "transfer": [2, 4, 5, 12, 13, 14], "translat": 11, "treat": 0, "treatment": [0, 10], "tree": 11, "trial": 11, "triangl": 3, "trick": [13, 14], "trivial": 8, "true": 11, "truli": 14, "try": [0, 2, 3, 4, 13, 14], "tt": 8, "tupl": 1, "ture": [1, 3, 10], "turn": [3, 4, 8, 10, 14], "tutori": 3, "twin": 13, "two": [0, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14], "two_place_fn_value_on": 11, "type": [2, 3], "typic": 13, "u": [1, 3, 4, 5, 10, 11, 12, 13, 14], "unari": [3, 10, 14], "unchang": 14, "undecid": [0, 8], "undefin": [1, 12], "under": [1, 11], "underscor": 12, "understand": [3, 4, 8, 13, 14], "understood": [3, 14], "union": 5, "univers": 0, "unless": 1, "unlimit": 8, "unpars": [3, 4, 11, 12], "unus": 14, "unwant": 5, "up": [0, 3, 4, 10, 13, 14], "uparrow": 1, "updat": [10, 14], "upon": [1, 14], "upper": 11, "us": [1, 4, 5, 8, 9, 10, 11, 12, 13, 14], "usag": 1, "used_reg": 11, "usual": [2, 10, 11, 12, 13], "v": [3, 11], "valu": [3, 10, 11], "variabl": [3, 11], "variant": 0, "variou": [0, 14], "ve": [10, 13], "veri": [3, 4, 8, 10, 13, 14], "verif": 10, "versa": 1, "version": [5, 9, 13], "via": 14, "vice": 1, "w": [1, 12], "w_": 12, "w_1": [2, 12], "w_2": [2, 12], "w_3": 2, "w_n": 12, "w_p": 1, "wa": [2, 10, 12, 14], "wai": [0, 2, 3, 4, 8, 10, 11, 12, 13, 14], "wake": 0, "want": [1, 3, 4, 5, 8, 10, 11, 12, 13, 14], "we": [0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 14], "web": 0, "weird": 14, "welcom": 3, "well": [0, 3, 12, 13, 14], "were": [4, 5, 10, 14], "what": [0, 1, 4, 5, 11, 13, 14], "whatev": 13, "when": [1, 3, 4, 5, 8, 10, 11, 12, 13, 14], "whenev": 4, "where": [1, 11, 14], "wherea": 14, "whether": [2, 8, 11], "which": [0, 1, 2, 3, 4, 5, 8, 9, 10, 12, 13, 14], "whichev": [12, 14], "while": [2, 3, 4, 14], "white": [4, 13], "who": [12, 14], "whose": 3, "why": [1, 2, 4, 13], "wide": 10, "widget": 3, "willing": 10, "wish": 10, "without": [2, 3, 4, 12, 14], "wok": 14, "wonder": 11, "word": [1, 2, 3, 8, 10, 12, 13, 14], "work": [0, 1, 2, 3, 4, 10, 11, 13, 14], "world": 1, "worldwid": 0, "worri": 14, "would": [0, 1, 2, 3, 4, 5, 10, 12, 13, 14], "wouldn": 13, "write": [0, 1, 3, 5, 10, 11, 13, 14], "writeprog": [1, 4, 13], "writetotwo": 4, "written": [3, 4, 11, 12, 13, 14], "wrong": 8, "x": [1, 2, 3, 4, 9, 10, 11, 13, 14], "x_1": [1, 11], "x_i": 1, "x_n": [1, 11], "y": [1, 4, 13, 14], "ye": 8, "year": [0, 3], "yellow": [8, 14], "yet": 9, "yield": 13, "you": [1, 2, 3, 4, 10, 12, 13, 14], "your": [3, 4, 10, 11, 12, 13, 14], "yourself": [3, 14], "z": [1, 4, 8, 11, 13], "z_empti": 11, "z_prog": 11, "zero": [10, 11], "zero_place_fn_value_on": 11, "\u03c6": 13, "\u03c6bump": 10, "\u03c6write": 13, "\u03c6x": 13}, "titles": ["Invitation to Computability", "Functions defined by programs", "When does a program halt?", "First steps", "Simple programs", "Tidy programs", "What is coding?", "Computability", "Algorithmic problems", "Reduction of one problem to another", "Programs for Arithmetic", "Primitive Recursion", "Tools to help write programs", "Self-Replicating Programs", "Universal Programs"], "titleterms": {"": [8, 10], "1": [3, 11], "1946": 8, "2": 11, "3": 11, "5": 11, "A": 14, "For": 11, "That": 11, "The": [3, 4, 10, 11, 12, 13, 14], "about": 11, "abstract": 7, "add": [11, 14], "after": 11, "algorithm": 8, "all": 11, "am": 11, "an": 11, "anoth": 9, "ar": [3, 11], "argument": [1, 14], "arithmet": 10, "associ": 11, "awai": 11, "basic": 11, "bb": 10, "becaus": 11, "begin": 11, "beig": 14, "below": 11, "book": 0, "c": 11, "can": 11, "cell": 3, "chang": 11, "characterist": 1, "check": 11, "code": [6, 14], "command": 3, "comput": [0, 1, 7], "concret": 7, "copi": 4, "correspond": 8, "cours": 11, "defin": 1, "definit": [1, 2, 5, 11], "denot": 11, "diag": 13, "do": 11, "doe": [2, 12], "english": 13, "enter": 11, "enumer": 1, "equival": 5, "error": 11, "exampl": [1, 11, 12], "exercis": [11, 12, 13], "express": 11, "find": 11, "finit": 7, "first": 3, "formal": 2, "from": 11, "full": 3, "function": [1, 10, 11], "further": 12, "go": [11, 12], "goe": 11, "green": 14, "halt": [2, 11], "help": 12, "how": [11, 12], "i": [6, 11], "idea": 13, "implement": 14, "in_place_program": 11, "infinit": 7, "inform": 11, "input": [1, 11, 12], "insepct": 11, "insid": 3, "instead": 11, "instruct": [3, 14], "invit": 0, "jupyt": 3, "label": 12, "lesson": 14, "like": 11, "line": [3, 11], "littl": 11, "long": 11, "mai": 12, "mani": 14, "matrix": 8, "model": 7, "modifi": 4, "more": [1, 14], "move_2_1": 4, "notat": 4, "note": 11, "notebook": [3, 11], "one": [9, 14], "ones": 11, "oper": 3, "output": 11, "partial": 1, "plan": 14, "post": 8, "preserv": 11, "prime": 11, "primit": 11, "problem": [8, 9], "program": [1, 2, 3, 4, 5, 10, 11, 12, 13, 14], "project": 14, "realli": 11, "recurs": 11, "reduct": 9, "regist": [11, 14], "remark": 14, "remov": 10, "replic": 13, "report": 11, "represent": 10, "result": 11, "run": [3, 11], "saniti": 12, "segment": 12, "self": 13, "sens": 11, "set": [1, 3], "shown": 11, "simpl": 4, "simplif": 14, "special": 11, "step": 3, "strong": 5, "sub": 14, "subterm": 11, "successor": 10, "summari": 13, "superflu": 10, "syntax": 11, "syntax_check": 11, "take": 11, "term": 11, "test": 11, "than": 14, "thei": 11, "thi": [11, 14], "thu": 11, "tidi": 5, "tile": 8, "tool": [3, 12], "two": 1, "unboundedli": 14, "univers": 14, "us": [0, 3], "v": 7, "what": [3, 6, 12], "whatev": 11, "when": 2, "which": 11, "word": 4, "work": 12, "workflow": 12, "write": [4, 12], "you": 11, "zero": 1}}) \ No newline at end of file