Re: Onto a potential relational manipulation language
Date: Fri, 12 Dec 2008 02:16:35 -0800 (PST)
On 12 déc, 00:22, vadim..._at_gmail.com wrote:
> On Dec 9, 11:12 am, paul c <toledobythe..._at_oohay.ac> wrote:
> > If I were making up a syntax, I'd start by naming shortcuts
> > for expressions based on some formal logic. The one closest to my
> > thinking would be D&D Algebra but there are others, don't ask me how
> > many, such as Vadim's RL.
> Let me hijack this thread to plug in my program. Its primary purpose
> is to be able to check if an assertion is a valid theorem in RL. I
> hope some day a more ambitious project would extend it to fully
> featured general purpose programming environment.
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.
> I mentioned before that I extensively leverage Prover9/Mace4, so why
> bother with other assertion verification tool?
> Prover9 main purpose is
> to formally derive assertions from some assumptions. Mace4 is
> complementary tool which invalidates wrong assertions by finding
> counterexamples. However, the models in Mace4 are generic, while in
> database world one would like to check assertions against objects that
> are structured as tables (err, relations).
Thanks for the references. I will look further into Prover9/Mace4 for opportunity to leverage them if they use a similar computing model to the one on which I rely.
Assertion is only but one of the questions the computing model aims at reponding to and teh computing does not respond to it through traditional RA. 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.
Relation operation and traditional boolean logic are not mutually exclusive concepts
> Meet QBQL (Quasi Boolean Query Language?):http://code.google.com/p/qbql/wiki/GettingStarted
> For those who missed Neo's entertaining DbForDummies threads, here are
> few examples in QBQL that look strikingly similar to his:-)
> R00 < Relationship.
> (Max ^ Fed ^ Folly) v Time < TwoOclock.
> %invalid: (Claire ^ Fed ^ Scruffy) v Time < TwoOclock.
> Time v (Claire ^ At ^ Library) < Time v (Max ^ At ^ Home).
> %invalid: Time v (Max ^ At ^ Home) < Time v (Claire ^ At ^ Library).
> (((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?
Thanks for your comments. Received on Fri Dec 12 2008 - 11:16:35 CET