src/LCF/LCF.thy
changeset 27239 f2f42f9fa09d
parent 27208 5fe899199f85
child 35128 c1ad622e90e4
equal deleted inserted replaced
27238:d2bf12727c8a 27239:f2f42f9fa09d
   315   adm_not_eq_tr adm_conj adm_disj adm_imp adm_all
   315   adm_not_eq_tr adm_conj adm_disj adm_imp adm_all
   316 
   316 
   317 
   317 
   318 ML {*
   318 ML {*
   319   fun induct_tac ctxt v i =
   319   fun induct_tac ctxt v i =
   320     RuleInsts.res_inst_tac ctxt [(("f", 0), v)] @{thm induct} i THEN
   320     res_inst_tac ctxt [(("f", 0), v)] @{thm induct} i THEN
   321     REPEAT (resolve_tac @{thms adm_lemmas} i)
   321     REPEAT (resolve_tac @{thms adm_lemmas} i)
   322 *}
   322 *}
   323 
   323 
   324 lemma least_FIX: "f(p) = p ==> FIX(f) << p"
   324 lemma least_FIX: "f(p) = p ==> FIX(f) << p"
   325   apply (tactic {* induct_tac @{context} "f" 1 *})
   325   apply (tactic {* induct_tac @{context} "f" 1 *})
   374   apply (rule 3)
   374   apply (rule 3)
   375   done
   375   done
   376 
   376 
   377 ML {*
   377 ML {*
   378 fun induct2_tac ctxt (f, g) i =
   378 fun induct2_tac ctxt (f, g) i =
   379   RuleInsts.res_inst_tac ctxt [(("f", 0), f), (("g", 0), g)] @{thm induct2} i THEN
   379   res_inst_tac ctxt [(("f", 0), f), (("g", 0), g)] @{thm induct2} i THEN
   380   REPEAT(resolve_tac @{thms adm_lemmas} i)
   380   REPEAT(resolve_tac @{thms adm_lemmas} i)
   381 *}
   381 *}
   382 
   382 
   383 end
   383 end