From dd5769b630e053bea84659a2473d172f98e15dad Mon Sep 17 00:00:00 2001 From: Joshua Potter Date: Sun, 22 Sep 2024 16:30:49 -0600 Subject: [PATCH] Inductive sets, `enum` types, and BFS. --- .../plugins/obsidian-to-anki-plugin/data.json | 45 +++-- notes/_journal/2024-09-22.md | 13 ++ notes/_journal/{ => 2024-09}/2024-09-19.md | 0 notes/_journal/2024-09/2024-09-20.md | 9 + notes/_journal/2024-09/2024-09-21.md | 11 ++ notes/algebra/arch-prop.md | 2 +- notes/algorithms/bfs.md | 177 +++++++++++++++++ notes/algorithms/images/bfs.gif | Bin 0 -> 13022 bytes notes/algorithms/images/dfs.gif | Bin 0 -> 12511 bytes notes/c17/types/conversions.md | 20 +- notes/c17/types/simple.md | 107 +++++++++++ .../formal-system/proof-system/equiv-trans.md | 7 - notes/lambda-calculus/beta-reduction.md | 2 +- notes/set/functions.md | 4 +- notes/set/graphs.md | 8 +- notes/set/index.md | 32 ++++ notes/set/natural-numbers.md | 178 +++++++++++++++++- notes/set/order.md | 2 +- notes/x86-64/instructions/arithmetic.md | 2 +- notes/x86-64/instructions/logical.md | 2 +- 20 files changed, 581 insertions(+), 40 deletions(-) create mode 100644 notes/_journal/2024-09-22.md rename notes/_journal/{ => 2024-09}/2024-09-19.md (100%) create mode 100644 notes/_journal/2024-09/2024-09-20.md create mode 100644 notes/_journal/2024-09/2024-09-21.md create mode 100644 notes/algorithms/bfs.md create mode 100644 notes/algorithms/images/bfs.gif create mode 100644 notes/algorithms/images/dfs.gif diff --git a/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json b/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json index a634e1d..d1a6648 100644 --- a/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json +++ b/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json @@ -194,7 +194,17 @@ "function-kernel.png", "peano-system-i.png", "peano-system-ii.png", - "relation-ordering-example.png" + "relation-ordering-example.png", + "archimedean-property.png", + "church-rosser.png", + "directed-graph-example.png", + "undirected-graph-example.png", + "cyclic-undirected-labelled.png", + "graph-isomorphic.png", + "graph-induced-subgraph.png", + "graph-subgraph.png", + "graph-non-subgraph.png", + "bfs.gif" ], "File Hashes": { "algorithms/index.md": "3ac071354e55242919cc574eb43de6f8", @@ -374,8 +384,8 @@ "_journal/2024-03-18.md": "8479f07f63136a4e16c9cd07dbf2f27f", "_journal/2024-03/2024-03-17.md": "23f9672f5c93a6de52099b1b86834e8b", "set/directed-graph.md": "b4b8ad1be634a0a808af125fe8577a53", - "set/index.md": "7d09418b46856b721f14c5c1bc7320fa", - "set/graphs.md": "15aa43bf7f73347219f822e4b400e9bf", + "set/index.md": "9ac07f7fc1fadf1b42278df90b464adb", + "set/graphs.md": "a56f867f51e69cb7438bbdf6215fca36", "_journal/2024-03-19.md": "a0807691819725bf44c0262405e97cbb", "_journal/2024-03/2024-03-18.md": "2c711c50247a9880f7ed0d33b16e1101", "awk/variables.md": "e40a20545358228319f789243d8b9f77", @@ -568,8 +578,8 @@ "lambda-calculus/alpha-conversion.md": "6df655e60976715e5c6fbbe72b628c6d", "lambda-calculus/index.md": "76d58f85c135c7df00081f47df31168e", "x86-64/instructions/condition-codes.md": "9c05ed99f5c96162e25f0ec4db55c656", - "x86-64/instructions/logical.md": "818428b9ef84753920dc61e5c2de9199", - "x86-64/instructions/arithmetic.md": "271218d855e7291f119f96e91f582738", + "x86-64/instructions/logical.md": "49d40018f1fcb4ed1595d9175bbaab57", + "x86-64/instructions/arithmetic.md": "1a8e0731c60f44b40366b475179377b8", "x86-64/instructions/access.md": "3efe399b89b947ab280dc1e045675390", "x86-64/instructions/index.md": "72c19067e938ab39ea51d25d6ac2bad9", "_journal/2024-06-09.md": "935b3ddf65c51e680ac5c000c7e380af", @@ -586,10 +596,10 @@ "_journal/2024-06/2024-06-12.md": "f82dfa74d0def8c3179d3d076f94558e", "_journal/2024-06-14.md": "5d12bc272238ac985a1d35d3d63ea307", "_journal/2024-06/2024-06-13.md": "e2722a00585d94794a089e8035e05728", - "set/functions.md": "59e449d6756b57c846cdf07b0a1b4330", + "set/functions.md": "b93f460500a6a7228607f842636ed3b3", "_journal/2024-06-15.md": "92cb8dc5c98e10832fb70c0e3ab3cec4", "_journal/2024-06/2024-06-14.md": "5d12bc272238ac985a1d35d3d63ea307", - "lambda-calculus/beta-reduction.md": "a8e2825c84e842ceef7aa638a493b91a", + "lambda-calculus/beta-reduction.md": "0935987f2bac0e6298735f2b26fd5885", "_journal/2024-06-16.md": "ded6ab660ecc7c3dce3afd2e88e5a725", "_journal/2024-06/2024-06-15.md": "c3a55549da9dfc2770bfcf403bf5b30b", "_journal/2024-06-17.md": "63df6757bb3384e45093bf2b9456ffac", @@ -675,7 +685,7 @@ "logic/classical/index.md": "ee0a4b2bfcfa2cab0880db449cb62df1", "logic/classical/truth-tables.md": "b739e2824a4a5c26ac446e7c15ce02aa", "formal-system/proof-system/index.md": "800e93b72a9852ea4823ab0a40854bba", - "formal-system/proof-system/equiv-trans.md": "47afc3ffa0bb758d9629d9d4a401394e", + "formal-system/proof-system/equiv-trans.md": "e2eae52f49249b622b87c7fd06967666", "formal-system/logical-system/index.md": "708bb1547e7343c236068c18da3f5dc0", "formal-system/logical-system/pred-logic.md": "34e872f4f920bf4e8c2cd00ee95b310f", "formal-system/logical-system/prop-logic.md": "b61ce051795d5a951c763b928ec5cea8", @@ -746,7 +756,7 @@ "_journal/2024-08/2024-08-15.md": "7c3a96a25643b62b0064bf32cb17d92f", "_journal/2024-08-17.md": "b06a551560c377f61a1b39286cd43cee", "_journal/2024-08/2024-08-16.md": "da1127a1985074a3930b4c3512344025", - "set/order.md": "b69f922200514975b7a7028eef030b59", + "set/order.md": "3bf63dd9c8ce6d2b4c6905dab0bd4aad", "_journal/2024-08-18.md": "6f8aec69e00401b611db2a377a3aace5", "ontology/philosophy/properties.md": "41b32249d3e4c23d73ddb3a417d65a4c", "_journal/2024-08-19.md": "94836e52ec04a72d3e1dbf3854208f65", @@ -756,14 +766,14 @@ "calculus/index.md": "5ee4d950533ae330ca5ef9e113fe87f3", "x86-64/instructions/conditions.md": "c5571deac40ac2eeb8666f2d3b3c278e", "_journal/2024-08-20.md": "e8bec308d1b29e411c6799ace7ef6571", - "algebra/arch-prop.md": "eccdd685f12898ed8679b558d19dc20a", + "algebra/arch-prop.md": "bca3724ef5aae3f7f20907108087af47", "_journal/2024-08/2024-08-19.md": "94836e52ec04a72d3e1dbf3854208f65", "_journal/2024-08-21.md": "59e9483143ba6beec4f9ae2a09eb90a8", "_journal/2024-08-22.md": "050235d5dc772b542773743b57ce3afe", "_journal/2024-08/2024-08-21.md": "1637b8ec8475cf3eb4f41d1d86cbf5df", "_journal/2024-08/2024-08-20.md": "e8bec308d1b29e411c6799ace7ef6571", "_journal/2024-08-23.md": "3b2feab2cc927e267263cb1e9c173d50", - "set/natural-numbers.md": "353d1eef7b50fa8f635adc928df734fa", + "set/natural-numbers.md": "a14465985e87b81ccbe3a5d27159654a", "_journal/2024-08-24.md": "563fad24740e44734a87d7c3ec46cec4", "_journal/2024-08/2024-08-23.md": "7b5a40e83d8f07ff54cd9708017d029c", "_journal/2024-08/2024-08-22.md": "050235d5dc772b542773743b57ce3afe", @@ -771,7 +781,7 @@ "c17/enums.md": "9414fb67aa256a0a11b7240534c67bf6", "c17/derived-types.md": "6fb8f23a2423f05d5bdccb6672a32e38", "c17/basic-types.md": "7c6653bf6dc24c2f2aa72fc95c4f7875", - "c17/types/simple.md": "36445dec496b5f7a066bdb7738b2f17e", + "c17/types/simple.md": "0fab7afc623e441cd17ae23497f6babe", "c17/types/enumerated.md": "e1f70a30677c776b7b44ac3e0ff4e76d", "c17/types/derived.md": "aff0d2b6d218fb67af3cc92ead924de3", "c17/types/basic.md": "5064e21e683c0218890058882e06b6f3", @@ -784,7 +794,7 @@ "_journal/2024-08/2024-08-25.md": "a3337b4658677810127350ef3e0ad146", "_journal/2024-08-27.md": "d9ffc6ea2128ab5a86ab5f2619206736", "_journal/2024-08/2024-08-26.md": "6f40716e2f01cd097d4881259babf1ba", - "c17/types/conversions.md": "477528bf1a297a8fc4eed0ecb4206158", + "c17/types/conversions.md": "843ece1b41a227618c797b25cbcdd98b", "_journal/2024-08-28.md": "c9c0e7ab8bcbf23d6332b3f19ec4d997", "_journal/2024-08-30.md": "ff50eb8dd5124c20d4fa291d8b675238", "_journal/2024-08/2024-08-28.md": "92e653379c8d7594bb23de4b330913fe", @@ -816,7 +826,14 @@ "_journal/2024-09/2024-09-17.md": "caea0dab26b0970c045ccd9e5f2f3765", "_journal/2024-09/2024-09-16.md": "7dd800d514051dd36c33c14623c7c5c8", "_journal/2024-09/2024-09-15.md": "0e5d1ecd73edf343d3a268b25140a921", - "_journal/2024-09-19.md": "612f08e8f9ce35f71378e2c4a636c862" + "_journal/2024-09-19.md": "612f08e8f9ce35f71378e2c4a636c862", + "_journal/2024-09-20.md": "69cf79bb0cb8c116a9c0f671671fdc44", + "_journal/2024-09/2024-09-19.md": "d9ce529c7df341cc5142b52f2de451f2", + "_journal/2024-09-21.md": "c3dbc09d0892e830a16159898f3c30d6", + "_journal/2024-09/2024-09-20.md": "69cf79bb0cb8c116a9c0f671671fdc44", + "_journal/2024-09-22.md": "2d00b00b4eb9964465f30210187603cf", + "_journal/2024-09/2024-09-21.md": "2e6425f4db0187082947c3e0cb24f754", + "algorithms/bfs.md": "2734400c0a5843c92adbc2a0f06d4d56" }, "fields_dict": { "Basic": [ diff --git a/notes/_journal/2024-09-22.md b/notes/_journal/2024-09-22.md new file mode 100644 index 0000000..0c3a85a --- /dev/null +++ b/notes/_journal/2024-09-22.md @@ -0,0 +1,13 @@ +--- +title: "2024-09-22" +--- + +- [x] Anki Flashcards +- [x] KoL +- [ ] OGS +- [ ] Sheet Music (10 min.) +- [ ] Korean (Read 1 Story) + +* Finished "Inductive Sets" in chapter 4 of "Elements of Set Theory". +* Finished notes on C's enumerated types. +* Notes on [[bfs|BFS]]. \ No newline at end of file diff --git a/notes/_journal/2024-09-19.md b/notes/_journal/2024-09/2024-09-19.md similarity index 100% rename from notes/_journal/2024-09-19.md rename to notes/_journal/2024-09/2024-09-19.md diff --git a/notes/_journal/2024-09/2024-09-20.md b/notes/_journal/2024-09/2024-09-20.md new file mode 100644 index 0000000..7746efd --- /dev/null +++ b/notes/_journal/2024-09/2024-09-20.md @@ -0,0 +1,9 @@ +--- +title: "2024-09-20" +--- + +- [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-09/2024-09-21.md b/notes/_journal/2024-09/2024-09-21.md new file mode 100644 index 0000000..b689ec0 --- /dev/null +++ b/notes/_journal/2024-09/2024-09-21.md @@ -0,0 +1,11 @@ +--- +title: "2024-09-21" +--- + +- [x] Anki Flashcards +- [x] KoL +- [ ] OGS +- [ ] Sheet Music (10 min.) +- [ ] Korean (Read 1 Story) + +* Additional notes on transitive sets. \ No newline at end of file diff --git a/notes/algebra/arch-prop.md b/notes/algebra/arch-prop.md index e88dbd5..6ec7c5d 100644 --- a/notes/algebra/arch-prop.md +++ b/notes/algebra/arch-prop.md @@ -78,7 +78,7 @@ END%% %%ANKI Basic -What mathematical entities are assumed to exist in the formulate of the Archimedean property of the reals? +What mathematical entities are presumed in the Archimedean property of the reals? Back: Two positive real numbers. Reference: “Archimedean Property,” in _Wikipedia_, June 23, 2024, [https://en.wikipedia.org/w/index.php?title=Archimedean_property](https://en.wikipedia.org/w/index.php?title=Archimedean_property&oldid=1230567137). diff --git a/notes/algorithms/bfs.md b/notes/algorithms/bfs.md new file mode 100644 index 0000000..2ca7e1d --- /dev/null +++ b/notes/algorithms/bfs.md @@ -0,0 +1,177 @@ +--- +title: Breadth-First Search +TARGET DECK: Obsidian::STEM +FILE TAGS: algorithm data_structure::graph +tags: + - bfs + - graph +--- + +## Overview + +Bread-first search operates on a graph $G = \langle V, E \rangle$ and a **source** vertex $s$. It works by distinguishing between discovered and undiscovered nodes, incrementally marking nodes adjacent to discovered nodes from undiscovered to discovered. + +![[bfs.gif]] + +%%ANKI +Basic +What is BFS an acronym for? +Back: **B**readth-**f**irst **s**earch. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Cloze +Breadth-first search is characterized by a graph and a {source vertex}. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Cloze +The {1:source} of breadth-first {2:search} is the {2:root} of the breadth-first {1:tree}. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Which of undirected and directed graphs is BFS applicable to? +Back: Both. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +With respect to breadth-first trees, what does the predecessor of a node $N$ refer to? +Back: The node from which $N$ was discovered. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +With respect to breadth-first trees, what does the parent of a node $N$ refer to? +Back: The node from which $N$ was discovered. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +With respect to breadth-first trees, the predecessor of a node is also known as what? +Back: The parent of the node. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +With respect to breadth-first trees, the parent of a node is also known as what? +Back: The predecessor of the node. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +What ADT is typically used to manage the set of most recently discovered BFS vertices? +Back: A queue. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Which vertices are not discovered during a graph BFS? +Back: Those not reachable from the source vertex. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +What basic graph algorithm is the following a demonstration of? +![[bfs.gif]] +Back: Breadth-first search. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +In BFS, what happens to the nodes found within the internal queue? +Back: Undiscovered nodes adjacent to those in the queue are enqueued. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Which of BFS or DFS is used to find shortest paths? +Back: BFS. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +When can BFS *not* be used to find shortest paths? +Back: When the graph in question has differently weighted edges. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Which weighted graphs can BFS be used on to find shortest paths? +Back: Graphs with equally weighted edges. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Which standard graph representation has worst-case BFS running time of $O(\lvert V \rvert + \lvert E \rvert)$? +Back: The adjacency-matrix representation. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Given graph $\langle V, E \rangle$ with adjacency-list representation, what is the worst-case run time of BFS? +Back: $O(\lvert V \rvert + \lvert E \rvert)$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Given graph $\langle V, E \rangle$ with adjacency-matrix representation, what is the worst-case run time of BFS? +Back: $O(\lvert V \rvert^2)$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +*Why* is BFS of an adjacency-list representation $O(\lvert V \rvert + \lvert E \rvert)$? +Back: For each vertex being analyzed, we only examine its immediately adjacent vertices. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +*Why* is BFS of an adjacency-matrix representation $O(\lvert V \rvert^2)$? +Back: For each vertex being analyzed, we must examine $\lvert V \rvert$ entries for adjacent vertices. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +## Bibliography + +* Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). \ No newline at end of file diff --git a/notes/algorithms/images/bfs.gif b/notes/algorithms/images/bfs.gif new file mode 100644 index 0000000000000000000000000000000000000000..ac6e5194ee2e577cbb1ca16598fac8173b1cf784 GIT binary patch literal 13022 zcmeI2XH*m1zUD*dAee;EYanz)Ktw=PKnPU?M4CvG-UOs5y@uX<51r7F-b3$F1OXB0 zy$0!EocDa5nKSFotb6XcYu^2NueHDY{?Gq;p0yQ}5aJRhB6wVQTV()tn-3heE_~L$ za64B~OCK?7KVdsJLAwB+_aE=u2R^j(7JdIo;DeX=d%s6co)V7!kDUS}K6pzx2R``_ z^wcHzv74W?TgcOo0kR*%o_`9L^N5i3LL$7PbB zj?L6h$TmtywTMr9laynfm|>ojYn)zSmzraeQD~8YvQI<3%PO(X%CpHXaLUZLMHRZ_ z6glLTye~kz<)NL6%RiJ5mgMz*!3HMhldc4oG9#&vaN zcXY*fcPI4ppfEkfojr+ty?NbzrQQ80gM;P0gPCJvRfD6Y!((M5U&=?vi^eBvM<(jW zrpms~w2XggnwV*wp6i~P@0|WxJNLDBW}$obTig8X@a$~=!uNq63tc}K#(ykM{#=?` zS{_|l9$Q_RURj-4U7OfgpWEDA+1y#&-TS$>zqx<7dVIWdc)W(i?jD`&9sk-m`L&Nd z-8wxx{B?eGc5!@ud2(^}>+h|pV_vQ7)`3>&+_Uh*MHSW*tpZ~uP><_t`yw
C} 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 literal 0 HcmV?d00001 diff --git a/notes/algorithms/images/dfs.gif b/notes/algorithms/images/dfs.gif new file mode 100644 index 0000000000000000000000000000000000000000..a6999037a7930948880b3e7f7747535c107faa1d GIT binary patch literal 12511 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 aN`(=Uc3&O2C;ae6=*Z&K$-h|cw literal 0 HcmV?d00001 diff --git a/notes/c17/types/conversions.md b/notes/c17/types/conversions.md index 3eb90a7..3f1fbc7 100644 --- a/notes/c17/types/conversions.md +++ b/notes/c17/types/conversions.md @@ -216,14 +216,26 @@ What is the type domain of `a + b`? unsigned short a; signed int b; ``` -Back: Indeterminate. +Back: Real. Reference: “ISO: Programming Languages - C,” April 12, 2011, [https://port70.net/~nsz/c/c11/n1570.pdf](https://port70.net/~nsz/c/c11/n1570.pdf). END%% %%ANKI Basic -*Why* is the type domain of `a + b` indeterminate? +What is the common real type of `a + b`? +```c +unsigned short a; +signed int b; +``` +Back: Indeterminate. +Reference: “ISO: Programming Languages - C,” April 12, 2011, [https://port70.net/~nsz/c/c11/n1570.pdf](https://port70.net/~nsz/c/c11/n1570.pdf). + +END%% + +%%ANKI +Basic +*Why* is the common real type of `a + b` indeterminate? ```c unsigned short a; int b; @@ -235,7 +247,7 @@ END%% %%ANKI Basic -What *might* the type domain of `a + b` be? +What *might* the common real type of `a + b` be? ```c unsigned short a; signed int b; @@ -259,7 +271,7 @@ END%% %%ANKI Basic -When is the type domain of `a + b` equal to `unsigned int`? +When is the common real type of `a + b` equal to `unsigned int`? ```c unsigned short a; signed int b; diff --git a/notes/c17/types/simple.md b/notes/c17/types/simple.md index 2f32e8b..37c77e8 100644 --- a/notes/c17/types/simple.md +++ b/notes/c17/types/simple.md @@ -764,6 +764,64 @@ Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Program END%% +### Integer Constant Expressions + +An integer constant expression (ICE) is a compile-time integer value. Its value must be determinable at compile time (e.g. no function calls are permitted), and also no evaluation of an object must participate as an operand. + +%%ANKI +Basic +What is ICE an acronym for? +Back: **I**nteger **c**onstant **e**xpression. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +*Why* isn't `b42` in the following considered an ICE? +```c +enum { b42 = 42 } +``` +Back: N/A. It is. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +*Why* isn't `b42` in the following considered an ICE? +```c +signed const a42 = 42; +enum { b42 = a42 } +``` +Back: Because it depends on the evaluation of object `a42`. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +*Why* isn't `c52` in the following considered an ICE? +```c +enum { b42 = 42, c52 = b42 + 10 } +``` +Back: N/A. It is. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +*Why* isn't `b42` in the following considered an ICE? +```c +signed const a42() { return 42; } +enum { b42 = a42() } +``` +Back: Because it depends on a function call. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + ## Floating Point ### Literals @@ -933,7 +991,56 @@ Reference: Van der Linden, Peter. _Expert C Programming: Deep C Secrets_. Progra END%% +%%ANKI +Basic +Positional values of `enum`s start at what value? +Back: `0` +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +What type is given to enumeration constants? +Back: `signed int` +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +What kind of integer expressions are `enum` constants limited to? +Back: Integer constant expressions. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +Besides being an ICE, what other condition is expected on `enum` values? +Back: The ICE evaluates to an integer that fits within a `signed int`. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +What mechanism(s) are available for defining constants of type `signed int`? +Back: `enum`s and macros. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + +%%ANKI +Basic +What mechanism(s) are available for defining constants of type `unsigned int`? +Back: Macros. +Reference: Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). + +END%% + ## Bibliography * “ISO: Programming Languages - C,” April 12, 2011, [https://port70.net/~nsz/c/c11/n1570.pdf](https://port70.net/~nsz/c/c11/n1570.pdf). +* Jens Gustedt, _Modern C_ (Shelter Island, NY: Manning Publications Co, 2020). * Van der Linden, Peter. _Expert C Programming: Deep C Secrets_. Programming Languages / C. Mountain View, Cal.: SunSoft Pr, 1994. diff --git a/notes/formal-system/proof-system/equiv-trans.md b/notes/formal-system/proof-system/equiv-trans.md index 3e4186a..0e6ee10 100644 --- a/notes/formal-system/proof-system/equiv-trans.md +++ b/notes/formal-system/proof-system/equiv-trans.md @@ -468,13 +468,6 @@ $$ END%% -%%ANKI -Cloze -The system of evaluation has {equivalences} whereas the formal system has {theorems}. -Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. - -END%% - %%ANKI Basic What is a "theorem" in the equivalence-transformation formal system? diff --git a/notes/lambda-calculus/beta-reduction.md b/notes/lambda-calculus/beta-reduction.md index 64385a4..7b3c7a9 100644 --- a/notes/lambda-calculus/beta-reduction.md +++ b/notes/lambda-calculus/beta-reduction.md @@ -395,7 +395,7 @@ END%% %%ANKI Basic -What proposition explains how applications relate to the definition of $\beta\text{-nf}$? +What proposition explains how atoms and applications relate to the definition of $\beta\text{-nf}$? Back: For all atoms $a$, if $M, N \in \beta\text{-nf}$, then $aMN \in \beta\text{-nf}$. Reference: Hindley, J Roger, and Jonathan P Seldin. “Lambda-Calculus and Combinators, an Introduction,” n.d. [https://www.cin.ufpe.br/~djo/files/Lambda-Calculus%20and%20Combinators.pdf](https://www.cin.ufpe.br/~djo/files/Lambda-Calculus%20and%20Combinators.pdf). diff --git a/notes/set/functions.md b/notes/set/functions.md index 5bcdd04..7130020 100644 --- a/notes/set/functions.md +++ b/notes/set/functions.md @@ -1655,7 +1655,7 @@ END%% %%ANKI Basic -Let $A$ be closed under $S$. With maximum specificity, what kind of mathematical object is $A$? +Let $A$ be closed under $S$. What kind of mathematical object is $A$? Back: A set. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). @@ -1663,7 +1663,7 @@ END%% %%ANKI Basic -Let $A$ be closed under $S$. With maximum specificity, what kind of mathematical object is $S$? +Let $A$ be closed under $S$. What kind of mathematical object is $S$? Back: A function. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). diff --git a/notes/set/graphs.md b/notes/set/graphs.md index 13cd6fa..3f972de 100644 --- a/notes/set/graphs.md +++ b/notes/set/graphs.md @@ -1203,7 +1203,7 @@ END%% %%ANKI Basic -With maximum specificity, is $\langle B, D, E, J, K, B, A \rangle$ a path, trail, or walk? +Is $\langle B, D, E, J, K, B, A \rangle$ most precisely a path, trail, or walk? ![[cyclic-undirected-labelled.png]] Back: A trail. Reference: Oscar Levin, *Discrete Mathematics: An Open Introduction*, 3rd ed., n.d., [https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf](https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf). @@ -1212,7 +1212,7 @@ END%% %%ANKI Basic -With maximum specificity, is $\langle B, D, E, J, K, B \rangle$ a path, trail, or walk? +Is $\langle B, D, E, J, K, B \rangle$ most precisely a path, trail, or walk? ![[cyclic-undirected-labelled.png]] Back: A path. Reference: Oscar Levin, *Discrete Mathematics: An Open Introduction*, 3rd ed., n.d., [https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf](https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf). @@ -1221,7 +1221,7 @@ END%% %%ANKI Basic -With maximum specificity, is $\langle B, D, B, K, L \rangle$ a path, trail, or walk? +Is $\langle B, D, B, K, L \rangle$ most precisely a path, trail, or walk? ![[cyclic-undirected-labelled.png]] Back: A walk. Reference: Oscar Levin, *Discrete Mathematics: An Open Introduction*, 3rd ed., n.d., [https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf](https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf). @@ -1230,7 +1230,7 @@ END%% %%ANKI Basic -With maximum specificity, is $\langle A, B, D \rangle$ a path, trail, or walk? +Is $\langle A, B, D \rangle$ most precisely a path, trail, or walk? ![[cyclic-undirected-labelled.png]] Back: A path. Reference: Oscar Levin, *Discrete Mathematics: An Open Introduction*, 3rd ed., n.d., [https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf](https://discrete.openmathbooks.org/pdfs/dmoi3-tablet.pdf). diff --git a/notes/set/index.md b/notes/set/index.md index 984f4f5..7d99ce4 100644 --- a/notes/set/index.md +++ b/notes/set/index.md @@ -787,6 +787,38 @@ Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Pre END%% +%%ANKI +Basic +Let $A$ be a set. What does $\bigcup \mathscr{P} A$ evaluate to? +Back: $A$. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $A$ be a set. *Why* does $\bigcup \mathscr{P} A = A$? +Back: Because $\mathscr{P} A$ evaluates to the subsets of $A$. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $A$ be a set. What does $\bigcap \mathscr{P} A$ evaluate to? +Back: $\varnothing$. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $A$ be a set. *Why* does $\bigcap \mathscr{P} A = \varnothing$? +Back: Because $\varnothing \in \mathscr{P} A$. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + ## Subset Axioms For each formula $\_\_\_$ not containing $B$, the following is an axiom: $$\forall t_1, \cdots, \forall t_k, \forall c, \exists B, \forall x, (x \in B \Leftrightarrow x \in c \land \_\_\_)$$ diff --git a/notes/set/natural-numbers.md b/notes/set/natural-numbers.md index 5906de3..8d853ed 100644 --- a/notes/set/natural-numbers.md +++ b/notes/set/natural-numbers.md @@ -283,7 +283,7 @@ END%% %%ANKI Basic -Suppose $n \in \omega$. What other sets *must* $n$ be a member of? +Suppose $n \in \omega$. By definition of natural numbers, what other sets must $n$ be a member of? Back: Every other inductive set. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). @@ -377,6 +377,8 @@ A **Peano system** is a triple $\langle N, S, e \rangle$ consisting of a set $N$ * $S$ is one-to-one; * Any subset $A$ of $N$ that contains $e$ and is closed under $S$ equals $N$ itself. +Given $\sigma = \{\langle n, n^+ \rangle \mid n \in \omega\}$, $\langle \omega, \sigma, 0 \rangle$ is a Peano system. + %%ANKI Basic A Peano system is a tuple consisting of how many members? @@ -387,7 +389,7 @@ END%% %%ANKI Basic -Consider Peano system $\langle N, S, e \rangle$. With maximum specificity, what kind of mathematical object is $N$? +Consider Peano system $\langle N, S, e \rangle$. What kind of mathematical object is $N$? Back: A set. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). @@ -395,7 +397,7 @@ END%% %%ANKI Basic -Consider Peano system $\langle N, S, e \rangle$. With maximum specificity, what kind of mathematical object is $S$? +Consider Peano system $\langle N, S, e \rangle$. What kind of mathematical object is $S$? Back: A function. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). @@ -419,7 +421,7 @@ END%% %%ANKI Basic -Consider Peano system $\langle N, S, e \rangle$. With maximum specificity, what kind of mathematical object is $e$? +Consider Peano system $\langle N, S, e \rangle$. What kind of mathematical object is $e$? Back: A set or urelement. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). @@ -538,6 +540,70 @@ Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Pre END%% +%%ANKI +Basic +Which Peano system serves as the prototypical example? +Back: $\langle \omega, \sigma, 0 \rangle$ where $\sigma$ denotes the successor restricted to the natural numbers. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $\langle \omega, \sigma, 0 \rangle$ be a Peano system. How is $\omega$ defined? +Back: As the set of natural numbers. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $\langle \omega, \sigma, 0 \rangle$ be a Peano system. How is $\sigma$ defined? +Back: $\{\langle n, n^+ \rangle \mid n \in \omega\}$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $\langle \omega, \sigma, 0 \rangle$ be a Peano system. What kind of mathematical object is $\sigma$? +Back: A function. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $\langle \omega, \sigma, 0 \rangle$ be a Peano system. What is the domain of $\sigma$? +Back: $\omega$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $\langle \omega, \sigma, 0 \rangle$ be a Peano system. What is the codomain of $\sigma$? +Back: $\omega$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $\langle \omega, \sigma, 0 \rangle$ be a Peano system. Its Peano induction postulate goes by what other name? +Back: The induction principle for $\omega$. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $\langle \omega, \sigma, 0 \rangle$ be a Peano system. The induction principle for $\omega$ satisfies what postulate of the system? +Back: The Peano induction postulate. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + ## Transitivity A set $A$ is said to be **transitive** iff every member of a member of $A$ is itself a member of $A$. We can equivalently express this using any of the following formulations: @@ -668,6 +734,110 @@ Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Pre END%% +%%ANKI +Basic +Which sets serve as the prototypical example of transitive sets? +Back: The natural numbers. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Is $n \in \omega$ a transitive set? +Back: Yes. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Is $\omega$ a transitive set? +Back: Yes. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +How can we alternatively state "$\omega$ is a transitive set"? +Back: Every natural number is a set of natural numbers. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +How can we more concisely state "every natural number is a set of natural numbers"? +Back: $\omega$ is a transitive set. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +What does $\mathscr{P}\,0$ evaluate to? +Back: $1$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +What does $\mathscr{P}\,1$ evaluate to? +Back: $2$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +What does $\mathscr{P}\,2$ evaluate to? +Back: $\{0, 1, 2, \{1\}\}$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Suppose $X$ is transitive. Is $\bigcup X$ transitive? +Back: Yes. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Suppose for all $x \in X$, $x$ is transitive. Is $X$ transitive? +Back: Not necessarily. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Suppose for all $x \in X$, $x$ is transitive. Is $\bigcup X$ transitive? +Back: Yes. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Suppose for all $x \in X$, $x$ is transitive. Is $\bigcap X$ transitive? +Back: N/A. If $X = \varnothing$, $\bigcap X$ is undefined. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Suppose $X \neq \varnothing$ and for all $x \in X$, $x$ is transitive. Is $\bigcap X$ transitive? +Back: Yes. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + ## Bibliography * Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). \ No newline at end of file diff --git a/notes/set/order.md b/notes/set/order.md index 40720c1..2e7478b 100644 --- a/notes/set/order.md +++ b/notes/set/order.md @@ -487,7 +487,7 @@ END%% %%ANKI Basic -Consider an equivalence class of $x$ (modulo $R$). With maximum specificity, what kind of mathematical object is $R$? +Consider an equivalence class of $x$ (modulo $R$). What kind of mathematical object is $R$? Back: A relation. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). diff --git a/notes/x86-64/instructions/arithmetic.md b/notes/x86-64/instructions/arithmetic.md index c745f65..c69a638 100644 --- a/notes/x86-64/instructions/arithmetic.md +++ b/notes/x86-64/instructions/arithmetic.md @@ -32,7 +32,7 @@ END%% %%ANKI Cloze -The {`leaq`} instruction is to x86-64 as the {`&`} operator is to C. +The {`leaq`} instruction is to x86-64 as the {`&`} unary operator is to C. Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: c17 diff --git a/notes/x86-64/instructions/logical.md b/notes/x86-64/instructions/logical.md index 85187cb..82f8b06 100644 --- a/notes/x86-64/instructions/logical.md +++ b/notes/x86-64/instructions/logical.md @@ -31,7 +31,7 @@ END%% %%ANKI Cloze -The {`NEG`} instruction class is to x86-64 whereas the {`-`} *unary* operator is to C. +The {`NEG`} instruction class is to x86-64 whereas the {`-`} unary operator is to C. Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. Tags: c17