On 2 Jul 2010, at 06:05, Pat Hayes wrote:
>>
>> I don't see how a literal
>> could be a property (we could syntactical allow it, but wouldn't every
>> use of this feature be a contradiction?)
>
> Well, actually, no. I agree this *seems* unintuitive, but in another context we found a solid use for it in Common Logic applications. In the IKRIS project, funded by IARPA, we had to make a collection of disparate logic-based systems interoperate. This required, among other things, a syntactic device to keep track of how names changed their meanings between different contexts of use. The elegant (and effective) way to do this was to treat a character string as being a function from contexts to referents. For details, see the discussion of 'captured names' (slide 17++) in http://www.slideshare.net/PatHayes/ikl-survey . For a more general polemic in this whole topic of what 'makes sense', see http://www.slideshare.net/PatHayes/translating-into-common-logic-459009, slides 13 to the end.
>
> Pat
[[
[1] Bill and Sue are married. Bill plays lacrosse.
[2] Robert knows them both but thinks they are not married.
[3] Mary does not know anything at all about Bill. She understands the name "Bill" to refer to Robert, and she knows that Robert and Sue are not married.
[4] Mary's sister Joan knows Bill personally, but also, for reasons that need not detain us here, believes that his name is "Robert".
[5] Finally, Joan's friend Wilma, a lacrosse fan, knows Bill as a lacrosse player and knows that Robert is a friend of Joan but, unlike Joan, she does not know that these are in fact the same person.
]]
Just for fun
@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix : <http://ikl.example/> .
@prefix rel: <http://purl.org/vocab/relationship/>
[1] :Bill rel:spouseOf :Sue;
:plays :Lacross .
[2] :Robert foaf:knows :Bill, :Sue;
:believes { { :Bill rel:spouseOf :Sue . } a log:Falsehood } .
[3] :Mary :fullBelief [
log:includes { :Robert foaf:name "Bill" };
log:notIncludes { :Bill ?r ?o }, { ?s ?r :Bill } .
] .
On the question is here if Mary identifies :Robert via the canonical method of identification given by :Robert (which can be fetched by dereferencing the :Robert URL), or whether she identifies him via some other description... In ordinary language the referent is often fixed in belief contexts by the knowledge of the speaker. This may be a place where N3 will need to be specified more carefully.
It is really quite difficult to say that she has no belief about bill under any description or
name.
[4] :Joan rel:siblingOf :Mary;
foaf:knows :Bill;
rel:hasMet :Bill;
:believes { :Bill foaf:name "Robert" } .
[5] :Wilma rel:closeFriendOf :Joan;
:fan :Lacross;
:believes { :Bill :plays :Lacross .
_:r foaf:name "Robert";
rel:closeFriendOf :Joan.
}
So what seems needed in N3 is some way of speaking OF someone in a context, without naming that person.
Perhaps something like
?Bill = :Bill .
:Wilma rel:closeFriendOf :Joan;
:fan :Lacross;
:belief [
log:includes {
#she knows Bill as a Lacross player (but not under that nme)
?Bill :plays :Lacross;
?Robert foaf:name "Robert";
rel:closeFriendOf :Joan .
}
log:notIncludes {
# not quite sure how to say ?Robert not ?Bill
}
Just wondering if this can be said. The issue of belief contexts is pretty difficult stuff, and even very much a topical debate in philosophy of language. But the example is interesting, and it would
be good to understand how one could write this in N3 or extend it.
Henry