- From: Deborah McGuinness <dlm@ksl.stanford.edu>
- Date: Tue, 16 Jan 2001 13:21:55 -0800
- To: Dan Connolly <connolly@w3.org>
- CC: Ian Horrocks <horrocks@cs.man.ac.uk>, "Dickinson, Ian J" <Ian_J_Dickinson@hplb.hpl.hp.com>, www-rdf-logic@w3.org
- Message-ID: <3A64BB73.7497B0CD@ksl.stanford.edu>
Anotations below.
I think the axiomatic semantics has what is needed for list,
first, and rest . I have grabbed the sections in the document and included
them in this note.
Please let me know if you think there are remaining issues.
thx,
Deborah
Dan Connolly wrote:
deleting portions...
> Ian Horrocks wrote:
> >
> > On January 12, Dickinson, Ian J writes:
> >
> > as the List itself doesn't have any semantics,
>
> Huh? List/first/rest have the usual semantics; e.g.
> (forall (?l1 ?l2 ?f ?r)
> (=> (and (daml:List ?l1) (daml:List ?l2)
> (daml:first ?l1 ?f) (daml:rest ?l1 ?r)
> (daml:first ?l2 ?f) (daml:rest ?l2 ?r))
> (daml:equivalentTo ?l1 ?l2) )
>
> isn't that in the axiomatic semantics? (I've left out the Type and
> PropertyValue
> thingies; and daml:equivalentTo is interchangeable whith KIF's =
> yes, that's explicit: Ax68)
>
> http://www.daml.org/2000/12/axiomatic-semantics.html
>
> Ugh.. I don't see any axioms about first/rest there;
> Let's please add it.
>
>
in: http://www.daml.org/2000/12/axiomatic-semantics.html
there is:
5.1.9. List
%% “Seq” is a value of “subClassOf” for “List”. (I.e., lists are sequences.)
Ax65. (PropertyValue subClassOf List Seq)
and
5.2.22. first
%% “first” is type “FunctionalProperty”.
Ax128.(Type first FunctionalProperty)
%% Saying that an object X is the value of “first” for an object L is
logically
equivalent to saying that L is type “List” and the value of “_1” for L is X.
(I.e.,
“first” is “_1” for lists.)
Ax129.(<=> (PropertyValue first ?l ?x)
(and (Type ?l List) (PropertyValue _1 ?l ?x)))
5.2.23. rest
%% “rest” is type “FunctionalProperty”.
Ax130.(Type rest FunctionalProperty)
%% Saying that an object R is the value of “rest” for an object L is logically
equivalent to saying that L is type “List”, R is type “List”, and L has the
same
items in the same order as list R with one additional object as its first
item.
Ax131.(<=> (PropertyValue rest ?l ?r)
(and (Type ?l List)
(Type ?r List)
(exists (?x) (= ?l (cons ?x ?r)))))[11]
%% Note that the following can be inferred from the axioms regarding “oneOf”,
“domain”, and “range”:
Th25. (PropertyValue domain rest List))
Th26. (PropertyValue range rest List)
Did someone think they needed more than this?
--
Deborah L. McGuinness
Knowledge Systems Laboratory
Gates Computer Science Building, 2A Room 241
Stanford University, Stanford, CA 94305-9020
email: dlm@ksl.stanford.edu
URL: http://ksl.stanford.edu/people/dlm/index.html
(voice) 650 723 9770 (stanford fax) 650 725 5850 (computer fax) 801 705
0941
Received on Tuesday, 16 January 2001 16:22:01 UTC