A Mathematical Interpretation of Wittgenstein's Rule Following Paradox In the parlance of computer science, criteria constituting what it means to obey a given rule falls under Denotational Semantics and in the case of a function refers to it's tabular definition.
For example, part of the tabular definition of the total function f(x) = 2x can be specified as
{(0,0), (1,2), (2,4)}. In general, we can provide partial definitions of f in terms of partial functions.
A central question that denotational semantics is supposed to answer, is given that we only have the time to write down partial functions, what does it mean to assert that f(x) has a complete tabular definition as a total function?
In contrast, how a rule is followed, which is in this case concerns how f(x) is computed, is addressed by Operational Semantics. For computer science, this refers to the infinite number of possible pathways for computing the value of a function in accordance with it's specification (as described in terms of denotational semantics)
Lastly, axiomatic semantics specifies the imperative implementation of a function as a computer program running on a finite state machine (recalling that the denotation of a function doesn't possess the notion of a state).
For natural languages, an individual's mental interpretation of their public language, which eludes ostensive definition, is analogous to the operational and axiomatic semantic aspects of formal languages which elude denotational definition.
The paradox of logic that Wittgenstein was colloquially referring to, that was initially raised by Lewis Carroll and formally expanded upon by Quine in his attack on the Analytic-Synthetic distinction, involve the fact that there isn't a way to derive the complete denotational semantics of any given function, either by fiat or by appealing to some other form of semantics, due to the essential incompleteness of any type of semantic specification. To put it colloquially, it isn't possible to give an exhaustive account of what it means to obey a given rule, because a tabular definition of the said rule can never be finished, implying that the intended meaning of a rule is publicly under-determined.
To use the example above, how can we nail-down the complete tabular definition of the total function
f(x) = 2x ? At most we can write a finite portion, and then intimate the rest with dots:-
f(x) := {(0,0), (1, 2), (2 ,4 ), ...}
but how can the gesticulated meaning of the dots "..." in this context be interpreted to refer to an implicit yet unambiguous definition? One might try appealing to supposedly finite denotational semantics in the form of recursion :-
f(0) = 0,
f(x) = f(x-1) + 2
But then we need to complete a table specifying how to map the variable x to f(x) for every possible value, which is impossible, so we have gained nothing. (Consider the fact that every computer program implementation of 'f' will overflow at some value for x, that varies in accordance with the operational and axiomatic semantics of the CPU, OS and compiled executable that varies in each and every use case).
Domain Theory is the theory appealed to by computer scientists for completing denotational semantics in such a way as to pretend that the 'private' axiomatic and operational semantics of a function are independent of it's 'public' denotational semantics. The theory fails to acknowledge the essential incompleteness of denotational semantics and merely hides the fact by implicitly defining the total function f(x) = 2x to be the fixed point of a functional F( g, x) , e.g
F(g,x) :: (Int -> Int) -> Int -> Int
F(g,0) = 0
F(g,x) = g(x-1) + 2 If g(x-1) is defined, else
F(g,x) = undefined
Applying F to the totally undefined function called 'bottom' and iterating repeatedly, leads to the increasing sequence of partial denotations
F (bottom, x) = {(0,0), otherwise undefined }
F( F(bottom, x), x) = {(0,0), (1,2), otherwise undefined }
F( F(bottom, x), x) = {(0,0), (1,2), (2,4), otherwise undefined}
...
The illusion of f(x) = 2x as a definite total function with complete denotational extension is generated by appealing to the definition of f as the fixed point f := F( f, x) , which can then used as a definition for the earlier expression
f(x) : = {(0,0), (1,2), (2,4), ...}
At the fixed point f, the above functional F ignores it's function parameter entirely and so the definition of f in this case is more or less identical to the earlier recursive definition of f above. Hence all this definition does is reinterpret the denotational ambiguity of f in terms of the denotational ambiguity of functionals.
The lesson here, is that the meaning of any word or rule isn't definable in closed form, ergo
i) The meaning of mathematics isn't reducible to logical axioms, and neither is the meaning of logic.
ii)The meaning of language is under-determined by, and cannot be grounded in, any explicitly stated convention, whether publically or privately given, as Quine and in high probability Wittgenstein, concluded,.