TFL/casesplit.ML
changeset 16425 2427be27cc60
parent 15798 016f3be5a5ec
child 16935 4d7f19d340e8
equal deleted inserted replaced
16424:18a07ad8fea8 16425:2427be27cc60
   119      Seq.hd o (ALLGOALS (fn i => REPEAT (etac Drule.thin_rl i)));
   119      Seq.hd o (ALLGOALS (fn i => REPEAT (etac Drule.thin_rl i)));
   120 
   120 
   121 (* get the case_thm (my version) from a type *)
   121 (* get the case_thm (my version) from a type *)
   122 fun case_thm_of_ty sgn ty  = 
   122 fun case_thm_of_ty sgn ty  = 
   123     let 
   123     let 
   124       val dtypestab = DatatypePackage.get_datatypes_sg sgn;
   124       val dtypestab = DatatypePackage.get_datatypes sgn;
   125       val ty_str = case ty of 
   125       val ty_str = case ty of 
   126                      Type(ty_str, _) => ty_str
   126                      Type(ty_str, _) => ty_str
   127                    | TFree(s,_)  => raise ERROR_MESSAGE 
   127                    | TFree(s,_)  => raise ERROR_MESSAGE 
   128                                             ("Free type: " ^ s)   
   128                                             ("Free type: " ^ s)   
   129                    | TVar((s,i),_) => raise ERROR_MESSAGE 
   129                    | TVar((s,i),_) => raise ERROR_MESSAGE