# Re: Proposal: 6NF

Date: 20 Oct 2006 04:14:22 -0700

Message-ID: <1161342862.510950.20260_at_k70g2000cwa.googlegroups.com>

On Oct 20, 11:12 am, "vc" <boston..._at_hotmail.com> wrote:

*> Marshall wrote:
*

> > On Oct 19, 8:40 pm, "vc" <boston..._at_hotmail.com> wrote:

*> > > Marshall wrote:
**>
**> > > > > "return new ModFour((val+a.val)%4)" is called a bug or cheating
**> > > > > because you used a function defined on the entire domain NxN (where N
**> > > > > is a subset of the natural numbers implemented by the computer) to
**> > > > > generate a result which is undefined for the (2,3) pair.
**>
**> > > > It's not a bug, since the program produces the correct result, which is
**> > > > 1. It's not "cheating" because WTF does cheating even mean in
**> > > > this context. What it is, is the absence of closure over the subclass.
**> > > > Which is no big deal.
**>
**> > > So producing an absurd result is no big deal ? You seem to have agreed
**> > > that in the {2,3} subset there is no '1', how come your java
**> > > implementation manages to extract '1' out of nowhere ?
**>
**> > Consider the below function:
**>
**> > Let S4 = {0, 1, 2, 3}
**> > Let S23 = {2, 3}
**> > f : S23, S23 -> S4
**> The binary operation over S23 is g:S23:S23 -> S23, your f does not
**> qualify. aAcommon example is '+'.
*

In term's of the pure definition of 'operation' as opposed to 'function' i think you may be correct.

*>
**>
**>
*

> > f(2,2) = 0

*> > f(2,3) = 1
**> > f(3,2) = 1
**> > f(3,3) = 2
**>
**> > Your claim is what, exactly? That this is not a function? That
**> > it doesn't exist? That it's cheating? That it's invalidly defined
**> > because the result type is not the same as the types of
**> > both parameters?It's not a binary opeartion that we've been talking about all along.
**> Did you read the reference I gave earlier or not ?
**>
**>
**>
**>
**>
**> > > > > At thispoint, it may be useful to recall what a function is and
**> > > > > apply the memory, if any, to the addMod4 operation.
**>
**> > > > Indeed. A function is a mapping from one set to another.
**> > > > In this case, the domain is pairs of values from {0,1,2,3}
**> > > > and the range is that same set. This particular
**> > > > function qualifies as a binary function, and also
**> > > > exhibits closure over the set {0,1,2,3}. Since {2,3} is a
**> > > > subset of {0,1,2,3}, the function is fully defined over
**> > > > that subset. However, since that function is not closed
**>
**> > > How can it be 'fully defined' over {2,3} and 'not closed' at the same
**> > > time ? What does (2,3) map to ? If you say to one, then you
**> > > exctract '1' out of nowhere again.
**>
**> > I don't understand this "out of nowhere" business. It's just
**> > a plain, regular number one. Nothing could be simpler.Where is '1' in {2,3} ?
**>
**>
**>
**>
**>
**> > > > > > The *only* trouble anywhere in here is if you want to
**> > > > > > have methods which are mutator methods; that is,
**> > > > > > methods which modify the distinguished object in place.
**> > > > > > And yes, in that case, closure is an issue. I have not
**> > > > > > seen any math books that give functions the same
**> > > > > > semantics as inherited OOPL mutator methods however.
**>
**> > > > I note you did not respond to this important paragraph. Yes,
**> > > > in OOPLs, there is a problem with closure, subtyping,
**> > > > and mutator methods. Outside of OOPLs (in math, that
**> > > > is) this problem does not apply.
**>
**> > > We may tackle those issues later after we come to some agreement re.
**> > > the trivial stuff like functions and binary operations.
**>
**> > Okay. What is your definition of a function, then, and how
**> > does my f above stack up with regards to your
**> > definition?Your 'f' has nothing to do with the whole discussion of 'inheriting' a
**> binary operation from a type.
**>
**>
**>
**>
**>
**> > > > > > Also, I found this equation in a math book on page 3:
**>
**> > > > > > P ⊆ N ⊆ Z ⊆ Q ⊆ R
**>
**> > > > > The equation looks like a random collection of characters. What do
**> > > > > you suppose it means ?
**>
**> > > > I suppose your browser doesn't have the necessary font.
**>
**> > > > In prose, it means:
**>
**> > > > The set of positive integers is a subset of the set of nonnegative
**> > > > integers which is a subset of the integers which is a subset
**> > > > of the rationals which is a subset of the reals.
**>
**> > > That's truly a trivial observation which is not strictly speaking
**> > > correct (see the earlier discussion re. real construction).
**>
**> > Wait, you're saying it's both trivial *and* incorrect? Earlier
**> > I recall you suggesting various people consult math books
**> > for such questions; I did consult one and it was quite clear
**> > on the question: every integer is also a real.I guess you need another book because integers as commonly constructed
**> are not a subset of reals but rather are isomorphic to some subset of
**> reals. In cases when the subtlety is unimportant, one can say that
**> the integers are a subset of real, we discussed that before.
**>
**>
**>
**> > Marshall
*

Received on Fri Oct 20 2006 - 13:14:22 CEST