From cbeb26fbde53278d23c081ff51d288ee62717240 Mon Sep 17 00:00:00 2001 From: Joshua Potter Date: Sun, 19 Jan 2025 21:11:02 -0700 Subject: [PATCH] Trigonometry and relocation entries. --- .../plugins/obsidian-to-anki-plugin/data.json | 58 ++- notes/_journal/2025-01-17.md | 9 - notes/_journal/2025-01-19.md | 11 + notes/_journal/2025-01/2025-01-17.md | 13 + notes/_journal/2025-01/2025-01-18.md | 11 + notes/algebra/radices.md | 90 +++++ notes/algebra/sequences/triangular-numbers.md | 63 ++-- notes/algorithms/dfs.md | 1 + notes/combinators/index.md | 71 ++++ notes/computability/index.md | 7 +- notes/data-models/rdf/rdfs.md | 40 ++- notes/geometry/cartesian.md | 16 - notes/geometry/circle.md | 200 +++++++++++ notes/geometry/images/circle-left-down.png | Bin 0 -> 17130 bytes notes/geometry/images/circle-left-up.png | Bin 0 -> 16649 bytes notes/geometry/images/circle-right.png | Bin 0 -> 15423 bytes notes/geometry/images/unit-circle.png | Bin 0 -> 18805 bytes notes/lambda-calculus/index.md | 2 +- notes/linkers/index.md | 53 +-- notes/linkers/relocatable.md | 329 ++++++++++++++++++ notes/programming/pred-trans.md | 127 +++++++ notes/set/functions.md | 2 +- notes/trigonometry/images/unit-circle-0-1.png | Bin 0 -> 19236 bytes .../trigonometry/images/unit-circle-0-n1.png | Bin 0 -> 19257 bytes notes/trigonometry/images/unit-circle-1-0.png | Bin 0 -> 19225 bytes .../trigonometry/images/unit-circle-n1-0.png | Bin 0 -> 19285 bytes notes/trigonometry/index.md | 215 ++++++++++++ 27 files changed, 1221 insertions(+), 97 deletions(-) delete mode 100644 notes/_journal/2025-01-17.md create mode 100644 notes/_journal/2025-01-19.md create mode 100644 notes/_journal/2025-01/2025-01-17.md create mode 100644 notes/_journal/2025-01/2025-01-18.md create mode 100644 notes/geometry/circle.md create mode 100644 notes/geometry/images/circle-left-down.png create mode 100644 notes/geometry/images/circle-left-up.png create mode 100644 notes/geometry/images/circle-right.png create mode 100644 notes/geometry/images/unit-circle.png create mode 100644 notes/trigonometry/images/unit-circle-0-1.png create mode 100644 notes/trigonometry/images/unit-circle-0-n1.png create mode 100644 notes/trigonometry/images/unit-circle-1-0.png create mode 100644 notes/trigonometry/images/unit-circle-n1-0.png create mode 100644 notes/trigonometry/index.md diff --git a/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json b/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json index 0d4d8d0..3518b2d 100644 --- a/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json +++ b/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json @@ -235,7 +235,29 @@ "dfs-edge-classification.png", "complex-plane-point.png", "nfa-example.png", - "topological-sort.png" + "topological-sort.png", + "unit-circle.png", + "circle-right.png", + "circle-left-down.png", + "abs-right.png", + "abs-left.png", + "abs-up.png", + "abs-down.png", + "abs-right-down.png", + "abs-left-down.png", + "circle-left-up.png", + "unit-circle-1-0.png", + "unit-circle-0-1.png", + "unit-circle-n1-0.png", + "unit-circle-0-n1.png", + "iterative-command.png", + "function-bijective.png", + "function-injective.png", + "function-surjective.png", + "function-general.png", + "function-kernel.png", + "triangular-gnomon.png", + "pascals-triangle.png" ], "File Hashes": { "algorithms/index.md": "3ac071354e55242919cc574eb43de6f8", @@ -342,7 +364,7 @@ "combinatorics/inclusion-exclusion.md": "c27b49ee03cc5ee854d0e8bd12a1d505", "_journal/2024-02-21.md": "b9d944ecebe625da5dd72aeea6a916a2", "_journal/2024-02/2024-02-20.md": "af2ef10727726200c4defe2eafc7d841", - "algebra/radices.md": "474178afb07f3d5037c1547cc1a132f2", + "algebra/radices.md": "01fbaba8f81929581707d8df5ad0d912", "_journal/2024-02-22.md": "e01f1d4bd2f7ac2a667cdfd500885a2a", "_journal/2024-02/2024-02-21.md": "f423137ae550eb958378750d1f5e98c7", "_journal/2024-02-23.md": "219ce9ad15a8733edd476c97628b71fd", @@ -375,7 +397,7 @@ "algebra/sequences/index.md": "7368b87313ea161a2655be0c39e705a3", "_journal/2024-03-02.md": "08c3cae1df0079293b47e1e9556f1ce1", "_journal/2024-03/2024-03-01.md": "70da812300f284df72718dd32fc39322", - "algebra/sequences/triangular-numbers.md": "aafaf54e5aff9ca3c7354591fce9f833", + "algebra/sequences/triangular-numbers.md": "12c81fa4d79d67c4853efcbc7b26f4c8", "algebra/sequences/square-numbers.md": "171f7c5a8dac088afba40923ab86c68e", "_journal/2024-03-03.md": "c4977a3778ed227b768c3f9ad5512670", "_journal/2024-03/2024-03-02.md": "8136792b0ee6e08232e4f60c88d461d2", @@ -538,7 +560,7 @@ "_journal/2024-05-13.md": "71eb7924653eed5b6abd84d3a13b532b", "_journal/2024-05/2024-05-12.md": "ca9f3996272152ef89924bb328efd365", "git/remotes.md": "6fbbc95efa421c720e40500e5d133639", - "programming/pred-trans.md": "5b271eebe32e33108d7a36ad98600148", + "programming/pred-trans.md": "007ac23931f767c84c5979ec83e28989", "set/axioms.md": "063955bf19c703e9ad23be2aee4f1ab7", "_journal/2024-05-14.md": "f6ece1d6c178d57875786f87345343c5", "_journal/2024-05/2024-05-13.md": "d549dd75fb42b4280d4914781edb0113", @@ -607,7 +629,7 @@ "_journal/2024-06-08.md": "b20d39dab30b4e12559a831ab8d2f9b8", "_journal/2024-06/2024-06-07.md": "c6bfc4c1e5913d23ea7828a23340e7d3", "lambda-calculus/alpha-conversion.md": "a68f3cc1565fb26335218986808a1190", - "lambda-calculus/index.md": "14bf297d4314414723c11a11211b35b5", + "lambda-calculus/index.md": "d68f65313a62110c5afa668b282149f3", "x86-64/instructions/condition-codes.md": "9c05ed99f5c96162e25f0ec4db55c656", "x86-64/instructions/logical.md": "a15c7da43cb97badef8ba4f8aadf9cbb", "x86-64/instructions/arithmetic.md": "e2c4c9caa51e089e313d6c9d3c3c0a12", @@ -627,7 +649,7 @@ "_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": "bd4fbd92ac87631ba26637ac812b218b", + "set/functions.md": "a8f7fd819c27cdde6202da30787ea44c", "_journal/2024-06-15.md": "92cb8dc5c98e10832fb70c0e3ab3cec4", "_journal/2024-06/2024-06-14.md": "8bbe0e1ca371756b91eec66af73911ce", "lambda-calculus/beta-reduction.md": "0935987f2bac0e6298735f2b26fd5885", @@ -912,7 +934,7 @@ "_journal/2024-10/2024-10-16.md": "cd778e1be2737462d885ae038c7b9744", "_journal/2024-10/2024-10-15.md": "c21679bd2c3b29f5a86d56a1fd23b18f", "_journal/2024-10-22.md": "4af65962007cfecdb2c679b44b56d25f", - "algorithms/dfs.md": "12a95fbc2fafaf87ee648c480ee041c3", + "algorithms/dfs.md": "aa499369c42a85c21861954b389a5819", "_journal/2024-10/2024-10-21.md": "de1a0861e87df29aeff11a291f8fbd45", "_journal/2024-10-23.md": "51b2ca6edf23b6a64fd7d3638a0b54cb", "_journal/2024-10/2024-10-22.md": "5ff4eb7eba58e77c4fb65b7162a485e6", @@ -944,7 +966,7 @@ "_journal/2024-11/2024-11-08.md": "806bbade5f8339579287687f9433334e", "_journal/2024-11/2024-11-07.md": "434ec3f15d7065ea740127aa8477dd17", "x86-64/directives.md": "019c1c1d04efb26c3e8758aac4543cc7", - "geometry/cartesian.md": "102453159fdb8525118d3995a132c997", + "geometry/cartesian.md": "68281a73f3949db43ad6a54e3e8c5cc2", "geometry/index.md": "cac68c1b624dbb0552e56cce47bcc21d", "_journal/2024-11-10.md": "5478337fd2017b99d0b359713a511e66", "_journal/2024-11/2024-11-09.md": "46f3a640223ef533f4523837b67b57c3", @@ -1003,7 +1025,7 @@ "_journal/2024-12-08.md": "5662897539b222db1af45dcd217f0796", "_journal/2024-12/2024-12-07.md": "bfb6c4db0acbacba19f03a04ec29fa5c", "linkers/static.md": "cc56ddfc33f605d26b954ec242abc4cf", - "linkers/index.md": "c6c2af6aab2773054b394c624bd2ddb6", + "linkers/index.md": "80e418eac44ad6e7d8bee799c7b11b18", "_journal/2024-12-09.md": "8988f0e8f0060f4b86d17e0bc4e7ff7e", "_journal/2024-12/2024-12-08.md": "5662897539b222db1af45dcd217f0796", "_journal/2024-12-10.md": "c12d380d24d7d1dc2e74a57a1b79399e", @@ -1049,7 +1071,7 @@ "_journal/2024-12/2024-12-21.md": "1c1a5791f7519c92e882957cf417b51f", "formal-system/language.md": "7797d33a0b0eb187d43dda46a138fb25", "computability/automaton.md": "1dd5048ea2a66d8090a85945593fcf68", - "computability/index.md": "d7938428ed0b0224c1fe1e59d1fab118", + "computability/index.md": "16ae7a270363055f7096b7dd8c09a977", "_journal/2024-12-23.md": "72b0964a8a5ed8ba0acf7fe10b5de279", "_journal/2024-12/2024-12-22.md": "75375a867efc5b3aff406c73394d4814", "computability/language.md": "9ee8bd16c231e71855ab1d8dae3188cb", @@ -1059,13 +1081,13 @@ "_journal/2024-12/2024-12-23.md": "72b0964a8a5ed8ba0acf7fe10b5de279", "_journal/2024-12-25.md": "1717d37b074df58175ec0272adc278de", "_journal/2024-12/2024-12-24.md": "dcd3bd8b82ca4d47a9642a46d8bece0d", - "linkers/relocatable.md": "b6f0c13e07ed57ea73dea6b4a72560d1", + "linkers/relocatable.md": "ac24efbabe07222a89acb2fd5135cdb3", "data-models/federation.md": "1d92747304186bd2833a00a488fcac48", "_journal/2024-12-26.md": "022aeaf68d46fd39b23aca9c577f3f41", "_journal/2024-12/2024-12-25.md": "1717d37b074df58175ec0272adc278de", "_journal/2024-12-27.md": "abc4a39a50305f3558181189eefb2058", "_journal/2024-12/2024-12-26.md": "59e59cad1ae568adbe8e27e98d36c59c", - "combinators/index.md": "8e324bbcf49cca9c0c0f9bbf843cbebb", + "combinators/index.md": "8b55b44c955da88368b0b5635909b064", "_journal/2024-12-28.md": "1ad3caec4ea6f597cc5156f19b274c50", "_journal/2024-12/2024-12-27.md": "abc4a39a50305f3558181189eefb2058", "_journal/2024-12-29.md": "e7808872f56a12b51165fc86a1c48e60", @@ -1425,7 +1447,7 @@ "_journal/2025-01/2025-01-06.md": "20030a4b6a1f8f4b2cb882c6d4c59f29", "_journal/2025-01/2025-01-05.md": "0217401ed8718d4354d856a92a19a345", "_journal/2025-01/2025-01-07.md": "bd5aa36eff9211a9a89cc47f1c2dbdcd", - "data-models/rdf/rdfs.md": "f891b5385d3f41acc0c6a8ce88186419", + "data-models/rdf/rdfs.md": "705777f026ea8bf4d8311f1c47621cd4", "_journal/2025-01-11.md": "a9bdad00db9432ea97df265bca1f8261", "_journal/2025-01/2025-01-10.md": "a7929276f89cc19193622dd1f1dd2588", "_journal/2025-01/2025-01-09.md": "166ff75c5ea1bf5110931fa054e1565e", @@ -1440,8 +1462,14 @@ "_journal/2025-01/2025-01-14.md": "88eb99d4319693c7f4cd2357618a19f8", "_journal/2025-01/2025-01-15.md": "a559a6eba2958e2664ad25c1e3236d87", "_journal/2025-01-16.md": "e3a21059205784a4e88bfe3b4deac7f7", - "_journal/2025-01-17.md": "ba60278a6cca1832ad28c273b01b0745", - "_journal/2025-01/2025-01-16.md": "e3a21059205784a4e88bfe3b4deac7f7" + "_journal/2025-01-17.md": "08a5f05bb572db9495bfc2b4feb8e0a9", + "_journal/2025-01/2025-01-16.md": "e3a21059205784a4e88bfe3b4deac7f7", + "trigonometry/index.md": "6d07d5ba5e352f182a19b8a3d804321b", + "geometry/circle.md": "751a5aada6521281f1d8edb463572943", + "_journal/2025-01-18.md": "8655fbf94aeec13efe9b6d2087c1f37e", + "_journal/2025-01/2025-01-17.md": "08a5f05bb572db9495bfc2b4feb8e0a9", + "_journal/2025-01-19.md": "a37c6f534cf5e272619c5f813974afcf", + "_journal/2025-01/2025-01-18.md": "7a1655887093f37ffe86309d90459b3b" }, "fields_dict": { "Basic": [ diff --git a/notes/_journal/2025-01-17.md b/notes/_journal/2025-01-17.md deleted file mode 100644 index ce35974..0000000 --- a/notes/_journal/2025-01-17.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "2025-01-17" ---- - -- [ ] 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/2025-01-19.md b/notes/_journal/2025-01-19.md new file mode 100644 index 0000000..ef1a9c3 --- /dev/null +++ b/notes/_journal/2025-01-19.md @@ -0,0 +1,11 @@ +--- +title: "2025-01-19" +--- + +- [x] Anki Flashcards +- [x] KoL +- [x] OGS +- [ ] Sheet Music (10 min.) +- [ ] Korean (Read 1 Story) + +* More notes on relocation entries. \ No newline at end of file diff --git a/notes/_journal/2025-01/2025-01-17.md b/notes/_journal/2025-01/2025-01-17.md new file mode 100644 index 0000000..a5a0c6e --- /dev/null +++ b/notes/_journal/2025-01/2025-01-17.md @@ -0,0 +1,13 @@ +--- +title: "2025-01-17" +--- + +- [x] Anki Flashcards +- [x] KoL +- [x] OGS +- [ ] Sheet Music (10 min.) +- [ ] Korean (Read 1 Story) + +* Distinguish asserted and inferred RDF triples. +* Notes on the [[circle]] and [[trigonometry/index#Unit Circle|unit circle]]. +* Formal definition of the [[pred-trans#Iterative|iterative]] command. \ No newline at end of file diff --git a/notes/_journal/2025-01/2025-01-18.md b/notes/_journal/2025-01/2025-01-18.md new file mode 100644 index 0000000..151acd0 --- /dev/null +++ b/notes/_journal/2025-01/2025-01-18.md @@ -0,0 +1,11 @@ +--- +title: "2025-01-18" +--- + +- [x] Anki Flashcards +- [x] KoL +- [x] OGS +- [ ] Sheet Music (10 min.) +- [ ] Korean (Read 1 Story) + +* Notes on [[relocatable#Relocation Entries|relocation entries]]. \ No newline at end of file diff --git a/notes/algebra/radices.md b/notes/algebra/radices.md index b30b4aa..472e1be 100644 --- a/notes/algebra/radices.md +++ b/notes/algebra/radices.md @@ -202,6 +202,33 @@ Tags: binary::hex END%% +%%ANKI +Basic +What hexadecimal value does $2^{0 + 4(0)}$ evaluate to? +Back: `0x1` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: binary::hex + +END%% + +%%ANKI +Basic +What hexadecimal value does $2^{0 + 4(2)}$ evaluate to? +Back: `0x100` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: binary::hex + +END%% + +%%ANKI +Basic +Write `0x10000` in form $2^{i + 4j}$. What values of $i$ and $j$ satisfy this? +Back: $i = 0$ and $j = 4$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: binary::hex + +END%% + %%ANKI Basic How is the $1$ in $2^{1 + 4j}$ translated to hex? @@ -211,6 +238,33 @@ Tags: binary::hex END%% +%%ANKI +Basic +What hexadecimal value does $2^{1 + 4(2)}$ evaluate to? +Back: `0x200` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: binary::hex + +END%% + +%%ANKI +Basic +What hexadecimal value does $2^{1 + 4(3)}$ evaluate to? +Back: `0x2000` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: binary::hex + +END%% + +%%ANKI +Basic +Write `0x200` in form $2^{i + 4j}$. What values of $i$ and $j$ satisfy this? +Back: $i = 1$ and $j = 2$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: binary::hex + +END%% + %%ANKI Basic How is the $2$ (power) in $2^{2 + 4j}$ translated to hex? @@ -220,6 +274,24 @@ Tags: binary::hex END%% +%%ANKI +Basic +What hexadecimal value does $2^{2 + 4(1)}$ evaluate to? +Back: `0x40` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: binary::hex + +END%% + +%%ANKI +Basic +Write `0x4000` in form $2^{i + 4j}$. What values of $i$ and $j$ satisfy this? +Back: $i = 2$ and $j = 3$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: binary::hex + +END%% + %%ANKI Basic How is the $3$ in $2^{3 + 4j}$ translated to hex? @@ -229,6 +301,24 @@ Tags: binary::hex END%% +%%ANKI +Basic +What hexadecimal value does $2^{3 + 4(0)}$ evaluate to? +Back: `0x8` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: binary::hex + +END%% + +%%ANKI +Basic +Write `0x80` in form $2^{i + 4j}$. What values of $i$ and $j$ satisfy this? +Back: $i = 3$ and $j = 1$. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: binary::hex + +END%% + %%ANKI Basic How is $n$ in $2^n$ factored to quickly write the decimal value's hex representation? diff --git a/notes/algebra/sequences/triangular-numbers.md b/notes/algebra/sequences/triangular-numbers.md index b65cbcc..bc2d60c 100644 --- a/notes/algebra/sequences/triangular-numbers.md +++ b/notes/algebra/sequences/triangular-numbers.md @@ -15,7 +15,7 @@ The $n$th term of the **triangular numbers** $(T_n)_{n \geq 0}$ is the sum of wh Basic What is a polygonal number? Back: A number of pebbles that can be arranged into the shape of a regular filled polygon. -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -23,7 +23,7 @@ END%% Basic What is a figurate number? Back: Polygonal numbers and their generalizations to other dimensions. -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -31,7 +31,7 @@ END%% Basic What are considered the simplest polygonal numbers? Back: The triangular numbers. -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -39,7 +39,7 @@ END%% Basic How do polygonal numbers relate to figurate numbers? Back: Polygonal numbers are a subset of the figurate numbers. -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -47,7 +47,7 @@ END%% Basic What is a gnomon? Back: The "piece" added to a figurate number to transform it to the next larger one. -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -55,7 +55,7 @@ END%% Basic What shape do gnomons associated with triangular numbers take on? Back: Lines. -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -64,7 +64,7 @@ Basic How are gnomons of the triangular numbers visualized? Back: ![[triangular-gnomon.png]] -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -73,7 +73,7 @@ Basic What general term refers to the highlighted portion of pebbles in the following? ![[triangular-gnomon.png]] Back: Gnomons. -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -81,15 +81,24 @@ END%% Basic The triangular numbers correspond to what kind of triangles? Back: Equilateral triangles. -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% +%%ANKI +Basic +How do the triangular numbers correspond to *equilateral* triangles? +Back: +![[triangular-gnomon.png]] +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). + +END%% + %%ANKI Basic What is the first triangular *and* square number? Back: $36$ -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -97,7 +106,7 @@ END%% Basic What are the first five triangular numbers $(T_n)_{n \geq 0}$? Back: $0, 1, 3, 6, 10$ -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -111,7 +120,7 @@ Back: * * * * * * * ``` -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -119,7 +128,7 @@ END%% Basic How is the $n$th triangular number written as a summation? Back: $\sum_{k=1}^n k$ -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -127,7 +136,7 @@ END%% Basic What polygonal sequence is the summation analog of factorial? Back: The triangular numbers. -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -135,7 +144,7 @@ END%% Basic What notation does Knuth introduce to denote the $n$th triangular number? Back: $n?$ -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -143,14 +152,14 @@ END%% Basic What name does Knuth give the LHS of $n? = \sum_{k=1}^n k$? Back: The termial. -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% %%ANKI Cloze The {1:term}ial is to {2:$n?$} as the {2:factor}ial is to {1:$n!$}. -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -158,7 +167,7 @@ END%% Basic What closed formula is traditionally used to compute the $n$th triangular number? Back: $\large{\frac{n(n + 1)}{2}}$ -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -166,7 +175,7 @@ END%% Basic What is the recurrence relation in the recursive definition of triangular numbers $(T_n)_{n \geq 0}$? Back: $T_n = T_{n-1} + n$ -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -174,7 +183,7 @@ END%% Basic What is the initial condition(s) in the recursive definition of triangular numbers $(T_n)_{n \geq 0}$? Back: $T_0 = 0$ -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -196,7 +205,7 @@ END%% Basic What combinatorial closed formula is used to compute the $n$th triangular number? Back: $\binom{n + 1}{2}$ -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -204,7 +213,7 @@ END%% Basic What is the combinatorial explanation as to why the $n$th triangular number is $\binom{n + 1}{2}$? Back: $\sum_{k=1}^n k$ is the number of ways distinct pairs can be made from $n + 1$ objects. -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -213,7 +222,7 @@ Basic Where in Pascal's triangle are the natural numbers embedded? Back: Along the second leftward diagonal: ![[pascals-triangle.png]] -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -222,7 +231,7 @@ Basic Where in Pascal's triangle are the triangular numbers embedded? Back: Along the third leftward diagonal: ![[pascals-triangle.png]] -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -236,7 +245,7 @@ for (int i = 1; i <= n; ++i) { } ``` Back: The $n$th triangular number. -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -250,7 +259,7 @@ Back: $2 \cdot T_n$ is the number of units in an $n \times (n + 1)$ rectangle, e * * - - - * - - - - ``` -Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). +Reference: “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). END%% @@ -265,4 +274,4 @@ END%% ## Bibliography * 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). -* “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). \ No newline at end of file +* “Triangular Number,” in _Wikipedia_, January 13, 2024, [https://en.wikipedia.org/w/index.php?title=Triangular_number](https://en.wikipedia.org/w/index.php?title=Triangular_number&oldid=1195279122). \ No newline at end of file diff --git a/notes/algorithms/dfs.md b/notes/algorithms/dfs.md index 1f9c573..5b8546b 100644 --- a/notes/algorithms/dfs.md +++ b/notes/algorithms/dfs.md @@ -534,6 +534,7 @@ END%% %%ANKI Basic +Why is edge $\langle b, s \rangle$ classified as a back edge? ![[dfs-edge-classification.png]] Back: Because $s$ is an ancestor of $b$. Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). diff --git a/notes/combinators/index.md b/notes/combinators/index.md index ab48329..8f0a1b5 100644 --- a/notes/combinators/index.md +++ b/notes/combinators/index.md @@ -335,6 +335,77 @@ Reference: Hindley, J Roger, and Jonathan P Seldin. “Lambda-Calculus and Combi END%% +%%ANKI +Basic +Assume basis $\mathbf{S}$, $\mathbf{K}$, and $\mathbf{I}$. *Why* isn't $((\mathbf{S}(\mathbf{K}\mathbf{S}))\mathbf{K})$ a combinator? +Back: N/A. It is. +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). + +END%% + +%%ANKI +Basic +Assume basis $\mathbf{S}$, $\mathbf{K}$, and $\mathbf{I}$. *Why* isn't $((\mathbf{S}(\mathbf{K}x))((\mathbf{S}\mathbf{K})\mathbf{K}))$ a combinator? +Back: It contains atom $x$ which isn't a basic combinator. +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). + +END%% + +%%ANKI +Basic +Assume basis $\mathbf{S}$, $\mathbf{K}$, and $\mathbf{I}$. *Why* isn't $((\mathbf{S}(\mathbf{K}0))((\mathbf{S}\mathbf{K})\mathbf{K}))$ a combinator? +Back: It contains atom $0$ which isn't a basic combinator. +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). + +END%% + +%%ANKI +Basic +Assume basis $\mathbf{S}$, $\mathbf{K}$, and $\mathbf{I}$. *Why* isn't $((\mathbf{S}(\mathbf{K}\mathbf{S}))\mathbf{K})$ a closed term? +Back: N/A. It is. +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). + +END%% + +%%ANKI +Basic +Assume basis $\mathbf{S}$, $\mathbf{K}$, and $\mathbf{I}$. *Why* isn't $((\mathbf{S}(\mathbf{K}x))((\mathbf{S}\mathbf{K})\mathbf{K}))$ a closed term? +Back: It contains variable $x$. +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). + +END%% + +%%ANKI +Basic +Assume basis $\mathbf{S}$, $\mathbf{K}$, and $\mathbf{I}$. *Why* isn't $((\mathbf{S}(\mathbf{K}0))((\mathbf{S}\mathbf{K})\mathbf{K}))$ a closed term? +Back: N/A. It is. +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). + +END%% + +%%ANKI +Cloze +By convention, parentheses in combinatory logic are {left}-associative. +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). + +END%% + +%%ANKI +Basic +How is $CL$-term $UVWX$ written with parentheses reintroduced? +Back: $(((UV)W)X)$ +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). + +END%% + +%%ANKI +Basic +In combinatory logic, is $UVW \equiv ((UV)W)$? +Back: Yes. +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). + +END%% + ## Basic Combinators The combinatory logic is a notation that eliminate the need for quantified variables. We start with basis $\mathbf{S}$, $\mathbf{K}$, and $\mathbf{I}$. These **basic combinators** are defined as: diff --git a/notes/computability/index.md b/notes/computability/index.md index d0712b8..9138ca8 100644 --- a/notes/computability/index.md +++ b/notes/computability/index.md @@ -247,11 +247,10 @@ Reference: Michael Sipser, _Introduction to the Theory of Computation_, Third ed END%% %%ANKI -Basic -A language is a set satisfying what? -Back: It contains strings over some alphabet. +Cloze +A {language} is a set containing {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 diff --git a/notes/data-models/rdf/rdfs.md b/notes/data-models/rdf/rdfs.md index eced8e0..cd38ca7 100644 --- a/notes/data-models/rdf/rdfs.md +++ b/notes/data-models/rdf/rdfs.md @@ -8,7 +8,7 @@ tags: ## Overview -The simplest extension to RDF that allows a modeler to manage inference is **RDF Schema** (RDFS). +The simplest extension to RDF that allows a modeler to manage inference is **RDF Schema** (RDFS). Triples that are inserted directly into an underlying RDF store are called **asserted triples**. Triples that are derived from inference rules are called **inferred triples**. %%ANKI Basic @@ -26,6 +26,44 @@ Reference: Allemang, Dean, James A. Hendler, and Fabien L. Gandon. _Semantic Web END%% +%%ANKI +Cloze +An {asserted} triple is contrary to an {inferred} triple. +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. + +END%% + +%%ANKI +Basic +What does it mean for a triple to be asserted? +Back: The triple exists directly in the underlying RDF store. +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. + +END%% + +%%ANKI +Basic +What does it mean for a triple to be inferred? +Back: The triple is derived from some set of inference rules. +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. + +END%% + +%%ANKI +Cloze +{Asserted} triples are used to derive {inferred} triples. +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. + +END%% + +%%ANKI +Basic +When might a triple be both asserted and inferred? +Back: When the inference engine infers an already existing triple. +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. + +END%% + ## Classes All things described by RDF are called **resources**. Resources may be divided into groups called **classes**. Classes are themselves resources. The `rdf:type` property may be used to state that a resource is an instance of a class. Associated with a class is a set, called the **class extension** of the class, which is the set of the instances of the class. A class may be a member of its own class extension. diff --git a/notes/geometry/cartesian.md b/notes/geometry/cartesian.md index 729977a..a78c2ca 100644 --- a/notes/geometry/cartesian.md +++ b/notes/geometry/cartesian.md @@ -213,22 +213,6 @@ Reference: James Jones, “Shifting, Reflecting, and Stretching Graphs,” acces END%% -%%ANKI -Basic -Which of horizontal and/or vertical transformations "act inversely"? -Back: Horizontal transformations. -Reference: James Jones, “Shifting, Reflecting, and Stretching Graphs,” accessed December 6, 2024, [https://people.richland.edu/james/lecture/m116/functions/translations.html](https://people.richland.edu/james/lecture/m116/functions/translations.html). - -END%% - -%%ANKI -Basic -Which of horizontal and/or vertical transformations "act normally"? -Back: Vertical transformations. -Reference: James Jones, “Shifting, Reflecting, and Stretching Graphs,” accessed December 6, 2024, [https://people.richland.edu/james/lecture/m116/functions/translations.html](https://people.richland.edu/james/lecture/m116/functions/translations.html). - -END%% - %%ANKI Basic How is the graph of $y = f(x)$ transformed in the graph of $y = \frac{1}{2}f(\frac{x}{3})$? diff --git a/notes/geometry/circle.md b/notes/geometry/circle.md new file mode 100644 index 0000000..28e99d3 --- /dev/null +++ b/notes/geometry/circle.md @@ -0,0 +1,200 @@ +--- +title: Circle +TARGET DECK: Obsidian::STEM +FILE TAGS: geometry::circle +tags: + - circle + - geometry +--- + +## Overview + +A **circle** is a shape consisting of all points in a plane at a given distance from a given point, i.e. the **center**. In this way, a circle is characterized by its center and **radius**, the distance from the center to any point of the circle. The perimeter of a circle is known as its **circumference**. + +On the [[cartesian|Cartesian coordinate system]], the equation of a circle with radius $r$ and center $\langle h, k \rangle$ is $$(x - h)^2 + (y - k)^2 = r^2.$$ + +Such a circle has circumference $2\pi r$ and [[area]] $\pi r^2$. + +%%ANKI +Basic +A circle is characterized by what two properties? +Back: Its center and its radius. +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +In plain English, describe what a circle is. +Back: A set of points at a given distance from some given point. +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +The perimeter of a circle is known as what? +Back: Its circumference. +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +What is the Cartesian equation of a circle with radius $r$ and center $\langle h, k \rangle$? +Back: $(x - h)^2 + (y - k)^2 = r^2$ +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +Given indeterminates $x$ and $y$, the following equation describes what shape? $$(x - h)^2 + (y - k)^2 = r^2$$ +Back: A circle with radius $r$ and center $\langle h, k \rangle$. +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +Consider a circle with radius $r$. What does its circumference evaluate to? +Back: $2 \pi r$ +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +Consider a circle with radius $r$. What is its area? +Back: $\pi r^2$ +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +Consider a circle with diameter $d$. What does its circumference evaluate to? +Back: $\pi d$ +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +Consider a circle with diameter $d$. What its area? +Back: $\pi \left(\frac{d}{2}\right)^2$ +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +Consider a circle with radius $r$. What does the following evaluate to? $$2 \pi r$$ +Back: Its circumference. +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +Consider a circle with radius $r$. What does the following evaluate to? $$\pi r^2$$ +Back: Its area. +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +What is the Cartesian equation of the following shape? +![[unit-circle.png]] +Back: $x^2 + y^2 = 1$ +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +What is the Cartesian equation of the following shape? +![[circle-right.png]] +Back: $(x - 2)^2 + y^2 = 4$ +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +What is the Cartesian equation of the following shape? +![[circle-left-down.png]] +Back: $(x + 1)^2 + (y + 1)^2 = 4$ +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +What is the Cartesian equation of the following shape? +![[circle-left-up.png]] +Back: $(x + 1)^2 + (y - 1)^2 = 4$ +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +Rewrite equation $x^2 + y^2 = 1$ shifted left by $a > 0$. +Back: $(x + a)^2 + y^2 = 1$ +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +Rewrite equation $x^2 + y^2 = 1$ shifted up by $b > 0$. +Back: $x^2 + (y - b)^2 = 1$ +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +Rewrite equation $x^2 + y^2 = 1$ shifted right by $a > 0$. +Back: $(x - a)^2 + y^2 = 1$ +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +Rewrite equation $x^2 + y^2 = 1$ shifted down by $b > 0$. +Back: $x^2 + (y + b)^2 = 1$ +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +In what direction(s) is the unit circle shifted in the following? $$(x - 3)^2 + (y - 3)^2 = 1$$ +Back: Right by $3$ and up by $3$. +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +In what direction(s) is the unit circle shifted in the following? $$(x + 3)^2 + (y - 3)^2 = 1$$ +Back: Left by $3$ and up by $3$. +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +%%ANKI +Basic +In what direction(s) is the unit circle shifted in the following? $$(x - 3)^2 + (y + 3)^2 = 1$$ +Back: Right by $3$ and down by $3$. +Reference: “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). + +END%% + +## Bibliography + +* “Circle,” in _Wikipedia_, January 8, 2025, [https://en.wikipedia.org/w/index.php?title=Circle](https://en.wikipedia.org/w/index.php?title=Circle&oldid=1268270102). \ No newline at end of file diff --git a/notes/geometry/images/circle-left-down.png b/notes/geometry/images/circle-left-down.png new file mode 100644 index 0000000000000000000000000000000000000000..8546d248640ed50a79fc31bc847a57dc176b1d4c GIT binary patch literal 17130 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 LH04WV&4T_H-D52$ literal 0 HcmV?d00001 diff --git a/notes/geometry/images/circle-left-up.png b/notes/geometry/images/circle-left-up.png new file mode 100644 index 0000000000000000000000000000000000000000..7c0548698e6fcfdca941a152cb5a9d574f4e4686 GIT binary patch literal 16649 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 literal 0 HcmV?d00001 diff --git a/notes/geometry/images/circle-right.png b/notes/geometry/images/circle-right.png new file mode 100644 index 0000000000000000000000000000000000000000..62fc7daaf3d82ada3d3813bec028ea36a0fcd23c GIT binary patch literal 15423 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

YEC316mGG=8> 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 H7X1GKpS!U~ literal 0 HcmV?d00001 diff --git a/notes/lambda-calculus/index.md b/notes/lambda-calculus/index.md index 1dd3bee..38595d2 100644 --- a/notes/lambda-calculus/index.md +++ b/notes/lambda-calculus/index.md @@ -214,7 +214,7 @@ END%% %%ANKI Basic -How is expression $\lambda x. \lambda y. MN$ written with parentheses reintroduced? +How is $\lambda$-term $\lambda x. \lambda y. MN$ written with parentheses reintroduced? Back: $(\lambda x. (\lambda y. (MN)))$ 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/linkers/index.md b/notes/linkers/index.md index d22b9c8..7c34395 100644 --- a/notes/linkers/index.md +++ b/notes/linkers/index.md @@ -10,10 +10,8 @@ tags: To build an executable, a linker must perform two main tasks: -1. **Symbol resolution**. The linker must associate each symbol reference with exactly one symbol definition. -2. **Relocation**. The linker must relocate code and data sections by associating a memory location with each symbol definition, and then modifying all of the references to those symbols so that they point to this memory location. - -The linker blindly performs relocations using detailed instructions generated by the assembler called **relocation entries**. +1. **Symbol resolution**. The linker phase in which each symbol reference is associated with exactly one symbol definition. +2. **Relocation**. The linker phase in which code and data sections across input modules are combined. Each section, along with the symbols defined in them, are assigned unique run-time memory addresses. Additionally, references to symbols are updated so they point to the correct run-time addresses. %%ANKI Basic @@ -31,6 +29,14 @@ Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Program END%% +%%ANKI +Basic +After which linker phase is the size of the code and data sections of each input object module known? +Back: Symbol resolution. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + %%ANKI Basic What is the goal of symbol resolution? @@ -39,6 +45,13 @@ Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Program END%% +%%ANKI +Cloze +The {symbol resolution} phase associates each {symbol reference} with exactly one {symbol definition}. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + %%ANKI Basic What is the goal of relocation? @@ -55,13 +68,6 @@ Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Program END%% -%%ANKI -Cloze -The {symbol resolution} phase associates each {symbol reference} with exactly one {symbol definition}. -Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. - -END%% - %%ANKI Cloze The {relocation} phase assigns a {memory location} to each symbol and {updates references} accordingly. @@ -79,24 +85,25 @@ END%% %%ANKI Basic -What is emitted by the assembler to help the linker relocate sections? -Back: Relocation entries. +Which linker phase combines code and data sections of the same type into a new aggregate section? +Back: Relocation. Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. - + +END%% + +%%ANKI +Basic +Which linker phase is responsible for building up the `.symtab` section? +Back: Symbol resolution. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + END%% %%ANKI Cloze -The assembler outputs {relocation entries} to guide the linker during {relocation}. +{Relocatable} object files are merged together to make an {executable} object file. Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. - -END%% - -%%ANKI -Cloze -The {1:assembler} outputs relocation entries to guide the {1:linker} during relocation. -Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. - + END%% ## Object Files diff --git a/notes/linkers/relocatable.md b/notes/linkers/relocatable.md index d7d5290..fe1cb08 100644 --- a/notes/linkers/relocatable.md +++ b/notes/linkers/relocatable.md @@ -637,6 +637,335 @@ Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Program END%% +## Relocation Entries + +Whenever the assembler encounters a reference to an object whose ultimate location is unknown, it generates a **relocation entry** that tells the linker how to modify the reference when it merges the object file into an executable. Each entry looks something like: + +```c +struct Elf64_Rela { + long offset; // Offset of the reference to relocate + long type : 32, // Relocation type + symbol : 32; // Symbol table index + long addend; // Additional constant used to bias the value +}; +``` + +%%ANKI +Basic +What is emitted by the assembler to help the linker relocate sections? +Back: Relocation entries. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Cloze +The assembler outputs {relocation entries} to guide the linker during {relocation}. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Cloze +The {1:assembler} outputs relocation entries to guide the {1:linker} during relocation. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +Which component of a compiler driver produces relocation entries? +Back: The assembler. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +How many relocation entries are produced for any given object module? +Back: One for every reference whose ultimate address is unknown. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +*Why* aren't relocation entries relevant for executable object files? +Back: All memory addresses should be resolved once the executable is produced. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Cloze +Relocation entries for {data} are placed in {`.rel.data`}. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Cloze +Relocation entries for {code} are placed in {`.rel.text`}. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +At what point during linking are relocation entries no longer necessary? +Back: When the fully merged executable object file is produced. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +Relocation entries are included in what kind of object module? +Back: Relocatable object modules. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + +%%ANKI +Basic +A relocation entry corresponds to what kind of C construct? +Back: A `struct`. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 + +END%% + +%%ANKI +Basic +Consider the following ELF relocation entry. What is the purpose of `offset`? +```c +struct Elf64_Rela { + long offset; + long type : 32; + long symbol : 32; + long addend; +}; +``` +Back: It is the offset of the reference to relocate. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + +%%ANKI +Basic +Consider the following ELF relocation entry. What is the `offset` measured relative to? +```c +struct Elf64_Rela { + long offset; + long type : 32; + long symbol : 32; + long addend; +}; +``` +Back: The start of the section the reference is located in. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + +%%ANKI +Basic +Consider the following ELF relocation entry. What is the purpose of `symbol`? +```c +struct Elf64_Rela { + long offset; + long type : 32; + long symbol : 32; + long addend; +}; +``` +Back: It identifies the symbol the modified reference should point to. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + +%%ANKI +Basic +Consider the following ELF relocation entry. `symbol` is an index into what table? +```c +struct Elf64_Rela { + long offset; + long type : 32; + long symbol : 32; + long addend; +}; +``` +Back: `.symtab` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + +%%ANKI +Basic +Consider the following ELF relocation entry. What is the purpose of `addend`? +```c +struct Elf64_Rela { + long offset; + long type : 32; + long symbol : 32; + long addend; +}; +``` +Back: To bias the value of the modified reference. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + +%%ANKI +Basic +Consider the following ELF relocation entry. What is the purpose of `type`? +```c +struct Elf64_Rela { + long offset; + long type : 32; + long symbol : 32; + long addend; +}; +``` +Back: To indicate to the linker what algorithm should be used to compute the relocated address. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + +%%ANKI +Basic +Consider the following ELF relocation entry. What are the two most basic values of `type`? +```c +struct Elf64_Rela { + long offset; + long type : 32; + long symbol : 32; + long addend; +}; +``` +Back: `R_X86_64_32` and `R_X86_64_PC32`. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + +%%ANKI +Cloze +{1:`R_X86_64_32`} is to {2:absolute} whereas {2:`R_X86_64_PC32`} is to {1:relative}. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: linker::elf x86-64 + +END%% + +%%ANKI +Basic +What is the significance of `R` in type `R_X86_64_32`? +Back: It is the prefix used for relocation entry `type` values. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + +%%ANKI +Basic +What is the significance of `32` in type `R_X86_64_32`? +Back: The reference is relocated using a 32-bit absolute address. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + +%%ANKI +Basic +What is the significance of `PC` in type `R_X86_64_PC32`? +Back: It is short for **p**rogram **c**ounter. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + +%%ANKI +Basic +What is the significance of `PC32` in type `R_X86_64_PC32`? +Back: The reference is relocated using a 32-bit PC-relative address. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + +%%ANKI +Basic +`R_X86_64_32` is a possible value for what field in the following ELF relocation entry? +```c +struct Elf64_Rela { + long offset; + long type : 32; + long symbol : 32; + long addend; +}; +``` +Back: `type` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + +%%ANKI +Basic +`R_X86_64_PC32` is a possible value for what field in the following ELF relocation entry? +```c +struct Elf64_Rela { + long offset; + long type : 32; + long symbol : 32; + long addend; +}; +``` +Back: `type` +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + +%%ANKI +Basic +Consider the following ELF relocation entry. What should `type` be if relocating PC-relatively? +```c +struct Elf64_Rela { + long offset; + long type : 32; + long symbol : 32; + long addend; +}; +``` +Back: `R_X86_64_PC32`. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + +%%ANKI +Basic +Consider the following ELF relocation entry. What should `type` be if relocating absolutely? +```c +struct Elf64_Rela { + long offset; + long type : 32; + long symbol : 32; + long addend; +}; +``` +Back: `R_X86_64_32`. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. +Tags: c17 linker::elf x86-64 + +END%% + ## Bibliography * Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. \ No newline at end of file diff --git a/notes/programming/pred-trans.md b/notes/programming/pred-trans.md index 2496c83..7ab14c6 100644 --- a/notes/programming/pred-trans.md +++ b/notes/programming/pred-trans.md @@ -1035,6 +1035,9 @@ END%% The general form of the **iterative command** is: $$\begin{align*} \textbf{do } & B_1 \rightarrow S_1 \\ \textbf{ | } & B_2 \rightarrow S_2 \\ & \quad\cdots \\ \textbf{ | } & B_n \rightarrow S_n \\ \textbf{od } & \end{align*}$$ +We denote the iterative command as $\text{DO}$ and define $\text{DO}$ in terms of $wp$ as: $$wp(\text{DO}, R) = \exists k \geq 0, H_k(R)$$ +where $H_k$ is given [[algebra/sequences/index|recursive definition]]: $$\begin{align*} H_0(R) & = \neg (B_1 \lor \cdots \lor B_n) \land R \\ H_{k+1}(R) & = H_0(R) \lor wp(\text{IF}, H_k(R)) \end{align*}$$ + %%ANKI Basic The conventional `while` statement corresponds to what command? @@ -1123,6 +1126,130 @@ Reference: Gries, David. *The Science of Programming*. Texts and Monographs in END%% +%%ANKI +Cloze +{1:$\text{IF}$} is to {2:$abort$} whereas {2:$\text{DO}$} is to {1:$skip$}. +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Basic +Given associated recursive definition $H_k$, what is the formal definition of $\text{DO}$? +Back: For some predicate $R$, $wp(\text{DO}, R) = \exists k \geq 0, H_k(R)$ +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Basic +In the following definition, what does $H_k(R)$ represent? $$wp(\text{DO}, R) = \exists k \geq 0, H_k(R)$$ +Back: The set of states in which execution of $\text{DO}$ terminates in $k$ or fewer iterations. +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Basic +In the following definition, how is $H_0$ defined? $$wp(\text{DO}, R) = \exists k \geq 0, H_k(R)$$ +Back: Given guards $B_1, \ldots, B_n$, as $H_0 = \neg (B_1 \lor \cdots \lor B_n) \land R$. +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Basic +In the following definition, what set of states does $H_0(R)$ correspond to? $$wp(\text{DO}, R) = \exists k \geq 0, H_k(R)$$ +Back: Those in which $\text{DO}$ finishes execution in $0$ iterations with $R$ true. +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Basic +In the following definition, how is $H_{k+1}$ defined? $$wp(\text{DO}, R) = \exists k \geq 0, H_k(R)$$ +Back: As $H_{k+1}(R) = H_0(R) \lor wp(\text{IF}, H_k(R))$. +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Basic +In the following definition, what set of states does $H_k(R)$ correspond to? $$wp(\text{DO}, R) = \exists k \geq 0, H_k(R)$$ +Back: Those in which $\text{DO}$ finishes execution in $k$ or fewer iterations with $R$ true. +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Basic +Let $H_k$ denote the associated recursive definition of $wp(\text{DO}, R)$. *Why* does $H_k \Rightarrow H_{k+1}$? +Back: $H_{k+1}$ is the set of states in which $\text{DO}$ finishes execution in $k$ *or fewer* iterations. +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Basic +Let $H_k$ denote the associated recursive definition of $wp(\text{DO}, R)$. *Why* does $H_{k + 1} \Rightarrow H_k$? +Back: N/A. It doesn't. +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Basic +How is the associated recursive definition of $wp(\text{DO}, R)$ described in plain English? +Back: As the set of states in which execution of $\text{DO}$ terminates in a finite number of iterations with $R$ true. +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Cloze +Iterative command {$\textbf{do od}$} is equivalent to command {$skip$}. +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Basic +*Why* does command $\textbf{do od}$ skip? +Back: The $\text{DO}$ command iterates until no guard is satisfied. +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Basic +What does $wp(\textbf{do } T \rightarrow skip \textbf{ od}, R)$ evaluate to? +Back: $F$ +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Basic +*Why* does $wp(\textbf{do } T \rightarrow skip \textbf{ od}, R)$ evaluate to $F$? +Back: $\textbf{do } T \rightarrow skip \text{ od}$ never terminates. +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Cloze +The {$\text{DO}$} command corresponds to zero or more {$\text{IF}$} commands. +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + +%%ANKI +Cloze +Let $R$ be a predicate. Then $wp(\text{DO}, R) = \exists k,$ {$k \geq 0$} $\land$ $H_k(R)$. +Reference: Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. + +END%% + ## Bibliography * Gries, David. *The Science of Programming*. Texts and Monographs in Computer Science. New York: Springer-Verlag, 1981. \ No newline at end of file diff --git a/notes/set/functions.md b/notes/set/functions.md index fe4ea87..1878148 100644 --- a/notes/set/functions.md +++ b/notes/set/functions.md @@ -199,7 +199,7 @@ END%% %%ANKI Basic Let $A$ and $B$ be disjoint sets. $f \colon A \rightarrow B$ is an operation on what set? -Back: N/A. +Back: N/A. $f$ is not an operation. Reference: “Operation (Mathematics).” In _Wikipedia_, October 10, 2024. [https://en.wikipedia.org/w/index.php?title=Operation_(mathematics)](https://en.wikipedia.org/w/index.php?title=Operation_(mathematics)&oldid=1250395938). END%% diff --git a/notes/trigonometry/images/unit-circle-0-1.png b/notes/trigonometry/images/unit-circle-0-1.png new file mode 100644 index 0000000000000000000000000000000000000000..09e13905a92fe21626d7da05aa2e3c1630214ee5 GIT binary patch literal 19236 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 literal 0 HcmV?d00001 diff --git a/notes/trigonometry/images/unit-circle-0-n1.png b/notes/trigonometry/images/unit-circle-0-n1.png new file mode 100644 index 0000000000000000000000000000000000000000..326c9f59d866d5accec7a8baff4a5f1464acbd33 GIT binary patch literal 19257 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 literal 0 HcmV?d00001 diff --git a/notes/trigonometry/images/unit-circle-1-0.png b/notes/trigonometry/images/unit-circle-1-0.png new file mode 100644 index 0000000000000000000000000000000000000000..b28f53670591dce2529fd6613b993e86b2d13de7 GIT binary patch literal 19225 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 F{|9rh45$DA literal 0 HcmV?d00001 diff --git a/notes/trigonometry/images/unit-circle-n1-0.png b/notes/trigonometry/images/unit-circle-n1-0.png new file mode 100644 index 0000000000000000000000000000000000000000..cd6fdae1d6db0b4d83d56170bb05e73f59304c8c GIT binary patch literal 19285 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 +END%% + +## Unit Circle + +On the [[cartesian|Cartesian coordinate system]], the **unit circle** is the [[circle]] with center at the origin and radius $1$. + +%%ANKI +Basic +On the Cartesian coordinate system, what is the unit circle? +Back: The circle with center at the origin and radius $1$. +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +On the Cartesian coordinate system, where is the center of the unit circle located? +Back: At $\langle 0, 0 \rangle$, i.e. the origin. +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +What is the radius of the unit circle? +Back: $1$ +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +What is the diameter of the unit circle? +Back: $2$ +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +What is the circumference of the unit circle? +Back: $2\pi$ +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +What is the area of the unit circle? +Back: $\pi$ +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +Which real numbers does the point $\langle 0, 0 \rangle$ on the unit circle map to? +Back: N/A. This point is not on the circle itself. +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +Which real numbers does the point $\langle 1, 0 \rangle$ on the unit circle map to? +Back: $2\pi k$ for all $k \in \mathbb{Z}$. +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +Which point on the unit circle does number $2\pi$ map to? +Back: $\langle 1, 0 \rangle$ +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +Which point on the unit circle does number $\frac{3\pi}{2}$ map to? +Back: $\langle 0, -1 \rangle$ +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +Which real numbers does the point $\langle 0, -1 \rangle$ on the unit circle map to? +Back:$\frac{3\pi}{2} + 2\pi k$ for all $k \in \mathbb{Z}$. +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +Which real numbers does the point $\langle 0, 1 \rangle$ on the unit circle map to? +Back: $\frac{\pi}{2} + 2\pi k$ for all $k \in \mathbb{Z}$. +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +Which point on the unit circle does number $\frac{\pi}{2}$ map to? +Back: $\langle 0, 1 \rangle$ +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +Which point on the unit circle does number $\pi$ map to? +Back: $\langle -1, 0 \rangle$ +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +Which real numbers does the point $\langle -1, 0 \rangle$ on the unit circle map to? +Back: $\pi + 2\pi k$ for all $k \in \mathbb{Z}$. +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +Which real numbers correspond to the highlighted point on the unit circle? +![[unit-circle-1-0.png]] +Back: $2 \pi k$ for all $k \in \mathbb{Z}$. +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +Which real numbers correspond to the highlighted point on the unit circle? +![[unit-circle-0-1.png]] +Back: $\frac{\pi}{2} + 2\pi k$ for all $k \in \mathbb{Z}$. +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +Which real numbers correspond to the highlighted point on the unit circle? +![[unit-circle-n1-0.png]] +Back: $\pi + 2\pi k$ for all $k \in \mathbb{Z}$. +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +Which real numbers correspond to the highlighted point on the unit circle? +![[unit-circle-0-n1.png]] +Back: $\frac{3\pi}{2} + 2\pi k$ for all $k \in \mathbb{Z}$. +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +*Why* does point $\langle 1, 0 \rangle$ on the unit circle coincide with real number $2\pi$? +Back: Because the circumference of the unit circle is $2\pi$. +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +*Why* does point $\langle -1, 0 \rangle$ on the unit circle coincide with real number $\pi$? +Back: Because half the circumference of the unit circle is $\pi$. +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +What is the "periodicity" of the unit circle? +Back: $2 \pi$ +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +%%ANKI +Basic +What property of the unit circle does its periodicity correspond to? +Back: Its circumference. +Reference: Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. + +END%% + +## Bibliography + +* Ted Sundstrom and Steven Schlicker, _Trigonometry_, 2024. \ No newline at end of file