| author | haftmann | 
| Sun, 09 Feb 2020 21:58:42 +0000 | |
| changeset 71425 | f2da99316b86 | 
| parent 63233 | e53830948c4f | 
| permissions | -rw-r--r-- | 
| 10875 | 1 | (* Title: HOL/Induct/Sigma_Algebra.thy | 
| 2 | Author: Markus Wenzel, TU Muenchen | |
| 3 | *) | |
| 4 | ||
| 60530 | 5 | section \<open>Sigma algebras\<close> | 
| 11046 
b5f5942781a0
Induct: converted some theories to new-style format;
 wenzelm parents: 
10875diff
changeset | 6 | |
| 46914 | 7 | theory Sigma_Algebra | 
| 8 | imports Main | |
| 9 | begin | |
| 10875 | 10 | |
| 60530 | 11 | text \<open> | 
| 10875 | 12 | This is just a tiny example demonstrating the use of inductive | 
| 63167 | 13 | definitions in classical mathematics. We define the least \<open>\<sigma>\<close>-algebra over a given set of sets. | 
| 60530 | 14 | \<close> | 
| 10875 | 15 | |
| 63233 | 16 | inductive_set \<sigma>_algebra :: "'a set set \<Rightarrow> 'a set set" for A :: "'a set set" | 
| 46914 | 17 | where | 
| 63233 | 18 | basic: "a \<in> \<sigma>_algebra A" if "a \<in> A" for a | 
| 46914 | 19 | | UNIV: "UNIV \<in> \<sigma>_algebra A" | 
| 63233 | 20 | | complement: "- a \<in> \<sigma>_algebra A" if "a \<in> \<sigma>_algebra A" for a | 
| 21 | | Union: "(\<Union>i. a i) \<in> \<sigma>_algebra A" if "\<And>i::nat. a i \<in> \<sigma>_algebra A" for a | |
| 10875 | 22 | |
| 60530 | 23 | text \<open> | 
| 10875 | 24 | The following basic facts are consequences of the closure properties | 
| 63167 | 25 | of any \<open>\<sigma>\<close>-algebra, merely using the introduction rules, but | 
| 10875 | 26 | no induction nor cases. | 
| 60530 | 27 | \<close> | 
| 10875 | 28 | |
| 29 | theorem sigma_algebra_empty: "{} \<in> \<sigma>_algebra A"
 | |
| 30 | proof - | |
| 14717 | 31 | have "UNIV \<in> \<sigma>_algebra A" by (rule \<sigma>_algebra.UNIV) | 
| 46914 | 32 | then have "-UNIV \<in> \<sigma>_algebra A" by (rule \<sigma>_algebra.complement) | 
| 10875 | 33 |   also have "-UNIV = {}" by simp
 | 
| 34 | finally show ?thesis . | |
| 35 | qed | |
| 36 | ||
| 37 | theorem sigma_algebra_Inter: | |
| 60532 | 38 | "(\<And>i::nat. a i \<in> \<sigma>_algebra A) \<Longrightarrow> (\<Inter>i. a i) \<in> \<sigma>_algebra A" | 
| 10875 | 39 | proof - | 
| 60532 | 40 | assume "\<And>i::nat. a i \<in> \<sigma>_algebra A" | 
| 41 | then have "\<And>i::nat. -(a i) \<in> \<sigma>_algebra A" by (rule \<sigma>_algebra.complement) | |
| 46914 | 42 | then have "(\<Union>i. -(a i)) \<in> \<sigma>_algebra A" by (rule \<sigma>_algebra.Union) | 
| 43 | then have "-(\<Union>i. -(a i)) \<in> \<sigma>_algebra A" by (rule \<sigma>_algebra.complement) | |
| 10875 | 44 | also have "-(\<Union>i. -(a i)) = (\<Inter>i. a i)" by simp | 
| 45 | finally show ?thesis . | |
| 46 | qed | |
| 47 | ||
| 48 | end |