Re: Review of FLD

Michael Kifer wrote:
> Chris,
> thanx for your thoughts. This is useful and maybe we can converge soon.
> Pls see below.
> 
> On Mon, 18 May 2009 23:01:40 -0400
> Chris Welty <cawelty@gmail.com> wrote:
> 
>>>> 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.
>>> This is just an unnecessary complication, which buys you nothing.
>>> In many respects, RIF is more general than Common Logic, and forcing one to
>>> decide what is a variable and what isn't by the context is a huge nuisance.
>>> In fact, you CANNOT determine what is a variable by the context alone.
>>> Many rule languages omit quantifiers. How do you distinguish then?
>> As you point out below, the choice should be up to a dialect.  Allowing variable 
>> and constant symbols to overlap in FLD simply means that a dialect can make that 
>> choice, not that every dialect must support it.  As it is, Common Logic cannot 
>> be expressed as an FLD dialect, and thus it is not more general.
> 
> FLD is a framework for exchange languages. An exchange language is a common
> medium to which other languages are mapped. Are you saying that Common Logic
> cannot be mapped to FLD? I don't believe it until you prove it. Good
> luck! :-).

Its not Fermat's last theorem, but here goes:
Common logic allows variable names and constant names to overlap.  FLD does not 
allow a dialect to do this.  Common Logic cannot be a dialect of FLD. QED.

> Second, I said that FLD is more general than Common Logic "in many respects."
> That claim holds true. In a well-defined sense, it is also strictly more
> general, since Common logic is just a first-order logic, while FLD can define
> non-1st-order dialects as well.

Not sure what the claim is here.  If you simply lift the restriction on 
disjointness then your statement is strictly true (or at least, I have no reason 
to suspect otherwise).  If you don't, it isn't.

>>> Besides, we have already agreed early on that variables are prefixed with a ?,
>>> and this is how one identifies them.
>> We agreed on that for our existing dialects.  I never agreed to that for all 
>> logic languages.  I personally don't see why it is needed, unless you allow no 
>> quantifiers, in which case you do.  Again, seems like its a choice in language 
>> design, not something to require of all.
> 
> Not requiring variables to be disjoint from constants is an unnecessary
> complication that brings NO benefits whatsoever. I can't even imagine what a
> suitable XML framework would look like in that case.

Why do you need to care what dialect designers who choose to do this do?  The 
XML syntax makes it totally obvious and unambiguous.  This is definitely NOT an 
issue with the XML syntax.

-Chris


-- 
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 Tuesday, 19 May 2009 12:45:28 UTC