src/HOL/Analysis/Measurable.thy
changeset 70136 f03a01a18c6e
parent 69861 62e47f06d22c
child 71834 919a55257e62
equal deleted inserted replaced
70135:ad6d4a14adb5 70136:f03a01a18c6e
    62   "add dest rule to measurability prover"
    62   "add dest rule to measurability prover"
    63 
    63 
    64 attribute_setup measurable_cong = Measurable.cong_thm_attr
    64 attribute_setup measurable_cong = Measurable.cong_thm_attr
    65   "add congurence rules to measurability prover"
    65   "add congurence rules to measurability prover"
    66 
    66 
    67 method_setup%important measurable = \<open> Scan.lift (Scan.succeed (METHOD o Measurable.measurable_tac)) \<close>
    67 method_setup\<^marker>\<open>tag important\<close> measurable = \<open> Scan.lift (Scan.succeed (METHOD o Measurable.measurable_tac)) \<close>
    68   "measurability prover"
    68   "measurability prover"
    69 
    69 
    70 simproc_setup%important measurable ("A \<in> sets M" | "f \<in> measurable M N") = \<open>K Measurable.simproc\<close>
    70 simproc_setup\<^marker>\<open>tag important\<close> measurable ("A \<in> sets M" | "f \<in> measurable M N") = \<open>K Measurable.simproc\<close>
    71 
    71 
    72 setup \<open>
    72 setup \<open>
    73   Global_Theory.add_thms_dynamic (\<^binding>\<open>measurable\<close>, Measurable.get_all)
    73   Global_Theory.add_thms_dynamic (\<^binding>\<open>measurable\<close>, Measurable.get_all)
    74 \<close>
    74 \<close>
    75 
    75 
   378     "(\<And>i. i \<in> X \<Longrightarrow> Measurable.pred M (\<lambda>x. P x i)) \<Longrightarrow> Measurable.pred M (\<lambda>x. \<forall>i\<in>X. P x i)"
   378     "(\<And>i. i \<in> X \<Longrightarrow> Measurable.pred M (\<lambda>x. P x i)) \<Longrightarrow> Measurable.pred M (\<lambda>x. \<forall>i\<in>X. P x i)"
   379     "(\<And>i. i \<in> X \<Longrightarrow> Measurable.pred M (\<lambda>x. P x i)) \<Longrightarrow> Measurable.pred M (\<lambda>x. \<exists>i\<in>X. P x i)"
   379     "(\<And>i. i \<in> X \<Longrightarrow> Measurable.pred M (\<lambda>x. P x i)) \<Longrightarrow> Measurable.pred M (\<lambda>x. \<exists>i\<in>X. P x i)"
   380   unfolding pred_def
   380   unfolding pred_def
   381   by (auto intro!: sets.sets_Collect_countable_All' sets.sets_Collect_countable_Ex' assms)
   381   by (auto intro!: sets.sets_Collect_countable_All' sets.sets_Collect_countable_Ex' assms)
   382 
   382 
   383 subsection%unimportant \<open>Measurability for (co)inductive predicates\<close>
   383 subsection\<^marker>\<open>tag unimportant\<close> \<open>Measurability for (co)inductive predicates\<close>
   384 
   384 
   385 lemma measurable_bot[measurable]: "bot \<in> measurable M (count_space UNIV)"
   385 lemma measurable_bot[measurable]: "bot \<in> measurable M (count_space UNIV)"
   386   by (simp add: bot_fun_def)
   386   by (simp add: bot_fun_def)
   387 
   387 
   388 lemma measurable_top[measurable]: "top \<in> measurable M (count_space UNIV)"
   388 lemma measurable_top[measurable]: "top \<in> measurable M (count_space UNIV)"