src/HOL/Induct/Sigma_Algebra.thy
changeset 63233 e53830948c4f
parent 63167 0909deb8059b
equal deleted inserted replaced
63232:7238ed9a27ab 63233:e53830948c4f
    11 text \<open>
    11 text \<open>
    12   This is just a tiny example demonstrating the use of inductive
    12   This is just a tiny example demonstrating the use of inductive
    13   definitions in classical mathematics.  We define the least \<open>\<sigma>\<close>-algebra over a given set of sets.
    13   definitions in classical mathematics.  We define the least \<open>\<sigma>\<close>-algebra over a given set of sets.
    14 \<close>
    14 \<close>
    15 
    15 
    16 inductive_set \<sigma>_algebra :: "'a set set \<Rightarrow> 'a set set"
    16 inductive_set \<sigma>_algebra :: "'a set set \<Rightarrow> 'a set set" for A :: "'a set set"
    17   for A :: "'a set set"
       
    18 where
    17 where
    19   basic: "a \<in> \<sigma>_algebra A" if "a \<in> A"
    18   basic: "a \<in> \<sigma>_algebra A" if "a \<in> A" for a
    20 | UNIV: "UNIV \<in> \<sigma>_algebra A"
    19 | UNIV: "UNIV \<in> \<sigma>_algebra A"
    21 | complement: "- a \<in> \<sigma>_algebra A" if "a \<in> \<sigma>_algebra A"
    20 | complement: "- a \<in> \<sigma>_algebra A" if "a \<in> \<sigma>_algebra A" for a
    22 | Union: "(\<Union>i. a i) \<in> \<sigma>_algebra A" if "\<And>i::nat. a i \<in> \<sigma>_algebra A"
    21 | Union: "(\<Union>i. a i) \<in> \<sigma>_algebra A" if "\<And>i::nat. a i \<in> \<sigma>_algebra A" for a
    23 
    22 
    24 text \<open>
    23 text \<open>
    25   The following basic facts are consequences of the closure properties
    24   The following basic facts are consequences of the closure properties
    26   of any \<open>\<sigma>\<close>-algebra, merely using the introduction rules, but
    25   of any \<open>\<sigma>\<close>-algebra, merely using the introduction rules, but
    27   no induction nor cases.
    26   no induction nor cases.