[CL] "Lambdas changed my life," Barbara Partee
Fabian Neuhaus
fneuhaus at web.de
Fri Aug 26 14:39:11 CDT 2005
On Aug 26, 2005, at 2:43 PM, Chris Menzel wrote:
> On Fri, Aug 26, 2005 at 01:52:10PM -0400, Fabian Neuhaus wrote:
>>> I'm not sure why you're saying that, Pat, familiar as you are with
>>> the
>>> Henkin stuff. Seems to me that all we would need to do, initially,
>>> anyway, is add the usual "second-order" constraint that every formula
>>> defines an n-place relation:
>>>
>>> (exists (F)
>> (forall (x1 ... xn)
>>> (iff (F x1 ... xn) A)
>>>
>>> where A is any formula
>>
>> Chris, are you sure that you can use _any_ formula? Would that not
>> lead to paradoxes?
>>
>> Obvious candidates are:
>> (a)
>> (exists (F)
>> (forall (x1 )
>> (iff (F x1) (not (F x1)))
>>
>> and the classical Russell paradox
>> (b)
>> (exists (F)
>> (forall (x1 )
>> (iff (F x1) (not (x1 x1)))
>
> Sorry, yes, of course, the standard restriction here is that "F" cannot
> occur free in A.
>
> As for the second example, I (inappropriately and inexplicably) had
> only
> traditional second-order languages in mind in my response to Pat, but
> CL's wild west syntax requires further qualifications and restrictions
> still. An obvious one is that none of the xi can occur free in
> predicate position in A. But even this is not enough, as you can still
> get the following version of Russell in CL:
>
> (c)
>
> (exists (F)
> (forall (x)
> (iff (F x)
> (exists (G) (and (= G x) (not (G x)))))))
>
Of course you could forbid to use x in predicate position AND forbid
the use of identity in A. If I remember correctly,
Cocchiarella discusses this possibility. If one considers identity as
an operator and not as binary relation, then one might argue that this
solution is not completely arbitrary. This way one can avoid the
paradox, however one still get something very ugly:
We just replace the identity by indiscernability.
(exists (F)
(forall (x)
(iff (F x)
(exists (G)
(and (not (G x)
(forall (H)
(iff (HF)(HG)) )))))))
(This looks like a paradox, but it is harmless, since Leibniz Law does
not hold in CL.)
By the way, if one embraces this formulation of the comprehension
principle, then one cannot add an axiom of extensionality and the an
axiom that postulates: If x has the property P, then P has the property
of being a property of x.
> Equivalently, if we have lambda terms, we can get the following version
> of the Russell property:
>
> [lambda (x) (exists (G) (and (= G x) (not (G x))))],
>
> and hence, with lambda conversion, essentially the same paradox.
Since John would like lamdas in CL (or rather an extension of CL) I see
two possible solutions.
(A) Syntactical restriction: Take a restricted version of the
comprehension principle (like the one suggested above) as an addition
axiom and allow lamda operators to apply only to formulas which meet
the restriction. According to this solution [lambda (x) (exists (G)
(and (= G x) (not (G x))))] is not well-formed.
(B) Semantic solution: Allow arbitrary lamda constructions, but some of
these (like [lambda (x) (exists (G) (and (= G x) (not (G x))))]) do not
refer. This would be a kind of free logic for lamda expressions. From a
theoretical point of view this is the much more interesting solution, I
always wanted to develop it. Unfortunately I cannot convince Barry that
this kind of research is really important for biomedical ontologies. :)
More information about the CL
mailing list