src/HOL/Induct/Sigma_Algebra.thy
changeset 23746 a455e69c31cc
parent 16417 9bc16273c2d4
child 36862 952b2b102a0a
equal deleted inserted replaced
23745:28df61d931e2 23746:a455e69c31cc
    11   This is just a tiny example demonstrating the use of inductive
    11   This is just a tiny example demonstrating the use of inductive
    12   definitions in classical mathematics.  We define the least @{text
    12   definitions in classical mathematics.  We define the least @{text
    13   \<sigma>}-algebra over a given set of sets.
    13   \<sigma>}-algebra over a given set of sets.
    14 *}
    14 *}
    15 
    15 
    16 consts
    16 inductive_set
    17   \<sigma>_algebra :: "'a set set => 'a set set"
    17   \<sigma>_algebra :: "'a set set => 'a set set"
    18 
    18   for A :: "'a set set"
    19 inductive "\<sigma>_algebra A"
    19   where
    20   intros
       
    21     basic: "a \<in> A ==> a \<in> \<sigma>_algebra A"
    20     basic: "a \<in> A ==> a \<in> \<sigma>_algebra A"
    22     UNIV: "UNIV \<in> \<sigma>_algebra A"
    21   | UNIV: "UNIV \<in> \<sigma>_algebra A"
    23     complement: "a \<in> \<sigma>_algebra A ==> -a \<in> \<sigma>_algebra A"
    22   | complement: "a \<in> \<sigma>_algebra A ==> -a \<in> \<sigma>_algebra A"
    24     Union: "(!!i::nat. a i \<in> \<sigma>_algebra A) ==> (\<Union>i. a i) \<in> \<sigma>_algebra A"
    23   | Union: "(!!i::nat. a i \<in> \<sigma>_algebra A) ==> (\<Union>i. a i) \<in> \<sigma>_algebra A"
    25 
    24 
    26 text {*
    25 text {*
    27   The following basic facts are consequences of the closure properties
    26   The following basic facts are consequences of the closure properties
    28   of any @{text \<sigma>}-algebra, merely using the introduction rules, but
    27   of any @{text \<sigma>}-algebra, merely using the introduction rules, but
    29   no induction nor cases.
    28   no induction nor cases.