Re: Proposal: 6NF
Date: 23 Oct 2006 09:21:32 -0700
Message-ID: <1161620492.649735.172300_at_h48g2000cwc.googlegroups.com>
Keith H Duggar wrote:
> vc wrote:
> > Marshall wrote:
> > > I do not recall learning anything in secondary school
> > > which would suggest 2 and 2.0 were numerically different
> > > in any way. Nor can I think of any *arithmetic* way to
> > > distinguish between 2 and 2.0.
> >
> > You have to construct all the real numbers and prove that
> > 2 is an element of the set.
>
> Any mathematical number construct that fails to equate 2.0
> and 2, fails to model our most basic common sense or
> "elemntary school" concept of the number 2.
As Arturo Magidin put it, they are equated by "abuse of notation": http://groups.google.com/group/sci.math/browse_frm/thread/278403fc6b797673/e8cc6311336e345a?lnk=st&q=&rnum=6&hl=en#e8cc6311336e345a
Translating it into programming his simplest case, natural numbers and integers, there are at least 5(!) classes involved:
abstract class ANaturalNumber {
abstract ANaturalNumber plus( ANaturalNumber arg2 ); abstract boolean equals( ANaturalNumber arg2 );}
class NaiveNaturalNumber extends ANaturalNumber (
int n; // assert(n>=0)
... // implementation of the plus and equals methods
);
abstract class AnInteger extends ANaturalNumber? {
abstract ANaturalNumber minus( ANaturalNumber arg2 ); }
class Integer extends AnInteger (
ANaturalNumber n;
ANaturalNumber m;
// ... methods
boolean equals( AnInteger arg2 ) {
return n+arg2.m == m + arg2.n; // where '+' and '==' // arethe plus() and equals() methods called
}
}
class AnotherNaturalNumber extends AnInteger (
ANaturalNumber n;
ANaturalNumber m;
NaiveNaturalNumber castToNaiveNatural() {
return n-m???;
}
// what about the minus method ?????
}
Received on Mon Oct 23 2006 - 18:21:32 CEST