Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
Database Servers
DB2InformixIngresMS SQLOraclePervasive.SQLPostgreSQLProgressSybase
Desktop Databases
FileMakerFoxProMS AccessParadox
General
General DB TopicsDatabase Theory
Related Topics
Java Development.NET DevelopmentVB DevelopmentMore Topics ...

Database Forum / General DB Topics / DB Theory / August 2008

Tip: Looking for answers? Try searching our database.

Guessing?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
paul c - 25 May 2008 18:15 GMT
Thanks to Brian S for reminding about Codd's book.  On the question of
view updateability, I'm interested in comments about this quote from
page 294:

> Now for a second example, this one involving union and a view based
> on two relations, not just one as in the first example. Suppose that two of
> the base relations in the database are SE and SW, where SE provides the
> identification and immediate properties of suppliers east of the Mississippi
> River, while SW provides similar information about suppliers west of the
> Mississippi. Suppose also that SE and SW are union-compatible and that
> neither SE nor SW contains a column that indicates directly by its values
> whether the supplier is east or west of the Mississippi.
>
> Base:  SE ( S# SNAME CITY STATE... )
> SBase: W ( S# SNAME CITY STATE... )
>
> Now, suppose that a view S is created as the union of SE and SW.
> Suppose also that a user is authorized to enter a new row into the view S.
> Such a request must be reflected in some change applied to the base relations,
> which are the only relations that reflect the true state of the database. How
> does the DBMS decide which of the two base relations SE and SW is to be
> the recipient of this row? Even if two of the immediate properties of suppliers
> recorded in SE and SW are the city and state in which each supplier is
> located, it is not appropriate to assume that the DBMS or the database has
> any knowledge about geography, and in particular about which cities and
> states are on which side of the river.
>
> It is worth noting that, in this second example, the view S is actually
> the disjoint union of SE and SW, a reasonably simple case; still, however,
> entry of new rows into the view is not admissible. Nevertheless, whatever
> it does, the DBMS would be guessing the user's or program's intent, and
> such behavior is unacceptable in managing a shared database.

I'm fastening particularly on where he says it is unacceptable for the
DBMS to "guess" at intent.  I'm inclined to call his attitude mystical.
 If the DBMS is ordered to insert the tuple and no information it has
been given, such as constraints, countermands that, and it has a
consistent method for doing so, why the dickens shouldn't it?

It is just as much a guess for the DBMS to give the impression that the
request/order is ambiguous (a word Codd uses earlier on).  In this case,
it just doesn't know, ie., hasn't been told and should keep its
figurative mouth shut!

(My attitude about such inserts is for the DBMS to use its UNION feature
to all base relations in the definition, then apply any defined
constraints to the results.  In the purest implementation some results
might be seen by programmers as inconvenient, for example where a
primary key was involved and the request implied a contradiction, the
result might be an empty relation, so an implementation might support
the raising of exceptions for convenience, but this is outside the RDM's
scope.)

Rather than guessing, I think he is really talking about the Information
 Principle, which is an idea that concerns designers, not DBMS
implementations.
paul c - 25 May 2008 18:23 GMT
...the Information
>  Principle, which is an idea that concerns designers, not DBMS
> implementations.

(at least, not in this case.)
Bob Badour - 25 May 2008 18:42 GMT
> Thanks to Brian S for reminding about Codd's book.  On the question of
> view updateability, I'm interested in comments about this quote from
[quoted text clipped - 62 lines]
>  Principle, which is an idea that concerns designers, not DBMS
> implementations.

See POOD and the justifications for it. I think it safe to say at least
some relational proponents might agree with the comment about mysticism
or at least that Codd's opinion on the matter was not as conclusive as
he might have thought.
paul c - 25 May 2008 19:06 GMT
> See POOD and the justifications for it. I think it safe to say at least
> some relational proponents might agree with the comment about mysticism
> or at least that Codd's opinion on the matter was not as conclusive as
> he might have thought.

Would you say POOD is an upshot of the Information Principle?

Or is just a design approach Date and McGoveran came up with to work
around what they saw as an implementation problem?

A corrolary of the IP might be that any contradictory information allows
contradictory results.  If so, that wouldn't worry me.  I'm
distinguishing here between information that we know versus the more
abstract information that the dbms has, given a particular design, I'd
say only what the dbms knows matters.
Bob Badour - 25 May 2008 22:53 GMT
>> See POOD and the justifications for it. I think it safe to say at
>> least some relational proponents might agree with the comment about
>> mysticism or at least that Codd's opinion on the matter was not as
>> conclusive as he might have thought.
>
> Would you say POOD is an upshot of the Information Principle?

I would say POOD is a direct response to the sorts of view updating
problems discussed in the book excerpt you omitted this time.

> Or is just a design approach Date and McGoveran came up with to work
> around what they saw as an implementation problem?

It is a design principle for avoiding ambiguity in view updates.

> A corrolary of the IP might be that any contradictory information allows
> contradictory results.  If so, that wouldn't worry me.  I'm
> distinguishing here between information that we know versus the more
> abstract information that the dbms has, given a particular design, I'd
> say only what the dbms knows matters.

POOD is all about making sure the dbms knows what it needs to know. (Not
that I like anthropomorphizing dbmses.)
JOG - 26 May 2008 03:47 GMT
> > A corrolary of the IP might be that any contradictory information allows
> > contradictory results.  If so, that wouldn't worry me.  I'm
[quoted text clipped - 4 lines]
> POOD is all about making sure the dbms knows what it needs to know. (Not
> that I like anthropomorphizing dbmses.)

A dbms once told me that it was sick to the back teeth of being
anthropomorphized.

I gave it a clip round the ear for its bare-faced cheek.
Bob Badour - 26 May 2008 04:28 GMT
>>>A corrolary of the IP might be that any contradictory information allows
>>>contradictory results.  If so, that wouldn't worry me.  I'm
[quoted text clipped - 9 lines]
>
> I gave it a clip round the ear for its bare-faced cheek.

How goes the online resource project you mentioned? Did it founder on
the rocks?
JOG - 26 May 2008 12:42 GMT
> >>>A corrolary of the IP might be that any contradictory information allows
> >>>contradictory results.  If so, that wouldn't worry me.  I'm
[quoted text clipped - 12 lines]
> How goes the online resource project you mentioned? Did it founder on
> the rocks?

The day job is currently getting in the way, but I am still resolved
to get something going. I've certainly come to realise its not a one
man job...
Gene Wirchenko - 26 May 2008 17:26 GMT
[snip]

>A dbms once told me that it was sick to the back teeth of being
>anthropomorphized.
>
>I gave it a clip round the ear for its bare-faced cheek.

    Is your software down again?  Maybe, it just needs to talk to
someone who understands.  (not my line; an adapation of a cartoon)

Sincerely,

Gene Wirchenko

Computerese Irregular Verb Conjugation:
    I have preferences.
    You have biases.
    He/She has prejudices.
paul c - 27 May 2008 00:02 GMT
...
> A dbms once told me that it was sick to the back teeth of being
> anthropomorphized.
>
> I gave it a clip round the ear for its bare-faced cheek.

Serves the bloody creature right.
paul c - 26 May 2008 14:48 GMT
...
> ... (Not that I like anthropomorphizing dbmses.)

Right, saying the dbms 'knows' something invites talk of it being able
to 'guess' and other mysticisms.  For want of a better word, for now
I'll try to remember to quote it.
Bob Badour - 26 May 2008 15:08 GMT
> ...
>
[quoted text clipped - 3 lines]
> to 'guess' and other mysticisms.  For want of a better word, for now
> I'll try to remember to quote it.

With POOD, any tuple satisfies the predicate of at most one relation in
the dbms. Thus, with POOD, the dbms can calculate a unique relation to
which to apply any insert, update or delete with the goal of avoiding
anomalous behaviour.

In the case of the union view from Codd's book, POOD requires the base
relations to have disjoint predicates. Because the predicates are
disjoint, the dbms can calculate to which base relation to apply the
insert. If one ignores POOD, the dbms still calculates the base
relations to which to apply the insert, but the base relations need not
be disjoint.

Symmetry requires the dbms apply the insert to all base relations in the
union view for which the tuple satisfies the predicate.

In this respect, Codd's example is a straw man. In the example, he
failed to declare the predicates to the dbms so they were unavailable
for calculation.
Brian Selzer - 27 May 2008 13:38 GMT
>> ...
>>
[quoted text clipped - 8 lines]
> which to apply any insert, update or delete with the goal of avoiding
> anomalous behaviour.

This just does not make sense.  Suppose that a Vendor can also be a Customer
since they're both Companies, and suppose that Company 'Philco' usually
supplies 'RG6 connectors,' but occasionally buys them.  So then if you have
two relations,

VendorParts {Company, Part},

CustomerParts {Company, Part},

that enumerate the parts that a company supplies and the parts that a
company buys respectively,

the tuple, {Company:'Philco', Part:'RG6 connector'}, can obviously appear in
both relations, so I don't buy the notion 'any tuple satisfies the predicate
of at most one relation.'

In TTM, Darwin raises objections to such a strict form of orthogonality, and
I agree: it's a problem to disallow more than one relationship between
things, and in the case of unary relations, it's a problem to disallow
something from having more than one property.  (Page 436 if you're
interested.)

> In the case of the union view from Codd's book, POOD requires the base
> relations to have disjoint predicates. Because the predicates are
[quoted text clipped - 8 lines]
> to declare the predicates to the dbms so they were unavailable for
> calculation.
paul c - 27 May 2008 14:59 GMT
>>> ...
>>>
[quoted text clipped - 23 lines]
> of at most one relation.'
> ...

Isn't this a straw man too?  (arguing against POOD with an example that
doesn't follow POOD.)
Brian Selzer - 27 May 2008 21:08 GMT
>>>> ...
>>>>
[quoted text clipped - 26 lines]
> Isn't this a straw man too?  (arguing against POOD with an example that
> doesn't follow POOD.)

I think it does follow POOD, but I think Badour's overstrict interpretation
of POOD is flawed.
paul c - 19 Jun 2008 21:10 GMT
...
>>>> With POOD, any tuple satisfies the predicate of at most one relation in
>>>> the dbms. Thus, with POOD, the dbms can calculate a unique relation to
[quoted text clipped - 23 lines]
> I think it does follow POOD, but I think Badour's overstrict interpretation
> of POOD is flawed.

In that case, why don't you state your interpretation (in less than say
50 words or so I could hope).
Brian Selzer - 20 Jun 2008 02:35 GMT
> ...
>>>>> With POOD, any tuple satisfies the predicate of at most one relation
[quoted text clipped - 27 lines]
> In that case, why don't you state your interpretation (in less than say 50
> words or so I could hope).

POOD seeks to prevent the occurrance of base relations with overlapping
meanings.  In a first order language, you have constant symbols and
predicate symbols, and under an interpretation, meaning is assigned not only
to the constant symbols but also to the predicate symbols.  The way I see
it, the only way you can have overlapping meanings is if a relation has a
disjunctive predicate. For example, if relation R has predicate Pxy and
relation S has predicate Pxy \/ Qxy, then there is overlapping meaning
between relations R and S because a tuple that satisfies P can appear in
both, but if relation T has predicate Qxy, then there isn't any overlap
between R and T (assuming, of course, that predicates P and Q are atomic).
The idea that there can be only one relation with a particular heading is
just stupid, since it would require many relations to have disjunctive
predicates.  To me it doesn't make sense to have a relation that contains
either customer parts or vendor parts or both just because the heading for
customer parts is identical to the heading for vendor parts.
paul c - 20 Jun 2008 03:07 GMT
>> ...
>>>>>> With POOD, any tuple satisfies the predicate of at most one relation
[quoted text clipped - 27 lines]
> POOD seeks to prevent the occurrance of base relations with overlapping
> meanings.

Okay, even though "overlapping" might be a bit vague, that's much less
than 50 words ;)

> ... In a first order language, you have constant symbols and
> predicate symbols, and under an interpretation, meaning is assigned not only
> to the constant symbols but also to the predicate symbols.  The way I see
> it, the only way you can have overlapping meanings is if a relation has a
> disjunctive predicate. ...

Not sure if that's so, but willing to assume it is for now.  It reminds
me that I have doubts about whether any relation should be allowed to
disjunctions within individual propositions, at least if we want
'interchangeability'.  For example, a base relvar that has been inserted
to with "union" certainly doesn't have a disjunctive predicate so why
should a view that is manifested the same way be different?  The only
time I can see where a view should preserve the disjunction is when it
concerns relations that aren't so-called 'union-compatible'.

> ... For example, if relation R has predicate Pxy and
> relation S has predicate Pxy \/ Qxy, then there is overlapping meaning
[quoted text clipped - 6 lines]
> either customer parts or vendor parts or both just because the heading for
> customer parts is identical to the heading for vendor parts.

Personally, I would like to avoid disjunctive predicates entirely but
for a different reason, as I suggested above.
Brian Selzer - 20 Jun 2008 20:25 GMT
>>> ...
>>>>>>> With POOD, any tuple satisfies the predicate of at most one relation
[quoted text clipped - 43 lines]
> to with "union" certainly doesn't have a disjunctive predicate so why
> should a view that is manifested the same way be different?

Because one involves two database states and the other involves only one.
Any mutating operation necessarily involves two database states (or
instances, or values--whichever nomenclature you prefer): there is what was
then supposed to be the case and what is now supposed to be the case.  But a
view simply presents information contained in one database state--what is
now supposed to be the case--in a different way.  The connection between
what is presented by a view and what is in the underlying relations is the
expression that defines the view.  If that happens to be a union, then the
predicate of the view is the disjunction of the predicates of the two
operands of the union.  This is inescapable.

> The only time I can see where a view should preserve the disjunction is
> when it concerns relations that aren't so-called 'union-compatible'.

Then you are suggesting that we ignore the connection between a derived
relation and that which underlies it.  Ignore the connection and a view is
no longer a derived relation--a stored query--but rather a stored query
result.

>> ... For example, if relation R has predicate Pxy and relation S has
>> predicate Pxy \/ Qxy, then there is overlapping meaning between relations
[quoted text clipped - 9 lines]
> Personally, I would like to avoid disjunctive predicates entirely but for
> a different reason, as I suggested above.

I'm going to go out on a limb and suggest that a database without
disjunctive predicates for relations is a database that satisfies both POOD
and POFN.  It seems to me that decomposition is only ever indicated when the
original predicate is a disjunction.

For example, if a relation R {A, B, C}
can be decomposed into relations S {A, B} and T {A, C}
then the predicate of R must be a disjunction of the predicates
of S and T: Rabc = Sab \/ Tac where Sab and Tac are the predicates
of S and T respectively.  With just one inclusion dependency,
say S[A] IN T[A]. the predicate of R must be something like
Sab /\ Tac \/ ~Sab /\ Tac.  With a cyclical inclusion dependency,
S[A] = T[A], the predicate is no longer disjunctive: it's something like
Sab /\ Tac, and that's a case where decomposition is contraindicated.
paul c - 21 Jun 2008 23:48 GMT
> "paul c" <toledobysea@ac.ooyah> wrote in message
...
>>> ... In a first order language, you have constant symbols and
>>> predicate symbols, and under an interpretation, meaning is assigned not
[quoted text clipped - 20 lines]
> operands of the union.  This is inescapable.
> ...

One may choose one's starting point so as to conclude that it is
'inescapable' (sorry, not trying to mimic Bob B's high tones), but I
feel that escape from this consequence is rather necessary!  (seems a
pedantic consequence to me which usually signals to me that something
basic is just wrong, also I'm not saying I have the IQ wherewithal to
show how, but am wondering whether a more complete POOD might argue that
the presence of any non-disjunctive tuple in a db, no matter whether
it's in a base or 'virtual' relation, trumps any disjunctive operator
that might have produced/manifested it.)
Brian Selzer - 22 Jun 2008 05:51 GMT
>> "paul c" <toledobysea@ac.ooyah> wrote in message
> ...
[quoted text clipped - 26 lines]
> 'inescapable' (sorry, not trying to mimic Bob B's high tones), but I feel
> that escape from this consequence is rather necessary!

Why is it necessary?

> (seems a pedantic consequence to me which usually signals to me that
> something basic is just wrong, also I'm not saying I have the IQ
> wherewithal to show how, but am wondering whether a more complete POOD
> might argue that the presence of any non-disjunctive tuple in a db, no
> matter whether it's in a base or 'virtual' relation, trumps any
> disjunctive operator that might have produced/manifested it.)

Consider the following statements:

1. Susan is an electrical engineer.
2. Susan is a mechanical engineer.
3. Susan is an electrical engineer or Susan is a mechanical engineer.

Now, suppose you have a base relation P whose members map to individuals
that exemplify the property of being an electrical engineer, a base relation
Q whose members map to individuals that exemplify the property of being a
mechanical engineer, and a virtual relation (a view) R (P UNION Q) whose
members map to individuals that exemplify either the property of being an
electrical engineer or the property of being a mechanical engineer or both.
The presence of a tuple in the virtual relation with a value that maps to
Susan tells us only that Susan exists and that she is either an electrical
engineer or a mechanical engineer or both.  It does not tell us which.  It
is only the fact that the value that maps to Susan appears also in both of
the base relations that tells us that in fact Susan is both an electrical
engineer and a mechanical engineer.  So here we have three relations, two
base, one derived, that draw their values from the same domain, but it is
where a particular value appears that imparts different aspects of meaning
to that value.  Note that there is no overlap in meaning for relations P and
Q--even though they draw their values from the same domain: whether an
individual is an electrical engineer or not has no bearing whatsoever on
whether that individual is a mechanical engineer or not.
Brian Selzer - 22 Jun 2008 16:09 GMT
>>> "paul c" <toledobysea@ac.ooyah> wrote in message
>> ...
[quoted text clipped - 62 lines]
> engineer or not has no bearing whatsoever on whether that individual is a
> mechanical engineer or not.

Where POOD comes in is if P and Q in addition to an attribute whose values
map to individuals who can be an electrical engineer or a mechanical
engineer respectively, have another attribute in common--say, for example,
one that indicates that individual's sex.  Now the predicates become
something like:

Px \/ Rxy and
Qx \/ Rxy.

Which violates POOD.  Decomposition produces:

R{X, Y}
P{X} P[X] IN R[X]
Q{X} Q[X] IN R[X]

Note that a relation with a predicate Px \/ Rxy cannot just be decomposed
into relations
P{X} and R{X, Y} with predicates Px and Rxy respectively because the
predicate
Px \/ Rxy requires that whenever there is an x, there must also be a y.
Hence the inclusion dependency.
paul c - 08 Jul 2008 00:52 GMT
...
> Consider the following statements:
>
[quoted text clipped - 11 lines]
> Susan tells us only that Susan exists and that she is either an electrical
> engineer or a mechanical engineer or both.  It does not tell us which.  

That is your interpretation.  (I don't like words like 'members' and
'map' in this kind of example so I'll assume you don't mind me thinking
of 'members map' as 'tuples stand for'.)

However, I'm content to say that all three relations have the same
predicate, assuming no attribute renaming is involved in your
interpretation. I know many people say that the 'or' is introduced to
the predicate of R.  I don't believe there is any law or principle,
including relational closure, that requires anybody to think this way.

Also, assuming your example involves single-attribute relations, I'd say
it is basically the same as Codd gave in his 1990 book, which I think is
a straw man.

If the above relations have only one attribute, such as 'person_name',
then I think you are imputing meaning to the relation names (R, P and Q)
 and expecting a dbms to somehow do the same.  If they had a second
attribute, such as 'qualification', then I would say all three relations
have the predicate "person has name 'person-name' and qualification
'qualification'".

I'm quite happy to distribute union or D&D's '<OR>' over the view
expression, eg. R =: (P <OR> <inserted relation>) <OR> (Q <OR> <inserted
relation>) and not bothered if millions upon millions of people think
that such a dbms is not useful.

I think that what R = P <OR> Q "means" is that at any time, R always
reflects what facts have been inserted to P and Q and says nothing about
what has been inserted to R.  If this is what David McGoveran means by
POOD, I agree with him.  People who know much more about computer
languages than I have said this is non-deterministic behaviour, which is
a nuance that has always escaped me.  If they are right in the narrow
scope of automation languages, I'm still not bothered.

Also, I'm happy to distribute over any view expression, difference,
conjunction, etc.,  in any way that boolean logic allows.  When it
comes to projections, we get to the perhaps obscure area that I'm most
interest in because I imagine something very fundamental must change,
not just the notion of 'insert', but Codd's 1NF as well as the
projection operator / aka existential quantification, itself.
Brian Selzer - 08 Jul 2008 06:02 GMT
> ...
>> Consider the following statements:
[quoted text clipped - 23 lines]
> predicate of R.  I don't believe there is any law or principle, including
> relational closure, that requires anybody to think this way.

How can they have the same predicate if they can have different extensions?
That doesn't make any sense.

> Also, assuming your example involves single-attribute relations, I'd say
> it is basically the same as Codd gave in his 1990 book, which I think is a
[quoted text clipped - 6 lines]
> have the predicate "person has name 'person-name' and qualification
> 'qualification'".

I don't expect a dbms to impute meaning, since that is not its function nor
within its capability.  Meaning is assigned under an interpretation, which
only a person can do.  However, interpretation of first order sentences
involves the assignment of meaning not only to individual symbols but also
to predicate symbols.  Constant symbols from the various domains defined on
the database are individual symbols; relation names are predicate symbols.

> I'm quite happy to distribute union or D&D's '<OR>' over the view
> expression, eg. R =: (P <OR> <inserted relation>) <OR> (Q <OR> <inserted
[quoted text clipped - 15 lines]
> just the notion of 'insert', but Codd's 1NF as well as the projection
> operator / aka existential quantification, itself.
paul c - 08 Jul 2008 15:58 GMT
> "paul c" <toledobysea@ac.ooyah> wrote in message
...
>> However, I'm content to say that all three relations have the same
>> predicate, assuming no attribute renaming is involved in your
[quoted text clipped - 5 lines]
> That doesn't make any sense.
> ...

They are misconceived.  The example strikes me as akin to Joe C's word
games.
Bob Badour - 08 Jul 2008 16:04 GMT
>> "paul c" <toledobysea@ac.ooyah> wrote in message
>
[quoted text clipped - 12 lines]
> They are misconceived.  The example strikes me as akin to Joe C's word
> games.

To answer Selzer's query, they have different external predicates but
the same predicate as far as the DBMS can calculate.
Brian Selzer - 08 Jul 2008 18:22 GMT
>>> "paul c" <toledobysea@ac.ooyah> wrote in message
>>
[quoted text clipped - 15 lines]
> To answer Selzer's query, they have different external predicates but the
> same predicate as far as the DBMS can calculate.

That doesn't make sense either.  If there are different external predicates,
then shouldn't that be reflected by there being different relation names,
and thus differing internal predicates?
paul c - 08 Jul 2008 18:35 GMT
>>>> "paul c" <toledobysea@ac.ooyah> wrote in message
>>> ...
[quoted text clipped - 16 lines]
> then shouldn't that be reflected by there being different relation names,
> and thus differing internal predicates?

Since when does a predicate (ie., a conventional FOL predicate) mention
a relation name?

(Surely relation names aren't anything but an implementation device.)
Bob Badour - 08 Jul 2008 19:08 GMT
>>>>> "paul c" <toledobysea@ac.ooyah> wrote in message
>>>>
[quoted text clipped - 23 lines]
> Since when does a predicate (ie., a conventional FOL predicate) mention
> a relation name?

Usually when discussing the composition operator. f(g(x)) sort of thing.

> (Surely relation names aren't anything but an implementation device.)

I don't think I entirely agree.
paul c - 08 Jul 2008 19:12 GMT
...
>> Since when does a predicate (ie., a conventional FOL predicate)
>> mention a relation name?
[quoted text clipped - 4 lines]
>
> I don't think I entirely agree.

Is the mention of g(x) not equivalent to enumerating g(x)?
Bob Badour - 08 Jul 2008 19:19 GMT
> ...
>
[quoted text clipped - 8 lines]
>
> Is the mention of g(x) not equivalent to enumerating g(x)?

No, g is just the name of the relation. Composition is usually written
with some symbol like f*g.
paul c - 08 Jul 2008 19:31 GMT
>> ...
>>
[quoted text clipped - 11 lines]
> No, g is just the name of the relation. Composition is usually written
> with some symbol like f*g.

Fair enough, as far as I understand what you mean.  Sometimes we don't
want to evaluate an expression immediately but instead save the mention
of it (using some unique name we make up for it) to be used in some
later calculation.  For that purpose is the function name anything more
than a device or convenience?

Or is there another purpose?
Bob Badour - 08 Jul 2008 19:56 GMT
>>> ...
>>>
[quoted text clipped - 18 lines]
> later calculation.  For that purpose is the function name anything more
> than a device or convenience?

It's a name. What names do you know that are neither devices nor
conveniences?

> Or is there another purpose?

It has the same purpose as any name.
paul c - 08 Jul 2008 20:22 GMT
...
> It's a name. What names do you know that are neither devices nor
> conveniences?
> ...

None although some people say I have poor memory.  I prefer to think of
it as convenient memory!
paul c - 08 Jul 2008 19:09 GMT
> ...
>> Consider the following statements:
[quoted text clipped - 3 lines]
>> 3. Susan is an electrical engineer or Susan is a mechanical engineer.
>> ...

I have another question.  Suppose we have a database that involves only
statement 3.  Just what does its extension look like?

Eg., does it contain only one relation or several?  If there is one
relation, what is its extension?  If there are several relations, are
there an equal number of extensions?
Brian Selzer - 08 Jul 2008 22:47 GMT
>> ...
>>> Consider the following statements:
[quoted text clipped - 6 lines]
> I have another question.  Suppose we have a database that involves only
> statement 3.  Just what does its extension look like?

Correctly formed, each extension of the database would consist of two
relations: one for mechanical engineers and one for electrical engineers.
There are three possible extensions:

one where Susan is both an electrical engineer and a mechanical engineer,

MechanicalEngineers {{Person:Susan}}
ElectricalEngineers {{Person:Susan}};

one where Susan is not a mechanical engineer but is an electrical engineer,

MechanicalEngineers {}
ElectricalEngineers {{Person:Susan}};

and one where Susan is a mechanical engineer but is not an electrical
engineer,

MechanicalEngineers {{Person:Susan}}
ElectricalEngineers {};

but only one of them represents what is actually the case.
paul c - 08 Jul 2008 23:07 GMT
>>> ...
>>>> Consider the following statements:
[quoted text clipped - 16 lines]
> ElectricalEngineers {{Person:Susan}};
> ...

Okay, now stop right there.  (It is the case you originally gave, ie.,
statements 1 and 2 are both true.)  What is the extension of 'statement'
3?
Brian Selzer - 09 Jul 2008 00:33 GMT
>>>> ...
>>>>> Consider the following statements:
[quoted text clipped - 20 lines]
> statements 1 and 2 are both true.)  What is the extension of 'statement'
> 3?

You've lost me.  When did I say that statements 1 and 2 are both true?
IIRC, I wrote, "consider the following statements:"
paul c - 09 Jul 2008 00:42 GMT
>>>>> ...
>>>>>> Consider the following statements:
[quoted text clipped - 21 lines]
> You've lost me.  When did I say that statements 1 and 2 are both true?
> IIRC, I wrote, "consider the following statements:"

I see this snippet from June 22:

"It is only the fact that the value that maps to Susan appears also in
both of the base relations that tells us that in fact Susan is both an
electrical engineer and a mechanical engineer."
Brian Selzer - 09 Jul 2008 16:27 GMT
>>>>>> ...
>>>>>>> Consider the following statements:
[quoted text clipped - 29 lines]
> both of the base relations that tells us that in fact Susan is both an
> electrical engineer and a mechanical engineer."

The Susan I have in mind happens to be both an electrical and a mechanical
engineer.  But statement 3 would still be the case if she were either an
electrical or a mechanical engineer but not both.  If she were only an
electrical engineer, then the extension of a relation representing statement
3 would still consist of that same tuple, {{Person:Susan}}.  If she were
only a mechanical engineer then the extension would still consist of that
same tuple.  In order be able to differentiate between the properties of
being an electrical engineer and being a mechanical engineer you either need
to add a flag attribute or use separate relations.
JOG - 08 Jul 2008 22:55 GMT
I get tired of these confusions concerning "meaning". There is no
meaning in a proposition. None. Meaning exists in our heads and
nowhere else. Logical propositions are purely syntactic, and RA is a
purely mathematical formalism no different to geometry say.

And anyone who tries to use the word "semantic" in some pseudo-
technical fashion, as though the word makes any sense /whatsoever/,
should be smacked round the head with a fish. A big sodding haddock
maybe.
paul c - 08 Jul 2008 23:16 GMT
> I get tired of these confusions concerning "meaning". There is no
> meaning in a proposition. None. Meaning exists in our heads and
[quoted text clipped - 5 lines]
> should be smacked round the head with a fish. A big sodding haddock
> maybe.

I'm with you.  They seem to be over-loaded all over the place, 'meaning'
especially here usually has over-loaded meaning!  When it comes to
implementations I think both words can usually be avoided.  When talking
about predicates and symbol manipulation, usually I try to remember to
say "stands for" rather than "means", seems less murky to me.  I'm not
so sure about substituting for "semantic" but think that it pretty much
always is used when talking about the effects that result from some
language syntax or other, maybe "intention" would be as good.  Haddock
sounds fine to me since I prefer cod and salmon for eating.
Brian Selzer - 09 Jul 2008 16:36 GMT
>I get tired of these confusions concerning "meaning". There is no
> meaning in a proposition. None. Meaning exists in our heads and
> nowhere else. Logical propositions are purely syntactic, and RA is a
> purely mathematical formalism no different to geometry say.

Logical propositions without an intended interpretation are when written
just squiggles--something akin to doodles--with no significance or utility
whatsoever, and are when spoken just noise--they do not rise even to the
level of being a tale told by an idiot: they're just noise.

> And anyone who tries to use the word "semantic" in some pseudo-
> technical fashion, as though the word makes any sense /whatsoever/,
> should be smacked round the head with a fish. A big sodding haddock
> maybe.
paul c - 09 Jul 2008 16:58 GMT
>> I get tired of these confusions concerning "meaning". There is no
>> meaning in a proposition. None. Meaning exists in our heads and
[quoted text clipped - 6 lines]
> level of being a tale told by an idiot: they're just noise.
> ...

JOG wasn't complaining about the word 'interpretation'.  I think he
meant that a discipline or machine that follows logical rules to
manipulate symbols can't be allowed to imbue them with meaning on the
way by without risking the introduction of illogical results, for
example, contradictions.  It seems that SQL does fall into this trap,
not just posters like Joe C who give fractional 'propositions' and
expect unwritten meaning to be divined by the reader.
Marshall - 10 Jul 2008 00:37 GMT
> Logical propositions without an intended interpretation are when written
> just squiggles--something akin to doodles--with no significance or utility
> whatsoever, and are when spoken just noise--they do not rise even to the
> level of being a tale told by an idiot: they're just noise.

That turns out not to be the case. Axioms are just sentences in
a language, for example. A first order theory is just a bunch
of syntactic statements. There may be a variety of different
possible interpretations, or models. There may be exactly
one, or there may be none at all.

http://en.wikipedia.org/wiki/First_order_theory

Marshall
Brian Selzer - 10 Jul 2008 06:03 GMT
>> Logical propositions without an intended interpretation are when written
>> just squiggles--something akin to doodles--with no significance or
[quoted text clipped - 11 lines]
>
> Marshall

I don't think so: axioms are sentences that are suppposed to be true.  Truth
is determined through interpretation.  Therefore, axioms are sentences that
are supposed to be true under an interpretation--the intended
interpretation.  So a logical theory consists of a set of sentences that are
supposed to be true under an interpretation along with that which can be
derived from those sentences.
Marshall - 10 Jul 2008 07:37 GMT
> "Marshall" <marshall.spi...@gmail.com> wrote in message

> >> Logical propositions without an intended interpretation are when written
> >> just squiggles--something akin to doodles--with no significance or
[quoted text clipped - 18 lines]
> supposed to be true under an interpretation along with that which can be
> derived from those sentences.

You're in the right ballpark, but you're overstating things to
the point of being wrong. The interpretation is not a requirement.
It may not be unique; it may not even exist.

More relevantly, any interpretation is *not* part of the theory.

Axioms are sentences that a theory assumes. Within that
theory, axioms are the definition of truth. We may have
an associated model for the theory. Or we might have five,
or there might not be any model possible. So it does not
make sense to speak of "_the_ intended interpretation."

And for most proofs, (and this is my big objection to
your position) we don't even need to consider any model,
or even whether there is a model. For example, consider
the group axioms. It is a theorem of group theory that
the identity element is unique. Why can we say such a
thing without specifying *which* interpretation of the group
axioms we mean? Because it *doesn't matter* which
interpretation we are talking about: the naturals under addition,
the nonzero rationals under multiplication, translations in the
Cartesian plane, whatever. It's true for *all* interpretations.

Marshall
Brian Selzer - 10 Jul 2008 13:59 GMT
>> "Marshall" <marshall.spi...@gmail.com> wrote in message
>
[quoted text clipped - 50 lines]
>
> Marshall

Isn't it true that even the most primitive axioms range over a collection of
arbitrary objects?
Marshall - 11 Jul 2008 02:26 GMT
> "Marshall" <marshall.spi...@gmail.com> wrote in message
>
[quoted text clipped - 8 lines]
> > the nonzero rationals under multiplication, translations in the
> > Cartesian plane, whatever. It's true for *all* interpretations.

> Isn't it true that even the most primitive axioms range over a collection of
> arbitrary objects?

Sure. "Arbitrary" in that the theory doesn't specify what that
collection is.

Marshall
JOG - 10 Jul 2008 11:31 GMT
> >> Logical propositions without an intended interpretation are when written
> >> just squiggles--something akin to doodles--with no significance or
[quoted text clipped - 13 lines]
>
> I don't think so: axioms are sentences that are suppposed to be true.

I can only really echo Marshall's comments. The "truth" (whatever that
means) of axioms is irrelevant as far as a theory is concerned (and
i'd make pains to distinguish between the scientific and everyday uses
of the term theory).

> Truth is determined through interpretation.  Therefore, axioms are sentences that
> are supposed to be true under an interpretation--the intended
> interpretation.  So a logical theory consists of a set of sentences that are
> supposed to be true under an interpretation along with that which can be
> derived from those sentences.
JOG - 10 Jul 2008 11:59 GMT
> >> "paul c" <toledoby...@ac.ooyah> wrote in message
> > ...
[quoted text clipped - 57 lines]
> where a particular value appears that imparts different aspects of meaning
> to that value.

Values don't have meaning. That would indicate they somehow
"contained" that meaning. Meaning is conferred upon values by
isolation of the context in which they have been described (here the
relation they are contained in and its associated predicate), followed
by interpretation of that description by a human (with their
subjective understanding of the world).

I recommend reading Wittgenstein's "Philosophical Investigations",
Dreyfus' "What Computers still can't do" and Clancey's "Situated
Cognition" for related analyses. Better to stand on the shoulders of
giants than the toes of midgets I say.

> Note that there is no overlap in meaning for relations P and
> Q--even though they draw their values from the same domain: whether an
> individual is an electrical engineer or not has no bearing whatsoever on
> whether that individual is a mechanical engineer or not.
Brian Selzer - 11 Jul 2008 02:54 GMT
>> >> "paul c" <toledoby...@ac.ooyah> wrote in message
>> > ...
[quoted text clipped - 79 lines]
> by interpretation of that description by a human (with their
> subjective understanding of the world).

I'm not sure I agree.  Symbols don't have meaning apart from interpretation.
Nor do combinations of symbols.  Consider the combination MIX:

Does it represent the act of combining things?
Is it a representation of the number 1009?
Is it the name of Donald Knuth's mythical computer?

Only under an interpretation is an instance of that particular combination
of symbols assigned meaning.  And when a symbol or combination of symbols
has been assigned meaning, the object in the universe that it maps to is the
value it is associated with.  A value, therefore, is in a very strict sense
what a symbol means.  So you're right in saying that it doesn't /have/
meaning or /contain/ meaning: it is what is meant.

> I recommend reading Wittgenstein's "Philosophical Investigations",
> Dreyfus' "What Computers still can't do" and Clancey's "Situated
> Cognition" for related analyses. Better to stand on the shoulders of
> giants than the toes of midgets I say.

Here's a quote from Wittgenstein's /Philosophical Investigations/.  Page 2
in fact:.

These words [a quote from Augustine, /Confessions/], it seems to me, give us
a particular picture of the essence of human language.  It is this: the
individual words in language name objects--sentences are combinations of
such names.--in this picture of language we find the roots of the following
idea: Every word has a meaning.  This meaning is correlated with the word.
It is the object for which the word stands.
<<<

Funny how the first recommended reading supports my position in just the
first few pages.  To be sure, Wittgenstein argues that words have meaning,
and they do, but not until it has been assigned under an interpretation.
Nevertheless, the object that a symbol maps to is the value correlated with
that symbol, and is per Wittgenstein, what is meant.

>> Note that there is no overlap in meaning for relations P and
>> Q--even though they draw their values from the same domain: whether an
>> individual is an electrical engineer or not has no bearing whatsoever on
>> whether that individual is a mechanical engineer or not.
JOG - 11 Jul 2008 03:44 GMT
> >> "paul c" <toledoby...@ac.ooyah> wrote in message
>
[quoted text clipped - 93 lines]
> Only under an interpretation is an instance of that particular combination
> of symbols assigned meaning.

So without an interpretation the word has not been assigned a meaning?
Hence the word /alone/ is meaningless. That's exactly what I said. You
appear to have just checkmating yourself.

> And when a symbol or combination of symbols
> has been assigned meaning, the object in the universe that it maps to is the
[quoted text clipped - 20 lines]
> Funny how the first recommended reading supports my position in just the
> first few pages.

That doesn't seem the case.

> To be sure, Wittgenstein argues that words have meaning, and they do,

No, he clarifies his everyday use of the term "have" by specifying
that he is positing that meaning is "correlated" to a word - that
meaning is conferred /upon/ words.

> but not until it has been assigned under an interpretation.

Yes exactly as I said. Take the word, isolate the context in which it
has appeared, and then interpret it. Meaning is the end result. It is
not there at the start, and every stage of the process must occur for
it to come into being.

> Nevertheless, the object that a symbol maps to is the value correlated with
> that symbol, and is per Wittgenstein, what is meant.

Your argument is tying itself in knots. If you are equating values =
real-world objects (which is a new one I have to say), then you are
forced to conclude that a database, not containing real-world objects,
therefore contains no values. This is of course madness.

> >> Note that there is no overlap in meaning for relations P and
> >> Q--even though they draw their values from the same domain: whether an
> >> individual is an electrical engineer or not has no bearing whatsoever on
> >> whether that individual is a mechanical engineer or not.
Brian Selzer - 11 Jul 2008 15:30 GMT
[Snip]
>> >> Consider the following statements:
>>
[quoted text clipped - 55 lines]
> Hence the word /alone/ is meaningless. That's exactly what I said. You
> appear to have just checkmating yourself.

A word without an interpretation is just sqiggles or noise.  Only under an
interpretation does it convey meaning.  Also, a word is not a value.  See
below.

>> And when a symbol or combination of symbols
>> has been assigned meaning, the object in the universe that it maps to is
[quoted text clipped - 34 lines]
> that he is positing that meaning is "correlated" to a word - that
> meaning is conferred /upon/ words.

That's not how I read it, but it's not worth fighting about.

>> but not until it has been assigned under an interpretation.
>
> Yes exactly as I said. Take the word, isolate the context in which it
> has appeared, and then interpret it. Meaning is the end result. It is
> not there at the start, and every stage of the process must occur for
> it to come into being.

Not exactly what you said: you were speaking of /values/ not words.  There
is a difference.  A value is what a symbol or collection of symbols stands
for.  It is the object in the universe that under an interpretation the
symbol maps to.  It is what is meant.

>> Nevertheless, the object that a symbol maps to is the value correlated
>> with
[quoted text clipped - 4 lines]
> forced to conclude that a database, not containing real-world objects,
> therefore contains no values. This is of course madness.

Not necessarily real-world objects, but those in the universe of
discourse--whatever that happens to be.

Isn't it true that the following all represent the same value: four, IV, 4?
So here we have different symbols and combinations of symbols that map to
the same object in the universe--the same value; so here we have different
symbols and combinations of symbols that under an interpretation mean the
same thing.

It is not madness: A value is not a symbol.  It is an output of the function
that maps symbols and combinations of symbols to objects in the universe.  A
database contains symbols and combinations of symbols that only under an
interpretation have values, but since there should always be an intended
interpretation, a database should always contain symbols and combinations of
symbols that have values.  So it is imprecise, though understandable, to say
that a database contains values.

It is important to keep separate symbol from value--representation from
meaning--because what is represented in a database can mean different things
at different times.  A database is just a proposition, and under an
interpretation that proposition is assigned a truth value, and as part of
that assignment, every symbol and combination of symbols in that proposition
is instantaneously correlated with an object in the universe and thus is
assigned a value.

[snip]
JOG - 11 Jul 2008 16:21 GMT
> [Snip]
>
[quoted text clipped - 140 lines]
> symbols that have values.  So it is imprecise, though understandable, to say
> that a database contains values.

Well what can I say. I am genuinely suprised that you would follow
your line of thought and end up denying the fact that "Databases
contain values" (and hence propositions do too I guess), without
wondering whether this contradiction with common-sense might throw one
of your assumptions into doubt.

I'd have thought that this is the opposite of what scientific method
should be all about - start with a model, extend, find an empirical
contradiction that falsifies it, go back and reassess.

> It is important to keep separate symbol from value--representation from
> meaning--because what is represented in a database can mean different things
[quoted text clipped - 5 lines]
>
> [snip]
Brian Selzer - 20 Jul 2008 18:10 GMT
>> [Snip]
>>
[quoted text clipped - 173 lines]
> should be all about - start with a model, extend, find an empirical
> contradiction that falsifies it, go back and reassess.

I contend that there is a difference between a symbol that represents
something in the universe and a value.  If that runs counter to your
particular brand of common-sense, then I sympathize but suggest you adopt
another.

>> It is important to keep separate symbol from value--representation from
>> meaning--because what is represented in a database can mean different
[quoted text clipped - 7 lines]
>>
>> [snip]
JOG - 22 Jul 2008 11:24 GMT
> >> [Snip]
>
[quoted text clipped - 178 lines]
> particular brand of common-sense, then I sympathize but suggest you adopt
> another.

Yes, we know that. But you're value = object definition leads to the
contradictions:
* databases then have no values in them.
* to tell someone to enter a value into a spreadsheet cell becomes a
nonsense.
* a mathematical formalism contains no values at all, given it need
not refer to anything in the real world.
* etc.

This is all counter to everyday experience, and nothing to do with my
common sense. It is just not good enough to ignore the actual use of a
word.

> >> It is important to keep separate symbol from value--representation from
> >> meaning--because what is represented in a database can mean different
[quoted text clipped - 7 lines]
>
> >> [snip]
Brian Selzer - 22 Jul 2008 14:44 GMT
[big snip]

>> I contend that there is a difference between a symbol that represents
>> something in the universe and a value.  If that runs counter to your
[quoted text clipped - 3 lines]
> Yes, we know that. But you're value = object definition leads to the
> contradictions:

I think I should clarify this a bit.  I'm probably going to botch this, so
please bear with me.  A value is not just an object, but rather the image of
an object: within the picture of the universe that is under interpretation,
the value /is/ the object, but not necessarily in every picture of the
universe.

> * databases then have no values in them.

Isn't it simpler to say, "I stopped the car." instead of "I applied the
brakes until the car stopped moving." even though you obviously didn't push
your feet against the ground like Fred Flintstone?

Isn't it simpler in the same way to say, "Databases contain values." rather
than "Databases contain symbols and combinations of symbols that under an
interpretation map to objects in the universe." even though it is less
precise?

> * to tell someone to enter a value into a spreadsheet cell becomes a
> nonsense.

see above.

> * a mathematical formalism contains no values at all, given it need
> not refer to anything in the real world.

What a symbol maps to need not be spatiotemporally located.

> * etc.
>
> This is all counter to everyday experience, and nothing to do with my
> common sense. It is just not good enough to ignore the actual use of a
> word.

I don't think it is.  The context of this discussion demands a level of
precision that is not required in the contexts you cited.  A proposition is
just a collection of symbols combined according to some grammar that can be
assigned a truth value.  Neither the proposition nor the symbols and
combinations of symbols contained within convey meaning until under an
interpretation a truth value has been assigned.  A database is just a
proposition that is supposed to be true, but supposing a particular truth
value is not the same as assigning that truth value.  As a consequence, a
database is just a collection of symbols combined according to some grammar
that can be assigned a truth value.  It only becomes a collection of values
under an interpretation as that truth value is assigned.

[snip]
JOG - 22 Jul 2008 16:19 GMT
> [big snip]
>
[quoted text clipped - 11 lines]
> an object: within the picture of the universe that is under interpretation,
> the value /is/ the object,

There is no such thing as an image of an object. Different view of the
world. Different objects altogether. RM is implicitly underpinned by
this principal and hence its lack of row identifiers and use of keys
(and again this accords with everyday evidence of how we refer to the
world). It seems like you are still resolutely avoiding accepting this
one - but hell, plato got this sort of thing completely wrong too so I
guess at least you're in famous company (...although we do have 2
millenia of combined knowledge on him now).

> but not necessarily in every picture of the
> universe.
[quoted text clipped - 9 lines]
> interpretation map to objects in the universe." even though it is less
> precise?

A symbol is already defined as "something used for or regarded as
representing something else".

> > * to tell someone to enter a value into a spreadsheet cell becomes a
> > nonsense.
[quoted text clipped - 14 lines]
> I don't think it is.  The context of this discussion demands a level of
> precision that is not required in the contexts you cited.

Noone needs an imaginary concept of "images of objects", and so we
equally don't need some curveball redefinition of "value" by which to
refer to them.

> A proposition is
> just a collection of symbols combined according to some grammar that can be
[quoted text clipped - 6 lines]
> that can be assigned a truth value.  It only becomes a collection of values
> under an interpretation as that truth value is assigned.

Yes but the point is that you've just made all this up, and it is
nothing like how anyone else uses the term. As yet another example
consider the output of a mathematical function. It is unarguably a
value whether it is interpreted or not.

> [snip]
Brian Selzer - 23 Jul 2008 05:44 GMT
>> [big snip]
>>
[quoted text clipped - 23 lines]
> guess at least you're in famous company (...although we do have 2
> millenia of combined knowledge on him now).

I'm going to tell a story now, and as the story progresses, you'll find that
there are indeed images of objects, because the state of the universe at the
beginning of the story is not the state of the universe at the end of the
story.

A child was born in New York City on January 15, 1964 to Robert and Mary
Smith.  The child was named John for Robert's grandfather, though they
considered naming him Michael for Mary's grandfather.  The happy couple
imagined how their son would grow up to be a doctor or a lawyer-- how he
would marry and have children of his own.  Little did they know that he
would die in an automobile accident before he reached his eigth birthday.

At the beginning of the story, John hasn't been born yet.  There is no child
object, although the possibility exists that a child will be born.
Immediately after he his born, the child has yet to be named.  While the
story says that he was named John, at this point in time the child might
just as easily be named Michael for Mary's grandfather instead.  So while
the possibility exists that the child will be named John, an equal
possibility exists for the child to be named Michael.  Now there are two
pictures of the universe, the first before the child was born, the second
after the child was born but before the child is named.  After John is named
and a third picture emerges, his parents imagine several futures for him:
one where he is a doctor; one where he is a lawyer; one where he has
children of his own.  But the tragic picture of the universe at the end
denies those futures, and eliminates those possibilities.  Clearly the
picture of the universe that depicts John dead in an automobile accident
contains an image of John that differs not only from the image at his naming
but also from the images imagined by his parents--even though the child
object appears in each of those pictures.

>> but not necessarily in every picture of the
>> universe.
[quoted text clipped - 14 lines]
> A symbol is already defined as "something used for or regarded as
> representing something else".

Yet symbols are not values.

>> > * to tell someone to enter a value into a spreadsheet cell becomes a
>> > nonsense.
[quoted text clipped - 18 lines]
> equally don't need some curveball redefinition of "value" by which to
> refer to them.

It is not an imaginary concept.  A proposition paints a picture of the world
(under an interpretation, of course).  The elements of that picture are
images or projections of what is in the world.  Values.

>> A proposition is
>> just a collection of symbols combined according to some grammar that can
[quoted text clipped - 14 lines]
> consider the output of a mathematical function. It is unarguably a
> value whether it is interpreted or not.

I didn't just make this up.  Codd equated "datum" with "atomic value."
Isn't data just information in a form that can be transmitted digitally?
Information is what is being conveyed during transmission: it is what the
transmission /means/.

The output of a mathematical function is a member of a set.  That set--the
range of the function--is the universe with respect to that function.  But
that universe is constant--there can only ever be one picture of that
universe, so in the picture of that universe under /any/ interpretation, the
value /is/ the object.
David BL - 23 Jul 2008 10:03 GMT
> > A symbol is already defined as "something used for or regarded as
> > representing something else".
>
> Yet symbols are not values.

When one says false is a value, one is referring to the abstract
boolean value of false.  When one says false is a symbol one is
referring to its use as an identifier within a sentence.  Both usages
are common.

Only sentences contain symbols and conversely sentences only contain
symbols (ie not the values that they represent).  However within a
sentence we normally interpret a symbol as standing for the value it
is deemed to represent and not the symbol itself.

In the RM formalism, relations are defined as abstract sets of tuples,
and tuples are formalised as mappings from attribute names to
attribute values.  Relations are not sentences on some grammar and
therefore are not composed from symbols.

In a database encoding there is only a single defined interpretation
of the encoded attributes as values in the RM formalism.  Therefore
there is no distinction between symbol and value that can be made.
For example the integer value 42 may be represented using a little
endian encoding in memory where we ultimately need to know how to
interpret voltage levels, address lines, data lines and so on.  Even
though an underlying binary representation can be seen as a symbol
composed of 1’s and 0’s in some language it is as irrelevant an
implementation detail as the choice of voltage level or address line
conventions to the RM formalism.
Brian Selzer - 24 Jul 2008 03:56 GMT
> > > A symbol is already defined as "something used for or regarded as
> > > representing something else".
[quoted text clipped - 15 lines]
> attribute values.  Relations are not sentences on some grammar and
> therefore are not composed from symbols.

Relation schemata /are/ sentences.

> In a database encoding there is only a single defined interpretation
> of the encoded attributes as values in the RM formalism.  Therefore
> there is no distinction between symbol and value that can be made.

I don't agree.  Under the domain closure, unique name and closed world
assumptions, a database is a proposition that is supposed to be true.  How
the database is physically implemented is irrelevant.

> For example the integer value 42 may be represented using a little
> endian encoding in memory where we ultimately need to know how to
[quoted text clipped - 3 lines]
> implementation detail as the choice of voltage level or address line
> conventions to the RM formalism.

What I'm saying is that absent interpretation, 42 is not a value--regardless
of how it is encoded in the machine.  Axioms are not just /assumed/ to be
true, they are /accepted/ or /understood/ as being true.  That is a critical
distinction because acceptance and understanding both imply either that
there is a particular intended interpretation and that under that
interpretation the axioms are true, or that there is at least one
interpretation and that under any and every interpretation the axioms are
true.  So it is only because the axioms that underpin arithmetic are
accepted as being true that 42 can appear as an integer in the universe; it
is only because those axioms have been assigned a truth value that 42 can be
a value.
David BL - 24 Jul 2008 06:50 GMT
> > > > A symbol is already defined as "something used for or regarded as
> > > > representing something else".
[quoted text clipped - 17 lines]
>
> Relation schemata /are/ sentences.

By relation schemata I assume you are referring to relation types.  In
the above my usage of “relation” means a relation value not a relation
type.  In any case I wouldn’t think any formalism of a relation type
would consider it to be a sentence over some grammar.  Type systems
ofen formalise a type as a tuple in the manner of an abstract
algebra.  Eg (G,+) for a group with a binary + operator.

Do you agree there is an important distinction between a mathematical
expression and the value it may be deemed to represent?  Presumably
you do since you say that symbols are not values.   So why would you
expect composite values (like relation values) to be composed from
symbols rather than nested values?

> > In a database encoding there is only a single defined interpretation
> > of the encoded attributes as values in the RM formalism.  Therefore
[quoted text clipped - 14 lines]
> What I'm saying is that absent interpretation, 42 is not a value--regardless
> of how it is encoded in the machine.

Well you don’t seem to be saying much at all then!  When you say 42 is
not a value you must simply be referring to it as a symbol within the
context of your containing sentence.  So what?

> Axioms are not just /assumed/ to be
> true, they are /accepted/ or /understood/ as being true.  That is a critical
[quoted text clipped - 6 lines]
> is only because those axioms have been assigned a truth value that 42 can be
> a value.

I can’t make any sense of this “critical distinction” or how it is
relevant.
David BL - 24 Jul 2008 09:45 GMT
> > In a database encoding there is only a single defined interpretation
> > of the encoded attributes as values in the RM formalism.  Therefore
[quoted text clipped - 3 lines]
> assumptions, a database is a proposition that is supposed to be true.  How
> the database is physically implemented is irrelevant.

A relation is formally defined as a set of tuples.  Nothing more!
Brian Selzer - 24 Jul 2008 14:25 GMT
>> > In a database encoding there is only a single defined interpretation
>> > of the encoded attributes as values in the RM formalism.  Therefore
[quoted text clipped - 6 lines]
>
> A relation is formally defined as a set of tuples.  Nothing more!

There are several definitions, but that is neither here nor there.
Relations were chosen because they look and behave a lot like the extensions
of first order predicates.  Of course the extension of a predicate includes
both positive and negative formulae, but the closed world assumption enables
the elimination of the negative formulae.
David BL - 24 Jul 2008 15:54 GMT
> >> > In a database encoding there is only a single defined interpretation
> >> > of the encoded attributes as values in the RM formalism.  Therefore
[quoted text clipped - 12 lines]
> both positive and negative formulae, but the closed world assumption enables
> the elimination of the negative formulae.

Well I'm not sure what the CWA actually means...

Does the CWA merely relate to the trivial association between a
relation (formalised as a set of tuples) and its internal predicate
(which is just the relation's boolean-valued characteristic
function).

See http://en.wikipedia.org/wiki/Indicator_function

Alternatively does the CWA relate to an assumed association between a
relation and an external predicate?  If it is the latter then the CWA
is clearly outside the RM formalism.
Brian Selzer - 25 Jul 2008 03:57 GMT
>> >> > In a database encoding there is only a single defined interpretation
>> >> > of the encoded attributes as values in the RM formalism.  Therefore
[quoted text clipped - 17 lines]
>
> Well I'm not sure what the CWA actually means...

The way I understand it, CWA is simply:

If there ain't no row, then it ain't so.

What that means is if there is a tuple that conforms to a relation's schema,
but isn't in the relation, then the formula that the tuple embodies is
false.  For example, if you have a domain of players,

Players {Bill, Bob, Joe, John, Mike, George, Raymond, Brian, Mark, Frank}

and a relation for the property of being on the team,

OnTheTeam {{Joe}, {John}, {Mike}, {Raymond}, {Mark}}

Then due to the closed world assumption we can infer that neither

Bill, Bob, George, Brian nor Frank are on the team.

The first order sentence,

Exists x in Players OnTheTeam(x)
extends to the disjunction

OnTheTeam(Bill)  \/
OnTheTeam(Bob) \/
OnTheTeam(Joe) \/
OnTheTeam(John) \/
OnTheTeam(Mike) \/
OnTheTeam(George) \/
OnTheTeam(Raymond) \/
OnTheTeam(Brian) \/
OnTheTeam(Mark) \/
OnTheTeam(Frank)

where

OnTheTeam(Joe)
OnTheTeam(John)
OnTheTeam(Mike)
OnTheTeam(Raymond)
OnTheTeam(Mark)

each evaluates to true, and

OnTheTeam(Bill)
OnTheTeam(Bob)
OnTheTeam(George)
OnTheTeam(Brian)
OnTheTeam(Frank)

each evaluates to false.

> Does the CWA merely relate to the trivial association between a
> relation (formalised as a set of tuples) and its internal predicate
[quoted text clipped - 6 lines]
> relation and an external predicate?  If it is the latter then the CWA
> is clearly outside the RM formalism.
David BL - 28 Jul 2008 02:21 GMT
> >> "David BL" <davi...@iinet.net.au> wrote in message
>
[quoted text clipped - 73 lines]
>
> each evaluates to false.

Given relation r, let X(r) be the boolean valued characteristic
function of r.

Consider the following definitions

1.  OnTheTeam_r :  the relation value recorded by the DB
2.  OnTheTeam_i :  the internal predicate recorded by the DB
3.  OnTheTeam_e : the external predicate meant to represent reality

Is CWA associated with saying:

a)  OnTheTeam_i = X(OnTheTeam_r)  or
b)  OnTheTeam_i = OnTheTeam_e?

You appear to suggest CWA implies both a) and b).  Is that right?
Brian Selzer - 31 Jul 2008 03:01 GMT
>> >> "David BL" <davi...@iinet.net.au> wrote in message
>>
[quoted text clipped - 98 lines]
>
> You appear to suggest CWA implies both a) and b).  Is that right?

The closed world assumption involves what can be proved rather than what
something means; an external predicate involves what something means;
therefore, the closed world assumption is not associated with saying b).  On
the other hand, it is associated with saying:

c) OnTheTeam_i --> OnTheTeam_e

since whenever ~OnTheTeam_e, ~OnTheTeam_i.
David BL - 31 Jul 2008 04:43 GMT
> "David BL" <davi...@iinet.net.au> wrote in message

> > Given relation r, let X(r) be the boolean valued characteristic
> > function of r.
[quoted text clipped - 20 lines]
>
> since whenever ~OnTheTeam_e, ~OnTheTeam_i.

I think you have that arse about.  c) is assumed under OWA or CWA.
If anything the CWA means that a missing tuple in the DB implies the
negation of the proposition in reality.

Also, you say CWA is concerned with what can be proved, and therefore
isn’t related to an external predicate (because it is informal) and
yet c) refers to an external predicate.
Brian Selzer - 31 Jul 2008 12:53 GMT
> > "David BL" <davi...@iinet.net.au> wrote in message
>
[quoted text clipped - 25 lines]
>
> I think you have that arse about.  c) is assumed under OWA or CWA.

You're right.  I got it backwards:

OnTheTeam_e --> OnTheTeam_i
since whenever ~OnTheTeam_i, ~OnTheTeam_e

And when combined with

OnTheTeam_i --> OnTheTeam_e

becomes

OnTheTeam_i iff OnTheTeam_e

Which is not the case under the OWA.

> If anything the CWA means that a missing tuple in the DB implies the
> negation of the proposition in reality.

Since a database is a proposition under the closed world, domain closure and
unique name assumptions, I prefer to refer to what a tuple corresponds to as
a formula instead of a proposition, since it is just a small part of the
whole.

> Also, you say CWA is concerned with what can be proved, and therefore
> isn’t related to an external predicate (because it is informal) and
> yet c) refers to an external predicate.

The CWA does indeed involve what can be proved instead of what something
means, but that doesn't mean that it isn't related to the external
predicate.  The internal predicate is related to the external predicate, and
the CWA is related to the internal predicate; therefore the CWA is related
to the external predicate.  While the internal predicate is related to the
external predicate, that doesn't mean that they are identical as is stated
in b).  '=' and 'iff' are different relations.
David BL - 31 Jul 2008 14:46 GMT
> > > "David BL" <davi...@iinet.net.au> wrote in message
>
[quoted text clipped - 60 lines]
> external predicate, that doesn't mean that they are identical as is stated
> in b).  '=' and 'iff' are different relations.

In what sense do you say '=' and 'iff' are different when comparing a
pair of boolean valued functions?   Two functions are equal when they
have the same domain and each element of the domain maps to the same
value.  That seems equivalent to 'iff' where all the domain variables
are free and by convention would be universally quantified over their
domains.

I like to think that a database relvar can be understood as an
encoding of a relation value (or equivalently an internal predicate
which is simply the boolean valued characteristic function) according
to the RM formalism, irrespective of whether or not there exists any
corresponding external predicate.  The latter is informal and
completely outside the formalism.

I think of a) and b) as quite independent options.  Therefore it still
begs the question of whether the CWA is associated with a) or b).
You seem closer to a).
Brian Selzer - 01 Aug 2008 15:14 GMT
> > > > "David BL" <davi...@iinet.net.au> wrote in message
> >
[quoted text clipped - 77 lines]
> are free and by convention would be universally quantified over their
> domains.

Are you equating the domains of the internal predicate with those of the
external predicate?

> I like to think that a database relvar can be understood as an
> encoding of a relation value (or equivalently an internal predicate
> which is simply the boolean valued characteristic function) according
> to the RM formalism, irrespective of whether or not there exists any
> corresponding external predicate.  The latter is informal and
> completely outside the formalism.

A relvar is a container.  A relvar is analogous to a relation schema.  A
relation is a value that can be contained within a relvar or conforms to a
relation schema.  How can a container encode that which might be contained
within it?

> I think of a) and b) as quite independent options.  Therefore it still
> begs the question of whether the CWA is associated with a) or b).
> You seem closer to a).
David BL - 02 Aug 2008 02:35 GMT
> > > "David BL" <davi...@iinet.net.au> wrote in message
>
[quoted text clipped - 84 lines]
> Are you equating the domains of the internal predicate with those of the
> external predicate?

Yes

> > I like to think that a database relvar can be understood as an
> > encoding of a relation value (or equivalently an internal predicate
[quoted text clipped - 7 lines]
> relation schema.  How can a container encode that which might be contained
> within it?

I agree that a variable is nothing more than a container for holding a
value.  A variable normally exists in time and space, and a value is
"encoded" (ie represented) in order for a variable