- From: Chris Welty <cawelty@gmail.com>
- Date: Mon, 18 May 2009 15:55:06 -0400
- To: "Public-Rif-Wg (E-mail)" <public-rif-wg@w3.org>
Abstract:
In the abstract and overview, I think the standard-speak used is too
constraining regarding the requirement of future dialects to implement FLD:
"The actual dialects are required to specialize this framework to produce their
syntaxes and semantics. "
I suggest this be slightly weakened to use "should" instead of the implied
"must", ie "...dialects should be derived from RIF-FLD by specialization..."
In general, the text is pretty good about saying that FLD may need to be updated
in light of new dialects, but I still think our message is that FLD *should*
be used, not *must* be used, in the specification of new dialects.
Of course one could argue that FLD is only making this requirement of dialects
that wish to be called "logic" dialects, but as with the naming of "not", which
came down to sort of "who gets the right to call their negation 'not'", I can
imagine some group wishing to say they have a "logic" dialect even though it is
incompatible with FLD.
1. Overview
"All logic RIF dialects are required to be derived from RIF-FLD by specialization, "
ibid.
2.2 Alphabet
"Definition (Alphabet). The alphabet of the presentation language of RIF-FLD
consists of the following disjoint subsets of symbols: "
Common Logic allows variable symbols and constant symbols to overlap. Do the
subsets need to be disjoint? All these types of things can be distinguished by
their syntactic context.
"A countably infinite set of quantifiers...where n ≥ 1"
It seems strange to include the variables as part of the set of quantifiers.
WHy aren't the quantifiers just Exists, Forall, ...
2.4 Terms
"Positional terms in RIF-FLD generalize the regular notion of a term used in
first-order logic. For instance, the above definition allows variables
everywhere, as in ?X(?Y ?Z(?V "12"^^xs:integer)), where ?X, ?Y, ?Z, and ?V are
variables. Even ?X("abc"^^xs:string ?W)(?Y ?Z(?V "33"^^xs:integer)) is a
positional term (as in HiLog [CKW93]). "
This idea goes back at least as far as Enderton, 1972, and has been used in
implemented systems such as SNePS and Conceptual Graphs in the 80s. Since
Enderton published in '72 what was already a "well known encoding" of predicate
variables in FOL, I don't think it's accurate to say this "generalizes...FOL".
The fact is that this IS perfectly first-order.
Thus it seems reasonable to just say something like:
"Positional terms in RIF-FLD are quite general, and allow variables everywhere,
as in ?X(?Y ?Z(?V "12"^^xs:integer)), where ?X, ?Y, ?Z, and ?V are variables.
Even ?X("abc"^^xs:string ?W)(?Y ?Z(?V "33"^^xs:integer)) is a positional term
(as in HiLog [CKW93], SNePS [SR87], and Common Logic [CL07]). "
The SNePS reference is:
Shapiro, Stuart C., & Rapaport, William J. (1987), "SNePS Considered as a Fully
Intensional Propositional Semantic Network" [PDF], in Nick Cercone & Gordon
McCalla (eds.), The Knowledge Frontier: Essays in the Representation of
Knowledge (New York: Springer-Verlag): 262-315.
I fixed a number of formatting problems w/ subscripts. If outside a <tt>,
subscripts for 1 look like a |
3.2 Truth Values
"RIF dialects can have additional truth values. For instance, the semantics of
some versions of NAF, such as well-founded negation, requires three truth
values: t, f, and u (undefined), where f <t u <t t. Handling of contradictions
and uncertainty usually requires at least four truth values: t, u, f, and i
(inconsistent). In this case, the truth order is partial: f <t u <t t and f <t i
<t t. "
Since the document says the inverse operator needs to be defined, I suggest you
define it here for these two examples.
3.6 Interpretation of Non-document Formulas
In a <t,u,f> valued dialect, I'm unsure what happens in this case:
Exists(?x) P(?x)
Exists(?x) P(a) :- P(?x)
If this entails anything other than P(a), then we would have a hidden extension.
--------------
In general as reading I tried to think of myself using FLD to define a full
first order (+ datatypes) dialect, but I was not able to get a clear idea of it,
so I'm left unsure whether it would work. I didn't notice anything in
particular (other than noted above) that would prevent it, but the document is
long and contains a lot of concepts and I never got to the point where I
understood the whole thing at once. As I read, though, things did make sense
and I thought the flow of information was appropriate.
I did not look at the XML syntax section (4).
I note that, like BLD, FLD avoids any notion of error. I understand why we did
that for BLD, but wonder if more expressive and complicated dialects will want
it, and whether FLD should support it.
--
Dr. Christopher A. Welty IBM Watson Research Center
+1.914.784.7055 19 Skyline Dr.
cawelty@gmail.com Hawthorne, NY 10532
http://www.research.ibm.com/people/w/welty
Received on Monday, 18 May 2009 19:55:50 UTC