Structure measureTheory
signature measureTheory =
sig
  type thm = Thm.thm
  (*  Definitions  *)
    val Borel_def : thm
    val additive_def : thm
    val algebra_def : thm
    val closed_cdi_def : thm
    val countably_additive_def : thm
    val countably_subadditive_def : thm
    val fn_abs_def : thm
    val fn_minus_def : thm
    val fn_plus_def : thm
    val increasing_def : thm
    val indicator_fn_def : thm
    val inf_measure_def : thm
    val lambda_system_def : thm
    val m_space_def : thm
    val measurable_def : thm
    val measurable_sets_def : thm
    val measure_def : thm
    val measure_preserving_def : thm
    val measure_space_def : thm
    val null_set_def : thm
    val outer_measure_space_def : thm
    val pos_simple_fn_def : thm
    val positive_def : thm
    val sigma_algebra_def : thm
    val sigma_def : thm
    val smallest_closed_cdi_def : thm
    val space_def : thm
    val subadditive_def : thm
    val subset_class_def : thm
    val subsets_def : thm
  (*  Theorems  *)
    val ADDITIVE : thm
    val ADDITIVE_INCREASING : thm
    val ADDITIVE_SUM : thm
    val ALGEBRA_ALT_INTER : thm
    val ALGEBRA_COMPL : thm
    val ALGEBRA_DIFF : thm
    val ALGEBRA_EMPTY : thm
    val ALGEBRA_FINITE_UNION : thm
    val ALGEBRA_INTER : thm
    val ALGEBRA_INTER_SPACE : thm
    val ALGEBRA_SPACE : thm
    val ALGEBRA_SUBSET_LAMBDA_SYSTEM : thm
    val ALGEBRA_UNION : thm
    val BIGUNION_IMAGE_Q : thm
    val BOREL_MEASURABLE_SETS : thm
    val BOREL_MEASURABLE_SETS1 : thm
    val BOREL_MEASURABLE_SETS10 : thm
    val BOREL_MEASURABLE_SETS2 : thm
    val BOREL_MEASURABLE_SETS3 : thm
    val BOREL_MEASURABLE_SETS4 : thm
    val BOREL_MEASURABLE_SETS5 : thm
    val BOREL_MEASURABLE_SETS6 : thm
    val BOREL_MEASURABLE_SETS7 : thm
    val BOREL_MEASURABLE_SETS8 : thm
    val BOREL_MEASURABLE_SETS9 : thm
    val CARATHEODORY : thm
    val CARATHEODORY_LEMMA : thm
    val CLOSED_CDI_COMPL : thm
    val CLOSED_CDI_DISJOINT : thm
    val CLOSED_CDI_DUNION : thm
    val CLOSED_CDI_INCREASING : thm
    val COUNTABLY_ADDITIVE : thm
    val COUNTABLY_ADDITIVE_ADDITIVE : thm
    val COUNTABLY_SUBADDITIVE : thm
    val COUNTABLY_SUBADDITIVE_SUBADDITIVE : thm
    val FN_MINUS_ADD_LE : thm
    val FN_MINUS_CMUL : thm
    val FN_MINUS_POS : thm
    val FN_MINUS_POS_ZERO : thm
    val FN_PLUS_ADD_LE : thm
    val FN_PLUS_CMUL : thm
    val FN_PLUS_POS : thm
    val FN_PLUS_POS_ID : thm
    val IMAGE_SING : thm
    val INCREASING : thm
    val INCREASING_ADDITIVE_SUMMABLE : thm
    val INDICATOR_FN_MUL_INTER : thm
    val INF_MEASURE_AGREES : thm
    val INF_MEASURE_CLOSE : thm
    val INF_MEASURE_COUNTABLY_SUBADDITIVE : thm
    val INF_MEASURE_EMPTY : thm
    val INF_MEASURE_INCREASING : thm
    val INF_MEASURE_LE : thm
    val INF_MEASURE_NONEMPTY : thm
    val INF_MEASURE_OUTER : thm
    val INF_MEASURE_POS : thm
    val INF_MEASURE_POS0 : thm
    val INF_MEASURE_POSITIVE : thm
    val IN_MEASURABLE : thm
    val IN_MEASURABLE_BOREL : thm
    val IN_MEASURABLE_BOREL_ABS : thm
    val IN_MEASURABLE_BOREL_ADD : thm
    val IN_MEASURABLE_BOREL_ALL : thm
    val IN_MEASURABLE_BOREL_ALL_MEASURE : thm
    val IN_MEASURABLE_BOREL_ALT1 : thm
    val IN_MEASURABLE_BOREL_ALT2 : thm
    val IN_MEASURABLE_BOREL_ALT3 : thm
    val IN_MEASURABLE_BOREL_ALT4 : thm
    val IN_MEASURABLE_BOREL_ALT5 : thm
    val IN_MEASURABLE_BOREL_ALT6 : thm
    val IN_MEASURABLE_BOREL_ALT7 : thm
    val IN_MEASURABLE_BOREL_ALT8 : thm
    val IN_MEASURABLE_BOREL_ALT9 : thm
    val IN_MEASURABLE_BOREL_CMUL : thm
    val IN_MEASURABLE_BOREL_CMUL_INDICATOR : thm
    val IN_MEASURABLE_BOREL_CONST : thm
    val IN_MEASURABLE_BOREL_FN_MINUS : thm
    val IN_MEASURABLE_BOREL_FN_PLUS : thm
    val IN_MEASURABLE_BOREL_INDICATOR : thm
    val IN_MEASURABLE_BOREL_LE : thm
    val IN_MEASURABLE_BOREL_LT : thm
    val IN_MEASURABLE_BOREL_MAX : thm
    val IN_MEASURABLE_BOREL_MONO_SUP : thm
    val IN_MEASURABLE_BOREL_MUL : thm
    val IN_MEASURABLE_BOREL_MUL_INDICATOR : thm
    val IN_MEASURABLE_BOREL_MUL_INDICATOR_EQ : thm
    val IN_MEASURABLE_BOREL_NEGINF : thm
    val IN_MEASURABLE_BOREL_PLUS_MINUS : thm
    val IN_MEASURABLE_BOREL_POS_SIMPLE_FN : thm
    val IN_MEASURABLE_BOREL_POW : thm
    val IN_MEASURABLE_BOREL_SQR : thm
    val IN_MEASURABLE_BOREL_SUB : thm
    val IN_MEASURABLE_BOREL_SUM : thm
    val IN_MEASURE_PRESERVING : thm
    val IN_SIGMA : thm
    val LAMBDA_SYSTEM_ADDITIVE : thm
    val LAMBDA_SYSTEM_ALGEBRA : thm
    val LAMBDA_SYSTEM_CARATHEODORY : thm
    val LAMBDA_SYSTEM_COMPL : thm
    val LAMBDA_SYSTEM_EMPTY : thm
    val LAMBDA_SYSTEM_INCREASING : thm
    val LAMBDA_SYSTEM_INTER : thm
    val LAMBDA_SYSTEM_POSITIVE : thm
    val LAMBDA_SYSTEM_STRONG_ADDITIVE : thm
    val LAMBDA_SYSTEM_STRONG_SUM : thm
    val MEASUBABLE_BIGUNION_LEMMA : thm
    val MEASURABLE_BIGUNION_PROPERTY : thm
    val MEASURABLE_BOREL : thm
    val MEASURABLE_COMP : thm
    val MEASURABLE_COMP_STRONG : thm
    val MEASURABLE_COMP_STRONGER : thm
    val MEASURABLE_DIFF_PROPERTY : thm
    val MEASURABLE_I : thm
    val MEASURABLE_LIFT : thm
    val MEASURABLE_POW_TO_POW : thm
    val MEASURABLE_POW_TO_POW_IMAGE : thm
    val MEASURABLE_PROD_SIGMA : thm
    val MEASURABLE_RANGE_REDUCE : thm
    val MEASURABLE_SETS_SUBSET_SPACE : thm
    val MEASURABLE_SIGMA : thm
    val MEASURABLE_SIGMA_PREIMAGES : thm
    val MEASURABLE_SUBSET : thm
    val MEASURABLE_UP_LIFT : thm
    val MEASURABLE_UP_SIGMA : thm
    val MEASURABLE_UP_SUBSET : thm
    val MEASURE_ADDITIVE : thm
    val MEASURE_COMPL : thm
    val MEASURE_COMPL_SUBSET : thm
    val MEASURE_COUNTABLE_INCREASING : thm
    val MEASURE_COUNTABLY_ADDITIVE : thm
    val MEASURE_DOWN : thm
    val MEASURE_EMPTY : thm
    val MEASURE_PRESERVING_LIFT : thm
    val MEASURE_PRESERVING_SUBSET : thm
    val MEASURE_PRESERVING_UP_LIFT : thm
    val MEASURE_PRESERVING_UP_SIGMA : thm
    val MEASURE_PRESERVING_UP_SUBSET : thm
    val MEASURE_REAL_SUM_IMAGE : thm
    val MEASURE_SPACE_ADDITIVE : thm
    val MEASURE_SPACE_BIGINTER : thm
    val MEASURE_SPACE_BIGUNION : thm
    val MEASURE_SPACE_CMUL : thm
    val MEASURE_SPACE_DIFF : thm
    val MEASURE_SPACE_EMPTY_MEASURABLE : thm
    val MEASURE_SPACE_INCREASING : thm
    val MEASURE_SPACE_INTER : thm
    val MEASURE_SPACE_IN_MSPACE : thm
    val MEASURE_SPACE_MSPACE_MEASURABLE : thm
    val MEASURE_SPACE_POSITIVE : thm
    val MEASURE_SPACE_REDUCE : thm
    val MEASURE_SPACE_RESTRICTED : thm
    val MEASURE_SPACE_SUBSET : thm
    val MEASURE_SPACE_SUBSET_MSPACE : thm
    val MEASURE_SPACE_UNION : thm
    val MONOTONE_CONVERGENCE : thm
    val MONOTONE_CONVERGENCE2 : thm
    val MONOTONE_CONVERGENCE_BIGINTER : thm
    val MONOTONE_CONVERGENCE_BIGINTER2 : thm
    val OUTER_MEASURE_SPACE_POSITIVE : thm
    val POW_ALGEBRA : thm
    val POW_SIGMA_ALGEBRA : thm
    val SIGMA_ALGEBRA : thm
    val SIGMA_ALGEBRA_ALGEBRA : thm
    val SIGMA_ALGEBRA_ALT : thm
    val SIGMA_ALGEBRA_ALT_DISJOINT : thm
    val SIGMA_ALGEBRA_ALT_MONO : thm
    val SIGMA_ALGEBRA_BOREL : thm
    val SIGMA_ALGEBRA_COUNTABLE_UNION : thm
    val SIGMA_ALGEBRA_ENUM : thm
    val SIGMA_ALGEBRA_FN : thm
    val SIGMA_ALGEBRA_FN_BIGINTER : thm
    val SIGMA_ALGEBRA_FN_DISJOINT : thm
    val SIGMA_ALGEBRA_SIGMA : thm
    val SIGMA_POW : thm
    val SIGMA_PROPERTY : thm
    val SIGMA_PROPERTY_ALT : thm
    val SIGMA_PROPERTY_DISJOINT : thm
    val SIGMA_PROPERTY_DISJOINT_LEMMA : thm
    val SIGMA_PROPERTY_DISJOINT_LEMMA1 : thm
    val SIGMA_PROPERTY_DISJOINT_LEMMA2 : thm
    val SIGMA_PROPERTY_DISJOINT_WEAK : thm
    val SIGMA_REDUCE : thm
    val SIGMA_SUBSET : thm
    val SIGMA_SUBSET_MEASURABLE_SETS : thm
    val SIGMA_SUBSET_SUBSETS : thm
    val SMALLEST_CLOSED_CDI : thm
    val SPACE : thm
    val SPACE_BOREL : thm
    val SPACE_SIGMA : thm
    val SPACE_SMALLEST_CLOSED_CDI : thm
    val STRONG_MEASURE_SPACE_SUBSET : thm
    val SUBADDITIVE : thm
    val SUBSET_BIGINTER : thm
    val UNIV_SIGMA_ALGEBRA : thm
    val finite_additivity_sufficient_for_finite_spaces : thm
    val finite_additivity_sufficient_for_finite_spaces2 : thm
    val indicator_fn_split : thm
    val indicator_fn_suminf : thm
    val measure_split : thm
  val measure_grammars : type_grammar.grammar * term_grammar.grammar
(*
   [extreal] Parent theory of "measure"
   [Borel_def]  Definition
      |- Borel = sigma π(:extreal) (IMAGE (Ξ»a. {x | x < a}) π(:extreal))
   [additive_def]  Definition
      |- βm.
           additive m β
           βs t.
             s β measurable_sets m β§ t β measurable_sets m β§ DISJOINT s t β
             (measure m (s βͺ t) = measure m s + measure m t)
   [algebra_def]  Definition
      |- βa.
           algebra a β
           subset_class (space a) (subsets a) β§ β
 β subsets a β§
           (βs. s β subsets a β space a DIFF s β subsets a) β§
           βs t. s β subsets a β§ t β subsets a β s βͺ t β subsets a
   [closed_cdi_def]  Definition
      |- βp.
           closed_cdi p β
           subset_class (space p) (subsets p) β§
           (βs. s β subsets p β space p DIFF s β subsets p) β§
           (βf.
              f β (π(:num) -> subsets p) β§ (f 0 = β
) β§
              (βn. f n β f (SUC n)) β
              BIGUNION (IMAGE f π(:num)) β subsets p) β§
           βf.
             f β (π(:num) -> subsets p) β§
             (βm n. m β  n β DISJOINT (f m) (f n)) β
             BIGUNION (IMAGE f π(:num)) β subsets p
   [countably_additive_def]  Definition
      |- βm.
           countably_additive m β
           βf.
             f β (π(:num) -> measurable_sets m) β§
             (βm n. m β  n β DISJOINT (f m) (f n)) β§
             BIGUNION (IMAGE f π(:num)) β measurable_sets m β
             measure m o f sums measure m (BIGUNION (IMAGE f π(:num)))
   [countably_subadditive_def]  Definition
      |- βm.
           countably_subadditive m β
           βf.
             f β (π(:num) -> measurable_sets m) β§
             BIGUNION (IMAGE f π(:num)) β measurable_sets m β§
             summable (measure m o f) β
             measure m (BIGUNION (IMAGE f π(:num))) β€
             suminf (measure m o f)
   [fn_abs_def]  Definition
      |- βf. fn_abs f = (Ξ»x. abs (f x))
   [fn_minus_def]  Definition
      |- βf. fn_minus f = (Ξ»x. if f x < 0 then -f x else 0)
   [fn_plus_def]  Definition
      |- βf. fn_plus f = (Ξ»x. if 0 < f x then f x else 0)
   [increasing_def]  Definition
      |- βm.
           increasing m β
           βs t.
             s β measurable_sets m β§ t β measurable_sets m β§ s β t β
             measure m s β€ measure m t
   [indicator_fn_def]  Definition
      |- βs. indicator_fn s = (Ξ»x. if x β s then 1 else 0)
   [inf_measure_def]  Definition
      |- βm s.
           inf_measure m s =
           inf
             {r |
              βf.
                f β (π(:num) -> measurable_sets m) β§
                (βm n. m β  n β DISJOINT (f m) (f n)) β§
                s β BIGUNION (IMAGE f π(:num)) β§ measure m o f sums r}
   [lambda_system_def]  Definition
      |- βgen lam.
           lambda_system gen lam =
           {l |
            l β subsets gen β§
            βs.
              s β subsets gen β
              (lam (l β© s) + lam ((space gen DIFF l) β© s) = lam s)}
   [m_space_def]  Definition
      |- βsp sts mu. m_space (sp,sts,mu) = sp
   [measurable_def]  Definition
      |- βa b.
           measurable a b =
           {f |
            sigma_algebra a β§ sigma_algebra b β§ f β (space a -> space b) β§
            βs. s β subsets b β PREIMAGE f s β© space a β subsets a}
   [measurable_sets_def]  Definition
      |- βsp sts mu. measurable_sets (sp,sts,mu) = sts
   [measure_def]  Definition
      |- βsp sts mu. measure (sp,sts,mu) = mu
   [measure_preserving_def]  Definition
      |- βm1 m2.
           measure_preserving m1 m2 =
           {f |
            f β
            measurable (m_space m1,measurable_sets m1)
              (m_space m2,measurable_sets m2) β§ measure_space m1 β§
            measure_space m2 β§
            βs.
              s β measurable_sets m2 β
              (measure m1 (PREIMAGE f s β© m_space m1) = measure m2 s)}
   [measure_space_def]  Definition
      |- βm.
           measure_space m β
           sigma_algebra (m_space m,measurable_sets m) β§ positive m β§
           countably_additive m
   [null_set_def]  Definition
      |- βm s. null_set m s β s β measurable_sets m β§ (measure m s = 0)
   [outer_measure_space_def]  Definition
      |- βm.
           outer_measure_space m β
           positive m β§ increasing m β§ countably_subadditive m
   [pos_simple_fn_def]  Definition
      |- βm f s a x.
           pos_simple_fn m f s a x β
           (βt. 0 β€ f t) β§
           (βt.
              t β m_space m β
              (f t = SIGMA (Ξ»i. Normal (x i) * indicator_fn (a i) t) s)) β§
           (βi. i β s β a i β measurable_sets m) β§ FINITE s β§
           (βi. i β s β 0 β€ x i) β§
           (βi j. i β s β§ j β s β§ i β  j β DISJOINT (a i) (a j)) β§
           (BIGUNION (IMAGE a s) = m_space m)
   [positive_def]  Definition
      |- βm.
           positive m β
           (measure m β
 = 0) β§ βs. s β measurable_sets m β 0 β€ measure m s
   [sigma_algebra_def]  Definition
      |- βa.
           sigma_algebra a β
           algebra a β§
           βc. countable c β§ c β subsets a β BIGUNION c β subsets a
   [sigma_def]  Definition
      |- βsp st.
           sigma sp st = (sp,BIGINTER {s | st β s β§ sigma_algebra (sp,s)})
   [smallest_closed_cdi_def]  Definition
      |- βa.
           smallest_closed_cdi a =
           (space a,BIGINTER {b | subsets a β b β§ closed_cdi (space a,b)})
   [space_def]  Definition
      |- βx y. space (x,y) = x
   [subadditive_def]  Definition
      |- βm.
           subadditive m β
           βs t.
             s β measurable_sets m β§ t β measurable_sets m β
             measure m (s βͺ t) β€ measure m s + measure m t
   [subset_class_def]  Definition
      |- βsp sts. subset_class sp sts β βx. x β sts β x β sp
   [subsets_def]  Definition
      |- βx y. subsets (x,y) = y
   [ADDITIVE]  Theorem
      |- βm s t u.
           additive m β§ s β measurable_sets m β§ t β measurable_sets m β§
           DISJOINT s t β§ (u = s βͺ t) β
           (measure m u = measure m s + measure m t)
   [ADDITIVE_INCREASING]  Theorem
      |- βm.
           algebra (m_space m,measurable_sets m) β§ positive m β§
           additive m β
           increasing m
   [ADDITIVE_SUM]  Theorem
      |- βm f n.
           algebra (m_space m,measurable_sets m) β§ positive m β§
           additive m β§ f β (π(:num) -> measurable_sets m) β§
           (βm n. m β  n β DISJOINT (f m) (f n)) β
           (sum (0,n) (measure m o f) =
            measure m (BIGUNION (IMAGE f (count n))))
   [ALGEBRA_ALT_INTER]  Theorem
      |- βa.
           algebra a β
           subset_class (space a) (subsets a) β§ β
 β subsets a β§
           (βs. s β subsets a β space a DIFF s β subsets a) β§
           βs t. s β subsets a β§ t β subsets a β s β© t β subsets a
   [ALGEBRA_COMPL]  Theorem
      |- βa s. algebra a β§ s β subsets a β space a DIFF s β subsets a
   [ALGEBRA_DIFF]  Theorem
      |- βa s t.
           algebra a β§ s β subsets a β§ t β subsets a β s DIFF t β subsets a
   [ALGEBRA_EMPTY]  Theorem
      |- βa. algebra a β β
 β subsets a
   [ALGEBRA_FINITE_UNION]  Theorem
      |- βa c.
           algebra a β§ FINITE c β§ c β subsets a β BIGUNION c β subsets a
   [ALGEBRA_INTER]  Theorem
      |- βa s t.
           algebra a β§ s β subsets a β§ t β subsets a β s β© t β subsets a
   [ALGEBRA_INTER_SPACE]  Theorem
      |- βa s.
           algebra a β§ s β subsets a β
           (space a β© s = s) β§ (s β© space a = s)
   [ALGEBRA_SPACE]  Theorem
      |- βa. algebra a β space a β subsets a
   [ALGEBRA_SUBSET_LAMBDA_SYSTEM]  Theorem
      |- βm.
           algebra (m_space m,measurable_sets m) β§ positive m β§
           increasing m β§ additive m β
           measurable_sets m β
           lambda_system (m_space m,POW (m_space m)) (inf_measure m)
   [ALGEBRA_UNION]  Theorem
      |- βa s t.
           algebra a β§ s β subsets a β§ t β subsets a β s βͺ t β subsets a
   [BIGUNION_IMAGE_Q]  Theorem
      |- βa f.
           sigma_algebra a β§ f β (Q_set -> subsets a) β
           BIGUNION (IMAGE f Q_set) β subsets a
   [BOREL_MEASURABLE_SETS]  Theorem
      |- (βc. {x | x < c} β subsets Borel) β§
         (βc. {x | c β€ x} β subsets Borel) β§
         (βc. {x | c < x} β subsets Borel) β§
         (βc. {x | x β€ c} β subsets Borel) β§
         (βc d. {x | c < x β§ x < d} β subsets Borel) β§
         (βc d. {x | c β€ x β§ x < d} β subsets Borel) β§
         (βc d. {x | c < x β§ x β€ d} β subsets Borel) β§
         (βc d. {x | c β€ x β§ x β€ d} β subsets Borel) β§
         (βc. {c} β subsets Borel) β§ βc. {x | x β  c} β subsets Borel
   [BOREL_MEASURABLE_SETS1]  Theorem
      |- βc. {x | x < c} β subsets Borel
   [BOREL_MEASURABLE_SETS10]  Theorem
      |- βc. {x | x β  c} β subsets Borel
   [BOREL_MEASURABLE_SETS2]  Theorem
      |- βc. {x | c β€ x} β subsets Borel
   [BOREL_MEASURABLE_SETS3]  Theorem
      |- βc. {x | x β€ c} β subsets Borel
   [BOREL_MEASURABLE_SETS4]  Theorem
      |- βc. {x | c < x} β subsets Borel
   [BOREL_MEASURABLE_SETS5]  Theorem
      |- βc d. {x | c β€ x β§ x < d} β subsets Borel
   [BOREL_MEASURABLE_SETS6]  Theorem
      |- βc d. {x | c < x β§ x β€ d} β subsets Borel
   [BOREL_MEASURABLE_SETS7]  Theorem
      |- βc d. {x | c β€ x β§ x β€ d} β subsets Borel
   [BOREL_MEASURABLE_SETS8]  Theorem
      |- βc d. {x | c < x β§ x < d} β subsets Borel
   [BOREL_MEASURABLE_SETS9]  Theorem
      |- βc. {c} β subsets Borel
   [CARATHEODORY]  Theorem
      |- βm0.
           algebra (m_space m0,measurable_sets m0) β§ positive m0 β§
           countably_additive m0 β
           βm.
             (βs. s β measurable_sets m0 β (measure m s = measure m0 s)) β§
             ((m_space m,measurable_sets m) =
              sigma (m_space m0) (measurable_sets m0)) β§ measure_space m
   [CARATHEODORY_LEMMA]  Theorem
      |- βgsig lam.
           sigma_algebra gsig β§
           outer_measure_space (space gsig,subsets gsig,lam) β
           measure_space (space gsig,lambda_system gsig lam,lam)
   [CLOSED_CDI_COMPL]  Theorem
      |- βp s. closed_cdi p β§ s β subsets p β space p DIFF s β subsets p
   [CLOSED_CDI_DISJOINT]  Theorem
      |- βp f.
           closed_cdi p β§ f β (π(:num) -> subsets p) β§
           (βm n. m β  n β DISJOINT (f m) (f n)) β
           BIGUNION (IMAGE f π(:num)) β subsets p
   [CLOSED_CDI_DUNION]  Theorem
      |- βp s t.
           β
 β subsets p β§ closed_cdi p β§ s β subsets p β§ t β subsets p β§
           DISJOINT s t β
           s βͺ t β subsets p
   [CLOSED_CDI_INCREASING]  Theorem
      |- βp f.
           closed_cdi p β§ f β (π(:num) -> subsets p) β§ (f 0 = β
) β§
           (βn. f n β f (SUC n)) β
           BIGUNION (IMAGE f π(:num)) β subsets p
   [COUNTABLY_ADDITIVE]  Theorem
      |- βm s f.
           countably_additive m β§ f β (π(:num) -> measurable_sets m) β§
           (βm n. m β  n β DISJOINT (f m) (f n)) β§
           (s = BIGUNION (IMAGE f π(:num))) β§ s β measurable_sets m β
           measure m o f sums measure m s
   [COUNTABLY_ADDITIVE_ADDITIVE]  Theorem
      |- βm.
           algebra (m_space m,measurable_sets m) β§ positive m β§
           countably_additive m β
           additive m
   [COUNTABLY_SUBADDITIVE]  Theorem
      |- βm f s.
           countably_subadditive m β§ f β (π(:num) -> measurable_sets m) β§
           summable (measure m o f) β§ (s = BIGUNION (IMAGE f π(:num))) β§
           s β measurable_sets m β
           measure m s β€ suminf (measure m o f)
   [COUNTABLY_SUBADDITIVE_SUBADDITIVE]  Theorem
      |- βm.
           algebra (m_space m,measurable_sets m) β§ positive m β§
           countably_subadditive m β
           subadditive m
   [FN_MINUS_ADD_LE]  Theorem
      |- βf g x. fn_minus (Ξ»x. f x + g x) x β€ fn_minus f x + fn_minus g x
   [FN_MINUS_CMUL]  Theorem
      |- βf c.
           (0 β€ c β
            (fn_minus (Ξ»x. Normal c * f x) =
             (Ξ»x. Normal c * fn_minus f x))) β§
           (c β€ 0 β
            (fn_minus (Ξ»x. Normal c * f x) =
             (Ξ»x. -Normal c * fn_plus f x)))
   [FN_MINUS_POS]  Theorem
      |- βg x. 0 β€ fn_minus g x
   [FN_MINUS_POS_ZERO]  Theorem
      |- (βx. 0 β€ g x) β (fn_minus g = (Ξ»x. 0))
   [FN_PLUS_ADD_LE]  Theorem
      |- βf g x. fn_plus (Ξ»x. f x + g x) x β€ fn_plus f x + fn_plus g x
   [FN_PLUS_CMUL]  Theorem
      |- βf c.
           (0 β€ c β
            (fn_plus (Ξ»x. Normal c * f x) =
             (Ξ»x. Normal c * fn_plus f x))) β§
           (c β€ 0 β
            (fn_plus (Ξ»x. Normal c * f x) =
             (Ξ»x. -Normal c * fn_minus f x)))
   [FN_PLUS_POS]  Theorem
      |- βg x. 0 β€ fn_plus g x
   [FN_PLUS_POS_ID]  Theorem
      |- (βx. 0 β€ g x) β (fn_plus g = g)
   [IMAGE_SING]  Theorem
      |- βf x. IMAGE f {x} = {f x}
   [INCREASING]  Theorem
      |- βm s t.
           increasing m β§ s β t β§ s β measurable_sets m β§
           t β measurable_sets m β
           measure m s β€ measure m t
   [INCREASING_ADDITIVE_SUMMABLE]  Theorem
      |- βm f.
           algebra (m_space m,measurable_sets m) β§ positive m β§
           increasing m β§ additive m β§ f β (π(:num) -> measurable_sets m) β§
           (βm n. m β  n β DISJOINT (f m) (f n)) β
           summable (measure m o f)
   [INDICATOR_FN_MUL_INTER]  Theorem
      |- βA B.
           (Ξ»t. indicator_fn A t * indicator_fn B t) =
           (Ξ»t. indicator_fn (A β© B) t)
   [INF_MEASURE_AGREES]  Theorem
      |- βm s.
           algebra (m_space m,measurable_sets m) β§ positive m β§
           countably_additive m β§ s β measurable_sets m β
           (inf_measure m s = measure m s)
   [INF_MEASURE_CLOSE]  Theorem
      |- βm s e.
           algebra (m_space m,measurable_sets m) β§ positive m β§ 0 < e β§
           s β m_space m β
           βf l.
             f β (π(:num) -> measurable_sets m) β§
             s β BIGUNION (IMAGE f π(:num)) β§
             (βm n. m β  n β DISJOINT (f m) (f n)) β§ measure m o f sums l β§
             l β€ inf_measure m s + e
   [INF_MEASURE_COUNTABLY_SUBADDITIVE]  Theorem
      |- βm.
           algebra (m_space m,measurable_sets m) β§ positive m β§
           increasing m β
           countably_subadditive (m_space m,POW (m_space m),inf_measure m)
   [INF_MEASURE_EMPTY]  Theorem
      |- βm.
           algebra (m_space m,measurable_sets m) β§ positive m β
           (inf_measure m β
 = 0)
   [INF_MEASURE_INCREASING]  Theorem
      |- βm.
           algebra (m_space m,measurable_sets m) β§ positive m β
           increasing (m_space m,POW (m_space m),inf_measure m)
   [INF_MEASURE_LE]  Theorem
      |- βm s x.
           algebra (m_space m,measurable_sets m) β§ positive m β§
           increasing m β§
           x β
           {r |
            βf.
              f β (π(:num) -> measurable_sets m) β§
              s β BIGUNION (IMAGE f π(:num)) β§ measure m o f sums r} β
           inf_measure m s β€ x
   [INF_MEASURE_NONEMPTY]  Theorem
      |- βm g s.
           algebra (m_space m,measurable_sets m) β§ positive m β§
           s β measurable_sets m β§ g β s β
           measure m s β
           {r |
            βf.
              f β (π(:num) -> measurable_sets m) β§
              (βm n. m β  n β DISJOINT (f m) (f n)) β§
              g β BIGUNION (IMAGE f π(:num)) β§ measure m o f sums r}
   [INF_MEASURE_OUTER]  Theorem
      |- βm.
           algebra (m_space m,measurable_sets m) β§ positive m β§
           increasing m β
           outer_measure_space (m_space m,POW (m_space m),inf_measure m)
   [INF_MEASURE_POS]  Theorem
      |- βm g.
           algebra (m_space m,measurable_sets m) β§ positive m β§
           g β m_space m β
           0 β€ inf_measure m g
   [INF_MEASURE_POS0]  Theorem
      |- βm g x.
           algebra (m_space m,measurable_sets m) β§ positive m β§
           x β
           {r |
            βf.
              f β (π(:num) -> measurable_sets m) β§
              (βm n. m β  n β DISJOINT (f m) (f n)) β§
              g β BIGUNION (IMAGE f π(:num)) β§ measure m o f sums r} β
           0 β€ x
   [INF_MEASURE_POSITIVE]  Theorem
      |- βm.
           algebra (m_space m,measurable_sets m) β§ positive m β
           positive (m_space m,POW (m_space m),inf_measure m)
   [IN_MEASURABLE]  Theorem
      |- βa b f.
           f β measurable a b β
           sigma_algebra a β§ sigma_algebra b β§ f β (space a -> space b) β§
           βs. s β subsets b β PREIMAGE f s β© space a β subsets a
   [IN_MEASURABLE_BOREL]  Theorem
      |- βf a.
           f β measurable a Borel β
           sigma_algebra a β§ f β (space a -> π(:extreal)) β§
           βc. {x | f x < c} β© space a β subsets a
   [IN_MEASURABLE_BOREL_ABS]  Theorem
      |- βa f g.
           sigma_algebra a β§ f β measurable a Borel β§
           (βx. x β space a β (g x = abs (f x))) β
           g β measurable a Borel
   [IN_MEASURABLE_BOREL_ADD]  Theorem
      |- βa f g h.
           sigma_algebra a β§ f β measurable a Borel β§
           g β measurable a Borel β§ (βx. x β space a β (h x = f x + g x)) β
           h β measurable a Borel
   [IN_MEASURABLE_BOREL_ALL]  Theorem
      |- βf a.
           f β measurable a Borel β
           (βc. {x | f x < c} β© space a β subsets a) β§
           (βc. {x | c β€ f x} β© space a β subsets a) β§
           (βc. {x | f x β€ c} β© space a β subsets a) β§
           (βc. {x | c < f x} β© space a β subsets a) β§
           (βc d. {x | c < f x β§ f x < d} β© space a β subsets a) β§
           (βc d. {x | c β€ f x β§ f x < d} β© space a β subsets a) β§
           (βc d. {x | c < f x β§ f x β€ d} β© space a β subsets a) β§
           (βc d. {x | c β€ f x β§ f x β€ d} β© space a β subsets a) β§
           (βc. {x | f x β  c} β© space a β subsets a) β§
           βc. {x | f x = c} β© space a β subsets a
   [IN_MEASURABLE_BOREL_ALL_MEASURE]  Theorem
      |- βf m.
           f β measurable (m_space m,measurable_sets m) Borel β
           (βc. {x | f x < c} β© m_space m β measurable_sets m) β§
           (βc. {x | c β€ f x} β© m_space m β measurable_sets m) β§
           (βc. {x | f x β€ c} β© m_space m β measurable_sets m) β§
           (βc. {x | c < f x} β© m_space m β measurable_sets m) β§
           (βc d.
              {x | c < f x β§ f x < d} β© m_space m β measurable_sets m) β§
           (βc d.
              {x | c β€ f x β§ f x < d} β© m_space m β measurable_sets m) β§
           (βc d.
              {x | c < f x β§ f x β€ d} β© m_space m β measurable_sets m) β§
           (βc d.
              {x | c β€ f x β§ f x β€ d} β© m_space m β measurable_sets m) β§
           (βc. {x | f x = c} β© m_space m β measurable_sets m) β§
           βc. {x | f x β  c} β© m_space m β measurable_sets m
   [IN_MEASURABLE_BOREL_ALT1]  Theorem
      |- βf a.
           f β measurable a Borel β
           sigma_algebra a β§ f β (space a -> π(:extreal)) β§
           βc. {x | c β€ f x} β© space a β subsets a
   [IN_MEASURABLE_BOREL_ALT2]  Theorem
      |- βf a.
           f β measurable a Borel β
           sigma_algebra a β§ f β (space a -> π(:extreal)) β§
           βc. {x | f x β€ c} β© space a β subsets a
   [IN_MEASURABLE_BOREL_ALT3]  Theorem
      |- βf a.
           f β measurable a Borel β
           sigma_algebra a β§ f β (space a -> π(:extreal)) β§
           βc. {x | c < f x} β© space a β subsets a
   [IN_MEASURABLE_BOREL_ALT4]  Theorem
      |- βf a.
           f β measurable a Borel β
           sigma_algebra a β§ f β (space a -> π(:extreal)) β§
           βc d. {x | c β€ f x β§ f x < d} β© space a β subsets a
   [IN_MEASURABLE_BOREL_ALT5]  Theorem
      |- βf a.
           f β measurable a Borel β
           sigma_algebra a β§ f β (space a -> π(:extreal)) β§
           βc d. {x | c < f x β§ f x β€ d} β© space a β subsets a
   [IN_MEASURABLE_BOREL_ALT6]  Theorem
      |- βf a.
           f β measurable a Borel β
           sigma_algebra a β§ f β (space a -> π(:extreal)) β§
           βc d. {x | c β€ f x β§ f x β€ d} β© space a β subsets a
   [IN_MEASURABLE_BOREL_ALT7]  Theorem
      |- βf a.
           f β measurable a Borel β
           sigma_algebra a β§ f β (space a -> π(:extreal)) β§
           βc d. {x | c < f x β§ f x < d} β© space a β subsets a
   [IN_MEASURABLE_BOREL_ALT8]  Theorem
      |- βf a.
           f β measurable a Borel β
           sigma_algebra a β§ f β (space a -> π(:extreal)) β§
           βc. {x | f x = c} β© space a β subsets a
   [IN_MEASURABLE_BOREL_ALT9]  Theorem
      |- βf a.
           f β measurable a Borel β
           sigma_algebra a β§ f β (space a -> π(:extreal)) β§
           βc. {x | f x β  c} β© space a β subsets a
   [IN_MEASURABLE_BOREL_CMUL]  Theorem
      |- βa f g z.
           sigma_algebra a β§ f β measurable a Borel β§
           (βx. x β space a β (g x = Normal z * f x)) β
           g β measurable a Borel
   [IN_MEASURABLE_BOREL_CMUL_INDICATOR]  Theorem
      |- βa z s.
           sigma_algebra a β§ s β subsets a β
           (Ξ»x. Normal z * indicator_fn s x) β measurable a Borel
   [IN_MEASURABLE_BOREL_CONST]  Theorem
      |- βa k f.
           sigma_algebra a β§ (βx. x β space a β (f x = k)) β
           f β measurable a Borel
   [IN_MEASURABLE_BOREL_FN_MINUS]  Theorem
      |- βa f. f β measurable a Borel β fn_minus f β measurable a Borel
   [IN_MEASURABLE_BOREL_FN_PLUS]  Theorem
      |- βa f. f β measurable a Borel β fn_plus f β measurable a Borel
   [IN_MEASURABLE_BOREL_INDICATOR]  Theorem
      |- βa A f.
           sigma_algebra a β§ A β subsets a β§
           (βx. x β space a β (f x = indicator_fn A x)) β
           f β measurable a Borel
   [IN_MEASURABLE_BOREL_LE]  Theorem
      |- βf g a.
           f β measurable a Borel β§ g β measurable a Borel β
           {x | f x β€ g x} β© space a β subsets a
   [IN_MEASURABLE_BOREL_LT]  Theorem
      |- βf g a.
           f β measurable a Borel β§ g β measurable a Borel β
           {x | f x < g x} β© space a β subsets a
   [IN_MEASURABLE_BOREL_MAX]  Theorem
      |- βa f g.
           sigma_algebra a β§ f β measurable a Borel β§
           g β measurable a Borel β
           (Ξ»x. max (f x) (g x)) β measurable a Borel
   [IN_MEASURABLE_BOREL_MONO_SUP]  Theorem
      |- βfn f a.
           sigma_algebra a β§ (βn. fn n β measurable a Borel) β§
           (βn x. x β space a β fn n x β€ fn (SUC n) x) β§
           (βx. x β space a β (f x = sup (IMAGE (Ξ»n. fn n x) π(:num)))) β
           f β measurable a Borel
   [IN_MEASURABLE_BOREL_MUL]  Theorem
      |- βa f g h.
           sigma_algebra a β§ f β measurable a Borel β§
           (βx.
              x β space a β
              f x β  NegInf β§ f x β  PosInf β§ g x β  NegInf β§ g x β  PosInf) β§
           g β measurable a Borel β§ (βx. x β space a β (h x = f x * g x)) β
           h β measurable a Borel
   [IN_MEASURABLE_BOREL_MUL_INDICATOR]  Theorem
      |- βa f s.
           sigma_algebra a β§ f β measurable a Borel β§ s β subsets a β
           (Ξ»x. f x * indicator_fn s x) β measurable a Borel
   [IN_MEASURABLE_BOREL_MUL_INDICATOR_EQ]  Theorem
      |- βa f.
           sigma_algebra a β
           (f β measurable a Borel β
            (Ξ»x. f x * indicator_fn (space a) x) β measurable a Borel)
   [IN_MEASURABLE_BOREL_NEGINF]  Theorem
      |- βf a.
           f β measurable a Borel β
           {x | f x = NegInf} β© space a β subsets a
   [IN_MEASURABLE_BOREL_PLUS_MINUS]  Theorem
      |- βa f.
           f β measurable a Borel β
           fn_plus f β measurable a Borel β§ fn_minus f β measurable a Borel
   [IN_MEASURABLE_BOREL_POS_SIMPLE_FN]  Theorem
      |- βm f.
           measure_space m β§ (βs a x. pos_simple_fn m f s a x) β
           f β measurable (m_space m,measurable_sets m) Borel
   [IN_MEASURABLE_BOREL_POW]  Theorem
      |- βn a f.
           sigma_algebra a β§ f β measurable a Borel β§
           (βx. x β space a β f x β  NegInf β§ f x β  PosInf) β
           (Ξ»x. f x pow n) β measurable a Borel
   [IN_MEASURABLE_BOREL_SQR]  Theorem
      |- βa f g.
           sigma_algebra a β§ f β measurable a Borel β§
           (βx. x β space a β (g x = f x pow 2)) β
           g β measurable a Borel
   [IN_MEASURABLE_BOREL_SUB]  Theorem
      |- βa f g h.
           sigma_algebra a β§ f β measurable a Borel β§
           g β measurable a Borel β§ (βx. x β space a β (h x = f x β g x)) β
           h β measurable a Borel
   [IN_MEASURABLE_BOREL_SUM]  Theorem
      |- βa f g s.
           FINITE s β§ sigma_algebra a β§
           (βi. i β s β f i β measurable a Borel) β§
           (βx. x β space a β (g x = SIGMA (Ξ»i. f i x) s)) β
           g β measurable a Borel
   [IN_MEASURE_PRESERVING]  Theorem
      |- βm1 m2 f.
           f β measure_preserving m1 m2 β
           f β
           measurable (m_space m1,measurable_sets m1)
             (m_space m2,measurable_sets m2) β§ measure_space m1 β§
           measure_space m2 β§
           βs.
             s β measurable_sets m2 β
             (measure m1 (PREIMAGE f s β© m_space m1) = measure m2 s)
   [IN_SIGMA]  Theorem
      |- βsp a x. x β a β x β subsets (sigma sp a)
   [LAMBDA_SYSTEM_ADDITIVE]  Theorem
      |- βg0 lam l1 l2.
           algebra g0 β§ positive (space g0,subsets g0,lam) β
           additive (space g0,lambda_system g0 lam,lam)
   [LAMBDA_SYSTEM_ALGEBRA]  Theorem
      |- βg0 lam.
           algebra g0 β§ positive (space g0,subsets g0,lam) β
           algebra (space g0,lambda_system g0 lam)
   [LAMBDA_SYSTEM_CARATHEODORY]  Theorem
      |- βgsig lam.
           sigma_algebra gsig β§
           outer_measure_space (space gsig,subsets gsig,lam) β
           βf.
             f β (π(:num) -> lambda_system gsig lam) β§
             (βm n. m β  n β DISJOINT (f m) (f n)) β
             BIGUNION (IMAGE f π(:num)) β lambda_system gsig lam β§
             lam o f sums lam (BIGUNION (IMAGE f π(:num)))
   [LAMBDA_SYSTEM_COMPL]  Theorem
      |- βg0 lam l.
           algebra g0 β§ positive (space g0,subsets g0,lam) β§
           l β lambda_system g0 lam β
           space g0 DIFF l β lambda_system g0 lam
   [LAMBDA_SYSTEM_EMPTY]  Theorem
      |- βg0 lam.
           algebra g0 β§ positive (space g0,subsets g0,lam) β
           β
 β lambda_system g0 lam
   [LAMBDA_SYSTEM_INCREASING]  Theorem
      |- βg0 lam.
           increasing (space g0,subsets g0,lam) β
           increasing (space g0,lambda_system g0 lam,lam)
   [LAMBDA_SYSTEM_INTER]  Theorem
      |- βg0 lam l1 l2.
           algebra g0 β§ positive (space g0,subsets g0,lam) β§
           l1 β lambda_system g0 lam β§ l2 β lambda_system g0 lam β
           l1 β© l2 β lambda_system g0 lam
   [LAMBDA_SYSTEM_POSITIVE]  Theorem
      |- βg0 lam.
           positive (space g0,subsets g0,lam) β
           positive (space g0,lambda_system g0 lam,lam)
   [LAMBDA_SYSTEM_STRONG_ADDITIVE]  Theorem
      |- βg0 lam g l1 l2.
           algebra g0 β§ positive (space g0,subsets g0,lam) β§
           g β subsets g0 β§ DISJOINT l1 l2 β§ l1 β lambda_system g0 lam β§
           l2 β lambda_system g0 lam β
           (lam ((l1 βͺ l2) β© g) = lam (l1 β© g) + lam (l2 β© g))
   [LAMBDA_SYSTEM_STRONG_SUM]  Theorem
      |- βg0 lam g f n.
           algebra g0 β§ positive (space g0,subsets g0,lam) β§
           g β subsets g0 β§ f β (π(:num) -> lambda_system g0 lam) β§
           (βm n. m β  n β DISJOINT (f m) (f n)) β
           (sum (0,n) (lam o (Ξ»s. s β© g) o f) =
            lam (BIGUNION (IMAGE f (count n)) β© g))
   [MEASUBABLE_BIGUNION_LEMMA]  Theorem
      |- βa b f.
           sigma_algebra a β§ sigma_algebra b β§ f β (space a -> space b) β§
           (βs. s β subsets b β PREIMAGE f s β subsets a) β
           βc.
             countable c β§ c β IMAGE (PREIMAGE f) (subsets b) β
             BIGUNION c β IMAGE (PREIMAGE f) (subsets b)
   [MEASURABLE_BIGUNION_PROPERTY]  Theorem
      |- βa b f.
           sigma_algebra a β§ sigma_algebra b β§ f β (space a -> space b) β§
           (βs. s β subsets b β PREIMAGE f s β subsets a) β
           βc.
             c β subsets b β
             (PREIMAGE f (BIGUNION c) = BIGUNION (IMAGE (PREIMAGE f) c))
   [MEASURABLE_BOREL]  Theorem
      |- βf a.
           f β measurable a Borel β
           sigma_algebra a β§ f β (space a -> π(:extreal)) β§
           βc. PREIMAGE f {x | x < c} β© space a β subsets a
   [MEASURABLE_COMP]  Theorem
      |- βf g a b c.
           f β measurable a b β§ g β measurable b c β g o f β measurable a c
   [MEASURABLE_COMP_STRONG]  Theorem
      |- βf g a b c.
           f β measurable a b β§ sigma_algebra c β§
           g β (space b -> space c) β§
           (βx.
              x β subsets c β
              PREIMAGE g x β© IMAGE f (space a) β subsets b) β
           g o f β measurable a c
   [MEASURABLE_COMP_STRONGER]  Theorem
      |- βf g a b c t.
           f β measurable a b β§ sigma_algebra c β§
           g β (space b -> space c) β§ IMAGE f (space a) β t β§
           (βs. s β subsets c β PREIMAGE g s β© t β subsets b) β
           g o f β measurable a c
   [MEASURABLE_DIFF_PROPERTY]  Theorem
      |- βa b f.
           sigma_algebra a β§ sigma_algebra b β§ f β (space a -> space b) β§
           (βs. s β subsets b β PREIMAGE f s β subsets a) β
           βs.
             s β subsets b β
             (PREIMAGE f (space b DIFF s) = space a DIFF PREIMAGE f s)
   [MEASURABLE_I]  Theorem
      |- βa. sigma_algebra a β I β measurable a a
   [MEASURABLE_LIFT]  Theorem
      |- βf a b.
           f β measurable a b β
           f β measurable a (sigma (space b) (subsets b))
   [MEASURABLE_POW_TO_POW]  Theorem
      |- βm f.
           measure_space m β§ (measurable_sets m = POW (m_space m)) β
           f β measurable (m_space m,measurable_sets m) (π(:Ξ²),POW π(:Ξ²))
   [MEASURABLE_POW_TO_POW_IMAGE]  Theorem
      |- βm f.
           measure_space m β§ (measurable_sets m = POW (m_space m)) β
           f β
           measurable (m_space m,measurable_sets m)
             (IMAGE f (m_space m),POW (IMAGE f (m_space m)))
   [MEASURABLE_PROD_SIGMA]  Theorem
      |- βa a1 a2 f.
           sigma_algebra a β§ FST o f β measurable a a1 β§
           SND o f β measurable a a2 β
           f β
           measurable a
             (sigma (space a1 Γ space a2)
                (prod_sets (subsets a1) (subsets a2)))
   [MEASURABLE_RANGE_REDUCE]  Theorem
      |- βm f s.
           measure_space m β§
           f β measurable (m_space m,measurable_sets m) (s,POW s) β§ s β  β
 β
           f β
           measurable (m_space m,measurable_sets m)
             (s β© IMAGE f (m_space m),POW (s β© IMAGE f (m_space m)))
   [MEASURABLE_SETS_SUBSET_SPACE]  Theorem
      |- βm s. measure_space m β§ s β measurable_sets m β s β m_space m
   [MEASURABLE_SIGMA]  Theorem
      |- βf a b sp.
           sigma_algebra a β§ subset_class sp b β§ f β (space a -> sp) β§
           (βs. s β b β PREIMAGE f s β© space a β subsets a) β
           f β measurable a (sigma sp b)
   [MEASURABLE_SIGMA_PREIMAGES]  Theorem
      |- βa b f.
           sigma_algebra a β§ sigma_algebra b β§ f β (space a -> space b) β§
           (βs. s β subsets b β PREIMAGE f s β subsets a) β
           sigma_algebra (space a,IMAGE (PREIMAGE f) (subsets b))
   [MEASURABLE_SUBSET]  Theorem
      |- βa b. measurable a b β measurable a (sigma (space b) (subsets b))
   [MEASURABLE_UP_LIFT]  Theorem
      |- βsp a b c f.
           f β measurable (sp,a) c β§ sigma_algebra (sp,b) β§ a β b β
           f β measurable (sp,b) c
   [MEASURABLE_UP_SIGMA]  Theorem
      |- βa b. measurable a b β measurable (sigma (space a) (subsets a)) b
   [MEASURABLE_UP_SUBSET]  Theorem
      |- βsp a b c.
           a β b β§ sigma_algebra (sp,b) β
           measurable (sp,a) c β measurable (sp,b) c
   [MEASURE_ADDITIVE]  Theorem
      |- βm s t u.
           measure_space m β§ s β measurable_sets m β§
           t β measurable_sets m β§ DISJOINT s t β§ (u = s βͺ t) β
           (measure m u = measure m s + measure m t)
   [MEASURE_COMPL]  Theorem
      |- βm s.
           measure_space m β§ s β measurable_sets m β
           (measure m (m_space m DIFF s) =
            measure m (m_space m) β measure m s)
   [MEASURE_COMPL_SUBSET]  Theorem
      |- βm s.
           measure_space m β§ s β measurable_sets m β§
           t β measurable_sets m β§ t β s β
           (measure m (s DIFF t) = measure m s β measure m t)
   [MEASURE_COUNTABLE_INCREASING]  Theorem
      |- βm s f.
           measure_space m β§ f β (π(:num) -> measurable_sets m) β§
           (f 0 = β
) β§ (βn. f n β f (SUC n)) β§
           (s = BIGUNION (IMAGE f π(:num))) β
           measure m o f --> measure m s
   [MEASURE_COUNTABLY_ADDITIVE]  Theorem
      |- βm s f.
           measure_space m β§ f β (π(:num) -> measurable_sets m) β§
           (βm n. m β  n β DISJOINT (f m) (f n)) β§
           (s = BIGUNION (IMAGE f π(:num))) β
           measure m o f sums measure m s
   [MEASURE_DOWN]  Theorem
      |- βm0 m1.
           sigma_algebra (m_space m0,measurable_sets m0) β§
           measurable_sets m0 β measurable_sets m1 β§
           (measure m0 = measure m1) β§ measure_space m1 β
           measure_space m0
   [MEASURE_EMPTY]  Theorem
      |- βm. measure_space m β (measure m β
 = 0)
   [MEASURE_PRESERVING_LIFT]  Theorem
      |- βm1 m2 a f.
           measure_space m1 β§ measure_space m2 β§
           (measurable_sets m2 = subsets (sigma (m_space m2) a)) β§
           f β measure_preserving m1 (m_space m2,a,measure m2) β
           f β measure_preserving m1 m2
   [MEASURE_PRESERVING_SUBSET]  Theorem
      |- βm1 m2 a.
           measure_space m1 β§ measure_space m2 β§
           (measurable_sets m2 = subsets (sigma (m_space m2) a)) β
           measure_preserving m1 (m_space m2,a,measure m2) β
           measure_preserving m1 m2
   [MEASURE_PRESERVING_UP_LIFT]  Theorem
      |- βm1 m2 f.
           measure_space m1 β§
           f β measure_preserving (m_space m1,a,measure m1) m2 β§
           sigma_algebra (m_space m1,measurable_sets m1) β§
           a β measurable_sets m1 β
           f β measure_preserving m1 m2
   [MEASURE_PRESERVING_UP_SIGMA]  Theorem
      |- βm1 m2 a.
           measure_space m1 β§
           (measurable_sets m1 = subsets (sigma (m_space m1) a)) β
           measure_preserving (m_space m1,a,measure m1) m2 β
           measure_preserving m1 m2
   [MEASURE_PRESERVING_UP_SUBSET]  Theorem
      |- βm1 m2.
           measure_space m1 β§ a β measurable_sets m1 β§
           sigma_algebra (m_space m1,measurable_sets m1) β
           measure_preserving (m_space m1,a,measure m1) m2 β
           measure_preserving m1 m2
   [MEASURE_REAL_SUM_IMAGE]  Theorem
      |- βm s.
           measure_space m β§ s β measurable_sets m β§
           (βx. x β s β {x} β measurable_sets m) β§ FINITE s β
           (measure m s = SIGMA (Ξ»x. measure m {x}) s)
   [MEASURE_SPACE_ADDITIVE]  Theorem
      |- βm. measure_space m β additive m
   [MEASURE_SPACE_BIGINTER]  Theorem
      |- βm s.
           measure_space m β§ (βn. s n β measurable_sets m) β
           BIGINTER (IMAGE s π(:num)) β measurable_sets m
   [MEASURE_SPACE_BIGUNION]  Theorem
      |- βm s.
           measure_space m β§ (βn. s n β measurable_sets m) β
           BIGUNION (IMAGE s π(:num)) β measurable_sets m
   [MEASURE_SPACE_CMUL]  Theorem
      |- βm c.
           measure_space m β§ 0 β€ c β
           measure_space
             (m_space m,measurable_sets m,(Ξ»a. c * measure m a))
   [MEASURE_SPACE_DIFF]  Theorem
      |- βm s t.
           measure_space m β§ s β measurable_sets m β§
           t β measurable_sets m β
           s DIFF t β measurable_sets m
   [MEASURE_SPACE_EMPTY_MEASURABLE]  Theorem
      |- βm. measure_space m β β
 β measurable_sets m
   [MEASURE_SPACE_INCREASING]  Theorem
      |- βm. measure_space m β increasing m
   [MEASURE_SPACE_INTER]  Theorem
      |- βm s t.
           measure_space m β§ s β measurable_sets m β§
           t β measurable_sets m β
           s β© t β measurable_sets m
   [MEASURE_SPACE_IN_MSPACE]  Theorem
      |- βm A.
           measure_space m β§ A β measurable_sets m β
           βx. x β A β x β m_space m
   [MEASURE_SPACE_MSPACE_MEASURABLE]  Theorem
      |- βm. measure_space m β m_space m β measurable_sets m
   [MEASURE_SPACE_POSITIVE]  Theorem
      |- βm. measure_space m β positive m
   [MEASURE_SPACE_REDUCE]  Theorem
      |- βm. (m_space m,measurable_sets m,measure m) = m
   [MEASURE_SPACE_RESTRICTED]  Theorem
      |- βm s.
           measure_space m β§ s β measurable_sets m β
           measure_space
             (s,IMAGE (Ξ»t. s β© t) (measurable_sets m),measure m)
   [MEASURE_SPACE_SUBSET]  Theorem
      |- βs s' m.
           s' β s β§ measure_space (s,POW s,m) β measure_space (s',POW s',m)
   [MEASURE_SPACE_SUBSET_MSPACE]  Theorem
      |- βA m. measure_space m β§ A β measurable_sets m β A β m_space m
   [MEASURE_SPACE_UNION]  Theorem
      |- βm s t.
           measure_space m β§ s β measurable_sets m β§
           t β measurable_sets m β
           s βͺ t β measurable_sets m
   [MONOTONE_CONVERGENCE]  Theorem
      |- βm s f.
           measure_space m β§ f β (π(:num) -> measurable_sets m) β§
           (βn. f n β f (SUC n)) β§ (s = BIGUNION (IMAGE f π(:num))) β
           measure m o f --> measure m s
   [MONOTONE_CONVERGENCE2]  Theorem
      |- βm f.
           measure_space m β§ f β (π(:num) -> measurable_sets m) β§
           (βn. f n β f (SUC n)) β
           measure m o f --> measure m (BIGUNION (IMAGE f π(:num)))
   [MONOTONE_CONVERGENCE_BIGINTER]  Theorem
      |- βm s f.
           measure_space m β§ f β (π(:num) -> measurable_sets m) β§
           (βn. f (SUC n) β f n) β§ (s = BIGINTER (IMAGE f π(:num))) β
           measure m o f --> measure m s
   [MONOTONE_CONVERGENCE_BIGINTER2]  Theorem
      |- βm f.
           measure_space m β§ f β (π(:num) -> measurable_sets m) β§
           (βn. f (SUC n) β f n) β
           measure m o f --> measure m (BIGINTER (IMAGE f π(:num)))
   [OUTER_MEASURE_SPACE_POSITIVE]  Theorem
      |- βm. outer_measure_space m β positive m
   [POW_ALGEBRA]  Theorem
      |- algebra (sp,POW sp)
   [POW_SIGMA_ALGEBRA]  Theorem
      |- sigma_algebra (sp,POW sp)
   [SIGMA_ALGEBRA]  Theorem
      |- βp.
           sigma_algebra p β
           subset_class (space p) (subsets p) β§ β
 β subsets p β§
           (βs. s β subsets p β space p DIFF s β subsets p) β§
           βc. countable c β§ c β subsets p β BIGUNION c β subsets p
   [SIGMA_ALGEBRA_ALGEBRA]  Theorem
      |- βa. sigma_algebra a β algebra a
   [SIGMA_ALGEBRA_ALT]  Theorem
      |- βa.
           sigma_algebra a β
           algebra a β§
           βf.
             f β (π(:num) -> subsets a) β
             BIGUNION (IMAGE f π(:num)) β subsets a
   [SIGMA_ALGEBRA_ALT_DISJOINT]  Theorem
      |- βa.
           sigma_algebra a β
           algebra a β§
           βf.
             f β (π(:num) -> subsets a) β§
             (βm n. m β  n β DISJOINT (f m) (f n)) β
             BIGUNION (IMAGE f π(:num)) β subsets a
   [SIGMA_ALGEBRA_ALT_MONO]  Theorem
      |- βa.
           sigma_algebra a β
           algebra a β§
           βf.
             f β (π(:num) -> subsets a) β§ (f 0 = β
) β§
             (βn. f n β f (SUC n)) β
             BIGUNION (IMAGE f π(:num)) β subsets a
   [SIGMA_ALGEBRA_BOREL]  Theorem
      |- sigma_algebra Borel
   [SIGMA_ALGEBRA_COUNTABLE_UNION]  Theorem
      |- βa c.
           sigma_algebra a β§ countable c β§ c β subsets a β
           BIGUNION c β subsets a
   [SIGMA_ALGEBRA_ENUM]  Theorem
      |- βa f.
           sigma_algebra a β§ f β (π(:num) -> subsets a) β
           BIGUNION (IMAGE f π(:num)) β subsets a
   [SIGMA_ALGEBRA_FN]  Theorem
      |- βa.
           sigma_algebra a β
           subset_class (space a) (subsets a) β§ β
 β subsets a β§
           (βs. s β subsets a β space a DIFF s β subsets a) β§
           βf.
             f β (π(:num) -> subsets a) β
             BIGUNION (IMAGE f π(:num)) β subsets a
   [SIGMA_ALGEBRA_FN_BIGINTER]  Theorem
      |- βa.
           sigma_algebra a β
           subset_class (space a) (subsets a) β§ β
 β subsets a β§
           (βs. s β subsets a β space a DIFF s β subsets a) β§
           βf.
             f β (π(:num) -> subsets a) β
             BIGINTER (IMAGE f π(:num)) β subsets a
   [SIGMA_ALGEBRA_FN_DISJOINT]  Theorem
      |- βa.
           sigma_algebra a β
           subset_class (space a) (subsets a) β§ β
 β subsets a β§
           (βs. s β subsets a β space a DIFF s β subsets a) β§
           (βs t. s β subsets a β§ t β subsets a β s βͺ t β subsets a) β§
           βf.
             f β (π(:num) -> subsets a) β§
             (βm n. m β  n β DISJOINT (f m) (f n)) β
             BIGUNION (IMAGE f π(:num)) β subsets a
   [SIGMA_ALGEBRA_SIGMA]  Theorem
      |- βsp sts. subset_class sp sts β sigma_algebra (sigma sp sts)
   [SIGMA_POW]  Theorem
      |- βs. sigma s (POW s) = (s,POW s)
   [SIGMA_PROPERTY]  Theorem
      |- βsp p a.
           subset_class sp p β§ β
 β p β§ a β p β§
           (βs. s β p β© subsets (sigma sp a) β sp DIFF s β p) β§
           (βc.
              countable c β§ c β p β© subsets (sigma sp a) β
              BIGUNION c β p) β
           subsets (sigma sp a) β p
   [SIGMA_PROPERTY_ALT]  Theorem
      |- βsp p a.
           subset_class sp p β§ β
 β p β§ a β p β§
           (βs. s β p β© subsets (sigma sp a) β sp DIFF s β p) β§
           (βf.
              f β (π(:num) -> p β© subsets (sigma sp a)) β
              BIGUNION (IMAGE f π(:num)) β p) β
           subsets (sigma sp a) β p
   [SIGMA_PROPERTY_DISJOINT]  Theorem
      |- βsp p a.
           algebra (sp,a) β§ a β p β§
           (βs. s β p β© subsets (sigma sp a) β sp DIFF s β p) β§
           (βf.
              f β (π(:num) -> p β© subsets (sigma sp a)) β§ (f 0 = β
) β§
              (βn. f n β f (SUC n)) β
              BIGUNION (IMAGE f π(:num)) β p) β§
           (βf.
              f β (π(:num) -> p β© subsets (sigma sp a)) β§
              (βm n. m β  n β DISJOINT (f m) (f n)) β
              BIGUNION (IMAGE f π(:num)) β p) β
           subsets (sigma sp a) β p
   [SIGMA_PROPERTY_DISJOINT_LEMMA]  Theorem
      |- βsp a p.
           algebra (sp,a) β§ a β p β§ closed_cdi (sp,p) β
           subsets (sigma sp a) β p
   [SIGMA_PROPERTY_DISJOINT_LEMMA1]  Theorem
      |- βa.
           algebra a β
           βs t.
             s β subsets a β§ t β subsets (smallest_closed_cdi a) β
             s β© t β subsets (smallest_closed_cdi a)
   [SIGMA_PROPERTY_DISJOINT_LEMMA2]  Theorem
      |- βa.
           algebra a β
           βs t.
             s β subsets (smallest_closed_cdi a) β§
             t β subsets (smallest_closed_cdi a) β
             s β© t β subsets (smallest_closed_cdi a)
   [SIGMA_PROPERTY_DISJOINT_WEAK]  Theorem
      |- βsp p a.
           algebra (sp,a) β§ a β p β§ subset_class sp p β§
           (βs. s β p β sp DIFF s β p) β§
           (βf.
              f β (π(:num) -> p) β§ (f 0 = β
) β§ (βn. f n β f (SUC n)) β
              BIGUNION (IMAGE f π(:num)) β p) β§
           (βf.
              f β (π(:num) -> p) β§ (βm n. m β  n β DISJOINT (f m) (f n)) β
              BIGUNION (IMAGE f π(:num)) β p) β
           subsets (sigma sp a) β p
   [SIGMA_REDUCE]  Theorem
      |- βsp a. (sp,subsets (sigma sp a)) = sigma sp a
   [SIGMA_SUBSET]  Theorem
      |- βa b.
           sigma_algebra b β§ a β subsets b β
           subsets (sigma (space b) a) β subsets b
   [SIGMA_SUBSET_MEASURABLE_SETS]  Theorem
      |- βa m.
           measure_space m β§ a β measurable_sets m β
           subsets (sigma (m_space m) a) β measurable_sets m
   [SIGMA_SUBSET_SUBSETS]  Theorem
      |- βsp a. a β subsets (sigma sp a)
   [SMALLEST_CLOSED_CDI]  Theorem
      |- βa.
           algebra a β
           subsets a β subsets (smallest_closed_cdi a) β§
           closed_cdi (smallest_closed_cdi a) β§
           subset_class (space a) (subsets (smallest_closed_cdi a))
   [SPACE]  Theorem
      |- βa. (space a,subsets a) = a
   [SPACE_BOREL]  Theorem
      |- space Borel = π(:extreal)
   [SPACE_SIGMA]  Theorem
      |- βsp a. space (sigma sp a) = sp
   [SPACE_SMALLEST_CLOSED_CDI]  Theorem
      |- βa. space (smallest_closed_cdi a) = space a
   [STRONG_MEASURE_SPACE_SUBSET]  Theorem
      |- βs s'.
           s' β m_space s β§ measure_space s β§ POW s' β measurable_sets s β
           measure_space (s',POW s',measure s)
   [SUBADDITIVE]  Theorem
      |- βm s t u.
           subadditive m β§ s β measurable_sets m β§ t β measurable_sets m β§
           (u = s βͺ t) β
           measure m u β€ measure m s + measure m t
   [SUBSET_BIGINTER]  Theorem
      |- βX P. X β BIGINTER P β βY. Y β P β X β Y
   [UNIV_SIGMA_ALGEBRA]  Theorem
      |- sigma_algebra (π(:Ξ±),π(:Ξ± -> bool))
   [finite_additivity_sufficient_for_finite_spaces]  Theorem
      |- βs m.
           sigma_algebra s β§ FINITE (space s) β§
           positive (space s,subsets s,m) β§
           additive (space s,subsets s,m) β
           measure_space (space s,subsets s,m)
   [finite_additivity_sufficient_for_finite_spaces2]  Theorem
      |- βm.
           sigma_algebra (m_space m,measurable_sets m) β§
           FINITE (m_space m) β§ positive m β§ additive m β
           measure_space m
   [indicator_fn_split]  Theorem
      |- βr s b.
           FINITE r β§ (BIGUNION (IMAGE b r) = s) β§
           (βi j. i β r β§ j β r β§ i β  j β DISJOINT (b i) (b j)) β
           βa.
             a β s β
             (indicator_fn a =
              (Ξ»x. SIGMA (Ξ»i. indicator_fn (a β© b i) x) r))
   [indicator_fn_suminf]  Theorem
      |- βa x.
           (βm n. m β  n β DISJOINT (a m) (a n)) β
           (suminf (Ξ»i. indicator_fn (a i) x) =
            indicator_fn (BIGUNION (IMAGE a π(:num))) x)
   [measure_split]  Theorem
      |- βr b m.
           measure_space m β§ FINITE r β§
           (BIGUNION (IMAGE b r) = m_space m) β§
           (βi j. i β r β§ j β r β§ i β  j β DISJOINT (b i) (b j)) β§
           (βi. i β r β b i β measurable_sets m) β
           βa.
             a β measurable_sets m β
             (measure m a = SIGMA (Ξ»i. measure m (a β© b i)) r)
*)
end
HOL 4, Kananaskis-11