equal
deleted
inserted
replaced
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. |