From: S Perryman on
raould wrote:

>>On Apr 12, 12:20 pm, "Dmitry A. Kazakov" <mail...(a)dmitry-kazakov.de>
>>wrote:

>>>From a mathematical point of view it is a fruitless approach, just because
>>>reasoning from data is necessarily limited by the computational power etc.
>>>OO tells, OK we won't even try, it is irrelevant what is inside, so long
>>>the behavior is fine. Integer is something you can sum, subtract, multiply,
>>>divide etc. If you can do this you have an integer. The behavior
>>>exhaustively defines the thing.

> tho, there is more to it since you can sum, subtract, multiply, divide
> etc. not just integers.

Nothing more at all.
It merely means the same concepts are applicable to other entities.

More significantly, those other entities (complex numbers, matrices etc)
*define different behaviour* for the same concepts.

So behaviour is the key part of defining entities.


Regards,
Steven Perryman
From: raould on
> More significantly, those other entities (complex numbers, matrices etc)
> *define different behaviour* for the same concepts.

while i agree that behaviour is important, i think that to distinguish
between integer division and floating-point division you have to start
to talk about the data itself. especially so for floating-point vs.
actual mathematical reals. it might help me a lot to work through a
concrete example. would you be able and so kind as to flesh out what
you have in mind for the behaviour spec for division for integers vs.
floating point vs. reals?

sincerely.
From: Dmitry A. Kazakov on
On Tue, 13 Apr 2010 14:18:15 -0700 (PDT), raould wrote:

>> More significantly, those other entities (complex numbers, matrices etc)
>> *define different behaviour* for the same concepts.
>
> while i agree that behaviour is important, i think that to distinguish
> between integer division and floating-point division you have to start
> to talk about the data itself. especially so for floating-point vs.
> actual mathematical reals. it might help me a lot to work through a
> concrete example. would you be able and so kind as to flesh out what
> you have in mind for the behaviour spec for division for integers vs.
> floating point vs. reals?

Behavior is more than existence of an operation named /. It also includes
propositions like:

forall x in R, y/=0 in R exists z in R such that z=x/y and z*y=x.

Integer division lacks this property and thus its behavior is different. A
mathematician would talk about different structures e.g. groups, lattices,
rings, fields. Elements of these structures have different behavior.
Internals of the elements, which would be an equivalent of "data", is not
even considered, it is uninteresting. Because whatever method you use to
construct integers, their behavior remains same. Otherwise, it is not
integers.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
From: S Perryman on
Dmitry A. Kazakov wrote:

> On Tue, 13 Apr 2010 14:18:15 -0700 (PDT), raould wrote:

>>while i agree that behaviour is important, i think that to distinguish
>>between integer division and floating-point division you have to start
>>to talk about the data itself. especially so for floating-point vs.
>>actual mathematical reals. it might help me a lot to work through a
>>concrete example. would you be able and so kind as to flesh out what
>>you have in mind for the behaviour spec for division for integers vs.
>>floating point vs. reals?

> Behavior is more than existence of an operation named /. It also includes
> propositions like:

> forall x in R, y/=0 in R exists z in R such that z=x/y and z*y=x.

> Integer division lacks this property and thus its behavior is different.

Indeed.


> A mathematician would talk about different structures e.g. groups, lattices,
> rings, fields. Elements of these structures have different behavior.
> Internals of the elements, which would be an equivalent of "data", is not
> even considered, it is uninteresting.

Actually, there is a "data" aspect that is abstract.
An integer is a sign, and a sequence of digits.

A real is also the above, but with an 'index' that denotes the start of the
suffix of the sequence that is the fractional part.

So -12345 is the abstraction ( - , [ 5, 4, 3, 2, 1] ) .
And -123.45 is the abstraction ( - , [5, 4, 3, 2, 1 ] , 2) .

All this means is that I can produce values (create instances of the
abstraction) of integers and reals. But nothing more (useful) .


Regards,
Steven Perryman
From: Dmitry A. Kazakov on
On Wed, 14 Apr 2010 10:31:35 +0100, S Perryman wrote:

> Dmitry A. Kazakov wrote:
>
>> On Tue, 13 Apr 2010 14:18:15 -0700 (PDT), raould wrote:
>
>> A mathematician would talk about different structures e.g. groups, lattices,
>> rings, fields. Elements of these structures have different behavior.
>> Internals of the elements, which would be an equivalent of "data", is not
>> even considered, it is uninteresting.
>
> Actually, there is a "data" aspect that is abstract.
> An integer is a sign, and a sequence of digits.

Yes, it is a part of integer behavior that a unique finite sequence of
decimal digits can be obtained from an integer.

Another frequently used sequence is the sequence of sets:

0 = �
1 = {�}
2 = {{�}}
3 = {{{�}}}

etc.

> A real is also the above, but with an 'index' that denotes the start of the
> suffix of the sequence that is the fractional part.
>
> So -12345 is the abstraction ( - , [ 5, 4, 3, 2, 1] ) .
> And -123.45 is the abstraction ( - , [5, 4, 3, 2, 1 ] , 2) .

Another difference is that the sequence can be infinite + not unique, e.g.
1 = 1.0 = 1.00 = 0.9(9) etc.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de