src/HOL/HOLCF/Tools/Domain/domain_take_proofs.ML
changeset 68236 b4484ec4a8f7
parent 63003 bf5fcc65586b
child 69597 ff784d5a5bfb
equal deleted inserted replaced
68235:a3bd410db5b2 68236:b4484ec4a8f7
   516 
   516 
   517     (* prove reach lemmas *)
   517     (* prove reach lemmas *)
   518     fun prove_reach_lemma ((chain_take, lub_take), dbind) thy =
   518     fun prove_reach_lemma ((chain_take, lub_take), dbind) thy =
   519       let
   519       let
   520         val thm =
   520         val thm =
   521             Drule.zero_var_indexes
   521             Drule.export_without_context
   522               (@{thm lub_ID_reach} OF [chain_take, lub_take])
   522               (@{thm lub_ID_reach} OF [chain_take, lub_take])
   523       in
   523       in
   524         add_qualified_thm "reach" (dbind, thm) thy
   524         add_qualified_thm "reach" (dbind, thm) thy
   525       end
   525       end
   526     val (reach_thms, thy) =
   526     val (reach_thms, thy) =
   549           ((SOME finites, take_inducts), thy)
   549           ((SOME finites, take_inducts), thy)
   550         end
   550         end
   551       else
   551       else
   552         let
   552         let
   553           fun prove_take_induct (chain_take, lub_take) =
   553           fun prove_take_induct (chain_take, lub_take) =
   554               Drule.zero_var_indexes
   554               Drule.export_without_context
   555                 (@{thm lub_ID_take_induct} OF [chain_take, lub_take])
   555                 (@{thm lub_ID_take_induct} OF [chain_take, lub_take])
   556           val take_inducts =
   556           val take_inducts =
   557               map prove_take_induct (chain_take_thms ~~ lub_take_thms)
   557               map prove_take_induct (chain_take_thms ~~ lub_take_thms)
   558           val thy = fold (snd oo add_qualified_thm "take_induct")
   558           val thy = fold (snd oo add_qualified_thm "take_induct")
   559                          (dbinds ~~ take_inducts) thy
   559                          (dbinds ~~ take_inducts) thy