Return-Path:
Return-Path: <john.harrison-request@uk.ac.cam.cl>
Received: from iris.eecs.ucdavis.edu by swan.cl.cam.ac.uk with SMTP (PP)
          id <11334-0@swan.cl.cam.ac.uk>; Wed, 14 Aug 1991 15:07:45 +0100
Received: by iris.eecs.ucdavis.edu (5.57/UCD.EECS.7.0) id AA15129;
          Wed, 14 Aug 91 07:02:55 -0700
Received: from relay1.UU.NET by rutgers.edu (5.59/SMI4.0/RU1.4/3.08) id AA19233;
          Wed, 14 Aug 91 10:02:50 EDT
Received: from oracorp.COM (via scylla.oracorp.com) by relay1.UU.NET
          with SMTP (5.61/UUNET-internet-primary) id AA12163;
          Wed, 14 Aug 91 10:02:44 -0400
Received: from uu.psi.com by oracorp.COM (4.1/2.1-ORA Corporation) id AA24381;
          Wed, 14 Aug 91 09:58:40 EDT
Received: from port6.boston.pub-ip.psi.net
          by uu.psi.com (5.65b/4.0.071791-PSI/PSINet) id AA17709;
          Wed, 14 Aug 91 09:59:46 -0400
Received: from (manjusri) by ely (4.1/SMI-4.1) id AA04921;
          Wed, 14 Aug 91 10:03:50 EDT
Received: by (4.1/SMI-4.1) id AA20473; Wed, 14 Aug 91 10:08:39 EDT
Date: Wed, 14 Aug 91 10:08:39 EDT
From: ian@com.oracorp.cambridge (Ian Sutherland)
Message-Id: <9108141408.AA20473@>
To: info-hol@edu.ucdavis.eecs.iris
Subject: Re: Choice

Rob Arthan writes:

>Re Josh Guttman's observations:
>
>>      Rather, my point is this: Given an ordinary structure, there's no canonical way
>>      to determine the values of epsilon-terms.  That is, it's arbitrarily chosen.
>>      The fact that you have a choice function or universal well-ordering in your
>>      background structure doesn't really make it any the less arbitrary, because of
>>      course there's nothing canonical about its being one choice function rather
>>      than any other.

But isn't this the same as saying there's nothing canonical about the
underlying sets in a first-order structure?  This underlying set is
bound only by the semantics of first-order logic and the axioms you
write about the interpretation of the language you're using.

Your original contention seemed to be that you couldn't even NAME the
choice function, and therefore couldn't write axioms about it the way
you could about other functions.  I THINK this is wrong.  I THINK you
can name the choice function as

        \x:(*->bool).(@y.(x y))

so you could write whatever axioms you like about it.  This is no
different, it seems to me, than writing axioms about "=" in ordinary
first-order logic.

I am not an HOL weenie, so could someone who is please tell me whether
the above really does name the "@" choice function for all intents and
purposes?  It's certainly legal HOL (according to our version of HOL
anyway).

>1) As Roger Jones points out, if you use (i) a fairly reasonable
>formulation of the axiom of choice in HOL, and (ii) the conservative
>extension mechanism called `new_specification' (which certainly is
>conservative), then you can define the choice operator.

As I noted above, it seems to me that you can name the choice operator
without any such machinery.

