diff -r 072f2f8dc694 -r 19c662f8b9d6 QuotMain.thy --- a/QuotMain.thy Wed Oct 14 09:47:16 2009 +0200 +++ b/QuotMain.thy Wed Oct 14 09:50:13 2009 +0200 @@ -418,24 +418,18 @@ *} -term Respects - ML {* -fun atomize_thm t = - MetaSimplifier.rewrite_rule [ObjectLogic.atomize (cterm_of @{theory} (prop_of t))] t +fun atomize_thm thm = +let + val thm' = forall_intr_vars thm + val thm'' = ObjectLogic.atomize (cprop_of thm') +in + Simplifier.rewrite_rule [thm''] thm' +end *} -ML {* -fun meta_quantify t = - let - val vars = Term.add_vars (prop_of t) []; - val cvars = map (fn x => cterm_of @{theory} (Var x)) vars - in - fold forall_intr cvars t - end -*} - -ML {* atomize_thm (meta_quantify @{thm list.induct}) *} +thm list.induct +ML {* atomize_thm @{thm list.induct} *} (*fun prove_reg trm \ thm (we might need some facts to do this) trm == new_trm @@ -1119,7 +1113,7 @@ thm list.induct -ML {* val li = Thm.freezeT (atomize_thm (meta_quantify @{thm list.induct})) *} +ML {* val li = Thm.freezeT (atomize_thm @{thm list.induct}) *} ML {* Syntax.string_of_term @{context} (regularise (prop_of li) @{typ "'a List.list"} @{term "op \"} @{context}) @@ -1181,7 +1175,7 @@ fun lift_theorem_fset name thm lthy = let val lifted_thm = lift_theorem_fset_aux thm lthy; - val (_, lthy2) = note_thm (name, lifted_thm) lthy; + val (_, lthy2) = note (name, lifted_thm) lthy; in lthy2 end;