Higher-order logic
sowa <sowa@turing.pacss.binghamton.edu>
Reply-To: cg@cs.umn.edu
Date: Thu, 11 Nov 93 19:46:17 EST
From: sowa <sowa@turing.pacss.binghamton.edu>
Message-id: <9311120046.AA00805@turing.pacss.binghamton.edu>
To: cg@cs.umn.edu, interlingua@cs.umn.edu
Subject: Higher-order logic
Cc: sowa@turing.pacss.binghamton.edu
There are a number of issues that have been getting mixed up in
these discussions:
1. The ability to have unrestricted quantification over functions,
predicates, propositions, and other "higher-order" objects.
2. The use of metalanguage capabilities for quantifying over the
expressions that define various functions, predicates, and propositions.
This capability seems to be sufficient to handle all of Fritz's
examples. I translated one of Fritz's expressions into my version
of CGs using metalanguage, and a similar mechanism could be used
to represent the others.
3. Since the number of possible functions and predicates may be uncountable,
but the number of possible expressions is at most countable, option 2
doesn't let the quantifiers range over as many "things" as option 1.
But since all of Fritz's examples were stated in informal English,
it is very far from clear whether option 1 or option 2 comes closer to
capturing the intutive "meaning" that Leibniz et al. were trying to
grope towards.
4. Another way of quantifying over higher-order objects is by means
of a typed or sorted version of logic. Since this approach restricts
the quantifiers to range only over a predefined sort, it may give
you a logic which seems to express "the same thing", but which
really has a much more restricted domain of discourse. However,
if you stuff the whole uncountable mess of possible functions
into your function sort, then you get the same collection of models.
5. The mechanisms currently defined for CGs allow you to take the
metalanguage option of quantifying over expressions. They also
allow you to take the typed-logic option of stuffing whatever
you want into a type. You can, if you like, stuff an uncountable
set of functions into a type. That is not something that I would do,
but I am not going to stop anyone else from playing such games.
6. The question of which kind of syntactic sugar you spray over
any of these constructions depends on your taste, and you can
make any of these options look as pretty or as ugly as you like
by defining appropriate symbols, macros, abbreviations, etc.
Since Fritz mentioned Peirce, I'd like to quote a discussion by Peirce
in a letter to Victoria, Lady Welby:
When we have analyzed a proposition so as to throw into the subject
everything that can be removed from the predicate, all that it
remains for the predicate to represent is the form of connection
between the different subjects as expressed in the propositional form.
What I mean by "everything that can be removed from the predicate"
is best explained by giving an example of something not so removable.
But first take something removable. "Cain kills Abel." Here
the predicate appears as "--kills--." But we can remove killing
from the predicate and make the latter "--stands in the relation--to--."
This quote is from p. 396 of _Charles S. Peirce: Selected Writings_,
edited by P. P. Wiener, Dover Publications, NY, 1958.
I would interpret that passage as implying that Peirce would
sanction the option of reifying relations by "taking them out of
the predicate" and making them objects subject to quantification
in a first-order language. Therefore, that would put Fritz's
examples taken from Peirce into the category of things that can
be expressed adequately with a typed first-order logic, as we
have in CGs.
John Sowa