Path: text.usenetserver.com!out02b.usenetserver.com!news.usenetserver.com!in02.usenetserver.com!news.usenetserver.com!pd7cy1no!pd7cy2no!shaw.ca!pd7urf3no.POSTED!53ab2750!not-for-mail
X-Trace-PostClient-IP: 24.84.208.66
From: paul c <toledobythesea@ooyah.ac>
User-Agent: Thunderbird 2.0.0.6 (Macintosh/20070728)
MIME-Version: 1.0
Newsgroups: comp.databases.theory
Subject: Re: RM and abstract syntax trees
References: <1193713604.283167.146850@e34g2000pro.googlegroups.com>   <aa2dnV0VyZodZLvanZ2dnUVZ8qqlnZ2d@pipex.net> <1193743772.498246.198100@e34g2000pro.googlegroups.com> <a6KVi.160778$1y4.93722@pd7urf2no> <JpKVi.159673$Da.33829@pd7urf1no> <47277664$0$14879$9a566e8b@news.aliant.net>
In-Reply-To: <47277664$0$14879$9a566e8b@news.aliant.net>
X-No-Archive: yes
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 67
Message-ID: <AWPVi.162138$th2.91368@pd7urf3no>
Date: Wed, 31 Oct 2007 00:24:00 GMT
NNTP-Posting-Host: 64.59.144.75
X-Complaints-To: abuse@shaw.ca
X-Trace: pd7urf3no 1193790240 64.59.144.75 (Tue, 30 Oct 2007 18:24:00 MDT)
NNTP-Posting-Date: Tue, 30 Oct 2007 18:24:00 MDT
Organization: Shaw Residential Internet
Xref: usenetserver.com comp.databases.theory:167076
X-Received-Date: Tue, 30 Oct 2007 19:24:00 EST (text.usenetserver.com)

Bob Badour wrote:
> paul c wrote:
> 
>...
>> Here's my favourite nested relation, although I admit it's probably 
>> useless in practice.  It's a recursive one.  Sorry I don't have much 
>> mastery of conventional syntax, what I mean here is something like R: 
>> <attribute list> where <attribute list> is a set of attribute name, 
>> attribute type pairs and typeof is swiped from C-language:
>>
>> R: (A typeof R)
>>
>> I don't know how to display a value for R but I guess it could have 
>> either no tuples or one tuple.
> 
> It could have any number of tuples. See formalism under "philosophy of 
> mathematics".
> 
> Example values are:
> zero tuples:
> {}
> 
> one tuple:
> {{}}
> {{{}}}
> {{{{}}}}
> {{{},{{}}}}
> ...
> 
> two tuples:
> {{},{{}}}
> {{{}},{{{}}}}
> {{},{{{}}}}
> ...
> 
> three tuples:
> {{},{{}},{{},{{}}}}
> {{},{{}},{{{}}}}
> ...
> 
> four tuples:
> {{},{{}},{{},{{}}},{{},{{}},{{},{{}}}}}
> etc.
> 
> ...

Thanks for the formalism suggestions, will try to absorb.

I know you've tried to explain various flavours of this to me before, 
but an example that prompts this for me, only with two attributes, is:

R2: {A integer, B typeof R2}

In R2, I can see that a value for B isn't necessarily empty, but if it 
is, that must be the end of the "descent", for I don't see how an empty 
recursive relation can recurse "any further" as it were.  (I think this 
would be the case even if R2 defined several "levels" of conventional 
non-recursive RVA's.)

Now, I admit I'm slow (but not heavy!) but I can see only one possible 
value for R.A which is an empty relation of type R and two possible 
values for R, one where R is empty and the other where R has one tuple 
where R.A is empty.  I don't see how a relation defined recursively can 
"descend" from an empty value!

So far, it looks like a peculiar kind of constraint to me.  As somebody 
else say, go ahead and attack it, I can take it!
