Logicism is a proposal in the philosophy of math that says, roughly, that math reduces to logic. No doubt it needs to be stated more carefully, and we need to explain what we mean by “reduce,” and there might be several different variations that can defensibly be called “logicism.” But this will be good enough for our purposes.
As I’ve introduced logicism, it’s a proposal, which is presumably something like a proposition. But for this discussion, let’s take it instead to be the sentence Math reduces to logic.
That is, logicism
is a name for that sentence.
So now, which of the following do we want to say?
(1a) Logicism is a sentence. (1b) Logicism is a name (it’s just that what it designates/stands for is a sentence).
(2a) Logicism has four words and eighteen letters (excluding spaces and punctuation, and counting letter tokens not types). (2b) Logicism is a single word, with only eight letters (again, counting letter tokens).
Both the (a) claims (1a and 2a) and the (b) claims (1b and 2b) have some merit. It’s just that the (a) claims are true when we use the word logicism
to talk about that which it means, which in this case happens to be another linguistic object. The (b) claims are true when we instead talk about, or mention, the word logicism
itself.
I expect you’ve encountered this contrast before in your philosophical education. Often it’s easier to think about because what our words designate or stand for are extra-linguistic things (people out there in the world, or numbers, or whatever). Here we’re using some language to talk about other language. You may have been taught some conventions that help signal when words are supposed to be understood in the (a) way and when in the (b) way. To talk in the (b) way, you may have learned, you need to put the word logicism
in quotes, so that the true claims should really be written like this:
(1b) “Logicism” is a name. (2b) “Logicism” is a single word, with only eight letters.
But this is a special convention; the use of quotation marks in ordinary informal language is neither sufficient nor necessary for talking in the (b) way. Also, logicians and other writers who have to take special care/interest in the difference between (a) claims and (b) claims have a variety of special notations for signaling the contrast. They don’t always use double quotes ("
) to signal they’re talking about the word logicism
. They might instead use italics or a special typeface, like I’m using here.
What I recommend is to develop a flexible feel for the difference. Sometimes it can get tricky.
Suppose I’m writing about a formal language L that has variables in it. Those variables are bound by quantifiers that range over people. As a theorist of this language, I want to talk about these variables. I may write:
L has variables
x₁, x₂, …
. Consider an assignment functionf
that maps variablex₁
to an objectu₁
in the domain of quantitification…
I wrote variable
. But at the same time, I can say:x₁
x₁
is a constant or name in my metalanguage, that stands for a variable in the language L.
Understood as part of the metalanguage, the expression x₁
always stands for the same variable which the symbols x₁
can also be used to write out — that is, these symbols can be used as an expression of L or as a part of my metalanguage. The variable of L, on the other hand, doesn’t have any meaning or designation of its own. It has to get a designation from an assignment function (or other apparatus for interpreting variables).
u₁
, on the other hand, is only an expression in my metalanguage, that stands for one of the people in L’s domain of quantitification. These symbols haven’t been said to be pieces of L.
Here is an interactive session in JavaScript. The text after the >
is what I typed. The italicized text is what the JavaScript session printed in response.
> const alpha = "cat"
> print(alpha)
cat
> print(alpha + "s")
cats
> print("the ${alpha} is on the mat")
the ${alpha} is on the mat
> print(`the ${alpha} is on the mat`)
the cat is on the mat
> const beta = "alpha"
> print(`the ${beta} is on the mat`)
the alpha is on the mat
The first line I typed declares a new variable alpha
and tells JavaScript to let it designate the string "cat"
. The next lines show what happens when I use this variable.
Notice that when I write alpha
inside double quotation marks, as in the line print("the ${alpha} is on the mat")
, JavaScript doesn’t interpret those symbols as a variable standing for some other string. Instead, it just treats them as the raw letters "a"
, followed by "l"
, and so on.
But then in the next line, something funny happens. When we change the double quotes ("
) to backquotes (`
), now JavaScript does interpret the symbols alpha
as the variable designating the string "cat"
.
In the last lines, I declare a second variable beta
to designate the variable alpha
. (If I had instead written const beta = alpha
, then beta
would have instead designated the string "cat"
that alpha
designates.) I do this to demonstrate that when I write print(`the ${beta} is on the mat`)
, JavaScript only descends one level of interpretation — it takes me from beta
to alpha
, not all the way to "cat"
.
This example shows that JavaScript has two kinds of quotation: one that expands or interprets variables inside the quotation (if they’re enclosed in a ${ }
), and the other of which does not (even if they’re enclosed in a ${ }
).
Many contemporary programming languages have similar facilities.
Logicians and semanticists have also found it useful to have this kind of contrast. They use ⌜corner or quasi-quotes⌝
similarly to how JavaScript uses backquotes (`
). The idea is that putting an expression inside corner quotes is just like quoting it, but if there are any Greek variables inside the expression, they are understood to be metalanguage terms designating expressions in the quoted language, and the expressions they designate are substituted in. Thus, the expression:
"if Logicism then I'm happy"
designates an ungrammatical sentence (it has a name/singular term between if
and then
, where a sentence is expected). But (if we can pretend that logicism
counts as Greek) the expression:
⌜if Logicism then I'm happy⌝
designates the grammatical sentence:
If math reduces to logic then I'm happy.
Most strings can be understood as concatenations of shorter strings. Thus the string "cat"
can be understood as "c" ⁀ "at"
or "c" ⁀ "a" ⁀ "t"
. If α
is a metalanguage term designating this string "cat"
, then ⌜the α⌝
would designate the string "the cat"
. Which could also be expressed as "the" ⁀ α
. If we used ordinary quotation, on the other hand, "the α"
would express "the" ⁀ "α"
, which would only be meaningful if α
were included in the alphabet of the strings we’re talking about.
Note that ⌜α⌝
is the same as α
. It could also be expressed as "" ⁀ α
, where ""
is the empty string. On the other hand, ⌜⌜α⌝⌝
adds an extra layer of quotation marks around α
. If α
designates the string "cat"
, whose first letter is "c"
, then ⌜⌜α⌝⌝
designates a string whose first letter is a quotation mark, and whose second letter is "c"
.