Re: An alternative to possreps

From: Erwin <e.smout_at_myonline.be>
Date: Sun, 12 Jun 2011 05:15:51 -0700 (PDT)
Message-ID: <9f8b9d65-b5b8-428c-988e-d56a4cbb4cb7_at_r20g2000yqd.googlegroups.com>


On 12 jun, 07:39, Bob Badour <b..._at_badour.net> wrote:
> Erwin wrote:
> > On 9 jun, 08:28, David BL <davi..._at_iinet.net.au> wrote:
>
> >>I agree that update operators are an important consideration.
>
> >>Nevertheless I don't think type systems per se should have anything to
> >>do with specifying what update operators are available on variables.
>
> > Note that TTM doesn't do any such thing.  D&D are quite explicit in
> > stating that in fact there is only one update operator : assignment.
>
> >>I consider a type to be a set of values plus operators on *values* (or
> >>what Date calls read-only operators).
>
> > In TTM, a type is just a set of values.  Nothing more.  No operators
> > involved (in the type being what it is, namely just a set of values,
> > that is).
>
> If that is the case, how is it that a subtype has a subset of values and
> a superset of operations? (An operator is just a symbol representing an
> operation. It's really "operation" that's important.)- Tekst uit oorspronkelijk bericht niet weergeven -
>
> - Tekst uit oorspronkelijk bericht weergeven -

What I was trying to express is that what "characterizes" a type, is merely its constituent values.

The type "Integer" does not "become a different type" in some sense, merely because some additional operator (say, SUBSTR(STRING,INT,INT) ) comes to be available for the type.

The type "Point in 2D space" does not come to be a "different type", as a consequence of a new possrep (e.g. POLAR) being introduced for it (and thus new operators becoming available for it).

Hence, "what operators exist that involve the type", is not a determinant factor in "what the type is", at the bare basics level, it's not a determinant factor in defining the type's "identity", so to speak.

Of course types are completely useless if there are no operators (/ opeations). The IM itself is impossible without operators, because without operators one cannot express the predicate that defines the subtype. That still makes no difference concerning the "bare identity" of any type.

The "bare identity" of the set of odd natural numbers is that it is the set {1,3,5,7,...} (defined enumeratively, relying on intuition for the ... part). It can also be predicatively defined over the set of natural numbers in several ways, two of which are :

(a) ODD = {2*n+1 | n in N}
(b) ODD = {n in N | MOD(n,2) = 1}

It's always the same set.

As for your actual question, that is merely a consequence of how the IM is defined :

A subtype is a subset of values by definition.

And given that all operators/operations that are available for the supertype are, by definition, also available for the subtype, it must necessarily be the case that the set of operators/operations that are available for the subtype, cannot possibly be a proper subset of the set of operations that are available for the supertype, hence it must either be the same set or a proper superset. Just an extremely selfevident  and direct consequence of how things are defined. Received on Sun Jun 12 2011 - 14:15:51 CEST

Original text of this message