We saw in LN1 that logic is a wide and varied field with many interpretations. Here we will keep things simple with our mental model of what exists in reality and what might be considered absurd. We will practice first by moving away from the "informal" model of intuitionistic logic that uses our world and current knowledge as the context by which to evaluate statements. Instead we will stay more "formal" and I will be giving you a context to work with!
When it comes to evaluating these contexts DO NOT place more into them than what is already there. We can only do that via the process of Inference with Natural Deduction (There are actually many more ways to do it, but that is what we are focusing on in this class)! We will practice that further "down the page" so lets begin simply and build up!
I will give an example of what we are looking to do. Here is the context for just my example: "Haley is friends with a lot of people! Haley does not like pancakes made upside down." A context is made up of declarative statements we accept as fact. Sometimes its Positive Information (Declarative statements that tell you how reality is) like the first sentence or its Negative information (Declarative statements that tell you how reality isn't) like the second sentence. We have 2 facts and that is ALL we can work with to evaluate propositions. So lets formalize our above context like the below:
| Fact | Type | Description |
|---|---|---|
| Fact 1 | + | Haley is friends with a lot of people! |
| Fact 2 | - | Haley does not like pancakes made upside down |
I'm not entirely sure how to make a pancake upside down, but none the less it is a fact Haley doesn't like them that way. So if we were to be asked to, in this context, evaluate the following statement: "Rory is friends with Haley" then we know the statement is True. Simple enough. What about this one: "Haley likes her pancakes made right side up." True right? Actually no! That is Classical reasoning! We can't just assume the opposite when we know the negative in Intuitionism (This is why its very important that we mark our facts/information as plus and minus)! What if she doesn't like them right side up either because she does not like pancakes at all? We must take care to only use the information we have. So the previous statement is what then? Well we have no information to answer it "in Reality" so its absurd! In our limited reality we have no facts related to that statement so it is analogous to declaring something that doesn't exist! So, in the following homework make sure not to make this mistake!
Given the following Image, based on the popular Children's Book Series I Spy, evaluate the following propositions. The reality that we are working with is the image below, nothing more and nothing less. Evaluate the propositions in that context as only one of the following,

Evaluate: "There are exactly 2 Nutcrackers."
Evaluate: "In between 2 oranges there is a christmas tree."
Evaluate: "There are 4 planes."
Evaluate: "There is a hairbrush." (Careful)
Evaluate: "There is a red coin with a Snow Man on it."
Evaluate: "There is no such thing as a pine cone."
Evaluate: "There is a little Santa."
The mental image we made in lecture is valuable as it helps us organize graphically what is occurring in reality. Redraw a different version of the same visual model with the following requirements:
In LN2 we "zoomed" in on these informal propositions we've been working on to discover the atomics we are actually working with when we informally reason about logic in the real world. This discussion begun with defining a few terms, discovering the intuition behind where they come from, and then subsequently formalizing a small set of operators to use to create compound propositions.
Here we will work with these reduced, yet more complicated propositions as variables rather than informal sentences as we discovered in lecture that english carries with it far more information than we can currently investigate.
Due to LN2 not reaching Implication in the notes, this section has been adjusted to reflect this and those problems have been moved to LN3's section.
In class we saw 5 logical connectives that we can use to form larger compound propositions. In your own words, give a brief explanation as to how each of these logical connectives operate and give an example usage for each.
Describe and give an example of Logical Equivalence. (Make sure to specify some reality)
Describe and give an example of Negation.
Describe and give an example of Conjunction.
Describe and give an example of Disjunction.
Describe and give an example of Implication.
Given the following finite context below, evaluate whether the following compound propositions are True, False, or Absurd. Since we have not defined the exact order of operations (PEMDAS) I will define it now. The operator that has the highest precedence (do this one first) is Negation. It is followed by the rest of the operators in exactly this order: Conjunction, Disjunction, Implication, then the lowest precedence operator is Logical Equivalence. This forms PNCDILe as our equivalent to PEMDAS. Admittedly it is not as nice and that hanging e is due to it being Logical "E"quivalence. Also the P at the front is still Parenthesis because you always do parenthesis first.
| Variable | Value |
|---|---|
| True | |
| False |
Interestingly, logical connectives can be used to explain properties of one another. We saw that in class we could use logical equivalence to help define the operation of other operators and that negation allowed us to "flip" from True to False. With that said, can you write the compound propositions that displays that Conjunction and Disjunction are duals (Opposites)? (It helps to investigate this with a truth table)
In LN3 we built off our new set of operators we were using to "evaluate" compound propositions to discover and investigate the Inferential/Argumentative abilities that extend from them using Natural Deduction. Here we practice Natural Deduction to introduce a series of new pieces of information to our limited, finite contexts/realities.
As we saw in lecture, propositions can declare affirmative (positive) information about reality or non-affirmative (negative) information about reality. In the following question you will be asked about this distinction.
Explain what positive information is in your own words and give an example of its use.
Explain what negative information is in your own words and give an example of its use.
In class we saw that logical connectives act as "information glue" and can connect pre-existing propositions together to form larger ones. Below you are given a list of propositional variables assigned to propositions and you are tasked with combining them together using a given compound proposition as a blueprint. Give the resulting compound proposition as an English statement for your answer. (Don't worry if the resulting propositions are true, false, or absurd as some of them say very funny things!)
In class we spoke at length about the philosophy surrounding the creation and use of logic systems. In the following question you will be asked to comment on why specific design decisions for Intuitionistic logic were made.
Why is it beneficial for Intuitionistic logic to recognize the "limited Knowledge" of individuals and what is the atypical foundational atomic that we gain as a result?
Why is it beneficial for Intuitionistic logic to distinguish between positive and negative information?
Explain what is meant by referring to Classical Logic as the "Logic of God" and Intuitionistic Logic as the "Logic of People"
Given that realities allow us to contextualize our reasoning and that everyone has a different one associated with their own experiences, give an example of a reality that you have and how it might differ from someone else's by showing how it would change a proposition from True to False or vice versa in the respective realities.
Whew! That was a lot about logic, and unfortunately for the purposes of this foundational course we will take intuitionistic logic no further. Of course the topics we practiced and the intuition we gathered from our investigations will become useful again as we discover more topics in discrete mathematics, however we will not be expanding further into pure logic.
There is a wide range of more logical connectives we could have discovered and understood. This foundational look at viewing how to evaluate and infer information from new operators will always be valid if you choose to dive into this topic further on your own in an independent study or research! There is plenty more to discover in discrete however so we move forward from here ready to take on Numbers!
In this programming assignment you will look into how we can represent our logical connectives programmatically in Python! The motivation for this is to investigate how we can operationalize what we discovered in class into code! Once we see how this is done, we will always have it in the back of our 'tool belt' for handling complex conditionals or branching code!
Your repository will contain the following files:
CMSI-2820-HW1/
├── .gitignore
├── logical_connectives.py
├── logical_connectives_test.py
├── lllof.py
└── README.md
As a refresher, here is the helper video that goes from complete start to finish for the process of receiving, setting up, and turning in your programming portion of the HW:
| Component | Points | Description |
|---|---|---|
| Q1 | 10 | I Spy evaluations with proper reasoning |
| Q2 | 5 | Visual model of reality vs absurdity |
| Q3 | 10 | Logical connective descriptions and examples |
| Q4 | 12 | Compound proposition evaluations |
| Q5 | 5 | Duality of conjunction and disjunction |
| Q6 | 5 | Positive and negative information explanation |
| Q7 | 10 | Translating formal logic to English |
| Q8 | 15 | Philosophy of logic systems |
| Q9 | 3 | Personal reality example |
| Programming | 25 | Python implementation of logical connectives |
| Total | 100 |