REFINEMENT        BooksR

REFINES           Books

VARIABLES         scheme

INVARIANT         scheme : iseq(BOOK) & ran(scheme) = BOOK - read

INITIALISATION    scheme :: perm(BOOK)

OPERATIONS

  bb <-- newbook = PRE scheme /= <> THEN  /* added by mal */
                        bb := first(scheme);scheme := tail(scheme) END

END
