Now Datatype.occs_in_prems prints the necessary warning ITSELF.
It is also easier to invoke and even works if the induction variable
is a parameter (rather than a free variable).
(*  Title:      HOLCF/Discrete.thy
    ID:         $Id$
    Author:     Tobias Nipkow
    Copyright   1997 TUM
Discrete CPOs
*)
Discrete = Discrete1 +
instance discr :: (term)cpo   (discr_cpo)
constdefs
   undiscr :: ('a::term)discr => 'a
  "undiscr x == (case x of Discr y => y)"
end