> But yes as I said, multiple roles does break the guaranteed access
> rule. My question is now (in the continuuing hunt for the theory
> behind 1NF) is why on earth would that be a problem? I don't see any
> affect on the relational algebra.

He pointed out that such a restriction did not thereby reduce the
expressiveness to the system, in that for every unnormalized schema, there
existed an equivalent normalized schema. "normalized" in the 1970 paper is
called 1NF in later writings, once further normal forms were discovered.

There is one other piece of the 1NF definition in the 1970 paper, the "no
duplicates rule". The no duplicates rule has to do with the representation
of a relation, and not with a relation itself. Codd imagined (correctly)
that the first relational database systems would use records to represent
tuples and (virtual) arrays of records to represent relations. In a
relation, there is no such thing as "a tuple appearing twice". However, in
an array of records, there is such a thing as two of the records having
identical contents. Codd ruled that out as a practical stop gap, in order
to prevent the implementations from diverging from the properties of
mathematical relations in an unnecessary and harmful way. This is my
reading of the 1970 paper, in regard to 1NF theory.

Notice that my focus has been entirely on the implementation, and not on
the relational algebra itself. With regard to the relational algebra
itself, I believe your understanding is correct.

So what the heck are implementation oriented issues doing in the 1970 paper?
I believe Codd wanted to get across two main ideas: building a system for
relational databases would be a good idea. And building such a system was
also feasable. It's for this second reason that I believe Codd added some
material that is primarily about implementation, rather than about the power