# Proofs

proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: holder_scaf
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (typepred "q")
   (typepred "p")
   (lemma "div_cancel3" ("x" "1" "n0z" "q" "y" "1-1/p"))
   (assert)
   (flatten)
   (hide -2)
   (split)
   (("1"
     (replace -1 1)
     (lemma "both_sides_times_pos_ge1" ("pz" "q" "x" "1" "y" "1-1/p"))
     (assert)
     (hide 2)
     (lemma "posreal_div_posreal_is_posreal" ("px" "1" "py" "p"))
     (assert))
    ("2" (assert))))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: holder_scaf
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "holder_aux" ("f" "f!1" "g" "g!1"))
   (flatten)
   (hide -2)
   (expand "*")
   (expand "*")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: minkowski_scaf
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (name "KK" "reals@real_fun_ops_aux[T].max(abs(f!1),abs(g!1))")
   (case "forall (x:T): abs(f!1+g!1)(x) <= abs(f!1)(x)+abs(g!1)(x) & abs(f!1)(x)+abs(g!1)(x) <= 2*KK(x)")
   (("1"
     (case "integrable?(+[T](abs[T](f!1)^p,abs[T](g!1)^p))")
     (("1"
       (lemma "nn_integrable_le"
        ("f"
         "2^p * (abs[T](f!1) ^ p + abs[T](g!1) ^ p)"
         "g"
         "abs(f!1 + g!1)^p"))
       (("1"
         (split -1)
         (("1"
           (flatten)
           (lemma "nn_integrable_is_integrable")
           (inst - "abs(f!1 + g!1) ^ p")
           (("1"
             (rewrite "integral_nn" -3 :dir rl)
             (case-replace "p_integrable?(f!1 + g!1)")
             (("1"
               (expand "norm")
               (typepred "p")
               (expand ">=" -1)
               (expand "<=" -1)
               (split -1)
               (("1"
                 (name "q" "p/(p-1)")
                 (("1"
                   (case "q>1 & 1/p+1/q =1")
                   (("1"
                     (flatten -1)
                     (hide -8 -9)
                     (case "abs(f!1 + g!1) ^ p=(abs(f!1 + g!1) ^(p-1))^q")
                     (("1"
                       (name "H" "abs(f!1 + g!1) ^ (p - 1)")
                       (replace -1)
                       (name "CH" "lambda (x:T): complex_(H(x),0)")
                       (case "p_integrable?[T,S,mu,p/(p-1)](CH)")
                       (("1"
                         (case "norm[T,S,mu,p / (p - 1)](CH) = norm(f!1+g!1)^(p/q)")
                         (("1"
                           (lemma "holder_scaf[T,S,mu,p,p / (p - 1)]"
                            ("f" "f!1" "g" "CH"))
                           (("1"
                             (lemma "holder_scaf[T,S,mu,p,p / (p - 1)]"
                              ("f" "g!1" "g" "CH"))
                             (("1"
                               (replace -3)
                               (case "forall (f:p_integrable[T,S,mu,1]): integral.integrable?(abs(f)) & norm[T, S, mu, 1](f) = integral.integral(abs(f))")
                               (("1"
                                 (inst-cp - "f!1*CH")
                                 (inst - "g!1*CH")
                                 (flatten -1)
                                 (case
                                  "integral.integral(abs(f!1 * CH)+abs(g!1 * CH)) <= (norm[T, S, mu, p](f!1) + norm[T, S, mu, p](g!1))* norm(f!1 + g!1) ^ (p / q)")
                                 (("1"
                                   (name
                                    "RHS"
                                    "norm[T, S, mu, p](f!1) + norm[T, S, mu, p](g!1)")
                                   (replace -1)
                                   (expand "norm" -1)
                                   (replace -1)
                                   (hide -1)
                                   (hide -3 -4 -5 -6 -19 -20)
                                   (case
                                    "abs(f!1 + g!1)*H = abs(f!1 + g!1) ^ p")
                                   (("1"
                                     (lemma
                                      "integral_ae_le"
                                      ("f1"
                                       "abs(f!1+g!1)*H"
                                       "f2"
                                       "abs(f!1 * CH) + abs(g!1 * CH)"))
                                     (("1"
                                       (name-replace
                                        "INT"
                                        "integral.integral(abs(f!1 * CH) + abs(g!1 * CH))")
                                       (split -1)
                                       (("1"
                                         (replace -2)
                                         (expand "norm" -3)
                                         (lemma
                                          "integral_nonneg"
                                          ("f" "abs(f!1 + g!1) ^ p"))
                                         (split -1)
                                         (("1"
                                           (name-replace
                                            "INT2"
                                            "integral.integral(abs(f!1 + g!1) ^ p)")
                                           (hide-all-but
                                            (-1 -2 -4 -11 -12 -13 -14 1))
                                           (lemma
                                            "real_expt_times"
                                            ("x"
                                             "INT2"
                                             "a"
                                             "1/p"
                                             "b"
                                             "p/q"))
                                           (("1"
                                             (case-replace
                                              "1 / p * (p / q)=1/q")
                                             (("1"
                                               (replace -2 -5 rl)
                                               (case
                                                "INT2 <= RHS * INT2 ^ (1 / q)")
                                               (("1"
                                                 (hide -2 -3 -5 -6)
                                                 (expand ">=" -2)
                                                 (expand "<=" -2)
                                                 (split -2)
                                                 (("1"
                                                   (lemma
                                                    "posreal_div_posreal_is_posreal"
                                                    ("px" "1" "py" "p"))
                                                   (lemma
                                                    "posreal_div_posreal_is_posreal"
                                                    ("px" "1" "py" "q"))
                                                   (lemma
                                                    "real_expt_plus"
                                                    ("x"
                                                     "INT2"
                                                     "a"
                                                     "1/p"
                                                     "b"
                                                     "1/q"))
                                                   (replace -7)
                                                   (rewrite
                                                    "real_expt_x1"
                                                    -1)
                                                   (lemma
                                                    "real_expt_pos"
                                                    ("px"
                                                     "INT2"
                                                     "a"
                                                     "1/q"))
                                                   (("1"
                                                     (lemma
                                                      "both_sides_times_pos_le1"
                                                      ("pz"
                                                       "INT2 ^ (1 / q)"
                                                       "x"
                                                       "INT2 ^ (1 / p)"
                                                       "y"
                                                       "RHS"))
                                                     (("1"
                                                       (replace -3 * rl)
                                                       (assert))
                                                      ("2" (propax))))
                                                    ("2" (assert))))
                                                  ("2"
                                                   (replace -1 * rl)
                                                   (rewrite
                                                    "real_expt_0x"
                                                    1)
                                                   (("1"
                                                     (expand "RHS")
                                                     (assert))
                                                    ("2"
                                                     (lemma
                                                      "posreal_div_posreal_is_posreal"
                                                      ("px"
                                                       "1"
                                                       "py"
                                                       "p"))
                                                     (assert))))))
                                                ("2" (assert))))
                                              ("2" (assert))))
                                            ("2" (propax))))
                                          ("2"
                                           (skosimp)
                                           (expand "^" 1)
                                           (expand "abs" 1)
                                           (assert))))
                                        ("2"
                                         (hide-all-but
                                          (1 -12 -9 -10 -11 -7 -6 -8))
                                         (expand "ae_le?")
                                         (expand "pointwise_ae?")
                                         (expand "ae?")
                                         (expand "fullset")
                                         (expand "ae_in?")
                                         (inst + "emptyset")
                                         (skosimp)
                                         (expand "member")
                                         (hide 1)
                                         (expand "*" 1)
                                         (expand "+" 1 2)
                                         (expand "abs" 1)
                                         (expand "+" 1)
                                         (replace -1 1 rl)
                                         (hide -1 -3)
                                         (replace -1 1 rl)
                                         (hide -1)
                                         (simplify 1)
                                         (expand "^" 1)
                                         (expand "abs" 1 2)
                                         (expand "+" 1 2)
                                         (expand "abs" 1 4)
                                         (expand "abs" 1 6)
                                         (expand "+ " 1 3)
                                         (expand "+ " 1 5)
                                         (rewrite "abs_mult" 1)
                                         (rewrite "abs_mult" 1)
                                         (typepred
                                          "abs(f!1(x!1) + g!1(x!1)) ^ (p - 1)")
                                         (name-replace
                                          "FGp1"
                                          "abs(f!1(x!1) + g!1(x!1)) ^ (p - 1)")
                                         (expand "abs" 1 3)
                                         (expand "abs" 1 4)
                                         (expand "sq_abs")
                                         (expand "Im" 1)
                                         (expand "Re" 1)
                                         (rewrite "sq_0")
                                         (lemma "sqrt_sq")
                                         (inst - "FGp1")
                                         (split)
                                         (("1"
                                           (replace -1)
                                           (hide -1)
                                           (expand ">=" -1)
                                           (expand "<=" -1)
                                           (split -1)
                                           (("1"
                                             (lemma
                                              "both_sides_times_pos_le1"
                                              ("pz"
                                               "FGp1"
                                               "x"
                                               "abs(f!1(x!1) + g!1(x!1))"
                                               "y"
                                               "abs(f!1(x!1))+abs(g!1(x!1))"))
                                             (("1"
                                               (replace -1 1)
                                               (hide -1 -2)
                                               (rewrite "abs_triangle"))
                                              ("2" (assert))))
                                            ("2"
                                             (replace -1 * rl)
                                             (assert))))
                                          ("2" (propax))))))
                                      ("2" (replace -1) (propax))))
                                    ("2"
                                     (apply-extensionality :hide? t)
                                     (hide 2)
                                     (expand "*" 1)
                                     (replace -6 1 rl)
                                     (expand "^" 1)
                                     (typepred "abs(f!1 + g!1)(x!1)")
                                     (name-replace
                                      "ABS"
                                      "abs(f!1 + g!1)(x!1)")
                                     (hide-all-but (-1 1 -12))
                                     (lemma
                                      "real_expt_plus"
                                      ("x" "ABS" "a" "1" "b" "p-1"))
                                     (rewrite "real_expt_x1")
                                     (assert))))
                                  ("2"
                                   (rewrite "integral.integral_add" 1)
                                   (assert))
                                  ("3"
                                   (rewrite
                                    "integral.integrable_add"
                                    1))))
                                ("2"
                                 (hide-all-but 1)
                                 (skosimp)
                                 (typepred "f!2")
                                 (expand "p_integrable?")
                                 (flatten)
                                 (expand "norm")
                                 (case-replace "abs(f!2) ^ 1=abs(f!2)")
                                 (("1"
                                   (replace -3)
                                   (rewrite "real_expt_x1")
                                   (lemma
                                    "integral_nonneg"
                                    ("f" "abs(f!2)"))
                                   (assert)
                                   (skosimp)
                                   (expand "abs")
                                   (assert))
                                  ("2"
                                   (hide-all-but 1)
                                   (apply-extensionality :hide? t)
                                   (expand "abs")
                                   (expand "^")
                                   (rewrite "real_expt_x1"))))))
                              ("2" (replace -9) (assert))))
                            ("2" (replace -8) (assert)) ("3" (assert))))
                          ("2"
                           (hide 2)
                           (expand "norm")
                           (case-replace
                            "abs(CH) ^ (p / (p - 1))=abs(f!1 + g!1) ^ p")
                           (("1"
                             (lemma "integral_nonneg"
                              ("f" "abs(f!1 + g!1) ^ p"))
                             (split)
                             (("1"
                               (name-replace "INT"
                                "integral.integral(abs(f!1 + g!1) ^ p)")
                               (case-replace "(1 / (p / (p - 1)))=1/q")
                               (("1"
                                 (hide -1)
                                 (rewrite "real_expt_times" 1 :dir rl)
                                 (rewrite "div_times" 1))
                                ("2"
                                 (hide -2 2)
                                 (cross-mult 1)
                                 (replace -8 1 rl)
                                 (assert))))
                              ("2"
                               (hide-all-but 1)
                               (skosimp)
                               (expand "^")
                               (expand "abs")
                               (assert))))
                            ("2"
                             (replace -4 1)
                             (replace -7 1)
                             (case-replace "abs(CH)=H")
                             (hide-all-but 1)
                             (apply-extensionality :hide? t)
                             (expand "abs")
                             (expand "abs")
                             (expand "sq_abs")
                             (expand "CH")
                             (assert))
                            ("3" (assert) (replace -7) (assert))))
                          ("3"
                           (lemma "posreal_div_posreal_is_posreal"
                            ("px" "p" "py" "q"))
                           (("1" (assert)) ("2" (assert))))
                          ("4" (propax)) ("5" (propax))))
                        ("2"
                         (hide 2)
                         (expand "p_integrable?" +)
                         (split)
                         (("1"
                           (expand "complex_measurable?" 1)
                           (replace -1 1 rl)
                           (expand "Re" 1)
                           (expand "Im" 1)
                           (assert)
                           (split)
                           (("1"
                             (expand "H")
                             (expand "^" 1)
                             (expand "abs" 1)
                             (expand "+" 1)
                             (lemma "expt_measurable"
                              ("g" "abs(f!1 + g!1)" "a" "p-1"))
                             (("1"
                               (expand "^" -1)
                               (expand "abs" -1)
                               (expand "+" -1)
                               (propax))
                              ("2"
                               (expand "nn_measurable?" 1)
                               (split)
                               (("1"
                                 (assert)
                                 (hide-all-but 1)
                                 (typepred "f!1")
                                 (typepred "g!1")
                                 (expand "p_integrable?")
                                 (flatten)
                                 (lemma
                                  "sum_complex_measurable"
                                  ("g1" "f!1" "g2" "g!1"))
                                 (("1"
                                   (lemma
                                    "abs_complex_measurable"
                                    ("g" "(+[T])(f!1, g!1)"))
                                   (("1" (propax)) ("2" (assert))))
                                  ("2" (assert))
                                  ("3" (assert))))
                                ("2"
                                 (expand "abs")
                                 (skosimp)
                                 (assert))))))
                            ("2"
                             (rewrite "measure_space.const_measurable"
                              1))))
                          ("2"
                           (replace -6 1)
                           (case-replace
                            "abs(CH) ^ q=abs(f!1 + g!1) ^ p")
                           (("1"
                             (replace -3)
                             (hide-all-but 1)
                             (case-replace "abs(CH)=H")
                             (hide 2)
                             (apply-extensionality :hide? t)
                             (expand "CH")
                             (expand "abs")
                             (assert)
                             (expand "abs")
                             (expand "sq_abs")
                             (assert))
                            ("2" (assert))))))
                        ("3" (assert) (replace -6) (assert))))
                      ("2"
                       (hide-all-but (-1 -2 -3 -4 1))
                       (apply-extensionality :hide? t)
                       (expand "^")
                       (expand "abs")
                       (typepred "abs((f!1 + g!1)(x!1))")
                       (name-replace "FG" "abs((f!1 + g!1)(x!1))")
                       (rewrite "real_expt_times" + :dir rl)
                       (assert))
                      ("3" (assert)) ("4" (assert))))
                    ("2"
                     (hide-all-but (-1 -2 1))
                     (case-replace "q>1")
                     (("1"
                       (rewrite "div_cancel3" -2)
                       (lemma "div_cancel3"
                        ("n0z" "p" "x" "1" "y" "1-1/q"))
                       (flatten)
                       (hide -1)
                       (split -1)
                       (("1" (assert))
                        ("2"
                         (hide 2)
                         (assert)
                         (lemma "div_cancel3"
                          ("n0z" "q" "x" "p" "y" "p-1"))
                         (assert))))
                      ("2"
                       (hide 2)
                       (lemma "posreal_div_posreal_is_posreal"
                        ("px" "p" "py" "p-1"))
                       (("1"
                         (replace -2)
                         (replace -2 * rl)
                         (rewrite "div_mult_pos_gt1" +))
                        ("2" (assert))))))
                    ("3" (assert) (hide-all-but 1) (flatten) (assert))))
                  ("2" (assert))))
                ("2"
                 (replace -1 * rl)
                 (rewrite "div_simp")
                 (case "forall f: abs(f) ^ 1=abs(f)")
                 (("1"
                   (inst-cp - "f!1")
                   (inst-cp - "g!1")
                   (inst - "f!1+g!1")
                   (typepred "f!1")
                   (typepred "g!1")
                   (expand "p_integrable?")
                   (flatten)
                   (replace -8 * rl)
                   (replace -5)
                   (replace -6)
                   (replace -7)
                   (rewrite "real_expt_x1" +)
                   (("1"
                     (rewrite "real_expt_x1" 1)
                     (("1"
                       (rewrite "real_expt_x1" 1)
                       (("1"
                         (rewrite "integral.integral_add" 1 :dir rl)
                         (lemma "integral_ae_le"
                          ("f1"
                           "abs(f!1 + g!1)"
                           "f2"
                           "abs(f!1) + abs(g!1)"))
                         (split)
                         (("1" (propax))
                          ("2"
                           (hide-all-but 1)
                           (expand "ae_le?")
                           (expand "pointwise_ae?")
                           (expand "ae?")
                           (expand "fullset")
                           (expand "ae_in?")
                           (inst + "emptyset")
                           (skosimp)
                           (expand "member")
                           (hide 1)
                           (expand "abs")
                           (expand "+ ")
                           (rewrite "abs_triangle"))))
                        ("2"
                         (hide-all-but (1 -2))
                         (lemma "integral_nonneg" ("f" "abs[T](g!1)"))
                         (assert)
                         (skosimp)
                         (expand "abs")
                         (assert))))
                      ("2"
                       (hide-all-but (1 -4))
                       (lemma "integral_nonneg" ("f" "abs[T](f!1)"))
                       (assert)
                       (skosimp)
                       (expand "abs")
                       (assert))))
                    ("2"
                     (hide-all-but (-10 1))
                     (lemma "integral_nonneg" ("f" "abs(f!1 + g!1)"))
                     (split)
                     (("1" (propax))
                      ("2" (skosimp) (expand "abs") (assert))))))
                  ("2"
                   (hide-all-but 1)
                   (skosimp)
                   (apply-extensionality :hide? t)
                   (expand "^")
                   (expand "abs")
                   (rewrite "real_expt_x1"))))))
              ("2"
               (hide 2)
               (expand "p_integrable?")
               (replace -1)
               (rewrite "sum_complex_measurable")
               (("1"
                 (typepred "g!1")
                 (expand "p_integrable?")
                 (flatten)
                 (assert))
                ("2"
                 (typepred "f!1")
                 (expand "p_integrable?")
                 (flatten)
                 (assert))))))
            ("2" (assert))))
          ("2"
           (hide 2)
           (skosimp)
           (expand "abs" 1)
           (expand "^" 1 1)
           (expand "^" 1 2)
           (split 1)
           (("1" (assert))
            ("2"
             (expand "+" 1)
             (expand "^" 1 3)
             (expand "*" 1)
             (expand "^" 1 2)
             (inst - "x!1")
             (hide -1)
             (expand "+ " -1)
             (expand "abs" -1)
             (flatten)
             (case "abs(f!1(x!1) + g!1(x!1)) <= 2 * KK(x!1)")
             (("1"
               (hide -2 -3)
               (case "KK(x!1)^p <= abs(f!1(x!1)) ^ p + abs(g!1(x!1)) ^ p")
               (("1"
                 (lemma "real_expt_pos" ("px" "2" "a" "p"))
                 (lemma "both_sides_times_pos_le1"
                  ("pz"
                   "2^p"
                   "x"
                   "KK(x!1) ^ p"
                   "y"
                   "abs(f!1(x!1)) ^ p + abs(g!1(x!1)) ^ p"))
                 (("1"
                   (assert)
                   (rewrite "mult_real_expt" -1 :dir rl)
                   (name-replace "RHS"
                    "2 ^ p * abs(f!1(x!1)) ^ p + 2 ^ p * abs(g!1(x!1)) ^ p")
                   (lemma "both_sides_real_expt_le"
                    ("pa"
                     "p"
                     "x"
                     "abs(f!1(x!1)+g!1(x!1))"
                     "y"
                     "2 * KK(x!1)"))
                   (assert))
                  ("2" (propax))))
                ("2"
                 (expand "KK")
                 (hide-all-but 1)
                 (expand "max")
                 (expand "abs" 1 1)
                 (expand "abs" 1 2)
                 (expand "max")
                 (case-replace "abs(f!1(x!1)) < abs(g!1(x!1))")
                 (("1" (assert)) ("2" (assert))))
                ("3" (assert)) ("4" (assert))))
              ("2" (assert))))))))
        ("2"
         (hide-all-but 1)
         (typepred "f!1")
         (typepred "g!1")
         (expand "p_integrable?")
         (flatten)
         (hide -2 -4)
         (lemma "sum_complex_measurable" ("g1" "f!1" "g2" "g!1"))
         (("1"
           (lemma "abs_complex_measurable" ("g" "f!1+g!1"))
           (("1"
             (rewrite "expt_measurable")
             (expand "nn_measurable?")
             (hide-all-but 1)
             (skosimp)
             (expand "abs")
             (assert))
            ("2" (assert))))
          ("2" (assert)) ("3" (assert))))
        ("3"
         (hide 2)
         (split)
         (("1"
           (skolem + "x!1")
           (expand "*")
           (expand "+" 1)
           (expand "^" 1 1)
           (expand "^" 1 1)
           (expand "abs" 1)
           (lemma "both_sides_times_pos_ge1"
            ("pz"
             "2^p"
             "x"
             "abs(f!1(x!1)) ^ p+abs(g!1(x!1)) ^ p"
             "y"
             "0"))
           (("1" (assert)) ("2" (assert))))
          ("2"
           (name-replace "FF"
            "((+[T])(abs[T](f!1) ^ p, abs[T](g!1) ^ p))")
           (("1"
             (lemma "nn_integrable_scal[T, S, mu]" ("c" "2^p" "f" "FF"))
             (("1" (flatten))
              ("2"
               (hide 2)
               (split)
               (("1"
                 (skolem + "x!1")
                 (expand "FF")
                 (expand "^" 1)
                 (expand "+" 1)
                 (expand "abs" 1)
                 (assert))
                ("2"
                 (lemma "nn_integrable_is_nn_integrable")
                 (inst - "FF")
                 (split)
                 (("1" (propax))
                  ("2"
                   (skosimp)
                   (hide-all-but 1)
                   (expand "FF")
                   (expand "+")
                   (expand "^")
                   (expand "abs")
                   (assert))))))))
            ("2" (assert))))))
        ("4" (assert))))
      ("2"
       (hide 2)
       (typepred "f!1")
       (typepred "g!1")
       (expand "p_integrable?")
       (flatten)
       (rewrite "integral.integrable_add" +))
      ("3" (assert) (assert))))
    ("2"
     (hide 2)
     (skosimp)
     (replace -1 * rl)
     (hide -1)
     (expand "abs")
     (expand "max")
     (expand "+")
     (rewrite "abs_triangle")
     (expand "max")
     (assert)
     (lift-if)
     (prop)
     (("1" (assert)) ("2" (assert))))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: p_integrable
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "norm")
   (case-replace "(abs(c!1 * f!1) ^ p)=abs(c!1)^p * abs(f!1)^p")
   (("1"
     (hide -1)
     (rewrite "integral.integral_scal")
     (name-replace "INT" "integral.integral(abs(f!1) ^ p)")
     (rewrite "mult_real_expt")
     (("1"
       (lemma "real_expt_times" ("x" "abs(c!1)" "a" "p" "b" "1/p"))
       (replace -1 1 rl)
       (rewrite "div_cancel1")
       (rewrite "real_expt_x1"))
      ("2"
       (flatten)
       (lemma "posreal_div_posreal_is_posreal" ("px" "1" "py" "p"))
       (assert))
      ("3"
       (expand "INT")
       (hide 2)
       (lemma "integral_nonneg" ("f" "abs(f!1) ^ p"))
       (split)
       (("1" (propax))
        ("2" (hide 2) (skosimp) (expand "^") (expand "abs") (assert))))))
    ("2"
     (hide 2)
     (apply-extensionality :hide? t)
     (("1"
       (expand "^" 1 1)
       (expand "^" 1 3)
       (expand "*" 1)
       (expand "abs" 1 1)
       (rewrite "abs_mult")
       (expand "abs" 1 4)
       (rewrite "mult_real_expt"))
      ("2"
       (skolem + "x!1")
       (expand "*")
       (expand "^" 1 2)
       (expand "abs" 1 2)
       (rewrite "mult_real_expt" + :dir rl)
       (lemma "abs_mult" ("z1" "c!1" "z2" "f!1(x!1)"))
       (replace -1 1 rl)
       (hide -1)
       (assert))))
    ("3" (assert)) ("4" (assert))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: p_integrable
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "norm")
   (assert)
   (case-replace "abs(-f!1)=abs(f!1)")
   (hide 2)
   (apply-extensionality :hide? t)
   (grind))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: p_integrable
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "norm_add" ("f0" "f0!1" "f1" "-f1!1"))
   (rewrite "norm_opp")
   (name-replace "RHS" "norm(f0!1) + norm(f1!1)")
   (expand "norm")
   (expand "abs")
   (expand "+ ")
   (expand "-")
   (assert)
   (expand "-")
   (expand "abs")
   (expand "+")
   (assert))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: p_integrable
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "f!1")
   (expand "p_integrable?")
   (flatten)
   (rewrite "scal_complex_measurable")
   (hide -1)
   (lemma "integral.integrable_scal" ("c" "abs(c!1)^p" "f" "abs(f!1)^p"))
   (("1"
     (case-replace
      "(*[T](abs(c!1) ^ p, abs(f!1) ^ p))=(abs(*[T](c!1, f!1)) ^ p)")
     (apply-extensionality :hide? t)
     (hide-all-but 1)
     (expand "*" 1 1)
     (expand "^" 1 2)
     (expand "abs" 1 2)
     (expand "^" 1 3)
     (expand "abs" 1 3)
     (expand "*" 1 2)
     (rewrite "abs_mult")
     (lemma "mult_real_expt"
      ("x" "abs(c!1)" "y" "abs(f!1(x!1))" "a" "p"))
     (assert))
    ("2" (propax)) ("3" (assert)) ("4" (assert))))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: p_integrable
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "f1!1")
   (typepred "f0!1")
   (lemma "minkowski_scaf" ("f" "f0!1" "g" "f1!1"))
   (flatten))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: p_integrable
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "f!1")
   (expand "p_integrable?")
   (flatten)
   (rewrite "opp_complex_measurable")
   (assert)
   (case-replace "abs(-f!1)=abs(f!1)")
   (apply-extensionality :hide? t)
   (hide-all-but 1)
   (expand "abs")
   (expand "-")
   (expand "abs")
   (expand "sq_abs")
   (assert)
   (expand "sq")
   (assert))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: p_integrable
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "opp_p_integrable" ("f" "f1!1"))
   (lemma "sum_p_integrable" ("f0" "f0!1" "f1" "-f1!1"))
   (case-replace "(+[T])(f0!1, -f1!1)=(-[T])(f0!1, f1!1)")
   (("1"
     (hide-all-but 1)
     (typepred "f0!1")
     (typepred "f1!1")
     (lemma "opp_p_integrable" ("f" "f1!1"))
     (lemma "sum_p_integrable" ("f0" "f0!1" "f1" "-f1!1"))
     (hide -2 -3 -4)
     (expand "+")
     (expand "-")
     (expand "p_integrable?")
     (flatten)
     (expand "complex_measurable?")
     (flatten)
     (assert)
     (expand "Re")
     (expand "Im")
     (assert)
     (hide -1 -2)
     (expand "abs")
     (expand "abs")
     (expand "sq_abs")
     (assert))
    ("2"
     (hide-all-but 1)
     (expand "+")
     (expand "-")
     (expand "=")
     (split)
     (("1" (apply-extensionality :hide? t))
      ("2" (apply-extensionality :hide? t))))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "essential_bound")
   (lemma "essential_bound_TCC1" ("f" "f!1"))
   (typepred
    "inf(extend[real, nnreal, bool, FALSE]
                  ({K | ae_le?(abs(f!1), LAMBDA x: K)}))")
   (name-replace "INF"
    "inf(extend[real, nnreal, bool, FALSE]
                  ({K | ae_le?(abs(f!1), LAMBDA x: K)}))")
   (expand "greatest_lower_bound")
   (flatten)
   (expand "lower_bound")
   (inst - "K!1")
   (hide -1 -2 -3 2)
   (expand "extend")
   (propax))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "essential_bound_TCC1" ("f" "f!1"))
   (expand "essential_bound")
   (typepred
    "inf(extend[real, nnreal, bool, FALSE]
                           ({K | ae_le?(abs(f!1), LAMBDA x: K)}))")
   (("1"
     (name-replace "INF"
      "inf(extend[real, nnreal, bool, FALSE]
                             ({K | ae_le?(abs(f!1), LAMBDA x: K)}))")
     (flatten)
     (name "X" "{a:real | a >= 0 & ae_le?(abs(f!1), LAMBDA x: a)}")
     (case "nonempty?[real](X)")
     (("1"
       (case "below_bounded[real](X)")
       (("1"
         (hide -5 -6)
         (name "M" "lambda (n:posnat): inf(X)+1/n")
         (("1"
           (case "forall (n:posnat): X(M(n))")
           (("1"
             (case-replace "inf(X)=INF")
             (("1"
               (hide -1)
               (expand "greatest_lower_bound")
               (flatten)
               (case "convergence?(lambda (n:nat): M(n+1),INF)")
               (("1"
                 (expand "lower_bound")
                 (name "E"
                       "lambda (n:nat): choose({N:null_set[T,S,mu] | FORALL x: (not N(x)) => abs(f!1(x)) <= M(1+n)})")
                 (("1"
                   (case "null_set?(IUnion(E))")
                   (("1"
                     (case "forall x: (not IUnion(E)(x)) => abs(f!1(x)) <= INF")
                     (("1"
                       (expand "ae_le?")
                       (expand "pointwise_ae?")
                       (expand "ae?")
                       (expand "fullset")
                       (expand "ae_in?")
                       (inst + "IUnion(E)")
                       (skosimp)
                       (expand "member")
                       (expand "abs" 2)
                       (inst - "x!1")
                       (assert))
                      ("2"
                       (hide 2)
                       (skosimp)
                       (hide -1)
                       (expand "IUnion" 1)
                       (inst -9 "abs(f!1(x!1))")
                       (assert)
                       (split -9)
                       (("1" (assert) (replace -1 2 rl) (assert))
                        ("2"
                         (skosimp)
                         (case "z!1<abs(f!1(x!1))")
                         (("1"
                           (hide 1)
                           (typepred "z!1")
                           (expand "extend" -1)
                           (prop)
                           (inst -11 "z!1")
                           (expand "<=" -11)
                           (split -11)
                           (("1"
                             (name "EPS" "z!1-INF")
                             (case "EPS>0")
                             (("1"
                               (lemma "archimedean" ("px" "EPS"))
                               (("1"
                                 (skosimp)
                                 (inst -10 "n!1+1")
                                 (expand "X" -10)
                                 (flatten)
                                 (case
                                  "INF < M(1 + n!1) & M(1 + n!1) < z!1")
                                 (("1"
                                   (flatten)
                                   (inst + "n!1")
                                   (expand "E" 1)
                                   (lemma
                                    "choose_member"
                                    ("a"
                                     "{N: null_set[T, S, mu] |
                                                     FORALL x: (NOT N(x)) => abs(f!1(x)) <= M(1 + n!1)}"))
                                   (name-replace
                                    "EE"
                                    "choose({N: null_set[T, S, mu] |
                                                    FORALL x: (NOT N(x)) => abs(f!1(x)) <= M(1 + n!1)})")
                                   (("1"
                                     (expand "member")
                                     (split -1)
                                     (("1" (inst - "x!1") (assert))
                                      ("2"
                                       (expand "empty?")
                                       (expand "member")
                                       (hide-all-but (-1 -14))
                                       (expand "ae_le?")
                                       (expand "pointwise_ae?")
                                       (expand "ae?")
                                       (expand "fullset")
                                       (expand "ae_in?")
                                       (skosimp)
                                       (typepred "E!1")
                                       (expand "negligible_set?")
                                       (skosimp)
                                       (inst - "X!1")
                                       (skosimp)
                                       (inst - "x!2")
                                       (expand "abs" -3)
                                       (assert)
                                       (expand "subset?")
                                       (inst - "x!2")
                                       (assert))))
                                    ("2"
                                     (hide-all-but (1 -14))
                                     (expand "nonempty?")
                                     (expand "ae_le?")
                                     (expand "empty?")
                                     (expand "pointwise_ae?")
                                     (expand "ae?")
                                     (expand "fullset")
                                     (expand "ae_in?")
                                     (skosimp)
                                     (typepred "E!1")
                                     (expand "negligible_set?")
                                     (skosimp)
                                     (inst -3 "X!1")
                                     (expand "subset?")
                                     (expand "member")
                                     (skosimp)
                                     (inst - "x!2")
                                     (inst - "x!2")
                                     (expand "abs" -3)
                                     (assert))))
                                  ("2"
                                   (replace -12 * rl)
                                   (hide-all-but (-1 -2 -3 -4 -5 1))
                                   (assert)
                                   (lemma
                                    "posreal_div_posreal_is_posreal"
                                    ("px" "1" "py" "1+n!1"))
                                   (assert)
                                   (replace -4 -2 rl)
                                   (lemma
                                    "both_sides_div_pos_lt2"
                                    ("pz" "1" "py" "n!1" "px" "1+n!1"))
                                   (assert))))
                                ("2" (assert))))
                              ("2" (assert))))
                            ("2" (reveal 2) (assert))))
                          ("2" (assert))))))))
                    ("2" (rewrite "null_IUnion"))))
                  ("2"
                   (skosimp)
                   (inst -2 "1+n!1")
                   (expand "X" -2)
                   (flatten)
                   (hide-all-but (-2 -3 1))
                   (expand "nonempty?")
                   (expand "empty?")
                   (expand "ae_le?")
                   (expand "pointwise_ae?")
                   (expand "ae?")
                   (expand "fullset")
                   (expand "ae_in?")
                   (expand "member")
                   (skosimp)
                   (typepred "E!1")
                   (expand "negligible_set?")
                   (skosimp)
                   (inst -3 "X!1")
                   (skosimp)
                   (expand "subset?" -2)
                   (inst -2 "x!1")
                   (expand "member")
                   (inst -4 "x!1")
                   (expand "abs" -4)
                   (replace 2)
                   (assert))))
                ("2"
                 (rewrite "metric_convergence_def")
                 (replace -2 1 rl)
                 (hide-all-but 1)
                 (expand "metric_converges_to")
                 (expand "ball")
                 (expand "member")
                 (skosimp)
                 (lemma "archimedean" ("px" "r!1"))
                 (skosimp)
                 (inst + "n!1-1")
                 (skosimp)
                 (rewrite "real_props.abs_mult")
                 (lemma "posreal_div_posreal_is_posreal"
                  ("px" "1" "py" "1+i!1"))
                 (expand "abs")
                 (rewrite "neg_neg")
                 (rewrite "one_times")
                 (rewrite "div_mult_pos_lt1" -)
                 (rewrite "div_mult_pos_lt1" +)
                 (lemma "both_sides_times_pos_le1"
                  ("pz" "r!1" "x" "n!1" "y" "1+i!1"))
                 (assert))))
              ("2"
               (hide-all-but (1 -6 -3 -4))
               (typepred "inf(X)")
               (expand "extend")
               (expand "greatest_lower_bound")
               (expand "lower_bound")
               (flatten)
               (inst -2 "INF")
               (replace 1)
               (split -2)
               (("1"
                 (inst -6 "inf(X)")
                 (split -6)
                 (("1" (assert)) ("2" (assert))
                  ("3"
                   (skosimp)
                   (typepred "z!1")
                   (assert)
                   (case "z!1<inf(X)")
                   (("1"
                     (hide 1)
                     (inst -5 "z!1")
                     (("1" (assert)) ("2" (expand "X" 1) (propax))))
                    ("2" (assert))))))
                ("2"
                 (skosimp)
                 (case "z!1<INF")
                 (("1"
                   (typepred "z!1")
                   (expand "X" -1)
                   (flatten)
                   (hide 1)
                   (hide -8)
                   (inst -7 "z!1")
                   (("1" (assert)) ("2" (assert))))
                  ("2" (assert))))))))
            ("2"
             (hide-all-but (1 -1 -2 -3))
             (typepred "inf(X)")
             (expand "greatest_lower_bound")
             (flatten)
             (expand "lower_bound")
             (skosimp)
             (lemma "posreal_div_posreal_is_posreal"
              ("px" "1" "py" "n!1"))
             (inst -3 "inf(X) + 1 / n!1")
             (("1"
               (assert)
               (skosimp)
               (case "z!1<M(n!1)")
               (("1"
                 (typepred "z!1")
                 (hide 1)
                 (expand "X")
                 (assert)
                 (flatten)
                 (assert)
                 (hide-all-but (-2 -3 1))
                 (expand "ae_le?")
                 (expand "pointwise_ae?")
                 (expand "ae?")
                 (expand "fullset")
                 (expand "ae_in?")
                 (skosimp)
                 (inst + "E!1")
                 (skosimp)
                 (expand "member")
                 (inst - "x!1")
                 (expand "abs")
                 (assert))
                ("2" (assert) (expand "M") (assert))))
              ("2" (assert))))))
          ("2" (assert))))
        ("2"
         (hide-all-but (-1 -5 1))
         (expand "below_bounded")
         (skosimp)
         (expand "X")
         (inst + "n!1")
         (expand "extend")
         (expand "lower_bound")
         (skosimp)
         (typepred "z!1")
         (inst - "z!1"))))
      ("2"
       (hide-all-but (1 -3))
       (expand "extend")
       (expand "nonempty?")
       (expand "empty?")
       (expand "member")
       (skosimp)
       (inst - "x!1")
       (assert)
       (prop)
       (expand "X")
       (assert))))
    ("2" (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "essential_bound_def1"
    ("f" "c!1*f!1" "K" "abs(c!1) * essential_bound(f!1)"))
   (split -1)
   (("1"
     (typepred "abs(c!1)")
     (expand ">=")
     (expand "<=" -1)
     (split)
     (("1"
       (lemma "essential_bound_def1"
        ("f" "f!1" "K" "essential_bound(c!1*f!1)/abs(c!1)"))
       (("1"
         (split)
         (("1" (rewrite "div_mult_pos_le2" -1) (assert))
          ("2"
           (hide -2 2)
           (lemma "essential_bound_def2" ("f" "c!1*f!1"))
           (expand "ae_le?")
           (expand "pointwise_ae?")
           (expand "ae?")
           (expand "fullset")
           (expand "ae_in?")
           (skosimp)
           (inst + "E!1")
           (skosimp)
           (inst - "x!1")
           (expand "member")
           (assert)
           (expand "abs" -1)
           (expand "abs" 2 1)
           (hide 1)
           (expand "*" -1 1)
           (rewrite "abs_mult" -1)
           (rewrite "div_mult_pos_le2")
           (assert))))
        ("2" (assert) (rewrite "div_mult_pos_ge1")) ("3" (assert))))
      ("2" (replace -1 * rl) (assert))))
    ("2"
     (hide 2)
     (lemma "essential_bound_def2" ("f" "f!1"))
     (expand "ae_le?")
     (expand "pointwise_ae?")
     (expand "ae?")
     (expand "fullset")
     (expand "ae_in?")
     (skosimp)
     (inst + "E!1")
     (skosimp)
     (inst - "x!1")
     (expand "member")
     (assert)
     (hide 1)
     (expand "abs" -1)
     (expand "abs" 1 1)
     (expand "*" 1 1)
     (rewrite "abs_mult")
     (typepred "abs(c!1)")
     (expand ">=")
     (expand "<=" -1)
     (split)
     (("1"
       (lemma "both_sides_times_pos_le1"
        ("pz" "abs(c!1)" "x" "abs(f!1(x!1))" "y" "essential_bound(f!1)"))
       (("1" (assert)) ("2" (assert))))
      ("2" (assert))))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "essential_bound_def1"
    ("f"
     "f0!1+f1!1"
     "K"
     "essential_bound(f0!1) + essential_bound(f1!1)"))
   (assert)
   (hide 2)
   (lemma "essential_bound_def2" ("f" "f0!1"))
   (lemma "essential_bound_def2" ("f" "f1!1"))
   (expand "ae_le?")
   (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")
   (assert)
   (flatten)
   (assert)
   (expand "abs")
   (hide 1 2)
   (expand "+")
   (lemma "abs_triangle" ("z1" "f0!1(x!1)" "z2" "f1!1(x!1)"))
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "essential_bound_scal" ("c" "complex_(-1,0)" "f" "f!1"))
   (expand "abs")
   (expand "sq_abs")
   (expand "Im")
   (expand "Re")
   (rewrite "sq_0")
   (rewrite "sq_neg")
   (rewrite "sqrt_1")
   (rewrite "one_times")
   (expand "-")
   (expand "*")
   (expand "-")
   (expand "Re")
   (expand "*")
   (expand "Re")
   (expand "Im")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "essential_bound_add" ("f0" "f0!1" "f1" "-f1!1"))
   (rewrite "essential_bound_opp")
   (name-replace "RHS" "essential_bound(f0!1) + essential_bound(f1!1)")
   (expand "essential_bound")
   (expand "-")
   (expand "+ ")
   (expand "abs")
   (assert)
   (expand "abs")
   (expand "sq_abs")
   (expand "Re")
   (expand "Im")
   (assert)
   (expand "sq")
   (expand "+ ")
   (expand "-")
   (expand "Im")
   (expand "Re")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "f!1")
   (expand "essentially_bounded?")
   (flatten)
   (expand "cal_N?")
   (replace -1)
   (split)
   (("1"
     (flatten)
     (lemma "essential_bound_def2" ("f" "f!1"))
     (replace -2)
     (hide-all-but (-1 1))
     (expand "ae_le?")
     (expand "ae_0?")
     (expand "pointwise_ae?")
     (expand "ae?")
     (expand "fullset")
     (expand "ae_in?")
     (skosimp)
     (inst + "E!1")
     (skosimp)
     (inst - "x!1")
     (expand "member")
     (replace 1)
     (expand "abs" -1)
     (expand "<=" -1)
     (split)
     (("1" (assert)) ("2" (rewrite "abs_is_0") (assert))))
    ("2"
     (flatten)
     (lemma "essential_bound_def1" ("f" "f!1" "K" "0"))
     (split)
     (("1" (assert))
      ("2"
       (hide-all-but (-1 1))
       (expand "ae_0?")
       (expand "ae_le?")
       (expand "pointwise_ae?")
       (expand "ae?")
       (expand "fullset")
       (expand "ae_in?")
       (skosimp)
       (inst + "E!1")
       (skosimp)
       (inst - "x!1")
       (expand "member")
       (replace 1)
       (expand "abs")
       (expand "<=")
       (flatten)
       (rewrite "abs_is_0")
       (assert))))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "essential_bound_def1"
    ("f"
     "f0!1*f1!1"
     "K"
     "essential_bound(f0!1) * essential_bound(f1!1)"))
   (split -1)
   (("1" (propax))
    ("2"
     (hide 2)
     (lemma "essential_bound_def2" ("f" "f0!1"))
     (lemma "essential_bound_def2" ("f" "f1!1"))
     (expand "ae_le?")
     (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)
     (expand "abs")
     (expand "*")
     (rewrite "abs_mult")
     (lemma "le_times_le_pos"
      ("nnx"
       "abs(f0!1(x!1))"
       "y"
       "essential_bound(f0!1)"
       "nnz"
       "abs(f1!1(x!1))"
       "w"
       "essential_bound(f1!1)"))
     (assert))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "holder_judge_infty_1" ("f" "f!1" "g" "g!1"))
   (typepred "f!1")
   (typepred "g!1")
   (expand "norm")
   (case "forall h: abs(h)^1 = abs(h) & forall x: abs(h)(x)>=0")
   (("1"
     (inst-cp - "f!1*g!1")
     (inst - "g!1")
     (flatten)
     (expand "essentially_bounded?")
     (expand "p_integrable?")
     (flatten)
     (replace -1)
     (replace -3)
     (hide -1 -3)
     (lemma "integral_nonneg" ("f" "abs(g!1)"))
     (lemma "integral_nonneg" ("f" "abs(f!1*g!1)"))
     (replace -3)
     (replace -4)
     (hide -3 -4)
     (rewrite "real_expt_x1" 1)
     (rewrite "real_expt_x1" 1)
     (lemma "abs_complex_measurable" ("g" "f!1"))
     (("1"
       (lemma "integral_prod"
        ("h" "abs(f!1)" "nnc" "essential_bound(f!1)" "f" "abs(g!1)"))
       (("1"
         (case "forall h: abs(abs(h)) = abs(h)")
         (("1"
           (inst-cp - "f!1")
           (inst-cp - "g!1")
           (replace -2)
           (replace -3)
           (rewrite "essential_bound_def2")
           (flatten)
           (case-replace "abs(g!1) * abs(f!1)=abs(f!1*g!1)")
           (("1" (inst - "f!1*g!1") (assert))
            ("2"
             (hide-all-but 1)
             (apply-extensionality :hide? t)
             (expand "*")
             (expand "abs")
             (rewrite "abs_mult")
             (assert))))
          ("2"
           (hide-all-but 1)
           (skosimp)
           (apply-extensionality :hide? t)
           (expand "abs")
           (typepred "abs(h!1(x!1))")
           (expand "abs" 1 1)
           (assert))))
        ("2" (propax))))
      ("2" (assert))))
    ("2"
     (hide-all-but 1)
     (skosimp)
     (split)
     (("1"
       (apply-extensionality :hide? t)
       (expand "^")
       (expand "abs")
       (rewrite "real_expt_x1"))
      ("2" (skosimp) (expand "abs") (assert))))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "holder_infty_1" ("f" "f!1" "g" "g!1"))
   (case-replace "norm(g!1 * f!1)=norm(f!1 * g!1)")
   (("1" (assert))
    ("2"
     (hide-all-but 1)
     (expand "norm")
     (assert)
     (case-replace "abs(g!1) * abs(f!1)=abs(f!1) * abs(g!1)")
     (("1" (expand "abs") (expand "*") (assert))
      ("2"
       (hide 2)
       (assert)
       (expand "*")
       (apply-extensionality :hide? t))))))


proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "essentially_bounded?")
   (rewrite "const_measurable")
   (expand "ae_bounded?")
   (inst + "0")
   (expand "abs")
   (expand "abs")
   (expand "sq_abs")
   (assert)
   (expand "ae_le?")
   (expand "pointwise_ae?")
   (expand "ae?")
   (expand "ae_in?")
   (inst + "emptyset[T]")
   (skosimp)
   (assert))


proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1"
     (typepred "f!1")
     (expand "essentially_bounded?")
     (flatten)
     (expand "ae_bounded?")
     (skosimp)
     (expand "extend")
     (expand "nonempty?")
     (expand "empty?")
     (expand "member")
     (inst - "K!1")
     (assert))
    ("2"
     (expand "extend")
     (expand "below_bounded")
     (inst + "0")
     (expand "lower_bound")
     (propax))))


proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "essential_bound_TCC1" ("f" "f!1"))
   (flatten)
   (typepred
    "inf[real]
              (extend[real, nnreal, bool, FALSE]
                   ({K | ae_le?[T, S, mu](abs[T](f!1), LAMBDA x: K)}))")
   (name-replace "INF"
    "inf[real]
              (extend[real, nnreal, bool, FALSE]
                   ({K | ae_le?[T, S, mu](abs[T](f!1), LAMBDA x: K)}))")
   (hide -2 -3)
   (expand "greatest_lower_bound")
   (flatten)
   (expand "lower_bound")
   (inst -2 "0")
   (split -2)
   (("1" (assert)) ("2" (assert))
    ("3"
     (skosimp)
     (typepred "z!1")
     (case "z!1<0")
     (("1" (hide 1) (expand "extend") (assert)) ("2" (assert))))))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "f!1")
   (expand "essentially_bounded?")
   (flatten)
   (rewrite "scal_complex_measurable")
   (hide -1)
   (expand "ae_bounded?")
   (skosimp)
   (inst + "abs(c!1)*K!1")
   (expand "ae_le?")
   (expand "pointwise_ae?")
   (expand "ae?")
   (expand "fullset")
   (expand "ae_in?")
   (skosimp)
   (inst + "E!1")
   (skosimp)
   (inst - "x!1")
   (assert)
   (hide 1)
   (expand "abs" -1)
   (expand "abs" 1 1)
   (expand "*")
   (rewrite "abs_mult")
   (typepred "abs(c!1)")
   (expand ">=")
   (expand "<=" -1)
   (split)
   (("1"
     (lemma "both_sides_times_pos_le1"
      ("pz" "abs(c!1)" "x" "abs(f!1(x!1))" "y" "K!1"))
     (("1" (assert)) ("2" (assert))))
    ("2" (replace -1 * rl) (assert))))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "f0!1")
   (typepred "f1!1")
   (expand "essentially_bounded?")
   (flatten)
   (rewrite "sum_complex_measurable")
   (hide -1 -3)
   (expand "ae_bounded?")
   (skosimp*)
   (inst + "K!1+K!2")
   (expand "ae_le?")
   (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)
   (hide 1 2)
   (expand "abs")
   (expand "+")
   (lemma "abs_triangle" ("z1" "f0!1(x!1)" "z2" "f1!1(x!1)"))
   (assert))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "scal_essentially_bounded" ("c" "complex_(-1,0)" "f" "f!1"))
   (case-replace "*[T](complex_(-1, 0), f!1)=-f!1")
   (("1"
     (hide-all-but 1)
     (lemma "scal_essentially_bounded" ("c" "complex_(-1,0)" "f" "f!1"))
     (expand "*")
     (expand "-")
     (expand "essentially_bounded?")
     (flatten)
     (expand "-")
     (expand "Re")
     (expand "Im")
     (expand "*")
     (assert)
     (flatten)
     (assert)
     (expand "Re")
     (expand "Im")
     (assert))
    ("2"
     (hide -1 2)
     (expand "-")
     (expand "=")
     (expand "*")
     (expand "-")
     (expand "Re")
     (expand "Re")
     (expand "Im")
     (expand "Im")
     (split)
     (("1" (apply-extensionality :hide? t) (grind))
      ("2" (apply-extensionality :hide? t) (grind))))))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "f0!1")
   (typepred "f1!1")
   (lemma "opp_essentially_bounded" ("f" "f1!1"))
   (lemma "add_essentially_bounded" ("f0" "f0!1" "f1" "-f1!1"))
   (hide -2 -3 -4)
   (expand "+")
   (expand "-")
   (expand "essentially_bounded?")
   (flatten)
   (expand "complex_measurable?")
   (flatten)
   (assert)
   (expand "+ ")
   (expand "-")
   (assert))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "f0!1")
   (typepred "f1!1")
   (expand "essentially_bounded?")
   (rewrite "prod_complex_measurable")
   (("1"
     (flatten)
     (hide -1 -3)
     (expand "ae_bounded?")
     (skosimp*)
     (inst + "K!1*K!2")
     (assert)
     (expand "ae_le?")
     (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 "member")
     (expand "union")
     (expand "member")
     (flatten)
     (assert)
     (expand "abs")
     (expand "*")
     (hide 1 2)
     (lemma "le_times_le_pos"
      ("nnx"
       "abs(f0!1(x!1))"
       "nnz"
       "abs(f1!1(x!1))"
       "w"
       "K!1"
       "y"
       "K!2"))
     (assert))
    ("2" (flatten) (assert)) ("3" (flatten) (assert))))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "f!1")
   (typepred "g!1")
   (expand "p_integrable?")
   (expand "essentially_bounded?")
   (flatten)
   (lemma "prod_complex_measurable" ("g1" "f!1" "g2" "g!1"))
   (("1"
     (replace -1)
     (lemma "abs_complex_measurable" ("g" "f!1*g!1"))
     (("1"
       (case "forall h: abs(h)^1 = abs(h)")
       (("1"
         (inst-cp - "f!1*g!1")
         (inst - "g!1")
         (replace -1)
         (replace -2)
         (hide -1 -2)
         (lemma "abs_complex_measurable" ("g" "f!1"))
         (("1"
           (expand "ae_bounded?")
           (skosimp)
           (lemma "integral_prod"
            ("h" "abs(f!1)" "nnc" "K!1" "f" "abs(g!1)"))
           (("1"
             (case-replace "(abs(g!1) * abs(f!1))=abs(f!1 * g!1)")
             (("1"
               (split -2)
               (("1" (flatten))
                ("2"
                 (hide-all-but (-8 1))
                 (case-replace "abs(abs(f!1))=abs(f!1)")
                 (hide-all-but 1)
                 (apply-extensionality :hide? t)
                 (expand "abs")
                 (typepred "abs(f!1(x!1))")
                 (expand "abs" 1 1)
                 (assert))))
              ("2"
               (apply-extensionality :hide? t)
               (expand "*" 1)
               (expand "abs" 1)
               (assert))))
            ("2" (propax)) ("3" (propax))))
          ("2" (assert))))
        ("2"
         (hide-all-but 1)
         (skosimp)
         (apply-extensionality :hide? t)
         (expand "^")
         (expand "abs")
         (rewrite "real_expt_x1"))))
      ("2" (assert))))
    ("2" (assert)) ("3" (assert))))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: essentially_bounded
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "holder_judge_infty_1" ("f" "f!1" "g" "g!1"))
   (case-replace "(*[T](f!1, g!1))=(*[T](g!1, f!1))")
   (("1"
     (expand "*")
     (assert)
     (hide-all-but 1)
     (typepred "f!1")
     (typepred "g!1")
     (expand "p_integrable?")
     (expand "essentially_bounded?")
     (flatten)
     (split)
     (("1"
       (lemma "prod_complex_measurable" ("g1" "g!1" "g2" "f!1"))
       (("1"
         (assert)
         (flatten)
         (assert)
         (expand "Re")
         (expand "*")
         (expand "-")
         (expand "Re")
         (expand "Im")
         (expand "Im")
         (assert)
         (expand "+")
         (propax))
        ("2" (expand "complex_measurable?") (propax))
        ("3" (expand "complex_measurable?") (propax))))
      ("2"
       (case "forall (f:[T->nnreal]): f^1 = f")
       (("1"
         (inst-cp - "abs(g!1)")
         (replace -2)
         (inst - "abs(g!1*f!1)")
         (expand "*" -1 1)
         (replace -1)
         (hide -1 -2)
         (lemma "integral_prod" ("h" "abs(f!1)" "f" "abs(g!1)"))
         (("1"
           (expand "ae_bounded?")
           (skosimp)
           (inst - "K!1")
           (split -1)
           (("1" (flatten) (assert))
            ("2"
             (hide -1 -2 -3 2)
             (expand "ae_le?")
             (expand "pointwise_ae?")
             (expand "ae?")
             (expand "fullset")
             (expand "ae_in?")
             (skosimp)
             (inst + "E!1")
             (skosimp)
             (inst - "x!1")
             (expand "member")
             (assert)
             (expand "abs")
             (rewrite "abs_abs"))))
          ("2"
           (hide 2 -1 -2)
           (lemma "abs_complex_measurable" ("g" "f!1"))
           (("1" (propax)) ("2" (assert))))
          ("3" (propax))))
        ("2"
         (hide-all-but 1)
         (skosimp)
         (apply-extensionality :hide? t)
         (expand "^")
         (rewrite "real_expt_x1"))))))
    ("2"
     (hide-all-but 1)
     (expand "*")
     (assert)
     (split)
     (("1" (apply-extensionality :hide? t))
      ("2" (apply-extensionality :hide? t))))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (rewrite "cal_L_complex_is_p_integrable")
   (expand "p_integrable?")
   (split)
   (("1"
     (flatten)
     (expand "^")
     (case-replace "(LAMBDA (x: T): abs(h!1)(x) ^ 1)=abs(h!1)")
     (("1"
       (hide -1)
       (expand "complex_measurable?")
       (flatten)
       (lemma "integral_ae_abs[T, S, mu!1]"
        ("h" "Im(h!1)" "f" "abs(h!1)"))
       (("1"
         (lemma "integral_ae_abs[T, S, mu!1]"
          ("h" "Re(h!1)" "f" "abs(h!1)"))
         (("1"
           (split)
           (("1"
             (flatten)
             (split)
             (("1" (flatten) (expand "integrable?" 1) (assert))
              ("2"
               (hide-all-but 1)
               (expand "ae_le?")
               (expand "pointwise_ae?")
               (expand "ae?")
               (expand "fullset")
               (expand "ae_in?")
               (inst + "emptyset[T]")
               (("1"
                 (skosimp)
                 (expand "member")
                 (expand "abs")
                 (hide 1)
                 (expand "abs" 1 3)
                 (expand "sq_abs")
                 (typepred "sq(Re(h!1(x!1)))")
                 (rewrite "sq_le" 1 :dir rl)
                 (rewrite "sq_sqrt")
                 (assert)
                 (expand "Im")
                 (expand "Im")
                 (expand "Re")
                 (assert))
                ("2"
                 (expand "negligible_set?")
                 (inst + "emptyset[T]")
                 (split)
                 (("1"
                   (expand "null_set?")
                   (expand "mu_fin?")
                   (expand "mu")
                   (typepred "mu!1")
                   (expand "measure?")
                   (flatten)
                   (expand "measure_empty?")
                   (replace -1)
                   (typepred "S")
                   (expand "sigma_algebra?")
                   (expand "subset_algebra_empty?")
                   (flatten)
                   (expand "measurable_set?")
                   (assert))
                  ("2" (expand "subset?") (skosimp))))))))
            ("2"
             (hide-all-but 1)
             (expand "ae_le?")
             (expand "pointwise_ae?")
             (expand "ae?")
             (expand "fullset")
             (expand "ae_in?")
             (expand "member")
             (inst + "emptyset[T]")
             (("1"
               (skosimp)
               (hide 1)
               (expand "abs")
               (expand "abs" 1 3)
               (expand "sq_abs")
               (rewrite "sq_le" 1 :dir rl)
               (assert)
               (expand "Re")
               (expand "Re")
               (expand "Im")
               (assert))
              ("2"
               (expand "negligible_set?")
               (inst + "emptyset[T]")
               (split)
               (("1"
                 (expand "null_set?")
                 (expand "mu_fin?")
                 (expand "mu")
                 (typepred "S")
                 (expand "sigma_algebra?")
                 (expand "subset_algebra_empty?")
                 (typepred "mu!1")
                 (expand "measure?")
                 (expand "measure_empty?")
                 (flatten)
                 (assert)
                 (expand "measurable_set?")
                 (replace -1)
                 (assert))
                ("2" (expand "subset?") (skosimp))))))))
          ("2" (propax))))
        ("2" (propax)) ("3" (propax))))
      ("2"
       (apply-extensionality :hide? t)
       (expand "abs")
       (rewrite "real_expt_x1"))))
    ("2"
     (flatten)
     (lemma "integrable_is_measurable[T, S, mu!1]")
     (inst - "h!1")
     (replace -1)
     (lemma "integrable_abs[T, S, mu!1]" ("f" "h!1"))
     (("1"
       (expand "^" 1)
       (case-replace "(LAMBDA (x: T): abs(h!1)(x) ^ 1)=abs[T](h!1)")
       (apply-extensionality :hide? t)
       (rewrite "real_expt_x1"))
      ("2" (propax))))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex?")
   (lemma "scal_p_integrable[T, S, mu!1, p!1]" ("c" "c!1" "f" "h!1"))
   (("1" (propax)) ("2" (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (expand "cal_L_complex?")
   (skosimp)
   (lemma "sum_p_integrable[T, S, mu!1, p!1]" ("f0" "h1!1" "f1" "h2!1"))
   (("1" (propax)) ("2" (propax)) ("3" (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (expand "cal_L_complex?")
   (skosimp)
   (lemma "opp_p_integrable[T, S, mu!1, p!1]" ("f" "h!1"))
   (("1" (propax)) ("2" (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex?")
   (lemma "diff_p_integrable[T, S, mu!1, p!1]" ("f0" "h1!1" "f1" "h2!1"))
   (("1" (propax)) ("2" (propax)) ("3" (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex?")
   (lemma "holder_judge1[T, S, mu!1, p!1,q!1]" ("f" "h1!1" "g" "h2!1"))
   (("1" (propax)) ("2" (propax)) ("3" (propax)) ("4" (propax))
    ("5" (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex_infty?")
   (lemma "scal_essentially_bounded[T, S, mu!1]" ("c" "c!1" "f" "h!1"))
   (("1" (propax)) ("2" (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex_infty?")
   (lemma "add_essentially_bounded[T, S, mu!1]"
    ("f0" "h1!1" "f1" "h2!1"))
   (("1" (propax)) ("2" (propax)) ("3" (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex_infty?")
   (lemma "opp_essentially_bounded[T, S, mu!1]" ("f" "h!1"))
   (("1" (propax)) ("2" (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex_infty?")
   (lemma "diff_essentially_bounded[T, S, mu!1]"
    ("f0" "h1!1" "f1" "h2!1"))
   (("1" (propax)) ("2" (propax)) ("3" (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (expand "cal_L_complex_infty?")
   (skosimp)
   (lemma "prod_essentially_bounded[T, S, mu!1]"
    ("f0" "h1!1" "f1" "h2!1"))
   (("1" (propax)) ("2" (propax)) ("3" (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex?")
   (lemma "holder_judge_infty_2[T, S, mu!1]" ("f" "h2!1" "g" "h1!1"))
   (("1" (propax)) ("2" (propax))
    ("3" (expand "cal_L_complex_infty?") (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex_infty?")
   (expand "cal_L_complex?")
   (lemma "holder_judge_infty_1[T, S, mu!1]" ("f" "h1!1" "g" "h2!1"))
   (("1" (propax)) ("2" (propax)) ("3" (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex?")
   (lemma "prod_cal_L"
    ("p"
     "p!1"
     "q"
     "q!1"
     "mu"
     "to_measure(nu!1)"
     "h1"
     "h1!1"
     "h2"
     "h2!1"))
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex?")
   (expand "cal_L_complex_infty?")
   (rewrite "prod_cal_L_1_infty"))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex_infty?")
   (expand "cal_L_complex?")
   (rewrite "prod_cal_L_infty_1"))


proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (typepred "S")
   (expand "sigma_algebra?")
   (expand "subset_algebra_empty?")
   (expand "member")
   (flatten))


proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex_infty?")
   (expand "essentially_bounded?")
   (split)
   (("1" (lemma "const_measurable[T,S]" ("c" "complex_(0, 0)")) (propax))
    ("2"
     (expand "ae_bounded?")
     (inst + "0")
     (expand "ae_le?")
     (expand "pointwise_ae?")
     (expand "ae?")
     (expand "fullset")
     (expand "ae_in?")
     (inst + "emptyset[T]")
     (("1"
       (skosimp)
       (expand "member")
       (expand "abs")
       (expand "abs")
       (assert)
       (expand "sq_abs")
       (assert))
      ("2"
       (expand "negligible_set?")
       (inst + "emptyset[T]")
       (expand "subset?")
       (expand "member")
       (split)
       (("1"
         (expand "null_set?")
         (typepred "S")
         (expand "sigma_algebra?")
         (flatten)
         (expand "subset_algebra_empty?")
         (expand "measurable_set?")
         (assert)
         (typepred "mu!1")
         (expand "mu")
         (expand "mu_fin?")
         (expand "measure?")
         (expand "measure_empty?")
         (flatten)
         (replace -1)
         (assert))
        ("2" (skosimp))))))))


proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex_infty?")
   (expand "essentially_bounded?")
   (lemma "const_measurable[T,S]" ("c" "complex_(0, 0)"))
   (replace -1)
   (hide -1)
   (expand "ae_bounded?")
   (inst + "0")
   (expand "abs")
   (expand "abs")
   (expand "sq_abs")
   (assert)
   (expand "ae_le?")
   (expand "pointwise_ae?")
   (expand "ae?")
   (expand "fullset")
   (expand "ae_in?")
   (expand "member")
   (propax))


proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex?")
   (expand "p_integrable?")
   (lemma "const_measurable[T,S]" ("c" "complex_(0, 0)"))
   (replace -1)
   (hide -1)
   (expand "abs")
   (expand "abs")
   (expand "sq_abs")
   (assert)
   (lemma "integrable_zero[T,S,mu!1]")
   (expand "^")
   (case-replace "(LAMBDA (x: T): 0 ^ p!1)=LAMBDA (x: T): 0")
   (apply-extensionality :hide? t)
   (rewrite "real_expt_0x"))


proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: cal_L_complex
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_complex?")
   (lemma "const_measurable[T,S]" ("c" "complex_(0, 0)"))
   (expand "p_integrable?")
   (replace -1)
   (hide -1)
   (expand "abs")
   (expand "abs")
   (expand "sq_abs")
   (assert)
   (expand "^")
   (lemma "integrable_zero[T,S,to_measure(nu!1)]")
   (case-replace "(LAMBDA (x: T): 0 ^ p!1)=LAMBDA (x: T): 0")
   (apply-extensionality :hide? t)
   (rewrite "real_expt_0x"))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real?")
   (rewrite "cal_L_complex_1_def")
   (expand "integrable?" 1 1)
   (expand "Re")
   (expand "Im")
   (assert)
   (rewrite "integrable_zero[T,S,mu!1]")
   (rewrite "eta")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real?")
   (expand "*")
   (lemma "scal_cal_L"
    ("mu"
     "mu!1"
     "h"
     "LAMBDA x: complex_(h!1(x), 0)"
     "p"
     "p!1"
     "c"
     "complex_(c!1, 0)"))
   (expand "*")
   (assert)
   (expand "*")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real?")
   (lemma "sum_cal_L"
    ("mu"
     "mu!1"
     "p"
     "p!1"
     "h1"
     "LAMBDA x: complex_(h1!1(x), 0)"
     "h2"
     "LAMBDA x: complex_(h2!1(x), 0)"))
   (assert)
   (expand "+")
   (assert)
   (expand "+ ")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "opp_cal_L"
    ("mu" "mu!1" "p" "p!1" "h" "LAMBDA x: complex_(h!1(x), 0)"))
   (expand "cal_L_real?")
   (expand "-")
   (expand "-")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real?")
   (lemma "diff_cal_L"
    ("mu"
     "mu!1"
     "p"
     "p!1"
     "h1"
     "LAMBDA x: complex_(h1!1(x), 0)"
     "h2"
     "LAMBDA x: complex_(h2!1(x), 0)"))
   (expand "-")
   (expand "-")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real?")
   (lemma "prod_cal_L"
    ("mu"
     "mu!1"
     "p"
     "p!1"
     "h1"
     "LAMBDA x: complex_(h1!1(x), 0)"
     "h2"
     "LAMBDA x: complex_(h2!1(x), 0)"
     "q"
     "q!1"))
   (assert)
   (replace -3)
   (expand "*")
   (expand "*")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real_infty?")
   (lemma "scal_cal_L_infty"
    ("mu"
     "mu!1"
     "h"
     "LAMBDA x: complex_(h!1(x), 0)"
     "c"
     "complex_(c!1,0)"))
   (expand "*")
   (expand "*")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real_infty?")
   (lemma "sum_cal_L_infty"
    ("mu"
     "mu!1"
     "h1"
     "LAMBDA x: complex_(h1!1(x), 0)"
     "h2"
     "LAMBDA x: complex_(h2!1(x), 0)"))
   (expand "+")
   (expand "+")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real_infty?")
   (lemma "opp_cal_L_infty"
    ("mu" "mu!1" "h" "LAMBDA x: complex_(h!1(x), 0)"))
   (expand "-")
   (expand "-")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real_infty?")
   (lemma "diff_cal_L_infty"
    ("mu"
     "mu!1"
     "h1"
     "LAMBDA x: complex_(h1!1(x), 0)"
     "h2"
     "LAMBDA x: complex_(h2!1(x), 0)"))
   (expand "-")
   (expand "-")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real_infty?")
   (lemma "prod_cal_L_infty"
    ("mu"
     "mu!1"
     "h1"
     "LAMBDA x: complex_(h1!1(x), 0)"
     "h2"
     "LAMBDA x: complex_(h2!1(x), 0)"))
   (expand "*")
   (expand "*")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real_infty?")
   (lemma "prod_cal_L_1_infty"
    ("mu"
     "mu!1"
     "h1"
     "LAMBDA x: complex_(h1!1(x), 0)"
     "h2"
     "LAMBDA x: complex_(h2!1(x), 0)"))
   (expand "cal_L_real?")
   (expand "*")
   (expand "*")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real?")
   (expand "cal_L_real_infty?")
   (lemma "prod_cal_L_infty_1"
    ("mu"
     "mu!1"
     "h1"
     "LAMBDA x: complex_(h1!1(x), 0)"
     "h2"
     "LAMBDA x: complex_(h2!1(x), 0)"))
   (expand "*")
   (expand "*")
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real?")
   (lemma "prod_cal_LR"
    ("p"
     "p!1"
     "q"
     "q!1"
     "h1"
     "h1!1"
     "h2"
     "h2!1"
     "mu"
     "to_measure(nu!1)"))
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real?")
   (expand "cal_L_real_infty?")
   (rewrite "prod_cal_L_1_inftyR"))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real?")
   (expand "cal_L_real_infty?")
   (rewrite "prod_cal_L_infty_1R"))


proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real_infty?")
   (expand "cal_L_complex_infty?")
   (expand "essentially_bounded?")
   (lemma "const_measurable[T,S]" ("c" "complex_(0, 0)"))
   (replace -1)
   (hide -1)
   (expand "ae_bounded?")
   (inst + "0")
   (expand "abs")
   (expand "abs")
   (expand "sq_abs")
   (assert)
   (expand "ae_le?")
   (expand "pointwise_ae?")
   (expand "ae?")
   (expand "fullset")
   (expand "ae_in?")
   (inst + "emptyset[T]")
   (("1" (skosimp) (expand "member") (propax))
    ("2"
     (expand "negligible_set?")
     (inst + " emptyset[T]")
     (split)
     (("1"
       (expand "null_set?")
       (expand "measurable_set?")
       (typepred "S")
       (expand "sigma_algebra?")
       (expand "subset_algebra_empty?")
       (expand "member")
       (flatten)
       (expand "mu")
       (expand "mu_fin?")
       (typepred "mu!1")
       (expand "measure?")
       (flatten)
       (expand "measure_empty?")
       (replace -1)
       (assert))
      ("2" (expand "subset?") (skosimp))))))


proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real_infty?")
   (expand "cal_L_complex_infty?")
   (expand "essentially_bounded?")
   (lemma "const_measurable[T,S]" ("c" "complex_(0, 0)"))
   (replace -1)
   (expand "ae_bounded?")
   (inst + "0")
   (expand "abs")
   (expand "abs")
   (assert)
   (expand "sq_abs")
   (assert)
   (expand "ae_le?")
   (expand "pointwise_ae?")
   (expand "ae?")
   (expand "fullset")
   (expand "ae_in?")
   (inst + "emptyset[T]")
   (("1" (skosimp) (expand "member") (propax))
    ("2"
     (expand "negligible_set?")
     (inst + " emptyset[T]")
     (split)
     (("1"
       (expand "null_set?")
       (expand "mu_fin?")
       (expand "mu")
       (expand "measurable_set?")
       (expand "to_measure")
       (typepred "nu!1")
       (expand "finite_measure?")
       (flatten)
       (typepred "S")
       (expand "sigma_algebra?")
       (expand "subset_algebra_empty?")
       (expand "member")
       (flatten)
       (assert))
      ("2" (expand "subset?") (skosimp))))))


proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real?")
   (expand "cal_L_complex?")
   (expand "p_integrable?")
   (lemma "const_measurable[T,S]" ("c" "complex_(0, 0)"))
   (replace -1)
   (expand "^")
   (expand "abs")
   (hide -1)
   (expand "abs")
   (expand "sq_abs")
   (assert)
   (lemma "integrable_zero[T,S,mu!1]")
   (case-replace "(LAMBDA (x: T): 0 ^ p!1)=LAMBDA (x: T): 0")
   (apply-extensionality :hide? t)
   (rewrite "real_expt_0x"))


proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: cal_L_real
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "cal_L_real?")
   (expand "cal_L_complex?")
   (expand "p_integrable?")
   (lemma "const_measurable[T,S]" ("c" "complex_(0, 0)"))
   (replace -1)
   (expand "^")
   (expand "abs")
   (expand "abs")
   (expand "sq_abs")
   (assert)
   (lemma "integrable_zero[T,S,to_measure(nu!1)]")
   (case-replace "(LAMBDA (x: T): 0 ^ p!1)=LAMBDA (x: T): 0")
   (apply-extensionality :hide? t)
   (rewrite "real_expt_0x"))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: complex_finite_measures
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "p_integrable?")
   (flatten)
   (assert)
   (lemma "abs_expt_measurable[T,S]" ("g" "f!1" "a" "p!1"))
   (("1"
     (lemma "abs_expt_measurable[T,S]" ("g" "f!1" "a" "q!1"))
     (("1"
       (assert)
       (name "g!1" "abs(f!1)")
       (case "forall (x:T): g!1(x)>=0")
       (("1"
         (replace -2)
         (lemma "integrable_nz_finite[T,S,to_measure(mu)]"
          ("f" "abs(f!1) ^ q!1" "epsilon" "1"))
         (flatten)
         (name "EE" "{x: T | g!1(x) >= 1}")
         (case-replace "{x: T | abs((abs(f!1) ^ q!1)(x)) >= 1}=EE")
         (("1"
           (hide -1)
           (lemma "measurable_complement[T,S]" ("a" "EE"))
           (lemma "phi_is_simple[T,S]" ("X" "EE"))
           (("1"
             (lemma "phi_is_simple[T,S]" ("X" "complement(EE)"))
             (("1"
               (lemma "indefinite_integrable[T,S,to_measure(mu)]"
                ("E" "EE" "f" "abs(f!1) ^ q!1"))
               (case "integrable?[T, S, to_measure(mu)](phi[T,S](complement(EE)))")
               (("1"
                 (lemma "integral.integrable_add"
                  ("f1"
                   "phi(complement(EE))"
                   "f2"
                   "lambda (x:T): phi(EE)(x) * (abs(f!1) ^ q!1)(x)"))
                 (("1"
                   (expand "+" -1)
                   (name "FF"
                         "(LAMBDA (x_1: T):
                                             phi(complement(EE))(x_1) +
                                              phi(EE)(x_1) * (abs(f!1) ^ q!1)(x_1))")
                   (replace -1)
                   (hide -1)
                   (lemma "integral_ae_abs"
                    ("h" "abs(f!1) ^ p!1" "f" "FF"))
                   (("1"
                     (assert)
                     (assert)
                     (hide 2)
                     (expand "FF")
                     (expand "ae_le?")
                     (expand "pointwise_ae?")
                     (expand "ae?")
                     (expand "fullset")
                     (expand "ae_in?")
                     (inst + "emptyset[T]")
                     (skosimp)
                     (expand "member")
                     (hide 1)
                     (expand "complement")
                     (expand "phi")
                     (expand "member")
                     (replace -11)
                     (hide-all-but (-10 -14 1))
                     (expand "EE")
                     (expand "abs")
                     (expand "^")
                     (case-replace "g!1(x!1) >= 1")
                     (("1"
                       (expand ">=" -1)
                       (expand "<=" -1)
                       (split)
                       (("1"
                         (lemma "both_sides_real_expt_gt1_le"
                          ("gt1x" "g!1(x!1)" "a" "p!1" "b" "q!1"))
                         (("1"
                           (lemma "real_expt_pos"
                            ("px" "g!1(x!1)" "a" "p!1"))
                           (("1" (expand "abs") (assert))
                            ("2" (assert))))
                          ("2" (assert))))
                        ("2"
                         (replace -1 * rl)
                         (rewrite "real_expt_1a")
                         (rewrite "real_expt_1a")
                         (expand "abs")
                         (assert))))
                      ("2"
                       (case "g!1(x!1)<1")
                       (("1"
                         (hide 1)
                         (assert)
                         (lemma "both_sides_real_expt_lt"
                          ("x" "g!1(x!1)" "y" "1" "pa" "p!1"))
                         (rewrite "real_expt_1a")
                         (expand "abs")
                         (assert))
                        ("2" (assert))))))
                    ("2" (propax))))
                  ("2" (hide 2) (expand "*" -2) (propax))
                  ("3" (propax))))
                ("2"
                 (lemma "isf_is_integrable[T, S, to_measure(mu)]")
                 (inst - "phi[T, S](complement(EE))")
                 (expand "isf?")
                 (assert)
                 (expand "mu_fin?")
                 (expand "to_measure")
                 (propax))))
              ("2" (expand "measurable_set?") (propax))))
            ("2" (expand "measurable_set?") (propax))))
          ("2"
           (replace -1 * rl)
           (replace -5)
           (hide-all-but (-4 1))
           (apply-extensionality :hide? t)
           (expand "^")
           (inst - "x!1")
           (case-replace "g!1(x!1) >= 1")
           (("1"
             (lemma "both_sides_real_expt_le"
              ("y" "g!1(x!1)" "x" "1" "pa" "q!1"))
             (rewrite "real_expt_1a")
             (assert))
            ("2"
             (assert)
             (lemma "both_sides_real_expt_ge"
              ("x" "g!1(x!1)" "y" "1" "pa" "q!1"))
             (rewrite "real_expt_1a")
             (assert)
             (expand "abs")
             (propax))))))
        ("2" (replace -1 1 rl) (expand "abs") (skosimp) (assert))))
      ("2" (propax))))
    ("2" (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: complex_finite_measures
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "p_integrable?")
   (expand "essentially_bounded?")
   (flatten)
   (replace -1)
   (lemma "abs_expt_measurable" ("g" "f!1" "a" "p!1"))
   (("1"
     (name "g!1" "abs(f!1) ^ p!1")
     (replace -1)
     (lemma "essential_bound_def2" ("f" "f!1"))
     (("1"
       (case "ae_le?(g!1, LAMBDA (x: T): essential_bound(f!1)^p!1)")
       (("1"
         (typepred "essential_bound(f!1)")
         (name-replace "KK" "essential_bound(f!1)")
         (hide -3 -4 -6 -7)
         (lemma "integral_ae_abs"
          ("h" "g!1" "f" "LAMBDA (x: T): KK ^ p!1"))
         (("1"
           (assert)
           (hide 2 -3)
           (expand "ae_le?")
           (expand "pointwise_ae?")
           (expand "ae?")
           (expand "fullset")
           (expand "ae_in?")
           (skosimp)
           (inst + "E!1")
           (expand "member")
           (skosimp)
           (inst - "x!1")
           (assert)
           (expand "abs")
           (typepred "g!1(x!1)")
           (expand "abs" 2 1)
           (assert))
          ("2" (propax))
          ("3"
           (hide 2)
           (lemma "isf_is_integrable[T, S, to_measure(mu)]")
           (inst - "phi[T,S](fullset[T])")
           (("1"
             (lemma "integral.integrable_scal"
              ("c" " KK ^ p!1" "f" "phi[T, S](fullset[T])"))
             (("1"
               (expand "*" -1)
               (expand "phi" -1)
               (expand "fullset")
               (expand "member")
               (propax))
              ("2" (propax))))
            ("2"
             (lemma "phi_is_simple[T,S]" ("X" "fullset[T]"))
             (expand "isf?")
             (expand "mu_fin?")
             (expand "to_measure")
             (propax))))))
        ("2"
         (hide 2)
         (expand "ae_le?")
         (expand "pointwise_ae?")
         (expand "ae?")
         (expand "fullset")
         (expand "ae_in?")
         (skosimp)
         (expand "member")
         (inst + "E!1")
         (skosimp)
         (inst - "x!1")
         (replace 1)
         (replace -2 2 rl)
         (expand "^" 2 1)
         (expand "abs" 2 1)
         (lemma "both_sides_real_expt_le"
          ("x" "abs(f!1)(x!1)" "y" "essential_bound(f!1)" "pa" "p!1"))
         (assert)
         (expand "abs" -1 1)
         (propax))
        ("3" (skosimp) (expand "essentially_bounded?") (assert))))
      ("2" (expand "essentially_bounded?") (assert))))
    ("2" (expand "complex_measurable?") (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_inf
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "inf_norm")
   (lemma "essential_bound_def1"
    ("f" "c!1*f!1" "K" "abs(c!1) * essential_bound(f!1)"))
   (split -1)
   (("1"
     (typepred "abs(c!1)")
     (expand ">=")
     (expand "<=" -1)
     (split)
     (("1"
       (lemma "essential_bound_def1"
        ("f" "f!1" "K" "essential_bound(c!1 * f!1)/abs(c!1)"))
       (("1"
         (split -1)
         (("1" (rewrite "div_mult_pos_le2" -1) (assert))
          ("2"
           (hide-all-but (-1 1))
           (lemma "essential_bound_def2" ("f" "c!1*f!1"))
           (("1"
             (expand "ae_le?")
             (expand "pointwise_ae?")
             (expand "ae?")
             (expand "fullset")
             (expand "ae_in?")
             (skosimp)
             (inst + "E!1")
             (skosimp)
             (expand "member")
             (inst - "x!1")
             (assert)
             (expand "abs" -1)
             (hide 1)
             (expand "abs" 1 1)
             (expand "*" -1 1)
             (rewrite "abs_mult")
             (rewrite "div_mult_pos_le2" +)
             (assert))
            ("2"
             (lemma "scal_cal_L_infty" ("c" "c!1" "f" "f!1"))
             (expand "cal_L_infty?")
             (propax))))))
        ("2"
         (typepred "essential_bound[T, S, mu](*[T](c!1, f!1))")
         (rewrite "div_mult_pos_ge1" +)
         (assert))
        ("3" (assert))))
      ("2" (replace -1 * rl) (assert))))
    ("2"
     (hide 2)
     (lemma "essential_bound_def2" ("f" "f!1"))
     (("1"
       (expand "ae_le?")
       (expand "pointwise_ae?")
       (expand "ae?")
       (expand "fullset")
       (expand "ae_in?")
       (skosimp)
       (inst + "E!1")
       (skosimp)
       (inst - "x!1")
       (expand "member")
       (assert)
       (hide 1)
       (expand "abs" -)
       (expand "abs" 1 1)
       (expand "*" 1 1)
       (rewrite "abs_mult")
       (typepred "abs(c!1)")
       (expand ">=")
       (expand "<=" -1)
       (split)
       (("1"
         (lemma "both_sides_times_pos_le1"
          ("pz"
           "abs(c!1)"
           "x"
           "abs(f!1(x!1))"
           "y"
           "essential_bound(f!1)"))
         (("1" (assert)) ("2" (assert))))
        ("2" (assert))))
      ("2" (typepred "f!1") (expand "cal_L_infty?") (propax))))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_inf
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "inf_norm")
   (lemma "essential_bound_def1"
    ("f"
     "f0!1+f1!1"
     "K"
     "essential_bound(f0!1) + essential_bound(f1!1)"))
   (assert)
   (hide 2)
   (lemma "essential_bound_def2" ("f" "f0!1"))
   (("1"
     (lemma "essential_bound_def2" ("f" "f1!1"))
     (("1"
       (expand "ae_le?")
       (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)
       (replace 1)
       (replace 2)
       (hide 1 2)
       (expand "abs")
       (lemma "abs_triangle" ("z1" "f0!1(x!1)" "z2" "f1!1(x!1)"))
       (assert)
       (expand "+" +)
       (assert))
      ("2" (typepred "f1!1") (expand "cal_L_infty?") (propax))))
    ("2" (typepred "f0!1") (expand "cal_L_infty?") (propax))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_inf
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (lemma "essential_bound_diff" ("f0" "f0!1" "f1" "f1!1"))
   (expand "inf_norm")
   (propax))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_inf
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "f!1")
   (copy -1)
   (expand "cal_L_infty?" -1)
   (expand "essentially_bounded?")
   (flatten)
   (expand "cal_N?")
   (replace -1)
   (split)
   (("1"
     (flatten)
     (expand "inf_norm")
     (lemma "essential_bound_def2" ("f" "f!1"))
     (replace -2)
     (hide-all-but (-1 1))
     (expand "ae_le?")
     (expand "ae_0?")
     (expand "pointwise_ae?")
     (expand "ae?")
     (expand "fullset")
     (expand "ae_in?")
     (skosimp)
     (inst + "E!1")
     (skosimp)
     (inst - "x!1")
     (expand "member")
     (replace 1)
     (expand "abs")
     (hide 1)
     (expand "<=" -1)
     (split)
     (("1" (assert)) ("2" (rewrite "abs_is_0") (flatten) (assert))))
    ("2"
     (flatten)
     (expand "inf_norm")
     (lemma "essential_bound_def1" ("f" "f!1" "K" "0"))
     (split)
     (("1" (assert))
      ("2"
       (hide-all-but (-1 1))
       (expand "ae_0?")
       (expand "ae_le?")
       (expand "pointwise_ae?")
       (expand "ae?")
       (expand "abs")
       (expand "fullset")
       (expand "ae_in?")
       (skosimp)
       (inst + "E!1")
       (skosimp)
       (inst - "x!1")
       (expand "member")
       (replace 1)
       (grind))))))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: cal_L_inf
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (expand "inf_norm")
   (lemma "essential_bound_def1"
    ("f"
     "f0!1 * f1!1"
     "K"
     "essential_bound(f0!1) * essential_bound(f1!1)"))
   (assert)
   (hide 2)
   (lemma "essential_bound_def2" ("f" "f0!1"))
   (lemma "essential_bound_def2" ("f" "f1!1"))
   (expand "abs")
   (expand "*" 1)
   (expand "ae_le?")
   (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)
   (replace 1)
   (replace 2)
   (hide 1 2)
   (rewrite "abs_mult" +)
   (lemma "le_times_le_pos"
    ("nnx"
     "abs(f0!1(x!1))"
     "nnz"
     "abs(f1!1(x!1))"
     "y"
     "essential_bound(f0!1)"
     "w"
     "essential_bound(f1!1)"))
   (assert))


proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: cal_L_inf
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "cal_L_infty?")
   (expand "essentially_bounded?")
   (rewrite "const_measurable")
   (expand "ae_bounded?")
   (inst + "0")
   (expand "abs")
   (expand "abs")
   (expand "sq_abs")
   (assert)
   (expand "ae_le?")
   (expand "pointwise_ae?")
   (expand "ae?")
   (expand "ae_in?")
   (inst + "emptyset[T]")
   (skosimp)
   (assert))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: cal_L_inf
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "f!1")
   (expand "cal_L_infty?")
   (expand "essentially_bounded?")
   (flatten)
   (rewrite "scal_complex_measurable")
   (hide -1)
   (expand "ae_bounded?")
   (skosimp)
   (inst + "abs(c!1)*K!1")
   (expand "ae_le?")
   (expand "pointwise_ae?")
   (expand "ae?")
   (expand "fullset")
   (expand "ae_in?")
   (skosimp)
   (inst + "E!1")
   (assert)
   (skosimp)
   (inst - "x!1")
   (assert)
   (expand "abs" 2 1)
   (expand "abs" -1 1)
   (expand "*" 2)
   (hide 1)
   (rewrite "abs_mult")
   (typepred "abs(c!1)")
   (expand ">=" -1)
   (expand "<=" -1)
   (split)
   (("1"
     (lemma "both_sides_times_pos_le2"
      ("pz" "abs(c!1)" "x" "abs(f!1(x!1))" "y" "K!1"))
     (("1" (assert)) ("2" (assert))))
    ("2" (replace -1 * rl) (assert))))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: cal_L_inf
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "f1!1")
   (typepred "f0!1")
   (expand "cal_L_infty?")
   (expand "essentially_bounded?")
   (flatten)
   (rewrite "sum_complex_measurable")
   (hide -1 -3)
   (expand "ae_bounded?")
   (skosimp*)
   (inst + "K!1+K!2")
   (expand "ae_le?")
   (expand "pointwise_ae?")
   (expand "ae?")
   (expand "fullset")
   (expand "ae_in?")
   (skosimp*)
   (inst + "union(E!1,E!2)")
   (skosimp)
   (expand "union")
   (expand "member")
   (flatten)
   (inst - "x!1")
   (inst - "x!1")
   (assert)
   (hide 1 2)
   (expand "abs")
   (expand "+")
   (lemma "abs_triangle" ("z1" "f0!1(x!1)" "z2" "f1!1(x!1)"))
   (assert))


proof_type: j_proof
decl_type: tcc
library: complex_integration
theory: cal_L_inf
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (typepred "f1!1")
   (typepred "f0!1")
   (expand "cal_L_infty?")
   (expand "essentially_bounded?")
   (flatten)
   (rewrite "prod_complex_measurable")
   (hide -1 -3)
   (expand "ae_bounded?")
   (skosimp*)
   (inst + "K!1*K!2")
   (expand "ae_le?")
   (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)
   (hide 1 2)
   (expand "abs")
   (expand "*")
   (rewrite "abs_mult")
   (lemma "le_times_le_pos"
    ("nnx" "abs(f0!1(x!1))" "y" "K!1" "nnz" "abs(f1!1(x!1))" "w" "K!2"))
   (assert))


proof_type: f_proof
decl_type: formula
library: complex_integration
theory: essential_bound_complete_scaf
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (case "FORALL (F: sequence[essentially_bounded]):
                        (FORALL n: essential_bound(F(n+1) - F(n)) < 2^(-n))
                         IMPLIES
                         (EXISTS f:
                            FORALL r:
                              EXISTS n: FORALL i: i >= n => essential_bound(f - F(i)) < r)")
   (("1"
     (skosimp)
     (name "NEXT"
           "lambda (n,m:nat): (n+1,choose({k:nat | k > m & FORALL i, j:
                                i >= k AND j >= k => essential_bound(F!1(j) - F!1(i)) < 2^(-n)}))")
     (("1"
       (name "SEQ" "lambda n: (iterate(NEXT,n+1)(0,0))`2")
       (("1"
         (case "forall n,i: i >= SEQ(n) => essential_bound(F!1(i) - F!1(SEQ(n))) < 2 ^ (-n)")
         (("1"
           (case "subseq?(F!1 o SEQ, F!1)")
           (("1"
             (inst -5 "F!1 o SEQ")
             (split -5)
             (("1"
               (skosimp)
               (inst + "f!1")
               (skosimp)
               (inst - "r!1/2")
               (skosimp)
               (case "exists n: 2^(-n) < r!1/2")
               (("1"
                 (skosimp)
                 (inst + "SEQ(n!1+n!2)")
                 (skosimp)
                 (inst - "n!1+n!2")
                 (assert)
                 (inst - "n!1+n!2" "i!1")
                 (assert)
                 (expand "o" -2)
                 (lemma "essential_bound_diff"
                  ("f0"
                   "f!1 - F!1(SEQ(n!1 + n!2))"
                   "f1"
                   "F!1(i!1) - F!1(SEQ(n!1 + n!2))"))
                 (assert)
                 (case "2 ^ (-(n!1 + n!2))<=2 ^ (-n!2)")
                 (("1"
                   (assert)
                   (name "LHS1"
                         "essential_bound(f!1 - F!1(SEQ(n!1 + n!2)) -
                                                                       (F!1(i!1) - F!1(SEQ(n!1 + n!2))))")
                   (name-replace "LHS2"
                    "essential_bound(f!1 - F!1(i!1))")
                   (case-replace "LHS1=LHS2")
                   (("1" (assert))
                    ("2"
                     (hide-all-but 1)
                     (expand "LHS2")
                     (expand "LHS1")
                     (expand "-")
                     (assert)
                     (name-replace "F1" "F!1(i!1)")
                     (name-replace "F2" "F!1(SEQ(n!1 + n!2))")
                     (expand "essential_bound")
                     (expand "ae_le?")
                     (expand "abs")
                     (expand "pointwise_ae?")
                     (expand "ae?")
                     (expand "fullset")
                     (expand "ae_in?")
                     (expand "member")
                     (expand "-")
                     (assert))))
                  ("2"
                   (lemma "both_sides_real_expt_gt1_ge"
                    ("gt1x" "2" "a" "-n!2" "b" "-(n!1 + n!2)"))
                   (assert))))
                ("2"
                 (hide-all-but 1)
                 (lemma "small_expt" ("px" "1/2"))
                 (assert)
                 (inst - "r!1/2")
                 (skosimp)
                 (inst + "n!2")
                 (rewrite "real_expt_neg")
                 (rewrite "real_expt_int_rew")
                 (expand "^")
                 (propax))))
              ("2"
               (hide 2)
               (skosimp)
               (inst -2 "n!1" "SEQ(n!1+1)")
               (expand "o ")
               (assert)
               (hide 1 -1 -2 -3)
               (expand "SEQ")
               (expand "iterate" 1 1)
               (name-replace "NN" "iterate(NEXT, 1 + n!1)(0, 0)")
               (expand "NEXT")
               (case "nonempty?({k: nat |
                                                        k > NN`2 &
                                                         (FORALL i, j:
                                                            i >= k AND j >= k =>
                                                             essential_bound(F!1(j) - F!1(i)) < 2 ^ (-NN`1))})")
               (("1"
                 (lemma "choose_member"
                  ("a"
                   "{k: nat |
                                                    k > NN`2 &
                                                     (FORALL i, j:
                                                        i >= k AND j >= k =>
                                                         essential_bound(F!1(j) - F!1(i)) < 2 ^ (-NN`1))}"))
                 (split)
                 (("1"
                   (name-replace "CC"
                    "choose({k: nat |
                                                      k > NN`2 &
                                                       (FORALL i, j:
                                                          i >= k AND j >= k =>
                                                           essential_bound(F!1(j) - F!1(i)) < 2 ^ (-NN`1))})")
                   (expand "member")
                   (flatten)
                   (assert))
                  ("2" (expand "nonempty?") (propax))))
                ("2"
                 (hide 2)
                 (expand "nonempty?")
                 (expand "empty?")
                 (expand "member")
                 (inst -2 "2 ^ (-NN`1)")
                 (("1"
                   (skosimp)
                   (inst - "n!2+NN`2+1")
                   (assert)
                   (skosimp)
                   (inst - "i!1" "j!1")
                   (assert))
                  ("2" (rewrite "real_expt_pos"))))))))
            ("2"
             (hide 2)
             (expand "subseq?")
             (inst + "SEQ")
             (("1" (expand "o ") (propax))
              ("2"
               (expand "strict_increasing?")
               (case "forall (i,n:nat): SEQ(i) < SEQ(1+i+n)")
               (("1"
                 (skosimp)
                 (inst - "x!1" "y!1-x!1-1")
                 (("1" (assert)) ("2" (assert))))
                ("2"
                 (hide 2)
                 (induct "n")
                 (("1"
                   (skosimp)
                   (expand "SEQ")
                   (expand "iterate" 1 2)
                   (name-replace "NN" "iterate(NEXT, 1 + i!1)(0, 0)")
                   (expand "NEXT")
                   (hide -2 -1)
                   (case "nonempty?({k: nat |
                                                                 k > NN`2 &
                                                                  (FORALL i, j:
                                                                     i >= k AND j >= k =>
                                                                      essential_bound(F!1(j) - F!1(i)) < 2 ^ (-NN`1))})")
                   (("1"
                     (lemma "choose_member"
                      ("a"
                       "{k: nat |
                                                             k > NN`2 &
                                                              (FORALL i, j:
                                                                 i >= k AND j >= k =>
                                                                  essential_bound(F!1(j) - F!1(i)) < 2 ^ (-NN`1))}"))
                     (split)
                     (("1"
                       (name-replace "RHS"
                        "choose({k: nat |
                                                               k > NN`2 &
                                                                (FORALL i, j:
                                                                   i >= k AND j >= k =>
                                                                    essential_bound(F!1(j) - F!1(i)) < 2 ^ (-NN`1))})")
                       (expand "member")
                       (flatten)
                       (assert))
                      ("2" (expand "nonempty?") (propax))))
                    ("2"
                     (hide 2)
                     (expand "nonempty?")
                     (expand "empty?")
                     (expand "member")
                     (inst -3 "2 ^ (-NN`1)")
                     (("1"
                       (skosimp)
                       (inst - "n!1+NN`2+1")
                       (assert)
                       (skosimp)
                       (inst - "i!2" "j!1")
                       (assert))
                      ("2" (rewrite "real_expt_pos"))))))
                  ("2"
                   (skosimp)
                   (skosimp)
                   (inst - "i!1")
                   (name-replace "LHS" "SEQ(i!1)")
                   (hide -2 -3 -4)
                   (expand "SEQ")
                   (expand "iterate" 1)
                   (name-replace "NN"
                    "iterate(NEXT, 2 + i!1 + j!1)(0, 0)")
                   (expand "NEXT")
                   (case "nonempty?({k: nat |
                                                                 k > NN`2 &
                                                                  (FORALL i, j:
                                                                     i >= k AND j >= k =>
                                                                      essential_bound(F!1(j) - F!1(i)) < 2 ^ (-NN`1))})")
                   (("1"
                     (lemma "choose_member"
                      ("a"
                       "{k: nat |
                                                             k > NN`2 &
                                                              (FORALL i, j:
                                                                 i >= k AND j >= k =>
                                                                  essential_bound(F!1(j) - F!1(i)) < 2 ^ (-NN`1))}"))
                     (split)
                     (("1"
                       (name-replace "ZZ"
                        "choose({k: nat |
                                                               k > NN`2 &
                                                                (FORALL i, j:
                                                                   i >= k AND j >= k =>
                                                                    essential_bound(F!1(j) - F!1(i)) < 2 ^ (-NN`1))})")
                       (expand "member")
                       (flatten)
                       (assert))
                      ("2" (expand "nonempty?") (propax))))
                    ("2"
                     (hide 2)
                     (expand "nonempty?")
                     (expand "empty?")
                     (expand "member")
                     (inst -4 "2 ^ (-NN`1)")
                     (("1"
                       (skosimp)
                       (inst - "n!1+NN`2+1")
                       (assert)
                       (skosimp)
                       (inst - "i!2" "j!2")
                       (assert))
                      ("2"
                       (assert)
                       (rewrite "real_expt_pos"))))))))))))))
          ("2"
           (hide 2)
           (induct "n")
           (("1"
             (skosimp)
             (expand "SEQ")
             (expand "iterate")
             (expand "iterate")
             (hide -2)
             (name "ZZ" "NEXT(0, 0)`2")
             (replace -1)
             (expand "NEXT" -1)
             (case "nonempty?({k: nat |
                                                    k > 0 &
                                                     (FORALL i, j:
                                                        i >= k AND j >= k =>
                                                         essential_bound(F!1(j) - F!1(i)) < 2 ^ (-0))})")
             (("1"
               (lemma "choose_member"
                ("a"
                 "{k: nat |
                                                k > 0 &
                                                 (FORALL i, j:
                                                    i >= k AND j >= k =>
                                                     essential_bound(F!1(j) - F!1(i)) < 2 ^ (-0))}"))
               (replace -3)
               (split -1)
               (("1"
                 (expand "member")
                 (flatten)
                 (inst - "ZZ" "i!1")
                 (assert))
                ("2" (expand "nonempty?") (propax))))
              ("2"
               (hide -1 -2 2)
               (expand "nonempty?")
               (expand "empty?")
               (expand "member")
               (inst -4 "2^(-0)")
               (("1"
                 (skosimp)
                 (inst - "n!1+1")
                 (assert)
                 (skosimp)
                 (inst -5 "i!2" "j!1")
                 (assert))
                ("2"
                 (lemma "real_expt_pos" ("px" "2" "a" "-0"))
                 (assert))))))
            ("2"
             (skosimp)
             (skosimp)
             (hide -3 -4)
             (expand "SEQ")
             (expand "iterate" 1)
             (expand "iterate" -2)
             (name-replace "NN" "iterate(NEXT, 1 + j!1)(0, 0)")
             (expand "NEXT")
             (case "nonempty?({k: nat |
                                                                         k > NN`2
                                                                         &
                                                                         (FORALL
                                                                          i, j:
                                                                          i >= k AND j >= k
                                                                          =>
                                                                          essential_bound(F!1(j) - F!1(i))
                                                                          <
                                                                          2 ^ (-NN`1))})")
             (("1"
               (lemma "choose_member"
                ("a"
                 "{k: nat |
                                                                     k > NN`2
                                                                     &
                                                                     (FORALL
                                                                      i, j:
                                                                      i >= k AND j >= k
                                                                      =>
                                                                      essential_bound(F!1(j) - F!1(i))
                                                                      <
                                                                      2 ^ (-NN`1))}"))
               (split -1)
               (("1"
                 (expand "member")
                 (name-replace "CC"
                  "choose({k: nat |
                                                                       k > NN`2
                                                                       &
                                                                       (FORALL
                                                                        i, j:
                                                                        i >= k AND j >= k
                                                                        =>
                                                                        essential_bound(F!1(j) - F!1(i))
                                                                        <
                                                                        2 ^ (-NN`1))})")
                 (flatten)
                 (inst - "CC" "i!1")
                 (case-replace "NN`1=1+j!1")
                 (("1" (assert))
                  ("2"
                   (expand "NN" 1)
                   (case "forall n: iterate(NEXT,n)(0, 0)`1 = n")
                   (("1" (inst - "1+j!1"))
                    ("2"
                     (hide-all-but 1)
                     (induct "n")
                     (("1" (expand "iterate") (propax))
                      ("2"
                       (skosimp)
                       (expand "iterate" 1)
                       (expand "NEXT" 1 1)
                       (propax))
                      ("3" (skosimp) (expand "NEXT") (assert))))))))
                ("2" (expand "nonempty?") (propax))))
              ("2"
               (hide 2 -1 -2)
               (expand "nonempty?")
               (expand "empty?")
               (expand "member")
               (inst -3 "2^(-NN`1)")
               (("1"
                 (skosimp)
                 (inst - "n!1+NN`2+1")
                 (assert)
                 (skosimp)
                 (inst - "i!2" "j!2")
                 (assert))
                ("2" (rewrite "real_expt_pos"))))))))))
        ("2" (skosimp) (expand "NEXT") (assert))))
      ("2"
       (skosimp)
       (expand "nonempty?")
       (expand "empty?")
       (expand "member")
       (hide 1 -2)
       (inst -2 "2 ^ (-n!1)")
       (("1"
         (skosimp)
         (inst - "n!2+m!1+1")
         (assert)
         (skosimp)
         (inst - "i!1" "j!1")
         (assert))
        ("2" (lemma "real_expt_pos" ("px" "2" "a" "-n!1")) (propax))))))
    ("2"
     (hide 2)
     (case "FORALL (F: sequence[essentially_bounded]):
                            EXISTS (N:null_set): FORALL (x:T,n): NOT N(x) => abs(F(n+1)(x)-F(n)(x)) <= essential_bound(F(n + 1) - F(n))")
     (("1"
       (skosimp)
       (inst - "F!1")
       (skosimp)
       (case "FORALL (x: T, n, m: nat):
                                NOT N!1(x) =>
                                 abs(F!1(n + m)(x) - F!1(n)(x)) <= sigma[nat](n,n+m-1,geometric(1/2))")
       (("1"
         (case "forall (n,m:nat): sigma[nat](n, n + m - 1, geometric(1 / 2)) < 2^(1-n)")
         (("1"
           (case "exists (g:[T->complex]): pointwise_convergence?(lambda n: lambda (x:T): phi(complement(N!1))(x) * F!1(n)(x),g)")
           (("1"
             (skosimp)
             (lemma "pointwise_complex_measurable"
              ("f"
               "g!1"
               "u"
               "LAMBDA n:
                                                           LAMBDA (x: T):
                                                             phi(complement(N!1))(x) * F!1(n)(x)"))
             (("1"
               (replace -2)
               (case "FORALL (x: T, n): NOT N!1(x) => abs(g!1(x) - F!1(n)(x)) < 2 ^ (2 - n)")
               (("1"
                 (case "essentially_bounded?(g!1)")
                 (("1"
                   (inst + "g!1")
                   (skosimp)
                   (hide-all-but (-2 1))
                   (lemma "exp_of_exists" ("py" "r!1" "b" "2"))
                   (skosimp)
                   (lemma "both_sides_real_expt_gt1_lt"
                    ("gt1x" "2" "a" "i!1-1" "b" "i!1"))
                   (assert)
                   (rewrite "real_expt_int_rew" * :dir rl)
                   (rewrite "real_expt_int_rew" * :dir rl)
                   (case "3-i!1>=0")
                   (("1"
                     (inst + "3-i!1")
                     (skosimp)
                     (lemma "both_sides_real_expt_gt1_le"
                      ("gt1x" "2" "a" "2-i!2" "b" "i!1-1"))
                     (assert)
                     (lemma "essential_bound_def1"
                      ("f" "g!1 - F!1(i!2)" "K" "2^(2-i!2)"))
                     (split -1)
                     (("1" (assert))
                      ("2"
                       (hide 2)
                       (expand "ae_le?")
                       (expand "pointwise_ae?")
                       (expand "ae?")
                       (expand "fullset")
                       (expand "ae_in?")
                       (inst + "N!1")
                       (skosimp)
                       (expand "member")
                       (inst - "x!1" "i!2")
                       (assert)
                       (expand "abs" 2)
                       (assert)
                       (expand "-" 2)
                       (assert))))
                    ("2"
                     (assert)
                     (case "3-i!1<0")
                     (("1"
                       (hide 1)
                       (lemma "both_sides_real_expt_gt1_lt"
                        ("gt1x" "2" "a" "3" "b" "i!1"))
                       (assert)
                       (rewrite "real_expt_int_rew" -1)
                       (rewrite "expt_x3")
                       (inst + "0")
                       (skosimp)
                       (inst - "_" "i!2")
                       (case "2 ^ (2 - i!2)< 8")
                       (("1"
                         (lemma "essential_bound_def1"
                          ("f" "g!1 - F!1(i!2)" "K" "8"))
                         (split -1)
                         (("1" (assert))
                          ("2"
                           (hide 2)
                           (expand "ae_le?")
                           (expand "pointwise_ae?")
                           (expand "ae?")
                           (expand "fullset")
                           (expand "ae_in?")
                           (expand "member")
                           (inst + "N!1")
                           (skosimp)
                           (inst - "x!1")
                           (assert)
                           (expand "abs" 2)
                           (expand "-" 2)
                           (assert))))
                        ("2"
                         (hide-all-but 1)
                         (lemma "both_sides_real_expt_gt1_lt"
                          ("gt1x" "2" "a" "2-i!2" "b" "3"))
                         (assert)
                         (lemma "real_expt_int_rew" ("x" "2" "i" "3"))
                         (replace -1)
                         (rewrite "expt_x3"))))
                      ("2" (assert))))))
                  ("2"
                   (hide-all-but (-1 1 -2))
                   (typepred "F!1(0)")
                   (expand "essentially_bounded?")
                   (replace -3)
                   (flatten)
                   (hide -1 -4)
                   (expand "ae_bounded?")
                   (skosimp)
                   (inst + "K!1+4")
                   (expand "ae_le?")
                   (expand "pointwise_ae?")
                   (expand "ae?")
                   (expand "fullset")
                   (expand "ae_in?")
                   (skosimp)
                   (typepred "E!1")
                   (expand "member")
                   (inst + "union(N!1,E!1)")
                   (skosimp)
                   (expand "union")
                   (expand "member")
                   (flatten)
                   (hide -1)
                   (inst - "x!1")
                   (inst - "x!1" "0")
                   (assert)
                   (rewrite "real_expt_int_rew")
                   (rewrite "expt_x2")
                   (lemma "polar.abs_triangle"
                    ("z1" "g!1(x!1)-F!1(0)(x!1)" "z2" "F!1(0)(x!1)"))
                   (case-replace
                    "abs(g!1(x!1) - F!1(0)(x!1) + F!1(0)(x!1))=abs(g!1)(x!1)")
                   (("1"
                     (assert)
                     (assert)
                     (expand "abs" 3)
                     (expand "abs" -1 2)
                     (expand "abs" -2 1)
                     (assert)
                     (name-replace "LHS" "abs(g!1(x!1))")
                     (expand "abs" -3)
                     (assert))
                    ("2"
                     (hide-all-but 1)
                     (expand "abs")
                     (expand "abs")
                     (expand "sq_abs")
                     (assert))))))
                ("2"
                 (hide -1 2)
                 (skosimp)
                 (expand "pointwise_convergence?")
                 (inst - "x!1")
                 (expand "complement")
                 (expand "phi")
                 (expand "member")
                 (inst -3 "x!1" "_" "_")
                 (inst -4 "x!1" "_")
                 (replace 1)
                 (hide 1)
                 (rewrite "metric_convergence_def" -1)
                 (expand "metric_converges_to")
                 (expand "ball")
                 (expand "member")
                 (inst - "2^(-n!1)")
                 (("1"
                   (skosimp)
                   (inst - "n!1+n!2+1")
                   (assert)
                   (inst - "n!1" "1+n!2")
                   (inst - "n!1" "1+n!2")
                   (hide -4 -5)
                   (lemma "polar.abs_triangle"
                    ("z1"
                     "g!1(x!1) - 1 * F!1(1 + n!1 + n!2)(x!1)"
                     "z2"
                     "F!1(1 + n!2 + n!1)(x!1) - F!1(n!1)(x!1)"))
                   (case-replace
                    "abs(g!1(x!1) - 1 * F!1(1 + n!1 + n!2)(x!1) +
                                                 (F!1(1 + n!2 + n!1)(x!1) - F!1(n!1)(x!1)))=abs(g!1(x!1) - F!1(n!1)(x!1))")
                   (("1"
                     (hide -1)
                     (case "2 ^ (-n!1)+2 ^ (1 - n!1) <=2 ^ (2 - n!1)")
                     (("1" (assert))
                      ("2"
                       (hide-all-but 1)
                       (lemma "real_expt_plus"
                        ("x" "2" "a" "1" "b" "-n!1"))
                       (lemma "real_expt_plus"
                        ("x" "2" "a" "2" "b" "-n!1"))
                       (replace -1)
                       (replace -2)
                       (hide -1 -2)
                       (lemma "both_sides_times_pos_le1"
                        ("pz" "2^(-n!1)" "x" "1+2^1" "y" "2^2"))
                       (("1"
                         (assert)
                         (hide 2)
                         (rewrite "real_expt_int_rew")
                         (rewrite "real_expt_int_rew")
                         (grind))
                        ("2" (rewrite "real_expt_int_rew") (assert))))))
                    ("2"
                     (hide-all-but 1)
                     (expand "abs")
                     (expand "sq_abs")
                     (assert))))
                  ("2" (rewrite "real_expt_pos"))))))
              ("2"
               (hide-all-but 1)
               (skosimp)
               (typepred "F!1(n!1)")
               (typepred "N!1")
               (lemma "null_set_is_measurable[T,S,mu]")
               (inst - "N!1")
               (lemma "measurable_complement[T,S]" ("a" "N!1"))
               (lemma "phi_is_simple" ("X" "complement[T](N!1)"))
               (("1"
                 (assert)
                 (lemma "prod_measurable"
                  ("g1" "phi(complement[T](N!1))" "g2" "Re(F!1(n!1))"))
                 (("1"
                   (expand "*" -1)
                   (expand "Re" 1)
                   (expand "Im" 1)
                   (lemma "prod_measurable"
                    ("g1" "phi(complement[T](N!1))" "g2" "Im(F!1(n!1))"))
                   (("1" (expand "*" -1) (assert))
                    ("2"
                     (expand "essentially_bounded?")
                     (flatten)
                     (assert))))
                  ("2"
                   (expand "essentially_bounded?")
                   (flatten)
                   (assert))
                  ("3" (expand "simple?") (flatten))))
                ("2" (assert) (expand "measurable_set?") (propax))))))
            ("2"
             (hide 2 -3 -4)
             (case "FORALL (x: T):
                                            NOT N!1(x) IMPLIES
                                             metric_convergent?
                                                 (LAMBDA (n:nat): F!1(n)(x))")
             (("1"
               (inst +
                "lambda (x:T): if N!1(x) then complex_(0,0) else limit(LAMBDA (n: nat): F!1(n)(x)) endif")
               (("1"
                 (expand "pointwise_convergence?")
                 (skosimp)
                 (inst - "x!1")
                 (expand "complement")
                 (expand "phi")
                 (expand "member")
                 (case-replace "N!1(x!1)")
                 (("1"
                   (rewrite "metric_convergence_def")
                   (expand "metric_converges_to")
                   (skosimp)
                   (inst + "0")
                   (skosimp)
                   (expand "ball")
                   (expand "member")
                   (expand "abs")
                   (expand "sq_abs")
                   (assert))
                  ("2"
                   (assert)
                   (lemma "limit_lemma"
                    ("v" "LAMBDA (n_1: nat): 1 * F!1(n_1)(x!1)"))
                   (("1"
                     (hide -3 -4 1)
                     (expand "*")
                     (assert)
                     (expand "convergence?")
                     (skosimp)
                     (inst - "U!1")
                     (assert)
                     (split)
                     (("1" (propax))
                      ("2"
                       (hide 2)
                       (case-replace
                        "equalities.=(LAMBDA (n_1: nat):
                                                                complex_(1 * Re(F!1(n_1)(x!1)), 1 * Im(F!1(n_1)(x!1))),LAMBDA (n: nat): F!1(n)(x!1))")
                       (apply-extensionality :hide? t))))
                    ("2"
                     (expand "metric_convergent?")
                     (expand "convergent?")
                     (skosimp)
                     (inst + "x!2")
                     (rewrite "metric_convergence_def")
                     (expand "metric_converges_to")
                     (expand "ball")
                     (expand "member")
                     (hide-all-but (-1 1))
                     (skosimp)
                     (inst - "r!1")
                     (skosimp)
                     (inst + "n!1")
                     (skosimp)
                     (inst - "i!1")
                     (assert)
                     (expand "*")
                     (expand "-")
                     (assert))))))
                ("2"
                 (skosimp)
                 (inst - "x!1")
                 (assert)
                 (expand "convergent?")
                 (expand "metric_convergent?")
                 (skosimp)
                 (inst + "x!2")
                 (rewrite "metric_convergence_def"))))
              ("2"
               (hide 2)
               (skosimp)
               (inst - "x!1" "_" "_")
               (assert)
               (hide 1)
               (lemma "complex_is_complete")
               (expand "fullset")
               (expand "complete_metric_space?")
               (expand "metric_complete?")
               (flatten)
               (inst - "LAMBDA (n: nat): F!1(n)(x!1)")
               (split)
               (("1" (expand "metric_convergent?") (propax))
                ("2"
                 (hide -1 2)
                 (expand "cauchy?")
                 (skosimp)
                 (expand "ball")
                 (expand "member")
                 (lemma "exp_of_exists" ("b" "2" "py" "r!1"))
                 (skosimp)
                 (case "i!1>=0")
                 (("1"
                   (inst + "2")
                   (skosimp)
                   (lemma "trich_lt" ("x" "i!2" "y" "j!1"))
                   (split)
                   (("1"
                     (inst - "i!2" "j!1-i!2")
                     (("1"
                       (inst - "i!2" "j!1-i!2")
                       (("1"
                         (assert)
                         (lemma "both_sides_real_expt_gt1_lt"
                          ("gt1x" "2" "a" "1-i!2" "b" "i!1"))
                         (assert)
                         (rewrite "real_expt_int_rew")
                         (rewrite "real_expt_int_rew")
                         (assert))
                        ("2" (assert))))
                      ("2" (assert))))
                    ("2"
                     (replace -1)
                     (assert)
                     (expand "abs")
                     (expand "sq_abs")
                     (assert))
                    ("3"
                     (inst - "j!1" "i!2-j!1")
                     (("1"
                       (inst - "j!1" "i!2-j!1")
                       (("1"
                         (lemma "both_sides_real_expt_gt1_lt"
                          ("gt1x" "2" "a" "1-j!1" "b" "i!1"))
                         (assert)
                         (rewrite "real_expt_int_rew")
                         (rewrite "real_expt_int_rew")
                         (assert)
                         (expand "abs")
                         (expand "sq_abs")
                         (assert)
                         (lemma "sq_neg_minus"
                          ("a"
                           "Im(F!1(j!1)(x!1))"
                           "b"
                           "Im(F!1(i!2)(x!1))"))
                         (lemma "sq_neg_minus"
                          ("a"
                           "Re(F!1(j!1)(x!1))"
                           "b"
                           "Re(F!1(i!2)(x!1))"))
                         (assert))
                        ("2" (assert))))
                      ("2" (assert))))))
                  ("2"
                   (assert)
                   (assert)
                   (case "i!1<0")
                   (("1"
                     (hide 1)
                     (inst + "2-i!1")
                     (skosimp)
                     (lemma "trich_lt" ("x" "i!2" "y" "j!1"))
                     (split)
                     (("1"
                       (inst - "i!2" "j!1-i!2")
                       (("1"
                         (inst - "i!2" "j!1-i!2")
                         (("1"
                           (lemma "both_sides_real_expt_gt1_lt"
                            ("gt1x" "2" "a" "1-i!2" "b" "i!1"))
                           (assert)
                           (rewrite "real_expt_int_rew")
                           (rewrite "real_expt_int_rew")
                           (assert))
                          ("2" (assert))))
                        ("2" (assert))))
                      ("2"
                       (replace -1)
                       (expand "abs")
                       (expand "sq_abs")
                       (assert))
                      ("3"
                       (inst - "j!1" "i!2-j!1")
                       (("1"
                         (inst - "j!1" "i!2-j!1")
                         (("1"
                           (lemma "both_sides_real_expt_gt1_lt"
                            ("gt1x" "2" "a" "1-j!1" "b" "i!1"))
                           (assert)
                           (rewrite "real_expt_int_rew")
                           (rewrite "real_expt_int_rew")
                           (case-replace
                            "abs(F!1(i!2)(x!1) - F!1(j!1)(x!1))=abs(F!1(j!1)(x!1) - F!1(i!2)(x!1))")
                           (("1" (assert))
                            ("2"
                             (hide-all-but 1)
                             (expand "abs")
                             (expand "sq_abs")
                             (lemma "sq_neg_minus"
                              ("a"
                               "Im(F!1(i!2)(x!1))"
                               "b"
                               "Im(F!1(j!1)(x!1))"))
                             (lemma "sq_neg_minus"
                              ("a"
                               "Re(F!1(i!2)(x!1))"
                               "b"
                               "Re(F!1(j!1)(x!1))"))
                             (assert))))
                          ("2" (assert))))
                        ("2" (assert))))))
                    ("2" (assert))))))))))))
          ("2"
           (hide-all-but 1)
           (skosimp*)
           (case-replace "m!1=0")
           (("1"
             (expand "sigma")
             (lemma "real_expt_pos" ("px" "2" "a" "1-n!1"))
             (assert))
            ("2"
             (case "m!1>=1")
             (("1"
               (hide 1)
               (lemma "sigma_geometric" ("x" "1/2" "n" "n!1+m!1-1"))
               (("1"
                 (case-replace "n!1=0")
                 (("1"
                   (assert)
                   (rewrite "real_expt_int_rew" 1)
                   (assert)
                   (rewrite "expt_x1")
                   (case "(1 - (1 / 2) ^ m!1) / (1 - 1 / 2) < 2")
                   (("1" (assert))
                    ("2"
                     (hide-all-but (-3 1))
                     (grind-reals)
                     (move-terms 1 l 1)
                     (assert)
                     (rewrite "real_expt_int_rew" 1)
                     (assert))))
                  ("2"
                   (case "n!1>=1")
                   (("1"
                     (hide 1)
                     (lemma "sigma_geometric" ("x" "1/2" "n" "n!1-1"))
                     (("1"
                       (lemma "sigma_split"
                        ("low"
                         "0"
                         "high"
                         "n!1+m!1-1"
                         "F"
                         "geometric(1 / 2)"
                         "z"
                         "n!1-1"))
                       (assert)
                       (name-replace "LHS"
                        "sigma(n!1, m!1 - 1 + n!1, geometric(1 / 2))")
                       (name-replace "DRL1"
                        "sigma(0, m!1 - 1 + n!1, geometric(1 / 2))")
                       (name-replace "DRL2"
                        "sigma(0, n!1 - 1, geometric(1 / 2))")
                       (rewrite "real_expt_int_rew")
                       (assert)
                       (case "DRL1-DRL2 = 2*(exponentiation.^(1/2,n!1)-exponentiation.^(1/2,m!1+n!1))")
                       (("1"
                         (rewrite "expt_plus" -1)
                         (lemma "expt_plus"
                          ("n0x" "2" "i" "1" "j" "-n!1"))
                         (rewrite "expt_x1")
                         (replace -1)
                         (lemma "both_sides_times_pos_lt1"
                          ("pz"
                           " 2 * exponentiation.^(1 / 2, n!1)"
                           "x"
                           "1-exponentiation.^(1 / 2, m!1)"
                           "y"
                           "1"))
                         (rewrite "expt_inverse" 1)
                         (rewrite "inv_expt" 1 :dir rl)
                         (assert))
                        ("2" (assert))))
                      ("2" (assert))))
                    ("2" (assert))))))
                ("2" (assert))))
              ("2" (assert))))))
          ("3" (skosimp) (inst + "n!1+m!1") (assert))))
        ("2"
         (hide 2)
         (skolem + ("x!1" "n!1" "_"))
         (inst - "x!1" "_")
         (case-replace "N!1(x!1)")
         (assert)
         (hide 1)
         (induct "m")
         (("1"
           (expand "sigma")
           (expand "abs")
           (expand "sq_abs")
           (assert))
          ("2"
           (skosimp*)
           (assert)
           (expand "sigma" 1)
           (inst - "j!1+n!1")
           (inst - "j!1+n!1")
           (expand "geometric" 1 1)
           (rewrite "real_expt_neg" -3)
           (rewrite "real_expt_int_rew" -3)
           (lemma "polar.abs_triangle"
            ("z1"
             "F!1(1 + (j!1 + n!1))(x!1) - F!1(j!1 + n!1)(x!1)"
             "z2"
             "F!1(j!1 + n!1)(x!1) - F!1(n!1)(x!1)"))
           (case-replace
            "abs(F!1(1 + j!1 + n!1)(x!1) - F!1(n!1)(x!1))=abs(F!1(1 + (j!1 + n!1))(x!1) - F!1(j!1 + n!1)(x!1) +
                                 (F!1(j!1 + n!1)(x!1) - F!1(n!1)(x!1)))")
           (("1" (assert))
            ("2"
             (hide-all-but 1)
             (expand "abs")
             (expand "sq_abs")
             (assert))))
          ("3" (skosimp) (inst + "n!1+m!1") (assert))))
        ("3" (skosimp) (inst + "3") (assert))))
      ("2"
       (hide 2)
       (skosimp)
       (name "EE"
             "lambda n: choose[(S)]({E:(S) | null_set?(E) & forall (x:T): not E(x) => abs(F!1(n+1)(x)-F!1(n)(x)) <=  essential_bound(F!1(n+1)-F!1(n))})")
       (("1"
         (inst + "IUnion(EE)")
         (hide -1)
         (skosimp)
         (case "forall n: not EE(n)(x!1) => abs(F!1(n + 1)(x!1) - F!1(n)(x!1)) <= essential_bound(F!1(n + 1) - F!1(n))")
         (("1" (expand "IUnion") (inst + "n!1") (inst - "n!1") (assert))
          ("2"
           (hide 2 3)
           (skosimp)
           (expand "EE")
           (case "nonempty?[(S)]({E: (S) |
                                              null_set?(E) &
                                               (FORALL (x: T):
                                                  NOT E(x) =>
                                                   abs(F!1(1 + n!2)(x) - F!1(n!2)(x)) <=
                                                    essential_bound(F!1(1 + n!2) - F!1(n!2)))})")
           (("1"
             (lemma "choose_member[(S)]"
              ("a"
               "{E: (S) |
                                          null_set?(E) &
                                           (FORALL (x: T):
                                              NOT E(x) =>
                                               abs(F!1(1 + n!2)(x) - F!1(n!2)(x)) <=
                                                essential_bound(F!1(1 + n!2) - F!1(n!2)))}"))
             (name-replace "CC"
              "choose[(S)]
                                    ({E: (S) |
                                        null_set?(E) &
                                         (FORALL (x: T):
                                            NOT E(x) =>
                                             abs(F!1(1 + n!2)(x) - F!1(n!2)(x)) <=
                                              essential_bound(F!1(1 + n!2) - F!1(n!2)))})")
             (split -1)
             (("1" (expand "member") (inst - "x!1") (assert))
              ("2" (expand "nonempty?") (propax))))
            ("2"
             (hide 2)
             (expand "nonempty?")
             (expand "empty?")
             (expand "member")
             (lemma "essential_bound_def2"
              ("f" "F!1(n!2 + 1) - F!1(n!2)"))
             (expand "ae_le?")
             (expand "pointwise_ae?")
             (expand "ae?")
             (expand "fullset")
             (expand "ae_in?")
             (skosimp)
             (typepred "E!1")
             (expand "negligible_set?")
             (skosimp)
             (inst -4 "X!1")
             (("1"
               (assert)
               (skosimp)
               (inst - "x!2")
               (assert)
               (expand "subset?")
               (inst - "x!2")
               (assert)
               (expand "abs" -2)
               (expand "-" -2 1)
               (propax))
              ("2"
               (lemma "null_set_is_measurable")
               (inst - "X!1")
               (expand "measurable_set?")
               (propax))))))))
        ("2"
         (hide 2)
         (skosimp)
         (expand "nonempty?")
         (expand "empty?")
         (expand "member")
         (lemma "diff_essentially_bounded"
          ("f0" "F!1(1+n!1)" "f1" "F!1(n!1)"))
         (lemma "essential_bound_def2"
          ("f" "((-[T])(F!1(1 + n!1), F!1(n!1)))"))
         (name-replace "EB"
          " essential_bound(((-[T])(F!1(1 + n!1), F!1(n!1))))")
         (hide -2)
         (expand "ae_le?")
         (expand "pointwise_ae?")
         (expand "ae?")
         (expand "fullset")
         (expand "ae_in?")
         (expand "member")
         (skosimp)
         (typepred "E!1")
         (expand "negligible_set?")
         (skosimp)
         (inst -4 "X!1")
         (("1"
           (assert)
           (skosimp)
           (expand "subset?")
           (inst -2 "x!1")
           (expand "member")
           (assert)
           (inst - "x!1")
           (assert)
           (expand "abs" -2)
           (expand "-" -2)
           (propax))
          ("2"
           (assert)
           (lemma "null_set_is_measurable")
           (inst - "X!1")
           (expand "measurable_set?")
           (propax))))))))))


proof_type: t_proof
decl_type: tcc
library: complex_integration
theory: essential_bound_complete_scaf
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 "member")
   (propax))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "G!1")
   (inst?)
   (assert)
   (flatten)
   (expand "in?")
   (split -3)
   (("1" (replace -1 :dir rl) (inst + "PROJ_2(e!1)") (assert))
    ("2" (replace -1 :dir rl) (inst + "PROJ_1(e!1)") (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "G!1")
   (inst?)
   (assert)
   (flatten)
   (expand "in?")
   (split -3)
   (("1"
     (inst + "PROJ_2(e!1)")
     (assert)
     (flatten)
     (apply-extensionality 2 :hide? t))
    ("2"
     (inst + "PROJ_1(e!1)")
     (assert)
     (flatten)
     (apply-extensionality 1 :hide? t))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (inst + "proj_1(e!1)" "proj_2(e!1)")
   (assert)
   (case "e!1 = (proj_1(e!1),proj_2(e!1))")
   (("1" (replace -1 -) (assert) (typepred "G!1") (inst?) (assert))
    ("2" (apply-extensionality 1 :hide? t))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "empty?")
   (apply-extensionality 1 :hide? t)
   (expand "emptyset")
   (expand "empty?")
   (expand "member")
   (inst?)
   (assert)
   (typepred "G!1")
   (inst?)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "singleton?")
   (expand "size")
   (lemma "card_one[T]")
   (inst?)
   (assert)
   (hide -2)
   (skosimp*)
   (expand "empty?")
   (skosimp*)
   (expand "member")
   (typepred "SG!1")
   (inst?)
   (inst?)
   (assert)
   (flatten)
   (replace -3)
   (hide -3)
   (expand "singleton")
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "SG!1")
   (inst?)
   (inst?)
   (assert)
   (flatten)
   (case "subset?(add(PROJ_1(e!1),singleton(PROJ_2(e!1))),vert(SG!1))")
   (("1"
     (lemma "card_subset[T]")
     (inst?)
     (assert)
     (rewrite "card_add")
     (rewrite "card_singleton")
     (hide -2)
     (expand "singleton")
     (assert))
    ("2" (grind))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "empty?")
   (lemma "card_empty?[T]")
   (inst?)
   (iff)
   (assert)
   (expand "singleton?")
   (expand "size")
   (lemma "card_2_has_2[T]")
   (inst?)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "singleton_digraph")
   (expand "singleton?")
   (expand "size")
   (rewrite "card_singleton"))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand* "walk_from?" "from?")
   (flatten)
   (expand "walk?")
   (flatten)
   (inst - "0")
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "verts_in?")
   (skosimp*)
   (typepred "i!1")
   (expand "o ")
   (ground)
   (("1" (typepred "s1!1") (expand "verts_in?") (inst?))
    ("2" (typepred "s2!1") (expand "verts_in?") (inst?))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "verts_in?")
   (skosimp*)
   (inst?)
   (("1"
     (typepred "i!2")
     (expand "^")
     (expand "empty_seq")
     (lift-if)
     (ground)
     (typepred "i!2")
     (expand "^")
     (typepred "j!1")
     (reveal -1)
     (inst?))
    ("2"
     (typepred "i!1")
     (typepred "i!2")
     (expand "^")
     (lift-if)
     (expand "empty_seq")
     (ground))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "w!1")
   (expand "subset?")
   (skosimp*)
   (expand "verts_in?")
   (expand "member")
   (expand "verts_of")
   (skosimp*)
   (expand "finseq_appl")
   (inst?)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "subset?")
   (skosimp*)
   (expand "member")
   (expand "edges_of")
   (expand "finseq_appl")
   (skosimp*)
   (replace -2)
   (hide -2)
   (expand "walk?")
   (flatten)
   (inst - "i!1")
   (assert)
   (expand "edge?")
   (expand "finseq_appl")
   (propax))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand* "walk_from?" "from?")
   (flatten)
   (expand "walk?")
   (flatten)
   (expand "verts_in?")
   (inst-cp -3 "0")
   (inst -3 "length(w!1)-1")
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "walk?")
   (flatten)
   (split 1)
   (("1"
     (hide -2)
     (expand "verts_in?")
     (skosimp*)
     (inst?)
     (expand "verts_of")
     (hide -2)
     (expand "subset?")
     (expand "member")
     (inst?)
     (split -2)
     (("1" (propax)) ("2" (inst?) (expand "finseq_appl") (propax))))
    ("2"
     (skosimp*)
     (hide -5)
     (expand "subset?")
     (expand "member")
     (inst?)
     (assert)
     (expand "edge?")
     (inst?)
     (expand "edges_of")
     (assert)
     (inst + "n!1"))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case "(FORALL (i: below(length(ww!1))): seq(ww!1)(i) = seq(ww!1)(0))")
   (("1"
     (inst -1 "length(ww!1)-1")
     (assert)
     (expand "finseq_appl")
     (assert))
    ("2"
     (hide 3)
     (induct "i")
     (skosimp*)
     (reveal 1)
     (inst + "jb!1")
     (expand "finseq_appl")
     (ground))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "walk?")
   (expand "gen_seq2")
   (split 2)
   (("1" (expand "verts_in?") (propax))
    ("2"
     (skosimp*)
     (expand "finseq_appl")
     (assert)
     (expand "edge?")
     (propax))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "walk?")
   (flatten)
   (split +)
   (("1" (rewrite "verts_in?_caret"))
    ("2"
     (skosimp*)
     (expand "finseq_appl")
     (expand "edge?")
     (expand "^")
     (assert)
     (inst?)
     (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "walk?")
   (flatten)
   (split 1)
   (("1"
     (expand "verts_in?")
     (expand "add1")
     (skosimp*)
     (hide -2)
     (inst?)
     (("1" (ground)) ("2" (assert))))
    ("2"
     (skosimp*)
     (expand "finseq_appl")
     (expand "add1")
     (lift-if)
     (split 1)
     (("1" (flatten) (inst?) (lift-if) (ground)) ("2" (flatten))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand* "walk_from?" "from?")
   (flatten)
   (expand "o ")
   (assert)
   (auto-rewrite "finseq_appl")
   (expand "walk?")
   (assert)
   (flatten)
   (assert)
   (split +)
   (("1"
     (expand "verts_in?")
     (skosimp*)
     (hide -4)
     (ground)
     (("1" (inst?)) ("2" (hide -3) (inst?))))
    ("2"
     (skosimp*)
     (case "n!1 < length(w1!1)")
     (("1" (assert) (lift-if) (inst?) (ground))
      ("2" (assert) (hide -5) (inst?) (assert))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand* "walk_from?" "from?")
   (flatten)
   (assert)
   (expand "o ")
   (expand "^")
   (expand min)
   (expand "walk?")
   (expand "finseq_appl")
   (flatten)
   (split +)
   (("1"
     (expand "verts_in?")
     (skosimp*)
     (ground)
     (("1" (inst?)) ("2" (hide -2 -3 -4 -5 -6 -7 -9) (inst?))))
    ("2"
     (skosimp*)
     (expand "edge?")
     (case "n!1 < length(w1!1) - 1")
     (("1"
       (assert)
       (inst?)
       (assert)
       (case "n!1 = length(w1!1) - 1")
       (("1" (replace -1) (hide -1) (assert)) ("2" (lift-if) (assert))))
      ("2" (assert) (hide -6) (inst?) (assert))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand* "walk_from?" "from?")
   (flatten)
   (expand "walk?")
   (expand "finseq_appl")
   (expand "o ")
   (expand "^")
   (expand "min")
   (expand "empty_seq")
   (split 1)
   (("1" (propax))
    ("2"
     (flatten)
     (lift-if)
     (split 1)
     (("1" (flatten) (expand "verts_in?") (hide -7) (inst?) (ground))
      ("2" (flatten) (assert))))
    ("3"
     (flatten)
     (expand "verts_in?")
     (skosimp*)
     (hide -6)
     (split 1)
     (("1" (flatten) (inst?))
      ("2"
       (flatten)
       (assert)
       (typepred "i!2")
       (lift-if)
       (ground)
       (inst?))))
    ("4"
     (skosimp*)
     (lift-if)
     (split 1)
     (("1"
       (flatten)
       (ground)
       (("1" (inst?) (assert)) ("2" (inst?) (assert))
        ("3"
         (lift-if)
         (split 3)
         (("1" (flatten) (inst?) (assert))
          ("2"
           (flatten)
           (assert)
           (inst?)
           (assert)
           (case "n!1 = i!1")
           (("1"
             (replace -1)
             (hide -1)
             (assert)
             (replace -4)
             (reveal -2)
             (inst -1 "j!1")
             (assert))
            ("2" (assert))))))))
      ("2" (flatten) (ground) (inst?) (assert))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case-replace "u!1 = v!1")
   (("1"
     (hide -3)
     (expand* "walk_from?" "from?")
     (flatten)
     (lemma "walk_verts_in")
     (inst?)
     (assert)
     (hide -2 -4 -5)
     (inst + "gen_seq1(G!1,v!1)")
     (("1"
       (expand "gen_seq1")
       (expand "walk?")
       (expand "verts_in?")
       (skosimp*)
       (inst?)
       (assert))
      ("2" (expand "verts_in?") (inst?) (assert))))
    ("2"
     (case-replace "u!1 = yt!1")
     (("1" (inst + "p2!1"))
      ("2"
       (lemma "walk_from_l")
       (inst?)
       (assert)
       (lemma "walk_concat")
       (inst?)
       (inst -1 "v!1" "p2!1")
       (assert)
       (inst + "p1!1 ^ (0, length(p1!1) - 2) o p2!1"))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "equivalence?")
   (split)
   (("1" (expand "reflexive?") (skeep) (expand "eq_prewalk?") (propax))
    ("2"
     (expand "symmetric?")
     (skeep)
     (expand "eq_prewalk?")
     (split)
     (("1" (flatten) (assert))
      ("2"
       (flatten)
       (skeep -1)
       (expand "reord_prewalk")
       (case "i > length(x) - 1")
       (("1"
         (expand "^" -2)
         (assert)
         (expand "empty_seq")
         (expand "o" -2)
         (expand "min")
         (decompose-equality -2)
         (("1"
           (decompose-equality -2)
           (("1"
             (lift-if)
             (ground)
             (("1" (decompose-equality 1) (decompose-equality 1))
              ("2" (decompose-equality 2) (decompose-equality 1))))
            ("2" (expand "min") (propax)) ("3" (expand "min") (propax))))
          ("2" (expand "min") (propax)) ("3" (expand "min") (propax))))
        ("2"
         (inst 3 "length(x) - i")
         (("1"
           (decompose-equality 3)
           (("1"
             (expand "o")
             (decompose-equality -1)
             (hide -2)
             (expand* "^" "min" "empty_seq")
             (assert))
            ("2"
             (decompose-equality 1)
             (typepred "x!1")
             (expand "o" -2)
             (decompose-equality -2)
             (expand "^" -1)
             (expand "min")
             (decompose-equality -2)
             (("1"
               (expand "o" 1)
               (expand "^" 1)
               (assert)
               (expand "min")
               (lift-if)
               (ground)
               (("1"
                 (inst -2 "length(x) - i + x!1")
                 (expand "^")
                 (expand "min")
                 (assert))
                ("2"
                 (inst -1 "length(x) - y`length - i + x!1")
                 (expand* "^" "min")
                 (assert))))
              ("2" (hide -3 2) (expand* "^" "min"))))))
          ("2" (assert))))))))
    ("3"
     (expand "transitive?")
     (skeep)
     (expand "eq_prewalk?")
     (flatten)
     (ground)
     (skosimp*)
     (expand "reord_prewalk")
     (case "i!1 > length(y) - 1 OR i!2 > length(x) - 1")
     (("1"
       (split)
       (("1"
         (expand "^" -2 1)
         (assert)
         (case "z = y")
         (("1" (inst 2 "i!2") (assert))
          ("2"
           (hide -3 2 3)
           (decompose-equality)
           (("1" (grind)) ("2" (decompose-equality) (grind))))))
        ("2"
         (case "y = x")
         (("1" (inst 2 "i!1") (assert))
          ("2"
           (hide -2 2 3)
           (decompose-equality)
           (("1" (grind)) ("2" (decompose-equality) (grind))))))))
      ("2"
       (flatten)
       (expand "o" (-1 -2))
       (decompose-equality)
       (decompose-equality)
       (decompose-equality)
       (decompose-equality)
       (expand "^" (-2 -4))
       (expand "min")
       (assert)
       (expand "^" -1 (1 4))
       (expand "min")
       (expand "^" -3 (1 4))
       (expand "min")
       (case "i!1 + i!2 = length(x)")
       (("1"
         (hide 4)
         (decompose-equality 3)
         (decompose-equality 1)
         (inst -4 "x!1")
         (lift-if)
         (prop)
         (("1"
           (expand "^" -2)
           (inst -4 "i!1 + x!1")
           (assert)
           (expand "^" -4)
           (assert))
          ("2"
           (expand "^" -1)
           (inst -3 "i!1 - y`length + x!1")
           (("1" (assert) (expand "^" -3) (assert))
            ("2" (typepred "x!1") (assert))))))
        ("2"
         (case "i!1 + i!2 > length(x) - 1")
         (("1"
           (inst 5 "i!1 + i!2 - length(x)")
           (("1"
             (decompose-equality 5)
             (("1"
               (hide -2 -4)
               (expand* "o" "^" "min" "empty_seq")
               (assert))
              ("2"
               (decompose-equality 1)
               (typepred "x!1")
               (expand "o" 1)
               (expand "^" 1 (1 4))
               (expand "min")
               (lift-if)
               (ground)
               (("1"
                 (expand "^" 1)
                 (inst -6 "x!1")
                 (lift-if)
                 (ground)
                 (("1"
                   (expand "^" -2)
                   (inst -6 "i!1 + x!1")
                   (assert)
                   (expand "^" -6)
                   (assert))
                  ("2"
                   (expand "^" -1)
                   (inst -5 "i!1 - y`length + x!1")
                   (assert)
                   (expand "^" -5)
                   (assert))))
                ("2"
                 (expand "^" 2)
                 (inst -5 "x!1")
                 (assert)
                 (expand "^" -5)
                 (inst -3 "i!1 - y`length + x!1")
                 (assert)
                 (expand "^" -3)
                 (assert))))))
            ("2" (assert))))
          ("2"
           (inst 6 "i!1 + i!2")
           (decompose-equality 6)
           (("1"
             (hide -1 -3)
             (expand* "o" "^" "min" "empty_seq")
             (assert))
            ("2"
             (decompose-equality 1)
             (typepred "x!1")
             (expand "o" 1)
             (expand "^" 1 (1 4))
             (expand "min")
             (lift-if)
             (ground)
             (("1"
               (expand "^" 1)
               (inst -5 "x!1")
               (lift-if)
               (ground)
               (expand "^" -2)
               (inst -5 "i!1 + x!1")
               (assert)
               (expand "^" -5)
               (assert))
              ("2"
               (expand "^" 2)
               (inst -4 "x!1")
               (lift-if)
               (ground)
               (("1"
                 (expand "^" -2)
                 (inst -4 "i!1 + x!1")
                 (assert)
                 (expand "^" -4)
                 (assert))
                ("2"
                 (expand "^" -1)
                 (inst -3 "i!1 - y`length + x!1")
                 (assert)
                 (expand "^" -3)
                 (assert))))))))))))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (expand "eq_prewalk?")
   (split)
   (("1" (assert))
    ("2"
     (skeep)
     (expand "reord_prewalk")
     (replaces -1)
     (expand* "^" "min" "o")
     (assert)
     (lift-if)
     (expand "empty_seq")
     (lift-if)
     (grind))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (expand "sub_walk?")
   (skeep -1)
   (lemma "walk?_caret")
   (inst -1 "G" "i" "j" "w")
   (assert)
   (expand "^")
   (typepred "ww")
   (expand "empty_seq")
   (decompose-equality -2))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (case-replace "length(w2) = 1")
   (("1"
     (assert)
     (expand "^")
     (case-replace "w1 o empty_seq = w1")
     (hide 2)
     (expand "o")
     (decompose-equality)
     (("1" (expand "empty_seq") (propax))
      ("2"
       (decompose-equality)
       (("1"
         (lift-if)
         (ground)
         (typepred "x!1")
         (expand "empty_seq")
         (propax))
        ("2" (skeep) (assert))))
      ("3" (skeep) (expand "empty_seq") (propax))
      ("4" (skeep) (assert))))
    ("2"
     (lemma "walk_concat_edge")
     (inst -1 "G" "seq(w1)(0)" "seq(w2)(1)" "seq(w1)(length(w1) - 1)"
      "seq(w2)(length(w2) - 1)" "w1" "w2^(1, length(w2) - 1)")
     (("1"
       (split)
       (("1" (expand "walk_from?") (flatten))
        ("2"
         (hide 3)
         (expand "walk_from?")
         (assert)
         (expand "from?")
         (propax))
        ("3"
         (expand "walk_from?")
         (rewrite "walk?_caret")
         (expand "from?")
         (grind))
        ("4"
         (replace -3 1)
         (hide-all-but (-2 1 2))
         (expand "walk?")
         (flatten)
         (inst -2 "0")
         (assert)
         (expand "finseq_appl")
         (propax))))
      ("2"
       (hide-all-but (1 2))
       (expand "^")
       (assert)
       (expand "min")
       (assert))
      ("3" (assert))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (skeep)
   (case "length(w2) = 1")
   (("1"
     (lemma "length_rest_0")
     (inst -1 "w2")
     (assert)
     (rewrite "empty_0")
     (replaces -1)
     (rewrite "seq_o_empty")
     (case-replace "edges_of(w2) = emptyset")
     (("1" (rewrite "union_empty"))
      ("2"
       (hide-all-but (-1 1))
       (decompose-equality)
       (expand "emptyset")
       (expand "edges_of")
       (skeep))))
    ("2"
     (decompose-equality 2)
     (iff)
     (expand* "union" "member" "edges_of")
     (prop)
     (("1"
       (skeep)
       (assert)
       (typepred "i")
       (expand* "o" "rest" "^" "min")
       (case "1 + i < w1`length")
       (("1" (assert) (hide 2) (inst 1 "i") (assert))
        ("2"
         (case "i < w1`length")
         (("1"
           (assert)
           (hide 2)
           (inst 2 "i - length(w1) + 1")
           (expand* "last" "first")
           (assert))
          ("2"
           (assert)
           (hide 3)
           (inst 3 "i - length(w1) + 1")
           (assert))))))
      ("2"
       (skeep)
       (typepred "i")
       (inst 1 "i")
       (("1" (assert) (expand "o") (propax))
        ("2" (expand "o") (assert))))
      ("3"
       (skeep)
       (typepred "i")
       (case "i = 0")
       (("1"
         (inst 1 "i + length(w1) - 1")
         (("1"
           (assert)
           (expand "o")
           (replaces -1)
           (expand* "last" "first")
           (assert)
           (expand "rest")
           (expand "^")
           (propax))
          ("2"
           (expand "o")
           (assert)
           (expand "rest")
           (expand "^")
           (expand "min")
           (assert))))
        ("2"
         (inst 2 "i + length(w1) - 1")
         (("1" (assert) (expand* "o" "rest" "^" "min"))
          ("2" (expand* "o" "rest" "^" "min") (assert))))))))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "is_finite_surj[T]")
   (inst -
    "{t: T | EXISTS (i: below(length(ww!1))): finseq_appl[T](ww!1)(i) = t}")
   (assert)
   (hide 2)
   (inst 1 "length(ww!1)"
    "(LAMBDA (i: below(length(ww!1))): seq(ww!1)(i))")
   (("1"
     (expand "surjective?")
     (skosimp*)
     (typepred "y!1")
     (skosimp*)
     (inst?)
     (expand "finseq_appl")
     (propax))
    ("2" (skosimp*) (inst?) (expand "finseq_appl") (propax))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "is_finite_surj[edgetype[T]]")
   (inst?)
   (assert)
   (hide 2)
   (inst + "length(ww!1)-1"
    "(LAMBDA (i: below[length(ww!1)-1]): (ww!1(i),ww!1(i+1)))")
   (("1"
     (expand "finseq_appl")
     (expand "surjective?")
     (skosimp*)
     (typepred "y!1")
     (skosimp*)
     (inst + "i!1")
     (expand "finseq_appl")
     (assert))
    ("2" (skosimp*) (inst?))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "verts_in?")
   (expand "^")
   (expand min)
   (expand "empty_seq")
   (lift-if)
   (ground))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walk_inductions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (split)
   (("1" (flatten) (skosimp*) (inst?))
    ("2" (flatten) (skosimp*) (inst?) (inst?))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: walk_inductions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "walk_prep")
   (inst -1 "P!1")
   (flatten)
   (hide -1)
   (split -1)
   (("1" (propax))
    ("2"
     (hide 2)
     (induct "n" 1 "NAT_induction")
     (skosimp*)
     (inst -3 "w!1")
     (split -3)
     (("1" (propax))
      ("2" (skosimp*) (inst -2 "length(ww!1)") (assert) (inst?))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: circuits
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (expand "eq_circuit?")
   (flatten)
   (lemma "eq_prewalk_length")
   (inst -1 "rest(w1)" "rest(w2)")
   (assert)
   (hide -4)
   (expand "circuit?")
   (flatten)
   (hide -2 -4)
   (expand* "rest" "^" "min")
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: circuits
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (expand "eq_circuit?")
   (assert)
   (hide -1)
   (lemma "eq_relation_eq_prewalk")
   (expand "equivalence?")
   (flatten)
   (hide -2 -3)
   (expand "reflexive?")
   (inst -1 "rest(w)"))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: circuits
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (expand "eq_circuit?")
   (flatten)
   (assert)
   (hide -1 -2)
   (lemma "eq_relation_eq_prewalk")
   (expand "equivalence?")
   (flatten)
   (hide -1 -3)
   (expand "symmetric?")
   (inst -1 "rest(w1)" "rest(w2)")
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: circuits
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (decompose-equality 1)
   (("1" (hide -1 -2) (grind))
    ("2"
     (decompose-equality 1)
     (typepred "x!1")
     (expand* "circuit?" "pre_circuit?" "finseq_appl")
     (flatten)
     (hide -2 -5)
     (expand "rest")
     (expand "^")
     (grind)
     (decompose-equality -6)
     (case "x!1 = 0")
     (("1" (inst -2 " w2`length - 2") (assert))
      ("2"
       (hide -3 -5)
       (inst -1 "x!1 - 1")
       (("1" (assert)) ("2" (assert))))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: circuits
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "equal_rest_equal_circuit")
   (skeep)
   (inst -1 "G" "w1" "w2")
   (expand "eq_circuit?")
   (flatten)
   (hide -4)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: circuits
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (expand "circuit?")
   (expand "pre_circuit?")
   (flatten)
   (hide -1 -4 -7)
   (expand "finseq_appl")
   (expand "o ")
   (case "rest(w2)`length > 0")
   (("1" (assert) (expand "rest" -6) (expand* "^" "min") (assert))
    ("2" (hide-all-but (-4 1)) (expand* "rest" "^" "min") (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: circuits
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (expand "circuit?")
   (expand "pre_circuit?")
   (flatten)
   (hide -1 -3)
   (expand "finseq_appl")
   (expand "o ")
   (case "rest(w2)`length > 0")
   (("1"
     (assert)
     (hide -1)
     (expand "rest")
     (expand "^")
     (expand "min")
     (expand "nonempty?")
     (expand "empty?")
     (inst -3 "w1`seq(0)")
     (expand "intersection")
     (expand "member")
     (expand "verts_of")
     (expand "finseq_appl")
     (split)
     (("1" (inst 1 "0")) ("2" (inst 1 "w2`length - 1") (assert))))
    ("2"
     (hide -1 2)
     (expand "rest")
     (expand "^")
     (expand "min")
     (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: circuits
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (skeep)
   (lemma "eq_circuit_length")
   (inst -1 "G" "w1" "w2")
   (assert)
   (expand "eq_circuit?")
   (flatten)
   (expand "eq_prewalk?")
   (split)
   (("1"
     (case-replace "w1 = w2")
     (("1"
       (hide -1 -2)
       (expand* "circuit?" "pre_circuit?")
       (flatten)
       (hide -1)
       (assert)
       (inst 1 "length(w2) - 1")
       (expand "^" 1 1)
       (rewrite "empty_o_seq")
       (decompose-equality 1)
       (("1" (expand* "^" "min"))
        ("2"
         (decompose-equality 1)
         (typepred "x!1")
         (expand "^")
         (propax))))
      ("2"
       (hide 2)
       (lemma "equal_rest_equal_circuit")
       (inst -1 "G" "w1" "w2")
       (assert))))
    ("2"
     (skeep)
     (expand* "reord_prewalk" "rest")
     (expand "^" -1 4)
     (expand "min")
     (expand* "circuit?" "pre_circuit?")
     (flatten)
     (hide -3 -6)
     (assert)
     (case "i > length(w1) - 1")
     (("1"
       (expand "^" -2 3)
       (assert)
       (rewrite "empty_o_seq")
       (case-replace
        "(w1 ^ (1, w1`length - 1)) ^ (0, i - 1) = w1 ^ (1, w1`length - 1)")
       (("1"
         (hide -1)
         (inst 1 "length(w1) - 1")
         (expand "^" 1 1)
         (rewrite "empty_o_seq")
         (decompose-equality 1)
         (("1" (hide -2) (expand* "^" "min") (assert))
          ("2"
           (decompose-equality 1)
           (typepred "x!1")
           (expand "^" 1)
           (expand "^" -3)
           (decompose-equality -3)
           (("1"
             (case-replace "x!1 = 0")
             (("1"
               (inst -2 "length(w2) - 2")
               (("1" (assert)) ("2" (expand "min") (assert))))
              ("2"
               (inst -1 "x!1 - 1")
               (("1" (assert)) ("2" (expand "min") (assert))))))
            ("2" (expand "min") (assert))))))
        ("2"
         (hide -2 -3 -4 -6 -7 2)
         (decompose-equality)
         (("1" (expand* "^" "min"))
          ("2" (decompose-equality) (expand* "^" "min"))))))
      ("2"
       (case-replace
        "(w1 ^ (1, w1`length - 1)) ^ (i, w1`length - 2) =
                                        w1 ^ (i + 1, w1`length - 1)")
       (("1"
         (hide -1)
         (case-replace
          "(w1 ^ (1, w1`length - 1)) ^ (0, i - 1) = w1 ^ (1, i)")
         (("1"
           (hide -1)
           (case "i = length(w1) - 1")
           (("1"
             (replace -1)
             (expand "^" -2 2)
             (rewrite "empty_o_seq")
             (inst 2 "i")
             (("1"
               (replaces -1)
               (expand "^" 2 1)
               (rewrite "empty_o_seq")
               (hide 1)
               (decompose-equality 1)
               (("1" (hide -1) (expand* "^" "min") (assert))
                ("2"
                 (decompose-equality 1)
                 (expand* "^" "min")
                 (decompose-equality -1)
                 (("1"
                   (typepred "x!1")
                   (case "x!1 = 0")
                   (("1"
                     (inst -3 "length(w2) - 2")
                     (("1" (assert)) ("2" (expand "min") (assert))))
                    ("2"
                     (inst -2 "x!1 - 1")
                     (("1" (assert)) ("2" (expand "min") (assert))))))
                  ("2" (expand "min") (assert))))))
              ("2" (assert))))
            ("2"
             (inst 3 "i")
             (("1"
               (decompose-equality 3)
               (("1"
                 (hide -1)
                 (expand* "o" "^" "min" "empty_seq")
                 (assert))
                ("2"
                 (decompose-equality 1)
                 (typepred "x!1")
                 (expand "o" -2)
                 (decompose-equality)
                 (hide -1)
                 (decompose-equality)
                 (("1"
                   (expand "^" -1)
                   (expand "min")
                   (case-replace "x!1 = 0")
                   (("1"
                     (expand* "o" "^" "min" "empty_seq")
                     (inst -2 "length(w2) - 2")
                     (("1" (assert)) ("2" (expand* "^" "min") (assert))))
                    ("2"
                     (inst -1 "x!1 - 1")
                     (("1"
                       (assert)
                       (expand* "o" "^" "min" "empty_seq")
                       (lift-if)
                       (ground))
                      ("2" (hide 3) (expand* "^" "min") (assert))))))
                  ("2" (hide -2 2) (expand* "^" "min" "empty_seq"))))))
              ("2" (assert))))))
          ("2"
           (hide -1 3)
           (decompose-equality 1)
           (("1" (expand* "^" "min" "empty_seq"))
            ("2"
             (decompose-equality 1)
             (expand* "^" "min" "empty_seq"))))))
        ("2"
         (hide -1 3)
         (decompose-equality 1)
         (("1" (expand* "^" "min" "empty_seq") (lift-if) (ground))
          ("2"
           (decompose-equality 1)
           (expand* "^" "min" "empty_seq")
           (lift-if)
           (ground))))))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: circuits
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (skeep)
   (lemma "eq_circuit_length")
   (inst -1 "G" "w1" "w2")
   (assert)
   (lemma "eq_circuit_position")
   (inst -1 "G" "w1" "w2")
   (assert)
   (skeep)
   (expand* "eq_circuit?" "circuit?" "pre_circuit?")
   (flatten)
   (assert)
   (hide -3 -6 -9)
   (case-replace "w1 = w2")
   (case "i > length(w1) - 1 OR i = length(w1) - 1")
   (("1"
     (hide 2)
     (split)
     (("1" (expand "^" -2 1) (assert))
      ("2"
       (replaces -1)
       (expand "o" -1)
       (decompose-equality)
       (decompose-equality)
       (expand* "^" "min" "empty_seq")
       (decompose-equality -1)
       (decompose-equality -1)
       (inst -1 "x!1")
       (assert))))
    ("2"
     (flatten)
     (decompose-equality 4)
     (iff)
     (prop)
     (("1"
       (expand "edges_of")
       (skeep)
       (assert)
       (typepred "i!1")
       (case "i!1 < i")
       (("1"
         (inst 1 "length(w1) - i + i!1 - 1")
         (("1"
           (expand* "^" "min" "o")
           (decompose-equality -5)
           (decompose-equality -1)
           (inst-cp -1 "length(w1) - i + i!1")
           (("1" (assert) (inst -1 "length(w1) - i + i!1 - 1") (assert))
            ("2" (assert))))
          ("2" (assert))))
        ("2"
         (expand* "^" "min" "o")
         (decompose-equality -4)
         (decompose-equality -1)
         (inst 2 "i!1 - i")
         (("1"
           (inst-cp -1 "i!1 - i")
           (("1"
             (assert)
             (inst -1 "i!1 - i + 1")
             (assert)
             (lift-if)
             (ground))
            ("2" (assert))))
          ("2" (assert))))))
      ("2"
       (expand "edges_of")
       (skeep)
       (assert)
       (typepred "i!1")
       (expand* "^" "min" "o")
       (decompose-equality -4)
       (decompose-equality -1)
       (case "i!1 < w1`length - i - 1")
       (("1"
         (inst-cp -2 "i!1")
         (inst -2 "i!1 + 1")
         (assert)
         (inst 1 "i!1 + i")
         (assert)
         (lift-if)
         (ground))
        ("2"
         (inst-cp -1 "i!1")
         (inst -1 "i!1 + 1")
         (assert)
         (case-replace "i!1 = w1`length - 1 - i")
         (("1" (assert) (hide -1 1) (inst 1 "0") (assert))
          ("2"
           (assert)
           (inst 3 "1 - w1`length + i!1 + i")
           (assert))))))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: circuits
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (skeep)
   (typepred "i")
   (case "i = 0 OR i = w`length - 1")
   (("1"
     (split)
     (("1"
       (replaces -1)
       (hide -1)
       (expand "^" 1 2)
       (rewrite "seq_o_empty")
       (case-replace "w ^ (0, w`length - 1) = w")
       (hide -1 2)
       (decompose-equality)
       (("1" (expand* "^" "min"))
        ("2" (decompose-equality) (typepred "x!1") (expand* "^" "min"))))
      ("2"
       (replaces -1)
       (hide -1)
       (case-replace
        "w ^ (w`length - 1, w`length - 1) o w ^ (1, w`length - 1) = w")
       (hide 2)
       (expand* "circuit?" "pre_circuit?")
       (flatten)
       (hide -1)
       (decompose-equality 1)
       (("1" (expand* "o" "^" "min" "empty_seq"))
        ("2"
         (decompose-equality 1)
         (typepred "x!1")
         (expand* "o" "^" "min" "empty_seq")
         (lift-if)
         (ground))))))
    ("2"
     (flatten)
     (expand "circuit?")
     (flatten)
     (split)
     (("1"
       (expand "pre_circuit?")
       (flatten)
       (split)
       (("1"
         (lemma "walk_o")
         (inst -1 "G" "w ^ (i, w`length - 1)" "w ^ (0, i)")
         (("1"
           (rewrite "walk?_caret")
           (rewrite "walk?_caret")
           (expand "^" -1 (1 2 3 7))
           (expand "min")
           (assert)
           (case-replace "w ^ (0, i) ^ (1, i) = w ^ (1, i)")
           (hide -1 -3 -4 2)
           (decompose-equality)
           (("1" (expand* "^" "min" "empty_seq"))
            ("2"
             (decompose-equality)
             (typepred "x!1")
             (expand* "^" "min" "empty_seq"))))
          ("2" (hide-all-but 1) (expand* "^" "min") (assert))
          ("3" (hide-all-but 1) (expand* "^" "min") (assert))))
        ("2"
         (assert)
         (hide -2 -3)
         (expand "^" 1 (5 6))
         (expand "o" 1 3)
         (expand "min")
         (expand "o")
         (expand "^")
         (expand "min")
         (propax))))
      ("2" (hide -2) (expand "o") (expand* "^" "min") (assert))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: circuits
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (skeep)
   (expand "eq_circuit?")
   (prop)
   (("1" (rewrite "commuted_circuit"))
    ("2"
     (expand "eq_prewalk?")
     (flatten)
     (typepred "i")
     (case "i = 0 or i = length(w) - 1")
     (("1"
       (split)
       (("1"
         (replaces -1)
         (hide -1 2)
         (expand "circuit?")
         (flatten)
         (hide -1)
         (decompose-equality)
         (("1" (expand* "rest" "o" "^" "min" "empty_seq"))
          ("2"
           (decompose-equality)
           (typepred "x!1")
           (expand* "rest" "o" "^" "min" "empty_seq")
           (assert))))
        ("2"
         (replaces -1)
         (expand "circuit?")
         (flatten)
         (hide -1 -2 2)
         (decompose-equality)
         (("1" (expand* "rest" "o" "^" "min" "empty_seq"))
          ("2"
           (decompose-equality)
           (expand* "rest" "o" "^" "min" "empty_seq"))))))
      ("2"
       (flatten)
       (hide 3)
       (expand "circuit?")
       (flatten)
       (hide -2)
       (inst 3 "i")
       (("1"
         (expand "reord_prewalk")
         (expand "rest")
         (expand "o" 3 1)
         (expand "^" 3 (1 2))
         (expand "min")
         (assert)
         (expand "o" 3 2)
         (expand "^" 3 (4 5))
         (expand "min")
         (expand "^" 3 6)
         (expand "min")
         (decompose-equality 3)
         (("1" (expand* "o" "^" "min" "empty_seq"))
          ("2"
           (decompose-equality 1)
           (typepred "x!1")
           (expand* "o" "^" "min" "empty_seq")
           (lift-if)
           (prop)
           (("1" (assert)) ("2" (assert))))))
        ("2" (assert))))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: cycles
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (measure-induct+ "length(w)" "w")
   (("1"
     (skeep)
     (case "cycle?(G, x!1)")
     (("1"
       (hide -2)
       (inst 1 "x!1")
       (split)
       (("1"
         (expand "sub_walk?")
         (inst 1 "0" "length(x!1) - 1")
         (decompose-equality)
         (("1" (expand* "^" "min"))
          ("2" (decompose-equality) (expand* "^" "min"))))
        ("2" (propax))))
      ("2"
       (expand "cycle?" 1)
       (prop)
       (skeep)
       (expand "finseq_appl")
       (case "i < j")
       (("1"
         (inst -3 "x!1^(i, j)")
         (("1"
           (inst -3 "G")
           (expand "^" -3 1)
           (expand* "empty_seq" "min")
           (assert)
           (split -3)
           (("1"
             (skeep -1)
             (inst 2 "w1")
             (assert)
             (expand "sub_walk?")
             (skosimp)
             (typepred "i" "j" "i!1" "j!1")
             (inst 2 "i + i!1" "i + j!1")
             (("1"
               (replace -5 2 rl)
               (hide -5)
               (decompose-equality 2)
               (("1"
                 (expand* "^" "min" "empty_seq")
                 (assert)
                 (lift-if)
                 (assert))
                ("2"
                 (decompose-equality)
                 (expand "^" 1 3)
                 (lift-if)
                 (prop)
                 (("1" (expand* "^" "min") (assert))
                  ("2" (expand* "^" "min") (assert))))))
              ("2"
               (hide-all-but (-1 -4 1))
               (expand "^")
               (expand "min")
               (assert))
              ("3"
               (hide-all-but (-1 -3 1))
               (expand* "^" "min")
               (assert))))
            ("2"
             (hide 3)
             (expand* "circuit?" "pre_circuit?" "finseq_appl")
             (rewrite "walk?_caret")
             (expand* "^" "min" "empty_seq"))))
          ("2" (hide -2 -3 3) (expand* "^" "min" "empty_seq") (assert))))
        ("2"
         (inst -2 "x!1^(j, i)")
         (("1"
           (inst -2 "G")
           (expand "^" -2 1)
           (expand* "min" "empty_seq")
           (assert)
           (split -2)
           (("1"
             (skeep -1)
             (inst 3 "w1")
             (assert)
             (hide -2)
             (expand "sub_walk?")
             (skosimp)
             (typepred "i" "j" "i!1" "j!1")
             (inst 3 "j + i!1" "j + j!1")
             (("1"
               (replace -5 3 rl)
               (hide -5)
               (decompose-equality 3)
               (("1"
                 (expand* "^" "min" "empty_seq")
                 (assert)
                 (lift-if)
                 (assert))
                ("2"
                 (decompose-equality 1)
                 (expand "^" 1 3)
                 (lift-if)
                 (prop)
                 (("1" (expand* "^" "min") (assert))
                  ("2" (expand* "^" "min") (assert))))))
              ("2" (hide-all-but (-2 -4 +)) (expand* "^" "min") (assert))
              ("3"
               (hide-all-but (-2 -3 +))
               (expand* "^" "min")
               (assert))))
            ("2"
             (hide 4)
             (expand* "circuit?" "pre_circuit?" "finseq_appl")
             (rewrite "walk?_caret")
             (expand* "^" "min"))))
          ("2" (expand* "^" "min") (assert))))))))
    ("2"
     (hide-all-but (-1 1))
     (skeep)
     (expand* "circuit?" "pre_circuit?" "finseq_appl")
     (assert))
    ("3"
     (hide-all-but (-1 1))
     (skeep)
     (expand* "circuit?" "pre_circuit?" "finseq_appl")
     (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: cycles
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (skeep)
   (lemma "circuit_subwalk_cycle")
   (inst -1 "G" "w")
   (assert)
   (skeep -1)
   (expand "sub_walk?")
   (skeep -1)
   (typepred "i" "j")
   (case "i = 0 AND j = length(w) - 1")
   (("1"
     (flatten)
     (replaces -1)
     (replaces -1)
     (hide-all-but (-3 -4 1))
     (case-replace "w1 = w")
     (hide -2 2)
     (replace -1 1 rl)
     (hide -1)
     (decompose-equality)
     (("1" (expand* "^" "min"))
      ("2" (decompose-equality) (typepred "x!1") (expand* "^" "min"))))
    ("2"
     (case "i > j")
     (("1"
       (expand "^" -4)
       (assert)
       (hide-all-but (-4 -5))
       (expand* "cycle?" "circuit?")
       (flatten)
       (hide -2 -4)
       (expand "empty_seq")
       (assert))
      ("2"
       (case-replace "j = length(w) - 1")
       (("1"
         (inst 4 "w1" "w^(1, i)")
         (("1"
           (assert)
           (replace -4 4 rl)
           (rewrite "commuted_circuit_is_eq"))
          ("2" (hide-all-but (1 3)) (expand* "^" "min") (assert))))
        ("2"
         (case-replace "i = 0")
         (("1"
           (hide -1 -2 3 4)
           (inst 3 "w1" "w^(j + 1, length(w) - 1)")
           (("1"
             (assert)
             (case-replace "w1 o w ^ (1 + j, length(w) - 1) = w")
             (("1"
               (hide-all-but (-5 3))
               (rewrite "eq_circuit_reflexive"))
              ("2"
               (replace -2 1 rl)
               (hide -2 -3 -4 3 4)
               (decompose-equality)
               (("1" (expand* "o" "^" "min" "empty_seq"))
                ("2"
                 (decompose-equality)
                 (typepred "x!1")
                 (expand* "o" "^" "min" "empty_seq"))))))
            ("2" (hide - 3) (expand* "^" "min") (assert))))
          ("2"
           (hide -1 -5 4 5)
           (inst 4 "w1" "w^(j+1, length(w)-1) o w^(1, i)")
           (("1"
             (assert)
             (rewrite "o_assoc")
             (replace -2 4 rl)
             (hide -2 -3)
             (case-replace
              "w^(i, j) o w^(1 + j, length(w) - 1) = w^(i, length(w) - 1)")
             (("1" (hide -1) (rewrite "commuted_circuit_is_eq"))
              ("2"
               (hide 5)
               (decompose-equality)
               (("1" (expand* "o" "^" "min" "empty_seq"))
                ("2"
                 (decompose-equality)
                 (typepred "x!1")
                 (expand* "o" "^" "min" "empty_seq"))))))
            ("2"
             (hide -2 -3)
             (expand* "o" "^" "min" "empty_seq")
             (assert))))))))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: cycles
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (skeep)
   (lemma "cycle_prefix")
   (inst -1 "G" "w")
   (assert)
   (skeep)
   (inst 2 "w1" "add_first(last(w1), w2)")
   (("1"
     (rewrite "rest_add_first")
     (assert)
     (expand "eq_circuit?")
     (flatten)
     (hide -2 -4 1)
     (expand* "circuit?" "pre_circuit?")
     (assert)
     (flatten)
     (split)
     (("1"
       (case "add_first(last(w1), w2) = (w1 o w2) ^ (length(w1) - 1, length(w1 o w2) -1)")
       (("1"
         (replaces -1)
         (rewrite "walk?_caret")
         (expand "o" 1)
         (assert))
        ("2"
         (hide-all-but (-3 1))
         (decompose-equality)
         (("1" (expand* "add_first" "insert?" "o" "^" "min"))
          ("2"
           (decompose-equality)
           (typepred "x!1")
           (expand* "add_first" "insert?" "o" "^" "min")
           (assert)
           (expand "last")
           (assert)
           (lift-if)
           (ground))))
        ("3" (assert))))
      ("2"
       (expand* "add_first" "insert?")
       (expand "last")
       (assert)
       (expand "o" -2)
       (hide -1 -3)
       (expand* "cycle?" "circuit?" "pre_circuit?")
       (flatten)
       (hide -2 -4 -5)
       (assert))
      ("3" (hide-all-but 1) (expand* "add_first" "insert?") (assert))))
    ("2" (hide-all-but 1) (expand* "add_first" "insert?") (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: cycles
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp*)
   (lemma "seq_pigeon_hole[T,(vert(GF!1))]")
   (inst?)
   (("1"
     (assert)
     (skosimp*)
     (inst?)
     (inst 2 "j!1")
     (expand "finseq_appl")
     (assert))
    ("2"
     (skosimp*)
     (hide 2)
     (typepred "x1!1")
     (typepred "w!1")
     (expand "walk?")
     (flatten)
     (expand "verts_in?")
     (inst?))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: Eulerian
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (expand "cycle?")
   (expand "pre_Eulerian_circuit?")
   (flatten)
   (assert)
   (expand "pre_Eulerian_walk?")
   (expand "circuit?")
   (expand "pre_circuit?")
   (flatten)
   (assert)
   (expand "no_repeat_subseq?")
   (expand "finseq_appl")
   (skeep)
   (inst -4 "i" "j")
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: Eulerian
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (skeep)
   (expand* "pre_Eulerian_circuit?" "circuit?" "pre_Eulerian_walk?"
    "pre_circuit?")
   (flatten)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: Eulerian
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (skeep)
   (expand* "Eulerian_circuit?" "pre_Eulerian_circuit?" "circuit?"
    "pre_circuit?" "pre_Eulerian_walk?")
   (flatten)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: Eulerian
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (skeep)
   (expand* "Eulerian_circuit?" "pre_Eulerian_circuit?" "Eulerian_walk?"
    "pre_Eulerian_walk?")
   (flatten)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: Eulerian
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (lemma "circuit_subwalk_cycle")
   (inst -1 "G" "w")
   (assert)
   (skeep)
   (inst 1 "w1")
   (assert)
   (rewrite "cycle_is_pre_Eulerian_circuit"))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: Eulerian
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (lemma "cycle_prefix")
   (inst -1 "G" "w")
   (assert)
   (split)
   (("1" (rewrite "cycle_is_pre_Eulerian_circuit"))
    ("2"
     (skeep)
     (inst 2 "w1" "w2")
     (assert)
     (hide-all-but (-2 2))
     (rewrite "cycle_is_pre_Eulerian_circuit"))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: Eulerian
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (lemma "cycle_o_circuit")
   (inst -1 "G" "w")
   (assert)
   (split)
   (("1" (hide -2 2) (rewrite "cycle_is_pre_Eulerian_circuit"))
    ("2"
     (skeep)
     (inst 2 "w1" "w2")
     (assert)
     (hide-all-but (-2 2))
     (rewrite "cycle_is_pre_Eulerian_circuit"))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: di_subgraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "finite_subset[T]")
   (inst?)
   (inst -1 "vert(G!1)")
   (assert)
   (hide 2)
   (grind))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: di_subgraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "finite_subset[edgetype[T]]")
   (inst?)
   (inst - "edges(G!1)")
   (assert)
   (hide 2)
   (grind))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: di_subgraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "di_subgraph")
   (apply-extensionality 1 :hide? t)
   (expand "subset?")
   (inst?)
   (expand "member")
   (iff 1)
   (ground))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: di_subgraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (prop)
   (("1" (skosimp*) (typepred "G!1") (inst?) (assert))
    ("2" (expand "di_subgraph?") (prop) (("1" (grind)) ("2" (grind))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: weighted_digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (auto-rewrite "finseq_appl")
   (case "j1!1 <= i1!1 OR j2!1 <= i2!1")
   (("1"
     (split)
     (("1"
       (expand "wgt_aux")
       (assert)
       (lift-if)
       (ground)
       (hide 2)
       (expand "^" -2 1)
       (lift-if)
       (prop)
       (("1" (expand* "^" "min" "empty_seq"))
        ("2" (expand* "^" "min" "empty_seq")) ("3" (expand* "^" "min"))))
      ("2"
       (expand "wgt_aux")
       (assert)
       (lift-if)
       (ground)
       (hide 2)
       (expand "^" -2 2)
       (lift-if)
       (prop)
       (("1" (expand* "^" "min" "empty_seq"))
        ("2" (expand* "^" "min" "empty_seq"))
        ("3" (expand* "^" "min"))))))
    ("2"
     (flatten)
     (expand "^" -1)
     (assert)
     (expand "min")
     (flatten)
     (case "FORALL (k:nat): i1!1 + k <= j1!1 IMPLIES
                                                     wgt_aux(G!1, w1!1)(i1!1, i1!1 + k) =
                                                     wgt_aux(G!1, w2!1)(i2!1, i2!1 + k)")
     (("1" (inst -1 "j1!1 - i1!1") (assert))
      ("2"
       (hide 4)
       (induct "k")
       (("1" (assert) (expand "wgt_aux") (propax))
        ("2"
         (skeep)
         (assert)
         (expand "wgt_aux" 1)
         (assert)
         (replaces -1)
         (case "wgt(G!1)(w1!1`seq(i1!1 + j), w1!1`seq(1 + i1!1 + j)) =
                             wgt(G!1)(w2!1`seq(i2!1 + j), w2!1`seq(1 + i2!1 + j))")
         (("1" (assert))
          ("2"
           (hide 2)
           (decompose-equality -3)
           (("1"
             (inst-cp -1 "j")
             (("1"
               (inst -1 "j + 1")
               (("1" (replaces -1) (replaces -1) (assert))
                ("2" (expand "min") (assert))))
              ("2" (expand "min") (assert))))
            ("2" (expand "min") (assert)) ("3" (expand "min") (assert))
            ("4" (expand "min") (assert))))))
        ("3" (skeep) (assert)) ("4" (skeep) (assert))))
      ("3" (skeep) (assert)) ("4" (skeep) (assert))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: weighted_digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (induct "j")
   (("1" (skeep) (assert))
    ("2"
     (skosimp*)
     (case "i!1 = j!1")
     (("1"
       (hide -2)
       (expand "wgt_aux")
       (assert)
       (expand "wgt_aux")
       (replaces -1)
       (hide -)
       (typepred "0")
       (expand "identity?")
       (inst?)
       (flatten)
       (assert))
      ("2"
       (inst -1 "G!1" "w!1" "i!1")
       (assert)
       (expand "wgt_aux" 2)
       (assert)
       (typepred "+")
       (expand "associative?")
       (inst-cp -1 "wgt(G!1)(w!1`seq(i!1), w!1`seq(1 + i!1))"
        "wgt_aux(G!1, w!1)(1 + i!1, j!1)"
        "wgt(G!1)(w!1`seq(j!1), w!1`seq(1 + j!1))")
       (replace -2 2 rl)
       (replace -3 2 rl)
       (propax))))
    ("3"
     (hide 2)
     (skeep)
     (typepred "w")
     (expand* "walk?")
     (flatten)
     (inst -3 "i")
     (assert))
    ("4" (hide 2) (skeep) (assert)) ("5" (hide 2) (skeep) (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: weighted_digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (induct "n")
   (("1"
     (skeep)
     (case "i = 0")
     (("1"
       (replace -1)
       (expand "wgt_aux" 1 2)
       (typepred "0")
       (hide -2)
       (expand "identity?")
       (inst?)
       (flatten)
       (hide -1)
       (replaces -1))
      ("2" (assert))))
    ("2"
     (skosimp*)
     (inst -1 "G!1" "w!1" "i!1" "j!2")
     (assert)
     (case "i!1 = 1 + j!1")
     (("1"
       (hide -2)
       (replaces -1)
       (expand "wgt_aux" 1 2)
       (typepred "0")
       (hide -2)
       (expand "identity?")
       (inst?)
       (flatten)
       (hide -1)
       (replaces -1))
      ("2"
       (assert)
       (expand "wgt_aux" 2 2)
       (lemma "wgt_aux_first")
       (inst -1 "G!1" "w!1" "j!1" "j!2")
       (assert)
       (replace -1 -2)
       (hide -1)
       (typepred "+")
       (expand "associative?")
       (inst -1 "wgt_aux(G!1, w!1)(i!1, j!1)"
        "wgt(G!1)(w!1`seq(j!1), w!1`seq(1 + j!1))"
        "wgt_aux(G!1, w!1)(1 + j!1, j!2)")
       (replace -1 2)
       (propax))))
    ("3" (hide 2) (skosimp) (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: weighted_digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (induct "j")
   (("1" (skeep) (expand "wgt_aux") (propax))
    ("2"
     (skosimp*)
     (case "i!1 = j!1")
     (("1"
       (hide -2)
       (replaces -1)
       (expand* "wgt_aux" "wgt_aux")
       (assert)
       (expand "^")
       (propax))
      ("2"
       (inst -1 "G!1" "w!1" "i!1")
       (assert)
       (expand "wgt_aux" 2)
       (assert)
       (expand "^" 2 (2 3))
       (replace -1 2)
       (hide -1)
       (case "wgt_aux(G!1, w!1 ^ (i!1, j!1))(0, j!1 - i!1) =
                         	        wgt_aux(G!1, w!1 ^ (i!1, 1 + j!1))(0, j!1 - i!1)")
       (("1" (assert))
        ("2"
         (hide 3)
         (lemma "wgt_aux_shift_walk")
         (inst -1 "G!1" "0" "0" "w!1 ^ (i!1, j!1)" "w!1 ^ (i!1, 1 + j!1)"
          "j!1 - i!1" "j!1 - i!1")
         (assert)
         (hide 2)
         (decompose-equality)
         (("1" (expand* "^" "min"))
          ("2" (decompose-equality) (expand* "^" "min"))))))))
    ("3"
     (hide 2)
     (skosimp)
     (rewrite "walk?_caret")
     (expand* "^" "min")
     (assert))
    ("4" (hide 2) (skosimp) (expand* "^" "min") (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: weighted_digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (expand "wgt_walk")
   (case "j = i")
   (("1"
     (expand "^" 1 2)
     (assert)
     (expand "min")
     (expand "wgt_aux")
     (propax))
    ("2"
     (case "j < i")
     (("1"
       (expand "^" 2 2)
       (expand "min")
       (assert)
       (expand "empty_seq")
       (expand "wgt_aux")
       (propax))
      ("2"
       (expand "^" 3 2)
       (assert)
       (expand "min")
       (lemma "wgt_aux_sub_walk")
       (inst -1 "G" "w" "i" "j")
       (assert))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: weighted_digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (case-replace "length(w) = 1")
   (("1"
     (case-replace "j = 0")
     (("1"
       (assert)
       (expand "wgt_walk")
       (expand "^" 1 (2 4))
       (expand "min")
       (replace -2)
       (assert)
       (expand "wgt_aux")
       (typepred "0")
       (hide -2)
       (expand "identity?")
       (inst?)
       (assert))
      ("2" (assert))))
    ("2"
     (rewrite "wgt_walk_to_aux")
     (("1"
       (rewrite "wgt_walk_to_aux")
       (("1" (expand "wgt_walk") (rewrite "wgt_aux_split"))
        ("2"
         (case-replace "j = length(w) - 1")
         (("1"
           (hide - 1 2)
           (expand "wgt_walk")
           (expand "^" 1 2)
           (expand "min")
           (expand "wgt_aux" 1 3)
           (typepred "0")
           (hide -2)
           (expand "identity?")
           (inst?)
           (assert))
          ("2" (assert))))))
      ("2"
       (case-replace "j = 0")
       (("1"
         (hide - 1 2)
         (expand "wgt_walk" 1 2)
         (expand "^" 1 2)
         (expand "min")
         (expand "wgt_aux")
         (typepred "0")
         (hide -2)
         (expand "identity?")
         (inst?)
         (flatten)
         (replaces -2)
         (hide -1)
         (expand "wgt_walk")
         (rewrite "wgt_aux_sub_walk")
         (expand "^" 1 3)
         (expand "min")
         (propax))
        ("2" (assert))))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: weighted_digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "finseq_appl")
   (expand "wgt_walk")
   (replace -1)
   (assert)
   (expand "wgt_aux")
   (expand "finseq_appl")
   (expand "wgt_aux")
   (typepred "0")
   (expand "identity?")
   (inst -1 "wgt(G!1)(w!1`seq(0), w!1`seq(1))")
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: weighted_digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (case "length(w2) = 1")
   (("1"
     (expand "rest")
     (expand "^")
     (assert)
     (rewrite "seq_o_empty")
     (expand "wgt_walk" 1 3)
     (expand "wgt_aux")
     (typepred "0")
     (expand "identity?")
     (inst?)
     (assert))
    ("2"
     (lemma "wgt_walk_decomposed")
     (inst -1 "G" "length(w1) - 1" "w1 o rest(w2)")
     (split -1)
     (("1"
       (case-replace "(w1 o rest(w2)) ^ (0, length(w1) - 1) = w1")
       (("1"
         (case-replace
          "(w1 o rest(w2)) ^
                            (length(w1) - 1, length(w1 o rest(w2)) - 1) = w2")
         (("1"
           (hide -1 -2 3)
           (decompose-equality)
           (("1" (grind))
            ("2"
             (decompose-equality 1)
             (("1" (typepred "x!1") (grind)) ("2" (grind))))
            ("3" (grind))))
          ("2" (hide -1 -2 -3 3) (grind))))
        ("2"
         (hide -1 -2 2 3)
         (decompose-equality)
         (("1" (grind))
          ("2" (decompose-equality) (typepred "x!1") (grind))))))
      ("2" (grind))
      ("3"
       (hide 3)
       (lemma "walk_o")
       (inst -1 "dg(G)" "w1" "w2")
       (typepred "w1" "w2")
       (assert)
       (expand* "last" "first")
       (expand "finseq_appl")
       (assert)
       (expand "rest" 1)
       (propax))))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: weighted_digraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (split)
   (("1" (expand "o") (assert))
    ("2"
     (expand "last")
     (expand "first")
     (expand "finseq_appl")
     (expand "rest")
     (rewrite "walk_o"))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: wgt_digraphs_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (typepred "w!1" "e!1")
   (expand* "member" "nonempty?")
   (expand "set_min" 2)
   (name-replace "e1" "e!1`1" :hide? nil)
   (name-replace "e2" "e!1`2" :hide? nil)
   (prop)
   (expand "min_wgt")
   (lemma "choose_member[Walk(dg(G!1))]")
   (inst -1 "set_min(G!1)(e!1)")
   (assert)
   (expand "member")
   (name-replace "ww" "choose(set_min(G!1)(e!1))")
   (expand "set_min" -1)
   (flatten)
   (replace -3)
   (replace -4)
   (expand "min_walk?")
   (skosimp)
   (inst -2 "w1!1")
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: wgt_digraphs_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (expand "member")
   (case "FORALL (w1, w2: Walk(dg(G))):
                                                    set_min(G)(u, v)(w1) AND set_min(G)(u, v)(w2)
                                                   IMPLIES wgt_walk(G, w1) = wgt_walk(G, w2)")
   (("1" (inst -1 "w" "choose(set_min(G)(u, v))") (assert))
    ("2"
     (hide -1 2)
     (skeep)
     (expand "set_min")
     (flatten)
     (expand "min_walk?")
     (inst -2 "w2")
     (inst -4 "w1")
     (hide -1 -3)
     (typepred "<=")
     (expand "partial_order?")
     (flatten)
     (hide -1)
     (expand "antisymmetric?")
     (inst -1 "wgt_walk(G, w1)" "wgt_walk(G, w2)")
     (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: wgt_digraphs_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (skeep)
   (case "0 < i AND j < length(w) - 1")
   (("1"
     (flatten)
     (assert)
     (typepred "e")
     (lemma "walk_member_set_min")
     (inst -1 "G" "w" "e")
     (expand "walk_from?")
     (assert)
     (hide -2)
     (expand* "nonempty?" "empty?" "member")
     (name "ww" "w^(i,j)")
     (name-replace "e1" "e`1" :hide? nil)
     (name-replace "e2" "e`2" :hide? nil)
     (name-replace "wi" "w`seq(i)" :hide? nil)
     (name-replace "wj" "w`seq(j)" :hide? nil)
     (inst -12 "ww")
     (("1"
       (expand "set_min")
       (split)
       (("1"
         (hide-all-but (-1 -2 -5 1))
         (replace -1 1 rl)
         (replace -2 1 rl)
         (replace -3 1 rl)
         (hide -)
         (expand "from?")
         (expand* "^" "min"))
        ("2"
         (expand "min_walk?")
         (skeep)
         (typepred "w1")
         (name "woi" "w ^ (0, i)")
         (name "wjl" "w ^ (j + 1, length(w) - 1)")
         (name "w1t" "w1 ^ (1, length(w1) - 1)")
         (name "w1w" "woi o w1t o wjl")
         (inst -13 "w1w")
         (("1"
           (lemma "wgt_walk_decomposed")
           (inst-cp -1 "G" "i" "w")
           (assert)
           (replace -2 -15)
           (hide -2)
           (inst -1 "G" "j - i" "w ^ (i, length(w) - 1)")
           (expand "^" -1 1)
           (expand "min")
           (rewrite "walk?_caret")
           (case "w ^ (i, length(w) - 1) ^ (0, j - i) = ww")
           (("1"
             (replace -1 -2)
             (expand "^" -2 4)
             (expand "min")
             (case "w ^ (i, length(w) - 1) ^ (j - i, w`length - 1 - i) = w^(j, length(w) - 1)")
             (("1"
               (replace -1 -3)
               (hide -1 -2)
               (replace -1 -14)
               (hide -1)
               (lemma "wgt_walk_decomposed")
               (inst-cp -1 "G" "i" "w1w")
               (split -2)
               (("1"
                 (case "w1w ^ (0, i) = w^(0, i)")
                 (("1"
                   (replaces -1)
                   (replace -1 -15)
                   (hide -1)
                   (inst -1 "G" "length(w1) - 1"
                    "w1w ^ (i, length(w1w) - 1)")
                   (("1"
                     (split -1)
                     (("1"
                       (case "w1w ^ (i, length(w1w) - 1) ^ (0, length(w1) - 1) = w1")
                       (("1"
                         (replaces -1)
                         (case "w1w ^ (i, length(w1w) - 1) ^
                                                                                                                                                                                                                                                                                        (length(w1) - 1, length(w1w ^ (i, length(w1w) - 1)) - 1)
                                                                                                                                                                                                                                                                      		      = w ^ (j, length(w) - 1)")
                         (("1"
                           (replaces -1)
                           (replaces -1)
                           (hide -1)
                           (hide-all-but (-12 1))
                           (name-replace "aa" "wgt_walk(G, w ^ (0, i))")
                           (name-replace "bb"
                            "wgt_walk(G, w ^ (j, length(w) - 1))")
                           (name-replace "cc" "wgt_walk(G, ww)")
                           (name-replace "dd" "wgt_walk(G, w1)")
                           (typepred "+" "<=")
                           (copy -1)
                           (expand "commutative?")
                           (inst -1 "cc" "bb")
                           (inst -2 "dd" "bb")
                           (replaces -1)
                           (replaces -1)
                           (copy -1)
                           (expand "associative?")
                           (inst -1 "aa" "bb" "cc")
                           (inst -2 "aa" "bb" "dd")
                           (replace -1 -5 rl)
                           (replace -2 -5 rl)
                           (hide -1 -2 -3)
                           (inst -1 "aa + bb" "cc" "dd")
                           (assert))
                          ("2"
                           (hide -1 -7 -13 -14 -17 -18 2)
                           (case "length(w1w) = length(w1) + length(w) + i - j - 1")
                           (("1"
                             (replace -1 1)
                             (expand "^" 1 3)
                             (expand "min")
                             (assert)
                             (decompose-equality 1)
                             (("1"
                               (expand "^" 1)
                               (expand "min")
                               (propax))
                              ("2"
                               (decompose-equality 1)
                               (expand "^" 1)
                               (expand "min")
                               (typepred "x!1")
                               (expand "^" -1)
                               (expand* "min" "empty_seq")
                               (replace -3 1 rl)
                               (replace -4 1 rl)
                               (replace -5 1 rl)
                               (expand "o" 1)
                               (lift-if)
                               (ground)
                               (("1"
                                 (replace -8 -2 rl)
                                 (expand "^" -2)
                                 (expand* "min" "empty_seq")
                                 (lift-if)
                                 (ground)
                                 (("1"
                                   (case-replace "length(w1) = 1")
                                   (("1"
                                     (assert)
                                     (case-replace "x!1 = 0")
                                     (("1"
                                       (assert)
                                       (replace -11 1 rl)
                                       (expand "^" 1)
                                       (expand "from?")
                                       (flatten)
                                       (replace -2)
                                       (assert))
                                      ("2" (assert))))
                                    ("2" (assert))))
                                  ("2"
                                   (case-replace "length(w1) = 1")
                                   (("1"
                                     (assert)
                                     (case-replace "x!1 = 0")
                                     (("1"
                                       (assert)
                                       (replace -11 1 rl)
                                       (expand "^" 1)
                                       (expand "from?")
                                       (flatten)
                                       (replace -2)
                                       (assert))
                                      ("2" (assert))))
                                    ("2" (assert))))
                                  ("3"
                                   (case-replace "x!1 = 0")
                                   (("1"
                                     (assert)
                                     (replace -9 -3 rl)
                                     (expand "^" -3)
                                     (expand "min")
                                     (assert))
                                    ("2" (assert))))))
                                ("2"
                                 (replace -7 -1 rl)
                                 (expand "^" -1)
                                 (expand* "min" "empty_seq")
                                 (replace -7 1 rl)
                                 (expand "^" 1)
                                 (expand "min")
                                 (lift-if)
                                 (ground)
                                 (replace -7 4 rl)
                                 (expand "^" 4)
                                 (expand "min")
                                 (case-replace "x!1 = 0")
                                 (("1"
                                   (assert)
                                   (expand "from?")
                                   (propax))
                                  ("2" (assert))))
                                ("3"
                                 (replace -6 (1 2) rl)
                                 (expand "^" (1 2))
                                 (expand* "min" "empty_seq")
                                 (lift-if)
                                 (ground))))))
                            ("2"
                             (hide 2)
                             (replace -1 1 rl)
                             (expand "o" 1)
                             (replace -2 1 rl)
                             (replace -3 1 rl)
                             (replace -4 1 rl)
                             (expand "^" 1)
                             (expand* "min" "empty_seq")
                             (lift-if)
                             (ground))))
                          ("3"
                           (hide -1 -7 -8 -13 -14 -17 -18 2)
                           (replace -1 1 rl)
                           (replace -2 1 rl)
                           (replace -3 1 rl)
                           (replace -4 1 rl)
                           (hide -1 -2 -3 -4)
                           (expand* "o" "^" "min" "empty_seq")
                           (assert)
                           (lift-if)
                           (lift-if)
                           (lift-if)
                           (ground))))
                        ("2"
                         (hide -1 -7 -13 -14 -17 -18 2)
                         (decompose-equality 1)
                         (("1"
                           (replace -1 1 rl)
                           (expand "o" 1 (3 4))
                           (replace -2 1 rl)
                           (replace -3 1 rl)
                           (replace -4 1 rl)
                           (hide -1 -2 -3 -4)
                           (grind))
                          ("2"
                           (decompose-equality)
                           (("1"
                             (case "length(w1w) =  length(w1) + length(w) + i - j - 1")
                             (("1"
                               (typepred "x!1")
                               (replace -2)
                               (expand "^" -1)
                               (expand* "min" "empty_seq")
                               (replace -2)
                               (assert)
                               (expand "^" 1)
                               (expand "min")
                               (replace -3 1 rl)
                               (replace -4 1 rl)
                               (replace -5 1 rl)
                               (replace -6 1 rl)
                               (expand "o" 1)
                               (expand "^" 1)
                               (expand* "min" "empty_seq")
                               (lift-if)
                               (lift-if)
                               (lift-if)
                               (assert)
                               (ground)
                               (("1"
                                 (case-replace "x!1 = 0")
                                 (("1"
                                   (assert)
                                   (expand "from?")
                                   (propax))
                                  ("2" (assert))))
                                ("2"
                                 (case-replace "x!1 = 0")
                                 (("1"
                                   (assert)
                                   (expand "from?")
                                   (propax))
                                  ("2" (assert))))
                                ("3"
                                 (case-replace "x!1 = 0")
                                 (("1"
                                   (assert)
                                   (expand "from?")
                                   (propax))
                                  ("2" (assert))))))
                              ("2"
                               (hide 2)
                               (replace -1 1 rl)
                               (expand "o" 1)
                               (replace -3 1 rl)
                               (replace -2 1 rl)
                               (replace -4 1 rl)
                               (expand "^" 1)
                               (expand* "min" "empty_seq")
                               (lift-if)
                               (ground))))
                            ("2"
                             (replace -1 1 rl)
                             (expand "o" 1)
                             (replace -4 1 rl)
                             (expand "^" 1)
                             (expand "min")
                             (assert))))
                          ("3"
                           (replace -1 1 rl)
                           (expand "o" 1)
                           (replace -4 1 rl)
                           (expand "^" 1)
                           (expand "min")
                           (assert))))
                        ("3"
                         (replace -2 1 rl)
                         (expand "o" 1)
                         (replace -5 1 rl)
                         (expand "^" 1)
                         (expand "min")
                         (assert))))
                      ("2"
                       (hide-all-but (-1 -2 -3 -4 -5 -16 -17 -18 1))
                       (replace -1 1 rl)
                       (replace -2 1 rl)
                       (replace -3 1 rl)
                       (replace -4 1 rl)
                       (hide -1 -2 -3 -4)
                       (grind))
                      ("3"
                       (hide -13 -17 2)
                       (case-replace
                        "w1w ^ (i, length(w1w) - 1) = w1 o wjl")
                       (("1"
                         (lemma "walk_o")
                         (inst -1 "dg(G)" "w1" "w ^ (j, length(w) - 1)")
                         (("1"
                           (assert)
                           (rewrite "walk?_caret")
                           (case " w ^ (j, length(w) - 1) ^ (1, length(w ^ (j, length(w) - 1)) - 1) = wjl")
                           (("1"
                             (replaces -1)
                             (assert)
                             (expand "^" 1)
                             (expand "from?")
                             (flatten)
                             (assert))
                            ("2"
                             (hide-all-but (-5 -15 -16 -18 1))
                             (replace -1 1 rl)
                             (hide -1)
                             (grind))
                            ("3" (hide-all-but 1) (grind))))
                          ("2" (hide-all-but 1) (grind))))
                        ("2"
                         (hide -6 -12 -15 2)
                         (case "length(w1w) =  length(w1) + length(w) + i - j - 1")
                         (("1"
                           (replace -1)
                           (decompose-equality 1)
                           (("1"
                             (expand "o" 1)
                             (replace -4 1 rl)
                             (expand "^" 1)
                             (expand* "min" "empty_seq"))
                            ("2"
                             (decompose-equality 1)
                             (typepred "x!1")
                             (expand "^" -1)
                             (expand "min")
                             (expand "^" 1)
                             (expand "o" 1)
                             (lift-if)
                             (ground)
                             (("1"
                               (replace -4 1 rl)
                               (expand "o" 1)
                               (lift-if)
                               (ground)
                               (("1"
                                 (replace -9 * rl)
                                 (expand "^" (-1 -2 1))
                                 (expand "min")
                                 (case-replace "x!1 = 0")
                                 (("1"
                                   (assert)
                                   (expand "from?")
                                   (propax))
                                  ("2" (assert))))
                                ("2"
                                 (replace -6 2 rl)
                                 (expand "^" 2)
                                 (case-replace "length(w1) = 1")
                                 (("1"
                                   (hide 2)
                                   (expand "^" -7)
                                   (replace -7 -2 rl)
                                   (expand "empty_seq" -2)
                                   (propax))
                                  ("2"
                                   (assert)
                                   (replace -8 3 rl)
                                   (expand "^" 3)
                                   (expand "min")
                                   (propax))))
                                ("3"
                                 (replace -5 1 rl)
                                 (replace -7 1 rl)
                                 (expand "^" 1)
                                 (expand* "min" "empty_seq")
                                 (lift-if)
                                 (case "length(w1) = 1")
                                 (("1" (assert)) ("2" (assert))))))
                              ("2"
                               (replace -3 2 rl)
                               (expand "o" 2)
                               (lift-if)
                               (ground)
                               (("1"
                                 (replace -8 -1 rl)
                                 (expand "^" -1)
                                 (expand "min")
                                 (case-replace "x!1 = 0")
                                 (("1" (assert)) ("2" (assert))))
                                ("2"
                                 (replace -5 -1 rl)
                                 (expand "^" -1)
                                 (expand* "min" "empty_seq")
                                 (lift-if)
                                 (ground)
                                 (replace -7 -1 rl)
                                 (expand "^" -1)
                                 (expand "min")
                                 (assert))
                                ("3"
                                 (replace -4 2 rl)
                                 (replace -6 2 rl)
                                 (expand "^" 2)
                                 (expand* "min" "empty_seq")
                                 (lift-if)
                                 (ground))))))))
                          ("2"
                           (hide-all-but (-1 -2 -3 -4 1))
                           (replace -1 1 rl)
                           (replace -2 1 rl)
                           (replace -3 1 rl)
                           (replace -4 1 rl)
                           (hide -)
                           (grind))))
                        ("3"
                         (replace -1 1 rl)
                         (expand "o" 1)
                         (replace -4 1 rl)
                         (expand "^" 1)
                         (expand "min")
                         (assert))))))
                    ("2"
                     (replace -1 1 rl)
                     (expand "o" 1)
                     (replace -4 1 rl)
                     (expand "^" 1)
                     (expand "min")
                     (assert))))
                  ("2"
                   (hide-all-but (-3 -4 -5 -6 1))
                   (decompose-equality 1)
                   (("1"
                     (expand "^" 1)
                     (expand* "min" "empty_seq")
                     (lift-if)
                     (ground)
                     (("1"
                       (replace -2 -1 rl)
                       (expand "o" -1)
                       (replace -5 -1 rl)
                       (expand "^" -1)
                       (expand "min")
                       (assert))
                      ("2"
                       (replace -2 -1 rl)
                       (expand "o" -1)
                       (replace -5 -1 rl)
                       (replace -3 -1 rl)
                       (replace -4 -1 rl)
                       (expand "^" -1)
                       (expand* "min" "empty_seq")
                       (lift-if)
                       (assert))))
                    ("2"
                     (decompose-equality 1)
                     (replace -1 1 rl)
                     (typepred "x!1")
                     (replace -2 -1 rl)
                     (expand "^" -1)
                     (expand* "min" "empty_seq")
                     (expand "o" -1)
                     (lift-if)
                     (ground)
                     (("1"
                       (replace -4 -1 rl)
                       (replace -5 -1 rl)
                       (replace -6 -1 rl)
                       (expand "^" -1)
                       (expand* "min" "empty_seq")
                       (lift-if)
                       (ground))
                      ("2"
                       (expand "^" 3)
                       (expand "o" 3 (1 2))
                       (expand "o" 3)
                       (lift-if)
                       (ground)
                       (("1" (replace -7 1 rl) (expand "^" 1) (propax))
                        ("2" (grind)) ("3" (grind))))))))))
                ("2"
                 (hide-all-but (-2 -3 -4 -5 -6 -15 -16 -19 1))
                 (replace -1 1 rl)
                 (replace -2 1 rl)
                 (replace -3 1 rl)
                 (replace -4 1 rl)
                 (hide -1 -2 -3 -4)
                 (grind))
                ("3"
                 (hide -1 -13 -14 -18 2)
                 (replace -1 1 rl)
                 (lemma "walk_o")
                 (inst -1 "dg(G)" "woi o w1t" "w ^ (j, length(w) - 1)")
                 (("1"
                   (rewrite "walk?_caret")
                   (split)
                   (("1"
                     (case-replace
                      "w ^ (j, length(w) - 1) ^ (1, length(w ^ (j, length(w) - 1)) - 1) = wjl")
                     (("1" (replace -4 1 rl) (hide-all-but 1) (grind))
                      ("2" (hide-all-but 1) (grind))))
                    ("2"
                     (hide 2)
                     (lemma "walk_o")
                     (inst -1 "dg(G)" "woi" "w1")
                     (("1"
                       (assert)
                       (hide 2)
                       (replace -4 1 rl)
                       (rewrite "walk?_caret")
                       (expand "^" 1)
                       (expand "min")
                       (expand "from?")
                       (assert))
                      ("2"
                       (replace -4 1 rl)
                       (expand "^" 1)
                       (expand "min")
                       (assert))))
                    ("3"
                     (hide 2)
                     (expand "o" 1)
                     (expand "^" 1)
                     (lift-if)
                     (replace -2 1 rl)
                     (expand "^" 1 1)
                     (expand* "min" "empty_seq")
                     (case " length(w1) = 1")
                     (("1"
                       (assert)
                       (expand "^" 1)
                       (expand "empty_seq")
                       (replace -5 1 rl)
                       (expand "^" 1)
                       (expand "min")
                       (expand "from?")
                       (flatten)
                       (assert))
                      ("2"
                       (assert)
                       (expand "^" 2)
                       (expand "min")
                       (expand "from?")
                       (flatten)
                       (assert))))))
                  ("2" (expand "^" 1) (expand "min") (assert))
                  ("3"
                   (expand "o" 1)
                   (replace -4 1 rl)
                   (expand "^" 1)
                   (expand "min")
                   (assert))))))
              ("2" (hide-all-but 1) (grind))))
            ("2" (replace -13 1 rl) (hide-all-but 1) (grind))))
          ("2"
           (split)
           (("1"
             (replace -1 1 rl)
             (expand "o" 1)
             (replace -4 1 rl)
             (expand "^" 1)
             (expand "min")
             (assert))
            ("2"
             (hide -14 2)
             (replace -1 1 rl)
             (lemma "walk_o")
             (inst -1 "dg(G)" "woi o w1t" " w ^ (j, length(w) - 1)")
             (("1"
               (rewrite "walk?_caret")
               (split)
               (("1"
                 (case "w ^ (j, length(w) - 1) ^
                                                                                                                                                                                                           (1, length(w ^ (j, length(w) - 1)) - 1) = wjl")
                 (("1" (replaces -1))
                  ("2" (replace -4 1 rl) (hide-all-but 1) (grind))
                  ("3" (hide-all-but 1) (grind))))
                ("2"
                 (hide 2)
                 (lemma "walk_o")
                 (inst -1 "dg(G)" "woi" "w1")
                 (("1"
                   (assert)
                   (replace -4 1 rl)
                   (rewrite "walk?_caret")
                   (expand "^" 1)
                   (expand "min")
                   (expand "from?")
                   (flatten)
                   (assert))
                  ("2"
                   (replace -4 1 rl)
                   (expand "^" 1)
                   (expand "min")
                   (assert))))
                ("3"
                 (hide 2)
                 (expand "^" 1)
                 (expand "o" 1)
                 (lift-if)
                 (case "w1`length = 1")
                 (("1"
                   (replace -3 1 rl)
                   (expand "^" 1)
                   (expand* "min" "empty_seq")
                   (assert)
                   (replace -5 1 rl)
                   (expand "^" 1)
                   (expand "min")
                   (expand "from?")
                   (replace -1)
                   (flatten)
                   (assert))
                  ("2"
                   (replace -2 2 rl)
                   (expand "^" 2)
                   (expand* "min" "empty_seq")
                   (assert)
                   (expand "from?")
                   (propax))))))
              ("2" (hide-all-but 1) (grind))
              ("3"
               (expand "o" 1)
               (replace -4 1 rl)
               (expand "^" 1)
               (expand "min")
               (assert))))
            ("3"
             (hide -2 -5 -6 -7 -8 -9 -12 -16 2)
             (expand "from?")
             (flatten)
             (split)
             (("1"
               (replace -1 1 rl)
               (replace -2 1 rl)
               (replace -3 1 rl)
               (hide -1 -2 -3)
               (expand* "o" "^" "min" "empty_seq")
               (lift-if)
               (ground))
              ("2"
               (replace -1 1 rl)
               (replace -2 1 rl)
               (replace -3 1 rl)
               (hide -1 -2 -3)
               (expand* "o" "^" "min" "empty_seq")
               (assert))))))))))
      ("2"
       (replace -5 1 rl)
       (rewrite "walk?_caret")
       (expand "^" 1)
       (expand "min")
       (assert))))
    ("2"
     (split)
     (("1"
       (case-replace "i = 0")
       (("1"
         (hide 1)
         (case-replace "j = length(w) - 1")
         (("1"
           (assert)
           (hide -1 -2 -5)
           (typepred "e")
           (lemma "walk_member_set_min")
           (inst -1 "G" "w" "e")
           (expand "walk_from?")
           (assert)
           (expand "from?")
           (flatten)
           (replace -3)
           (replace -4)
           (case "e = (e`1, e`2)")
           (("1" (replace -1 1 rl) (propax)) ("2" (assert))))
          ("2"
           (assert)
           (typepred "e")
           (lemma "walk_member_set_min")
           (inst -1 "G" "w" "e")
           (expand "walk_from?")
           (assert)
           (hide -2)
           (expand* "nonempty?" "empty?" "member")
           (name "ww" "w^(0,j)")
           (name-replace "w0" "w`seq(0)" :hide? nil)
           (name-replace "wj" "w`seq(j)" :hide? nil)
           (inst -9 "ww")
           (("1"
             (expand "set_min")
             (split)
             (("1"
               (hide-all-but (-1 -2 -3 1))
               (replace -1 1 rl)
               (replace -2 1 rl)
               (replace -3 1 rl)
               (hide -)
               (expand "from?")
               (expand* "^" "min"))
              ("2"
               (expand "min_walk?")
               (skeep)
               (typepred "w1")
               (name "woj" "w ^ (0, j)")
               (name "wjl" "w ^ (j + 1, length(w) - 1)")
               (name "w1w" "w1 o wjl")
               (inst -10 "w1w")
               (("1"
                 (lemma "wgt_walk_decomposed")
                 (inst-cp -1 "G" "j" "w")
                 (assert)
                 (replace -2 -12)
                 (hide -2)
                 (inst -1 "G" "length(w1) - 1" "w1w")
                 (split -1)
                 (("1"
                   (case "w1w ^ (0, length(w1) - 1) = w1")
                   (("1"
                     (replaces -1)
                     (replaces -1)
                     (case "w1w ^ (length(w1) - 1, length(w1w) - 1) = w ^ (j, length(w) - 1)")
                     (("1"
                       (replaces -1)
                       (replace -9)
                       (hide -1)
                       (assert)
                       (hide-all-but (-9 1))
                       (name-replace "aa"
                        "wgt_walk(G, w ^ (j, length(w) - 1))")
                       (name-replace "cc" "wgt_walk(G, ww)")
                       (name-replace "dd" "wgt_walk(G, w1)")
                       (typepred "+" "<=")
                       (copy -1)
                       (expand "commutative?")
                       (inst -1 "cc" "aa")
                       (inst -2 "dd" "aa")
                       (replaces -1)
                       (replaces -1)
                       (hide -1 -2)
                       (inst -1 "aa" "cc" "dd")
                       (assert))
                      ("2"
                       (hide -5 -10 -13 2)
                       (replace -1 1 rl)
                       (replace -2 1 rl)
                       (hide -1 -2 -3 -8 -9)
                       (decompose-equality 1)
                       (("1" (expand* "o" "^" "min" "empty_seq"))
                        ("2"
                         (decompose-equality)
                         (("1"
                           (expand* "o" "^" "min" "empty_seq")
                           (lift-if)
                           (ground)
                           (case-replace "x!1 = 0")
                           (("1" (expand "from?") (propax))
                            ("2" (assert))))
                          ("2"
                           (expand* "o" "^" "min" "empty_seq")
                           (assert))))
                        ("3"
                         (expand* "o" "^" "min" "empty_seq")
                         (assert))))
                      ("3" (replace -1 1 rl) (expand "o" 1) (assert))))
                    ("2"
                     (hide -1 -6 -11 -14 2)
                     (replace -1 1 rl)
                     (replace -2 1 rl)
                     (hide -1 -2 -3 -8)
                     (decompose-equality)
                     (("1" (expand* "o" "^" "min" "empty_seq"))
                      ("2"
                       (decompose-equality)
                       (expand* "o" "^" "min" "empty_seq")
                       (lift-if)
                       (ground)
                       (typepred "x!1")
                       (expand* "o" "^" "min" "empty_seq"))))))
                  ("2"
                   (hide-all-but (-1 -2 -14 1 3))
                   (replace -1 1 rl)
                   (expand "o" 1)
                   (assert))
                  ("3"
                   (hide -3 -9 -10 -11 -13 2)
                   (replace -1 1 rl)
                   (replace -2 1 rl)
                   (hide -1 -2)
                   (lemma "walk_o")
                   (inst -1 "dg(G)" "w1" "w ^ (j, length(w) - 1)")
                   (("1"
                     (rewrite "walk?_caret")
                     (assert)
                     (split)
                     (("1"
                       (case "w ^ (j, length(w) - 1) ^
                                                                                                                                                                                  (1, length(w ^ (j, length(w) - 1)) - 1) = w ^ (1 + j, length(w) - 1)")
                       (("1" (replaces -1))
                        ("2" (hide-all-but 1) (grind))
                        ("3" (hide-all-but 1) (grind))))
                      ("2"
                       (hide -2 2)
                       (expand "^")
                       (expand "from?")
                       (flatten)
                       (assert))))
                    ("2" (hide-all-but 1) (grind))))))
                ("2"
                 (hide -12 2)
                 (split)
                 (("1" (replace -1 1 rl) (expand "o" 1) (assert))
                  ("2"
                   (replace -1 1 rl)
                   (replace -2 1 rl)
                   (hide -1 -2 -3 -9 -10)
                   (lemma "walk_o")
                   (inst -1 "dg(G)" "w1" "w ^ (j, length(w) - 1)")
                   (("1"
                     (rewrite "walk?_caret")
                     (assert)
                     (split)
                     (("1"
                       (case "w ^ (j, length(w) - 1) ^
                                                                                                                                                                                  (1, length(w ^ (j, length(w) - 1)) - 1) = w ^ (1 + j, length(w) - 1)")
                       (("1" (replaces -1))
                        ("2" (hide-all-but 1) (grind))
                        ("3" (hide-all-but 1) (grind))))
                      ("2"
                       (hide -2 2)
                       (expand "^")
                       (expand "from?")
                       (flatten)
                       (assert))))
                    ("2" (hide-all-but 1) (grind))))
                  ("3"
                   (replace -1 1 rl)
                   (replace -2 1 rl)
                   (hide -1 -2 -3 -5 -9)
                   (expand "from?")
                   (flatten)
                   (split)
                   (("1" (expand* "o" "^") (assert))
                    ("2" (expand* "o" "^" "min" "empty_seq"))))))))))
            ("2"
             (replace -3 1 rl)
             (rewrite "walk?_caret")
             (expand "^" 1)
             (expand "min")
             (assert))))))
        ("2" (assert))))
      ("2"
       (case-replace "j = length(w) - 1")
       (("1"
         (hide 1)
         (case-replace "i = 0")
         (("1"
           (assert)
           (hide -1 -2 -5)
           (typepred "e")
           (lemma "walk_member_set_min")
           (inst -1 "G" "w" "e")
           (expand "walk_from?")
           (assert)
           (expand "from?")
           (flatten)
           (replace -3)
           (replace -4)
           (case "e = (e`1, e`2)")
           (("1" (replace -1 1 rl) (propax)) ("2" (assert))))
          ("2"
           (assert)
           (typepred "e")
           (lemma "walk_member_set_min")
           (inst -1 "G" "w" "e")
           (expand "walk_from?")
           (assert)
           (hide -2)
           (expand* "nonempty?" "empty?" "member")
           (name-replace "wi" "w`seq(i)" :hide? nil)
           (name-replace "wj" "w`seq(length(w) - 1)" :hide? nil)
           (name "ww" "w^(i,length(w) - 1)")
           (inst -9 "ww")
           (("1"
             (expand "set_min")
             (split)
             (("1"
               (hide-all-but (-1 -2 -3 1))
               (replace -1 1 rl)
               (replace -2 1 rl)
               (replace -3 1 rl)
               (hide -)
               (expand "from?")
               (expand* "^" "min"))
              ("2"
               (expand "min_walk?")
               (skeep)
               (typepred "w1")
               (name "woi" "w ^ (0, i)")
               (name "w1t" "w1 ^ (1, length(w1) - 1)")
               (name "ww1" "woi o w1t")
               (inst -10 "ww1")
               (("1"
                 (lemma "wgt_walk_decomposed")
                 (inst-cp -1 "G" "i" "w")
                 (assert)
                 (replace -2 -12)
                 (hide -2)
                 (inst -1 "G" "i" "ww1")
                 (split -1)
                 (("1"
                   (case "ww1 ^ (0, i) = woi")
                   (("1"
                     (replaces -1)
                     (replaces -1)
                     (replace -3)
                     (case "ww1 ^ (i, length(ww1) - 1) = w1")
                     (("1"
                       (replaces -1)
                       (replace -7)
                       (assert)
                       (hide-all-but (-10 1))
                       (name-replace "aa" "wgt_walk(G, woi)")
                       (name-replace "bb" "wgt_walk(G, w1)")
                       (name-replace "cc" "wgt_walk(G, ww)")
                       (typepred "<=")
                       (hide -1)
                       (inst -1 "aa" "cc" "bb")
                       (assert))
                      ("2"
                       (hide -5 -10 -13 2)
                       (replace -1 1 rl)
                       (replace -2 1 rl)
                       (replace -3 1 rl)
                       (hide -1 -2 -3 -6)
                       (decompose-equality)
                       (("1"
                         (expand* "o" "^" "min" "empty_seq")
                         (lift-if)
                         (lift-if)
                         (lift-if)
                         (ground))
                        ("2"
                         (decompose-equality)
                         (("1"
                           (case-replace "x!1 = 0")
                           (("1"
                             (case-replace "length(w1) = 1")
                             (("1"
                               (expand* "o" "^" "min" "empty_seq")
                               (expand "from?")
                               (flatten)
                               (assert))
                              ("2"
                               (expand* "o" "^" "min" "empty_seq")
                               (assert)
                               (expand "from?")
                               (propax))))
                            ("2"
                             (case-replace "length(w1) = 1")
                             (("1"
                               (typepred "x!1")
                               (hide 2)
                               (expand* "o" "^" "min" "empty_seq")
                               (assert))
                              ("2"
                               (expand* "o" "^" "min" "empty_seq")
                               (assert))))))
                          ("2"
                           (expand* "o" "^" "min" "empty_seq")
                           (lift-if)
                           (assert))))
                        ("3"
                         (expand* "o" "^" "min" "empty_seq")
                         (lift-if)
                         (assert))))
                      ("3"
                       (replace -1 1 rl)
                       (expand "o" 1)
                       (replace -3 1 rl)
                       (expand "^" 1)
                       (expand "min")
                       (assert))))
                    ("2"
                     (hide-all-but (-2 -3 -4 -5 -7 -9 -10 -13 -15 1 3))
                     (replace -1 1 rl)
                     (replace -2 1 rl)
                     (replace -3 1 rl)
                     (hide -1 -2 -3)
                     (decompose-equality)
                     (("1" (grind))
                      ("2"
                       (decompose-equality)
                       (typepred "x!1")
                       (case-replace "length(w1) = 1")
                       (("1"
                         (expand* "o" "^" "min" "empty_seq")
                         (assert))
                        ("2"
                         (expand* "o" "^" "min" "empty_seq")
                         (assert))))))))
                  ("2"
                   (hide-all-but (-1 -3 -14 1 3))
                   (replace -1 1 rl)
                   (replace -2 1 rl)
                   (hide -1 -2)
                   (expand* "o" "^" "min" "empty_seq")
                   (assert))
                  ("3"
                   (hide -7 -10 -13 2)
                   (replace -1 1 rl)
                   (hide -1)
                   (replace -1 1 rl)
                   (hide -1)
                   (lemma "walk_o")
                   (inst -1 "dg(G)" "woi" "w1")
                   (("1"
                     (assert)
                     (hide 2)
                     (replace -1 1 rl)
                     (rewrite "walk?_caret")
                     (hide -1)
                     (expand* "^" "min")
                     (expand "from?")
                     (flatten)
                     (assert))
                    ("2"
                     (replace -1 1 rl)
                     (hide-all-but (-9 1 3))
                     (expand* "^" "min")
                     (assert))))))
                ("2"
                 (split)
                 (("1"
                   (hide-all-but (-1 -3 -13 1 3))
                   (replace -1 1 rl)
                   (replace -2 1 rl)
                   (hide -1 -2)
                   (expand* "o" "^" "min")
                   (assert))
                  ("2"
                   (hide -7 -12 2)
                   (replace -1 1 rl)
                   (replace -2 1 rl)
                   (hide -1 -2)
                   (lemma "walk_o")
                   (inst -1 "dg(G)" "woi" "w1")
                   (("1"
                     (assert)
                     (hide 2)
                     (replace -1 1 rl)
                     (rewrite "walk?_caret")
                     (hide -1)
                     (expand* "^" "min")
                     (expand "from?")
                     (flatten)
                     (assert))
                    ("2"
                     (replace -1 1 rl)
                     (hide-all-but (1 3))
                     (expand* "^" "min")
                     (assert))))
                  ("3"
                   (hide -4 -7 -10 -12 2)
                   (replace -1 1 rl)
                   (replace -2 1 rl)
                   (replace -3 1 rl)
                   (hide -1 -2 -3)
                   (expand "from?")
                   (flatten)
                   (split)
                   (("1" (expand* "o" "^" "min"))
                    ("2"
                     (case-replace "length(w1) = 1")
                     (("1" (expand* "o" "^" "min" "empty_seq") (assert))
                      ("2"
                       (expand* "o" "^" "min" "empty_seq")
                       (assert))))))))))))
            ("2"
             (replace -1 1 rl)
             (rewrite "walk?_caret")
             (hide -)
             (expand* "^" "min")
             (assert))))))
        ("2" (assert))))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: wgt_digraphs_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "finseq_appl")
   (skeep)
   (case "0 < i AND j < length(w) - 1")
   (("1"
     (flatten)
     (assert)
     (typepred "e")
     (lemma "walk_member_set_min")
     (inst -1 "G" "w" "e")
     (expand "walk_from?")
     (assert)
     (hide -2)
     (rewrite "min_walk_min_wgt")
     (hide 2)
     (expand "member")
     (name-replace "ww" "w^(i,j)" :hide? nil)
     (name-replace "e1" "e`1" :hide? nil)
     (name-replace "e2" "e`2" :hide? nil)
     (name-replace "wi" "w`seq(i)" :hide? nil)
     (name-replace "wj" "w`seq(j)" :hide? nil)
     (expand "set_min")
     (split)
     (("1"
       (replace -5 1 rl)
       (replace -1 1 rl)
       (replace -2 1 rl)
       (hide-all-but 1)
       (expand "from?")
       (expand* "^" "min"))
      ("2"
       (expand "min_walk?")
       (skeep)
       (typepred "w1")
       (name "woi" "w ^ (0, i)")
       (name "wjl" "w ^ (j + 1, length(w) - 1)")
       (name "w1t" "w1 ^ (1, length(w1) - 1)")
       (name "w1w" "woi o w1t o wjl")
       (inst -13 "w1w")
       (("1"
         (lemma "wgt_walk_decomposed")
         (inst-cp -1 "G" "i" "w")
         (assert)
         (replace -2 -15)
         (hide -2)
         (inst -1 "G" "j - i" "w ^ (i, length(w) - 1)")
         (expand "^" -1 1)
         (expand "min")
         (rewrite "walk?_caret")
         (case "w ^ (i, length(w) - 1) ^ (0, j - i) = ww")
         (("1"
           (replace -1 -2)
           (expand "^" -2 4)
           (expand "min")
           (case "w ^ (i, length(w) - 1) ^ (j - i, w`length - 1 - i) = w^(j, length(w) - 1)")
           (("1"
             (replace -1 -3)
             (hide -1 -2)
             (replace -1 -14)
             (hide -1)
             (lemma "wgt_walk_decomposed")
             (inst-cp -1 "G" "i" "w1w")
             (split -2)
             (("1"
               (case "w1w ^ (0, i) = w^(0, i)")
               (("1"
                 (replaces -1)
                 (replace -1 -15)
                 (hide -1)
                 (inst -1 "G" "length(w1) - 1"
                  "w1w ^ (i, length(w1w) - 1)")
                 (("1"
                   (split -1)
                   (("1"
                     (case "w1w ^ (i, length(w1w) - 1) ^ (0, length(w1) - 1) = w1")
                     (("1"
                       (replaces -1)
                       (case "w1w ^ (i, length(w1w) - 1) ^
                                                                                                                                                                                                                                                                              (length(w1) - 1, length(w1w ^ (i, length(w1w) - 1)) - 1)
                                                                                                                                                                                                                                                            		      = w ^ (j, length(w) - 1)")
                       (("1"
                         (replaces -1)
                         (replaces -1)
                         (hide -1)
                         (assert)
                         (replace -3)
                         (hide-all-but (-12 1))
                         (name-replace "aa" "wgt_walk(G, woi)")
                         (name-replace "bb"
                          "wgt_walk(G, w ^ (j, length(w) - 1))")
                         (name-replace "cc" "wgt_walk(G, ww)")
                         (name-replace "dd" "wgt_walk(G, w1)")
                         (typepred "+" "<=")
                         (copy -1)
                         (expand "commutative?")
                         (inst -1 "cc" "bb")
                         (inst -2 "dd" "bb")
                         (replaces -1)
                         (replaces -1)
                         (copy -1)
                         (expand "associative?")
                         (inst -1 "aa" "bb" "cc")
                         (inst -2 "aa" "bb" "dd")
                         (replace -1 -5 rl)
                         (replace -2 -5 rl)
                         (hide -1 -2 -3)
                         (inst -1 "aa + bb" "cc" "dd")
                         (assert))
                        ("2"
                         (hide -1 -7 -13 -14 -17 -18 2)
                         (case "length(w1w) = length(w1) + length(w) + i - j - 1")
                         (("1"
                           (replace -1 1)
                           (expand "^" 1 3)
                           (expand "min")
                           (assert)
                           (decompose-equality 1)
                           (("1" (expand "^" 1) (expand "min") (propax))
                            ("2"
                             (decompose-equality 1)
                             (expand "^" 1)
                             (expand "min")
                             (typepred "x!1")
                             (expand "^" -1)
                             (expand* "min" "empty_seq")
                             (replace -3 1 rl)
                             (replace -4 1 rl)
                             (replace -5 1 rl)
                             (expand "o" 1)
                             (lift-if)
                             (ground)
                             (("1"
                               (replace -8 -2 rl)
                               (expand "^" -2)
                               (expand* "min" "empty_seq")
                               (lift-if)
                               (ground)
                               (("1"
                                 (case-replace "length(w1) = 1")
                                 (("1"
                                   (assert)
                                   (case-replace "x!1 = 0")
                                   (("1"
                                     (assert)
                                     (replace -11 1 rl)
                                     (expand "^" 1)
                                     (expand "from?")
                                     (flatten)
                                     (replace -2)
                                     (assert))
                                    ("2" (assert))))
                                  ("2" (assert))))
                                ("2"
                                 (case-replace "length(w1) = 1")
                                 (("1"
                                   (assert)
                                   (case-replace "x!1 = 0")
                                   (("1"
                                     (assert)
                                     (replace -11 1 rl)
                                     (expand "^" 1)
                                     (expand "from?")
                                     (flatten)
                                     (replace -2)
                                     (assert))
                                    ("2" (assert))))
                                  ("2" (assert))))
                                ("3"
                                 (case-replace "x!1 = 0")
                                 (("1"
                                   (assert)
                                   (replace -9 -3 rl)
                                   (expand "^" -3)
                                   (expand "min")
                                   (assert))
                                  ("2" (assert))))))
                              ("2"
                               (replace -7 -1 rl)
                               (expand "^" -1)
                               (expand* "min" "empty_seq")
                               (replace -7 1 rl)
                               (expand "^" 1)
                               (expand "min")
                               (lift-if)
                               (ground)
                               (replace -7 4 rl)
                               (expand "^" 4)
                               (expand "min")
                               (case-replace "x!1 = 0")
                               (("1" (assert) (expand "from?") (propax))
                                ("2" (assert))))
                              ("3"
                               (replace -6 (1 2) rl)
                               (expand "^" (1 2))
                               (expand* "min" "empty_seq")
                               (lift-if)
                               (ground))))))
                          ("2"
                           (hide 2)
                           (replace -1 1 rl)
                           (expand "o" 1)
                           (replace -2 1 rl)
                           (replace -3 1 rl)
                           (replace -4 1 rl)
                           (expand "^" 1)
                           (expand* "min" "empty_seq")
                           (lift-if)
                           (ground))))
                        ("3"
                         (hide -1 -7 -8 -13 -14 -17 -18 2)
                         (replace -1 1 rl)
                         (replace -2 1 rl)
                         (replace -3 1 rl)
                         (replace -4 1 rl)
                         (hide -1 -2 -3 -4)
                         (expand* "o" "^" "min" "empty_seq")
                         (assert)
                         (lift-if)
                         (lift-if)
                         (lift-if)
                         (ground))))
                      ("2"
                       (hide -1 -7 -13 -14 -17 -18 2)
                       (decompose-equality 1)
                       (("1"
                         (replace -1 1 rl)
                         (expand "o" 1 (3 4))
                         (replace -2 1 rl)
                         (replace -3 1 rl)
                         (replace -4 1 rl)
                         (hide -1 -2 -3 -4)
                         (grind))
                        ("2"
                         (decompose-equality)
                         (("1"
                           (case "length(w1w) =  length(w1) + length(w) + i - j - 1")
                           (("1"
                             (typepred "x!1")
                             (replace -2)
                             (expand "^" -1)
                             (expand* "min" "empty_seq")
                             (replace -2)
                             (assert)
                             (expand "^" 1)
                             (expand "min")
                             (replace -3 1 rl)
                             (replace -4 1 rl)
                             (replace -5 1 rl)
                             (replace -6 1 rl)
                             (expand "o" 1)
                             (expand "^" 1)
                             (expand* "min" "empty_seq")
                             (lift-if)
                             (lift-if)
                             (lift-if)
                             (assert)
                             (ground)
                             (("1"
                               (case-replace "x!1 = 0")
                               (("1" (assert) (expand "from?") (propax))
                                ("2" (assert))))
                              ("2"
                               (case-replace "x!1 = 0")
                               (("1" (assert) (expand "from?") (propax))
                                ("2" (assert))))
                              ("3"
                               (case-replace "x!1 = 0")
                               (("1" (assert) (expand "from?") (propax))
                                ("2" (assert))))))
                            ("2"
                             (hide 2)
                             (replace -1 1 rl)
                             (expand "o" 1)
                             (replace -3 1 rl)
                             (replace -2 1 rl)
                             (replace -4 1 rl)
                             (expand "^" 1)
                             (expand* "min" "empty_seq")
                             (lift-if)
                             (ground))))
                          ("2"
                           (replace -1 1 rl)
                           (expand "o" 1)
                           (replace -4 1 rl)
                           (expand "^" 1)
                           (expand "min")
                           (assert))))
                        ("3"
                         (replace -1 1 rl)
                         (expand "o" 1)
                         (replace -4 1 rl)
                         (expand "^" 1)
                         (expand "min")
                         (assert))))
                      ("3"
                       (replace -2 1 rl)
                       (expand "o" 1)
                       (replace -5 1 rl)
                       (expand "^" 1)
                       (expand "min")
                       (assert))))
                    ("2"
                     (hide-all-but (-1 -2 -3 -4 -5 -16 -17 -18 1))
                     (replace -1 1 rl)
                     (replace -2 1 rl)
                     (replace -3 1 rl)
                     (replace -4 1 rl)
                     (hide -1 -2 -3 -4)
                     (grind))
                    ("3"
                     (hide -13 -17 2)
                     (case-replace
                      "w1w ^ (i, length(w1w) - 1) = w1 o wjl")
                     (("1"
                       (lemma "walk_o")
                       (inst -1 "dg(G)" "w1" "w ^ (j, length(w) - 1)")
                       (("1"
                         (assert)
                         (rewrite "walk?_caret")
                         (case " w ^ (j, length(w) - 1) ^
                                                                                                                                                                                                                                                                                            (1, length(w ^ (j, length(w) - 1)) - 1) = wjl")
                         (("1"
                           (replaces -1)
                           (assert)
                           (expand "^" 1)
                           (expand "from?")
                           (flatten)
                           (assert))
                          ("2"
                           (hide-all-but (-5 -15 -16 -18 1))
                           (replace -1 1 rl)
                           (hide -1)
                           (grind))
                          ("3" (hide-all-but 1) (grind))))
                        ("2" (hide-all-but 1) (grind))))
                      ("2"
                       (hide -6 -12 -15 2)
                       (case "length(w1w) =  length(w1) + length(w) + i - j - 1")
                       (("1"
                         (replace -1)
                         (decompose-equality 1)
                         (("1"
                           (expand "o" 1)
                           (replace -4 1 rl)
                           (expand "^" 1)
                           (expand* "min" "empty_seq"))
                          ("2"
                           (decompose-equality 1)
                           (typepred "x!1")
                           (expand "^" -1)
                           (expand "min")
                           (expand "^" 1)
                           (expand "o" 1)
                           (lift-if)
                           (ground)
                           (("1"
                             (replace -4 1 rl)
                             (expand "o" 1)
                             (lift-if)
                             (ground)
                             (("1"
                               (replace -9 * rl)
                               (expand "^" (-1 -2 1))
                               (expand "min")
                               (case-replace "x!1 = 0")
                               (("1" (assert) (expand "from?") (propax))
                                ("2" (assert))))
                              ("2"
                               (replace -6 2 rl)
                               (expand "^" 2)
                               (case-replace "length(w1) = 1")
                               (("1"
                                 (hide 2)
                                 (expand "^" -7)
                                 (replace -7 -2 rl)
                                 (expand "empty_seq" -2)
                                 (propax))
                                ("2"
                                 (assert)
                                 (replace -8 3 rl)
                                 (expand "^" 3)
                                 (expand "min")
                                 (propax))))
                              ("3"
                               (replace -5 1 rl)
                               (replace -7 1 rl)
                               (expand "^" 1)
                               (expand* "min" "empty_seq")
                               (lift-if)
                               (case "length(w1) = 1")
                               (("1" (assert)) ("2" (assert))))))
                            ("2"
                             (replace -3 2 rl)
                             (expand "o" 2)
                             (lift-if)
                             (ground)
                             (("1"
                               (replace -8 -1 rl)
                               (expand "^" -1)
                               (expand "min")
                               (case-replace "x!1 = 0")
                               (("1" (assert)) ("2" (assert))))
                              ("2"
                               (replace -5 -1 rl)
                               (expand "^" -1)
                               (expand* "min" "empty_seq")
                               (lift-if)
                               (ground)
                               (replace -7 -1 rl)
                               (expand "^" -1)
                               (expand "min")
                               (assert))
                              ("3"
                               (replace -4 2 rl)
                               (replace -6 2 rl)
                               (expand "^" 2)
                               (expand* "min" "empty_seq")
                               (lift-if)
                               (ground))))))))
                        ("2"
                         (hide-all-but (-1 -2 -3 -4 1))
                         (replace -1 1 rl)
                         (replace -2 1 rl)
                         (replace -3 1 rl)
                         (replace -4 1 rl)
                         (hide -)
                         (grind))))
                      ("3"
                       (replace -1 1 rl)
                       (expand "o" 1)
                       (replace -4 1 rl)
                       (expand "^" 1)
                       (expand "min")
                       (assert))))))
                  ("2"
                   (replace -1 1 rl)
                   (expand "o" 1)
                   (replace -4 1 rl)
                   (expand "^" 1)
                   (expand "min")
                   (assert))))
                ("2"
                 (hide-all-but (-3 -4 -5 -6 1))
                 (decompose-equality 1)
                 (("1"
                   (expand "^" 1)
                   (expand* "min" "empty_seq")
                   (lift-if)
                   (ground)
                   (("1"
                     (replace -2 -1 rl)
                     (expand "o" -1)
                     (replace -5 -1 rl)
                     (expand "^" -1)
                     (expand "min")
                     (assert))
                    ("2"
                     (replace -2 -1 rl)
                     (expand "o" -1)
                     (replace -5 -1 rl)
                     (replace -3 -1 rl)
                     (replace -4 -1 rl)
                     (expand "^" -1)
                     (expand* "min" "empty_seq")
                     (lift-if)
                     (assert))))
                  ("2"
                   (decompose-equality 1)
                   (replace -1 1 rl)
                   (typepred "x!1")
                   (replace -2 -1 rl)
                   (expand "^" -1)
                   (expand* "min" "empty_seq")
                   (expand "o" -1)
                   (lift-if)
                   (ground)
                   (("1"
                     (replace -4 -1 rl)
                     (replace -5 -1 rl)
                     (replace -6 -1 rl)
                     (expand "^" -1)
                     (expand* "min" "empty_seq")
                     (lift-if)
                     (ground))
                    ("2"
                     (expand "^" 3)
                     (expand "o" 3 (1 2))
                     (expand "o" 3)
                     (lift-if)
                     (ground)
                     (("1" (replace -7 1 rl) (expand "^" 1) (propax))
                      ("2" (grind)) ("3" (grind))))))))))
              ("2"
               (hide-all-but (-2 -3 -4 -5 -6 -15 -16 -19 1))
               (replace -1 1 rl)
               (replace -2 1 rl)
               (replace -3 1 rl)
               (replace -4 1 rl)
               (hide -1 -2 -3 -4)
               (grind))
              ("3"
               (hide -1 -13 -14 -18 2)
               (replace -1 1 rl)
               (lemma "walk_o")
               (inst -1 "dg(G)" "woi o w1t" "w ^ (j, length(w) - 1)")
               (("1"
                 (rewrite "walk?_caret")
                 (split)
                 (("1"
                   (case-replace
                    "w ^ (j, length(w) - 1) ^
                                                                                                                                                                                        (1, length(w ^ (j, length(w) - 1)) - 1) = wjl")
                   (("1" (replace -4 1 rl) (hide-all-but 1) (grind))
                    ("2" (hide-all-but 1) (grind))))
                  ("2"
                   (hide 2)
                   (lemma "walk_o")
                   (inst -1 "dg(G)" "woi" "w1")
                   (("1"
                     (assert)
                     (hide 2)
                     (replace -4 1 rl)
                     (rewrite "walk?_caret")
                     (expand "^" 1)
                     (expand "min")
                     (expand "from?")
                     (assert))
                    ("2"
                     (replace -4 1 rl)
                     (expand "^" 1)
                     (expand "min")
                     (assert))))
                  ("3"
                   (hide 2)
                   (expand "o" 1)
                   (expand "^" 1)
                   (lift-if)
                   (replace -2 1 rl)
                   (expand "^" 1 1)
                   (expand* "min" "empty_seq")
                   (case " length(w1) = 1")
                   (("1"
                     (assert)
                     (expand "^" 1)
                     (expand "empty_seq")
                     (replace -5 1 rl)
                     (expand "^" 1)
                     (expand "min")
                     (expand "from?")
                     (flatten)
                     (assert))
                    ("2"
                     (assert)
                     (expand "^" 2)
                     (expand "min")
                     (expand "from?")
                     (flatten)
                     (assert))))))
                ("2" (expand "^" 1) (expand "min") (assert))
                ("3"
                 (expand "o" 1)
                 (replace -4 1 rl)
                 (expand "^" 1)
                 (expand "min")
                 (assert))))))
            ("2" (hide-all-but 1) (grind))))
          ("2" (replace -13 1 rl) (hide-all-but 1) (grind))))
        ("2"
         (split)
         (("1"
           (replace -1 1 rl)
           (expand "o" 1)
           (replace -4 1 rl)
           (expand "^" 1)
           (expand "min")
           (assert))
          ("2"
           (hide -14 2)
           (replace -1 1 rl)
           (lemma "walk_o")
           (inst -1 "dg(G)" "woi o w1t" " w ^ (j, length(w) - 1)")
           (("1"
             (rewrite "walk?_caret")
             (split)
             (("1"
               (case "w ^ (j, length(w) - 1) ^
                                                                                                                                                                                                 (1, length(w ^ (j, length(w) - 1)) - 1) = wjl")
               (("1" (replaces -1))
                ("2" (replace -4 1 rl) (hide-all-but 1) (grind))
                ("3" (hide-all-but 1) (grind))))
              ("2"
               (hide 2)
               (lemma "walk_o")
               (inst -1 "dg(G)" "woi" "w1")
               (("1"
                 (assert)
                 (replace -4 1 rl)
                 (rewrite "walk?_caret")
                 (expand "^" 1)
                 (expand "min")
                 (expand "from?")
                 (flatten)
                 (assert))
                ("2"
                 (replace -4 1 rl)
                 (expand "^" 1)
                 (expand "min")
                 (assert))))
              ("3"
               (hide 2)
               (expand "^" 1)
               (expand "o" 1)
               (lift-if)
               (case "w1`length = 1")
               (("1"
                 (replace -3 1 rl)
                 (expand "^" 1)
                 (expand* "min" "empty_seq")
                 (assert)
                 (replace -5 1 rl)
                 (expand "^" 1)
                 (expand "min")
                 (expand "from?")
                 (replace -1)
                 (flatten)
                 (assert))
                ("2"
                 (replace -2 2 rl)
                 (expand "^" 2)
                 (expand* "min" "empty_seq")
                 (assert)
                 (expand "from?")
                 (propax))))))
            ("2" (hide-all-but 1) (grind))
            ("3"
             (expand "o" 1)
             (replace -4 1 rl)
             (expand "^" 1)
             (expand "min")
             (assert))))
          ("3"
           (hide -2 -5 -6 -7 -8 -9 -12 -16 2)
           (expand "from?")
           (flatten)
           (split)
           (("1"
             (replace -1 1 rl)
             (replace -2 1 rl)
             (replace -3 1 rl)
             (hide -1 -2 -3)
             (expand* "o" "^" "min" "empty_seq")
             (lift-if)
             (ground))
            ("2"
             (replace -1 1 rl)
             (replace -2 1 rl)
             (replace -3 1 rl)
             (hide -1 -2 -3)
             (expand* "o" "^" "min" "empty_seq")
             (assert))))))))))
    ("2"
     (assert)
     (split)
     (("1"
       (case-replace "i = 0")
       (("1"
         (hide 1)
         (case-replace "j = length(w) - 1")
         (("1"
           (assert)
           (hide -1 -2 -5)
           (typepred "e")
           (lemma "walk_member_set_min")
           (inst -1 "G" "w" "e")
           (expand "walk_from?")
           (assert)
           (expand "from?")
           (flatten)
           (replace -3)
           (replace -4)
           (case "e = (e`1, e`2)")
           (("1"
             (case "w = w ^ (0, length(w) - 1)")
             (("1" (replace -1 1 rl) (replace -2 1 rl) (propax))
              ("2"
               (hide-all-but 1)
               (decompose-equality)
               (("1" (grind)) ("2" (decompose-equality) (grind))))))
            ("2" (assert))))
          ("2"
           (assert)
           (typepred "e")
           (lemma "walk_member_set_min")
           (inst -1 "G" "w" "e")
           (expand "walk_from?")
           (assert)
           (hide -2)
           (rewrite "min_walk_min_wgt")
           (hide 3)
           (expand "member")
           (name-replace "ww" "w^(0,j)" :hide? nil)
           (name-replace "w0" "w`seq(0)" :hide? nil)
           (name-replace "wj" "w`seq(j)" :hide? nil)
           (expand "set_min")
           (split)
           (("1"
             (hide-all-but (-1 -2 -3 1))
             (replace -1 1 rl)
             (replace -2 1 rl)
             (replace -3 1 rl)
             (hide -)
             (expand "from?")
             (expand* "^" "min"))
            ("2"
             (expand "min_walk?")
             (skeep)
             (typepred "w1")
             (name "woj" "w ^ (0, j)")
             (name "wjl" "w ^ (j + 1, length(w) - 1)")
             (name "w1w" "w1 o wjl")
             (inst -10 "w1w")
             (("1"
               (lemma "wgt_walk_decomposed")
               (inst-cp -1 "G" "j" "w")
               (assert)
               (replace -2 -12)
               (hide -2)
               (inst -1 "G" "length(w1) - 1" "w1w")
               (split -1)
               (("1"
                 (case "w1w ^ (0, length(w1) - 1) = w1")
                 (("1"
                   (replaces -1)
                   (replaces -1)
                   (case "w1w ^ (length(w1) - 1, length(w1w) - 1) = w ^ (j, length(w) - 1)")
                   (("1"
                     (replaces -1)
                     (replace -9)
                     (hide -1)
                     (assert)
                     (hide-all-but (-9 1))
                     (name-replace "dd" "wgt_walk(G, w1)")
                     (name-replace "bb"
                      "wgt_walk(G, w ^ (j, length(w) - 1))")
                     (name-replace "cc" "wgt_walk(G, ww)")
                     (typepred "+" "<=")
                     (hide -2 -3)
                     (copy -1)
                     (expand "commutative?")
                     (inst -1 "cc" "bb")
                     (inst -2 "dd" "bb")
                     (replaces -1)
                     (replaces -1)
                     (inst -1 "bb" "cc" "dd")
                     (assert))
                    ("2"
                     (hide -5 -10 -13 2)
                     (replace -1 1 rl)
                     (replace -2 1 rl)
                     (hide -1 -2 -3 -8 -9)
                     (decompose-equality 1)
                     (("1" (expand* "o" "^" "min" "empty_seq"))
                      ("2"
                       (decompose-equality)
                       (("1"
                         (expand* "o" "^" "min" "empty_seq")
                         (lift-if)
                         (ground)
                         (case-replace "x!1 = 0")
                         (("1" (expand "from?") (propax))
                          ("2" (assert))))
                        ("2"
                         (expand* "o" "^" "min" "empty_seq")
                         (assert))))
                      ("3"
                       (expand* "o" "^" "min" "empty_seq")
                       (assert))))
                    ("3" (replace -1 1 rl) (expand "o" 1) (assert))))
                  ("2"
                   (hide -1 -6 -11 -14 2)
                   (replace -1 1 rl)
                   (replace -2 1 rl)
                   (hide -1 -2 -3 -8)
                   (decompose-equality)
                   (("1" (expand* "o" "^" "min" "empty_seq"))
                    ("2"
                     (decompose-equality)
                     (expand* "o" "^" "min" "empty_seq")
                     (lift-if)
                     (ground)
                     (typepred "x!1")
                     (expand* "o" "^" "min" "empty_seq"))))))
                ("2"
                 (hide-all-but (-1 -2 -14 1 3))
                 (replace -1 1 rl)
                 (expand "o" 1)
                 (assert))
                ("3"
                 (hide -3 -9 -10 -11 -13 2)
                 (replace -1 1 rl)
                 (replace -2 1 rl)
                 (hide -1 -2)
                 (lemma "walk_o")
                 (inst -1 "dg(G)" "w1" "w ^ (j, length(w) - 1)")
                 (("1"
                   (rewrite "walk?_caret")
                   (assert)
                   (split)
                   (("1"
                     (case "w ^ (j, length(w) - 1) ^
                                                                                                                                                                        (1, length(w ^ (j, length(w) - 1)) - 1) = w ^ (1 + j, length(w) - 1)")
                     (("1" (replaces -1)) ("2" (hide-all-but 1) (grind))
                      ("3" (hide-all-but 1) (grind))))
                    ("2"
                     (hide -2 2)
                     (expand "^")
                     (expand "from?")
                     (flatten)
                     (assert))))
                  ("2" (hide-all-but 1) (grind))))))
              ("2"
               (hide -12 2)
               (split)
               (("1" (replace -1 1 rl) (expand "o" 1) (assert))
                ("2"
                 (replace -1 1 rl)
                 (replace -2 1 rl)
                 (hide -1 -2 -3 -9 -10)
                 (lemma "walk_o")
                 (inst -1 "dg(G)" "w1" "w ^ (j, length(w) - 1)")
                 (("1"
                   (rewrite "walk?_caret")
                   (assert)
                   (split)
                   (("1"
                     (case "w ^ (j, length(w) - 1) ^
                                                                                                                                                                        (1, length(w ^ (j, length(w) - 1)) - 1) = w ^ (1 + j, length(w) - 1)")
                     (("1" (replaces -1)) ("2" (hide-all-but 1) (grind))
                      ("3" (hide-all-but 1) (grind))))
                    ("2"
                     (hide -2 2)
                     (expand "^")
                     (expand "from?")
                     (flatten)
                     (assert))))
                  ("2" (hide-all-but 1) (grind))))
                ("3"
                 (replace -1 1 rl)
                 (replace -2 1 rl)
                 (hide -1 -2 -3 -5 -9)
                 (expand "from?")
                 (flatten)
                 (split)
                 (("1" (expand* "o" "^") (assert))
                  ("2" (expand* "o" "^" "min" "empty_seq"))))))))))))
        ("2" (assert))))
      ("2"
       (case-replace "j = length(w) - 1")
       (("1"
         (hide 1)
         (case-replace "i = 0")
         (("1"
           (assert)
           (hide -1 -2 -5)
           (expand "walk_from?")
           (expand "from?")
           (flatten)
           (replace -1)
           (replace -2)
           (case "w ^ (0, length(w) - 1) = w AND (e`1, e`2) = e")
           (("1" (flatten) (replaces -1) (replaces -1))
            ("2"
             (split)
             (("1"
               (hide-all-but 1)
               (decompose-equality)
               (("1" (grind)) ("2" (decompose-equality) (grind))))
              ("2" (hide-all-but 1) (assert))))))
          ("2"
           (assert)
           (typepred "e")
           (lemma "walk_member_set_min")
           (inst -1 "G" "w" "e")
           (expand "walk_from?")
           (assert)
           (hide -2)
           (name-replace "wi" "w`seq(i)" :hide? nil)
           (name-replace "wj" "w`seq(length(w) - 1)" :hide? nil)
           (name-replace "ww" "w^(i,length(w) - 1)" :hide? nil)
           (rewrite "min_walk_min_wgt")
           (hide 3)
           (expand "member")
           (expand "set_min")
           (split)
           (("1"
             (hide-all-but (-1 -2 -3 1))
             (replace -1 1 rl)
             (replace -2 1 rl)
             (replace -3 1 rl)
             (hide -)
             (expand "from?")
             (expand* "^" "min"))
            ("2"
             (expand "min_walk?")
             (skeep)
             (typepred "w1")
             (name "woi" "w ^ (0, i)")
             (name "w1t" "w1 ^ (1, length(w1) - 1)")
             (name "ww1" "woi o w1t")
             (inst -10 "ww1")
             (("1"
               (lemma "wgt_walk_decomposed")
               (inst-cp -1 "G" "i" "w")
               (assert)
               (replace -2 -12)
               (hide -2)
               (inst -1 "G" "i" "ww1")
               (split -1)
               (("1"
                 (case "ww1 ^ (0, i) = woi")
                 (("1"
                   (replaces -1)
                   (replaces -1)
                   (replace -3)
                   (case "ww1 ^ (i, length(ww1) - 1) = w1")
                   (("1"
                     (replaces -1)
                     (replace -7)
                     (assert)
                     (hide-all-but (-10 1))
                     (name-replace "dd" "wgt_walk(G, w1)")
                     (name-replace "bb" "wgt_walk(G, woi)")
                     (name-replace "cc" "wgt_walk(G, ww)")
                     (typepred "<=")
                     (hide -1)
                     (inst -1 "bb" "cc" "dd")
                     (assert))
                    ("2"
                     (hide -5 -10 -13 2)
                     (replace -1 1 rl)
                     (replace -2 1 rl)
                     (replace -3 1 rl)
                     (hide -1 -2 -3 -6)
                     (decompose-equality)
                     (("1"
                       (expand* "o" "^" "min" "empty_seq")
                       (lift-if)
                       (lift-if)
                       (lift-if)
                       (ground))
                      ("2"
                       (decompose-equality)
                       (("1"
                         (case-replace "x!1 = 0")
                         (("1"
                           (case-replace "length(w1) = 1")
                           (("1"
                             (expand* "o" "^" "min" "empty_seq")
                             (expand "from?")
                             (flatten)
                             (assert))
                            ("2"
                             (expand* "o" "^" "min" "empty_seq")
                             (assert)
                             (expand "from?")
                             (propax))))
                          ("2"
                           (case-replace "length(w1) = 1")
                           (("1"
                             (typepred "x!1")
                             (hide 2)
                             (expand* "o" "^" "min" "empty_seq")
                             (assert))
                            ("2"
                             (expand* "o" "^" "min" "empty_seq")
                             (assert))))))
                        ("2"
                         (expand* "o" "^" "min" "empty_seq")
                         (lift-if)
                         (assert))))
                      ("3"
                       (expand* "o" "^" "min" "empty_seq")
                       (lift-if)
                       (assert))))
                    ("3"
                     (replace -1 1 rl)
                     (expand "o" 1)
                     (replace -3 1 rl)
                     (expand "^" 1)
                     (expand "min")
                     (assert))))
                  ("2"
                   (hide-all-but (-2 -3 -4 -5 -7 -9 -10 -13 -15 1 3))
                   (replace -1 1 rl)
                   (replace -2 1 rl)
                   (replace -3 1 rl)
                   (hide -1 -2 -3)
                   (decompose-equality)
                   (("1" (grind))
                    ("2"
                     (decompose-equality)
                     (typepred "x!1")
                     (case-replace "length(w1) = 1")
                     (("1" (expand* "o" "^" "min" "empty_seq") (assert))
                      ("2"
                       (expand* "o" "^" "min" "empty_seq")
                       (assert))))))))
                ("2"
                 (hide-all-but (-1 -3 -14 1 3))
                 (replace -1 1 rl)
                 (replace -2 1 rl)
                 (hide -1 -2)
                 (expand* "o" "^" "min" "empty_seq")
                 (assert))
                ("3"
                 (hide -7 -10 -13 2)
                 (replace -1 1 rl)
                 (hide -1)
                 (replace -1 1 rl)
                 (hide -1)
                 (lemma "walk_o")
                 (inst -1 "dg(G)" "woi" "w1")
                 (("1"
                   (assert)
                   (hide 2)
                   (replace -1 1 rl)
                   (rewrite "walk?_caret")
                   (hide -1)
                   (expand* "^" "min")
                   (expand "from?")
                   (flatten)
                   (assert))
                  ("2"
                   (replace -1 1 rl)
                   (hide-all-but (-9 1 3))
                   (expand* "^" "min")
                   (assert))))))
              ("2"
               (split)
               (("1"
                 (hide-all-but (-1 -3 -13 1 3))
                 (replace -1 1 rl)
                 (replace -2 1 rl)
                 (hide -1 -2)
                 (expand* "o" "^" "min")
                 (assert))
                ("2"
                 (hide -7 -12 2)
                 (replace -1 1 rl)
                 (replace -2 1 rl)
                 (hide -1 -2)
                 (lemma "walk_o")
                 (inst -1 "dg(G)" "woi" "w1")
                 (("1"
                   (assert)
                   (hide 2)
                   (replace -1 1 rl)
                   (rewrite "walk?_caret")
                   (hide -1)
                   (expand* "^" "min")
                   (expand "from?")
                   (flatten)
                   (assert))
                  ("2"
                   (replace -1 1 rl)
                   (hide-all-but (1 3))
                   (expand* "^" "min")
                   (assert))))
                ("3"
                 (hide -4 -7 -10 -12 2)
                 (replace -1 1 rl)
                 (replace -2 1 rl)
                 (replace -3 1 rl)
                 (hide -1 -2 -3)
                 (expand "from?")
                 (flatten)
                 (split)
                 (("1" (expand* "o" "^" "min"))
                  ("2"
                   (case-replace "length(w1) = 1")
                   (("1" (expand* "o" "^" "min" "empty_seq") (assert))
                    ("2"
                     (expand* "o" "^" "min" "empty_seq")
                     (assert))))))))))))))
        ("2" (hide -) (expand* "^" "min") (assert))))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_ops
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "size")
   (expand "del_vert")
   (rewrite "card_remove")
   (lift-if)
   (ground))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_ops
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (apply-extensionality 1 :hide? t)
   (("1"
     (expand "del_vert")
     (apply-extensionality 1 :hide? t)
     (iff 1)
     (ground))
    ("2" (expand "del_vert") (apply-extensionality 1 :hide? t) (grind))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_ops
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "card_empty?[T]")
   (inst?)
   (replace -1 * rl)
   (hide -1)
   (expand "singleton?")
   (expand "size")
   (lemma "size_del_vert")
   (inst?)
   (expand "size")
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_ops
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (apply-extensionality 2 :hide? t)
   (("1" (apply-extensionality 1 :hide? t) (expand "del_edge") (grind))
    ("2" (expand "del_edge") (propax))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_ops
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "num_edges")
   (case-replace "edges(del_edge(G!1,e!1)) = remove(e!1,edges(G!1))")
   (("1" (rewrite "card_remove[edgetype[T]]"))
    ("2"
     (hide 2)
     (apply-extensionality :hide? t)
     (iff 1)
     (prop)
     (("1"
       (lemma "del_edge_lem2")
       (inst?)
       (lemma "del_edge_lem")
       (inst?)
       (expand "member")
       (assert)
       (grind :exclude ("edges" "del_edge")))
      ("2"
       (rewrite "del_edge_lem3")
       (("1" (hide 2) (grind :exclude "edges"))
        ("2" (hide 2) (grind :exclude "edges"))))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_ops
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (apply-extensionality 1 :hide? t)
   (("1" (apply-extensionality :hide? t) (grind))
    ("2" (expand "del_edge") (expand "del_vert") (propax))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_ops
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (rewrite "del_vert_edge_comm")
   (apply-extensionality 1 :hide? t)
   (("1" (apply-extensionality 1 :hide? t) (grind))
    ("2" (expand "del_edge") (propax))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: digraph_ops
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "union")
   (expand "member")
   (split -1)
   (("1" (typepred "G1!1") (inst?) (assert) (flatten) (assert))
    ("2" (typepred "G2!1") (inst?) (assert) (flatten) (assert))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: digraph_ops
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "remove")
   (flatten)
   (expand "member")
   (typepred "G!1")
   (inst?)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (apply-extensionality 1 :hide? t)
   (expand "emptyset")
   (expand "incoming_edges")
   (flatten)
   (replace -3)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (apply-extensionality 1 :hide? t)
   (expand "emptyset")
   (expand "outgoing_edges")
   (flatten)
   (replace -3)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (apply-extensionality 1 :hide? t)
   (expand "emptyset")
   (expand "incident_edges")
   (flatten)
   (replace -3)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "in_deg")
   (case-replace
    "incoming_edges(y!1, del_edge(G!1,e!1)) =
                           remove(e!1,incoming_edges(y!1, G!1))")
   (("1"
     (rewrite "card_remove[edgetype[T]]")
     (lift-if)
     (ground)
     (hide -1 2)
     (hide -2)
     (grind))
    ("2"
     (hide 2)
     (apply-extensionality 1 :hide? t)
     (iff 1)
     (prop)
     (("1"
       (expand "incoming_edges")
       (ground)
       (expand "remove")
       (expand "member")
       (ground)
       (("1"
         (replace -1)
         (hide -1)
         (lemma "del_edge_lem[T]")
         (inst?)
         (expand "member")
         (propax))
        ("2" (lemma "del_edge_lem2[T]") (inst?) (assert))))
      ("2"
       (expand "incoming_edges")
       (expand "remove")
       (flatten)
       (expand "member")
       (ground)
       (rewrite "del_edge_lem3"))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "out_deg")
   (case-replace
    "outgoing_edges(x!1, del_edge(G!1,e!1)) =
                           remove(e!1,outgoing_edges(x!1, G!1))")
   (("1"
     (rewrite "card_remove[edgetype[T]]")
     (lift-if)
     (ground)
     (hide -1 2)
     (hide -2)
     (grind))
    ("2"
     (hide 2)
     (apply-extensionality 1 :hide? t)
     (iff 1)
     (prop)
     (("1"
       (expand "outgoing_edges")
       (ground)
       (expand "remove")
       (expand "member")
       (ground)
       (("1"
         (replace -1)
         (hide -1)
         (lemma "del_edge_lem[T]")
         (inst?)
         (expand "member")
         (propax))
        ("2" (lemma "del_edge_lem2[T]") (inst?) (assert))))
      ("2"
       (expand "outgoing_edges")
       (expand "remove")
       (flatten)
       (expand "member")
       (ground)
       (rewrite "del_edge_lem3"))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "deg")
   (expand "in_deg")
   (expand "out_deg")
   (case "incoming_edges(y!1, G!1) = incoming_edges(y!1, del_edge(G!1, e!1)) AND outgoing_edges(y!1, G!1) = outgoing_edges(y!1, del_edge(G!1, e!1))")
   (("1" (flatten) (assert))
    ("2"
     (hide 3)
     (split)
     (("1"
       (apply-extensionality 1 :hide? t)
       (expand "incoming_edges")
       (iff 1)
       (ground)
       (("1"
         (lemma "del_edge_lem3[T]")
         (inst?)
         (assert)
         (case "e!1 = (x!1,x!2)")
         (("1" (expand "in?") (propax)) ("2" (expand "in?") (propax))))
        ("2"
         (expand "in?")
         (lemma "del_edge_lem2[T]")
         (inst?)
         (assert))))
      ("2"
       (apply-extensionality 1 :hide? t)
       (expand "outgoing_edges")
       (iff 1)
       (ground)
       (("1"
         (lemma "del_edge_lem3[T]")
         (inst?)
         (assert)
         (case "e!1 = (x!1,x!2)")
         (("1" (expand "in?") (propax)) ("2" (expand "in?") (propax))))
        ("2"
         (expand "in?")
         (lemma "del_edge_lem2[T]")
         (inst?)
         (assert))))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (assert)
   (skosimp*)
   (expand "in_deg")
   (case "incoming_edges(y!1, G!1) = incoming_edges(y!1, del_edge(G!1, e!1))")
   (("1" (assert))
    ("2"
     (hide 3)
     (apply-extensionality 1 :hide? t)
     (expand "incoming_edges")
     (iff 1)
     (ground)
     (("1" (lemma "del_edge_lem3[T]") (inst?) (assert))
      ("2" (lemma "del_edge_lem2[T]") (inst?) (assert))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "out_deg")
   (case "outgoing_edges(y!1, G!1) = outgoing_edges(y!1, del_edge(G!1, e!1))")
   (("1" (assert))
    ("2"
     (hide 3)
     (apply-extensionality 1 :hide? t)
     (expand "outgoing_edges")
     (iff 1)
     (ground)
     (("1" (lemma "del_edge_lem3[T]") (inst?) (assert))
      ("2" (lemma "del_edge_lem2[T]") (inst?) (assert))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "in?")
   (split)
   (("1"
     (expand "self_loop?")
     (lemma "deg_del_edge_outgoing")
     (inst - "G!1" "e!1" "e!1`1" "e!1`2")
     (expand "deg")
     (lemma "deg_del_non_edge_incoming")
     (inst?)
     (assert))
    ("2"
     (expand "self_loop?")
     (lemma "deg_del_edge_incoming")
     (inst - "G!1" "e!1" "e!1`1" "e!1`2")
     (expand "deg")
     (lemma "deg_del_non_edge_outgoing")
     (inst?)
     (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "in?")
   (expand "deg")
   (lemma "deg_del_edge_incoming")
   (inst - "G!1" "e!1" "e!1`1" "y!1")
   (lemma "deg_del_edge_outgoing")
   (inst - "G!1" "e!1" "y!1" "e!1`2")
   (expand "self_loop?")
   (copy -3)
   (replace -6 -1)
   (replace -6 -4 :dir rl)
   (bddsimp -1)
   (bddsimp -4)
   (replace -1 -3)
   (replace -2 -4)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case "e!1 = (e!1`1, y!1)")
   (("1"
     (lemma "deg_del_edge_incoming")
     (inst - "G!1" "e!1" "e!1`1" "y!1")
     (assert)
     (lemma "del_edge_lem5[T]")
     (inst?)
     (assert))
    ("2" (lemma "deg_del_non_edge_incoming") (inst?) (ground))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case "e!1 = (y!1, e!1`2)")
   (("1"
     (lemma "deg_del_edge_outgoing")
     (inst - "G!1" "e!1" "y!1" "e!1`2")
     (assert)
     (lemma "del_edge_lem5[T]")
     (inst?)
     (assert))
    ("2" (lemma "deg_del_non_edge_outgoing") (inst?) (ground))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case "in?(y!1,e!1)")
   (("1"
     (lemma "deg_del_edge")
     (inst?)
     (assert)
     (lemma "del_edge_lem5[T]")
     (inst?)
     (assert)
     (lemma "deg_del_self_loop")
     (inst?)
     (assert))
    ("2" (lemma "deg_del_non_edge") (inst?) (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "in_deg")
   (rewrite "nonempty_card[edgetype[T]]" :dir rl)
   (expand "nonempty?")
   (expand "empty?")
   (expand "incoming_edges")
   (skosimp*)
   (expand "member")
   (inst?)
   (flatten)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "out_deg")
   (rewrite "nonempty_card[edgetype[T]]" :dir rl)
   (expand "nonempty?")
   (expand "empty?")
   (expand "outgoing_edges")
   (skosimp*)
   (expand "member")
   (inst?)
   (flatten)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "deg")
   (lemma "in_deg_edge_exists")
   (inst?)
   (lemma "out_deg_edge_exists")
   (inst?)
   (assert)
   (ground)
   (("1" (expand "in?") (assert) (skosimp*) (inst?) (assert))
    ("2" (skosimp*) (inst?) (prop) (expand "in?") (assert))
    ("3" (skosimp*) (inst?) (expand "in?") (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "deg_edge_exists")
   (inst?)
   (assert)
   (skosimp*)
   (hide -1 -3)
   (typepred "SG!1")
   (inst?)
   (assert)
   (flatten)
   (case "subset?(add[T](proj_1(e!1),singleton(proj_2(e!1))),vert(SG!1))")
   (("1"
     (lemma "card_subset[T]")
     (inst?)
     (assert)
     (hide -2)
     (lemma "card_add[T]")
     (inst?)
     (lemma "card_singleton[T]")
     (inst?)
     (replace -1)
     (hide -1)
     (replace -1)
     (hide -1)
     (inst?)
     (assert)
     (expand "singleton")
     (expand "size")
     (assert))
    ("2" (grind))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "deg")
   (expand "in_deg")
   (expand "out_deg")
   (lemma "card_empty?[edgetype[T]]")
   (inst?)
   (iff)
   (assert)
   (lemma "card_empty?[edgetype[T]]")
   (inst - "outgoing_edges(v!1, G!1)")
   (iff)
   (assert)
   (hide -3)
   (expand "outgoing_edges")
   (expand "incoming_edges")
   (expand "empty?")
   (expand "member")
   (apply-extensionality 1 :hide? t)
   (expand "del_vert")
   (inst?)
   (inst?)
   (iff 1)
   (expand "in?")
   (ground))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "singleton?")
   (expand "self_loop?")
   (expand "size")
   (typepred! "e!1")
   (lemma "edge_in_card_gt_1")
   (inst?)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "singleton_loops")
   (inst?)
   (assert)
   (expand "self_loop?")
   (apply-extensionality 1 :hide? t)
   (inst -1 "(x!1, x!2)")
   (("1"
     (expand "incoming_edges")
     (expand "outgoing_edges")
     (replace -1)
     (propax))
    ("2" (grind))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "singleton_edges")
   (inst - "v!1" "SG!1")
   (assert)
   (expand "in_deg")
   (expand "out_deg")
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "in_deg")
   (lemma "card_one[edgetype[T]]")
   (inst?)
   (flatten)
   (assert)
   (hide -2)
   (skosimp*)
   (inst?)
   (assert)
   (case-replace "incoming_edges(v!1, G!1)(x!1) = singleton(x!1)(x!1)")
   (("1"
     (hide -2)
     (expand "incoming_edges")
     (expand "singleton")
     (flatten)
     (assert))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "out_deg")
   (lemma "card_one[edgetype[T]]")
   (inst?)
   (flatten)
   (assert)
   (hide -2)
   (skosimp*)
   (inst?)
   (assert)
   (case-replace "outgoing_edges(v!1, G!1)(x!1) = singleton(x!1)(x!1)")
   (("1"
     (hide -2)
     (expand "outgoing_edges")
     (expand "singleton")
     (flatten)
     (assert))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "deg")
   (case "in_deg(v!1, G!1) = 1 AND out_deg(v!1, G!1) = 0")
   (("1"
     (flatten)
     (lemma "in_deg_1_sing")
     (inst?)
     (assert)
     (skosimp*)
     (expand "in_deg")
     (lemma "card_one[edgetype[T]]")
     (inst?)
     (flatten)
     (assert)
     (skosimp*)
     (inst?)
     (assert)
     (case "incoming_edges(v!1, G!1) = incident_edges(v!1, G!1)")
     (("1"
       (case-replace
        "incident_edges(v!1, G!1)(x!1) = singleton(x!1)(x!1)")
       (("1"
         (assert)
         (expand "incident_edges")
         (expand "singleton")
         (flatten)
         (assert))
        ("2" (assert))))
      ("2"
       (expand "out_deg")
       (apply-extensionality 1 :hide? t)
       (bddsimp 2)
       (expand "incoming_edges" 1)
       (expand "incident_edges" 1)
       (expand "in?")
       (rewrite "card_empty?")
       (expand "outgoing_edges")
       (expand "empty?")
       (inst -6 "(x!2, x!3)")
       (expand "member")
       (bddsimp 1)
       (("1" (assert)) ("2" (assert)) ("3" (assert))))))
    ("2"
     (case "in_deg(v!1, G!1) = 0 AND out_deg(v!1, G!1) = 1")
     (("1"
       (flatten)
       (lemma "out_deg_1_sing")
       (inst?)
       (assert)
       (skosimp*)
       (expand "out_deg")
       (lemma "card_one[edgetype[T]]")
       (inst?)
       (flatten)
       (assert)
       (skosimp*)
       (inst?)
       (assert)
       (case "outgoing_edges(v!1, G!1) = incident_edges(v!1, G!1)")
       (("1"
         (case-replace
          "incident_edges(v!1, G!1)(x!1) = singleton(x!1)(x!1)")
         (("1"
           (assert)
           (expand "incident_edges")
           (expand "singleton")
           (flatten)
           (assert))
          ("2" (assert))))
        ("2"
         (expand "in_deg")
         (apply-extensionality 1 :hide? t)
         (bddsimp 2)
         (bddsimp 2)
         (expand "outgoing_edges" 1)
         (expand "incident_edges" 1)
         (expand "in?")
         (rewrite "card_empty?")
         (expand "incoming_edges")
         (expand "empty?")
         (inst -5 "(x!2, x!3)")
         (expand "member")
         (bddsimp 1)
         (("1" (assert)) ("2" (assert)) ("3" (assert))))))
      ("2"
       (typepred "in_deg(v!1, G!1)")
       (typepred "out_deg(v!1, G!1)")
       (assert)
       (ground))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "deg")
   (typepred "in_deg(v!1, G!1)")
   (typepred "out_deg(v!1, G!1)")
   (bddsimp)
   (("1" (assert)) ("2" (assert)) ("3" (assert)) ("4" (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "deg_1_in_out")
   (inst?)
   (assert)
   (split)
   (("1"
     (flatten)
     (expand "out_deg")
     (rewrite "card_empty?")
     (expand "empty?")
     (expand "member")
     (expand "outgoing_edges")
     (lemma "in_deg_1_sing")
     (inst?)
     (assert)
     (skosimp*)
     (inst?)
     (inst?)
     (inst + "e!1`1")
     (("1" (assert))
      ("2"
       (lemma "edges_to_pair")
       (inst?)
       (assert)
       (typepred "G!1")
       (inst?)
       (assert))))
    ("2"
     (flatten)
     (expand "in_deg")
     (rewrite "card_empty?")
     (expand "empty?")
     (expand "member")
     (expand "incoming_edges")
     (lemma "out_deg_1_sing")
     (inst?)
     (assert)
     (skosimp*)
     (inst?)
     (inst?)
     (inst + "e!1`2")
     (("1" (assert)) ("2" (typepred "G!1") (inst?) (assert))))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "finite_subset[edgetype[T]]")
   (inst?)
   (inst -1 "edges(G!1)")
   (assert)
   (grind))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: digraph_deg
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "finite_subset[edgetype[T]]")
   (inst?)
   (inst -1 "edges(G!1)")
   (assert)
   (hide 2)
   (grind))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: abstract_min
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "T_ne")
   (expand "nonempty?")
   (expand "empty?")
   (skosimp*)
   (expand "member")
   (expand "is_one")
   (inst -2 "size(t!1)")
   (inst 1 "t!1")
   (assert))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: abstract_min
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "prep1")
   (expand "nonempty?")
   (expand "empty?")
   (skosimp*)
   (expand "member")
   (inst?)
   (expand "minimal?")
   (assert)
   (expand "min_f")
   (flatten)
   (assert)
   (skosimp*)
   (typepred "min({n: nat | is_one(n)})")
   (("1"
     (inst -2 "size(SS!1)")
     (hide -1)
     (assert)
     (expand "is_one")
     (inst?)
     (assert))
    ("2" (lemma "prep0") (propax))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: sep_sets
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case "s!1 = t!1 OR edge?(G!1)(s!1,t!1)")
   (("1" (inst 1 "vert(G!1)") (ground))
    ("2"
     (inst 2 "{t: T | vert(G!1)(t)  AND t /= s!1 AND t /= t!1}")
     (prop)
     (("1"
       (lemma "finite_subset[T]")
       (inst?)
       (inst?)
       (assert)
       (hide 2 3 4)
       (grind))
      ("2"
       (hide 4 5)
       (expand "separates")
       (skosimp*)
       (expand* "walk_from?" "from?")
       (flatten)
       (case "length(w!1) = 1")
       (("1" (replace -1) (hide -1) (assert))
        ("2"
         (case-replace "length(w!1) = 2")
         (("1"
           (assert)
           (expand "walk?")
           (flatten)
           (inst -5 "0")
           (assert)
           (expand "del_verts")
           (expand "edge?")
           (expand "finseq_appl")
           (assert))
          ("2"
           (case "FORALL (i: below(length(w!1))): seq(w!1)(i) = s!1 OR seq(w!1)(i) = t!1")
           (("1"
             (expand "walk?")
             (flatten)
             (hide -5)
             (expand "verts_in?")
             (expand "del_verts")
             (expand "difference")
             (expand "member")
             (lemma "prewalk_across")
             (inst?)
             (assert)
             (expand "finseq_appl")
             (skosimp*)
             (inst -5 "i!1+1")
             (assert)
             (flatten)
             (assert)
             (replace -3)
             (replace -6)
             (expand "edge?")
             (reveal -3)
             (inst -1 "i!1")
             (assert)
             (expand "edge?")
             (expand "del_verts")
             (expand "finseq_appl")
             (propax))
            ("2"
             (lemma "walk_verts_in")
             (inst?)
             (("1"
               (split -1)
               (("1"
                 (hide -4)
                 (expand "verts_in?")
                 (expand "del_verts")
                 (expand "difference")
                 (expand "member")
                 (skosimp*)
                 (inst?)
                 (flatten)
                 (assert))
                ("2" (propax))))
              ("2"
               (hide -1 -2 -3 2 3 4 5 6)
               (lemma "finite_subset[T]")
               (inst?)
               (inst -1 "vert(G!1)")
               (assert)
               (hide 2)
               (grind))))))))))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: sep_sets
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "separable?")
   (expand "min_sep_set")
   (lemma
    "min_in[seps(G!1, s!1, t!1),
                    (LAMBDA (v: seps(G!1, s!1, t!1)): card(v)),
                    (LAMBDA (v: seps(G!1, s!1, t!1)): TRUE)]")
   (("1"
     (typepred
      "min[seps(G!1, s!1, t!1), (LAMBDA (v: seps(G!1, s!1, t!1)): card(v)),
                 (LAMBDA (v: seps(G!1, s!1, t!1)): TRUE)]")
     (("1" (expand "minimal?") (assert) (flatten) (assert))
      ("2"
       (lemma "sep_set_exists")
       (inst?)
       (assert)
       (skosimp*)
       (inst?))))
    ("2" (lemma "sep_set_exists") (inst?))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: sep_sets
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "min_sep_set")
   (lemma
    "min_is_min[seps(G!1, s!1, t!1),
                      (LAMBDA (v: seps(G!1, s!1, t!1)): card(v)),
                      (LAMBDA (v: seps(G!1, s!1, t!1)): TRUE)]")
   (("1"
     (inst -1 "V!1")
     (("1" (beta) (propax))
      ("2"
       (hide 2)
       (ground)
       (("1"
         (expand "separates")
         (flatten)
         (inst 4 "gen_seq1(G!1,s!1)")
         (expand* "walk_from?" "from?")
         (expand "gen_seq1")
         (expand "walk?")
         (expand "verts_in?")
         (skosimp*)
         (expand "del_verts")
         (expand "difference")
         (expand "member")
         (propax))
        ("2"
         (expand "separates")
         (flatten)
         (inst 4 "gen_seq2(G!1,s!1,t!1)")
         (expand* "walk_from?" "from?")
         (expand "gen_seq2")
         (expand "del_verts")
         (expand "walk?")
         (split 4)
         (("1"
           (expand "verts_in?")
           (skosimp*)
           (expand "difference")
           (expand "member")
           (ground))
          ("2"
           (skosimp*)
           (expand "finseq_appl")
           (expand "edge?")
           (assert)
           (skosimp*)
           (expand "in?")
           (ground))))))))
    ("2" (lemma "sep_set_exists") (inst?))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: sep_sets
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "separable?")
   (flatten)
   (lemma
    "min_in[seps(G!1, s!1, t!1),
                    (LAMBDA (v: seps(G!1, s!1, t!1)): card(v)),
                    (LAMBDA (v: seps(G!1, s!1, t!1)): TRUE)]")
   (("1"
     (typepred
      "min[seps(G!1, s!1, t!1), (LAMBDA (v: seps(G!1, s!1, t!1)): card(v)),
                 (LAMBDA (v: seps(G!1, s!1, t!1)): TRUE)]")
     (("1" (assert) (expand "min_sep_set") (propax))
      ("2" (skosimp*) (inst?))))
    ("2" (lemma "sep_set_exists") (inst?))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: sep_sets
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred
    "min[seps(G!1, s!1, t!1), (LAMBDA (v: seps(G!1, s!1, t!1)): card(v)),
                   (LAMBDA (v: seps(G!1, s!1, t!1)): TRUE)]")
   (("1"
     (hide -1 -2 -3)
     (expand "minimal?")
     (inst -1 "remove(v!1,(min_sep_set(G!1, s!1, t!1)))")
     (("1"
       (rewrite "card_remove[T]")
       (assert)
       (expand "min_sep_set" -1)
       (assert))
      ("2"
       (split 1)
       (("1"
         (flatten)
         (lemma "min_sep_set_edge")
         (inst?)
         (split -1)
         (("1" (replace -1) (propax))
          ("2" (hide -1) (expand "separable?") (flatten) (assert))))
        ("2"
         (flatten)
         (ground)
         (lemma "min_sep_set_seps")
         (inst?)
         (assert)
         (expand "separates")
         (flatten)
         (expand "remove")
         (expand "member")
         (assert)
         (skosimp*)
         (inst 3 "w!1")
         (expand* "walk_from?" "from?")
         (flatten)
         (expand "walk?")
         (flatten)
         (assert)
         (split 3)
         (("1"
           (hide -4)
           (expand "verts_in?")
           (skosimp*)
           (expand "del_verts")
           (expand "difference")
           (expand "member")
           (inst -3 "i!1")
           (flatten)
           (assert))
          ("2"
           (hide -3)
           (skosimp*)
           (inst?)
           (assert)
           (expand "del_verts")
           (expand "edge?")
           (expand "finseq_appl")
           (flatten)
           (assert)
           (skosimp*)
           (inst -7 "v!2")
           (expand "in?")
           (assert)
           (split -7)
           (("1" (propax))
            ("2"
             (case-replace "v!1 = v!2")
             (("1"
               (hide -1 -3 -5 -6 -7 -8 -9 1 2 3 4 5)
               (reveal -9)
               (expand "verts_in?")
               (expand "del_verts")
               (expand "difference")
               (expand "member")
               (split -3)
               (("1" (inst?) (flatten) (assert))
                ("2" (inst?) (flatten) (assert))))
              ("2" (assert))))))))))))
    ("2" (lemma "sep_set_exists") (inst?))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: sep_sets
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "min_sep_set_seps")
   (inst?)
   (assert)
   (expand "separates")
   (flatten)
   (hide 3)
   (ground))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: sep_sets
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "walk?")
   (split +)
   (("1"
     (flatten)
     (hide -2)
     (expand "verts_in?")
     (skosimp*)
     (expand "del_verts")
     (expand "intersection")
     (expand "empty?")
     (expand "difference")
     (expand "member")
     (inst?)
     (assert)
     (inst?)
     (assert)
     (expand "verts_of")
     (inst?)
     (expand "finseq_appl")
     (propax))
    ("2"
     (skosimp*)
     (expand "edge?")
     (inst?)
     (assert)
     (assert)
     (expand "del_verts")
     (expand "empty?")
     (expand "intersection")
     (expand "member")
     (skosimp*)
     (inst?)
     (expand "in?")
     (expand "verts_of")
     (assert)
     (split -3)
     (("1" (inst?) (assert)) ("2" (inst?) (assert))))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: sep_sets
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "difference")
   (expand "member")
   (expand "in?")
   (copy -2)
   (inst?)
   (assert)
   (inst - "e!1`2")
   (assert)
   (typepred "G!1")
   (inst?)
   (assert))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: sep_sets
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "finite_subset[T]")
   (inst?)
   (inst -1 "vert(G!1)")
   (assert)
   (hide 2)
   (typepred "G!1")
   (grind))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: min_walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "min_walk_from(x!1, y!1,Gw!1)")
   (prop)
   (("1"
     (lemma
      "min_in[Seq(Gw!1), (LAMBDA (w: Seq(Gw!1)): length(w)),
                      (LAMBDA (w: Seq(Gw!1)):
                         walk_from?(Gw!1, w, x!1, y!1))]")
     (("1" (hide -2 -3 -4) (beta) (expand "min_walk_from") (propax))
      ("2" (hide -1 -2 -3 2) (typepred "Gw!1") (propax))))
    ("2"
     (lemma
      "min_is_min[Seq(Gw!1), (LAMBDA (w: Seq(Gw!1)): length(w)),
                      (LAMBDA (w: Seq(Gw!1)):
                         walk_from?(Gw!1, w, x!1, y!1))]")
     (("1"
       (hide -3 -4)
       (expand "is_min")
       (assert)
       (skosimp*)
       (inst?)
       (assert)
       (expand "min_walk_from")
       (propax))
      ("2" (hide -1 -2 -3 2) (typepred "Gw!1") (propax))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: min_walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "min_walk_def")
   (inst?)
   (flatten)
   (hide -1)
   (expand "is_min")
   (flatten)
   (inst?)
   (assert))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: min_walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "Gw!1")
   (hide -1 -2 -3 -4)
   (lemma
    "min_in[Seq(Gw!1), (LAMBDA (w: Seq(Gw!1)): length(w)),
                       (LAMBDA (w: Seq(Gw!1)): walk_from?(Gw!1, w, x!1, y!1))]")
   (("1" (beta) (expand "walk_from?") (flatten) (propax))
    ("2" (hide 2) (typepred "Gw!1") (propax))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: paths
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "path_from?")
   (flatten)
   (expand "path?")
   (flatten)
   (expand "from?")
   (flatten)
   (expand "finseq_appl")
   (inst -2 "0" "(length(ps!1)-1)")
   (split -2)
   (("1" (assert)) ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: paths
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "path_from?")
   (flatten)
   (expand "path?")
   (flatten)
   (hide -2)
   (expand "walk?")
   (flatten)
   (hide -2)
   (expand "from?")
   (expand "verts_in?")
   (flatten)
   (inst-cp -1 "0")
   (inst -1 "length(ps!1) - 1")
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: paths
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "path?")
   (expand "finseq_appl")
   (flatten)
   (split 1)
   (("1"
     (expand "walk?")
     (split 1)
     (("1"
       (flatten)
       (hide -4 -5)
       (expand "verts_in?")
       (skosimp*)
       (typepred "i!2")
       (("1" (expand "^") (lift-if) (assert) (inst?)) ("2" (skosimp*))))
      ("2"
       (skosimp*)
       (hide -6)
       (expand "finseq_appl")
       (expand "edge?")
       (inst - "n!1+i!1")
       (expand "^")
       (assert))))
    ("2"
     (skosimp*)
     (expand "^")
     (assert)
     (inst - "i!1+i!2" "i!1+j!2")
     (("1" (assert))
      ("2" (typepred "i!2") (typepred "j!2") (expand "^") (assert))
      ("3" (typepred "i!2") (typepred "i!1") (expand "^") (assert))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: paths
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "path_from?")
   (flatten)
   (rewrite "path?_caret")
   (expand "from?")
   (expand "^")
   (expand min)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: paths
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "gen_seq2")
   (expand "path?")
   (expand "finseq_appl")
   (split +)
   (("1"
     (expand "walk?")
     (split +)
     (("1" (expand "verts_in?") (propax))
      ("2" (skosimp*) (expand "finseq_appl") (lift-if) (ground))))
    ("2" (skosimp*) (expand "edge?") (lift-if) (ground))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: paths
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "path?")
   (flatten)
   (split +)
   (("1" (rewrite "walk?_add1"))
    ("2"
     (skosimp*)
     (expand "finseq_appl")
     (expand "add1")
     (lift-if)
     (lift-if)
     (expand "verts_of")
     (typepred "i!1")
     (typepred "j!1")
     (expand "add1")
     (ground)
     (("1" (inst - "i!1" "j!1") (assert))
      ("2" (expand "finseq_appl") (inst + "i!1"))
      ("3" (expand "finseq_appl") (inst + "j!1") (assert))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: paths
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "path_from?")
   (split 1)
   (("1"
     (expand "trunc1")
     (lemma "path?_caret")
     (inst?)
     (("1" (assert)) ("2" (assert))))
    ("2"
     (expand "from?")
     (expand "trunc1")
     (expand "^")
     (expand min)
     (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: ind_paths
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "card_2_has_2[Path_from(G!1,s!1,t!1)]")
   (inst?)
   (assert)
   (skosimp*)
   (inst 2 "x!1" "y!1")
   (expand "ind_path_set?")
   (inst?)
   (assert)
   (expand "path_from?")
   (propax))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: ind_paths
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "indep?")
   (expand "independent?")
   (prop)
   (("1"
     (skosimp*)
     (expand "empty?")
     (expand "member")
     (expand "intersection")
     (expand "internal_verts")
     (expand "member")
     (expand "finseq_appl")
     (inst - "seq(w1!1)(i!1)")
     (("1" (prop) (("1" (inst?) (assert)) ("2" (inst + "j!1") (assert))))
      ("2" (assert))))
    ("2"
     (expand "empty?")
     (expand "intersection")
     (expand "internal_verts")
     (expand "member")
     (expand "finseq_appl")
     (skosimp*)
     (inst - "i!1" "i!2")
     (assert))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: ind_paths
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "finite_subset[T]")
   (inst?)
   (("1" (assert) (inst - "verts_of(w!1)") (assert) (hide 2) (grind))
    ("2" (hide 2) (skosimp*) (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_inductions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "size_prep")
   (inst -1 "P!1")
   (flatten)
   (hide -1)
   (split -1)
   (("1" (propax))
    ("2"
     (hide 2)
     (induct "n" 1 "NAT_induction")
     (skosimp*)
     (inst -3 "G!1")
     (split -3)
     (("1" (propax))
      ("2" (skosimp*) (inst -2 "size(GG!1)") (assert) (inst?))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_inductions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "digraph_induction_vert")
   (inst -1 "(LAMBDA (GG: digraph[T]): NOT P!1(GG))")
   (prop)
   (("1" (inst?))
    ("2"
     (skosimp*)
     (inst -3 "G!2")
     (assert)
     (skosimp*)
     (inst -1 "GG!1")
     (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: digraph_inductions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "num_edges_prep")
   (inst -1 "P!1")
   (flatten)
   (hide -1)
   (split -1)
   (("1" (propax))
    ("2"
     (hide 2)
     (induct "n" 1 "NAT_induction")
     (skosimp*)
     (inst -3 "G!1")
     (split -3)
     (("1" (propax))
      ("2" (skosimp*) (inst -2 "num_edges(GG!1)") (assert) (inst?))))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: max_upto
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (case "FORALL (S): nonempty?[upto[N]]({y: upto[N] | S(N - y)})")
   (("1"
     (inst 1 "(LAMBDA S: N - min({y: upto[N] | S(N-y)}))")
     (skosimp*)
     (inst?)
     (typepred "min[upto[N]]({y: upto[N] | S!1(N - y)})")
     (("1" (ground) (skosimp*) (inst - "N - x!1") (assert))
      ("2" (propax))))
    ("2"
     (hide 2)
     (skosimp*)
     (typepred "S!1")
     (expand "nonempty?")
     (expand "empty?")
     (expand "member")
     (skosimp*)
     (inst - "N-x!1")
     (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: max_di_subgraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "nonempty?")
   (expand "empty?")
   (typepred "P!1")
   (skosimp*)
   (inst -3 "size(S!1)")
   (("1" (expand "member") (expand "is_one_of_size") (inst?) (assert))
    ("2" (rewrite "di_subgraph_smaller"))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: max_di_subgraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "nonempty?")
   (expand "empty?")
   (expand "member")
   (expand "max_size")
   (typepred "max({n: upto[size(G!1)] | is_one_of_size(G!1,P!1,n)})")
   (("1"
     (hide -1 -3)
     (expand "is_one_of_size")
     (skosimp*)
     (inst -3 "S!1")
     (assert))
    ("2" (rewrite "prep0"))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: max_di_subgraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "max_di_subgraph(G!1, P!1)")
   (hide -1 -2)
   (expand "maximal?")
   (flatten))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: max_di_subgraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "max_di_subgraph(G!1, P!1)")
   (hide -1 -2)
   (expand "maximal?")
   (flatten)
   (hide -1)
   (inst?)
   (assert))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: max_di_subgraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "nonempty?")
   (expand "empty?")
   (expand "member")
   (skosimp*)
   (lemma "prep0")
   (inst?)
   (inst?)
   (expand "nonempty?")
   (expand "empty?")
   (skosimp*)
   (expand "member")
   (inst?))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: max_di_subgraphs
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (inst 1
    "(LAMBDA (G: digraph[T], P: Gpred(G)): choose({S: di_subgraph(G) | size(S) = max_size(G,P) AND P(S)}))")
   (("1"
     (skosimp*)
     (expand "maximal?")
     (skosimp*)
     (typepred "max_size(G!1,P!1)")
     (hide -1)
     (expand "max_size")
     (typepred "max({n: upto[size(G!1)] | is_one_of_size(G!1,P!1,n)})")
     (("1"
       (hide -1 -2)
       (inst -1 "size(SS!1)")
       (("1"
         (assert)
         (hide -1 2)
         (expand "is_one_of_size")
         (inst?)
         (assert))
        ("2"
         (hide -1 2)
         (typepred "SS!1")
         (hide -2 -2)
         (rewrite "di_subgraph_smaller"))))
      ("2" (hide -1 2) (lemma "prep") (rewrite "prep0"))))
    ("2" (assert) (skosimp*) (lemma "prep") (inst?))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: abstract_max
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "prep1")
   (expand "nonempty?")
   (expand "empty?")
   (skosimp*)
   (expand "member")
   (inst?)
   (expand "maximal?")
   (flatten)
   (assert)
   (skosimp*)
   (expand "max_f")
   (replace -2)
   (hide -2)
   (typepred "max({n: upto[N] | is_one(n)})")
   (("1"
     (inst -3 "size(SS!1)")
     (assert)
     (expand "is_one")
     (inst?)
     (assert))
    ("2" (lemma "prep0") (propax))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: reduce_walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "o ")
   (expand "^")
   (expand "min")
   (auto-rewrite "finseq_appl")
   (typepred "k!1")
   (typepred w!1)
   (assert)
   (expand reduce)
   (lift-if)
   (prop)
   (("1"
     (decompose-equality)
     (("1"
       (lift-if)
       (prop)
       (("1" (expand empty_seq) (assert))
        ("2" (expand empty_seq) (assert)) ("3" (assert))))
      ("2"
       (decompose-equality)
       (("1"
         (skosimp*)
         (expand ^)
         (expand min)
         (prop)
         (("1" (lift-if) (expand empty_seq) (assert))
          ("2"
           (expand empty_seq)
           (lift-if)
           (assert)
           (prop)
           (("1" (assert)) ("2" (assert))))))
        ("2"
         (skosimp*)
         (typepred n!1)
         (expand ^)
         (expand min)
         (expand empty_seq)
         (lift-if)
         (prop)
         (assert))
        ("3"
         (skosimp*)
         (hide 2)
         (typepred n!1)
         (expand ^)
         (expand min)
         (expand empty_seq)
         (lift-if)
         (prop)
         (("1" (assert)) ("2" (assert)) ("3" (assert)) ("4" (assert))))
        ("4" (skosimp*) (assert))))
      ("3"
       (hide 2)
       (skosimp*)
       (expand* ^ min empty_seq)
       (lift-if)
       (prop)
       (("1" (assert)) ("2" (assert)) ("3" (assert)) ("4" (assert))
        ("5" (assert)) ("6" (assert))))
      ("4"
       (hide 2)
       (skosimp*)
       (typepred n!1)
       (expand* ^ min empty_seq)
       (lift-if)
       (prop)
       (assert))
      ("5"
       (hide 2)
       (skosimp*)
       (typepred n!1)
       (expand* ^ min empty_seq)
       (lift-if)
       (prop)
       (("1" (assert)) ("2" (assert)) ("3" (assert)) ("4" (assert))
        ("5" (assert)) ("6" (assert)) ("7" (assert)) ("8" (assert))))
      ("6"
       (hide 2)
       (skosimp*)
       (typepred n!1)
       (expand* ^ min empty_seq)
       (lift-if)
       (prop)
       (("1" (assert)) ("2" (assert)) ("3" (assert))))))
    ("2" (assert))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: reduce_walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "finseq_appl")
   (typepred "w!1")
   (expand "walk?")
   (expand "finseq_appl")
   (flatten)
   (split +)
   (("1"
     (hide -3)
     (expand "verts_in?")
     (skosimp*)
     (ground)
     (("1" (inst?)) ("2" (inst?))))
    ("2"
     (skosimp*)
     (lift-if)
     (typepred "k!1")
     (lift-if)
     (ground)
     (("1" (inst?) (assert))
      ("2"
       (case-replace "k!1=n!1+1")
       (("1" (assert) (replace -10) (hide -10) (inst?) (assert))
        ("2" (assert))))
      ("3" (inst?) (assert))))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: reduce_walks
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "w!1")
   (assert)
   (expand "walk?")
   (expand "finseq_appl")
   (prop)
   (("1"
     (expand "verts_in?")
     (skosimp*)
     (ground)
     (("1" (inst?)) ("2" (inst?))))
    ("2"
     (skosimp*)
     (lift-if)
     (ground)
     (("1"
       (lift-if)
       (ground)
       (("1" (inst?) (assert))
        ("2"
         (case-replace "k!1 = n!1+1")
         (("1" (assert) (replace -8) (inst?) (assert)) ("2" (assert))))))
      ("2" (inst?) (assert))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: path_ops
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "walk?")
   (flatten)
   (prop)
   (("1" (hide -2) (expand "verts_in?") (skosimp*) (inst?) (grind))
    ("2"
     (hide -1)
     (skosimp*)
     (inst?)
     (assert)
     (lemma "edges_del_vert")
     (expand "edge?")
     (inst?)
     (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: path_ops
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "walk?")
   (flatten)
   (prop)
   (("1"
     (hide -2)
     (expand "verts_in?")
     (skosimp*)
     (expand "verts_of")
     (inst 2 "i!1")
     (expand "finseq_appl")
     (inst?)
     (expand "del_vert")
     (expand "remove")
     (expand "member")
     (ground))
    ("2"
     (skosimp*)
     (inst?)
     (hide -2)
     (expand "del_vert")
     (expand "edge?")
     (assert)
     (assert)
     (expand "verts_of")
     (expand "in?")
     (expand "finseq_appl")
     (split -2)
     (("1" (inst?) (assert)) ("2" (inst?) (assert))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: path_ops
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "path?")
   (flatten)
   (split +)
   (("1"
     (hide -2)
     (expand "walk?")
     (flatten)
     (split +)
     (("1"
       (hide -2)
       (expand "verts_in?")
       (expand "del_verts")
       (expand "difference")
       (expand "member")
       (skosimp*)
       (inst?)
       (assert))
      ("2"
       (skosimp*)
       (expand "finseq_appl")
       (inst?)
       (assert)
       (expand "edge?")
       (assert)
       (expand "del_verts")
       (propax))))
    ("2" (propax))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: path_ops
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (case "FORALL (w: prewalk): NOT walk_from?(G!1, w, s!1, t!1)
                           OR (EXISTS (p: prewalk): path?(G!1, p) AND walk_from?(G!1, p, s!1, t!1))")
   (("1" (flatten) (skosimp*) (inst -1 "w!1") (assert))
    ("2"
     (hide 2)
     (induct "w" 1 "digraph_induction_walk")
     (skosimp*)
     (case "(EXISTS (i,j: below(length(w!1))): i /= j AND seq(w!1)(i) = seq(w!1)(j))")
     (("1"
       (skosimp*)
       (case "i!1 < j!1")
       (("1"
         (inst -3 "w!1^(0,i!1) o w!1^(j!1+1,length(w!1)-1)")
         (("1"
           (split -3)
           (("1" (rewrite "walk?_cut")) ("2" (propax))
            ("3"
             (hide -2 -3 3)
             (expand "o ")
             (expand "^")
             (expand "min")
             (expand "empty_seq")
             (lift-if)
             (ground))))
          ("2"
           (expand "o ")
           (expand "^")
           (expand "min")
           (lift-if)
           (expand "empty_seq")
           (propax))))
        ("2"
         (assert)
         (inst -2 "w!1^(0,j!1) o w!1^(i!1+1,length(w!1)-1)")
         (("1"
           (assert)
           (split -2)
           (("1" (hide 4) (rewrite "walk?_cut")) ("2" (propax))
            ("3"
             (expand "o ")
             (expand "^")
             (expand "min")
             (lift-if)
             (expand "empty_seq")
             (propax))))
          ("2"
           (expand "o ")
           (expand "^")
           (expand "min")
           (expand "empty_seq")
           (lift-if)
           (ground))))))
      ("2"
       (hide -1)
       (inst 2 "w!1")
       (assert)
       (expand "path?")
       (expand "walk_from?")
       (flatten)
       (assert)
       (skosimp*)
       (expand "finseq_appl")
       (inst?)
       (assert))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: path_ops
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "walk_to_path")
   (inst?)
   (inst -1 "s!1" "t!1")
   (split -1)
   (("1"
     (skosimp*)
     (inst?)
     (expand "path_from?")
     (assert)
     (expand "walk_from?")
     (flatten)
     (expand "from?")
     (assert))
    ("2" (inst?))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: min_walk_reduced
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "finseq_appl")
   (lemma "min_walk_in")
   (inst?)
   (expand* "walk_from?" "from?")
   (flatten)
   (expand "walk?")
   (flatten)
   (hide -4)
   (expand "verts_in?")
   (inst -3 "i!1"))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: min_walk_reduced
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "reduced?")
   (expand "finseq_appl")
   (skosimp*)
   (name MIN_W "min_walk_from(x!1,y!1,Gw!1)")
   (replace -1)
   (lemma "min_walk_is_min")
   (inst?)
   (lemma "min_walk_in")
   (inst?)
   (replace -3)
   (expand* "walk_from?" "from?")
   (flatten)
   (case "k!1 = length(MIN_W) - 2")
   (("1"
     (replace -1)
     (hide -1)
     (assert)
     (name RED_W "MIN_W ^ (0, length(MIN_W) - 3)")
     (inst -5 "RED_W")
     (("1"
       (replace -1 * rl)
       (hide -1)
       (expand "^")
       (expand min)
       (expand "walk?")
       (flatten)
       (expand "verts_in?")
       (split +)
       (("1" (skosimp*) (inst?))
        ("2"
         (skosimp*)
         (expand "finseq_appl")
         (hide -4)
         (inst -4 "n!1")
         (assert))))
      ("2"
       (prop)
       (("1"
         (replace -1 * rl)
         (hide -1)
         (expand "^")
         (expand min)
         (propax))
        ("2"
         (expand "verts_in?")
         (skosimp*)
         (replace -1 * rl)
         (typepred "i!1")
         (replace -2 * rl)
         (hide -2)
         (expand "^")
         (expand min)
         (expand "walk?")
         (flatten)
         (hide -5)
         (expand "verts_in?")
         (inst - "i!1"))))))
    ("2"
     (assert)
     (inst -4
      "MIN_W ^ (0, k!1 - 1) o MIN_W ^ (2 + k!1, length(MIN_W) - 1)")
     (("1"
       (split -4)
       (("1" (expand "o ") (expand "^") (expand min) (ground))
        ("2" (expand "o ") (expand "^") (expand min) (propax))
        ("3" (ground) (expand "o ") (expand "^") (expand min) (propax))
        ("4"
         (lemma "walk?_cut")
         (inst?)
         (inst -1 "Gw!1" "x!1" "y!1")
         (assert)
         (expand* "walk_from?" "from?"))))
      ("2"
       (split +)
       (("1" (expand "o ") (expand "^") (expand min) (ground))
        ("2"
         (expand "verts_in?")
         (skosimp*)
         (typepred "i!1")
         (expand "o ")
         (expand "^")
         (expand min)
         (expand "walk?")
         (flatten)
         (hide -5)
         (expand "verts_in?")
         (ground)
         (("1" (inst?)) ("2" (inst?))))))))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: min_walk_reduced
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "verts_in?")
   (skosimp*)
   (lemma "min_walk_vert")
   (inst?)
   (inst?)
   (expand "finseq_appl")
   (propax))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: doubletons
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "doubleton?")
   (skosimp*)
   (case "(FORALL (z:T): member(z,dbl(x!1, x!1)) = member(z,dbl(x!2, y!1)))")
   (("1"
     (inst-cp -1 "x!2")
     (inst -1 "y!1")
     (expand "member")
     (expand "dbl")
     (hide -3)
     (ground))
    ("2" (skosimp*) (expand "member") (replace -1) (propax))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: doubletons
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (skosimp*)
   (expand "rest")
   (rewrite "doubleton_nonempty")
   (expand "nonempty?")
   (assert)
   (prop)
   (expand "empty?")
   (expand "remove")
   (expand "member")
   (inst-cp - "x!1")
   (inst - "y!1")
   (replace -1)
   (expand "dbl")
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: doubletons
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "dbl")
   (lemma "choose_is_epsilon[T]")
   (inst?)
   (("1"
     (lemma "epsilon_ax[T]")
     (("1" (inst?) (assert) (inst + "x!1"))
      ("2" (assert) (inst + "x!1"))))
    ("2"
     (expand "nonempty?")
     (expand "empty?")
     (expand "member")
     (inst - "x!1"))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: doubletons
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "rest")
   (lemma "doubleton_nonempty")
   (inst - "dbl(x!1, y!1)")
   (("1"
     (expand "nonempty?")
     (assert)
     (use "dbl_choose")
     (ground)
     (("1" (replace -2) (expand "remove") (expand "member") (assert))
      ("2"
       (replace -1)
       (expand "remove")
       (expand "member")
       (assert)
       (expand "dbl")
       (hide -1 3)
       (lemma "choose_is_epsilon[T]")
       (inst?)
       (("1"
         (replace -1)
         (hide -1)
         (lemma "epsilon_ax[T]")
         (("1" (inst?) (assert) (inst + "y!1") (assert))
          ("2" (inst + "y!1"))))
        ("2"
         (assert)
         (hide 3)
         (lemma "epsilon_ax[T]")
         (("1"
           (inst?)
           (hide 3)
           (expand "nonempty?")
           (expand "empty?")
           (expand "member")
           (assert)
           (inst -2 "y!1")
           (assert))
          ("2" (inst + "x!1"))))))
      ("3" (replace -2) (expand "remove") (assert))
      ("4"
       (replace -1)
       (expand "remove")
       (expand "member")
       (expand "dbl")
       (assert)
       (hide -1)
       (hide 3)
       (lemma "choose_is_epsilon[T]")
       (inst?)
       (("1"
         (replace -1)
         (hide -1)
         (lemma "epsilon_ax[T]")
         (("1" (inst?) (assert) (inst + "x!1") (assert))
          ("2" (inst + "x!1"))))
        ("2"
         (expand "nonempty?")
         (expand "empty?")
         (expand "member")
         (inst - "x!1")
         (assert))))))
    ("2" (inst?) (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: doubletons
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "dbl_to_pair(dbl(x!1, y!1))")
   (("1"
     (case "dbl(x!1, y!1)(x!1)
                     =
                   dbl(PROJ_1(dbl_to_pair(dbl(x!1, y!1))),
                       PROJ_2(dbl_to_pair(dbl(x!1, y!1))))(x!1)")
     (("1"
       (case "dbl(x!1, y!1)(y!1)
                       =
                     dbl(PROJ_1(dbl_to_pair(dbl(x!1, y!1))),
                         PROJ_2(dbl_to_pair(dbl(x!1, y!1))))(y!1)")
       (("1"
         (hide -3)
         (expand "dbl")
         (apply-extensionality 2 :hide? t)
         (("1"
           (apply-extensionality 3 :hide? t)
           (expand "dbl")
           (inst?)
           (assert))
          ("2"
           (apply-extensionality 3 :hide? t)
           (expand "dbl")
           (inst?)
           (assert))
          ("3" (expand "dbl") (inst?) (assert))))
        ("2" (assert))))
      ("2" (assert))))
    ("2" (inst?) (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: doubletons
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (skosimp*)
   (replace -1)
   (use "dbl_to_pair_lem")
   (assert)
   (ground)
   (("1" (replace -1) (propax)) ("2" (replace -1) (rewrite "dbl_comm"))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: doubletons
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "dbl_to_pair_inverse_l")
   (inst?)
   (expand "dbl")
   (replace -1 + rl)
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: doubletons
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "D!1")
   (skosimp*)
   (replace -1)
   (hide -1)
   (lemma "dbl_to_pair_lem")
   (inst?)
   (assert)
   (grind))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: doubletons
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case "dbl(x!1, y!1)(x!1) = dbl(v!1, z!1)(x!1)")
   (("1"
     (case "dbl(x!1, y!1)(y!1) = dbl(v!1, z!1)(y!1)")
     (("1"
       (case "dbl(x!1, y!1)(z!1) = dbl(v!1, z!1)(z!1)")
       (("1"
         (case "dbl(x!1, y!1)(v!1) = dbl(v!1, z!1)(v!1)")
         (("1" (expand "dbl") (ground)) ("2" (assert))))
        ("2" (assert))))
      ("2" (assert))))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: doubletons
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case-replace "dbl(x!1, y!1) = add(x!1,singleton(y!1))")
   (("1" (rewrite "finite_add") (rewrite "finite_singleton"))
    ("2" (hide 2) (apply-extensionality 1 :hide? t) (grind))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: doubletons
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (inst 1 " (LAMBDA D: (choose(D),choose(rest(D))))")
   (("1"
     (skosimp*)
     (typepred "D!1")
     (skosimp*)
     (replace -1)
     (lemma "dbl_choose")
     (inst?)
     (lemma "dbl_rest_choose")
     (inst?)
     (assert)
     (flatten)
     (assert)
     (prop)
     (("1" (replace*)) ("2" (replace*) (rewrite "dbl_comm"))
      ("3" (replace*)) ("4" (replace*))))
    ("2" (lemma "doubleton_rest_nonempty") (propax))
    ("3" (lemma "doubleton_nonempty") (propax))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: trees
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
script:
  (""
   (skosimp*)
   (expand "empty?")
   (use "card_empty?[T]")
   (iff)
   (assert)
   (expand "tree?")
   (skosimp*)
   (expand "root?")
   (lemma "deg_1_sing")
   (inst?)
   (inst - "v!1")
   (assert)
   (expand "in?")
   (expand "empty?")
   (inst?)
   (expand "member")
   (propax))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: max_subtrees
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "G!1")
   (hide -1)
   (expand "nonempty?")
   (expand "empty?")
   (skosimp*)
   (expand "member")
   (inst 1 "singleton_digraph(x!1)")
   (("1" (grind)) ("2" (rewrite "sing_is_tree"))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: max_subtrees
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "max_subtree")
   (lemma "max_di_subgraph_in")
   (inst?)
   (("1" (expand "extend") (assert))
    ("2"
     (hide 2)
     (lemma "tree_in")
     (inst?)
     (skosimp*)
     (inst?)
     (expand "extend")
     (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: max_subtrees
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "max_subtree")
   (lemma "max_di_subgraph_is_max")
   (inst?)
   (("1"
     (expand "extend")
     (ground)
     (hide 2)
     (typepred "SS!1")
     (hide -1 -3)
     (lemma "tree_nonempty")
     (inst?)
     (expand "empty?")
     (expand "nonempty?")
     (propax))
    ("2"
     (hide 2)
     (lemma "tree_in")
     (inst?)
     (skosimp*)
     (inst?)
     (assert)
     (expand "extend")
     (propax))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: max_subtrees
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "tree_in")
   (inst?)
   (skosimp*)
   (inst?)
   (prop)
   (expand "extend")
   (assert))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: max_subtrees
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (prop)
   (("1"
     (lemma "max_di_subgraph_in")
     (inst?)
     (("1" (expand "extend") (assert))
      ("2"
       (hide 2)
       (lemma "tree_in")
       (inst?)
       (skosimp*)
       (inst?)
       (assert)
       (expand "extend")
       (propax))))
    ("2" (expand "extend") (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: subtrees
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "n" 1 "NAT_induction")
   (("1"
     (skosimp*)
     (inst -1 "j!1-1")
     (("1"
       (assert)
       (inst?)
       (assert)
       (split -1)
       (("1" (skosimp*) (inst 3 "j!2") (assert))
        ("2" (assert) (inst 2 "j!1") (assert))))
      ("2" (assert))))
    ("2" (skosimp*) (assert)) ("3" (skosimp*) (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: subtrees
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "n" 1 "NAT_induction")
   (("1"
     (skosimp*)
     (inst -1 "j!1-1")
     (("1"
       (assert)
       (inst?)
       (assert)
       (split -1)
       (("1" (skosimp*) (inst 3 "j!2") (assert))
        ("2" (inst 2 "j!1") (assert))))
      ("2" (assert))))
    ("2" (skosimp*) (assert)) ("3" (skosimp*) (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: subtrees
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "add")
   (expand "member")
   (split -2)
   (("1" (replace -1 * rl) (hide -1) (ground))
    ("2" (typepred "G!1") (inst?) (assert) (flatten) (assert))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: subtrees
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (decompose-equality)
   (iff 1)
   (prop)
   (("1"
     (hide -2)
     (expand "max_subtree")
     (typepred "max_di_subgraph(G!1, tree?)")
     (hide -1 -3 -5)
     (expand "di_subgraph?")
     (flatten)
     (hide -2)
     (expand* "subset?" "member")
     (inst -1 "x!1")
     (assert))
    ("2"
     (name-replace "TR" "max_subtree(G!1)" :hide? nil)
     (lemma "max_subtree_tree")
     (inst?)
     (replace -2)
     (case "(EXISTS (v: T): vert(TR)(v))")
     (("1"
       (skosimp*)
       (expand* "connected?" "reachable?")
       (inst -5 "v!1" "x!1")
       (("1"
         (assert)
         (skosimp*)
         (case "(EXISTS (j: posnat): j < length(w!1) AND vert(TR)(w!1(j-1)) AND
                                                                                               	                               NOT vert(TR)(w!1(j)))")
         (("1"
           (expand* "walk_from?" "walk?" "from?" "verts_in?")
           (flatten)
           (expand "finseq_appl")
           (skosimp*)
           (inst -10 "j!1 - 1")
           (assert)
           (name-replace "ss" "seq(w!1)(j!1 - 1)" :hide? nil)
           (name-replace "tt" "seq(w!1)(j!1)" :hide? nil)
           (name "TP"
                 "(# vert := add(tt,vert(TR)),
                                                                                                                                      edges := add((ss,tt),edges(TR)) #)")
           (case "tree?(TP)")
           (("1"
             (lemma "max_subtree_max")
             (inst -1 "G!1" "TP")
             (("1"
               (replace -10)
               (replace -3 -1 rl)
               (expand "size")
               (rewrite "card_add[T]")
               (assert))
              ("2"
               (assert)
               (expand "di_subgraph?")
               (split)
               (("1"
                 (expand* "subset?" "member")
                 (skosimp)
                 (expand "max_subtree")
                 (typepred "max_di_subgraph(G!1, tree?)")
                 (hide -1 -3)
                 (expand "di_subgraph?")
                 (flatten)
                 (hide -2)
                 (replace -11)
                 (case "vert(TR)(x!2)")
                 (("1"
                   (expand "subset?")
                   (expand "member")
                   (inst -2 "x!2")
                   (assert))
                  ("2"
                   (case "x!2 = tt")
                   (("1" (inst -16 "j!1") (assert))
                    ("2"
                     (case "vert(TP) = add(tt, vert(TR))")
                     (("1"
                       (expand "add" -1)
                       (decompose-equality -1)
                       (inst -1 "x!2")
                       (assert)
                       (expand "member")
                       (propax))
                      ("2"
                       (hide-all-but (-4 1))
                       (expand "add")
                       (replace -1 1 rl)
                       (hide -1)
                       (expand "member")
                       (propax))))))))
                ("2"
                 (hide-all-but (-2 -9 -14 1))
                 (expand "max_subtree")
                 (typepred "max_di_subgraph(G!1, tree?)")
                 (hide -1 -3)
                 (expand "di_subgraph?")
                 (flatten)
                 (hide -1)
                 (expand* "subset?" "member")
                 (skosimp)
                 (replace -4)
                 (case "edges(TR)(x!2)")
                 (("1" (inst -2 "x!2") (assert))
                  ("2"
                   (case "x!2 = (ss, tt)")
                   (("1" (expand "edge?") (assert))
                    ("2"
                     (hide -1 -5 3)
                     (case "edges(TP) = add((ss, tt), edges(TR))")
                     (("1"
                       (hide -3)
                       (expand* "add" "member")
                       (decompose-equality -1)
                       (inst -1 "x!2")
                       (assert)
                       (assert))
                      ("2"
                       (replace -2 1 rl)
                       (hide-all-but 1)
                       (expand* "add" "member"))))))))))))
            ("2"
             (expand "tree?" 1)
             (flatten)
             (inst 2 "tt")
             (("1"
               (split)
               (("1"
                 (expand "leaf?")
                 (split)
                 (("1"
                   (expand "in_deg")
                   (rewrite "card_one" 1)
                   (inst 1 "(ss, tt)")
                   (decompose-equality 1)
                   (iff)
                   (prop)
                   (("1"
                     (expand "incoming_edges")
                     (flatten)
                     (expand* "add" "member")
                     (case "edges(TP) = {y: edgetype[T] | (ss, tt) = y OR edges(TR)(y)}")
                     (("1"
                       (hide -4)
                       (decompose-equality -1)
                       (inst -1 "(x!2, x!3)")
                       (assert)
                       (split)
                       (("1" (expand "singleton") (assert))
                        ("2"
                         (hide-all-but (-1 -7 -10 3))
                         (expand "max_subtree")
                         (typepred "max_di_subgraph(G!1, tree?)")
                         (hide -2 -3)
                         (inst -1 "(x!2, x!3)")
                         (assert))))
                      ("2"
                       (replace -3 1 rl)
                       (hide-all-but 1)
                       (decompose-equality))))
                    ("2"
                     (hide-all-but (-1 -2 1))
                     (expand "incoming_edges")
                     (expand "singleton")
                     (flatten)
                     (assert)
                     (replaces -1)
                     (replaces -1)
                     (replace -1 1 rl)
                     (hide -1)
                     (expand "add")
                     (propax))))
                  ("2"
                   (expand "out_deg")
                   (lemma "empty_card[edgetype[T]]")
                   (inst -1 "outgoing_edges(tt, TP)")
                   (assert)
                   (expand* "empty?" "member")
                   (skosimp)
                   (hide 1)
                   (expand "outgoing_edges")
                   (flatten)
                   (case "edges(TR)(x!2)")
                   (("1"
                     (expand "max_subtree")
                     (typepred "max_di_subgraph(G!1, tree?)")
                     (hide -2 -3)
                     (replace -12)
                     (inst -1 "x!2")
                     (assert))
                    ("2"
                     (case "x!2 = (ss, tt)")
                     (("1"
                       (decompose-equality -1)
                       (hide-all-but (-1 -2 -4 -17 -18))
                       (replaces -3)
                       (hide -2)
                       (expand "no_self_loops?")
                       (inst -3 "(ss, tt)")
                       (("1" (assert)) ("2" (expand "edge?") (propax))))
                      ("2"
                       (hide-all-but (-1 -3 1 2))
                       (replace -2 -1 rl)
                       (expand "add" -1)
                       (expand "member")
                       (prop)
                       (assert))))))))
                ("2"
                 (case "del_vert[T](TP, tt) = TR")
                 (("1" (replace -1) (propax))
                  ("2"
                   (hide-all-but (-1 -8 1 4))
                   (expand "del_vert")
                   (decompose-equality 1)
                   (("1"
                     (expand "in?")
                     (decompose-equality)
                     (iff)
                     (ground)
                     (("1"
                       (case "edges(TP) = add((ss, tt), edges(TR))")
                       (("1"
                         (hide -3)
                         (expand* "add" "member")
                         (decompose-equality -1)
                         (inst -1 "(x!2, x!3)")
                         (assert))
                        ("2"
                         (replace -2 1 rl)
                         (hide-all-but 1)
                         (expand "add")
                         (propax))))
                      ("2"
                       (replace -2 1 rl)
                       (assert)
                       (expand "add" 1)
                       (expand "member")
                       (propax))
                      ("3"
                       (hide -3)
                       (expand "max_subtree")
                       (typepred "max_di_subgraph(G!1, tree?)")
                       (hide -2 -3)
                       (replace -4)
                       (inst -1 "(x!2, x!3)")
                       (assert))
                      ("4"
                       (hide -3)
                       (expand "max_subtree")
                       (typepred "max_di_subgraph(G!1, tree?)")
                       (hide -2 -3)
                       (replace -4)
                       (inst -1 "(x!2, x!3)")
                       (assert))))
                    ("2"
                     (decompose-equality)
                     (iff)
                     (prop)
                     (("1"
                       (expand* "remove" "member")
                       (flatten)
                       (replace -2 -1 rl)
                       (assert)
                       (expand "add" -1)
                       (expand "member")
                       (propax))
                      ("2"
                       (expand* "remove" "member")
                       (split)
                       (("1" (flatten) (assert))
                        ("2"
                         (replace -2 1 rl)
                         (assert)
                         (hide 2)
                         (expand* "add" "member"))))))))))))
              ("2"
               (hide-all-but (-1 1))
               (replace -1 1 rl)
               (hide -1)
               (expand "add")
               (propax))))
            ("3"
             (skosimp)
             (case "e!1 = (ss, tt)")
             (("1"
               (hide-all-but (-1 -2 -3 -7 1))
               (replace -3 1 rl)
               (expand* "add" "member")
               (assert))
              ("2"
               (hide-all-but (-1 -2 -6 -9 1 2))
               (replace -2 * rl)
               (hide -2)
               (expand* "add" "member")
               (ground)
               (("1"
                 (expand "max_subtree")
                 (typepred "max_di_subgraph(G!1, tree?)")
                 (hide -2 -3)
                 (replace -4)
                 (inst -1 "e!1")
                 (assert))
                ("2"
                 (expand "max_subtree")
                 (typepred "max_di_subgraph(G!1, tree?)")
                 (hide -2 -3)
                 (replace -4)
                 (inst -1 "e!1")
                 (assert))))))))
          ("2"
           (expand "finseq_appl")
           (lemma "walk_acr")
           (inst -1 "G!1" "TR" "length(w!1)-1" "w!1")
           (("1"
             (assert)
             (expand* "walk_from?" "from?")
             (flatten)
             (assert)
             (skosimp)
             (inst 2 "j!1")
             (assert))
            ("2" (expand "walk_from?") (flatten))))
          ("3" (skosimp*) (assert))))
        ("2"
         (expand "max_subtree")
         (typepred "max_di_subgraph(G!1, tree?)")
         (hide -1 -3)
         (expand "di_subgraph?")
         (flatten)
         (hide -2)
         (expand "subset?")
         (expand "member")
         (inst -1 "v!1")
         (assert))))
      ("2"
       (expand "tree?")
       (split)
       (("1" (rewrite "card_1_has_1"))
        ("2" (skosimp) (typepred "v!1") (inst 1 "v!1"))))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: di_subgraphs_from_walk
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "G_from")
   (expand "edge?")
   (typepred "w!1")
   (expand "walk?")
   (flatten)
   (inst?)
   (assert)
   (expand "edge?")
   (flatten)
   (assert)
   (expand "edges_of")
   (inst + "i!1")
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: di_subgraphs_from_walk
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "subset?")
   (skosimp*)
   (rewrite "G_from_vert")
   (inst?)
   (assert)
   (expand "remove")
   (expand "member")
   (assert))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: di_subgraphs_from_walk
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "di_subgraph?")
   (prop)
   (("1" (hide -2) (expand "del_vert") (rewrite "vert_G_from_not"))
    ("2"
     (lemma "vert_G_from_not")
     (inst?)
     (inst?)
     (assert)
     (expand "subset?" +)
     (skosimp*)
     (expand "member")
     (rewrite "edge_in_del_vert")
     (("1"
       (hide -1 -3 2 3)
       (expand "subset?")
       (inst?)
       (expand "member")
       (propax))
      ("2"
       (hide -4 -5 1)
       (expand "subset?")
       (inst?)
       (expand "member")
       (name-replace SG "G_from(G!1, w!1)")
       (typepred "SG")
       (inst?)
       (assert)
       (expand "remove")
       (expand "in?")
       (flatten)
       (ground))))))


proof_type: t_proof
decl_type: tcc
library: digraphs
theory: di_subgraphs_from_walk
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "w!1")
   (split +)
   (("1"
     (skosimp*)
     (expand "walk?")
     (flatten)
     (expand "verts_of")
     (expand "verts_in?")
     (expand "finseq_appl")
     (hide -4)
     (expand "edges_of")
     (skosimp*)
     (replace -1)
     (hide -1)
     (expand "finseq_appl")
     (split +)
     (("1" (inst?)) ("2" (inst?))))
    ("2"
     (expand "di_subgraph?")
     (expand "walk?")
     (flatten)
     (expand "subset?")
     (expand "member")
     (expand "verts_of")
     (expand "edges_of")
     (expand "finseq_appl")
     (split +)
     (("1" (skosimp*) (expand "verts_in?") (inst?) (assert))
      ("2"
       (skosimp*)
       (expand "edge?")
       (inst?)
       (assert)
       (replace -1)
       (flatten)
       (propax))))))


proof_type: f_proof
decl_type: formula
library: digraphs
theory: dags
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "DG!1")
   (inst?)
   (assert)
   (flatten)
   (name-replace "vv" "proj_1(e!1)")
   (case "walk?[T](DG!1, gen_seq2[T](DG!1, vv, vv))")
   (("1"
     (inst - "gen_seq2(DG!1,vv,vv)")
     (expand "path?")
     (assert)
     (hide -1)
     (expand "finseq_appl")
     (expand "gen_seq2")
     (inst - "0" "1")
     (("1" (assert)) ("2" (expand "gen_seq2") (assert))))
    ("2"
     (expand "walk?")
     (prop)
     (("1" (expand "verts_in?") (skosimp*) (grind))
      ("2"
       (skosimp*)
       (expand "finseq_appl")
       (expand "gen_seq2")
       (expand "edge?")
       (assert))))
    ("3" (propax))))


proof_type: f_proof
decl_type: formula
library: exact_real_arith
theory: prelude_aux
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "trich_lt" ("x" "nnx!1" "y" "0"))
   (split)
   (("1" (assert))
    ("2"
     (replace -1)
     (grind)
     (lemma "both_sides_times_pos_lt1" ("x" "0" "y" "w!1" "pz" "y!1"))
     (grind))
    ("3"
     (lemma "lt_times_lt_pos1"
      ("px" "nnx!1" "y" "y!1" "w" "w!1" "nnz" "nnz!1"))
     (("1" (grind)) ("2" (assert))))))


proof_type: f_proof
decl_type: formula
library: exact_real_arith
theory: prelude_aux
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "npy!1")
   (expand "<=")
   (split -1)
   (("1"
     (lemma "lt_times_lt_neg1"
      ("x" "x!1" "ny" "npy!1" "z" "z!1" "npw" "npw!1"))
     (("1" (grind)) ("2" (propax))))
    ("2"
     (replace -1)
     (typepred "npw!1")
     (lemma "total_le")
     (lemma "strict_lt")
     (expand "strict_total_order?")
     (expand "total_order?")
     (expand "strict_order?")
     (expand "partial_order?")
     (expand "preorder?")
     (expand "transitive?")
     (flatten)
     (expand "<=" -8)
     (split -8)
     (("1"
       (inst - "z!1" "npw!1" "0")
       (lemma "both_sides_times_neg_lt1" ("y" "z!1" "x" "0" "nz" "x!1"))
       (("1" (grind)) ("2" (assert))))
      ("2"
       (replace -1)
       (lemma "negreal_times_negreal_is_posreal")
       (inst - "x!1" "z!1")
       (("1" (assert)) ("2" (assert)) ("3" (assert))))))))


proof_type: f_proof
decl_type: formula
library: exact_real_arith
theory: prelude_aux
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case "0 < nnz!1")
   (("1"
     (lemma "both_sides_times_pos_le1"
      ("x" "x!1" "y" "y!1" "pz" "nnz!1"))
     (("1" (bash)) ("2" (assert))))
    ("2" (case "nnz!1=0") (("1" (replace -1) (assert)) ("2" (assert))))))


proof_type: f_proof
decl_type: formula
library: exact_real_arith
theory: prelude_aux
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case "0 > npz!1")
   (("1"
     (lemma "both_sides_times_neg_le1"
      ("y" "y!1" "x" "x!1" "nz" "npz!1"))
     (("1" (bash)) ("2" (assert))))
    ("2" (case "npz!1=0") (("1" (replace -1) (assert)) ("2" (assert))))))


proof_type: f_proof
decl_type: formula
library: exact_real_arith
theory: prelude_aux
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand "even?")
   (split)
   (("1" (flatten) (skolem!) (replace -1) (hide -1) (grind))
    ("2"
     (lemma "floor_exists" ("x" "z!1/2"))
     (expand "odd?")
     (flatten)
     (skolem!)
     (inst 1 "i!1")
     (inst 2 "i!1")
     (lemma "floor_val" ("i" "z!1" "j" "2" "k" "i!1"))
     (grind))))


proof_type: f_proof
decl_type: formula
library: exact_real_arith
theory: prelude_aux
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "n")
   (("1" (grind))
    ("2"
     (skosimp*)
     (inst - "n0x!1" "n0y!1")
     (lemma "expt_plus" ("i" "j!1" "j" "1"))
     (inst-cp - "n0x!1")
     (inst-cp - "n0y!1")
     (inst - "n0x!1 *n0y!1")
     (grind))))


proof_type: f_proof
decl_type: formula
library: exact_real_arith
theory: prelude_aux
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case "i!1 >= 0")
   (("1"
     (lemma "expt_division_aux" ("n0x" "n0x!1" "n0y" "n0y!1" "n" "i!1"))
     (("1" (propax)) ("2" (propax))))
    ("2"
     (lemma "expt_inverse" ("n0x" "n0x!1" "i" "-i!1"))
     (lemma "expt_inverse" ("n0x" "n0y!1" "i" "-i!1"))
     (lemma "expt_inverse" ("n0x" "n0x!1/n0y!1" "i" "-i!1"))
     (lemma "expt_division_aux" ("n0x" "n0x!1" "n0y" "n0y!1" "n" "-i!1"))
     (("1"
       (lemma "div_div1" ("x" "1" "n0y" "n0x!1^-i!1" "n0z" "n0y!1^-i!1"))
       (lemma "div_div1"
        ("x" "1/(n0y!1^-i!1)" "n0y" "1" "n0z" "n0x!1^-i!1"))
       (simplify -1)
       (lemma "times_div2" ("x" "1" "y" "n0x!1^-i!1" "n0z" "n0y!1^-i!1"))
       (replace -1 -2)
       (assert)
       (grind))
      ("2" (assert))))))


proof_type: f_proof
decl_type: formula
library: exact_real_arith
theory: prelude_aux
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (split)
   (("1"
     (expand "even?")
     (flatten)
     (skolem!)
     (lemma "expt_plus" ("n0x" "-1" "i" "j!1" "j" "j!1"))
     (lemma "expt_product" ("n0x" "-1" "n0y" "-1" "i" "j!1"))
     (lemma "expt_1i" ("i" "j!1"))
     (bash))
    ("2"
     (expand "odd?")
     (flatten)
     (skolem!)
     (lemma "expt_plus" ("n0x" "-1" "i" "j!1" "j" "j!1"))
     (lemma "expt_product" ("n0x" "-1" "n0y" "-1" "i" "j!1"))
     (lemma "expt_1i" ("i" "j!1"))
     (lemma "expt_x1" ("x" "-1"))
     (lemma "expt_plus" ("n0x" "-1" "i" "1" "j" "2*j!1"))
     (bash))))


proof_type: f_proof
decl_type: formula
library: exact_real_arith
theory: prelude_aux
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "pn")
   (("1" (assert)) ("2" (assert))
    ("3"
     (skosimp*)
     (lemma "trichotomy" ("x" "j!1"))
     (split -1)
     (("1"
       (assert)
       (case "lt1x!1 < 1-2^-j!1")
       (("1" (inst - "lt1x!1") (assert))
        ("2"
         (lemma "lt_times_lt_pos1"
          ("px"
           "lt1x!1"
           "y"
           "1-2^-(1+j!1)"
           "nnz"
           "lt1x!1"
           "w"
           "1-2^-(1+j!1)"))
         (lemma "lt_times_lt_pos1"
          ("px"
           "lt1x!1"
           "y"
           "1-2^-(1+j!1)"
           "nnz"
           "lt1x!1*lt1x!1"
           "w"
           "(1-2^-(1+j!1))*(1-2^-(1+j!1))"))
         (assert)
         (assert)
         (inst - "lt1x!1 * (lt1x!1 * lt1x!1)")
         (("1"
           (lemma "expt_pos" ("px" "2" "i" "-(1+j!1)"))
           (lemma "both_sides_times_pos_lt1"
            ("x"
             "0 "
             "y"
             "1-3*2^-(1+j!1)+2^-(1+j!1)*2^-(1+j!1)"
             "pz"
             "2^-(1+j!1)"))
           (lemma "posreal_times_posreal_is_posreal"
            ("px" "2^-(1+j!1)" "py" "2^-(1+j!1)"))
           (lemma "both_sides_expt_gt1_le"
            ("gt1x" "2" "i" "-(1+j!1)" "j" "-2"))
           (expand "^" -1 2)
           (rewrite "expt")
           (rewrite "expt")
           (rewrite "expt")
           (lemma "div_mult_pos_le2" ("x" "2^-(1+j!1)" "z" "1" "py" "4"))
           (lemma "lt_plus_lt1"
            ("x"
             "lt1x!1 * (lt1x!1 * lt1x!1)"
             "y"
             "1 + 3 * (2 ^ -(1 + j!1) * 2 ^ -(1 + j!1)) -2 ^ -(1 + j!1) * 2 ^ -(1 + j!1) * 2 ^ -(1 + j!1)- 3 * 2 ^ -(1 + j!1)"
             "z"
             "0"
             "w"
             "(1 - 3 * 2 ^ -(1 + j!1) + 2 ^ -(1 + j!1) * 2 ^ -(1 + j!1)) * 2 ^ -(1 + j!1)"))
           (assert)
           (replace -5 -1)
           (lemma "expt_plus" ("n0x" "2" "i" "1" "j" "-(1+j!1)"))
           (rewrite "expt_x1")
           (replace -1 -2 rl)
           (replace -2 -11)
           (skosimp*)
           (lemma "expt_times" ("n0x" "lt1x!1" "j" "n!1" "i" "3"))
           (expand "^" -1 2)
           (rewrite "expt")
           (rewrite "expt")
           (rewrite "expt")
           (rewrite "expt")
           (inst + "3*n!1")
           (assert))
          ("2"
           (lemma "lt_times_lt_pos1"
            ("px" "lt1x!1" "y" "1" "nnz" "lt1x!1" "w" "1"))
           (lemma "lt_times_lt_pos1"
            ("px" "lt1x!1" "y" "1" "nnz" "lt1x!1*lt1x!1" "w" "1"))
           (assert))))))
      ("2" (inst + "1") (hide -2) (grind)) ("3" (assert))))))


proof_type: f_proof
decl_type: formula
library: exact_real_arith
theory: prelude_aux
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "archimedean" ("px" "1-lt1x!1"))
   (skosimp*)
   (lemma "exp_of_exists" ("b" "2" "py" "n!1"))
   (skosimp*)
   (lemma "expt_pos" ("px" "2" "i" "i!1+1"))
   (lemma "both_sides_div_pos_lt2"
    ("pz" "1" "px" "2^(i!1+1)" "py" "n!1"))
   (lemma "exp_of2_exists_aux" ("lt1x" "lt1x!1" "pn" "i!1+1"))
   (("1"
     (lemma "expt_inverse" ("n0x" "2" "i" "i!1+1"))
     (replace -1 -2)
     (lemma "both_sides_minus_lt2"
      ("z" "lt1x!1" "y" "1/2^(i!1+1)" "x" "1/n!1"))
     (assert)
     (assert))
    ("2"
     (typepred "n!1")
     (lemma "lt_equiv_le_plus_one" ("x" "0" "y" "n!1"))
     (lemma "both_sides_expt_gt1_lt" ("gt1x" "2" "i" "0" "j" "i!1+1"))
     (rewrite "expt_x0")
     (assert))))


