Quasi-quotation
Quasi-quotation or Quine quotation is a linguistic device in formal languages that facilitates rigorous and terse formulation of general rules about linguistic expressions while properly observing the use–mention distinction. It was introduced by the philosopher and logician Willard van Orman Quine in his book Mathematical Logic, originally published in 1940. Put simply, quasi-quotation enables one to introduce symbols that stand for a linguistic expression in a given instance and are used as that linguistic expression in a different instance.
For example, one can use quasi-quotation to illustrate an instance of substitutional quantification, like the following:
- "Snow is white" is true if and only if snow is white.
- Therefore, there is some sequence of symbols that makes the following sentence true when every instance of φ is replaced by that sequence of symbols: "φ" is true if and only if φ.
Quasi-quotation is used to indicate (usually in more complex formulas) that the φ and "φ" in this sentence are related things, that one is the iteration of the other in a metalanguage. Quine introduced quasiquotes because he wished to avoid the use of variables, and work only with closed sentences (expressions not containing any variables). However, he still needed to be able to talk about sentences with arbitrary predicates in them, and thus, the quasiquotes provided the mechanism to make such statements. Quine had hoped that, by avoiding variables and schemata, he would minimize confusion for the readers, as well as staying closer to the language that mathematicians actually use.[1]
Quasi-quotation is sometimes denoted using the symbols ⌜ and ⌝ (unicode U+231C, U+231D), or double square brackets, ⟦ ⟧, ("Oxford brackets") instead of ordinary quotation marks.[2][3][4]
How it works
Quasi-quotation is particularly useful for stating formation rules for formal languages. Suppose, for example, that one wants to define the well-formed formulas (wffs) of a new formal language, L, with only a single logical operation, negation, via the following recursive definition:
- Any lowercase Roman letter (with or without subscripts) is a wff of L.
- If φ is a wff of L, then '~φ' is a wff of L.
- Nothing else is a wff of L.
Interpreted literally, rule 2 does not express what is intended. For '~φ' (that is, the result of concatenating '~' and 'φ', in that order, from left to right) is not a wff of L, because the Greek letter 'φ' is used as a metavariable and thus cannot occur in wffs. In other words, our second rule says "If the sequence of symbols φ is a wff of L, then '~the sequence of symbols φ' is a wff of L". Because φ stands for a sequence of symbols instead of the proposition that the sequence might denote in the object language, φ isn't the kind of thing that can be negated. Rule one tells us that lowercase letters of the object language (such as 'p' and 'q') denote well-formed formulas, and thus our rule 2 needs to be changed so that φ indicates such a letter or sequence of symbols in the first instance, but is replaced by that letter or sequence of symbols in the second instance.
Quasi-quotation is introduced as shorthand to capture the fact that what the formula expresses isn't precisely quotation, but instead something about the concatenation of symbols. Our replacement for rule 2 using quasi-quotation looks like this:
- 2'. If φ is a wff of L, then ⌜~φ⌝ is a wff of L.
The quasi-quotation marks '⌜' and '⌝' are interpreted as follows. Where 'φ' denotes a wff of L, '⌜~φ⌝' denotes the result of concatenating '~' and the wff denoted by 'φ' (in that order, from left to right). Thus rule 2' (unlike rule 2) entails, e.g., that if 'p' is a wff of L, then '~p' is a wff of L.
Similarly, we could not define a language with disjunction by adding this rule:
- 2.5. If φ and ψ are wffs of L, then '(φ v ψ)' is a wff of L.
But instead:
- 2.5'. If φ and ψ are wffs of L, then ⌜(φ v ψ)⌝ is a wff of L.
The quasi-quotation marks here are interpreted just the same. Where 'φ' and 'ψ' denote wffs of L, '⌜(φ v ψ)⌝' denotes the result of concatenating left parenthesis, the wff denoted by 'φ', space, 'v', space, the wff denoted by 'ψ', and right parenthesis (in that order, from left to right). Just as before, rule 2.5' (unlike rule 2.5) entails, e.g., that if 'p' and 'q' are wffs of L, then '(p v q)' is a wff of L.
A caution
It does not make sense to quantify into quasi-quoted contexts using variables that range over things other than character strings (e.g. numbers, people, electrons). Suppose, for example, that one wants to express the idea that 's(0)' denotes the successor of 0, 's(1)' denotes the successor of 1, etc. One might be tempted to say:
- If φ is a natural number, then ⌜s(φ)⌝ denotes the successor of φ.
The expanded version of this statement reads as follows:
- If φ is a natural number, then the result of concatenating 's', left parenthesis, φ, and right parenthesis (in that order, from left to right) denotes the successor of φ.
This is a category mistake, because a number is not the sort of thing that can be concatenated (though a numeral is).
The proper way to state the principle is:
- If φ is an Arabic numeral that denotes a natural number, then ⌜s(φ)⌝ denotes the successor of the number denoted by φ.
It is tempting to characterize quasi-quotation as a device that allows quantification into quoted contexts, but this is incorrect: quantifying into quoted contexts is always illegitimate. Rather, quasi-quotation is just a convenient shortcut for formulating ordinary quantified expressions—the kind that can be expressed in first-order logic.
As long as these considerations are taken into account, it is perfectly harmless to "abuse" the corner quote notation and simply use it whenever something like quotation is necessary but ordinary quotation is clearly not appropriate.
See also
- Self-evaluating forms and quoting in Lisp, where "quasi-quotation" has been adopted for metaprogramming
- String interpolation
- Truth-value semantics (substitution interpretation)
- Template processor
References
- ↑ Preface to the 1981 Revised Edition.
- ↑ "What are Denotational Semantics and what are they for?".
- ↑ Dowty, D., Wall, R. and Peters, S.: 1981, Introduction to Montague semantics, Springer.
- ↑ Scott, D. and Strachey, C.: 1971, Toward a mathematical semantics for computer languages, Oxford University Computing Laboratory, Programming Research Group.
- Quine, W. V. (2003) [1940]. Mathematical Logic (Revised ed.). Cambridge, MA: Harvard University Press. ISBN 0-674-55451-5.