Posts Tagged ‘weak kleene’


Truth as an operator and as a predicate

November 5, 2009

Suppose we add to the propositional calculus a new unary operator, T, whose truth table is just the trivial one that leaves the truth value of its operand untouched. By adding

  • (Tp \leftrightarrow p)

to a standard axiomatization of the propositional calculus we completely fix the meaning of T. Moreover this is a consistent classical account of truth that gives us a kind of unrestricted “T-schema” for the truth operator.

On the face of it, then, it seems that if we treat truth as an operator operating on sentences rather than a predicate applying to names of sentences we somehow avoid the semantic paradoxes. But this seems almost like magic: both ways of talking about truth supposed to be expressing the same property – how could a grammatical difference in their formulation be the true source of the paradox?

My gut feeling is that there isn’t anything particularly deep about the consistency of the operator theory of truth: it just boils down to an accidental grammatical fact about the kinds of languages we usually speak. The grammatical fact is this. One can have syntactically simple expressions of type e but not of type t. Without the type theory jargon this just means we can have names that can be the argument of a predicate but not “names” that can be the argument of an operator. Call these latter kind of expressions “name*s”. If p is a name* then \neg p is grammatically well formed and is evaluated as the same as \neg \phi where \phi is whatever sentence p refers* to. If pick p so that it refers* to “\neg p” then we are in just the same predicament we were in the case where we were considering names and treating truth like a predicate. One could simply pick a constant and stipulate that it refers to the sentence “~Tr(c)”.

We could make this a little more precise. By restricting our attention to languages without name*s we’re remaining silent about propositions that we could have expressed if we removed the restriction. Indeed, there is a natural translation between operator talk (in the propositional language with truth described at the beginning) and predicate talk. So, on the looks of it, it seems we could make exactly the same move in the predicate case: accept only sentences that are translations of sentences we accept. The natural translation I’m referring to is this:

  • p^* \mapsto p
  • (\phi \wedge \psi)^* \mapsto (\phi^*\wedge\psi^*)
  • (\neg \phi)^* \mapsto \neg \phi^*
  • (T\phi)^* \mapsto Tr(\ulcorner\phi^*\urcorner)

Here’s a neat little fact which is quite easy to prove. Let M be a model of the propositional calculus (a truth value assignment.)

Theorem. \phi is the translation a true formula in M if and only if \phi appears in Kripke’s minimal fixedpoint construction using the weak Kleene valuation with ground model M.

Note that, because we don’t have quantifiers, the construction tapers out at \omega so we can prove the right-left direction by induction over the finite initial stages of the construction. Left-right is an induction over formula complexity.

If the rule is to simply reject all sentences which aren’t translations of an operator sentence then it appears that the neat classical operator view is really just the well known non-classical view based on the weak Kleene valuation scheme. It is well known that the latter only appears to be classical when we restrict attention to grounded formulae; it seems the appearance is just as shallow for the former view.

Incidentally, note that there’s no natural way to extend this result to languages with quantifiers. This is because there’s no “natural” translation between the propositional calculus with propositional quantifiers and a quantified language with the truth predicate capable of talking about its own syntax.