Database Forum / General DB Topics / DB Theory / August 2008
Guessing?
|
|
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
|
|