There Are Many Logics
When we examine the semantics of natural language we see enormous diversity in the kinds of expressions that we can generate. These are often a stimulus for new developments in logic, as researchers try to invent new formal languages (or modify old ones) that do a better job of capturing the semantics of particular aspects of natural language.
What you study in a first class in symbolic logic is actually a specific type of propositional logic — classical, truth-functional propositional logic.
Other logical systems have been developed that are “propositional” in that they deal with logical relations of propositions take as wholes, but they may not be “classical” or “truth-functional”.
In classical logic we assume that propositions can only be true or false, not both, and there are no third options available. Non-classical logics drop or modify one of these basic assumptions.
There are systems called “intuitionistic logics”, for example, that were designed to model the logic of “constructive provability”. We don’t need to go into the details of what that means, but it turns on the distinction between knowing that a statement is “true” and knowing that one can actually construct a proof — a derivation — of that statement.
In classical logic you can prove that certain statements are true, without actually having to construct a proof for them. We can do this, for example, by showing that the negation of a statement, not-P, leads to a contradiction, and from that fact jump to the conclusion that P must be true. In classical logic, any statement that entails a contradiction must be false, and by double negation we see that not-(not-P) = P, i.e. that P must be true.
For various reasons the founders of intuitionistic logic wanted to disallow proofs like this.
Formally, intuitionistic logic is a restriction of classical propositional logic. It drops the law of the excluded middle (the principle that a statement can only have one of two possible truth values, “true” or “false”), and it drops the rule known as double negation (a proposition p is logically equivalent to the negation of the negation of p, or not-(not-p)). That class of statements that you can prove in intuitionistic logic is smaller than the class you can prove in classical logic.
The most well-known non-truth functional logical systems are “modal logics”. Modal logic is intended to model those parts of natural language that employ so-called modal operators — “necessarily p” and “possibly p” and “impossibly p”.
Other modalities have been formalized in logical systems. For example, there are tensed modal logics that deal with expressions like “it was the case that P”, “it has always been the case that P”, “it will be that P”, “it will always be that P”.
And there are more logical systems beyond this.
This is a big deal. For many students, the realization that there are many different logics is a revelation that they did not see coming, and it profoundly changes the way they think of logic.