# Re: teaching relational basics to people, questions

Date: Fri, 11 Dec 2009 13:29:26 -0800 (PST)

Message-ID: <4be6ab47-e654-4925-b712-8e72ccb84394_at_g12g2000yqa.googlegroups.com>

On Dec 10, 8:12 pm, "Mr. Scott" <do_not_re..._at_noone.com> wrote:

> <com..._at_hotmail.com> wrote in message

*>
**> news:35bb0b6c-af79-4c41-beb1-34fe00e81643_at_y32g2000prd.googlegroups.com...
**>
**>
**>
**>
**>
**> > On Nov 29, 12:31 am, "Mr. Scott" <do_not_re..._at_noone.com> wrote:
**> >> I am going to revisit the example I posted for paul.
**>
**> > Thank you for giving an example. Especially when my stated intent is
**> > to show you misunderstand something.
**>
**> > Your explanation is still unclear.
**>
**> > The user looks at the world and the relation variable's predicate(s)
**> > and combines them to determine what rows to put in and what rows to
**> > leave out. Similarly, they look at the rows present and absent in a
**> > relation variable and combine them with the predicate(s) to produce
**> > statements about the world. Please tell me what the designer gives
**> > with a relation variable (a predicate, or set of predicates?) and the
**> > correspondence between an overall proposition about the world and the
**> > rows in and the rows not in that variable (now and/or previously).
**>
**> >> CTRS {COURSE, TEACHER, ROOM, STUDENT},
**>
**> >> each row states that a particular COURSE is taught by a particular
**> >> TEACHER
**> >> in a particular ROOM to a particular STUDENT.
**>
**> >> one effectively asserts
**> >> that 'there is a course <COURSE>,'
**> >> that 'there is a teacher <TEACHER>,'
**> >> [...]
**>
**> > The designer gives a relation variable. It's not clear what else you
**> > claim they give. A single predicate per variable? A set of predicates
**> > per variable? Do you mean that (some function of) this list is a
**> > clarification of the preceding (parameterized) statement? If so,
**> > exactly what predicate does the user form from the list that is
**> > supposed to be equivalent to the statement? Or do you mean that the
**> > designer specifies the statement and you think the list is derivable
**> > from the statement by the system?
**>
**> > I can't tell when you write "when one inserts a row" or "inserting a
**> > single row", whether you just mean mean "when a given row is in a
**> > relation". Or whether by "inserting a single row" or "deletes that
**> > only row" you specifically mean the old value of a relation variable
**> > is also involved in mapping to instantiated predicates.
**>
**> >> Either all of the atomic formulas
**> >> represented by the row are true, or none of them are. That is consistent
**> >> with the logical connective between those formulas being IFF rather than
**> >> AND.
**>
**> > First you write "one effectively asserts" the things in the list
**> > (whatever "effectively" means); asserting a number of things is the
**> > same as asserting their conjunction. But then you write "the logical
**> > connective between those formulas being IFF", so I guess you mean the
**> > IFF of the things in the list is asserted. So you're not being clear.
**>
**> > And no, it's not consistent with the logical connective between those
**> > formulas being IFF. For example, although
**> > a1 IFF a2 IFF a3
**> > is true when all ai are true and it is false when all ai are false, it
**> > is also true when a1 and a2 are false and a3 is true. So the above
**> > expression does not assert that they're all true or all false.
**>
**> Thank you for pointing that out. I really wasn't very clear. By
**> interdependent I mean that the connective between any two atomic formulas
**> (atoms) is a biconditional, not that the only connectives are
**> biconditionals, so for three atoms, it's not
**>
**> a1 iff a2 iff a3,
**>
**> but rather,
**>
**> (a1 iff a2) and (a1 iff a3) and (a2 iff a3)
**>
**> which is true whenever all ai are true or all ai are false and false
**> otherwise.
**>
**> For four atoms, it's not
**>
**> a1 iff a2 iff a3 iff a4,
**>
**> but rather,
**>
**> (a1 iff a2) and (a1 iff a3) and (a1 iff a4) and
**> (a2 iff a3) and (a2 iff a4) and (a3 iff a4)
**>
**> which is true whenever all ai are true or all ai are false and false
**> otherwise.
**>
**>
**>
**>
**>
**> > For
**> > that you would want something like
**> > (a1 AND a2 AND a3) OR ((NOT A1) AND (NOT a2) AND (NOT a3))
**> > ie (NOT (a1 OR a2 OR a3)) OR (a1 AND a2 AND a3)
**> > ie (a1 OR a2 OR a3) IMPLIES (a1 AND a2 AND a3)
**> > ie the whole thing is true when all are false or all are true but it's
**> > false when there's a mix. (Not that I think you ever want the ai all
**> > individually false.)
**>
**> > On the other hand I can imagine that you are thinking that for each
**> > syntactically valid row it is in the relation iff all the
**> > corresponding instantiated assertions in the list are true. But that's
**> > not what you have said. (In fact you've said "all of the atomic
**> > formulas represented by the row are true, or none of them are".) And
**> > anyway that's not a relation's statement about the world; it is a
**> > statement about how the value of a relation variable maps to its
**> > statement about the world.
**>
**> Constraints specify what can be represented in a table. They don't say
**> anything about what actually is the case other than that it can be the case.
**> What actually is the case is a matter of interpretation.
**>
**>
**>
**>
**>
**>
**>
**> >> If
**> >> The information content of a table
**> >> is the logical sum (disjunction) of the information represented by each
**> >> row.
**>
**> > This is clearer, but as I said I can't figure out what you think is
**> > asserted by a row in the table (or by a row not in 'the table) to be
**> > ORed together. (Note that it makes sense to OR together equalities
**> > like COURSE='Math' as the characteristic predicate of a set, but to
**> > AND together things like "there is a course 'Math'" as a statement or
**> > assertion about the world.) But I also don't know whether you mean
**> > this applies to all relation variable values, or only the values of
**> > ones that that are empty, or just became empty or nonempty, or didn't,
**> > or what.
**>
**> Consider a typical row for CTRS,
**>
**> {COURSE:Physics, TEACHER:Brown, ROOM:145, STUDENT:Jones}
**>
**> This row doesn't "state" anything. That it is in the table is evidence that
**> someone with authority asserted as fact that Brown teaches Jones Physics in
**> room 145, and that it is still in the table is evidence that noone with
**> authority has since denied it. It is reasonable, therefore, to treat as
**> fact that Brown teaches Jones Physics in room 145. From this fact a number
**> (14 to be exact) of other facts can be inferred. That's 15 distinct facts
**> in total represented by a single row. Each row of CTRS isn't just a single
**> fact, but a family of interdependent facts. Brown can't teach Jones Physics
**> in room 145 if he doesn't teach Physics or if there is no room 145, and
**> under the assumptions that CTRS is the only table in the database and that
**> there is only a single row that mentions Physics, Brown, 145 or Jones, there
**> can't be a student called Jones unless he is being taught Physics by Brown
**> in room 145. The addition of a second row, for example,
**>
**> {COURSE:Calculus, TEACHER:Green, ROOM:154, STUDENT:Jones},
**>
**> weakens that condition so that there can't be a student called Jones unless
**> he is being taught Physics by Brown in room 145 or he is being taught
**> Calculus by Green in room 154. The addition of a separate table, S
**> {STUDENT}, for example, also weakens the condition because then there could
**> be a student called Jones even if he isn't taking any courses from any
**> teachers in any rooms. It doesn't change the form of the assertion
**> represented by each row, though, where the logical connective between any
**> two atoms is IFF, yielding a non-atomic formula, but the logical connective
**> between any two of those formulas is AND.
**>
**> The logical connective that separates the facts represented by one row from
**> the facts represented by another is OR (unless there is a self-referencing
**> inclusion dependency), as is the logical connective that separates the facts
**> represented in one table from the facts represented in another (unless there
**> is an inclusion dependency).
**>
**>
**>
**> > So please start out with what the designer gives, then tell me clearly
**> > how to form the proposition is that is "the information represented by
**> > each row" that is syntactically valid, then what the proposition is
**> > that is "the information content of a table". And whether it depends
**> > on the old state as well as the new. And tell me whether I am using
**> > that predicate as a statement about the world or as the characteristic
**> > predicate of some set. In other words, be clear. Then I can discuss
**> > your approach (ie show it doesn't do what you think it does).
**>
**> > It's also pointless for me to address your justifications for
**> > individual steps if I don't understand the overall process.
**>
**> > philip- Hide quoted text -
**>
**> - Show quoted text -- Hide quoted text -
**>
**> - Show quoted text -- Hide quoted text -
**>
**> - Show quoted text -- Hide quoted text -
**>
**> - Show quoted text -
*

If I'm understanding your explanation properly, in a database with only table:

**BIG_US_CITIES {CITY_NAME, STATE_CODE}
**
(that is, lacking table STATES {STATE_CODE}) one must logically infer,
from the CWA, that states with no big cities, e.g. 'RI', do not exist?
Received on Fri Dec 11 2009 - 22:29:26 CET