Re: Onto a potential relational manipulation language

From: <vadimtro_at_gmail.com>
Date: Fri, 12 Dec 2008 09:55:11 -0800 (PST)
Message-ID: <fc372f6f-f230-4666-b127-14d0c24eb85d_at_w1g2000prm.googlegroups.com>


On Dec 12, 2:16 am, Cimode <cim..._at_hotmail.com> wrote:

> I am curious.  What do yo mean by assertion?  Are you refering to ra
> predicate boolean logic?  When you say that the purpose is verify that
> an assertion is a valid theorem in RL, what do you call a *valid
> theorem*.  Thank you ellaborating on this last particular point.

Well, it is sloppy language on my part, nothing more. "Assertion" is widely used in computer language, while first order logic term is "sentence". This is why sprinkling examples here and there helps communication a lot. When I write

a ^ b = b ^ a.

people don't ask if it is an assertion or sentence.

> As I mentionned in the response to paul c, the
> computing model and subsequent implementation main purpose is relation
> level manipulation and operation not tuple level.

Well, RL manipulates with relations as they are unstructured entities. There is no reference to attributes and tuples -- relation structure is captured in axioms. However, we don't know complete axiom system for RL. QBQL serves as a tool to semantically validate RL sentences and thus have to leverage relation structure (as a set of tuples).

> Relation operation and traditional boolean logic are not mutually > exclusive concepts

There is established Logic <-> Algebra correspondence. For propositional calculus we have boolean algebra. What algebra do we have for predicate calculus? None. I'd suggest that RL is predicate calculus without quantifiers and relation attributes.

> > (((Peter ^ Parent) v Relationship) ^ (Max ^ Child)) v R00 = R01.
>
> I do not quite see the relation between the example posted and the
> example you provided.  Please explain why you see a relationship?

Well, these sentences were taken out of context mostly for entertainment purpose. They are valid in the following database

People = {

<name=max,sex=male>,
<name=peter,sex=male>,
<name=claire,sex=female>

};

Pets = {
<nickname=folly,specie=dog>,
<nickname=scruffy,specie=cat>

};

Time = {
<time=dummy>

} ^ R00 ;

Fed = {
<name=max,nickname=folly,time=200>,
<name=claire,nickname=folly,time=200>,
<name=max,nickname=folly,time=300>,
<name=max,nickname=scruffy,time=200>

};

Max = {
<name=max>

};

Claire = {
<name=claire>

};

Peter = {
<name=peter>

};

Folly = {
<nickname=folly>

};

Scruffy = {
<nickname=scruffy>

};

TwoOclock = {
<time=200>

};

ThreeOclock = {
<time=300>

};

At = {
<name=max, location=home, time=200>,
<name=claire,location=library,time=200>,
<name=max, location=library,time=300>,
<name=claire,location=home, time=300>,
<name=max, location=library,time=400>,
<name=claire,location=library,time=500>
};

Home = {
<location=home>

};

Library = {
<location=library>

};

Parent = {
<name=peter,relationship=peterFatherMax>
};

Child = {
<name=max,relationship=peterFatherMax>
};

Relationship = {
<relationship=dummy>

} ^ R00;

I'd suggest running Sims.assertions against Sims.db in QBQL to actually experience it. Received on Fri Dec 12 2008 - 18:55:11 CET

Original text of this message