[FOM] Formation Rules

Max Weiss mmweiss at sfu.ca
Sun Oct 22 21:00:37 EDT 2006

Edwin Mares asked

>>> Who was the first logician to present rigorous formation rules  
>>> for a formal language? And where (and when) did they do it?

And Heck replied

>> if one were to rephrase the question as "Who was the first  
>> logician to give rigorous formation rules for a language of  
>> reasonable expressive power?" then the answer is definitely: Frege.

In particular Heck says that the place where Frege gave these rules  
is in the Grundgesetze, sections 28 and 30.  I think he's right about  
Frege's intention thereabouts.

Let me ask a further question: are the formation rules Frege gave  
there correct?  (Of course, this wasn't Mares' question, but it seems  

The Fregean notions of name and of proper name (henceforth "Bg  
(proper) names") are analogous to the notions of formula and  
sentence, if we reinterpret placeholders as free variables.  (I  
didn't appreciate this before.)  So a sufficient condition for a  
resounding answer of "Frege" to Mares' question is that Frege  
inductively characterized the Bg names.

(Of course there may be another sufficient condition, such as e.g.  
that Frege nearly successfully characterized the Bg names, or that he  
successfully defined "Bg proper name".)

In Gg S30, which Heck pointed out, Frege describes "two ways to form  
a name" and concludes "all correctly-formed names are formed in this  
manner."  Given the list of primitives at the beginning of S31, this  
looks like an inductive specification (indeed with a closure clause).

But I have trouble seeing how Frege's formation rules suffice to  
generate all Bg-names.

I hope that, for present purposes, it will not misrepresent the  
situation to stipulate that a "Bg function name" is a Bg name that  
results from replacing, in a Bg proper name, some occurrences of Bg  
names with placeholders of the same type.  (*We* can define "Bg  
proper name" independently.)

Construed under the stipulation, Frege's rules permit exchanges of Bg  
names for placeholders of the same type, and vice versa.  Frege puts  
restrictions on the types for which the exchanges can be made.  I'm  
worried that these restrictions are too strong.

Here are the restrictions. In one direction, occurrences of a  
placeholder X in a name Y can be replaced with a constant Z only if X  
and Z are of the same type and either:
	Z is a proper name and Y is first-level one-place function name, or
	Z is a first-level function name and Y is a second-level one-place  
function name, or
	Z is a second-level function name and Y is a third-level one-place  
function name, or
	Z is a proper name and Y is a first-level two-place function name.
In the other direction, some occurrences of a name X in a name Y can  
be replaced with a placeholder Z only if X and Z are of the same type  
and X is a proper name.

Given these restrictions, I can't see how to form the proper name
	"forall f forall x (fx = fx)".

This may be due to my thickness.  But if someone could show how  
Frege's account is supposed to work, we would have a more definitive  
answer to Mares' question.



More information about the FOM mailing list