Re: Clean Object Class Design -- Circle/Ellipse
Date: Sun, 19 Aug 2001 09:28:25 -0400
Message-ID: <QhPf7.89$_k5.21959773_at_radon.golden.net>
>>> Axioms of a theory are expressed in terms of primitives of that theory
>>> When you say
>>> Axiom MI: For all x =/= 0 in D there is y in D such that x * y = 1
>>> you are talking about some domain D.
>>> For IA = <D, {+.*, = , <}> D is the set of integers and MI holds,
>>> for RA, D is is the set of rationals (or reals) and MI does not hold.
>>
>>Marc, what is the point of this? An axiom limited to functions where the
>>argument and result are the same type isn't any good for building a type
>>theory. Bob's point -- that a person's age isn't another
>>person -- is a good example of the lunacy. We're not looking for
>>operations that are self-contained within a given type.
>
>In the case of addition we are, but not in the general case.
I disagree. We do not seek closure even in the case of addition. I can add a real to an integer to give a real, which is not closed for integer. When I add two integer reals, the result is incidentally an integer due to the semantics of addition. I do not necessarily seek closure when I add two integers; I get it anyway.
To capture the semantics of additive closure for integers, we can have another addition operator that is defined only for the subtype, integer, and that is closed. This additional operator is defined for the subtype and not for the supertype. Received on Sun Aug 19 2001 - 15:28:25 CEST
