From 4921298a57d82618a97e288f646baee7e5a0df1a Mon Sep 17 00:00:00 2001 From: Joshua Potter Date: Sun, 14 Jul 2024 08:00:05 -0600 Subject: [PATCH] Infinite Cartesian products and AoC. --- .../plugins/obsidian-to-anki-plugin/data.json | 30 +- notes/_journal/2024-07-14.md | 11 + notes/_journal/{ => 2024-07}/2024-07-12.md | 4 +- notes/_journal/2024-07/2024-07-13.md | 12 + .../images/infinite-cartesian-product.png | Bin 0 -> 33491 bytes notes/algebra/set.md | 133 +++++++- .../{closed-addressing.md => addressing.md} | 233 ++++++++++++- notes/hashing/direct-addressing.md | 151 --------- notes/hashing/index.md | 307 +++++++++++++++++- notes/hashing/open-addressing.md | 95 ------ notes/ontology/index.md | 116 +++++++ notes/ontology/permissivism.md | 106 ++++++ notes/ontology/properties.md | 100 ++++++ notes/set/functions.md | 181 +++++++++++ notes/set/index.md | 79 +++++ notes/set/trees.md | 2 +- notes/x86-64/instructions/condition-codes.md | 102 ++++++ 17 files changed, 1392 insertions(+), 270 deletions(-) create mode 100644 notes/_journal/2024-07-14.md rename notes/_journal/{ => 2024-07}/2024-07-12.md (54%) create mode 100644 notes/_journal/2024-07/2024-07-13.md create mode 100644 notes/algebra/images/infinite-cartesian-product.png rename notes/hashing/{closed-addressing.md => addressing.md} (51%) delete mode 100644 notes/hashing/direct-addressing.md delete mode 100644 notes/hashing/open-addressing.md create mode 100644 notes/ontology/index.md create mode 100644 notes/ontology/permissivism.md create mode 100644 notes/ontology/properties.md diff --git a/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json b/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json index df2464a..6ff9cd8 100644 --- a/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json +++ b/notes/.obsidian/plugins/obsidian-to-anki-plugin/data.json @@ -142,7 +142,8 @@ "function-injective.png", "function-surjective.png", "function-general.png", - "church-rosser.png" + "church-rosser.png", + "infinite-cartesian-product.png" ], "File Hashes": { "algorithms/index.md": "3ac071354e55242919cc574eb43de6f8", @@ -322,7 +323,7 @@ "_journal/2024-03-18.md": "8479f07f63136a4e16c9cd07dbf2f27f", "_journal/2024-03/2024-03-17.md": "23f9672f5c93a6de52099b1b86834e8b", "set/directed-graph.md": "b4b8ad1be634a0a808af125fe8577a53", - "set/index.md": "9444d7f3660f1b308d268d5833997737", + "set/index.md": "40bb8c75770a626486bf40b68f2c8f3b", "set/graphs.md": "55298be7241906cb6b61673cf0a2e709", "_journal/2024-03-19.md": "a0807691819725bf44c0262405e97cbb", "_journal/2024-03/2024-03-18.md": "63c3c843fc6cfc2cd289ac8b7b108391", @@ -343,7 +344,7 @@ "x86-64/declarations.md": "75bc7857cf2207a40cd7f0ee056af2f2", "x86-64/instructions.md": "06b7fbe1a7a9568b80239310eb72e87a", "git/refs.md": "e20c2c9b14ba6c2bd235416017c5c474", - "set/trees.md": "909c612878c863abe48c5d7b545923c8", + "set/trees.md": "ea3818b3750838b2d273e01874cf300f", "_journal/2024-03-24.md": "1974cdb9fc42c3a8bebb8ac76d4b1fd6", "_journal/2024-03/2024-03-23.md": "ad4e92cc2bf37f174a0758a0753bf69b", "_journal/2024-03/2024-03-22.md": "a509066c9cd2df692549e89f241d7bd9", @@ -460,7 +461,7 @@ "_journal/2024-05/2024-05-16.md": "9fdfadc3f9ea6a4418fd0e7066d6b10c", "_journal/2024-05-18.md": "c0b58b28f84b31cea91404f43b0ee40c", "hashing/direct-addressing.md": "f75cc22e74ae974fe4f568a2ee9f951f", - "hashing/index.md": "e90b8e0eb7b93fda713c364027da71c2", + "hashing/index.md": "b643f6823777e4974e8d2c27255d975f", "set/classes.md": "6776b4dc415021e0ef60b323b5c2d436", "_journal/2024-05-19.md": "fddd90fae08fab9bd83b0ef5d362c93a", "_journal/2024-05/2024-05-18.md": "c0b58b28f84b31cea91404f43b0ee40c", @@ -483,7 +484,7 @@ "_journal/2024-05/2024-05-25.md": "3e8a0061fa58a6e5c48d12800d1ab869", "_journal/2024-05-27.md": "b36636d10eab34380f17f288868df3ae", "_journal/2024-05/2024-05-26.md": "abe84b5beae74baa25501c818e64fc95", - "algebra/set.md": "204dba5e6da6257c01440758c17d305c", + "algebra/set.md": "e88847f21b467e7d243ac3d5941a75a0", "algebra/boolean.md": "ee41e624f4d3d3aca00020d9a9ae42c8", "git/merge-conflicts.md": "761ad6137ec51d3877f7d5b3615ca5cb", "_journal/2024-05-28.md": "0f6aeb5ec126560acdc2d8c5c6570337", @@ -515,7 +516,7 @@ "_journal/2024-06/2024-06-07.md": "c6bfc4c1e5913d23ea7828a23340e7d3", "lambda-calculus/alpha-conversion.md": "c9b7d60602e13e8a60d8784a859d4655", "lambda-calculus/index.md": "64efe9e4f6036d3f5b4ec0dc8cd3e7b9", - "x86-64/instructions/condition-codes.md": "56ad6eb395153609a1ec51835925e8c9", + "x86-64/instructions/condition-codes.md": "f9ecc79ce8777d7ff17846eaf11a721c", "x86-64/instructions/logical.md": "818428b9ef84753920dc61e5c2de9199", "x86-64/instructions/arithmetic.md": "271218d855e7291f119f96e91f582738", "x86-64/instructions/access.md": "c19bc3392cf493fcc9becf46c818cc50", @@ -529,12 +530,12 @@ "_journal/2024-06-12.md": "8cc810c0f594093768117f57461e2e9e", "_journal/2024-06/2024-06-11.md": "764ccba25646673fdf7bb6a5f090394d", "hashing/open-addressing.md": "a5129362af1cbc5f831abcdab1aa737f", - "hashing/closed-addressing.md": "970c1b6c77e20c5a4d70bfec32171e61", + "hashing/closed-addressing.md": "67bfb72c5ba911ecbd1fe3fe3028a7fa", "_journal/2024-06-13.md": "dec86b3a3e43eca306c3cf9a46b260ed", "_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": "4fd3388fb21c77e96c6cfb703f3ed153", + "set/functions.md": "cd38f47de7e4ecf3a55434865efa6877", "_journal/2024-06-15.md": "92cb8dc5c98e10832fb70c0e3ab3cec4", "_journal/2024-06/2024-06-14.md": "5d12bc272238ac985a1d35d3d63ea307", "lambda-calculus/beta-reduction.md": "e233c8352a8180d19f7b717946c379d1", @@ -590,9 +591,18 @@ "_journal/2024-07/2024-07-08.md": "03ed5604e680ac9742ee99ae4b1eee8b", "_journal/2024-07-10.md": "2bb3db1f506f4ec7726cb5f2ed2daf24", "_journal/2024-07/2024-07-09.md": "00c357e9cfac6de17825b02fdbd00c80", - "_journal/2024-07-12.md": "247909b64d6b0dd7702d6a4482165c4d", + "_journal/2024-07-12.md": "7d1802d25d3c67880e75b14273cae331", "_journal/2024-07/2024-07-11.md": "298cc3688675ee669b5a51d545fd61b5", - "_journal/2024-07/2024-07-10.md": "a0fe22d8be519bf435a5949999eeb4de" + "_journal/2024-07/2024-07-10.md": "a0fe22d8be519bf435a5949999eeb4de", + "_journal/2024-07-13.md": "13b5101306b5542b8a1381a6477378ca", + "_journal/2024-07/2024-07-12.md": "6603ed8a3f9a9e87bf40e81b03e96356", + "hashing/static.md": "3ec6eaee73fb9b599700f5a56b300b83", + "hashing/addressing.md": "a78c0cbea13bc9deeadb2fc643c122ce", + "ontology/index.md": "c523aa6652b285a0f1c053cb77be6f85", + "ontology/permissivism.md": "5b66dd065aa66d5a2624eda032d75b94", + "ontology/properties.md": "d417db0cecf11b1ed2e17f165d879fa5", + "_journal/2024-07-14.md": "d790f7f6b13285b91cd972d927c20f96", + "_journal/2024-07/2024-07-13.md": "60e8eb09812660a2f2bf86ffafab5714" }, "fields_dict": { "Basic": [ diff --git a/notes/_journal/2024-07-14.md b/notes/_journal/2024-07-14.md new file mode 100644 index 0000000..5775c98 --- /dev/null +++ b/notes/_journal/2024-07-14.md @@ -0,0 +1,11 @@ +--- +title: "2024-07-14" +--- + +- [x] Anki Flashcards +- [x] KoL +- [x] OGS +- [ ] Sheet Music (10 min.) +- [ ] Korean (Read 1 Story) + +* Notes on infinite Cartesian products and their relation to the axiom of choice. \ No newline at end of file diff --git a/notes/_journal/2024-07-12.md b/notes/_journal/2024-07/2024-07-12.md similarity index 54% rename from notes/_journal/2024-07-12.md rename to notes/_journal/2024-07/2024-07-12.md index 318d202..4632fdd 100644 --- a/notes/_journal/2024-07-12.md +++ b/notes/_journal/2024-07/2024-07-12.md @@ -8,4 +8,6 @@ title: "2024-07-12" - [ ] Sheet Music (10 min.) - [ ] Korean (Read 1 Story) -* Notes on [[set#Index Sets|index sets]] and [[set#Function Sets|function sets]]. \ No newline at end of file +* Notes on [[set#Index Sets|index sets]] and [[set#Function Sets|function sets]]. +* Notes on a few of the [[condition-codes#SET|set]] instructions. +* Small collection of notes on [[hashing/index#Static Hashing|static hashing]]. \ No newline at end of file diff --git a/notes/_journal/2024-07/2024-07-13.md b/notes/_journal/2024-07/2024-07-13.md new file mode 100644 index 0000000..09ca182 --- /dev/null +++ b/notes/_journal/2024-07/2024-07-13.md @@ -0,0 +1,12 @@ +--- +title: "2024-07-13" +--- + +- [x] Anki Flashcards +- [x] KoL +- [x] OGS +- [ ] Sheet Music (10 min.) +- [ ] Korean (Read 1 Story) + +* More notes on [[hashing/index#Static Hashing|static hashing]]. +* Introductory notes on [[permissivism]]. \ No newline at end of file diff --git a/notes/algebra/images/infinite-cartesian-product.png b/notes/algebra/images/infinite-cartesian-product.png new file mode 100644 index 0000000000000000000000000000000000000000..ba2ee5044213328f55aaefac4790bbe1a35d160d GIT binary patch literal 33491 zcmafbcRZE<8~2HlN_I%LLb5}$vy+sOkxlmAdlco^%FYT2*<{Ne*~!XY*_-V3Tz9|k z^LqY#zOVE8W*q07`@TP)>w2&24tOpvef=u=RTK(!{jrRMA_|46fI?l6z{Y}~v|RX> z4gXxU7kjLX4gYyyze2_6Bx_hF10_)(#t(wZiZu zX5>lYc7}Qmrq)(8%BGfvC?!WL8cuE+Sw{;RE)Fhk8jc7291r<9?$bP#P&P6Sfj^=_ zJ(hT+?2@oL?yjt)T61~Rn*J)bSY7M$OTmF}&3UeezKEfb(x42wI?|!`bMLAer9*!_ zzsm6|GU;4TQ<4(1-0fHuiPkLifUQL>wQIBa>>8ywJ;KKy~1Oc*GD9cS7ySKq$S9jS6+dmcAX)R$$yi z6@2SK-uUjO~JtKV4hacn>QFoQ#6Sm zqNB0iioK4FCCgq}{auJTFfhR9yiS2jCCH@9Pv>N6Y6_pPaje3gm5rT^twrQ)3(reS zjNhQ^BhTjFzkZ5Y63WVvZAB&KLl~&-?d`?O7Bl#K%zex(EPvQ^YC3P?yu%%OdyO=9 z;R~TO0jy&XDmG}9Xc(Uq?7cc%+$jo6k3;Hxh$}!CDZA@D4>3?_Lpvo99 zd-}Douy^K~06o3$&gQ0W4ZCuvDpy=^$B!Qz?%m%!tx5*JyYF`nj@NpNEG#XxdFW(P zk<$6tXcxjjHH@~X$xzM@q+rDKsRrh*L*m`}eqH$nwu(T>vlg+q>S~*l56ANci zxpA!gY&YNA7G8Q~Ae(gO^poB9)O8Oj94z1A^SM8NrhcVAIidZda^=buvIkZa7?_w_ ztHnJZSw<@z??tm}7!Bn}Xeufy7C5e`M4StFp9#t*@YN@u_p6whF;ls(a(2c)==pPg z|Ni|#IAK+WcV;3I5`q&2oIjqPPdEB2Xlq+-Qz&H*pnP0+=2LWPy%<)!&rkPV)+-il zrW-CDV=<(1dY!nOtXX?EriBTcZJ$R)Me#W-;-jWosl6pkP49krmW+$S#=~oE3Lxq# z<#AruT%D|)JWB~M2`1yjaNl2Vo(&VR+CJyu;rY?l#;M`m9C(AIZ0GEFV|Fe^r}T-G z*hpjboz}{JGal9F&vmy~-btlRN6Ow=SX&!kpOj5k43f^rrQ~n&sLiBE8_ZERa8k~y zto(TG$`#keNjG7_aW_gf&w8>(<=m<> zmUFB#?tWL2hM}RMrl=@t=QLGchnAL>Butw*O4jPnkM}C)Y#bcnO3YD4-l`fJ9d{TQ zxF*?|TQhxpPVY7UaKNN4VvN_$D zP*o+cF%8Tt7?R@pCv zwmC7#C;ad@&-|^DEbQ5tq?7D*WSUW`m-V{Va+LRILh{ZlPQ1DtK_Q_EttzLuYE(~> zP=~9ltD~vA_&c0w*(Xn)mX_%?V$B~vZvHYhHdcQ97Vl=y+m9c~t>83kO(ey{kUHCpVHHEeJEY{~?H(dozm-SXGg(<#$F}D> zs=npUb;Q`icMPNP{Ep1XktwC5q-Yu%rnl|Tva{zu88thmFR#~~nsAxDK7TAT$JH!| zDmELvzOg!7Ou4K-pdCWS*|56lU}VIw#6g_U)z|+B*?#u^acIHV5_= z6<)l!@xW>Ix0U66A))ac4g2TM@sa135)u-2Vm*_Uky+g19i`%2Tj$McQhoI3krBP% zmy8T&S9d6wV}%B-o#cu+`w{JiaP=5osHvIkrLHU!WR}jYtvzKoAl7|*SI$=cbEeo0_9&Yh1O$3z>&}){$zKP|=8vD; zvA9coH9mQ73hKk-bj64@vyzwd$Fg&TP;jQ;DCFi}7qx0)TI&3Snsf~Z=T*&y@?Ji4 zf(V_F_V#v*K_4!**@YoEmrLl#AZ301)L{ebmDe;QPIKfUUV=NPUkJY_Ge@=c(rMsb zd><9Wy*i~aHqdSMce*KEw5Q*~a=&lySmFzCBlj7F3Z)@GnZnasfI`;FO)5|L>Ye(hB2M0FE zo_ld^mOo9xm7Un;FI>zm_5ZN;@L^tASy>w?RieDKbXr37$Qj|_K!l-yVp38PL&W~z z;NVDZz0@2T)M&$*KSEN=k9aXUVoC?R|}Td1TIMM1I2k?8J5cSl)2b zY*ch(l_`vpm71D5g1X(@%#07dnm>Lv_YKbZC&LpulI5V+Tb5E15*)R7nSQQ0Rs4~z z#vSD=QQw7QGk>d!iu$zeWPknIzFrm=9c^S6Uszb!xpA3!RCSd41PALFPmTT$p1iV! z`PNMHo4t=ey1ICdANlNhivD{8-KY;A^tV$9mtzJ>YwJ3bMUoFa9~mBh6!ETUn`P;@^R@%CAX?W|NiLnOt0qhMVv>?}WaYisKW(}#W(7qixA1Rc%-?MZ?* zL@Y1wr|z>d3*6X2y-_wY`qFkyc2UoL6!+E>UliXnsB^Zr9$5XM9u;t2$DXh(UaRop zeh{}4DM2@_?Ya9RVjBN6!oM>wPcB3zquhQWE~%89VOizkela zt^J_zh8urqskEA@4Lh>{@eax<|I;U$2=!d`r!=Nxx$NxhJ?rClGX3tRE1GUgb?L81 zloFAV+_=$uJ4;^CvWHTySMwLd_QrDPVR#F%v*W4eYa7O5qXPmS+1POO;WX`;nVA*XFUZ$h?=KHz|LEwL z&3_ilaUo4Qj70Eq;de>_r_Gr7j~~O6lGt3{L20ccDeTYmbbVBG^tL(xx46j%%H!;_I(Bc#w|W(C zK5H2H^^49WMhsbv^|ESnChli}KeeuAS?B;d(0uab+D@JWY@Y<}eB;6N@b-$1JE0Q0 z>*MjYnwpxy^Ycaw53MF^LX=nEhE;z(l$IU3@)Wd z#6z(`(PRaebD=; zqgm^fSi8Ei@`TYMD01t{SNKiydwOZIFNc!QE1{3J=sfVE#JAnt+iNih6MB~<f7^7(0Vg*bu=Ifr6@@8bEx?!v zA~zoL>qy5IBz@6(kDI&yb9Pi(*Ri3X2-bCJ)*3D<-rCaAXs9s!J8~_CC-?3@)xTR~ z_lIq+MeB2xK+(b1wK2Jz9kQ6MCCc-oq1uboc8TqW?WSQ8Pm_fy-@kvKW1yz2rDeID zU8Kn-t)@m+CHlFqp`n2$rbE58U>Taw2@L~0Ef(HjR^oH^UpJvpDxr4%cLDwV%7X;x zkj{jM5snv$T3mzue=y91$HxB9ar(0#U_0BwNr@fEcR9mC;_+=l97=xTv$Hdl&+-1o zYeLnfnhr*Vfj$IIb_T%(iA16yO8rSZz>yuBFxGthKqn-wKOm>j!-phrA^J z^1;^ZiQ#wc9*zJ*Ji(wg|@Iw}qc9sb;I23SC`X zVjb#PSXm8YTM}f`xt1zrC#%q`93m7(D<9fkG5AMNmIy@HI&(-1tUev^3P=&?10-a6 zo9BHr*#v3uT^sTVb|2pe@+=$BP zg%q`g6hh~RbMG@tc`bg|@xPH|jtX?VsE?Und&a+lP2#y(e>sOfobBLm-!paT#cx2p zE?&M|9Que#f4bo<8HX-vg$xg={Ab%f7cdI|{=YMoQ6;`{V;WdkjzO&J;atqqyr8Yq zXg*vxuP>C9V>LxQkGRurubB&sMAz%;68SmEj<&Y-RyL{`2%GcYERY^Rwd|dWXjw6W>jVWqujT522x{3$I`&D(dKj z4P>jrY3DbA;&ULjh^~)D2;)TLfSPmzK&z?QIc<~~KoOn(^NJ#UW zOV?0>WNst9x1Q$$a6jyTI*k(%zDI@^&n~6kv(YIPOr~dd3SBVxgF`2jcm?1;Iywcq z7xWDbZZgp6&nbswMn)3jPzxtG2Fv%EaF;tQ5u$W|eSQq>R4)Oo#^rtHA@`B{3d&~b z*BujX@|FPpFF85E$q^O@o6`)^U(g2pAVxTCOmy)}`Ln$IhW=M1i3EZ~N9oa_vbie7 zp`!d#Ki<=y%&o3kynD>Q9&cU48FxQ0JkRED|5#onVHk#P0IIHN~vR+N8w95Z}vq zTyp)6H*ekyZ+n$vfKSgAhZE0hIg>vLz)J69_x*LQj~_o?eJfVaalP=>=2ZQOA@l_{ z8AhH55Bi=j;C7d<{Mua^vaDPKlrAAH-Kfj4Y1q-jF-L=rSV1t6 zqo$)HkN5DwX-s&xuJCL=t8B{i*iNy;xVSb!C1bP0?Ky@+L#~@Ua>}(JJ`kOX# zczD5k3*rs1N5#f6Eib6Pd`X^s`n%BJA7e$Hxn(}7lFSNBMpIv(PE|?CV0(-wuc=AG zsy*`VcqQfR{=~@0%lZ8~QKne~W@lTEpFA;0$|xS#J8b92i&_Ml6CY_yzdYX+uL+xF zM=p_dmUIVrQ0zj=QF=ly!7l6w&K~jICpSgP=6jNR1fLm0n~2QL$@#PY2$5AJc0Wb4 z>vWfV`}Vt<;Dx59MakAHO<~TqL{qlvOHyLvqmML8GU}a_Hf>2$hT+CPat@a0-dV>V~YctJ3{pmfALa2nuh1~uY z96BX?Y`5X&k`fX5HZ?V|O@^vuH-m(A0R_M1h+~Q>7|7QV!MVxh=NN32(i{HRneQom z`%RhKe{ImO)u3 zi95ABS;X4T^Ze{I_``3K>kG?d2}`yd>n%fjj^e-XF*7&7K2&dA{BUyOfs`-#ME z?^5)YR@+peqi4VE1EnGh0Yw*tg4RljREP{Ag|n6XS|iH(^xdVt)-Ma0&@yOPS+DEq z>G2Lv3>O>QLI?1G#wPRRiMWS{hyOV*E$sy=Dk|Q#N0mmP6~YyKE630X?OVN-hOWT_ zUAG>slI{5M&>AY$p(lbdV?KOn5RAB|Dl2={`FPLrj1wxLVN#ZWq2P@=5WdP|biCqR z8C2P#WDU7it7~gTcI3vh78gxE_O(8eWsdrYGfqKB_$zk}P`Hzc%uZgkcK!l4`SqcU zXVgJuIv`OM)hII?dQn%|-Fy~DKuOsp_{_O|ax(dNIXnO0R3S^b^S(krnuPc5c9&8M zV`P<3zjShTmIlpfRw9p;h6c61zK-(w``3X&&?Ve9b-mYw`{eOC^slB*k9^4(?X&>f zG0-zC@478I05q!HfNpRy2bV$@Bt@J)d;`@y&85GSf1$2H`66Z0tOJE@B7M}-%1R3K z5S_ty4I6zKcmM+dU*TY3p8d@b0iBnYg99J+NtyZSp!1g=&%*m&<3aD`Gt%yo%fz5- z2n=(|%gIE}Pwuafjc+%T>P+Q(pWa&`^TQVaVWJ6&ahuM@^5gx`&(Pa8T0oq8I-Y&= zWznn0Wo3n4r*5!~)m9r+)zt%vii(`hg@uGDJ7U=VK~%j57jS85N#@xz>#~joc%gv6 zz^jpwk)r8}kJ1(6ScXiv(Lq5gBcboD;&{xXm7Ftz0|Qg-e?9i+6rmVQRLmYoO=2BY zG&C~WKK?vlRyBUz_v;E=n-&ogvyzXlR2mz7AR0?dUQ)?HB$Z0W!fu0XuJzQ|n3z_< zuxyplb-TpVuksaDz{tE4OPx-=wAQ^Kk;&EMx-rQ zidRT!{`O2cIMCIHEoSRbyt^Nbk+34jUKkDEyv&V;w~m%d<2)2=;t#t=0(4+iT}#M& zQ7?qtJ&Dxp1e1;@m7*;87Dczi89w}$Ujyo2eoD%8iqkM)OpVvuwv*E*s55r|{I|;FK-@SW z7VT;>cslm=>m?ezGcPr#Pvd@L?L=#;b{xn=BAR$>w4`+E@0e_g0DiZ>Ogn;kYAv;H z44`WE7-W-k>R(h&@9oIG~Hwi&4=)R>6q;%cD|@?{F% zwU)Wg{o1V<7c&XKQ88>=v9Vxx3;FC*|PA;0(gIzrQE)|*z3D=R$f(Q5AFJv zpo@)v)e$J>fnJN2(mBxL&V<>3Qjd*~#~ByBP@oU|T6|}D-QzMYg)U{i6J^FTehC^5E!b27sJ@y{@Q&0zsr~ z`Y^}RXZQc=V?n6ieZqjuT0$bMg!!90>s1>?|0-V*Xbgh{7mM9?&0O5wi$kZm7@mIg z3l9%>8oJ4Cf)Aj`a_b~xd)uxvQ9zaZdMMyiXiG)ojtp|KKC`W1vrz4xXAb~rsuW#9 z$9_NA?#Q9Xzq|k_2wDU*QEb}8Qj=afXmUhXK!~qR>E2I4|Hk>?q^Y7p0{TGLnNC`-Xj-o> zi0iQGV+EYqzrJ>iVx8nDIxbs9!+Q#(m-McOu z-}ixKnv~|Gr(X&pVQnDQ@u2nK5EubhXOctq*|XNeorO`Y+SF7G(Dea_T?V~X^zIc} z{dr>J->0fXDHcq{w6UoF%1{j zubIa?_f+$m$|k*nA{d`ty{Tlw9CZ~;2%!8;1$vE}TdmX@S`UPUskXMZVujp!QBzQg z9S+j${qT7u+;6uJ$lNA$adRsQeUv~Jf^oMR@Yc6)-(ca90w0EkO@W7phjWWJxK>!V z4kaNe8OQU9FSHRZ94Ii7!#-vf7Jt~SN4{l=k00l2R=fezWObzE8k84!0B&{rJ~6ZC ztDvBO4h(Eae-fk1K~?}5Lnd7j9vbU`nXvwgLTQ*PG(-OZBs6B4RHV#BEUaJb6&L{^ zs04UzUB7-E@g2Prv5W~ON-akv4(~*xhm4aw-+^p4T{5I?K$+f=Hd_0;o1=hltg?#Ac8tBf{Y{3#WRN01 z0l@%tLzueSUFLCU2U`s6fVTjb03;TK&M0boY)PJ}{)Ha|F)|4FYLr>gGBUQN&$G}q zMa|96>w|>LAZ>>YXoDJsf^)G6=1qla^7%roLl2`V5wGAvez&^?`DCZ85!c3HJ1^PxvFCE%+ zFTc8hABzaYP<_h!rKreAH7%#*{=2vD+)=>%N(s88BzP_DSe9&><#jqp-*4pZ zX1#s;Vhp=Z>F?`@U>|O7Z9M|iix`kJiKijdA`|nYIoa8b@To8YB;Ek!O@+$$_U&7v z6%be85;qJD#Za?pL4(dxrUQ{^z5-onLGhykTfq&NGmGJ(w~jbfrWO`Wfb_cg-}QmJc(9^#ZpQUVBKy8^_tda)@)7xA+yBi1 zIJT!f%da_N_I?N#C$H>q1Q=#8)pt>Etx)XUbkVI5?OZ%+)D=8P3f+VRS;qMULa-H_Jb^eSPDKL4{cMl#6y0a z?Dlrq1OewzM;wIT01zz*t?L9Vicdu)zcD=iSuv{sF2Eos`qI_67!eFl8xkJcPpz+q zPM)qilMLMw_TcMI61p~3@7G%A`(78Q%f${^>?L7^2dU86ZD*RU402-Ae(sx@omH2{ z?}s|aVfyQ~nS`V7%iNa08~3OxwO2^(>8e2jnF13TR(9jWclQgZWbdsJZ5 zY|=nsfvPW5p^58TuUmK_eP|_RXr{J!1!Dy5vS z{T=`2%{G24r55{F1f$1)BA%&9))N-{)=&fO?Cp^n=;wFw^@mb+M#jt1p%i+Qjq8g) zZY^OeI4-P=S3UR;5dnt?tGi)qw)KJ_nb9};@rT&7p>uuDL_pv|{|KiQFL2#4l1maC zwirg*5174EU_7IIAXK3bzZR3etp%w3A_|R0i`IIbBE>Kcht`UPfdPw?le66WTsX;n z{UNFj4BAU@c?;!15-Qc43;7HQ6vvA(67-A&8Xq|guvV}oBmhC@vY89SAlje_mjMAk z9GK7LacvE63fNR6Lu@pKe*UWr z7Tu3mT&1rm)Fx{@Q@$^t-Vd_ra*RU;>UouuV$m;ioraHxU1}3O-{`5l z(9l>Zig-Z2Q3XawQmeuWh{Ys~W>C<_K0l7gIZNDf9||C1EC<JR$mXcC0?Oz=rt=Lsqz4ckI1f~y0Om{wj?eH3&oCt4RxRt;sA1E zO!goIPr4bAvLQY3Qp+RFBr5{b)Hdpk-;Y#fp z89O^c^5MkL-1AGo8rkGzUS0V#F(4?80DBNv-^9mfK6`Y>>1Vbo`{yrT8gw~m`1pRm z8V15#;IO1f0f`%ONfiXe2ni)ZeXsI5<)38w$ZJV{oA8RPtn70|MSa_HTPR_mLDTc` z#Zt3*&NKx)XCj7FnQp=583(v<08o921~Mw|J`L*9={g2Cy0Ag^FD+o+LU?yav5zZ*7#ik}^)ti1+73Td!P9>MUhu03}ROvH)|` zwQ6^dmGtyz5ve#jnn6NNEa77&xk8In7*!WP1|+`Z`R)E-gUVSCI}={}ceU$%AQD~C zpu6jx9__;N_VO>43}G7jqLO_9g`}ylvFiXxZyhcqYiNluGhYQ%bh6mOUUNVPSBPFl zMJypCvvTLA{kP$^E3}{KAqur(x1j@A=47s*faBfc-`iVT^-#_VA(>N*6{(#sEiaD? z&l;V^BBss#nw_1}Yhv@~2LT{Dcq{_h-*pSpIs?`Y5BX%_>%R3qjsAFGwuyl#ks~dn zOSQSXD+w0k3RzPh8Ffnp>91!_KNUM=Y24cP*j~FlGv_%y;K2oP0@&#J4is$Ug@|3 zC9BCam{NemeQ&jJ#0RmlpIT*n`GSRf-&Weh#K6#!9_H|}*nEf$u#6s@nBQgAlj1`? zKYmOF;p-=wkSkoebP31`qtpU%Y+!KkE6UgS8GtG`yBpI z!eDdd7@!-#J0_r}?s4AN09?2tgZmVy!P-a(RQ$^fAEk&nd7M_&1_=^W?CgrV7KZSB zAKK4@$b|00zIwIjcS&AK$_3!cWMCKgD*K&?<*JC&y{8cop@tvgQOZsZ4Us}0yv1uF zYGIKBVBS_URglpPoW>k_j{Ony{H?SVd@%}D&_^kU?K#2pC4&x^W8YAUTb1MtNLWt;*;EVb`$B?G$}$@as;!ziB@*(%e}mG|&u(Y^%W<9MI# zB4K06CN;@JaY0GT2q@mpyCBi^e7G-zgS4g#59xRrg& zdJ%MOz(}oN`*cME_?&u6s$B;L%G$?iz41cqB{W#WCM7S&s+{x1SMVtK@ayaAe}6M2 z0@?;m_0w~vso7bBh0lHkciPuI{CXS>-+FTw@Rvq<~aVxyu&a z3RBY~bSeSFC*E)xv=jini4;pQ*~fg1uaT9P=QJ$UpDG!Iu%qHoJtc#d;CdjmTRP{v zIz}DB=O^}1u`0)!+H*Wlwpx*kwL&JJwcF|gP69&MhicCptMZoy(~5wboVY4qecQ19 za7~geh8|EnL^~M+*F9jzFG3#$!Rw#C`1M6LtkQ#{zT~ruadIszO3KQ_yVi`nFSND0 z`QJQ+MLqp@sV}@^ZgIFcqpj%IFGb)S&oO0bS~j8_&Qd(bkT8d)y84w6DPM?mY&E8X zX7VV1NaJKw*z-t~Ek>Lz2D}4NSepNYxdQPrRuHeuK;YvY&IpCrr}&d6LAqtqO_Icr zA@x%PVeJ|z8@8Rs^z<|&Ff%hV>jXBc4T@G_BS8VY1X<9QFlu%gDzP7p5S_w+y#z`N zmxc;B|DZG?cnRkNfxZav$~Cr_wpTJTGNNv7{K7|zX--30&_I}(nW2VbKp#`p0IIwo zLLah{e15_RFARmUs^l3ZP{^$f@AJ|1GV!Lz#N&t91hSA4f=b2u!}94z?zUxD;#^+K z5kFAlWt?liGjASpf!Y9A*L{5A_*?ClT z^dzRrP>gIkL-K1-Yd}f_fsF4R&doPDIV?e1 zYt-H+wm{adK&+t|q#lb}dOrtz$^bgQ3vqILKe3dv!CHncag5dAyW;EDjV}N67gdnBe8;4k`%$Ui!e73R3p;RJ|`BAjipZb|InD6mP_NV6QzPgt9R= zH-{&rdKhP%WIJpxXKrr(RQ|%E3Bf1;_)J)Dh@|U?!vFwi3vj@+YVFaD6{gSe!3$1H zXgICnbSaa9P4b?23P20EWUM zgdEDsZr!-?7FN@AdW^Q1r|0+UAA~u8zx-VvzXkaZSd1s<)O@uzek{d4>GhZ<+igF zl>{XaMPyMgx>!?FW7MJTGJWaKpFcjcd{}MRg|z@y5jbKs+SAi>83n)49r*eJMMW{Z z_BHOl@yKmb+Qdh&O)e5ckUBLrmF?6L5ez&6yRU12#i z_m~^x0PFPzg{IJb-wG>BMjEunhMt}2zQQF)u5@-YsMyprj{0PhbSNwX4HXbW|5IiG&h#e;F;)xIFVz(mkwK~ zzWdnyc&%&;>?1Wn3>LqyUzx|sZ83p;n>&Ap%{KC952S-tx5=xVOi}mJq=;=z!7u?| zw(xijKrtQ2PDZ0oo<4Q_s6KVY_9E;dXlX!Z7|y+CTdspnh6#RxUSzOC6Rd%B?hB`TDN!xF@872tG11jf-c9?Wn=&;sgI2(TW2y9HJCG`gpS*%_%m`1jg5uYlfuR4 zKymnyymv91fM0lbTU%Rwwd)R5^sk9MK=cl>1d29Jm4bH0t1CV~axO#pklUw7S0FHIJ1;ZBVHkVpC$Z0=7^z zVh*?NP(sAn=aDa#-tPiEqYk6)gr&_|-hB1q7KWWw{24R^xqtrp1u%f*TU8R7c6L*R zZ78BWAj$=J{$S@IQFB3}6|?Um(485hWaAbH?2%~cak0SYGKfEnF&$4!jZeme92Ud7 zcC3FFyw1+eor5;cGGR3e^e4gJU%F~E2YxoB%0%2rP0vaCUFGSMT$P=D|ChN&AL<($ zePPM+xLbm*Xah_oAuJ4U=QxW#3T$g*RWP@93fN{huKwdN=fO1gMW5Md_vOWem&^I}m8W1m_ zs@|VJf36?#C*pz}jfT`hf0mMEl0UvQ$*o&KQ0oQH4rXD^o}YOl1O;?M$l?b7A`oNQ z+S$2(PddpUv>X@cusJACm#IDKkavb67y_1P+^M&{{e76M2uw|-J6RApFEoGG-H9Or zS#^-yNuNG_iU?F!Q71pUpve+jc;U~C0Q7qI^XGHTY8Qp@(PJkZyDhw zNBp-mPx8*bE|3!j~Cc+=C^$3cQ0%OuPA+Z$Kqm)LkV66k135r$4npF= zTSqJTJJQ}11F-QryZ$f2`4;ux}44#czB{jYGoNBh6U(o$A3+jmw@F6fTZ6u zEFAZ1ets(uY_(RJCR*@z%DK%KuHC%FXF~%mn}w~)X^k9!vL)pc{Fk{T-Y2uvTdg8z z1n@QLCwTwGukQels13^{!p+nEP7blKh4WDS!Ox0!;Q`2|Ga9BsAT<^#H9_x(uYVs` zq{-EMh+fQZ5V}>SGP4KNSECMSYVVVhLgA`owOKs-HyfkZn<@z^kL%*mM)eLZywWGd zEO-DQrWchJV_BK36#;pMmG=|;Em*-%uOp*GymOnXbsCam?!R<7QaO*dXreq+;DKPC@#V}=S=Ne!l$OT-aCig0`osjNT~6%{sNd`mr)jzHIz`afijCa zIq?Ga89fz9l)s!P?+?U)mXlM#=X0nrgtv3(`4Wb--Mf|#-zFlGF4)`P9eh0Tc5*6x zQlrwwe)M$!u{UJkym?p9FDMcXO;w5z5&e4Peb7j~Iqp0;4RuAAQql&@Ma~K@ zaQK0G(n1#n)cjbXbZ~GJU>UzabLVW;e5WP$BdzoSv+0!; z^DPfQ0IsQ^I>2BIa2SvX9aERPRUz!fk3o-$s2t$lUJt!I)ZDFfO))m^=~G z28gVmR474EQDwszj4@EA(!PGZ3g;Nuu)kPJfjSjTNtprBQ)|V)1kx1~@l_-kh>eTO zYc6^UH6OglpJpZfJ`KJ-lKfXCEwW1dQM8{uQ~3$O4Qz(DkAo}@7|XO!*&K2KZ48)t3MQ?%ZheU_K+pnsbb!S$;aHHBIq)8JVKZb35Q1p_kU(?qU440QPT6AO zPrb#&Flx@v+&}Wgz~yMfN7PjQhSAYmka?5R)=p~1QU=R!u5n3oj^gs)~37`!u z89(j(vdS~yJhU+#hbg}<<5A&cDPM&%c0q|qV+)eX^kITXb%7Hd`_E7WohcAnoFZl* zKGul42t(5Vlx)5z$V^WG=*!H>;nr}P@4WfS*jTCT`DG_ixj^flKHZ;`c5>Pizf}n{ zWS~32@Ps7Hv~bV{bV0n_pzXt*-$jN&&2uY*xs9XNwX8PGVlvqx=Z8J8nr8|!1(JWP zO?;219_}0f5{4ism({}7&gibV`4AcKrye~Y#qJhy)~7g zFi8E&$>A9FBwa_jKksV0H$YdUi%mpg z_f273O(o{Z?P$DmX5y>loL%)=)h_R;W%OG^DN#Sy4MGA$n?fG%-+Jq{3NK4WdIuXRbU}_O6(58O$ z^psU5K@!$`y&t@H0)RcR@~_55enX;kK=VdtimYo-N#LTvSlsXDe)!ptdRW2s<743` zl$0=q)bDSY3Uu3BH7#8Q*|Z+KYg49Ij7~>?O>0)P!ODWe@1lNN1g3=Wh0Uqza)1L= z0Ln>SO*l<{(s-Qi4yg=LLcSliw=bwn05yD*y#s$wLU%`CLh-q^g@uHL1&h^q zWi!nUAZ({oi-fAFh{*&cyh1X~c{mNuAy43>^m0Oesr@`0TI zT}s676!Zh#f94i^oO)f3PoVsP*aZ(r2IBKo*zbV#>E$I1!<4Z6U0okSq%8A-B-$5= zzx;RN?ug~_(!5b-ZU$}r4FVQfVf+UO7JpEKb@cHWuD zJh7mR6$VujgxpE$eDgj*-V@O(Y7Xab)fe&8!_GlQU}0x{tLz5h>Y|(k_EHWQ!9QIU z{M3M{&TJxSK9GrnI+9>$PqV^Ka!Nvi1u>Vw`a|KptGkS7zq5c5OUln6mU}_)!0sG+ zt$50F><@jzh?NKYuMwD0H~&>Qh5DrZiD7)Vp~(aX<3LEF7)u#^t@-Z6YtU=1GyT#d z55aOeqE<3H5^q4^Ebzd5eLzs*d?}_sl6h zZP5=+N%@w}vh5WY_%ZRp#H{aSXd>ERtj*N-RRh8}`9M>L4Je9?s1-pd0ZI5WoYRln zt&Q-U`GRLaspEBMShce7zkyazu;77_P8`@KmwK!=7TWzhZ$kjob4=Uei#2h0u)Wz#>nI&nsC?R*3K%auwx z3$ELlS6gT2t0d{1IkSy(%DY+0vincs7XXDJ*6dLF8jP_7WoKn^j%usgmz?4-v$2u< zIs0UvDv|m9(59(#B;W+(@BVb3-vf{#x7}TSfvS}=${jExprEj@Jsljx{MN zhkc}_P*P?9g%%%3t{!jHO2h8p`GidbLBhs&*TvyGAY!9hWxHcpG1_idAYTSdtc2g? zZ841aN*frYH6z6#6)X%tJ^~ofDz=2&k9bDku!Vaxs2L-U$Ec8QX|m;nkCb|WOKvr`U|vmd*L zzVs~>m<=$4AQ-8@1=xD;1B@@j8b{R?8Fs+J=uKaPEG+h<=RPF}KXRqxH{cvXA$_ot zey1PLwewi5RJH%|z{8E0h6b^`nwp8_hm0_P4+PrGcK8YVcR#5AdYH(a5`q=z zW&I!=3xg1;%FOTM;;v*Vo0YNvM}c5f(&AnKz5%FWCt)ZE4kL=xQJN?y>2Re$=4ePZ zHe92)HwbSV{^0{gg{GD5A$YBuAgoSu7Y1GU)!Ma?w3{%@0*)CgTb1oB7ErCN zlbs&qImf?DxFK*uCgkQ&)klDkUT@Z0I9MJq*`ikM!s&ClF}oN%PHf040j+qcSp!Kt z;d``Au9qOPbaD7!E!MXe78ZsU(*o&_fA=Pkg1azyooq?Jjv#1gfv_+lynlijzSsxW zNzIN(z4rQ?2H_M86e2G`NI|_I0fh*$tK(HeGw)}iaHoOgF?zp)NUSL(GgBsV!IqE? zxwS<6F_6~RFwCT`$!pk73?itRC_xN(_r7pKAsT3~(4C0#0TrS63WkOyXxgYvIM7*$ z%Av!;NN*cM^b(O}p#j4!9&l=p$2V+N23a2!A@`{W1t+740h!PP1K}s z+T7VeG#$7D#T$rTjn#TjE+e82JYY>|XBZiTg@o{A0n7GMhY)@!wTRW$2AfvpMYu?e zNiM0g0?6$%%25DmD(`?EjR+UR?2EZ@noJK2#Q3LxjUY-QOn4(16u51{^ioE0Y56)7 z1Vp0)(20ps$$e>97(WgZSe$NuO<2?l>i(QRk(IRpWe-&cv4<^yKp#)nfN=n+4TD+h z^>uRCOEV6c1b6IUI$qCd6jUw55&DOwSROneg#g$Mi-!AR3C)1mQ7CW;-ontn1ApRx zqsA@i^V7-m5YQbAU@X^Vtz-xk0$)&uEVUu`4cbEGG)T0_JwYVs zUQ5tDf{p|@!q8R=xC>%*MX74PhGZ&eG$6BrC^3=-q@9v71m*)_q0OWs_X3foksw}_ zAztDD`{87c-MjF2^CIwKm;G_)e>!*@wynj^d>4|yv4xAtW-XqsSU)~a2}R@rs(N=& z!^YXU?1cmbR0#ov1M11_Dt!zWjPIVA#CzN-@bcgm6|8LT+ii@tVEMl$BA~+ssN4ua zg39mkzjg4uFj3$P)TT&>QOP`g3KT%UtZcke3l_1TU;=pR(9jA)r|jHzm*LJMV1w%p z`j}Z+A#x)2KQzOrh)gHdKq+XvJ>#@9|MYAdyf7ql9B*|FUfsY+4-jSArLciVgg4o00$K)q+r%_GPfiv>k81p zSGUl7QLuv{)k^`XaqOOsj%yIe`o{mc=)VL(t_GtGmmahsa)ofT_R3-$R^cgrVmd{ybfuk zle7I=<8XPhwXRlibnKt`c_)`~xOD|2Kbk^KA+YWW6t3_;H3-TZ(yo9n7aNM4Y+@qG zAW&gAWu&l|0)Z$xnS6&SpU)W?qYpz2{qd-!z$lCuWq{&Q*)e@f0U~6OgUq6Y#tpiE z*>4|3CStI!4L6w2LgkT3kyoizd=Hx4_AVXlbmkXlA#+t%Lff|D}STZx9*jpA?>|;PY!h9 zkI@k}2U5g^iQ(b+5G2Gw<=|?Z!6})|Et??ZBB5>ShFJk%2=GLu6sgE-pdvOv5}Ab! zEU_L0ktn}-aphl^g0f+YJOi=^&_PJ2=H?7bbKqk>uo^?|=L4AM-))4@cs!{R48p=m zwF$||VbGkjS0J7=1zWZr5>;>|0)v9yhlitbRm{UO|Mw?+cl@and(#P;FrtvTT#MmZqR;nE|m>Bt}W;i|>E? zE4{*JPl$mbIbA4u>PXSwPWoTbCy)Wr&)XG(NH`Jr#=H>CI5<9rlsm^ia@zFR6D(l3 zrk7_nLo#9X17ZMRvH5>P2Ie(0KtF-mE=HGyMCZ=I(IUfZAa?meK22j0Ez!hv|30{* z_5ANLLBrXKDFYFlH02VxjutzMsav=zNXLe8<8*exD z@_9Jd938p+n;o1E2Ym+W`4uQBj)~BlvhBqP>;ah|?PP@v7s7bN;3+`Lgs~TR?!SRD zoD4AK`~a{j?T?-#cSC{LNef_!=SUFXT_afAT;7M^P>0JzU2SqR4A}{G7^6d>3E00(VK}n*1=5Z`}p_{XasEOfaLy7H2A`* zS>iI2co+wOT_60Va*)7Rm{M&Px+y6HoZy;@Y05(I6uI5c|KtY4el+0~xCN8*q$ep{ zDx(eAmj1RxVxq!Puu{>v|zw zNptA4Lz~LX%R`niz5;h@f;xyJa7zGIT&;OaD~l680^ z5%9>0@M81&BsI(TaeD(Sqxr<8L$9w%U!A{9dL1t%IaeN!o@ztr67t4~aaOnrr5Fb8 z;ofP56<*NywcVEPIKRAok^qsc!cv+iK#`E!TcLbp)3-+tRj~KPF`weE&xCoO(3@YQ z^6wsM5;u3w2k}{F)pxa-S=laQmG++?@-)hhf40)7W=M zWBLDa-%|EgQs}lq5s{3nj4~RMzOq7SN+jEj%AJwyN+lYUq!L018HFN3va(mmEN)rP z>+1LW{?2*+c+Pn`PKU^SU)S{+@Aqqc%%S6Q5}>Z{+o62~)7gpjAU78m2~tl8LF@pb z@nrzRZHF2z3Og0jCBFZdM&CBLHGTCTiTIz$f@(V%xHItb`CrHM5imidDYP+|T3T6M z{RQm<|E?G^(Hi5W?jQvP`bWA469sJ$KDNYACPU^`g&r3b2{|=CKkghfsX&nko!*H> z;TpDt-Z06eSLV$f9oKQkzA%3bry&9CQ`;(S+8R`c4$haOw*ZP%g8HYnjX|3$U{%ED zA$zlz)?uh!+9_+^ViY!g`_>2cWRvG!uGQMa2UU8qRrp$;N=5?J^MOdUGPFXdOgZyK zn63yDA7w(`N7wc~M%my1y>GY5!AF1r@RgW`#<7Ofy){Q|{nr%PM4>-|tbwDg95x0cFAw)IQBFq0N^$g!;Lh?0b@S!Qej|LOKZOfv4JPh=kr2Esub^Ph!U z%XuB!pdY!fazRI>7|nQ%hL4fyll?uA0$uf=t6aHNn1ce_I=*}N<1ZUR4IO-5 zT^|$Fi8X*($gAuo6kK}^Ouvg-!?@0h29}e6@~`SVv>OYJW-TfzI_=~{Pa?#YkS|>q z;-=1Zn`+-EK|TJt?Mj#HBJG06Pq|8eNJpM;qY1$_&g{fWy^fWjoCq8wU4k(JxVD2n z)%r9*Xh43Kii^tt%`-UYCuuLfTZXQhxIDHsCYpO8*L7medh+yXXwI6bY{-8^(Bmz2 z4UdgE4hKi`0w4577&u3lj8|(lqh}J5# z8AjjpZZmS=oH~lx%L3D&@^f*K!|dPBujVNO{T}Co3{_8PZtw>0-IjL zZJL;-5V0%Uk2Iy7mtFzMqGQ#4nGlhVDUpfU)guK2_W3qUv#L$^IUWI$xg}%Kn>)=( z)?|BOre;@+nHDn5y}G9>bSQI+l$6~mYV=O4+;hjBFAFp2%+jp6JcjEgWfnRU z=wznID^p~%_>hngBBZe?N-uanjBa49PdJyqK$q=+ito8Ijor7%#y|_H6S#414$F)4 zcozyMK=cvCI|m7h*qzAi+Mwnphk;Mv{cgTE14tXaaL?Xk_F`=b(QF zyH=@W&{L$hu%5vifJY$sJX1d8EZtKQ$uj(^ZsKrqzH1A%#SFO`CJp{}^GpX<#UTs; z-i8-1UJ!Q+%!pB$mqO{I{o6X9w?Olo+)$~ojzBk#m0|Lg|3l~BvJoX{$Vy;iF;fH(K z1>}{U9IyOpbnxJyOXu4yW62m56{3x<(jx}T~{mqt@>1#-aI`aA8J5U*cM&M z<&YAgiDhOl=CXD0EoR|{-GB&cv3Gq5i3B}5a!xc+tRhetoGuQEK*uae4hPW$KnW-Pb&)&SbowKIQ7-Tvw4I{JXN*873K=47P ze8T*Qcq@+GUBi!>DuZ0tkABNIh3S2}w^1ARgHz6>h~P6DvnX&+i~juaqy2Ej?;G&! z=I*A^1unFA9kR6ih#@)!__Z&D9AM{MzKt3j+#8|XiBDaA3=h9U+$goqP2e6lAm$$+ zZnAgi(Acmpg)y_R#Qu|g70|YbhEual@WI7+KpC%cyOn_SQr(dfs4GeB0OLy(JERBc z>8y!~iCDeeL=c7mL37zqN{YDW$wjWnzWR=inzrC}kPhn_-2Az;-|%5IBdRsf$)tBg zVirWUA0nCZdHDE{4aXFpg_Tt#5#7^gCJ`qjlW-tE0{5d1*B-8ygZRXI zWoeG?5Z9hJo2H)HHw{I)Ztm6ef}nn_9=EJ+#y3J5Kq54ojweqlc=m7nYvbi(B3Gma zNnJ$a2nX}$whz%;z}nbIcNKbZVmG=jG%x8j(YXhxsgr=LBv3*mB#}tKJjrttU8jgW zi?EWgu<&S_nrbScBFfI~=0hMB_4OMIa*wK|rDc6*CkF`twj$My9z z#Fvtp%J{Na9s&Qq@}n^|JGbXBxS0!6y?cn_CJW^}fpb51=8D$udX1q)$g4@0W@kMK z*)DN+d*L(qyCpEuC|rnl5+99>q|Ol-DfW+$9CjTELhTTHW+M?VRnIPRitzY1^D%A6 z1WfMk;X&-$HBQZ4pc#6)Hog)1l}{LD}LJXu_Igy*t^2eVxzx z0{}vB4wWe6ObZGNe@JwOLl~k5;@(L>w-?Z!jxY48f0xUwtiuL`b=}$7d8~#j>v2JW zrNS_$c8e~bb`#LjtG|%7#=q;rHf+ec(8)Ln1VqtlBktX`{$Ak0itfk3xjaJ^0gGrO z*+?|(dttUnG$U@?3Fr_0vy-w|tTsX0OKfO+GrqB&u?=kWL5YD|#0_*fOOP(s&RAcc zAZSD>PbB=Q(m%*O>qyu>bR~7g6cyJJg#~uIDA91?kN2SQ$;#b+I#N(oG)3-MK}9|D zan^{vy05FGePku&DT#n5>cd982k)FRw-R2i##6ca3sZK( zE|LBZ(8^MO5#eO^N6NN=l-#Gpo6OS*X@-&$>*}5hj=Xx1LHPZ>Y7U_T>FMbfR>IGP zIUXSf6g$z!&!0aKhWmEmn)=b-G{WGBo$@2dX}J{touPkv!{zXj6#mxLCfL4tPkxDv zh`3o((ktyMD4BwUt|Ss%gNP77h5G7lP{Y_E){-7% zXY+pl{vFp#B2=*u?Xcdjgs6bnUnB47zc3@1Tcc?rxA|9+nWrQ*nrU&X{*@+w>ktsiGjW z&(76ej6?Iqbn(yPx4@GBoT26an%){+2n<>WC7uR?yOP+6l^<% z=1STP#=EZMr|{blBsmcUKk3ii%_Hu+uuiIK^Q!QU>vZ&Hz@KLs>4V^}P#0*5t zhfFoeb|_UfcQ{U>W2CwRi^h_aO#A50XsosLI{F|YvWBT>KY3c$n4pDLJ@iXjO3hur98zc7eE8YK#NaI$}6yA0mfsE~-mXFxP0rjO|Ea>xUZ^3rsfXJC z3{iYlA!%nztEE(@mq<%U1eYLLdeRSF>tNEDp`e~m;nBdOkcYIhozW!X z3uEFg_oy5+P*ze>aMw{O16Z&*IWqXP;)D0m8(3YIpGNo;-Cj1>tKgD}gr3o|@;_RMJ53K>Jd;or5ycz|J~ z`p|Z%sa<70#yl|q2&fEtThgyJr3jxpIaVc4nWF6T=FDPyRC5R1@X^mH$BrDSXj>(3 zP*L(7(wy;|yb}%Q#-`s11pR`^iGT-5mrx;s1)@L4&dqTFx;R5=c9+MmUL7*Xd;OY- zzhnE(6$#;?*5CLgl3mkN6QVG8&~N6xZw$Z$yM_p(qkx`}itFy%{5z2>CY@kio1|f7 z;N{_gI$R~(TRaD}QifkR(p(G>r)f&Nck|`|uNX6rf2jW9nGbnu2*)VGVdzNMI=A21 zPrQ>xqCPM35Z^gvbr^f@+Pg9E`nmnB>QiWt-8zpx#XWH0hkodkHGM*@T-Z%~sU zhtxC$H+vzM8C{jn0AhnAL6+*!T0sH$2h z*k3=K<~W{a3q9l&xuDW_l@%4+=k(kTq8+CkJsSTl;vgS#Z6N|EMHtnFi^k$Zh%caF zJ@@`O?ASZ=ERXZ%fvlAUpLTr3O@_(7rh~Iu^&c}cmXa>4G9NmOOTb*0eQR#^{i%Ah zKOy#ag4E0tmaf1R4Kc~Xh%m@RAWF{+_o57KxrIRpXKT1tSLB$HuocIAgrmp0) zv}z~Dv!|V%Z&F@Dm)K9`m%)Q~bS~WrC1}j+dMO|V!@>M)1gYGB+!^~}JtNdnu$hoZ zKs2}Ix^#VR;TBncTitE6w#f9hhd%ln=dRO)ZA_yvbvzb;Mg#9Et6^zpx)+q z$>fO~mpQ{oC!{hi;{8#(GSMvLr^20D{OFO+WJ=?Y+kT?#2YYXEb-J;mv$;Y}{!-P! zX{ZEj>StS?%l)HEJ{7#14s#7G@Yu@imxwz$KXr?h|BUO$nwqr%m0(x~1AvmR)o9mNJ2 zI%KD+^KrN4d1a^W-}$36UtHl5V9sa)gg*8Ug2eBT$qn`W+myus5XEXD?c>&brU<(Y ze4>k}pr~EQc~49uPk9s|Z+CtQ-x<_yf{v-KsZP0z(zkQSB=)WNsHVvh>Q`pn&?s0T z&*p3dB;eTlo+4#8!aA^Ud%wi-mTnZx)q;{qdQfQv)5B}{W!Wm6x$DRhrQtj zeuoJxLkYk>d7CEO&pKo9nHOTOTk2tU^093|rsr?n;wvqO$@va>eXNuCCg;p&&#pxQ zP#7r{NRo-O7K7$y@d+A>0dNd8P4p2oDe?>35}WD5th0|Z{TDoaO@((r_8PK+f`{7m zt1fVP2YKVhkqhKrzY^3Fn(FHJaM!AhYS_K?2y9XfYnWCe@N4z)hp%2m`v~j1MFBEQ zNzP4Wq`R$nhQ~$W4)y0znEU{%)kLwL83rS}2vWV=or^Rhe9dEJL+t2la7lx7*S!~r zD4c-(1}|gYaBfZ?9O%XOk8;GyyzjWAzj;~LZ#vE3@Zng;cFfS4s5R9&&#+0Dl@MEY z>nx-bx5=Ebqc;*0Yv*QX6@Em)vL~8mrN|%o*0D42edAJ0#SF^@L0qwN=EmXEAQu*a z!%~0F&dyH5Q(Y6qXy}RInry!_)-oWV_|yAjiEmoq~u6eAm=etf~MeD-adJc|_#F{Aj>fa4#b7Bi1H!FwMzVk&pLT%J-O-;pG zWpTyEnQvB95&q^_NN5kE=nZe-O8XQhE=`OtOFy?c71v^*zH&`+S9kb=j>%GNUQONR z@qhxOpqsQP_3wdK8KkGkVIdiFN4yx$iW*Hv-xioe^vny#Xl5@Dr6Xxa_;z?TzSWri z2077ubF*2GGR%}iD07Y#Ct`^(oY6*oX?#~PY<@YeBNh5v!x_osFT=Sp!uP@MSLY*9 zIhy#Ew6W%7a)9UZ=9$Ym9bZ|H;9%LXI{)R%NKSys#Vg{i*YfEk6kLWTA_Z2@Nbo!l zriuI5Bn`{>kG050X?+*VjGy;;f2@4=THY6Ez~rpoM9&xFw@z8P17(NYs&!jCL6dB5 zf5@>i9Y4QTZk(y1yu5rKJNcL$i3e zQkSO1kPTt@9Z7Vq^GX#1SjrE_t`kAH8K4yc-^k`xu$)NwEKl!7XPrEN<*x-1hPbC0Ey{_yI!1Lcmf5*C= z(NtS$z`8yUMAdNQ-Htl-zSykVgwW0ckMR2-q-Xpkd=A3H9os}#WHS-VSc8cibHfU0 z))ZUA0Fgn4+gn9Mw5Q!ukd*=}pR9D$U5oh)02Q`}4~wR;!l0n*>wpkg{OxR2p4?YP_&fqO^rl^}^3t(B#usviB|tGuvCtR)lctJNHrJ!A0`K%6-u z+EU?3{qxjSuo4VQ^n5@}ixXxZpNDSRkzI;sejs|t8=_VDR3o(QGfSeG-|(ztM$B;7 zf$0h0K1R(Gs~d*rb28Ok{EeAMw^KJ?D1G)xM|YGKSCK z=?LFtzn$M3Y7dW9rhoyQax4RYOqhKO4-K^|HWr_~2DPMjP{jrRxLyfK$@XK)s;aH_ z;?>x7?mAr;ucBNMj2s=+(yUMUWci|bBxcaKGE3FAXEGaPFDZ{IQVCr?>^OqhnxE{A)zCf&kvD8(iY7vEurAO_Z3@ZIWn(h zxw=Oc&IAPCg;*8w6juVI%0$>l`lnyMMg12cZ;>!gIu|oRvt4`_(3I`Kh6{ z?_*G=-h;-j0xsHnHgdwk@7RIGLsEy;Mq&6jR+2Bx&4W51Sop^@){}_j0FZdH?z&u& z+D8uv5O!#!;Egv%2NW;OS|O7Kyu=~W9u++ZWI@UcJ+p;OEZ8O^m2}ND6sSv2$8TI< zTkS%3DLsB#TwL6{N~kCObxuwXC{)+sdz%3r_2JV8q-(GC;g_JRc<^m>3T_*^8G(qs zJ;mXxq^_*{CGn9CY7vqh^n*IQw_y`OJOqh^T&-~AIh)NgkyA?oTFXu=;=}g?n}{^z zkc2@5nkOPeV7G1K7l^e;yN!)GImntd4Wd0kzwT!f=X2REjU46sv;x6h57;fzC5WlK z>oW_S zG7=xeB_ue~uH#&hXQosu(CkD^`G4q|+huY0OyPwI#Bm8peJbgnpeOsde*JpZtfS2+ zHE7W3O~Se1SZphv>pS&+{d`i=rsAwDH-iBjgYnE%JbkN_RJX0qz)g|(IHc15TR&*V zywwM}%z}X6?fq_G(LYjb4W@5Mk4T1z^IW7qe-vH&RkRO`HSvjw&M}hM1|~*EdQ~I) zuxvGu^C=KWSM z1`~E@T!kjm5k{1Bb#puq~NUSACQVn>1cI3wmsYEJojL?;p#^F|4IJpZ2$!AK5 zLFYrrn5H>5sdpcch^tkfeOY4vdv?~cXgPNAC@L*_n+3s`YR6u{e|IMS+anZsPdyTU zDt~AHB6Qj^(_u4MXMs+Js}pU^E$N#^>7(H;hlv28!hto6j5BcS;9@8+0M9t=aobO{ zXr`udDa8o3`YdYe>szp=2#I#F>d4=v5XD?a+bp1pJ*u;d!~qG@F>g(QZt#`l<#aVz zYB~*ZU(lR60T4l%pUv!(d`7xGvi)WRE7|93w^Yw$d1_{wDL)_BXKb98P)D)AxU@Af zIc{4Pi{>%+OmPa;dzWKoW+!9nPAl%B9Kexot~9zsu<^SnZk$J_ zp5UVr*|%@szHQ?@1}WO1`E+^vC}QnRO^!Rvd&O1{ zxr_Ds;SLa;jW{mzNogd5NpHc{Wt)eGCgFWDb9wsntJ8yw^Il$FGZJxOn@IDw0o3iW zLqfTIOx+h@!mpO?V*?#P&!>+c35|lGM!!m=oQ%xtkvf}tgzo5;%4$di~$F6U8Cq)%({5)d|DhVrT9Rv`pP=}tI@4H`y~nk_glG$kbW2r zK@n*m@YaA{ddrqDmosO$1M-M4<@uT*DJK^()B@Cj*`({W_qDougjp`RUOe}6i*WS< zviPMIo8hZ_-B#169-4JCBhcsU*=PNJ7f2a!8DsUZ>}Y|qEMb$CmDSJYz}PvX#ctz_ zZ!;+6_*v46IOS=zX3l)N5lBX(k7JtCCa5Kl!3YCk^okL1uw)N6pED+%_=TJ?_u`a$3+ekx-@1L-+dkNWYdMzq~!I_E^gy z{U3_1T=qp)P*j6daz*rHxUkWFJk75Y9=j61|3-{O7&ET~iKMwqbGUKq7Rx7uaB!_# zw}wQxj3E(n&U+3ePxTNGgnKF%R_*SBIk+ip*6YgTR^q!mRW<_dN9Q&6ve0e7NMs3x zwVJzFpAw3l#r@?=Nx}?4V?k1W#x=%eZYEDTJx~ng!2GSVgv$I0 z;*EX~Bxo6Uh_OM7l7OOg84E%nEm8!q2)5%wXDjLgas*1@ntv{v&G$Ck2cp=kzwjkh zdDTn8OR7`w^l8=O6TC?eL63qU$SpYcpvxUaJJ=A?r4pPGiC%&%*g1|>d-Ai|M2qz@ z{wADd9P#?zn||Zv{(i^!c*9q^i@C0dPlbUhzDXJ~*$d@oUxYnPh0HbU>&YEd zFSqG_LlGeiOYE%G)A$QfIw+ZRX`kDyY7jyy;x`X{oX|&QXv#!f!YA2!CGO6S#M6|W zU0m{{BxPke0L8d_7h=W7Yk(?F+t*i(uMvVce|j(e4qGbmk)d%1v=y{f3+{f1+Hu%O83g&q4(l_QZCKnIN(4q16cor5cjY<@ zpqQ?C$1TE$YV3JH2_gwO)kOL~;?+)EFdb!vDhD|();8y{wL!KI2P9uef;I2B15xE` z=c{p*+#zH{MB4vx!nDkoBHVxZ#gnR+-GHMiAWjh)Y1Drcj6|V(T7jEZX0%pzq_{x} zA){EL$j=r#&KM-}pVWTxE7q&&F&T1+P2P9y5G^I&r5}hT3>!K_?|#YamPBcY7xQ8u)C|ua@_l3S6kaPs7KgTdWCxe z&V9|mnj{SA;^X!|bt{X;aDVqk64sg!NGDkyIYPX_jM05+Y6*rPp^Z|fgrQOi z0=5l1%Z6|)k-4TGKBIItA`M==9N+mQO09Wl4-Sfq_woVMjEfdtFUXQ(RJ8hr6z}GndUMvnbNxo zFE(kE1-9fk#p}+aLl}tt`M$E!0WlRcq{c+SFIAATzs&D~J5|A}>1x-?@|>((+$4vu zudnNH{X@DLg!J}sB3&ao*8?kscCRx8sT(DYlPXr0Csr)k?&)}wi+zh?oVjwa&?D{3 z@f`&>Z|$J>Mi%MO>on%7N-m9MYUxG+r%lelAfOSc15V-m&+vlxJdU z6qNqvt(XzI2CnUbkE!Ox(|U^Y4OmM+={1cg=nqA@tut1iqSl|g&MycyNVZ7A+>bVv zK4bYYSJf7T7B)oFQ8a7`OI8ezGBdd`O7t8ZQ})cPhV~Y+U3wDqOY%>rnI|5sc)16c zDspdLjKkasxsnW$mE}inu2RU|t?dptXOqa<1pI@eOd~{Y?(vpGKMDPc&~{sI?>DaO zPA)E$7;GJbVS`s<86%bEVP9R_fVULXW(LCIE1e4rQ=2*83vAp-M3NLNbHsFZ+E5@? ziFMGt(Ps&(5pFvX`-0QWyb*91(vMRl=r9x!kcx_*9s_P7<_YD}{-CFz#zH!EAgVVC zUK4=9E)SC)BE&h)78+~(zTqnR1#+gjCEob}^fgG0z53o4IOsZwY3S+O9^@IniAOuN zOR;AfJElBRJbGq8n7ZOno?pLyy=mOklZr{k{^#WCVYL-vDv>S`32%I#aJVp$LcLMy zy|E91biTVCu!KpQAj{Pu3zU^hm}F--Tj~)0_tCfx0*{B1d` zi@u>6Jp^^}KUE3v<1sQYC}>5Bw;S!>-;d)T#Y-}wBCo=!GNRR9=oxKL)NjkidBEfI zso)?opy8W_z{~P!c6OYxfx#=wWsDE12LYN6Rz^Eo;rt8)9^7ckz?IR>pt24?rD^s_ z20Ef?q|jT|ioM*o)CIV13duT3pMD~oF>CZ@zYvQ0n5J|9wIS2U>}-)Sr8q0z+0QYL z$xiP(9DgvCce<@0RV+r33*BWS$OHn^B|<#R;?YQ2o<>5R(kGnTB)Gk0(^V{5R+4+5BEP3ECm&4fkp6*MBbUePPCF zUP6#jjH_2Ob+!ApILJC(zSoj1Hg7O?!lnfCUS=fTJ3raufmVGr;A9jo=kwlT{FYYk z4q#m;wXQ)>xT@ncp)oU9}z4JXyn^`f&lkkm#A^A(p+7f?IqZYeb*AqA@#C z3o1GB9HDDdZf~2|NpRzsf+^r25it*d#Ovu@w%KcKo7hg-0o5 zazOput8K&~aqthB^Y{LN#D*}(y%_XIB;^!#J1hlV#Ts_4IBCaKid-7G{0Aq+T*6bv ze#48noL74`InisXOt+s$iGg>3>K%7JJzZe>^f{^*evX4kgMi!|r7JxtoY@#zc1UX8 zR$!s1tlTa$2YD5WAtD|a16dxi(TJ7s+^t3MfSR;!dN5h+_AX3iJ|F{&#gA&WLK@DY zJS19e+Plkc^uUem{|XZg59k?E&{XTXJg END%% +We can also form (something like) the Cartesian product of infinitely many sets, provided that the sets are suitably indexed. Let $I$ be an index set and $H$ a function whose domain includes $I$. Define $$\bigtimes_{i \in I} H(i) = \{f \mid f \text{ is a function with domain } I \text{ and } \forall i \in I, f(i) \in H(i)\}$$ + +%%ANKI +Basic +What kind of mathematical object is $I$ in $\bigtimes_{i \in I} H(i)$? +Back: A set. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +What kind of mathematical object is $H$ in $\bigtimes_{i \in I} H(i)$? +Back: A function. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +What is the domain of $H$ in $\bigtimes_{i \in I} H(i)$? +Back: Some superset of $I$. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +What is the range of $H$ in $\bigtimes_{i \in I} H(i)$? +Back: Some superset of $\{H(i) \mid i \in I\}$. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $I$ be an index set and $H$ a function $I \subseteq \mathop{\text{dom}}H$. How is $\bigtimes_{i \in I} H(i)$ defined? +Back: $\bigtimes_{i \in I} H(i) = \{ f \mid f \text{ is a function with domain } I \text { and } \forall i \in I, f(i) \in H(i) \}$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +What kind of mathematical object is $h \in \bigtimes_{i \in I} H(i)$? +Back: A function. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $f \in \bigtimes_{i \in I} H(i)$. What is the domain of $f$? +Back: $I$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $f \in \bigtimes_{i \in I} H(i)$. What is the codomain of $f$? +Back: $\bigcup_{i \in I} H(i)$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Given arbitrary sets $A$ and $B$, what index set $I$ and function $H$ satisfies $A \times B = \bigtimes_{i \in I} H(i)$? +Back: N/A. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +*Why* can't $A \times B$ be rewritten with $\bigtimes_{i \in I} H(i)$ assuming suitable $I$ and $H$? +Back: The former is a set of ordered pairs. The latter is a set of functions. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Assume AoC and $H(j) = \varnothing$ for some $j \in I$. What does $\bigtimes_{i \in I} H(i)$ evaluate to? +Back: $\varnothing$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +When does $\bigtimes_{i \in I} H(i) = \varnothing$? +Back: When there exists some $i \in I$ such that $H(i) = \varnothing$. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Assume AoC and $H(j) \neq \varnothing$ for all $j \in I$. What does $\bigtimes_{i \in I} H(i)$ evaluate to? +Back: A non-empty set. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +The following is likely a diagram of what? +![[infinite-cartesian-product.png]] +Back: A member of $\bigtimes_{i \in \omega} H(i)$. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Suppose $H(i) \neq \varnothing$ for all $i \in I$. When is $\bigtimes_{i \in I} H(i) \neq \varnothing$? +Back: When AoC is included in our formal system. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + ## Laws The algebra of sets obey laws reminiscent (but not exactly) of the algebra of real numbers. @@ -817,7 +940,7 @@ END%% %%ANKI Basic -What kind of mathematic object is $I$ in expression $\bigcup_{i \in I} F(i)$? +What kind of mathematical object is $I$ in expression $\bigcup_{i \in I} F(i)$? Back: A set. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). @@ -825,7 +948,7 @@ END%% %%ANKI Basic -What kind of mathematic object is $F$ in expression $\bigcup_{i \in I} F(i)$? +What kind of mathematical object is $F$ in expression $\bigcup_{i \in I} F(i)$? Back: A function. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). @@ -841,7 +964,7 @@ END%% %%ANKI Basic -What kind of mathematic object is $F$ in expression $\bigcup_{i \in I} F_i$? +What kind of mathematical object is $F$ in expression $\bigcup_{i \in I} F_i$? Back: A function. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). @@ -881,7 +1004,7 @@ END%% %%ANKI Basic -What kind of mathematic object is $F$ in expression $\bigcap_{i \in I} F(i)$? +What kind of mathematical object is $F$ in expression $\bigcap_{i \in I} F(i)$? Back: A function. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). @@ -937,7 +1060,7 @@ END%% %%ANKI Basic -What kind of mathematic object is $F$ in expression $\bigcap_{i \in I} F_i$? +What kind of mathematical object is $F$ in expression $\bigcap_{i \in I} F_i$? Back: A function. Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). diff --git a/notes/hashing/closed-addressing.md b/notes/hashing/addressing.md similarity index 51% rename from notes/hashing/closed-addressing.md rename to notes/hashing/addressing.md index 7b81947..c174411 100644 --- a/notes/hashing/closed-addressing.md +++ b/notes/hashing/addressing.md @@ -1,13 +1,155 @@ --- -title: Closed Addressing +title: Addressing TARGET DECK: Obsidian::STEM -FILE TAGS: hashing::closed +FILE TAGS: hashing::addressing tags: + - addressing - hashing --- ## Overview +## Direct + +Given a universe of keys $U = \{0, 1, \ldots, m - 1\}$, a **direct-address table** has $m$ **slots**. Each slot corresponds to a key in universe $U$. + +%%ANKI +Basic +Given universe $U$, how many slots must a direct-address table have? +Back: $|U|$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +What name is given to each position in a direct-address table? +Back: A slot. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Given a direct-address table, the element at slot $k$ has what key? +Back: $k$. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Given a direct-address table, an element with key $k$ is placed in what slot? +Back: The $k$th slot. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Write pseudocode to test membership of $x$ in direct-address table `T[0:m-1]`. +Back: +```c +bool membership(T, x) { + return T[x.key] != NIL; +} +``` +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +What is the worst-cast runtime complexity of direct-address table searches? +Back: $O(1)$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Write pseudocode to insert $x$ into direct-address table `T[0:m-1]`. +Back: +```c +void insert(T, x) { + T[x.key] = x; +} +``` +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +What is the worst-case runtime complexity of direct-address table insertions? +Back: $O(1)$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +Write pseudocode to delete $x$ from direct-address table `T[0:m-1]`. +Back: +```c +void delete(T, x) { + T[x.key] = NIL; +} +``` +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +What is the worst-cast runtime complexity of direct-address table deletions? +Back: $O(1)$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +In what situation does direct addressing waste space? +Back: When the number of keys used is less than the size of the universe. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +In what situation is direct addressing impossible? +Back: When the size of the universe is too large to hold in memory. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +What distinguishes direct addressing from closed and open addressing? +Back: Direct addressing isn't concerned with conflicting keys. +Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). + +END%% + +%%ANKI +Basic +Direct addressing sits between what other addressing types? +Back: Open and closed addressing. +Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). + +END%% + +%%ANKI +Basic +What is the theoretical maximum load factor in direct addressing? +Back: $1$ +Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). + +END%% + +## Closed + In **closed addressing**, a key is always stored in the bucket it's hashed to. Collisions are dealt with using separate data structures on a per-bucket basis. %%ANKI @@ -89,7 +231,7 @@ Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition ( END%% -## Chaining +### Chaining The most common form of closed addressing is **chaining**. In this scheme, each slot $j$ is a (nullable) pointer to the head of a linked list containing all the elements with hash value $j$. @@ -158,7 +300,7 @@ END%% %%ANKI Basic What is the load factor of a hash table in which all $n$ keys hash to one of $m$ slots? -Back: $n / m$ (the load factor is a property of the table, not the distribution of keys) +Back: $n / m$ (the load factor is a property of the table, not the distribution of keys). Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% @@ -219,6 +361,89 @@ Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition ( END%% +## Open + +In **open addressing**, keys always reside in the hash table. Collisions are dealt with by searching for other empty buckets within the hash table. + +%%ANKI +Basic +What does "closed" refer to in term "closed hashing"? +Back: A key must reside in the hash table. +Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). + +END%% + +%%ANKI +Basic +What does "open" refer to in term "open addressing"? +Back: A key is not necessarily stored in the slot it hashes to. +Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). + +END%% + +%%ANKI +Cloze +{Open} addressing is also known as {closed} hashing. +Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). + +END%% + +%%ANKI +Cloze +The following is an example of {closed} hashing. +![[open-addressing.png]] +Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). + +END%% + +%%ANKI +Cloze +The following is an example of {open} addressing. +![[open-addressing.png]] +Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). + +END%% + +%%ANKI +Basic +What is the theoretical maximum load factor in open addressing? +Back: $1$ +Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). + +END%% + +%%ANKI +Basic +*Why* is the theoretical maximum load factor of open addressing bounded? +Back: An open addressing hash table can only store as many entries as slots. +Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). + +END%% + +%%ANKI +Basic +When is the load factor of an open addressing hash table $0$? +Back: When no entries are stored in the table. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +When is the load factor of a open addressing hash table $1$? +Back: When there exist the same number of total entries as slots. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +When is the load factor of an open addressing hash table $> 1$? +Back: N/A +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + ## Bibliography * “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). diff --git a/notes/hashing/direct-addressing.md b/notes/hashing/direct-addressing.md deleted file mode 100644 index 4114d5f..0000000 --- a/notes/hashing/direct-addressing.md +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: Direct Addressing -TARGET DECK: Obsidian::STEM -FILE TAGS: hashing::direct -tags: - - hashing ---- - -## Overview - -Given a universe of keys $U = \{0, 1, \ldots, m - 1\}$, a **direct-address table** has $m$ **slots**. Each slot corresponds to a key in universe $U$. - -%%ANKI -Basic -Given universe $U$, how many slots must a direct-address table have? -Back: $|U|$ -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -%%ANKI -Basic -What name is given to each position in a direct-address table? -Back: A slot. -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -%%ANKI -Basic -Given a direct-address table, the element at slot $k$ has what key? -Back: $k$. -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -%%ANKI -Basic -Given a direct-address table, an element with key $k$ is placed in what slot? -Back: The $k$th slot. -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -%%ANKI -Basic -Write pseudocode to test membership of $x$ in direct-address table `T[0:m-1]`. -Back: -```c -bool membership(T, x) { - return T[x.key] != NIL; -} -``` -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -%%ANKI -Basic -What is the worst-cast runtime complexity of direct-address table searches? -Back: $O(1)$ -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -%%ANKI -Basic -Write pseudocode to insert $x$ into direct-address table `T[0:m-1]`. -Back: -```c -void insert(T, x) { - T[x.key] = x; -} -``` -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -%%ANKI -Basic -What is the worst-case runtime complexity of direct-address table insertions? -Back: $O(1)$ -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -%%ANKI -Basic -Write pseudocode to delete $x$ from direct-address table `T[0:m-1]`. -Back: -```c -void delete(T, x) { - T[x.key] = NIL; -} -``` -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -%%ANKI -Basic -What is the worst-cast runtime complexity of direct-address table deletions? -Back: $O(1)$ -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -%%ANKI -Basic -In what situation does direct addressing waste space? -Back: When the number of keys used is less than the size of the universe. -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -%%ANKI -Basic -In what situation is direct addressing impossible? -Back: When the size of the universe is too large to hold in memory. -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -%%ANKI -Basic -What distinguishes direct addressing from closed and open addressing? -Back: Direct addressing isn't concerned with conflicting keys. -Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). - -END%% - -%%ANKI -Basic -Direct addressing sits between what other addressing types? -Back: Open and closed addressing. -Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). - -END%% - -%%ANKI -Basic -What is the theoretical maximum load factor in direct addressing? -Back: $1$ -Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). - -END%% - -## Bibliography - -* “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). -* 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/hashing/index.md b/notes/hashing/index.md index 8178ab2..615016a 100644 --- a/notes/hashing/index.md +++ b/notes/hashing/index.md @@ -207,8 +207,8 @@ Independent uniform hashing is **universal**, meaning the chance of any two dist %%ANKI Basic -What is considered the ideal (though only theoretical) hash function? -Back: The independent uniform hash function. +What is considered an ideal (though theoretical) hash function? +Back: An independent uniform hash function. Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% @@ -248,7 +248,7 @@ END%% %%ANKI Basic What is uniform hashing? -Back: Any given element is equally likely to hash into any slot. +Back: Hasing in which an input key is equally likely to hash into any slot. Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). END%% @@ -261,6 +261,307 @@ Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition ( END%% +%%ANKI +Basic +In practice, hash functions are designed to handle keys of what two types? +Back: A fixed-width nonnegative integer or a vector of them. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +How does Cormen et al. define a "good" hash function? +Back: It satisfies (approximately) the assumption of independent uniform hashing. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +## Static Hashing + +Static hashing refers to providing a single fixed hash function intended to work well on *any* data. Generally speaking, this should not be favored over random hashing. + +%%ANKI +Basic +What does static hashing refer to? +Back: Providing a single hash function intended to work well on *any* data. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Cloze +{Static} hashing provides a {single hash function} intended to work well on any data. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +What does it mean for static hashing to be independent? +Back: Where a key hashes to is independent of where other keys hash to. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +What about independent static hashing is a bit of a misnomer? +Back: N/A. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +What does it mean for static hashing to be uniform? +Back: Each key has an equal likelihood of hashing to any slot. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +What about uniform static hashing is a bit of a misnomer? +Back: Where keys hash to depend on the input keys' probability distribution. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +In static hashing, *why* is uniformity generally impossible? +Back: Because we use a fixed hash function for *all* data. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +Assuming $m$ slots, why is static hashing function $h(k) = \lfloor km \rfloor$ not generally "good"? +Back: The probability distribution from which keys were drawn may not be uniform. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +What property must an ideal static hashing function exhibit? +Back: It must derive hash values independently of any patterns that may exist in the keys. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +What randomization is available to static hashing? +Back: The distribution of input keys. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +### Division Method + +The **division method** for creating hash functions maps a key $k$ into one of $m$ slots by taking the remainder of $k$ divided by $m$. That is, $h(k) = k \bmod{m}$. + +%%ANKI +Basic +The division method is used to produce what? +Back: A hash function. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +What hyperparameter(s) does the division method require? +Back: The number of slots in the hash table. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +Given $m$ slots, the division method produces what hash function? +Back: $h(k) = k \bmod{m}$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +Let $h$ be a division method hash function. What does $h(10)$ evaluate to? +Back: $10 \bmod{m}$ where $m$ is the number of slots in the hash table. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +Consider hash function $h(k) = k \bmod{m}$. What does $m$ likely represent? +Back: The number of slots in the hash table. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +Let $m$ be some number of slots. What $m$'s does the division method typically work best on? +Back: A prime not too close to an exact power of $2$. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +Consider hash function $h(k) = k \bmod{m}$. What method was likely used to produce this? +Back: The division method. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +Is the division method an example of static or random hashing? +Back: Static. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +### Multiplication Method + +The **multiplication method** for creating hash functions first multiples a key $k$ by a constant $0 < A < 1$ and extracts the fractional part of $kA$. Then it multiplies this value by $m$ and takes the floor of the result. That is, $h(k) = \lfloor m(kA \bmod{1}) \rfloor$. + +%%ANKI +Basic +The multiplication method is used to produce what? +Back: A hash function. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +What hyperparameter(s) does the multiplication method require? +Back: Slot count $m$ and some constant $0 < A < 1$. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +Given $m$ slots and constant $A$, the multiplication method produces what hash function? +Back: $h(k) = \lfloor m (kA \bmod{1}) \rfloor$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +What range does the constant $A$ found in the multiplication method take on? +Back: $0 < A < 1$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +Consider hash function $h(k) = \lfloor m (kA \bmod{1}) \rfloor$. What does $m$ likely represent? +Back: The number of slots in the hash table. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +Consider hash function $h(k) = \lfloor m (kA \bmod{1}) \rfloor$. What does $A$ likely represent? +Back: Some constant $0 < A < 1$. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +Consider constant $A$ used in the multiplication method. *Why* shouldn't $A = 0$? +Back: Then the produced hash function is constant. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +Consider constant $A$ used in the multiplication method. *Why* shouldn't $A = 1$? +Back: Then the produced hash function is constant. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +Consider hash function $h(k) = \lfloor m (kA \bmod{1}) \rfloor$. What method was likely used to produce this? +Back: The multiplication method. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). +Tags: hashing::static + +END%% + +%%ANKI +Basic +Is the multiplication method an example of static or random hashing? +Back: Static. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +For $x \in \mathbb{R}^+$, what does $x \bmod{1}$ represent? +Back: The fractional part of $x$. +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +For $x \in \mathbb{R}^+$, what expression does $x \bmod{1}$ evaluate to? +Back: $x - \lfloor x \rfloor$ +Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). + +END%% + +%%ANKI +Basic +For $x \in \mathbb{Z}^+$, what expression does $x \bmod{1}$ evaluate to? +Back: $0$ +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/hashing/open-addressing.md b/notes/hashing/open-addressing.md deleted file mode 100644 index 138fdb8..0000000 --- a/notes/hashing/open-addressing.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: Open Addressing -TARGET DECK: Obsidian::STEM -FILE TAGS: hashing::open -tags: - - hashing ---- - -## Overview - -In **open addressing**, keys always reside in the hash table. Collisions are dealt with by searching for other empty buckets within the hash table. - -%%ANKI -Basic -What does "closed" refer to in term "closed hashing"? -Back: A key must reside in the hash table. -Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). - -END%% - -%%ANKI -Basic -What does "open" refer to in term "open addressing"? -Back: A key is not necessarily stored in the slot it hashes to. -Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). - -END%% - -%%ANKI -Cloze -{Open} addressing is also known as {closed} hashing. -Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). - -END%% - -%%ANKI -Cloze -The following is an example of {closed} hashing. -![[open-addressing.png]] -Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). - -END%% - -%%ANKI -Cloze -The following is an example of {open} addressing. -![[open-addressing.png]] -Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). - -END%% - -%%ANKI -Basic -What is the theoretical maximum load factor in open addressing? -Back: $1$ -Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). - -END%% - -%%ANKI -Basic -*Why* is the theoretical maximum load factor of open addressing bounded? -Back: An open addressing hash table can only store as many entries as slots. -Reference: “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). - -END%% - -%%ANKI -Basic -When is the load factor of an open addressing hash table $0$? -Back: When no entries are stored in the table. -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -%%ANKI -Basic -When is the load factor of a open addressing hash table $1$? -Back: When there exist the same number of total entries as slots. -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -%%ANKI -Basic -When is the load factor of an open addressing hash table $> 1$? -Back: N/A -Reference: Thomas H. Cormen et al., Introduction to Algorithms, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). - -END%% - -## Bibliography - -* “Hash Tables: Open vs Closed Addressing | Programming.Guide,” accessed June 12, 2024, [https://programming.guide/hash-tables-open-vs-closed-addressing.html](https://programming.guide/hash-tables-open-vs-closed-addressing.html). -* 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/ontology/index.md b/notes/ontology/index.md new file mode 100644 index 0000000..0570ccc --- /dev/null +++ b/notes/ontology/index.md @@ -0,0 +1,116 @@ +--- +title: Ontology +TARGET DECK: Obsidian::H&SS +FILE TAGS: ontology +tags: + - ontology +--- + +## Overview + +Ontology is the philosophical study of being. Generally *things* are split into two broad categories: **abstract** and **concrete** things. These words are "terms of art" and their definition is not standardized in any way. + +%%ANKI +Basic +What did Quine declare as *the* ontological question? +Back: "What is there?" +Reference: Simon Hewitt, “A Cardinal Worry for Permissive Metaontology,” _Metaphysica_ 16, no. 2 (September 18, 2015): 159–65, [https://doi.org/10.1515/mp-2015-0009](https://doi.org/10.1515/mp-2015-0009). + +END%% + +%%ANKI +Basic +Who is attributed *the* ontological question? +Back: Quine. +Reference: Simon Hewitt, “A Cardinal Worry for Permissive Metaontology,” _Metaphysica_ 16, no. 2 (September 18, 2015): 159–65, [https://doi.org/10.1515/mp-2015-0009](https://doi.org/10.1515/mp-2015-0009). + +END%% + +%%ANKI +Cloze +{Ontology} is the {philosophical study of being}. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Cloze +{Epistemology} is the {philosophical study of knowledge}. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Cloze +{Taxonomy} is the {branch of science concerned with categorization}. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +What does Effingham mean when saying "concreta" and "abstracta" are terms of art? +Back: They are terms defined freely by a person to mean whatever one wants. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Cloze +In general, ontologists often categorize things as either {concreta} or {abstracta}. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +Generally speaking, what does someone *probably* mean by "concrete" things? +Back: Things that exists in space and/or time. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +Generally speaking, what does someone *probably* mean by "abstract" things? +Back: Things that exist in neither space nor time. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +Is a material object considered concreta? +Back: Usually. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +Is an immaterial object considered concreta? +Back: Possibly. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +Is a material object considered abstracta? +Back: Not usually. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +Is an immaterial object considered abstracta? +Back: Possibly. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +## Bibliography + +* Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). +* Simon Hewitt, “A Cardinal Worry for Permissive Metaontology,” _Metaphysica_ 16, no. 2 (September 18, 2015): 159–65, [https://doi.org/10.1515/mp-2015-0009](https://doi.org/10.1515/mp-2015-0009). \ No newline at end of file diff --git a/notes/ontology/permissivism.md b/notes/ontology/permissivism.md new file mode 100644 index 0000000..c25f315 --- /dev/null +++ b/notes/ontology/permissivism.md @@ -0,0 +1,106 @@ +--- +title: Permissivism +TARGET DECK: Obsidian::H&SS +FILE TAGS: ontology::permissivism +tags: + - ontology + - permissivism +--- + +## Overview + +Roughly speaking, permissivism refers to the stance that everything that can be described without (at least obvious) contradiction exists. Generally speaking, permissivists tend to think the question of whether or not things exist is trivial to answer. + +%%ANKI +Basic +What is permissivism? +Back: The view that everything describable (without obvious) contradiction exists. +Reference: Simon Hewitt, “A Cardinal Worry for Permissive Metaontology,” _Metaphysica_ 16, no. 2 (September 18, 2015): 159–65, [https://doi.org/10.1515/mp-2015-0009](https://doi.org/10.1515/mp-2015-0009). + +END%% + +%%ANKI +Basic +What metaontological view proposes answering customary existence questions in the affirmative? +Back: Permissivism. +Reference: Simon Hewitt, “A Cardinal Worry for Permissive Metaontology,” _Metaphysica_ 16, no. 2 (September 18, 2015): 159–65, [https://doi.org/10.1515/mp-2015-0009](https://doi.org/10.1515/mp-2015-0009). + +END%% + +%%ANKI +Basic +What triviality is usually associated with permissivists? +Back: Permissivists tend to think most existence questions admit purely trivial answers. +Reference: Simon Hewitt, “A Cardinal Worry for Permissive Metaontology,” _Metaphysica_ 16, no. 2 (September 18, 2015): 159–65, [https://doi.org/10.1515/mp-2015-0009](https://doi.org/10.1515/mp-2015-0009). + +END%% + +%%ANKI +Basic +In permissivism, what is the antecedent to consequent "$X$ exists"? +Back: "$X$ can be described without contradiction." +Reference: Simon Hewitt, “A Cardinal Worry for Permissive Metaontology,” _Metaphysica_ 16, no. 2 (September 18, 2015): 159–65, [https://doi.org/10.1515/mp-2015-0009](https://doi.org/10.1515/mp-2015-0009). + +END%% + +%%ANKI +Basic +In permissivism, what is the conseqent to antecedent "$X$ can be described without contradiction"? +Back: "$X$ exists." +Reference: Simon Hewitt, “A Cardinal Worry for Permissive Metaontology,” _Metaphysica_ 16, no. 2 (September 18, 2015): 159–65, [https://doi.org/10.1515/mp-2015-0009](https://doi.org/10.1515/mp-2015-0009). + +END%% + +%%ANKI +Basic +How would a permissivist answer the question, "What is there?" +Back: "Everything describable without contradiction." +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +How does a permissivist interpret English statement "There is an $X$"? +Back: As "$X$ exists". +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +*Can* a permissivist commit to the existence of square circles? +Back: Yes. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +*Need* a permissivist commit to the existence of square circles? +Back: No. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +What general strategy is used as an argument against permissivism? +Back: Individually acceptable committments lead to contradictions when accepted jointly. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +What Russell-like paradox is typically used to argue against permissivism? +Back: The paradox of non-self-instantiation. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +## Bibliography + +* Francesco Orilia and Michele Paolini Paoletti, “Properties,” in _The Stanford Encyclopedia of Philosophy_, ed. Edward N. Zalta, Spring 2022 (Metaphysics Research Lab, Stanford University, 2022), [https://plato.stanford.edu/archives/spr2022/entries/properties/](https://plato.stanford.edu/archives/spr2022/entries/properties/). +* Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). +* Simon Hewitt, “A Cardinal Worry for Permissive Metaontology,” _Metaphysica_ 16, no. 2 (September 18, 2015): 159–65, [https://doi.org/10.1515/mp-2015-0009](https://doi.org/10.1515/mp-2015-0009). \ No newline at end of file diff --git a/notes/ontology/properties.md b/notes/ontology/properties.md new file mode 100644 index 0000000..d0cd9d1 --- /dev/null +++ b/notes/ontology/properties.md @@ -0,0 +1,100 @@ +--- +title: Properties +TARGET DECK: Obsidian::H&SS +FILE TAGS: ontology::property +tags: + - ontology + - property +--- + +## Overview + +A **property** is an entity that can be predicated of things or, in other words, attributed to them. + +%%ANKI +Basic +What is a property? +Back: An entity that can be predicated or attributed to things. +Reference: Francesco Orilia and Michele Paolini Paoletti, “Properties,” in _The Stanford Encyclopedia of Philosophy_, ed. Edward N. Zalta, Spring 2022 (Metaphysics Research Lab, Stanford University, 2022), [https://plato.stanford.edu/archives/spr2022/entries/properties/](https://plato.stanford.edu/archives/spr2022/entries/properties/). + +END%% + +## Instantiation + +An entity is said to **instantiate** a property if said entity bears a connection to the property. For example, a human instantiates the property of *being human* and a man instantiates the properties of *being human* and *being a man*. + +%%ANKI +Basic +What is instantiation? +Back: A relation held between an entity and the properties that describe the entity. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Cloze +A man is said to {instantiate} the property of *being a man*. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +What is self-instantiation? +Back: The instantiation of a property by itself. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +What is non-self-instantiation? +Back: The non-instantiation of a property by itself. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +Suppose all properties are self-instantiating? What must be said about *being honest*? +Back: The property *being honest* is honest. +Reference: Francesco Orilia and Michele Paolini Paoletti, “Properties,” in _The Stanford Encyclopedia of Philosophy_, ed. Edward N. Zalta, Spring 2022 (Metaphysics Research Lab, Stanford University, 2022), [https://plato.stanford.edu/archives/spr2022/entries/properties/](https://plato.stanford.edu/archives/spr2022/entries/properties/). + +END%% + +%%ANKI +Basic +Suppose properties are abstracta. What self-instantiation is thus formed? +Back: The property of abstractness is abstract. +Reference: Francesco Orilia and Michele Paolini Paoletti, “Properties,” in _The Stanford Encyclopedia of Philosophy_, ed. Edward N. Zalta, Spring 2022 (Metaphysics Research Lab, Stanford University, 2022), [https://plato.stanford.edu/archives/spr2022/entries/properties/](https://plato.stanford.edu/archives/spr2022/entries/properties/). + +END%% + +%%ANKI +Basic +What is the paradox of non-self-instantiation? +Back: The property *non-self-instantiation* is non-self-instantiating iff it is self-instantiating. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +Let $P$ be the property *is non-self-instantiating*. What happens if $P$ is non-self-instantiating? +Back: Then $P$ must be self-instantiating. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +%%ANKI +Basic +Let $P$ be the property *is non-self-instantiating*. What happens if $P$ is self-instantiating? +Back: Then $P$ must be non-self-instantiating. +Reference: Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). + +END%% + +## Bibliography + +* Francesco Orilia and Michele Paolini Paoletti, “Properties,” in _The Stanford Encyclopedia of Philosophy_, ed. Edward N. Zalta, Spring 2022 (Metaphysics Research Lab, Stanford University, 2022), [https://plato.stanford.edu/archives/spr2022/entries/properties/](https://plato.stanford.edu/archives/spr2022/entries/properties/). +* Nikk Effingham, _An Introduction to Ontology_ (Cambridge: Polity Press, 2013). \ No newline at end of file diff --git a/notes/set/functions.md b/notes/set/functions.md index 0458260..9fb4bd5 100644 --- a/notes/set/functions.md +++ b/notes/set/functions.md @@ -130,6 +130,54 @@ Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Pre END%% +%%ANKI +Basic +Let $F$, $G$ be functions such that $F \subseteq G$. How does $\mathop{\text{dom}}F$ relate to $\mathop{\text{dom}}G$? +Back: $\mathop{\text{dom}}F \subseteq \mathop{\text{dom}}G$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $F$, $G$ be functions such that $F \subseteq G$. How does $\mathop{\text{ran}}F$ relate to $\mathop{\text{ran}}G$? +Back: $\mathop{\text{ran}}F \subseteq \mathop{\text{ran}}G$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $F$, $G$ be functions. Is $F \cap G$ a function? +Back: Yes. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $F$, $G$ be functions. When is $F \cap G$ a function? +Back: Always. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $F$, $G$ be functions. Is $F \cup G$ a function? +Back: Not necessarily. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Let $F$, $G$ be functions. When is $F \cup G$ a function? +Back: Iff $f(x) = g(x)$ for every $x \in \mathop{\text{dom}}F \cap \mathop{\text{dom}}G$. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + ## Injections A function is **injective** or **one-to-one** if each element of the codomain is mapped to by at most one element of the domain. @@ -1014,6 +1062,30 @@ Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Pre END%% +%%ANKI +Basic +If $A$ is single-valued and $B$ is single-valued, is $A \circ B$ single-valued? +Back: Yes. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +If $A$ is single-valued and $B$ is single-rooted, is $A \circ B$ single-valued? +Back: Not necessarily. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +If $A$ is single-rooted and $B$ is single-rooted, is $A \circ B$ single-rooted? +Back: Yes. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + %%ANKI Basic If $F$ is a relation and $G$ is a function, is $F \circ G$ a function? @@ -1038,6 +1110,38 @@ Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Pre END%% +%%ANKI +Basic +If $F$ is an injection and $G$ is an injection, is $F \circ G$ an injection? +Back: Yes. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +If $F$ is an injection and $G$ is a surjection, is $F \circ G$ a bijection? +Back: Not necessarily. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +If $F$ is an injection and $G$ is a bijection, is $F \circ G$ a bijection? +Back: Not necessarily. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +If $F$ is a bijection and $G$ is a bijection, is $F \circ G$ a bijection? +Back: Yes. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + %%ANKI Basic Let $F$ and $G$ be functions. How is $\mathop{\text{dom}}(F \circ G)$ defined using set-builder notation? @@ -1061,6 +1165,29 @@ Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Pre END%% +%%ANKI +Basic +Is composition commutative? +Back: No. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Is composition associative? +Back: Yes. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Cloze +For sets $A$, $B$, and $C$, {$(A \circ B)[\![C]\!]$} $=$ {$A[\![B[\![C]\!]]\!]$}. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + ## Restrictions Let $F$ and $A$ be arbitrary sets. The **restriction of $F$ to $A$** is the set $$F \restriction A = \{\langle u, v \rangle \mid uFv \land u \in A\}$$ @@ -1168,6 +1295,52 @@ Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Pre END%% +%%ANKI +Cloze +Let $Q$, $A$, and $B$ be sets. Then {$Q \restriction (A \cup B)$} $=$ {$(Q \restriction A) \cup (Q \restriction B)$}. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Cloze +Let $Q$, $A$, and $B$ be sets. Then {$Q \restriction (A \cap B)$} $=$ {$(Q \restriction A) \cap (Q \restriction B)$}. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Consider sets $A$ and $B$. How is $B \restriction A$ rewritten as a composition? +Back: $B \circ I_A$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Consider sets $A$ and $B$. How is $A \circ I_B$ rewritten as a restriction? +Back: $A \restriction B$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Consider sets $A$ and $B$. How is $A \cap B$ be rewritten as a function under some image? +Back: $I_A[\![B]\!]$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Consider sets $A$ and $B$. How is $I_B[\![A]\!]$ rewritten as a simpler set operation? +Back: $B \cap A$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + ## Images Let $F$ and $A$ be sets. Then the **image of $F$ under $A$** is $$F[\![A]\!] = \{v \mid \exists u \in A, uFv\}$$ @@ -1453,6 +1626,14 @@ Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Pre END%% +%%ANKI +Basic +Suppose $A \subseteq B$. How does $F[\![A]\!]$ relate to $F[\![B]\!]$? +Back: $F[\![A]\!] \subseteq F[\![B]\!]$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + ## Bibliography * “Bijection, Injection and Surjection,” in _Wikipedia_, May 2, 2024, [https://en.wikipedia.org/w/index.php?title=Bijection_injection_and_surjection](https://en.wikipedia.org/w/index.php?title=Bijection,_injection_and_surjection&oldid=1221800163). diff --git a/notes/set/index.md b/notes/set/index.md index 50058a3..176ec96 100644 --- a/notes/set/index.md +++ b/notes/set/index.md @@ -961,6 +961,40 @@ END%% ## Axiom of Choice +This axiom assumes the existence of some choice function capable of selecting some element from a nonempty set. Note this axiom is controversial because it is non-constructive: there is no procedure we can follow to decide which element was chosen. + +%%ANKI +Basic +Why is the Axiom of Choice named the way it is? +Back: It assumes the existence of some choice function. +Reference: “Axiom of Choice,” in _Wikipedia_, July 8, 2024, [https://en.wikipedia.org/w/index.php?title=Axiom_of_choice&oldid=1233242262](https://en.wikipedia.org/w/index.php?title=Axiom_of_choice&oldid=1233242262). + +END%% + +%%ANKI +Basic +In Russell's analogy, why is AoC unnecessary to pick left shoes from an infinite set of shoe pairs? +Back: The choice function can be defined directly, i.e. as "pick left shoe". +Reference: “Axiom of Choice,” in _Wikipedia_, July 8, 2024, [https://en.wikipedia.org/w/index.php?title=Axiom_of_choice&oldid=1233242262](https://en.wikipedia.org/w/index.php?title=Axiom_of_choice&oldid=1233242262). + +END%% + +%%ANKI +Basic +In Russell's analogy, why is AoC necessary to pick socks from an infinite set of sock pairs? +Back: There is no choice function to choose/prefer one sock from/over the other. +Reference: “Axiom of Choice,” in _Wikipedia_, July 8, 2024, [https://en.wikipedia.org/w/index.php?title=Axiom_of_choice&oldid=1233242262](https://en.wikipedia.org/w/index.php?title=Axiom_of_choice&oldid=1233242262). + +END%% + +%%ANKI +Basic +What objects does Russell's analogy use when explaining AoC? +Back: Pairs of shoes vs. pairs of (indistinguishable) socks. +Reference: “Axiom of Choice,” in _Wikipedia_, July 8, 2024, [https://en.wikipedia.org/w/index.php?title=Axiom_of_choice&oldid=1233242262](https://en.wikipedia.org/w/index.php?title=Axiom_of_choice&oldid=1233242262). + +END%% + ### Relation Form For any relation $R$ there exists a function $F \subseteq R$ with $\mathop{\text{dom}}F = \mathop{\text{dom}}R$. @@ -981,8 +1015,53 @@ Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Pre END%% +%%ANKI +Basic +AoC (relation form) posits the existence of what mathematical object? +Back: A function. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +Given relation $R$, AoC implies existence of function $F$. How does $F$ relate to $R$? +Back: $F \subseteq R$ and $\mathop{\text{dom}} F = \mathop{\text{dom}} R$. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +### Infinite Cartesian Product Form + +For any set $I$ and function $H$ with domain $I$, if $H(i) \neq \varnothing$ for all $i \in I$, then $\bigtimes_{i \in I} H(i) \neq \varnothing$. + +%%ANKI +Basic +What does the Axiom of Choice (infinite Cartesian product form) state? +Back: For any set $I$ and function $H$ with domain $I$, if $H(i) \neq \varnothing$ for all $i \in I$, then $\bigtimes_{i \in I} H(i) \neq \varnothing$. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +What is the antecedent used in AoC (infinite Cartesian product form)? +Back: $H(i) \neq \varnothing$ for all $i \in I$. +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + +%%ANKI +Basic +What is the consequent used in AoC (infinite Cartesian product form)? +Back: $\bigtimes_{i \in I} H(i) \neq \varnothing$ +Reference: Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). + +END%% + ## Bibliography +* “Axiom of Choice,” in _Wikipedia_, July 8, 2024, [https://en.wikipedia.org/w/index.php?title=Axiom_of_choice&oldid=1233242262](https://en.wikipedia.org/w/index.php?title=Axiom_of_choice&oldid=1233242262). * Herbert B. Enderton, *Elements of Set Theory* (New York: Academic Press, 1977). * “Russell’s Paradox,” in *Wikipedia*, April 18, 2024, [https://en.wikipedia.org/w/index.php?title=Russell%27s_paradox&oldid=1219576437](https://en.wikipedia.org/w/index.php?title=Russell%27s_paradox&oldid=1219576437). * 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/set/trees.md b/notes/set/trees.md index 901e0c4..3b6e198 100644 --- a/notes/set/trees.md +++ b/notes/set/trees.md @@ -563,7 +563,7 @@ END%% %%ANKI Basic -Which nodes are descendants to $4$ in the following rooted tree? +Which nodes are descendants of $4$ in the following rooted tree? ![[rooted-tree.png]] Back: $4$, $11$, and $2$. Reference: Thomas H. Cormen et al., _Introduction to Algorithms_, Fourth edition (Cambridge, Massachusett: The MIT Press, 2022). diff --git a/notes/x86-64/instructions/condition-codes.md b/notes/x86-64/instructions/condition-codes.md index 34357b0..a4d9472 100644 --- a/notes/x86-64/instructions/condition-codes.md +++ b/notes/x86-64/instructions/condition-codes.md @@ -92,6 +92,108 @@ Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Program END%% +## SET + +| Instruction | Synonym | Effect | Description | +| ----------- | ------- | -------- | -------------------- | +| `sete` | `setz` | D <- ZF | Equal / zero | +| `setne` | `setnz` | D <- ~ZF | Not equal / not zero | +| `sets` | | D <- SF | Negative | +| `setns` | | D <- ~SF | Nonnegative | + +%%ANKI +Basic +What value does a `SET` instruction assign to a destination? +Back: $0$ or $1$ +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 large is the destination of a `SET` instruction? +Back: A single byte. +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 `q` in the `cmpq` instruction short for? +Back: **Q**uad word. +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 `e` in the `sete` instruction short for? +Back: **E**qual. +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 `e` in the `setz` instruction short for? +Back: **Z**ero. +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 +{`sete`} is a synonym for {`setz`}. +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 `ne` in the `setne` instruction short for? +Back: **N**ot **e**qual. +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 `nz` in the `setnz` instruction short for? +Back: **N**ot **z**ero. +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 +{`setne`} is a synonym for {`setnz`}. +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 `s` in the `sets` instruction short for? +Back: **S**igned. +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 `ns` in the `setns` instruction short for? +Back: **N**ot **s**igned. +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 +{`set[ez]`} is to {`ZF`} whereas {`sets`} is to {`SF`}. +Reference: Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016. + +END%% + ## Bibliography * Bryant, Randal E., and David O'Hallaron. *Computer Systems: A Programmer's Perspective*. Third edition, Global edition. Always Learning. Pearson, 2016.