After briefly introducing Aristotle’s syllogistics in the last blog post, I should now actually explain how it were received and elaborated in antiquity, the Middle Ages and into modern times. In particular, the work of Gottfried Wilhelm Leibniz (1646 to 1716), in which important approaches to modern logic can already be found, should be honoured. It would also be his great project to describe a „Scientia generalis“ based on the model of mathematics, in order to „bring about in all scients what Cartesius and others did by algebra and analysis in Arithmetica et Geometria“. (All writings II,1. p.160, after Schupp III, p.238). For this purpose Leibniz wanted to develop a „lingua characteristica“ with suitable characters (characteristica universalis). But this and other developments in this direction can be better assessed in retrospect. Therefore, I want to skip this and talk about modern logic.
The mathematician and philosopher Gottlob Frege (1848-1925) founded modern logic with a book entitled „Begriffsschrift – Eine der arithmetischen nachgebildete Formelsprache des reinen Denkens“ („Conceptual writing – one of the arithmetic formula languages of pure thought“). The foreword says: In this „small script I have now tried a rapprochement with the Leibniz thought of a lingua characteristicistica“. Leibniz is thus the godfather of the modern formal logic (Wille, 2018, p. 96).
Gottlob Frege was a philosopher and mathematician, his father had written a New High German grammar (Wikipedia: Gottlob Frege). So Frege probably knew the power of a formal language; with such a language he then raised logic to a new level, on which one could lead proofs as in mathematics. He thus discovered a „new science“ for logic, as Galileo had done for natural research. And again one can see how formalization leads to an accelerated development of a field of knowledge, then „emigrating“ from philosophy.
The final form of a „propositional logic“ was then created somewhat later by Alfred North Whitehead (1981 to 1947) and Bertrand Russell (1872 to 1970). The „term logic“, as the philosophers had always practiced until then, was soon replaced by this propositional logic; logic developed into a predominantly mathematical discipline. Its mathematical form made it possible to transfer logical reasoning rules to machines, which has led, among other things, to the now flourishing field of „artificial intelligence“ research.
Since one experiences again and again, which shyness most contemporaries have at mathematical formulas, one has to exercise great caution with the representation of a formal language for the logic. The best thing to do is to look at the structure of a formal language in analogy to the structure of our mother tongue and to demonstrate the similarity of a formal language with our colloquial language. It’s just all so much easier, and so simple, that at first you feel yourself as a stranger. The language of mathematics may serve as an intermediate station between the formal language of logic and our colloquial language, because it is already formal and the contemporary has at least some experience with it.
Thus, we now look at three languages: logic, mathematics and our colloquial language. In all three languages there is a certain set of characters with which you can form strings. In colloquial language this set represents the usual alphabet, strings are words and several strings represent sentences. So you learn to write the letters first, then the words and then the sentences.
Here the important difference between syntax and semantics has to be discussed. Syntax is what is called grammar in natural languages. It shows, for example, how words are declined or conjugated in a sentence regardless of their meaning, depending on their function and position, and in which order they can occur in a sentence. The syntax or grammar thus regulates the formal structure of a language. Semantics, on the other hand, deals with the meaning of words and sentences.
In formal languages, the distinction between syntax and semantics becomes even clearer. The syntax specifies exactly what should be allowed with regard to the formation of character strings. At the syntactic level, therefore, we are only dealing with strings of different complexity, without these having already been assigned a meaning.
Even a rudimentary knowledge of mathematics gives us an indication of the usefulness of a formal language. One can „calculate“ in it, i.e. formally argue, in such a way that one does not have to know the meaning of the characters and character strings, which one changes, generates or removes there according to certain rules. The whole thing happens on the syntactic level and the rules are made in such a way that true statements are transformed into true statements – completely independent of the meaning of the signs and strings of signs. Only in this way is it understandable that we can transfer the calculating and logical closing to a machine, that we can develop algorithms to solve tasks that would require a certain intelligence from ourselves.
The syntax of the language for a propositional logic
In general, a construction of a formal language begins by first providing a character set, a certain set of symbols, i.e. defining an alphabet.
In propositional logic, the alphabet consists of a stock of
– Variables A, B, …, i.e. capital letters of our everyday language.
– the characters ‚¬‘ and ‚→‘, ‚∧‘ and ‚∨‘.
– the sign „≡“,
– the brackets „(„“ and „)“; these should always be used, if you want to see a couple of strings as a unit, to keep an overview. Also, sometimes a space is used to increase the clarity, and finally
– the constants „0“ and „1“.
With the help of these characters or „letters“ you can form character strings. We will see that in the formal language of propositional logic there is no need to distinguish between letters, words and sentences. You only know characters and strings, and these are uniformly called expressions.
How character strings, i.e. more complex expressions, can be formed from the characters of the alphabet is regulated by certain laws, namely:
– If A is an expression, then ¬A is also an expression.
– If A and B are expressions, so are A ∧ B and A ∨ B.
You can always create new expressions in this way, e.g. ¬A ∨ B or A ∧ (¬A ∨ B). The expression ¬A ∨ B will later play a major role, so we will introduce the abbreviation A → B for him. This is another sign at our disposal. Any expression of the form A → B will always be understood as ¬A ∨ B.
With A and A → B and A ∧ (A → B) we can e.g. get also (A ∧ (A → B)) → B. We will deal with this expression later.
One calls expressions, which are formed according to these rules, well formed. So A → B and A ∧ B ∧ C C are well-formed, but ABA or AB→ are not.
Comments:
Our natural languages also have an alphabet. We are most familiar e.g. with the alphabet of the German language. Other alphabets deviate more or less from it. These characters are also used to form strings, which we call words. These words are formed by the way people deal with the things of the environment. This is a historical process, and through the experience of always new things in this world, new words are always invented. Here there are hardly any rules, at most the condition that the word must be pronounceable. For example, the string mjk?a will not be regarded as a meaningful candidate for a word. So the word formation happens on the semantic level: „The thing must get a name“. A rule is then formed for how the accepted words must be written. Orthography is the teaching of „correct writing“, the correct representation of „accepted character strings“. Words are used to form sentences in colloquial language, which can then each represent a statement. The words are then modified, declined or conjugated depending on their position in the sentences.
In contrast, in a formal language „words“ are formed at the syntactic level, and according to only a few rules. „Orthography“ here means respecting the rules for the formation of strings. There’s no such thing as sentences.
– Mathematics is also a formal language. Here the character set usually consists of the set of symbols {0,1, … ,9}, i.e. the numbers from 0 to 9, and the characters {+, -, ∙, :, =}. Depending on the mathematical theory, further characters are added. Furthermore, you still need symbols as placeholders for numbers that are not further specified at first. Often one takes letters of the alphabet of the colloquial language. There are also clear rules here for the formation of „words“ and „sentences“. „Words“ are then such strings as x + 0 or 5-4, which are also called „terms“. „Sentences“ are equations like x + 2 = 0, and they are also formulated according to certain rules.
Herewith we have described the syntax of three languages. It regulates which character strings may be formed on the basis of a character set.
The semantics respectively the evaluation
In semantics we must now say what we want to understand by the characters we have introduced in syntax, what meaning we want to give them.
In propositional logic, the variables A, B, … should stand for statements in our colloquial language that are either true or false. Note that this is not about the content of the statement and its meaning, but only about an evaluation: true or false. In this respect one should actually only talk about evaluation instead of semantics. But we don’t have to become that exact in our colloquial language, in which we construct the formal language and in which we later talk about it. The colloquial language we call the „meta language“, the language of the propositional logic is then here the „object language“. We have to be very specific in this one. But in our colloquial language, however, we may have enough vague terms.
This condition that we only want to consider statements that are either true or false is constitutive for the entire propositional logic. So it’s not about interrogative sentences or exclamations. We also disregard the fact that there may be statements where you can never decide whether they are true or false. The fact that this limitation is not self-evident for some mathematicians does not need to be discussed here.
Let’s look at some simple statements. Be, for example.
A:= „It’s raining.“
B:= „The road’s wet.“
So e.g. A is true exactly when it rains. Truth is given when the statement is consistent with the facts.
In order to evaluate all the expressions that we can form with such statements according to the rules of syntax, we must now say what we intend to do with the other characters from the character set:
We interpret the „1“ as true, the „0“ as false.
The sign „¬“ before a statement should negate it:
¬A = It is not the case that A, i.e. in our example: „It does not rain“.
It’s the same:
¬1 = 0, „not true“ means „false“,
¬0 = 1, „not wrong“ means „true“.
The expression A ∧ B represents a combination of two statements, reminiscent of 5 + 4 or 5 – 4. We determine the meaning of the sign „∧ “ by saying when this expression should be true depending on the truth values A and B and when it should be false. In principle, we have 16 possibilities there. The default choice is shown in the following truth table:
A | B | A ∧ B |
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
This assignment is done in such a way that the symbol „∧“ corresponds to the colloquial „and“. We’ll test this against our example:
A ∧ B = „It’s raining“ and „the road is wet“.
We obviously perceive this statement as true exactly when both statements A and B are true, as it is also stated in the table.
We define the meaning of the sign „∨“ in such a way that in the expression A ∨ B it resembles the colloquial „or“:
A | B | A ∨ B |
1 | 1 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
The expression A ∨ B only has the rating 0, i.e. is only false, if both statements A and B are false. So with this „or“ the statement „A or B“ is true, if either A or B are true, but also if both, A like B, are true. This corresponds to the inclusive „or“. When we use the „or“ in colloquial language, we sometimes mean, however, the exclusive „or“, i.e. the „either-or“. This is a typical example of the ambiguity of our colloquial language.
These three rules are actually sufficient to construct arbitrary strings.
The expression ¬A ∨ B with the truth tablet is particularly important and useful:
A | ¬A | B | ¬A ∨ B |
1 | 0 | 1 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
0 | 1 | 0 | 1 |
The link ¬A ∨ B, also written as A → B, is called implication. This applies to this:
If A, then B. The statement A is therefore a sufficient condition for B: Always, if A is true, B is also true.
The implication is only false if B is false.
If A is false, then the implication A → B according to the truth table is always true, no matter if B is true or false. That means: If the statement A is not sufficient, then one cannot say anything about the truth value of B in the case of a true implication.
In this way, the truth value can always be determined for longer character strings. We would like to give an example here of what will still concern us in the future. We’re looking at the string:
(A ∧ (A → B)) → B.
For these one receives the following truth table:
A | B | A → B | A ∧ (A → B) | (A ∧ (A → B)) → B |
1 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 1 |
0 | 1 | 1 | 0 | 1 |
0 | 0 | 1 | 0 | 1 |
So there are expressions in propositional logic that are true in every case, regardless of the truth value of the individual statements. Such expressions are called tautologies. We will see in the next blog post what important role such expressions play in the formation of conclusions.