Prototype introiff option for find_theorems.
This feature was suggested by Jeremy Avigad / Tobias Nipkow.
It adds an introiff keyword for find_theorems that returns, in
addition to the usual results for intro, any theorems of the
form ([| ... |] ==> (P = Q)) where either P or Q matches the
conclusions of the current goal. Such theorems can be made
introduction rules with [THEN iffDx].
The current patch is for evaluation only. It assumes an
(op = : 'a -> 'a -> bool) operator, which is specific to HOL.
It is not clear how this should be generalised.
(* Title: HOL/MicroJava/J/SystemClasses.thy
ID: $Id$
Author: Gerwin Klein
Copyright 2002 Technische Universitaet Muenchen
*)
header {* \isaheader{System Classes} *}
theory SystemClasses imports Decl begin
text {*
This theory provides definitions for the @{text Object} class,
and the system exceptions.
*}
constdefs
ObjectC :: "'c cdecl"
"ObjectC \<equiv> (Object, (undefined,[],[]))"
NullPointerC :: "'c cdecl"
"NullPointerC \<equiv> (Xcpt NullPointer, (Object,[],[]))"
ClassCastC :: "'c cdecl"
"ClassCastC \<equiv> (Xcpt ClassCast, (Object,[],[]))"
OutOfMemoryC :: "'c cdecl"
"OutOfMemoryC \<equiv> (Xcpt OutOfMemory, (Object,[],[]))"
SystemClasses :: "'c cdecl list"
"SystemClasses \<equiv> [ObjectC, NullPointerC, ClassCastC, OutOfMemoryC]"
end