Hi all. I am a college student at U of M, and I am the Student Instructor for a Logic class. I also love playing and writing games, so I thought it was a no brainer that I should make a game to help people learn how to do propositional logic proofs. The problem is that I am having a hard time translating the rules of propositional logic into a fun and easy to learn game. Every idea I come up with assumes way too high of a skill level going into the game.
I would like to support high level play at later stages in the game, maybe with modular difficulty levels so when you first start, the game is easy, but as you progress it gets more challenging.
I am also having trouble with theme. I thought it would be fun to play the part of various philosophers throughout time, each with their own specialties in the game, but this might interfere with the goal of actually teaching people how to do logic proofs. If anyone here has experience with symbolic logic, or has any ideas that could help me out, i'd love to hear them.
Well, propositional logic is used to capture a propositional argument in symbolic form in order to determine its validity. Lets use a simple example
If I jump off the building, I am dead.
morbid i know, but a good example nonetheless.
This is a conditional statement. If - then. Thats how you know its a conditional. To symbolize a conditional statement we use the arrow.
-->
Now, propositions are statements about the world with truth value. In any conditional statement, there are two propositions, the antecedent and the consequent. The antecedent is the first one, and the consequent is the second one.
Lets let J be the first one and stand for "I jump off the building"
Lets let D be the second one and stand for "I am dead"
To represent the previous statement we would write this
J --> D
If J, then D. If I jump off the building, I'm dead. Pretty simple so far. The conditional is known as a logical connective. There are other logical connectives.
& - And - a conjunction
v - or - a disjunction
= - if and only if - The Biconditional
Then there is the ~ which means NOT.
So I could write ~J v D which would mean "Either I didn't jump off the building or I am dead"
I could write ~( J & ~D) which would mean "It is not the case that I Jumped off the building and didn't die"
OK, now to the fun part. Every connective has certain rules of inference that you can use to operate on them. Its easy to illustrate that with an example.
say we are given 2 statements, and it is asserted that they are true. one looks like this
J --> D (if i jump off the building, I am dead)
and the other looks like this
J (I jump off the building)
What we know from these 2 statements is:
D (I am dead)
J --> D
J
therefore: D
This is one of our rules of inference. It is called affirming the antecedent, or Modus Ponens. Modus Ponens is a valid rule of inference because it is a truth preserving rule. If the first two statements are true, then we know the last one is.
Other rules of inference are like this
J --> D (If i jump of the building, I am dead)
~D (I am not dead)
therefore: ~J (I didn't jump off the building)
That one is called denying the consequent or Modus Tollens.
There is also some obvious ones like
J
D
Therefore: J & D
Which is called conjunction
There is
J v D
~J
therefore: D
Which is disjunctive syllogism.
I think you are starting to get the picture. Now, to do a logical proof, you use these rules to prove why your argument is valid. For instance
1. J-->~D (This is a premise. All premises are assumed to be true)
2. J (This is also a premise)
3. D v P / P (This is a premise, and after the slash is the conclusion)
We want to use the premises to come up with the conclusion. So here is how its done
4. ~D Modus Ponens lines 1 and 2
5. P Disjunctive Syllogism lines 3 and 4
Then we are done! We've proved that this is a valid argument. Obviously there are a lot more rules, and it can get pretty difficult to figure out how to prove these things, but I think you sort of understand the basics of how it is done...
Now, how to make a game out of it.