Re: Proposal: 6NF

From: vc <boston103_at_hotmail.com>
Date: 20 Oct 2006 03:12:11 -0700
Message-ID: <1161339131.481835.171400_at_e3g2000cwe.googlegroups.com>


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 '+'.

>
> 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 - 12:12:11 CEST

Original text of this message