**Mail folder:**Interlingua Mail**Next message:**Guy Mineau: "iccs93-prg"**Previous message:**mineau: "register"**In-reply-to:**sowa: "Types, sets, and relations"**Reply:**sowa: "Re: Types, sets, and relations"

Message-id: <199304262047.AA22988@quark.isi.edu> Date: Mon, 26 Apr 1993 13:46:47 -0800 To: sowa <sowa@turing.pacss.binghamton.edu>, cg@cs.umn.edu, interlingua@ISI.EDU From: macgregor@ISI.EDU Subject: Re: Types, sets, and relations

John Sowa writes: > ... >But in order to preserve the option of developing a richer model >theory in the future, I would like to distinguish them syntactically. > ... >Summary: If T is a type, S is a set, and R is a monadic relation, >I would prefer to use the following notation: > > (forall (?x T) (...)) > > (forall (?x in S) (...)) > > (forall (?x) (=> (R ?x) (...)) > >In the current model theory for KIF, all three of these constructions >may have the same denotation, but a future model theory might treat >them differently. John seems to be suggesting that we encode distinctions between Type, Set, and Relation in the syntax, while assigning each of the above constructs the same denotation in KIF. I disagree for two reasons. First, if a distinction is regarded as significant by a large body of users (perhaps all of us except for Mike G.?), then there ought to be an explicit means for encoding it in KIF. One possibility would be: (and (Type T) (forall ((?x T)) (...))) (and (Set S) (forall ((?x S)) (...))) (and (Monadic-Relation R) (forall ((?x R)) (...))) This last distinction works only if KIF assigns a standard meaning to the relations Type, Set, and Monadic-Relation. Set and (unrestricted) Relation are already defined, so I think this boils down to including a monadic relation equivalent to "Type" in KIF. We and many of our users find the distinction between Type and Monadic-Relation useful, but we have not discovered a reliable semantic basis for this distinction, and I would hazard a guess that we never will. I would prefer to agree on a standard name (Type, Class, Concept, or whatever) and add a partial definition to KIF (defrelation Type (?t) := (and (Relation ?t) (arity ?t 1))) ("arity" is probably not defined in KIF, but pretend that it is). My second reason for disagreement is that John's suggestion places a greater burden on the translation process, plus it requires that the translator make seemingly arbitrary distinctions. For example, Loom provides distinct means for introducing concepts (Types) and properties (Monadic-Relations) into a knowledge base, but their use within queries is identical. To conform to John's proposal, a Loom statement like (forall (?x) (implies (A ?x) ...)) would have a different translation into KIF depending on whether "A" had been introduced as a concept or as a property. - Bob Robert M. MacGregor macgregor@isi.edu USC/ISI, 4676 Admiralty Way, Marina del Rey, CA 90292 (310) 822-1511