From 18763aa5420435ec2f695d351ae6097565a893f1 Mon Sep 17 00:00:00 2001 From: tomit4 Date: Sun, 10 May 2026 18:53:46 -0700 Subject: [PATCH] :tada: Initial commit! --- .gitignore | 1 + LICENSE | 24 ++ README.md | 4 + chapter_0/0_1/investigate_0.md | 163 +++++++ chapter_0/0_1/reading_questions.md | 16 + chapter_0/0_2/0_2_8_reading_questions.md | 52 +++ chapter_0/0_2/investigate_0.md | 36 ++ chapter_1/1_1/1_1_10.md | 167 ++++++++ chapter_1/1_1/1_1_11.md | 47 ++ chapter_1/1_1/1_1_13.md | 18 + chapter_1/1_1/1_1_14.md | 5 + chapter_1/1_1/discrete_math_truth_tables.png | Bin 0 -> 26676 bytes chapter_1/1_1/investigate_1_1_1.md | 42 ++ chapter_1/1_1/latex_terms.md | 71 ++++ chapter_1/1_1/practice_problems.md | 426 +++++++++++++++++++ chapter_1/1_1/preview_activity.md | 95 +++++ chapter_1/1_1/reading_questions.md | 97 +++++ chapter_1/1_1/rules_of_thumb.md | 17 + leftoff.txt | 1 + 19 files changed, 1282 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 chapter_0/0_1/investigate_0.md create mode 100644 chapter_0/0_1/reading_questions.md create mode 100644 chapter_0/0_2/0_2_8_reading_questions.md create mode 100644 chapter_0/0_2/investigate_0.md create mode 100644 chapter_1/1_1/1_1_10.md create mode 100644 chapter_1/1_1/1_1_11.md create mode 100644 chapter_1/1_1/1_1_13.md create mode 100644 chapter_1/1_1/1_1_14.md create mode 100644 chapter_1/1_1/discrete_math_truth_tables.png create mode 100644 chapter_1/1_1/investigate_1_1_1.md create mode 100644 chapter_1/1_1/latex_terms.md create mode 100644 chapter_1/1_1/practice_problems.md create mode 100644 chapter_1/1_1/preview_activity.md create mode 100644 chapter_1/1_1/reading_questions.md create mode 100644 chapter_1/1_1/rules_of_thumb.md create mode 100644 leftoff.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a136337 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.pdf diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..fdddb29 --- /dev/null +++ b/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/README.md b/README.md new file mode 100644 index 0000000..4305ae4 --- /dev/null +++ b/README.md @@ -0,0 +1,4 @@ +# Discrete Mathematics: An Open Introduction + +This repository holds my notes as I do the exercises for +[Discrete Mathematics: An Open Introduction, by Oscar Levin](https://discrete.openmathbooks.org/) diff --git a/chapter_0/0_1/investigate_0.md b/chapter_0/0_1/investigate_0.md new file mode 100644 index 0000000..7e6ec67 --- /dev/null +++ b/chapter_0/0_1/investigate_0.md @@ -0,0 +1,163 @@ +1. + +Q: + +The most popular mathematician in the world is throwing a party for all of his +friednds. To kick things off, they decide that everyone should shake hands. +Assuming all 10 people at the party each shake hands with every other person +(but not themselves, obviously) exactly once, how many handshakes take place? + +1A: + +If we pair off the people into sets, then we get something like this: + +{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 6}, {1, 7}, {1, 8}, {1, 9}, {1, 10} + +{2, 3}, {2, 4}, {2, 5}, {2, 6}, {2, 7}, {2, 8}, {2, 9}, {2, 10} + +{3, 4}, {3, 5}, {3, 6}, {3, 7}, {3, 8}, {3, 9}, {3, 10} + +{4, 5}, {4, 6}, {4, 7}, {4, 8}, {4, 9}, {4, 10} + +{5, 6}, {5, 7}, {5, 8}, {5, 9}, {5, 10} + +{6, 7}, {6, 8}, {6, 9}, {6, 10} + +{7, 8}, {7, 9}, {7, 10} + +{8, 9}, {8, 10} + +{9, 10} + +As you can see this just becomes 10+9+8+7+6+5+4+3+2+1=55 handshakes. This likely +is alluding to basic summation mathematical induction. + +2. + +Q: At the warm-up event for Oscar's All-Star Hot Dog Eating Contest, Al ate one +hot dog. Bob then showed him up by eating three hot dogs. Not to be outdone, +Carl ate five. This continued with each contestant eating two more hot dogs than +the previous contestant. How many hot dogs did Zeno (the 26th and final +contestant) eat? How many hot dogs were eaten in total? + +A: + +This is another summation mathematical induction function, just slightly +different: + +(1) + + +(1 + 2) + + +(3 + 2) + + +(5 + 2) + + +(7 + 2) + + +(9 + 2) + + +(11 + 2) + + +(13 + 2) + + +(15 + 2) + + +(17 + 2) + + +(19 + 2) + + +(21 + 2) + + +(23 + 2) + + +(25 + 2) + + +(27 + 2) + + +(29 + 2) + + +(31 + 2) + + +(33 + 2) + + +(35 + 2) + + +(37 + 2) + + +(39 + 2) + + +(41 + 2) + + +(43 + 2) + + +(45 + 2) + + +(47 + 2) + + +(49 + 2) + + +(51 + 2) + + +(53 + 2) = 55 + +(1) + (1 + 2) + (3 + 2) + (5 + 2) + (7 + 2) + (9 + 2) + (11 + 2) + (13 + 2) + +(15 + 2) + (17 + 2) + (19 + 2) + (21 + 2) + (23 + 2) + (25 + 2) + (27 + 2) + +(29 + 2) + (31 + 2) + (33 + 2) + (35 + 2) + (37 + 2) + (39 + 2) + (41 + 2) + +(43 + 2) + (45 + 2) + (47 + 2) + (49 + 2) + (51 + 2) + (53 + 2) = 784 + +55 is how many Zeno ate, and the total hot dogs that were eaten is : 784 + +3. + +Q: After excavating for weeks, you finally arrive at the burial chamber. The +room is empty except for two large chests. On each is carved a message +(strangely English): + +- Exactly one of these chests contains a treasure, while the other is filled + with deadly immortal scorpions. + +- For either chest, if the chest's message is true, then the chest contains + treasure. + +The problem is, you don't know whether the messages are true or false. What do +you do? + +A: Honestly, I'd probably walk away, but since that's likely not the answer, +we'd likely have to consider that these are relating to a form of truth tables. + +The first chest's message claims that one chest contains scorpions, the other +treasure + +So if we say T="contains treasure", and f="contains scorpions", then we can say +that Chest_1 and Chest_2: + +Chest_1 = T Chest_2 = F + +The other chest's message claims that if it's own message or the other chest's +message is true, then the chest contains treasure. + +This is a contradiction, because if the second chest's message is true, then +that chest is the one that contains treasure, and the other chest is the one +that contains scorpions. + +If the second chest's message is false, then the chest doesn't contain treasure, +but then you don't know if the second chest contains treasure or scorpions, +because the chest containing treasure is no longer contingent on whether the +chest's message is true or not. + +This is probably best expressed again, in some form, of truth notation. + +4. + +Q: Back in the days of yore, five small towns decided they wanted to build roads +directly connecting each pair of towns. While the towns had plenty of money to +build roads as long and as winding as they wished, it was very important that +the roads not intersect with each other (as stop signs had not yet been +invented). Also, tunnels and bridges were not allowed, for moral reasons. It is +possible for each of these towns to build a road to each of the four other towns +without creating any intersections? + +A: This seems possible, as you could just create two roads from each town to at +least two other towns (a pair as the question alludes to). But something tells +me this is a trick question. diff --git a/chapter_0/0_1/reading_questions.md b/chapter_0/0_1/reading_questions.md new file mode 100644 index 0000000..ffda080 --- /dev/null +++ b/chapter_0/0_1/reading_questions.md @@ -0,0 +1,16 @@ +1. Right now, how would you describe what **discrete** mathematics is about, if + you were telling your friends about the class you are in? Write one or two + sentences. + +Discrete Mathematics is about performing some mathematical logic where the +inputs and outputs of some function contain only elements that are separate, +_i.e._ they are discrete. The main problems solved by discrete mathematics deal +with cominatorics, sequences, symbolic logic, and graph theory, though there are +others. + +2. What questions do you have after reading this section? Write at least one + question about the content of this section that you are curious about. + +The chest problem interested me as the second chest's message creates a logical +fallacy, such as "This statement is false." I wonder how this problem would be +"solved", if it's even possible, with discrete math. diff --git a/chapter_0/0_2/0_2_8_reading_questions.md b/chapter_0/0_2/0_2_8_reading_questions.md new file mode 100644 index 0000000..9ad3f0f --- /dev/null +++ b/chapter_0/0_2/0_2_8_reading_questions.md @@ -0,0 +1,52 @@ +1. + +Q: Think back to the domino problem, at the beginning of this section. We asked +how many dominoes are in a double-six domino _set_. Is this really a set, in our +mathematical sense? What discrete structure would you use to represent each +domino individually? + +A: No, the domino set is _not_ a set, because the order of the number matters so +you don't repeat any pair. Thusly a sequence, or tuple, would be more +appropriate to represent each domino individually. + +2. + +Q: A double-zero domino set would contain only one domino (both sides showing +0). A double-one set would contain this plus the dominoes (1, 0) and (1, 1). We +can continue in this way, creating a sequence of domino sets. Find the next +three terms of this sequence. + +1, 3, _, _, _ ... + +A: 1, 3, 6, 10, 15 + +The reason for this is we are summing up all the dominos, you can count starting +like we wrote out in our investigation: + +(0, 6), (1, 6), (2, 6), (3, 6), (4, 6), (5, 6), (6, 6) + +(0, 5), (1, 5), (2, 5), (3, 5), (4, 5), (5, 5) + +(0, 4), (1, 4), (2, 4), (3, 4), (4, 4) = 5 tuples + +(0, 3), (1, 3), (2, 3), (3, 3) = 4 tuples + +(0, 2), (1, 2), (2, 2) = 3 tuples + +(0, 1), (1, 1) = 2 tuples + +(0, 0) = 1 tuples + +1, (1 + 2), (1 + 2 + 3), (1 + 2 + 3 + 4), (1 + 2 + 3 + 4 + 5) + +3. + +Q: What questions do you have after reading this section? Write at least one +question about the content of this section that you are curious about. + +A: The author makes not of graphs with edges and vertices that are related by +some function. In the example given, there are graphs where edges are made based +off of summing up to 7, or in the other, based off those same sets are connected +by edges based off of if their sum is even. I don't really have a question, but +the logic based off of these relationships are established. In other words, how +the cardinality is established and why. diff --git a/chapter_0/0_2/investigate_0.md b/chapter_0/0_2/investigate_0.md new file mode 100644 index 0000000..36921b0 --- /dev/null +++ b/chapter_0/0_2/investigate_0.md @@ -0,0 +1,36 @@ +2.0: + +Q: A double-six domino set consists of tiles containing paris of numbers, each +from 0 to 6. How many tiles are in a double-six domino set? How many dominoes +are in a double-nine domino set? How many dominoes are in a double-$n$ domino +set? + +This is a combinatorics problem. It is a summation. + +ON a double-six domino set, we can think of each domino being like a bunch of +tuples: + +(0, 6), (1, 6), (2, 6), (3, 6), (4, 6), (5, 6), (6, 6) + +(0, 5), (1, 5), (2, 5), (3, 5), (4, 5), (5, 5) + +(0, 4), (1, 4), (2, 4), (3, 4), (4, 4) + +(0, 3), (1, 3), (2, 3), (3, 3) + +(0, 2), (1, 2), (2, 2) + +(0, 1), (1, 1) + +(0, 0) + +A: The author makes not of graphs with edges and vertices that are related by +some function. In the example given, there are graphs where edges are made based +off of summing up to 7, or in the other, based off those same sets are connected +by edges based off of if their sum is even. I don't really have a question, but +the logic based off of these relationships are established. In other words, how +the cardinality is established and why. + +And on a double-nine: + +(0, 9), (1, 9), (2, 9) diff --git a/chapter_1/1_1/1_1_10.md b/chapter_1/1_1/1_1_10.md new file mode 100644 index 0000000..3a3317b --- /dev/null +++ b/chapter_1/1_1/1_1_10.md @@ -0,0 +1,167 @@ +Q: Using the truth conditions for the logical connectives, determine which +statements below are true and which are false. + +1. 17 is prime, and 17 is odd. + +2. 17 is prime, and 18 is prime. + +3. 17 is prime, or 18 is prime. + +4. 17 is prime, or 19 is prime. + +5. If 17 is prime, then 19 is prime. + +6. If 18 is prime, then my favorite number is 17. + +7. 17 is prime if and only if 19 is prime. + +8. 17 is not prime if and only if 19 is not prime. + +A: + +1. 17 is prime, and 17 is odd. + +This equates to a $P \wedge Q$ statement. + +$P = \text{ 17 is prime}$ + +$Q = \text{ 17 is odd}$ + +Recall the truth table for $P \wedge Q$, which equates to the expected output +that 17 is prime, which is true: + +$P = \text{ 17 is prime} = \text{ T}$ + +and also the statement 17 is odd, which is also true: + +$Q = \text{ 17 is odd} = \text{ T}$. + +This equates to the truth table row: + +| $P$ | $Q$ | $P\wedge Q$ | +| --- | --- | ----------- | +| T | T | T | + +There for this statement is true. + +2. 17 is prime, and 18 is prime. + +This can be followed similar to one, we already know the first statement is +true, but the second statement, $Q$, is not true (_i.e._ 18 is not prime, it can +be divided by a whole number). + +Therefore: + +$P = \text{ 17 is prime} = \text{ T}$ + +$Q = \text{ 18 is prime} = \text{ F}$. + +From our truth table we know that: + +| $P$ | $Q$ | $P\wedge Q$ | +| --- | --- | ----------- | +| T | F | F | + +The statement is false. + +3. 17 is prime, or 18 is prime. + +This correlates to $P \vee Q$, and in this case only $P$ or $Q$ must be true, +and since these are the same atomic statements as number 2, we know that $P$ is +true, and $Q$ is false, and so therefore: + +$P = \text{ 17 is prime} = \text{ T}$ + +$Q = \text{ 18 is prime} = \text{ F}$. + +From our truth table we know that: + +| $P$ | $Q$ | $P\vee Q$ | +| --- | --- | --------- | +| T | F | T | + +The statement is true + +4. 17 is prime, or 19 is prime. + +Similar to 3, except here we also know that 19 is prime, so our statements look +like this: + +$P = \text{ 17 is prime} = \text{ T}$ + +$Q = \text{ 19 is prime} = \text{ T}$. + +From our truth table we know that: + +| $P$ | $Q$ | $P\vee Q$ | +| --- | --- | --------- | +| T | T | T | + +The statement is true. + +5. If 17 is prime, then 19 is prime. + +This is referencing $P\to Q$, which does confuse us a bit, so be careful here. + +Here we know both statements are true, so this corresponds to our truth table +as: + +$P = \text{ 17 is prime} = \text{ T}$ + +$Q = \text{ 19 is prime} = \text{ T}$. + +From our truth table we know that: + +| $P$ | $Q$ | $P\to Q$ | +| --- | --- | -------- | +| T | T | T | + +The statement is true. + +6. If 18 is prime, then my favorite number is 17. + +Interestingly here, we have no way of validating whether 17 is our favorite +number or not, so we cannot really validate if $Q$ is true or false. Or can we? + +Consulting the table for $P\to Q$, we find: + +| $P$ | $Q$ | $P\to Q$ | +| --- | --- | -------- | +| T | T | T | +| T | F | F | +| F | T | T | +| F | F | T | + +And we already know that $P$ is false, because 18 is not a prime number! +Regardless, if $P$ is false, the conclusion of $P\to Q$ is always true, as you +can see in the above table. + +The statement is true. + +7. 17 is prime if and only if 19 is prime. + +This is a $P \leftrightarrow Q$ statement. + +$P = \text{ 17 is prime} = \text{ T}$ + +$Q = \text{ 19 is prime} = \text{ T}$. + +From our truth table we know that: + +| $P$ | $Q$ | $P\leftrightarrow Q$ | +| --- | --- | -------------------- | +| T | T | T | + +The statement is true. + +8. 17 is not prime if and only if 19 is not prime. + +This technically is still a $P \leftrightarrow Q$ statement. Let's see what the +solution has to say here, because honestly I'm a little confused. + +Okay, so this is true as well. Consider number 7 now and realize that we're +saying that $P$ is false, since 17 is a prime number, but our assertion states +that it is not (a false statement). As mentioned in 7, if $P$ in $P\to Q$ is +false, then $Q$ is always true. + +The statement is true. diff --git a/chapter_1/1_1/1_1_11.md b/chapter_1/1_1/1_1_11.md new file mode 100644 index 0000000..86755d0 --- /dev/null +++ b/chapter_1/1_1/1_1_11.md @@ -0,0 +1,47 @@ +Identify the logical structure of each of the following statements. + +1. 4 and 5 are both prime. + +2. Only one of 4 or 5 is prime. + +3. You must attend every day and do the homework to pass this class. + +4. Every number is even or odd. + +A: + +1. 4 and 5 are both prime. + +This follows the $P \wedge Q$ statement (in this case it is false). It is +asserting that 4 is prime and that 5 is prime. 4 is not prime, and therefore the +statement is false. + +2. Only one of 4 or 5 is prime. + +We can't just put an "or" on one side of the statement here. we have to take +each proposition as it's own. + +Where $P = \text{ 4 is prime}$ and $Q = \text{ 5 is prime}$ + +$$ (P \vee Q) \wedge \neg (P \wedge Q) $$ + +This equates to: + +$$ \text{T} \wedge \neg \text{F} = \text{T} $$ + +3. You must attend every day and do the homework to pass this class. + +This one actually the assertion is at the end. + +If you passed the class ($P$), then we conclude that you must have attended +every day ($Q$) and also done the homework ($R$): + +$$ P \to (Q \wedge R) $$ + +4. Every number is even or odd. + +We don't yet have the terminology to express whether a number is even or odd +(this likely means we express it as being in some set or the output of some +function), but we can ascertain that this is a standard or statement. + +$$ P \vee Q $$ diff --git a/chapter_1/1_1/1_1_13.md b/chapter_1/1_1/1_1_13.md new file mode 100644 index 0000000..8be09fa --- /dev/null +++ b/chapter_1/1_1/1_1_13.md @@ -0,0 +1,18 @@ +Translate the statement "Every number is even or odd" into symbols. + +If we define: + +$$ E(x) = x \text{ is even} $$ + +$$ O(x) = x \text{ is odd} $$ + +Then we can say or statement is closer to: + +$$ E(x) \vee O(x) $$ + +A: + +But we need to express that this is "every number", which we can do with +$\forall$, _i.e._ "for all": + +$$ \forall x (E(x) \vee O(x)) $$ diff --git a/chapter_1/1_1/1_1_14.md b/chapter_1/1_1/1_1_14.md new file mode 100644 index 0000000..1969ad7 --- /dev/null +++ b/chapter_1/1_1/1_1_14.md @@ -0,0 +1,5 @@ +## Definition 1.1.14 + +Given a sentence with free variables, the **universal generalization** of that +sentence is the statement obtained bya dding enough universal quantifiers to the +beginning of the sentence so that all free variables become bound. diff --git a/chapter_1/1_1/discrete_math_truth_tables.png b/chapter_1/1_1/discrete_math_truth_tables.png new file mode 100644 index 0000000000000000000000000000000000000000..88c302e1418ec048a8fa760c5db25755f38e84fb GIT binary patch literal 26676 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 E18!mRn*aa+ literal 0 HcmV?d00001 diff --git a/chapter_1/1_1/investigate_1_1_1.md b/chapter_1/1_1/investigate_1_1_1.md new file mode 100644 index 0000000..6e301fa --- /dev/null +++ b/chapter_1/1_1/investigate_1_1_1.md @@ -0,0 +1,42 @@ +Q: While walking through a fictional forest, you encounter three trolls guarding +a bridge. Each is either a _knight_, who always tells the truth, or a _knave_, +who always lies. The trolls will not let you pass until you correctly identify +each as either a knight or a knave. Each troll makes a single statement. + +Troll 1: If I am a knave, then there are exactly two knights here. + +Troll 2. Troll 1 is lying. + +Troll 3: Either we are all knaves, or at least one of us is a knight. + +Which troll is which? + +A: + +Let's think this through step by step by assuming the first Troll is lying. + +If "If I am a knave, then there are exactly two knights here." = False: + +Then: Troll 1 = knave, BUT that doesn't meant that there are exactly two +knights. In other words, the other two could be either knaves or knights. But we +know that this troll is a knave. + +Moving on, we have: + +Troll 2: "Troll 1 is lying" + +If Troll 2 is lying, then Troll 1 is not lying (i.e. a knight), and this +invalidates our previous assumption that Troll 1 is lying, and therefore we +still don't know if the other two trolls are knights. + +Moving on to troll 3: + +Troll 3: "Either we are all knaves, or at least one of us is a knight." + +If we assume troll 3 is also lying, then all three trolls are knaves, and we +have solved their riddle and pass, because he is no knight. + +These are just my initial thoughts on this based off the prompt that we could +start just thinking about this if Troll 1 were lying. + +$$ \therefore $$ diff --git a/chapter_1/1_1/latex_terms.md b/chapter_1/1_1/latex_terms.md new file mode 100644 index 0000000..abe1d42 --- /dev/null +++ b/chapter_1/1_1/latex_terms.md @@ -0,0 +1,71 @@ +## Definition 1.1.7 Logical Connectives. + +We define the following **logical connectives.** + +- $P \wedge Q$ is read "P and Q", and is called a **conjunction**. + +- $P \vee Q$ is read "P or Q", and is called a **disjunction**. + +- $P \to Q$ is read "if P then Q", and is called an **implication** or + **conditional**. + +- $P \leftrightarrow Q$ is read "P if and only if Q" and is called a + **biconditional**. + +- $$ \neg P $$ + is read "not P", and is called a **negation**. + +## Definitions 1.1.8 Truth Conditions for Connectives. + +The **truth conditions** for the logical connectives are defined as follows. + +- $P \wedge Q$ is true when both $P$ and $Q$ are true. + +- $P \vee Q$ is trueh when $P$ or $Q$ or both are true. + +- $P \to Q$ is true when $P$ is false or $Q$ is true (or both). + +- $P \leftrightarrow Q$ is true when $P$ and $Q$ are both true, or both false. + +- $\neg P$ is true when $P$ is false. + +**Personal Notes** + +The statement $P \to Q$ was confusing for me. ChatGPT expalains it as: + +The rule given in your book is: + +$P \to Q$ is true when $P$ is false, or $Q$ is true (or both). + +That sounds weird, so let’s rephrase: + +The only time “If P, then Q” is false is if P happens but Q doesn’t happen. In +every other situation, the statement is considered true. + +Think of it as a promise: + +“If I do X, then Y will happen.” + +The promise is broken only if I do X and Y fails to happen. Otherwise, the +promise hasn’t been broken. + +Step 3: + +Truth table example + +| P (It rains) | Q (Ground wet) | P → Q (If it rains, then ground gets wet) | +| ------------ | -------------- | ----------------------------------------------- | +| True | True | True (rain happened, ground got wet ✅) | +| True | False | False (rain happened, ground stayed dry ❌) | +| False | True | True (didn’t rain, but ground is wet anyway ✅) | +| False | False | True (didn’t rain, ground isn’t wet ✅) | + +Notice that whenever it didn’t rain ($P$ is false), we consider the statement +“If it rains, then the ground gets wet” as true, because the promise about rain +hasn’t been broken. + +## Definition 1.1.12 Quantifiers + +The **universal quantifier** is written as $\forall$ and is read, "for all." The +**existential quantifier** is written $\exists$ and is read, "there exists" or +"for some." diff --git a/chapter_1/1_1/practice_problems.md b/chapter_1/1_1/practice_problems.md new file mode 100644 index 0000000..6e5a24b --- /dev/null +++ b/chapter_1/1_1/practice_problems.md @@ -0,0 +1,426 @@ +1. + +Q: For each sentence below, decide whether it is an atomic statement, a +molecular statement, or not a statement at all. + +(a) Some say the end is near, and some say we'll see Armageddon soon. + +(b) Mom's coming 'round to put it back the way it ought to be. + +(c) Learn to swim. + +A: + +(a) This is moleculr statement, two predicates are asserted, one is that "Some +say the end is near" and the other is "some say we'll see armageddon". + +If we say $P(x)$ is "some say the end is near", and $Q(x)$ is "some say we'll +see Armageddon soon", we can write this as: + +$$ \exists x \left(P(x) \wedge Q(x)\right) $$ + +(b) This can be reversed as "if there's a way it ought to be, then Mom is coming +'round to put it back." + +If we say that $x$ is "it", and $P(x)$ is "the way it ought to be", and $Q(x)$ +is "Mom is coming round to put it back," then we can write this as: + +$$ P(x) \to Q(x) $$ + +This is an atomic statement, as both $P(x)$ and $Q(x)$ cannot be divided into +smaller elements. + +(c) Learn to swim. + +This is not a statement, there is no assertion made. + +--- + +2. + +Q: Classify each of the sentences below as an atomic statement, a molecular +statement, or not a statement at all. If the statement is molecular, say what +kind it is (conjunction, disjunction, conditional, biconditional, negation). + +(a) Everybody can be fooled sometimes. + +This is molecular due to the "sometimes" statement. + +If we say that $x$ is somebody, and $y$ is some point in time. And if we say +that $P(x)$ is some situation somebody is in, and $Q(y)$ is "being fooled at +some point in time", then we can express this as: + +$$ \forall x \exists y\left(P(x) \to Q(y)\right) $$ + +And this is a conjunction. + +W: atomic + +(b) Every natural number greater than 1 is either prime or composite. + +This is also molecular. Let's break this down. If we say that $x$ is some +natural number, and $P(x)$ is "$x$ is prime", and $Q(x)$ is "$x$ is composite", +then we can say that: + +$$ \forall (x > 1) \in \mathbb{N} \left(P(x) \vee Q(x)\right) $$ + +This is an disjunction. + +(c) Go to your room! + +This is not a statement as no assertion is made. + +(d) The Broncos will win the Super Bowl, or I'll eat my hat. + +This is an atomic statement. If we say that $P$ is "The Broncos will win the +Super Bowl", and we say that $Q$ is "I'll eat my hat". Then we can express this +as: + +$$ P \vee Q $$ + +W: this is molecular. + +(e) This shirt is not black. + +Here an assertion is made, but no conclusion is drawn, so this is not a +statement. If we say that $P$ is "This shirt is black", then we are only left +with: + +$$ \neg P $$ + +And there is no conclusion $Q$ to be drawn. + +This is not a statement. + +W: this is a statement. $\neg P$ is a statement. + +--- + +3. + +Q: Determine whether each molecular statement below is true or false, or whether +it is impossible to determine. Assume you do not know what my favorite number is +(but you do know which numbers are prime). + +(a) If 4 is my favorite number, then 4 + 1 is my favorite number. + +(b) 8 is my favorite number, and 3 is not prime. + +(c) 4 is my favorite number, or 4 is prime. + +(d) If 4 is prime then 2 $\cdot$ 4 is prime. + +(e) If 3 is prime, then 3 is my favorite number. + +(f) 8 is my favorite number, and 4 is not prime. + +A: + +(a) If 4 is my favorite number, then 4 + 1 is my favorite number. + +We can not determine this as we do not know if $4$ is my favorite number. + +$$ P(4) \to P(5) $$ + +(b) 8 is my favorite number, and 3 is not prime. + +False, although we are saying that $P(8)$ is true, our original statement says +we cannot know that, and we say that Q(3) is "3 is prime", then we can say + +$$ P(8) \wedge \neg Q(3) $$ + +Which is a false statement as, again $P(8)$ is unknown and $\neg Q(3)$ is false. + +(c) 4 is my favorite number, or 4 is prime. + +This is a false statement, we are saying that $P(4)$ is true, but we cannot know +that (like in problem 3). And we're saying that $Q(4)$ as being "4 is prime". +While $Q(4)$ is not true, $P(4)$ is unknown, and this implies the following: + +$$ P(4) \vee Q(4) $$ + +Which is a false statement since $P(4)$ is unknown and $Q(4)$ is false. + +(d) If 4 is prime then 2 $\cdot$ 4 is prime. + +This is a true statement. If we say that $P(x)$ is true if 4 is prime, then we +can say that $Q(x)$ is true if 2 $\cdot$ 4 is prime. + +$$ P(x) \to Q(x) $$ + +Since $P(x)$ and $Q(x)$ is false, this means that $P(x) \to Q(x)$ is true (see +truth tables). + +(e) If 3 is prime, then 3 is my favorite number. + +This is a not possible to determine. We say that $P$ is "3 is prime", which is +true, but then we say that $Q$ is "3 is my favorite number", it follows that: + +$$ P \to Q $$ + +Since $P$ is true, but $Q$ is unknown, we cannot determine the validity of this +statement + +(f) 8 is my favorite number, and 4 is not prime. + +We can say that this is not possible to determine. We can declare $P(8)$ is "8 +is my favorite number" as true, but we cannot know that. Also "4 is prime" is +expressed as $Q(4)$, but is false so therefore: + +$$ P(8) \wedge \neg Q(4) $$ + +Is unkonwn because $P(8)$ is unknown and $\neq Q(4)$ is true, but both must be +true for this statement to be true, and so therefore this statement is not +possible to determine. + +4. + +Q: Let $P(x, y)$ be the predicate, "person $x$ can be fooled at time $y$." + +Match each statement with its representation in symbols. + +| | | +| ------------------------------------------------ | ----------------------------- | +| It is always true that some people can be fooled | $\exists x \forall y P(x, y)$ | +| Sometimes everyone can be fooled. | $\forall x \exists y P(x, y)$ | +| Everyone can be fooled sometimes. | $\forall y \exists x P(x, y)$ | +| Some people can be fooled all of the time. | $\exists y\forall x P(x, y)$ | + +A: + +| | | +| ------------------------------------------------ | ----------------------------- | +| It is always true that some people can be fooled | $\forall y \exists x P(x, y)$ | +| Sometimes everyone can be fooled. | $\exists y \forall x P(x, y)$ | +| Everyone can be fooled sometimes. | $\forall x \exists y P(x, y)$ | +| Some people can be fooled all of the time. | $\exists x\forall y P(x, y)$ | + +5. + +Q: Your friend believes that you cannot fool everyone at the same time. What is +another way of saying this, and how would you write that in symbols (using +$P(x, y)$ to say you can fool $x$ at time $y$). + +A. Someone is never fooled. $\exists x \forall y \neg P(x, y)$ + +B. Everyone is never fooled. $\forall x \forall y \neg P(x, y)$ + +C. Someone is not fooled sometimes. $\exists x \exists y \neg P (x, y)$ + +D. Everyone is not fooled sometimes. $\forall x \exists y \neg P (x, y)$ + +A: + +I'd say D is correct. + +6. + +Q: Regardless of your beliefs of how many people can be fooled at various times, +what could you conclude if we reinterpret $P(x, y)$ to mean $x < y$ and only +quantify over the natural numbers (so $\forall x$ means "For all natural +numbers," and $\exists x$ means "There exists a natural number")? Select all of +the following that apply. + +A. $\forall x \exists y P(x, y)$ is true. + +B. $\exists x \forall y P(x, y)$ is true. + +C. $\forall y \exists x P(x, y)$ is true. + +D. $\exists y \forall x P(x, y)$ is true. + +E. No matter what $P(x, y)$ means, we can conclude that +$\forall x \exists y P(x, y)$ and $\exists y \forall x$ are NOT _logically +equivalent_ + +A: + +A. This is true. We interpret this as "For all numbers for $x$, there exists +some number, $y$ where $x < y$". If $x \in \mathbb{N}$, then we know that this +is the same meaning as $x \in [0, \infty)$. We're essentially saying that every +possible value for $x$, there exists some value for $y$ that must be greater +than $x$. That's true. + +B. This is false. "There exists some number, $x$, for all possible numbers for +$y$ where $x < y$". This means that some value of $x$ will always be less than +every possible $y$, that cannot be true. + +C. This is true. "For all possible values for $y$, there exists some value $x$ +where $x < y$." This is saying that for any given value for $y$, we can always +find at least one value for $x$ where $x < y$. + +D. This is false. "There exists some value for $y$ such that for all possible +values of $x$, $x < y$." This would mean there is a natural number $y$ that is +greater than every natural number $x$, but this is impossible because for any +$y$, we can choose $x = y$, which makes $x < y$ false. + +E. This is true. The statements $\forall x \exists y\, P(x,y)$ and +$\exists y \forall x\, P(x,y)$ are not logically equivalent. + +The first means: for every value of $x$, there exists some value of $y$ such +that $x < y$. This is true for natural numbers since we can always choose a +larger number. + +The second means: there exists some value of $y$ such that for all values of +$x$, $x < y$. This is false, because for any choice of $y$, we can take $x = y$, +which makes $x < y$ false. + +The two statements, in essence, logically contradict each other. + +7. + +Q: Let $P(x)$ be the predicate, "$17x + 1$ is even." + +(a) Is $P(15)$ true or false? + +(b) What, if anything, can yhou conclude about $\exists x P(x)$ from the truth +value of $P(15)$? + +(c) What, if anything, can you conclude about $\forall x P(x)$ from the truth +value of $P(15)$? + +A: + +(a) Yes, simple arithmetic shows that if the predicate states: + +$$ P(x) = (17x + 1) \mod 2 = 0 $$ + +Then: + +$$ P(15) = (17(15) + 1) = 256 \mod 2 = 0 $$ + +Therefore the statement $P(15)$ is true. + +(b) + +We can conclude that this statement, $\exists x P(x)$ is true. This is saying +"There exists some value for $x$ where $17x + 1$ is even." This is definitely +true, as there only has to exist 1 value for $x$ for this statement to be true, +and in part a we showed just that. + +(c) This is false. The statement $\forall x P(x)$ is saying "For every possible +value in $x$, it is true that $17x + 1$ is even". That cannot be true. Just take +$P(2) = 35$ as a simple example. Basically when you start off with a $\forall$ +predicate, every single value passed for $x$ (in this case) has to hold for the +assertion. + +8. + +Q: Let $P(x)$ be the predicate, "$18x + 1$ is even." + +(a) Is $P(15)$ true or false? + +(b) What, if anything, can you conclude about $\exists x P(x)$ from the truth +value of $P(15)$? + +(c) What, if anything, can you conclude about $\forall x P(x)$ from the truth +value of $P(15)$? + +A: + +(a) Let's evaluate $P(15)$: + +$$ P(15) = 18(15) + 1 = 271 $$ + +But obviously 271 is odd. This is a false statement. + +(b) Because $18$ is an even number, and adding $1$ onto an even number will +always result in an odd number. We can conclude that the statement +$\exists x P(x)$, which means "There exists at least one value for $x$ where +$18x + 1$ is even." is false. There is no value for $x$ where $P(x)$ is true. + +(c) The statement $\forall x P(x)$, which states "For every value of $x$, +$18x + 1$ is even" is also false. In fact, the exact opposite is true. As we +explained in part b, $P(x)$ can never be true for _any_ value of $x$. Thusly, to +state that it must be true for every possible value of $x$ as $\forall x P(x)$ +asserts, simply cannot be the case. + +9. + +Q: Consider the sentence, $\exists x P(x, y) \to \forall x P(x, y)$. What can we +say about this sentence? Select all that apply. + +A. The sentence is a statement because it contains quantifiers. + +B. The sentence is not a statement because $x$ and $z$ are free variables. + +C. The sentence is not a statement because $y$ is a free variable. + +D. The universal generalization of the sentence is a statement. + +A: + +A. This is false, a sentence becomes a statement when a quantifier makes the +resulting statement true or false. But free variables still matter. The above +sentence essentially says "If there exists some value for $x$ where $P(x, y)$ is +true, then for every value for $x$, $P(x, y)$ must be true." But a sentence +cannot be a statement until, in this case, both $x$, and $y$ are replaced by +constants. + +B. $z$ is never mentioned, so this statement is not true. + +C. This is true. A statement cannot contain a free variable. Only when you +replace a free variable with a constant of some sort does a sentence become a +statement proper. + +D. No, this statement is false. Although $x$ is bound by the universal +quantifier $\forall$, $y$ is not bound, and so remains a free variable. The +universal generalization of a sentence can only be a statement if the universal +quantifiers at the beginning of the sentence bind (restrict the domain) of all +free variables. $x$ is bound in this way after the predicate, but $y$ is not. + +10. + +Q: Suppose $P(x, y)$ is some binary predicate defined on a very small domain of +discourse: just the integers 1, 2, 3, 4. For each of the 16 pairs of these +numbers, $P(x, y)$ is either true or false, according to the following table +($x$ values are rows, $y$ values are columns). + +| | 1 | 2 | 3 | 4 | +| - | - | - | - | - | +| 1 | T | F | F | F | +| 2 | F | T | T | F | +| 3 | T | T | T | T | +| 4 | F | F | F | F | + +For example, $P(1, 3)$ is false, as indicated by the $F$ in the first row, third +column. Use the table to decide whether the following statements are true or +false. + +(a) $\forall y \exists x P(x, y)$. + +(b) $\exists x \forall y P(x, y)$. + +(c) $\forall x \exists y P(x, y)$. + +(d) $\exists y \forall x P(x, y)$. + +A: + +(a) This is true. "For all columns, y, there exists some row, $x$, where +$P(x, y)$ returns true." This means that there must be some T somewhere in the +column. + +$$ y = 1: T exists (1, 3) $$ + +$$ y = 4: T exists (4, 1) $$ + +(b) "There exists at least one row, $x$, where all of the column values, $y$, +return T." + +This is true. + +$$ x = 3: T exists (3, 1), (3, 2), (3, 3), (3, 4) $$ + +(c) "For all rows, $x$, there exists at least one column $y$, that returns T." + +This is false, this is essentially saying every row has at least one T value, +but row 4 does not. Consider the following statement: + +$$ x = 4: T \text{ exists in at least one of: } (4, 1), (4, 2), (4, 3), (4, 4) $$ + +This isn't true, row 4 returns all F. + +(d) "There exists at least one column, $y$, where all rows $x$ return T" + +This is false. There is no column $y$ where all rows are filled with Ts. diff --git a/chapter_1/1_1/preview_activity.md b/chapter_1/1_1/preview_activity.md new file mode 100644 index 0000000..b8a7326 --- /dev/null +++ b/chapter_1/1_1/preview_activity.md @@ -0,0 +1,95 @@ +1. + +Q: Which of the following sentences should count as statements? That is, for +which of the sentences below could you _potentially_ claim the sentence was +eithr true or false? Select all that apply. + + A. The sum of the first 100 positive integers. + + B. What is the sum of the first 100 positive integers? + + C. The sum of the first 100 positive integers is 5050. + + D. Is the sum of the first 100 positive integers 5050? + + E. The sum of the first 100 positive integers is 17. + +A: C, E + +These are potentially true/false, as each makes a definitive claim. The rest are +either statements of being/existence (A), or questions with a specific answer +that is not true/false (B), or a question that could be answered by a true/false +statement, but doesn't definitively declare a true/false assertion (D). + +2. + +Q: You and your roommate are arguing, and they make the audacious claim that +pineapple is good both on pizza and in smoothies. Which of the following are +reasonable responses to this claim, from a logical point of view? + + A. The statement is false because even though pineapple is good in smoothies, it is NOT good on pizza. + + B. The statement is false because while pineapple is good on pizza and pineapple is good in smoothies, a pizza smoothie is never good. + + C. The statement is half true because regardless of what you think about pineapple on pizza, we can all agree at least that pineapple is good in smoothies. + + D. The statement is false because everyone who likes pineapple on pizza does NOT like pineapple in smoothies. + +A: From a logical point of view, statements A, C, and D are all reasonable +responses. Only B is not reasonable because it is a conclusion based on an +assertion that was never made (i.e. the roommate never claimed that pizza +smoothie is good). + +3. + +Q: Your roommate now makes an even more outrageous claim: If a superhero movie +is part of the Marvel Cinematic Universe, then it is good. Which of the +following are reasonable responses to this claim, from a logical point of view? + + A. This is false because there are good superhero movies, like Wonder Woman and Dark Knight, that are based on DC Comics, and so not part of the Marvel Cinematic Universe. + + B. The statement is false because there is at least one superhero movie that is part of the Marvel Cinematic Universe that is also not good. + + C. The statement is false because, for example, Green Lantern is neither Marvel nor good. + + D. The statement is true because more than half of the Marvel movies are good. + +A: Only B is a valid logical point of view. This is because the roommate claims +that if a movie in the Marvel Universe, it is good, but the counterargument is +that there is at least one superhero movie in the Marvel Universe that is not +good, which invalidates his claim. + +The first option, A, is not a valid logical point of view because just because +there are DC movies that are good has no bearing on whether Marvel movies are +good as there is no relation between them. + +C is also not a valid option because it points out a DC movie is bad, which +again, has no bearing on the assertion's statement that all Marvel movies are +good. + +D is not a valid logical conclusion because it only claims that more than half +of the Marvel movies are good, which does not answer whether or not the rest of +them are, which is the only way that the assertion could be concluded as being +true. + +4. + +Q: Your roommate just won't let up with their outrageous claims. Now they claim +that either every troll is a knave, or there is at least one troll that is a +knight. What can you say to this? + + A. Yes, this is true because every troll is either a knight or a knave. If it is not the case that _all_ trolls are knaves, then there must be _some_ troll that is a knight. + + B. This is false because some trolls are knights and some other trolls are knaves. + + C. The statement is false because there is no way to verify which of the two options is the case. + + D. The statement is false because no troll could say that all trolls are knaves, since knaves always lie + +A: + +C is the only verifiable logical argument. Since we only have each troll's word +on whether they are a knave(lying) or a knight (telling the truth), there is +always the potential that they are lying. Without another external way of +validating whether they are a knave or a knight, we cannot validate the +roommate's assertion. diff --git a/chapter_1/1_1/reading_questions.md b/chapter_1/1_1/reading_questions.md new file mode 100644 index 0000000..43c91b0 --- /dev/null +++ b/chapter_1/1_1/reading_questions.md @@ -0,0 +1,97 @@ +1. + +Q: Match each statement in symbols with it stype of statement. + +| | | +| ------------ | ------------------------------- | +| $P \to Q$ | $P$ and $Q$ (conjunction) | +| $P \vee Q$ | If $P$, then $Q$, (implication) | +| $P \wedge Q$ | $P$ or $Q$ (disjunction) | +| $\neg P$ | Not $P$ (negation) | + +A: + +| | | +| ------------ | ------------------------------- | +| $P \to Q$ | If $P$, then $Q$, (implication) | +| $P \wedge Q$ | $P$ and $Q$ (conjunction) | +| $P \vee Q$ | $P$ or $Q$ (disjunction) | +| $\neg P$ | Not $P$ (negation) | + +2. + +Q: Consider the sentence, "If $x > 3$, then $x$ is even." + +Which of the following statements are true about the sentence? Select all that +apply. + + A. The sentence is a false statement since it has a free variable. + + B. The universal generalization of the sentence is a statement. + + C. If you substitute 10 for $x$, the resulting statement is true. + + D. The sentence becomes a true statement no matter what natural number you substitute for $x$. + +A: + +B and C are true about the sentence. + +A. No, this sentence is not a statement because it has a free variable, but that +doesn't automatically make the statement true or false. + +B. Given a sentence with free variables, the **universal generalization** of a +sentence is the statement obtained by adding enough universal quantifiers to the +beginning of the sentence so that all free variables become bound. + +The beginning of the sentence states "If $x > 3$", this is a universal +quantifier that bounds our free variable, $x$, and therefore by the definition +of the **universal generalization**, this sentence is therefore a statement. + +C. This is also true, though it doesn't follow in "regular" day to day logic, +but recall our truth table for $P \to Q$: + +| $P$ | $Q$ | $P \to $Q$ | +| --- | --- | ---------- | +| T | T | T | + +Again our sentence is: + +"If $x > 3$, then $x$ is even." + +We can say that $P(x)$ is "If $x > 3$", and that $Q(x)$ is "$x$ is even." + +$$ P(x) \to Q(x) $$ + +Since $x = 10$ according to C, this means that: + +$$ P(10) = \text{ If }10 > 3 = \text{ True} $$ + +$$ Q(10) = 10 \text{ is even} = \text{ True} $$ + +So therefore it follows that: + +$$ P(10) \to Q(10) $$ + +Is a true statement. + +3. What questions do you have after reading this section? Write at least one + question about the content of this section that you are curious about. + +This section is quite interesting, I suppose I'm curious about how negation +adjusts the truth tables of other qualifiers. In one of the examples, this +statement is made: + +17 is not prime if and only if 19 is not prime. + +To which the answer is: + +True. Now both parts are false (since both are the negation of a true +statement), so the entire statement is true. + +The $P \leftrightarrow Q$ statement does confuse me, and so therefore we have: + +$$ \neg P \leftrightarrow \neg Q $$ + +and I suppose I just need to sit down and have some clarification on how +negation affects this statement. diff --git a/chapter_1/1_1/rules_of_thumb.md b/chapter_1/1_1/rules_of_thumb.md new file mode 100644 index 0000000..5cb1e08 --- /dev/null +++ b/chapter_1/1_1/rules_of_thumb.md @@ -0,0 +1,17 @@ +## Every blank is blank. + +Any statement of the form, "Every $P$-thing is a $Q$-thing" can be written as: + +$$ \forall x \left(P(x) \to Q(x)\right) $$ + +Example: all mammals have hair, becomes $\forall x \left(M(x) \to H(x)\right)$, +where $M(x)$ means $x$ is a mammal, and $H(x)$ means $x$ has hair. + +## Some blanks are blank + +Any statement of the form, "Some $P$-things are $Q$-things", can be written as: + +$$ \exists x\left(P(x) \wedge Q(x)\right) $$ + +Example: Some cats can swim, becomes $\exists x\left(C(x) \vee S(x)\right)$, +where $C(x)$ means $x$ is a cat, and $S(x)$ means $x$ can swim. diff --git a/leftoff.txt b/leftoff.txt new file mode 100644 index 0000000..21e72e8 --- /dev/null +++ b/leftoff.txt @@ -0,0 +1 @@ +48