src/HOL/Probability/Measure.thy
author huffman
Tue, 04 May 2010 21:03:50 -0700
changeset 36670 16b0a722083a
parent 36624 25153c08655e
child 37032 58a0757031dd
permissions -rw-r--r--
avoid using '...' with LIMSEQ (cf. 1cc4ab4b7ff7)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
     1
header {*Measures*}
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
     2
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
     3
theory Measure
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
     4
  imports Caratheodory FuncSet
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
     5
begin
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
     6
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
     7
text{*From the Hurd/Coble measure theory development, translated by Lawrence Paulson.*}
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
     8
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
     9
definition prod_sets where
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    10
  "prod_sets A B = {z. \<exists>x \<in> A. \<exists>y \<in> B. z = x \<times> y}"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    11
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    12
lemma prod_setsI: "x \<in> A \<Longrightarrow> y \<in> B \<Longrightarrow> (x \<times> y) \<in> prod_sets A B"
35977
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    13
  by (auto simp add: prod_sets_def)
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    14
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    15
lemma sigma_prod_sets_finite:
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    16
  assumes "finite A" and "finite B"
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    17
  shows "sets (sigma (A \<times> B) (prod_sets (Pow A) (Pow B))) = Pow (A \<times> B)"
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    18
proof (simp add: sigma_def, safe)
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    19
  have fin: "finite (A \<times> B)" using assms by (rule finite_cartesian_product)
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    20
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    21
  fix x assume subset: "x \<subseteq> A \<times> B"
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    22
  hence "finite x" using fin by (rule finite_subset)
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    23
  from this subset show "x \<in> sigma_sets (A\<times>B) (prod_sets (Pow A) (Pow B))"
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    24
    (is "x \<in> sigma_sets ?prod ?sets")
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    25
  proof (induct x)
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    26
    case empty show ?case by (rule sigma_sets.Empty)
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    27
  next
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    28
    case (insert a x)
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    29
    hence "{a} \<in> sigma_sets ?prod ?sets" by (auto simp: prod_sets_def intro!: sigma_sets.Basic)
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    30
    moreover have "x \<in> sigma_sets ?prod ?sets" using insert by auto
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    31
    ultimately show ?case unfolding insert_is_Un[of a x] by (rule sigma_sets_Un)
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    32
  qed
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    33
next
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    34
  fix x a b
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    35
  assume "x \<in> sigma_sets (A\<times>B) (prod_sets (Pow A) (Pow B))" and "(a, b) \<in> x"
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    36
  from sigma_sets_into_sp[OF _ this(1)] this(2)
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    37
  show "a \<in> A" and "b \<in> B"
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    38
    by (auto simp: prod_sets_def)
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    39
qed
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    40
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    41
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    42
definition
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    43
  closed_cdi  where
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    44
  "closed_cdi M \<longleftrightarrow>
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    45
   sets M \<subseteq> Pow (space M) &
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    46
   (\<forall>s \<in> sets M. space M - s \<in> sets M) &
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    47
   (\<forall>A. (range A \<subseteq> sets M) & (A 0 = {}) & (\<forall>n. A n \<subseteq> A (Suc n)) \<longrightarrow>
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    48
        (\<Union>i. A i) \<in> sets M) &
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    49
   (\<forall>A. (range A \<subseteq> sets M) & disjoint_family A \<longrightarrow> (\<Union>i::nat. A i) \<in> sets M)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    50
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    51
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    52
inductive_set
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    53
  smallest_ccdi_sets :: "('a, 'b) algebra_scheme \<Rightarrow> 'a set set"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    54
  for M
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    55
  where
35977
30d42bfd0174 Added finite measure space.
hoelzl
parents: 35692
diff changeset
    56
    Basic [intro]:
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    57
      "a \<in> sets M \<Longrightarrow> a \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    58
  | Compl [intro]:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    59
      "a \<in> smallest_ccdi_sets M \<Longrightarrow> space M - a \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    60
  | Inc:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    61
      "range A \<in> Pow(smallest_ccdi_sets M) \<Longrightarrow> A 0 = {} \<Longrightarrow> (\<And>n. A n \<subseteq> A (Suc n))
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    62
       \<Longrightarrow> (\<Union>i. A i) \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    63
  | Disj:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    64
      "range A \<in> Pow(smallest_ccdi_sets M) \<Longrightarrow> disjoint_family A
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    65
       \<Longrightarrow> (\<Union>i::nat. A i) \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    66
  monos Pow_mono
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    67
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    68
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    69
definition
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    70
  smallest_closed_cdi  where
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    71
  "smallest_closed_cdi M = (|space = space M, sets = smallest_ccdi_sets M|)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    72
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    73
definition
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    74
  measurable  where
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    75
  "measurable a b = {f . sigma_algebra a & sigma_algebra b &
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
    76
                         f \<in> (space a -> space b) &
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
    77
                         (\<forall>y \<in> sets b. (f -` y) \<inter> (space a) \<in> sets a)}"
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    78
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    79
definition
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    80
  measure_preserving  where
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    81
  "measure_preserving m1 m2 =
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    82
     measurable m1 m2 \<inter> 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    83
     {f . measure_space m1 & measure_space m2 &
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    84
          (\<forall>y \<in> sets m2. measure m1 ((f -` y) \<inter> (space m1)) = measure m2 y)}"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    85
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    86
lemma space_smallest_closed_cdi [simp]:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    87
     "space (smallest_closed_cdi M) = space M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    88
  by (simp add: smallest_closed_cdi_def)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    89
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    90
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    91
lemma (in algebra) smallest_closed_cdi1: "sets M \<subseteq> sets (smallest_closed_cdi M)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    92
  by (auto simp add: smallest_closed_cdi_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    93
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    94
lemma (in algebra) smallest_ccdi_sets:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    95
     "smallest_ccdi_sets M \<subseteq> Pow (space M)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    96
  apply (rule subsetI) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    97
  apply (erule smallest_ccdi_sets.induct) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    98
  apply (auto intro: range_subsetD dest: sets_into_space)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
    99
  done
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   100
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   101
lemma (in algebra) smallest_closed_cdi2: "closed_cdi (smallest_closed_cdi M)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   102
  apply (auto simp add: closed_cdi_def smallest_closed_cdi_def smallest_ccdi_sets)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   103
  apply (blast intro: smallest_ccdi_sets.Inc smallest_ccdi_sets.Disj) +
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   104
  done
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   105
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   106
lemma (in algebra) smallest_closed_cdi3:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   107
     "sets (smallest_closed_cdi M) \<subseteq> Pow (space M)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   108
  by (simp add: smallest_closed_cdi_def smallest_ccdi_sets) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   109
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   110
lemma closed_cdi_subset: "closed_cdi M \<Longrightarrow> sets M \<subseteq> Pow (space M)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   111
  by (simp add: closed_cdi_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   112
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   113
lemma closed_cdi_Compl: "closed_cdi M \<Longrightarrow> s \<in> sets M \<Longrightarrow> space M - s \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   114
  by (simp add: closed_cdi_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   115
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   116
lemma closed_cdi_Inc:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   117
     "closed_cdi M \<Longrightarrow> range A \<subseteq> sets M \<Longrightarrow> A 0 = {} \<Longrightarrow> (!!n. A n \<subseteq> A (Suc n)) \<Longrightarrow>
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   118
        (\<Union>i. A i) \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   119
  by (simp add: closed_cdi_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   120
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   121
lemma closed_cdi_Disj:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   122
     "closed_cdi M \<Longrightarrow> range A \<subseteq> sets M \<Longrightarrow> disjoint_family A \<Longrightarrow> (\<Union>i::nat. A i) \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   123
  by (simp add: closed_cdi_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   124
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   125
lemma closed_cdi_Un:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   126
  assumes cdi: "closed_cdi M" and empty: "{} \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   127
      and A: "A \<in> sets M" and B: "B \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   128
      and disj: "A \<inter> B = {}"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   129
    shows "A \<union> B \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   130
proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   131
  have ra: "range (binaryset A B) \<subseteq> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   132
   by (simp add: range_binaryset_eq empty A B) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   133
 have di:  "disjoint_family (binaryset A B)" using disj
35582
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   134
   by (simp add: disjoint_family_on_def binaryset_def Int_commute) 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   135
 from closed_cdi_Disj [OF cdi ra di]
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   136
 show ?thesis
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   137
   by (simp add: UN_binaryset_eq) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   138
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   139
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   140
lemma (in algebra) smallest_ccdi_sets_Un:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   141
  assumes A: "A \<in> smallest_ccdi_sets M" and B: "B \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   142
      and disj: "A \<inter> B = {}"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   143
    shows "A \<union> B \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   144
proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   145
  have ra: "range (binaryset A B) \<in> Pow (smallest_ccdi_sets M)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   146
    by (simp add: range_binaryset_eq  A B empty_sets smallest_ccdi_sets.Basic)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   147
  have di:  "disjoint_family (binaryset A B)" using disj
35582
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   148
    by (simp add: disjoint_family_on_def binaryset_def Int_commute) 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   149
  from Disj [OF ra di]
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   150
  show ?thesis
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   151
    by (simp add: UN_binaryset_eq) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   152
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   153
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   154
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   155
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   156
lemma (in algebra) smallest_ccdi_sets_Int1:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   157
  assumes a: "a \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   158
  shows "b \<in> smallest_ccdi_sets M \<Longrightarrow> a \<inter> b \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   159
proof (induct rule: smallest_ccdi_sets.induct)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   160
  case (Basic x)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   161
  thus ?case
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   162
    by (metis a Int smallest_ccdi_sets.Basic)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   163
next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   164
  case (Compl x)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   165
  have "a \<inter> (space M - x) = space M - ((space M - a) \<union> (a \<inter> x))"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   166
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   167
  also have "... \<in> smallest_ccdi_sets M" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   168
    by (metis smallest_ccdi_sets.Compl a Compl(2) Diff_Int2 Diff_Int_distrib2
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   169
           Diff_disjoint Int_Diff Int_empty_right Un_commute
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   170
           smallest_ccdi_sets.Basic smallest_ccdi_sets.Compl
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   171
           smallest_ccdi_sets_Un) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   172
  finally show ?case .
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   173
next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   174
  case (Inc A)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   175
  have 1: "(\<Union>i. (\<lambda>i. a \<inter> A i) i) = a \<inter> (\<Union>i. A i)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   176
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   177
  have "range (\<lambda>i. a \<inter> A i) \<in> Pow(smallest_ccdi_sets M)" using Inc
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   178
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   179
  moreover have "(\<lambda>i. a \<inter> A i) 0 = {}"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   180
    by (simp add: Inc) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   181
  moreover have "!!n. (\<lambda>i. a \<inter> A i) n \<subseteq> (\<lambda>i. a \<inter> A i) (Suc n)" using Inc
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   182
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   183
  ultimately have 2: "(\<Union>i. (\<lambda>i. a \<inter> A i) i) \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   184
    by (rule smallest_ccdi_sets.Inc) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   185
  show ?case
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   186
    by (metis 1 2)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   187
next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   188
  case (Disj A)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   189
  have 1: "(\<Union>i. (\<lambda>i. a \<inter> A i) i) = a \<inter> (\<Union>i. A i)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   190
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   191
  have "range (\<lambda>i. a \<inter> A i) \<in> Pow(smallest_ccdi_sets M)" using Disj
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   192
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   193
  moreover have "disjoint_family (\<lambda>i. a \<inter> A i)" using Disj
35582
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   194
    by (auto simp add: disjoint_family_on_def) 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   195
  ultimately have 2: "(\<Union>i. (\<lambda>i. a \<inter> A i) i) \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   196
    by (rule smallest_ccdi_sets.Disj) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   197
  show ?case
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   198
    by (metis 1 2)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   199
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   200
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   201
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   202
lemma (in algebra) smallest_ccdi_sets_Int:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   203
  assumes b: "b \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   204
  shows "a \<in> smallest_ccdi_sets M \<Longrightarrow> a \<inter> b \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   205
proof (induct rule: smallest_ccdi_sets.induct)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   206
  case (Basic x)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   207
  thus ?case
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   208
    by (metis b smallest_ccdi_sets_Int1)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   209
next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   210
  case (Compl x)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   211
  have "(space M - x) \<inter> b = space M - (x \<inter> b \<union> (space M - b))"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   212
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   213
  also have "... \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   214
    by (metis Compl(2) Diff_disjoint Int_Diff Int_commute Int_empty_right b 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   215
           smallest_ccdi_sets.Compl smallest_ccdi_sets_Un) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   216
  finally show ?case .
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   217
next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   218
  case (Inc A)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   219
  have 1: "(\<Union>i. (\<lambda>i. A i \<inter> b) i) = (\<Union>i. A i) \<inter> b"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   220
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   221
  have "range (\<lambda>i. A i \<inter> b) \<in> Pow(smallest_ccdi_sets M)" using Inc
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   222
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   223
  moreover have "(\<lambda>i. A i \<inter> b) 0 = {}"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   224
    by (simp add: Inc) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   225
  moreover have "!!n. (\<lambda>i. A i \<inter> b) n \<subseteq> (\<lambda>i. A i \<inter> b) (Suc n)" using Inc
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   226
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   227
  ultimately have 2: "(\<Union>i. (\<lambda>i. A i \<inter> b) i) \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   228
    by (rule smallest_ccdi_sets.Inc) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   229
  show ?case
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   230
    by (metis 1 2)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   231
next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   232
  case (Disj A)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   233
  have 1: "(\<Union>i. (\<lambda>i. A i \<inter> b) i) = (\<Union>i. A i) \<inter> b"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   234
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   235
  have "range (\<lambda>i. A i \<inter> b) \<in> Pow(smallest_ccdi_sets M)" using Disj
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   236
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   237
  moreover have "disjoint_family (\<lambda>i. A i \<inter> b)" using Disj
35582
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   238
    by (auto simp add: disjoint_family_on_def) 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   239
  ultimately have 2: "(\<Union>i. (\<lambda>i. A i \<inter> b) i) \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   240
    by (rule smallest_ccdi_sets.Disj) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   241
  show ?case
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   242
    by (metis 1 2)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   243
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   244
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   245
lemma (in algebra) sets_smallest_closed_cdi_Int:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   246
   "a \<in> sets (smallest_closed_cdi M) \<Longrightarrow> b \<in> sets (smallest_closed_cdi M)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   247
    \<Longrightarrow> a \<inter> b \<in> sets (smallest_closed_cdi M)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   248
  by (simp add: smallest_ccdi_sets_Int smallest_closed_cdi_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   249
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   250
lemma algebra_iff_Int:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   251
     "algebra M \<longleftrightarrow> 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   252
       sets M \<subseteq> Pow (space M) & {} \<in> sets M & 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   253
       (\<forall>a \<in> sets M. space M - a \<in> sets M) &
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   254
       (\<forall>a \<in> sets M. \<forall> b \<in> sets M. a \<inter> b \<in> sets M)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   255
proof (auto simp add: algebra.Int, auto simp add: algebra_def)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   256
  fix a b
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   257
  assume ab: "sets M \<subseteq> Pow (space M)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   258
             "\<forall>a\<in>sets M. space M - a \<in> sets M" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   259
             "\<forall>a\<in>sets M. \<forall>b\<in>sets M. a \<inter> b \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   260
             "a \<in> sets M" "b \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   261
  hence "a \<union> b = space M - ((space M - a) \<inter> (space M - b))"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   262
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   263
  also have "... \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   264
    by (metis ab)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   265
  finally show "a \<union> b \<in> sets M" .
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   266
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   267
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   268
lemma (in algebra) sigma_property_disjoint_lemma:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   269
  assumes sbC: "sets M \<subseteq> C"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   270
      and ccdi: "closed_cdi (|space = space M, sets = C|)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   271
  shows "sigma_sets (space M) (sets M) \<subseteq> C"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   272
proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   273
  have "smallest_ccdi_sets M \<in> {B . sets M \<subseteq> B \<and> sigma_algebra (|space = space M, sets = B|)}"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   274
    apply (auto simp add: sigma_algebra_disjoint_iff algebra_iff_Int 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   275
            smallest_ccdi_sets_Int)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   276
    apply (metis Union_Pow_eq Union_upper subsetD smallest_ccdi_sets) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   277
    apply (blast intro: smallest_ccdi_sets.Disj) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   278
    done
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   279
  hence "sigma_sets (space M) (sets M) \<subseteq> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   280
    by auto 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   281
       (metis sigma_algebra.sigma_sets_subset algebra.simps(1) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   282
          algebra.simps(2) subsetD) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   283
  also have "...  \<subseteq> C"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   284
    proof
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   285
      fix x
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   286
      assume x: "x \<in> smallest_ccdi_sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   287
      thus "x \<in> C"
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   288
        proof (induct rule: smallest_ccdi_sets.induct)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   289
          case (Basic x)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   290
          thus ?case
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   291
            by (metis Basic subsetD sbC)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   292
        next
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   293
          case (Compl x)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   294
          thus ?case
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   295
            by (blast intro: closed_cdi_Compl [OF ccdi, simplified])
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   296
        next
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   297
          case (Inc A)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   298
          thus ?case
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   299
               by (auto intro: closed_cdi_Inc [OF ccdi, simplified]) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   300
        next
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   301
          case (Disj A)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   302
          thus ?case
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   303
               by (auto intro: closed_cdi_Disj [OF ccdi, simplified]) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   304
        qed
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   305
    qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   306
  finally show ?thesis .
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   307
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   308
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   309
lemma (in algebra) sigma_property_disjoint:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   310
  assumes sbC: "sets M \<subseteq> C"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   311
      and compl: "!!s. s \<in> C \<inter> sigma_sets (space M) (sets M) \<Longrightarrow> space M - s \<in> C"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   312
      and inc: "!!A. range A \<subseteq> C \<inter> sigma_sets (space M) (sets M) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   313
                     \<Longrightarrow> A 0 = {} \<Longrightarrow> (!!n. A n \<subseteq> A (Suc n)) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   314
                     \<Longrightarrow> (\<Union>i. A i) \<in> C"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   315
      and disj: "!!A. range A \<subseteq> C \<inter> sigma_sets (space M) (sets M) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   316
                      \<Longrightarrow> disjoint_family A \<Longrightarrow> (\<Union>i::nat. A i) \<in> C"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   317
  shows "sigma_sets (space M) (sets M) \<subseteq> C"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   318
proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   319
  have "sigma_sets (space M) (sets M) \<subseteq> C \<inter> sigma_sets (space M) (sets M)" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   320
    proof (rule sigma_property_disjoint_lemma) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   321
      show "sets M \<subseteq> C \<inter> sigma_sets (space M) (sets M)"
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   322
        by (metis Int_greatest Set.subsetI sbC sigma_sets.Basic)
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   323
    next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   324
      show "closed_cdi \<lparr>space = space M, sets = C \<inter> sigma_sets (space M) (sets M)\<rparr>"
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   325
        by (simp add: closed_cdi_def compl inc disj)
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   326
           (metis PowI Set.subsetI le_infI2 sigma_sets_into_sp space_closed
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   327
             IntE sigma_sets.Compl range_subsetD sigma_sets.Union)
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   328
    qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   329
  thus ?thesis
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   330
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   331
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   332
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   333
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   334
(* or just countably_additiveD [OF measure_space.ca] *)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   335
lemma (in measure_space) measure_countably_additive:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   336
    "range A \<subseteq> sets M
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   337
     \<Longrightarrow> disjoint_family A \<Longrightarrow> (\<Union>i. A i) \<in> sets M
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   338
     \<Longrightarrow> (measure M o A)  sums  measure M (\<Union>i. A i)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   339
  by (insert ca) (simp add: countably_additive_def o_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   340
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   341
lemma (in measure_space) additive:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   342
     "additive M (measure M)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   343
proof (rule algebra.countably_additive_additive [OF _ _ ca]) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   344
  show "algebra M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   345
    by (blast intro: sigma_algebra.axioms local.sigma_algebra_axioms)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   346
  show "positive M (measure M)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   347
    by (simp add: positive_def empty_measure positive) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   348
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   349
 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   350
lemma (in measure_space) measure_additive:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   351
     "a \<in> sets M \<Longrightarrow> b \<in> sets M \<Longrightarrow> a \<inter> b = {} 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   352
      \<Longrightarrow> measure M a + measure M b = measure M (a \<union> b)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   353
  by (metis additiveD additive)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   354
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   355
lemma (in measure_space) measure_compl:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   356
  assumes s: "s \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   357
  shows "measure M (space M - s) = measure M (space M) - measure M s"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   358
proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   359
  have "measure M (space M) = measure M (s \<union> (space M - s))" using s
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   360
    by (metis Un_Diff_cancel Un_absorb1 s sets_into_space)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   361
  also have "... = measure M s + measure M (space M - s)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   362
    by (rule additiveD [OF additive]) (auto simp add: s) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   363
  finally have "measure M (space M) = measure M s + measure M (space M - s)" .
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   364
  thus ?thesis
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   365
    by arith
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   366
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   367
36624
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
   368
lemma (in measure_space) measure_mono:
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
   369
  assumes "a \<subseteq> b" "a \<in> sets M" "b \<in> sets M"
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
   370
  shows "measure M a \<le> measure M b"
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
   371
proof -
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
   372
  have "b = a \<union> (b - a)" using assms by auto
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
   373
  moreover have "{} = a \<inter> (b - a)" by auto
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
   374
  ultimately have "measure M b = measure M a + measure M (b - a)"
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
   375
    using measure_additive[of a "b - a"] local.Diff[of b a] assms by auto
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
   376
  moreover have "measure M (b - a) \<ge> 0" using positive assms by auto
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
   377
  ultimately show "measure M a \<le> measure M b" by auto
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
   378
qed
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
   379
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   380
lemma disjoint_family_Suc:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   381
  assumes Suc: "!!n. A n \<subseteq> A (Suc n)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   382
  shows "disjoint_family (\<lambda>i. A (Suc i) - A i)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   383
proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   384
  {
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   385
    fix m
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   386
    have "!!n. A n \<subseteq> A (m+n)" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   387
    proof (induct m)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   388
      case 0 show ?case by simp
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   389
    next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   390
      case (Suc m) thus ?case
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   391
        by (metis Suc_eq_plus1 assms nat_add_commute nat_add_left_commute subset_trans)
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   392
    qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   393
  }
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   394
  hence "!!m n. m < n \<Longrightarrow> A m \<subseteq> A n"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   395
    by (metis add_commute le_add_diff_inverse nat_less_le)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   396
  thus ?thesis
35582
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   397
    by (auto simp add: disjoint_family_on_def)
33657
a4179bf442d1 renamed lemmas "anti_sym" -> "antisym"
nipkow
parents: 33536
diff changeset
   398
      (metis insert_absorb insert_subset le_SucE le_antisym not_leE) 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   399
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   400
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   401
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   402
lemma (in measure_space) measure_countable_increasing:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   403
  assumes A: "range A \<subseteq> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   404
      and A0: "A 0 = {}"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   405
      and ASuc: "!!n.  A n \<subseteq> A (Suc n)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   406
  shows "(measure M o A) ----> measure M (\<Union>i. A i)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   407
proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   408
  {
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   409
    fix n
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   410
    have "(measure M \<circ> A) n =
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   411
          setsum (measure M \<circ> (\<lambda>i. A (Suc i) - A i)) {0..<n}"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   412
      proof (induct n)
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   413
        case 0 thus ?case by (auto simp add: A0 empty_measure)
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   414
      next
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   415
        case (Suc m) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   416
        have "A (Suc m) = A m \<union> (A (Suc m) - A m)"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   417
          by (metis ASuc Un_Diff_cancel Un_absorb1)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   418
        hence "measure M (A (Suc m)) =
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   419
               measure M (A m) + measure M (A (Suc m) - A m)" 
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   420
          by (subst measure_additive) 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   421
             (auto simp add: measure_additive range_subsetD [OF A]) 
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   422
        with Suc show ?case
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   423
          by simp
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   424
      qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   425
  }
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   426
  hence Meq: "measure M o A = (\<lambda>n. setsum (measure M o (\<lambda>i. A(Suc i) - A i)) {0..<n})"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   427
    by (blast intro: ext) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   428
  have Aeq: "(\<Union>i. A (Suc i) - A i) = (\<Union>i. A i)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   429
    proof (rule UN_finite2_eq [where k=1], simp) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   430
      fix i
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   431
      show "(\<Union>i\<in>{0..<i}. A (Suc i) - A i) = (\<Union>i\<in>{0..<Suc i}. A i)"
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   432
        proof (induct i)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   433
          case 0 thus ?case by (simp add: A0)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   434
        next
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   435
          case (Suc i) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   436
          thus ?case
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   437
            by (auto simp add: atLeastLessThanSuc intro: subsetD [OF ASuc])
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   438
        qed
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   439
    qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   440
  have A1: "\<And>i. A (Suc i) - A i \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   441
    by (metis A Diff range_subsetD)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   442
  have A2: "(\<Union>i. A (Suc i) - A i) \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   443
    by (blast intro: countable_UN range_subsetD [OF A])  
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   444
  have "(measure M o (\<lambda>i. A (Suc i) - A i)) sums measure M (\<Union>i. A (Suc i) - A i)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   445
    by (rule measure_countably_additive) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   446
       (auto simp add: disjoint_family_Suc ASuc A1 A2)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   447
  also have "... =  measure M (\<Union>i. A i)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   448
    by (simp add: Aeq) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   449
  finally have "(measure M o (\<lambda>i. A (Suc i) - A i)) sums measure M (\<Union>i. A i)" .
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   450
  thus ?thesis
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   451
    by (auto simp add: sums_iff Meq dest: summable_sumr_LIMSEQ_suminf) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   452
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   453
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   454
lemma (in measure_space) monotone_convergence:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   455
  assumes A: "range A \<subseteq> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   456
      and ASuc: "!!n.  A n \<subseteq> A (Suc n)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   457
  shows "(measure M \<circ> A) ----> measure M (\<Union>i. A i)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   458
proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   459
  have ueq: "(\<Union>i. nat_case {} A i) = (\<Union>i. A i)" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   460
    by (auto simp add: split: nat.splits) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   461
  have meq: "measure M \<circ> A = (\<lambda>n. (measure M \<circ> nat_case {} A) (Suc n))"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   462
    by (rule ext) simp
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   463
  have "(measure M \<circ> nat_case {} A) ----> measure M (\<Union>i. nat_case {} A i)" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   464
    by (rule measure_countable_increasing) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   465
       (auto simp add: range_subsetD [OF A] subsetD [OF ASuc] split: nat.splits) 
36670
16b0a722083a avoid using '...' with LIMSEQ (cf. 1cc4ab4b7ff7)
huffman
parents: 36624
diff changeset
   466
  also have "measure M (\<Union>i. nat_case {} A i) = measure M (\<Union>i. A i)" 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   467
    by (simp add: ueq) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   468
  finally have "(measure M \<circ> nat_case {} A) ---->  measure M (\<Union>i. A i)" .
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   469
  thus ?thesis using meq
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   470
    by (metis LIMSEQ_Suc)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   471
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   472
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   473
lemma measurable_sigma_preimages:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   474
  assumes a: "sigma_algebra a" and b: "sigma_algebra b"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   475
      and f: "f \<in> space a -> space b"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   476
      and ba: "!!y. y \<in> sets b ==> f -` y \<in> sets a"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   477
  shows "sigma_algebra (|space = space a, sets = (vimage f) ` (sets b) |)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   478
proof (simp add: sigma_algebra_iff2, intro conjI) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   479
  show "op -` f ` sets b \<subseteq> Pow (space a)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   480
    by auto (metis IntE a algebra.Int_space_eq1 ba sigma_algebra_iff vimageI) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   481
next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   482
  show "{} \<in> op -` f ` sets b"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   483
    by (metis algebra.empty_sets b image_iff sigma_algebra_iff vimage_empty)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   484
next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   485
  { fix y
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   486
    assume y: "y \<in> sets b"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   487
    with a b f
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   488
    have "space a - f -` y = f -` (space b - y)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   489
      by (auto simp add: sigma_algebra_iff2) (blast intro: ba) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   490
    hence "space a - (f -` y) \<in> (vimage f) ` sets b"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   491
      by auto
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   492
         (metis b y subsetD equalityE imageI sigma_algebra.sigma_sets_eq
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   493
                sigma_sets.Compl) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   494
  } 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   495
  thus "\<forall>s\<in>sets b. space a - f -` s \<in> (vimage f) ` sets b"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   496
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   497
next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   498
  {
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   499
    fix A:: "nat \<Rightarrow> 'a set"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   500
    assume A: "range A \<subseteq> (vimage f) ` (sets b)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   501
    have  "(\<Union>i. A i) \<in> (vimage f) ` (sets b)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   502
      proof -
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   503
        def B \<equiv> "\<lambda>i. @v. v \<in> sets b \<and> f -` v = A i"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   504
        { 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   505
          fix i
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   506
          have "A i \<in> (vimage f) ` (sets b)" using A
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   507
            by blast
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   508
          hence "\<exists>v. v \<in> sets b \<and> f -` v = A i"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   509
            by blast
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   510
          hence "B i \<in> sets b \<and> f -` B i = A i" 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   511
            by (simp add: B_def) (erule someI_ex)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   512
        } note B = this
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   513
        show ?thesis
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   514
          proof
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   515
            show "(\<Union>i. A i) = f -` (\<Union>i. B i)"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   516
              by (simp add: vimage_UN B) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   517
           show "(\<Union>i. B i) \<in> sets b" using B
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   518
             by (auto intro: sigma_algebra.countable_UN [OF b]) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   519
          qed
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   520
      qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   521
  }
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   522
  thus "\<forall>A::nat \<Rightarrow> 'a set.
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   523
           range A \<subseteq> (vimage f) ` sets b \<longrightarrow> (\<Union>i. A i) \<in> (vimage f) ` sets b"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   524
    by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   525
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   526
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   527
lemma (in sigma_algebra) measurable_sigma:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   528
  assumes B: "B \<subseteq> Pow X" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   529
      and f: "f \<in> space M -> X"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   530
      and ba: "!!y. y \<in> B ==> (f -` y) \<inter> space M \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   531
  shows "f \<in> measurable M (sigma X B)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   532
proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   533
  have "sigma_sets X B \<subseteq> {y . (f -` y) \<inter> space M \<in> sets M & y \<subseteq> X}"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   534
    proof clarify
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   535
      fix x
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   536
      assume "x \<in> sigma_sets X B"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   537
      thus "f -` x \<inter> space M \<in> sets M \<and> x \<subseteq> X"
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   538
        proof induct
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   539
          case (Basic a)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   540
          thus ?case
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   541
            by (auto simp add: ba) (metis B subsetD PowD) 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   542
        next
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   543
          case Empty
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   544
          thus ?case
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   545
            by auto
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   546
        next
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   547
          case (Compl a)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   548
          have [simp]: "f -` X \<inter> space M = space M"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   549
            by (auto simp add: funcset_mem [OF f]) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   550
          thus ?case
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   551
            by (auto simp add: vimage_Diff Diff_Int_distrib2 compl_sets Compl)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   552
        next
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   553
          case (Union a)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   554
          thus ?case
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   555
            by (simp add: vimage_UN, simp only: UN_extend_simps(4))
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   556
               (blast intro: countable_UN)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   557
        qed
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   558
    qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   559
  thus ?thesis
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   560
    by (simp add: measurable_def sigma_algebra_axioms sigma_algebra_sigma B f) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   561
       (auto simp add: sigma_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   562
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   563
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   564
lemma measurable_subset:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   565
     "measurable a b \<subseteq> measurable a (sigma (space b) (sets b))"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   566
  apply clarify
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   567
  apply (rule sigma_algebra.measurable_sigma) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   568
  apply (auto simp add: measurable_def)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   569
  apply (metis algebra.sets_into_space subsetD sigma_algebra_iff) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   570
  done
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   571
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   572
lemma measurable_eqI: 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   573
     "space m1 = space m1' \<Longrightarrow> space m2 = space m2'
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   574
      \<Longrightarrow> sets m1 = sets m1' \<Longrightarrow> sets m2 = sets m2'
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   575
      \<Longrightarrow> measurable m1 m2 = measurable m1' m2'"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   576
  by (simp add: measurable_def sigma_algebra_iff2) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   577
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   578
lemma measure_preserving_lift:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   579
  fixes f :: "'a1 \<Rightarrow> 'a2" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   580
    and m1 :: "('a1, 'b1) measure_space_scheme"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   581
    and m2 :: "('a2, 'b2) measure_space_scheme"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   582
  assumes m1: "measure_space m1" and m2: "measure_space m2" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   583
  defines "m x \<equiv> (|space = space m2, sets = x, measure = measure m2, ... = more m2|)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   584
  assumes setsm2: "sets m2 = sigma_sets (space m2) a"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   585
      and fmp: "f \<in> measure_preserving m1 (m a)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   586
  shows "f \<in> measure_preserving m1 m2"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   587
proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   588
  have [simp]: "!!x. space (m x) = space m2 & sets (m x) = x & measure (m x) = measure m2"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   589
    by (simp add: m_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   590
  have sa1: "sigma_algebra m1" using m1 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   591
    by (simp add: measure_space_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   592
  show ?thesis using fmp
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   593
    proof (clarsimp simp add: measure_preserving_def m1 m2) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   594
      assume fm: "f \<in> measurable m1 (m a)" 
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   595
         and mam: "measure_space (m a)"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   596
         and meq: "\<forall>y\<in>a. measure m1 (f -` y \<inter> space m1) = measure m2 y"
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   597
      have "f \<in> measurable m1 (sigma (space (m a)) (sets (m a)))"
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   598
        by (rule subsetD [OF measurable_subset fm]) 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   599
      also have "... = measurable m1 m2"
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   600
        by (rule measurable_eqI) (simp_all add: m_def setsm2 sigma_def) 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   601
      finally have f12: "f \<in> measurable m1 m2" .
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   602
      hence ffn: "f \<in> space m1 \<rightarrow> space m2"
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   603
        by (simp add: measurable_def) 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   604
      have "space m1 \<subseteq> f -` (space m2)"
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   605
        by auto (metis PiE ffn)
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   606
      hence fveq [simp]: "(f -` (space m2)) \<inter> space m1 = space m1"
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   607
        by blast
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   608
      {
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   609
        fix y
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   610
        assume y: "y \<in> sets m2" 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   611
        have ama: "algebra (m a)"  using mam
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   612
          by (simp add: measure_space_def sigma_algebra_iff) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   613
        have spa: "space m2 \<in> a" using algebra.top [OF ama]
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   614
          by (simp add: m_def) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   615
        have "sigma_sets (space m2) a = sigma_sets (space (m a)) (sets (m a))"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   616
          by (simp add: m_def) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   617
        also have "... \<subseteq> {s . measure m1 ((f -` s) \<inter> space m1) = measure m2 s}"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   618
          proof (rule algebra.sigma_property_disjoint, auto simp add: ama) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   619
            fix x
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   620
            assume x: "x \<in> a"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   621
            thus "measure m1 (f -` x \<inter> space m1) = measure m2 x"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   622
              by (simp add: meq)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   623
          next
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   624
            fix s
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   625
            assume eq: "measure m1 (f -` s \<inter> space m1) = measure m2 s"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   626
               and s: "s \<in> sigma_sets (space m2) a"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   627
            hence s2: "s \<in> sets m2"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   628
              by (simp add: setsm2) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   629
            thus "measure m1 (f -` (space m2 - s) \<inter> space m1) =
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   630
                  measure m2 (space m2 - s)" using f12
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   631
              by (simp add: vimage_Diff Diff_Int_distrib2 eq m1 m2
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   632
                    measure_space.measure_compl measurable_def)  
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   633
                 (metis fveq meq spa) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   634
          next
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   635
            fix A
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   636
              assume A0: "A 0 = {}"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   637
                 and ASuc: "!!n.  A n \<subseteq> A (Suc n)"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   638
                 and rA1: "range A \<subseteq> 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   639
                           {s. measure m1 (f -` s \<inter> space m1) = measure m2 s}"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   640
                 and "range A \<subseteq> sigma_sets (space m2) a"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   641
              hence rA2: "range A \<subseteq> sets m2" by (metis setsm2)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   642
              have eq1: "!!i. measure m1 (f -` A i \<inter> space m1) = measure m2 (A i)"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   643
                using rA1 by blast
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   644
              have "(measure m2 \<circ> A) = measure m1 o (\<lambda>i. (f -` A i \<inter> space m1))" 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   645
                by (simp add: o_def eq1) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   646
              also have "... ----> measure m1 (\<Union>i. f -` A i \<inter> space m1)"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   647
                proof (rule measure_space.measure_countable_increasing [OF m1])
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   648
                  show "range (\<lambda>i. f -` A i \<inter> space m1) \<subseteq> sets m1"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   649
                    using f12 rA2 by (auto simp add: measurable_def)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   650
                  show "f -` A 0 \<inter> space m1 = {}" using A0
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   651
                    by blast
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   652
                  show "\<And>n. f -` A n \<inter> space m1 \<subseteq> f -` A (Suc n) \<inter> space m1"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   653
                    using ASuc by auto
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   654
                qed
36670
16b0a722083a avoid using '...' with LIMSEQ (cf. 1cc4ab4b7ff7)
huffman
parents: 36624
diff changeset
   655
              also have "measure m1 (\<Union>i. f -` A i \<inter> space m1) = measure m1 (f -` (\<Union>i. A i) \<inter> space m1)"
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   656
                by (simp add: vimage_UN)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   657
              finally have "(measure m2 \<circ> A) ----> measure m1 (f -` (\<Union>i. A i) \<inter> space m1)" .
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   658
              moreover
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   659
              have "(measure m2 \<circ> A) ----> measure m2 (\<Union>i. A i)"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   660
                by (rule measure_space.measure_countable_increasing 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   661
                          [OF m2 rA2, OF A0 ASuc])
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   662
              ultimately 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   663
              show "measure m1 (f -` (\<Union>i. A i) \<inter> space m1) =
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   664
                    measure m2 (\<Union>i. A i)"
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   665
                by (rule LIMSEQ_unique) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   666
          next
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   667
            fix A :: "nat => 'a2 set"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   668
              assume dA: "disjoint_family A"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   669
                 and rA1: "range A \<subseteq> 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   670
                           {s. measure m1 (f -` s \<inter> space m1) = measure m2 s}"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   671
                 and "range A \<subseteq> sigma_sets (space m2) a"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   672
              hence rA2: "range A \<subseteq> sets m2" by (metis setsm2)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   673
              hence Um2: "(\<Union>i. A i) \<in> sets m2"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   674
                by (metis range_subsetD setsm2 sigma_sets.Union)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   675
              have "!!i. measure m1 (f -` A i \<inter> space m1) = measure m2 (A i)"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   676
                using rA1 by blast
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   677
              hence "measure m2 o A = measure m1 o (\<lambda>i. f -` A i \<inter> space m1)"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   678
                by (simp add: o_def) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   679
              also have "... sums measure m1 (\<Union>i. f -` A i \<inter> space m1)" 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   680
                proof (rule measure_space.measure_countably_additive [OF m1] )
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   681
                  show "range (\<lambda>i. f -` A i \<inter> space m1) \<subseteq> sets m1"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   682
                    using f12 rA2 by (auto simp add: measurable_def)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   683
                  show "disjoint_family (\<lambda>i. f -` A i \<inter> space m1)" using dA
35582
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   684
                    by (auto simp add: disjoint_family_on_def) 
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   685
                  show "(\<Union>i. f -` A i \<inter> space m1) \<in> sets m1"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   686
                    proof (rule sigma_algebra.countable_UN [OF sa1])
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   687
                      show "range (\<lambda>i. f -` A i \<inter> space m1) \<subseteq> sets m1" using f12 rA2
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   688
                        by (auto simp add: measurable_def) 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   689
                    qed
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   690
                qed
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   691
              finally have "(measure m2 o A) sums measure m1 (\<Union>i. f -` A i \<inter> space m1)" .
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   692
              with measure_space.measure_countably_additive [OF m2 rA2 dA Um2] 
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   693
              have "measure m1 (\<Union>i. f -` A i \<inter> space m1) = measure m2 (\<Union>i. A i)"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   694
                by (metis sums_unique) 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   695
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   696
              moreover have "measure m1 (f -` (\<Union>i. A i) \<inter> space m1) = measure m1 (\<Union>i. f -` A i \<inter> space m1)"
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   697
                by (simp add: vimage_UN)
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   698
              ultimately show "measure m1 (f -` (\<Union>i. A i) \<inter> space m1) =
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   699
                    measure m2 (\<Union>i. A i)" 
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   700
                by metis
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   701
          qed
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   702
        finally have "sigma_sets (space m2) a 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   703
              \<subseteq> {s . measure m1 ((f -` s) \<inter> space m1) = measure m2 s}" .
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   704
        hence "measure m1 (f -` y \<inter> space m1) = measure m2 y" using y
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   705
          by (force simp add: setsm2) 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   706
      }
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   707
      thus "f \<in> measurable m1 m2 \<and>
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   708
       (\<forall>y\<in>sets m2.
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   709
           measure m1 (f -` y \<inter> space m1) = measure m2 y)"
33536
fd28b7399f2b eliminated hard tabulators;
wenzelm
parents: 33273
diff changeset
   710
        by (blast intro: f12) 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   711
    qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   712
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   713
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   714
lemma measurable_ident:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   715
     "sigma_algebra M ==> id \<in> measurable M M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   716
  apply (simp add: measurable_def)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   717
  apply (auto simp add: sigma_algebra_def algebra.Int algebra.top)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   718
  done
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   719
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   720
lemma measurable_comp:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   721
  fixes f :: "'a \<Rightarrow> 'b" and g :: "'b \<Rightarrow> 'c" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   722
  shows "f \<in> measurable a b \<Longrightarrow> g \<in> measurable b c \<Longrightarrow> (g o f) \<in> measurable a c"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   723
  apply (auto simp add: measurable_def vimage_compose) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   724
  apply (subgoal_tac "f -` g -` y \<inter> space a = f -` (g -` y \<inter> space b) \<inter> space a")
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   725
  apply force+
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   726
  done
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   727
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   728
 lemma measurable_strong:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   729
  fixes f :: "'a \<Rightarrow> 'b" and g :: "'b \<Rightarrow> 'c" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   730
  assumes f: "f \<in> measurable a b" and g: "g \<in> (space b -> space c)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   731
      and c: "sigma_algebra c"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   732
      and t: "f ` (space a) \<subseteq> t"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   733
      and cb: "\<And>s. s \<in> sets c \<Longrightarrow> (g -` s) \<inter> t \<in> sets b"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   734
  shows "(g o f) \<in> measurable a c"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   735
proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   736
  have a: "sigma_algebra a" and b: "sigma_algebra b"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   737
   and fab: "f \<in> (space a -> space b)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   738
   and ba: "\<And>y. y \<in> sets b \<Longrightarrow> (f -` y) \<inter> (space a) \<in> sets a" using f
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   739
     by (auto simp add: measurable_def)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   740
  have eq: "f -` g -` y \<inter> space a = f -` (g -` y \<inter> t) \<inter> space a" using t
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   741
    by force
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   742
  show ?thesis
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   743
    apply (auto simp add: measurable_def vimage_compose a c) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   744
    apply (metis funcset_mem fab g) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   745
    apply (subst eq, metis ba cb) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   746
    done
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   747
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   748
 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   749
lemma measurable_mono1:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   750
     "a \<subseteq> b \<Longrightarrow> sigma_algebra \<lparr>space = X, sets = b\<rparr>
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   751
      \<Longrightarrow> measurable \<lparr>space = X, sets = a\<rparr> c \<subseteq> measurable \<lparr>space = X, sets = b\<rparr> c"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   752
  by (auto simp add: measurable_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   753
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   754
lemma measurable_up_sigma:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   755
   "measurable a b \<subseteq> measurable (sigma (space a) (sets a)) b"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   756
  apply (auto simp add: measurable_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   757
  apply (metis sigma_algebra_iff2 sigma_algebra_sigma)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   758
  apply (metis algebra.simps(2) sigma_algebra.sigma_sets_eq sigma_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   759
  done
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   760
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   761
lemma measure_preserving_up:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   762
   "f \<in> measure_preserving \<lparr>space = space m1, sets = a, measure = measure m1\<rparr> m2 \<Longrightarrow>
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   763
    measure_space m1 \<Longrightarrow> sigma_algebra m1 \<Longrightarrow> a \<subseteq> sets m1 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   764
    \<Longrightarrow> f \<in> measure_preserving m1 m2"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   765
  by (auto simp add: measure_preserving_def measurable_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   766
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   767
lemma measure_preserving_up_sigma:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   768
   "measure_space m1 \<Longrightarrow> (sets m1 = sets (sigma (space m1) a))
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   769
    \<Longrightarrow> measure_preserving \<lparr>space = space m1, sets = a, measure = measure m1\<rparr> m2 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   770
        \<subseteq> measure_preserving m1 m2"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   771
  apply (rule subsetI) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   772
  apply (rule measure_preserving_up) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   773
  apply (simp_all add: measure_space_def sigma_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   774
  apply (metis sigma_algebra.sigma_sets_eq subsetI sigma_sets.Basic) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   775
  done
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   776
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   777
lemma (in sigma_algebra) measurable_prod_sigma:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   778
  assumes 1: "(fst o f) \<in> measurable M a1" and 2: "(snd o f) \<in> measurable M a2"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   779
  shows "f \<in> measurable M (sigma ((space a1) \<times> (space a2)) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   780
                          (prod_sets (sets a1) (sets a2)))"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   781
proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   782
  from 1 have sa1: "sigma_algebra a1" and fn1: "fst \<circ> f \<in> space M \<rightarrow> space a1"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   783
     and q1: "\<forall>y\<in>sets a1. (fst \<circ> f) -` y \<inter> space M \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   784
    by (auto simp add: measurable_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   785
  from 2 have sa2: "sigma_algebra a2" and fn2: "snd \<circ> f \<in> space M \<rightarrow> space a2"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   786
     and q2: "\<forall>y\<in>sets a2. (snd \<circ> f) -` y \<inter> space M \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   787
    by (auto simp add: measurable_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   788
  show ?thesis
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   789
    proof (rule measurable_sigma) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   790
      show "prod_sets (sets a1) (sets a2) \<subseteq> Pow (space a1 \<times> space a2)" using sa1 sa2
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   791
        by (force simp add: prod_sets_def sigma_algebra_iff algebra_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   792
    next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   793
      show "f \<in> space M \<rightarrow> space a1 \<times> space a2" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   794
        by (rule prod_final [OF fn1 fn2])
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   795
    next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   796
      fix z
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   797
      assume z: "z \<in> prod_sets (sets a1) (sets a2)" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   798
      thus "f -` z \<inter> space M \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   799
        proof (auto simp add: prod_sets_def vimage_Times) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   800
          fix x y
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   801
          assume x: "x \<in> sets a1" and y: "y \<in> sets a2"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   802
          have "(fst \<circ> f) -` x \<inter> (snd \<circ> f) -` y \<inter> space M = 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   803
                ((fst \<circ> f) -` x \<inter> space M) \<inter> ((snd \<circ> f) -` y \<inter> space M)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   804
            by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   805
          also have "...  \<in> sets M" using x y q1 q2
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   806
            by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   807
          finally show "(fst \<circ> f) -` x \<inter> (snd \<circ> f) -` y \<inter> space M \<in> sets M" .
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   808
        qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   809
    qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   810
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   811
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   812
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   813
lemma (in measure_space) measurable_range_reduce:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   814
   "f \<in> measurable M \<lparr>space = s, sets = Pow s\<rparr> \<Longrightarrow>
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   815
    s \<noteq> {} 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   816
    \<Longrightarrow> f \<in> measurable M \<lparr>space = s \<inter> (f ` space M), sets = Pow (s \<inter> (f ` space M))\<rparr>"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   817
  by (simp add: measurable_def sigma_algebra_Pow del: Pow_Int_eq) blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   818
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   819
lemma (in measure_space) measurable_Pow_to_Pow:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   820
   "(sets M = Pow (space M)) \<Longrightarrow> f \<in> measurable M \<lparr>space = UNIV, sets = Pow UNIV\<rparr>"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   821
  by (auto simp add: measurable_def sigma_algebra_def sigma_algebra_axioms_def algebra_def)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   822
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   823
lemma (in measure_space) measurable_Pow_to_Pow_image:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   824
   "sets M = Pow (space M)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   825
    \<Longrightarrow> f \<in> measurable M \<lparr>space = f ` space M, sets = Pow (f ` space M)\<rparr>"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   826
  by (simp add: measurable_def sigma_algebra_Pow) intro_locales
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   827
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   828
lemma (in measure_space) measure_real_sum_image:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   829
  assumes s: "s \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   830
      and ssets: "\<And>x. x \<in> s ==> {x} \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   831
      and fin: "finite s"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   832
  shows "measure M s = (\<Sum>x\<in>s. measure M {x})"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   833
proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   834
  {
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   835
    fix u
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   836
    assume u: "u \<subseteq> s & u \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   837
    hence "finite u"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   838
      by (metis fin finite_subset) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   839
    hence "measure M u = (\<Sum>x\<in>u. measure M {x})" using u
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   840
      proof (induct u)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   841
        case empty
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   842
        thus ?case by simp
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   843
      next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   844
        case (insert x t)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   845
        hence x: "x \<in> s" and t: "t \<subseteq> s" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   846
          by (simp_all add: insert_subset) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   847
        hence ts: "t \<in> sets M"  using insert
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   848
          by (metis Diff_insert_absorb Diff ssets)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   849
        have "measure M (insert x t) = measure M ({x} \<union> t)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   850
          by simp
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   851
        also have "... = measure M {x} + measure M t" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   852
          by (simp add: measure_additive insert insert_disjoint ssets x ts 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   853
                  del: Un_insert_left)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   854
        also have "... = (\<Sum>x\<in>insert x t. measure M {x})" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   855
          by (simp add: x t ts insert) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   856
        finally show ?case .
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   857
      qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   858
    }
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   859
  thus ?thesis
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   860
    by (metis subset_refl s)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   861
qed
35582
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   862
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   863
lemma (in measure_space) measure_finitely_additive':
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   864
  assumes "f \<in> ({0 :: nat ..< n} \<rightarrow> sets M)"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   865
  assumes "\<And> a b. \<lbrakk>a < n ; b < n ; a \<noteq> b\<rbrakk> \<Longrightarrow> f a \<inter> f b = {}"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   866
  assumes "s = \<Union> (f ` {0 ..< n})"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   867
  shows "(\<Sum> i \<in> {0 ..< n}. (measure M \<circ> f) i) = measure M s"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   868
proof -
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   869
  def f' == "\<lambda> i. (if i < n then f i else {})"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   870
  have rf: "range f' \<subseteq> sets M" unfolding f'_def 
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   871
    using assms empty_sets by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   872
  have df: "disjoint_family f'" unfolding f'_def disjoint_family_on_def 
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   873
    using assms by simp
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   874
  have "\<Union> range f' = (\<Union> i \<in> {0 ..< n}. f i)" 
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   875
    unfolding f'_def by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   876
  then have "measure M s = measure M (\<Union> range f')" 
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   877
    using assms by simp
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   878
  then have part1: "(\<lambda> i. measure M (f' i)) sums measure M s" 
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   879
    using df rf ca[unfolded countably_additive_def, rule_format, of f']
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   880
    by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   881
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   882
  have "(\<lambda> i. measure M (f' i)) sums (\<Sum> i \<in> {0 ..< n}. measure M (f' i))" 
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   883
    using series_zero[of "n" "\<lambda> i. measure M (f' i)", rule_format] 
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   884
    unfolding f'_def by simp
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   885
  also have "\<dots> = (\<Sum> i \<in> {0 ..< n}. measure M (f i))" 
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   886
    unfolding f'_def by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   887
  finally have part2: "(\<lambda> i. measure M (f' i)) sums (\<Sum> i \<in> {0 ..< n}. measure M (f i))" by simp
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   888
  show ?thesis 
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   889
    using sums_unique[OF part1] 
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   890
          sums_unique[OF part2] by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   891
qed
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   892
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   893
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   894
lemma (in measure_space) measure_finitely_additive:
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   895
  assumes "finite r"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   896
  assumes "r \<subseteq> sets M"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   897
  assumes d: "\<And> a b. \<lbrakk>a \<in> r ; b \<in> r ; a \<noteq> b\<rbrakk> \<Longrightarrow> a \<inter> b = {}"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   898
  shows "(\<Sum> i \<in> r. measure M i) = measure M (\<Union> r)"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   899
using assms
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   900
proof -
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   901
  (* counting the elements in r is enough *)
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   902
  let ?R = "{0 ..< card r}"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   903
  obtain f where f: "f ` ?R = r" "inj_on f ?R"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   904
    using ex_bij_betw_nat_finite[unfolded bij_betw_def, OF `finite r`]
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   905
    by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   906
  hence f_into_sets: "f \<in> ?R \<rightarrow> sets M" using assms by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   907
  have disj: "\<And> a b. \<lbrakk>a \<in> ?R ; b \<in> ?R ; a \<noteq> b\<rbrakk> \<Longrightarrow> f a \<inter> f b = {}"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   908
  proof -
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   909
    fix a b assume asm: "a \<in> ?R" "b \<in> ?R" "a \<noteq> b"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   910
    hence neq: "f a \<noteq> f b" using f[unfolded inj_on_def, rule_format] by blast
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   911
    from asm have "f a \<in> r" "f b \<in> r" using f by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   912
    thus "f a \<inter> f b = {}" using d[of "f a" "f b"] f using neq by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   913
  qed
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   914
  have "(\<Union> r) = (\<Union> i \<in> ?R. f i)"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   915
    using f by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   916
  hence "measure M (\<Union> r)= measure M (\<Union> i \<in> ?R. f i)" by simp
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   917
  also have "\<dots> = (\<Sum> i \<in> ?R. measure M (f i))"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   918
    using measure_finitely_additive'[OF f_into_sets disj] by simp
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   919
  also have "\<dots> = (\<Sum> a \<in> r. measure M a)" 
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   920
    using f[rule_format] setsum_reindex[of f ?R "\<lambda> a. measure M a"] by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   921
  finally show ?thesis by simp
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   922
qed
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   923
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   924
lemma (in measure_space) measure_finitely_additive'':
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   925
  assumes "finite s"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   926
  assumes "\<And> i. i \<in> s \<Longrightarrow> a i \<in> sets M"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   927
  assumes d: "disjoint_family_on a s"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   928
  shows "(\<Sum> i \<in> s. measure M (a i)) = measure M (\<Union> i \<in> s. a i)"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   929
using assms
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   930
proof -
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   931
  (* counting the elements in s is enough *)
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   932
  let ?R = "{0 ..< card s}"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   933
  obtain f where f: "f ` ?R = s" "inj_on f ?R"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   934
    using ex_bij_betw_nat_finite[unfolded bij_betw_def, OF `finite s`]
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   935
    by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   936
  hence f_into_sets: "a \<circ> f \<in> ?R \<rightarrow> sets M" using assms unfolding o_def by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   937
  have disj: "\<And> i j. \<lbrakk>i \<in> ?R ; j \<in> ?R ; i \<noteq> j\<rbrakk> \<Longrightarrow> (a \<circ> f) i \<inter> (a \<circ> f) j = {}"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   938
  proof -
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   939
    fix i j assume asm: "i \<in> ?R" "j \<in> ?R" "i \<noteq> j"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   940
    hence neq: "f i \<noteq> f j" using f[unfolded inj_on_def, rule_format] by blast
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   941
    from asm have "f i \<in> s" "f j \<in> s" using f by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   942
    thus "(a \<circ> f) i \<inter> (a \<circ> f) j = {}"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   943
      using d f neq unfolding disjoint_family_on_def by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   944
  qed
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   945
  have "(\<Union> i \<in> s. a i) = (\<Union> i \<in> f ` ?R. a i)" using f by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   946
  hence "(\<Union> i \<in> s. a i) = (\<Union> i \<in> ?R. a (f i))" by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   947
  hence "measure M (\<Union> i \<in> s. a i) = (\<Sum> i \<in> ?R. measure M (a (f i)))"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   948
    using measure_finitely_additive'[OF f_into_sets disj] by simp
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   949
  also have "\<dots> = (\<Sum> i \<in> s. measure M (a i))"
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   950
    using f[rule_format] setsum_reindex[of f ?R "\<lambda> i. measure M (a i)"] by auto
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   951
  finally show ?thesis by simp
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   952
qed
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   953
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   954
lemma (in sigma_algebra) sigma_algebra_extend:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   955
     "sigma_algebra \<lparr>space = space M, sets = sets M, measure_space.measure = f\<rparr>"
33273
9290fbf0a30e Probability tweaks
paulson
parents: 33271
diff changeset
   956
   by unfold_locales (auto intro!: space_closed)
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   957
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   958
lemma (in sigma_algebra) finite_additivity_sufficient:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   959
  assumes fin: "finite (space M)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   960
      and posf: "positive M f" and addf: "additive M f" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   961
  defines "Mf \<equiv> \<lparr>space = space M, sets = sets M, measure = f\<rparr>"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   962
  shows "measure_space Mf" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   963
proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   964
  have [simp]: "f {} = 0" using posf
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   965
    by (simp add: positive_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   966
  have "countably_additive Mf f"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   967
    proof (auto simp add: countably_additive_def positive_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   968
      fix A :: "nat \<Rightarrow> 'a set"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   969
      assume A: "range A \<subseteq> sets Mf"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   970
         and disj: "disjoint_family A"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   971
         and UnA: "(\<Union>i. A i) \<in> sets Mf"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   972
      def I \<equiv> "{i. A i \<noteq> {}}"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   973
      have "Union (A ` I) \<subseteq> space M" using A
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   974
        by (auto simp add: Mf_def) (metis range_subsetD subsetD sets_into_space) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   975
      hence "finite (A ` I)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   976
        by (metis finite_UnionD finite_subset fin) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   977
      moreover have "inj_on A I" using disj
35582
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
   978
        by (auto simp add: I_def disjoint_family_on_def inj_on_def) 
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   979
      ultimately have finI: "finite I"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   980
        by (metis finite_imageD)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   981
      hence "\<exists>N. \<forall>m\<ge>N. A m = {}"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   982
        proof (cases "I = {}")
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   983
          case True thus ?thesis by (simp add: I_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   984
        next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   985
          case False
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   986
          hence "\<forall>i\<in>I. i < Suc(Max I)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   987
            by (simp add: Max_less_iff [symmetric] finI) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   988
          hence "\<forall>m \<ge> Suc(Max I). A m = {}"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   989
            by (simp add: I_def) (metis less_le_not_le) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   990
          thus ?thesis
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   991
            by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   992
        qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   993
      then obtain N where N: "\<forall>m\<ge>N. A m = {}" by blast
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   994
      hence "\<forall>m\<ge>N. (f o A) m = 0"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   995
        by simp 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   996
      hence "(\<lambda>n. f (A n)) sums setsum (f o A) {0..<N}" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   997
        by (simp add: series_zero o_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   998
      also have "... = f (\<Union>i<N. A i)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
   999
        proof (induct N)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1000
          case 0 thus ?case by simp
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1001
        next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1002
          case (Suc n) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1003
          have "f (A n \<union> (\<Union> x<n. A x)) = f (A n) + f (\<Union> i<n. A i)"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1004
            proof (rule Caratheodory.additiveD [OF addf])
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1005
              show "A n \<inter> (\<Union> x<n. A x) = {}" using disj
35582
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
  1006
                by (auto simp add: disjoint_family_on_def nat_less_le) blast
33271
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1007
              show "A n \<in> sets M" using A 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1008
                by (force simp add: Mf_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1009
              show "(\<Union>i<n. A i) \<in> sets M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1010
                proof (induct n)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1011
                  case 0 thus ?case by simp
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1012
                next
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1013
                  case (Suc n) thus ?case using A
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1014
                    by (simp add: lessThan_Suc Mf_def Un range_subsetD) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1015
                qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1016
            qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1017
          thus ?case using Suc
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1018
            by (simp add: lessThan_Suc) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1019
        qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1020
      also have "... = f (\<Union>i. A i)" 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1021
        proof -
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1022
          have "(\<Union> i<N. A i) = (\<Union>i. A i)" using N
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1023
            by auto (metis Int_absorb N disjoint_iff_not_equal lessThan_iff not_leE)
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1024
          thus ?thesis by simp
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1025
        qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1026
      finally show "(\<lambda>n. f (A n)) sums f (\<Union>i. A i)" .
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1027
    qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1028
  thus ?thesis using posf 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1029
    by (simp add: Mf_def measure_space_def measure_space_axioms_def sigma_algebra_extend positive_def) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1030
qed
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1031
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1032
lemma finite_additivity_sufficient:
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1033
     "sigma_algebra M 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1034
      \<Longrightarrow> finite (space M) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1035
      \<Longrightarrow> positive M (measure M) \<Longrightarrow> additive M (measure M) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1036
      \<Longrightarrow> measure_space M"
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1037
  by (rule measure_down [OF sigma_algebra.finite_additivity_sufficient], auto) 
7be66dee1a5a New theory Probability, which contains a development of measure theory
paulson
parents:
diff changeset
  1038
35692
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1039
lemma (in measure_space) measure_setsum_split:
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1040
  assumes "finite r" and "a \<in> sets M" and br_in_M: "b ` r \<subseteq> sets M"
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1041
  assumes "(\<Union>i \<in> r. b i) = space M"
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1042
  assumes "disjoint_family_on b r"
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1043
  shows "(measure M) a = (\<Sum> i \<in> r. measure M (a \<inter> (b i)))"
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1044
proof -
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1045
  have *: "measure M a = measure M (\<Union>i \<in> r. a \<inter> b i)"
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1046
    using assms by auto
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1047
  show ?thesis unfolding *
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1048
  proof (rule measure_finitely_additive''[symmetric])
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1049
    show "finite r" using `finite r` by auto
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1050
    { fix i assume "i \<in> r"
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1051
      hence "b i \<in> sets M" using br_in_M by auto
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1052
      thus "a \<inter> b i \<in> sets M" using `a \<in> sets M` by auto
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1053
    }
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1054
    show "disjoint_family_on (\<lambda>i. a \<inter> b i) r"
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1055
      using `disjoint_family_on b r`
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1056
      unfolding disjoint_family_on_def by auto
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1057
  qed
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1058
qed
f1315bbf1bc9 Moved theorems in Lebesgue to the right places
hoelzl
parents: 35582
diff changeset
  1059
36624
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
  1060
locale finite_measure_space = measure_space +
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
  1061
  assumes finite_space: "finite (space M)"
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
  1062
  and sets_eq_Pow: "sets M = Pow (space M)"
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
  1063
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
  1064
lemma (in finite_measure_space) sum_over_space: "(\<Sum>x\<in>space M. measure M {x}) = measure M (space M)"
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
  1065
  using measure_finitely_additive''[of "space M" "\<lambda>i. {i}"]
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
  1066
  by (simp add: sets_eq_Pow disjoint_family_on_def finite_space)
25153c08655e Cleanup information theory
hoelzl
parents: 35977
diff changeset
  1067
35582
b16d99a72dc9 Add Lebesgue integral and probability space.
hoelzl
parents: 33657
diff changeset
  1068
end