Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Constraints and Functional Dependencies
Marshall wrote:
> On Feb 24, 7:55 am, Bob Badour <bbad..._at_pei.sympatico.ca> wrote:
>
>>Marshall wrote: >> >>>[...] >> >>Those look good to me. Domain constraints are very easy: >> >>forall R(a1,...an): a1 in d1 and ... an in dn
>>I don't know why you think one cannot express unboundedness--not that >>the constraint is meaningful for finite computers. >> >>forall R(a): exists R(a'): a' = a + 1 >> >>or >> >>forall R(a): exists R(a'): a' > a
Suppose one has an extent function that returns a relation representing the extent of a type. Then "extent(natural)" is the name for a relation representing the set of all natural numbers.
However, in a real computer, the natural type will be finite not infinite and the unbounded constraint above would always fail (except for empty relations ironically).
How does one express that R has at least one tuple? Or that a specific instance exists?
Would the following do?
exists R(a): true
exists R(a): a = literal
If that works, I suppose one could describe the extent of the natural numbers as:
(exists extent(natural)(value): value = 1)
and
(forall extent(natural)(value'):
exists extent(natural)(value''): value'' = value' + 1
Of course, a finite computer would have to amend the above as follows:
(exists extent(natural)(value): value = 1)
and
(forall extent(natural)(value'):
value' = max(natural) or exists extent(natural)(value''): value'' = value' + 1
Assuming a max function that returns the largest value in an ordered type.
> Although as I mentioned in another post, there do exist
> systems that can prove (static) properties of the natural
> numbers, using algebraic manipulations, not exhaustive
> computation. (Clearly, as you mentioned, the technique
> of exhaustive computation is inapplicable to infinite sets.)
>
>
> Marshall
>
Received on Sat Feb 24 2007 - 12:08:27 CST