# Re: teaching relational basics to people, questions

From: Kevin Kirkpatrick <kvnkrkptrck_at_gmail.com>
Date: Fri, 11 Dec 2009 13:29:26 -0800 (PST)

On Dec 10, 8:12 pm, "Mr. Scott" <do_not_re..._at_noone.com> wrote:
> <com..._at_hotmail.com> wrote in message
>
>
>
>
>
>
> > 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 -

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

Original text of this message