From bc0cba086a932cb9b85e3d890ddf75536c32af3c Mon Sep 17 00:00:00 2001
From: lmoss \n",
- " \n",
- "
\n"
+ "\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " instruction \n",
- " explanation \n",
- " \n",
- " \n",
- " 1 \n",
- " 1# \n",
- " add 1 to R1 \n",
- " \n",
- " \n",
- " 2 \n",
- " 11##### \n",
- " cases on R2 \n",
- " \n",
- " \n",
- " 3 \n",
- " 1### \n",
- " go forward 1 to instruction 4 \n",
- " \n",
- " \n",
- " \n",
- "4 \n",
- " 1### \n",
- " go forward 1 to instruction 5 \n",
- "
"
],
"text/plain": [
- " \n",
+ " instruction explanation \n",
+ " \n",
+ " 1 \n",
+ " 1# \n",
+ " add 1 to R1 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 11##### \n",
+ " cases on R2 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1### \n",
+ " go forward 1 to instruction 4 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 1### \n",
+ " go forward 1 to instruction 5 \n",
+ " \n",
- " \n",
- "
\n"
+ "\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " contents \n",
- " \n",
- " \n",
- " 1 \n",
- " 1#1 \n",
- " \n",
- " \n",
- " \n",
- "2 \n",
- " # \n",
- "
"
],
"text/plain": [
- " \n",
+ " contents \n",
+ " \n",
+ " 1 \n",
+ " 1#1 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " # \n",
+ " \n",
- " \n",
- "
\n"
+ "\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " contents \n",
- " \n",
- " \n",
- " 1 \n",
- " 1#11 \n",
- " \n",
- " \n",
- " \n",
- "2 \n",
- " # \n",
- "
"
],
"text/plain": [
- " \n",
+ " contents \n",
+ " \n",
+ " 1 \n",
+ " 1#11 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " # \n",
+ " \n",
- " \n",
- "
\n"
- ],
- "text/plain": [
- "\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " contents \n",
- " \n",
- " \n",
- " 1 \n",
- " 1#11 \n",
- " \n",
- " \n",
- " \n",
- "2 \n",
- " \n",
- " \n",
- " \n",
- "
\n"
+ "\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " instruction \n",
- " explanation \n",
- " \n",
- " \n",
- " \n",
- "1 \n",
- " 1# \n",
- " add 1 to R1 \n",
- "
"
],
"text/plain": [
- " \n",
+ " instruction explanation \n",
+ " \n",
+ " 1 \n",
+ " 1# \n",
+ " add 1 to R1 \n",
+ " \n",
- " \n",
- "
\n"
+ "\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " contents \n",
- " \n",
- " \n",
- " 1 \n",
- " #1 \n",
- " \n",
- " \n",
- " 2 \n",
- " #1 \n",
- " \n",
- " \n",
- " \n",
- "3 \n",
- " 1# \n",
- "
"
],
"text/plain": [
- " \n",
+ " contents \n",
+ " \n",
+ " 1 \n",
+ " #1 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " #1 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 1# \n",
+ " \n",
- " \n",
- "
\n"
+ "\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " instruction \n",
- " explanation \n",
- " \n",
- " \n",
- " 1 \n",
- " 1## \n",
- " add # to R1 \n",
- " \n",
- " \n",
- " \n",
- "2 \n",
- " 11# \n",
- " add 1 to R2 \n",
- "
"
],
"text/plain": [
- " \n",
+ " instruction explanation \n",
+ " \n",
+ " 1 \n",
+ " 1## \n",
+ " add # to R1 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 11# \n",
+ " add 1 to R2 \n",
+ " \n",
- " \n",
- "
\n"
+ "\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " contents \n",
- " \n",
- " \n",
- " 1 \n",
- " \n",
- " \n",
- " \n",
- " \n",
- "2 \n",
- " \n",
- "
"
],
"text/plain": [
- " \n",
+ " contents \n",
+ " \n",
+ " 1 \n",
+ " \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " \n",
+ " \n",
- " \n",
- "
\n"
+ "\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " contents \n",
- " \n",
- " \n",
- " 1 \n",
- " # \n",
- " \n",
- " \n",
- " \n",
- "2 \n",
- " \n",
- "
"
],
"text/plain": [
- " \n",
+ " contents \n",
+ " \n",
+ " 1 \n",
+ " # \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " \n",
+ " \n",
- " \n",
- "
\n"
- ],
- "text/plain": [
- "\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " contents \n",
- " \n",
- " \n",
- " 1 \n",
- " # \n",
- " \n",
- " \n",
- " \n",
- "2 \n",
- " 1 \n",
- " 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'
-
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)
+
def end_strip(list): ## removes the tail of empty registers
if list == []:
return(list)
@@ -548,7 +529,22 @@ First stepsprogram = '11#####111111###111###1##1111####1#111111####' #@param {type:"string"}
-R1 = '#11###1' #@param {type:"string"}
+R1 = '#11#
+
File "<ipython-input-16-be182edc98d2>", line 13
+ R1 = '#11#
+ ^
+SyntaxError: EOL while scanning string literal
+
##1' #@param {type:"string"}
R2 = '11111#' #@param {type:"string"}
#R3 = '' #@param {type:"string"}
@@ -769,134 +765,70 @@ Running programs in notebook cellsFirst, here is the program:
- | instruction | -explanation | -
---|---|---|
1 | -1# | -add 1 to R1 | -
2 | -11##### | -cases on R2 | -
3 | -1### | -go forward 1 to instruction 4 | -
4 | -1### | -go forward 1 to instruction 5 | -
The computation starts with the register contents shown below.
+ instruction explanation
+
+ 1
+ 1#
+ add 1 to R1
+
+
+ 2
+ 11#####
+ cases on R2
+
+
+ 3
+ 1###
+ go forward 1 to instruction 4
+
+
+ 4
+ 1###
+ 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
-
-
-
-
- 1
- 1#1
-
-
- 2
- #
-
-
-
-Step 1:
+ contents
+
+ 1
+ 1#1
+
+
+ 2
+ #
+
+
Step 1:
Execute instruction 1: add 1 to R1.
-
-
-
-
-
- contents
-
-
-
-
- 1
- 1#11
-
-
- 2
- #
-
-
-
-Step 2:
+ contents
+
+ 1
+ 1#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
-
-
-
-
- 1
- 1#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 cellsFirst, here is the program:
-
-
-
-
-
- instruction
- explanation
-
-
-
-
- 1
- 1#
- add 1 to R1
-
-
-
-The computation starts with the register contents shown below.
+ instruction explanation
+
+ 1
+ 1#
+ 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
-
-
- 3
- 1#
-
-
-
-Step 1:
+ contents
+
+ 1
+ #1
+
+
+ 2
+ #1
+
+
+ 3
+ 1#
+
+
Step 1:
Execute instruction 1: add 1 to R1.
This computation does not halt.
Here is the list of registers whose contents are not empty at this point, other than R1:[2, 3].
@@ -1003,123 +912,59 @@ Running programs in notebook cellsFirst, here is the program:
-
-
-
-
-
- instruction
- explanation
-
-
-
-
- 1
- 1##
- add # to R1
-
-
- 2
- 11#
- add 1 to R2
-
-
-
-The computation starts with the register contents shown below.
+ instruction explanation
+
+ 1
+ 1##
+ add # to R1
+
+
+ 2
+ 11#
+ 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
- #
-
-
- 2
- 1
-
-
-
-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'
+
+
+
+
+
+
clear_1 = '1##### 111### 11#### 111####'
onesharp(clear_1,['1111###1111##########'])
# You can also run the line above slowly by running
@@ -1136,6 +993,11 @@ Running programs in notebook cells
+''
+
+
+
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