| author | wenzelm | 
| Wed, 07 Aug 2024 15:11:54 +0200 | |
| changeset 80662 | ad9647592a81 | 
| 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: 
10875 
diff
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  |