From 737ed9e300ffb569ed0795dcf3e659accda8722b Mon Sep 17 00:00:00 2001 From: Joshua Potter Date: Mon, 23 Dec 2024 20:32:13 -0700 Subject: [PATCH] Finite automata and consolidate bash/POSIX. --- .../plugins/obsidian-to-anki-plugin/data.json | 27 +- notes/_journal/2024-12-21.md | 9 - notes/_journal/2024-12-23.md | 11 + notes/_journal/2024-12/2024-12-21.md | 12 + notes/_journal/2024-12/2024-12-22.md | 11 + notes/algebra/set.md | 2 +- notes/bash/index.md | 43 -- notes/bash/prompts.md | 61 --- notes/bash/robustness.md | 69 --- notes/bash/shebang.md | 58 -- notes/calculus/integrals.md | 187 ++++++- notes/calculus/intervals.md | 2 +- notes/computability/automaton.md | 501 ++++++++++++++++++ .../images/state-diagram-ends0.png | Bin 0 -> 13812 bytes .../images/state-diagram-ends1.png | Bin 0 -> 13788 bytes notes/computability/images/state-diagram.png | Bin 0 -> 26808 bytes notes/computability/index.md | 3 + notes/computability/language.md | 290 ++++++++++ notes/{posix => computability}/regexp.md | 6 +- notes/data-models/index.md | 3 + notes/{ontology => data-models}/rdf.md | 7 +- notes/encoding/uri.md | 3 +- notes/posix/bash.md | 204 +++++++ notes/serialization/index.md | 3 + notes/{encoding => serialization}/xml.md | 3 +- 25 files changed, 1260 insertions(+), 255 deletions(-) delete mode 100644 notes/_journal/2024-12-21.md create mode 100644 notes/_journal/2024-12-23.md create mode 100644 notes/_journal/2024-12/2024-12-21.md create mode 100644 notes/_journal/2024-12/2024-12-22.md delete mode 100644 notes/bash/index.md delete mode 100644 notes/bash/prompts.md delete mode 100644 notes/bash/robustness.md delete mode 100644 notes/bash/shebang.md create mode 100644 notes/computability/automaton.md create mode 100644 notes/computability/images/state-diagram-ends0.png create mode 100644 notes/computability/images/state-diagram-ends1.png create mode 100644 notes/computability/images/state-diagram.png create mode 100644 notes/computability/index.md create mode 100644 notes/computability/language.md rename notes/{posix => computability}/regexp.md (99%) create mode 100644 notes/data-models/index.md rename notes/{ontology => data-models}/rdf.md (98%) create mode 100644 notes/posix/bash.md create mode 100644 notes/serialization/index.md rename notes/{encoding => serialization}/xml.md (98%) diff --git a/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json b/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json index d54b9e6..039868f 100644 --- a/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json +++ b/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json @@ -237,7 +237,10 @@ "abs-down.png", "abs-right-down.png", "abs-left-down.png", - "triple-table-repr.png" + "triple-table-repr.png", + "state-diagram.png", + "state-diagram-ends1.png", + "state-diagram-ends0.png" ], "File Hashes": { "algorithms/index.md": "3ac071354e55242919cc574eb43de6f8", @@ -578,7 +581,7 @@ "_journal/2024-05/2024-05-25.md": "3e8a0061fa58a6e5c48d12800d1ab869", "_journal/2024-05-27.md": "b36636d10eab34380f17f288868df3ae", "_journal/2024-05/2024-05-26.md": "abe84b5beae74baa25501c818e64fc95", - "algebra/set.md": "6cf503bd1118d22a45f1571057bea96d", + "algebra/set.md": "ae08c25c07ecedb2a05c02b258b4542a", "algebra/boolean.md": "c9bd5abb601be6d2bedd24d5f54848b0", "git/merge-conflicts.md": "761ad6137ec51d3877f7d5b3615ca5cb", "_journal/2024-05-28.md": "0f6aeb5ec126560acdc2d8c5c6570337", @@ -976,7 +979,7 @@ "_journal/2024-11/2024-11-24.md": "894b021e6335d4e6947448c8d362c083", "_journal/2024-11-26.md": "29bc0b54d23034b9108e567a1d5fa8ac", "_journal/2024-11/2024-11-25.md": "1ec17a8473fa9c4779090ecbd22d70ef", - "calculus/intervals.md": "6a317fb5053b172611e9e7ae6f66f609", + "calculus/intervals.md": "7da1830e226834566eab2c5bd2cae466", "c17/storage.md": "07f0aa969d502df97f757318bde3c166", "c17/functions.md": "76b12732875998c44b22ba3531cf88a0", "_journal/2024-11-27.md": "5a58e3a0bd08c689d30600021937495d", @@ -999,7 +1002,7 @@ "_journal/2024-12/2024-12-04.md": "965f6619edf1002d960203e3e12a413b", "_journal/2024-12-06.md": "d75323d0fec57f4fc1f13cb4370df18d", "_journal/2024-12/2024-12-05.md": "4f3b1e7a43e01cc97b0eed6fbc6c1f96", - "calculus/integrals.md": "e8d36a8fae9cd785374f419996ef5269", + "calculus/integrals.md": "edc4e00d8e2b9a7cd14836bb543bb8b6", "_journal/2024-12-07.md": "bfb6c4db0acbacba19f03a04ec29fa5c", "_journal/2024-12/2024-12-06.md": "d73b611d2d15827186a0252d9b9a6580", "_journal/2024-12-08.md": "5662897539b222db1af45dcd217f0796", @@ -1015,7 +1018,7 @@ "_journal/2024-12-11.md": "e7393c01b44c5b804f86f45b8b899b59", "_journal/2024-12/2024-12-10.md": "d4f43b32220dbe174be514397b1bb035", "_journal/2024-12/2024-12-11.md": "e7393c01b44c5b804f86f45b8b899b59", - "encoding/uri.md": "394abe477b882e1414dd2fb151fea823", + "encoding/uri.md": "09552882689f55414786d709c43f6697", "encoding/xml.md": "01a66b1a102cccc682f8f1cab0f50bc6", "encoding/rdf.md": "87a47be25bc5754a11166a4b7663cada", "_journal/2024-12-15.md": "be66c8808d8bb66d4e7b91db7c93c94a", @@ -1042,7 +1045,19 @@ "encoding/xml/rdf.md": "f4491dd28b937da3182d701a863e40fe", "encoding/xml/index.md": "01a66b1a102cccc682f8f1cab0f50bc6", "ontology/reification.md": "ef8275957dcc1a7e5501722d4652e41c", - "ontology/rdf.md": "fd273c30bec6f46b68547f0d392620b1" + "ontology/rdf.md": "fd273c30bec6f46b68547f0d392620b1", + "data-models/rdf.md": "a07c290d11087346757185b8047c94c7", + "serialization/xml.md": "84b632282ebcc2b6216923a02abdd4c2", + "serialization/index.md": "5ed7e99e4efc4844839ea357d351f5d8", + "data-models/index.md": "9e60f40798490f0743f291e55f492033", + "_journal/2024-12-22.md": "015dbf675853a81db07d641e8dab7fd4", + "_journal/2024-12/2024-12-21.md": "1c1a5791f7519c92e882957cf417b51f", + "formal-system/language.md": "7797d33a0b0eb187d43dda46a138fb25", + "computability/automaton.md": "e01a115d4df90f565c51435e3f558d1e", + "computability/index.md": "92042eac186e5772144f86141fbac155", + "_journal/2024-12-23.md": "0a7cf306d477020e020ed23ce3c2d68d", + "_journal/2024-12/2024-12-22.md": "75375a867efc5b3aff406c73394d4814", + "computability/language.md": "9ee8bd16c231e71855ab1d8dae3188cb" }, "fields_dict": { "Basic": [ diff --git a/notes/_journal/2024-12-21.md b/notes/_journal/2024-12-21.md deleted file mode 100644 index 013dcdd..0000000 --- a/notes/_journal/2024-12-21.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "2024-12-21" ---- - -- [x] Anki Flashcards -- [x] KoL -- [x] OGS -- [ ] Sheet Music (10 min.) -- [ ] Korean (Read 1 Story) \ No newline at end of file diff --git a/notes/_journal/2024-12-23.md b/notes/_journal/2024-12-23.md new file mode 100644 index 0000000..e9f400c --- /dev/null +++ b/notes/_journal/2024-12-23.md @@ -0,0 +1,11 @@ +--- +title: "2024-12-23" +--- + +- [x] Anki Flashcards +- [x] KoL +- [ ] OGS +- [ ] Sheet Music (10 min.) +- [ ] Korean (Read 1 Story) + +* Added [[automaton|finite automata]] definition and related introductory notes. \ No newline at end of file diff --git a/notes/_journal/2024-12/2024-12-21.md b/notes/_journal/2024-12/2024-12-21.md new file mode 100644 index 0000000..86b5dfd --- /dev/null +++ b/notes/_journal/2024-12/2024-12-21.md @@ -0,0 +1,12 @@ +--- +title: "2024-12-21" +--- + +- [x] Anki Flashcards +- [x] KoL +- [x] OGS +- [ ] Sheet Music (10 min.) +- [ ] Korean (Read 1 Story) + +* Notes on properties of [[integrals#Step Functions|step function integrals]]. +* Additional notes on [[cardinality|cardinal numbers]]. \ No newline at end of file diff --git a/notes/_journal/2024-12/2024-12-22.md b/notes/_journal/2024-12/2024-12-22.md new file mode 100644 index 0000000..ee9b20d --- /dev/null +++ b/notes/_journal/2024-12/2024-12-22.md @@ -0,0 +1,11 @@ +--- +title: "2024-12-22" +--- + +- [x] Anki Flashcards +- [x] KoL +- [x] OGS +- [ ] Sheet Music (10 min.) +- [ ] Korean (Read 1 Story) + +* Notes on [[language]] (e.g. strings, alphabets, etc.). \ No newline at end of file diff --git a/notes/algebra/set.md b/notes/algebra/set.md index 5cb9b92..dc87d0a 100644 --- a/notes/algebra/set.md +++ b/notes/algebra/set.md @@ -366,7 +366,7 @@ For any sets $A$, $B$, and $C$, $$\begin{align*} A \cap (B \cup C) & = (A \cap B %%ANKI Basic The distributive laws of the algebra of sets apply to what operators? -Back: $\cup$ and $\cap$ +Back: $\cup$ and $\cap$. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). END%% diff --git a/notes/bash/index.md b/notes/bash/index.md deleted file mode 100644 index 725aa16..0000000 --- a/notes/bash/index.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Bash -TARGET DECK: Obsidian::STEM -FILE TAGS: bash -tags: - - bash ---- - -%%ANKI -Basic -How do you escape a `'` within a single-quote string? -Back: This is impossible. -Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) - -END%% - -%%ANKI -Basic -What does the null string refer to? -Back: The empty string, i.e. `""`. -Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) - -END%% - -%%ANKI -Basic -When does Bash remove null strings from a command? -Back: When they occur as part of a non-null command-line argument. -Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) - -END%% - -%%ANKI -Basic -Why does the following not work correctly? -```bash -$ # -F specifies the field separator -$ awk -F"" 'program' files -``` -Back: Bash removes the null string before executing the command. -Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) - -END%% \ No newline at end of file diff --git a/notes/bash/prompts.md b/notes/bash/prompts.md deleted file mode 100644 index 802906e..0000000 --- a/notes/bash/prompts.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Prompts -TARGET DECK: Obsidian::STEM -FILE TAGS: bash -tags: - - bash ---- - -## Overview - -According to Robbins a POSIX-compliant shell (like Bash) generally has the primary and secondary prompts denoted with `$` and `>` respectively. Adjust these values using environment variables `$PS1` and `PS2` respectively. - -%%ANKI -Basic -What symbol is usually used to denote the primary prompt? -Back: `$$` -Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) - -END%% - -%%ANKI -Basic -What environment variable controls Bash's primary prompt? -Back: `$$PS1` -Reference: Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916. - -END%% - -%%ANKI -Basic -What symbol is usually used to denote the secondary prompt? -Back: `>` -Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) - -END%% - -%%ANKI -Basic -What environment variable controls Bash's secondary prompt? -Back: `$$PS2` -Reference: Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916. - -END%% - -Paths supplied to commands are typically "sanitized" by prefixing the path name with `./`. This is mentioned in a few different places: - -* `find -execdir` performs this prefixing automatically on all found files. -* `awk` ambiguously interprets a file named e.g. `count=1` as variable assignment. Should write `$ awk -f program.awk ./count=1`. - -%%ANKI -Basic -What methodology is commonly used to "sanitize" paths supplied as command-line arguments? -Back: Prefixing the paths with `./`. -Reference: Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916. - -END%% - -## Bibliography - -* Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916. -* Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) \ No newline at end of file diff --git a/notes/bash/robustness.md b/notes/bash/robustness.md deleted file mode 100644 index 20a1892..0000000 --- a/notes/bash/robustness.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Measuring Command Robustness -TARGET DECK: Obsidian::STEM -FILE TAGS: bash -tags: - - bash - - shell ---- - -## Overview - -An interesting point Robbins discusses in his introduction to [[posix/awk/index|gawk]] is this idea of command robustness. He states that: - -> A self-contained shell script is more reliable because there are no other files to misplace. - -%%ANKI -Basic -What is a self-contained shell script? -Back: A shell script that does not rely on the presence of other files. -Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) - -END%% - -%%ANKI -Basic -What makes a self-contained shell script more reliable? -Back: There are no other files to misplace. -Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) - -END%% - -He argues that the first command below is more robust than the second since the command is more loosely coupled to its environment: - -```bash -$ awk 'program' input-file1 input-file2 ... -$ awk -f program-file input-file1 input-file2 ... -``` - -It's interesting to think what else can be used as a measure of a command's robustness: - -* Required environment variables or environment variables formatted in a certain way - * `$PATH` needs to point to a specific location -* Whether the invoked program is present by default in a distribution or must be installed -* The ability to run with or without an associated TTY -* The ability to run with or without associated standard streams - * `stdout`, `stderr`, `stdin` -* How backwards compatible the invoked program is - * Version mismatch may silently cause the same invocation to fail -* Expected permissions - * EUID, read permissions on an input file, etc. -* Determinism of the program itself - * Does output rely entirely on input or can it make nondeterministic choices -* The amount of resources dedicated to the program - * Failure may occur if not enough memory is provided to the command -* Whether a program acts idempotently - * What happens if I run the command twice in a row? -* Whether a program acts atomically - * Is it possible intermediate files are left that affect subsequent runs? -* The presence of timeouts - * Perhaps a program waits a specified amount of time before input is available. The command's success is now externally determined. -* Locale-aware functionality - * Consider for instance [[posix/awk/index|gawk]]'s `\u` [[escape-sequences|sequence]] which targets characters in the current locale's character set as opposed to specifically Unicode. - * POSIX standard [[posix/regexp#Character Classes|character classes]] serve as another example. - -The above scenarios are what makes something like [[nix/index|nix]] so compelling. - -## Bibliography - -* Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) diff --git a/notes/bash/shebang.md b/notes/bash/shebang.md deleted file mode 100644 index a476fe7..0000000 --- a/notes/bash/shebang.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: Shebang -TARGET DECK: Obsidian::STEM -FILE TAGS: bash -tags: - - bash ---- - -## Overview - -The shebang (also writting shabang or sha-bang) is a magic character at the start of a script indicating what command should be run when invoking the script directly. It always begins with ASCII characters `#!`. - -%%ANKI -Basic -What ASCII characters do shebangs start with? -Back: `#!` -Reference: Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916. - -END%% - -%%ANKI -Basic -What class of programs can be specified in a shebang? -Back: Interpreters -Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) - -END%% - -%%ANKI -Basic -The OS will parse a shebang into what three parts? -Back: `#!`, the interpreter, and the rest of the line as a single argument. -Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) - -END%% - -%%ANKI -Basic -What gotcha does Robbins highlight with shebang parsing? -Back: The remainder of the line following the interpreter is passed as a *single* argument. -Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) - -END%% - -Some systems limit the length of interpreters to just 32 characters. A simple workaround when encountering this limitation is to introduce a symbolic link. - -%%ANKI -Basic -What workaround is used when shebang interpreter names are too long? -Back: Introduce a symbolic link. -Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) - -END%% - -## Bibliography - -* Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916. -* Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) \ No newline at end of file diff --git a/notes/calculus/integrals.md b/notes/calculus/integrals.md index d369cd1..6d5b3a6 100644 --- a/notes/calculus/integrals.md +++ b/notes/calculus/integrals.md @@ -1,18 +1,26 @@ --- title: Integrals TARGET DECK: Obsidian::STEM -FILE TAGS: calculus::integrals +FILE TAGS: calculus::integral tags: - calculus - integral --- +## Overview + +The integral is usually defined first in terms of step functions and then general ordinate sets. It is closely tied to [[area]]. In particular, the integral of some nonnegative function on a closed interval is defined so that its area is equal to the area of the ordinate set in question. + ## Step Functions Let $s$ be a step function defined on [[intervals|interval]] $[a, b]$, and let $P = \{x_0, x_1, \ldots, x_n\}$ be a [[intervals#Partitions|partition]] of $[a, b]$ such that $s$ is constant on the open subintervals of $P$. Denote by $s_k$ the constant value that $s$ takes in the $k$th open subinterval, so that $$s(x) = s_k \quad\text{if}\quad x_{k-1} < x < x_k, \quad k = 1, 2, \ldots, n.$$ The **integral of $s$ from $a$ to $b$**, denoted by the symbol $\int_a^b s(x)\,dx$, is defined by the following formula: $$\int_a^b s(x) \,dx = \sum_{k=1}^n s_k \cdot (x_k - x_{k - 1})$$ +Furthermore, $$\int_a^b s(x) \,dx = -\int_b^a s(x) \,dx$$ + +and $$\int_a^a s(x)\,dx = 0.$$ + %%ANKI Basic Apostol first introduces the integral for the ordinate sets of what kind of function? @@ -132,6 +140,183 @@ Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Int END%% +%%ANKI +Basic +Let $s$ be a step function over $[a, b]$. How is $\int_b^a s(x) \,dx$ defined? +Back: As $-\int_a^b s(x) \,dx$. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Basic +Let $s$ be a step function over $[a, b]$. How is $\int_a^b s(x) \,dx$ defined? +Back: Given partition $P = \{x_0, x_1, \ldots, x_n\}$ with constant value $s_k$ on the $k$th open subinterval, $$\int_a^b s(x) \,dx = \sum_{k=1}^n s_k \cdot (x_k - x_{k - 1})$$ +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Basic +Let $s$ be a step function over $[a, b]$. What does $\int_a^b s(x) \,dx$ evaluate to after swapping limits of integration? +Back: As $-\int_b^a s(x) \,dx$. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Basic +Let $s$ be a step function over $[a, b]$. What does $\int_a^a s(x) \,dx$ evaluate to? +Back: $0$. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Basic +Let $s$ be a step function over $[a, b]$. What name is given to $a$ in $\int_a^b s(x) \,dx$? +Back: The lower limit of integration. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Basic +Let $s$ be a step function over $[a, b]$. What name is given to $b$ in $\int_a^b s(x) \,dx$? +Back: The upper limit of integration. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Basic +Let $s$ be a step function over $[a, b]$. What name is given to $a$ and $b$ in $\int_a^b s(x) \,dx$? +Back: The limits of integration. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +### Additivity + +Let $s$ and $t$ be step functions defined on $[a, b]$. Then $$\int_a^b s(x) + t(x) \,dx = \int_a^b s(x) \,dx + \int_a^b t(x) \,dx$$ + +%%ANKI +Basic +Let $s$ and $t$ be step functions over $[a, b]$. What does the additive property state? +Back: $\int_a^b s(x) + t(x) \,dx = \int_a^b s(x) \,dx + \int_a^b t(x) \,dx$ +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Basic +Let $s$ and $t$ be step functions over $[a, b]$. What is the following identity called? $$\int_a^b s(x) + t(x) \,dx = \int_a^b s(x) \,dx + \int_a^b t(x) \,dx$$ + +Back: The additive property. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Basic +Let $s$ and $t$ be step functions over $[a, b]$. How is the following more compactly written? $$\int_a^b s(x) \,dx + \int_a^b t(x) \,dx$$ +Back: $\int_a^b s(x) + t(x) \,dx$ +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +### Homogeneousness + +Let $s$ be a step function defined on $[a, b]$. Let $c \in \mathbb{R}$. Then $$\int_a^b c \cdot s(x) \,dx = c\int_a^b s(x) \,dx$$ + +%%ANKI +Basic +Let $s$ be a step function over $[a, b]$. What does the homogeneous property state? +Back: For all $c \in \mathbb{R}$, $\int_a^b c \cdot s(x) \,dx = c \int_a^b s(x) \,dx$. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Basic +Let $s$ be a step function defined over $[a, b]$ and $c \in \mathbb{R}$. What is the following identity called? $$\int_a^b c \cdot s(x) \,dx = c\int_a^b s(x) \,dx$$ + +Back: The homogeneous property. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +### Linearity + +Let $s$ and $t$ be step functions defined on $[a, b]$. Let $c_1, c_2 \in \mathbb{R}$. Then $$\int_a^b [c_1s(x) + c_2t(x)] \,dx = c_1 \int_a^b s(x) \,dx + c_2 \int_a^b t(x) \,dx$$ + +%%ANKI +Basic +Let $s$ and $t$ be step functions over $[a, b]$ and $c_1, c_2 \in \mathbb{R}$. What does the linearity property state? +Back: $\int_a^b [c_1 s(x) + c_2 t(x)] \,dx = c_1 \int_a^b s(x) \,dx + c_2 \int_a^b t(x) \,dx$ +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Basic +Let $s$ and $t$ be step functions over $[a, b]$ and $c_1, c_2 \in \mathbb{R}$. What is the following identity called? $$\int_a^b [c_1s(x) + c_2t(x)] \,dx = c_1 \int_a^b s(x) \,dx + c_2 \int_a^b t(x) \,dx$$ +Back: The linearity property. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Basic +The linearity property is immediately derived from what other two properties? +Back: The additive and homogeneous properties. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Cloze +The {linearity} property is a combination of the {additive} and {homogenous} properties. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +### Comparison Theorem + +Let $s$ and $t$ be step functions defined on $[a, b]$. Suppose $s(x) < t(x)$ for all $x \in [a, b]$. Then $$\int_a^b s(x) \,dx < \int_a^b t(x) \,dx$$ + +%%ANKI +Basic +Let $s$ and $t$ be step functions over $[a, b]$. What does the comparison theorem state? +Back: If $s(x) < t(x)$ for all $x \in [a, b]$, $\int_a^b s(x) \,dx < \int_a^b t(x) \,dx$. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Basic +Let $s$ and $t$ be step functions over $[a, b]$ such that $s(x) < t(x)$ for all $x \in [a, b]$. What is the following called? $$\int_a^b s(x) \,dx < \int_a^b t(x) \,dx$$ +Back: The comparison theorem. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Basic +The comparison theorem of step function integrals corresponds to what property of area? +Back: The monotone property of area. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + +%%ANKI +Basic +The monotone property of area corresponds to what theorem of step function integrals? +Back: The comparison theorem. +Reference: Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). + +END%% + ## Bibliography * Tom M. Apostol, _Calculus, Vol. 1: One-Variable Calculus, with an Introduction to Linear Algebra_, 2nd ed. (New York: Wiley, 1980). \ No newline at end of file diff --git a/notes/calculus/intervals.md b/notes/calculus/intervals.md index 25313e8..9ec0f78 100644 --- a/notes/calculus/intervals.md +++ b/notes/calculus/intervals.md @@ -1,7 +1,7 @@ --- title: Intervals TARGET DECK: Obsidian::STEM -FILE TAGS: calculus::intervals +FILE TAGS: calculus::interval tags: - calculus --- diff --git a/notes/computability/automaton.md b/notes/computability/automaton.md new file mode 100644 index 0000000..b8b57c4 --- /dev/null +++ b/notes/computability/automaton.md @@ -0,0 +1,501 @@ +--- +title: Automaton +TARGET DECK: Obsidian::STEM +FILE TAGS: computability::automaton +tags: + - automaton + - computability +--- + +## Finite Automata + +A **finite automaton** is a $5$-tuple $\langle Q, \Sigma, \delta, q_0, F \rangle$, where + +1. $Q$ is a finite set called the **states**; +2. $\Sigma$ is a finite set called the alphabet; +3. $\delta \colon Q \times \Sigma \rightarrow Q$ is the **transition function**; +4. $q_0 \in Q$ is the **start state**; and +5. $F \subseteq Q$ is the set of **final states**. + +These automaton are typically denoted using a **state diagram** like below. The start state is indicated by an arrow pointing at it from nowhere. An accept state is denoted with a double circle. + +![[state-diagram.png]] + +A [[language]] is called a **regular language** if a finite automaton recognizes it. + +%%ANKI +Basic +A finite automaton comprises of how many components? +Back: Five. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What kind of mathematical entity is $Q$? +Back: A finite set of states. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What name is given to $Q$? +Back: $M$'s states. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What is $\Sigma$? +Back: An alphabet. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What kind of mathematical entity is $\delta$? +Back: A function. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What name is given to $\delta$? +Back: $M$'s transition function. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What is $\delta$'s domain? +Back: $Q \times \Sigma$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What is $\delta$'s codomain? +Back: $Q$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What kind of mathematical entity is $q_0$? +Back: An urelement. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What name is given to $q_0$? +Back: $M$'s start state. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What name is given to $F$? +Back: $M$'s final states. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What kind of mathematical entity is $F$? +Back: A finite set. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. How does $F$ relate to $Q$? +Back: $F \subseteq Q$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. How does $q_0$ relate to $Q$? +Back: $q_0 \subseteq Q$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. How does $q_0$ relate to $F$? +Back: N/A. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M$. How many start states does $M$ have? +Back: One. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M$. How many accept states does $M$ have? +Back: Zero or more. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M$. How is $M$'s start state denoted in a state diagram? +Back: With an arrow pointing to it from nowhere. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M$. How is $M$'s final states denoted in a state diagram? +Back: With double circles. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M$. How is $M$'s transition function denoted in a state diagram? +Back: As edges to and from states. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M$. How is $M$'s alphabet denoted in a state diagram? +Back: With symbols labeling each edge. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider diagram of finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What does $Q$ evaluate to? +![[state-diagram.png]] +Back: $Q = \{q_1, q_2, q_3\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider diagram of finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What does $\Sigma$ evaluate to? +![[state-diagram.png]] +Back: $\Sigma = \{0, 1\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider diagram of finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What does $q_0$ evaluate to? +![[state-diagram.png]] +Back: $q_0 = q_1$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider diagram of finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What does $\mathop{\text{dom}}\delta$ evaluate to? +![[state-diagram.png]] +Back: $\{q_1, q_2, q_3\} \times \{0, 1\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider diagram of finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What does $\mathop{\text{ran}}\delta$ evaluate to? +![[state-diagram.png]] +Back: $\{q_1, q_2, q_3\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider diagram of finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$. What does $F$ evaluate to? +![[state-diagram.png]] +Back: $F = \{q_2\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What name is given to a finite automaton's standard graphical depiction? +Back: Its state diagram. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Cloze +{1:Edges} are to {2:diagraphs} whereas {2:transitions} are to {1:state diagrams}. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Cloze +{1:Vertices} are to {2:graphs} whereas {2:states} are to {1:state diagrams}. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Cloze +The {final} states of a finite automaton are also called the {accept} states. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +If $s$ is processed by machine $M$ such that $M$ finishes in an accept state, we say $M$ **accepts** $s$. Otherwise $M$ **rejects** $s$. If $A$ is the set of all strings that $M$ accepts, we say that $A$ is the **language of machine $M$**, denoted $L(M) = A$. We say that $M$ **recognizes** $A$. + +%%ANKI +Basic +What does it mean for finite automaton $M$ to accept string $s$? +Back: $M$ finishes processing $s$ on an accept state. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What does it mean for finite automaton $M$ to reject string $s$? +Back: $M$ finishes processing $s$ on a non-accept state. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Let $M$ be a finite automaton. What is the language of $M$? +Back: The set of strings $M$ accepts. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Cloze +Finite automaton $M$ {1:accepts} {2:strings} and {2:recognizes} {1:languages}. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +How is the language of finite automaton $M$ denoted? +Back: As $L(M)$. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Let $M$ be a finite automaton. What is $L(M)$ called? +Back: The language of $M$. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Let $M$ be a finite automaton. What kind of mathematical entity is $L(M)$? +Back: A set (of strings). +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +How many strings can a finite automaton potentially accept? +Back: Zero or more. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +How many languages can a finite automaton potentially recognize? +Back: Exactly one. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Suppoe finite automaton $M$ does not accept any strings. What language does it recognize? +Back: $\varnothing$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$ below. What does $Q$ evaluate to? +![[state-diagram-ends1.png]] +Back: $Q = \{q_1, q_2\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$ below. What does $\Sigma$ evaluate to? +![[state-diagram-ends1.png]] +Back: $\Sigma = \{0, 1\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$ below. What does $F$ evaluate to? +![[state-diagram-ends1.png]] +Back: $F = \{q_2\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$ below. What does $q_0$ evaluate to? +![[state-diagram-ends1.png]] +Back: $q_0 = q_1$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$ below. What does $\mathop{\text{dom}}\delta$ evaluate to? +![[state-diagram-ends1.png]] +Back: $\{q_1, q_2\} \times \{0, 1\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$ below. What does $\mathop{\text{ran}}\delta$ evaluate to? +![[state-diagram-ends1.png]] +Back: $\{q_1, q_2\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$ below. What does $L(M)$ evaluate to? +![[state-diagram-ends1.png]] +Back: $\{w \mid w \text{ ends with a } 1 \}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$ below. What does $Q$ evaluate to? +![[state-diagram-ends0.png]] +Back: $Q = \{q_1, q_2\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$ below. What does $\Sigma$ evaluate to? +![[state-diagram-ends0.png]] +Back: $\Sigma = \{0, 1\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$ below. What does $F$ evaluate to? +![[state-diagram-ends0.png]] +Back: $F = \{q_1\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$ below. What does $q_0$ evaluate to? +![[state-diagram-ends0.png]] +Back: $q_0 = q_1$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$ below. What does $\mathop{\text{dom}}\delta$ evaluate to? +![[state-diagram-ends0.png]] +Back: $\{q_1, q_2\} \times \{0, 1\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$ below. What does $\mathop{\text{ran}}\delta$ evaluate to? +![[state-diagram-ends0.png]] +Back: $\{q_1, q_2\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Consider finite automaton $M = \langle Q, \Sigma, \delta, q_0, F \rangle$ below. What does $L(M)$ evaluate to? +![[state-diagram-ends0.png]] +Back: $\{w \mid w = \epsilon \lor w \text{ ends with a } 0 \}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What is a regular language? +Back: A language recognized by some finite automaton. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Cloze +A {regular} language is a language {recognized by some finite automaton}. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +## Bibliography + +* Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). \ No newline at end of file diff --git a/notes/computability/images/state-diagram-ends0.png b/notes/computability/images/state-diagram-ends0.png new file mode 100644 index 0000000000000000000000000000000000000000..e47711195e7acb6cf314f014c0b349312d17e6ce GIT binary patch literal 13812 zcmd6OcRba9`1V2e-ZMM0XUN`BG9pA)_6XV8n=+$8W>kml5VDRfl!TCMA|sn)Klk}Q zzt{8U^Y8QY@}hHmJ|FLKzwi6HuKPMq^mT8L5-|}W5C~FjE%iGH1Xc$8f0+OezH`Ya z@57Hv-m2P01n@7Iz%CwMGx}(l`WSjR`1sp+*&`g?Js#Q%dE0u~+q-)^dH8JNv?{_y z{FsZ>yzFg!oITvxjhr9aBW}Zg#3k6(?QPk`Ma3oA#iV87OHz#ewxJQdmoNbW!H&>Y zS1}66-k1uzKjNE{=6FC`;JV&)>q-@+|w`3LURU$ z7Oy(|OvX0|#}rv3HiUgP%B`7wEZ!AH__-7I2IMUDr5IG2;damD$|f>AIH})UKCc{< zroh9?*bM&Db8-~W#Kt+0BHa=E=j<$4NvXvaAxfc2z!B<~vvP@mBRZOwUo@IR)kp<5 zmO?e2zX%1tG{B{0fJ;8)W2+HxsM8u*!*xZGL?j&16nFI_;Clhl|LdCy_>(koqT1MH zNmb(!M%MBCKC+ixTwFZo+HqNAJP{8cKCCn=D;VbFzIw0B`0e}mPj%I36C>O6-VFcE znA~vqC|LdRqqyz6_^@p2z7fG3p?>tek&%%-0UoBL z*xI@}iF+?Ib&=G$T(}yd(VB%eq@<)a=GNu-gaZE4k9q&qFOZ$C+)z^0(<5&=UKI#F z+aFt5St01%MIw=0SFYe@NqcBMe%!Eg_U)UlX_@i*bTe~TSC?qkSFA5_6z=WOg!OCX zja!9mX9NLuC6MW4^q!O)jktuT|KCDk!{fwP&Ifs zn0>t?H}u%~t~bB1uyJlmU8d)H8#@72K7)!*w#>7KEy0-~`=ci7N6UGR{jWqE zx3{;?+_O?sQLK*_DL;jt1^)4CoXC`L93Kolkhr_!)i^b<;TLrFI5bo--9Gaj5=k6J z%GWMeP*^zOTG9MIIF+8BzWQ#7an*J2KYMb$uVJQ*7w0Dv5`*#`2kR3ZFbk`YecGVC zp&NI<+(r&pjf@z*A96Bvap9+Bcsl#UF)!q0jzZAO99iF|W%sHbOb>G;ov8!_1?^sm zSUJRzU4G!~>>S#E3pq?Wq5oreI8(4+P)W%Oy{1LkvOS+5a**jH9&)^AGo_@UkW*Vz z0|7Dt&+MiXG|e|FH?qDO$=RL4HhA!Fs{ixn&!#YqEK!^GcsAGLy}zZUrHNlY4m^GO z^fWC`gfwO*mWU*VNi6g<-~gT>22bi?3mc%KroOQspr>>uDd)TT{DTC0F-o6+-17dn zT!sFBO}o0S3jYdI6j$pw)o^1~eMUw{F*g#6G|kraWXt+~_>uK^@!5^jTnSnRqBn1h zAI()g=pt&RVYK?QYhGr|FG}-4-PgBvCV@Dm*bw>g{d*ps{*P9A0yr@AOR>MYV&Yn# zCJOdPk?rhGNYu=xwdYmY_tT9&B~JO0&MTn7bM4xwN6Ibu%cf0d2a_M@=~yWH65m#IxA65Ct}G`xqNyw z81_xr;&bQx{Jf^mMRqoe{mqqHr3K`7CT8ZC)=xBZl(IR=zW)BzU$dm~*ROjtZbdgzTJ1Nn%6$Z@kL3$JEGZ zq=+?+h(tr#cJ#wtICi7PlqXcdqUQ&b9&AHrM{ZTq2FAvk=AHWJEAMqO+kd{f~vN5-<3=LliLL6>9vC!iAVp4skqmm1D^6)P0-qIy$sP&xB1HWQ zNToBr(38oTd057-i_^giba3n5p3mZ+KY?eD9UUFV-3SDl`V4~ET2GfmFu^Y+WgH+Z zU{X#qonDY%FNH~KF!7+%?Vgxr?C=nXT(_}ui}qcD9~8NWE`PB{^XfmRriARQXUtg? zgEOvOyGA$|6&cyH8G0z^H{VG(_jqg8Hd$L+yWN|x{l8nbck?c?VLvdBo@>~e#VJ0& zZ>p&x_9H{qmmiXV!pVAdyZ7JAapY_cn=L2hTk?^j(Y(sr7TIu)L(p?^?Ys3-$!tpB z{QmvslP4#7I%XM^WKr*_GV02d#BE$*`PJ?o>y{TIC2Ko%K4Sd!HCM=qZs(^*?cNPi zUf$k+X%I1688VMJ8w0jEgO*;HL@$f$XG6H09gnrr<=#k**}8NU@$=`;Zm1{G%VPS8 zY)ZM10iT`Ck%v*_5^F4WfA(E7_4k)fNKU59?N`R+2}q$)Qc5Zu@)7YVJ*+{PbN^D< zf?uBAV>`j>G!kCALp;wl=&L)xH2hFP@sU>o$X(Bl_hDTMC~}oMd%oq!MY$LcC{wbr z4MISQH1DNt-M`8yg4QWpT(p~OAfao$INO|nz>8j{6nu0!ULSIKj~cl`^u}aeg08(j z)I1rV6$%}m^c5qmOX8V2GQO)cuV24bM~WB0B@3S>-PImEC|EIy#HM9vJOATxj)#bB zK_N`Mo0fBfM15C{hKf@OY^Abn>LxXiVs9-P{jkEnTgXHb!sS1H{P;dR9F-&I|5Vpr zYx2`W9E707XCqG@?zDj{X>#eAUYQkYiz z;p3x;%`YS*#2tuc@fh@Zov8bauuG|^q@)DbabB)*DmlyjGhuOYae*NRrFGwPz6_IcvC*9qeZ{NLpqN^dpFN)2Wq&YG+ws3m1TVS|7k$hS1`_xp@$-hQDAAW9Z zLCYov#H^>xB}Z|2vbd;U1Vt!<7pbY?%|VAxb#2GVSY(ukMYWZ=xw#RD^V4M|;%{~V z*}A+A0~rxTMOTN42{dpuQwgbgW-$xw>RPg56kAqX`+|ssFut=>9ngrf4^xNV)~pIb z`OclRS)I-TY_9k=YeaaekmzY|8pX9MJUsK?->4M~Gkp5<#{m(K_EW{xq&V*;?!xv) zZ`mMF>l4+uj;ifb@bksA^3|h1Sst@q4MnJUUG_Ven>(LSqv1W+Xt$=TcOp1k=Gnfz zF||g_!c!^3_%n$T*$D{=IVOUz!jqH95aE^;^x1@jj&Cfj$ynvJa5a6fpY>UbUPZoE zHL$g{?UZIMD36Z5=t292({DHkt*#O+}c|K@-W*f z$WhqJ>UGqxLtE0n-`#ozTj2Fd*rNTdcDg!}GK~Ze2Wqkgl5$VA8MXDBt0CvUh-`$G zBqSY#vWdy7Ssl&tk`jS}lmSiKwV!3*oh0MoNaozs&w?VK%yOMmHi>cpmnUr!A{eXv z9lnJ7Z)=yGvurM=B|AkqjoU3&yC7DR? z+_{sQnMqhZAt;-ZO1X;ct=Cf2(6oi|VpI3saFh)HD_1>{SY}?=?j~hBn5$4QOvq@6 z)FnN__Wt*~A>N&9B#M%qg@|M(f<28nr2<{M$jr<`Y5h0oSzwfU|Djwwxq_0HlK$|+4aMijcpUZ-bQ z4EkYjRnKV{DJGhOVY8zL;2WT2ocdYzXN!5v*W#& zzdg~7imoazFHilqw0m&5FNiFePN;?^JTIMeskqO;z<_dUpN%X>H}2!dkD)Ua#l;3K zmN0QyIXRq6U3?zdrT+I=C(Cu(^sBX~Hdr`Lu72JT2 z@CKv{wK%dEqX=g=w@xVa&pD~t*izuF{f666b7rZzY!cW|kXH3Pd0L#EoRl3L-ruov z7|fljs0S*eY2@(&j$m0?S%#c{`HEz4cMrbQ!(Y+J+(07K=uDfnXns)<0aSxCT}ldZ zrc(ru5m_hNP0Z2`u;$Q@AJ{NN6U)cAa7FKzFHh>Lq%Mm1Co3;K= z@&I{OfIi8`V$BMgZ>3nM7+^`zC#@Gj>KYnHzHJXSrP_Ucd=dktW|Z;GSW}QQk{4Pk zxSIKp*dP4;@vfsKPqVP?DXjnn8(YP|?;lQ*TDrQdd!fzDP)daW-d2X3_~iw$jai;w zOJgP@OoaQe5p=@$<1v`5<8y^BQY|o0cECZRJCPA5Ni*v0TkgDnlOrS1aB}OX+ySfG zz{nM8^Pm=$npPDI9&$FsDdCym+r}dRVs*x`g%UJd&Uo}~)&|%DL^9}>lV>G|(t<$! z_2I8JWg)wfce1)4sFij}J1u`~4GUpbMh9OAeG?P>#wkTRt`B8pU2y1LTwLs1U0ic< zb&cDXqZYpp6}Kzwv?pw~VL6w1=M!EOR%T`ixMcTTKmD>aT z?bCS-uFRD= zn7H37t-?|bz^1(1=(q78=2grG@B4;Jv&@K{#Qpf8balO~gdAhqiXuI*Nws&wa zj$8YxkdTIrjSZ^qRo$ID!8PEL+Y*ttA_@nl$EA0MCmva+upgUqFV8^2-z8#NtH2ep%< z%6%Wo9kr2%hC{NAzdXK~M3iXFl!Vul!q$Vy3;-^gnwmnR_6h)|jk`%P09YFx<&c&h z6EVz-YO8S`7Ipn8IPm%!F=imwy?HRmiw($5hWul%*2!J+qiHtusa4%%*`8+0*@5}} zmf(iL)}}gfVA{U}7Lv}+mlSefG_ZE>oGebRS*`q<++OH;1d0kA0~Uoq8mrKwD`aen ziIAUR;V;dd`gt43`Yv6PW}1u+IGqX zIt4MW12Cr8;lG{Bd11n$Cv#P1Wmoz6F@IsJomk}3 z6xMjH4iELsn>P{BmU7$Dka6E4k%di7EW)pdCnhHPd={R4_6xjn@tSRkR4VDQ47axG z-Mh4VfeJvWl6H1>43^4bS5}+^O)C+*f4+7AmKO8>cYo;`Rypei8%S<&*kwFt5dfDd zUXHD6X=$N;H+a9ukZ{z^>-UkCmbSe(KO1iiQ##*6D$ON`v`}Phph}GepmJS`>xf89 zB$-2Y1k)02a8m$qKrtr`|5Z0L`xVcWWLXi{^&sMl-Rkb#m+fofO(Hw zI@%%Zp2q#=?b}N{>4Xgp4R9hCDt8Z&AYRx`e6%Fc{`=jeE{@d)Rgzue>Vqh*8p_XTC&g%@H|TLY?sleqz7{$h7WHH{nUqz!<= zqVjUqO5_joOvJJ<2Kl51NK}>2 z-#fp(2Ne+E|Ni|~OfU;r=fT#3o=?b^Eu$@kB!=07fjlL)uzi!TciEO}|NeFJ<^@MS zocv@1hqUj7X|wk2+Zs1-68)^OQu+`Kh!*51%rx5DRcYwxl2^CYsV8*RVerbQ@uf92 zG>;!YR-CCgWIuru@}l65g@wY0U~cWmFLsebPMs-Xr?w#VQGzT15u-?+?_h8LCO;qH z>+Ac$$|Q8IJq80Kw(0;IU^L0_65RdP^R?DW+a9vlvKzd>1iCSN)xQ7b+?zPo_K{*k zEX2vdMn~BBa@hQo|IEIb+i!PifIyXj`>T}A^e|j_k(!;IxW2xg&-QBXF8idm=o@Tm z_NICgF?0cuahZIa}mavVpWseSVm@ z_@9D#i*63b50-IfR5Bju^f=i|}6y$=NoxvLY`t zUfVsrklSpchLYGjFc8hHE%Rvp(sc0d?Iz$9lnRpqBMc;Xr525JN=IMxME%ysLzU_# zH!OSX(JH3CzSqRX#j&52dp6|^fOyF%wawS2&da;R6xWt<7*HHmCaz_4qb(?PGpat1D?=`1u3`)V#c4DB`h#!caBu z-o1O1i}?LK_WhjV+TbHEg!0|HFUD%Gp+@(mL01Mi*$wdi_$(Ms#(1qO{p#A<_G}dS zynpM-WjMUgUcbKCbtM{hO;S=aKu8#YiS*a6nIJC<%uIgv6+obUh@`Uj+<76f6bu`X z!g|B+xFjToks)1Zz9L9T`HGR=vN<>PN(%~9uP^`G_yn5`NUx7pWV2zJb^TW@F#x5m z0*!>NHLDAzVWeJc~dGB!3AYla+$)Na?%HW*u*8?IJ$a}%6j zSkOSu`x{xGCJx4G-@3(IbI7Sp1?z=n-Ale|-O*zQ2o+B#5t1h?IwJhXk2`MTl^lYH zr<@%<6++KJuJvi;#Aov0ovU|bq-9XrtvzfeM;Sa0&g9o7qb}JvMxptRY{*rxsIevkwS5aIk@{v$OS@YoBAtd(lDq7E(5UE*N z#IO37YPDo@bU{6x?|UI&qqLld?sllg zCf+0?_gDI8eb>MM3&Ioz{q87cX9(N&a>nc;crq4W{`?cEv@}?i{w8N{p+CU@` zFfqG=vyjJeDsg3Gh)-O}3Fxhf$yk2WN$`*jU>k%4F-uF`4{Ic$06%|fMh1hQq1Y1- z3>ov^v}F3thQTD5Sc860ysrI75x&GtfRbOne2L0s9d@a;nGBi(V9YNd@SH;=fLcnLSEExf+IzOpesgXu#_$+PTik|a$o*%tNW+u=HsRE{l9fgdIfVF-=T@*38y1J@Tx9cy%Vp{b;L)nX? zO{H+idV9XBJx~O|1fcita3D)d)h#Vq0kL5~Xt2^(#S9r1vemZK5{2kDx+zEEF^{kgZ z#YLQnfB-DUQhGHlc2hw*JA3=b54j++`iiTp1x1xt*y0T$3^JJ%fCyIzy6k;g(%dY} zQT9!t|m;kA5<)fT8x?i=^E@gd< zJw6U>9TfF$xQ~@ttJ$lJE@wpbP7<_EQ|4vDNul~a+%o6Iu8I3c4thJlKcq2fy`X>- zP97F?kQn#nZ?JwuAZXPwUV!O)u93O6p%@bi-bWE;J{?gl8x=_ma!%Z9tOc)zb_WS1 z@ftK59iAJxWB&lKx5;#2vxj5#1PJ8%W@aB2*S#82U%te9)gJ@&TE)L)3+X9C(P+8B z8*uy=`3O35AI>C0fz(G03=AmFq;nI(f_D9?bsYj-WM{|AZMumO`p(~D3%h6kC@0OE zwIsI|buDazvdKx3XDvP+G&6}#0QelJIL3;)Yi!)^P|YDAAi(Y#*gmH$$d1c1V)?e( zaqz*f8fTpI#5`4VQ2a0)8q>hCWQ%JZI(xj=tyHg}lf+~97JD@6Z-})-nqlwhIZt}= z;IEIG(krgrDwRS1(mg+CP$={#%x0XJ?mRQ{#j3m1w$*zgim3t?lIMO5E#Rtg+9k zb5)FiB;aW2)k*N+!Zymi&K4L`QCZo>ZgqEecW513yb|-6{+f;;UBcM*E9Gr_*Vpi4>CWLDW8?S1 z&5nbtrIyW1K#v1t`#35uDHZ`{kj?Z}CuwThc+R00)C264lq=KQuA%cV7{7PBq2y z;lF#X3tqB0z2Cn58#bJCHG^sVs8`QrZ3K$DLc>VO1A&E++sM8^xdzgFb8@RTY3sHv z=zka(w=?|*KNZ;G2c=i9S7;{uLAC;2M5*)yH1!qIE3nxRrq8E|JZl{nAn5Mi#Z`8T zXaGnS_q&~EgqdtRM+E=D`Qml}#NqqWqj|YtITkX^cC@sxhHpNM-qgtj>9w*N+eL?h zDuQUhUo()%?W#+e3#3mRsZ?u*SvHa|A=TzNikT-e6o8(zZrw8cq&kl;-|T;UaOD+X zmX-ZLL9?3p>1r-zWUuC%swzs^L&w9N!x)5>I7a3n2 z3GAs^(5Dy_6$wrrIxdOkNS@ z-rl?U>AYG2f7jR5y}iBl1@-sdCGE8&lg!AZ-!L{dR`!#XVoHK0nc>;v5olEu8kw6X z0Gq+owHqvCaccX8tN_P{k6%s8ecibyC6!e+7;@tm&JUN`?=H2L_~?id+?7!itIIEG?^CPU05-t%~zr0hFXnLc+O2yP#!#S02M!SUz^RQf?tk6j`bXk|M)gOBHKS9o2Pd6nk!1@zn5w!KrocM>Ol zu_GE+)tEg=vf2*}$%|?NY9hmu9GcaA>~&;UySt1Z{zmZ}8v*{MA?@hTAUHvF11cWW zeEY@?d?@Jn&0n=h{C?R~UVb%-i5ft(PD2G)Vc#mkSfN5zW@~MEHcmlp+6#=)zLufG z1I1{cd1SeH1Dc!Rbn;e4Mn=%el3G0QWFY`_1Dc(tg98uv6`H02=Cwg0;^X6UD>oj? z8gfzx90E1E`C##NR+a&zJD}a-sEKFR`o_kwS8lyz=i}4%;a4duEX2V$e{^+|SBx~1 z@Q%*%-@ku9c+C{Ay+ULt=#iZaR7}r?`<4mBN)JflB5sL`1DWnS2`5Rkx+HpEm&-6> zI||r57DMoHLC=DUvvaZdnOOGL6C5?te>jroRA10DiWI}aYP7Aaw`CGr5k5}`Jb)Hh zOJzNK{(R9_DiiXOySuTypypdlZ*ePdHR@ve_U+poVM&j~Wm{^}wcd@o4E_F{C_Np( zC8(Q%H4?R*wZAr|mi9K3d42z9BRw@q!nf0i!(Kdr4A|6EZaz0AQpW36zqH?e{7>5K zn5GuXFd*+v2?hto*8|m%FfO2AA3pHg&mbeVrW2;zk!>N^;elc}bIq?ztU|7p5|IEt zj%UlErJ)IECY{;I^1x#K06a}w`^nBpKu3_s+E@j-wI6qefyjHM=^#E3jdPw_ogtK4 zR=C?W936QIAs!`BJh(6(n!btu5qSL)Z~I4ZPIN71vX3SVLOJ| zVoW76YE-4r90Cj27WAhJOG`;i%I{O=r0EB@?P2u36s2=hAK6e1-0nf}q*OV4W%}*a zFBBy_3&{?;bD%GI%I2Vt*D7!_mR3Nh#N=F{Tj;%Ez2<3QX=!?L`7H!%DB9*%P~sk@ z-ubTmoCBi3@i=@*5Aq-!FVk8V+Q7g-b>xBx?9?EPrs~mxW**+o?#>QW*ypag(Vzxl z1IPfKslwGVyktQFR(-tbu{TOYMkCTHC`eAqWBRuvTa%U@;O;8Z%0~;`mGT6IDxtK1 z?m=be#L$Nb9qlyC87MPO0Bu!8sYYXg8B3OhtRm_db=aEDtqr)}X2P>~W!tY{$VoM{ zy{}aspO_#l86`rUB$u+ZHkI@*!47GE7giPE<5SVrCIpa; zFC={W38WQ=>ddFa+fVD#_4BsGshY!=g)4is@T}fr83hVu;vlgVcnV!YszT?olEUgy5}7uqiB5A00dM3 z57Ru=_t=F67;lVicVZj(puTVZD8rf4fU-dh;u>(a;_r-7FeJ86GzSC%21lEj$*yeN z=Aj1ZYpa{tqbT$%2^A|Caw0Lq0_so?PJj>>-Z#SV4A^AT=0M+Zw&)=S9R!$bFbzT> zp|8kpTS$MklJDNV>(k7P0CMUk#SDGN=Y|1lOJC_NSY>?(0BdR8yt!IeWe+{ZJVOU) zut5RUKc5*HQAdt&_NMD8KCwFAd4-Yv&zG#uaWPgNV>v>N;IVCp&l{cXw)~=4--ATG zD}A||w}O-;(Ca) zoh1wU5N6J;z3Qz}Gff}zp}brZ%ynKNURFoHoB}Uen)mnitbf-(LT`A4B_uIR7rc9C zZ(4yv7@8u#LjaM8SuK|9UYB4;(Px`so5LYNtsWq)$7Wkol>%vdj@$E0^pBSiX!CGL zI3y&fA;WRCNF~B~&C~&kcXN9dcgd_dA$9m~bjMtH#~j1ZV#IV35A;fqT;k^^UINCY z;ceC^ut!FLVWVx%6EG?bxTyYB?sBx*LSG&|F&G+)$(?mme$3G0ivuqNrcJ{YC?8fs zO^JSAN0)G=w0u*XDp6Gj$OO1vCvLEXbUv`Pod8$HDHF)0hieO6-Q6F-CK?B=w5JIP zac3tlU%UWgBE~@mdgReLSQh($vtl~RU`|{Qfp5oNu-iz&nYW4n27YZRN(` zBk@Vd*b)pRp^w+6H@L;bhBh}kXP#wb^n&06w-10j_hOQOY>rUf2R0h)qnTjeWtMWI zn3iekf=(m2d0Bl6=QQ2}9hn(~Ciz#4sQ5o^>q$_iFy6I$Mn=!KTB$WI;!{!_!C6HG z{cLvdnq5{1eBKOcMyGHHeb!L^kk^GJ^=JXHF5P-W3cm($^78d-{!79?E)4?%h8sC9v|2(un=uan5pm0q2x1Jmc|&!6C~GcuwHnt#GOjxl+HpKEGr zYW?hR#u1dp%B|MBZ*S=6ko14~Vgo?WP*H0paIGvnIKxHqb^b%%W^&Zd?(SW_j~q;3 zVM7bwffgxrq+viC6V*MN$og1njEXr~?MM#qT?6;u8ID~(>wvP@!(Wo0{5H%Ez_RC{Sgw z5a87MPhc-8F)%k5kZKbZd%R-@@-a#OOQDV^a>e*8j}}HmWzeBJAT9XIivM|d1S{OB z?pa!rl^M&eI-hjB8C!et@L)es0qng|r>DVz7o_1tIu!kbgC^w`WQn00{mSSX$Mi3k z3Wo@0R}-s&Q$pJleHKtZAIbW(6|zBM8MnIKwzoxR?k$^iQ2!*(d8fz!{4f zrRhUPMNIz}oPES}g8Gr0&-@m9DQiA`f{ca>+wAo4p@yrg0N8oCWn3>3o;*>3;lbHU z0t!eBRx?b$6FTEW2sD^)qrpPX0yFHOw+fDc7Hb>hNs4Bn3N)p_I`L;9b78k7VC)wJ zGpKwpLT9-`%6x2UJTUab7XoE1s$4h(Ux@IJ(hQp~YU=9Z?uu>S1uyWQ!Mqf3*gz3kdrS}=&W&vnFsg0~Gviujzgb7jgnaFbB;q55Sb zYb|v^mrUR_hyiCghoT}Y#<`!!D6!SSc1{7!u7CbPDLqkO1_6&(sFfASKY%w?Fdq>3 zKV52gqYZlgqR^^NWR@ng?Md!RlAex-a9jYSV$?!UON*PNS(shkaIgku$6_l>OxGM_ zV@wgnloG43v)UhOYk&U|cHYv~Qi6|aY(Ibs1a0#7UW}1Y1LnXOXso!7PZW0D|6lf< z`oJ3ipugoQrGR_1u(=tC(Pa=Wb|-hK=JhalSA&g%uld>ku_WjRibLbPWGTtJsY#Swbt^feX@%`*nPD3t~+ z+LTY9q*^UpG9p!dzRNPGUIMiiL}3I117wntlC*B$?&=q5C4rTM$NVaL6^%Q0H#w5? z#{)RHVqEg#%g6OyS|z@#k@DacR-rV&e9}X(zx2~5KUCgsKi2S)KcA|C z6CEQ5mP4%>7HaJU#fG080_7%!f0avh1U~+fidY!q*!Cm!KR=ru6X4*cF^J&cMgjdp zpw=|X&@mNgjRgY2yRb-vqL$XN^Mh;s6r5nCRgHY!vp|`H%~7a|c?c#gBQ}vJ5EO1dhw;ZT7 zZ-;Y@aVLPH4tC3eJKUWjMfhr3;l6%;51?HLj0D1Ob+;Pahu8=(Hfy}qjGrN#(G8E} zq>Az&90mt7FhNsubLI^-O-gqTc`Tx*@kvnc?fXOPCci?7iCI=xnXAYbgDHgTB6mN3 u%uChR_}`xca!Sqnzwhw>7as>YXUii%fB#iYDhi*-LTGE~s+X%;NB%G9+>HGI literal 0 HcmV?d00001 diff --git a/notes/computability/images/state-diagram-ends1.png b/notes/computability/images/state-diagram-ends1.png new file mode 100644 index 0000000000000000000000000000000000000000..af283fec46f7a2b57835e9e8f81a59243b97467a GIT binary patch literal 13788 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 +END%% + +%%ANKI +Basic +An alphabet is a set satisfying what two properties? +Back: It is nonempty and finite. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What is a symbol of an alphabet? +Back: A member of the alphabet. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What name is given to members of an alphabet? +Back: Symbols. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Cloze +A {symbol} is a {member} of an {alphabet}. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What is a string over an alphabet? +Back: A finite sequence of symbols from that alphabet. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What kind of mathematical entity is a string over an alphabet? +Back: A finite sequence. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +$01001$ is a string over what minimal alphabet? +Back: $\{0, 1\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +$hello$ is a string over what minimal alphabet? +Back: $\{e, h, l, o\}$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +How is the length of string $s$ over alphabet $\Sigma$ denoted? +Back: As $\lvert s \rvert$. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +How is the length of a string over an alphabet defined? +Back: As the number of symbols in the string. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Let $w$ be a string over some alphabet. How is the length of $w$ denoted? +Back: $\lvert w \rvert$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What is the empty string over an alphabet? +Back: The string of length $0$. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +How is the empty string over an alphabet typically denoted? +Back: $\epsilon$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What is the reverse of string $w$ over some alphabet? +Back: The string obtained by writing $w$ in opposite order. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +How is the reverse of string $w$ over some alphabet typically denoted? +Back: $w^R$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +How does the length of a string relate to the length of its reverse? +Back: They are equal. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +How does the length of a string relate to the length of a substring? +Back: The latter is less than or equal to the former. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What is a substring of string $w$ over some alphabet? +Back: A string that appears consecutively within $w$. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Let $x$ and $y$ be strings over some alphabet. How is their concatenation denoted? +Back: $xy$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Let $x$ and $y$ be strings over some alphabet. What is the length of $\lvert x y \rvert$? +Back: $\lvert x \rvert + \lvert y \rvert$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +How is the concatenation of strings $x$ and $y$ over some alphabet denoted? +Back: $xy$ +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Let $x$ be a string over some alphabet. What does $xx$ denote? +Back: The concatenation of $x$ with itself. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Cloze +Let $x$ be a string over some alphabet. Then {$xx$} $=$ {$x^2$}. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +Let $x$ be a string over some alphabet. What does $x^k$ denote? +Back: The concatenation of $x$ with itself $k$ times. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What does it mean for string $x$ to be a prefix of string $y$ over some alphabet? +Back: There exists some string $z$ such that $xz = y$. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What does it mean for string $x$ to be a proper prefix of string $y$ over some alphabet? +Back: There exists some string $z$ such that $xz = y$ and $x \neq y$. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What does it mean for string $x$ to be a suffix of string $y$ over some alphabet? +Back: There exists some string $z$ such that $zx = y$. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What does it mean for string $x$ to be a proper suffix of string $y$ over some alphabet? +Back: There exists some string $z$ such that $zx = y$ and $x \neq y$. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What is a language? +Back: A nonempty set of strings. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +A language is a set satisfying what? +Back: It contains strings over some alphabet. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Cloze +{1:Symbols} are to {2:alphabets} whereas {2:strings} are to {1:languages}. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What does it mean for a language to be prefix-free? +Back: No member is a *proper* prefix of another member. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +%%ANKI +Basic +What does it mean for a language to be suffix-free? +Back: No member is a *proper* suffix of another member. +Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). + +END%% + +## Bibliography + +* Michael Sipser, _Introduction to the Theory of Computation_, Third edition, international edition (Australia Brazil Japan Korea Mexiko Singapore Spain United Kingdom United States: Cengage Learning, 2013). \ No newline at end of file diff --git a/notes/posix/regexp.md b/notes/computability/regexp.md similarity index 99% rename from notes/posix/regexp.md rename to notes/computability/regexp.md index 6a747dc..1ced083 100644 --- a/notes/posix/regexp.md +++ b/notes/computability/regexp.md @@ -8,6 +8,10 @@ tags: ## Overview +TODO + +## Extensions + The following ERE (**E**xtended **R**egular **E**xpression) operators were defined to achieve consistency between programs like `grep`, `sed`, and `awk`. In POSIX, regexps are greedy. %%ANKI @@ -253,7 +257,7 @@ Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 202 END%% -## Character Classes +### Character Classes Notation for describing a class of characters specific to a given locale/character set. diff --git a/notes/data-models/index.md b/notes/data-models/index.md new file mode 100644 index 0000000..f2be47f --- /dev/null +++ b/notes/data-models/index.md @@ -0,0 +1,3 @@ +--- +title: Data Models +--- diff --git a/notes/ontology/rdf.md b/notes/data-models/rdf.md similarity index 98% rename from notes/ontology/rdf.md rename to notes/data-models/rdf.md index 368bacc..978442e 100644 --- a/notes/ontology/rdf.md +++ b/notes/data-models/rdf.md @@ -1,8 +1,9 @@ --- title: RDF TARGET DECK: Obsidian::STEM -FILE TAGS: ontology::rdf +FILE TAGS: data_model::rdf tags: + - data_model - rdf --- @@ -173,7 +174,7 @@ END%% Cloze RDF is a {data model} whereas XML is a {serialization}. Reference: Allemang, Dean, James A. Hendler, and Fabien L. Gandon. _Semantic Web for the Working Ontologist_. 3e ed. ACM Books 33. New York: Association for computing machinery, 2020. -Tags: xml +Tags: serialization::xml END%% @@ -182,7 +183,7 @@ Basic How might RDF and XML relate to one another? Back: XML can be used to serialize RDF. Reference: Allemang, Dean, James A. Hendler, and Fabien L. Gandon. _Semantic Web for the Working Ontologist_. 3e ed. ACM Books 33. New York: Association for computing machinery, 2020. -Tags: xml +Tags: serialization::xml END%% diff --git a/notes/encoding/uri.md b/notes/encoding/uri.md index d80f0b3..42d834c 100644 --- a/notes/encoding/uri.md +++ b/notes/encoding/uri.md @@ -1,8 +1,9 @@ --- title: Uniform Resource Identifiers TARGET DECK: Obsidian::STEM -FILE TAGS: uri +FILE TAGS: encoding::uri tags: + - encoding - uri --- diff --git a/notes/posix/bash.md b/notes/posix/bash.md new file mode 100644 index 0000000..2a1a292 --- /dev/null +++ b/notes/posix/bash.md @@ -0,0 +1,204 @@ +--- +title: Bash +TARGET DECK: Obsidian::STEM +FILE TAGS: bash +tags: + - bash +--- + +## Overview + +Bash, the Bourne-Again Shell, is a shell program and command language. + +%%ANKI +Basic +How do you escape a `'` within a single-quote string? +Back: This is impossible. +Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) + +END%% + +%%ANKI +Basic +What does the null string refer to? +Back: The empty string, i.e. `""`. +Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) + +END%% + +%%ANKI +Basic +When does Bash remove null strings from a command? +Back: When they occur as part of a non-null command-line argument. +Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) + +END%% + +%%ANKI +Basic +Why does the following not work correctly? +```bash +$ # -F specifies the field separator +$ awk -F"" 'program' files +``` +Back: Bash removes the null string before executing the command. +Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) + +END%% + +## Prompts + +According to Robbins a POSIX-compliant shell (like Bash) generally has the primary and secondary prompts denoted with `$` and `>` respectively. Adjust these values using environment variables `$PS1` and `PS2` respectively. + +%%ANKI +Basic +What symbol is usually used to denote the primary prompt? +Back: `$$` +Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) + +END%% + +%%ANKI +Basic +What environment variable controls Bash's primary prompt? +Back: `$$PS1` +Reference: Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916. + +END%% + +%%ANKI +Basic +What symbol is usually used to denote the secondary prompt? +Back: `>` +Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) + +END%% + +%%ANKI +Basic +What environment variable controls Bash's secondary prompt? +Back: `$$PS2` +Reference: Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916. + +END%% + +Paths supplied to commands are typically "sanitized" by prefixing the path name with `./`. This is mentioned in a few different places: + +* `find -execdir` performs this prefixing automatically on all found files. +* `awk` ambiguously interprets a file named e.g. `count=1` as variable assignment. Should write `$ awk -f program.awk ./count=1`. + +%%ANKI +Basic +What methodology is commonly used to "sanitize" paths supplied as command-line arguments? +Back: Prefixing the paths with `./`. +Reference: Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916. + +END%% + +## Shebang + +The shebang (also writting shabang or sha-bang) is a magic character at the start of a script indicating what command should be run when invoking the script directly. It always begins with ASCII characters `#!`. + +%%ANKI +Basic +What ASCII characters do shebangs start with? +Back: `#!` +Reference: Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916. + +END%% + +%%ANKI +Basic +What class of programs can be specified in a shebang? +Back: Interpreters +Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) + +END%% + +%%ANKI +Basic +The OS will parse a shebang into what three parts? +Back: `#!`, the interpreter, and the rest of the line as a single argument. +Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) + +END%% + +%%ANKI +Basic +What gotcha does Robbins highlight with shebang parsing? +Back: The remainder of the line following the interpreter is passed as a *single* argument. +Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) + +END%% + +Some systems limit the length of interpreters to just 32 characters. A simple workaround when encountering this limitation is to introduce a symbolic link. + +%%ANKI +Basic +What workaround is used when shebang interpreter names are too long? +Back: Introduce a symbolic link. +Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) + +END%% + +## Robustness + +An interesting point Robbins discusses in his introduction to [[posix/awk/index|gawk]] is this idea of command robustness. He states that: + +> A self-contained shell script is more reliable because there are no other files to misplace. + +%%ANKI +Basic +What is a self-contained shell script? +Back: A shell script that does not rely on the presence of other files. +Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) + +END%% + +%%ANKI +Basic +What makes a self-contained shell script more reliable? +Back: There are no other files to misplace. +Reference: Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) + +END%% + +He argues that the first command below is more robust than the second since the command is more loosely coupled to its environment: + +```bash +$ awk 'program' input-file1 input-file2 ... +$ awk -f program-file input-file1 input-file2 ... +``` + +It's interesting to think what else can be used as a measure of a command's robustness: + +* Required environment variables or environment variables formatted in a certain way + * `$PATH` needs to point to a specific location +* Whether the invoked program is present by default in a distribution or must be installed +* The ability to run with or without an associated TTY +* The ability to run with or without associated standard streams + * `stdout`, `stderr`, `stdin` +* How backwards compatible the invoked program is + * Version mismatch may silently cause the same invocation to fail +* Expected permissions + * EUID, read permissions on an input file, etc. +* Determinism of the program itself + * Does output rely entirely on input or can it make nondeterministic choices +* The amount of resources dedicated to the program + * Failure may occur if not enough memory is provided to the command +* Whether a program acts idempotently + * What happens if I run the command twice in a row? +* Whether a program acts atomically + * Is it possible intermediate files are left that affect subsequent runs? +* The presence of timeouts + * Perhaps a program waits a specified amount of time before input is available. The command's success is now externally determined. +* Locale-aware functionality + * Consider for instance [[posix/awk/index|gawk]]'s `\u` [[escape-sequences|sequence]] which targets characters in the current locale's character set as opposed to specifically Unicode. + * POSIX standard [[regexp#Character Classes|character classes]] serve as another example. + +The above scenarios are what makes something like nix so compelling. + +## Bibliography + +* Cooper, Mendel. “Advanced Bash-Scripting Guide,” n.d., 916. +* Robbins, Arnold D. “GAWK: Effective AWK Programming,” October 2023. [https://www.gnu.org/software/gawk/manual/gawk.pdf](https://www.gnu.org/software/gawk/manual/gawk.pdf) \ No newline at end of file diff --git a/notes/serialization/index.md b/notes/serialization/index.md new file mode 100644 index 0000000..08b57b1 --- /dev/null +++ b/notes/serialization/index.md @@ -0,0 +1,3 @@ +--- +title: Serialization +--- diff --git a/notes/encoding/xml.md b/notes/serialization/xml.md similarity index 98% rename from notes/encoding/xml.md rename to notes/serialization/xml.md index 4e878d1..94a6fc3 100644 --- a/notes/encoding/xml.md +++ b/notes/serialization/xml.md @@ -1,8 +1,9 @@ --- title: XML TARGET DECK: Obsidian::STEM -FILE TAGS: xml +FILE TAGS: serialization::xml tags: + - serialization - xml ---