Re: An alternative to possreps

From: David BL <davidbl_at_iinet.net.au>
Date: Sun, 12 Jun 2011 08:16:47 -0700 (PDT)
Message-ID: <6f425765-361f-408d-b1cc-13760323ae4b_at_z7g2000prh.googlegroups.com>


On Jun 12, 8:15 pm, Erwin <e.sm..._at_myonline.be> wrote:
> 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.

I think these sorts of arguments are not going to be persuasive because the terms are too imprecise. What exactly does "characterize" mean? When you claim that what characterises a type is the values, why can't someone else claim that what characterises the values are in turn the operators?

My opinion: A type is a named algebraic structure (not something that only resembles one). Therefore a type is a named set of values and operators (or operations if you prefer).

Your issue with the type depending on exactly which operators happen to be defined is real but in practise not a source of problems so it can be ignored. If and when it is important the solution is to formalise exactly which operators are part of the type and which are not.

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

This follows directly from one of the axioms of set theory (the axiom of extensionality), which states that every set is determined by its elements. Received on Sun Jun 12 2011 - 17:16:47 CEST

Original text of this message