# Re: Proposal: 6NF

Date: 19 Oct 2006 05:55:08 -0700

Message-ID: <1161262508.205808.208850_at_i3g2000cwc.googlegroups.com>

vc wrote:

*> Jan Hidders wrote:
*

> [...]

*>
**> A much simpler example. Let {0, 1, 2, 3} be a set of four integers
**> with addition modulo 4. Then, none of its subsets, except {0} and
**> {0, 2}, retains the addition mod 4 operation which makes the idea of
**> 'subtype as subset' utterly silly, [....].
*

> Also, the OOP hypothetical programmer would expect that a subtype

*> would have, informally speaking, *more*
**> properties/operations/'methods', not less: the basic class properties
**> plus some new ones. So at the intuitive level with typical languages
**> like Java, 'subtype as subset' does not make much sense either, at
**> least with respect to even the simplest mathematical objects.
*

No, also from that perspective it works correctly. The superclass A would contain objects that understand the message plusMod4 with an argument that is in class A and return a result in class A. The objects in the subclass B would also understand this message with an argument in class A and return a result in class A. So there is no problem with defining the extensions of class B such that it is a subset of class A.

So, again, no problem whatsoever.

- Jan Hidders