# Proofs

proof_type: f_proof
decl_type: formula
library: measure_integration
theory: subset_algebra_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "monotone?")
   (skosimp)
   (expand "member")
   (split)
   (("1"
     (flatten)
     (expand "fullset")
     (expand "powerset")
     (expand "subset?")
     (expand "member")
     (propax))
    ("2"
     (flatten)
     (expand "fullset")
     (expand "powerset")
     (expand "subset?")
     (expand "member")
     (propax))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: subset_algebra_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "subset_algebra?")
   (expand "sigma_algebra?")
   (flatten)
   (split)
   (("1" (propax)) ("2" (propax))
    ("3"
     (expand "sigma_algebra_union?")
     (skolem + "Y!1")
     (flatten)
     (lemma "Union_IUnion[T]" ("XS" "Y!1"))
     (assert)
     (skosimp)
     (replace -1)
     (expand "member")
     (expand "monotone?")
     (expand "member")
     (lemma "increasing_IUnion" ("A" "YS!1"))
     (skosimp)
     (inst -12 "B!1")
     (replace -1)
     (split -12)
     (("1" (flatten) (assert))
      ("2"
       (hide 2)
       (induct "n")
       (("1"
         (replace -2)
         (inst -6 "0")
         (split -6)
         (("1"
           (expand "subset_algebra_empty?")
           (expand "member")
           (rewrite "emptyset_is_empty?")
           (assert))
          ("2" (inst -8 "YS!1(0)"))))
        ("2"
         (skosimp)
         (inst -4 "j!1")
         (replace -4)
         (inst -7 "j!1+1")
         (split -7)
         (("1"
           (rewrite "emptyset_is_empty?")
           (expand "subset_algebra_empty?")
           (expand "member")
           (expand "subset_algebra_union?")
           (expand "member")
           (inst -12 "B!1(j!1)" "YS!1(j!1 + 1)")
           (assert))
          ("2"
           (inst -9 "YS!1(j!1 + 1)")
           (("1"
             (expand "subset_algebra_union?")
             (expand "member")
             (inst -12 "B!1(j!1)" "YS!1(j!1 + 1)")
             (assert))
            ("2" (assert))))))))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: subset_algebra_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "extend")
   (expand "Intersection")
   (expand "monotone?" 1 1)
   (skosimp*)
   (expand "member")
   (split)
   (("1"
     (flatten)
     (skosimp)
     (typepred "a!1")
     (assert)
     (expand "monotone?")
     (expand "member")
     (inst - "E!1")
     (split -2)
     (("1" (flatten) (assert))
      ("2" (skosimp) (inst - "n!1") (inst - "a!1"))))
    ("2"
     (flatten)
     (skosimp)
     (typepred "a!1")
     (assert)
     (expand "monotone?")
     (inst - "E!1")
     (split -2)
     (("1" (flatten) (expand "member") (propax))
      ("2" (skosimp) (expand "member") (inst - "n!1") (inst - "a!1"))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: subset_algebra_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem + ("A!1" "C!1"))
   (flatten)
   (typepred "A!1")
   (typepred "C!1")
   (name "MM" "{C | subset?(A!1, C)}")
   (case "nonempty?(MM)")
   (("1"
     (lemma "monotone_class_Intersection" ("K" "MM"))
     (expand "extend")
     (name "M"
           "Intersection(LAMBDA (t: setof[setof[T]]):
                                          IF monotone?(t) THEN MM(t) ELSE FALSE ENDIF)")
     (case "subset?(A!1,M)")
     (("1"
       (case "subset?(M,C!1)")
       (("1"
         (case "subset?(M,generated_sigma_algebra(A!1))")
         (("1"
           (case "subset?(generated_sigma_algebra(A!1), M)")
           (("1"
             (lemma "subset_antisymmetric"
              ("a" "generated_sigma_algebra(A!1)" "b" "M"))
             (assert))
            ("2"
             (hide 2)
             (lemma "monotone_algebra_is_sigma" ("X" "M"))
             (replace -5 -6)
             (replace -6 -1)
             (split -1)
             (("1"
               (lemma "generated_sigma_algebra_subset2"
                ("X" "A!1" "Y" "M"))
               (assert))
              ("2"
               (hide 2)
               (expand "subset_algebra?")
               (flatten)
               (name "KK"
                     "lambda (a:set[T]): {b:set[T] | M(union(a,b)) & M(difference(a,b)) & M(difference(b,a))}")
               (case "forall (a,b:set[T]): KK(a)(b) iff KK(b)(a)")
               (("1"
                 (case "FORALL (a, b: (A!1)): KK(b)(a)")
                 (("1"
                   (case-replace "subset_algebra_empty?(M)")
                   (("1"
                     (case "forall (b:set[T]): monotone?(KK(b))")
                     (("1"
                       (case "forall (x:(A!1)): subset?(A!1,KK(x))")
                       (("1"
                         (case "forall (b:(A!1)): subset?(M,KK(b))")
                         (("1"
                           (case "forall (a,b:(M)): M(union(a, b)) & M(difference(a, b)) & M(difference(b, a))")
                           (("1"
                             (split 1)
                             (("1"
                               (expand "subset_algebra_complement?")
                               (expand "member")
                               (skosimp)
                               (typepred "x!1")
                               (expand "subset_algebra_empty?" -18)
                               (expand "member")
                               (inst-cp -19 "emptyset[T]")
                               (rewrite "complement_emptyset")
                               (expand "subset?" -12)
                               (inst -12 "fullset[T]")
                               (expand "member")
                               (assert)
                               (inst -2 "fullset[T]" "x!1")
                               (flatten)
                               (rewrite "difference_fullset2"))
                              ("2"
                               (expand "subset_algebra_union?")
                               (skosimp)
                               (inst -1 "x!1" "y!1")
                               (expand "member")
                               (flatten))))
                            ("2"
                             (hide 2)
                             (skosimp)
                             (typepred "a!1")
                             (typepred "b!1")
                             (case "forall (a:(M)): subset?(A!1,KK(a))")
                             (("1"
                               (case "FORALL (a: (M)): subset?(M, KK(a))")
                               (("1"
                                 (hide-all-but (-1 1 -3 -4))
                                 (expand "subset?")
                                 (expand "KK")
                                 (expand "member")
                                 (inst - "a!1")
                                 (inst - "b!1")
                                 (assert))
                                ("2"
                                 (hide 2)
                                 (skosimp)
                                 (typepred "a!2")
                                 (inst -2 "a!2")
                                 (expand "subset?" 1)
                                 (skosimp)
                                 (expand "member")
                                 (expand "M" -2)
                                 (expand "Intersection" -2)
                                 (inst -2 "KK(a!2)")
                                 (inst -7 "a!2")
                                 (assert)
                                 (expand "MM" 1)
                                 (propax))))
                              ("2"
                               (hide 2)
                               (skosimp)
                               (typepred "a!2")
                               (expand "subset?" 1)
                               (skosimp)
                               (expand "member")
                               (inst -5 "x!1")
                               (expand "subset?" -5)
                               (expand "member")
                               (inst -5 "a!2")
                               (assert)
                               (inst -10 "a!2" "x!1")
                               (assert))))))
                          ("2"
                           (hide 2)
                           (skosimp)
                           (typepred "b!1")
                           (inst -3 "b!1")
                           (expand "subset?" 1)
                           (skosimp)
                           (expand "member")
                           (replace -12 -2 rl)
                           (expand "Intersection" -2)
                           (inst -2 "KK(b!1)")
                           (replace -3)
                           (hide 2)
                           (expand "MM" 1)
                           (inst -2 "b!1"))))
                        ("2"
                         (hide 2)
                         (skosimp)
                         (expand "subset?" 1)
                         (skosimp)
                         (expand "member")
                         (typepred "x!1")
                         (inst -5 "x!2" "x!1"))))
                      ("2"
                       (hide -1 2)
                       (skosimp)
                       (expand "monotone?" 1)
                       (skosimp)
                       (expand "member")
                       (hide -4 -8)
                       (split 1)
                       (("1"
                         (flatten)
                         (hide-all-but (-1 -2 -8 -12 -13 -14 1))
                         (expand "KK")
                         (expand "monotone?")
                         (expand "member")
                         (split 1)
                         (("1"
                           (inst -3 "lambda n: union(b!1, E!1(n))")
                           (split -3)
                           (("1"
                             (flatten)
                             (hide -2)
                             (split -1)
                             (("1"
                               (case-replace
                                "IUnion(LAMBDA n: union(b!1, E!1(n))) = union(b!1, IUnion(E!1))")
                               (hide-all-but 1)
                               (apply-extensionality :hide? t)
                               (expand "union")
                               (expand "member")
                               (case-replace "b!1(x!1)")
                               (("1"
                                 (expand "IUnion")
                                 (inst + "0")
                                 (flatten))
                                ("2"
                                 (assert)
                                 (expand "IUnion")
                                 (propax))))
                              ("2"
                               (hide-all-but (-1 1))
                               (expand "union")
                               (expand "increasing?")
                               (expand "subset?")
                               (expand "member")
                               (skosimp*)
                               (inst - "x!1" "y!1")
                               (assert)
                               (inst - "x!2")
                               (assert))))
                            ("2"
                             (hide 2)
                             (skosimp)
                             (inst - "n!1")
                             (flatten))))
                          ("2"
                           (inst -3 "lambda n: difference(b!1, E!1(n))")
                           (split -3)
                           (("1"
                             (flatten)
                             (hide -1)
                             (split -1)
                             (("1"
                               (case-replace
                                "IIntersection(LAMBDA n: difference(b!1, E!1(n)))=difference(b!1, IUnion(E!1))")
                               (hide-all-but 1)
                               (apply-extensionality :hide? t)
                               (expand "difference")
                               (expand "member")
                               (case-replace "b!1(x!1)")
                               (("1"
                                 (assert)
                                 (expand "IIntersection")
                                 (case-replace "IUnion(E!1)(x!1)")
                                 (("1"
                                   (assert)
                                   (expand "IUnion")
                                   (skosimp)
                                   (inst - "i!1"))
                                  ("2"
                                   (assert)
                                   (skosimp)
                                   (expand "IUnion")
                                   (inst + "i!1"))))
                                ("2"
                                 (assert)
                                 (expand "IIntersection")
                                 (propax))))
                              ("2"
                               (hide-all-but (-1 1))
                               (expand "decreasing?")
                               (expand "increasing?")
                               (expand "difference")
                               (expand "subset?")
                               (expand "member")
                               (skosimp*)
                               (inst - "x!1" "y!1")
                               (assert)
                               (inst - "x!2")
                               (assert))))
                            ("2" (skosimp) (inst -2 "n!1") (flatten))))
                          ("3"
                           (inst -3 "lambda n: difference(E!1(n),b!1)")
                           (split -3)
                           (("1"
                             (flatten)
                             (hide -2)
                             (split -1)
                             (("1"
                               (case-replace
                                "IUnion(LAMBDA n: difference(E!1(n), b!1))=difference(IUnion(E!1), b!1)")
                               (hide-all-but 1)
                               (apply-extensionality :hide? t)
                               (expand "difference")
                               (expand "member")
                               (expand "IUnion")
                               (case-replace "b!1(x!1)")
                               (("1" (assert)) ("2" (assert))))
                              ("2"
                               (hide-all-but (-1 1))
                               (expand "increasing?")
                               (expand "difference")
                               (expand "subset?")
                               (expand "member")
                               (skosimp*)
                               (inst - "x!1" "y!1")
                               (assert)
                               (inst - "x!2")
                               (assert))))
                            ("2" (skosimp) (inst -2 "n!1") (flatten))))))
                        ("2"
                         (flatten)
                         (expand "KK")
                         (hide -3 -4)
                         (expand "monotone?" -6)
                         (hide-all-but (-1 -2 -6 1))
                         (split)
                         (("1"
                           (inst -3 "lambda n: union(b!1,E!1(n))")
                           (expand "member")
                           (split -3)
                           (("1"
                             (flatten)
                             (hide -1)
                             (split -1)
                             (("1"
                               (case-replace
                                "IIntersection(LAMBDA n: union(b!1, E!1(n)))=union(b!1, IIntersection(E!1))")
                               (hide-all-but 1)
                               (apply-extensionality :hide? t)
                               (expand "union")
                               (expand "member")
                               (expand "IIntersection")
                               (case-replace "b!1(x!1)")
                               (("1" (skosimp)) ("2" (assert))))
                              ("2"
                               (hide-all-but (-1 1))
                               (expand "union")
                               (expand "decreasing?")
                               (expand "subset?")
                               (expand "member")
                               (skosimp*)
                               (inst - "x!1" "y!1")
                               (assert)
                               (inst - "x!2")
                               (assert))))
                            ("2" (skosimp) (inst - "n!1") (flatten))))
                          ("2"
                           (inst -3 "lambda n: difference(b!1, E!1(n))")
                           (expand "member")
                           (split -3)
                           (("1"
                             (flatten)
                             (hide -2)
                             (split -1)
                             (("1"
                               (case-replace
                                "IUnion(LAMBDA n: difference(b!1, E!1(n)))=difference(b!1, IIntersection(E!1))")
                               (hide-all-but 1)
                               (apply-extensionality :hide? t)
                               (expand "difference")
                               (expand "member")
                               (case-replace "b!1(x!1)")
                               (("1"
                                 (expand "IUnion")
                                 (assert)
                                 (case-replace "IIntersection(E!1)(x!1)")
                                 (("1"
                                   (assert)
                                   (expand "IIntersection")
                                   (skosimp)
                                   (inst - "i!1"))
                                  ("2"
                                   (assert)
                                   (expand "IIntersection")
                                   (skosimp)
                                   (inst + "i!1"))))
                                ("2"
                                 (assert)
                                 (expand "IUnion")
                                 (propax))))
                              ("2"
                               (hide-all-but (-1 1))
                               (expand "decreasing?")
                               (expand "increasing?")
                               (expand "difference")
                               (expand "subset?")
                               (expand "member")
                               (skosimp*)
                               (inst - "x!1" "y!1")
                               (assert)
                               (inst - "x!2")
                               (assert))))
                            ("2" (skosimp) (inst - "n!1") (flatten))))
                          ("3"
                           (expand "member")
                           (inst -3 "lambda n: difference(E!1(n),b!1)")
                           (split -3)
                           (("1"
                             (flatten)
                             (hide -1)
                             (split -1)
                             (("1"
                               (case-replace
                                "IIntersection(LAMBDA n: difference(E!1(n), b!1))=difference(IIntersection(E!1), b!1)")
                               (hide-all-but 1)
                               (apply-extensionality :hide? t)
                               (expand "difference")
                               (expand "member")
                               (expand "IIntersection")
                               (case-replace "b!1(x!1)")
                               (("1" (assert)) ("2" (assert))))
                              ("2"
                               (hide-all-but (-1 1))
                               (expand "decreasing?")
                               (expand "difference")
                               (expand "subset?")
                               (expand "member")
                               (skosimp*)
                               (inst - "x!1" "y!1")
                               (assert)
                               (inst - "x!2")
                               (assert))))
                            ("2"
                             (skosimp)
                             (inst - "n!1")
                             (flatten))))))))))
                    ("2"
                     (hide-all-but (1 -6 -12))
                     (expand "subset_algebra_empty?")
                     (expand "member")
                     (expand "subset?")
                     (inst - "emptyset[T]")
                     (expand "member")
                     (assert))))
                  ("2"
                   (hide-all-but (1 -11 -12 -13))
                   (skosimp)
                   (expand "KK")
                   (expand "M")
                   (rewrite "difference_intersection")
                   (rewrite "difference_intersection")
                   (split)
                   (("1"
                     (expand "Intersection")
                     (skosimp)
                     (typepred "a!2")
                     (assert)
                     (expand "MM")
                     (expand "subset_algebra_union?")
                     (inst - "b!1" "a!1")
                     (expand "member")
                     (expand "subset?")
                     (inst - "union(b!1, a!1)")
                     (expand "member")
                     (propax))
                    ("2"
                     (expand "Intersection")
                     (skosimp)
                     (typepred "a!2")
                     (assert)
                     (expand "MM")
                     (expand "subset?")
                     (expand "member")
                     (inst - "intersection(b!1, complement(a!1))")
                     (assert)
                     (hide 2 -1)
                     (expand "subset_algebra_complement?")
                     (expand "subset_algebra_union?")
                     (expand "member")
                     (lemma "demorgan1"
                      ("a" "complement(b!1)" "b" "a!1"))
                     (rewrite "complement_complement")
                     (replace -1 1 rl)
                     (hide -1)
                     (inst-cp -2 "b!1")
                     (inst -4 "complement(b!1)" "a!1")
                     (inst - "union(complement(b!1), a!1)"))
                    ("3"
                     (expand "Intersection")
                     (skosimp)
                     (typepred "a!2")
                     (assert)
                     (expand "MM")
                     (expand "subset?")
                     (expand "member")
                     (inst - "intersection(a!1, complement(b!1))")
                     (assert)
                     (hide -1 2)
                     (lemma "demorgan1"
                      ("a" "complement(a!1)" "b" "b!1"))
                     (rewrite "complement_complement")
                     (replace -1 1 rl)
                     (hide -1)
                     (expand "subset_algebra_complement?")
                     (expand "subset_algebra_union?")
                     (expand "member")
                     (inst-cp -2 "a!1")
                     (inst -4 "complement(a!1)" "b!1")
                     (inst - "union(complement(a!1), b!1)"))))))
                ("2"
                 (hide-all-but 1)
                 (skosimp)
                 (expand "KK")
                 (split)
                 (("1" (flatten) (assert) (rewrite "union_commutative"))
                  ("2"
                   (flatten)
                   (assert)
                   (rewrite "union_commutative"))))))))))
          ("2"
           (hide 2)
           (hide -3 -4)
           (typepred "generated_sigma_algebra(A!1)")
           (lemma "sigma_algebra_is_monotone_class"
            ("x" "generated_sigma_algebra(A!1)"))
           (lemma "generated_sigma_algebra_subset1" ("X" "A!1"))
           (name-replace "SA" "generated_sigma_algebra(A!1)")
           (expand "subset?" 1)
           (skosimp)
           (expand "member")
           (expand "M" -4)
           (expand "Intersection")
           (inst - "SA")
           (assert)
           (expand "MM")
           (propax))))
        ("2"
         (hide 2 -2)
         (expand "subset?" 1)
         (skosimp)
         (expand "member")
         (expand "M" -1)
         (expand "Intersection")
         (inst - "C!1")
         (expand "MM")
         (propax))))
      ("2"
       (hide 2)
       (expand "subset?" 1)
       (skosimp)
       (expand "member")
       (replace -2 1 rl)
       (hide -2)
       (expand "Intersection")
       (skosimp)
       (typepred "a!1")
       (assert)
       (replace -6 -1 rl)
       (assert)
       (expand "subset?")
       (expand "member")
       (inst - "x!1")
       (assert))))
    ("2"
     (lemma "powerset_is_monotone")
     (hide-all-but (-1 1))
     (expand "nonempty?")
     (expand "empty?")
     (expand "member")
     (inst - "powerset(fullset[T])")
     (hide-all-but 1)
     (expand "MM")
     (expand "fullset")
     (expand "powerset")
     (expand "subset?")
     (expand "member")
     (propax))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: subset_algebra_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "subset_algebra?")
   (expand "emptyset")
   (expand "fullset")
   (expand "singleton")
   (expand "union")
   (expand "member")
   (expand "subset_algebra_empty?")
   (expand "subset_algebra_complement?")
   (expand "complement")
   (expand "subset_algebra_union?")
   (expand "union")
   (expand "member")
   (expand "emptyset")
   (split)
   (("1"
     (skosimp*)
     (apply-extensionality :hide? t)
     (apply-extensionality :hide? t)
     (typepred "x!1")
     (split)
     (("1" (replace -1) (assert)) ("2" (replace -1) (assert))))
    ("2"
     (skosimp*)
     (apply-extensionality :hide? t)
     (apply-extensionality :hide? t)
     (typepred "x!1")
     (typepred "y!1")
     (split -1)
     (("1"
       (replace -1)
       (assert)
       (split -2)
       (("1" (assert)) ("2" (assert))))
      ("2" (split -2) (("1" (assert)) ("2" (assert))))))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: subset_algebra_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "trivial_subset_algebra")
   (expand "emptyset")
   (expand "fullset")
   (expand "singleton")
   (expand "union")
   (expand "sigma_algebra?")
   (expand "subset_algebra_empty?")
   (expand "emptyset")
   (expand "member")
   (expand "subset_algebra_complement?")
   (expand "complement")
   (expand "sigma_algebra_union?")
   (expand "Union")
   (expand "member")
   (split)
   (("1"
     (skosimp*)
     (apply-extensionality :hide? t)
     (apply-extensionality :hide? t)
     (typepred "x!1")
     (split)
     (("1" (assert)) ("2" (assert))))
    ("2"
     (skosimp*)
     (apply-extensionality :hide? t)
     (apply-extensionality :hide? t)
     (skosimp)
     (typepred "a!1")
     (inst - "a!1")
     (split -4)
     (("1" (assert)) ("2" (inst + "a!1") (assert))))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: subset_algebra_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem + ("A"))
   (typepred "A")
   (expand "subset_algebra?")
   (expand "sigma_algebra?")
   (flatten)
   (replace -1)
   (replace -2)
   (expand "subset_algebra_union?")
   (expand "sigma_algebra_union?")
   (skosimp)
   (inst - "add[set[T]](x!1,singleton[set[T]](y!1))")
   (case-replace
    "Union(add[set[T]](x!1, singleton[set[T]](y!1)))=union(x!1, y!1)")
   (("1"
     (split -4)
     (("1" (propax)) ("2" (rewrite "finite_countable[set[T]]"))
      ("3"
       (hide-all-but 1)
       (skosimp)
       (typepred "x!2")
       (expand "singleton")
       (expand "add")
       (expand "member")
       (split)
       (("1" (assert)) ("2" (assert))))))
    ("2"
     (hide-all-but 1)
     (apply-extensionality :hide? t)
     (expand "union")
     (expand "singleton")
     (expand "add")
     (expand "member")
     (expand "Union")
     (case-replace "x!1(x!2)")
     (("1" (inst + "x!1"))
      ("2"
       (case-replace "y!1(x!2)")
       (("1" (inst + "y!1"))
        ("2"
         (assert)
         (skosimp)
         (typepred "a!1")
         (split)
         (("1" (assert)) ("2" (assert))))))))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: subset_algebra_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "Intersection")
   (expand "sigma_algebra?")
   (split)
   (("1"
     (expand "subset_algebra_empty?")
     (expand "member")
     (skosimp)
     (typepred "a!1")
     (expand "sigma_algebra?")
     (flatten)
     (expand "subset_algebra_empty?")
     (expand "member")
     (propax))
    ("2"
     (expand "subset_algebra_complement?")
     (skosimp)
     (expand "member")
     (skosimp)
     (typepred "a!1")
     (expand "sigma_algebra?")
     (flatten)
     (expand "subset_algebra_complement?")
     (expand "member")
     (typepred "x!1")
     (inst - "a!1")
     (inst - "x!1"))
    ("3"
     (expand "sigma_algebra_union?")
     (skosimp)
     (expand "member")
     (skosimp)
     (typepred "a!1")
     (expand "sigma_algebra?")
     (flatten)
     (expand "sigma_algebra_union?")
     (inst - "X!2")
     (assert)
     (expand "member")
     (skosimp)
     (typepred "x!1")
     (expand "subset?")
     (inst - "x!1")
     (assert)
     (expand "member")
     (inst - "x!1")
     (inst - "a!1"))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: subset_algebra_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "a!1")
   (expand "finite_disjoint_union?")
   (skosimp)
   (expand "nonempty?")
   (expand "empty?")
   (inst -4 "n!1")
   (expand "member")
   (inst + "E!1")
   (expand "finite_disjoint_union_of?")
   (assert)
   (skosimp)
   (inst - "i!1")
   (flatten)
   (assert)
   (expand "member")
   (replace -3)
   (expand "empty?")
   (expand "member")
   (propax))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: subset_algebra_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "monotone?")
   (skosimp)
   (split)
   (("1"
     (flatten)
     (expand "member")
     (expand "trivial_subset_algebra")
     (expand "union")
     (expand "member")
     (flatten)
     (expand "singleton")
     (case "forall n: E!1(n) = emptyset[T]")
     (("1"
       (hide 2)
       (expand "IUnion")
       (apply-extensionality :hide? t)
       (expand "emptyset")
       (skosimp)
       (inst - "i!1")
       (replace -2 -1)
       (assert))
      ("2"
       (assert)
       (skosimp)
       (inst - "n!1")
       (assert)
       (hide-all-but (-2 3))
       (apply-extensionality :hide? t)
       (expand "fullset")
       (expand "IUnion")
       (inst + "n!1")
       (replace -1 1)
       (assert))))
    ("2"
     (flatten)
     (expand "member")
     (expand "trivial_subset_algebra")
     (expand "union")
     (expand "member")
     (expand "singleton")
     (flatten)
     (case "forall n: E!1(n) = fullset[T]")
     (("1"
       (hide-all-but (-1 2))
       (expand "fullset")
       (expand "IIntersection")
       (apply-extensionality :hide? t)
       (skosimp)
       (inst - "i!1")
       (replace -1)
       (assert))
      ("2"
       (skosimp)
       (inst - "n!1")
       (assert)
       (hide-all-but (-2 2))
       (apply-extensionality :hide? t)
       (expand "emptyset")
       (expand "IIntersection")
       (inst - "n!1")
       (replace -2 -1)
       (assert))))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: subset_algebra_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem + "A!1")
   (typepred "A!1")
   (expand "monotone?")
   (skosimp)
   (split)
   (("1"
     (expand "member")
     (skosimp)
     (expand "sigma_algebra?")
     (flatten)
     (expand "sigma_algebra_union?")
     (inst - "image(E!1,fullset[nat])")
     (split -4)
     (("1"
       (expand "member")
       (case-replace "Union(image(E!1, fullset[nat]))=IUnion(E!1)")
       (hide-all-but 1)
       (apply-extensionality :hide? t)
       (expand "IUnion")
       (expand "fullset")
       (expand "image")
       (expand "Union")
       (case-replace "EXISTS (i: nat): E!1(i)(x!1)")
       (("1" (skosimp) (inst + "E!1(i!1)") (inst + "i!1"))
        ("2"
         (replace 1 2)
         (assert)
         (skosimp)
         (typepred "a!1")
         (skosimp)
         (replace -1 -2)
         (inst + "x!2"))))
      ("2"
       (hide-all-but 1)
       (lemma "countable_image[nat,set[T]]")
       (inst - "fullset[nat]" "E!1")
       (split)
       (("1" (expand "image" -1) (propax))
        ("2"
         (hide 2)
         (expand "fullset")
         (expand "is_countable")
         (inst + "lambda (n:nat): n")
         (expand "injective?")
         (skosimp))))
      ("3"
       (hide 2)
       (skosimp)
       (typepred "x!1")
       (expand "member")
       (expand "fullset")
       (expand "image")
       (skosimp)
       (replace -1)
       (inst - "x!2"))))
    ("2"
     (flatten)
     (expand "member")
     (expand "sigma_algebra?")
     (flatten)
     (expand "subset_algebra_complement?")
     (expand "member")
     (inst-cp - "complement(IIntersection(E!1))")
     (("1" (rewrite "complement_complement"))
      ("2"
       (hide 2)
       (rewrite "IDemorgan2" +)
       (expand "sigma_algebra_union?")
       (inst - "image(IComplement(E!1),fullset[nat])")
       (expand "member")
       (split -3)
       (("1"
         (case-replace
          "Union(image(IComplement(E!1), fullset[nat]))=IUnion(IComplement(E!1))")
         (hide-all-but 1)
         (apply-extensionality :hide? t)
         (expand "fullset")
         (expand "IComplement")
         (expand "complement")
         (expand "member")
         (expand "image")
         (expand "IUnion")
         (expand "Union")
         (case-replace "(EXISTS (i_1: nat): NOT E!1(i_1)(x!1))")
         (("1"
           (skosimp)
           (inst + "complement(E!1(i!1))")
           (("1" (expand "complement") (expand "member") (propax))
            ("2"
             (expand "complement")
             (expand "member")
             (inst + "i!1"))))
          ("2"
           (replace 1 2)
           (assert)
           (skosimp)
           (typepred "a!1")
           (skosimp)
           (replace -1)
           (assert)
           (inst + "x!2"))))
        ("2"
         (hide-all-but 1)
         (lemma "countable_image[nat,set[T]]")
         (inst - "fullset[nat]" "IComplement(E!1)")
         (split)
         (("1" (expand "image" -1) (propax))
          ("2"
           (hide 2)
           (expand "fullset")
           (expand "is_countable")
           (inst + "lambda (n:nat): n")
           (expand "injective?")
           (skosimp))))
        ("3"
         (skosimp)
         (typepred "x!1")
         (expand "fullset")
         (expand "image")
         (skosimp)
         (expand "IComplement")
         (replace -1)
         (hide-all-but (1 -4))
         (typepred "A!1")
         (expand "sigma_algebra?")
         (flatten)
         (expand "subset_algebra_complement?")
         (expand "member")
         (inst - "E!1(x!2)")
         (inst - "x!2"))))))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: subset_algebra
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (typepred "S")
   (expand "subset_algebra?")
   (flatten)
   (expand "subset_algebra_empty?")
   (expand "member")
   (propax))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: subset_algebra
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (typepred "S")
   (expand "subset_algebra?")
   (flatten)
   (expand "subset_algebra_empty?")
   (expand "subset_algebra_complement?")
   (expand "member")
   (inst - "emptyset[T]")
   (rewrite "complement_emptyset"))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: subset_algebra
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "S")
   (expand "subset_algebra?")
   (flatten)
   (expand "subset_algebra_complement?")
   (inst - "x!1")
   (expand "member")
   (propax))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: subset_algebra
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "S")
   (expand "subset_algebra?")
   (flatten)
   (expand "subset_algebra_union?")
   (inst - "x!1" "y!1")
   (expand "member")
   (propax))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: subset_algebra
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "x!1")
   (typepred "y!1")
   (typepred "S")
   (expand "subset_algebra?")
   (flatten)
   (expand "subset_algebra_union?")
   (expand "subset_algebra_complement?")
   (expand "member")
   (inst-cp - "x!1")
   (inst-cp - "y!1")
   (inst - "complement(x!1)" "complement(y!1)")
   (inst - "union(complement(x!1), complement(y!1))")
   (rewrite "demorgan1" -2)
   (rewrite "complement_complement")
   (rewrite "complement_complement"))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: subset_algebra
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (rewrite "difference_intersection")
   (typepred "x!1")
   (typepred "y!1")
   (lemma "subset_algebra_complement" ("x" "y!1"))
   (expand "member")
   (lemma "subset_algebra_intersection"
    ("x" "x!1" "y" "complement(y!1)"))
   (("1" (expand "member") (propax)) ("2" (propax))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "measure_disjoint_union"
    ("f" "f!1" "a" "a!1" "b" "difference(b!1,a!1)"))
   (assert)
   (split -1)
   (("1"
     (case-replace "union(a!1, difference(b!1, a!1)) = b!1")
     (("1"
       (hide -1)
       (expand "x_add")
       (expand "x_eq")
       (expand "x_le")
       (flatten)
       (case-replace "f!1(a!1)`1")
       (("1" (assert) (prop) (assert)) ("2" (assert))))
      ("2"
       (hide-all-but (-3 1))
       (apply-extensionality :hide? t)
       (expand "difference")
       (expand "union")
       (expand "subset?")
       (expand "member")
       (assert)
       (inst - "x!1")
       (grind))))
    ("2"
     (hide-all-but (-2 1))
     (expand "difference")
     (expand "disjoint?")
     (expand "intersection")
     (expand "empty?")
     (expand "subset?")
     (expand "member")
     (skosimp*))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "measure_disjoint_union"
    ("f" "f!1" "a" "a!1" "b" "difference(b!1,a!1)"))
   (rewrite "union_difference" -1 :dir rl)
   (replace -2)
   (rewrite "difference_disjoint")
   (name-replace "LHS" "f!1(union(a!1, b!1))")
   (lemma "measure_monotone"
    ("f" "f!1" "a" "difference(b!1, a!1)" "b" "b!1"))
   (replace -3)
   (rewrite "difference_subset")
   (name-replace "FMID" "f!1(difference(b!1, a!1))")
   (expand "x_eq")
   (expand "x_le")
   (assert)
   (flatten)
   (assert)
   (expand "x_add")
   (split)
   (("1"
     (flatten)
     (assert)
     (prop)
     (("1" (assert)) ("2" (assert)) ("3" (assert)) ("4" (assert))))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1"
     (flatten)
     (split)
     (("1" (expand "measure?") (flatten))
      ("2"
       (skosimp)
       (lemma "measure_disjoint_union" ("f" "f!1" "a" "a!1" "b" "b!1"))
       (assert))
      ("3"
       (skosimp)
       (expand "measure?")
       (flatten)
       (expand "measure_countably_additive?")
       (inst - "X!1")
       (expand "x_le")
       (expand "x_eq")
       (assert)
       (flatten)
       (assert))))
    ("2"
     (flatten)
     (expand "measure?")
     (assert)
     (expand "measure_countably_additive?")
     (skosimp)
     (inst - "X!1")
     (assert)
     (case "x_le(x_sum(f!1 o X!1), f!1(IUnion(X!1)))")
     (("1"
       (name-replace "LHS" "x_sum(f!1 o X!1)")
       (name-replace "RHS" "f!1(IUnion(X!1))")
       (hide-all-but (-1 -4 1))
       (grind))
      ("2"
       (hide -3 2)
       (case "forall (a,b:(S)): subset?(a,b) => x_le(f!1(a),f!1(b))")
       (("1"
         (expand "x_le" 1)
         (flatten)
         (assert)
         (expand "x_sum")
         (expand "o ")
         (case-replace "FORALL i: f!1(X!1(i))`1")
         (("1"
           (case "FORALL (n: nat): S(IUnion[T](n, X!1))")
           (("1"
             (case "forall (n:nat): x_eq(f!1(IUnion(n,X!1)),x_sigma(0,n,f!1 o X!1))")
             (("1"
               (case "forall (nna:sequence[nnreal],nnb:nnreal): (forall (n:nat): series(nna)(n) <= nnb)=>convergent(series(nna)) & convergence_sequences.limit(series(nna))<=nnb")
               (("1"
                 (inst - "LAMBDA i: f!1(X!1(i))`2" "f!1(IUnion(X!1))`2")
                 (split -1)
                 (("1" (flatten) (replace -1) (propax))
                  ("2"
                   (hide 2)
                   (skosimp)
                   (inst - "n!1")
                   (expand "series")
                   (expand "o ")
                   (inst -2 "n!1")
                   (inst -4 "IUnion(n!1, X!1)" "IUnion(X!1)")
                   (split -4)
                   (("1"
                     (name-replace "MID1" "f!1(IUnion(n!1, X!1))")
                     (expand "x_sigma")
                     (name-replace "LHS"
                      "sigma(0, n!1, LAMBDA i: f!1(X!1(i))`2)")
                     (case-replace "FORALL i: i <= n!1 => f!1(X!1(i))`1")
                     (("1"
                       (hide-all-but (-2 -3 1 -6))
                       (name-replace "RHS" "f!1(IUnion(X!1))")
                       (grind))
                      ("2" (skosimp) (inst -5 "i!1"))))
                    ("2"
                     (hide-all-but 1)
                     (expand "subset?")
                     (expand "member")
                     (skosimp)
                     (expand "IUnion")
                     (expand "image")
                     (expand "Union")
                     (skosimp)
                     (typepred "a!1")
                     (skosimp)
                     (inst + "x!2")
                     (assert))))))
                ("2"
                 (hide-all-but 1)
                 (skosimp)
                 (case "nonempty?[real](image[nat, real](series(nna!1), fullset[nat])) AND
                              above_bounded[real](image[nat, real](series(nna!1), fullset[nat]))")
                 (("1"
                   (typepred "sup(image(series(nna!1),fullset[nat]))")
                   (("1"
                     (name-replace "LIMIT"
                      "sup(image(series(nna!1), fullset[nat]))")
                     (expand "least_upper_bound")
                     (expand "fullset")
                     (expand "image")
                     (expand "upper_bound")
                     (flatten)
                     (case "LIMIT <= nnb!1")
                     (("1"
                       (case "convergence(series(nna!1),LIMIT)")
                       (("1"
                         (split 1)
                         (("1" (expand "convergent?") (inst + "LIMIT"))
                          ("2"
                           (rewrite "limit_def" -1 :dir rl)
                           (assert))))
                        ("2"
                         (hide 2)
                         (expand "convergence")
                         (skosimp)
                         (inst -3 "LIMIT-epsilon!1/2")
                         (assert)
                         (skosimp)
                         (typepred "z!1")
                         (skolem - "n!1")
                         (replace -1)
                         (hide -1)
                         (inst + "n!1")
                         (skosimp)
                         (case "LIMIT-series(nna!1)(n!1)<epsilon!1/2")
                         (("1"
                           (hide 2)
                           (case "series(nna!1)(i!1) <= LIMIT")
                           (("1"
                             (case "LIMIT-series(nna!1)(i!1)<epsilon!1")
                             (("1"
                               (expand "abs")
                               (expand "<=" -2)
                               (split -2)
                               (("1" (assert)) ("2" (assert))))
                              ("2"
                               (case "series(nna!1)(n!1)<=series(nna!1)(i!1)")
                               (("1" (assert))
                                ("2"
                                 (hide-all-but (-3 1))
                                 (lemma
                                  "sigma_split"
                                  ("low"
                                   "0"
                                   "high"
                                   "i!1"
                                   "z"
                                   "n!1"
                                   "F"
                                   "nna!1"))
                                 (expand "series")
                                 (assert)
                                 (replace -1 1)
                                 (assert)
                                 (hide -1)
                                 (lemma
                                  "sigma_ge_0"
                                  ("low"
                                   "1+n!1"
                                   "high"
                                   "i!1"
                                   "F"
                                   "nna!1"))
                                 (split)
                                 (("1" (assert))
                                  ("2" (hide 2) (skosimp) (assert))))))))
                            ("2"
                             (inst -4 "series(nna!1)(i!1)")
                             (inst + "i!1"))))
                          ("2" (assert))))))
                      ("2"
                       (inst -2 "nnb!1")
                       (assert)
                       (skosimp)
                       (typepred "z!1")
                       (skosimp)
                       (inst -5 "x!1")
                       (assert))))
                    ("2" (propax))))
                  ("2"
                   (hide 2)
                   (split)
                   (("1"
                     (expand "fullset")
                     (expand "image")
                     (expand "nonempty?")
                     (expand "empty?")
                     (expand "member")
                     (inst - "series(nna!1)(0)")
                     (inst + "0"))
                    ("2"
                     (expand "fullset")
                     (expand "above_bounded")
                     (inst + "nnb!1")
                     (expand "image")
                     (expand "upper_bound")
                     (skosimp)
                     (typepred "z!1")
                     (skosimp)
                     (inst - "x!1")
                     (assert))))))))
              ("2"
               (hide 2)
               (induct "n")
               (("1"
                 (rewrite "IUnion_0_def")
                 (expand "x_sigma")
                 (expand "x_eq")
                 (expand "o ")
                 (case-replace "FORALL i: i <= 0 => f!1(X!1(i))`1")
                 (("1" (expand "sigma") (assert) (inst - "0") (assert))
                  ("2"
                   (replace 1 2)
                   (assert)
                   (skosimp)
                   (expand "<=" -1)
                   (assert))))
                ("2"
                 (skosimp)
                 (rewrite "IUnion_n_def")
                 (typepred "X!1")
                 (inst - "j!1")
                 (inst -8 "IUnion(j!1, X!1)" "X!1(1 + j!1)")
                 (split -8)
                 (("1"
                   (name-replace "LHS"
                    "f!1(union(IUnion(j!1, X!1), X!1(1 + j!1)))")
                   (hide-all-but (-1 -3 1))
                   (expand "x_eq")
                   (expand "x_sigma")
                   (expand "o ")
                   (flatten)
                   (expand "x_add")
                   (case-replace
                    "FORALL i: i <= 1 + j!1 => f!1(X!1(i))`1")
                   (("1"
                     (case-replace "FORALL i: i <= j!1 => f!1(X!1(i))`1")
                     (("1"
                       (assert)
                       (expand "sigma" 1)
                       (assert)
                       (case-replace "f!1(X!1(1 + j!1))`1")
                       (("1" (assert)) ("2" (inst -2 "1+j!1") (assert))))
                      ("2" (skosimp) (inst - "i!1") (assert))))
                    ("2"
                     (replace 1)
                     (skosimp)
                     (expand "<=" -1)
                     (split)
                     (("1"
                       (case-replace
                        "FORALL i: i <= j!1 => f!1(X!1(i))`1")
                       (("1" (assert) (assert) (inst - "i!1") (assert))
                        ("2" (replace 1) (assert))))
                      ("2" (replace -1) (assert))))))
                  ("2"
                   (expand "disjoint_indexed_measurable?")
                   (hide-all-but (-1 1))
                   (expand "disjoint?")
                   (expand "disjoint?")
                   (expand "intersection")
                   (expand "empty?")
                   (expand "member")
                   (skosimp)
                   (expand "IUnion")
                   (expand "image")
                   (expand "Union")
                   (skosimp)
                   (typepred "a!1")
                   (skolem - "j!2")
                   (inst - "1+j!1" "j!2")
                   (assert)
                   (inst - "x!1")
                   (assert))))))
              ("3" (propax))))
            ("2"
             (hide 2)
             (hide-all-but 1)
             (induct "n")
             (("1" (rewrite "IUnion_0_def") (assert))
              ("2"
               (skosimp)
               (rewrite "IUnion_n_def")
               (lemma "subset_algebra_union"
                ("x" "IUnion[T](j!1, X!1)" "y" "X!1(1 + j!1)"))
               (("1" (propax)) ("2" (propax))))))))
          ("2"
           (replace 1)
           (skosimp)
           (inst - "X!1(i!1)" "IUnion(X!1)")
           (split)
           (("1" (expand "x_le") (flatten))
            ("2"
             (hide-all-but 1)
             (expand "subset?")
             (expand "IUnion")
             (expand "member")
             (skosimp)
             (inst + "i!1"))))))
        ("2"
         (hide 2)
         (skosimp)
         (inst -3 "a!1" "difference(b!1,a!1)")
         (lemma "union_diff_subset" ("a" "a!1" "b" "b!1"))
         (assert)
         (replace -1)
         (rewrite "difference_disjoint")
         (hide-all-but (-4 1))
         (grind))))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1"
     (flatten)
     (lemma "measure_def" ("f" "to_measure(g!1)"))
     (("1"
       (assert)
       (flatten)
       (split)
       (("1" (expand "measure_empty?") (expand "to_measure") (propax))
        ("2"
         (skosimp)
         (inst - "a!1" "b!1")
         (assert)
         (expand "to_measure")
         (expand "x_add")
         (expand "x_eq")
         (propax))
        ("3"
         (skosimp)
         (inst -5 "X!1")
         (assert)
         (expand "to_measure")
         (expand "x_le")
         (assert)
         (expand "o ")
         (expand "x_sum")
         (replace -2)
         (propax))))
      ("2" (propax))))
    ("2"
     (flatten)
     (lemma "measure_def" ("f" "lambda a: (TRUE,g!1(a))"))
     (flatten -1)
     (hide -1)
     (split -1)
     (("1"
       (hide-all-but (-1 1))
       (expand "measure?")
       (expand "finite_measure?")
       (flatten)
       (expand "measure_empty?")
       (assert)
       (skosimp)
       (expand "measure_countably_additive?")
       (inst - "X!1")
       (assert)
       (expand "x_eq")
       (flatten)
       (assert)
       (expand "x_sum")
       (expand "o")
       (prop)
       (assert)
       (rewrite "limit_def" 1 :dir rl))
      ("2" (expand "measure_empty?") (propax))
      ("3"
       (hide 2)
       (skosimp)
       (inst -3 "a!1" "b!1")
       (assert)
       (expand "x_add")
       (expand "x_eq")
       (propax))
      ("4"
       (skosimp)
       (inst -4 "X!1")
       (assert)
       (hide 2 -3)
       (expand "x_sum")
       (expand "x_le")
       (expand "o ")
       (flatten)
       (prop)
       (assert))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (name "AA" "A_of(mu!1)")
   (replace -1)
   (expand "A_of")
   (case "nonempty?({X | IUnion(X) = fullset[T] AND (FORALL i: mu!1(X(i))`1)})")
   (("1"
     (lemma "choose_member"
      ("a" "{X | IUnion(X) = fullset[T] AND (FORALL i: mu!1(X(i))`1)}"))
     (replace -3)
     (expand "nonempty?")
     (assert))
    ("2"
     (typepred "mu!1")
     (expand "sigma_finite_measure?")
     (flatten)
     (expand "measure_sigma_finite?")
     (skosimp)
     (expand "nonempty?")
     (expand "empty?")
     (inst -4 "X!1")
     (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (name "AA" "A_of(mu!1)")
   (replace -1)
   (expand "A_of")
   (case "nonempty?({X | IUnion(X) = fullset[T] AND (FORALL i: mu!1(X(i))`1)})")
   (("1"
     (lemma "choose_member"
      ("a" "{X | IUnion(X) = fullset[T] AND (FORALL i: mu!1(X(i))`1)}"))
     (replace -3)
     (expand "nonempty?")
     (assert)
     (inst - "n!1"))
    ("2"
     (typepred "mu!1")
     (expand "sigma_finite_measure?")
     (flatten)
     (hide-all-but (-2 1))
     (expand "measure_sigma_finite?")
     (skosimp)
     (expand "nonempty?")
     (expand "empty?")
     (inst -3 "X!1")
     (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (apply-extensionality :hide? t)
   (expand "fullset")
   (expand "P_of")
   (expand "IUnion")
   (lemma "A_of_def1" ("mu" "mu!1"))
   (lemma "extensionality_postulate"
    ("f" "IUnion(A_of(mu!1))" "g" "fullset[T]"))
   (flatten)
   (hide -1)
   (split)
   (("1"
     (inst - "x!1")
     (hide -2)
     (expand "emptyset")
     (expand "fullset")
     (expand "IUnion")
     (skosimp)
     (inst + "i!1")
     (inst + "i!1")
     (assert))
    ("2" (propax))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "n")
   (("1"
     (skosimp)
     (case-replace "P_of(mu!1)(0)=A_of(mu!1)(0)")
     (("1" (rewrite "A_of_def2"))
      ("2"
       (hide 2)
       (expand "P_of")
       (apply-extensionality :hide? t)
       (expand "IUnion")
       (case-replace "A_of(mu!1)(0)(x!1)")
       (("1" (inst + "0") (assert))
        ("2" (assert) (skosimp) (expand "emptyset") (propax))))))
    ("2"
     (skosimp)
     (skosimp)
     (inst - "mu!1")
     (case "P_of(mu!1)(j!1 + 1)=union(P_of(mu!1)(j!1),A_of(mu!1)(j!1+1))")
     (("1"
       (replace -1)
       (hide -1)
       (lemma "measure_union"
        ("a" "P_of(mu!1)(j!1)" "b" "A_of(mu!1)(j!1 + 1)" "f" "mu!1"))
       (assert)
       (typepred "mu!1")
       (expand "sigma_finite_measure?")
       (flatten)
       (assert)
       (lemma "A_of_def2" ("mu" "mu!1" "n" "1+j!1"))
       (expand "x_le")
       (expand "x_add")
       (assert))
      ("2"
       (hide-all-but 1)
       (apply-extensionality :hide? t)
       (expand "P_of")
       (expand "union")
       (expand "member")
       (case-replace
        "IUnion(LAMBDA i:
                         IF i <= 1+j!1 THEN A_of(mu!1)(i) ELSE emptyset[T] ENDIF)
                      (x!1)")
       (("1"
         (flatten)
         (expand "IUnion")
         (skosimp)
         (expand "emptyset")
         (prop)
         (expand "<=" -1)
         (split)
         (("1" (inst + "i!1") (assert)) ("2" (assert))))
        ("2"
         (replace 1 2)
         (assert)
         (expand "IUnion")
         (expand "emptyset")
         (split)
         (("1" (skosimp) (inst + "i!1") (assert) (prop) (assert))
          ("2" (inst + "1+j!1") (assert))))))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "subset?")
   (expand "member")
   (skosimp)
   (expand "P_of")
   (expand "IUnion")
   (expand "emptyset")
   (skosimp)
   (prop)
   (inst + "i!2")
   (assert))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "sigma_finite_measure?")
   (skosimp)
   (case-replace "measure?(f!1)")
   (("1" (expand "measure_sigma_finite?") (propax)) ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (rewrite "sigma_finite_def1")
   (case-replace "measure?(f!1)")
   (("1"
     (split)
     (("1"
       (skosimp*)
       (lemma "increasing_IUnion" ("A" "X!1"))
       (skosimp)
       (case "forall n: S(B!1(n))")
       (("1"
         (inst + "B!1")
         (("1"
           (assert)
           (induct "i")
           (("1" (inst -7 "0") (assert))
            ("2"
             (skosimp)
             (inst -5 "j!1")
             (replace -5)
             (inst -8 "1+j!1")
             (lemma "measure_union"
              ("f" "f!1" "a" "B!1(j!1)" "b" "X!1(1 + j!1)"))
             (assert)
             (expand "x_add")
             (expand "x_le")
             (propax))))
          ("2"
           (assert)
           (replace -1)
           (expand "increasing_indexed_measurable?")
           (expand "increasing_indexed?")
           (propax))))
        ("2"
         (hide 2)
         (induct "n")
         (("1" (assert))
          ("2"
           (skosimp)
           (inst -4 "j!1")
           (replace -4)
           (lemma "subset_algebra_union"
            ("x" "B!1(j!1)" "y" "X!1(j!1+1)"))
           (("1" (propax)) ("2" (propax))))))))
      ("2"
       (skosimp*)
       (lemma "disjoint_IUnion" ("A" "P!1"))
       (skosimp)
       (inst + "B!1")
       (("1"
         (assert)
         (typepred "P!1")
         (skosimp)
         (lemma "measure_monotone"
          ("f" "f!1" "a" "B!1(i!1)" "b" "P!1(i!1)"))
         (assert)
         (split)
         (("1" (expand "x_le") (inst -8 "i!1"))
          ("2"
           (hide 2)
           (expand "increasing_indexed_measurable?")
           (expand "increasing_indexed?")
           (case "forall n: IUnion(n, P!1)=P!1(n)")
           (("1"
             (inst - "i!1")
             (case "subset?(B!1(i!1), IUnion(i!1, B!1))")
             (("1" (inst - "i!1") (replace -5) (replace -2) (propax))
              ("2"
               (hide-all-but 1)
               (expand "IUnion")
               (expand "subset?")
               (expand "member")
               (skosimp)
               (expand "image")
               (expand "Union")
               (inst + "B!1(i!1)")
               (inst + "i!1"))))
            ("2"
             (hide-all-but (-1 1))
             (skosimp)
             (apply-extensionality :hide? t)
             (expand "IUnion")
             (expand "image")
             (expand "Union")
             (case-replace "P!1(n!1)(x!1)")
             (("1" (inst + "P!1(n!1)") (inst + "n!1"))
              ("2"
               (assert)
               (skosimp)
               (typepred "a!1")
               (skolem - "n!2")
               (replace -1)
               (hide -1)
               (typepred "n!2")
               (expand "increasing?")
               (inst - "n!2" "n!1")
               (assert)
               (expand "subset?")
               (inst - "x!1")
               (assert))))))))
        ("2"
         (split)
         (("1"
           (case "B!1(0)=P!1(0)")
           (("1"
             (case "forall n: P!1(n) = IUnion(n, P!1)")
             (("1"
               (case "forall n: B!1(n+1)=difference(P!1(n+1),P!1(n))")
               (("1"
                 (skosimp)
                 (case-replace "x1!1=0")
                 (("1" (assert))
                  ("2"
                   (inst - "x1!1-1")
                   (("1" (assert)) ("2" (assert))))))
                ("2"
                 (hide 2)
                 (skosimp)
                 (apply-extensionality :hide? t)
                 (expand "difference")
                 (expand "member")
                 (case-replace "B!1(1 + n!1)(x!1)")
                 (("1"
                   (case-replace "P!1(1 + n!1)(x!1)")
                   (("1"
                     (inst-cp -4 "1+n!1")
                     (inst -4 "n!1")
                     (replace -5 -1)
                     (hide -5)
                     (expand "IUnion" -1)
                     (expand "image")
                     (expand "Union")
                     (skosimp)
                     (replace -4 -3)
                     (hide -4)
                     (inst -6 "n!1")
                     (replace -6 -3 :dir rl)
                     (hide-all-but (-2 -3 -5))
                     (expand "IUnion")
                     (expand "image")
                     (expand "Union")
                     (skosimp)
                     (typepred "a!2")
                     (skolem - "n!2")
                     (typepred "n!2")
                     (replace -2)
                     (hide -2)
                     (expand "disjoint?")
                     (inst - "n!2" "1+n!1")
                     (grind))
                    ("2"
                     (assert)
                     (hide 2)
                     (inst -2 "1+n!1")
                     (replace -2)
                     (hide -2)
                     (inst -4 "1+n!1")
                     (replace -4 1 rl)
                     (hide-all-but (-1 1))
                     (expand "IUnion")
                     (expand "image")
                     (expand "Union")
                     (inst + "B!1(1+n!1)")
                     (inst + "1+n!1"))))
                  ("2"
                   (assert)
                   (flatten)
                   (inst-cp -2 "1+n!1")
                   (replace -3)
                   (inst-cp -6 "1+n!1")
                   (replace -7 -1 rl)
                   (expand "IUnion" -1)
                   (expand "image")
                   (expand "Union")
                   (skosimp)
                   (typepred "a!1")
                   (skolem - "n!2")
                   (replace -1)
                   (hide -1)
                   (typepred "n!2")
                   (expand "<=" -1)
                   (split)
                   (("1"
                     (inst -7 "n!1")
                     (inst -3 "n!1")
                     (replace -3)
                     (replace -7 2 :dir rl)
                     (expand "IUnion" 2)
                     (expand "image")
                     (expand "Union")
                     (inst + "B!1(n!2)")
                     (inst + "n!2")
                     (assert))
                    ("2" (assert))))))))
              ("2"
               (hide-all-but 1)
               (skosimp)
               (apply-extensionality :hide? t)
               (case-replace "P!1(n!1)(x!1)")
               (("1"
                 (expand "IUnion")
                 (expand "image")
                 (expand "Union")
                 (inst + "P!1(n!1)")
                 (inst + "n!1"))
                ("2"
                 (assert)
                 (expand "IUnion")
                 (expand "image")
                 (expand "Union")
                 (skosimp)
                 (typepred "a!1")
                 (skolem - "n!2")
                 (typepred "n!2")
                 (typepred "P!1")
                 (expand "increasing_indexed_measurable?")
                 (expand "increasing_indexed?")
                 (flatten)
                 (expand "increasing?")
                 (inst - "n!2" "n!1")
                 (expand "subset?")
                 (assert)
                 (inst - "x!1")
                 (assert))))))
            ("2" (propax))))
          ("2" (expand "disjoint_indexed_measurable?") (propax))))))))
    ("2" (assert))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "increasing_indexed_measurable?")
   (expand "increasing_indexed?")
   (split)
   (("1"
     (apply-extensionality :hide? t)
     (expand "fullset")
     (expand "IUnion")
     (propax))
    ("2"
     (expand "increasing?")
     (expand "subset?")
     (expand "fullset")
     (expand "member")
     (propax))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "sigma_finite_measure?")
   (split)
   (("1" (lemma "measure_type_TCC1") (propax))
    ("2"
     (expand "measure_sigma_finite?")
     (expand "zero_measure")
     (inst + "lambda i: if i = 0 then fullset[T] else emptyset[T] endif")
     (("1"
       (apply-extensionality :hide? t)
       (expand "fullset")
       (expand "IUnion")
       (inst + "0"))
      ("2"
       (expand "disjoint_indexed_measurable?")
       (expand "fullset")
       (expand "emptyset")
       (expand "disjoint?")
       (skosimp)
       (expand "disjoint?")
       (expand "intersection")
       (expand "empty?")
       (expand "member")
       (skosimp*)
       (case-replace "i!1=0")
       (("1" (assert)) ("2" (assert))))))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "measure?")
   (split)
   (("1" (expand "measure_empty?") (rewrite "card_emptyset[T]"))
    ("2"
     (expand "measure_countably_additive?")
     (name-replace "MM"
      "LAMBDA a:
                   IF is_finite[T](a) THEN (TRUE, card[T](a)) ELSE (FALSE, 0) ENDIF")
     (skosimp)
     (expand "x_eq")
     (expand "o ")
     (expand "MM")
     (expand "x_sum")
     (case-replace
      "FORALL i: IF is_finite[T](X!1(i)) THEN TRUE ELSE FALSE ENDIF")
     (("1"
       (case "FORALL i: is_finite[T](X!1(i))")
       (("1"
         (hide -2)
         (case-replace
          "(LAMBDA (i_1: nat):
                                        IF is_finite[T](X!1(i_1))
                                          THEN card[T](X!1(i_1))
                                        ELSE 0
                                        ENDIF)=LAMBDA (i_1: nat):card[T](X!1(i_1))")
         (("1"
           (hide -1)
           (case "FORALL i: series(LAMBDA (i_1: nat): card[T](X!1(i_1)))(i) = card[T](IUnion(lambda (n:nat): if n <= i then X!1(n) else emptyset[T] endif))")
           (("1"
             (case "FORALL i: is_finite[T](IUnion(LAMBDA (n: nat):
                                          IF n <= i THEN X!1(n) ELSE emptyset[T] ENDIF))")
             (("1"
               (name-replace "CS"
                "series(LAMBDA (i_1: nat): card[T](X!1(i_1)))")
               (case-replace "is_finite[T](IUnion(X!1))")
               (("1"
                 (assert)
                 (case-replace "convergent(CS)")
                 (("1"
                   (case "increasing?(CS)")
                   (("1"
                     (case "FORALL i: CS(i) <= card[T](IUnion(X!1))")
                     (("1"
                       (lemma "converges_upto_is_lub"
                        ("u" "CS" "x" "card[T](IUnion(X!1))"))
                       (expand "converges_upto?" -1)
                       (replace -3)
                       (flatten -1)
                       (hide -1)
                       (split -1)
                       (("1"
                         (rewrite "convergence_sequences.limit_def")
                         (hide-all-but (-1 1))
                         (rewrite "metric_convergence_def")
                         (expand "metric_converges_to")
                         (expand "convergence")
                         (expand "ball")
                         (expand "member")
                         (skosimp)
                         (inst - "epsilon!1")
                         (skosimp)
                         (inst + "n!1")
                         (skosimp)
                         (inst - "i!1")
                         (grind))
                        ("2"
                         (hide 2)
                         (expand "bounded_above?")
                         (inst + "card[T](IUnion(X!1))"))
                        ("3"
                         (hide 2)
                         (expand "fullset")
                         (expand "image")
                         (expand "least_upper_bound?")
                         (split)
                         (("1"
                           (expand "upper_bound?")
                           (skosimp)
                           (typepred "s!1")
                           (skosimp)
                           (inst - "x!1")
                           (assert))
                          ("2"
                           (skosimp*)
                           (expand "upper_bound?")
                           (case "y!1<card[T](IUnion(X!1))")
                           (("1"
                             (hide 1)
                             (case "exists i: IUnion(LAMBDA (n: nat):
                                                         IF n <= i THEN X!1(n) ELSE emptyset[T] ENDIF) = IUnion(X!1)")
                             (("1"
                               (skosimp)
                               (inst -3 "CS(i!1)")
                               (("1"
                                 (inst -9 "i!1")
                                 (replace -1)
                                 (assert))
                                ("2" (inst + "i!1"))))
                              ("2"
                               (hide -1 -2)
                               (lemma "convergence_cauchy1" ("u" "CS"))
                               (assert)
                               (expand "cauchy")
                               (inst - "1/2")
                               (skosimp)
                               (inst + "n!1")
                               (apply-extensionality :hide? t)
                               (inst - "_" "n!1")
                               (assert)
                               (case-replace
                                "IUnion(LAMBDA (n: nat):
                                               IF n <= n!1 THEN X!1(n) ELSE emptyset[T] ENDIF)
                                            (x!1)")
                               (("1"
                                 (expand "IUnion")
                                 (skosimp)
                                 (expand "emptyset")
                                 (prop)
                                 (inst + "i!1"))
                                ("2"
                                 (replace 1 2)
                                 (assert)
                                 (expand "IUnion")
                                 (skosimp)
                                 (expand "emptyset")
                                 (case "i!1>n!1")
                                 (("1"
                                   (inst - "i!1")
                                   (assert)
                                   (hide 1)
                                   (expand "increasing?")
                                   (inst -5 "n!1" "i!1")
                                   (assert)
                                   (expand "abs" -3)
                                   (assert)
                                   (expand "<=" -5)
                                   (split -5)
                                   (("1"
                                     (assert)
                                     (inst-cp -9 "n!1")
                                     (inst -9 "i!1")
                                     (replace -10)
                                     (replace -9)
                                     (assert))
                                    ("2"
                                     (hide -4)
                                     (inst-cp -8 "n!1")
                                     (inst -8 "i!1")
                                     (replace -9)
                                     (replace -8)
                                     (hide -9 -8)
                                     (lemma
                                      "same_card_subset[T]"
                                      ("A"
                                       "{x: T |
                                                     EXISTS (i_1: nat):
                                                       IF i_1 <= n!1 THEN X!1(i_1)(x) ELSE FALSE ENDIF}"
                                       "B"
                                       "{x_1: T |
                                                      EXISTS (i_2: nat):
                                                        IF i_2 <= i!1 THEN X!1(i_2)(x_1) ELSE FALSE ENDIF}"))
                                     (("1"
                                       (replace -2)
                                       (hide -2)
                                       (split -1)
                                       (("1"
                                         (lemma
                                          "extensionality_postulate"
                                          ("f"
                                           "{x_1: T |
                                                     EXISTS (i_2: nat):
                                                       IF i_2 <= n!1 THEN X!1(i_2)(x_1) ELSE FALSE ENDIF}"
                                           "g"
                                           "{x_2: T |
                                                      EXISTS (i_1: nat):
                                                        IF i_1 <= i!1 THEN X!1(i_1)(x_2) ELSE FALSE ENDIF}"))
                                         (replace -1 -2 rl)
                                         (hide -1)
                                         (inst - "x!1")
                                         (case-replace
                                          "(EXISTS (i_2: nat):
                                                   IF i_2 <= n!1 THEN X!1(i_2)(x!1) ELSE FALSE ENDIF)")
                                         (("1"
                                           (skosimp)
                                           (prop)
                                           (typepred "X!1")
                                           (expand
                                            "disjoint_indexed_measurable?")
                                           (expand "disjoint?")
                                           (expand "disjoint?")
                                           (expand "intersection")
                                           (expand "empty?")
                                           (expand "member")
                                           (inst - "i!2" "i!1")
                                           (assert)
                                           (inst - "x!1")
                                           (assert))
                                          ("2"
                                           (replace 1 -1)
                                           (assert)
                                           (inst 2 "i!1")
                                           (assert))))
                                        ("2"
                                         (expand "subset?")
                                         (expand "member")
                                         (skosimp*)
                                         (prop)
                                         (inst + "i!2")
                                         (assert))))
                                      ("2" (inst -7 "i!1"))
                                      ("3" (inst -7 "n!1"))))))
                                  ("2" (inst + "i!1") (assert))))))))
                            ("2" (assert))))))))
                      ("2"
                       (hide -2 2)
                       (skosimp)
                       (inst -4 "i!1")
                       (replace -4)
                       (lemma "card_subset[T]"
                        ("A"
                         "IUnion(LAMBDA (n: nat):
                                             IF n <= i!1 THEN X!1(n) ELSE emptyset[T] ENDIF)"
                         "B"
                         "IUnion(X!1)"))
                       (assert)
                       (hide 2)
                       (expand "subset?")
                       (expand "IUnion")
                       (expand "emptyset")
                       (expand "member")
                       (skosimp*)
                       (prop)
                       (inst + "i!2"))))
                    ("2"
                     (hide -1 2)
                     (expand "increasing?")
                     (skolem + ("i!1" "j!1"))
                     (flatten)
                     (inst-cp -4 "i!1")
                     (inst -4 "j!1")
                     (replace -4)
                     (replace -5)
                     (hide -4 -5)
                     (lemma "card_subset[T]"
                      ("A"
                       "IUnion(LAMBDA (n_1: nat):
                                           IF n_1 <= i!1 THEN X!1(n_1) ELSE emptyset[T] ENDIF)"
                       "B"
                       "IUnion(LAMBDA (n: nat):
                                            IF n <= j!1 THEN X!1(n) ELSE emptyset[T] ENDIF)"))
                     (assert)
                     (hide 2)
                     (expand "IUnion")
                     (expand "subset?")
                     (expand "emptyset")
                     (expand "member")
                     (skosimp*)
                     (prop)
                     (inst + "i!2")
                     (assert))))
                  ("2"
                   (assert)
                   (hide 2)
                   (case "forall i: CS(i) <= card[T](IUnion(X!1))")
                   (("1"
                     (case "increasing?(CS)")
                     (("1"
                       (lemma "converges_upto_is_lub"
                        ("u" "CS" "x" "card[T](IUnion(X!1))"))
                       (expand "converges_upto?")
                       (replace -2)
                       (flatten -1)
                       (hide -1)
                       (split -1)
                       (("1"
                         (rewrite "metric_convergence_def")
                         (hide-all-but (-1 1))
                         (expand "metric_converges_to")
                         (expand "ball")
                         (expand "member")
                         (assert)
                         (expand "convergent?")
                         (expand "convergence")
                         (inst + "card[T](IUnion(X!1))")
                         (skosimp)
                         (inst - "epsilon!1")
                         (skosimp)
                         (inst + "n!1")
                         (skosimp)
                         (inst - "i!1")
                         (assert)
                         (grind))
                        ("2"
                         (hide 2)
                         (expand "bounded_above?")
                         (inst + "card[T](IUnion(X!1))"))
                        ("3"
                         (hide 2)
                         (expand "fullset")
                         (expand "image")
                         (expand "least_upper_bound?")
                         (split)
                         (("1"
                           (expand "upper_bound?")
                           (skosimp)
                           (typepred "s!1")
                           (skosimp)
                           (inst - "x!1")
                           (assert))
                          ("2"
                           (skosimp)
                           (case "y!1<card[T](IUnion(X!1))")
                           (("1"
                             (hide 1)
                             (expand "upper_bound?")
                             (case "exists i: IUnion(LAMBDA (n: nat):
                                                         IF n <= i THEN X!1(n) ELSE emptyset[T] ENDIF) = IUnion(X!1)")
                             (("1"
                               (skosimp)
                               (inst -8 "i!1")
                               (replace -1)
                               (inst -3 "CS(i!1)")
                               (("1" (assert)) ("2" (inst + "i!1"))))
                              ("2"
                               (hide-all-but (-5 -8 1))
                               (case "forall (Y:sequence[set[T]],n:nat): (FORALL i: is_finite[T](Y(i)))& is_finite(IUnion(Y)) & card(IUnion(Y))=n => EXISTS i:
                                             IUnion(LAMBDA (m: nat):
                                                      IF m <= i THEN Y(m) ELSE emptyset[T] ENDIF)
                                              = IUnion(Y)")
                               (("1"
                                 (inst - "X!1" "card(IUnion(X!1))")
                                 (replace -2)
                                 (replace -3)
                                 (propax))
                                ("2"
                                 (hide -1 -2 2)
                                 (induct "n")
                                 (("1"
                                   (skosimp)
                                   (inst + "0")
                                   (apply-extensionality :hide? t)
                                   (lemma
                                    "card_is_0[T]"
                                    ("S" "IUnion(Y!1)"))
                                   (assert)
                                   (replace -1)
                                   (expand "emptyset" 1)
                                   (expand "IUnion" -2)
                                   (skosimp)
                                   (prop)
                                   (rewrite
                                    "emptyset_is_empty?"
                                    -3
                                    :dir
                                    rl)
                                   (expand "empty?")
                                   (inst - "x!1")
                                   (expand "member")
                                   (expand "IUnion")
                                   (inst + "i!1"))
                                  ("2"
                                   (skosimp*)
                                   (lemma
                                    "nonempty_card[T]"
                                    ("S" "IUnion(Y!1)"))
                                   (assert)
                                   (lemma
                                    "choose_rest[T]"
                                    ("a" "IUnion(Y!1)"))
                                   (expand "nonempty?")
                                   (assert)
                                   (lemma
                                    "card_rest[T]"
                                    ("S" "IUnion(Y!1)"))
                                   (replace -6)
                                   (assert)
                                   (lemma
                                    "choose_member[T]"
                                    ("a" "IUnion(Y!1)"))
                                   (name-replace
                                    "CC"
                                    "choose(IUnion(Y!1))")
                                   (replace 1 -1)
                                   (name
                                    "YY"
                                    "lambda i: remove[T](CC,Y!1(i))")
                                   (inst -5 "YY")
                                   (case "IUnion(YY)=rest(IUnion(Y!1))")
                                   (("1"
                                     (replace -1)
                                     (replace -4)
                                     (lemma
                                      "finite_rest[T]"
                                      ("A" "IUnion(Y!1)"))
                                     (replace -1)
                                     (split -7)
                                     (("1"
                                       (skosimp)
                                       (expand "member" -5)
                                       (expand "IUnion" -5)
                                       (skosimp)
                                       (inst + "max(i!1,i!2)")
                                       (apply-extensionality :hide? t)
                                       (case-replace "IUnion(Y!1)(x!1)")
                                       (("1"
                                         (replace -8 -1 rl)
                                         (expand "add" -1)
                                         (split -1)
                                         (("1"
                                           (expand "IUnion" 1)
                                           (inst + "i!2")
                                           (expand "emptyset")
                                           (assert)
                                           (hide-all-but 1)
                                           (grind))
                                          ("2"
                                           (replace -2 -1 rl)
                                           (expand "member")
                                           (expand "IUnion" (-1 1))
                                           (skosimp)
                                           (hide-all-but (-1 -6 1))
                                           (expand "emptyset")
                                           (prop)
                                           (expand "YY")
                                           (expand "remove")
                                           (flatten)
                                           (expand "member")
                                           (inst + "i!3")
                                           (grind))))
                                        ("2"
                                         (replace 1 2)
                                         (assert)
                                         (expand "IUnion" (-1 1))
                                         (skosimp)
                                         (expand "emptyset")
                                         (prop)
                                         (inst + "i!3"))))
                                      ("2"
                                       (hide-all-but (-7 1 2))
                                       (skosimp)
                                       (inst - "i!1")
                                       (expand "YY")
                                       (lemma
                                        "finite_remove[T]"
                                        ("x" "CC" "A" "Y!1(i!1)"))
                                       (("1" (propax)) ("2" (propax))))))
                                    ("2"
                                     (hide 3 -5)
                                     (apply-extensionality :hide? t)
                                     (expand "YY")
                                     (expand "rest" 1)
                                     (expand "CC" 1)
                                     (expand "IUnion" 1)
                                     (expand "remove")
                                     (expand "member")
                                     (case-replace
                                      "choose({x: T | EXISTS (i: nat): Y!1(i)(x)}) /= x!1")
                                     (("1" (assert))
                                      ("2"
                                       (expand "nonempty?")
                                       (expand "IUnion")
                                       (propax))))))))))))
                            ("2" (assert))))))))
                      ("2"
                       (hide 2)
                       (expand "increasing?")
                       (skolem + ("i!1" "j!1"))
                       (flatten)
                       (inst-cp -5 "i!1")
                       (inst -5 "j!1")
                       (replace -5)
                       (replace -6)
                       (hide -5 -6)
                       (lemma "card_subset[T]"
                        ("A"
                         "IUnion(LAMBDA (n_1: nat):
                                             IF n_1 <= i!1 THEN X!1(n_1) ELSE emptyset[T] ENDIF)"
                         "B"
                         "IUnion(LAMBDA (n: nat):
                                              IF n <= j!1 THEN X!1(n) ELSE emptyset[T] ENDIF)"))
                       (assert)
                       (hide 2)
                       (expand "subset?")
                       (expand "IUnion")
                       (expand "member")
                       (expand "emptyset")
                       (skosimp*)
                       (prop)
                       (inst + "i!2")
                       (assert))))
                    ("2"
                     (hide 2)
                     (skosimp)
                     (inst - "i!1")
                     (inst - "i!1")
                     (replace -3)
                     (lemma "card_subset[T]"
                      ("A"
                       "IUnion(LAMBDA (n: nat):
                                           IF n <= i!1 THEN X!1(n) ELSE emptyset[T] ENDIF)"
                       "B"
                       "IUnion(X!1)"))
                     (split -1)
                     (("1" (propax))
                      ("2"
                       (hide -3 2)
                       (expand "subset?")
                       (expand "IUnion")
                       (expand "member")
                       (expand "emptyset")
                       (skosimp*)
                       (prop)
                       (inst + "i!2"))))))))
                ("2"
                 (assert)
                 (case-replace "convergent(CS)")
                 (("1"
                   (lemma "convergence_cauchy1" ("u" "CS"))
                   (assert)
                   (expand "cauchy")
                   (inst - "1/2")
                   (skosimp)
                   (case "IUnion(LAMBDA (n: nat):
                                               IF n <= n!1 THEN X!1(n) ELSE emptyset[T] ENDIF) = IUnion(X!1)")
                   (("1" (inst -4 "n!1") (replace -1) (propax))
                    ("2"
                     (hide 2)
                     (apply-extensionality :hide? t)
                     (expand "IUnion" 1)
                     (case-replace
                      "(EXISTS (i: nat):
                               IF i <= n!1 THEN X!1(i)(x!1) ELSE emptyset[T](x!1) ENDIF)")
                     (("1"
                       (skosimp)
                       (prop)
                       (("1" (inst + "i!1"))
                        ("2" (expand "emptyset") (propax))))
                      ("2"
                       (replace 1 2)
                       (assert)
                       (skosimp)
                       (case "i!1>n!1")
                       (("1"
                         (inst - "i!1" "n!1")
                         (assert)
                         (inst-cp -6 "i!1")
                         (inst -6 "n!1")
                         (replace -6)
                         (replace -7)
                         (hide -6 -7)
                         (hide 1)
                         (inst-cp - "i!1")
                         (inst - "n!1")
                         (name-replace "IU_n"
                          "IUnion(LAMBDA (n: nat):
                                                   IF n <= n!1 THEN X!1(n) ELSE emptyset[T] ENDIF)")
                         (name-replace "IU_i"
                          "IUnion(LAMBDA (n: nat):
                                                   IF n <= i!1 THEN X!1(n) ELSE emptyset[T] ENDIF)")
                         (lemma "card_subset[T]" ("A" "IU_n" "B" "IU_i"))
                         (split -1)
                         (("1"
                           (expand "abs")
                           (expand "<=" -1)
                           (split -1)
                           (("1" (assert))
                            ("2"
                             (assert)
                             (typepred "X!1")
                             (expand "disjoint_indexed_measurable?")
                             (expand "disjoint?")
                             (inst - "i!1" "n!1")
                             (assert)
                             (expand "disjoint?")
                             (expand "intersection")
                             (expand "empty?")
                             (inst - "x!1")
                             (expand "member")
                             (lemma "same_card_subset[T]"
                              ("A" "IU_n" "B" "IU_i"))
                             (split)
                             (("1"
                               (lemma "extensionality_postulate"
                                ("f" "IU_n" "g" "IU_i"))
                               (replace -1 -2 rl)
                               (hide -1)
                               (inst - "x!1")
                               (expand "IU_n" -1)
                               (expand "IU_i" -1)
                               (expand "IUnion" -1)
                               (expand "emptyset")
                               (case-replace
                                "EXISTS (i: nat): IF i <= n!1 THEN X!1(i)(x!1) ELSE FALSE ENDIF")
                               (("1"
                                 (skosimp)
                                 (prop)
                                 (typepred "X!1")
                                 (expand "disjoint_indexed_measurable?")
                                 (expand "disjoint?")
                                 (expand "disjoint?")
                                 (expand "intersection")
                                 (expand "empty?")
                                 (expand "member")
                                 (inst - "i!2" "i!1")
                                 (assert)
                                 (inst - "x!1")
                                 (assert))
                                ("2"
                                 (replace 1 -1)
                                 (assert)
                                 (inst 2 "i!1")
                                 (assert))))
                              ("2"
                               (hide-all-but (-2 1))
                               (expand "subset?")
                               (expand "IU_n")
                               (expand "IU_i")
                               (expand "member")
                               (skosimp)
                               (expand "IUnion")
                               (expand "emptyset")
                               (skosimp)
                               (prop)
                               (inst + "i!2")
                               (assert))
                              ("3" (propax))))))
                          ("2"
                           (hide-all-but (-1 1))
                           (expand "subset?")
                           (expand "IU_n")
                           (expand "IU_i")
                           (expand "member")
                           (expand "IUnion")
                           (skosimp*)
                           (expand "emptyset")
                           (prop)
                           (inst + "i!2")
                           (assert))))
                        ("2" (inst + "i!1") (assert))))))))
                  ("2" (assert))))))
              ("2"
               (hide-all-but (-2 1))
               (copy -1)
               (induct "i")
               (("1"
                 (case-replace
                  "(IUnion(LAMBDA (n: nat):
                                      IF n <= 0 THEN X!1(n) ELSE emptyset[T] ENDIF))=X!1(0)")
                 (("1" (inst - "0"))
                  ("2"
                   (hide-all-but 1)
                   (apply-extensionality :hide? t)
                   (expand "emptyset")
                   (expand "IUnion")
                   (case-replace "X!1(0)(x!1)")
                   (("1" (inst + "0") (assert)) ("2" (assert))))))
                ("2"
                 (skosimp*)
                 (case-replace
                  "IUnion(LAMBDA (n: nat):
                                      IF n <= j!1 + 1 THEN X!1(n) ELSE emptyset[T] ENDIF)=union(X!1(1+j!1),IUnion(LAMBDA (n: nat):
                                      IF n <= j!1 THEN X!1(n) ELSE emptyset[T] ENDIF))")
                 (("1"
                   (hide -1)
                   (lemma "finite_union[T]"
                    ("A"
                     "X!1(1 + j!1)"
                     "B"
                     "IUnion(LAMBDA (n_1: nat):
                                         IF n_1 <= j!1 THEN X!1(n_1) ELSE emptyset[T] ENDIF)"))
                   (("1" (propax)) ("2" (propax))
                    ("3" (inst - "1+j!1"))))
                  ("2"
                   (hide-all-but 1)
                   (apply-extensionality :hide? t)
                   (expand "union")
                   (expand "member")
                   (expand "IUnion")
                   (expand "emptyset")
                   (case-replace "X!1(1 + j!1)(x!1)")
                   (("1" (inst + "1+j!1") (assert))
                    ("2"
                     (assert)
                     (case-replace
                      "EXISTS (i: nat): IF i <= j!1 THEN X!1(i)(x!1) ELSE FALSE ENDIF")
                     (("1" (skosimp) (prop) (inst + "i!1") (assert))
                      ("2"
                       (replace 1 3)
                       (assert)
                       (skosimp)
                       (prop)
                       (expand "<=" -1)
                       (split -1)
                       (("1" (inst + "i!1") (assert))
                        ("2" (assert))))))))))))))
            ("2"
             (hide 2)
             (expand "series")
             (copy -1)
             (induct "i")
             (("1"
               (case-replace
                "IUnion(LAMBDA (n: nat):
                                     IF n <= 0 THEN X!1(n) ELSE emptyset[T] ENDIF) =X!1(0)")
               (("1" (expand "sigma") (expand "sigma") (propax))
                ("2"
                 (hide 2)
                 (apply-extensionality :hide? t)
                 (expand "IUnion")
                 (expand "emptyset")
                 (case-replace "X!1(0)(x!1)")
                 (("1" (inst + "0") (assert)) ("2" (assert))))))
              ("2"
               (skosimp*)
               (expand "sigma" 1)
               (case-replace
                "IUnion(LAMBDA (n: nat):
                                     IF n <= 1 + j!1 THEN X!1(n) ELSE emptyset[T] ENDIF)=union(X!1(1+j!1),IUnion(LAMBDA (n: nat):
                                     IF n <= j!1 THEN X!1(n) ELSE emptyset[T] ENDIF))")
               (("1"
                 (hide -1)
                 (case "disjoint?(X!1(1+j!1),IUnion(LAMBDA (n: nat):
                                            IF n <= j!1 THEN X!1(n) ELSE emptyset[T] ENDIF))")
                 (("1"
                   (lemma "card_disj_union[T]"
                    ("A"
                     "X!1(1 + j!1)"
                     "B"
                     "IUnion(LAMBDA (n: nat):
                                              IF n <= j!1 THEN X!1(n) ELSE emptyset[T] ENDIF)"))
                   (assert))
                  ("2"
                   (hide -1 2)
                   (hide-all-but 1)
                   (typepred "X!1")
                   (expand "disjoint_indexed_measurable?")
                   (expand "disjoint?")
                   (expand "disjoint?")
                   (expand "intersection")
                   (expand "IUnion")
                   (expand "emptyset")
                   (expand "empty?")
                   (expand "member")
                   (skosimp*)
                   (prop)
                   (inst - "i!1" "1+j!1")
                   (assert)
                   (inst - "x!1")
                   (assert))))
                ("2"
                 (hide -1 2)
                 (apply-extensionality :hide? t)
                 (expand "union")
                 (expand "member")
                 (expand "IUnion")
                 (case-replace "X!1(1 + j!1)(x!1)")
                 (("1" (inst + "1+j!1") (assert))
                  ("2"
                   (assert)
                   (expand "emptyset")
                   (case-replace
                    "(EXISTS (i: nat): IF i <= j!1 THEN X!1(i)(x!1) ELSE FALSE ENDIF)")
                   (("1" (skosimp) (prop) (inst + "i!1") (assert))
                    ("2"
                     (replace 1 3)
                     (assert)
                     (skosimp)
                     (prop)
                     (inst + "i!1")
                     (assert))))))))
              ("3"
               (hide 2)
               (induct "i")
               (("1"
                 (case-replace
                  "IUnion[nat, T]
                                 (LAMBDA (n: nat):
                                    IF n <= 0 THEN X!1(n) ELSE emptyset[T] ENDIF)=X!1(0)")
                 (("1" (inst - "0"))
                  ("2"
                   (hide-all-but 1)
                   (expand "emptyset")
                   (expand "IUnion")
                   (apply-extensionality :hide? t)
                   (case-replace "X!1(0)(x!1)")
                   (("1" (inst + "0") (assert)) ("2" (assert))))))
                ("2"
                 (skosimp*)
                 (case-replace
                  "IUnion[nat, T]
                                 (LAMBDA (n: nat):
                                    IF n <= j!1 + 1 THEN X!1(n) ELSE emptyset[T] ENDIF)=union(X!1(1+j!1),IUnion[nat, T]
                                 (LAMBDA (n: nat):
                                    IF n <= j!1 THEN X!1(n) ELSE emptyset[T] ENDIF))")
                 (("1"
                   (hide -1)
                   (lemma "finite_union[T]"
                    ("A"
                     "X!1(1 + j!1)"
                     "B"
                     "IUnion[nat, T]
                                          (LAMBDA (n: nat):
                                             IF n <= j!1 THEN X!1(n) ELSE emptyset[T] ENDIF)"))
                   (("1" (propax)) ("2" (propax))
                    ("3" (inst - "1+j!1"))))
                  ("2"
                   (hide-all-but 1)
                   (expand "union")
                   (expand "emptyset")
                   (expand "IUnion")
                   (expand "member")
                   (apply-extensionality :hide? t)
                   (case-replace "X!1(1 + j!1)(x!1)")
                   (("1" (inst + "1+j!1") (assert))
                    ("2"
                     (assert)
                     (case-replace
                      "(EXISTS (i: nat): IF i <= j!1 THEN X!1(i)(x!1) ELSE FALSE ENDIF)")
                     (("1" (skosimp) (prop) (inst + "i!2") (assert))
                      ("2"
                       (replace 1 3)
                       (assert)
                       (skosimp)
                       (prop)
                       (expand "<=" -1)
                       (split -1)
                       (("1" (inst + "i!2") (assert))
                        ("2" (assert))))))))))))))
            ("3"
             (hide 2)
             (induct "i")
             (("1"
               (expand "emptyset")
               (expand "IUnion")
               (case-replace
                "{x_1: T |
                              EXISTS (i: nat): IF i <= 0 THEN X!1(i)(x_1) ELSE FALSE ENDIF}=X!1(0)")
               (("1" (inst - "0"))
                ("2"
                 (hide 2)
                 (apply-extensionality :hide? t)
                 (case-replace "X!1(0)(x!1)")
                 (("1" (inst + "0") (assert)) ("2" (assert))))))
              ("2"
               (skosimp*)
               (case-replace
                "(IUnion[nat, T]
                               (LAMBDA (n: nat):
                                  IF n <= j!1 + 1 THEN X!1(n) ELSE emptyset[T] ENDIF))=union(X!1(j!1+1),(IUnion[nat, T]
                               (LAMBDA (n: nat):
                                  IF n <= j!1 THEN X!1(n) ELSE emptyset[T] ENDIF)))")
               (("1"
                 (hide -1)
                 (lemma "finite_union[T]"
                  ("A"
                   "X!1(j!1 + 1)"
                   "B"
                   "IUnion[nat, T]
                                         (LAMBDA (n: nat):
                                            IF n <= j!1 THEN X!1(n) ELSE emptyset[T] ENDIF)"))
                 (("1" (propax)) ("2" (propax)) ("3" (inst - "1+j!1"))))
                ("2"
                 (hide -1 2)
                 (apply-extensionality :hide? t)
                 (expand "union")
                 (expand "IUnion")
                 (expand "emptyset")
                 (expand "member")
                 (case-replace "X!1(1 + j!1)(x!1)")
                 (("1" (inst + "1+j!1") (assert))
                  ("2"
                   (assert)
                   (case-replace
                    "(EXISTS (i: nat): IF i <= j!1 THEN X!1(i)(x!1) ELSE FALSE ENDIF)")
                   (("1" (skosimp) (prop) (inst + "i!1") (assert))
                    ("2"
                     (replace 1 3)
                     (assert)
                     (skosimp)
                     (prop)
                     (expand "<=" -1)
                     (split -1)
                     (("1" (inst + "i!1") (assert))
                      ("2" (assert))))))))))))
            ("4" (propax))))
          ("2"
           (hide 2)
           (apply-extensionality :hide? t)
           (inst - "x!1")
           (assert))))
        ("2" (hide 2) (skosimp) (inst - "i!1") (prop))))
      ("2"
       (replace 1 2)
       (assert)
       (skosimp)
       (prop)
       (lemma "finite_subset[T]" ("A" "IUnion(X!1)" "s" "X!1(i!1)"))
       (("1"
         (assert)
         (expand "IUnion")
         (expand "subset?")
         (skosimp)
         (expand "member")
         (inst + "i!1"))
        ("2" (propax))))))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem + ("mu!1"))
   (typepred "mu!1")
   (expand "complete_sigma_finite?")
   (flatten)
   (expand "complete_measure?")
   (split)
   (("1" (propax)) ("2" (propax))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem + ("mu!1"))
   (typepred "mu!1")
   (expand "complete_sigma_finite?")
   (expand "sigma_finite_measure?")
   (flatten)
   (assert))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "nonempty?")
   (expand "empty?")
   (expand "member")
   (typepred "f!1")
   (expand "sigma_finite_measure?")
   (flatten)
   (expand "measure_sigma_finite?")
   (skosimp)
   (inst -4 "X!1")
   (assert))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (case "forall (f: sigma_finite_measure, n: nat): S(IUnion(n,A_of(f)))")
   (("1"
     (case "forall (f: sigma_finite_measure, n: nat):
                   IUnion[nat, T]
                         (LAMBDA i: IF i <= n THEN A_of(f)(i) ELSE emptyset[T] ENDIF)= IUnion(n, A_of(f))")
     (("1"
       (skosimp)
       (inst - "f!1" "n!1")
       (inst - "f!1" "n!1")
       (replace -1)
       (propax))
      ("2"
       (hide-all-but 1)
       (induct "n")
       (("1"
         (skosimp)
         (rewrite "IUnion_0_def")
         (apply-extensionality :hide? t)
         (expand "IUnion")
         (case-replace "A_of(f!1)(0)(x!1)")
         (("1" (inst + "0") (assert))
          ("2" (assert) (skosimp) (expand "emptyset") (propax))))
        ("2"
         (skosimp*)
         (rewrite "IUnion_n_def" 1)
         (apply-extensionality :hide? t)
         (expand "union")
         (expand "member")
         (case-replace "A_of(f!1)(1 + j!1)(x!1)")
         (("1" (hide -2) (expand "IUnion") (inst + "1+j!1") (assert))
          ("2"
           (assert)
           (inst - "f!1")
           (case-replace "IUnion(j!1, A_of(f!1))(x!1)")
           (("1"
             (replace -2 -1 rl)
             (hide -2)
             (expand "IUnion")
             (skosimp)
             (expand "emptyset")
             (prop)
             (inst + "i!1")
             (assert))
            ("2"
             (assert)
             (replace -2 1 rl)
             (hide -2)
             (expand "IUnion")
             (skosimp)
             (expand "emptyset")
             (prop)
             (expand "<=" -1)
             (split)
             (("1" (inst + "i!1") (assert)) ("2" (assert))))))))))))
    ("2"
     (hide 2)
     (induct "n")
     (("1" (skosimp) (rewrite "IUnion_0_def") (assert))
      ("2"
       (skosimp)
       (skosimp)
       (inst - "f!1")
       (rewrite "IUnion_n_def")
       (assert)
       (typepred "S")
       (expand "subset_algebra?")
       (flatten)
       (expand "subset_algebra_union?")
       (inst - "IUnion(j!1, A_of(f!1))" "A_of(f!1)(1 + j!1)")
       (assert))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: sigma_algebra
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (typepred "S")
   (expand "sigma_algebra?")
   (flatten)
   (expand "subset_algebra_empty?")
   (expand "subset_algebra_complement?")
   (expand "member")
   (propax))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: sigma_algebra
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "member")
   (typepred "S")
   (expand "sigma_algebra?")
   (flatten)
   (expand "subset_algebra_complement?")
   (inst - "x!1")
   (expand "member")
   (propax))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: sigma_algebra
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "member")
   (lemma "subset_algebra_union" ("x" "x!1" "y" "y!1"))
   (propax))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: sigma_algebra
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "sigma_algebra_complement" ("x" "x!1"))
   (lemma "sigma_algebra_complement" ("x" "y!1"))
   (expand "member")
   (lemma "sigma_algebra_union"
    ("x" "complement(x!1)" "y" "complement(y!1)"))
   (("1"
     (expand "member")
     (lemma "sigma_algebra_complement"
      ("x" "union(complement(x!1), complement(y!1))"))
     (("1"
       (expand "member")
       (rewrite "demorgan1")
       (rewrite "complement_complement")
       (rewrite "complement_complement"))
      ("2" (propax))))
    ("2" (propax)) ("3" (propax))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: sigma_algebra
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "x!1")
   (typepred "y!1")
   (rewrite "difference_intersection")
   (lemma "sigma_algebra_complement" ("x" "y!1"))
   (expand "member")
   (lemma "sigma_algebra_intersection" ("x" "x!1" "y" "complement(y!1)"))
   (("1" (expand "member") (propax)) ("2" (propax))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: sigma_algebra
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "S")
   (expand "sigma_algebra?")
   (flatten)
   (expand "sigma_algebra_union?")
   (inst - "image[nat,(S)](SS!1,fullset[nat])")
   (split -3)
   (("1"
     (case-replace
      "Union(extend[setof[T], ((S)), bool, FALSE]
                             (image[nat, (S)](SS!1, fullset[nat]))) = IUnion(SS!1)")
     (hide 2)
     (apply-extensionality 1 :hide? t)
     (expand "fullset")
     (expand "image")
     (expand "extend")
     (expand "Union")
     (expand "IUnion")
     (case-replace "EXISTS (i: nat): SS!1(i)(x!1)")
     (("1" (skosimp) (inst + "SS!1(i!1)") (inst + "i!1"))
      ("2"
       (replace 1 2)
       (assert)
       (skosimp)
       (typepred "a!1")
       (assert)
       (skosimp)
       (inst + "x!2")
       (assert))))
    ("2"
     (lemma "countable_image[nat,set[T]]"
      ("S" "fullset[nat]" "f" "SS!1"))
     (split -1)
     (("1"
       (hide-all-but (-1 1))
       (expand "extend")
       (expand "is_countable")
       (skosimp)
       (inst + "f!1")
       (split)
       (("1"
         (skosimp)
         (case-replace "image[nat, set[T]](SS!1)(fullset[nat])(x!1)")
         (("1"
           (assert)
           (expand "fullset")
           (expand "image")
           (expand "image")
           (skosimp)
           (assert)
           (inst + "x!2"))
          ("2"
           (assert)
           (expand "fullset")
           (expand "image")
           (expand "image")
           (prop))))
        ("2"
         (expand "injective?")
         (skosimp)
         (typepred "f!1")
         (expand "injective?")
         (inst - "x1!1" "x2!1")
         (assert))))
      ("2"
       (hide-all-but 1)
       (expand "is_countable")
       (inst + "lambda (n:nat): n")
       (expand "restrict")
       (expand "injective?")
       (skosimp))))
    ("3"
     (hide-all-but 1)
     (skosimp)
     (typepred "x!1")
     (expand "fullset")
     (expand "image")
     (expand "extend")
     (expand "member")
     (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: sigma_algebra
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (case "IIntersection(SS!1) = complement(IUnion(lambda (n:nat): complement(SS!1(n))))")
   (("1"
     (lemma "sigma_algebra_IUnion"
      ("SS" "LAMBDA (n: nat): complement(SS!1(n))"))
     (("1"
       (lemma "sigma_algebra_complement"
        ("x" "IUnion(LAMBDA (n: nat): complement(SS!1(n)))"))
       (("1" (assert)) ("2" (expand "member") (propax))))
      ("2"
       (hide-all-but 1)
       (skosimp)
       (typepred "SS!1(n!1)")
       (lemma "sigma_algebra_complement" ("x" "SS!1(n!1)"))
       (expand "member")
       (propax))))
    ("2"
     (hide 2)
     (apply-extensionality :hide? t)
     (expand "IIntersection")
     (expand "complement")
     (expand "IUnion")
     (expand "member")
     (case-replace "(FORALL (i: nat): SS!1(i)(x!1))")
     (("1" (skosimp) (inst - "i!1"))
      ("2" (replace 1 2) (assert) (skosimp) (inst + "i!1"))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "borel?")
   (expand "fullset")
   (expand "extend")
   (expand "generated_sigma_algebra")
   (expand "Intersection")
   (skosimp)
   (typepred "a!1")
   (expand "sigma_algebra?")
   (flatten)
   (expand "subset_algebra_empty?")
   (expand "member")
   (propax))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "borel?")
   (expand "extend")
   (expand "generated_sigma_algebra")
   (expand "Intersection")
   (skosimp)
   (typepred "a!1")
   (expand "sigma_algebra?")
   (flatten)
   (expand "subset_algebra_empty?")
   (expand "subset_algebra_complement?")
   (expand "member")
   (inst - "emptyset[T]")
   (rewrite "complement_emptyset"))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "borel?")
   (expand "extend")
   (expand "generated_sigma_algebra")
   (expand "Intersection")
   (skosimp)
   (typepred "a!1")
   (typepred "X!1")
   (expand "subset?")
   (expand "member")
   (expand "fullset")
   (inst - "X!1")
   (assert))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "Y!1")
   (expand "borel?")
   (expand "extend")
   (expand "generated_sigma_algebra")
   (expand "Intersection")
   (skosimp)
   (typepred "a!1")
   (expand "closed?")
   (expand "member")
   (lemma "open_is_borel" ("X" "complement(Y!1)"))
   (expand "borel?")
   (expand "extend")
   (expand "generated_sigma_algebra")
   (expand "Intersection")
   (inst - "a!1")
   (expand "sigma_algebra?")
   (flatten)
   (expand "subset_algebra_complement?")
   (inst - "complement(Y!1)")
   (rewrite "complement_complement")
   (assert))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "borel?")
   (expand "extend")
   (expand "generated_sigma_algebra")
   (expand "Intersection")
   (skosimp*)
   (typepred "a!2")
   (typepred "a!1")
   (expand "borel?")
   (expand "extend")
   (expand "generated_sigma_algebra")
   (expand "Intersection")
   (inst - "a!2")
   (expand "sigma_algebra?")
   (flatten)
   (expand "subset_algebra_complement?")
   (inst - "a!1")
   (expand "member")
   (propax))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "borel?")
   (lemma "sigma_algebra_implies_subset_algebra" ("S" "borel?"))
   (split -1)
   (("1" (hide -2) (assert)) ("2" (propax))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "a!1")
   (typepred "b!1")
   (lemma "complement_is_borel")
   (inst-cp - "a!1")
   (inst-cp - "b!1")
   (lemma "union_is_borel" ("a" "complement(a!1)" "b" "complement(b!1)"))
   (inst - "union(complement(a!1), complement(b!1))")
   (rewrite "demorgan2" -2 :dir rl)
   (rewrite "complement_complement"))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (rewrite "difference_intersection")
   (typepred "a!1")
   (typepred "b!1")
   (lemma "complement_is_borel" ("a" "b!1"))
   (rewrite "intersection_is_borel"))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "borel?")
   (expand "sigma_algebra?")
   (flatten)
   (expand "sigma_algebra_union?")
   (inst - "extend[setof[T], borel, bool, FALSE](A!1)")
   (split -3)
   (("1" (assert))
    ("2"
     (typepred "A!1")
     (hide-all-but (-1 1))
     (expand "extend")
     (expand "is_countable")
     (skosimp*)
     (typepred "f!1")
     (inst + "f!1")
     (split)
     (("1"
       (skosimp)
       (case-replace "A!1(x!1)")
       (("1"
         (assert)
         (case-replace "borel?(x!1)")
         (("1" (assert)) ("2" (assert))))
        ("2" (assert)) ("3" (assert))))
      ("2"
       (expand "injective?")
       (skosimp*)
       (inst - "x1!1" "x2!1")
       (assert))))
    ("3"
     (skosimp)
     (typepred "x!1")
     (expand "extend")
     (expand "member")
     (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "extend")
   (expand "Complement")
   (expand "every")
   (skosimp*)
   (typepred "x!1")
   (skosimp)
   (typepred "b!1")
   (assert)
   (lemma "complement_is_borel" ("a" "b!1"))
   (assert))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "A!1")
   (case "FORALL (S:sigma_algebra[T],X:setofsets[T]): is_countable(X) AND
                                           (FORALL (x:(X)): member(x,S))
                                           IMPLIES member(Intersection(X),S)")
   (("1"
     (inst - "borel?" "A!1")
     (expand "member")
     (split -1)
     (("1" (propax))
      ("2"
       (hide 2)
       (expand "extend")
       (expand "is_countable")
       (skosimp*)
       (typepred "f!1")
       (inst + "f!1")
       (split)
       (("1"
         (skosimp)
         (split)
         (("1" (flatten) (assert)) ("2" (flatten) (assert) (prop))))
        ("2"
         (expand "injective?")
         (skosimp)
         (inst - "x1!1" "x2!1")
         (assert))))
      ("3"
       (hide -1 2)
       (skosimp)
       (typepred "x!1")
       (expand "extend")
       (assert))))
    ("2"
     (hide-all-but 1)
     (skosimp*)
     (typepred "S!1")
     (expand "sigma_algebra?")
     (flatten)
     (case "is_countable(Complement(X!1))")
     (("1"
       (case "FORALL (x: (Complement(X!1))): member(x, S!1)")
       (("1"
         (hide -6 -7)
         (expand "sigma_algebra_union?")
         (inst -5 "Complement(X!1)")
         (assert)
         (replace -1 -5)
         (hide -1 -2 -3)
         (rewrite "Demorgan2" -2 :dir rl)
         (expand "subset_algebra_complement?")
         (inst - "complement(Intersection(X!1))")
         (rewrite "complement_complement")
         (assert))
        ("2"
         (hide-all-but (-3 -6 1))
         (skosimp)
         (typepred "x!1")
         (expand "Complement")
         (skosimp)
         (expand "subset_algebra_complement?")
         (typepred "b!1")
         (inst -4 "b!1")
         (assert)
         (inst - "b!1")
         (assert))))
      ("2"
       (hide-all-but (-4 1))
       (expand "is_countable")
       (skosimp*)
       (typepred "f!1")
       (inst + "lambda (x:(Complement(X!1))): f!1(complement(x))")
       (("1"
         (expand "injective?")
         (skosimp*)
         (inst - "complement[T](x1!1)" "complement[T](x2!1)")
         (rewrite "complement_equal")
         (assert))
        ("2"
         (skosimp)
         (typepred "x!1")
         (expand "Complement")
         (skosimp)
         (typepred "b!1")
         (replace -2)
         (rewrite "complement_complement"))))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "borel?")
   (expand "fullset")
   (expand "extend")
   (expand "generated_sigma_algebra")
   (expand "Intersection")
   (skosimp)
   (typepred "a!1")
   (inst - "a!1")
   (hide 2)
   (expand "subset?")
   (expand "member")
   (skosimp*)
   (typepred "B!1")
   (expand "base?")
   (flatten)
   (expand "subset?")
   (expand "member")
   (inst - "x!1")
   (inst -5 "x!1")
   (expand "open?")
   (expand "member")
   (assert))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (apply-extensionality 1 :hide? t)
   (case-replace "borel?(x!1)")
   (("1"
     (expand "borel?")
     (expand "fullset")
     (expand "extend")
     (expand "generated_sigma_algebra")
     (expand "Intersection")
     (skosimp)
     (typepred "a!1")
     (typepred "B!1")
     (inst - "a!1")
     (expand "subset?")
     (expand "member")
     (skosimp)
     (prop)
     (hide 2)
     (expand "base?")
     (flatten)
     (expand "open?")
     (expand "member")
     (inst - "x!2")
     (skosimp)
     (lemma "countable_subset" ("S" "V!1" "Count" "B!1"))
     (assert)
     (expand "sigma_algebra?")
     (flatten)
     (expand "sigma_algebra_union?")
     (inst -8 "V!1")
     (replace -5)
     (replace -1)
     (expand "member")
     (skosimp)
     (typepred "x!3")
     (expand "subset?")
     (inst -5 "x!3")
     (inst -9 "x!3")
     (assert))
    ("2" (assert) (lemma "borel_basis" ("B" "B!1" "Z" "x!1")) (assert))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "x!1")
   (expand "closed?")
   (expand "member")
   (lemma "open_is_borel" ("X" "complement(x!1)"))
   (lemma "complement_is_borel" ("a" "complement(x!1)"))
   (rewrite "complement_complement"))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: real_borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (lemma "borel_countable_basis"
    ("B" "fullset[rational_open_interval]"))
   (("1"
     (split -1)
     (("1" (propax))
      ("2"
       (hide 2)
       (lemma "countable_rational_open_interval")
       (expand "fullset")
       (expand "extend")
       (expand "is_countable")
       (skosimp)
       (typepred "f!1")
       (inst + "f!1")
       (split)
       (("1" (skosimp) (prop))
        ("2"
         (expand "injective?")
         (skosimp)
         (inst - "x1!1" "x2!1")
         (assert))))))
    ("2"
     (expand "fullset")
     (expand "extend")
     (hide 2)
     (expand "metric_induced_topology")
     (expand "base?")
     (split)
     (("1"
       (expand "subset?")
       (expand "member")
       (skosimp)
       (prop)
       (skosimp)
       (replace -1)
       (lemma "metric_open_ball" ("x" "q!1" "r" "pq!1"))
       (propax))
      ("2"
       (skosimp)
       (typepred "A!1")
       (inst +
        "{X:set[real]| EXISTS (q:rat,pq:posrat): X=ball(q,pq) & subset?[real](X,A!1)}")
       (split)
       (("1"
         (expand "subset?")
         (expand "member")
         (skosimp)
         (skosimp)
         (prop)
         (inst + "q!1" "pq!1"))
        ("2"
         (apply-extensionality :hide? t)
         (case-replace "A!1(x!1)")
         (("1"
           (expand "Union")
           (expand "metric_open?")
           (inst - "x!1")
           (assert)
           (skosimp)
           (lemma "density" ("x" "x!1-r!1" "y" "x!1"))
           (lemma "density" ("x" "x!1" "y" "x!1+r!1"))
           (assert)
           (skosimp*)
           (inst + "ball((r!3+r!2)/2,abs((r!3-r!2)/2))")
           (("1" (expand "ball") (grind))
            ("2"
             (inst + "(r!2 + r!3) / 2" "abs((r!3 - r!2) / 2)")
             (("1" (expand "subset?") (skosimp) (inst - "x!2") (grind))
              ("2" (grind))))
            ("3" (grind))))
          ("2"
           (assert)
           (expand "Union")
           (skosimp)
           (typepred "a!1")
           (skosimp)
           (expand "subset?")
           (inst - "x!1")
           (assert))))))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: real_borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (apply-extensionality :hide? t)
   (("1"
     (expand "fullset")
     (rewrite "borel_generated_by_rational_open_interval")
     (expand "fullset")
     (case-replace
      "generated_sigma_algebra(extend
                                        [setof[real], rational_open_interval,
                                         bool, FALSE]
                                        ({x: rational_open_interval | TRUE}))
                                   (x!1)")
     (("1"
       (expand "extend")
       (expand "generated_sigma_algebra")
       (expand "Intersection")
       (skosimp)
       (typepred "a!1")
       (inst - "a!1")
       (expand "subset?")
       (expand "member")
       (skosimp*)
       (prop)
       (skosimp)
       (inst - "x!2")
       (prop)
       (inst + "q!1" "pq!1"))
      ("2"
       (assert)
       (expand "extend")
       (expand "generated_sigma_algebra")
       (expand "Intersection")
       (skosimp)
       (typepred "a!1")
       (expand "subset?" -2)
       (expand "member")
       (inst -3 "a!1")
       (expand "subset?")
       (expand "member")
       (skosimp*)
       (prop)
       (skosimp)
       (replace -1)
       (hide -1 2)
       (name "VV"
             "{X:set[real]| EXISTS (q:rat,pq:posrat): X  = ball(q,pq) & subset?[real](ball(q,pq),ball(x!3,r!1))}")
       (case-replace "ball(x!3, r!1) = Union(VV)")
       (("1"
         (expand "sigma_algebra?")
         (expand "sigma_algebra_union?")
         (flatten)
         (inst - "VV")
         (expand "member")
         (split -5)
         (("1" (propax))
          ("2"
           (hide-all-but 1)
           (lemma "countable_rational_open_interval")
           (expand "is_countable")
           (skosimp)
           (typepred "f!1")
           (inst + "lambda (x:(VV)): f!1(x)")
           (("1"
             (expand "injective?")
             (skosimp)
             (typepred "x1!1")
             (typepred "x2!1")
             (inst - "x1!1" "x2!1")
             (assert))
            ("2"
             (skosimp)
             (typepred "x!4")
             (expand "VV")
             (skosimp)
             (expand "fullset")
             (inst + "q!1" "pq!1"))))
          ("3"
           (skosimp)
           (typepred "x!4")
           (replace -3 -1 rl)
           (assert)
           (skosimp)
           (inst -7 "x!4")
           (assert)
           (prop)
           (inst + "q!1" "pq!1"))))
        ("2"
         (hide 2)
         (apply-extensionality :hide? t)
         (case-replace "ball(x!3, r!1)(x!4)")
         (("1"
           (expand "Union")
           (hide -3 -2)
           (expand "ball")
           (case "x!3-r!1<x!4&x!4<x!3+r!1")
           (("1"
             (flatten)
             (lemma "density" ("x" "x!3-r!1" "y" "x!4"))
             (lemma "density" ("x" "x!4" "y" "x!3+r!1"))
             (assert)
             (skosimp*)
             (name "XX" "(r!2+r!3)/2")
             (name "RR" "(r!2-r!3)/2")
             (inst + "ball(XX,RR)")
             (("1" (expand "ball") (grind))
              ("2"
               (expand "VV")
               (inst + "XX" "RR")
               (("1" (expand "ball") (grind)) ("2" (assert))))
              ("3" (assert))))
            ("2" (hide 2) (grind))))
          ("2"
           (assert)
           (expand "Union")
           (skosimp)
           (typepred "a!2")
           (expand "VV")
           (hide -3)
           (skosimp)
           (hide -4 -5)
           (expand "subset?")
           (expand "member")
           (inst - "x!4")
           (assert))))))))
    ("2"
     (typepred
      "metric_induced_topology[real, (LAMBDA (x, y: real): abs(x - y))]")
     (expand "hausdorff_space?")
     (propax))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: real_borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "open_is_borel" ("X" "A!1"))
   (("1" (expand "real_borel") (propax))
    ("2"
     (typepred "A!1")
     (skosimp)
     (replace -1)
     (assert)
     (hide 2)
     (expand "open?")
     (expand "member")
     (expand "metric_induced_topology")
     (assert)
     (rewrite "metric_open_ball"))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: real_borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "B!1")
   (skosimp)
   (typepred "closed_ball(x!1, r!1)")
   (expand "real_borel")
   (lemma "closed_is_borel" ("Y" "B!1"))
   (("1" (propax)) ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: real_borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "L!1")
   (skosimp)
   (expand "real_borel")
   (lemma "closed_is_borel" ("Y" "L!1"))
   (propax))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: real_borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "real_borel")
   (typepred "R!1")
   (skosimp)
   (lemma "closed_is_borel" ("Y" "R!1"))
   (propax))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: real_borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (apply-extensionality :hide? t)
   (lemma "generated_sigma_algebra_subset2"
    ("X" "fullset[left_semiclosed_interval]" "Y" "(borel?)"))
   (split)
   (("1"
     (expand "subset?")
     (expand "member")
     (inst - "x!1")
     (case-replace "borel?(x!1)")
     (("1"
       (rewrite "borel_generated_by_open_interval")
       (expand "fullset")
       (expand "extend")
       (expand "generated_sigma_algebra")
       (expand "Intersection")
       (skosimp)
       (typepred "a!1")
       (expand "subset?")
       (expand "member")
       (inst -3 "a!1")
       (expand "subset?")
       (expand "member")
       (skosimp)
       (prop)
       (skosimp)
       (hide 2)
       (name "AA"
             "lambda (n:nat): difference[real](closed_inf(x!3-r!1+1/(1+n)),closed_inf(x!3+r!1))")
       (case-replace "x!2=IUnion(AA)")
       (("1"
         (hide -1 -3 -2)
         (case "forall (n:nat): a!1(AA(n))")
         (("1"
           (assert)
           (expand "sigma_algebra?")
           (flatten)
           (hide -5 -3 -2)
           (expand "sigma_algebra_union?")
           (inst -2 "image(AA,fullset[nat])")
           (lemma "countable_image[nat,set[real]]")
           (inst - "fullset[nat]" "AA")
           (split -1)
           (("1"
             (expand "image" -1)
             (replace -1)
             (split -3)
             (("1"
               (expand "member")
               (case-replace "Union(image(AA, fullset[nat]))=IUnion(AA)")
               (apply-extensionality :hide? t)
               (hide-all-but 1)
               (expand "IUnion")
               (case-replace "(EXISTS (i: nat): AA(i)(x!4))")
               (("1"
                 (skosimp)
                 (expand "fullset")
                 (expand "image")
                 (expand "Union")
                 (inst + "AA(i!1)")
                 (inst + "i!1"))
                ("2"
                 (replace 1 2)
                 (assert)
                 (expand "fullset")
                 (expand "image")
                 (expand "Union")
                 (skosimp)
                 (typepred "a!2")
                 (skolem - "n!1")
                 (inst + "n!1")
                 (assert))))
              ("2"
               (hide-all-but (-2 1))
               (skosimp)
               (typepred "x!4")
               (expand "fullset")
               (expand "image")
               (expand "member")
               (skosimp)
               (inst - "x!5")
               (assert))))
            ("2"
             (hide-all-but 1)
             (expand "fullset")
             (expand "is_countable")
             (inst + "lambda (n:nat): n")
             (expand "injective?")
             (skosimp))))
          ("2"
           (hide 2)
           (skosimp)
           (expand "AA")
           (inst-cp - "closed_inf(r!1 + x!3)")
           (inst - "closed_inf(1 / (1 + n!1) - r!1 + x!3)")
           (split)
           (("1"
             (split)
             (("1"
               (name-replace "X1"
                "closed_inf(1 / (1 + n!1) - r!1 + x!3)")
               (name-replace "X2" "closed_inf(r!1 + x!3)")
               (lemma "sigma_union_implies_subset_union[real]"
                ("S" "a!1"))
               (expand "sigma_algebra?")
               (flatten)
               (assert)
               (rewrite "difference_intersection")
               (lemma "demorgan1[real]"
                ("a" "complement[real](X1)" "b" "X2"))
               (rewrite "complement_complement")
               (replace -1 1 rl)
               (hide -1)
               (expand "subset_algebra_union?")
               (expand "subset_algebra_complement?")
               (expand "member")
               (inst-cp -5 "X1")
               (inst - "complement[real](X1)" "X2")
               (inst - "union[real](complement[real](X1), X2)"))
              ("2" (propax)) ("3" (inst + "r!1+x!3"))))
            ("2" (propax)) ("3" (inst + "1 / (1 + n!1) - r!1 + x!3"))))))
        ("2"
         (replace -2)
         (hide-all-but 1)
         (typepred "r!1")
         (expand "ball")
         (apply-extensionality :hide? t)
         (case-replace "IUnion(AA)(x!4)")
         (("1"
           (expand "IUnion")
           (skosimp)
           (expand "AA")
           (expand "difference")
           (expand "member")
           (expand "closed_inf")
           (flatten)
           (assert)
           (grind))
          ("2"
           (assert)
           (expand "IUnion")
           (expand "AA")
           (expand "closed_inf")
           (expand "difference")
           (expand "member")
           (lemma "archimedean" ("px" "x!4-x!3+r!1"))
           (skosimp)
           (inst + "n!1-1")
           (assert))))))
      ("2" (assert))))
    ("2"
     (hide 2)
     (expand "fullset")
     (expand "extend")
     (expand "subset?")
     (expand "member")
     (skosimp)
     (prop)
     (skosimp)
     (lemma "closed_is_borel" ("Y" "x!2"))
     (("1" (propax)) ("2" (assert))))
    ("3" (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: real_borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (apply-extensionality :hide? t)
   (lemma "generated_sigma_algebra_subset2"
    ("X" "fullset[right_semiclosed_interval]" "Y" "(borel?)"))
   (split)
   (("1"
     (expand "subset?")
     (expand "member")
     (inst - "x!1")
     (case-replace "borel?(x!1)")
     (("1"
       (rewrite "borel_generated_by_open_interval")
       (expand "fullset")
       (expand "extend")
       (expand "generated_sigma_algebra")
       (expand "Intersection")
       (skosimp)
       (typepred "a!1")
       (expand "subset?")
       (expand "member")
       (inst -3 "a!1")
       (expand "subset?")
       (expand "member")
       (skosimp)
       (hide 2)
       (prop)
       (skosimp)
       (name "AA"
             "lambda (n:nat): difference[real](inf_closed(x!3+r!1-1/(1+n)),inf_closed(x!3-r!1))")
       (case-replace "x!2=IUnion(AA)")
       (("1"
         (hide -3 -1 -2)
         (case "forall (n:nat): a!1(AA(n))")
         (("1"
           (assert)
           (expand "sigma_algebra?")
           (expand "sigma_algebra_union?")
           (flatten)
           (hide -2 -3 -5)
           (inst -2 "image(AA)(fullset[nat])")
           (expand "member")
           (split -2)
           (("1"
             (expand "image")
             (case-replace "Union(image(AA, fullset[nat]))=IUnion(AA)")
             (apply-extensionality :hide? t)
             (hide-all-but 1)
             (case-replace "IUnion(AA)(x!4)")
             (("1"
               (case-replace "IUnion(AA)(x!4)")
               (expand "fullset")
               (expand "image")
               (expand "Union")
               (expand "IUnion")
               (skosimp)
               (inst + "AA(i!1)")
               (inst + "i!1"))
              ("2"
               (replace 1 2)
               (assert)
               (expand "fullset")
               (expand "image")
               (expand "Union")
               (expand "IUnion")
               (skosimp)
               (typepred "a!2")
               (skosimp)
               (inst + "x!5")
               (assert))))
            ("2"
             (hide-all-but 1)
             (rewrite "countable_image[nat,set[real]]")
             (hide 2)
             (expand "fullset")
             (expand "is_countable")
             (inst + "lambda (n:nat): n")
             (expand "injective?")
             (skosimp))
            ("3"
             (hide 2)
             (skosimp)
             (typepred "x!4")
             (expand "fullset")
             (expand "image")
             (expand "image")
             (skosimp)
             (inst - "x!5")
             (assert))))
          ("2"
           (hide 2)
           (skosimp)
           (expand "AA")
           (inst-cp - "inf_closed(r!1 - 1 / (1 + n!1) + x!3)")
           (inst -2 "inf_closed(x!3-r!1)")
           (assert)
           (prop)
           (("1"
             (assert)
             (name-replace "X1" "inf_closed(r!1 - 1 / (1 + n!1) + x!3)")
             (name-replace "X2" "inf_closed(x!3 - r!1)")
             (lemma "sigma_union_implies_subset_union[real]" ("S" "a!1"))
             (expand "sigma_algebra?")
             (flatten)
             (assert)
             (rewrite "difference_intersection")
             (lemma "demorgan1[real]"
              ("a" "complement[real](X1)" "b" "X2"))
             (rewrite "complement_complement")
             (replace -1 * rl)
             (hide -1 -7 -5)
             (expand "subset_algebra_complement?")
             (expand "subset_algebra_union?")
             (expand "member")
             (inst-cp - "X1")
             (inst - "complement[real](X1)" "X2")
             (inst - "union[real](complement[real](X1),X2)"))
            ("2" (inst + "r!1 - 1 / (1 + n!1) + x!3"))
            ("3" (inst + "x!3-r!1"))
            ("4" (inst + "r!1 - 1 / (1 + n!1) + x!3"))))))
        ("2"
         (apply-extensionality :hide? t)
         (replace -2)
         (hide-all-but 1)
         (expand "ball")
         (case-replace "abs(x!3 - x!4) < r!1")
         (("1"
           (expand "AA")
           (expand "IUnion")
           (expand "inf_closed")
           (expand "difference")
           (expand "member")
           (assert)
           (typepred "r!1")
           (lemma "archimedean" ("px" "r!1+x!3-x!4"))
           (skosimp)
           (inst + "n!1-1")
           (assert))
          ("2"
           (assert)
           (expand "IUnion")
           (skosimp)
           (expand "AA")
           (expand "inf_closed")
           (expand "difference")
           (expand "member")
           (flatten)
           (typepred "r!1")
           (assert)
           (grind))))))
      ("2" (assert))))
    ("2"
     (hide 2)
     (expand "fullset")
     (expand "extend")
     (expand "subset?")
     (expand "member")
     (skosimp)
     (prop)
     (skosimp)
     (lemma "closed_is_borel" ("Y" "inf_closed(a!1)"))
     (assert))
    ("3" (typepred "real_borel") (assert))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: real_borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem + "X!1")
   (lemma "open_interval_borel_rew" ("A" "X!1"))
   (expand "real_borel")
   (propax))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: real_borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skolem + "A!1")
   (lemma "closed_interval_borel_rew" ("B" "A!1"))
   (expand "real_borel")
   (propax))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: real_borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skolem + "X!1")
   (lemma "left_semiclosed_interval_borel_rew" ("L" "X!1"))
   (expand "real_borel")
   (propax))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: real_borel
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skolem + "X!1")
   (lemma "right_semiclosed_interval_borel_rew" ("R" "X!1"))
   (expand "real_borel")
   (propax))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (split)
   (("1"
     (flatten)
     (skosimp)
     (typepred "X!1")
     (expand "measurable_function?")
     (lemma "generated_sigma_algebra_subset1" ("X" "U!1"))
     (replace -4 -1 rl)
     (expand "subset?")
     (inst - "X!1")
     (expand "member")
     (inst - "X!1")
     (expand "measurable_set?")
     (propax))
    ("2"
     (skosimp*)
     (name "C" "{Y| S(inverse_image(f!1,Y))}")
     (case "subset?[set[real]](U!1,C)")
     (("1"
       (case "sigma_algebra?[real](C)")
       (("1"
         (lemma "generated_sigma_algebra_subset2" ("X" "U!1" "Y" "C"))
         (assert)
         (expand "measurable_function?")
         (skosimp)
         (typepred "B!1")
         (expand "measurable_set?")
         (replace -7 -1)
         (hide -7)
         (expand "generated_sigma_algebra" -1)
         (expand "Intersection")
         (inst - "C")
         (expand "C")
         (propax))
        ("2"
         (hide 2 -2 -4)
         (typepred "S")
         (expand "sigma_algebra?")
         (flatten)
         (split)
         (("1"
           (expand "subset_algebra_empty?")
           (expand "member")
           (expand "C")
           (lemma "extensionality"
            ("f" "emptyset[T]" "g" "inverse_image(f!1, emptyset[real])"))
           (split -1)
           (("1" (assert)) ("2" (hide-all-but 1) (grind))))
          ("2"
           (expand "subset_algebra_complement?")
           (skosimp)
           (expand "member")
           (expand "C")
           (typepred "x!1")
           (expand "C")
           (inst - "inverse_image[T,real](f!1,x!1)")
           (lemma "extensionality"
            ("f"
             "complement(inverse_image[T,real](f!1, x!1))"
             "g"
             "inverse_image(f!1, complement[real](x!1))"))
           (split -1)
           (("1" (assert)) ("2" (hide-all-but 1) (grind))))
          ("3"
           (expand "sigma_algebra_union?")
           (skosimp)
           (expand "member")
           (expand "C")
           (name "XX"
                 "{W:set[T] | EXISTS (x:(X!1)): W = inverse_image(f!1, x)}")
           (inst -6 "XX")
           (split -6)
           (("1"
             (lemma "extensionality"
              ("f" "Union(XX)" "g" "inverse_image(f!1, Union(X!1))"))
             (split -1)
             (("1" (assert))
              ("2"
               (hide-all-but 1)
               (skosimp)
               (expand "XX")
               (expand "inverse_image")
               (expand "member")
               (expand "Union")
               (case-replace "EXISTS (a: (X!1)): a(f!1(x!1))")
               (("1"
                 (skosimp)
                 (inst + "lambda x: a!1(f!1(x))")
                 (inst + "a!1"))
                ("2"
                 (replace 1 2)
                 (assert)
                 (skosimp)
                 (typepred "a!1")
                 (skosimp)
                 (replace -1)
                 (assert)
                 (inst + "x!2"))))))
            ("2"
             (hide-all-but (-2 1))
             (expand "XX")
             (lemma "extensionality"
              ("f"
               "{W: set[T] |
                                     EXISTS (x: (X!1)): W = inverse_image(f!1, x)}"
               "g"
               "image(inverse_image(f!1),X!1)"))
             (split -1)
             (("1"
               (replace -1)
               (hide -1)
               (lemma "countable_image[set[real],set[T]]"
                ("S" "X!1" "f" "inverse_image(f!1)"))
               (assert)
               (expand "image" -1)
               (propax))
              ("2"
               (hide-all-but 1)
               (skosimp)
               (expand "image")
               (expand "inverse_image")
               (expand "inverse_image")
               (propax))))
            ("3"
             (skosimp)
             (typepred "x!1")
             (expand "XX")
             (skosimp)
             (typepred "x!2")
             (inst -5 "x!2")
             (assert))))))))
      ("2"
       (hide 2)
       (expand "subset?")
       (skosimp)
       (expand "member")
       (expand "C")
       (inst -3 "x!1"))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "measurable_def" ("f" "f!1" "U" "fullset[open_interval]"))
   (lemma "borel_generated_by_open_interval")
   (replace -1 -2 rl)
   (replace -2 1)
   (hide-all-but 1)
   (split)
   (("1"
     (skosimp*)
     (inst - "i!1")
     (expand "fullset")
     (expand "extend")
     (prop)
     (typepred "i!1")
     (propax))
    ("2"
     (skosimp*)
     (typepred "X!1")
     (expand "fullset")
     (expand "extend")
     (prop)
     (inst - "X!1"))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (rewrite "measurable_def2")
   (split)
   (("1"
     (skosimp*)
     (typepred "S")
     (name "F" "lambda (pn:posnat): ball(c!1+pn,1)")
     (name "VV" "image[posnat,set[real]](F,fullset[posnat])")
     (case-replace
      "({z | f!1(z) > c!1}) = inverse_image(f!1, Union(VV))")
     (("1"
       (hide -1)
       (rewrite "inverse_image_Union")
       (case-replace
        "{y: set[T] | EXISTS (x: (VV)): y = inverse_image(f!1, x)} = image(inverse_image(f!1),VV)")
       (("1"
         (hide -1)
         (lemma "countable_image[posnat, set[real]]"
          ("f" "F" "S" "fullset[posnat]"))
         (split -1)
         (("1"
           (expand "image" -1)
           (replace -2)
           (lemma "countable_image[set[real],set[T]]"
            ("f" "inverse_image(f!1)"))
           (inst - "VV")
           (assert)
           (expand "image" -1)
           (expand "sigma_algebra?")
           (flatten)
           (expand "sigma_algebra_union?")
           (inst - "image(inverse_image(f!1), VV)")
           (assert)
           (skosimp)
           (typepred "x!1")
           (expand "image" -1)
           (expand "inverse_image")
           (expand "inverse_image")
           (expand "member")
           (skosimp)
           (typepred "x!2")
           (expand "VV")
           (expand "fullset")
           (expand "image")
           (skosimp)
           (replace -1)
           (expand "F" -2)
           (inst -8 "ball(c!1 + x!3, 1)")
           (("1" (assert)) ("2" (inst + "c!1+x!3" "1"))))
          ("2"
           (hide-all-but 1)
           (expand "fullset")
           (expand "is_countable")
           (inst + "lambda (n:posnat): n-1")
           (grind))))
        ("2"
         (hide-all-but 1)
         (apply-extensionality :hide? t)
         (expand "VV")
         (expand "fullset")
         (expand "inverse_image")
         (expand "member")
         (expand "image")
         (expand "inverse_image")
         (expand "member")
         (case-replace
          "(EXISTS (x: (VV)): x!1 = ({x_1: T | x(f!1(x_1))}))")
         (("1"
           (skosimp)
           (typepred "x!2")
           (expand "VV")
           (expand "fullset")
           (expand "image")
           (skosimp)
           (replace -1)
           (inst + "F(x!3)")
           (inst + "x!3"))
          ("2"
           (replace 1 2)
           (assert)
           (skosimp)
           (typepred "x!2")
           (skosimp)
           (inst + "x!2")
           (expand "VV")
           (expand "fullset")
           (expand "image")
           (inst + "x!3"))))))
      ("2"
       (hide-all-but 1)
       (apply-extensionality :hide? t)
       (expand "VV")
       (expand "fullset")
       (expand "image")
       (expand "Union")
       (expand "inverse_image")
       (expand "member")
       (case-replace "f!1(x!1) > c!1")
       (("1"
         (name "PN" "ceiling(f!1(x!1)-c!1)")
         (typepred "ceiling(f!1(x!1) - c!1)")
         (replace -3)
         (hide -3)
         (inst + "ball(c!1+PN,1)")
         (("1" (expand "ball") (grind))
          ("2" (expand "F" 1) (inst + "PN") (assert))))
        ("2"
         (assert)
         (skosimp)
         (typepred "a!1")
         (skosimp)
         (replace -1)
         (expand "F")
         (expand "ball")
         (hide -1)
         (grind))))))
    ("2"
     (skosimp*)
     (typepred "S")
     (typepred "i!1")
     (skosimp)
     (name "F"
           "lambda (pn:posnat): {y:T| x!1-r!1< f!1(y) & f!1(y)<=x!1+r!1-1/pn}")
     (case-replace
      "inverse_image(f!1, i!1)=Union(image(F,fullset[posnat]))")
     (("1"
       (hide -1 -2)
       (expand "sigma_algebra?")
       (flatten)
       (expand "sigma_algebra_union?")
       (inst - "image(F, fullset[posnat])")
       (split -4)
       (("1" (assert))
        ("2"
         (hide-all-but 1)
         (lemma "countable_image[posnat,set[T]]" ("f" "F"))
         (inst - "fullset[posnat]")
         (split -1)
         (("1" (expand "image" -1) (propax))
          ("2"
           (hide 2)
           (expand "fullset")
           (expand "is_countable")
           (inst + "lambda (n:posnat): n-1")
           (expand "injective?")
           (skosimp*))))
        ("3"
         (skosimp)
         (typepred "x!2")
         (expand "fullset")
         (expand "image")
         (skosimp)
         (replace -1)
         (expand "F")
         (assert)
         (hide-all-but (-5 1))
         (inst-cp - "x!1-r!1")
         (inst - "x!1+r!1-1/x!3")
         (lemma "sigma_algebra_difference"
          ("x"
           "{z | f!1(z) > x!1 - r!1}"
           "y"
           "{z | f!1(z) > x!1 + r!1 - 1 / x!3}"))
         (("1"
           (expand "difference")
           (expand "member")
           (case-replace
            "{x: T | f!1(x) > x!1 - r!1 AND NOT f!1(x) > r!1 - 1 / x!3 + x!1} = {y: T | x!1 - r!1 < f!1(y) & f!1(y) <= r!1 - 1 / x!3 + x!1}")
           (hide-all-but 1)
           (apply-extensionality 1 :hide? t)
           (case-replace "f!1(x!4) > x!1 - r!1")
           (("1" (assert)) ("2" (assert))))
          ("2" (assert)) ("3" (propax))))))
      ("2"
       (hide -1 2)
       (expand "fullset")
       (expand "image")
       (expand "Union")
       (expand "inverse_image")
       (apply-extensionality 1 :hide? t)
       (case-replace "i!1(f!1(x!2))")
       (("1"
         (replace -2 -1)
         (expand "ball")
         (hide -3 -4 -2)
         (ground)
         (lemma "archimedean" ("px" "r!1-abs(x!1 - f!1(x!2))"))
         (skosimp)
         (inst + "F(n!1)")
         (("1" (expand "F") (grind)) ("2" (inst + "n!1"))))
        ("2"
         (assert)
         (skosimp)
         (typepred "a!1")
         (skosimp)
         (replace -1)
         (expand "F")
         (flatten)
         (replace -4)
         (hide -1 -4 -5 -6)
         (expand "ball")
         (grind))))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "measurable_gt" ("f" "f!1"))
   (replace -1)
   (hide -1)
   (typepred "S")
   (expand "sigma_algebra?")
   (flatten)
   (expand "subset_algebra_complement?")
   (split)
   (("1"
     (skosimp*)
     (inst - "c!1")
     (inst - "{z | f!1(z) > c!1}")
     (expand "member")
     (expand "complement")
     (expand "member")
     (lemma "extensionality"
      ("f" "{x: T | NOT f!1(x) > c!1}" "g" "{z | f!1(z) <= c!1}"))
     (split -1)
     (("1" (assert))
      ("2"
       (skosimp)
       (case-replace "f!1(x!1) <= c!1")
       (("1" (assert)) ("2" (assert))))))
    ("2"
     (skosimp*)
     (inst - "c!1")
     (inst - "{z | f!1(z) <= c!1}")
     (expand "member")
     (lemma "extensionality"
      ("f" "complement({z | f!1(z) <= c!1})" "g" "{z | f!1(z) > c!1}"))
     (split -1)
     (("1" (assert)) ("2" (hide-all-but 1) (grind))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1"
     (flatten)
     (skosimp)
     (rewrite "measurable_le")
     (name "VV"
           "image((lambda (n:posnat): {z | f!1(z) <= c!1-1/n}),fullset[posnat])")
     (lemma "countable_image[posnat,set[T]]"
      ("f"
       "(LAMBDA (n: posnat): {z | f!1(z) <= c!1 - 1 / n})"
       "S"
       "fullset[posnat]"))
     (split -1)
     (("1"
       (expand "image" -1)
       (replace -2)
       (hide -2)
       (case-replace "{z_1: T | f!1(z_1) < c!1} = Union(VV)")
       (("1"
         (typepred "S")
         (expand "sigma_algebra?")
         (flatten)
         (expand "sigma_algebra_union?")
         (inst - "VV")
         (assert)
         (skosimp)
         (typepred "x!1")
         (expand "VV")
         (expand "fullset")
         (expand "image")
         (skosimp)
         (inst -6 "c!1 - 1 / x!2")
         (assert))
        ("2"
         (hide-all-but 1)
         (apply-extensionality :hide? t)
         (expand "VV")
         (expand "fullset")
         (expand "image")
         (expand "Union")
         (case-replace "f!1(x!1) < c!1")
         (("1"
           (lemma "archimedean" ("px" "c!1-f!1(x!1)"))
           (("1"
             (skosimp)
             (inst + "{z | f!1(z) <= c!1 - 1 /n!1}")
             (("1" (assert)) ("2" (inst + "n!1"))))
            ("2" (assert))))
          ("2"
           (assert)
           (skosimp*)
           (typepred "a!1")
           (skosimp)
           (replace -1)
           (assert))))))
      ("2"
       (hide-all-but 1)
       (expand "fullset")
       (expand "is_countable")
       (inst + "lambda (n:posnat): n-1")
       (grind))))
    ("2"
     (skosimp*)
     (rewrite "measurable_le")
     (skosimp)
     (name "VV"
           "image((lambda (n:posnat): {z_1: T | f!1(z_1) >= c!1+1/n}),fullset[posnat])")
     (case "subset?(VV,S)")
     (("1"
       (lemma "countable_image[posnat,set[T]]"
        ("f"
         "(LAMBDA (n: posnat): {z_1: T | f!1(z_1) >= c!1 + 1 / n})"
         "S"
         "fullset[posnat]"))
       (expand "image" -1)
       (replace -3)
       (split -1)
       (("1"
         (hide -3)
         (typepred "S")
         (expand "sigma_algebra?")
         (flatten)
         (expand "sigma_algebra_union?")
         (inst - "VV")
         (assert)
         (split -3)
         (("1"
           (expand "subset_algebra_complement?")
           (inst - "Union(VV)")
           (expand "complement")
           (expand "member")
           (lemma "extensionality"
            ("f" "{x: T | NOT Union(VV)(x)}" "g" "{z | f!1(z) <= c!1}"))
           (split -1)
           (("1" (assert))
            ("2"
             (skosimp)
             (hide-all-but 1)
             (expand "VV")
             (expand "fullset")
             (expand "image")
             (expand "Union")
             (case-replace "f!1(x!1) <= c!1")
             (("1"
               (skosimp)
               (typepred "a!1")
               (skosimp)
               (replace -1)
               (assert))
              ("2"
               (assert)
               (lemma "archimedean" ("px" "f!1(x!1)-c!1"))
               (skosimp)
               (inst + "{z_1: T | f!1(z_1) >= 1 /n!1 + c!1}")
               (("1" (assert)) ("2" (inst + "n!1"))))))))
          ("2"
           (skosimp)
           (typepred "x!1")
           (expand "subset?")
           (inst - "x!1")
           (assert))))
        ("2"
         (hide-all-but 1)
         (expand "fullset")
         (expand "is_countable")
         (inst + "lambda (n:posnat): n-1")
         (grind))))
      ("2"
       (hide -1 2)
       (expand "VV")
       (expand "fullset")
       (expand "image")
       (expand "subset?")
       (skosimp)
       (expand "member")
       (skosimp)
       (typepred "S")
       (expand "sigma_algebra?")
       (flatten)
       (expand "subset_algebra_complement?")
       (inst -5 "1 / x!2 + c!1")
       (inst - "{z_1: T | f!1(z_1) < 1 / x!2 + c!1}")
       (expand "complement")
       (expand "member")
       (lemma "extensionality_postulate"
        ("f"
         "{x: T | NOT f!1(x) < 1 / x!2 + c!1}"
         "g"
         "{z_1: T | f!1(z_1) >= 1 / x!2 + c!1}"))
       (flatten)
       (hide -2)
       (split -1)
       (("1" (assert)) ("2" (skosimp) (assert))))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (rewrite "measurable_lt")
   (split)
   (("1"
     (skosimp*)
     (inst - "c!1")
     (lemma "sigma_algebra_complement" ("x" "{z | f!1(z) < c!1}"))
     (("1"
       (expand "member")
       (case-replace
        "complement({z | f!1(z) < c!1})={z | f!1(z) >= c!1}")
       (apply-extensionality 1 :hide? t)
       (hide-all-but 1)
       (grind))
      ("2" (propax))))
    ("2"
     (skosimp*)
     (inst - "c!1")
     (lemma "sigma_algebra_complement" ("x" "{z | f!1(z) >= c!1}"))
     (("1"
       (expand "member")
       (case-replace
        "complement({z | f!1(z) >= c!1}) = {z | f!1(z) < c!1}")
       (apply-extensionality 1 :hide? t)
       (hide-all-but 1)
       (grind))
      ("2" (propax))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (rewrite "measurable_gt")
   (split)
   (("1" (skosimp*) (inst - "q!1"))
    ("2"
     (skosimp*)
     (name "Q" "{z:rat| z>c!1}")
     (name "F" "lambda (x:real): {z | f!1(z)>x}")
     (name "RQ" "{z:real | EXISTS (q:(Q)): q = z}")
     (name "FQ" "image(F,RQ)")
     (case "Union(FQ) = {z | f!1(z) > c!1}")
     (("1"
       (replace -1 * rl)
       (hide -1)
       (typepred "S")
       (expand "sigma_algebra?")
       (flatten)
       (expand "sigma_algebra_union?")
       (inst - "FQ")
       (expand "member")
       (split -3)
       (("1" (propax))
        ("2"
         (hide 2)
         (replace -3 * rl)
         (lemma "countable_image[real,set[T]]")
         (inst - "RQ" "F")
         (assert)
         (expand "image" -1)
         (hide 2)
         (lemma "countable_rat")
         (skosimp)
         (expand "is_countable")
         (inst + "lambda (x:(RQ)): f!2(x)")
         (("1"
           (expand "bijective?")
           (flatten)
           (hide-all-but (-1 1))
           (expand "injective?")
           (skosimp)
           (inst - "x1!1" "x2!1")
           (("1" (assert))
            ("2" (typepred "x2!1") (expand "RQ") (skosimp) (assert))
            ("3" (typepred "x1!1") (expand "RQ") (skosimp) (assert))))
          ("2"
           (skosimp)
           (typepred "x!1")
           (expand "RQ")
           (skosimp)
           (assert))))
        ("3"
         (hide 2)
         (skosimp)
         (typepred "x!1")
         (expand "FQ")
         (expand "image")
         (skosimp)
         (typepred "x!2")
         (expand "RQ")
         (skosimp)
         (replace -1 * rl)
         (expand "F")
         (inst -7 "q!1")
         (assert))))
      ("2"
       (hide-all-but 1)
       (apply-extensionality 1 :hide? t)
       (case-replace "f!1(x!1) > c!1")
       (("1"
         (expand "Union")
         (lemma "density" ("x" "c!1" "y" "f!1(x!1)"))
         (assert)
         (skosimp)
         (typepred "r!1")
         (inst + "F(r!1)")
         (("1" (expand "F") (assert))
          ("2"
           (expand "FQ")
           (expand "image")
           (inst + "r!1")
           (expand "RQ")
           (inst + "r!1")
           (expand "Q")
           (assert))))
        ("2"
         (replace 1 2)
         (assert)
         (expand "Union")
         (skosimp)
         (typepred "a!1")
         (expand "FQ")
         (expand "image")
         (skosimp)
         (replace -1)
         (hide -1)
         (typepred "x!2")
         (expand "RQ")
         (skosimp)
         (typepred "q!1")
         (replace -2 * rl)
         (hide -2)
         (expand "Q")
         (expand "F")
         (assert))))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (rewrite "measurable_gt2")
   (typepred "S")
   (expand "sigma_algebra?")
   (flatten)
   (hide -1 -3)
   (expand "subset_algebra_complement?")
   (expand "member")
   (split)
   (("1"
     (skosimp*)
     (inst - "q!1")
     (inst - "{z | f!1(z) > q!1}")
     (lemma "extensionality"
      ("f" "complement({z | f!1(z) > q!1})" "g" "{z | f!1(z) <= q!1}"))
     (split -1)
     (("1" (assert)) ("2" (hide-all-but 1) (grind))))
    ("2"
     (skosimp*)
     (inst - "q!1")
     (inst - "{z | f!1(z) <= q!1}")
     (lemma "extensionality"
      ("f" "{z | f!1(z) > q!1}" "g" "complement({z | f!1(z) <= q!1})"))
     (split -1)
     (("1" (assert)) ("2" (hide-all-but 1) (grind))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1" (skosimp*) (rewrite "measurable_lt") (inst - "q!1"))
    ("2"
     (flatten)
     (rewrite "measurable_lt")
     (skosimp)
     (name "Q" "{q:rat| q<=c!1}")
     (name "F" "lambda q: {z|f!1(z)<q}")
     (name "FQ" "image(F,Q)")
     (typepred "S")
     (expand "sigma_algebra?")
     (flatten)
     (hide -1 -2)
     (expand "sigma_algebra_union?")
     (inst - "FQ")
     (expand "member")
     (split -1)
     (("1"
       (lemma "extensionality"
        ("f" "Union(FQ)" "g" "{z | f!1(z) < c!1}"))
       (split -1)
       (("1" (assert))
        ("2"
         (hide-all-but (-2 -3 -4 1))
         (skosimp)
         (case-replace "f!1(x!1) < c!1")
         (("1"
           (expand "Union")
           (lemma "density" ("x" "f!1(x!1)" "y" "c!1"))
           (assert)
           (skosimp)
           (inst + "F(r!1)")
           (("1" (expand "F") (propax))
            ("2"
             (expand "FQ")
             (expand "image")
             (inst + "r!1")
             (expand "Q")
             (assert))))
          ("2"
           (replace 1 2)
           (assert)
           (expand "Union")
           (skosimp)
           (typepred "a!1")
           (expand "FQ")
           (expand "image")
           (skosimp)
           (typepred "x!2")
           (expand "Q")
           (replace -2)
           (expand "F")
           (assert))))))
      ("2"
       (hide 2)
       (lemma "countable_image[rat,set[T]]" ("f" "F" "S" "Q"))
       (split -1)
       (("1" (expand "image" -1) (expand "FQ") (propax))
        ("2"
         (hide-all-but (-3 1))
         (lemma "countable_full[rat]")
         (lemma "countable_subset[rat]" ("S" "Q" "Count" "fullset[rat]"))
         (("1"
           (split -1)
           (("1" (propax)) ("2" (hide-all-but 1) (expand "Q") (grind))))
          ("2"
           (lemma "countably_infinite_type_set[rat]")
           (assert)
           (hide-all-but 1)
           (expand "fullset")
           (expand "is_countable")
           (lemma "countable_rat")
           (skosimp)
           (inst + "f!2")
           (expand "bijective?")
           (flatten))))))
      ("3"
       (skosimp)
       (typepred "x!1")
       (expand "FQ")
       (expand "image")
       (skosimp)
       (replace -1)
       (hide -1 -2 -3 2)
       (expand "F")
       (inst - "x!2"))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "S")
   (expand "sigma_algebra?")
   (flatten)
   (hide -1 -3)
   (expand "subset_algebra_complement?")
   (expand "member")
   (rewrite "measurable_lt2")
   (split)
   (("1"
     (skosimp*)
     (inst - "q!1")
     (inst - "{z | f!1(z) < q!1}")
     (lemma "extensionality"
      ("f" "complement({z | f!1(z) < q!1})" "g" "{z | f!1(z) >= q!1}"))
     (split -1)
     (("1" (assert)) ("2" (hide-all-but 1) (grind))))
    ("2"
     (skosimp*)
     (inst - "q!1")
     (inst - "{z | f!1(z) >= q!1}")
     (lemma "extensionality"
      ("f" "{z | f!1(z) < q!1}" "g" "complement({z | f!1(z) >= q!1})"))
     (split -1)
     (("1" (assert)) ("2" (hide-all-but 1) (grind))))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (judgement-tcc)
   (typepred "S")
   (expand "sigma_algebra?")
   (expand "subset_algebra_complement?")
   (flatten)
   (inst - "a!1")
   (assert))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "S")
   (lemma "sigma_union_implies_subset_union[T]" ("S" "S"))
   (expand "sigma_algebra?")
   (flatten)
   (expand "subset_algebra_union?")
   (split)
   (("1"
     (inst - "a!1" "b!1")
     (("1" (assert) (expand "measurable_set?") (propax))
      ("2" (typepred "b!1") (expand "measurable_set?") (propax))
      ("3" (typepred "a!1") (expand "measurable_set?") (propax))))
    ("2" (propax))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "a!1")
   (typepred "b!1")
   (lemma "measurable_complement" ("a" "a!1"))
   (lemma "measurable_complement" ("a" "b!1"))
   (lemma "measurable_union"
    ("a" "complement[T](a!1)" "b" "complement[T](b!1)"))
   (rewrite "demorgan2" -1 :dir rl)
   (lemma "measurable_complement"
    ("a" "complement(intersection(a!1, b!1))"))
   (("1" (rewrite "complement_complement")) ("2" (propax))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (rewrite "difference_intersection")
   (typepred "a!1")
   (typepred "b!1")
   (lemma "measurable_complement" ("a" "b!1"))
   (lemma "measurable_intersection" ("a" "a!1" "b" "complement(b!1)"))
   (propax))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "M!1")
   (typepred "S")
   (expand "sigma_algebra?")
   (flatten)
   (expand "measurable_set?")
   (expand "sigma_algebra_union?")
   (inst - "M!1")
   (split)
   (("1"
     (expand "extend")
     (expand "Union")
     (case-replace
      "{x: T |
                      EXISTS (a:
                                (LAMBDA (t: setof[T]):
                                   IF (S)(t) THEN M!1(t) ELSE FALSE ENDIF)):
                        a(x)}={x: T | EXISTS (a: (M!1)): a(x)}")
     (("1" (assert))
      ("2"
       (hide-all-but 1)
       (apply-extensionality :hide? t)
       (case-replace "EXISTS (a: (M!1)): a(x!1)")
       (("1" (skosimp) (typepred "a!1") (inst + "a!1"))
        ("2"
         (replace 1 2)
         (assert)
         (skosimp)
         (inst + "a!1")
         (typepred "a!1")
         (assert))))))
    ("2"
     (hide-all-but (-3 1))
     (expand "extend")
     (expand "is_countable")
     (skolem!)
     (typepred "f!1")
     (inst + "f!1")
     (split)
     (("1" (skosimp) (hide -1) (grind))
      ("2"
       (expand "injective?")
       (skosimp*)
       (inst - "x1!1" "x2!1")
       (assert))))
    ("3" (skosimp) (typepred "x!1") (expand "extend") (assert))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (name "MC" "{a:(S)| M!1(complement(a))}")
   (case "is_countable[(S)](MC)")
   (("1"
     (lemma "measurable_Union" ("M" "MC"))
     (("1"
       (expand "Union")
       (lemma "measurable_complement"
        ("a" "{x: T | EXISTS (a: (MC)): a(x)}"))
       (("1"
         (expand "Intersection")
         (case-replace
          "complement[T]({x: T | EXISTS (a: (MC)): a(x)})={x: T | FORALL (a: (M!1)): a(x)}")
         (hide-all-but 1)
         (apply-extensionality :hide? t)
         (case-replace "FORALL (a: (M!1)): a(x!1)")
         (("1"
           (case-replace "FORALL (a: (M!1)): a(x!1)")
           (expand "complement")
           (expand "member")
           (skosimp)
           (typepred "a!1")
           (expand "MC")
           (inst - "complement(a!1)")
           (expand "complement")
           (assert))
          ("2"
           (replace 1 2)
           (assert)
           (skosimp)
           (expand "complement")
           (expand "member")
           (inst + "complement(a!1)")
           (("1" (expand "complement") (assert))
            ("2"
             (expand "MC")
             (rewrite "complement_complement")
             (assert))))))
        ("2" (propax))))
      ("2" (propax))))
    ("2"
     (hide-all-but 1)
     (typepred "M!1")
     (expand "is_countable")
     (skosimp)
     (typepred "f!1")
     (inst + "lambda (x:(MC)): f!1(complement(x))")
     (("1"
       (expand "injective?")
       (skosimp)
       (inst - "complement[T](x1!1)" "complement[T](x2!1)")
       (rewrite "complement_equal")
       (assert))
      ("2" (skosimp) (typepred "x!1") (expand "MC") (propax))))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "measurable_Union" ("M" "image(SS!1)(fullset[nat])"))
   (("1"
     (expand "fullset")
     (expand "image")
     (expand "image")
     (expand "Union")
     (case-replace
      "{x: T |
                               EXISTS (a:
                                         ({y: measurable_set
                                           |
                                           EXISTS
                                           (x_1: ({x: nat | TRUE})):
                                           y = SS!1(x_1)})):
                                 a(x)}=IUnion[nat, T](SS!1)")
     (apply-extensionality :hide? t)
     (hide -1 2)
     (case-replace "IUnion[nat, T](SS!1)(x!1)")
     (("1"
       (expand "IUnion")
       (skosimp)
       (inst + "SS!1(i!1)")
       (inst + "i!1"))
      ("2"
       (replace 1 2)
       (assert)
       (skosimp)
       (typepred "a!1")
       (skosimp)
       (expand "IUnion")
       (inst + "x!2")
       (assert))))
    ("2"
     (hide 2)
     (split)
     (("1" (expand "measurable_set?") (propax))
      ("2"
       (lemma "countable_image[nat,measurable_set]"
        ("S" "fullset[nat]" "f" "SS!1"))
       (split)
       (("1"
         (assert)
         (expand "fullset")
         (expand "image")
         (expand "image")
         (expand "is_countable")
         (propax))
        ("2"
         (hide 2)
         (expand "fullset")
         (expand "is_countable")
         (inst + "lambda (n:nat): n")
         (expand "injective?")
         (skosimp))))))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "IDemorgan2[nat,T]" ("A" "SS!1"))
   (case "forall (n:nat): measurable_set?(IComplement[nat, T](SS!1)(n))")
   (("1"
     (lemma "measurable_IUnion" ("SS" "IComplement(SS!1)"))
     (("1"
       (replace -3 -1 rl)
       (lemma "measurable_complement"
        ("a" "complement(IIntersection(SS!1))"))
       (("1" (rewrite "complement_complement")) ("2" (propax))))
      ("2" (propax))))
    ("2" (hide-all-but 1) (skosimp) (expand "IComplement") (propax))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "measurable_function?")
   (skosimp)
   (expand "measurable_set?")
   (expand "inverse_image")
   (expand "member")
   (typepred "B!1")
   (case-replace "B!1(0)")
   (("1"
     (lemma "sigma_algebra_fullset[T,(S)]")
     (expand "member")
     (expand "fullset")
     (propax))
    ("2"
     (assert)
     (lemma "sigma_algebra_emptyset[T,(S)]")
     (expand "member")
     (expand "emptyset")
     (propax))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "measurable_function?")
   (skosimp)
   (expand "inverse_image")
   (expand "measurable_set?")
   (expand "member")
   (typepred "x!1")
   (expand "constant?")
   (skosimp)
   (replace -1)
   (hide -1)
   (expand "const_fun")
   (lemma "sigma_algebra_emptyset[T,S]")
   (lemma "sigma_algebra_fullset[T,S]")
   (expand "fullset")
   (expand "emptyset")
   (expand "member")
   (case-replace "B!1(a!1)")
   (assert))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "trichotomy" ("x" "c!1"))
   (typepred "g!1")
   (split -2)
   (("1"
     (rewrite "measurable_gt" -2)
     (rewrite "measurable_gt" 1)
     (skosimp)
     (inst - "c!2/c!1")
     (("1"
       (assert)
       (lemma "extensionality"
        ("f"
         "{z | g!1(z) > c!2 / c!1}"
         "g"
         "{z | (c!1 * g!1)(z) > c!2}"))
       (split -1)
       (("1" (assert))
        ("2"
         (hide -2 2)
         (skosimp)
         (assert)
         (expand "*")
         (assert)
         (case-replace "c!1 * g!1(x!1) > c!2")
         (("1" (rewrite "div_mult_pos_gt2" 1) (assert))
          ("2"
           (replace 1 2)
           (assert)
           (rewrite "div_mult_pos_gt2" -1))))))
      ("2" (assert))))
    ("2"
     (replace -1)
     (hide-all-but 1)
     (expand "*")
     (lemma "constant_is_measurable")
     (inst - "lambda (x:T): 0")
     (("1" (assert))
      ("2"
       (expand "constant?")
       (inst + "0")
       (expand "const_fun")
       (propax))))
    ("3"
     (rewrite "measurable_gt" 1)
     (skosimp)
     (rewrite "measurable_lt")
     (inst - "c!2/c!1")
     (("1"
       (lemma "extensionality"
        ("f" "{z | g!1(z) < c!2/c!1}" "g" "{z | (c!1 * g!1)(z) > c!2}"))
       (("1"
         (split -1)
         (("1" (assert))
          ("2"
           (hide -2 2)
           (skosimp)
           (rewrite "div_mult_neg_lt2" 1)
           (expand "*")
           (assert))))
        ("2" (skosimp) (assert))))
      ("2" (assert))))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "g1!1")
   (typepred "g2!1")
   (rewrite "measurable_lt" 1)
   (skosimp)
   (expand "+" 1)
   (rewrite "measurable_lt" -1)
   (rewrite "measurable_lt" -2)
   (name "F"
         "lambda q: intersection({z | g1!1(z) < q},{z | g2!1(z) < c!1-q})")
   (case-replace
    "{z | g1!1(z) + g2!1(z) < c!1} = Union(image(F,fullset[rat]))")
   (("1"
     (hide -1)
     (lemma "countable_image[rat,set[T]]" ("f" "F"))
     (inst - "fullset[rat]")
     (expand "image" -1)
     (split -1)
     (("1"
       (typepred "S")
       (expand "sigma_algebra?")
       (flatten)
       (expand "sigma_algebra_union?")
       (inst -3 "image(F, fullset[rat])")
       (assert)
       (hide 2)
       (skosimp)
       (typepred "x!1")
       (expand "image")
       (skosimp)
       (expand "F")
       (replace -1)
       (inst -5 "c!1-x!2")
       (inst -6 "x!2")
       (lemma "sigma_algebra_intersection"
        ("x" "{z | g1!1(z) < x!2}" "y" "{z | g2!1(z) < c!1 - x!2}"))
       (("1" (expand "member") (propax)) ("2" (propax)) ("3" (propax))))
      ("2"
       (hide-all-but 1)
       (lemma "countable_type_is_countably_infinite[rat]")
       (lemma "countable_full[rat]")
       (assert)
       (hide 2 3)
       (expand "is_countable_type")
       (lemma "countable_rat")
       (skosimp)
       (inst + "f!1")
       (expand "bijective?")
       (flatten))))
    ("2"
     (hide-all-but 1)
     (apply-extensionality :hide? t)
     (case-replace "g1!1(x!1) + g2!1(x!1) < c!1")
     (("1"
       (expand "Union")
       (lemma "density" ("x" "g1!1(x!1) + g2!1(x!1)" "y" "c!1"))
       (assert)
       (skosimp)
       (typepred "r!1")
       (lemma "density" ("x" "g1!1(x!1)" "y" "r!1-g2!1(x!1)"))
       (assert)
       (skosimp)
       (inst + "F(r!2)")
       (("1"
         (expand "F")
         (expand "intersection")
         (expand "member")
         (assert))
        ("2"
         (expand "image")
         (inst + "r!2")
         (expand "fullset")
         (propax))))
      ("2"
       (replace 1 2)
       (assert)
       (expand "Union")
       (skosimp)
       (typepred "a!1")
       (expand "image")
       (skosimp)
       (replace -1)
       (typepred "x!2")
       (expand "F")
       (expand "intersection")
       (expand "member")
       (flatten)
       (assert))))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "scal_measurable" ("c" "-1" "g" "g!1"))
   (expand "*")
   (expand "-")
   (lemma "extensionality"
    ("f" "LAMBDA (x: T): -1 * g!1(x)" "g" "LAMBDA (x: T): -g!1(x)"))
   (split -1)
   (("1" (assert)) ("2" (hide-all-but 1) (assert))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "opp_measurable" ("g" "g2!1"))
   (lemma "sum_measurable" ("g1" "g1!1" "g2" "-g2!1"))
   (expand "+")
   (expand "-")
   (assert))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "m")
   (expand "measure?")
   (flatten)
   (expand "measure_countably_additive?")
   (inst - "DX!1"))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "m_countably_additive"
    ("DX"
     "lambda i: if i=0 then a!1 elsif i=1 then b!1 else emptyset[T] endif"))
   (("1"
     (case-replace
      "IUnion(LAMBDA i:
                            IF i = 0 THEN a!1
                            ELSIF i = 1 THEN b!1
                            ELSE emptyset[T]
                            ENDIF)=union(a!1, b!1)")
     (("1"
       (hide -1)
       (expand "o")
       (rewrite "m_emptyset")
       (case-replace
        "x_sum(LAMBDA (x: nat):
                           IF x = 0 THEN m(a!1)
                           ELSE IF x = 1 THEN m(b!1) ELSE (TRUE, 0) ENDIF
                           ENDIF)=x_add(m(a!1), m(b!1))")
       (("1" (hide -1 -3) (grind))
        ("2"
         (hide -1 2)
         (expand "x_sum")
         (expand "x_add")
         (case-replace "m(a!1)`1")
         (("1"
           (assert)
           (case-replace "m(b!1)`1")
           (("1"
             (assert)
             (lemma "zero_tail_series_conv"
              ("a"
               "(LAMBDA i:
                                            IF i = 0 THEN m(a!1)`2
                                            ELSE IF i = 1 THEN m(b!1)`2 ELSE 0 ENDIF
                                            ENDIF)"
               "n"
               "1"))
             (case-replace
              "(FORALL (m_1: nat):
                       1 < m_1 =>
                        (LAMBDA i:
                           IF i = 0 THEN m(a!1)`2
                           ELSE IF i = 1 THEN m(b!1)`2 ELSE 0 ENDIF
                           ENDIF)
                            (m_1)
                         = 0)")
             (("1"
               (replace -2)
               (assert)
               (lemma "zero_tail_series_limit"
                ("a"
                 "(LAMBDA (i_2: nat):
                                     IF i_2 = 0 THEN m(a!1)`2
                                     ELSE IF i_2 = 1 THEN m(b!1)`2 ELSE 0 ENDIF
                                     ENDIF)"
                 "n"
                 "1"))
               (hide-all-but 1)
               (expand "series")
               (lemma "zero_tail_series_limit"
                ("a"
                 "LAMBDA (i:nat):
                                      IF i = 0 THEN m(a!1)`2
                                      ELSE IF i = 1 THEN m(b!1)`2 ELSE 0 ENDIF
                                      ENDIF"
                 "n"
                 "1"))
               (split -1)
               (("1"
                 (expand "series")
                 (replace -1)
                 (hide -1)
                 (expand "sigma")
                 (expand "sigma")
                 (expand "sigma")
                 (propax))
                ("2" (hide 2) (skosimp) (grind))))
              ("2" (hide -1 2) (skosimp) (assert))))
            ("2"
             (assert)
             (case-replace
              "(FORALL i:
                          IF i = 0 THEN TRUE
                          ELSE IF i = 1 THEN FALSE ELSE TRUE ENDIF
                          ENDIF)")
             (("1" (inst - "1") (assert)) ("2" (replace 1 3) (propax))))
            ("3" (typepred "b!1") (expand "measurable_set?") (propax))))
          ("2"
           (assert)
           (case-replace
            "(FORALL i:
                        IF i = 0 THEN FALSE
                        ELSE IF i = 1 THEN m(b!1)`1 ELSE TRUE ENDIF
                        ENDIF)")
           (("1" (inst - "0")) ("2" (replace 1 3) (propax))
            ("3"
             (skosimp)
             (typepred "b!1")
             (expand "measurable_set?")
             (propax))))
          ("3" (typepred "a!1") (expand "measurable_set?") (propax))))))
      ("2"
       (hide-all-but 1)
       (apply-extensionality :hide? t)
       (expand "union")
       (expand "IUnion")
       (expand "emptyset")
       (expand "member")
       (case-replace "a!1(x!1)")
       (("1" (inst + "0"))
        ("2"
         (case-replace "b!1(x!1)")
         (("1" (inst + "1") (assert)) ("2" (assert))))))))
    ("2"
     (hide 2)
     (expand "disjoint_indexed_measurable?")
     (expand "disjoint?")
     (expand "disjoint?")
     (skosimp*)
     (expand "intersection")
     (expand "emptyset")
     (expand "empty?")
     (expand "member")
     (skosimp*)
     (inst - "x!1")
     (grind))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "m_disjoint_union" ("a" "a!1" "b" "difference(b!1,a!1)"))
   (lemma "union_diff_subset" ("a" "a!1" "b" "b!1"))
   (replace -3 -1)
   (replace -1 -2)
   (split -2)
   (("1"
     (hide -2)
     (expand "x_add")
     (expand "x_eq")
     (expand "x_le")
     (flatten)
     (replace -4)
     (prop)
     (replace -1)
     (replace -2)
     (typepred "m(difference(b!1, a!1))`2")
     (assert))
    ("2"
     (hide-all-but (-2 1))
     (expand "difference")
     (expand "subset?")
     (expand "disjoint?")
     (expand "intersection")
     (expand "member")
     (expand "empty?")
     (skosimp)
     (expand "member")
     (assert)
     (flatten))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (rewrite "union_difference")
   (lemma "m_disjoint_union" ("a" "a!1" "b" "difference(b!1, a!1)"))
   (split -1)
   (("1"
     (lemma "m_monotone" ("a" "difference(b!1, a!1)" "b" "b!1"))
     (split -1)
     (("1"
       (name-replace "S1" "union(a!1, difference(b!1, a!1))")
       (name-replace "S2" "difference(b!1, a!1)")
       (expand "x_add")
       (expand "x_le")
       (expand "x_eq")
       (flatten)
       (prop)
       (("1" (assert)) ("2" (assert)) ("3" (assert)) ("4" (assert))))
      ("2" (hide-all-but 1) (grind))))
    ("2" (hide-all-but 1) (grind))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (name "G"
         "lambda n: IF n = 0 THEN E!1(0) ELSE difference(E!1(n),E!1(n-1)) ENDIF")
   (("1"
     (case "FORALL n:
                   E!1(n) =
                    IUnion(LAMBDA (i: nat):
                             IF i <= n THEN G(i) ELSE emptyset[T] ENDIF)
                    & (FORALL (i: nat): i < n => disjoint?(G(n), G(i)))")
     (("1"
       (case "IUnion(G) = IUnion(E!1)")
       (("1"
         (lemma "m_countably_additive" ("DX" "G"))
         (("1"
           (expand "x_converges?")
           (expand "o")
           (expand "x_eq")
           (expand "x_sum")
           (flatten)
           (case-replace "(FORALL i: m(G(i))`1)")
           (("1"
             (case "series(LAMBDA (i_1: nat): m(G(i_1))`2)=lambda i: m(E!1(i))`2")
             (("1"
               (case-replace
                "convergence_sequences.convergent?(series(LAMBDA (i_1: nat): m(G(i_1))`2))")
               (("1"
                 (replace -6)
                 (replace -4)
                 (replace -2 1 rl)
                 (replace -1)
                 (replace -5 1)
                 (prop)
                 (inst - "0")
                 (expand "G")
                 (hide-all-but (-4 1))
                 (skosimp)
                 (lemma "m_monotone" ("a" "E!1(i!1)" "b" "IUnion(E!1)"))
                 (split -1)
                 (("1" (expand "x_le") (assert))
                  ("2"
                   (hide-all-but 1)
                   (expand "subset?")
                   (skosimp)
                   (expand "member")
                   (expand "IUnion")
                   (inst + "i!1"))))
                ("2"
                 (replace 1)
                 (replace -4)
                 (replace -3 * rl)
                 (replace -1 1)
                 (replace 1 2)
                 (propax))))
              ("2"
               (hide -2 -3 2)
               (expand "series")
               (apply-extensionality :hide? t)
               (("1"
                 (case "forall n: sigma(0, n, LAMBDA (i_1: nat): m(G(i_1))`2) = m(E!1(n))`2")
                 (("1" (inst - "x!1"))
                  ("2"
                   (hide 2)
                   (induct "n")
                   (("1"
                     (expand "sigma")
                     (expand "G")
                     (expand "sigma")
                     (propax))
                    ("2"
                     (skosimp*)
                     (expand "sigma" 1)
                     (replace -1)
                     (hide -1)
                     (lemma "m_disjoint_union"
                      ("a" "E!1(j!1)" "b" "G(1 + j!1)"))
                     (split -1)
                     (("1"
                       (case-replace
                        "union(E!1(j!1), G(1 + j!1))=E!1(1 + j!1)")
                       (("1"
                         (hide -1)
                         (expand "x_eq")
                         (expand "x_add")
                         (assert)
                         (case "forall i: m(E!1(i))`1")
                         (("1"
                           (inst-cp - "1+j!1")
                           (inst - "j!1")
                           (assert)
                           (inst - "1+j!1")
                           (assert))
                          ("2"
                           (hide-all-but (-2 -4 -6 1))
                           (induct "i")
                           (("1" (inst - "0") (expand "G") (propax))
                            ("2"
                             (skosimp)
                             (inst - "1+j!2")
                             (lemma "m_disjoint_union"
                              ("a" "E!1(j!2)" "b" "G(1 + j!2)"))
                             (case-replace
                              "union(E!1(j!2), G(1 + j!2))=E!1(j!2+1)")
                             (("1"
                               (hide -1)
                               (split -1)
                               (("1"
                                 (expand "x_add")
                                 (expand "x_eq")
                                 (assert))
                                ("2"
                                 (hide-all-but (-4 1))
                                 (expand "G")
                                 (expand "difference")
                                 (expand "disjoint?")
                                 (expand "intersection")
                                 (expand "empty?")
                                 (skosimp)
                                 (expand "member")
                                 (flatten))))
                              ("2"
                               (hide-all-but (-5 1))
                               (apply-extensionality :hide? t)
                               (expand "G")
                               (expand "difference")
                               (expand "union")
                               (expand "member")
                               (case-replace "E!1(1 + j!2)(x!2)")
                               (("1" (flatten))
                                ("2"
                                 (assert)
                                 (expand "increasing?")
                                 (inst - "j!2" "1+j!2")
                                 (assert)
                                 (expand "subset?")
                                 (inst - "x!2")
                                 (assert))))))
                            ("3"
                             (skosimp)
                             (typepred "E!1(i!2)")
                             (expand "measurable_set?")
                             (propax))))))
                        ("2"
                         (hide-all-but (-6 1))
                         (apply-extensionality :hide? t)
                         (expand "union")
                         (expand "G")
                         (expand "difference")
                         (expand "member")
                         (case-replace "E!1(1 + j!1)(x!2)")
                         (("1" (flatten))
                          ("2"
                           (assert)
                           (expand "increasing?")
                           (inst - "j!1" "1+j!1")
                           (assert)
                           (expand "subset?")
                           (inst - "x!2")
                           (assert))))))
                      ("2"
                       (hide 2)
                       (expand "G" 1)
                       (expand "difference")
                       (expand "disjoint?")
                       (expand "intersection")
                       (expand "empty?")
                       (expand "member")
                       (skosimp*))))
                    ("3"
                     (skosimp)
                     (typepred "E!1(n!2)")
                     (expand "measurable_set?")
                     (propax))
                    ("4"
                     (hide-all-but 1)
                     (skosimp)
                     (expand "G")
                     (typepred "E!1(i!1)")
                     (expand "measurable_set?")
                     (assert)
                     (prop)
                     (typepred "E!1(i!1-1)")
                     (("1"
                       (expand "measurable_set?")
                       (lemma "measurable_difference"
                        ("a" "E!1(i!1)" "b" "E!1(i!1-1)"))
                       (expand "measurable_set?")
                       (propax))
                      ("2" (assert))))))))
                ("2"
                 (skosimp)
                 (typepred "E!1(i!1)")
                 (expand "measurable_set?")
                 (propax))
                ("3"
                 (skosimp)
                 (expand "G")
                 (typepred "E!1(i!1)")
                 (expand "measurable_set?")
                 (assert)
                 (prop)
                 (typepred "E!1(i!1-1)")
                 (("1"
                   (expand "measurable_set?")
                   (lemma "measurable_difference"
                    ("a" "E!1(i!1)" "b" "E!1(i!1-1)"))
                   (expand "measurable_set?")
                   (propax))
                  ("2" (assert))))))
              ("3"
               (skosimp)
               (typepred "E!1(i!1)")
               (expand "measurable_set?")
               (propax))
              ("4"
               (hide-all-but 1)
               (skosimp)
               (expand "G")
               (typepred "E!1(i!1)")
               (expand "measurable_set?")
               (assert)
               (prop)
               (typepred "E!1(i!1-1)")
               (("1"
                 (expand "measurable_set?")
                 (lemma "measurable_difference"
                  ("a" "E!1(i!1)" "b" "E!1(i!1-1)"))
                 (expand "measurable_set?")
                 (propax))
                ("2" (assert))))))
            ("2"
             (replace 1)
             (replace -2)
             (replace -1 * rl)
             (case-replace "FORALL (i_1: nat): m(E!1(i_1))`1")
             (("1"
               (skosimp)
               (inst - "i!1")
               (prop)
               (lemma "m_monotone" ("a" "G(i!1)" "b" "E!1(i!1)"))
               (expand "x_le")
               (assert)
               (expand "subset?")
               (skosimp)
               (expand "G" -1)
               (expand "difference")
               (expand "member")
               (case-replace "i!1 = 0")
               (assert))
              ("2" (replace 1 3) (propax))
              ("3"
               (skosimp)
               (typepred "E!1(i!1)")
               (expand "measurable_set?")
               (propax))))
            ("3"
             (hide-all-but 1)
             (skosimp)
             (expand "G")
             (typepred "E!1(i!1)")
             (expand "measurable_set?")
             (assert)
             (prop)
             (typepred "E!1(i!1-1)")
             (("1"
               (expand "measurable_set?")
               (lemma "measurable_difference"
                ("a" "E!1(i!1)" "b" "E!1(i!1-1)"))
               (expand "measurable_set?")
               (propax))
              ("2" (assert))))))
          ("2"
           (hide 2)
           (split)
           (("1"
             (skolem + ("i!1"))
             (expand "G")
             (typepred "E!1(i!1)")
             (expand "measurable_set?")
             (assert)
             (prop)
             (typepred "E!1(i!1-1)")
             (("1"
               (expand "measurable_set?")
               (lemma "measurable_difference"
                ("a" "E!1(i!1)" "b" "E!1(i!1-1)"))
               (expand "measurable_set?")
               (propax))
              ("2" (assert))))
            ("2"
             (expand "disjoint_indexed_measurable?")
             (expand "disjoint?")
             (skosimp)
             (lemma "trich_lt" ("x" "i!1" "y" "j!1"))
             (split -1)
             (("1"
               (inst - "j!1")
               (flatten)
               (inst - "i!1")
               (assert)
               (expand "disjoint?")
               (rewrite "intersection_commutative"))
              ("2" (propax))
              ("3"
               (inst - "i!1")
               (flatten)
               (inst - "j!1")
               (assert)
               (expand "disjoint?")
               (propax))))))))
        ("2"
         (hide 2)
         (apply-extensionality :hide? t)
         (expand "IUnion" 1)
         (case-replace "EXISTS (i: nat): G(i)(x!1)")
         (("1"
           (skosimp)
           (expand "G" -1)
           (expand "difference")
           (expand "member")
           (case-replace "i!1=0")
           (("1" (inst + "0")) ("2" (assert) (flatten) (inst + "i!1"))))
          ("2"
           (replace 1 2)
           (assert)
           (skosimp)
           (inst - "i!1")
           (flatten)
           (replace -2 -1)
           (expand "IUnion" -1)
           (skosimp)
           (expand "emptyset")
           (prop)
           (inst + "i!2"))))))
      ("2"
       (hide 2)
       (induct "n")
       (("1"
         (apply-extensionality :hide? t)
         (expand "IUnion")
         (case-replace "E!1(0)(x!1)")
         (("1" (inst + "0") (assert) (expand "G") (propax))
          ("2"
           (assert)
           (skosimp)
           (expand "emptyset")
           (prop)
           (expand "G")
           (expand "difference")
           (assert))))
        ("2" (skosimp) (assert))
        ("3"
         (skosimp*)
         (split)
         (("1"
           (case-replace "E!1(j!1 + 1)=union(E!1(j!1),G(1+j!1))")
           (("1"
             (apply-extensionality :hide? t)
             (expand "union")
             (expand "member")
             (case-replace "G(1 + j!1)(x!1)")
             (("1" (expand "IUnion") (inst + "1+j!1") (assert))
              ("2"
               (replace 1 2)
               (replace -2 2)
               (hide -1 -2)
               (expand "IUnion")
               (expand "emptyset")
               (case-replace
                "EXISTS (i: nat): IF i <= 1 + j!1 THEN G(i)(x!1) ELSE FALSE ENDIF")
               (("1"
                 (skosimp)
                 (prop)
                 (expand "<=" -1)
                 (split -1)
                 (("1" (inst + "i!1") (assert)) ("2" (assert))))
                ("2"
                 (replace 1 3)
                 (assert)
                 (skosimp)
                 (prop)
                 (inst + "i!1")
                 (assert))))))
            ("2"
             (hide 2)
             (apply-extensionality :hide? t)
             (expand "union")
             (expand "member")
             (expand "G")
             (expand "difference")
             (expand "member")
             (hide-all-but (-4 1))
             (case-replace "E!1(1 + j!1)(x!1)")
             (("1" (flatten))
              ("2"
               (assert)
               (expand "increasing?")
               (inst - "j!1" "1+j!1")
               (assert)
               (expand "subset?")
               (inst - "x!1")
               (assert))))))
          ("2"
           (skosimp)
           (expand "disjoint?")
           (expand "G" 1 1)
           (expand "difference")
           (expand "intersection")
           (expand "empty?")
           (expand "member")
           (skosimp)
           (replace -4 1)
           (expand "IUnion")
           (inst + "i!1")
           (assert))))))))
    ("2" (skosimp) (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (name "G" "lambda n: difference(E!1(0),E!1(n))")
   (case "increasing?(G)")
   (("1"
     (case "forall n: mu_fin?(G(n))")
     (("1"
       (lemma "m_increasing_convergence" ("E" "G"))
       (assert)
       (expand "x_converges?")
       (expand "o")
       (expand "mu_fin?")
       (replace -2)
       (case-replace "FORALL i: m(E!1(i))`1")
       (("1"
         (case-replace
          "convergence_sequences.convergent?(LAMBDA (i_1: nat): m(E!1(i_1))`2)")
         (("1"
           (case "bounded_above?[nat](LAMBDA (i_1: nat): m(G(i_1))`2)")
           (("1"
             (case-replace
              "convergence_sequences.convergent?(LAMBDA (i_2: nat): m(G(i_2))`2)")
             (("1"
               (flatten)
               (case "forall n: E!1(0)=union(G(n),E!1(n)) & disjoint?(G(n),E!1(n))")
               (("1"
                 (case "E!1(0)=union(IUnion(G),IIntersection(E!1)) & disjoint?(IUnion(G),IIntersection(E!1))")
                 (("1"
                   (flatten)
                   (lemma "m_disjoint_union"
                    ("a" "IUnion(G)" "b" "IIntersection(E!1)"))
                   (replace -2 * rl)
                   (case "forall n: x_eq(m(E!1(0)), x_add(m(G(n)), m(E!1(n))))")
                   (("1"
                     (assert)
                     (expand "x_eq" -2)
                     (expand "x_add" -2)
                     (flatten)
                     (prop)
                     (replace -1)
                     (lemma "convergence_sequences.limit_def"
                      ("v"
                       "LAMBDA (i_1: nat): m(G(i_1))`2"
                       "l"
                       "m(IUnion(G))`2"))
                     (assert)
                     (hide -8 -13)
                     (expand "convergence_sequences.convergent?" -9)
                     (skosimp)
                     (lemma "cnv_seq_sum"
                      ("s1"
                       "LAMBDA (i_1: nat): m(G(i_1))`2"
                       "l1"
                       "m(IUnion(G))`2"
                       "s2"
                       "LAMBDA (i_1: nat): m(E!1(i_1))`2"
                       "l2"
                       "l!1"))
                     (assert)
                     (expand "+" -1)
                     (case-replace
                      "(LAMBDA (x: nat): m(E!1(x))`2 + m(G(x))`2)=(lambda i: m(E!1(0))`2)")
                     (("1"
                       (hide -1)
                       (lemma "cnv_seq_const" ("a" "m(E!1(0))`2"))
                       (expand "const_fun")
                       (lemma "convergence_sequences.unique_limit"
                        ("u"
                         "(LAMBDA i: m(E!1(0))`2)"
                         "l1"
                         "m(IUnion(G))`2 + l!1"
                         "l2"
                         "m(E!1(0))`2"))
                       (assert)
                       (replace -7 -1)
                       (assert)
                       (replace -1 * rl)
                       (rewrite "convergence_sequences.limit_def" -12
                        :dir rl))
                      ("2"
                       (hide 2)
                       (apply-extensionality :hide? t)
                       (("1"
                         (inst - "x!1")
                         (expand "x_add")
                         (expand "x_eq")
                         (inst -11 "x!1")
                         (inst -13 "x!1")
                         (assert))
                        ("2"
                         (hide-all-but 1)
                         (skolem + ("i!1"))
                         (expand "G")
                         (typepred "E!1(0)")
                         (typepred "E!1(i!1)")
                         (expand "measurable_set?")
                         (lemma "measurable_difference"
                          ("a" "E!1(0)" "b" "E!1(i!1)"))
                         (expand "measurable_set?")
                         (propax))
                        ("3"
                         (skosimp)
                         (typepred "E!1(x!1)")
                         (expand "measurable_set?")
                         (propax))))))
                    ("2"
                     (hide 2)
                     (skosimp)
                     (hide-all-but (1 -4))
                     (inst - "n!1")
                     (flatten)
                     (lemma "m_disjoint_union"
                      ("a" "G(n!1)" "b" "E!1(n!1)"))
                     (assert))
                    ("3"
                     (hide-all-but 1)
                     (skosimp)
                     (typepred "E!1(n!1)")
                     (expand "measurable_set?")
                     (propax))))
                  ("2"
                   (hide 2)
                   (split)
                   (("1"
                     (hide-all-but (-11 1))
                     (apply-extensionality :hide? t)
                     (expand "IIntersection")
                     (expand "IUnion")
                     (expand "G")
                     (expand "difference")
                     (expand "union")
                     (expand "member")
                     (case-replace "E!1(0)(x!1)")
                     (("1" (flatten) (skosimp) (inst + "i!1"))
                      ("2" (replace 1 2) (simplify 2) (inst - "0"))))
                    ("2"
                     (hide-all-but (-1 -11 1))
                     (expand "disjoint?" 1)
                     (expand "IIntersection")
                     (expand "IUnion")
                     (expand "G")
                     (expand "intersection")
                     (expand "difference")
                     (expand "empty?")
                     (expand "union")
                     (expand "member")
                     (skosimp*)
                     (inst - "i!1"))))))
                ("2"
                 (hide 2)
                 (skosimp)
                 (split)
                 (("1"
                   (expand "G" 1)
                   (apply-extensionality :hide? t)
                   (hide-all-but (-10 1))
                   (expand "difference")
                   (expand "union")
                   (expand "member")
                   (case-replace "E!1(0)(x!1)")
                   (("1" (flatten))
                    ("2"
                     (assert)
                     (expand "decreasing?")
                     (inst - "0" "n!1")
                     (expand "subset?")
                     (assert)
                     (inst - "x!1")
                     (assert))))
                  ("2"
                   (hide-all-but (1 -10))
                   (expand "G")
                   (expand "difference")
                   (expand "disjoint?")
                   (expand "intersection")
                   (expand "empty?")
                   (expand "member")
                   (skosimp*))))))
              ("2"
               (hide -4 2)
               (lemma "increasing_bounded_convergence"
                ("v1" "LAMBDA (i_1: nat): m(G(i_1))`2"))
               (("1"
                 (split -1)
                 (("1"
                   (expand "convergence_sequences.convergent?")
                   (expand "sup")
                   (inst + "lub(Im(LAMBDA (i_1: nat): m(G(i_1))`2))")
                   (skosimp)
                   (expand "G" 1)
                   (typepred "E!1(0)")
                   (typepred "E!1(i!1)")
                   (lemma "measurable_difference"
                    ("a" "E!1(0)" "b" "E!1(i!1)"))
                   (expand "measurable_set?")
                   (propax))
                  ("2"
                   (hide 2)
                   (expand "increasing?")
                   (skosimp)
                   (lemma "m_monotone" ("a" "G(x!1)" "b" "G(y!1)"))
                   (expand "x_le")
                   (inst-cp -6 "x!1")
                   (inst -6 "y!1")
                   (assert)
                   (inst -7 "x!1" "y!1")
                   (assert))))
                ("2" (propax))))))
            ("2"
             (hide -3 -1 2)
             (expand "bounded_above?")
             (inst + "m(E!1(0))`2")
             (skosimp)
             (expand "G" 1)
             (inst - "x!1")
             (lemma "m_monotone"
              ("a" "difference(E!1(0), E!1(x!1))" "b" "E!1(0)"))
             (split -1)
             (("1" (expand "x_le") (assert))
              ("2" (hide-all-but 1) (grind))))
            ("3"
             (skosimp)
             (hide-all-but 1)
             (expand "G")
             (typepred "E!1(i!1)")
             (typepred "E!1(0)")
             (expand "measurable_set?")
             (lemma "measurable_difference"
              ("a" "E!1(0)" "b" "E!1(i!1)"))
             (expand "measurable_set?")
             (propax))))
          ("2"
           (hide 2 -2)
           (case "bounded_below?[nat](LAMBDA (i_1: nat): m(E!1(i_1))`2)")
           (("1"
             (lemma "decreasing_bounded_convergence"
              ("v2" "LAMBDA (i_1: nat): m(E!1(i_1))`2"))
             (("1"
               (split -1)
               (("1"
                 (expand "convergence_sequences.convergent?")
                 (expand "inf")
                 (inst + "glb(Im(LAMBDA (i_1: nat): m(E!1(i_1))`2))")
                 (skosimp)
                 (typepred "E!1(i!1)")
                 (expand "measurable_set?")
                 (propax))
                ("2"
                 (hide-all-but (-6 -7 -2 1))
                 (expand "decreasing?")
                 (skosimp*)
                 (lemma "m_monotone" ("a" "E!1(y!1)" "b" "E!1(x!1)"))
                 (inst - "x!1" "y!1")
                 (assert)
                 (assert)
                 (expand "x_le")
                 (assert)
                 (inst - "x!1"))))
              ("2" (propax))))
            ("2"
             (hide 2)
             (expand "bounded_below?")
             (inst + "0")
             (skosimp)
             (assert))
            ("3"
             (skosimp)
             (typepred "E!1(i!1)")
             (expand "measurable_set?")
             (propax))))
          ("3"
           (skosimp)
           (typepred "E!1(i!1)")
           (expand "measurable_set?")
           (propax))))
        ("2"
         (hide 2)
         (skosimp)
         (lemma "m_monotone" ("a" "E!1(i!1)" "b" "E!1(0)"))
         (expand "decreasing?")
         (inst -6 "0" "i!1")
         (assert)
         (assert)
         (expand "x_le")
         (propax))
        ("3"
         (skosimp)
         (typepred "E!1(i!1)")
         (expand "measurable_set?")
         (propax))))
      ("2"
       (expand "mu_fin?")
       (hide 2)
       (skosimp)
       (lemma "m_monotone" ("a" "G(n!1)" "b" "E!1(0)"))
       (split -1)
       (("1" (expand "x_le") (assert))
        ("2"
         (expand "subset?")
         (expand "G")
         (expand "difference")
         (expand "member")
         (skosimp))))))
    ("2"
     (hide-all-but (-2 1))
     (expand "decreasing?")
     (expand "increasing?")
     (skosimp)
     (inst - "x!1" "y!1")
     (assert)
     (expand "subset?")
     (expand "G")
     (expand "difference")
     (skosimp*)
     (expand "member")
     (flatten)
     (assert)
     (inst - "x!2")
     (assert))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "a!1")
   (typepred "b!1")
   (expand "measurable_set?")
   (lemma "sigma_algebra_union" ("x" "a!1" "y" "b!1"))
   (("1" (assert)) ("2" (propax)) ("3" (propax))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "sigma_algebra_union" ("x" "a!1" "y" "b!1"))
   (("1" (assert))
    ("2" (assert) (typepred "b!1") (expand "measurable_set?") (propax))
    ("3" (typepred "a!1") (expand "measurable_set?") (propax))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "measurable_IIntersection" ("SS" "E!1"))
   (expand "measurable_set?")
   (propax))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "negligible_set?")
   (skosimp*)
   (split)
   (("1"
     (skosimp*)
     (expand "null_set?")
     (flatten)
     (assert)
     (lemma "m_monotone" ("a" "X!1" "b" "X!2"))
     (assert)
     (assert)
     (expand "x_le")
     (expand "mu_fin?")
     (expand "mu")
     (replace -3)
     (replace -4)
     (flatten)
     (assert))
    ("2"
     (skosimp*)
     (expand "null_set?")
     (flatten)
     (assert)
     (inst + "X!1")
     (assert)
     (hide-all-but 1)
     (grind))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "Union_IUnion" ("XS" "Z!1"))
   (assert)
   (skosimp)
   (replace -1)
   (rewrite "null_IUnion")
   (hide -1 -4 2)
   (skolem + ("n!1"))
   (inst - "n!1")
   (split -1)
   (("1"
     (rewrite "emptyset_is_empty?")
     (replace -1)
     (rewrite "null_emptyset"))
    ("2" (expand "every") (inst - "YS!1(n!1)"))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "Union_IUnion" ("XS" "Z!1"))
   (assert)
   (skosimp)
   (replace -1)
   (rewrite "negligible_IUnion")
   (hide -1 -4 2)
   (skolem + ("n!1"))
   (inst - "n!1")
   (split -1)
   (("1"
     (rewrite "emptyset_is_empty?")
     (replace -1)
     (hide -1 -2)
     (expand "negligible_set?")
     (inst + "emptyset[T]")
     (grind))
    ("2" (expand "every") (inst - "YS!1(n!1)"))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "E!1")
   (expand "negligible_set?")
   (skosimp)
   (inst + "X!2")
   (assert)
   (hide -1)
   (expand "subset?")
   (skosimp)
   (inst - "x!1")
   (inst - "x!1")
   (assert))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "equivalence?")
   (split)
   (("1"
     (expand "reflexive?")
     (expand "ae_eq?")
     (expand "restrict")
     (expand "pointwise_ae?")
     (expand "ae?")
     (expand "fullset")
     (expand "ae_in?")
     (expand "member")
     (propax))
    ("2"
     (expand "symmetric?")
     (expand "ae_eq?")
     (expand "restrict")
     (expand "pointwise_ae?")
     (expand "ae?")
     (expand "fullset")
     (expand "ae_in?")
     (skosimp*)
     (inst + "E!1")
     (skosimp)
     (inst - "x!2")
     (grind))
    ("3"
     (expand "transitive?")
     (expand "ae_eq?")
     (expand "restrict")
     (expand "pointwise_ae?")
     (expand "ae?")
     (expand "fullset")
     (expand "ae_in?")
     (skosimp*)
     (inst + "union(E!1,E!2)")
     (skosimp)
     (inst - "x!2")
     (inst - "x!2")
     (grind))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "reflexive?")
   (expand "ae_le?")
   (expand "pointwise_ae?")
   (expand "ae?")
   (expand "fullset")
   (expand "ae_in?")
   (expand "member")
   (propax))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "ae_le?")
   (expand "ae_eq?")
   (expand "pointwise_ae?")
   (expand "restrict")
   (expand "ae?")
   (expand "fullset")
   (expand "ae_in?")
   (skosimp*)
   (inst + "union(E!1,E!2)")
   (skosimp)
   (inst - "x!1")
   (inst - "x!1")
   (grind))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "transitive?")
   (expand "ae_le?")
   (expand "pointwise_ae?")
   (expand "ae?")
   (expand "fullset")
   (expand "ae_in?")
   (skosimp*)
   (inst + "union(E!1,E!2)")
   (skosimp)
   (inst - "x!2")
   (inst - "x!2")
   (grind))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "ae_cauchy?")
   (expand "ae_convergence?")
   (expand "fullset")
   (expand "ae_convergence_in?")
   (expand "ae_cauchy_in?")
   (expand "ae_in?")
   (skosimp)
   (inst + "E!1")
   (skosimp)
   (inst - "x!1")
   (assert)
   (hide 1)
   (rewrite "metric_convergence_def" *)
   (expand "cauchy?")
   (skosimp)
   (expand "metric_converges_to")
   (expand "ball")
   (expand "member")
   (inst - "r!1/2")
   (skosimp)
   (inst + "n!1")
   (skosimp)
   (inst-cp - "i!1")
   (inst - "j!1")
   (assert)
   (grind))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1"
     (flatten)
     (expand "ae_convergence?")
     (expand "ae_eq?")
     (expand "restrict")
     (expand "pointwise_ae?")
     (expand "ae?")
     (expand "fullset")
     (expand "ae_convergence_in?")
     (expand "ae_in?")
     (skosimp*)
     (inst + "union(E!1,E!2)")
     (skosimp)
     (inst - "x!1")
     (inst - "x!1")
     (expand "union")
     (expand "member")
     (flatten)
     (assert)
     (lemma "hausdorff_convergence.unique_limit"
      ("u" "LAMBDA n: F!1(n)(x!1)" "l1" "f!1(x!1)" "l2" "g!1(x!1)"))
     (assert))
    ("2"
     (flatten)
     (expand "ae_eq?")
     (expand "restrict")
     (expand "ae_convergence?")
     (expand "ae_convergence_in?")
     (expand "pointwise_ae?")
     (expand "ae?")
     (expand "fullset")
     (expand "ae_in?")
     (skosimp*)
     (inst + "union(E!1,E!2)")
     (skosimp)
     (inst - "x!1")
     (inst - "x!1")
     (expand "union")
     (expand "member")
     (flatten)
     (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "ae_convergence?")
   (case "exists NS: forall n,x: (NOT NS(n)(x)) => F!1(n)(x)=G!1(n)(x)")
   (("1"
     (hide -3)
     (expand "fullset")
     (expand "ae_convergence_in?")
     (expand "ae_in?")
     (skosimp*)
     (typepred "E!1")
     (expand "negligible_set?")
     (skosimp)
     (inst + "union(X!1,IUnion(NS!1))")
     (("1"
       (skosimp)
       (expand "union")
       (expand "member")
       (flatten)
       (inst - "x!1")
       (expand "subset?")
       (inst - "x!1")
       (expand "member")
       (assert)
       (rewrite "metric_convergence_def" *)
       (rewrite "metric_convergence_def" *)
       (expand "metric_converges_to")
       (expand "ball")
       (expand "member")
       (skosimp)
       (inst -3 "r!1")
       (skosimp)
       (inst + "n!1")
       (skosimp)
       (inst -3 "i!1")
       (assert)
       (inst - "i!1" "x!1")
       (expand "IUnion")
       (inst + "i!1")
       (assert))
      ("2"
       (assert)
       (rewrite "negligible_union")
       (rewrite "null_is_negligible"))))
    ("2"
     (hide -1 2)
     (case "FORALL n: EXISTS N: forall x: (NOT N(x)) => F!1(n)(x) = G!1(n)(x)")
     (("1"
       (hide -2)
       (inst +
        "lambda n: choose({N | FORALL x: (NOT N(x)) => F!1(n)(x) = G!1(n)(x)})")
       (("1"
         (skosimp)
         (lemma "choose_member"
          ("a"
           "{N | FORALL x: (NOT N(x)) => F!1(n!1)(x) = G!1(n!1)(x)}"))
         (split -1)
         (("1" (expand "member") (inst - "x!1") (replace 1 -1) (propax))
          ("2"
           (hide 1)
           (inst - "n!1")
           (skosimp)
           (expand "empty?")
           (expand "member")
           (inst - "N!1"))))
        ("2"
         (skosimp)
         (inst - "n!1")
         (skosimp)
         (expand "nonempty?")
         (expand "empty?")
         (expand "member")
         (inst - "N!1"))))
      ("2"
       (hide 2)
       (skosimp)
       (inst - "n!1")
       (expand "ae_eq?")
       (expand "restrict")
       (expand "pointwise_ae?")
       (expand "ae?")
       (expand "fullset")
       (expand "ae_in?")
       (skosimp)
       (typepred "E!1")
       (expand "negligible_set?")
       (skosimp)
       (inst + "X!1")
       (skosimp)
       (inst - "x!1")
       (expand "subset?")
       (inst - "x!1")
       (assert))))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "null_set?")
   (typepred "m")
   (expand "measure?")
   (flatten)
   (expand "mu_fin?")
   (expand "mu")
   (assert)
   (expand "measure_empty?")
   (replace -1)
   (assert)
   (typepred "S")
   (expand "sigma_algebra?")
   (expand "subset_algebra_empty?")
   (flatten)
   (expand "measurable_set?")
   (propax))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "null_set?")
   (typepred "m")
   (typepred "S")
   (expand "measure?")
   (expand "sigma_algebra?")
   (flatten)
   (expand "subset_algebra_empty?")
   (expand "measure_empty?")
   (expand "mu_fin?")
   (expand "mu")
   (replace -4)
   (expand "measurable_set?")
   (propax))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "N2!1")
   (typepred "N1!1")
   (expand "null_set?")
   (flatten)
   (lemma "m_union" ("a" "N1!1" "b" "N2!1"))
   (expand "x_add")
   (expand "x_le")
   (expand "mu_fin?")
   (expand "mu")
   (assert)
   (flatten)
   (assert))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "N2!1")
   (typepred "N1!1")
   (expand "null_set?")
   (flatten)
   (expand "mu")
   (expand "mu_fin?")
   (lemma "m_monotone" ("a" "intersection[T](N1!1, N2!1)" "b" "N1!1"))
   (split)
   (("1" (expand "x_le") (assert) (flatten) (assert))
    ("2" (hide-all-but 1) (grind))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "m_monotone" ("a" "difference[T](N1!1, N2!1)" "b" "N1!1"))
   (typepred "N1!1")
   (typepred "N2!1")
   (split)
   (("1"
     (expand "null_set?")
     (expand "x_le")
     (flatten)
     (assert)
     (expand "mu_fin?")
     (expand "mu")
     (assert)
     (flatten)
     (assert))
    ("2" (hide-all-but 1) (grind))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "m")
   (lemma "disjoint_IUnion[T]" ("A" "NS!1"))
   (skosimp)
   (replace -5)
   (case "forall (n:nat): null_set?(B!1(n))")
   (("1"
     (hide -3 -4 -5 -6)
     (expand "measure?")
     (flatten)
     (expand "measure_countably_additive?")
     (expand "null_set?")
     (expand "mu_fin?")
     (expand "mu")
     (assert)
     (rewrite "measurable_IUnion")
     (("1"
       (inst -4 "B!1")
       (("1"
         (expand "x_eq")
         (flatten)
         (assert)
         (expand "o ")
         (expand "x_sum")
         (case-replace "FORALL (i:nat): m(B!1(i))`1")
         (("1"
           (case-replace
            "series(LAMBDA i: m(B!1(i))`2)=lambda (n:nat): 0")
           (("1"
             (hide -1 -2 -3 -4 -5)
             (case-replace
              "convergence_sequences.convergent?(LAMBDA (n: nat): 0)")
             (("1"
               (assert)
               (lemma "convergence_sequences.limit_lemma"
                ("v" "LAMBDA (n: nat): 0"))
               (replace -4)
               (hide-all-but (-1 1))
               (expand "convergence")
               (typepred "m(IUnion(B!1))`2")
               (name-replace "BB" "m(IUnion(B!1))`2")
               (expand ">=" -1)
               (expand "<=" -1)
               (split)
               (("1"
                 (inst - "BB")
                 (("1" (skosimp) (inst - "n!1") (assert) (grind))
                  ("2" (assert))))
                ("2" (assert))))
              ("2"
               (hide-all-but 1)
               (expand "convergent?")
               (inst + "0")
               (expand "convergence")
               (skosimp)
               (inst + "0")
               (skosimp)
               (grind))))
            ("2"
             (hide-all-but (-1 -2 1))
             (apply-extensionality :hide? t)
             (("1"
               (expand "series")
               (case-replace
                "(LAMBDA (i:nat): m(B!1(i))`2) = lambda (i:nat): 0")
               (("1" (rewrite "sigma_zero[nat]"))
                ("2"
                 (apply-extensionality :hide? t)
                 (("1" (inst -2 "x!2") (flatten))
                  ("2"
                   (skosimp)
                   (inst -2 "i!1")
                   (flatten)
                   (expand "measurable_set?")
                   (propax))))
                ("3"
                 (skosimp)
                 (inst -2 "i!1")
                 (flatten)
                 (expand "measurable_set?")
                 (propax))))
              ("2"
               (skosimp)
               (inst -2 "i!1")
               (expand "measurable_set?")
               (flatten))))
            ("3"
             (skosimp)
             (inst -2 "i!1")
             (flatten)
             (expand "measurable_set?")
             (propax))))
          ("2" (replace 1) (assert) (skosimp) (inst - "i!1") (flatten))
          ("3"
           (skosimp)
           (inst - "i!1")
           (flatten)
           (expand "measurable_set?")
           (propax))))
        ("2"
         (expand "disjoint_indexed_measurable?")
         (skolem + "n!1")
         (inst - "n!1")
         (flatten)
         (assert)
         (expand "measurable_set?")
         (propax))))
      ("2" (skolem + "n!1") (inst - "n!1") (flatten))))
    ("2"
     (hide 2 -5)
     (induct "n")
     (("1" (replace -3) (assert))
      ("2"
       (skosimp)
       (inst -5 "j!1")
       (inst -3 "j!1")
       (replace -3 * rl)
       (lemma "null_difference"
        ("N1" "NS!1(j!1+1)" "N2" "IUnion(j!1, B!1)"))
       (("1" (replace -6 -1 rl) (propax))
        ("2"
         (replace -3)
         (hide-all-but 1)
         (case "forall (n:nat): null_set?(IUnion(n, NS!1))")
         (("1" (inst - "j!1"))
          ("2"
           (hide 2)
           (induct "n")
           (("1" (rewrite "IUnion_0_def") (assert))
            ("2"
             (skosimp)
             (rewrite "IUnion_n_def" 1)
             (rewrite "null_union"))))))))))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "E2!1")
   (typepred "E1!1")
   (expand "negligible_set?")
   (skosimp*)
   (inst + "union(X!1,X!2)")
   (rewrite "null_union")
   (hide -1 -3)
   (expand "subset?")
   (skosimp)
   (inst - "x!1")
   (inst - "x!1")
   (grind))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "E2!1")
   (typepred "E1!1")
   (expand "negligible_set?")
   (skosimp*)
   (inst + "X!1")
   (assert)
   (hide -1 -3)
   (expand "subset?")
   (skosimp)
   (inst - "x!1")
   (inst - "x!1")
   (grind))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_theory
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (case "forall (n:nat): exists N: subset?(ES!1(n),N)")
   (("1"
     (expand "negligible_set?")
     (name "NNS"
           "lambda (n:nat): choose[null_set]({ N | subset?(ES!1(n),N)})")
     (("1"
       (lemma "null_IUnion" ("NS" "NNS"))
       (inst + "IUnion(NNS)")
       (assert)
       (hide -2)
       (expand "subset?" 1)
       (skosimp)
       (expand "member")
       (expand "IUnion")
       (hide -1)
       (skosimp)
       (inst + "i!1")
       (expand "NNS")
       (lemma "choose_member[null_set]"
        ("a" "{N | subset?(ES!1(i!1), N)}"))
       (split)
       (("1"
         (expand "member")
         (expand "subset?" -1 1)
         (expand "member")
         (inst - "x!1")
         (assert))
        ("2"
         (hide 1)
         (expand "empty?")
         (inst -2 "i!1")
         (skosimp)
         (inst - "N!1")
         (assert))))
      ("2"
       (skosimp)
       (inst - "n!1")
       (skosimp)
       (expand "nonempty?")
       (expand "empty?")
       (inst - "N!1")
       (assert))))
    ("2"
     (hide 2)
     (skosimp)
     (typepred "ES!1(n!1)")
     (expand "negligible_set?")
     (skosimp)
     (inst + "X!1"))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "pointwise_bounded?")
   (expand "pointwise_bounded_above?")
   (expand "pointwise_bounded_below?")
   (expand "pointwise?")
   (split)
   (("1"
     (flatten)
     (split)
     (("1"
       (skosimp)
       (inst - "x!1")
       (rewrite "bounded_seq_def")
       (flatten))
      ("2"
       (skosimp)
       (inst - "x!1")
       (rewrite "bounded_seq_def")
       (flatten))))
    ("2"
     (skosimp*)
     (inst - "x!1")
     (inst - "x!1")
     (rewrite "bounded_seq_def")
     (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "pointwise_convergence?")
   (skosimp)
   (inst - "x!1")
   (inst - "x!1")
   (rewrite "metric_convergence_def" *)
   (rewrite "metric_convergence_def" *)
   (rewrite "metric_convergence_def" *)
   (expand "metric_converges_to")
   (skosimp)
   (inst - "r!1/2")
   (inst - "r!1/2")
   (skosimp*)
   (inst + "max(n!1,n!2)")
   (skosimp)
   (inst - "i!1")
   (inst - "i!1")
   (assert)
   (expand "ball")
   (hide -3)
   (grind))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "pointwise_convergence?")
   (skosimp)
   (inst - "x!1")
   (rewrite "metric_convergence_def" *)
   (rewrite "metric_convergence_def" *)
   (expand "metric_converges_to")
   (skosimp)
   (expand "ball")
   (expand "member")
   (case-replace "c!1=0")
   (("1" (expand "*") (expand "*") (expand "abs") (propax))
    ("2"
     (inst - "r!1/abs(c!1)")
     (("1"
       (skosimp)
       (inst + "n!1")
       (skosimp)
       (inst - "i!1")
       (assert)
       (expand "*")
       (expand "*")
       (rewrite "div_mult_pos_lt2" -1)
       (rewrite "abs_mult" -1 :dir rl)
       (assert))
      ("2"
       (assert)
       (lemma "posreal_div_posreal_is_posreal"
        ("px" "r!1" "py" "abs(c!1)"))
       (assert))
      ("3" (assert))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "pointwise_convergence_scal" ("u" "u!1" "f" "f!1" "c" "-1"))
   (assert)
   (expand "*")
   (expand "-")
   (expand "-" 1)
   (expand "*" -1)
   (assert))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "pointwise_convergence_opp" ("u" "v!1" "f" "f1!1"))
   (assert)
   (lemma "pointwise_convergence_sum"
    ("u" "u!1" "f0" "f0!1" "v" "-v!1" "f1" "-f1!1"))
   (assert)
   (expand "+")
   (expand "-")
   (expand "-")
   (expand "+")
   (assert))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1"
     (flatten)
     (case-replace "pointwise_convergence?(plus(u!1), plus(f!1))")
     (("1"
       (lemma "pointwise_convergence_diff"
        ("u" "plus(u!1)" "f0" "plus(f!1)" "v" "u!1" "f1" "f!1"))
       (assert)
       (hide -2 -3)
       (case-replace " plus(f!1) - f!1=minus(f!1)")
       (("1"
         (case-replace "plus(u!1) - u!1=minus(u!1)")
         (hide-all-but 1)
         (apply-extensionality :hide? t)
         (expand "-")
         (expand "plus")
         (expand "minus")
         (apply-extensionality :hide? t)
         (grind))
        ("2" (hide-all-but 1) (apply-extensionality :hide? t) (grind))))
      ("2"
       (hide 2)
       (expand "pointwise_convergence?")
       (skosimp)
       (inst - "x!1")
       (expand "plus")
       (expand "plus")
       (rewrite "metric_convergence_def" *)
       (rewrite "metric_convergence_def" *)
       (expand "metric_converges_to")
       (skosimp)
       (expand "ball")
       (expand "member")
       (lemma "trichotomy" ("x" "f!1(x!1)"))
       (split -1)
       (("1"
         (case-replace "max(f!1(x!1), 0)=f!1(x!1)")
         (("1"
           (hide -1)
           (inst - "min(r!1,abs(f!1(x!1)))")
           (("1"
             (skosimp)
             (inst + "n!1")
             (skosimp)
             (inst - "i!1")
             (assert)
             (expand "max")
             (case-replace "u!1(i!1)(x!1) < 0")
             (("1" (grind)) ("2" (assert))))
            ("2" (hide 2) (grind))))
          ("2" (hide-all-but (-1 1)) (grind))))
        ("2"
         (replace -1)
         (expand "max" 1 1)
         (assert)
         (inst - "r!1")
         (skosimp)
         (inst + "n!1")
         (skosimp)
         (inst - "i!1")
         (assert)
         (rewrite "abs_mult" -3)
         (rewrite "abs_mult" 1)
         (grind))
        ("3"
         (case-replace "max(f!1(x!1), 0)=0")
         (("1"
           (hide -1)
           (inst - "min(r!1, abs(f!1(x!1)))")
           (("1"
             (skosimp)
             (inst + "n!1")
             (skosimp)
             (inst - "i!1")
             (assert)
             (grind))
            ("2" (hide 2) (grind))))
          ("2" (hide-all-but (-1 1)) (grind))))))))
    ("2"
     (flatten)
     (lemma "pointwise_convergence_diff"
      ("u"
       "plus(u!1)"
       "f0"
       "plus(f!1)"
       "v"
       "minus(u!1)"
       "f1"
       "minus(f!1)"))
     (assert)
     (hide -2 -3)
     (lemma "plus_minus_def" ("f" "f!1"))
     (replace -1 -2 rl)
     (hide -1)
     (case-replace "plus(u!1) - minus(u!1)=u!1")
     (hide-all-but 1)
     (apply-extensionality :hide? t)
     (expand "-")
     (expand "plus")
     (expand "minus")
     (lemma "plus_minus_def" ("f" "u!1(x!1)"))
     (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (apply-extensionality :hide? t)
   (apply-extensionality :hide? t)
   (expand "inf")
   (expand "-")
   (expand "-")
   (expand "sup")
   (typepred
    "sup(image[nat, real](LAMBDA m: a!1(m)(x!2), {m | m >= x!1}))")
   (name-replace "SUP"
    "sup(image[nat, real](LAMBDA m: a!1(m)(x!2), {m | m >= x!1}))")
   (typepred
    "inf(image[nat, real]
                    (LAMBDA (m_1: nat): -a!1(m_1)(x!2),
                     {m_1: nat | m_1 >= x!1}))")
   (name-replace "INF"
    "inf(image[nat, real]
                    (LAMBDA (m_1: nat): -a!1(m_1)(x!2),
                     {m_1: nat | m_1 >= x!1}))")
   (expand "image")
   (expand "greatest_lower_bound")
   (expand "least_upper_bound")
   (expand "upper_bound")
   (expand "lower_bound")
   (flatten)
   (inst -4 "-INF")
   (split -4)
   (("1"
     (inst -3 "-SUP")
     (split -3)
     (("1" (assert)) ("2" (assert))
      ("3"
       (skosimp)
       (typepred "z!1")
       (skosimp)
       (inst -4 "-z!1")
       (("1" (assert)) ("2" (inst + "x!3") (assert))))))
    ("2" (propax))
    ("3"
     (skosimp)
     (typepred "z!1")
     (skosimp)
     (inst -2 "-z!1")
     (("1"
       (lemma "both_sides_times_neg_le1" ("nz" "-1"))
       (inst - "-z!1" "INF")
       (assert))
      ("2" (inst + "x!3") (assert))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (apply-extensionality :hide? t)
   (expand "liminf")
   (expand "limsup")
   (expand "-")
   (expand "-")
   (typepred
    "inf(image[nat, real](LAMBDA m: sup(b!1)(m)(x!1), fullset[nat]))")
   (name-replace "INF"
    "inf(image[nat, real]
                                       (LAMBDA m: sup(b!1)(m)(x!1),
                                        fullset[nat]))")
   (typepred
    "sup(image[nat, real]
                    (LAMBDA (m_1: nat):
                       inf(LAMBDA n: LAMBDA (x: T): -b!1(n)(x))(m_1)(x!1),
                     fullset[nat]))")
   (("1"
     (name-replace "SUP"
      "sup(image[nat, real]
                      (LAMBDA (m_1: nat):
                         inf(LAMBDA n: LAMBDA (x: T): -b!1(n)(x))(m_1)(x!1),
                       fullset[nat]))")
     (expand "fullset")
     (expand "image")
     (expand "least_upper_bound")
     (expand "greatest_lower_bound")
     (expand "lower_bound")
     (expand "upper_bound")
     (flatten)
     (inst -2 "-INF")
     (inst -4 "-SUP")
     (split -4)
     (("1"
       (split -3)
       (("1" (assert)) ("2" (assert))
        ("3"
         (assert)
         (skosimp)
         (typepred "z!1")
         (skosimp)
         (inst -4 "-z!1")
         (("1" (assert))
          ("2"
           (assert)
           (rewrite "sup_inf_def" 1)
           (expand "-")
           (expand "-")
           (inst + "x!2")
           (assert))))))
      ("2" (propax))
      ("3"
       (skosimp)
       (typepred "z!1")
       (skosimp)
       (inst -2 "-z!1")
       (("1" (assert))
        ("2"
         (inst + "x!2")
         (replace -1)
         (rewrite "sup_inf_def" 1)
         (expand "-")
         (expand "-")
         (assert))))))
    ("2"
     (typepred "b!1")
     (rewrite "pointwise_bounded_def")
     (flatten)
     (hide-all-but (-1 1))
     (expand "pointwise_bounded_above?")
     (expand "pointwise_bounded_below?")
     (expand "pointwise?")
     (skosimp)
     (inst - "x!2")
     (expand "bounded_below?")
     (expand "bounded_above?")
     (skosimp)
     (inst + "-a!1")
     (skosimp)
     (inst - "x!3")
     (grind))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "pointwise_increasing?")
   (skosimp)
   (expand "increasing?")
   (skosimp)
   (expand "inf" 1 2)
   (typepred
    "inf(image[nat, real](LAMBDA m: p!1(m)(x!1), {m | m >= y!1}))")
   (name-replace "INF"
    "inf(image[nat, real]
                                       (LAMBDA m: p!1(m)(x!1),
                                        {m | m >= y!1}))")
   (expand "greatest_lower_bound")
   (flatten)
   (expand "image")
   (expand "lower_bound")
   (inst -2 "inf(p!1)(x!2)(x!1)")
   (split -2)
   (("1" (propax)) ("2" (assert))
    ("3"
     (skosimp)
     (typepred "z!1")
     (skosimp)
     (typepred "x!3")
     (hide -3 2)
     (expand "inf")
     (typepred
      "inf(image[nat, real](LAMBDA m: p!1(m)(x!1), {m | m >= x!2}))")
     (name-replace "LHS"
      "inf(image[nat, real](LAMBDA m: p!1(m)(x!1), {m | m >= x!2}))")
     (expand "image")
     (expand "greatest_lower_bound")
     (flatten)
     (expand "lower_bound")
     (inst - "z!1")
     (inst + "x!3")
     (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "inf")
   (typepred
    "inf(image[nat, real](LAMBDA m: p!1(m)(x!1), {m | m >= n!1}))")
   (name-replace "INF"
    "inf(image[nat, real](LAMBDA m: p!1(m)(x!1), {m | m >= n!1}))")
   (expand "image")
   (expand "greatest_lower_bound")
   (flatten)
   (expand "lower_bound")
   (inst - "p!1(n!1)(x!1)")
   (inst + "n!1"))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "pointwise_convergence?")
   (inst - "x!1")
   (lemma "inf_pointwise_increasing" ("p" "p!1"))
   (expand "pointwise_increasing?")
   (inst - "x!1")
   (rewrite "metric_convergence_def" *)
   (case "inf(p!1)(n!1)(x!1)>f!1(x!1)")
   (("1"
     (hide 1)
     (expand "metric_converges_to")
     (expand "ball")
     (expand "member")
     (inst - "inf(p!1)(n!1)(x!1)-f!1(x!1)")
     (("1"
       (skosimp)
       (inst - "max(n!1,n!2)")
       (assert)
       (assert)
       (expand "increasing?")
       (inst - "n!1" "max(n!1,n!2)")
       (assert)
       (name-replace "INF1" "inf(p!1)(n!1)(x!1)")
       (lemma "inf_le" ("p" "p!1" "n" "max(n!1, n!2)" "x" "x!1"))
       (name-replace "INF2" "inf(p!1)(max(n!1, n!2))(x!1)")
       (grind))
      ("2" (assert))))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "pointwise_convergence?")
   (skosimp)
   (lemma "inf_pointwise_increasing" ("p" "b!1"))
   (expand "pointwise_increasing?")
   (inst - "x!1")
   (rewrite "metric_convergence_def" *)
   (expand "metric_converges_to")
   (skosimp)
   (expand "ball")
   (expand "member")
   (expand "limsup")
   (typepred
    "sup(image[nat, real]
                           (LAMBDA m: inf(b!1)(m)(x!1), fullset[nat]))")
   (("1"
     (name-replace "LIMSUP"
      "sup(image[nat, real]
                             (LAMBDA m: inf(b!1)(m)(x!1), fullset[nat]))")
     (expand "least_upper_bound")
     (flatten)
     (expand "upper_bound")
     (case "EXISTS (n_1: nat):
                   FORALL (i:nat): i >= n_1 IMPLIES LIMSUP - inf(b!1)(i)(x!1) < r!1")
     (("1"
       (skosimp)
       (inst + "n!1")
       (skosimp)
       (inst - "i!1")
       (inst - "inf(b!1)(i!1)(x!1)")
       (("1" (expand "abs") (assert))
        ("2" (expand "fullset") (expand "image") (inst + "i!1"))))
      ("2"
       (hide 2)
       (inst -2 "LIMSUP-r!1")
       (assert)
       (skosimp)
       (typepred "z!1")
       (expand "fullset")
       (expand "image")
       (skolem - ("n!1"))
       (case "inf(b!1)(n!1)(x!1)>LIMSUP - r!1")
       (("1"
         (hide 2)
         (inst + "n!1")
         (skosimp)
         (expand "increasing?")
         (inst -5 "n!1" "i!1")
         (assert))
        ("2" (assert))))))
    ("2"
     (hide-all-but 1)
     (split)
     (("1"
       (expand "fullset")
       (expand "image")
       (expand "nonempty?")
       (expand "empty?")
       (expand "member")
       (inst - "inf(b!1)(0)(x!1)")
       (inst + "0"))
      ("2"
       (typepred "b!1")
       (lemma "pointwise_bounded_is_bounded_above" ("x" "b!1"))
       (hide -2)
       (expand "pointwise_bounded_above?")
       (expand "pointwise?")
       (inst - "x!1")
       (expand "bounded_above?")
       (expand "above_bounded")
       (expand "fullset")
       (expand "image")
       (expand "upper_bound")
       (skosimp)
       (inst + "a!1")
       (skosimp)
       (typepred "z!1")
       (skosimp)
       (inst - "x!2")
       (assert)
       (expand "inf")
       (typepred
        "inf(image[nat, real](LAMBDA (m:nat): b!1(m)(x!1), {m:nat | m >= x!2}))")
       (replace -2 * rl)
       (expand "greatest_lower_bound")
       (flatten)
       (expand "lower_bound")
       (hide -2 -3)
       (inst - "b!1(x!2)(x!1)")
       (("1" (assert)) ("2" (expand "image") (inst + "x!2"))))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "pointwise_convergent_is_pointwise_bounded" ("x" "p!1"))
   (("1"
     (expand "pointwise_converges_upto?")
     (lemma "inf_pointwise_increasing" ("p" "p!1"))
     (lemma "limsup_pointwise_convergence" ("b" "p!1"))
     (("1"
       (lemma "extensionality" ("f" "f!1" "g" "limsup(p!1)"))
       (split -1)
       (("1" (assert))
        ("2"
         (hide 2)
         (skosimp)
         (lemma "inf_pointwise_le" ("p" "p!1" "f" "f!1"))
         (assert)
         (expand "limsup")
         (typepred
          "sup(image[nat, real](LAMBDA m: inf(p!1)(m)(x!1), fullset[nat]))")
         (expand "pointwise_convergence?")
         (inst -3 "x!1")
         (inst -6 "x!1")
         (name-replace "LIMSUP"
          "sup(image[nat, real](LAMBDA m: inf(p!1)(m)(x!1), fullset[nat]))")
         (expand "least_upper_bound")
         (flatten)
         (expand "fullset")
         (expand "image")
         (expand "upper_bound")
         (lemma "trich_lt" ("x" "f!1(x!1)" "y" "LIMSUP"))
         (split -1)
         (("1"
           (inst -3 "f!1(x!1)")
           (assert)
           (hide 2)
           (skosimp)
           (typepred "z!1")
           (skosimp)
           (inst -4 "x!2" "x!1")
           (assert))
          ("2" (propax))
          ("3"
           (hide 1)
           (rewrite "metric_convergence_def" *)
           (rewrite "metric_convergence_def" *)
           (expand "metric_converges_to" -8)
           (inst -8 "(f!1(x!1)-LIMSUP)/2")
           (("1"
             (skosimp)
             (expand "ball")
             (expand "member")
             (case "forall (i:nat): i >= n!1=> p!1(i)(x!1)>LIMSUP+(f!1(x!1) - LIMSUP) / 2")
             (("1"
               (hide -9)
               (expand "pointwise_increasing?")
               (inst -7 "x!1")
               (expand "increasing?")
               (inst -7 "n!1" "_")
               (name "INF" "inf(p!1)(n!1)(x!1)")
               (replace -1)
               (expand "inf" -1)
               (typepred
                "inf(image[nat, real](LAMBDA m: p!1(m)(x!1), {m | m >= n!1}))")
               (replace -2)
               (expand "greatest_lower_bound")
               (expand "image" -1)
               (flatten)
               (expand "lower_bound")
               (inst -2 "LIMSUP + (f!1(x!1) - LIMSUP) / 2")
               (inst -6 "INF")
               (("1"
                 (split -2)
                 (("1" (assert)) ("2" (assert))
                  ("3"
                   (skosimp)
                   (typepred "z!1")
                   (skosimp)
                   (typepred "x!2")
                   (inst -5 "x!2")
                   (assert))))
                ("2" (expand "INF") (inst + "n!1"))))
              ("2"
               (skosimp)
               (inst -9 "i!1")
               (assert)
               (hide-all-but (-9 1))
               (ground))))
            ("2" (assert))))))))
      ("2" (propax))))
    ("2" (expand "pointwise_convergent?") (inst + "f!1"))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (rewrite "plus_minus_pointwise_convergence")
   (flatten)
   (lemma "inf_pointwise_convergence_upto"
    ("p" "plus(u!1)" "f" "plus(f!1)"))
   (("1"
     (lemma "inf_pointwise_convergence_upto"
      ("p" "minus(u!1)" "f" "minus(f!1)"))
     (("1" (assert))
      ("2"
       (hide-all-but 1)
       (expand "pointwise_bounded_below?")
       (expand "pointwise?")
       (skosimp)
       (expand "bounded_below?")
       (expand "bounded_below?")
       (inst + "0")
       (grind))))
    ("2"
     (hide-all-but 1)
     (expand "pointwise_bounded_below?")
     (expand "pointwise?")
     (skosimp)
     (expand "bounded_below?")
     (expand "bounded_below?")
     (inst + "0")
     (grind))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "zero_seq")
   (expand "pointwise_bounded_above?")
   (expand "bounded_above?")
   (expand "pointwise?")
   (expand "bounded_above?")
   (expand "fullset")
   (expand "image")
   (expand "upper_bound?")
   (skosimp*)
   (inst + "0")
   (grind))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "pointwise_bounded_below?")
   (expand "pointwise?")
   (expand "bounded_below?")
   (expand "bounded_below?")
   (skosimp)
   (inst + "0")
   (grind))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "pointwise_bounded?")
   (expand "pointwise?")
   (expand "bounded_seq?")
   (expand "bounded?")
   (skosimp)
   (inst + "0" "1")
   (grind))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "pointwise_convergent?")
   (inst + "lambda x: 0")
   (expand "pointwise_convergence?")
   (skosimp)
   (rewrite "metric_convergence_def" *)
   (expand "metric_converges_to")
   (skosimp)
   (inst + "0")
   (grind))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "w0!1")
   (typepred "w1!1")
   (expand "pointwise_convergent?")
   (skosimp*)
   (inst + "f!2+f!1")
   (lemma "pointwise_convergence_sum"
    ("u" "w0!1" "v" "w1!1" "f0" "f!2" "f1" "f!1"))
   (assert))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "w!1")
   (expand "pointwise_convergent?")
   (skosimp)
   (inst + "c!1*f!1")
   (lemma "pointwise_convergence_scal" ("u" "w!1" "f" "f!1" "c" "c!1"))
   (assert))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "w!1")
   (expand "pointwise_convergent?")
   (skosimp)
   (inst + "-f!1")
   (lemma "pointwise_convergence_opp" ("u" "w!1" "f" "f!1"))
   (assert))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "w0!1")
   (typepred "w1!1")
   (expand "pointwise_convergent?")
   (skosimp*)
   (inst + "f!2-f!1")
   (lemma "pointwise_convergence_diff"
    ("u" "w0!1" "v" "w1!1" "f0" "f!2" "f1" "f!1"))
   (assert))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem + ("u!1"))
   (expand "pointwise_bounded?")
   (expand "pointwise?")
   (skosimp)
   (rewrite "bounded_seq_def")
   (typepred "u!1")
   (expand "pointwise_convergent?")
   (skosimp)
   (expand "pointwise_convergence?")
   (inst - "x!1")
   (rewrite "metric_convergence_def" *)
   (expand "metric_converges_to")
   (expand "ball")
   (expand "member")
   (split)
   (("1"
     (inst - "1")
     (skosimp)
     (expand "bounded_above?")
     (case-replace "n!1=0")
     (("1" (inst + "f!1(x!1)+1") (skosimp) (inst - "x!2") (grind))
      ("2"
       (case "forall (i:posnat): nonempty?[real]
                       (image[nat, real](LAMBDA (n: nat): u!1(n)(x!1), {n | n < i}))
                    AND
                    above_bounded[real]
                        (image[nat, real](LAMBDA (n: nat): u!1(n)(x!1), {n | n < i}))")
       (("1"
         (inst - "n!1")
         (("1"
           (inst +
            "max(lub(image[nat, real](LAMBDA (n: nat): u!1(n)(x!1), {n | n < n!1})),f!1(x!1)+1)")
           (("1"
             (typepred
              "lub(image[nat, real]
                                             (LAMBDA (n: nat): u!1(n)(x!1),
                                              {n | n < n!1}))")
             (("1"
               (expand "least_upper_bound?")
               (flatten)
               (expand "upper_bound?")
               (skosimp)
               (case "x!2<n!1")
               (("1"
                 (inst - "u!1(x!2)(x!1)")
                 (("1"
                   (hide-all-but (-2 2))
                   (name-replace "LUB"
                    "lub(image[nat, real](LAMBDA (n: nat): u!1(n)(x!1), {n | n < n!1}))")
                   (grind))
                  ("2" (expand "image") (inst + "x!2"))))
                ("2"
                 (inst -5 "x!2")
                 (name-replace "LUB"
                  "lub(image[nat, real]
                                     (LAMBDA (n: nat): u!1(n)(x!1), {n | n < n!1}))")
                 (hide-all-but (-5 3 1))
                 (grind))))
              ("2"
               (flatten)
               (replace -1)
               (expand "bounded_above?")
               (expand "above_bounded")
               (skosimp)
               (inst + "n!2")
               (expand "upper_bound?")
               (expand "upper_bound")
               (propax))))
            ("2"
             (assert)
             (flatten)
             (assert)
             (expand "above_bounded")
             (expand "bounded_above?")
             (skosimp)
             (inst + "n!2")
             (expand "upper_bound?")
             (expand "upper_bound")
             (propax))))
          ("2" (assert))))
        ("2"
         (hide-all-but 1)
         (induct "i")
         (("1" (assert)) ("2" (assert)) ("3" (assert))
          ("4"
           (skosimp*)
           (case-replace "j!1=0")
           (("1"
             (hide-all-but 1)
             (split)
             (("1"
               (expand "image")
               (expand "nonempty?")
               (expand "empty?")
               (expand "member")
               (inst - "u!1(0)(x!1)")
               (inst + "0"))
              ("2"
               (expand "image")
               (expand "above_bounded")
               (expand "upper_bound")
               (inst + "u!1(0)(x!1)")
               (skosimp)
               (typepred "z!1")
               (skosimp)
               (assert))))
            ("2"
             (assert)
             (flatten)
             (case-replace "j!1>0")
             (("1"
               (hide -4 1)
               (split)
               (("1"
                 (expand "nonempty?")
                 (expand "empty?")
                 (expand "image")
                 (expand "member")
                 (inst -1 "u!1(0)(x!1)")
                 (inst + "0"))
                ("2"
                 (expand "above_bounded")
                 (skosimp)
                 (inst + "max(n!2,u!1(j!1)(x!1))")
                 (expand "image")
                 (expand "upper_bound")
                 (skosimp)
                 (typepred "z!1")
                 (skosimp)
                 (typepred "x!2")
                 (case-replace "x!2=j!1")
                 (("1" (hide-all-but (-3 1)) (grind))
                  ("2"
                   (inst - "z!1")
                   (("1" (hide -4) (grind))
                    ("2" (inst + "x!2") (assert))))))))
              ("2" (assert))))))))))))
    ("2"
     (inst - "1")
     (skosimp)
     (case-replace "n!1>0")
     (("1"
       (case "forall (i:posnat): nonempty?[real]
                       (image[nat, real](LAMBDA (n: nat): u!1(n)(x!1), {n | n < i}))
                    AND
                    below_bounded[real]
                        (image[nat, real](LAMBDA (n: nat): u!1(n)(x!1), {n | n < i}))")
       (("1"
         (inst - "n!1")
         (flatten)
         (expand "bounded_below?")
         (typepred
          "glb(image[nat, real]
                                         (LAMBDA (n: nat): u!1(n)(x!1),
                                          {n | n < n!1}))")
         (("1"
           (name-replace "GLB"
            "glb(image[nat, real]
                                                (LAMBDA (n: nat): u!1(n)(x!1),
                                                 {n | n < n!1}))")
           (inst + "min(GLB,f!1(x!1)-1)")
           (expand "greatest_lower_bound?")
           (expand "lower_bound?")
           (skosimp)
           (case "x!2<n!1")
           (("1"
             (inst - "u!1(x!2)(x!1)")
             (("1" (hide -3 -4 -5) (grind))
              ("2" (expand "image") (inst + "x!2"))))
            ("2" (inst -6 "x!2") (hide-all-but (-6 1 2)) (grind))))
          ("2"
           (hide-all-but (-1 -2 1))
           (assert)
           (expand "below_bounded")
           (expand "bounded_below?")
           (expand "lower_bound?")
           (expand "lower_bound")
           (propax))))
        ("2"
         (hide-all-but 1)
         (induct "i")
         (("1" (assert)) ("2" (assert)) ("3" (assert))
          ("4"
           (skosimp*)
           (case-replace "j!1=0")
           (("1"
             (expand "image")
             (expand "nonempty?")
             (expand "empty?")
             (expand "member")
             (expand "below_bounded")
             (hide-all-but 1)
             (split)
             (("1" (inst - "u!1(0)(x!1)") (inst + "0"))
              ("2"
               (inst + "u!1(0)(x!1)")
               (expand "lower_bound")
               (skosimp)
               (typepred "z!1")
               (skosimp)
               (assert))))
            ("2"
             (assert)
             (flatten)
             (case "j!1>0")
             (("1"
               (hide -4 1 -2)
               (split)
               (("1"
                 (expand "nonempty?")
                 (expand "empty?")
                 (inst - "u!1(0)(x!1)")
                 (expand "image")
                 (expand "member")
                 (inst + "0"))
                ("2"
                 (expand "image")
                 (expand "below_bounded")
                 (skosimp)
                 (inst + "min(n!2,u!1(j!1)(x!1))")
                 (expand "lower_bound")
                 (skosimp)
                 (typepred "z!1")
                 (skosimp)
                 (case-replace "x!2=j!1")
                 (("1" (hide -4) (grind))
                  ("2"
                   (inst - "z!1")
                   (("1" (grind)) ("2" (inst + "x!2") (assert))))))))
              ("2" (assert))))))))))
      ("2"
       (expand "bounded_below?")
       (inst + "f!1(x!1)-1")
       (skosimp)
       (assert)
       (inst - "x!2")
       (grind))))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1"
     (expand "image")
     (expand "nonempty?")
     (expand "empty?")
     (expand "member")
     (inst - "p!1(n!1)(x!1)")
     (inst + "n!1"))
    ("2"
     (typepred "p!1")
     (expand "pointwise_bounded_below?")
     (expand "pointwise?")
     (inst - "x!1")
     (expand "bounded_below?")
     (expand "below_bounded")
     (expand "lower_bound")
     (skosimp)
     (inst + "a!1")
     (skosimp)
     (typepred "z!1")
     (expand "image")
     (skosimp)
     (typepred "x!2")
     (inst - "x!2")
     (assert))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1"
     (expand "fullset")
     (expand "image")
     (expand "nonempty?")
     (expand "empty?")
     (expand "member")
     (inst - "inf(b!1)(0)(x!1)")
     (inst + "0"))
    ("2"
     (typepred "b!1")
     (lemma "pointwise_bounded_is_bounded_above" ("x" "b!1"))
     (hide -2)
     (expand "pointwise_bounded_above?")
     (expand "pointwise?")
     (inst - "x!1")
     (expand "bounded_above?")
     (expand "fullset")
     (expand "image")
     (expand "above_bounded")
     (skosimp)
     (expand "upper_bound")
     (inst + "a!1")
     (skosimp)
     (typepred "z!1")
     (skosimp)
     (expand "inf")
     (typepred
      "inf(image[nat, real](LAMBDA (m:nat): b!1(m)(x!1), {m:nat | m >= x!2}))")
     (replace -2 * rl)
     (expand "greatest_lower_bound")
     (flatten)
     (expand "lower_bound")
     (inst - "b!1(x!2)(x!1)")
     (("1" (inst -4 "x!2") (assert))
      ("2" (expand "image") (inst + "x!2"))))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1"
     (expand "image")
     (expand "nonempty?")
     (expand "empty?")
     (expand "member")
     (inst - "a!1(n!1)(x!1)")
     (inst + "n!1"))
    ("2"
     (typepred "a!1")
     (expand "pointwise_bounded_above?")
     (expand "pointwise?")
     (inst - "x!1")
     (expand "bounded_above?")
     (expand "image")
     (expand "above_bounded")
     (expand "upper_bound")
     (skosimp)
     (inst + "a!2")
     (skosimp)
     (typepred "z!1")
     (skosimp)
     (inst - "x!2")
     (assert))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1"
     (expand "fullset")
     (expand "image")
     (expand "nonempty?")
     (expand "empty?")
     (expand "member")
     (inst - "sup(b!1)(0)(x!1)")
     (inst + "0"))
    ("2"
     (typepred "b!1")
     (rewrite "pointwise_bounded_def")
     (flatten)
     (expand "pointwise_bounded_below?")
     (expand "pointwise?")
     (inst - "x!1")
     (hide -1)
     (expand "bounded_below?")
     (expand "fullset")
     (expand "image")
     (expand "below_bounded")
     (expand "lower_bound")
     (skosimp)
     (inst + "a!1")
     (skosimp)
     (typepred "z!1")
     (skosimp)
     (expand "sup")
     (typepred
      "sup(image[nat, real](LAMBDA (m:nat): b!1(m)(x!1), {m:nat | m >= x!2}))")
     (replace -2 * rl)
     (hide -2)
     (expand "least_upper_bound")
     (flatten)
     (expand "upper_bound")
     (inst - "b!1(x!2)(x!1)")
     (("1" (inst -3 "x!2") (assert))
      ("2" (expand "image") (inst + "x!2"))))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "a!1")
   (expand "pointwise_bounded_above?")
   (expand "pointwise_bounded_below?")
   (expand "pointwise?")
   (skosimp)
   (inst - "x!1")
   (expand "bounded_below?")
   (expand "bounded_above?")
   (skosimp)
   (assert)
   (expand "-")
   (expand "-")
   (inst + "-a!2")
   (skosimp)
   (inst - "x!2")
   (assert))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "b!1")
   (rewrite "pointwise_bounded_def")
   (rewrite "pointwise_bounded_def")
   (flatten)
   (expand "pointwise_bounded_above?")
   (expand "pointwise_bounded_below?")
   (expand "pointwise?")
   (split)
   (("1"
     (skosimp)
     (hide -1)
     (inst - "x!1")
     (expand "bounded_below?")
     (expand "bounded_above?")
     (skosimp)
     (assert)
     (inst + "-a!1")
     (skosimp)
     (inst - "x!2")
     (grind))
    ("2"
     (skosimp)
     (inst - "x!1")
     (hide -2)
     (expand "bounded_above?")
     (expand "bounded_below?")
     (skosimp)
     (assert)
     (inst + "-a!1")
     (skosimp)
     (inst - "x!2")
     (grind))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "pointwise_bounded_below?")
   (expand "pointwise?")
   (skosimp)
   (expand "bounded_below?")
   (inst + "0")
   (skosimp)
   (expand "plus")
   (expand "plus")
   (hide -1)
   (grind))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: pointwise_convergence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (hide -1 -2)
   (expand "pointwise_bounded_below?")
   (expand "pointwise?")
   (expand "bounded_below?")
   (skosimp)
   (inst + "0")
   (skosimp)
   (grind))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: sup_norm
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "extensionality_postulate"
    ("f" "f!1" "g" "const_fun[T, real](0)"))
   (replace -1 1 rl)
   (hide -1)
   (expand "const_fun")
   (expand "sup_norm")
   (case-replace "EXISTS x: TRUE")
   (("1"
     (typepred
      "sup(extend[real, nnreal, bool, FALSE]
                    ({c | EXISTS (x_1: T): abs(f!1(x_1)) = c}))")
     (name-replace "SUP"
      "sup(extend[real, nnreal, bool, FALSE]
                    ({c | EXISTS (x_1: T): abs(f!1(x_1)) = c}))")
     (expand "least_upper_bound")
     (flatten)
     (expand "extend")
     (expand "upper_bound")
     (split 1)
     (("1"
       (flatten)
       (replace -1)
       (skosimp)
       (typepred "abs(f!1(x!1))")
       (hide -2 -3)
       (inst -3 "abs(f!1(x!1))")
       (("1" (hide-all-but (-1 -3 1)) (grind))
        ("2" (assert) (inst + "x!1"))))
      ("2"
       (flatten)
       (skosimp)
       (inst-cp - "x!1")
       (inst -3 "0")
       (("1"
         (inst -4 "0")
         (split -4)
         (("1" (assert)) ("2" (propax))
          ("3"
           (skosimp)
           (typepred "z!1")
           (assert)
           (skosimp)
           (inst - "x!2")
           (replace -3)
           (expand "abs")
           (assert))))
        ("2" (inst + "x!1") (replace -2) (expand "abs") (propax))))))
    ("2" (replace 1 2) (assert) (skosimp) (inst + "x!1"))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: sup_norm
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "sup_norm")
   (case-replace "EXISTS x: TRUE")
   (("1"
     (typepred
      "sup(extend[real, nnreal, bool, FALSE]
                     ({c | EXISTS (x_1: T): abs(f!1(x_1)) = c}))")
     (name-replace "SUP"
      "sup(extend[real, nnreal, bool, FALSE]
                     ({c | EXISTS (x_1: T): abs(f!1(x_1)) = c}))")
     (typepred
      "sup(extend[real, nnreal, bool, FALSE]
                    ({c_1: nnreal | EXISTS (x_2: T): abs((-f!1)(x_2)) = c_1}))")
     (name-replace "SUPN"
      "sup(extend[real, nnreal, bool, FALSE]
                    ({c_1: nnreal | EXISTS (x_2: T): abs((-f!1)(x_2)) = c_1}))")
     (expand "extend")
     (expand "least_upper_bound")
     (flatten)
     (inst -2 "SUP")
     (split -2)
     (("1"
       (inst -4 "SUPN")
       (split -4)
       (("1" (assert)) ("2" (assert))
        ("3"
         (hide -1 2)
         (expand "upper_bound")
         (skosimp)
         (typepred "z!1")
         (assert)
         (skosimp)
         (inst -3 "z!1")
         (inst + "x!1")
         (hide-all-but (-1 1))
         (grind))))
      ("2" (propax))
      ("3"
       (expand "upper_bound")
       (skosimp)
       (typepred "z!1")
       (assert)
       (skosimp)
       (inst -4 "z!1")
       (inst + "x!1")
       (hide-all-but (-1 1))
       (grind))))
    ("2" (replace 1 2) (propax))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: sup_norm
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "sup_norm")
   (case-replace "EXISTS x: TRUE")
   (("1"
     (typepred
      "sup(extend[real, nnreal, bool, FALSE]
                      ({c | EXISTS (x_1: T): abs(f2!1(x_1)) = c}))")
     (name-replace "SUP2"
      "sup(extend[real, nnreal, bool, FALSE]
                      ({c | EXISTS (x_1: T): abs(f2!1(x_1)) = c}))")
     (typepred
      "sup(extend[real, nnreal, bool, FALSE]
                     ({c_1: nnreal | EXISTS (x_2: T): abs(f1!1(x_2)) = c_1}))")
     (name-replace "SUP1"
      "sup(extend[real, nnreal, bool, FALSE]
                     ({c_1: nnreal | EXISTS (x_2: T): abs(f1!1(x_2)) = c_1}))")
     (typepred
      "sup(extend[real, nnreal, bool, FALSE]
                    ({c_2: nnreal |
                        EXISTS (x_1: T): abs((f1!1 + f2!1)(x_1)) = c_2}))")
     (name-replace "SUP"
      "sup(extend[real, nnreal, bool, FALSE]
                    ({c_2: nnreal |
                        EXISTS (x_1: T): abs((f1!1 + f2!1)(x_1)) = c_2}))")
     (expand "extend")
     (expand "least_upper_bound")
     (flatten)
     (hide -4 -6)
     (inst -2 "SUP1 + SUP2")
     (split -2)
     (("1" (propax)) ("2" (assert))
      ("3"
       (hide 2)
       (expand "upper_bound")
       (skosimp)
       (typepred "z!1")
       (assert)
       (skosimp)
       (expand "+" -1)
       (hide -3)
       (inst - "abs(f1!1(x!1))")
       (("1"
         (inst - "abs(f2!1(x!1))")
         (("1" (grind))
          ("2" (typepred "abs(f2!1(x!1))") (assert) (inst + "x!1"))))
        ("2" (typepred "abs(f1!1(x!1))") (assert) (inst + "x!1"))))))
    ("2" (replace 1 2) (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: sup_norm
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "sup_norm(f!1)")
   (expand "sup_norm")
   (case-replace "EXISTS x: TRUE")
   (("1"
     (expand "extend")
     (skolem - ("XX"))
     (typepred
      "sup(LAMBDA (t: real):
                  IF t >= 0 THEN EXISTS (x_1: T): abs(f!1(x_1)) = t
                  ELSE FALSE
                  ENDIF)")
     (("1"
       (name-replace "SUP"
        "sup(LAMBDA (t: real):
                    IF t >= 0 THEN EXISTS (x_1: T): abs(f!1(x_1)) = t
                    ELSE FALSE
                    ENDIF)")
       (expand "least_upper_bound")
       (flatten)
       (expand "upper_bound")
       (split)
       (("1" (skosimp) (inst - "abs(f!1(x!1))") (assert) (inst + "x!1"))
        ("2"
         (skosimp)
         (inst -3 "c!1")
         (split -3)
         (("1" (propax)) ("2" (assert))
          ("3"
           (skosimp)
           (typepred "z!1")
           (assert)
           (skosimp)
           (inst - "x!1")
           (assert))))))
      ("2"
       (hide-all-but 1)
       (split)
       (("1"
         (expand "nonempty?")
         (expand "empty?")
         (inst - "abs(f!1(XX))")
         (expand "member")
         (assert)
         (typepred "abs(f!1(XX))")
         (assert)
         (inst + "XX"))
        ("2"
         (typepred "f!1")
         (expand "bounded?")
         (skosimp)
         (expand "above_bounded")
         (inst + "c!1")
         (expand "upper_bound")
         (skosimp)
         (typepred "z!1")
         (assert)
         (skosimp)
         (inst - "x!1")
         (assert))))))
    ("2"
     (replace 1)
     (split)
     (("1" (skosimp) (inst + "x!1")) ("2" (skosimp*) (assert))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: sup_norm
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "pointwise_convergence?")
   (skosimp)
   (expand "sup_norm_converges_to?")
   (rewrite "metric_convergence_def" *)
   (expand "metric_converges_to")
   (skosimp)
   (inst - "r!1")
   (skosimp)
   (inst + "n!1")
   (skosimp)
   (inst - "i!1")
   (assert)
   (expand "ball")
   (expand "sup_norm")
   (case-replace "EXISTS x: TRUE")
   (("1"
     (typepred
      "sup(extend[real, nnreal, bool, FALSE]
                    ({c | EXISTS (x_1: T): abs((u!1(i!1) - f!1)(x_1)) = c}))")
     (name-replace "SUP"
      "sup(extend[real, nnreal, bool, FALSE]
                    ({c | EXISTS (x_1: T): abs((u!1(i!1) - f!1)(x_1)) = c}))")
     (expand "extend")
     (expand "least_upper_bound")
     (flatten)
     (expand "upper_bound")
     (inst - "abs(f!1(x!1) - u!1(i!1)(x!1))")
     (("1" (assert))
      ("2"
       (typepred "abs(f!1(x!1) - u!1(i!1)(x!1))")
       (assert)
       (inst + "x!1")
       (expand "-")
       (hide-all-but 1)
       (grind))))
    ("2" (inst + "x!1"))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: sup_norm
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "f1!1")
   (typepred "f2!1")
   (expand "+")
   (expand "bounded?")
   (skosimp*)
   (inst + "c!1+c!2")
   (skosimp)
   (inst - "x!1")
   (inst - "x!1")
   (grind))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: sup_norm
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "*")
   (typepred "f!1")
   (expand "bounded?")
   (skosimp)
   (inst + " abs(y!1)*c!1")
   (skosimp)
   (inst - "x!1")
   (rewrite "abs_mult")
   (typepred "abs(y!1)")
   (hide -2 -3)
   (expand ">=")
   (expand "<=" -1)
   (split -1)
   (("1"
     (lemma "both_sides_times_pos_le1"
      ("pz" "abs(y!1)" "x" "abs(f!1(x!1))" "y" "c!1"))
     (("1" (assert)) ("2" (assert))))
    ("2" (replace -1 * rl) (assert))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: sup_norm
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "bounded_scal" ("y" "-1" "f" "f!1"))
   (expand "*")
   (expand "-")
   (assert))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: sup_norm
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "f2!1")
   (lemma "bounded_opp" ("f" "f2!1"))
   (lemma "bounded_add" ("f1" "f1!1" "f2" "-f2!1"))
   (expand "+")
   (expand "-")
   (assert))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: sup_norm
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (split)
   (("1"
     (expand "extend")
     (expand "nonempty?")
     (expand "empty?")
     (expand "member")
     (inst - "abs(f!1(x!1))")
     (assert)
     (prop)
     (("1" (inst + "x!1")) ("2" (assert))))
    ("2"
     (typepred "f!1")
     (expand "bounded?")
     (skosimp)
     (expand "extend")
     (expand "above_bounded")
     (inst + "c!1")
     (expand "upper_bound")
     (skosimp)
     (typepred "z!1")
     (assert)
     (skosimp)
     (inst - "x!2")
     (assert))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: sup_norm
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "extend")
   (typepred
    "sup[real]
              (LAMBDA (t: real):
                 IF t >= 0 THEN EXISTS x: abs(f!1(x)) = t ELSE FALSE ENDIF)")
   (("1"
     (name-replace "SUP"
      "sup[real]
                (LAMBDA (t: real):
                   IF t >= 0 THEN EXISTS x: abs(f!1(x)) = t ELSE FALSE ENDIF)")
     (expand "least_upper_bound")
     (flatten)
     (expand "upper_bound")
     (inst - "abs(f!1(x!1))")
     (("1" (assert)) ("2" (prop) (("1" (inst + "x!1")) ("2" (assert))))))
    ("2"
     (lemma "sup_norm_TCC1" ("f" "f!1"))
     (split -1)
     (("1" (expand "extend") (propax)) ("2" (inst + "x!1"))))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: sup_norm
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "sup_norm_convergent?")
   (inst + "LAMBDA x: 0")
   (("1"
     (expand "sup_norm_converges_to?")
     (skosimp)
     (inst + "0")
     (skosimp)
     (expand "-")
     (expand "sup_norm")
     (case-replace "EXISTS x: TRUE")
     (("1"
       (typepred
        "sup(extend[real, nnreal, bool, FALSE]
                      ({c | EXISTS (x_1: T): abs(0) = c}))")
       (name-replace "SUP"
        "sup(extend[real, nnreal, bool, FALSE]
                      ({c | EXISTS (x_1: T): abs(0) = c}))")
       (expand "extend")
       (expand "least_upper_bound")
       (flatten)
       (expand "upper_bound")
       (inst -2 "0")
       (split -2)
       (("1" (assert)) ("2" (assert))
        ("3"
         (skosimp)
         (typepred "z!1")
         (assert)
         (skosimp)
         (hide 2 -3)
         (grind))))
      ("2" (assert) (replace 1 2) (assert))))
    ("2" (expand "bounded?") (inst + "0") (grind))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: sup_norm
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem + ("v"))
   (typepred "v")
   (expand "pointwise_convergent?")
   (expand "sup_norm_convergent?")
   (skosimp)
   (inst + "f!1")
   (expand "pointwise_convergence?")
   (skosimp)
   (expand "sup_norm_converges_to?")
   (rewrite "metric_convergence_def" *)
   (expand "metric_converges_to")
   (skosimp)
   (inst - "r!1")
   (skosimp)
   (inst + "n!1")
   (skosimp)
   (inst - "i!1")
   (assert)
   (expand "ball")
   (expand "sup_norm")
   (case-replace "EXISTS x: TRUE")
   (("1"
     (typepred
      "sup(extend[real, nnreal, bool, FALSE]
                    ({c | EXISTS (x_1: T): abs((v(i!1) - f!1)(x_1)) = c}))")
     (name-replace "SUP"
      "sup(extend[real, nnreal, bool, FALSE]
                    ({c | EXISTS (x_1: T): abs((v(i!1) - f!1)(x_1)) = c}))")
     (expand "least_upper_bound")
     (expand "extend")
     (expand "upper_bound")
     (flatten)
     (inst - "abs(f!1(x!1) - v(i!1)(x!1))")
     (("1" (assert))
      ("2"
       (prop)
       (("1" (inst + "x!1") (hide-all-but 1) (grind)) ("2" (assert))))))
    ("2" (inst + "x!1"))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: partitions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "partition?")
   (split)
   (("1"
     (apply-extensionality 1 :hide? t)
     (expand "fullset")
     (expand "singleton")
     (expand "Union")
     (inst + "fullset[T]")
     (expand "fullset")
     (propax))
    ("2"
     (skosimp*)
     (typepred "x!1")
     (typepred "y!1")
     (expand "singleton")
     (assert))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: partitions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "p2!1")
   (typepred "p1!1")
   (expand "finite_partition?")
   (flatten)
   (split)
   (("1"
     (expand "fullset")
     (hide -2 -4)
     (expand "partition?")
     (flatten)
     (split)
     (("1"
       (apply-extensionality 1 :hide? t)
       (hide -2 -4)
       (lemma "extensionality_postulate"
        ("f" "Union(p1!1)" "g" "{x: T | TRUE}"))
       (lemma "extensionality_postulate"
        ("f" "Union(p2!1)" "g" "{x: T | TRUE}"))
       (replace -1 -4 rl)
       (replace -2 -3 rl)
       (hide -1 -2)
       (assert)
       (expand "Union")
       (inst - "x!1")
       (inst - "x!1")
       (skosimp*)
       (inst + "intersection(a!1,a!2)")
       (("1" (expand "intersection") (expand "member") (assert))
        ("2" (inst + "a!1" "a!2"))))
      ("2"
       (skosimp)
       (typepred "x!1")
       (typepred "y!1")
       (skosimp*)
       (inst - "a1!1" "a1!2")
       (inst - "a2!1" "a2!2")
       (assert)
       (case-replace "a1!2=a1!1")
       (("1"
         (assert)
         (hide -5 -4 -6)
         (expand "disjoint?")
         (expand "intersection")
         (expand "member")
         (expand "empty?")
         (expand "member")
         (skosimp)
         (inst - "x!2")
         (assert)
         (replace -3)
         (assert)
         (flatten)
         (assert)
         (replace -2)
         (assert))
        ("2"
         (assert)
         (case-replace "a2!2=a2!1")
         (("1"
           (expand "disjoint?")
           (expand "intersection")
           (expand "empty?")
           (expand "member")
           (skosimp)
           (replace -2)
           (replace -3)
           (assert)
           (flatten)
           (assert)
           (inst -9 "x!2")
           (assert))
          ("2"
           (assert)
           (expand "disjoint?")
           (expand "empty?")
           (skosimp)
           (inst - "x!2")
           (inst - "x!2")
           (expand "member")
           (expand "intersection")
           (expand "member")
           (flatten)
           (replace -1)
           (replace -2)
           (assert)
           (flatten)
           (assert))))))))
    ("2"
     (expand "fullset")
     (expand "partition?")
     (flatten)
     (lemma "is_finite_cross[(p1!1),(p2!1)]")
     (assert)
     (split)
     (("1"
       (hide -4 -7)
       (case "is_finite({x:[set[T],set[T]] | p1!1(x`1)&p2!1(x`2)})")
       (("1"
         (hide -2)
         (rewrite "is_finite_surj" * :dir rl)
         (rewrite "is_finite_surj" * :dir rl)
         (skosimp)
         (inst + "N!1"
          "lambda (n:below[N!1]): intersection(f!1(n)`1,f!1(n)`2)")
         (("1"
           (expand "surjective?")
           (skosimp)
           (typepred "y!1")
           (skosimp)
           (typepred "a1!1")
           (typepred "a2!1")
           (inst -4 "(a1!1,a2!1)")
           (skosimp)
           (inst + "x!1")
           (assert))
          ("2"
           (skosimp)
           (inst + "f!1(n!1)`1" "f!1(n!1)`2")
           (("1" (typepred "f!1(n!1)") (propax))
            ("2" (typepred "f!1(n!1)") (propax))))))
        ("2"
         (hide-all-but (-1 1))
         (expand "is_finite_type")
         (expand "is_finite")
         (skosimp)
         (inst + "N!1" "g!1")
         (expand "restrict")
         (expand "injective?")
         (skosimp)
         (inst - "x1!1" "x2!1")
         (assert))))
      ("2"
       (hide-all-but (-3 1))
       (expand "is_finite_type")
       (expand "is_finite")
       (propax))
      ("3"
       (hide-all-but (-6 1))
       (expand "is_finite_type")
       (expand "is_finite")
       (propax))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "borel_function?")
   (skosimp)
   (split)
   (("1"
     (skosimp*)
     (typepred "X!1")
     (lemma "open_is_borel[T2,T]" ("X" "X!1"))
     (inst - "X!1"))
    ("2"
     (skosimp*)
     (name "C"
           "{X:set[T2] | borel?[T1,S](inverse_image[T1, T2](f!1,X))}")
     (case "forall (X:set[T2]): open?[T2,T](X) => member(X,C)")
     (("1"
       (case "subset?(borel?[T2,T],C)")
       (("1"
         (expand "subset?")
         (inst - "B!1")
         (expand "member")
         (expand "C")
         (propax))
        ("2"
         (hide -2 2)
         (lemma "generated_sigma_algebra_subset2"
          ("X" "fullset[open[T2,T]]" "Y" "C"))
         (split -1)
         (("1" (expand "borel?") (propax))
          ("2"
           (hide 2)
           (expand "fullset")
           (expand "extend")
           (expand "subset?")
           (expand "member")
           (skosimp)
           (inst - "x!1")
           (prop))
          ("3"
           (hide 2)
           (expand "sigma_algebra?")
           (split)
           (("1"
             (expand "subset_algebra_empty?")
             (expand "member")
             (expand "C")
             (inst -1 "emptyset[T2]")
             (split -1)
             (("1" (propax))
              ("2"
               (typepred "T")
               (expand "topology?")
               (flatten)
               (expand "topology_empty?")
               (expand "open?")
               (propax))))
            ("2"
             (expand "subset_algebra_complement?")
             (skosimp)
             (typepred "x!1")
             (expand "C" -1)
             (expand "member")
             (expand "C")
             (lemma "complement_is_borel[T1,S]"
              ("a" "inverse_image[T1, T2](f!1, x!1)"))
             (("1"
               (case-replace
                "complement(inverse_image[T1, T2](f!1, x!1)) = inverse_image[T1, T2](f!1, complement(x!1))")
               (hide-all-but 1)
               (apply-extensionality 1 :hide? t)
               (expand "complement")
               (expand "inverse_image")
               (expand "member")
               (propax))
              ("2" (propax))))
            ("3"
             (expand "sigma_algebra_union?")
             (skosimp)
             (expand "member")
             (expand "C")
             (case-replace
              "inverse_image[T1, T2](f!1, Union(X!1)) = Union(image[set[T2],set[T1]](inverse_image[T1, T2](f!1),X!1))")
             (("1"
               (hide -1)
               (typepred "borel?[T1,S]")
               (expand "sigma_algebra?")
               (flatten)
               (expand "sigma_algebra_union?")
               (inst -
                "image[set[T2], set[T1]](inverse_image[T1, T2](f!1), X!1)")
               (split -3)
               (("1" (expand "member") (propax))
                ("2"
                 (hide-all-but (-3 1))
                 (lemma "countable_image[set[T2],set[T1]]"
                  ("S" "X!1" "f" "inverse_image[T1, T2](f!1)"))
                 (assert)
                 (expand "image" -1)
                 (propax))
                ("3"
                 (skosimp)
                 (typepred "x!1")
                 (expand "image")
                 (skosimp)
                 (expand "inverse_image" -1)
                 (inst -5 "x!2")
                 (expand "member")
                 (assert))))
              ("2"
               (hide-all-but 1)
               (apply-extensionality 1 :hide? t)
               (expand "inverse_image")
               (expand "Union")
               (expand "member")
               (case-replace "EXISTS (a: (X!1)): a(f!1(x!1))")
               (("1"
                 (skosimp)
                 (inst + "a!1 o f!1")
                 (("1" (expand "o") (propax))
                  ("2"
                   (expand "o")
                   (expand "inverse_image")
                   (expand "image")
                   (expand "member")
                   (inst + "a!1"))))
                ("2"
                 (replace 1 2)
                 (assert)
                 (skosimp*)
                 (typepred "a!1")
                 (expand "inverse_image")
                 (expand "member")
                 (expand "image")
                 (skosimp)
                 (replace -1)
                 (assert)
                 (inst + "x!2"))))))))))))
      ("2"
       (hide 2 -1)
       (skosimp)
       (inst - "X!1")
       (expand "member")
       (expand "C")
       (propax))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: borel_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "borel_function?")
   (skosimp)
   (typepred "B!1")
   (expand "const_fun")
   (expand "inverse_image")
   (expand "member")
   (case "B!1(c!1)")
   (("1"
     (lemma "fullset_is_borel[T1,S]")
     (case-replace "{x_1: T1 | B!1(c!1)}=fullset[T1]")
     (apply-extensionality 1 :hide? t)
     (expand "fullset")
     (propax))
    ("2"
     (case-replace "{x_1: T1 | B!1(c!1)}=emptyset[T1]")
     (("1" (lemma "emptyset_is_borel[T1,S]") (propax))
      ("2"
       (apply-extensionality 1 :hide? t)
       (expand "emptyset")
       (propax))))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: borel_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem + ("g"))
   (typepred "g")
   (rewrite "continuous_open_sets")
   (rewrite "borel_function_def")
   (skosimp)
   (inst - "X!1")
   (split)
   (("1"
     (lemma "open_is_borel[T1,S]" ("X" "inverse_image[T1,T2](g, X!1)"))
     (("1" (propax)) ("2" (propax))))
    ("2" (typepred "X!1") (propax))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "const_fun")
   (expand "measurable_function?")
   (skosimp)
   (expand "measurable_set?")
   (expand "inverse_image")
   (expand "member")
   (typepred "S")
   (expand "sigma_algebra?")
   (flatten)
   (expand "subset_algebra_empty?")
   (expand "subset_algebra_complement?")
   (expand "member")
   (inst - "emptyset[T]")
   (rewrite "complement_emptyset")
   (case-replace "B!1(c!1)")
   (("1"
     (assert)
     (lemma "extensionality" ("a" "fullset[T]" "b" "{x_1: T | TRUE}"))
     (split -1)
     (("1" (assert)) ("2" (expand "fullset") (propax))))
    ("2"
     (assert)
     (lemma "extensionality" ("a" "emptyset[T]" "b" "{x_1: T | FALSE}"))
     (split -1)
     (("1" (assert)) ("2" (expand "emptyset") (propax))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1"
     (flatten)
     (assert)
     (lemma "plus_measurable" ("g" "f!1"))
     (lemma "minus_measurable" ("g" "f!1"))
     (assert))
    ("2"
     (flatten)
     (lemma "diff_measurable" ("g1" "plus(f!1)" "g2" "minus(f!1)"))
     (("1" (rewrite "plus_minus_def" -1 :dir rl)) ("2" (propax))
      ("3" (propax))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (case "forall m: measurable_function?[T, S](u!1(m))")
   (("1"
     (rewrite "measurable_ge")
     (skosimp)
     (case-replace
      "{z: T | inf(u!1)(n!1)(z) >= c!1}=IIntersection(lambda m: {z: T | u!1(m+n!1)(z) >= c!1})")
     (("1"
       (hide -1)
       (lemma "measurable_IIntersection"
        ("SS" "LAMBDA m: {z: T | u!1(m + n!1)(z) >= c!1}"))
       (("1" (expand "measurable_set?") (propax))
        ("2"
         (hide 2)
         (skosimp)
         (inst - "m!1+n!1")
         (rewrite "measurable_ge")
         (inst - "c!1")
         (expand "measurable_set?")
         (propax))))
      ("2"
       (hide-all-but 1)
       (apply-extensionality :hide? t)
       (expand "IIntersection")
       (expand "inf")
       (typepred
        "inf(image[nat, real](LAMBDA m: u!1(m)(x!1), {m | m >= n!1}))")
       (name-replace "INF"
        "inf(image[nat, real](LAMBDA m: u!1(m)(x!1), {m | m >= n!1}))")
       (expand "image")
       (expand "greatest_lower_bound")
       (flatten)
       (expand "lower_bound")
       (case-replace "(FORALL (i: nat): u!1(i + n!1)(x!1) >= c!1)")
       (("1"
         (inst -3 "c!1")
         (split -3)
         (("1" (assert)) ("2" (assert))
          ("3"
           (skosimp)
           (typepred "z!1")
           (skosimp)
           (typepred "x!2")
           (inst -3 "x!2-n!1")
           (assert))))
        ("2"
         (replace 1 2)
         (simplify 2)
         (skosimp)
         (inst - "u!1(i!1 + n!1)(x!1)")
         (("1" (assert)) ("2" (inst + "i!1+n!1"))))))))
    ("2" (hide 2) (skosimp) (grind))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (rewrite "sup_inf_def")
   (typepred "u!1")
   (lemma "inf_measurable" ("u" "-u!1" "n" "n!1"))
   (("1"
     (lemma "opp_measurable" ("g" "inf(-u!1)(n!1)"))
     (("1" (expand "-" 1 1) (propax)) ("2" (propax))))
    ("2"
     (split)
     (("1" (hide-all-but 1) (grind))
      ("2"
       (hide 2)
       (expand "measurable_bounded_above?")
       (expand "measurable_bounded_below?")
       (expand "pointwise_bounded_below?")
       (expand "pointwise_bounded_above?")
       (expand "pointwise?")
       (skosimp)
       (inst - "x!1")
       (expand "bounded_below?")
       (expand "bounded_above?")
       (skosimp)
       (assert)
       (inst + "-a!1")
       (skosimp)
       (inst - "x!2")
       (grind))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "pointwise_convergent_is_pointwise_bounded" ("x" "u!1"))
   (("1"
     (rewrite "pointwise_bounded_def")
     (flatten)
     (lemma "inf_pointwise_convergence_upto" ("p" "u!1" "f" "f!1"))
     (("1"
       (assert)
       (lemma "limsup_pointwise_convergence" ("b" "u!1"))
       (("1"
         (expand "pointwise_converges_upto?")
         (flatten)
         (lemma "sup_measurable" ("u" "inf(u!1)" "n" "0"))
         (("1"
           (case-replace "sup(inf(u!1))(0)=f!1")
           (apply-extensionality 1 :hide? t)
           (expand "pointwise_convergence?")
           (inst - "x!1")
           (inst - "x!1")
           (lemma "hausdorff_convergence.unique_limit"
            ("u"
             "LAMBDA n: inf(u!1)(n)(x!1)"
             "l1"
             "limsup(u!1)(x!1)"
             "l2"
             "f!1(x!1)"))
           (assert)
           (expand "limsup")
           (expand "inf" 1)
           (assert)
           (expand "sup" 1)
           (expand "fullset")
           (case-replace
            "image[nat, real]
                          (LAMBDA (m_1: nat):
                             inf(image[nat, real]
                                     (LAMBDA m: u!1(m)(x!1), {m | m >= m_1})),
                           {m_1: nat | TRUE})=image[nat, real](LAMBDA m: inf(u!1)(m)(x!1), {x: nat | TRUE})")
           (("1"
             (hide 2 3)
             (apply-extensionality 1 :hide? t)
             (("1"
               (expand "image" 1 2)
               (expand "inf" 1)
               (expand "image" 1 3)
               (propax))
              ("2"
               (skosimp)
               (split)
               (("1"
                 (hide-all-but 1)
                 (expand "image")
                 (expand "nonempty?")
                 (expand "empty?")
                 (expand "member")
                 (inst - "u!1(m!1)(x!1)")
                 (inst + "m!1"))
                ("2"
                 (expand "pointwise_bounded_below?")
                 (expand "pointwise?")
                 (inst -7 "x!1")
                 (hide-all-but (-7 1))
                 (expand "bounded_below?")
                 (expand "image")
                 (expand "below_bounded")
                 (skosimp)
                 (expand "lower_bound")
                 (inst + "a!1")
                 (skosimp)
                 (typepred "z!1")
                 (skosimp)
                 (inst - "x!2")
                 (assert))))))
            ("2"
             (skosimp)
             (split)
             (("1"
               (hide-all-but 1)
               (expand "image")
               (expand "nonempty?")
               (expand "empty?")
               (expand "member")
               (inst - "u!1(m!1)(x!1)")
               (inst + "m!1"))
              ("2"
               (hide-all-but (-7 1))
               (expand "pointwise_bounded_below?")
               (expand "pointwise?")
               (inst - "x!1")
               (expand "bounded_below?")
               (expand "image")
               (expand "below_bounded")
               (skosimp)
               (expand "lower_bound")
               (inst + "a!1")
               (skosimp)
               (typepred "z!1")
               (skosimp)
               (inst - "x!2")
               (assert))))))
          ("2"
           (hide 2)
           (split)
           (("1"
             (skosimp)
             (lemma "inf_measurable" ("u" "u!1" "n" "x1!1"))
             (("1" (propax))
              ("2"
               (hide-all-but (-5 1))
               (expand "measurable_bounded_below?")
               (propax))))
            ("2"
             (expand "measurable_bounded_above?")
             (expand "pointwise_bounded_above?")
             (expand "pointwise?")
             (skosimp)
             (inst - "x!1")
             (expand "bounded_above?")
             (skosimp)
             (inst + "a!1")
             (skolem + ("n!1"))
             (expand "inf" 1)
             (typepred
              "inf(image[nat, real](LAMBDA m: u!1(m)(x!1), {m | m >= n!1}))")
             (expand "greatest_lower_bound")
             (flatten)
             (expand "lower_bound")
             (inst - "u!1(n!1)(x!1)")
             (("1" (inst -6 "n!1") (assert))
              ("2" (expand "image") (inst + "n!1"))))))))
        ("2" (rewrite "pointwise_bounded_def"))))
      ("2" (propax))))
    ("2" (expand "pointwise_convergent?") (inst + "f!1"))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "simple?")
   (skosimp)
   (expand "fullset")
   (expand "const_fun")
   (expand "image")
   (case "exists x: true")
   (("1"
     (lemma "extensionality"
      ("a"
       "{y: real | EXISTS (x_1: ({x: T | TRUE})): y = c!1}"
       "b"
       "singleton[real](c!1)"))
     (split -1)
     (("1"
       (replace -1)
       (assert)
       (lemma "const_measurable" ("c" "c!1"))
       (expand "const_fun")
       (propax))
      ("2"
       (expand "singleton")
       (expand "member")
       (skosimp)
       (case-replace "x!1 = c!1")
       (("1" (assert)) ("2" (assert))))))
    ("2"
     (lemma "extensionality"
      ("a"
       "{y: real | EXISTS (x_1: ({x: T | TRUE})): y = c!1}"
       "b"
       "emptyset[real]"))
     (split -1)
     (("1"
       (replace -1)
       (assert)
       (lemma "const_measurable" ("c" "c!1"))
       (expand "const_fun")
       (propax))
      ("2"
       (skosimp*)
       (expand "emptyset")
       (expand "member")
       (skolem - ("TT"))
       (inst + "TT"))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (expand "simple?")
   (skosimp)
   (case-replace "is_finite(image(f!1, fullset[T]))")
   (("1"
     (split)
     (("1"
       (flatten)
       (skosimp)
       (typepred "y!1")
       (expand "measurable_function?")
       (inst - "singleton[real](y!1)")
       (("1"
         (expand "singleton")
         (expand "inverse_image")
         (expand "member")
         (lemma "extensionality"
          ("a" "{x: T | f!1(x) = y!1}" "b" "{x | y!1 = f!1(x)}"))
         (split -1)
         (("1" (assert)) ("2" (hide-all-but 1) (grind))))
        ("2" (lemma "singleton_is_borel" ("x" "y!1")) (propax))))
      ("2"
       (skosimp*)
       (expand "measurable_function?")
       (skosimp)
       (typepred "B!1")
       (name-replace "IMAGE" "image(f!1, fullset[T])")
       (case "borel?[real, metric_induced_topology](IMAGE)")
       (("1"
         (lemma "intersection_is_borel" ("a" "B!1" "b" "IMAGE"))
         (("1"
           (hide -2 -3)
           (case-replace
            "inverse_image[T,real](f!1, B!1) = Union(image[real,set[T]](lambda y: inverse_image[T,real](f!1,singleton[real](y)),intersection[real](B!1, IMAGE)))")
           (("1"
             (hide -1)
             (typepred "S")
             (expand "sigma_algebra?")
             (flatten)
             (expand "sigma_algebra_union?")
             (inst -
              "image[real, set[T]]
                                              (LAMBDA y:
                                                 inverse_image[T, real]
                                                     (f!1, singleton[real](y)),
                                               intersection[real](B!1, IMAGE))")
             (split -3)
             (("1" (expand "measurable_set?") (assert))
              ("2"
               (hide 2)
               (lemma "countable_image[real,set[T]]"
                ("f"
                 "LAMBDA y:
                                           inverse_image[T, real](f!1, singleton[real](y))"
                 "S"
                 "intersection[real](B!1, IMAGE)"))
               (split -1)
               (("1"
                 (name-replace "FF"
                  "LAMBDA y:
                                             inverse_image[T, real](f!1, singleton[real](y))")
                 (name-replace "BB" "intersection[real](B!1, IMAGE)")
                 (expand "image" -1)
                 (propax))
                ("2"
                 (hide-all-but (-5 1))
                 (lemma "finite_countable"
                  ("x" "intersection[real](B!1, IMAGE)"))
                 (("1" (propax))
                  ("2"
                   (assert)
                   (lemma "finite_intersection1[real]"
                    ("s" "B!1" "A" "IMAGE"))
                   (propax))))))
              ("3"
               (hide 2)
               (skosimp)
               (expand "member")
               (typepred "x!1")
               (expand "intersection")
               (expand "singleton")
               (expand "inverse_image")
               (expand "member")
               (expand "image")
               (skosimp*)
               (typepred "x!2")
               (inst - "x!2")
               (("1"
                 (expand "measurable_set?")
                 (lemma "extensionality"
                  ("a"
                   "{x_1: T | x!2 = f!1(x_1)}"
                   "b"
                   "{x: T | f!1(x) = x!2}"))
                 (split -1)
                 (("1" (assert)) ("2" (hide-all-but 1) (grind))))
                ("2" (expand "IMAGE") (propax))))))
            ("2"
             (hide-all-but 1)
             (apply-extensionality :hide? t)
             (case-replace "inverse_image[T, real](f!1, B!1)(x!1)")
             (("1"
               (expand "singleton")
               (expand "inverse_image")
               (expand "member")
               (expand "Union")
               (inst +
                "inverse_image[T,real](f!1,singleton[real](f!1(x!1)))")
               (("1"
                 (expand "singleton")
                 (expand "inverse_image")
                 (expand "member")
                 (propax))
                ("2"
                 (expand "singleton")
                 (expand "inverse_image")
                 (expand "member")
                 (expand "image")
                 (inst + "f!1(x!1)")
                 (expand "intersection")
                 (assert)
                 (expand "IMAGE")
                 (expand "fullset")
                 (expand "image")
                 (inst + "x!1"))))
              ("2"
               (assert)
               (expand "Union")
               (skosimp)
               (typepred "a!1")
               (expand "singleton")
               (expand "inverse_image")
               (expand "member")
               (expand "image")
               (skosimp)
               (replace -1)
               (assert)
               (hide -1)
               (typepred "x!2")
               (replace -2)
               (expand "intersection")
               (flatten)
               (assert))))))
          ("2" (propax))))
        ("2"
         (hide-all-but (-3 1))
         (case "forall Y,n: is_finite(Y) & card(Y) <= n => borel?[real, metric_induced_topology](Y)")
         (("1" (inst - "IMAGE" "card(IMAGE)") (assert))
          ("2"
           (hide-all-but 1)
           (induct "n")
           (("1"
             (skosimp*)
             (expand "<=")
             (split)
             (("1" (assert))
              ("2" (rewrite "card_is_0") (replace -1) (assert))))
            ("2"
             (skosimp*)
             (expand "<=" -3)
             (split -3)
             (("1" (inst - "Y!1") (assert))
              ("2"
               (lemma "nonempty_card[real]" ("S" "Y!1"))
               (assert)
               (lemma "card_rest[real]" ("S" "Y!1"))
               (lemma "choose_rest[real]" ("a" "Y!1"))
               (expand "nonempty?")
               (assert)
               (replace -1 2 rl)
               (replace -3 -2)
               (hide 1 -1 -3)
               (assert)
               (inst - "rest[real](Y!1)")
               (split -2)
               (("1"
                 (rewrite "add_as_union")
                 (rewrite "union_is_borel")
                 (hide 2 -1)
                 (rewrite "singleton_is_borel"))
                ("2"
                 (assert)
                 (lemma "finite_rest[real]" ("A" "Y!1"))
                 (propax))
                ("3" (assert))))))
            ("3"
             (skosimp)
             (typepred
              "metric_induced_topology[real, (LAMBDA (x, y: real): abs(x - y))]")
             (expand "hausdorff_space?")
             (propax))))
          ("3"
           (skosimp)
           (typepred
            "metric_induced_topology[real, (LAMBDA (x, y: real): abs(x - y))]")
           (expand "hausdorff_space?")
           (propax))))
        ("3"
         (typepred
          "metric_induced_topology[real, (LAMBDA (x, y: real): abs(x - y))]")
         (expand "hausdorff_space?")
         (propax))))))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (rewrite "simple_def1")
   (split)
   (("1"
     (skosimp*)
     (name "PP"
           "image[real,set[T]](lambda y: inverse_image[T,real](f!1,singleton[real](y)),image[T,real](f!1, fullset[T]))")
     (inst + "PP")
     (("1"
       (split 1)
       (("1"
         (expand "measurable_set?")
         (expand "every")
         (skosimp)
         (typepred "x!1")
         (replace -2 -1 rl)
         (expand "fullset" -1)
         (expand "singleton" -1)
         (expand "inverse_image" -1)
         (expand "member")
         (expand "image" -1)
         (skosimp)
         (typepred "x!2")
         (skosimp)
         (replace -1)
         (inst -5 "f!1(x!3)")
         (("1"
           (lemma "extensionality"
            ("a"
             "{x | f!1(x!3) = f!1(x)}"
             "b"
             "{x: T | f!1(x) = f!1(x!3)}"))
           (split -1)
           (("1" (assert)) ("2" (hide-all-but 1) (grind))))
          ("2" (expand "fullset") (expand "image") (inst + "x!3"))))
        ("2"
         (expand "every")
         (skosimp)
         (typepred "x!1")
         (expand "PP")
         (hide -2)
         (expand "constant_over?")
         (expand "fullset")
         (expand "singleton")
         (expand "inverse_image")
         (expand "member")
         (expand "image")
         (skosimp*)
         (typepred "x!2")
         (skosimp)
         (inst + "x!2")
         (skosimp)
         (typepred "x!4")
         (replace -3)
         (assert))))
      ("2"
       (lemma "finite_image[real,set[T]]"
        ("f"
         "LAMBDA y: inverse_image[T, real](f!1, singleton[real](y))"
         "S"
         "image[T, real](f!1, fullset[T])"))
       (("1"
         (replace -2)
         (expand "finite_partition?")
         (assert)
         (expand "partition?")
         (split)
         (("1"
           (apply-extensionality 1 :hide? t)
           (expand "fullset")
           (expand "Union")
           (name "FF"
                 "LAMBDA y: inverse_image[T, real](f!1, singleton[real](y))")
           (replace -1)
           (inst + "FF(f!1(x!1))")
           (("1"
             (expand "FF" 1)
             (expand "singleton")
             (expand "inverse_image")
             (expand "member")
             (propax))
            ("2"
             (expand "PP" 1)
             (expand "image")
             (expand "FF" 1)
             (inst + "f!1(x!1)")
             (inst + "x!1")
             (expand "fullset")
             (propax))))
          ("2"
           (skosimp*)
           (typepred "x!1")
           (typepred "y!1")
           (expand "PP")
           (expand "image" -1 1)
           (expand "image" -2 1)
           (skosimp*)
           (case-replace "x!2=x!3")
           (("1" (assert))
            ("2"
             (expand "singleton")
             (expand "inverse_image")
             (expand "member")
             (replace -1)
             (replace -2)
             (hide 2 -1 -2)
             (expand "disjoint?")
             (expand "intersection")
             (expand "member")
             (expand "empty?")
             (skosimp)
             (expand "member")
             (flatten)
             (assert))))))
        ("2" (propax))))))
    ("2"
     (skosimp*)
     (typepred "P!1")
     (split)
     (("1"
       (expand "finite_partition?")
       (flatten)
       (expand "partition?")
       (flatten)
       (case "exists x: true")
       (("1"
         (name "PP" "{X | P!1(X) & nonempty?(X)}")
         (case "nonempty?(PP) & subset?(PP,P!1)")
         (("1"
           (flatten)
           (case "Union(PP)=fullset[T]")
           (("1"
             (case "forall (X:(PP)): singleton?(image(f!1,X))")
             (("1"
               (name "FF"
                     "lambda (X:(PP)): choose[real](image[T,real](f!1,X))")
               (("1"
                 (case-replace
                  "image[T,real](f!1,fullset[T]) = image(FF,PP)")
                 (("1"
                   (hide -1)
                   (lemma "finite_image[(PP),real]" ("f" "FF" "S" "PP"))
                   (("1" (propax))
                    ("2"
                     (hide-all-but (-5 -10 1))
                     (lemma "finite_subset[set[T]]" ("s" "PP" "A" "P!1"))
                     (("1"
                       (assert)
                       (hide -2 -3)
                       (expand "restrict")
                       (expand "is_finite")
                       (propax))
                      ("2" (propax))))))
                  ("2"
                   (hide 2)
                   (apply-extensionality 1 :hide? t)
                   (replace -3 1 rl)
                   (expand "restrict")
                   (expand "image")
                   (case-replace "EXISTS (x: (Union(PP))): x!1 = f!1(x)")
                   (("1"
                     (skosimp)
                     (typepred "x!2")
                     (expand "Union")
                     (skosimp)
                     (inst + "a!1")
                     (hide -3)
                     (expand "FF")
                     (typepred "choose[real](image[T, real](f!1, a!1))")
                     (name-replace "XX"
                      "choose[real](image[T, real](f!1, a!1))")
                     (expand "image")
                     (skosimp)
                     (typepred "x!3")
                     (typepred "a!1")
                     (expand "subset?")
                     (inst -9 "a!1")
                     (assert)
                     (expand "every")
                     (inst -16 "a!1")
                     (expand "constant_over?")
                     (skosimp*)
                     (inst-cp -15 "x!2")
                     (inst -15 "x!3")
                     (assert))
                    ("2"
                     (replace 1 2)
                     (assert)
                     (skosimp*)
                     (typepred "x!2")
                     (expand "subset?")
                     (inst -7 "x!2")
                     (assert)
                     (expand "every" -13)
                     (inst -13 "x!2")
                     (expand "constant_over?")
                     (skosimp)
                     (expand "FF")
                     (hide -3)
                     (typepred "choose[real](image[T, real](f!1, x!2))")
                     (replace -3 * rl)
                     (expand "image")
                     (skosimp)
                     (inst + "x!4")
                     (replace -5 1)
                     (expand "fullset")
                     (propax))))))
                ("2"
                 (skosimp)
                 (inst - "X!1")
                 (hide-all-but (-1 1))
                 (expand "singleton?")
                 (skosimp)
                 (typepred "x!1")
                 (expand "nonempty?")
                 (expand "empty?")
                 (inst - "x!1")
                 (assert))))
              ("2"
               (hide 2)
               (skosimp)
               (typepred "X!1")
               (expand "every")
               (expand "subset?")
               (inst -4 "X!1")
               (assert)
               (inst -11 "X!1")
               (expand "constant_over?")
               (skolem! -11)
               (expand "image")
               (expand "singleton?")
               (inst + "y!1")
               (("1"
                 (skosimp)
                 (typepred "y!2")
                 (skolem!)
                 (typepred "x!1")
                 (inst -13 "x!1")
                 (assert))
                ("2"
                 (expand "PP" -1)
                 (expand "nonempty?")
                 (expand "empty?" 2)
                 (skolem! 2)
                 (inst + "x!1")
                 (("1" (assert) (inst -10 "x!1")) ("2" (assert))))))))
            ("2"
             (hide-all-but (-5 -1 -2 1))
             (apply-extensionality 1 :hide? t)
             (lemma "extensionality_postulate"
              ("f" "Union(P!1)" "g" "fullset[T]"))
             (replace -1 -4 rl)
             (inst -4 "x!1")
             (expand "fullset")
             (expand "Union")
             (skosimp)
             (hide -1 -2)
             (expand "subset?")
             (typepred "a!1")
             (inst + "a!1")
             (expand "PP")
             (expand "nonempty?")
             (expand "empty?")
             (expand "member")
             (skosimp)
             (inst - "x!1"))))
          ("2"
           (hide-all-but (-2 -3 1))
           (split)
           (("1"
             (expand "nonempty?")
             (expand "empty?")
             (skosimp)
             (lemma "extensionality_postulate"
              ("f" "Union(P!1)" "g" "fullset[T]"))
             (replace -1 -3 rl)
             (inst -3 "x!1")
             (expand "fullset")
             (hide -1)
             (expand "Union")
             (skosimp)
             (typepred "a!1")
             (expand "PP")
             (expand "member")
             (inst - "a!1")
             (assert)
             (expand "nonempty?")
             (expand "empty?")
             (inst - "x!1")
             (assert))
            ("2"
             (expand "PP")
             (expand "subset?")
             (expand "member")
             (skosimp*))))))
        ("2"
         (case-replace "fullset[T]=emptyset[T]")
         (("1"
           (lemma "extensionality"
            ("a" "image(f!1, emptyset[T])" "b" "emptyset[real]"))
           (split -1)
           (("1" (replace -1) (assert))
            ("2"
             (skosimp)
             (expand "emptyset")
             (expand "member")
             (expand "image")
             (skosimp))))
          ("2"
           (apply-extensionality 1 :hide? t)
           (expand "emptyset")
           (inst + "x!1"))))))
      ("2"
       (skosimp)
       (expand "every")
       (expand "measurable_set?")
       (case-replace
        "{x | y!1 = f!1(x)} = Union({X:set[T] | P!1(X) & image[T,real](f!1,X) = singleton[real](y!1)})")
       (("1"
         (hide -1)
         (case "subset?({X: set[T] |
                                P!1(X) & image[T, real](f!1, X) = singleton[real](y!1)},P!1)")
         (("1"
           (expand "finite_partition?")
           (flatten)
           (name-replace "SS"
            "{X: set[T] |
                             P!1(X) & image[T, real](f!1, X) = singleton[real](y!1)}")
           (typepred "S")
           (expand "sigma_algebra?")
           (flatten)
           (expand "sigma_algebra_union?")
           (inst - "SS")
           (split -3)
           (("1" (assert))
            ("2"
             (lemma "finite_subset[set[T]]" ("s" "SS" "A" "P!1"))
             (("1"
               (assert)
               (lemma "finite_countable[set[T]]" ("x" "SS"))
               (propax))
              ("2" (propax))))
            ("3"
             (skosimp)
             (expand "subset?")
             (inst - "x!1")
             (inst -6 "x!1")
             (("1" (assert)) ("2" (assert))))))
          ("2"
           (hide-all-but 1)
           (expand "subset?")
           (expand "member")
           (skosimp*))))
        ("2"
         (apply-extensionality 1 :hide? t)
         (hide 2)
         (case-replace "y!1=f!1(x!1)")
         (("1"
           (expand "Union")
           (expand "finite_partition?")
           (flatten)
           (expand "partition?")
           (flatten)
           (lemma "extensionality_postulate"
            ("f" "Union(P!1)" "g" "fullset[T]"))
           (replace -1 -3 rl)
           (hide -1)
           (inst -2 "x!1")
           (expand "fullset")
           (expand "Union")
           (skosimp)
           (inst + "a!1")
           (expand "singleton")
           (expand "image")
           (apply-extensionality 1 :hide? t)
           (case-replace "x!2 = f!1(x!1)")
           (("1" (inst + "x!1"))
            ("2"
             (assert)
             (skosimp)
             (typepred "x!3")
             (inst -8 "a!1")
             (expand "constant_over?")
             (skosimp)
             (inst-cp -8 "x!1")
             (inst -8 "x!3")
             (assert))))
          ("2"
           (assert)
           (expand "Union")
           (skosimp)
           (typepred "a!1")
           (expand "singleton")
           (lemma "extensionality_postulate"
            ("f" "image[T, real](f!1, a!1)" "g" "({y: real | y = y!1})"))
           (replace -1 -3 rl)
           (hide -1)
           (inst - "y!1")
           (expand "image")
           (skosimp)
           (typepred "x!2")
           (inst -7 "a!1")
           (expand "constant_over?")
           (skosimp)
           (inst-cp -7 "x!1")
           (inst -7 "x!2")
           (assert))))))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1"
     (flatten)
     (rewrite "simple_def1")
     (flatten)
     (name "NZ" "lambda f: {y| EXISTS x: f(x)=y & y/=0}")
     (case "forall f: subset?(NZ(f),image[T,real](f,fullset[T]))")
     (("1"
       (case "forall h: is_finite[real](NZ(h))")
       (("1"
         (case "FORALL (h: simple, n: nat):
                       card(NZ(h)) = n =>
                        EXISTS c1, c2, h1, h2: c1 * h1 + c2 * h2 = h")
         (("1"
           (case "nonempty?(fullset[T])")
           (("1"
             (inst - "f!1" "card(NZ(f!1))")
             (("1" (inst - "f!1") (rewrite "simple_def1" 1) (assert))
              ("2" (rewrite "simple_def1" 1) (assert))))
            ("2"
             (expand "nonempty?")
             (hide-all-but (-1 1))
             (inst + "0" "0" "phi(fullset[T])" "phi(fullset[T])")
             (expand "*")
             (expand "+")
             (lemma "extensionality[T,real]"
              ("f" "LAMBDA (x_1: T): 0" "g" "f!1"))
             (split -1)
             (("1" (propax))
              ("2"
               (hide 2)
               (skosimp)
               (expand "fullset")
               (expand "empty?")
               (inst - "x!1")
               (expand "member")
               (propax))))))
          ("2"
           (hide-all-but (-1 1))
           (induct "n")
           (("1"
             (skosimp)
             (inst - "h!1")
             (rewrite "card_empty?" -1)
             (hide -2)
             (inst + "0" "0" "phi(emptyset[T])" "phi(emptyset[T])")
             (expand "*")
             (expand "+")
             (lemma "extensionality[T,real]"
              ("f" "LAMBDA (x_1: T): 0" "g" "h!1"))
             (split -1)
             (("1" (propax))
              ("2"
               (hide 2)
               (skosimp)
               (expand "NZ")
               (expand "empty?")
               (expand "member")
               (inst - "h!1(x!1)")
               (inst + "x!1")
               (assert))))
            ("2"
             (skosimp*)
             (lemma "nonempty_card[real]" ("S" "NZ(h!1)"))
             (assert)
             (lemma "card_rest[real]" ("S" "NZ(h!1)"))
             (split -1)
             (("1"
               (replace -4)
               (assert)
               (lemma "choose_rest[real]" ("a" "NZ(h!1)"))
               (lemma "choose_member[real]" ("a" "NZ(h!1)"))
               (lemma "choose_not_member[real]" ("a" "NZ(h!1)"))
               (name-replace "C" "choose[real](NZ(h!1))")
               (typepred "h!1")
               (rewrite "simple_def1" -1)
               (flatten)
               (hide -1)
               (expand "nonempty?")
               (replace 1 *)
               (expand "member" -2)
               (inst - "C")
               (("1"
                 (name "H" "h!1-C*phi({x | C = h!1(x)})")
                 (inst -6 "H")
                 (("1"
                   (split -6)
                   (("1"
                     (skosimp)
                     (inst + "1" "C" "H" "phi({x | C = h!1(x)})")
                     (("1"
                       (assert)
                       (replace -2 3 rl)
                       (apply-extensionality 3 :hide? t)
                       (hide-all-but 1)
                       (grind))
                      ("2"
                       (assert)
                       (expand "measurable_set?")
                       (assert)
                       (lemma "phi_is_simple" ("X" "{x | C = h!1(x)}"))
                       (propax))
                      ("3"
                       (replace -1 1 rl)
                       (hide-all-but 1)
                       (typepred "h1!1")
                       (typepred "h2!1")
                       (lemma "simple_scal" ("c" "c1!1" "h" "h1!1"))
                       (lemma "simple_scal" ("c" "c2!1" "h" "h2!1"))
                       (lemma "simple_add"
                        ("h1"
                         "*[T](c1!1, h1!1)"
                         "h2"
                         "*[T](c2!1, h2!1)"))
                       (propax))))
                    ("2"
                     (case-replace "NZ(H) = rest(NZ(h!1))")
                     (hide 5 2 -5 -6)
                     (apply-extensionality 1 :hide? t)
                     (lemma "extensionality_postulate[real,bool]"
                      ("f" "add(C, rest(NZ(h!1)))" "g" "NZ(h!1)"))
                     (replace -1 -5 rl)
                     (hide -1)
                     (inst -4 "x!1")
                     (expand "add" -4)
                     (expand "member")
                     (case "forall x: h!1(x) = C => H(x)=0")
                     (("1"
                       (case "forall x: h!1(x)/=C => h!1(x)=H(x)")
                       (("1"
                         (case-replace "rest(NZ(h!1))(x!1)")
                         (("1"
                           (case-replace "x!1=C")
                           (expand "NZ")
                           (skolem! -7)
                           (inst -2 "x!2")
                           (flatten)
                           (assert)
                           (inst + "x!2")
                           (assert))
                          ("2"
                           (replace 1 2)
                           (assert)
                           (hide 2)
                           (case-replace "x!1=C")
                           (("1"
                             (expand "NZ" -4)
                             (skosimp)
                             (inst -2 "x!2")
                             (assert)
                             (replace -4)
                             (case-replace "h!1(x!2) = C")
                             (("1" (assert) (inst -3 "x!2") (assert))
                              ("2"
                               (replace 1)
                               (inst -2 "x!2")
                               (assert))))
                            ("2"
                             (expand "NZ" -3)
                             (skosimp)
                             (inst -2 "x!2")
                             (assert)
                             (inst - "x!2")
                             (split -1)
                             (("1"
                               (expand "rest" 2)
                               (expand "remove")
                               (expand "NZ" 2 2)
                               (expand "member" 2)
                               (split 2)
                               (("1"
                                 (expand "/=" 1)
                                 (expand "C" 1)
                                 (assert))
                                ("2" (inst + "x!2") (assert))))
                              ("2" (assert))))))))
                        ("2"
                         (skosimp)
                         (replace -2 2 rl)
                         (expand "-" 2)
                         (expand "*" 2)
                         (expand "phi" 2)
                         (expand "member")
                         (assert))))
                      ("2"
                       (skosimp)
                       (replace -2 1 rl)
                       (expand "-")
                       (replace -1)
                       (expand "*" 1)
                       (expand "phi" 1)
                       (expand "member")
                       (replace -1)
                       (assert))))))
                  ("2"
                   (replace -1 1 rl)
                   (hide-all-but (-2 1))
                   (expand "measurable_set?")
                   (lemma "phi_is_simple" ("X" "{x | C = h!1(x)}"))
                   (("1"
                     (lemma "simple_scal"
                      ("c" "C" "h" "phi({x | C = h!1(x)})"))
                     (("1"
                       (lemma "simple_diff"
                        ("h1"
                         "h!1"
                         "h2"
                         "*[T](C, phi({x | C = h!1(x)}))"))
                       (("1" (propax)) ("2" (propax))))
                      ("2" (propax))))
                    ("2" (propax))))))
                ("2"
                 (hide-all-but (-1 1))
                 (expand "fullset")
                 (expand "NZ")
                 (expand "image")
                 (skosimp)
                 (inst + "x!1")
                 (assert))))
              ("2" (expand "nonempty?") (propax))))))
          ("3" (propax))))
        ("2"
         (hide-all-but (-1 1))
         (skosimp)
         (typepred "h!1")
         (rewrite "simple_def1")
         (flatten)
         (inst -3 "h!1")
         (hide -2)
         (lemma "finite_subset[real]"
          ("s" "NZ(h!1)" "A" "image[T, real](h!1, fullset[T])"))
         (("1" (assert)) ("2" (propax))))))
      ("2"
       (skosimp)
       (expand "subset?")
       (skosimp)
       (hide-all-but (-1 1))
       (expand "member")
       (expand "NZ")
       (expand "fullset")
       (expand "image")
       (skosimp)
       (inst + "x!2")
       (assert))))
    ("2"
     (skosimp*)
     (lemma "simple_scal" ("c" "c1!1" "h" "h1!1"))
     (lemma "simple_scal" ("c" "c2!1" "h" "h2!1"))
     (replace -3 1 :dir rl)
     (rewrite "simple_add"))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp*)
   (name "AA" "sup_norm(p!1)/2")
   (replace -1)
   (typepred "p!1")
   (expand "nn_bounded_measurable?")
   (name "EE" "{x | p!1(x) > AA}")
   (lemma "measurable_gt" ("f" "p!1"))
   (assert)
   (flatten)
   (hide -2)
   (assert)
   (expand "bounded_measurable?")
   (flatten)
   (assert)
   (inst - "AA")
   (case "simple?(AA*phi(EE))")
   (("1"
     (inst + "AA * phi(EE)")
     (case-replace
      "FORALL x: 0 <= (AA * phi(EE))(x) & (AA * phi(EE))(x) <= p!1(x)")
     (("1"
       (expand "*" -1)
       (expand "sup_norm")
       (case-replace "EXISTS (x: T): TRUE")
       (("1"
         (skolem - ("XX"))
         (expand "extend")
         (typepred
          "sup(LAMBDA (t: real):
                      IF t >= 0 THEN EXISTS (x_1: T): abs(p!1(x_1)) = t
                      ELSE FALSE
                      ENDIF)")
         (("1"
           (name-replace "NORM_P"
            "sup(LAMBDA (t: real):
                                          IF t >= 0
                                            THEN EXISTS (x_1: T): abs(p!1(x_1)) = t
                                          ELSE FALSE
                                          ENDIF)")
           (typepred
            "sup(LAMBDA (t_1: real):
                        IF t_1 >= 0
                          THEN EXISTS (x_2: T): abs((p!1 - AA * phi(EE))(x_2)) = t_1
                        ELSE FALSE
                        ENDIF)")
           (("1"
             (name-replace "NORM_PH"
              "sup(LAMBDA (t_1: real):
                          IF t_1 >= 0
                            THEN EXISTS (x_2: T): abs((p!1 - AA * phi(EE))(x_2)) = t_1
                          ELSE FALSE
                          ENDIF)")
             (expand "least_upper_bound")
             (flatten)
             (hide -1)
             (inst - "AA")
             (replace 1 -1)
             (split -1)
             (("1" (assert))
              ("2"
               (hide 2)
               (expand "upper_bound" 1)
               (skosimp)
               (typepred "z!1")
               (assert)
               (skosimp)
               (inst-cp -5 "x!1")
               (flatten)
               (expand "-" -1)
               (expand "*" -1)
               (expand "abs" -1)
               (assert)
               (replace -1 1 rl)
               (hide -1)
               (hide -3)
               (expand "upper_bound")
               (inst - "p!1(x!1)")
               (("1"
                 (expand "phi")
                 (expand "member")
                 (case-replace "EE(x!1)")
                 (("1" (expand "EE") (assert))
                  ("2" (assert) (expand "EE") (assert))))
                ("2" (inst + "x!1") (expand "abs") (propax))))))
            ("2"
             (hide-all-but (1 -6 -2 -2 -8))
             (split)
             (("1"
               (expand "nonempty?")
               (expand "empty?")
               (inst - "p!1(XX)-AA*phi(EE)(XX)")
               (expand "member")
               (inst - "XX")
               (flatten)
               (assert)
               (inst + "XX")
               (expand "-")
               (expand "*")
               (expand "abs")
               (propax))
              ("2"
               (expand "above_bounded")
               (expand "bounded?")
               (skosimp)
               (inst + "c!1")
               (expand "upper_bound")
               (skosimp)
               (typepred "z!1")
               (assert)
               (skosimp)
               (expand "-")
               (expand "*")
               (inst - "x!1")
               (flatten)
               (expand "abs" -1)
               (assert)
               (inst - "x!1")
               (inst - "x!1")
               (expand "abs")
               (assert))))))
          ("2"
           (hide-all-but (-5 -7 1))
           (split)
           (("1"
             (expand "nonempty?")
             (expand "empty?")
             (inst - "p!1(XX)")
             (expand "member")
             (inst - "XX")
             (assert)
             (inst + "XX")
             (expand "abs")
             (propax))
            ("2"
             (expand "above_bounded")
             (expand "bounded?")
             (skosimp)
             (inst + "c!1")
             (expand "upper_bound")
             (skosimp)
             (typepred "z!1")
             (assert)
             (skosimp)
             (inst - "x!1")
             (inst - "x!1")
             (expand "abs")
             (assert))))))
        ("2" (replace 1 2) (replace 1 -8) (assert))))
      ("2"
       (hide 2)
       (skosimp)
       (split)
       (("1"
         (expand "*")
         (typepred "sup_norm(p!1)")
         (lemma "le_times_le_pos"
          ("nnx" "0" "y" "AA" "nnz" "0" "w" "phi(EE)(x!1)"))
         (assert))
        ("2"
         (expand "*")
         (hide -1 -2 -3)
         (expand "phi")
         (expand "member")
         (expand "EE")
         (case-replace "p!1(x!1) > AA")
         (("1" (assert)) ("2" (assert) (inst - "x!1"))))))))
    ("2"
     (hide 2)
     (lemma "phi_is_simple" ("X" "EE"))
     (("1" (rewrite "simple_scal")) ("2" (assert))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (name "HH" "nn_simple_approx")
   (name "GG" "nn_simple_sequence")
   (case "forall p: (forall x: 0 <= HH(p)(x) & HH(p)(x) <= p(x)) AND
                                        sup_norm(p-HH(p)) <= sup_norm(p)/2")
   (("1"
     (case "forall p: nn_bounded_measurable?(p-HH(p))")
     (("1"
       (case "forall p: GG(p)(0)=HH(p)")
       (("1"
         (case "forall p,n: GG(p)(n+1)= GG(p-HH(p))(n)")
         (("1"
           (name "FF"
                 "lambda p: lambda n: lambda x: sigma(0,n,lambda i: GG(p)(i)(x))")
           (case "forall p:FF(p)(0)= HH(p)")
           (("1"
             (case "FORALL p, n: FF(p)(n + 1) = GG(p)(n+1)+FF(p)(n)")
             (("1"
               (case "FORALL p, n: FF(p)(n + 1) = HH(p) + FF(p - HH(p))(n)")
               (("1"
                 (case "FORALL p, n,x: 0<=FF(p)(n)(x)& FF(p)(n)(x)<=p(x)")
                 (("1"
                   (case "forall p: pointwise_increasing?(FF(p))")
                   (("1"
                     (case "forall p,n: nn_simple?(FF(p)(n))")
                     (("1"
                       (case "FORALL p,n: nn_bounded_measurable?(p - FF(p)(n))")
                       (("1"
                         (case "forall p,n: sup_norm(p-FF(p)(n)) <= sup_norm(p) / 2^(n+1)")
                         (("1"
                           (skosimp)
                           (inst + "FF(p!1)")
                           (("1"
                             (expand "sup_norm_converges_to?")
                             (skosimp)
                             (inst - "p!1" "_")
                             (case "exists n: sup_norm(p!1) / 2 ^ (n + 1)< epsilon!1")
                             (("1"
                               (skosimp)
                               (inst + "n!1")
                               (skosimp)
                               (inst - "i!1")
                               (case-replace
                                "FF(p!1)(i!1) - p!1 = -(p!1 - FF(p!1)(i!1))")
                               (("1"
                                 (rewrite "sup_norm_neg")
                                 (name-replace
                                  "LHS"
                                  "sup_norm((p!1 - FF(p!1)(i!1)))")
                                 (hide -1)
                                 (case-replace "sup_norm(p!1)=0")
                                 (("1" (assert))
                                  ("2"
                                   (lemma
                                    "both_sides_div_pos_le2"
                                    ("pz"
                                     "sup_norm(p!1)"
                                     "py"
                                     "2 ^ (n!1 + 1)"
                                     "px"
                                     "2 ^ (i!1 + 1)"))
                                   (("1"
                                     (lemma
                                      "both_sides_expt_gt1_le"
                                      ("gt1x"
                                       "2"
                                       "i"
                                       "n!1+1"
                                       "j"
                                       "i!1+1"))
                                     (assert)
                                     (hide-all-but (-1 1))
                                     (rewrite "real_expt_int_rew")
                                     (rewrite "real_expt_int_rew"))
                                    ("2" (assert))
                                    ("3"
                                     (hide-all-but 1)
                                     (rewrite "real_expt_int_rew")
                                     (rewrite "expt_pos"))
                                    ("4"
                                     (hide-all-but 1)
                                     (rewrite "real_expt_int_rew")
                                     (rewrite "expt_pos"))))))
                                ("2"
                                 (hide-all-but 1)
                                 (apply-extensionality :hide? t)
                                 (expand "-")
                                 (assert))))
                              ("2"
                               (hide-all-but 1)
                               (lemma "large_expt" ("px" "2"))
                               (assert)
                               (case-replace "sup_norm(p!1)=0")
                               (("1" (inst + "0") (assert))
                                ("2"
                                 (inst - "sup_norm(p!1)/epsilon!1")
                                 (("1"
                                   (skosimp)
                                   (inst + "n!1")
                                   (rewrite "div_mult_pos_lt1")
                                   (rewrite "div_mult_pos_lt1")
                                   (("1"
                                     (rewrite "real_expt_int_rew")
                                     (expand "^")
                                     (expand "expt" 2)
                                     (assert))
                                    ("2"
                                     (rewrite "real_expt_int_rew")
                                     (rewrite "expt_pos"))))
                                  ("2"
                                   (lemma
                                    "posreal_div_posreal_is_posreal"
                                    ("px"
                                     "sup_norm[T](p!1)"
                                     "py"
                                     "epsilon!1"))
                                   (("1" (propax)) ("2" (assert))))))))
                              ("3"
                               (hide-all-but 1)
                               (skosimp)
                               (rewrite "real_expt_int_rew")
                               (lemma "expt_pos" ("px" "2" "i" "1+n!1"))
                               (assert))))
                            ("2"
                             (split 1)
                             (("1"
                               (skolem + ("n!1"))
                               (inst -3 "p!1" "n!1")
                               (hide-all-but (-3 1))
                               (expand "nn_simple?")
                               (flatten)
                               (assert)
                               (lemma "simple_is_measurable"
                                ("x" "FF(p!1)(n!1)"))
                               (propax))
                              ("2"
                               (expand "increasing_nn_simple?")
                               (split)
                               (("1" (skosimp) (inst -3 "p!1" "n!1"))
                                ("2" (inst -4 "p!1"))))))))
                          ("2"
                           (hide 2)
                           (induct "n")
                           (("1"
                             (skosimp)
                             (inst -7 "p!1")
                             (replace -7)
                             (inst -12 "p!1")
                             (flatten)
                             (rewrite "real_expt_x1"))
                            ("2"
                             (skosimp*)
                             (inst -6 "p!1" "j!1")
                             (replace -6)
                             (inst - "p!1-HH(p!1)")
                             (inst -13 "p!1")
                             (flatten)
                             (lemma "expt_plus"
                              ("n0x" "2" "i" "1" "j" "j!1+1"))
                             (rewrite "expt_x1")
                             (hide -1)
                             (case-replace
                              "p!1 - HH(p!1) - FF(p!1 - HH(p!1))(j!1)=p!1 - (HH(p!1) + FF(p!1 - HH(p!1))(j!1))")
                             (("1"
                               (hide -1)
                               (lemma "both_sides_div_pos_le1"
                                ("pz"
                                 "2 ^ (j!1 + 1)"
                                 "x"
                                 "sup_norm(p!1 - HH(p!1))"
                                 "y"
                                 "sup_norm(p!1) / 2"))
                               (("1"
                                 (rewrite "div_div2")
                                 (assert)
                                 (hide-all-but (-1 -2 1))
                                 (rewrite "real_expt_int_rew")
                                 (rewrite "real_expt_int_rew")
                                 (expand "^")
                                 (expand "expt" 1)
                                 (assert))
                                ("2"
                                 (rewrite "real_expt_int_rew")
                                 (rewrite "expt_pos"))))
                              ("2"
                               (hide-all-but 1)
                               (apply-extensionality :hide? t)
                               (expand "-")
                               (expand "+")
                               (propax))))
                            ("3"
                             (skosimp)
                             (expand "nn_bounded_measurable?")
                             (expand "bounded_measurable?")
                             (rewrite "real_expt_int_rew")
                             (lemma "expt_pos" ("px" "2" "i" "1+n!2"))
                             (assert))
                            ("4"
                             (hide-all-but (-1 1))
                             (skosimp)
                             (inst - "p!1" "n!2")
                             (expand "nn_bounded_measurable?")
                             (expand "bounded_measurable?")
                             (flatten))))
                          ("3"
                           (skosimp)
                           (expand "nn_bounded_measurable?")
                           (expand "bounded_measurable?")
                           (rewrite "real_expt_int_rew")
                           (lemma "expt_pos" ("px" "2" "i" "1+n!1"))
                           (assert))
                          ("4"
                           (hide-all-but (-1 1))
                           (skosimp)
                           (inst - "p!1" "n!1")
                           (expand "nn_bounded_measurable?")
                           (expand "bounded_measurable?")
                           (flatten))))
                        ("2"
                         (hide-all-but (-1 -3 1))
                         (skosimp)
                         (typepred "p!1")
                         (expand "nn_bounded_measurable?")
                         (flatten)
                         (split)
                         (("1"
                           (inst -3 "p!1" "n!1")
                           (lemma "simple_is_bounded_measurable"
                            ("x" "FF(p!1)(n!1)"))
                           (("1"
                             (expand "bounded_measurable?")
                             (flatten)
                             (split)
                             (("1"
                               (hide-all-but (-3 -5 -7 1))
                               (expand "bounded?")
                               (skosimp)
                               (inst + "c!1")
                               (skosimp)
                               (inst - "x!1")
                               (inst - "x!1")
                               (inst - "p!1" "n!1" "x!1")
                               (flatten)
                               (expand "abs")
                               (assert)
                               (expand "-")
                               (assert))
                              ("2" (rewrite "diff_measurable"))))
                            ("2"
                             (assert)
                             (expand "nn_simple?")
                             (propax))))
                          ("2"
                           (skosimp)
                           (expand "-")
                           (inst -4 "p!1" "n!1" "x!1")
                           (flatten)
                           (assert))))))
                      ("2"
                       (hide 2)
                       (induct "n")
                       (("1"
                         (skosimp)
                         (inst -5 "p!1")
                         (replace -5)
                         (replace -12 1 rl)
                         (assert))
                        ("2"
                         (skosimp*)
                         (inst -5 "p!1" "j!1")
                         (replace -5)
                         (inst - "p!1")
                         (typepred "GG(p!1)(j!1 + 1)")
                         (hide-all-but (-1 -2 -3 1))
                         (expand "nn_simple?")
                         (flatten)
                         (split)
                         (("1"
                           (skosimp)
                           (expand "+")
                           (inst - "x!1")
                           (inst - "x!1")
                           (flatten)
                           (assert))
                          ("2" (rewrite "simple_add"))))))))
                    ("2"
                     (hide 2)
                     (skosimp)
                     (expand "pointwise_increasing?")
                     (skosimp)
                     (expand "increasing?")
                     (skosimp)
                     (case "forall n,m: FF(p!1)(m)(x!1) <= FF(p!1)(m+n)(x!1)")
                     (("1"
                       (inst - "y!1-x!2" "x!2")
                       (("1" (assert)) ("2" (assert))))
                      ("2"
                       (hide -1 2)
                       (induct "n")
                       (("1" (skosimp) (assert))
                        ("2"
                         (skosimp*)
                         (inst - "m!1+1")
                         (case "FF(p!1)(m!1)(x!1) <= FF(p!1)(m!1 + 1)(x!1)")
                         (("1" (assert))
                          ("2"
                           (hide -1 2)
                           (inst -3 "p!1" "m!1")
                           (replace -3 1)
                           (expand "+" 1)
                           (assert)
                           (expand "GG" 1)
                           (typepred "nn_simple_sequence(p!1)(1 + m!1)")
                           (inst - "x!1")
                           (flatten)
                           (assert))))))))))
                  ("2"
                   (hide 2)
                   (induct "n")
                   (("1"
                     (skosimp)
                     (inst - "p!1")
                     (replace -3)
                     (inst -8 "p!1")
                     (flatten)
                     (inst -8 "x!1"))
                    ("2"
                     (skosimp*)
                     (inst - "p!1-HH(p!1)" "x!1")
                     (("1"
                       (flatten)
                       (inst -3 "p!1" "j!1")
                       (replace -3)
                       (hide -3)
                       (expand "+" 1)
                       (name-replace "F" "FF(p!1 - HH(p!1))(j!1)(x!1)")
                       (expand "-" -2)
                       (assert)
                       (inst -9 "p!1")
                       (flatten)
                       (inst -9 "x!1")
                       (flatten)
                       (assert))
                      ("2" (inst -7 "p!1"))))))))
                ("2"
                 (hide 2)
                 (induct "n")
                 (("1"
                   (skosimp)
                   (inst - "p!1" "0")
                   (replace -1)
                   (inst -4 "p!1" "0")
                   (replace -4)
                   (inst-cp - "p!1-HH(p!1)")
                   (replace -3)
                   (inst -6 "p!1-HH(p!1)")
                   (replace -6)
                   (inst -2 "p!1")
                   (replace -2)
                   (apply-extensionality 1 :hide? t)
                   (expand "+")
                   (propax))
                  ("2"
                   (skosimp*)
                   (inst-cp -2 "p!1" "j!1+1")
                   (replace -3)
                   (hide -3)
                   (inst -2 "p!1-HH(p!1)" "j!1")
                   (replace -2)
                   (hide -2)
                   (inst - "p!1")
                   (replace -1)
                   (hide -1)
                   (inst -3 "p!1" "j!1+1")
                   (replace -3)
                   (hide -3)
                   (apply-extensionality 1 :hide? t)
                   (expand "+" 1)
                   (propax))))))
              ("2"
               (skosimp)
               (hide-all-but 1)
               (expand "FF")
               (apply-extensionality :hide? t)
               (expand "+")
               (expand "sigma" 1 1)
               (propax))))
            ("2"
             (hide-all-but 1)
             (skosimp)
             (expand "FF")
             (apply-extensionality :hide? t)
             (expand "sigma")
             (expand "GG")
             (expand "nn_simple_sequence")
             (expand "HH")
             (expand "sigma")
             (propax))))
          ("2"
           (hide-all-but 1)
           (skosimp)
           (expand "GG")
           (expand "nn_simple_sequence" 1 1)
           (expand "HH")
           (propax))
          ("3" (propax))))
        ("2"
         (hide-all-but 1)
         (skosimp)
         (expand "GG")
         (expand "nn_simple_sequence")
         (expand "HH")
         (propax))))
      ("2"
       (hide 2)
       (skosimp)
       (typepred "nn_simple_approx(p!1)")
       (replace -4)
       (lemma "simple_is_bounded_measurable" ("x" "HH(p!1)"))
       (typepred "p!1")
       (expand "nn_bounded_measurable?")
       (expand "bounded_measurable?")
       (flatten)
       (skosimp)
       (expand "-")
       (inst -7 "p!1")
       (flatten)
       (inst -7 "x!1")
       (assert))))
    ("2"
     (hide-all-but (-2 1))
     (skosimp)
     (case "nonempty?({h | (forall x: 0 <= h(x) & h(x) <= p!1(x)) AND
                                          sup_norm(p!1-h) <= sup_norm(p!1)/2})")
     (("1"
       (lemma "choose_member"
        ("a"
         "({h |
                            (FORALL x: 0 <= h(x) & h(x) <= p!1(x)) AND
                             sup_norm(p!1 - h) <= sup_norm(p!1) / 2})"))
       (split -1)
       (("1"
         (expand "HH")
         (expand "nn_simple_approx")
         (name-replace "H"
          "choose({h |
                              (FORALL x: 0 <= h(x) & h(x) <= p!1(x)) AND
                               sup_norm(p!1 - h) <= sup_norm(p!1) / 2})")
         (expand "member")
         (propax))
        ("2" (expand "nonempty?") (propax))))
      ("2"
       (hide -1 2)
       (expand "nonempty?")
       (expand "empty?")
       (expand "member")
       (lemma "sup_norm_simple" ("p" "p!1"))
       (skolem!)
       (inst -2 "h!1"))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (skosimp)
   (typepred "w!1")
   (expand "increasing_nn_simple?")
   (flatten)
   (expand "sup_norm_converges_to?")
   (hide -1)
   (inst - "w!1(n!1)(x!1)-p!1(x!1)")
   (("1"
     (skosimp)
     (inst - "max(n!1,n!2)")
     (case "max(n!1, n!2) >= n!1&max(n!1, n!2) >= n!2")
     (("1"
       (flatten)
       (assert)
       (lemma "sup_norm_prop" ("f" "w!1(max(n!1, n!2)) - p!1"))
       (flatten)
       (case "w!1(n!1)(x!1) > p!1(x!1)")
       (("1"
         (inst - "x!1")
         (expand "pointwise_increasing?")
         (inst -6 "x!1")
         (expand "increasing?")
         (inst - "n!1" "max(n!1, n!2)")
         (assert)
         (expand "abs" -2)
         (assert)
         (typepred "p!1")
         (expand "nn_bounded_measurable?")
         (flatten)
         (inst - "x!1")
         (assert)
         (expand "-" -4 1)
         (name-replace "SUP" "sup_norm(w!1(max(n!1, n!2)) - p!1)")
         (expand "-" -4)
         (assert))
        ("2" (assert))))
      ("2" (hide-all-but 1) (grind))))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (case "forall w,p: sup_norm_converges_to?(w,p) => forall n,x: w(n)(x)<=p(x)")
   (("1"
     (skosimp)
     (lemma "plus_minus_def" ("f" "f!1"))
     (replace -1 1)
     (case "bounded_measurable?(minus(f!1))")
     (("1"
       (case "bounded_measurable?(plus(f!1))")
       (("1"
         (lemma "nn_bounded_measurable_as_increasing_simple_sequence"
          ("p" "minus(f!1)"))
         (("1"
           (lemma "nn_bounded_measurable_as_increasing_simple_sequence"
            ("p" "plus(f!1)"))
           (("1"
             (skosimp*)
             (inst + "w!1-w!2")
             (("1"
               (expand "sup_norm_converges_to?")
               (skosimp)
               (inst - "epsilon!1/2")
               (inst - "epsilon!1/2")
               (skosimp*)
               (inst + "max(n!1,n!2)")
               (skosimp)
               (inst - "i!1")
               (inst - "i!1")
               (assert)
               (lemma "sup_norm_neg" ("f" "w!2(i!1) - minus(f!1)"))
               (lemma "sup_norm_sum"
                ("f1"
                 "w!1(i!1) - plus(f!1)"
                 "f2"
                 "-(w!2(i!1) - minus(f!1))"))
               (replace -2 -1)
               (expand "+" -1 1)
               (name-replace "SUP_1" "sup_norm(w!1(i!1) - plus(f!1))")
               (name-replace "SUP_2" "sup_norm(w!2(i!1) - minus(f!1))")
               (hide-all-but (-1 -3 -4 1))
               (expand "-")
               (expand "-")
               (assert))
              ("2"
               (typepred "w!1")
               (typepred "w!2")
               (expand "increasing_nn_simple?")
               (flatten)
               (skosimp)
               (expand "-" 1)
               (inst - "x1!1")
               (inst - "x1!1")
               (expand "nn_simple?")
               (flatten)
               (rewrite "simple_diff"))))
            ("2"
             (expand "nn_bounded_measurable?")
             (split 1)
             (("1" (propax)) ("2" (hide-all-but 1) (grind))))))
          ("2"
           (expand "nn_bounded_measurable?")
           (split 1)
           (("1" (propax)) ("2" (hide-all-but 1) (grind))))))
        ("2"
         (hide-all-but (-4 1))
         (expand "bounded_measurable?")
         (flatten)
         (split)
         (("1"
           (expand "bounded?")
           (skosimp)
           (inst + "c!1")
           (skosimp)
           (inst - "x!1")
           (hide -2)
           (grind))
          ("2"
           (lemma "plus_measurable" ("g" "f!1"))
           (("1" (propax)) ("2" (propax))))))))
      ("2"
       (hide-all-but (-3 1))
       (expand "bounded_measurable?")
       (flatten)
       (split)
       (("1"
         (expand "bounded?")
         (hide -2)
         (skosimp)
         (inst + "c!1")
         (skosimp)
         (inst - "x!1")
         (grind))
        ("2"
         (lemma "minus_measurable" ("g" "f!1"))
         (("1" (propax)) ("2" (propax))))))))
    ("2"
     (hide 2)
     (skosimp*)
     (typepred "w!1")
     (expand "increasing_nn_simple?")
     (flatten)
     (expand "sup_norm_converges_to?")
     (inst -3 "w!1(n!1)(x!1) - p!1(x!1)")
     (("1"
       (skosimp)
       (inst -3 "max(n!1,n!2)")
       (assert)
       (split -3)
       (("1"
         (lemma "sup_norm_prop" ("f" "w!1(max(n!1,n!2)) - p!1"))
         (flatten)
         (name-replace "SUP" "sup_norm(w!1(max(n!1, n!2)) - p!1)")
         (inst - "x!1")
         (expand "pointwise_increasing?")
         (inst -5 "x!1")
         (expand "increasing?")
         (inst -5 "n!1" "max(n!1,n!2)")
         (assert)
         (expand "abs" -1)
         (assert)
         (hide -4)
         (grind))
        ("2" (hide-all-but 1) (grind))))
      ("2" (assert))))
    ("3"
     (hide 2)
     (skosimp)
     (skosimp)
     (typepred "w!1")
     (expand "increasing_nn_simple?")
     (flatten)
     (inst - "x1!1")
     (expand "nn_simple?")
     (flatten)
     (lemma "simple_is_bounded_measurable" ("x" "w!1(x1!1)"))
     (("1" (expand "bounded_measurable?") (propax)) ("2" (propax))))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp*)
   (split)
   (("1"
     (flatten)
     (name "G" "lambda n: min(f!1,const_fun[T,real](n+1))")
     (case "forall n: bounded_measurable?(G(n))")
     (("1"
       (case "forall n: EXISTS h: (forall x: 0 <= h(x)&h(x)<=G(n)(x)) & sup_norm(G(n)-h) <= 1/(n+1)")
       (("1"
         (name "H"
               "lambda n: choose[simple]({h | (FORALL x: 0 <= h(x) & h(x) <= G(n)(x)) & sup_norm(G(n) - h) <= 1 / (n + 1)})")
         (("1"
           (case "pointwise_increasing?(G)")
           (("1"
             (case "forall n: (FORALL x: 0 <= H(n)(x) & H(n)(x) <= G(n)(x)) &
                                     sup_norm(G(n) - H(n)) <= 1 / (n + 1)")
             (("1"
               (case "pointwise_convergence?(H, f!1)")
               (("1"
                 (expand "pointwise_converges_upto?")
                 (case "exists v: v(0)=H(0)&(forall (n:nat): v(n+1) = max(H(n+1),v(n)))")
                 (("1"
                   (skosimp)
                   (name-replace "F" "v!1")
                   (case "pointwise_increasing?(F)")
                   (("1"
                     (case "FORALL n: nn_simple?(F(n))")
                     (("1"
                       (case "increasing_nn_simple?(F)")
                       (("1"
                         (case "pointwise_convergence?(F, f!1)")
                         (("1" (inst + "F") (assert))
                          ("2"
                           (hide 2)
                           (expand "pointwise_convergence?")
                           (skosimp)
                           (inst -6 "x!1")
                           (rewrite "metric_convergence_def" *)
                           (rewrite "metric_convergence_def" *)
                           (hide -9 -10 -11 -12)
                           (expand "metric_converges_to")
                           (skosimp)
                           (expand "ball")
                           (expand "member")
                           (inst -6 "r!1/2")
                           (skosimp)
                           (case "exists n: 1/(n+1) < r!1/2")
                           (("1"
                             (skosimp)
                             (case "max(n!1,n!2)>=n!1&max(n!1,n!2)>=n!2")
                             (("1"
                               (flatten)
                               (inst + "max(n!1, n!2)")
                               (skosimp)
                               (inst -10 "i!1")
                               (assert)
                               (case "abs(H(i!1)(x!1)- F(i!1)(x!1)) < r!1/2")
                               (("1" (hide-all-but (-1 -11 1)) (grind))
                                ("2"
                                 (hide 2)
                                 (case "forall n: F(n)(x!1)>=H(n)(x!1)")
                                 (("1"
                                   (case
                                    "F(i!1)(x!1)-H(i!1)(x!1)< r!1 / 2")
                                   (("1"
                                     (inst - "i!1")
                                     (expand "abs")
                                     (assert))
                                    ("2"
                                     (hide 2)
                                     (case
                                      "forall n: G(n)(x!1)>=F(n)(x!1)")
                                     (("1"
                                       (inst - "i!1")
                                       (inst - "i!1")
                                       (inst -13 "i!1")
                                       (flatten)
                                       (lemma
                                        "sup_norm_prop"
                                        ("f" "G(i!1) - H(i!1)"))
                                       (flatten)
                                       (name-replace
                                        "SUP"
                                        "sup_norm(G(i!1) - H(i!1))")
                                       (hide -2)
                                       (inst - "x!1")
                                       (expand "-" -1)
                                       (expand "abs" -1)
                                       (assert)
                                       (lemma
                                        "both_sides_div_pos_le2"
                                        ("pz"
                                         "1"
                                         "py"
                                         "1+n!2"
                                         "px"
                                         "1+i!1"))
                                       (assert))
                                      ("2"
                                       (hide 2)
                                       (induct "n")
                                       (("1"
                                         (replace -9)
                                         (inst -12 "0")
                                         (flatten)
                                         (inst -12 "x!1")
                                         (flatten)
                                         (assert))
                                        ("2"
                                         (skosimp*)
                                         (inst -11 "j!1")
                                         (replace -11)
                                         (expand "max" 1)
                                         (inst -13 "1+j!1")
                                         (flatten)
                                         (inst -13 "x!1")
                                         (hide-all-but (-1 -13 -15 1))
                                         (expand "pointwise_increasing?")
                                         (inst - "x!1")
                                         (expand "increasing?")
                                         (inst - "j!1" "j!1+1")
                                         (assert)
                                         (grind))))))))
                                  ("2"
                                   (hide 2)
                                   (induct "n")
                                   (("1" (replace -8) (assert))
                                    ("2"
                                     (skosimp*)
                                     (inst -10 "j!1")
                                     (replace -10)
                                     (expand "max" 1)
                                     (expand "max" 1)
                                     (case-replace
                                      "H(1 + j!1)(x!1) < F(j!1)(x!1)")
                                     (("1" (assert))
                                      ("2" (assert))))))))))
                              ("2" (hide-all-but 1) (grind))))
                            ("2"
                             (hide-all-but 1)
                             (lemma "archimedean" ("px" "r!1/2"))
                             (skosimp)
                             (inst + "n!2-1")
                             (assert))))))
                        ("2"
                         (expand "increasing_nn_simple?")
                         (replace -2)
                         (propax))))
                      ("2"
                       (hide-all-but (-1 -2 -5 1))
                       (expand "nn_simple?")
                       (skosimp*)
                       (inst - "0")
                       (flatten)
                       (inst - "x!1")
                       (flatten)
                       (expand "pointwise_increasing?")
                       (inst - "x!1")
                       (expand "increasing?")
                       (inst - "0" "n!1")
                       (assert))))
                    ("2"
                     (hide-all-but (-1 -2 1))
                     (expand "pointwise_increasing?")
                     (skosimp)
                     (expand "increasing?")
                     (case "forall n,m: F(m)(x!1) <= F(n+m)(x!1)")
                     (("1"
                       (skosimp)
                       (inst - "y!1-x!2" "x!2")
                       (("1" (assert)) ("2" (assert))))
                      ("2"
                       (hide 2 -1)
                       (induct "n")
                       (("1" (skosimp) (assert))
                        ("2"
                         (skosimp*)
                         (inst - "m!1")
                         (inst - "j!1+m!1")
                         (replace -2)
                         (hide -2)
                         (grind))))))))
                  ("2"
                   (hide-all-but 1)
                   (inst + "lambda (k:nat): maximum(H,k)")
                   (case "FORALL (n: nat):
                                   maximum(H,n) = if n=0 then H(0) else max(H(n), maximum(H,n-1)) endif")
                   (("1"
                     (split)
                     (("1" (inst - "0"))
                      ("2" (skosimp) (inst - "n!1+1") (assert))))
                    ("2"
                     (hide 2)
                     (induct "n")
                     (("1" (expand "maximum") (propax))
                      ("2" (skosimp*) (expand "maximum" 1 1) (propax))
                      ("3" (skosimp) (assert))))
                    ("3" (skosimp) (assert))))))
                ("2"
                 (hide 2)
                 (expand "pointwise_convergence?")
                 (skosimp)
                 (rewrite "metric_convergence_def" *)
                 (expand "metric_converges_to")
                 (skosimp)
                 (expand "ball")
                 (expand "member")
                 (lemma "archimedean" ("px" "r!1"))
                 (skosimp)
                 (lemma "axiom_of_archimedes" ("x" "f!1(x!1)"))
                 (skosimp)
                 (inst -10 "x!1")
                 (name "N" "max(n!1+1,i!1)")
                 (inst + "N")
                 (("1"
                   (skosimp)
                   (inst -5 "i!2")
                   (flatten)
                   (lemma "sup_norm_prop" ("f" "G(i!2) - H(i!2)"))
                   (flatten)
                   (inst - "x!1")
                   (expand "-" -1 1)
                   (expand "G" -1 1)
                   (expand "const_fun" -1)
                   (expand "min" -1)
                   (expand "min" -1)
                   (assert)
                   (case "1 / (1 + i!2)< r!1")
                   (("1" (assert))
                    ("2"
                     (hide-all-but (1 -6 -3 -5 -4 -15))
                     (rewrite "div_mult_pos_lt1" 1)
                     (rewrite "div_mult_pos_lt1" -3)
                     (lemma "both_sides_times_pos_lt1"
                      ("pz" "r!1" "x" "n!1" "y" "i!2+1"))
                     (assert))))
                  ("2" (assert))))))
              ("2"
               (hide 2 -2)
               (skosimp)
               (expand "H")
               (lemma "choose_member[simple]"
                ("a"
                 "{h |
                                          (FORALL x: 0 <= h(x) & h(x) <= G(n!1)(x)) &
                                           sup_norm(G(n!1) - h) <= 1 / (1 + n!1)}"))
               (("1"
                 (split -1)
                 (("1" (expand "member") (propax))
                  ("2"
                   (hide 1)
                   (expand "empty?")
                   (expand "member")
                   (inst -3 "n!1")
                   (skosimp)
                   (inst - "h!1")
                   (replace -3)
                   (propax))))
                ("2"
                 (hide 2)
                 (skosimp)
                 (inst -4 "n!1")
                 (expand "bounded_measurable?")
                 (flatten)
                 (expand "bounded?")
                 (skosimp)
                 (inst + "c!1")
                 (skosimp)
                 (inst - "x!1")
                 (inst -4 "x!1")
                 (hide-all-but (-1 -4 1))
                 (grind))))
              ("3"
               (hide 2)
               (skosimp)
               (hide-all-but (-1 -5 1))
               (inst -2 "n!1")
               (expand "bounded_measurable?")
               (flatten)
               (expand "bounded?")
               (skosimp)
               (inst + "c!1")
               (skosimp)
               (inst - "x!1")
               (inst - "x!1")
               (hide -3)
               (expand "G")
               (grind))))
            ("2"
             (hide-all-but (-6 1))
             (expand "pointwise_increasing?")
             (skosimp)
             (inst - "x!1")
             (expand "G")
             (expand "increasing?")
             (skosimp*)
             (grind))))
          ("2"
           (hide 2)
           (skosimp)
           (inst - "n!1")
           (skosimp)
           (expand "nonempty?")
           (expand "empty?")
           (expand "member")
           (inst - "h!1")
           (replace -1)
           (assert))))
        ("2"
         (hide 2)
         (skosimp)
         (inst - "n!1")
         (lemma "nn_bounded_measurable_as_increasing_simple_sequence"
          ("p" "G(n!1)"))
         (("1"
           (skosimp)
           (typepred "w!1")
           (lemma "sup_norm_converges_to_pointwise_convergence"
            ("u" "w!1" "f" "G(n!1)"))
           (assert)
           (expand "sup_norm_converges_to?")
           (inst - "1/(1+n!1)")
           (skosimp)
           (inst - "n!2")
           (assert)
           (assert)
           (inst + "w!1(n!2)")
           (("1"
             (split)
             (("1"
               (skosimp)
               (copy -2)
               (expand "increasing_nn_simple?" -1)
               (flatten)
               (inst - "n!2")
               (expand "nn_simple?")
               (flatten)
               (inst - "x!1")
               (assert)
               (lemma "inf_pointwise_convergence_upto"
                ("p" "w!1" "f" "G(n!1)"))
               (("1"
                 (assert)
                 (expand "pointwise_converges_upto?")
                 (flatten)
                 (lemma "inf_pointwise_le" ("p" "w!1" "f" "G(n!1)"))
                 (assert)
                 (inst - "x!1")
                 (inst - "n!2" "x!1")
                 (expand "inf")
                 (hide -2 -3)
                 (typepred
                  "inf(image[nat, real](LAMBDA m: w!1(m)(x!1), {m | m >= n!2}))")
                 (name-replace "INF"
                  "inf(image[nat, real](LAMBDA m: w!1(m)(x!1), {m | m >= n!2}))")
                 (expand "image")
                 (expand "greatest_lower_bound")
                 (flatten)
                 (expand "lower_bound")
                 (inst - "w!1(n!2)(x!1)")
                 (("1"
                   (inst - "w!1(n!2)(x!1)")
                   (split -2)
                   (("1" (assert)) ("2" (assert))
                    ("3"
                     (skosimp*)
                     (typepred "z!1")
                     (skosimp)
                     (typepred "x!2")
                     (expand "pointwise_increasing?")
                     (inst - "x!1")
                     (expand "increasing?")
                     (inst - "n!2" "x!2")
                     (assert))))
                  ("2" (inst + "n!2"))))
                ("2"
                 (expand "pointwise_bounded_below?")
                 (expand "pointwise?")
                 (skosimp)
                 (expand "increasing_nn_simple?")
                 (expand "nn_simple?")
                 (hide-all-but (-5 1))
                 (expand "bounded_below?")
                 (inst + "0")
                 (skosimp)
                 (inst - "x!3")
                 (flatten)
                 (inst - "x!2"))))
              ("2"
               (lemma "sup_norm_neg" ("f" "G(n!1) - w!1(n!2)"))
               (expand "-")
               (assert))))
            ("2"
             (expand "increasing_nn_simple?")
             (flatten)
             (inst - "n!2")
             (expand "nn_simple?")
             (flatten))))
          ("2"
           (hide 2)
           (expand "nn_bounded_measurable?")
           (assert)
           (skosimp)
           (inst - "x!1")
           (expand "G")
           (hide-all-but (-4 1))
           (grind))))
        ("3"
         (hide -2 2)
         (skosimp*)
         (expand "bounded?")
         (inst + "n!1+1")
         (skosimp)
         (inst - "x!1")
         (inst -4 "x!1")
         (flatten)
         (hide -3 -4)
         (expand "G")
         (grind))))
      ("2"
       (hide 2)
       (skosimp)
       (expand "bounded_measurable?")
       (split)
       (("1"
         (expand "bounded?")
         (inst + "n!1+1")
         (skosimp)
         (inst - "x!1")
         (hide -1 -2)
         (expand "G")
         (grind))
        ("2"
         (expand "G")
         (hide -1)
         (lemma "const_measurable" ("c" "1+n!1"))
         (expand "const_fun")
         (lemma "min_measurable"
          ("g1" "f!1" "g2" "LAMBDA (x: T): 1 + n!1"))
         (("1" (propax)) ("2" (propax)) ("3" (propax))))))))
    ("2"
     (skosimp*)
     (expand "pointwise_converges_upto?")
     (flatten)
     (lemma "pointwise_measurable" ("u" "w!1" "f" "f!1"))
     (assert))))


proof_type: f_proof
decl_type: formula
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1"
     (flatten)
     (rewrite "measurable_plus_minus")
     (flatten)
     (lemma "plus_minus_def" ("f" "f!1"))
     (replace -1 1)
     (lemma "nn_measurable_def" ("f" "minus(f!1)"))
     (lemma "nn_measurable_def" ("f" "plus(f!1)"))
     (assert)
     (split)
     (("1"
       (split)
       (("1"
         (skosimp*)
         (inst + "lambda n: w!2(n)-w!1(n)")
         (("1"
           (expand "pointwise_converges_upto?")
           (flatten)
           (hide-all-but (-1 -3 1))
           (lemma "pointwise_convergence_diff"
            ("u" "w!2" "v" "w!1" "f0" "plus(f!1)" "f1" "minus(f!1)"))
           (assert)
           (hide -2 -3)
           (expand "-")
           (expand "-")
           (propax))
          ("2"
           (skosimp)
           (typepred "w!2")
           (typepred "w!1")
           (expand "increasing_nn_simple?")
           (flatten)
           (inst - "n!1")
           (inst - "n!1")
           (expand "nn_simple?")
           (flatten)
           (rewrite "simple_diff"))))
        ("2" (hide-all-but 1) (grind))))
      ("2" (hide-all-but 1) (grind))))
    ("2"
     (skosimp*)
     (lemma "pointwise_measurable" ("u" "v!1" "f" "f!1"))
     (assert))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "g!1")
   (typepred "phi!1")
   (expand "measurable_function?")
   (skosimp)
   (expand "borel_function?")
   (inst - "B!1")
   (inst - "inverse_image(phi!1, B!1)")
   (expand "measurable_set?")
   (lemma "extensionality"
    ("a"
     "inverse_image(g!1, inverse_image(phi!1, B!1))"
     "b"
     "inverse_image(o[T, real, real](phi!1, g!1), B!1)"))
   (split -1)
   (("1" (assert))
    ("2"
     (hide-all-but 1)
     (skosimp*)
     (expand "o")
     (expand "inverse_image")
     (expand "member")
     (propax))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "g!1")
   (lemma "borel_comp_measurable_is_measurable"
    ("phi" "lambda (x:real): abs(x)" "g" "g!1"))
   (("1" (expand "o") (expand "abs" 1) (propax))
    ("2"
     (hide-all-but 1)
     (lemma "continuous_is_borel" ("x" "LAMBDA (x: real): abs(x)"))
     (("1" (propax))
      ("2"
       (hide 2)
       (rewrite "metric_continuous_def")
       (expand "metric_continuous?")
       (expand "metric_continuous_at?")
       (expand "member")
       (expand "ball")
       (skosimp*)
       (inst + "epsilon!1")
       (skosimp)
       (grind))))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "borel_comp_measurable_is_measurable"
    ("g" "g!1" "phi" "lambda (x:real): expt(x,n!1)"))
   (("1" (expand "o") (expand "expt" 1) (propax))
    ("2"
     (hide 2)
     (lemma "continuous_is_borel")
     (inst - "LAMBDA (x: real): expt(x, n!1)")
     (hide 2)
     (lemma "expt_nat_continuous" ("g" "lambda (x:real): x" "n" "n!1"))
     (("1" (expand "expt" -1) (rewrite "metric_continuous_def"))
      ("2"
       (hide 2)
       (expand "metric_continuous?")
       (skosimp)
       (expand "metric_continuous_at?")
       (skosimp)
       (inst + "epsilon!1")
       (skosimp))))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "expt_nat_measurable" ("g" "g!1" "n" "2"))
   (expand "expt")
   (expand "sq")
   (expand "sq")
   (expand "expt")
   (expand "expt")
   (expand "expt")
   (propax))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "sum_measurable" ("g1" "g1!1" "g2" "g2!1"))
   (lemma "diff_measurable" ("g1" "g1!1" "g2" "g2!1"))
   (lemma "abs_measurable" ("g" "(-[T])(g1!1, g2!1)"))
   (rewrite "min_def" 1)
   (lemma "diff_measurable"
    ("g1" "+[T](g1!1, g2!1)" "g2" "abs[T]((-[T])(g1!1, g2!1))"))
   (lemma "scal_measurable"
    ("c"
     "1/2"
     "g"
     "(-[T])
                                    (+[T](g1!1, g2!1),
                                     abs[T]((-[T])(g1!1, g2!1)))"))
   (assert))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (rewrite "max_def")
   (typepred "g1!1")
   (typepred "g2!1")
   (lemma "diff_measurable" ("g1" "g1!1" "g2" "g2!1"))
   (lemma "sum_measurable" ("g1" "g1!1" "g2" "g2!1"))
   (lemma "abs_measurable" ("g" "(-[T])(g1!1, g2!1)"))
   (lemma "sum_measurable"
    ("g1" "+[T](g1!1, g2!1)" "g2" "abs[T]((-[T])(g1!1, g2!1))"))
   (lemma "scal_measurable"
    ("c"
     "1/2"
     "g"
     "+[T]
                                    (+[T](g1!1, g2!1),
                                     abs[T]((-[T])(g1!1, g2!1)))"))
   (assert))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (induct "n")
   (("1" (skosimp) (expand "minimum") (propax))
    ("2"
     (skosimp)
     (skosimp)
     (inst - "u!1")
     (expand "minimum" 1)
     (assert)
     (rewrite "min_measurable"))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (induct "n")
   (("1" (skosimp) (expand "maximum") (propax))
    ("2"
     (skosimp)
     (skosimp)
     (inst - "u!1")
     (expand "maximum" 1)
     (rewrite "max_measurable"))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "plus")
   (typepred "g!1")
   (lemma "scal_measurable" ("c" "0" "g" "g!1"))
   (lemma "max_measurable" ("g1" "g!1" "g2" "*[T](0,g!1)"))
   (expand "max" -1)
   (expand "*" -1)
   (lemma "extensionality[T,real]"
    ("f"
     "LAMBDA (x: T): max(g!1(x), 0 * g!1(x))"
     "g"
     "LAMBDA (x: T): max(g!1(x), 0)"))
   (split -1)
   (("1" (assert)) ("2" (hide-all-but 1) (grind))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "minus")
   (typepred "g!1")
   (lemma "scal_measurable" ("c" "0" "g" "g!1"))
   (lemma "min_measurable" ("g1" "g!1" "g2" "*[T](0, g!1)"))
   (expand "*")
   (expand "min" -1)
   (assert)
   (lemma "opp_measurable" ("g" "LAMBDA (x:T): min(g!1(x),0*g!1(x))"))
   (expand "-" -1)
   (lemma "extensionality"
    ("f"
     "LAMBDA (x_1: T): -min(g!1(x_1), 0 * g!1(x_1))"
     "g"
     "LAMBDA (x: T): -min(g!1(x), 0)"))
   (split -1)
   (("1" (assert)) ("2" (hide-all-but 1) (grind))))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (rewrite "prod_def")
   (lemma "sum_measurable" ("g1" "g1!1" "g2" "g2!1"))
   (lemma "diff_measurable" ("g1" "g1!1" "g2" "g2!1"))
   (lemma "sq_measurable" ("g" "(+[T])(g1!1, g2!1)"))
   (lemma "sq_measurable" ("g" "(-[T])(g1!1, g2!1)"))
   (lemma "diff_measurable"
    ("g1" "sq[T]((+[T])(g1!1, g2!1))" "g2" "sq[T]((-[T])(g1!1, g2!1))"))
   (rewrite "scal_measurable"))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "borel_comp_measurable_is_measurable"
    ("phi" "(abs)^a!1" "g" "g!1"))
   (("1"
     (expand "o")
     (expand "^" -1)
     (case-replace
      "(LAMBDA (x: T): (abs)(g!1(x)) ^ a!1)=(^[T](g!1, a!1))")
     (hide-all-but 1)
     (apply-extensionality :hide? t)
     (expand "^" 1 2)
     (typepred "g!1")
     (expand "nn_measurable?")
     (flatten)
     (inst - "x!1")
     (expand "abs")
     (assert))
    ("2"
     (hide 2)
     (lemma "continuous_is_borel")
     (inst - "(^[real]((abs), a!1))")
     (hide 2)
     (lemma "expt_real_continuous")
     (inst - "a!1" "abs")
     (("1" (rewrite "metric_continuous_def"))
      ("2"
       (hide 2)
       (split)
       (("1"
         (expand "metric_continuous?")
         (expand "metric_continuous_at?")
         (skosimp*)
         (inst + "epsilon!1")
         (grind))
        ("2" (grind))))))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "measurable_function?")
   (skosimp)
   (expand "inverse_image")
   (expand "member")
   (case "B!1(0)")
   (("1" (lemma "measurable_fullset") (expand "fullset") (assert))
    ("2" (lemma "measurable_emptyset") (expand "emptyset") (assert))))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "measurable_bounded_above?")
   (expand "pointwise_bounded_above?")
   (expand "pointwise?")
   (expand "bounded_above?")
   (skosimp)
   (inst + "0")
   (grind))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "measurable_bounded_below?")
   (expand "pointwise_bounded_below?")
   (expand "pointwise?")
   (skosimp)
   (expand "bounded_below?")
   (inst + "0")
   (grind))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "measurable_bounded?")
   (rewrite "measurable_bounded_above_TCC2")
   (rewrite "measurable_bounded_below_TCC1"))


proof_type: j_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "x!1")
   (expand "measurable_bounded?")
   (flatten)
   (expand "measurable_bounded_above?")
   (expand "measurable_bounded_below?")
   (rewrite "pointwise_bounded_def")
   (assert))


proof_type: t_proof
decl_type: tcc
library: measure_integration
theory: measure_space
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "simple?")
   (lemma "const_measurable" ("c" "0"))
   (expand "const_fun")
   (assert)
   (hide -1)
   (expand "fullset")
   (expand "image")
   (case "exists x: true")
   (("1"
     (lemma "extensionality"
      ("a"
       "{y: real | EXISTS (x_1: ({x: T | TRUE})): y = 0}"
       "b"
       "singleton(0)"))
     (split -1)
     (("1" (assert))
      ("2"
       (skolem - ("TT"))
       (skosimp)
       (expand "singleton")
       (expand "member")
       (case-replace "x!1=0")
       (("1" (assert) (inst + "TT")) ("2" (assert))))))
    ("2"
     (lemma "extensionality"
      ("a"
       "{y: real | EXISTS (x_1: ({x: T | TRUE})): y = 0}"
       "b"
       "emptyset[real]"))
     (split -1)
     (("1" (assert))
      ("2"
       (skosimp*)
       (expand "emptyset")
       (expand "member")
       (skosimp)
       (inst + "x!2"))))))


