Tentative contribution to the "URI issue"

Dear All,

Let me attempt to clarify an understanding of the URI issue - hopefully
shared by others.

URI can be used in a logic language, like in other web formalims, as
unique indentifiers of ... whatever. This way, one can have formulas like:

forall x http://example.com:father(http://bry.name/francois, x) =>
http://example.com:has_family_name(x, bry)

with the meaning that all my children have the family anme "bry"
(assumption). The URIs are no more than symbolic references. This way,
uri1:p can be a n-ary predicate symbol and uri2:p can be a predicate
symbol distinct from uri1:p. Such a use of URI does not call for much
changes in the definition of syntax and semantics of a logic language. A
bit of care would suffices, I believe.

Another use of URI in a logic language would be like in the slightly
modified following formulas (the modification is at the end of the
formula):

forall x http://example.com:father(http://bry.name/francois, x) =>
http://example.com:has_family_name(x, http://example.com:bry)

Now, the (individual) constant in the formula  is a URI. I see two ways.
Either, a URI-constant is a constant like any other. In this case, it is
interpreted (by the appropriate I function of the
interpretation/structure considered) as an element of the domain.
Nothing needs to be changed in the semantics. Or, instead, it is a
special constant that can only be interpreted in a special way, i.e. by
specific elements that must belong to the domain.

Such special interpretations for specific constants is nothing new in
logic. In classical methematical logic, as well as in all logic-based
computational languages, integers as well as other kinds of numbers are
interpreted in a specific way, namely, 12 is *required* to be
interpreted by the 13. integer following 0 and nothing else. (Note that,
in the generall setting of WD1 Core's semantics, such an interpretation
of integers is *not* required.). Such specific interpretationas are also
used in language with equality: only so-called "normal interpretations"
are usually considered thst interprete the equality symbol in ther
language by equality in the interpretation.

The restriction to so-called "standard interpretation" interpreting
integers - and more generally numbers - in the (expected) specific way
has two good reasons, a theoretical and a practical one. First, the
natural numbers with elementary arithmetics cannot be fully axiomatized.
All axiomatizations are satisfied by strange things that are similar -
but different - from the natural number with elementary arithmetics.
Second, if reasoning is to be performed - by machines or humans -, then
"short cuts" are necessary for avoiding lenghty and complicated proofs
that would results from using axioms for natural numbers and
arithmetics. These short cuts are exactly what one might think of: 12 +
3 is computed in some efficient manner yielding 15 instead of using
reasoning on  axioms for getting the same result.

I think, the first use mentioned above of URIs is no problems. All we
need is a careful phrasing. The second use of URIs - and for thanrt
matter of numbers - require instead to modify the semantics so as to
ensure that URIs - and numbers - are interpreted as they should.

The question is, of course, how should URI be interpreted?

I think,  it suffices to add a no further specified non-empty set of
resources to the domain over which URIs are interpreted. I believe, no
more is needed. Eg there is no need to require the set of resources to
be disjoint from the remaining domain or to require two distinct URIs to
be interpreted by two distinct resources. Also, there is no need to
define what is a resource.

I hope, this helps... If I am missing something, please, let me know!

Regards,

Francois

Received on Tuesday, 20 March 2007 17:09:17 UTC