# Re: What databases have taught me

From: Keith H Duggar <duggar_at_alum.mit.edu>
Date: 1 Jul 2006 03:17:01 -0700

> Keith H Duggar wrote:
> > > I am speaking of data type as a concept. The integer
> > > data type has an unlimited number of operations
> > > defined on it. In most contexts, only a tiny subset
> > > of them are in scope.
> >
> > What I don't get is why said unlimited number of
> > operations defined /on/ integers are the definition /of/
> > integers.
>
> You are not being clear. You are using integers to mean
> both a set and a data type without specifying which you
> mean.
>
> Without any operations, the set is just a bunch of
> symbols. To manipulate those symbols, one must have
> operations.

> > You and I can communicate using integers, prove theorems
> > only to a very small subset of those unlimited
> > operations. So of what relevance are the remaining
> > unmentioned or undiscovered operations to our discussion
> > and thinking?
>
> The relevance is they are there for our use any time we
> want them. Without any operations, we cannot do anything
> meaningful with the set of integers. We cannot prove
> theorems about them at all.

> It is only after we formally specify which operations we
> are using that we can do anything useful.

> The word 'data' implies representation suitable for
> machine manipulation. Without operations, symbols are
> useless.

> > And suppose we define integers in the usual set
> > theoretic or algebraic ways. Why can we not treat other
> > operations as simply derived or auxiliary?
>
> All operations can be derived or auxiliary. If we removed
> all the derivable operations, we would have nothing left
> from which to derive the rest.

> What is important is not which operations we consider
> fundamental and which we consider auxiliary. What is
> important is all of those operations exist and we can
> communicate them to each other.

> What's more, the set of operations in the algebra is a
> proper subset of the operations for the data type. For
> example, substring is an operation defined for integers
> because it has two integer parameters.

Ordinal
Exists set N
zero : -> N
succ : N -> N
For all x element of N

```    succ(x) != zero
succ(x) != x
succ(x) = succ(y) implies x = y

```

Why are not the 'zero' and 'succ' operations together with the above axioms sufficient to /define/ ordinals? Why do I need to think about "substring" or arbitrarily many other operations as /defining/ ordinals?

• Keith -- Fraud 6
Received on Sat Jul 01 2006 - 12:17:01 CEST

Original text of this message