[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug in ``New types; also opacity without passkeys''



Will Clinger proposed:
>--------------------------------------------------------------------------
> MAKE-NEW-TYPE takes no arguments.  The result of MAKE-NEW-TYPE
> is not a predicate, but a new type descriptor <type> that is
> different from all existing type descriptors.  (This is made
> more precise below.)
> 
>     (GET-NEW-CONSTRUCTOR <type>),
>     (GET-NEW-SELECTOR <type>), and
>     (GET-NEW-PREDICATE <type>)
> 
> respectively return a constructor U, a selector D, and a predicate P?
> that satisfy the following constraints.
> 
> Let <object> be any object, and let <object2> be any object that
> was not constructed by U.  Let <type2> be the result of a call
> to MAKE-NEW-TYPE that is dynamically distinct from the call
> that returned <type>.  Then
> 
>1.   (GET-NEW-CONSTRUCTOR <type>) = U       that is, successive
>2.   (GET-NEW-SELECTOR <type>) = D          calls return the
>3.   (GET-NEW-PREDICATE <type>) = P?        same procedures
> 
>4.   (P? (U <object>)) = #T
> 
>5.   (P? <object2>) = #F
> 
>6.   ((GET-NEW-PREDICATE <type2>) <object>) = #F
>
> .
> .
> .
>
>--------------------------------------------------------------------------
[I took the liberty of numbering the above axioms to facilitate discussion.]

I believe you must have meant:

 6.   ((GET-NEW-PREDICATE <type2>) (U <object>)) = #F
                                   ^^         ^
                                   ++         +

Otherwise, since I can choose any <object>, I choose:

 <object> = ((GET-NEW-CONSTRUCTOR <type2>) <object>')  for any <object>'


Now, as you had written it, there is a contradiction in:

 1'.  (GET-NEW-CONSTRUCTOR <type2>) = U'
 3'.  (GET-NEW-PREDICATE <type2>) = P?'

 4'.  (P?' (U' <object>')) = #T

 6'.  ((GET-NEW-PREDICATE <type2>) <object>) = #F

   => ((GET-NEW-PREDICATE <type2>)
       ((GET-NEW-CONSTRUCTOR <type2>) <object>')) = #F

   => (P?' (U' <object>')) = #F


So 4' <=> 6'.   Q.E.D.

--

With the corrected 6. I have offered, no such contradiction ensues.

--

I have not yet looked carefully at the rest of your axioms or claims.