# Re: What databases have taught me

Date: 1 Jul 2006 03:17:01 -0700

Message-ID: <1151749021.863741.258030_at_b68g2000cwa.googlegroups.com>

Bob Badour wrote:

*> Keith H Duggar wrote:
**> > Bob Badour 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
**> > about integers, think about integers, etc by appealing
**> > 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.
*

Again I never said there are not "any operations"

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

Here is an algebraic definition for an ordinal type:

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