I’m already so done with this course.
My textbook:
p: “The weather is bad.”
Exercise:
Represent “the weather is good” using logical symbols.
Me: How am I supposed to answer that? You didn’t give me a letter for that. I guess I’ll use q?
Expected answer: ~p
THIS IS LITERALLY THE CLASS ABOUT LOGIC DHDJFBDHDJDHDHDH
Who let neurotypicals write a logic textbook istg
The point is they introduced p “the weather is bad.” To represent “the weather is good” you want to negate p. ~p - the opposite of p, the opposite of “the weather is bad.” Be economical with your symbols.
Ok, but the inverse of “bad” would be “not bad.”
“Good” =/= “not bad” because there are other potential states for the weather to be in. The weather could be “fine” or even “weird”, for instance.
Most of the time, I think discrete is taught with an eye to computer science, right? You are trying to reduce things to binary or at least discrete outcomes - things that can be represented with 5V or 0V. True or false. The weather is good or it is not good. The weather is bad or it is not bad.
This isn’t English class - rules will be a little different. Like, to most math problems I could be a smart ass and say “the answer is some y in the set of real numbers.” There’s different concepts at work here.
Most of the time, I think discrete is taught with an eye to computer science, right?
Sure. Not everything in computer science is binary, despite the fact that computers run on binary code. For example, sql has the boolean values of “true,” “false,” and “null.” In this system, null !== false, although it does evaluate to false in some situations.
You’re much better off teaching set theory properly (which is what the course is aiming for) rather than teaching people to assume that all sets are composed of only two elements.
Most programmers don’t even touch binary anyhow. That’s all abstracted away by the compiler.
Most programmers don’t even touch binary anyhow
(Almost) every conditional (
if
,switch
,while
) and every test is binary.Most programmers don’t even touch binary anyhow. That’s all abstracted away by the compiler.
I don’t think that’s really true - a thorough understanding of Boolean logic is pretty essential to programming imho. I think you want to keep in mind the goal is not to prove you are smarter than the first chapter of your textbook, just to note the ideas and patterns it is introducing.
I mean I’m definitely noticing the patterns. I’m just frustrated that someone who is supposedly an expert in logic let something like that slip. Not assuming that logical negation means “opposite” is one of the first things they teach you. For example, if we were thinking in opposites, the negation of “all” would be “none.” But the negation of “all” is “not all”, where the negation of “none” is “at least one.”
funnily enough, there exists an empty set, which contains no elements (none), but there doesn’t exist a “full” set which contains “all” elements. how interesting is that …
Um, but there is?
It’s called the universal set, and it contains all elements possible within the domain of consideration
The weather is good or it is not good. The weather is bad or it is not bad.
That’s exactly what I said, is it not?
Also,
This isn’t English class - rules will be a little different.
Obviously. In English, “opposite” means antonyms. Good would be the opposite of bad, as would splendid, terrific, and amazing.
But logical opposites work on set theory. The opposite of A is !A, not Z.
I would have gone with !p
Wait, so is ~ supposed to mean not? Like, ¬p would’ve made sense but usually ~ means something closer to ∝, right?
Judging from the context, I’m assuming OP used ~ rather than figure out how to type ¬