Instead, let me break it down for you in a way that even a layman can understand.
To set the stage, what is mathematical logic? Well, its basically the study of how to use symbols and rules to make logical arguments. Sounds simple enough, right? But here’s where things get interesting (or confusing). In math, there are two main types of logic: classical logic and intuitionistic logic.
Classical logic is what most people think of when they hear the word “logic.” It involves using symbols like (for all) and (implies) to make statements that are either true or false. For example, let’s say we have a statement: “All cats are mammals.” In classical logic, this would be written as:
P(x): x is a cat
Q(x): x is a mammal
x[P(x) Q(x)]
This means that for all values of x (i.e., any possible value), if x is a cat, then it must also be true that x is a mammal. Pretty straightforward, right? But what about intuitionistic logic? Well, this type of logic is a bit more…intuitive. It involves using symbols like (for all) and (implies), but with some important differences.
For example, let’s say we have the same statement: “All cats are mammals.” In intuitionistic logic, this would be written as:
P(x): x is a cat
Q(x): x is a mammal
x[P(x) Q(x)]
But here’s the catch in classical logic, we assume that all values of x exist (i.e., there are no “unknown” or “undefined” values). In intuitionistic logic, however, we only consider those values for which we have proof. This means that if we can’t prove that a particular value satisfies the statement, then it might not be true after all!
So why bother with intuitionistic logic? Well, there are actually some pretty cool applications in math and computer science. For example, this type of logic is often used to reason about programs and algorithms especially those that involve recursion or other complex operations. By using intuitionistic logic, we can ensure that our code is correct (i.e., it always produces the right output) without having to worry about edge cases or undefined values.
But enough talk! Let’s put this all into practice with a fun little exercise. Say you have two numbers: x and y. Using classical logic, write an expression that says “If x is greater than 5 AND y is less than 10, then the sum of x and y is greater than 20.”
Now let’s try it again with intuitionistic logic but this time, we’re going to use a different symbol: (there exists). This means that instead of assuming all values exist, we only consider those for which we have proof. So our expression might look something like this:
P(x): x is greater than 5 AND y is less than 10
Q(x,y): the sum of x and y is greater than 20
x,y[P(x) Q(x,y)]
This means that there exist values for x and y (i.e., we can prove their existence), such that if they satisfy P (i.e., the condition “x is greater than 5 AND y is less than 10”), then it must also be true that Q holds (i.e., the sum of x and y is greater than 20).
I hope this helped clarify some of those ***** symbols and rules, and maybe even inspired you to try your hand at writing your own logical expressions.