Friday 5 April 2013

Post #9: Problem-solving and some final remarks

The context of the problem was given in post #8. I'm going to actually start solving the problem here.


Question: Suppose a Looking-Glass logician believes that all gryphons have wings. Does it follow that there are any gryphons?

1. Understanding the problem

To quote Hamlet, the difficulty of this question is largely due to the ambiguity of the "words, words, words" (II. 2-192). The question is presented in an over-the-top, verbose way which is meant to confuse the reader.  Thus, in order to more clearly see the logical flow of the statements, we should convert the given information into symbolic form. 



1. A Looking-Glass logician is completely honest. He will claim those and only those statements which he actually believes.
2. Whenever a Looking-Glass logician claims a statement to be true, then he also claims that he doesn’t believe the statement.
3. Given any true statement, the Looking-Glass logician always claims that he believes the statement.
4. If a Looking-Glass logician believes something, then he cannot also believe its opposite.
5. Given any statement, a Looking-Glass logician either believes the statement or he believes its opposite.



Let x be a statement. Let T(x) mean that a statement is true. Let B(x) mean that he (the Looking-Glass logician) believes a statement. Let C(x) be that he claims a statement. 

The conditions can therefore be translated into:
1. B(x) => C(x) ^ C(x) => B(x). That is, C(x) iff B(x)
2. C(T(x)) => ¬B(x)
3. T(x) => C(B(T(x))). Note: it is not T(x) => C(B(x)), even though this would be a literal translation -- since we previously assumed that the statement was true. Hence, x => T(x).
4. B(x) exclusive B(¬x). Where is the exclusive-or (only one of the predicates is true at any given time)
5. x => B(x) exclusive B(¬x).

From a quick observation of the data so far, I immediately see that conditions 4 and 5 seem to be closely linked. Condition 4 tells us when the predicates are true, and condition 5 finishes the "incomplete" thought of condition 4 and puts it in a formalized implication statement. We also note that there are nuances of meaning between believing a statement and believing a statement to be true (they might be completely two different things). Also, thinking back to nested functions in calculus and programming, things like C(B(T(x))) can be thought of as a composition of C(u) where u = B(w) and w = T(x). This might help us later on if we wanted to break things down into smaller components.

Now that we've translated the conditions, we should also translate the original question into symbolic form. Let x be the statement that "all gryphons have wings." Then what we are given is that: B(x) (from "Suppose a Looking-Glass logician believes that all gryphons have wings"), and we have to find out whether ∃ gryphons (which is the actual question -- "Does it follow that there are any gryphons?")

Hence, we are trying to solve: does B(x) => ∃ gryphons? We should be able to solve this, using the conditions given in the question. After all, everything that is given to us is perfectly reasonable within the context of the problem. 


2. Devising a Plan

I am going to start looking for a link between the thing we are trying to solve and the conditions given. Since we are only given B(x), it seems like there are going to be many intermediate steps between B(x) and ∃ gryphons (at this point we do not know how to get there). Given that there are 5 conditions in total, and Humpty Dumpty seems to want us to use most of them (what a tricky guy), we should be able to form theorems, or at least, corollaries from the given information. (Step 1) This will help us get from a... to a1... to a2... to b! 

Given that the problem is presented in a story that is meant for all audiences (under 80), it seems unlikely that the author meant for the question to be more complicated than what it is. Thus, I am assuming that the author is assuming that we have no mathematical knowledge and skills (forget about calculus, linear algebra, statistics!) other than logic. The scope of the problem should be limited in this sense -- and devising a plan should be made easier by knowing that we are not expected to know anything other than the conditions given. Based on what we learned in class, about logical statements and their negations, I am sure that plugging in B(x) into certain statements, negating them, taking the contrapositives, and generally tweaking things around will eventually generate something meaningful. (Step 2)

But what is meaningful in this case? Well, since we want to find a connection between the conditions and whether there exists gryphons, we have to find out whether Looking-Glass logicians believe the right things -- that is, whether they believe things that are true or false. If we know this, then the validity of the phrase, "all gryphons have wings" will tell us whether or not there exists gryphons. There are two cases: 


a) He believes true things. Then all gryphons have wings is TRUE. Since we are trying to prove the existential, that ∃ a gryphon... knowing  gryphons => the gryphon has wings does not tell us that there exists a gryphon! 


b) He believes false things. Then all gryphons have wings is FALSE <=> "some gryphons have wings" <=> ∃ gryphons ^ the gryphon does not have wings. Then this implies that there exists a gryphon (a wingless gryphon is still a gryphon nonetheless!) (Step 3) 


After manipulating the conditions to try to deduce the answer, we should go back and make sure that it logically makes sense. Since one thing leads to another... it would be quite horrendous if it turns out that we built our assumptions on falsity. (Step 4)

Hence, this is the approach that I will be taking in solving this problem: 
1. Make theorems or corollaries from the given conditions.
2. Plug in the assumptions from the question into the theorems, corollaries, and conditions and try to find a meaningful chain of statements that will eventually generate what I am looking for.
3. After finding out whether the Looking-Glass logician believes true statements or false statements, I will be able to deduce whether there exists at least one gryphon.
4. Go back and check the logic of the assumptions that I have made. If there is a single link that is off, I have to fix it (or risk having my entire solution be wrong!)


3. Carrying Out the Plan




1. B(x) => C(x) ^ C(x) => B(x). That is, C(x) iff B(x)
2. C(T(x)) => ¬B(x)
3. T(x) => C(B(T(x))). Note: it is not T(x) => C(B(x)), even though this would be a literal translation -- since we previously assumed that the statement was true. Hence, x => T(x).
4. B(x) exclusive B(¬x). Where ∨ is the exclusive-or (only one of the predicates is true at any given time)
5. x => B(x) exclusive B(¬x).

It seems that combining condition 1 with conditions 2 and 3 yields particularly interesting results:


Corollary I: Whenever a Looking-Glass logician believes something, then he believes that he doesn't believe it. i.e, B(x) => B(¬B(x))


Proof: 

If a Looking-Glass logician believes something, then by definition B(x) implies C(x) (from condition 1). Hence, if he believes something, he will claim it. And since he claims that something, we can use condition 2. If the Looking-Glass logician claims T(x) is true, then ¬B(x) follows. That is, if he claims a statement to be true, he will also not believe it. Using C(x) => B(x) (the second predicate of condition 1), we plug in the result from condition 2, C(T(x)) => ¬B(x) into condition 1 such that x = ¬B(x). Then C(¬B(x)) => B(¬B(x)). Hence, whenever a Looking-Glass logician believes something, then he also believes that he doesn't believe it. (i.e. he is delusional or inaccurate)

Corollary II: Given any true statement, a Looking-Glass logician believes that he does believe the statement. i.e, T(x) => B(B(T(x)))


Proof:

This case is slightly different -- whereas for Corollary I, we claimed that if he claims that a statement is true (it might not actually be true, since he is only claiming that it is), then he also does not believe it. But now, we are saying that if the statement were true, he believes that he believes it. From condition 3: T(x) => C(B(T(x))). Then from the second predicate of condition 1, C(x) => B(x) we have C(B(T(x))), where x = B(T(x)) implying B(B(T(x)). Thus given any true statement, a Looking-Glass logician believes that he does believe the statement.  

As you can see, combining condition 1 and condition 2 gives us Corollary I and combining conditions 1 and 3 give us Corollary II. Now, there appears to be a contradiction! By the second corollary, given a true statement, a Looking-Glass logician believes that he does believe the statement. But the first corollary says that whenever a Looking-Glass logician believes something, then he believes that he doesn't believe it. So how can he believe that he does believe it AND believe that he doesn't believe it at the same time? (This seems illogical. As well, condition 4 says that he can only believe a statement or its opposite -- not both at the same time -- so what are we to do?) Remembering that we first assumed that T(x) was true (from Corollary II), this must mean that T(x) cannot be so. Thus, T(x) has to be false! Hence, Looking-Glass logicians only believe false statements.


Since they only believe false statements, then this implies that Looking-Glass logicians must believe the false statement that "all gryphons have wings." The negation of this would be clearer if this phrase was converted to symbols. Let the phrase be denoted ∀G(y) => W(y) where G(y) means that y is a gryphon and W(y) mean that y has wings. Then the negation would be G(y) ^  ¬W(y). 


Therefore, the existence of a wingless gryphon still proves that there exists at least one gryphon! The answer to Suppose a Looking-Glass logician believes that all gryphons have wings. Does it follow that there are any gryphons? is true. From the assumption that a Looking-Glass logician believes that all gryphons have wings, it necessarily follows that there are indeed gryphons. 



4. Looking Back

Checking the answers, everything seems to fit together. We started the problem with a motivating question and a whole lot of fragmented conditions. After combining several of the conditions into more relevant corollaries, we saw that Looking-Glass logicians always believe false statements. This indirect method of accumulating information resulted in us finding out whether or not Looking-Glass logicians believe TRUE or FALSE statements. For the case where the statement is true, that "all gryphons have wings," we would not be able to conclude whether there exists a gryphon, since "for all" does not mean the same thing as "there exists" (Quite the opposite, actually). The only way for us to prove the implication in the question would be to arrive at a false statement -- that "all gryphons have wing" is false, since this will introduce ∃ (the negation of ∀ is ∃). Seeing that our conclusion matched our predicted hypothesis in 2. Devising a Plan, we can conclude that we have found the solution! 


Also, just to double check and reassure ourselves, we used all of the conditions. Conditions 1, 2, and 3 were combined profitably to make important corollaries. We also used condition 4 (B(x) exclusive B(¬x)), which is more or less exactly the same as condition 5; x => B(x) exclusive B(¬x). Since we can treat condition 4 and 5 as having the same effect in this case, this means that we have used conditions 1, 2, 3, 4, and 5! This is definitely a good sign that we solved the problem that way it was meant to be solved. (Problems of mathematical or logical nature often want you to use all of the information that is given). Based on our reasoning as outlined throughout this problem-solving episode, it seems like we have arrived at a reasonable conclusion (and just in the nick of time -- thirty minutes before the SLOG deadline!) 


---

Since I have less than half an hour remaining until I have to submit this post, I will just quickly share my final thoughts on CSC165. Honestly, it was quite a fun experience. Initially, I was afraid that a class that concentrated solely on mathematical expression and symbols was going to be at least a bit dry. However,  this was not the case. The course content was actually interesting and the stellar combination of lectures, tutorials, and (well purposed) assignments helped me see things in a more defined way. Specifically, I chose to do a logical puzzle for my problem solving episode because in the past, these questions always intimidated me. I would be the type of person who would trip up over the "exact" meaning of words, and get lost while trying to decipher what things meant. Now that I am able to parse words into symbols, and see the logical structure of things hiding behind words (not that words aren't concise.. but symbols are often better for making the logic of an argument explicit), I feel more confident as a student. The tools and concepts learned from this course will definitely help me move on to bigger and better things. And for this, I am thankful. 

Cheers to a great class.  


Sunday 31 March 2013

Post #8: The end is nigh

Assignment 3 has just been completed (well, mostly). At this point, we just have to review everything and make sure that we're not leaving out comments or steps. I am putting off this task until later because it requires a lot of to-and-fro scanning, which isn't difficult - it's just tedious. Meanwhile, I have been working really hard this week to try to catch up with everything that has been going on. As the end of the term (and school year) comes to a close, everything is coalescing at the last moment and making the last few days EXTREMELY hectic.

I have started on my problem solving question, and wrote down some preliminary observations and notes. I will continue working on the problem later this week. Excuse any typos I may have made; I rushed the typing of the problem (which is quite long, as you can imagine, since it is part of a storybook). 
------------------------------------------------------------------------------------------------------------

Context - Problem Solving
After several hours of questioning, Alice gathered an enormous amount of data, which she recorded in her memorandum book. She took it all to Humpty Dumpty to see if he could explain it.
“It figures,” said Humpty Dumpty, looking through Alice’s notes, “it figures!”
“What do you mean by that?” asked Alice. “Is this White Knight untruthful?”
“The White Knights never lie, “ replied Humpty Dumpty.
“Then I don’t understand,” replied Alice, “I really don’t understand!”
“Of course not,” responded Humpty Dumpty contemptuously, “you don’t understand Looking-Glass logic!”
“And what is Looking-Glass logic?”
“The kind of logic used by Looking-Glass logicians,” he replied.
“And what is a Looking-Glass logician?” asked Alice.
“Why, one who uses Looking-Glass logic,” he replied. “Surely, you could have guessed that!”
Alice thought this over. Somehow, she didn’t find this explanation very helpful.
“You see,” he continued, “there are certain people here called Looking-Glass logicians. Their statements seem a bit bizarre until you understand the key -- which is really quite simple. Once the key is understood, the whole business makes perfect sense.”
“And what is the key?” asked Alice, more curious than ever.
“Oh, it would never do to tell you the key! However, I will give you some clues. In fact, I will give you the five basic conditions about Looking-Glass logicians from which you can deduce the key.  Here are the conditions:
1. A Looking-Glass logician is completely honest. He will claim those and only those statements which he actually believes.
2. Whenever a Looking-Glass logician claims a statement to be true, then he also claims that he does not believe the statement.
“Just a minute,” interrupted Alice. “Are you not contradicting yourself> According to the first condition, a Looking-Glass logician is always truthful. If, then, he claims a statement to be true, he must really believe that it is true. How then, without lying, can he claim that he doesn’t believe the statement?”
“Good question,” replied Humpty Dumpty. “However, I never said that a Looking-Glass logician is always accurate! Just because he believes something doesn’t mean that he necessarily knows that he believes it, nor even that he necessarily believes that he believes it. Indeed, it could happen that he erroneously believes that he doesn’t believe it.”
“You mean,” replied Alice, utterly astonished, “that a person can actually believe something, and yet believe that he doesn’t believe it?”
“With Looking-Glass lgoicains, yes,” replied Humpty Dumpty, ‘in fact with Looking-Glass logicians this always happens -- this is a direct consequence of the first two conditions.”
“How is that?” asked Alice.
“Well,” replied Humpty Dumpty, “Suppose he believes a statement to be true. Then, by Condition One, he claims the statement is true. Then, by Condition Two, he claims that he doesn’t believe the statement. Hence, again by Condition One, he must believe that he doesn’t believe the statement.
“Anyhow,” continued Humpty Dumpty, “I’m giving you too many hints! Let me finish my list of conditions, and then you should deduce the key to the entire mystery.”
3. Given any true statement, the Looking-Glass logician always claims that he believes the statement.
4. If a Looking-Glass logician believes something, then he cannot also believe its opposite.
5. Given any statement, a Looking-Glass logician either believes the statement or he believes its opposite.
“And that,” concluded Humpty Dumpty proudly, “is the entire list of conditions. From these you should be able to infer just which statements a Looking-Glass logician believes to be true and just which ones he believes to be false. I will now ask you some questions to test your understanding.”

QUESTION
Suppose he believes that all gryphons have wings. Does it follow that there are any gryphons?

We have the conditions: 


1. A Looking-Glass logician is completely honest. He will claim those and only those statements which he actually believes.
2. Whenever a Looking-Glass logician claims a statement to be true, then he also claims that he doesn’t believe the statement.
3. Given any true statement, the Looking-Glass logician always claims that he believes the statement.
4. If a Looking-Glass logician believes something, then he cannot also believe its opposite.
5. Given any statement, a Looking-Glass logician either believes the statement or he believes its opposite.

To do: tweed out the differences between claim and believe (because they are definitely different -- one is more declarative while the other isn't)
To do: translate things into symbols.
BELIEVE [TRUE FALSE] and CLAIM [TRUE FALSE] into predicates, in order to evaluate the statements above. 

I will follow up on this soon!


Friday 15 March 2013

Post #7: Post-test stress

I'm talking about syllabic stress (aw yeah, let's get the poetry started) : 

white pages and empty spaces/
the vast expanse of a test undone/
the clock uncogs and so begins the hum/
the familiar tap tap of pencils like drums/

without time to stall the students scrawl/
the answer to the first question/
obvious to those who paid attention/
to solve it meant algebraic expansion/

moving on to the second question/
two out of three in tidy succession/
the logic was clear and without/
fear  I deftly attacked the problem/

pencil in hand and feeling in command/
the third question now lay before me/

who was to say that the previous day/
I had forgotten to look at floors and ceilings?/
nonetheless I can say I tried my best/
to deduce the answer through reasoning/

but tick tock announced the clock/
as classmates finished triumphant/
pound pound my heart was a-flutter/
amid the backdrop of constant mutters/

the end was nigh and with a final sigh/
the test was returned unfinished/
had I not been so careless and aloof/
I would have finished the very last proof


It turns out that last question was extremely straightforward (it was by far the shortest proof out of the three). I figured out how to prove it 5 minutes after handing in my test. Sigh, mais c'est la vie.

Monday 4 March 2013

Post #6: In which I talk about the prettiness of proofs

Today another milestone was reached -- assignment 2 is now finished!

For better or for worse, chapter 3 (proofs) is now officially a thing of the past. Well, actually, this is not entirely true. Proofs will reoccur in the next chapter (algorithm analysis) and feature heavily in the rest of my math and computer science career. However, it does feel good knowing that the completion of assignment 2 marks the end of the proofs chapter. There is always comfort in closure.

Assignment 2 was very well-designed in that it required us to tackle a variety of proofs using a variety of different techniques. Going through the process of deciding which technique to use for what proof has helped me recognize the subtle differences in the expressions which make some directions easier to work with than others. Since the scope of the questions covered diverse topics from modulus, inequalities, to the greatest common divisor of a pair of numbers, I found that doing the proofs reinforced my understanding of these often (overlooked and forgotten, but also extremely important) mathematical properties and definitions.

In retrospect, the questions were not too hard -- although my group did spend a considerable amount of time on question #1. Oddly enough, we found this to be the most challenging question. We mainly ran into the trouble of finding a starting point in manipulating one side to look like the other. The proof statement looked easy enough, but the right "step" that sets the momentum of the proof was hard for us to discern immediately. Contrariwise, I personally thought that the algebraic proofs were the easiest, because the intermediate steps were straightforward as long as you saw the end product and tweaked things here and there to achieve what you wanted from the very beginning.

Having been exposed to a formal study of proofs, I now appreciate the creativity and beauty inherent in the process of proving even the simplest of statements. By writing down all the links and connections made in the body of the proof, you are acknowledging the sometimes disparate concepts and ideas from every corner of mathematics, and unifying them in a single context. As the proof-writer, you also play the dual role of a teacher and a student. You are, at each step in the proof, trying to convince both yourself and readers that your line of reasoning is correct. Indeed, until you  actually reach the end of the proof, each intermediate step could either take you to the next vital step, or deter you from reaching the conclusion (in which case you'll have to sit down and  brood and ponder and stare blankly at white walls until the answer comes to you). This is what makes proofs so interesting as well as rewarding; all the insightful "aha!" moments interspersed with the frustration of trying to see where things are leading make you at once vulnerable, and in-control. With this new-found zeal for proofs, I'll move forward in my studies with an open mind.


Saturday 23 February 2013

Post #5: Reading week update

As reading week comes to a close, I can conclude that it was mainly productive -- I say 'mainly' because as productive as I would like myself to be, I am prone to getting distracted by certain television series (note to self: finishing the entire first season of Girls in one sitting is not healthy nor socially acceptable, even though it is a good series).

However, I did get caught up in my other classes, and now I have started to seriously review the lecture slides / notes for 165. The proofs that we have been doing so far in lectures have been straightforward, but I definitely need to spend more time looking at the general structure of the different types of proofs (proof by contradiction, direct proof, etc.) in order to be able to quickly identify which proof I should be using in my answers. This familiarization of the different proof structures will no doubt be of immense help when it comes time to write next week's tutorial quiz.

Also, I have begun to think about possible problems that I could solve using Polya's method. So far, I have found some interesting problems in "Alice in Puzzle-Land: A Carrollian Tale for Children Under Eighty." (As an aside, if you have not read this book yet, you should! The author is extremely witty and writes in true Carrollian style. Plus, it's an eclectic mix of Alice-meets-logic puzzles -- how could you resist?) 

The 'knights and knaves' logic puzzle was actually created by the author of Alice in Puzzle-Land, so there are a lot of these types of problems there. Safe to say, I will be writing up my solution to one of those problems very soon. 

Friday 8 February 2013

Post #4: Midterm-midlife crisis of sorts

This week has been crazy. Next week is going to be crazy. I think I may very well be going crazy. 

But I am extremely happy about one thing -- the CSC165 midterm. When I heard that there was going to be a snowstorm today, I actually hoped that classes would still be continuing. Next week is going to be extremely hectic because I have 2 assignments due and another midterm at the end of the week, so in a sense, the midterm happening today could not have been more perfectly timed. 

The midterm went pretty well, which is an additional bonus. I must admit however that I was fairly surprised that the questions were mostly drawn from material in the lectures; I was prepared to see a lot of translating between symbolic and English expressions, proving symbolic equivalences, drawing Venn diagrams and the like. Since I had mentally prepared myself for more "computational"-type questions, the cheat sheet that I had prepared (with all the laws and properties) wasn't too useful during the actual test. Having said that, all the work put into creating the cheat sheet was not truly wasted. Writing down things always helps muscle memory (and consequently, later recall speed of the material) and gives you a clearer picture of what it is you are actually writing down. That last sentence probably sounded funny and wordy, but it's true. There is something about the physical act of writing down ideas that somehow solidifies your understanding of them.

Well anyway, the first section of the midterm was pretty straight forward. The only problem I encountered was that I constantly needed to flip back and forth between page 1 and page 2, which was time-consuming and a little bit irritating. But other than that, it was A-OK. 

Then came the second section, with the delta epsilon statements. This was probably the section that was the most confusing for me, mainly because I did not understand what the question meant by "the negation symbols applies only to predicates such as ... and ..." When I negated the statements, I looked at my answer and thought: this can't be it -- it's too straightforward and simple. Perhaps I'm missing something here. What do they mean when they say the negation symbols apply only to the predicates? Isn't this just the usual meaning of negation? I ended up leaving my answers as they were, doubtful that they were what the question was actually looking for. But as it turns out, my answers were right all along (hooray for the same-day release of midterm solutions). Currently, I'm still confused about what the question meant, so I'll be sure to ask my TA next week. With the exception of my quasi-shoddy explanations for S1 and S2, I thought this section went pretty well. 

The last section of the midterm was straight-forward and surprisingly refreshing. It was significantly shorter than the previous two sections, and did not require any explanations (phew).

All in all, the midterm was fair and the lengths of the sections were well proportioned given the time constraints. I'm definitely getting into the rhythm of things in 165 (although I have been falling a bit behind these past few days... I have to read up on proof structures for sure this weekend!), and look forward to next week.

Until then, ciao. 

Sunday 27 January 2013

Post #3: Assignment won!


Ignoring my attempt at a pun (witty or not, it is infinitely better than "pain in the assignment"), this post, as you probably have realized already, will mainly be a recap of the past week (like always) along with comments on  my experience with the first assignment.

The week went by rather smoothly; the lessons on conjunction, negation, disjunction, and De Morgan's laws made sense to me. The semantics of "and," "or," and "not" are generally consistent between the fields of computer science, English, and logic -- which makes it much easier to intuitively grasp the concepts. 

This week, I also went to Prof. Heap's office hours. I went prepared with a list of questions and ended up gaining a lot out of the session. I cleared up my previous confusion with the Venn diagrams (hooray!) and learned one way of expressing "uniqueness" in symbolic form. Previously, I had been thinking about how to translate something like "There is one and only one soda left in the fridge" in symbolic form. From the second tutorial, we were shown how to express statements like "There is at most x ..." and "There is at least x ...", but not "There is exactly x ..." so I reasoned intuitively that it would make sense to intersect the predicates "There is at most 1 ..." and "There is at least 1 ..." in order to achieve "There is only 1 ...". Prof Heap showed me how to write this symbolically (which turns out to be super useful for assignment 1!). The trick is to say "there is at least one x in ... " and show that if "there are two of x in ... say x1 and x2, that x1 = x2". This way, you can be sure that the solution is unique. 

As for assignment 1, my partners and I finished and submitted it Saturday evening. We had been working on it for the past week sporadically, but really "seriously" began to work on it Friday night. The entire process went well; we used a Google doc to write down a preliminary draft of solutions, and then we all worked on editing and processing the final copy. This way, we were able to give each other constant feedback and work on the assignment at the same time. 

Working through the assignment actually turned out to be quite fun and insightful. At first, it seemed daunting (why are there so many questions! And why is it due so soon?!), but I can say it was an experimental sort of learning process. I got to apply all that I have learned in the past few weeks about negation, conjunctions, implications, etc. and actually thoroughly and deeply understand what I was doing. It's one thing to understand the concepts given in lecture, and another to be able to apply them. Actually going through the questions solidified my understanding of the course material, and finishing the project, I felt much surer of myself than before.

Also, I got to put truth tables to good use! My partners and I were discussing whether the negation of ¬ A  B was A ¬B or ¬ A¬B. Since the argument was going nowhere, I decided to use a truth table to figure out which one was the correct negation; after all, the truth values never lie. With the knowledge that the negation of a statement inverts the truth values, it turns out that quite clearly that the negation of ¬ A  B is ¬ A¬B. 


 So as you see, assignment 1 was all about experimentation; there were many instances where I arrived at an "aha!" moment after working through some of the questions, and many times where pure serendipity lead to amazing results. Working with others made the assignment more fun, and overall, it was a pretty darn good experience. 

That pretty much sums up my third week. See you guys next week!