# Proofs

proof_type: f_proof
decl_type: formula
library: orders
theory: ordered_int
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (use "prefix_below")
   (assert)
   (skolem!)
   (inst + "i!1 - 1")
   (hide 1 2)
   (grind-with-ext))


proof_type: f_proof
decl_type: formula
library: orders
theory: ordered_int
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp :preds? t)
   (expand* "suffix?" "member" "restrict")
   (assert)
   (lemma "non_empty_finite_has_greatest")
   (inst - "suf!1" "<=")
   (expand* "restrict" "has_greatest?" "greatest?" "upper_bound?")
   (skosimp)
   (inst - "t!1 + 1" "t!1")
   (assert)
   (inst - "1 + t!1")
   (assert))


proof_type: f_proof
decl_type: formula
library: orders
theory: ordered_int
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp :preds? t)
   (case "has_least?[int](suf!1, restrict[[real, real], [int, int], boolean](<=))")
   (("1"
     (inst +
      "least[int](restrict[[real, real], [int, int], boolean](<=))(suf!1)")
     (apply-extensionality 3 :hide? t)
     (expand* "suffix?" "upfrom" "reflexive_closure" "union" "member")
     (typepred
      "least[int](restrict[[real, real], [int, int], boolean](<=))(suf!1)")
     (expand "least?")
     (flatten)
     (inst - "x!1"
      "least[int](restrict[[real, real], [int, int], boolean](<=))(suf!1)")
     (expand* "restrict" "lower_bound?")
     (inst - "x!1")
     (("1" (assert)) ("2" (smash))))
    ("2"
     (expand* "has_least?" "least?" "lower_bound?" "full?" "empty?"
      "member" "restrict")
     (skosimp*)
     (case "x!2 < x!1 AND has_least?({i: int | suf!1(i) AND x!2 <=i AND i <= x!1}, restrict[[real, real], [int, int], boolean](<=))")
     (("1"
       (flatten)
       (inst +
        "least[int](restrict[[real, real], [int, int], boolean](<=))({i: int | suf!1(i) AND x!2 <= i AND i <= x!1})")
       (assert)
       (typepred
        "least[int](restrict[[real, real], [int, int], boolean](<=))({i: int | suf!1(i) AND x!2 <= i AND i <= x!1})")
       (expand* "least?" "lower_bound?")
       (flatten)
       (expand "restrict" -4 :occurrence 1)
       (assert)
       (skolem!)
       (inst - "r!1")
       (expand* "suffix?" "member")
       (inst - "x!2" "r!1")
       (assert))
      ("2"
       (expand* "suffix?" "member")
       (inst - "x!2" "x!1")
       (assert)
       (assert)
       (lemma "non_empty_finite_has_least")
       (inst - "{i: int | suf!1(i) AND x!2 <= i AND i <= x!1}"
        "restrict[[real, real], [int, int], boolean](<=)")
       (split)
       (("1"
         (expand "is_finite")
         (inst + "x!1 - x!2 + 1"
          "LAMBDA (x: ({i: int | suf!1(i) AND x!2 <= i AND i <= x!1})): x - x!2")
         (expand "injective?")
         (skosimp))
        ("2" (expand* "empty?" "member") (inst - "x!1") (assert))))))))


proof_type: f_proof
decl_type: formula
library: orders
theory: ordered_int
signature: nil
run_date: Unknown date
run_time: ----
status: proved-incomplete
description: nil
script:
  (""
   (skosimp)
   (use "suffix_upfrom")
   (assert)
   (skolem!)
   (inst + "i!1 - 1")
   (hide 1 2)
   (grind-with-ext))


proof_type: j_proof
decl_type: tcc
library: orders
theory: ordered_int
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "restrict" "has_greatest?" "greatest?" "upto"
    "reflexive_closure" "union" "member" "upper_bound?")
   (inst + "i!1")
   (reduce))


proof_type: j_proof
decl_type: tcc
library: orders
theory: ordered_int
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "restrict" "has_greatest?" "greatest?" "below"
    "irreflexive_kernel" "difference" "member" "upper_bound?")
   (inst + "i!1 - 1")
   (reduce))


proof_type: j_proof
decl_type: tcc
library: orders
theory: ordered_int
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "restrict" "has_least?" "least?" "above" "irreflexive_kernel"
    "difference" "member" "lower_bound?")
   (inst + "i!1 + 1")
   (reduce))


proof_type: j_proof
decl_type: tcc
library: orders
theory: ordered_int
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "restrict" "has_least?" "least?" "upfrom" "reflexive_closure"
    "union" "member" "lower_bound?")
   (inst + "i!1")
   (reduce))


proof_type: f_proof
decl_type: formula
library: orders
theory: kuratowski
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (typepred "<=")
   (lemma "zorn")
   (split)
   (("1"
     (skolem-typepred)
     (inst + "t!1")
     (expand* "fullset" "maximal?" "maximal_chain?" "strict_subset?"
      "chain_incl" "member"))
    ("2"
     (skolem!)
     (inst + "chain_union(ch!1)")
     (expand* "bounded_above?" "upper_bound?" "chain_incl" "subset?"
      "member")
     (inst + "chain_union(ch!1)")
     (skosimp*)
     (expand* "chain_union" "Union")
     (inst + "r!1")
     (expand "extend")
     (propax))))


proof_type: f_proof
decl_type: formula
library: orders
theory: isomorphism_transitive
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand* "isomorphic?" "isomorphism?" "transitive?")
   (skosimp*)
   (inst + "f!2 o f!1")
   (skolem!)
   (inst?)
   (inst?)
   (expand "o")
   (prop))


proof_type: f_proof
decl_type: formula
library: orders
theory: isomorphism_symmetric
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand* "isomorphic?" "isomorphism?" "symmetric?")
   (skolem!)
   (prop)
   (("1"
     (skolem-typepred)
     (use "bijective_inverse_exists[T1, T2]")
     (expand "exists1")
     (flatten)
     (skolem!)
     (use "bij_inv_is_bij_alt[T1, T2]")
     (inst + "x!1")
     (skolem!)
     (inst - "x!1(d1!1)" "x!1(d2!1)")
     (expand "inverse?")
     (inst-cp - "d2!1")
     (inst - "d1!1")
     (split)
     (("1"
       (split)
       (("1" (ground))
        ("2"
         (expand* "bijective?" "surjective?")
         (flatten)
         (inst -6 "d2!1"))))
      ("2"
       (expand* "bijective?" "surjective?")
       (flatten)
       (inst -6 "d1!1"))))
    ("2"
     (skolem-typepred)
     (use "bijective_inverse_exists[T2, T1]")
     (expand "exists1")
     (flatten)
     (skolem!)
     (use "bij_inv_is_bij_alt[T2, T1]")
     (inst + "x!1")
     (skolem!)
     (inst - "x!1(d1!1)" "x!1(d2!1)")
     (expand "inverse?")
     (inst-cp - "d2!1")
     (inst - "d1!1")
     (split)
     (("1"
       (split)
       (("1" (ground))
        ("2"
         (expand* "bijective?" "surjective?")
         (flatten)
         (inst -6 "d2!1"))))
      ("2"
       (expand* "bijective?" "surjective?")
       (flatten)
       (inst -6 "d1!1"))))))


proof_type: f_proof
decl_type: formula
library: orders
theory: isomorphism_equivalence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand* "isomorphic?" "isomorphism?" "symmetric?")
   (skosimp* t)
   (use "bijective_inverse_exists")
   (expand "exists1")
   (skosimp*)
   (assert)
   (lemma "bij_inv_is_bij_alt" ("f" "f!1" "g" "x!2"))
   (inst + "x!2")
   (skolem!)
   (inst - "x!2(d1!1)" "x!2(d2!1)")
   (expand "inverse?")
   (inst-cp - "d2!1")
   (inst - "d1!1")
   (split)
   (("1"
     (split)
     (("1" (ground))
      ("2"
       (expand* "bijective?" "surjective?")
       (flatten)
       (inst -6 "d2!1"))))
    ("2"
     (expand* "bijective?" "surjective?")
     (flatten)
     (inst -6 "d1!1"))))


proof_type: j_proof
decl_type: tcc
library: orders
theory: isomorphism_equivalence
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "equivalence?")
   (lemma "isomorphism_reflexive")
   (lemma "isomorphism_symmetric")
   (lemma "isomorphism_transitive")
   (assert))


proof_type: f_proof
decl_type: formula
library: orders
theory: converse_zorn
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "zorn")
   (prop)
   (("1"
     (skolem!)
     (inst? +)
     (expand* "maximal?" "minimal?" "member" "converse"))
    ("2"
     (skolem-typepred)
     (inst - "ch!1")
     (("1"
       (expand* "bounded_below?" "lower_bound?" "bounded_above?"
        "upper_bound?" "converse"))
      ("2"
       (expand* "chain?" "total_order?" "partial_order?" "preorder?"
        "restrict" "dichotomous?" "converse")
       (skosimp)
       (inst?)
       (assert))))))


proof_type: f_proof
decl_type: formula
library: orders
theory: monotone_sequences
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand* "ascending?" "reflexive_closure" "union" "member")
   (skosimp)
   (inst?))


proof_type: f_proof
decl_type: formula
library: orders
theory: monotone_sequences
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand* "descending?" "reflexive_closure" "union" "member")
   (skosimp)
   (inst?))


proof_type: f_proof
decl_type: formula
library: orders
theory: monotone_sequences
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand* "preserves" "restrict")
   (induct "x2")
   (("1" (skosimp) (assert))
    ("2"
     (skosimp*)
     (case-replace "x1!1 = j!1")
     (("1" (hide -2) (expand "ascending?") (inst?) (assert))
      ("2"
       (inst?)
       (assert)
       (expand "transitive?")
       (inst - "seq!1(x1!1)" "seq!1(j!1)" "seq!1(1 + j!1)")
       (assert)
       (hide 2 -1)
       (expand "ascending?")
       (inst?))))))


proof_type: f_proof
decl_type: formula
library: orders
theory: monotone_sequences
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (rewrite "ascending_lem")
   (expand* "ascending?" "converse" "descending?"))


proof_type: f_proof
decl_type: formula
library: orders
theory: monotone_sequences
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (lemma "preserves_composition[nat, nat, T]")
   (inst?)
   (invoke (inst - "%1" "%1" "lt!1") (! -2 0 1))
   (expand "preserves" -2)
   (assert)
   (hide -2)
   (split)
   (("1"
     (hide -3)
     (expand* "ascending?" "preserves" "restrict")
     (skolem!)
     (inst?)
     (assert))
    ("2" (rewrite "ascending_lem"))))


proof_type: f_proof
decl_type: formula
library: orders
theory: monotone_sequences
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (use "ascending_subsequence" ("lt" "converse(lt!1)"))
   (("1" (expand* "ascending?" "converse" "descending?"))
    ("2" (expand* "ascending?" "converse" "descending?"))))


proof_type: f_proof
decl_type: formula
library: orders
theory: well_foundedness
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "empty?" "member" "descending?" "well_founded?")
   (prop)
   (("1"
     (skolem!)
     (inst - "LAMBDA x: EXISTS n: x = x!1(n)")
     (split)
     (("1"
       (skosimp* t)
       (replace -2 :hide? t)
       (inst - "x!1(1 + n!1)")
       (("1" (inst?)) ("2" (inst?))))
      ("2" (inst + "x!1(0)") (inst?))))
    ("2"
     (skosimp*)
     (rewrite "skolemize_forall[(p!1), (p!1)]")
     (skolem!)
     (inst - "LAMBDA n: iterate(f!1, n)(y!1)")
     (skolem!)
     (expand "iterate" 1 1)
     (inst?))))


proof_type: j_proof
decl_type: tcc
library: orders
theory: well_foundedness
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (rewrite "no_infinite_descending_sequence")
   (expand* "empty?" "member" "descending?" "irreflexive?")
   (skolem!)
   (inst - "LAMBDA n: x!2")
   (skolem!))


proof_type: j_proof
decl_type: tcc
library: orders
theory: well_foundedness
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand* "strict_order?" "well_founded_order?")
   (prop)
   (rewrite "well_founded_is_irreflexive"))


proof_type: j_proof
decl_type: tcc
library: orders
theory: well_foundedness
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand* "well_founded_order?" "well_founded?")
   (skosimp*)
   (inst -
    "LAMBDA (y: T): EXISTS (x: T): preorder_closure[T](rel!1)(x, y) & p!1(x)")
   (prop)
   (("1"
     (skosimp* t)
     (rewrite "preorder_closure_reflexive_transitive")
     (expand* "reflexive_closure" "union" "member")
     (split)
     (("1"
       (hide 1)
       (rewrite "transitive_closure_step_r")
       (expand "o")
       (skosimp)
       (inst - "y!3")
       (inst + "x!1")
       (assert))
      ("2"
       (inst + "x!1")
       (skolem!)
       (rewrite "transitive_closure_step_r")
       (expand "o")
       (skosimp)
       (inst - "y!3")
       (("1" (assert)) ("2" (inst?) (assert))))))
    ("2"
     (inst? 2)
     (skolem!)
     (inst + "y!1")
     (inst + "x!1")
     (expand* "preorder_closure" "transitive_closure" "IUnion")
     (skolem!)
     (inst?))))


proof_type: j_proof
decl_type: tcc
library: orders
theory: complete_lattices
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (typepred "<=")
   (expand* "tightly_bounded?" "complete_lattice?")
   (prop)
   (("1" (expand "complete_upper_semilattice?") (flatten) (inst?))
    ("2" (expand "complete_lower_semilattice?") (flatten) (inst?))))


proof_type: f_proof
decl_type: formula
library: orders
theory: pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (split)
   (("1"
     (typepred "nff!1")
     (expand* "nonempty?" "empty?" "member")
     (skolem!)
     (inst - "x!2(x!1)")
     (inst?))
    ("2"
     (case-replace
      "{s | EXISTS f: nff!1(f) & s = f(x!1)} = image(LAMBDA f: f(x!1), nff!1)")
     (("1" (rewrite "finite_image"))
      ("2"
       (hide 2)
       (decompose-equality)
       (expand "image")
       (iff)
       (prop)
       (("1" (skosimp* t) (inst?))
        ("2" (skolem-typepred) (inst?) (assert))))))))


proof_type: f_proof
decl_type: formula
library: orders
theory: pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (prop)
   (("1"
     (skolem!)
     (expand "least_upper_bound?")
     (prop)
     (("1"
       (hide -2)
       (expand "upper_bound?")
       (skosimp* t)
       (inst?)
       (expand "pointwise")
       (inst?)
       (assert))
      ("2"
       (skosimp)
       (inst - "LAMBDA x: IF x = x!1 THEN r!1 ELSE f1!1(x) ENDIF")
       (split)
       (("1" (expand "pointwise" -1) (inst?))
        ("2"
         (expand "upper_bound?")
         (skolem-typepred)
         (inst? -3)
         (inst - "r!2(x!1)")
         (("1"
           (expand "pointwise")
           (skolem!)
           (lift-if)
           (prop)
           (("1" (assert)) ("2" (inst?))))
          ("2" (inst?))))))))
    ("2"
     (expand "least_upper_bound?" +)
     (split)
     (("1"
       (expand* "pointwise" "least_upper_bound?" "upper_bound?")
       (skosimp* t)
       (inst?)
       (flatten)
       (inst?)
       (inst? +))
      ("2"
       (expand "pointwise" + :occurrence 2)
       (skosimp*)
       (inst?)
       (expand "least_upper_bound?")
       (flatten)
       (hide -2)
       (inst?)
       (assert)
       (expand "upper_bound?")
       (skosimp* t)
       (inst?)
       (expand "pointwise")
       (inst?)
       (assert))))))


proof_type: f_proof
decl_type: formula
library: orders
theory: pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand "least_bounded_above?")
   (prop)
   (("1"
     (skosimp*)
     (inst + "t!1(x!1)")
     (rewrite "least_upper_bound_pointwise")
     (inst?))
    ("2"
     (rewrite "skolemize_exists")
     (skolem!)
     (use "least_upper_bound_pointwise")
     (replace*)
     (assert)
     (inst?))))


proof_type: f_proof
decl_type: formula
library: orders
theory: pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (prop)
   (("1"
     (skolem!)
     (expand "greatest_lower_bound?")
     (prop)
     (("1"
       (hide -2)
       (expand* "lower_bound?" "pointwise")
       (skosimp* t)
       (inst?)
       (assert))
      ("2"
       (skosimp)
       (inst - "LAMBDA x: IF x = x!1 THEN r!1 ELSE f1!1(x) ENDIF")
       (split)
       (("1" (expand "pointwise" -1) (inst?))
        ("2"
         (expand "lower_bound?")
         (skolem-typepred)
         (inst? -3)
         (inst - "r!2(x!1)")
         (("1" (expand "pointwise") (skolem!) (lift-if) (ground) (inst?))
          ("2" (inst?))))))))
    ("2"
     (expand "greatest_lower_bound?" +)
     (split)
     (("1"
       (expand* "greatest_lower_bound?" "lower_bound?" "pointwise")
       (skosimp* t)
       (inst?)
       (flatten)
       (inst?)
       (inst? +))
      ("2"
       (expand "pointwise" + :occurrence 2)
       (skosimp*)
       (inst?)
       (expand "greatest_lower_bound?")
       (flatten)
       (hide -2)
       (inst?)
       (assert)
       (expand "lower_bound?")
       (skosimp* t)
       (inst?)
       (expand "pointwise")
       (inst?)
       (assert))))))


proof_type: f_proof
decl_type: formula
library: orders
theory: pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand "greatest_bounded_below?")
   (prop)
   (("1"
     (skosimp*)
     (inst + "t!1(x!1)")
     (rewrite "greatest_lower_bound_pointwise")
     (inst?))
    ("2"
     (rewrite "skolemize_exists")
     (skolem!)
     (use "greatest_lower_bound_pointwise")
     (replace*)
     (assert)
     (inst?))))


proof_type: f_proof
decl_type: formula
library: orders
theory: pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (invoke (name-replace "L" "%1" :hide? nil) (! 1 2))
   (rewrite "lub_def[[D -> R]]")
   (rewrite "least_upper_bound_pointwise")
   (skolem!)
   (decompose-equality)
   (inst?)
   (rewrite "lub_def[R]"))


proof_type: f_proof
decl_type: formula
library: orders
theory: pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (invoke (name-replace "L" "%1" :hide? nil) (! 1 2))
   (rewrite "glb_def[[D -> R]]")
   (rewrite "greatest_lower_bound_pointwise")
   (skolem!)
   (decompose-equality)
   (inst?)
   (rewrite "glb_def[R]"))


proof_type: j_proof
decl_type: tcc
library: orders
theory: pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand* "transitive?" "pointwise")
   (skosimp*)
   (inst - "x!1(x!2)" "y!1(x!2)" "z!1(x!2)")
   (inst?)
   (inst?)
   (assert))


proof_type: j_proof
decl_type: tcc
library: orders
theory: pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand* "antisymmetric?" "pointwise")
   (skosimp*)
   (decompose-equality)
   (inst?)
   (inst?)
   (inst?)
   (assert))


proof_type: j_proof
decl_type: tcc
library: orders
theory: pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "upper_semilattice?")
   (skosimp* t)
   (rewrite "least_bounded_above_pointwise")
   (skolem!)
   (rewrite "all_finite_least_bounded")
   (use "finiteness_lemma")
   (expand "nonempty?")
   (prop))


proof_type: j_proof
decl_type: tcc
library: orders
theory: pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "complete_upper_semilattice?")
   (skolem-typepred)
   (rewrite "pointwise_preserves_partial_order")
   (skolem!)
   (rewrite "least_bounded_above_pointwise")
   (skolem!)
   (rewrite "all_least_bounded"))


proof_type: j_proof
decl_type: tcc
library: orders
theory: pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "lower_semilattice?")
   (skosimp* t)
   (rewrite "greatest_bounded_below_pointwise")
   (skolem!)
   (rewrite "all_finite_greatest_bounded")
   (use "finiteness_lemma")
   (expand "nonempty?")
   (prop))


proof_type: j_proof
decl_type: tcc
library: orders
theory: pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "complete_lower_semilattice?")
   (skolem-typepred)
   (rewrite "pointwise_preserves_partial_order")
   (skolem!)
   (rewrite "greatest_bounded_below_pointwise")
   (skolem!)
   (rewrite "all_greatest_bounded"))


proof_type: j_proof
decl_type: tcc
library: orders
theory: sets_complete_lattices
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (rewrite "subset_equals_pointwise_implies")
   (rewrite "pointwise_preserves_complete_lattices"))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand* "complement?" "o" "id")
   (flatten)
   (decompose-equality)
   (inst?))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp* t)
   (decompose-equality)
   (expand "image")
   (iff)
   (prop)
   (("1" (skosimp* t) (use "complement_complement") (assert))
    ("2"
     (inst + "C!1(x!1)")
     (("1" (rewrite "complement_complement")) ("2" (inst?))))))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (decompose-equality)
   (rewrite "bijective_inverse[T, T]")
   (("1" (rewrite "complement_complement"))
    ("2"
     (lemma "left_inj_surj[T, T]")
     (inst - "C!1" "C!1")
     (("1" (expand "bijective?") (propax))
      ("2"
       (expand* "left_inverse?" "complement?" "o" "id")
       (flatten)
       (decompose-equality))))))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (prop)
   (("1"
     (expand* "complement?" "preserves" "converse")
     (flatten)
     (inst - "C!1(t1!1)" "C!1(t2!1)")
     (assert)
     (rewrite "complement_complement")
     (rewrite "complement_complement"))
    ("2"
     (expand* "complement?" "preserves" "converse")
     (flatten)
     (inst?)
     (assert))))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (prop)
   (("1"
     (expand* "lower_bound?" "upper_bound?")
     (skolem-typepred)
     (inst - "C!1(r!1)")
     (("1"
       (use "le_complement" ("t2" "C!1(t!1)"))
       (assert)
       (rewrite "complement_complement"))
      ("2"
       (expand "image")
       (skolem-typepred)
       (use "complement_complement" ("t" "x!1"))
       (assert))))
    ("2"
     (expand* "lower_bound?" "upper_bound?")
     (skolem-typepred)
     (inst - "C!1(r!1)")
     (("1" (rewrite "le_complement")) ("2" (expand "image") (inst?))))))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "bounded_above?" "bounded_below?")
   (prop)
   (("1"
     (skolem!)
     (inst + "C!1(t!1)")
     (use "upper_bound_complement")
     (assert))
    ("2"
     (skolem!)
     (inst + "C!1(t!1)")
     (use "upper_bound_complement")
     (rewrite "complement_complement")
     (assert))))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "least_upper_bound?" "greatest_lower_bound?")
   (prop)
   (("1" (use "upper_bound_complement") (assert))
    ("2"
     (skosimp)
     (hide -2)
     (inst - "C!1(r!1)")
     (use "upper_bound_complement")
     (rewrite "complement_complement")
     (assert)
     (use "le_complement" ("t1" "C!1(r!1)" "t2" "t!1"))
     (assert)
     (rewrite "complement_complement"))
    ("3" (use "upper_bound_complement") (assert))
    ("4"
     (skosimp)
     (hide -2)
     (inst - "C!1(r!1)")
     (use "upper_bound_complement")
     (assert)
     (rewrite "le_complement"))))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "least_bounded_above?" "greatest_bounded_below?")
   (prop)
   (("1" (skolem!) (use "least_upper_bound_complement") (inst?) (assert))
    ("2"
     (skolem!)
     (inst + "C!1(t!1)")
     (use "least_upper_bound_complement")
     (rewrite "complement_complement")
     (assert))))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (invoke (name-replace "T" "%1" :hide? nil) (! 1 r 1))
   (use "unique_least_upper_bound")
   (rewrite "glb_def")
   (use "least_upper_bound_complement")
   (rewrite "complement_complement")
   (assert))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (invoke (name-replace "T" "%1" :hide? nil) (! 1 r 1))
   (use "unique_greatest_lower_bound")
   (rewrite "lub_def")
   (use "least_upper_bound_complement")
   (rewrite "image_complement")
   (assert))


proof_type: t_proof
decl_type: tcc
library: orders
theory: complementary_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (use "least_bounded_above_complement" ("S" "image[T, T](C!1, S!1)"))
   (rewrite "image_complement")
   (assert))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_lattices
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (decompose-equality)
   (expand* "dual" "o")
   (rewrite "complement_complement")
   (rewrite "complement_complement"))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_lattices
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "dual" "o")
   (lemma "le_complement")
   (inst - "<=" "C!1(t!1)" "H!1(C!1(t!1))" "C!1")
   (rewrite "complement_complement")
   (prop))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_lattices
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "dual" "o")
   (lemma "le_complement")
   (inst - "<=" "H!1(C!1(t!1))" "C!1(t!1)" "C!1")
   (rewrite "complement_complement")
   (prop))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_lattices
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "dual" "o")
   (lemma "le_complement")
   (inst - "<=" "t!1" "H!1(t!1)" "C!1")
   (rewrite "complement_complement")
   (prop))


proof_type: f_proof
decl_type: formula
library: orders
theory: complementary_lattices
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "dual" "o")
   (lemma "le_complement")
   (inst - "<=" "H!1(t!1)" "t!1" "C!1")
   (rewrite "complement_complement")
   (prop))


proof_type: f_proof
decl_type: formula
library: orders
theory: fixed_points
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "lower_bound?")
   (skosimp* t)
   (inst?)
   (expand* "prefixed_point?" "monotone?" "complete_lower_semilattice?"
    "partial_order?" "preorder?" "transitive?")
   (flatten)
   (inst - "x!1" "r!1")
   (inst - "f!1(x!1)" "f!1(r!1)" "r!1")
   (assert))


proof_type: f_proof
decl_type: formula
library: orders
theory: fixed_points
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand* "greatest_lower_bound?" "fixed_point?")
   (skosimp* t)
   (inst - "f!1(x!1)")
   (rewrite "prefixed_points_lower_bounds")
   (expand "lower_bound?")
   (inst - "f!1(x!1)")
   (("1" (use "antisymmetric") (assert))
    ("2" (expand* "prefixed_point?" "monotone?") (inst?) (assert))))


proof_type: f_proof
decl_type: formula
library: orders
theory: fixed_points
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (expand "complete_lower_semilattice?")
   (flatten)
   (invoke (inst - "%1") (! 1 2))
   (expand "greatest_bounded_below?")
   (skolem!)
   (forward-chain "least_prefixed_point_is_fixed_point")
   (expand* "greatest_lower_bound?" "lfp?" "least?")
   (flatten)
   (hide -6 -4)
   (expand "lower_bound?")
   (skolem-typepred)
   (inst?)
   (inst - "t!1")
   (expand* "partial_order?" "preorder?" "transitive?")
   (flatten)
   (inst - "x!1" "t!1" "r!1")
   (assert))


proof_type: f_proof
decl_type: formula
library: orders
theory: fixed_points
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (prop)
   (("1"
     (expand "greatest_lower_bound?")
     (rewrite "least_fixed_point_le_prefixed_points")
     (skosimp)
     (expand "lower_bound?")
     (inst?)
     (expand* "lfp?" "least?")
     (flatten)
     (expand* "prefixed_point?" "fixed_point?"
      "complete_lower_semilattice?" "partial_order?" "preorder?"
      "reflexive?")
     (flatten)
     (inst - "x!1")
     (assert))
    ("2"
     (expand* "lfp?" "least?")
     (rewrite "least_prefixed_point_is_fixed_point")
     (expand* "greatest_lower_bound?" "lower_bound?")
     (skosimp :preds? t)
     (inst?)
     (expand* "prefixed_point?" "fixed_point?"
      "complete_lower_semilattice?" "partial_order?" "preorder?"
      "reflexive?")
     (flatten)
     (inst -3 "r!1")
     (assert))))


proof_type: f_proof
decl_type: formula
library: orders
theory: fixed_points
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (rewrite "nonempty_exists")
   (inst + "glb[T](lesseqp!1)(prefixed_point?(lesseqp!1)(f!1))")
   (("1" (rewrite "least_prefixed_point") (assert))
    ("2" (expand "complete_lower_semilattice?") (flatten) (inst?))))


proof_type: f_proof
decl_type: formula
library: orders
theory: fixed_points
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "unique?")
   (skosimp*)
   (rewrite "least_prefixed_point")
   (rewrite "least_prefixed_point")
   (use "unique_greatest_lower_bound"))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (decompose-equality)
   (decompose-equality)
   (rewrite "subset_equals_pointwise_implies")
   (expand "restrict")
   (rewrite "glb_pointwise_def")
   (("1"
     (assert)
     (invoke (case "greatest_lower_bound?(%1, %2, IMPLIES)") (! 1 l)
      (! 1 r 1))
     (("1"
       (use "glb_def[bool]")
       (("1" (assert)) ("2" (expand "greatest_bounded_below?") (inst?))))
      ("2"
       (hide 2)
       (expand* "glb" "member" "greatest_lower_bound?")
       (split)
       (("1" (expand "lower_bound?") (skosimp* t) (inst?) (assert))
        ("2"
         (skosimp* t)
         (expand "lower_bound?")
         (inst - "p!1(x!2)")
         (("1" (assert)) ("2" (inst?))))))))
    ("2" (skolem!) (rewrite "all_greatest_bounded[bool]"))))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (rewrite "glb_equals_glb")
   (expand "restrict")
   (rewrite "leq_equals_subset")
   (use "glb_le[set[T]]"))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (rewrite "leq_equals_subset")
   (rewrite "glb_equals_glb")
   (expand "restrict")
   (rewrite "glb_ge")
   (expand "lower_bound?")
   (propax))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (decompose-equality)
   (decompose-equality)
   (expand "restrict")
   (rewrite "subset_equals_pointwise_implies")
   (rewrite "lub_pointwise_def")
   (("1"
     (assert)
     (invoke (case "least_upper_bound?(%1, %2, IMPLIES)") (! 1 l)
      (! 1 r 1))
     (("1"
       (use "lub_def[bool]")
       (("1" (assert)) ("2" (expand "least_bounded_above?") (inst?))))
      ("2"
       (hide 2)
       (expand* "lub" "member" "least_upper_bound?")
       (split)
       (("1" (expand "upper_bound?") (skosimp* t) (inst?) (assert))
        ("2"
         (skosimp*)
         (expand "upper_bound?")
         (inst - "p!1(x!2)")
         (("1" (assert)) ("2" (inst?))))))))
    ("2" (skolem!) (rewrite "all_least_bounded"))))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (rewrite "lub_equals_lub")
   (expand "restrict")
   (rewrite "leq_equals_subset")
   (use "lub_ge[set[T]]"))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (rewrite "leq_equals_subset")
   (rewrite "lub_equals_lub")
   (expand "restrict")
   (rewrite "lub_le")
   (expand "upper_bound?")
   (propax))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "mu" "lfp" "prefixed_point?")
   (rewrite "glb_equals_glb")
   (expand "restrict")
   (rewrite "leq_equals_subset"))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (rewrite "mu_equals_least_prefixed_point")
   (rewrite "leq_equals_subset")
   (rewrite "glb_le")
   (expand "prefixed_point?")
   (propax))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (use "monotonic_is_monotone")
   (rewrite "fixpoint_equals_fixed_point")
   (rewrite "mu_equals_least_prefixed_point")
   (rewrite "leq_equals_subset")
   (use "least_prefixed_point_is_fixed_point")
   (assert))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (rewrite "leq_equals_subset")
   (use "subset_reflexive[T]")
   (rewrite "fixpoint_mu1"))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (rewrite "mu_equals_least_prefixed_point")
   (rewrite "leq_equals_subset")
   (rewrite "glb_le")
   (hide 2)
   (expand* "prefixed_point?" "fixpoint?" "fixpoint?")
   (use "reflexivity[set[T]]")
   (rewrite "leq_equals_subset")
   (assert))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (decompose-equality)
   (iff)
   (expand* "lfp?" "lfp?" "least?" "lower_bound?")
   (auto-rewrite "fixpoint2_equals_fixed_point")
   (assert)
   (prop)
   (("1" (skolem-typepred) (inst?) (assert)) ("2" (skosimp) (inst?))))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand* "mu" "lfp" "nu" "gfp")
   (rewrite "leq_equals_subset")
   (rewrite "glb_equals_glb")
   (expand "restrict")
   (rewrite "lub_equals_lub")
   (use "glb_complement")
   (invoke (then (case-replace "%1 = %2") (assert)) (! -1 r 1 1)
    (! 1 r 1 1))
   (("1" (expand "restrict") (propax))
    ("2"
     (hide-all-but 1)
     (decompose-equality)
     (expand "image")
     (iff)
     (prop)
     (("1"
       (skolem-typepred)
       (use "dual_inclusion3")
       (rewrite "leq_equals_subset")
       (rewrite "dual_dual")
       (assert))
      ("2"
       (inst + "C!1(x!1)")
       (("1" (rewrite "complement_complement"))
        ("2"
         (use "dual_inclusion4")
         (rewrite "leq_equals_subset")
         (assert))))))))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (case-replace "C!1(mu(F!1)) = C!1(mu(dual(C!1)(dual(C!1)(F!1))))")
   (("1"
     (hide -1)
     (rewrite "least_fixpoint_dual")
     (rewrite "complement_complement"))
    ("2" (rewrite "dual_dual"))))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (case-replace "nu(F!1) = nu(dual(complement)(dual(complement)(F!1)))")
   (("1"
     (rewrite "greatest_fixpoint_dual")
     (use "closure_mu")
     (use "dual_inclusion2")
     (assert))
    ("2" (rewrite "dual_dual"))))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (case-replace "nu(F!1) = nu(dual(complement)(dual(complement)(F!1)))")
   (("1"
     (rewrite "greatest_fixpoint_dual")
     (lemma "le_complement")
     (inst - "<=" "complement(p!1)" "mu(dual(complement)(F!1))"
      "complement")
     (use "complement_complement")
     (assert)
     (rewrite "smallest_closed")
     (use "dual_inclusion4")
     (assert))
    ("2" (rewrite "dual_dual"))))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (case-replace "nu(F!1) = nu(dual(complement)(dual(complement)(F!1)))")
   (("1"
     (rewrite "greatest_fixpoint_dual")
     (use "fixpoint_mu1")
     (expand "dual" -1 1)
     (expand "o")
     (lemma "complement_complement")
     (invoke (inst - "<=" "%1" "complement") (! 1 l))
     (assert))
    ("2" (rewrite "dual_dual"))))


proof_type: f_proof
decl_type: formula
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (case-replace "nu(F!1) = nu(dual(complement)(dual(complement)(F!1)))")
   (("1"
     (rewrite "greatest_fixpoint_dual")
     (lemma "least_fixpoint1")
     (inst - "dual(complement)(F!1)" "complement(p!1)")
     (expand "dual" -1 1)
     (expand "o")
     (lemma "complement_complement")
     (inst - "<=" _ _)
     (inst?)
     (assert)
     (lemma "le_complement")
     (inst - "<=" "complement(p!1)" "mu(dual(complement)(F!1))"
      "complement")
     (assert))
    ("2" (rewrite "dual_dual"))))


proof_type: j_proof
decl_type: tcc
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (rewrite "lfp_equals_lfp")
   (rewrite "mu_equals_least_prefixed_point")
   (rewrite "leq_equals_subset")
   (rewrite "least_prefixed_point")
   (assert))


proof_type: j_proof
decl_type: tcc
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand* "monotonic?" "dual" "o")
   (skosimp)
   (inst - "C!1(p2!1)" "C!1(p1!1)")
   (rewrite "le_complement")
   (assert)
   (use "le_complement")
   (assert))


proof_type: j_proof
decl_type: tcc
library: orders
theory: new_mucalculus_prop
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "gfp?" "gfp?" "fixpoint?")
   (prop)
   (("1" (rewrite "fixpoint_nu1"))
    ("2" (skosimp) (rewrite "greatest_fixpoint1"))))


proof_type: f_proof
decl_type: formula
library: orders
theory: integer_enumerations
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "c" :name "NAT_induction")
   (skosimp*)
   (invoke (case "i!1 = %1") (! -2 r r))
   (("1" (inst + "0") (expand "enum") (propax))
    ("2"
     (use "remove_least")
     (use "infinite_nonempty")
     (assert)
     (hide -1)
     (inst -
      "i!1 - least[T](restrict[[real, real], [T, T], boolean](<=))(remove(least[T](restrict[[real, real], [T, T], boolean](<=))(S!1), S!1))")
     (("1"
       (assert)
       (invoke (inst - "%1" "i!1") (! -1 r 1))
       (("1" (skolem!) (inst + "n!1 + 1") (expand "enum" +) (propax))
        ("2" (expand* "remove" "member"))))
      ("2"
       (lemma "least_le")
       (inst - "restrict[[real, real], [T, T], boolean](<=)"
        "remove[T](least[T](restrict[[real, real], [T, T], boolean](<=))(S!1), S!1)"
        "i!1")
       (("1" (expand "restrict") (assert))
        ("2" (expand* "remove" "member"))))))))


proof_type: f_proof
decl_type: formula
library: orders
theory: integer_enumerations
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (lemma "enum_surjective_lem")
   (inst? -)
   (inst -
    "i!1 - least(restrict[[real, real], [T, T], boolean](<=))(S!1)")
   (use "least_le")
   (expand "restrict" -1 1)
   (assert))


proof_type: f_proof
decl_type: formula
library: orders
theory: integer_enumerations
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (decompose-equality)
   (iff)
   (expand "image")
   (prop)
   (("1" (skolem!) (replace -1 :hide? t) (rewrite "enum_member"))
    ("2"
     (use "enum_surjective")
     (skolem!)
     (inst?)
     (expand "fullset")
     (propax))))


proof_type: f_proof
decl_type: formula
library: orders
theory: integer_enumerations
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "n")
   (("1"
     (skosimp)
     (expand "enum")
     (lemma "least_monotone")
     (invoke (inst - "%1" _ _) (! 1 l 0 1))
     (inst?)
     (expand "restrict" -1 1)
     (assert))
    ("2"
     (skosimp*)
     (expand "enum" +)
     (inst?)
     (prop)
     (rewrite "remove_least_monotone"))))


proof_type: f_proof
decl_type: formula
library: orders
theory: integer_enumerations
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "n")
   (("1"
     (skolem!)
     (expand* "enum" "enum")
     (rewrite "remove_least")
     (use "infinite_nonempty"))
    ("2" (skosimp*) (expand "enum" +) (inst?) (assert))))


proof_type: f_proof
decl_type: formula
library: orders
theory: integer_enumerations
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (expand* "bijective?" "injective?" "surjective?")
   (split)
   (("1"
     (skosimp)
     (use "enum_strictly_monotone")
     (expand "strictly_monotone?")
     (inst-cp - "x2!1" "x1!1")
     (inst - "x1!1" "x2!1")
     (ground))
    ("2" (skolem!) (use "enum_surjective") (skolem!) (inst?) (assert))))


proof_type: j_proof
decl_type: tcc
library: orders
theory: integer_enumerations
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand* "enumerable?" "non_empty_bounded_below?")
   (prop)
   (use "infinite_nonempty"))


proof_type: j_proof
decl_type: tcc
library: orders
theory: integer_enumerations
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand "enumerable?")
   (prop)
   (("1" (rewrite "remove_preserves_bounded_below"))
    ("2" (rewrite "infinite_remove"))))


proof_type: j_proof
decl_type: tcc
library: orders
theory: integer_enumerations
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "n")
   (("1"
     (skolem!)
     (expand "enum")
     (invoke (typepred "%1") (! 1 1))
     (expand* "least?" "member")
     (flatten))
    ("2"
     (skosimp*)
     (expand "enum" +)
     (inst?)
     (expand "remove" - 1)
     (expand "member")
     (flatten))))


proof_type: j_proof
decl_type: tcc
library: orders
theory: integer_enumerations
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "strictly_monotone?")
   (skosimp*)
   (generalize-skolem-constants)
   (induct "n_1" :name "NAT_induction")
   (skosimp*)
   (inst - "j!1 - 1")
   (("1"
     (assert)
     (inst?)
     (lemma "enum_strictly_ascending")
     (inst - _ "j!1 - 1")
     (inst?)
     (assert))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: orders
theory: finite_pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (use "infinite_pigeonhole")
   (skolem!)
   (inst?)
   (use "enumerable")
   (("1"
     (skolem-typepred)
     (inst?)
     (("1"
       (skolem!)
       (decompose-equality)
       (inst - "f!2(n!1)")
       (expand* "image" "inverse_image" "singleton" "member")
       (replace*)
       (assert)
       (inst?)
       (expand "fullset")
       (propax))
      ("2"
       (expand* "strictly_monotone?" "preserves" "preserves"
        "restrict"))))
    ("2"
     (expand* "enumerable?" "bounded_below?")
     (assert)
     (inst + 0)
     (expand* "lower_bound?" "restrict"))))


proof_type: f_proof
decl_type: formula
library: orders
theory: finite_pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "descending?")
   (inst?)
   (expand* "strictly_pointwise" "irreflexive_kernel" "difference"
    "member")
   (flatten)
   (decompose-equality)
   (expand* "pointwise" "reflexive_closure" "union" "member")
   (inst?)
   (inst?)
   (assert))


proof_type: f_proof
decl_type: formula
library: orders
theory: finite_pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "descending?")
   (skosimp*)
   (inst?)
   (expand* "strictly_pointwise" "irreflexive_kernel" "difference"
    "member" "pointwise")
   (flatten)
   (inst?))


proof_type: f_proof
decl_type: formula
library: orders
theory: finite_pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (use "infinite_pigeonhole")
   (inst -
    "LAMBDA n: epsilon({d | rel!1(seq!1(n + 1)(d), seq!1(n)(d))})")
   (("1"
     (skolem-typepred)
     (inst? +)
     (inst? +)
     (expand "descending?" +)
     (skolem!)
     (inst - "n!1")
     (use "epsilon_ax[D]")
     (("1"
       (replace -3 :hide? t)
       (split)
       (("1"
         (lemma "descending_lem[R]")
         (inst - "reflexive_closure(rel!1)" "LAMBDA n: seq!1(n)(d!1)")
         (("1"
           (expand* "preserves" "restrict" "converse" "reflexive_closure"
            "union" "member")
           (inst - "g!1(n!1) + 1" "g!1(1 + n!1)")
           (assert)
           (split)
           (("1"
             (lemma "transitive[R]")
             (inst - "rel!1" "seq!1(g!1(1 + n!1))(d!1)"
              "seq!1(g!1(n!1) + 1)(d!1)" "seq!1(g!1(n!1))(d!1)")
             (assert))
            ("2"
             (expand* "preserves" "preserves" "restrict")
             (inst - "n!1" "n!1 + 1")
             (assert))))
          ("2" (rewrite "descending_reflexive_closure"))))
        ("2" (rewrite "descending_exists"))))
      ("2" (inst + "d!1"))))
    ("2" (use "descending_exists") (assert) (skolem!) (inst?))))


proof_type: j_proof
decl_type: tcc
library: orders
theory: finite_pointwise_orders
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand "well_founded_order?")
   (prop)
   (("1"
     (rewrite "no_infinite_descending_sequence[R]")
     (rewrite "no_infinite_descending_sequence[[D->R]]")
     (expand* "empty?" "member")
     (skolem!)
     (forward-chain "pointwise_pigeonhole")
     (skolem!)
     (inst?))
    ("2"
     (expand "strictly_pointwise")
     (invoke (typepred "%1") (! 1 1))
     (expand "strict_order?")
     (flatten))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (grind :defs nil :rewrites
    ("continuity_def2" "const_fun_convergent[T]" "adherence_fullset[T]")))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (rewrite continuity_def2)
   (rewrite continuity_def2)
   (rewrite continuity_def2)
   (lemma "convergent_in_domain[T]")
   (inst - "g!1" "x0!1")
   (assert)
   (lemma "convergent_in_domain[T]")
   (inst - "f!1" "x0!1")
   (assert)
   (hide -3 -4)
   (expand "convergent?")
   (inst + "f!1(x0!1)/g!1(x0!1)")
   (lemma "cv_div[T]")
   (inst?)
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (rewrite continuity_def2)
   (rewrite continuity_def2)
   (rewrite "convergent_in_domain[T]")
   (lemma "cv_inv[T]")
   (inst?)
   (expand "convergent?")
   (inst?)
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (grind :defs nil :rewrites
    ("continuity_def2" "adherence_fullset[T]" "convergent_identity[T]")))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem 1 ("f" "_" "x0"))
   (induct "n")
   (("1"
     (flatten)
     (lemma "const_continuous" ("u" "1"))
     (inst - "x0")
     (expand "const_fun")
     (lemma "extensionality_postulate"
      ("f" "LAMBDA (x: T): 1" "g" "f^0"))
     (flatten)
     (hide -2)
     (split -1)
     (("1" (assert))
      ("2"
       (hide-all-but 1)
       (skosimp)
       (expand "^")
       (expand "^")
       (expand "expt")
       (propax))))
    ("2"
     (skosimp)
     (assert)
     (lemma "prod_continuous" ("x0" "x0" "f1" "f" "f2" "f^j!1"))
     (assert)
     (lemma "extensionality_postulate"
      ("f" "f * f ^ j!1" "g" "f^(1+j!1)"))
     (flatten)
     (hide -2)
     (split -1)
     (("1" (assert))
      ("2"
       (hide-all-but 1)
       (skosimp)
       (expand "*")
       (expand "^")
       (expand "^")
       (expand "expt" 1 2)
       (propax))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (rewrite "continuous_on_def")
   (rewrite "continuous_on_def")
   (rewrite "continuous_on_def")
   (skosimp*)
   (inst?)
   (inst?)
   (grind :exclude "convergence" :rewrites ("convergence_sum[T]")))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (rewrite "continuous_on_def")
   (rewrite "continuous_on_def")
   (rewrite "continuous_on_def")
   (skosimp*)
   (inst?)
   (inst?)
   (grind :exclude "convergence" :rewrites ("convergence_diff[T]")))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (rewrite "continuous_on_def")
   (rewrite "continuous_on_def")
   (rewrite "continuous_on_def")
   (skosimp*)
   (inst?)
   (inst?)
   (grind :exclude "convergence" :rewrites ("convergence_prod[T]")))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (rewrite "continuous_on_def")
   (skosimp*)
   (grind :exclude ("convergence" "adh") :rewrites
    ("convergence_const[T]" "member_adherent[T]")))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (rewrite "continuous_on_def")
   (rewrite "continuous_on_def")
   (skosimp*)
   (inst - "y!1")
   (grind :exclude "convergence" :rewrites ("convergence_scal[T]")))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (rewrite "continuous_on_def")
   (rewrite "continuous_on_def")
   (skosimp*)
   (inst?)
   (grind :exclude "convergence" :rewrites ("convergence_neg[T]")))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (rewrite "continuous_on_def")
   (rewrite "continuous_on_def")
   (rewrite "continuous_on_def")
   (skosimp*)
   (inst?)
   (inst?)
   (grind :exclude "convergence" :rewrites ("convergence_div[T]")))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (rewrite "continuous_on_def")
   (rewrite "continuous_on_def")
   (skosimp*)
   (inst - "y!1")
   (grind :exclude "convergence" :rewrites ("convergence_inv[T]")))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (grind :exclude ("convergence" "adh") :rewrites
    ("convergence_identity[T]" "member_adherent[T]")))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "continuous?")
   (split +)
   (("1"
     (flatten)
     (expand "continuous_on?")
     (expand "continuous?")
     (skosimp*)
     (inst?)
     (inst - "epsilon!1")
     (assert)
     (skosimp*)
     (inst + delta!1)
     (skosimp*)
     (inst?)
     (assert))
    ("2"
     (flatten)
     (skosimp*)
     (expand "continuous_on?")
     (expand "continuous?")
     (skosimp*)
     (inst?)
     (("1"
       (inst - "epsilon!1")
       (skosimp*)
       (inst + delta!1)
       (skosimp*)
       (inst?)
       (("1" (assert)) ("2" (expand "restrict") (propax))))
      ("2" (expand "restrict") (propax))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "continuous?")
   (expand "continuous?")
   (expand "continuous_on?")
   (skosimp*)
   (inst?)
   (inst - "epsilon!1")
   (skosimp*)
   (inst + "delta!1")
   (skosimp*)
   (inst?)
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case-replace
    "(LAMBDA x: m!1 * x + b!1) = m!1 * I[T] + const_fun(b!1)")
   (("1"
     (hide -1)
     (auto-rewrite "scal_fun_continuous")
     (auto-rewrite "sum_fun_continuous")
     (auto-rewrite "const_fun_continuous")
     (assert))
    ("2" (hide 2) (apply-extensionality 1 :hide? t) (grind))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "inv_fun_continuous")
   (inst - "I")
   (("1" (expand "I") (expand "/") (flatten))
    ("2" (expand "I") (skosimp*) (assert) (inst?) (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "n" 1)
   (("1"
     (expand "^")
     (expand "expt")
     (lemma "const_fun_continuous")
     (inst?)
     (expand "const_fun")
     (propax))
    ("2"
     (skosimp*)
     (case-replace "(LAMBDA x: x ^ (j!1 + 1)) = (LAMBDA x: x*x ^ j!1)")
     (("1"
       (hide -1)
       (lemma "prod_fun_continuous")
       (inst -1 "(LAMBDA x: x)" "(LAMBDA x: x ^ j!1)")
       (("1" (expand "*") (propax))
        ("2"
         (hide -1 2)
         (lemma "id_fun_continuous")
         (expand "I")
         (propax))))
      ("2"
       (hide -1 2)
       (apply-extensionality :hide? t)
       (expand "^" 1)
       (expand "expt" 1 1)
       (propax))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "continuous?")
   (skosimp*)
   (inst - "x0!1")
   (lemma "expt_continuous")
   (inst?)
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (assert)
   (expand "continuous?")
   (skosimp*)
   (inst?)
   (inst?)
   (lemma "sum_fun_continuous")
   (inst?)
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "continuous?")
   (skosimp*)
   (inst?)
   (inst?)
   (rewrite "diff_continuous"))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "continuous?")
   (skosimp*)
   (inst?)
   (inst?)
   (rewrite "prod_continuous"))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "continuous?")
   (skosimp*)
   (inst -1 "x0!1")
   (rewrite "scal_continuous"))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (assert)
   (expand "continuous?")
   (skosimp*)
   (inst?)
   (rewrite "neg_continuous"))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (assert)
   (expand "continuous?")
   (skosimp*)
   (inst?)
   (inst?)
   (rewrite "div_continuous"))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "continuous?")
   (skosimp*)
   (inst -1 "x0!1")
   (rewrite "inv_continuous"))


proof_type: t_proof
decl_type: tcc
library: analysis_ax
theory: continuous_functions
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (inst + "I[T]")
   (rewrite "continuous_def2")
   (rewrite "identity_set_continuous")
   (rewrite "subset_reflexive"))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: deriv_domain_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (flatten)
   (expand "connected?")
   (expand "not_one_element?")
   (expand "deriv_domain?")
   (skolem!)
   (inst -2 "x!1")
   (skosimp*)
   (case "abs(y!1 - x!1) < e!1")
   (("1" (inst? 2) (assert))
    ("2"
     (inst 3 "if x!1 < y!1 then e!1/2 else -e!1/2 endif")
     (("1" (grind)) ("2" (flatten) (inst - "y!1" "x!1" "_") (grind))
      ("3" (inst - "x!1" "y!1" "_") (inst?) (flatten) (grind))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: deriv_domain_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (flatten)
   (expand "deriv_domain?")
   (skosimp*)
   (expand "del_neigh_all?")
   (inst - "x!1")
   (skosimp*)
   (inst - "x!1 + min(del!1,e!1)/2")
   (split -1)
   (("1" (inst + "min(del!1, e!1) / 2") (("1" (grind)) ("2" (grind))))
    ("2" (grind))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (expand "derivable?")
   (expand "convergent?")
   (skosimp*)
   (forward-chain "deriv_continuous"))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (auto-rewrite "derivable?" "sum_NQ" "deriv_TCC")
   (skosimp)
   (assert)
   (use "sum_fun_convergent[(A(x!1))]")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (auto-rewrite "derivable?" "neg_NQ" "deriv_TCC")
   (skosimp)
   (assert)
   (use "neg_fun_convergent[(A(x!1))]")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (auto-rewrite "derivable?" "diff_NQ" "deriv_TCC")
   (skosimp)
   (assert)
   (use "diff_fun_convergent[(A(x!1))]")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (expand "derivable?")
   (expand "convergent?")
   (skosimp*)
   (use "cnv_seq_prod_NQ")
   (assert)
   (inst?))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (auto-rewrite "derivable?" "scal_NQ" "deriv_TCC")
   (skosimp)
   (assert)
   (use "scal_fun_convergent[(A(x!1))]")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skolem!)
   (auto-rewrite "derivable?" "const_NQ" "deriv_TCC")
   (assert)
   (lemma "const_fun_convergent[(A(x!1))]")
   (inst - "0" "0"))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (expand "derivable?")
   (expand "convergent?")
   (skosimp*)
   (use "cnv_seq_inv_NQ")
   (assert)
   (inst?))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (rewrite "div_function[T]")
   (rewrite "prod_derivable")
   (rewrite "inv_derivable"))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skolem!)
   (auto-rewrite "derivable?" "identity_NQ" "deriv_TCC")
   (assert)
   (use "const_fun_convergent[(A(x!1))]" ("b" "1" "c" "0")))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp)
   (auto-rewrite "deriv_TCC" "sum_derivable" "derivable?" "deriv"
                 "sum_NQ" "lim_sum_fun[(A(x!1))]")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp)
   (auto-rewrite "deriv_TCC" "neg_derivable" "derivable?" "deriv"
                 "neg_NQ" "lim_neg_fun[(A(x!1))]")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp)
   (auto-rewrite "deriv_TCC" "diff_derivable" "derivable?" "deriv"
                 "diff_NQ" "lim_diff_fun[(A(x!1))]")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp)
   (use "prod_derivable")
   (assert)
   (auto-rewrite "deriv" "deriv_TCC" "derivable?"
                 ("lim_fun_def[(A(x!1))]" "lim_fun_lemma[(A(x!1))]"))
   (assert)
   (use "cnv_seq_prod_NQ"
        ("l1" "lim(NQ(f1!1, x!1), 0)" "l2" "lim(NQ(f2!1, x!1), 0)"))
   (ground))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp)
   (auto-rewrite "deriv_TCC" "const_derivable" "derivable?" "deriv"
                 "const_NQ")
   (assert)
   (use "lim_const_fun[(A(x!1))]" ("b" "0" "c" "0")))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp)
   (auto-rewrite "deriv_TCC" "scal_derivable" "derivable?" "deriv"
                 "scal_NQ" "lim_scal_fun[(A(x!1))]")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp)
   (forward-chain "inv_derivable")
   (assert)
   (auto-rewrite "deriv" "deriv_TCC" "derivable?"
                 ("lim_fun_def[(A(x!1))]" "lim_fun_lemma[(A(x!1))]"))
   (assert)
   (use "cnv_seq_inv_NQ" ("l1" "lim(NQ(g!1, x!1), 0)"))
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (grind :defs nil :rewrites
    ("inv_derivable" "deriv_inv" "deriv_prod" "div_function[T]" "/")))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp)
   (auto-rewrite "deriv_TCC" "identity_derivable" "derivable?" "deriv"
                 "identity_NQ")
   (use "lim_const_fun[(A(x!1))]" ("b" "1" "c" "0"))
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "derivable?")
   (expand "continuous?")
   (grind :defs nil :rewrites "derivable_continuous"))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand "derivable?")
   (apply-extensionality :hide? t)
   (expand "+" 1 2)
   (expand "deriv")
   (rewrite "deriv_sum")
   (("1" (inst?)) ("2" (inst? -2))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand "derivable?")
   (apply-extensionality :hide? t)
   (expand "-" 1 2)
   (expand "deriv")
   (rewrite "deriv_neg")
   (inst?))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand "derivable?")
   (apply-extensionality :hide? t)
   (expand "-" 1 2)
   (expand "deriv")
   (rewrite "deriv_diff")
   (("1" (inst?)) ("2" (inst? -2))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand "derivable?")
   (apply-extensionality :hide? t)
   (expand "+" +)
   (expand "*" 1 2)
   (expand "*" 1 2)
   (expand "deriv")
   (rewrite "deriv_prod")
   (("1" (inst?)) ("2" (inst? -2))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand "derivable?")
   (apply-extensionality :hide? t)
   (expand "*" 1 2)
   (expand "deriv")
   (rewrite "deriv_scal")
   (inst?))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand "derivable?")
   (apply-extensionality :hide? t)
   (("1"
     (expand "/" 1 2)
     (expand "-" +)
     (expand "*" +)
     (expand "deriv")
     (rewrite "deriv_inv")
     (inst?))
    ("2" (delete -) (grind :rewrites "zero_times3"))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (case-replace "b!1 / gg!1 = b!1 * (1/gg!1)")
   (("1"
     (rewrite "deriv_scal_fun")
     (rewrite "deriv_inv_fun")
     (delete -)
     (apply-extensionality :hide? t)
     (expand "/")
     (expand "*")
     (expand "-")
     (assert))
    ("2" (hide 2) (assert) (apply-extensionality :hide? t) (grind))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (expand "derivable?")
   (apply-extensionality :hide? t)
   (("1"
     (inst?)
     (inst?)
     (expand "/" 1 2)
     (expand "-" +)
     (expand "*")
     (expand "deriv")
     (rewrite "deriv_div"))
    ("2" (delete -) (grind :rewrites "zero_times3"))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "deriv" 1)
   (assert)
   (apply-extensionality 1 :hide? t)
   (("1" (lemma "deriv_const") (expand "const_fun") (inst?))
    ("2"
     (skosimp*)
     (lemma "const_derivable_fun")
     (expand "const_fun")
     (inst?)
     (expand "derivable?" -1)
     (inst?))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (auto-rewrite "I" "const_fun" "deriv_identity" "identity_derivable")
   (expand "deriv")
   (apply-extensionality :hide? t)
   (("1" (lemma "deriv_identity") (inst?) (expand "I") (propax))
    ("2"
     (skosimp*)
     (lemma "id_derivable_fun")
     (expand "derivable?" -1)
     (inst?))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (assert)
   (lemma "const_derivable_fun[T]")
   (expand "const_fun")
   (inst - "b!1")
   (lemma "id_derivable_fun")
   (lemma "scal_derivable_fun[T]")
   (inst - "m!1" "(LAMBDA x: x)")
   (assert)
   (expand "*" -1)
   (case "derivable?(LAMBDA x: m!1 * x + b!1)")
   (("1"
     (assert)
     (lemma "deriv_sum_fun[T]")
     (inst - "(LAMBDA x: m!1 * x)" "(LAMBDA x: b!1)")
     (assert)
     (expand "+ " -1)
     (assert)
     (replace -1)
     (hide -1)
     (apply-extensionality 1 :hide? t)
     (lemma "deriv_scal_fun[T]")
     (inst - "m!1" "(LAMBDA x: x)")
     (expand "*" -1)
     (replace -1)
     (assert)
     (hide -1)
     (lemma "deriv_const_fun[T]")
     (expand "const_fun")
     (inst?)
     (replace -1)
     (assert)
     (lemma "deriv_id_fun[T]")
     (replace -1)
     (assert))
    ("2"
     (hide 2)
     (lemma "sum_derivable_fun[T]")
     (inst - "(LAMBDA x: m!1 * x)" "(LAMBDA x: b!1)")
     (assert)
     (expand "+ " -1)
     (propax))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (induct "n")
   (("1"
     (skosimp*)
     (split)
     (("1"
       (expand "^")
       (expand "^")
       (expand "expt")
       (lemma "const_derivable_fun")
       (inst?)
       (expand "const_fun")
       (propax))
      ("2" (apply-extensionality 1 :hide? t))))
    ("2"
     (skosimp*)
     (inst?)
     (assert)
     (case-replace "j!1 = 0")
     (("1"
       (hide -2)
       (expand "^")
       (expand "^")
       (expand "expt")
       (expand "expt")
       (split +)
       (("1"
         (case-replace "(LAMBDA (t: T): f!1(t)) = f!1")
         (hide 2)
         (apply-extensionality + :hide? t))
        ("2"
         (apply-extensionality 1 :hide? t)
         (("1"
           (expand "*")
           (case-replace "(LAMBDA (t: T): f!1(t)) = f!1")
           (("1" (assert))
            ("2" (hide 2) (apply-extensionality 1 :hide? t))))
          ("2"
           (case-replace "(LAMBDA (t: T): f!1(t)) = f!1")
           (hide 2)
           (apply-extensionality 1 :hide? t))))))
      ("2"
       (assert)
       (flatten)
       (split +)
       (("1"
         (hide -2)
         (expand "derivable?")
         (skosimp*)
         (expand "derivable?")
         (expand "convergent?")
         (inst - "x!1")
         (inst - "x!1")
         (skosimp*)
         (lemma "cnv_seq_prod_NQ")
         (inst -1 "f!1^j!1" "f!1" "l!1" "l!2" "x!1")
         (assert)
         (inst + "(f!1 ^ j!1)(x!1) * l!2 + f!1(x!1) * l!1")
         (case-replace "f!1 ^ (1 + j!1) = f!1 ^ j!1 * f!1")
         (hide -1 -2 -3 2)
         (expand "^")
         (expand "^")
         (expand "expt" 1 1)
         (assert)
         (apply-extensionality 1 :hide? t)
         (expand "*")
         (assert))
        ("2"
         (case-replace "f!1 ^ (1 + j!1) = f!1 ^ j!1 * f!1")
         (("1"
           (hide -1)
           (lemma "deriv_prod_fun")
           (inst?)
           (replace -1)
           (hide -1)
           (replace -2)
           (hide -2)
           (case-replace
            "j!1 * f!1 ^ (j!1 - 1) * deriv(f!1) * f!1 = j!1 * f!1 ^ j!1 * deriv(f!1) ")
           (("1"
             (apply-extensionality 1 :hide? t)
             (hide -1)
             (expand "+ ")
             (expand "*")
             (propax))
            ("2"
             (hide 2)
             (apply-extensionality 1 :hide? t)
             (expand "*")
             (case "deriv(f!1)(x!1) = 0")
             (("1" (assert))
              ("2"
               (lemma "both_sides_times1")
               (inst -1 "deriv(f!1)(x!1)*j!1 "
                "(f!1 ^ (j!1 - 1))(x!1) * f!1(x!1)" "(f!1 ^ j!1)(x!1)")
               (("1"
                 (flatten)
                 (hide -1)
                 (split -1)
                 (("1" (assert) (assert))
                  ("2"
                   (hide -1 -2 2 3)
                   (expand "^")
                   (expand "^")
                   (expand "expt" 1 2)
                   (assert))))
                ("2" (hide -1 -2 3) (flatten) (mult-cases -1))))))))
          ("2"
           (hide -1 -2 -3 2)
           (apply-extensionality 1 :hide? t)
           (expand "^")
           (expand "^")
           (expand "*")
           (expand "expt" 1 1)
           (assert))))))))
    ("3" (hide 2) (skosimp*) (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "deriv_exp_fun")
   (inst - "I" "n!1")
   (assert)
   (flatten)
   (expand "I")
   (expand "^" -1)
   (assert)
   (replace -4 * rl)
   (expand "^" -2)
   (case-replace "(LAMBDA (x: T): x) = I")
   (("1"
     (hide -1)
     (replace -4 * rl)
     (hide -4)
     (replace -2)
     (hide -2)
     (expand "*")
     (apply-extensionality 1 :hide? t)
     (lemma "deriv_identity")
     (inst?)
     (expand "deriv" 1)
     (assert))
    ("2" (expand "I") (propax))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (assert)
   (lemma "deriv_x_n")
   (inst - "LAMBDA x: x ^ n!1" "n!1")
   (assert)
   (flatten)
   (prop)
   (("1"
     (lemma "scal_derivable_fun")
     (inst - "a!1" "LAMBDA x: x ^ n!1")
     (assert)
     (expand "*")
     (propax))
    ("2"
     (lemma "deriv_scal_fun")
     (inst - "a!1" "LAMBDA x: x ^ n!1")
     (expand "*")
     (replace -1)
     (hide -1)
     (apply-extensionality 1 :hide? t)
     (replace -2)
     (assert))))


proof_type: j_proof
decl_type: tcc
library: analysis_ax
theory: derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (case-replace "b!1 / gg!1 = b!1 * (1 / gg!1)")
   (("1" (rewrite "scal_derivable_fun") (rewrite "inv_derivable_fun"))
    ("2" (delete 2) (apply-extensionality :hide? t) (grind))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "derivable?")
   (lemma "derivable_id")
   (expand "I")
   (skeep)
   (expand "derivable?" -1)
   (inst?))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (lemma "sum_derivable_fun")
   (inst - "f!1" "g!1")
   (expand "+ ")
   (propax))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case-replace "n!1=0")
   (("1" (expand "^") (expand "expt") (rewrite "derivable_const_lam"))
    ("2"
     (lemma "deriv_x_to_n")
     (inst - "n!1" "1")
     (("1"
       (assert)
       (flatten)
       (case-replace
        "(LAMBDA (t): t ^ n!1) = (LAMBDA (x: T): 1 * x ^ n!1)")
       (apply-extensionality 1 :hide? t))
      ("2" (assert))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (lemma "scal_derivable_fun")
   (inst - "a!1" "f!1")
   (expand "*")
   (propax))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (lemma "scal_derivable_fun")
   (inst - "a!1" "f!1")
   (expand "*")
   (case-replace
    "(LAMBDA (x: T): a!1 * f!1(x)) = (LAMBDA (t): f!1(t) * a!1)")
   (apply-extensionality 1 :hide? t))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (lemma "diff_derivable_fun")
   (inst - "f!1" "g!1")
   (expand "-")
   (propax))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (lemma "div_derivable_fun")
   (inst - "f!1" "k!1")
   (expand "/")
   (propax))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (lemma "derivable_div")
   (inst -1 "LAMBDA(t):a!1" "k!1")
   (("1" (expand "/") (propax))
    ("2" (lemma "derivable_const") (expand "const_fun") (inst?))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "D")
   (lemma "deriv_const_fun")
   (inst -1 "a!1")
   (expand "const_fun")
   (propax))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (expand* "derivable?" "D")
   (lemma "deriv_sum_fun")
   (inst -1 "f!1" "g!1")
   (expand "+")
   (propax))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (expand* "derivable?" "D")
   (lemma "deriv_prod_fun")
   (inst -1 "f!1" "g!1")
   (expand "*")
   (expand "+")
   (propax))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (expand "D")
   (lemma "deriv_x_to_n")
   (inst -1 "m" "1")
   (beta)
   (flatten)
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (expand* "derivable?" "D")
   (lemma "deriv_scal_fun")
   (inst -1 "a!1" "f!1")
   (expand "*")
   (propax))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (expand* "derivable?" "D")
   (lemma "deriv_neg_fun")
   (inst -1 "g!1")
   (expand "-")
   (propax))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (expand* "derivable?" "D")
   (lemma "deriv_diff_fun")
   (inst -1 "f!1" "g!1")
   (expand "-")
   (propax))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "sq")
   (rewrite "deriv_mult_lam")
   (("1" (rewrite "deriv_id_lam") (assert))
    ("2" (rewrite "derivable_id_lam"))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (expand* "derivable?" "D")
   (lemma "deriv_div_fun")
   (inst -1 "f!1" "k!1")
   (("1"
     (expand "/")
     (expand "sq")
     (expand "*")
     (assert)
     (expand "-")
     (propax))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivatives_lam
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp :preds? t)
   (expand* "derivable?" "D")
   (lemma "deriv_scaldiv_fun")
   (inst -1 "a!1" "k!1")
   (("1" (expand "/") (expand "-") (expand "*") (expand "sq") (assert))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: deriv_domain
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "deriv_domain?")
   (skosimp*)
   (case "x!1 > 0")
   (("1" (inst + e!1/2) (("1" (grind)) ("2" (assert))))
    ("2" (inst + -e!1/2) (("1" (grind)) ("2" (assert))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: deriv_domain
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "deriv_domain?")
   (skosimp*)
   (inst + "min((b!1-x!1)/2,e!1/2)")
   (("1" (grind)) ("2" (grind))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: deriv_domain
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "deriv_domain?")
   (skosimp*)
   (case "x!1 = b!1")
   (("1"
     (inst + "-min((b!1-a!1)/2,e!1/2)")
     (("1" (grind)) ("2" (grind))))
    ("2"
     (inst + "min((b!1-x!1)/2,e!1/2)")
     (("1" (grind)) ("2" (grind))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: deriv_domain
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "deriv_domain?")
   (skosimp*)
   (inst + "-min((x!1-a!1)/2,e!1/2)")
   (("1" (grind)) ("2" (grind))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: deriv_domain
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "deriv_domain?")
   (skosimp*)
   (case "x!1 = a!1")
   (("1" (inst + "-min((a!1)/2,e!1/2)") (("1" (grind)) ("2" (grind))))
    ("2"
     (inst + "min((a!1-x!1)/2,e!1/2)")
     (("1" (grind)) ("2" (grind))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: deriv_domain
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "deriv_domain?")
   (skosimp*)
   (inst + "min((a!1-x!1)/2,e!1/2)")
   (("1" (grind)) ("2" (grind))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: deriv_domain
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "not_one_element?")
   (skosimp*)
   (inst-cp + "1")
   (assert)
   (ground)
   (inst-cp + "2")
   (ground))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: deriv_domain
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "not_one_element?")
   (skosimp*)
   (inst-cp + "-1")
   (inst-cp + "-2")
   (flatten)
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: sqrt_derivative
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (lemma "inverse_derivable_fun"
    ("F"
     "LAMBDA (x:posreal):sq(x)"
     "G"
     "LAMBDA (x:posreal):sqrt(x)"
     "f"
     "LAMBDA (x:posreal): 2*x"))
   (("1"
     (split -1)
     (("1" (expand "restrict") (propax))
      ("2"
       (hide 2)
       (expand "sq")
       (lemma "identity_derivable_fun[posreal]")
       (expand "I")
       (lemma "prod_derivable_fun"
        ("f1" "LAMBDA (x: posreal): x" "f2" "LAMBDA (x: posreal): x"))
       (expand "*")
       (assert))
      ("3"
       (hide 2)
       (expand "bijective?")
       (split)
       (("1" (expand "injective?") (skosimp*) (rewrite "sq_eq"))
        ("2"
         (expand "surjective?")
         (skosimp*)
         (inst + "sqrt(y!1)")
         (rewrite "sq_sqrt"))))
      ("4"
       (hide 2)
       (expand "sq")
       (lemma "deriv_id_fun[posreal]")
       (lemma "deriv_prod_fun"
        ("ff1" "LAMBDA (x: posreal): x" "ff2" "LAMBDA (x: posreal): x"))
       (("1"
         (expand "*")
         (expand "+")
         (replace -2 -1)
         (simplify -1)
         (propax))
        ("2"
         (lemma "identity_derivable_fun[posreal]")
         (expand "I")
         (propax))))
      ("5" (hide 2) (expand "inverse?") (skosimp*) (rewrite "sq_sqrt"))))
    ("2"
     (expand "not_one_element?")
     (skosimp*)
     (inst + "x!1+1")
     (assert))
    ("3" (expand "connected?") (skosimp*) (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: sqrt_derivative
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (lemma "sqrt_derivable_fun")
   (lemma "deriv_inverse_fun[posreal,posreal]"
    ("F"
     "LAMBDA (x:posreal): sq(x)"
     "G"
     "LAMBDA (x:posreal): sqrt(x)"
     "f"
     "LAMBDA (x:posreal):2*x"))
   (("1"
     (split -1)
     (("1" (simplify -1) (expand "restrict") (propax))
      ("2"
       (hide-all-but 1)
       (expand "sq")
       (lemma "identity_derivable_fun[posreal]")
       (expand "I")
       (lemma "prod_derivable_fun"
        ("f1" "LAMBDA (x: posreal): x" "f2" "LAMBDA (x: posreal): x"))
       (expand "*")
       (assert))
      ("3"
       (hide-all-but 1)
       (lemma "identity_derivable_fun[posreal]")
       (lemma "prod_derivable_fun"
        ("f1" "LAMBDA (x: posreal): x" "f2" "LAMBDA (x: posreal): x"))
       (lemma "deriv_prod_fun"
        ("ff1" "LAMBDA (x: posreal): x" "ff2" "LAMBDA (x: posreal): x"))
       (("1"
         (lemma "deriv_id_fun[posreal]")
         (expand "I")
         (replace -1)
         (expand "*")
         (expand "+")
         (expand "sq" 1)
         (propax))
        ("2" (expand "I") (propax))))
      ("4"
       (hide-all-but 1)
       (expand "bijective?")
       (expand "injective?")
       (expand "surjective?")
       (split)
       (("1" (skosimp*) (rewrite "sq_eq"))
        ("2" (skosimp*) (inst + "sqrt(y!1)") (rewrite "sq_sqrt"))))
      ("5"
       (hide-all-but 1)
       (expand "inverse?")
       (skosimp*)
       (rewrite "sq_sqrt"))))
    ("2"
     (hide-all-but 1)
     (expand "not_one_element?")
     (skosimp*)
     (inst + "x!1+1")
     (assert))
    ("3" (expand "connected?") (skosimp*) (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: composition_continuous
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "continuous?")
   (skosimp*)
   (inst -2 "epsilon!1")
   (expand "o ")
   (skosimp*)
   (inst - "delta!1")
   (skolem!)
   (inst 1 "delta!2")
   (skosimp)
   (inst - "x!1")
   (assert)
   (inst - "f!1(x!1)")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: composition_continuous
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (rewrite "continuous_on_def")
   (rewrite "continuous_on_def")
   (rewrite "continuous_on_def")
   (skosimp*)
   (grind :exclude ("convergence") :if-match nil)
   (inst?)
   (assert)
   (inst?)
   (("1"
     (grind :exclude ("abs" "adh") :if-match nil)
     (inst? -6)
     (skolem!)
     (inst -4 "delta!1")
     (skolem!)
     (inst 1 "delta!2")
     (skosimp)
     (inst -4 "x!1")
     (inst -6 "f!1(x!1)")
     (assert)
     (inst?))
    ("2"
     (assert)
     (inst?)
     (hide-all-but 1)
     (typepred "y!1")
     (expand "restrict")
     (propax))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: composition_continuous
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (grind :defs nil :rewrites ("continuous_def2[T1]"))
   (rewrite "composition_cont_set")
   (("1" (rewrite "continuity_subset2[T2]") (delete -1 -2 2 3) (grind))
    ("2" (rewrite "subset_reflexive"))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_lambda
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (lemma "composition_cont_fun[T,posreal]")
   (inst -1 "pf" "LAMBDA(x:posreal):sqrt(x)")
   (("1"
     (assert)
     (expand "o")
     (hide 2)
     (lemma "sqrt_continuous")
     (expand "restrict")
     (propax))
    ("2"
     (hide 2)
     (skeep)
     (typepred "pf")
     (expand "pos_continuous?")
     (inst -2 "x1")
     (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_lambda
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (lemma "composition_cont_fun[T,real]")
   (inst -1 "f" "abs")
   (expand "o")
   (assert)
   (hide 2)
   (expand "continuous?")
   (skeep)
   (expand "continuous?")
   (skolem 1 "eps")
   (inst 1 "eps")
   (skeep)
   (grind))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_lambda
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem 1 ("f1" "f2"))
   (case-replace
    "(LAMBDA(x):max(f1(x),f2(x))) = (LAMBDA(x):(f1(x)+f2(x)+abs(f1(x)-f2(x)))/2)")
   (("1"
     (hide -1)
     (rewrite "scal_div1_cont")
     (rewrite "add_cont")
     (rewrite "add_cont")
     (rewrite "abs_cont")
     (rewrite "sub_cont"))
    ("2"
     (hide 2)
     (decompose-equality 1)
     (("1" (rewrite "max_abs"))
      ("2"
       (hide 2)
       (skeep)
       (lemma "max_abs")
       (inst -1 "f1(x)" "f2(x)")
       (replaces -1 :dir rl)
       (grind))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_lambda
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem 1 ("f1" "f2"))
   (case-replace
    "(LAMBDA(x):min(f1(x),f2(x))) = (LAMBDA(x):-max(-f1(x),-f2(x)))")
   (("1"
     (hide -)
     (rewrite "neg_cont")
     (rewrite "max_cont")
     (("1" (rewrite "neg_cont")) ("2" (rewrite "neg_cont"))))
    ("2"
     (hide 2)
     (decompose-equality 1)
     (("1" (grind)) ("2" (skeep) (rewrite "min_max" :dir rl) (grind))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions_props
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp)
   (assert)
   (auto-rewrite "sub_interval")
   (lemma "intermediate_value2[a!1, b!1]")
   (inst -1 "R(g!1, a!1, b!1)" "x!1")
   (rewrite "continuous_in_subintervals")
   (expand "R")
   (skolem!)
   (inst 1 "c!1")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions_props
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp)
   (assert)
   (auto-rewrite "sub_interval")
   (lemma "intermediate_value4[a!1, b!1]")
   (inst -1 "R(g!1, a!1, b!1)" "x!1")
   (rewrite "continuous_in_subintervals")
   (expand "R")
   (skolem!)
   (inst 1 "c!1")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions_props
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp)
   (assert)
   (auto-rewrite "sub_interval")
   (lemma "maximum_exists[a!1, b!1]")
   (inst -1 "R(g!1, a!1, b!1)")
   (split)
   (("1"
     (grind :if-match nil)
     (inst 1 "c!1")
     (assert)
     (skosimp)
     (inst?)
     (assert))
    ("2" (rewrite "continuous_in_subintervals"))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions_props
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp)
   (assert)
   (auto-rewrite "sub_interval")
   (lemma "minimum_exists[a!1, b!1]")
   (inst -1 "R(g!1, a!1, b!1)")
   (split)
   (("1"
     (grind :if-match nil)
     (inst 1 "c!1")
     (assert)
     (skosimp)
     (inst?)
     (assert))
    ("2" (rewrite "continuous_in_subintervals"))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (expand "injective?")
   (assert)
   (case "g!1(a!1) <= g!1(c!1)")
   (("1"
     (ground)
     (("1"
       (lemma "intermediate1"
        ("g" "g!1" "a" "b!1" "b" "c!1" "x" "g!1(a!1)"))
       (assert)
       (skosimp)
       (inst -5 "a!1" "c!2")
       (assert))
      ("2"
       (lemma "intermediate1"
        ("g" "g!1" "a" "a!1" "b" "b!1" "x" "g!1(c!1)"))
       (assert)
       (skosimp)
       (inst -5 "c!1" "c!2")
       (assert))))
    ("2"
     (ground)
     (("1"
       (lemma "intermediate2"
        ("g" "g!1" "a" "a!1" "b" "b!1" "x" "g!1(c!1)"))
       (assert)
       (skosimp)
       (inst -4 "c!1" "c!2")
       (assert))
      ("2"
       (lemma "intermediate2"
        ("g" "g!1" "a" "b!1" "b" "c!1" "x" "g!1(a!1)"))
       (assert)
       (skosimp)
       (inst -4 "c!2" "a!1")
       (assert))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: continuous_functions_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (prop)
   (("1"
     (expand "strict_increasing?")
     (expand "strict_decreasing?")
     (skosimp*)
     (assert)
     (expand "injective?")
     (inst-cp -1 "x!1" "y!1")
     (inst -1 "x!2" "y!2")
     (assert)
     (case "x!1 <= x!2")
     (("1"
       (lemma "inj_continuous" ("g" "g!1" "a" "x!1" "b" "x!2" "c" "y!2"))
       (assert)
       (lemma "inj_continuous" ("g" "g!1" "a" "x!1" "b" "y!1" "c" "y!2"))
       (lemma "inj_continuous" ("g" "g!1" "a" "x!1" "b" "y!2" "c" "y!1"))
       (assert))
      ("2"
       (lemma "inj_continuous" ("g" "g!1" "a" "x!2" "b" "x!1" "c" "y!1"))
       (assert)
       (lemma "inj_continuous" ("g" "g!1" "a" "x!2" "b" "y!2" "c" "y!1"))
       (lemma "inj_continuous" ("g" "g!1" "a" "x!2" "b" "y!1" "c" "y!2"))
       (assert))))
    ("2"
     (grind :if-match nil)
     (inst-cp -3 "x1!1" "x2!1")
     (inst -3 "x2!1" "x1!1")
     (assert))
    ("3"
     (grind :if-match nil)
     (inst-cp -3 "x1!1" "x2!1")
     (inst -3 "x2!1" "x1!1")
     (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "connected_deriv_domain[T]")
   (lemma connected_domain)
   (lemma not_one_element)
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (auto-rewrite "deriv_TCC[T]")
   (expand "deriv")
   (expand "derivable?")
   (assert)
   (rewrite "lim_fun_def[(A[T](c!1))]")
   (expand "convergent?")
   (skolem!)
   (case "l!1 <= 0 AND 0 <= l!1")
   (("1" (ground))
    ("2"
     (delete 2)
     (expand "convergence")
     (split)
     (("1"
       (name "E" "{ x : real| 0 < x AND x < b!1 - c!1}")
       (case "adh[(A[T](c!1))](E)(0)")
       (("1"
         (assert)
         (use "convergence_upper_bound[(A[T](c!1))]"
              ("f" "NQ(f!1, c!1)" "E" "E"))
         (ground)
         (("1"
           (use "subset_convergence2[(A[T](c!1))]"
                ("E1" "E" "E2" "fullset[real]"))
           (assert)
           (rewrite "subset_fullset"))
          ("2"
           (replace -2 + rl)
           (delete -1 -2 -3 -4 -5 2)
           (grind :if-match nil)
           (inst? -4)
           (assert)
           (rewrite "div_mult_pos_le1"))))
        ("2"
         (replace -1 + rl)
         (delete -1 -2 -4 -5 2)
         (grind :exclude "abs" :if-match nil)
         (inst 1 "min(e!1/2, (b!1-c!1)/2)")
         (("1" (grind))
          ("2"
           (grind)
           (("1"
             (lemma "connected_domain")
             (expand "connected?")
             (inst - "c!1" "b!1" "_")
             (inst?)
             (assert))
            ("2"
             (lemma "connected_domain")
             (expand "connected?")
             (inst - "c!1" "b!1" "_")
             (inst?)
             (assert))))))))
      ("2"
       (name "E" "{ x : real | a!1 - c!1 < x AND x < 0}")
       (case "adh[(A[T](c!1))](E)(0)")
       (("1"
         (assert)
         (use "convergence_lower_bound[(A[T](c!1))]"
              ("f" "NQ(f!1, c!1)" "E" "E"))
         (ground)
         (("1"
           (use "subset_convergence2[(A[T](c!1))]"
                ("E1" "E" "E2" "fullset[real]"))
           (assert)
           (rewrite "subset_fullset"))
          ("2"
           (replace -2 + rl)
           (delete -1 -2 -3 -4 -5 2)
           (grind :if-match nil)
           (inst? -4)
           (assert)
           (rewrite "div_mult_neg_le2"))))
        ("2"
         (replace -1 + rl)
         (delete -1 -3 -4 -5 2)
         (grind :exclude "abs" :if-match nil)
         (inst 1 "max(-e!1/2, (a!1 - c!1)/2)")
         (("1" (grind))
          ("2"
           (grind)
           (("1"
             (lemma "connected_domain")
             (expand "connected?")
             (inst - "a!1" "c!1" "_")
             (inst?)
             (assert))
            ("2"
             (lemma "connected_domain")
             (expand "connected?")
             (inst - "a!1" "c!1" "_")
             (inst?)
             (assert))))))))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (use "deriv_maximum" ("f" "-f!1"))
   (auto-rewrite "neg_derivable[T]" "deriv_neg[T]")
   (assert)
   (delete -1 -2 -3 2)
   (grind :if-match nil)
   (inst?)
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp)
   (case "FORALL (x : T) : a!1 <= x AND x <= b!1 IMPLIES f!1(x) = f!1(a!1)")
   (("1"
     (case "T_pred((a!1 + b!1)/2)")
     (("1"
       (inst 1 "(a!1 + b!1)/2")
       (("1"
         (assert)
         (use "deriv_constant2"
              ("a" "a!1" "b" "b!1" "c" "(a!1 + b!1)/2"))
         (ground)
         (skosimp)
         (inst-cp -4 "(a!1+b!1)/2")
         (inst -4 "x!1")
         (assert))
        ("2" (assert))))
      ("2"
       (lemma "connected_domain")
       (expand "connected?")
       (inst - "a!1" "b!1" "_")
       (inst?)
       (assert))))
    ("2"
     (skosimp)
     (forward-chain "derivable_cont_fun[T]")
     (case "f!1(x!1) < f!1(a!1)")
     (("1"
       (use "min_in_interval[T]" ("a" "a!1" "b" "b!1"))
       (("1"
         (assert)
         (skosimp)
         (expand "derivable?")
         (inst -8 "c!1")
         (use "deriv_minimum" ("a" "a!1" "b" "b!1" "c" "c!1"))
         (inst-cp -4 "x!1")
         (assert)
         (inst 2 "c!1")
         (ground)
         (skosimp)
         (inst?)
         (assert))
        ("2" (lemma "connected_domain") (expand "connected?") (propax))))
      ("2"
       (use "max_in_interval[T]" ("a" "a!1" "b" "b!1"))
       (("1"
         (assert)
         (skosimp)
         (inst-cp -3 "x!1")
         (assert)
         (expand "derivable?")
         (inst -8 "c!1")
         (use "deriv_maximum" ("a" "a!1" "b" "b!1" "c" "c!1"))
         (inst 3 "c!1")
         (ground)
         (skosimp)
         (inst?)
         (assert))
        ("2"
         (lemma "connected_domain")
         (expand "connected?")
         (propax))))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (name-replace "C" "b!1 - a!1" :hide? nil)
   (name-replace "B" "f!1(b!1) - f!1(a!1)" :hide? nil)
   (assert)
   (auto-rewrite-theory "derivatives[T]" :exclude ("derivable?" "deriv")
                        :always? t)
   (auto-rewrite-theory "derivatives_def[T]" :exclude
                        ("derivable?" "deriv") :always? t)
   (use "mean_value_aux"
        ("f" "f!1 - (B/C) * (I[T] - const_fun(a!1::real))"))
   (ground)
   (("1"
     (skosimp)
     (inst?)
     (expand "derivable?")
     (inst -6 "c!1")
     (assert)
     (rewrite "deriv_diff[T]")
     (case-replace "deriv(f!1, c!1)= B/C")
     (("1" (rewrite "div_cancel2")) ("2" (assert))))
    ("2"
     (delete -3 2)
     (grind)
     (case "(B/C) * (b!1 - a!1) = B")
     (("1" (assert)) ("2" (replace -2 1) (rewrite "div_cancel2"))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (lemma "mean_value")
   (case "a!1 < b!1")
   (("1"
     (inst?)
     (assert)
     (skosimp*)
     (inst + "c!1")
     (expand "min")
     (expand "max")
     (assert)
     (factor -4)
     (("1"
       (case "(b!1 - a!1) = abs(b!1 - a!1)")
       (("1"
         (replace -1 -)
         (assert)
         (replace -5 + rl)
         (assert)
         (rewrite "abs_mult")
         (("1" (rewrite "abs_abs"))
          ("2" (expand "derivable?" -6) (inst?))))
        ("2" (hide-all-but 1) (grind))))
      ("2"
       (expand "derivable?")
       (inst?)
       (expand "derivable?")
       (propax))))
    ("2"
     (inst - "b!1" "a!1" "f!1")
     (assert)
     (skosimp*)
     (inst + "c!1")
     (expand "min")
     (expand "max")
     (factor -3)
     (("1"
       (case "(a!1 - b!1) = abs(a!1 - b!1)")
       (("1"
         (replace -1 -)
         (lemma "abs_neg")
         (inst - "(f!1(b!1) - f!1(a!1))")
         (replace -1 + rl)
         (replace -5 + rl)
         (rewrite "abs_mult")
         (("1"
           (rewrite "abs_abs")
           (assert)
           (lemma "abs_neg")
           (inst - "(b!1-a!1)")
           (assert))
          ("2" (expand "derivable?" -6) (inst?))))
        ("2" (hide-all-but 1) (grind))))
      ("2" (expand "derivable?" -4) (inst?))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skolem-typepred)
   (expand "derivable?")
   (expand "increasing?")
   (prop)
   (("1"
     (skosimp*)
     (expand "deriv")
     (use "lim_ge1[(A[T](x!1))]")
     (ground)
     (("1" (expand "derivable?") (inst? -2))
      ("2"
       (delete -2 2)
       (grind :if-match nil)
       (rewrite "pos_div_ge")
       (ground)
       (("1" (inst -2 "x!1 + x!2" "x!1") (assert))
        ("2" (inst -2 "x!1" "x!1+x!2") (assert))))))
    ("2"
     (skosimp)
     (use "mean_value" ("a" "x!1" "b" "y!1"))
     (ground)
     (skosimp)
     (inst?)
     (lemma "pos_times_ge" ("x" "deriv(g!1, c!1)" "y" "y!1 - x!1"))
     (("1" (assert)) ("2" (inst?))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skolem-typepred)
   (expand "derivable?")
   (expand "decreasing?")
   (prop)
   (("1"
     (skosimp*)
     (expand "deriv")
     (use "lim_le1[(A[T](x!1))]")
     (ground)
     (("1" (expand "derivable?") (inst? -2))
      ("2"
       (delete -2 2)
       (grind :if-match nil)
       (rewrite "neg_div_le")
       (ground)
       (("1" (inst -2 "x!1 + x!2" "x!1") (assert))
        ("2" (inst -2 "x!1" "x!1+x!2") (assert))))))
    ("2"
     (skosimp)
     (use "mean_value" ("a" "x!1" "b" "y!1"))
     (ground)
     (skosimp)
     (inst?)
     (lemma "neg_times_le" ("x" "deriv(g!1, c!1)" "y" "y!1 - x!1"))
     (("1" (assert)) ("2" (inst?))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "strict_increasing?")
   (skosimp* :preds? t)
   (use "mean_value" ("b" "y!1"))
   (assert)
   (skosimp)
   (inst?)
   (lemma "pos_times_gt" ("x" "deriv(g!1, c!1)" "y" "y!1 - x!1"))
   (("1" (assert)) ("2" (expand "derivable?" -) (inst?))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "strict_decreasing?")
   (skosimp* :preds? t)
   (use "mean_value" ("a" "x!1"))
   (assert)
   (skosimp)
   (inst?)
   (lemma "neg_times_lt" ("x" "deriv(g!1, c!1)" "y" "y!1 - x!1"))
   (("1" (assert)) ("2" (expand "derivable?" -) (inst?))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (prop)
   (("1"
     (skolem!)
     (auto-rewrite "const_derivable_fun[T]" "deriv_const[T]")
     (case-replace "g!1 = const_fun(g!1(x!1))")
     (("1" (assert))
      ("2" (delete 2) (apply-extensionality :hide? t) (grind))))
    ("2"
     (case "FORALL (x, y : T) : x < y IMPLIES g!1(x) = g!1(y)")
     (("1"
       (delete -2)
       (expand "constant?")
       (skosimp)
       (inst-cp - "x!1" "y!1")
       (inst - "y!1" "x!1")
       (assert))
      ("2"
       (skosimp)
       (use "mean_value" ("b" "y!1"))
       (assert)
       (skosimp)
       (inst?)
       (assert))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "g!1")
   (lemma "mean_value")
   (lemma "trich_lt" ("x" "x!1" "y" "y1!1"))
   (split -1)
   (("1"
     (inst -2 "x!1" "y1!1" "g!1")
     (assert)
     (skosimp* -2)
     (expand "deriv" -8)
     (inst - "c!1")
     (assert)
     (lemma "both_sides_times_pos_gt1"
      ("pz" "c!1-x!1" "x" "deriv(g!1,c!1)" "y" "0"))
     (("1"
       (replace -1 -9)
       (lemma "posreal_times_posreal_is_posreal"
        ("px" "deriv(g!1,c!1)" "py" "y1!1-x!1"))
       (("1" (assert)) ("2" (assert))))
      ("2" (expand "derivable?" -6) (inst - "c!1"))))
    ("2" (propax))
    ("3"
     (inst -2 "y1!1" "x!1" "g!1")
     (assert)
     (skosimp*)
     (expand "deriv" -7)
     (inst - "c!1")
     (assert)
     (lemma "both_sides_times_neg_gt1"
      ("nz" "c!1-x!1" "x" "deriv(g!1,c!1)" "y" "0"))
     (("1"
       (lemma "negreal_times_negreal_is_posreal"
        ("nx" "deriv(g!1,c!1)" "ny" "y1!1-x!1"))
       (("1" (assert))
        ("2"
         (assert)
         (expand "deriv" 1)
         (expand "deriv" -1)
         (expand ">" -1)
         (assert))))
      ("2" (expand "derivable?" -5) (inst - "c!1"))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "neg_derivable_fun" ("f" "g!1"))
   (typepred "g!1")
   (lemma "deriv_neg_fun" ("ff" "g!1"))
   (lemma "minimum_derivative" ("x" "x!1" "y1" "y1!1" "g" "-g!1"))
   (replace -2 -1)
   (split -1)
   (("1" (expand "-" -1) (assert)) ("2" (expand "-" 1) (assert))
    ("3" (assert))
    ("4" (skosimp*) (assert) (expand "-" 2) (assert) (inst?) (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "minimum_derivative" ("x" "x!1" "g" "g!1" "y1" "y!1"))
   (split -1)
   (("1" (propax)) ("2" (propax)) ("3" (assert))
    ("4"
     (skosimp*)
     (lemma "trich_lt" ("x" "y!2" "y" "x!1"))
     (split -1)
     (("1"
       (expand "strict_increasing?")
       (inst - "y!2" "x!1")
       (assert)
       (lemma "negreal_times_negreal_is_posreal"
        ("nx" "deriv(g!1)(y!2)" "ny" "y!2-x!1"))
       (assert))
      ("2" (propax))
      ("3"
       (expand "strict_increasing?")
       (inst - "x!1" "y!2")
       (assert)
       (lemma "posreal_times_posreal_is_posreal"
        ("px" "deriv(g!1)(y!2)" "py" "y!2-x!1"))
       (assert))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "maximum_derivative" ("x" "x!1" "y1" "y!1" "g" "g!1"))
   (expand "strict_decreasing?")
   (assert)
   (skosimp*)
   (lemma "trich_lt" ("x" "y!2" "y" "x!1"))
   (split -1)
   (("1"
     (inst - "y!2" "x!1")
     (assert)
     (replace -3)
     (lemma "posreal_times_posreal_is_posreal"
      ("px" "deriv(g!1)(y!2)" "py" "x!1-y!2"))
     (assert))
    ("2" (propax))
    ("3"
     (inst - "x!1" "y!2")
     (assert)
     (lemma "negreal_times_negreal_is_posreal"
      ("nx" "deriv(g!1)(y!2)" "ny" "x!1-y!2"))
     (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem 1 ("a" "b" "ff" "gg"))
   (flatten)
   (case "a=b")
   (("1" (replace -1) (assert))
    ("2"
     (lemma "nonneg_derivative[T]")
     (name "fg" "LAMBDA(c:T):ff(c)-gg(c)")
     (case "derivable?(fg)")
     (("1"
       (inst -3 "fg")
       (flatten)
       (hide -3)
       (split -3)
       (("1"
         (hide -4)
         (replace -3 :dir rl :hide? t)
         (expand "increasing?")
         (inst -1 "a" "b")
         (assert))
        ("2"
         (replace -2 :dir rl :hide? t)
         (skolem 1 "x")
         (inst -2 "x")
         (lemma "deriv_diff[T]")
         (inst -1 "ff" "gg" "x")
         (split -1)
         (("1" (expand "-") (replace -1) (expand "deriv" -3) (assert))
          ("2" (typepred "ff") (expand "derivable?" -1) (inst -1 "x"))
          ("3"
           (typepred "gg")
           (expand "derivable?" -1)
           (inst -1 "x"))))))
      ("2"
       (replace -1 :dir rl :hide? t)
       (lemma "derivable_diff[T]")
       (inst -1 "ff" "gg")
       (expand "-")
       (propax))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: derivative_props
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (prop)
   (("1" (skosimp*) (inst -1 "epsilon!1") (assert))
    ("2"
     (skosimp*)
     (case "x!1 = epsilon!1")
     (("1" (replace -1) (hide -1) (inst -1 "epsilon!1/2") (assert))
      ("2" (inst -1 "epsilon!1") (assert))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: chain_rule
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (expand "derivable?")
   (expand "convergent?")
   (skosimp*)
   (forward-chain "chain_rule_cnvg")
   (inst?))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: chain_rule
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "derivable?")
   (skosimp*)
   (rewrite "composition_derivable")
   (("1" (inst?)) ("2" (inst? -2))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: chain_rule
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp)
   (forward-chain "composition_derivable")
   (auto-rewrite "deriv_TCC[T1]" "deriv_TCC[T2]"
                 ("deriv[T1]"
                  "derivable?[T1]"
                  "deriv[T2]"
                  "derivable?[T2]")
                 ("lim_fun_lemma[(A[T1](x!1))]"
                  "lim_fun_lemma[(A[T2](f!1(x!1)))]"))
   (("1"
     (assert)
     (rewrite "lim_fun_def[(A[T1](x!1))]")
     (rewrite "chain_rule_cnvg"))
    ("2"
     (skosimp*)
     (lemma "not_one_element2")
     (expand "not_one_element?")
     (inst?))
    ("3"
     (lemma "deriv_domain2  ")
     (skosimp*)
     (expand "deriv_domain?")
     (inst?))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: chain_rule
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem-typepred)
   (assert)
   (expand "derivable?")
   (auto-rewrite "composition_derivable_fun")
   (apply-extensionality :hide? t)
   (expand "*")
   (expand "o" 1 2)
   (expand "deriv")
   (rewrite "deriv_composition")
   (("1" (inst? -1)) ("2" (inst? -2))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: nth_derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "n")
   (("1"
     (skolem 1 ("f" "m"))
     (lemma "trichotomy" ("x" "m"))
     (split -1)
     (("1" (assert)) ("2" (replace -1) (flatten)) ("3" (assert))))
    ("2"
     (skolem 1 ("j"))
     (flatten)
     (skolem 1 ("f" "m"))
     (flatten)
     (expand "<=" -3)
     (split -3)
     (("1"
       (inst - "f" "m")
       (split -2)
       (("1" (propax))
        ("2"
         (hide -1 2)
         (case "FORALL (f:[T->real],k: nat): derivable_n_times?(f, k + 1) IMPLIES derivable_n_times?(f, k)")
         (("1" (inst - "f" "j") (assert))
          ("2"
           (hide -1 2)
           (induct "k")
           (("1" (expand "derivable_n_times?") (propax))
            ("2"
             (skolem 1 ("k"))
             (flatten)
             (skolem 1 ("g"))
             (flatten)
             (expand "derivable_n_times?" 1)
             (expand "derivable_n_times?" -2)
             (flatten -2)
             (assert)
             (inst - "deriv(g)")
             (("1" (assert))
              ("2"
               (lemma "not_one_element")
               (expand "not_one_element?")
               (propax))
              ("3" (lemma "deriv_domain") (propax))))))))
        ("3" (assert))))
      ("2" (replace -1) (assert))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: nth_derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "m")
   (("1"
     (expand "nderiv")
     (expand "derivable_n_times?")
     (assert)
     (skosimp*))
    ("2"
     (skolem 1 ("j"))
     (flatten)
     (skolem 1 ("f" "n"))
     (flatten 1)
     (expand "<=" -2)
     (split -2)
     (("1"
       (expand "nderiv" 1)
       (expand "derivable_n_times?" -3)
       (flatten -3)
       (inst - "deriv(f)" "n-1")
       (("1" (assert)) ("2" (assert))
        ("3"
         (lemma "not_one_element")
         (expand "not_one_element?")
         (propax))
        ("4" (lemma "deriv_domain") (propax))))
      ("2"
       (expand "derivable_n_times?" -3)
       (flatten -3)
       (expand "nderiv" 1)
       (inst - "deriv(f)" "n-1")
       (("1" (assert)) ("2" (assert))
        ("3"
         (lemma "not_one_element")
         (expand "not_one_element?")
         (propax))
        ("4" (lemma "deriv_domain") (propax))))))
    ("3"
     (skolem!)
     (flatten 1)
     (lemma "not_one_element")
     (expand "not_one_element?")
     (propax))
    ("4" (lemma "deriv_domain") (skolem! 1) (flatten 1))
    ("5"
     (lemma "derivable_n_times_lem")
     (hide 2)
     (skosimp*)
     (inst - "f!1" "m!2" "1+n!1")
     (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: nth_derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "n")
   (("1" (expand "nderiv") (expand "nderiv") (propax))
    ("2"
     (skosimp*)
     (expand "nderiv" 1 1)
     (inst-cp - "deriv(f!1)")
     (("1"
       (expand "derivable_n_times?" -3)
       (flatten -3)
       (assert)
       (replace -2 1)
       (expand "nderiv" 1 2)
       (propax))
      ("2"
       (lemma "not_one_element")
       (expand "not_one_element?")
       (propax))
      ("3" (lemma "deriv_domain") (propax))))
    ("3"
     (skolem!)
     (flatten 1)
     (lemma "not_one_element")
     (expand "not_one_element?")
     (propax))
    ("4" (lemma "deriv_domain") (skolem!) (flatten 1))
    ("5"
     (hide 2)
     (skosimp*)
     (lemma "nderiv_derivable" ("f" "f!1" "n" "n!2" "m" "n!2"))
     (assert))
    ("6"
     (hide 2)
     (skosimp*)
     (lemma "derivable_n_times_lem" ("f" "f!1" "n" "1+n!2" "m" "n!2"))
     (assert))
    ("7" (hide 2) (skosimp*))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: nth_derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "n")
   (("1"
     (expand "nderiv")
     (expand "derivable_n_times?")
     (expand "derivable_n_times?")
     (propax))
    ("2"
     (skolem 1 ("j"))
     (flatten 1)
     (skolem 1 ("f"))
     (split 1)
     (("1"
       (flatten)
       (split 1)
       (("1"
         (lemma "derivable_n_times_lem" ("f" "f" "n" "j+2" "m" "j+1"))
         (assert))
        ("2"
         (inst - "deriv(f)")
         (("1"
           (expand "derivable_n_times?" -1)
           (flatten -1)
           (assert)
           (flatten -3)
           (expand "nderiv" 1)
           (propax))
          ("2"
           (lemma "not_one_element")
           (expand "not_one_element?")
           (propax))
          ("3" (lemma "deriv_domain") (propax))
          ("4" (expand "derivable_n_times?" -1) (flatten))))))
      ("2"
       (flatten)
       (inst - "deriv(f)")
       (("1"
         (flatten -3)
         (expand "derivable_n_times?" 1)
         (expand "derivable_n_times?" -1)
         (flatten -1)
         (replace -2)
         (expand "nderiv" -3)
         (replace -3)
         (assert))
        ("2"
         (lemma "not_one_element")
         (expand "not_one_element?")
         (propax))
        ("3" (lemma "deriv_domain") (propax))
        ("4" (expand "derivable_n_times?" -1) (flatten -1))))))
    ("3"
     (hide 2)
     (lemma "not_one_element")
     (skosimp*)
     (expand "not_one_element?")
     (propax))
    ("4" (lemma "deriv_domain") (replace -1) (skosimp*))))


proof_type: t_proof
decl_type: tcc
library: analysis_ax
theory: nth_derivatives
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "derivable_n_times_lem")
   (inst - "f!1" "1" "n!1+1")
   (assert)
   (expand "derivable_n_times?")
   (propax))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "connected_deriv_domain[T]")
   (lemma not_one_element)
   (lemma "connected_domain")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "n" 1)
   (("1" (skosimp*) (expand "sigma") (inst?) (assert))
    ("2"
     (skosimp*)
     (expand "sigma" 1)
     (case-replace
      "(LAMBDA aa: g!1(aa, 1 + j!1) + sigma(0, j!1, LAMBDA m: g!1(aa, m))) = (LAMBDA aa: g!1(aa, 1 + j!1))  + (LAMBDA aa: sigma(0, j!1, LAMBDA m: g!1(aa, m)))")
     (("1"
       (hide -1)
       (inst - "g!1")
       (split -1)
       (("1"
         (inst - "1+j!1")
         (lemma "sum_derivable_fun[T]"
          ("f1"
           "LAMBDA aa: g!1(aa, 1 + j!1)"
           "f2"
           "LAMBDA aa: sigma(0, j!1, LAMBDA m: g!1(aa, m))"))
         (assert))
        ("2" (hide 2) (skosimp*) (inst - "ii!1"))))
      ("2" (expand "+") (propax))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case "derivable?[T](LAMBDA x: (bb!1 - x) ^ n!1)")
   (("1"
     (lemma "scal_derivable_fun[T]"
      ("f" "LAMBDA x: (bb!1 - x) ^ n!1" "b" "1/ factorial(n!1)"))
     (assert)
     (expand "*")
     (assert))
    ("2"
     (hide 2)
     (case "n!1=0")
     (("1"
       (replace -1)
       (expand "^")
       (expand "expt")
       (lemma "const_derivable_fun[T]" ("b" "1"))
       (expand "const_fun")
       (propax))
      ("2"
       (lemma "const_derivable_fun[T]" ("b" "bb!1"))
       (lemma "identity_derivable_fun[T]")
       (expand "I")
       (expand "const_fun")
       (lemma "diff_derivable_fun[T]"
        ("f1" "LAMBDA (x: T): bb!1" "f2" "LAMBDA (x: T): x"))
       (expand "-")
       (assert)
       (lemma "deriv_exp_fun[T]"
        ("f" "LAMBDA (x_1: T): bb!1 - x_1" "n" "n!1"))
       (assert)
       (flatten -1)
       (expand "^" -1)
       (propax))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "const_derivable_fun[T]" ("b" "bb!1"))
   (lemma "deriv_const_fun[T]" ("b" "bb!1"))
   (lemma "identity_derivable_fun[T]")
   (lemma "deriv_id_fun[T]")
   (expand "I")
   (expand "const_fun")
   (lemma "diff_derivable_fun[T]"
    ("f1" "LAMBDA (x: T): bb!1" "f2" "LAMBDA (x: T): x"))
   (expand "-" -1)
   (assert)
   (lemma "deriv_diff_fun[T]"
    ("ff1" "LAMBDA (x: T): bb!1" "ff2" "LAMBDA (x: T): x"))
   (replace -5)
   (replace -3)
   (expand "-" -1)
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "tay1" ("bb" "bb!1" "n" "n!1+1"))
   (lemma "tay2" ("bb" "bb!1"))
   (flatten -1)
   (replace -3 1)
   (lemma "deriv_exp_fun[T]" ("f" "LAMBDA x: (bb!1 - x)" "n" "n!1+1"))
   (assert)
   (flatten -1)
   (replace -4)
   (expand "^" -2)
   (expand "const_fun")
   (expand "*" -2)
   (lemma "deriv_scal_fun[T]"
    ("ff"
     "LAMBDA (t: T): (bb!1 - t) ^ (1 + n!1)"
     "b"
     "1/factorial(1+n!1)"))
   (("1"
     (replace -3 -1)
     (expand "*" -1)
     (replace -1 1)
     (lemma "extensionality"
      ("f"
       "(LAMBDA (x: T):
                -1 * ((bb!1 - x) ^ n!1 * (1 / factorial(1 + n!1))) -
                 (bb!1 - x) ^ n!1 * (1 / factorial(1 + n!1)) * n!1)"
       "g"
       "-(LAMBDA x: (bb!1 - x) ^ n!1 / factorial(n!1))"))
     (split -1)
     (("1" (assert))
      ("2"
       (hide-all-but 1)
       (skosimp*)
       (expand "-")
       (case "-1 * ((bb!1 - x!1) ^ n!1) *(1+n!1)/factorial(1 + n!1) = -1 * ((bb!1 - x!1) ^ n!1)/factorial(n!1)")
       (("1" (assert))
        ("2"
         (hide 2)
         (case "(1 + n!1) / factorial(1 + n!1) = 1/factorial(n!1)")
         (("1" (assert))
          ("2" (hide 2) (expand "factorial" 1 1) (assert))))))))
    ("2" (hide 2) (expand "^" -1) (propax))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "n1")
   (("1"
     (skosimp*)
     (expand "sigma" 1)
     (inst - "0")
     (lemma "extensionality"
      ("f"
       "deriv(LAMBDA x: FF!1(x, 0))"
       "g"
       "(LAMBDA x: deriv(LAMBDA xx: FF!1(xx, 0))(x))"))
     (("1" (split -1) (("1" (assert)) ("2" (hide 2) (skosimp*))))
      ("2" (skosimp*)) ("3" (propax))))
    ("2"
     (skosimp*)
     (inst - "FF!1")
     (split -1)
     (("1"
       (expand "sigma" 1)
       (lemma "deriv_sum_fun[T]"
        ("ff1"
         "LAMBDA x: FF!1(x, 1 + j!1)"
         "ff2"
         "LAMBDA x: sigma(0, j!1, LAMBDA n: FF!1(x, n))"))
       (("1"
         (replace -2 -1)
         (expand "+" -1)
         (replace -1 1)
         (hide -1 -2)
         (lemma "extensionality"
          ("f"
           "(LAMBDA (x_1: T):
                                      deriv(LAMBDA x: FF!1(x, 1 + j!1))(x_1) +
                                       sigma(0, j!1,
                                             LAMBDA ii:
                                               IF ii > j!1 THEN 0
                                               ELSE deriv(LAMBDA xx: FF!1(xx, ii))(x_1)
                                               ENDIF))"
           "g"
           "(LAMBDA x:
                                       deriv(LAMBDA xx: FF!1(xx, 1 + j!1))(x) +
                                        sigma(0, j!1,
                                              LAMBDA ii:
                                                IF ii > 1 + j!1 THEN 0
                                                ELSE deriv(LAMBDA xx: FF!1(xx, ii))(x)
                                                ENDIF))"))
         (("1"
           (split -1)
           (("1" (propax))
            ("2"
             (hide 2)
             (skosimp*)
             (lemma "sigma_eq[nat]"
              ("low"
               "0"
               "high"
               "j!1"
               "F"
               "LAMBDA ii:
                                                        IF ii > j!1 THEN 0
                                                        ELSE deriv(LAMBDA xx: FF!1(xx, ii))(x!1)
                                                        ENDIF"
               "G"
               "LAMBDA ii:
                                                         IF ii > 1 + j!1 THEN 0
                                                         ELSE deriv(LAMBDA xx: FF!1(xx, ii))(x!1)
                                                         ENDIF"))
             (("1"
               (split -1)
               (("1" (assert))
                ("2" (hide 2) (skosimp*) (typepred "n!1") (assert))))
              ("2" (hide 2) (skosimp*) (inst - "ii!1") (assert))
              ("3" (hide 2) (skosimp*) (inst - "ii!1") (assert))))))
          ("2" (hide 2) (skosimp*) (inst - "ii!1") (assert))
          ("3" (skosimp*) (hide 3) (inst - "ii!1") (assert))
          ("4" (hide 2) (skosimp*) (inst - "1+j!1"))))
        ("2"
         (hide -1 2)
         (lemma "sigma_derivable" ("g" "FF!1" "n" "j!1"))
         (assert)
         (hide 2)
         (skosimp*)
         (inst - "ii!1"))
        ("3" (inst - "1+j!1"))))
      ("2" (skosimp*) (inst - "ii!1"))))
    ("3" (hide 2) (skosimp*) (inst - "ii1!1") (assert))
    ("4"
     (hide 2)
     (skosimp*)
     (lemma "sigma_derivable" ("g" "FF!1" "n" "n1!2"))
     (replace -2)
     (propax))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case "n!1=0")
   (("1"
     (replace -1)
     (expand "derivable_n_times?")
     (flatten -2)
     (rewrite "eta" 1))
    ("2"
     (assert)
     (lemma "nderiv_derivable[T]" ("f" "f!1" "n" "n!1" "m" "n!1"))
     (assert)
     (lemma "tay1" ("bb" "bb!1" "n" "n!1"))
     (lemma "prod_derivable_fun[T]"
      ("f1"
       "nderiv(n!1, f!1)"
       "f2"
       "LAMBDA x: (bb!1 - x) ^ n!1 / factorial(n!1)"))
     (("1" (assert) (expand "*") (assert))
      ("2"
       (lemma "derivable_n_times_lem[T]"
        ("f" "f!1" "n" "1+n!1" "m" "n!1"))
       (assert))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "const_derivable_fun[T]" ("b" "f!1(bb!1)"))
   (expand "const_fun")
   (lemma "nderiv_term_derivable" ("f" "f!1" "n" "n!1" "bb" "bb!1"))
   (replace -3)
   (lemma "sigma_derivable"
    ("g"
     "LAMBDA (aa: T, nn:nat):IF nn > n!1 THEN 0
                                   ELSIF nn = 0 THEN f!1(aa)
                                   ELSE nderiv(nn, f!1)(aa) * (bb!1 - aa) ^ nn /
                                         factorial(nn)
                                   ENDIF"
     "n"
     "n!1"))
   (("1"
     (split -1)
     (("1"
       (simplify -1)
       (lemma "diff_derivable_fun[T]"
        ("f1"
         "LAMBDA (x: T): f!1(bb!1)"
         "f2"
         "LAMBDA (aa_1: T):
                             sigma(0, n!1,
                                   LAMBDA m:
                                     IF m > n!1 THEN 0
                                     ELSIF m = 0 THEN f!1(aa_1)
                                     ELSE nderiv(m, f!1)(aa_1) * (bb!1 - aa_1) ^ m /
                                           factorial(m)
                                     ENDIF)"))
       (assert)
       (expand "-" -1)
       (propax))
      ("2"
       (hide 2)
       (skosimp*)
       (typepred "ii!1")
       (assert)
       (lemma "derivable_n_times_lem[T]"
        ("f" "f!1" "n" "1+n!1" "m" "ii!1+1"))
       (assert)
       (lemma "nderiv_term_derivable" ("f" "f!1" "n" "ii!1" "bb" "bb!1"))
       (assert))))
    ("2"
     (skosimp*)
     (lemma "derivable_n_times_lem[T]"
      ("f" "f!1" "n" "n!1+1" "m" "nn!1"))
     (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "nderiv_derivable_aux" ("f" "f!1" "n" "n!1"))
   (assert)
   (replace -1 1)
   (lemma "extensionality"
    ("f" "LAMBDA xx: (nderiv(n!1, f!1)(xx))" "g" "nderiv(n!1, f!1)"))
   (("1"
     (split -1)
     (("1" (replace -1) (propax)) ("2" (hide 2) (skosimp*))))
    ("2"
     (hide 2)
     (lemma "derivable_n_times_lem[T]" ("f" "f!1" "n" "n!1+1" "m" "n!1"))
     (assert))
    ("3"
     (skosimp*)
     (lemma "derivable_n_times_lem[T]" ("f" "f!1" "n" "n!1+1" "m" "n!1"))
     (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (induct "n")
   (("1"
     (skosimp*)
     (expand "sigma")
     (expand "^")
     (expand "expt")
     (expand "factorial")
     (expand "nderiv")
     (expand "nderiv")
     (case-replace "(LAMBDA xx: f!1(xx)) = f!1")
     (("1" (assert)) ("2" (hide 2) (apply-extensionality 1 :hide? t))))
    ("2"
     (skosimp*)
     (inst?)
     (inst?)
     (split -1)
     (("1"
       (expand "sigma" 1)
       (case-replace
        "       sigma(0, j!1,
                                                             LAMBDA ii:
                                                               IF ii > 1 + j!1
                                                                 THEN 0
                                                               ELSE deriv(LAMBDA xx:
                                                                            IF ii = 0
                                                                              THEN f!1(xx)
                                                                            ELSE nderiv(ii, f!1)(xx) * (bb!1 - xx) ^ ii /
                                                                                  factorial(ii)
                                                                            ENDIF)
                                                                         (x!1)
                                                               ENDIF)
                                                 =  sigma(0, j!1,
                                                            LAMBDA ii:
                                                              IF ii > j!1
                                                                THEN 0
                                                              ELSE deriv(LAMBDA xx:
                                                                           IF ii = 0
                                                                             THEN f!1(xx)
                                                                           ELSE nderiv(ii, f!1)(xx) * (bb!1 - xx) ^ ii /
                                                                                 factorial(ii)
                                                                           ENDIF)
                                                                        (x!1)
                                                              ENDIF)")
       (("1"
         (replace -2)
         (hide -2)
         (hide -1)
         (case "derivable_n_times?(f!1, 1 + j!1)")
         (("1"
           (case "derivable?[T]((LAMBDA xx: (nderiv(1 + j!1, f!1)(xx))))")
           (("1"
             (case-replace
              "(LAMBDA xx:
                                                                                                     (nderiv(1 + j!1, f!1)(xx) * (bb!1 - xx) ^ (1 + j!1)) /
                                                                                                      factorial(1 + j!1)) = (LAMBDA xx:
                                                                                                     (nderiv(1 + j!1, f!1)(xx))) * (LAMBDA xx: (bb!1 - xx) ^ (1 + j!1) /
                                                                                                      factorial(1 + j!1))")
             (("1"
               (hide -1)
               (lemma "deriv_prod_fun[T]")
               (case "derivable?[T]((LAMBDA xx: (bb!1 - xx) ^ (1 + j!1) / factorial(1 + j!1)))")
               (("1"
                 (inst?)
                 (assert)
                 (replace -2)
                 (hide -2)
                 (case-replace
                  "deriv((LAMBDA xx: (nderiv(1 + j!1, f!1)(xx)))) = nderiv(2 + j!1,f!1)")
                 (("1"
                   (hide -1)
                   (expand "*" +)
                   (expand "+")
                   (case-replace
                    "deriv((LAMBDA xx: (bb!1 - xx) ^ (1 + j!1) / factorial(1 + j!1))) =
                                                                                                                                                              (LAMBDA xx: -((bb!1 - xx)^j!1) / factorial(j!1))")
                   (("1" (hide -1) (beta) (assert))
                    ("2"
                     (hide 2)
                     (lemma "tay3")
                     (inst -1 "bb!1" "j!1")
                     (flatten)
                     (replace -2)
                     (apply-extensionality 1 :hide? t)
                     (expand "-")
                     (assert))))
                  ("2"
                   (hide 2)
                   (lemma "deriv_nderiv")
                   (inst?)
                   (assert))))
                ("2" (hide 2) (lemma "tay1") (inst?))))
              ("2"
               (hide 2)
               (apply-extensionality 1 :hide? t)
               (expand "*")
               (assert))))
            ("2"
             (hide 2)
             (assert)
             (case-replace
              "(LAMBDA xx: (nderiv(1 + j!1, f!1)(xx))) = nderiv(1 + j!1, f!1)")
             (("1"
               (lemma "nderiv_derivable[T]"
                ("f" "f!1" "m" "1+j!1" "n" "1+j!1"))
               (assert))
              ("2"
               (lemma "extensionality"
                ("f"
                 "(LAMBDA xx: (nderiv(1 + j!1, f!1)(xx)))"
                 "g"
                 "nderiv(1 + j!1, f!1)"))
               (split -1)
               (("1" (propax)) ("2" (hide 2 3) (skosimp*))))))))
          ("2"
           (hide 2)
           (assert)
           (lemma "derivable_n_times_lem[T]"
            ("f" "f!1" "n" "2+j!1" "m" "1+j!1"))
           (assert))))
        ("2"
         (hide -1 2)
         (lemma "sigma_restrict_eq")
         (inst?)
         (("1" (assert) (hide 2) (expand "restrict") (propax))
          ("2"
           (hide 2)
           (skosimp*)
           (lemma "nderiv_term_derivable")
           (inst?)
           (assert)
           (hide 3)
           (assert)
           (lemma "derivable_n_times_lem[T]"
            ("f" "f!1" "n" "2+j!1" "m" "1+ii!1"))
           (assert))
          ("3"
           (hide 2)
           (skosimp*)
           (lemma "derivable_n_times_lem[T]"
            ("f" "f!1" "n" "2+j!1" "m" "ii!1"))
           (assert))
          ("4"
           (hide 2)
           (skosimp*)
           (lemma "nderiv_term_derivable")
           (inst?)
           (assert)
           (hide 3)
           (assert)
           (typepred "ii!1")
           (lemma "derivable_n_times_lem[T]"
            ("f" "f!1" "n" "2+j!1" "m" "1+ii!1"))
           (assert))
          ("5"
           (hide 2)
           (skosimp*)
           (assert)
           (lemma "derivable_n_times_lem[T]"
            ("f" "f!1" "n" "2+j!1" "m" "ii!1"))
           (assert))))
        ("3"
         (hide 2)
         (skosimp*)
         (lemma "nderiv_term_derivable")
         (inst?)
         (assert)
         (hide -1 3)
         (assert)
         (lemma "derivable_n_times_lem[T]"
          ("f" "f!1" "n" "2+j!1" "m" "1+ii!1"))
         (assert))
        ("4"
         (hide 2)
         (skosimp*)
         (assert)
         (hide -1)
         (lemma "nderiv_term_derivable")
         (inst?)
         (assert)
         (hide 3)
         (lemma "derivable_n_times_lem[T]")
         (inst?)
         (inst - "(2+j!1)")
         (assert))
        ("5"
         (hide 2)
         (skosimp*)
         (lemma "nderiv_term_derivable")
         (inst?)
         (assert)
         (assert)
         (hide -1 3)
         (lemma "derivable_n_times_lem[T]"
          ("f" "f!1" "n" "2+j!1" "m" "1+ii!1"))
         (assert))
        ("6"
         (hide 2)
         (skosimp*)
         (lemma "derivable_n_times_lem[T]"
          ("f" "f!1" "n" "2+j!1" "m" "ii!1"))
         (assert))))
      ("2"
       (hide 2)
       (assert)
       (lemma "derivable_n_times_lem[T]"
        ("f" "f!1" "n" "2+j!1" "m" "1+j!1"))
       (assert))))
    ("3"
     (hide 2)
     (skosimp*)
     (lemma "nderiv_term_derivable")
     (inst?)
     (assert)
     (hide 3)
     (assert)
     (lemma "derivable_n_times_lem[T]"
      ("f" "f!1" "n" "1+n!2" "m" "1+ii!1"))
     (assert))
    ("4"
     (hide 2)
     (skosimp*)
     (assert)
     (lemma "derivable_n_times_lem[T]"
      ("f" "f!1" "n" "1+n!2" "m" "ii!1"))
     (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (replace -2)
   (hide -2)
   (lemma "deriv_diff_fun[T]")
   (inst -1 "(LAMBDA aa: f!1(bb!1) )"
    "(LAMBDA aa:                   sigma(0, n!1,                         LAMBDA nn:                           IF nn > n!1                             THEN 0                           ELSIF nn = 0 THEN f!1(aa)                           ELSE nderiv(nn, f!1)(aa) * (bb!1 - aa) ^ nn /                                 factorial(nn)                           ENDIF))")
   (("1"
     (assert)
     (expand "-")
     (replace -1)
     (hide -1)
     (apply-extensionality 1 :hide? t)
     (("1"
       (lemma "deriv_const[T]")
       (("1"
         (expand "const_fun")
         (inst?)
         (inst -1 "x!1")
         (assert)
         (expand "deriv" 1 1)
         (replace -1)
         (hide -1)
         (lemma "deriv_sigma")
         (inst?)
         (("1"
           (split -1)
           (("1"
             (replace -1)
             (assert)
             (hide -1)
             (lemma "term_by_term_deriv")
             (inst?)
             (assert))
            ("2"
             (hide 2)
             (skosimp*)
             (assert)
             (lemma "nderiv_term_derivable")
             (inst?)
             (assert)
             (hide 2)
             (assert)
             (typepred "ii!1")
             (lemma "derivable_n_times_lem[T]"
              ("f" "f!1" "n" "1+n!1" "m" "1+ii!1"))
             (assert))))
          ("2"
           (hide 2)
           (skosimp*)
           (assert)
           (lemma "derivable_n_times_lem[T]"
            ("f" "f!1" "n" "1+n!1" "m" "nn!1"))
           (assert))))
        ("2"
         (hide 2)
         (skosimp*)
         (lemma "not_one_element")
         (expand "not_one_element?")
         (inst?))
        ("3"
         (hide 2)
         (lemma "connected_domain")
         (lemma "deriv_domain")
         (expand "deriv_domain?")
         (propax))))
      ("2"
       (lemma "sigma_derivable")
       (inst?)
       (("1"
         (split -1)
         (("1" (skolem!))
          ("2"
           (hide 2)
           (skosimp*)
           (assert)
           (lemma "nderiv_term_derivable")
           (inst?)
           (assert)
           (hide 2)
           (assert)
           (typepred "ii!1")
           (lemma "derivable_n_times_lem[T]"
            ("f" "f!1" "n" "1+n!1" "m" "1+ii!1"))
           (assert))))
        ("2"
         (hide 2)
         (skosimp*)
         (assert)
         (lemma "derivable_n_times_lem[T]"
          ("f" "f!1" "n" "1+n!1" "m" "nn!1"))
         (assert))))
      ("3"
       (skosimp*)
       (assert)
       (lemma "derivable_n_times_lem[T]"
        ("f" "f!1" "n" "1+n!1" "m" "nn!1"))
       (assert))
      ("4"
       (lemma "const_derivable_fun[T]")
       (inst -1 "f!1(bb!1)")
       (skolem!))))
    ("2"
     (hide 2)
     (rewrite "sigma_derivable")
     (("1"
       (hide 2)
       (skosimp*)
       (lemma "nderiv_term_derivable")
       (inst?)
       (assert)
       (hide 2)
       (assert)
       (typepred "ii!1")
       (lemma "derivable_n_times_lem[T]"
        ("f" "f!1" "n" "1+n!1" "m" "1+ii!1"))
       (assert))
      ("2"
       (hide 2)
       (skosimp*)
       (assert)
       (lemma "derivable_n_times_lem[T]"
        ("f" "f!1" "n" "1+n!1" "m" "nn!1"))
       (assert))))
    ("3"
     (hide 2)
     (skosimp*)
     (assert)
     (lemma "derivable_n_times_lem[T]"
      ("f" "f!1" "n" "1+n!1" "m" "nn!1"))
     (assert))
    ("4"
     (hide 2)
     (lemma "const_derivable_fun[T]")
     (inst -1 "f!1(bb!1)"))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case-replace "bb!1 = aa!1")
   (("1"
     (assert)
     (expand "^")
     (expand "expt")
     (case-replace
      "(LAMBDA nn:
                                               IF nn > n!1
                                                 THEN 0
                                               ELSIF nn = 0 THEN f!1(aa!1) ELSE 0 / factorial(nn)
                                               ENDIF)
                                                = (LAMBDA nn: IF nn = 0 THEN f!1(aa!1) ELSE 0 ENDIF)")
     (("1"
       (hide -1)
       (lemma "sigma_first_ge")
       (inst?)
       (assert)
       (replace -1)
       (hide -1)
       (assert)
       (lemma "sigma_const")
       (inst -1 "n!1" "1" "0")
       (case-replace
        "sigma(1, n!1, (LAMBDA nn: IF nn = 0 THEN f!1(aa!1) ELSE 0 ENDIF)) = sigma(1, n!1, LAMBDA (i: nat): 0)")
       (("1"
         (hide -1)
         (replace -1)
         (lift-if)
         (ground)
         (("1" (inst + "aa!1")) ("2" (inst + "aa!1"))))
        ("2"
         (hide -1 2)
         (lemma "sigma_restrict_eq")
         (inst?)
         (assert)
         (hide 2)
         (expand "restrict")
         (propax))))
      ("2"
       (hide 2)
       (apply-extensionality 1 :hide? t)
       (lift-if)
       (ground))))
    ("2"
     (lemma "taylor_lemma")
     (name "RN"
           "(LAMBDA aa:
                                                                                                                                                                                           f!1(bb!1) -
                                                                                                                                                                                            sigma(0, n!1,
                                                                                                                                                                                                  LAMBDA nn:
                                                                                                                                                                                                    IF nn > n!1
                                                                                                                                                                                                      THEN 0
                                                                                                                                                                                                    ELSIF nn = 0
                                                                                                                                                                                                          THEN f!1(aa)
                                                                                                                                                                                                          ELSE nderiv(nn, f!1)(aa) * (bb!1 - aa) ^ nn /
                                                                                                                                                                                                                factorial(nn)
                                                                                                                                                                                                    ENDIF))")
     (("1"
       (inst - "RN" "bb!1" "f!1" "n!1")
       (assert)
       (case "(EXISTS (KK: real): RN(aa!1) = KK*(bb!1 - aa!1) ^ (n!1+1) /                                                     factorial(n!1+1))")
       (("1"
         (skosimp*)
         (name "PHI"
               "RN - (LAMBDA x: KK!1 * (bb!1 - x) ^ (n!1+1) / factorial(n!1+1))")
         (case "derivable?(PHI)")
         (("1"
           (case "PHI(aa!1) = 0 AND PHI(bb!1) = 0")
           (("1"
             (case "(EXISTS (cc: between(aa!1,bb!1)): deriv(PHI)(cc) = 0)")
             (("1"
               (skosimp*)
               (inst + "cc!1")
               (assert)
               (case-replace
                "RN(aa!1) = (nderiv(1 + n!1, f!1)(cc!1) * (bb!1 - aa!1) ^ (1 + n!1)) /
                                                                                                                                                                                                                                                                      factorial(1 + n!1)")
               (("1" (hide -2 -3 -4 -5 -7) (replace -3 -1 rl) (assert))
                ("2"
                 (hide -7)
                 (replace -5 -1 rl)
                 (lemma "deriv_diff_fun[T]")
                 (lemma "tay3")
                 (inst -1 "bb!1" "n!1")
                 (flatten)
                 (inst?)
                 (("1"
                   (replace -3)
                   (hide -3)
                   (replace -9)
                   (expand "-" -3)
                   (case-replace
                    "deriv((LAMBDA x: (KK!1 * (bb!1 - x) ^ (1 + n!1)) / factorial(1 + n!1))) =
                                                                                                                                                                                                                                                                               -(LAMBDA x: (KK!1 * (bb!1 - x) ^ n!1) / factorial(n!1))")
                   (("1"
                     (hide -2 -3)
                     (hide -1)
                     (assert)
                     (hide -2 -3 -4 -5 -7 -8)
                     (replace -2)
                     (hide -2)
                     (expand "-" -)
                     (case-replace "nderiv(1 + n!1, f!1)(cc!1) = KK!1")
                     (hide 2)
                     (name-replace "BBCC" "(bb!1-cc!1)^n!1")
                     (name-replace "FN" "factorial(n!1)")
                     (case-replace
                      "nderiv(1 + n!1, f!1)(cc!1) * BBCC / FN  =((KK!1 * BBCC) / FN)")
                     (("1"
                       (hide -2)
                       (assert)
                       (case-replace
                        "((KK!1 * BBCC) / FN) = KK!1 * (BBCC / FN)")
                       (("1"
                         (hide -1)
                         (case-replace
                          "nderiv(1 + n!1, f!1)(cc!1) * BBCC / FN =
                                                                                                                                                                                                                                                                                                                                   nderiv(1 + n!1, f!1)(cc!1) * (BBCC / FN)")
                         (("1"
                           (hide -1)
                           (name-replace bcfn "BBCC/FN")
                           (lemma "both_sides_times1")
                           (inst?)
                           (("1" (assert))
                            ("2"
                             (reveal -2 -6 -7)
                             (replace -1 * rl)
                             (hide -1)
                             (replace -1 * rl)
                             (hide -1)
                             (replace -1 * rl)
                             (hide -1)
                             (hide -1 2)
                             (lemma "div_eq_zero")
                             (inst?)
                             (typepred "cc!1")
                             (lemma "trich_lt" ("x" "aa!1" "y" "bb!1"))
                             (split -1)
                             (("1"
                               (lemma "expt_nonzero"
                                ("n0x" "bb!1-cc!1" "i" "n!1"))
                               (("1" (assert)) ("2" (assert))))
                              ("2" (assert))
                              ("3"
                               (lemma "expt_nonzero"
                                ("n0x" "bb!1-cc!1" "i" "n!1"))
                               (("1" (assert)) ("2" (assert))))))))
                          ("2" (assert))))
                        ("2" (assert))))
                      ("2" (assert))))
                    ("2"
                     (hide -1 -2 -3 -4 -5 -6 -7 -8 -9 2)
                     (lemma "tay3")
                     (inst -1 "bb!1" "n!1")
                     (flatten)
                     (lemma "deriv_scal_fun[T]")
                     (inst -1 "KK!1"
                      "(LAMBDA x: (bb!1 - x) ^ (1 + n!1) / factorial(1 + n!1))")
                     (("1"
                       (expand "*" -1 1)
                       (case-replace
                        "(LAMBDA (x_1578: real):
                                                                                                                                                                             KK!1 * ((bb!1 - x_1578) ^ (1 + n!1) / factorial(1 + n!1))) =
                                                                                                                                                               (LAMBDA (x_1578: real):
                                                                                                                                                                             (KK!1 * (bb!1 - x_1578) ^ (1 + n!1)) / factorial(1 + n!1))")
                       (("1"
                         (hide -1)
                         (replace -1)
                         (hide -1)
                         (replace -2)
                         (hide -2)
                         (expand "-")
                         (apply-extensionality 1 :hide? t)
                         (expand "*")
                         (assert))
                        ("2" (apply-extensionality 1 :hide? t))))
                      ("2" (assert))))
                    ("3"
                     (hide -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 2)
                     (lemma "scal_derivable_fun[T]")
                     (inst -1 "KK!1"
                      "(LAMBDA x: (bb!1 - x) ^ (1 + n!1) / factorial(1 + n!1))")
                     (assert)
                     (expand "*" -1)
                     (assert))))
                  ("2"
                   (lemma "scal_derivable_fun[T]")
                   (inst -1 "KK!1"
                    "(LAMBDA x: (bb!1 - x) ^ (1 + n!1) / factorial(1 + n!1))")
                   (assert)
                   (expand "*" -1)
                   (assert))))))
              ("2"
               (hide -3 -4 -5 -6)
               (lemma "mean_value[T]")
               (("1"
                 (case "aa!1 < bb!1")
                 (("1"
                   (inst - "aa!1" "bb!1" "PHI")
                   (assert)
                   (skosimp*)
                   (replace -5)
                   (replace -6)
                   (inst + "c!1")
                   (("1"
                     (assert)
                     (case-replace
                      "deriv(PHI, c!1) * bb!1 - deriv(PHI, c!1) * aa!1 =
                                                                                                                                                                             deriv(PHI, c!1) * (bb!1 - aa!1)")
                     (("1"
                       (hide -1)
                       (rewrite "zero_times3")
                       (("1" (expand "deriv" 1) (propax))
                        ("2" (lemma "deriv_domain") (propax))))
                      ("2" (assert))
                      ("3" (lemma "deriv_domain") (propax))))
                    ("2" (assert))))
                  ("2"
                   (inst - "bb!1" "aa!1" "PHI")
                   (assert)
                   (skosimp*)
                   (replace -5)
                   (replace -4)
                   (inst + "c!1")
                   (("1"
                     (assert)
                     (case-replace
                      "deriv(PHI, c!1) * aa!1 - deriv(PHI, c!1) * bb!1 =
                                                                                                                                                                             deriv(PHI, c!1) * (aa!1 - bb!1)")
                     (("1"
                       (hide -1)
                       (rewrite "zero_times3")
                       (("1" (expand "deriv" +) (propax))
                        ("2" (lemma "deriv_domain") (propax))))
                      ("2" (assert))
                      ("3" (lemma "deriv_domain") (propax))))
                    ("2" (assert))))))
                ("2" (lemma "not_one_element") (propax))
                ("3" (lemma "connected_domain") (propax))))
              ("3" (skosimp*))))
            ("2"
             (hide -1 -5 -6)
             (replace -1 * rl)
             (hide -1)
             (expand "-")
             (assert)
             (case-replace
              "(KK!1 * 0 ^ (1 + n!1)) / factorial(1 + n!1) = 0")
             (("1"
               (assert)
               (replace -3 * rl)
               (hide -1 -2 -3)
               (assert)
               (case-replace
                "(LAMBDA nn:
                                                                                                                                     IF nn > n!1
                                                                                                                                       THEN 0
                                                                                                                                     ELSIF nn = 0
                                                                                                                                           THEN f!1(bb!1)
                                                                                                                                           ELSE nderiv(nn, f!1)(bb!1) * 0 ^ nn / factorial(nn)
                                                                                                                                     ENDIF) = (LAMBDA nn: IF nn = 0
                                                                                                                                           THEN f!1(bb!1)
                                                                                                                                           ELSE 0 ENDIF)")
               (("1"
                 (hide -1)
                 (lemma "sigma_first_ge")
                 (inst?)
                 (assert)
                 (replace -1)
                 (hide -1)
                 (assert)
                 (case-replace
                  "sigma(1, n!1, (LAMBDA nn: IF nn = 0 THEN f!1(bb!1) ELSE 0 ENDIF)) = sigma(1, n!1, (LAMBDA nn: 0))")
                 (("1"
                   (hide -1)
                   (lemma "sigma_const")
                   (inst?)
                   (replace -1)
                   (hide -1)
                   (lift-if)
                   (ground))
                  ("2"
                   (hide 2)
                   (lemma "sigma_restrict_eq")
                   (inst?)
                   (assert)
                   (hide 2)
                   (expand "restrict")
                   (propax))))
                ("2"
                 (hide 2)
                 (apply-extensionality 1 :hide? t)
                 (("1"
                   (lift-if)
                   (ground)
                   (expand "^")
                   (expand "expt")
                   (assert))
                  ("2"
                   (skosimp*)
                   (reveal -8)
                   (assert)
                   (lemma "derivable_n_times_lem[T]"
                    ("f" "f!1" "n" "1+n!1" "m" "nn!1"))
                   (assert))))
                ("3"
                 (skosimp*)
                 (lemma "derivable_n_times_lem[T]"
                  ("f" "f!1" "n" "1+n!1" "m" "nn!1"))
                 (assert))))
              ("2"
               (hide -1 -2 2 4)
               (expand "^")
               (expand "expt")
               (assert))))))
          ("2"
           (replace -1 * rl)
           (hide -1 -2 -4)
           (lemma "diff_derivable_fun[T]")
           (inst?)
           (assert)
           (hide 2)
           (split +)
           (("1" (lemma "taylor_derivable") (inst?) (assert))
            ("2"
             (hide -1)
             (lemma "scal_derivable_fun[T]")
             (inst -1 "KK!1"
              "(LAMBDA x:
                                                                                                                         (bb!1 - x) ^ (1 + n!1) / factorial(1 + n!1))")
             (assert)
             (expand "*" -1)
             (hide 2)
             (lemma "tay1")
             (inst?))))))
        ("2"
         (hide -1 3)
         (name-replace "FN" "factorial(n!1)")
         (name-replace "FN2" "factorial(n!1+1)")
         (name-replace "BBAA" "(bb!1-aa!1)^(n!1+1)")
         (inst + "RN(aa!1)/(BBAA/FN2)")
         (("1" (assert))
          ("2"
           (hide -1 -2)
           (reveal -3 -4)
           (lemma "div_eq_zero")
           (inst?)
           (lemma "expt_nonzero" ("n0x" "bb!1-aa!1" "i" "n!1+1"))
           (typepred "factorial(n!1+1)")
           (assert))))))
      ("2"
       (skosimp*)
       (assert)
       (hide -1 5)
       (assert)
       (lemma "derivable_n_times_lem[T]"
        ("f" "f!1" "n" "1+n!1" "m" "nn!1"))
       (assert))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "Taylors")
   (inst?)
   (inst - "aa!1" "n!1")
   (split -1)
   (("1"
     (skosimp*)
     (inst + "c!1")
     (expand "Taylor_rem")
     (expand "Taylor_term")
     (assert)
     (replace -1)
     (hide -1)
     (assert)
     (rewrite "sigma_restrict_eq")
     (("1" (hide 2) (expand "restrict") (propax))
      ("2"
       (skosimp*)
       (hide 3)
       (expand "derivable_n_times?")
       (ground)
       (("1"
         (expand "inf_deriv_fun?")
         (inst - "1")
         (expand "derivable_n_times?")
         (propax))
        ("2"
         (expand "inf_deriv_fun?")
         (inst?)
         (lemma "derivable_n_times_def[T]")
         (inst?)
         (assert))))
      ("3"
       (hide 2)
       (skosimp*)
       (assert)
       (expand "inf_deriv_fun?")
       (inst?))))
    ("2" (hide 2) (expand "inf_deriv_fun?") (inst?))))


proof_type: t_proof
decl_type: tcc
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "nderiv_derivable_eqv[T]" ("f" "f!1" "n" "n!1"))
   (replace -2 -1)
   (flatten -1)
   (lemma "extensionality"
    ("f" "nderiv(n!1, f!1)" "g" "LAMBDA xx: (nderiv[T](n!1, f!1)(xx))"))
   (("1"
     (split -1)
     (("1" (replace -1 1 rl) (propax)) ("2" (hide 2) (skosimp*))))
    ("2" (skosimp*)) ("3" (propax))))


proof_type: t_proof
decl_type: tcc
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (case "ii!1=0")
   (("1" (propax))
    ("2"
     (assert)
     (expand "derivable_n_times?")
     (lemma "extensionality" ("f" "f!1" "g" "LAMBDA xx: f!1(xx)"))
     (split -1)
     (("1"
       (skosimp*)
       (assert)
       (lemma "nderiv_derivable[T]" ("f" "f!1" "n" "n!1" "m" "ii!1"))
       (assert)
       (lemma "identity_derivable_fun[T]")
       (expand "I")
       (assert)
       (hide -2)
       (lemma "derivable_n_times_lem[T]"
        ("f" "f!1" "n" "1+n!1" "m" "ii!1"))
       (assert))
      ("2" (assert))))))


proof_type: t_proof
decl_type: tcc
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (assert)
   (expand "derivable_n_times?")
   (skosimp*)
   (assert)
   (lemma "nderiv_derivable[T]" ("f" "f!1" "n" "n!1" "m" "ii!1"))
   (assert)
   (lemma "identity_derivable_fun[T]")
   (expand "I")
   (assert)
   (hide -2)
   (use "nderiv_term_derivable")
   (expand "derivable_n_times?" -1)
   (lemma "derivable_n_times_lem[T]")
   (inst?)
   (inst -1 "n!1")
   (assert))


proof_type: t_proof
decl_type: tcc
library: analysis_ax
theory: taylors
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "taylor_derivable" ("f" "f!1" "n" "n!1" "bb" "bb!1"))
   (replace -2 * rl)
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (rewrite "integral_def")
   (typepred "integral(a!1, b!1, f!1)")
   (("1"
     (expand "integral?")
     (skosimp*)
     (inst - "epsi!1")
     (skosimp*)
     (inst + "delta!1")
     (skosimp*)
     (inst - "P!1")
     (assert)
     (typepred "integral(a!1, b!1, f!1)")
     (inst - "R!1")
     (typepred "R!1")
     (hide 2)
     (expand "Riemann_sum?")
     (skosimp*)
     (inst + "xis!1")
     (assert)
     (replace -1)
     (expand "Rie_sum")
     (assert)
     (rewrite "sigma_restrict_eq")
     (("1"
       (hide 2)
       (hide -1)
       (expand "restrict")
       (apply-extensionality :hide? t)
       (inst - "xis!1(x!1)")
       (assert))
      ("2" (hide 2) (skosimp*) (assert))))
    ("2" (propax)) ("3" (propax))))


proof_type: t_proof
decl_type: tcc
library: analysis_ax
theory: integral_def
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (inst +
    "(LAMBDA (d: [a: T, b: {x: T | a < x}, {f | integrable?(a, b, f)}]):  choose({S: real | integral?(d`1, d`2, d`3, S)}))")
   (skosimp*)
   (typepred "d!1`3")
   (expand "integrable?")
   (expand "nonempty?")
   (skosimp*)
   (expand "empty?")
   (expand "member")
   (inst?))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (lemma "trichotomy")
   (inst - "b!1-a!1")
   (lemma "integral_const_fun")
   (expand "Integrable?")
   (expand "Integral")
   (split -2)
   (("1" (assert) (inst - "D!1" "a!1" "b!1") (assert)) ("2" (assert))
    ("3" (inst - "D!1" "b!1" "a!1") (assert) (flatten) (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (lemma "trichotomy")
   (inst - "b!1-a!1")
   (lemma "integral_const_restrict")
   (expand "Integral")
   (expand "Integrable?")
   (assert)
   (split -2)
   (("1"
     (assert)
     (inst - "D!1" "a!1" "b!1" "f!1")
     (assert)
     (split -2)
     (("1" (lemma "integral_def") (inst?) (assert))
      ("2" (hide 2) (skosimp*) (inst?))))
    ("2" (assert))
    ("3"
     (assert)
     (inst - "D!1" "b!1" "a!1" "f!1")
     (assert)
     (split -2)
     (("1"
       (lemma "integral_def")
       (inst?)
       (assert)
       (skosimp*)
       (inst?)
       (assert))
      ("2" (hide 2) (skosimp*) (inst?))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (lemma "continuous_integrable")
   (lemma "trichotomy")
   (inst -1 "b!1-a!1")
   (expand "Integrable?")
   (split -1)
   (("1" (assert) (inst?) (assert) (skosimp*) (inst?)) ("2" (assert))
    ("3" (assert) (inst?) (assert) (skosimp*) (inst?))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "continuous_Integrable?[T]")
   (inst?)
   (assert)
   (skosimp*)
   (expand "continuous?" -1)
   (inst?))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "continuous_Integrable?")
   (inst?)
   (assert)
   (skosimp*)
   (expand "continuous?" -1)
   (inst?))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (case-replace "D!1 = 0")
   (("1"
     (assert)
     (expand "*")
     (lemma "Integral_const_fun")
     (inst - "0" "a!1" "b!1")
     (flatten)
     (expand "const_fun")
     (assert))
    ("2"
     (lemma "trichotomy")
     (inst -1 "b!1 - a!1")
     (expand "Integrable?")
     (expand "Integral")
     (split -1)
     (("1" (assert) (rewrite "integral_scal")) ("2" (assert))
      ("3"
       (assert)
       (lemma "integral_scal")
       (inst -1 "D!1" "b!1" "a!1" "f!1")
       (assert)
       (flatten)
       (assert))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (lemma "integral_sum")
   (lemma "trichotomy")
   (inst -1 "b!1-a!1")
   (expand "Integrable?")
   (expand "Integral")
   (split -1)
   (("1" (assert) (inst?) (assert)) ("2" (assert))
    ("3"
     (assert)
     (inst -2 "b!1" "a!1" "f!1" "g!1")
     (assert)
     (flatten)
     (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "Integral_sum")
   (inst -1 "a!1" "b!1" "f!1" "-g!1")
   (assert)
   (split -1)
   (("1"
     (flatten)
     (expand "-")
     (assert)
     (replace -2)
     (assert)
     (lemma "Integral_scal")
     (inst?)
     (assert)
     (flatten)
     (assert)
     (case-replace "(LAMBDA (x: T): -g!1(x)) = -1* g!1")
     (("1" (assert))
      ("2"
       (hide-all-but 1)
       (apply-extensionality 1 :hide? t)
       (expand "*")
       (assert))))
    ("2"
     (hide -1 2)
     (lemma "Integral_scal")
     (inst -1 "-1" "a!1" "b!1" "g!1")
     (assert)
     (flatten)
     (assert)
     (expand "-")
     (case-replace "(LAMBDA (x: T): -g!1(x)) = -1* g!1")
     (hide-all-but 1)
     (apply-extensionality 1 :hide? t)
     (expand "*")
     (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (case-replace "a!1 = b!1")
   (("1" (expand "Integral") (propax))
    ("2"
     (case-replace "b!1 = c!1")
     (("1" (expand "Integral") (propax))
      ("2"
       (case-replace "a!1 = c!1")
       (("1"
         (expand "Integral")
         (assert)
         (expand "Integrable?")
         (assert)
         (case-replace "c!1 < b!1")
         (("1" (assert)) ("2" (assert))))
        ("2"
         (lemma "integral_split")
         (case "a!1 < b!1 AND b!1 < c!1")
         (("1"
           (inst - "a!1" "b!1" "c!1" "f!1")
           (flatten)
           (assert)
           (expand "Integrable?")
           (expand "Integral")
           (assert))
          ("2"
           (case "a!1 < c!1 AND c!1 < b!1")
           (("1"
             (inst - "a!1" "c!1" "b!1" "f!1")
             (expand "Integrable?")
             (expand "Integral")
             (flatten)
             (assert)
             (assert)
             (case "integrable?(a!1, c!1, f!1)")
             (("1" (assert))
              ("2"
               (hide -3 6)
               (lemma "integrable?_split")
               (inst?)
               (inst -1 "b!1")
               (assert))))
            ("2"
             (case "b!1 < a!1 AND a!1 < c!1")
             (("1"
               (inst - "b!1" "a!1" "c!1" "f!1")
               (expand "Integrable?")
               (expand "Integral")
               (flatten)
               (assert)
               (assert)
               (case "integrable?(a!1, c!1, f!1)")
               (("1" (assert))
                ("2"
                 (hide -3 7)
                 (lemma "integrable?_split")
                 (inst -1 "b!1" "a!1" "c!1" "f!1")
                 (assert))))
              ("2"
               (case "b!1 < c!1 AND c!1 < a!1")
               (("1"
                 (inst - "b!1" "c!1" "a!1" "f!1")
                 (flatten)
                 (expand "Integrable?")
                 (expand "Integral")
                 (assert)
                 (assert)
                 (case "integrable?(c!1, a!1, f!1)")
                 (("1" (assert))
                  ("2"
                   (hide -3 8)
                   (lemma "integrable?_split")
                   (inst -1 "b!1" "c!1" "a!1" "f!1")
                   (assert))))
                ("2"
                 (case "c!1 < a!1 AND a!1 < b!1")
                 (("1"
                   (inst - "c!1" "a!1" "b!1" "f!1")
                   (flatten)
                   (expand "Integrable?")
                   (expand "Integral")
                   (assert)
                   (assert)
                   (case "integrable?(c!1, a!1, f!1)")
                   (("1" (assert))
                    ("2"
                     (hide -3 9)
                     (lemma "integrable?_split")
                     (inst -1 "c!1" "a!1" "b!1" "f!1")
                     (assert))))
                  ("2"
                   (case "c!1 < b!1 AND b!1 < a!1")
                   (("1"
                     (inst - "c!1" "b!1" "a!1" "f!1")
                     (expand "Integrable?")
                     (expand "Integral")
                     (flatten)
                     (assert)
                     (assert)
                     (flatten)
                     (assert))
                    ("2" (hide -1 -2 -3 10) (ground))))))))))))))))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (lemma "trichotomy")
   (inst - "b!1-a!1")
   (lemma "integral_chg_one_pt")
   (expand "Integrable?")
   (expand "Integral")
   (split -2)
   (("1"
     (assert)
     (inst - "a!1" "b!1" "f!1" "yv!1")
     (assert)
     (inst - "y!1")
     (typepred "y!1")
     (assert)
     (flatten)
     (assert)
     (flatten)
     (assert))
    ("2" (assert))
    ("3"
     (assert)
     (inst - "b!1" "a!1" "f!1" "yv!1")
     (assert)
     (inst - "y!1")
     (typepred "y!1")
     (assert)
     (flatten)
     (assert)
     (flatten)
     (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (lemma "integral_ge_0")
   (inst?)
   (inst?)
   (assert)
   (expand "Integrable?")
   (expand "Integral")
   (assert)
   (skosimp*)
   (inst?))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (expand "Integrable?")
   (expand "Integral")
   (skosimp*)
   (expand "<=" -1)
   (split -1)
   (("1"
     (assert)
     (lemma "integral_chg_one_pt"
      ("a" "a!1" "b" "b!1" "f" "f!1" "yv" "1"))
     (assert)
     (inst - "a!1")
     (assert)
     (flatten)
     (lemma "integral_chg_one_pt"
      ("a" "a!1" "b" "b!1" "f" "f!1 WITH [(a!1) := 1]" "yv" "1"))
     (assert)
     (inst - "b!1")
     (assert)
     (flatten)
     (lemma "integral_ge_0"
      ("a" "a!1" "b" "b!1" "f" "f!1 WITH [(a!1) := 1, (b!1) := 1]"))
     (assert)
     (hide-all-but (-7 1))
     (skosimp)
     (case-replace "x!1=a!1")
     (("1" (assert))
      ("2"
       (case-replace "x!1=b!1")
       (("1" (assert))
        ("2" (inst - "x!1") (("1" (assert)) ("2" (assert))))))))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (lemma "integral_bound")
   (inst?)
   (inst -1 "M!1" "f!1")
   (assert)
   (expand "Integrable?")
   (expand "Integral")
   (assert)
   (split -1)
   (("1" (propax)) ("2" (hide 2) (skosimp*) (inst?))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (lemma "integral_bound")
   (expand "Integral")
   (lemma "trichotomy")
   (inst -1 "b!1-a!1")
   (split -1)
   (("1"
     (expand "Integrable?")
     (assert)
     (inst -2 "M!1" "a!1" "b!1" "f!1" "-M!1")
     (assert)
     (split -2)
     (("1" (hide -3 -4) (expand "abs") (lift-if) (ground))
      ("2"
       (skosimp*)
       (inst?)
       (expand "abs")
       (assert)
       (lift-if)
       (ground))))
    ("2" (assert) (expand "abs") (assert))
    ("3"
     (inst -2 "M!1" "b!1" "a!1" "f!1" "-M!1")
     (assert)
     (split -2)
     (("1" (hide -3 -4) (expand "abs") (lift-if) (ground))
      ("2" (expand "Integrable?") (propax))
      ("3"
       (skosimp*)
       (inst?)
       (hide 2)
       (expand "abs")
       (lift-if)
       (ground))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp)
   (lemma "Integral_const_fun" ("a" "a!1" "b" "b!1" "D" "0"))
   (flatten)
   (expand "const_fun")
   (lemma "Integral_diff"
    ("a" "a!1" "b" "b!1" "g" "f!1" "f" "LAMBDA (x: T): 0"))
   (assert)
   (flatten)
   (assert)
   (replace -4)
   (expand "-" 1)
   (propax))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: integral
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skeep)
   (case-replace "b = a")
   (("1"
     (rewrite "Integrable?_a_to_a")
     (rewrite "Integrable?_a_to_a")
     (rewrite "Integral_a_to_a")
     (rewrite "Integral_a_to_a"))
    ("2"
     (lemma "integral_restr_eq")
     (case "a < b")
     (("1"
       (inst - "a" "b" "f" "g")
       (assert)
       (split -2)
       (("1"
         (flatten)
         (expand "Integrable?")
         (expand "Integral")
         (assert))
        ("2" (hide 3) (skosimp*) (inst?) (assert))
        ("3" (expand "Integrable?") (propax))))
      ("2"
       (expand "Integrable?")
       (assert)
       (expand "Integral")
       (inst - "b" "a" "f" "g")
       (assert)
       (split -1)
       (("1" (flatten) (assert))
        ("2" (hide 4) (skosimp*) (inst?) (assert))))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: fundamental_theorem
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "connected_domain")
   (lemma "connected_deriv_domain[T]")
   (lemma not_one_element)
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: fundamental_theorem
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (rewrite "derivative_fun_alt")
   (skosimp*)
   (expand "convergence")
   (expand "convergence")
   (prop)
   (("1"
     (hide -2)
     (expand "continuous?")
     (inst?)
     (rewrite continuity_def)
     (expand "convergence")
     (expand "convergence")
     (flatten)
     (hide -2)
     (hide -1)
     (expand "adh")
     (skosimp*)
     (lemma "not_one_element")
     (expand "not_one_element?")
     (inst -1 "x!1")
     (skosimp*)
     (case "x!1 <= y!1")
     (("1"
       (inst + "min(y!1,x!1+e!1/2)")
       (("1" (grind))
        ("2"
         (expand "min")
         (ground)
         (("1"
           (lemma "connected_domain")
           (expand "connected?")
           (inst -1 "x!1" "y!1" "x!1 + e!1 / 2")
           (assert))
          ("2" (lift-if) (ground))))))
      ("2"
       (inst + "max(y!1,x!1-e!1/2)")
       (("1" (grind))
        ("2"
         (expand "max")
         (ground)
         (("1"
           (lemma "connected_domain")
           (expand "connected?")
           (inst -1 "y!1" "x!1" "x!1 - e!1 / 2")
           (assert))
          ("2" (lift-if) (ground))))))))
    ("2"
     (skosimp*)
     (expand "continuous?")
     (inst -1 "x!1")
     (rewrite continuity_def)
     (expand "convergence")
     (expand "convergence")
     (flatten)
     (inst -2 "epsilon!1/2")
     (skosimp*)
     (case "FORALL (x, x0: T):        x /= x0 IMPLIES         Integrable?[T](x0, x, (LAMBDA (t: T): f!1(t) - f!1(x0)))")
     (("1"
       (inst + "delta!1")
       (skosimp*)
       (case "(FORALL (x,x0: T): x /= x0 IMPLIES                   abs((F!1(x) - F!1(x0))/(x-x0) - f!1(x0)) =                        abs(Integral(x0,x,(LAMBDA (t: T): f!1(t) - f!1(x0)))/(x-x0)))")
       (("1"
         (inst?)
         (assert)
         (replace -1)
         (hide -1)
         (hide -1)
         (rewrite "abs_div")
         (("1"
           (mult-by 1 "abs(x!2 - x!1)")
           (("1"
             (inst -4 "x!2")
             (assert)
             (lemma "Integral_bounded[T]")
             (("1"
               (inst?)
               (assert)
               (inst -1 "epsilon!1/2")
               (split -1)
               (("1" (assert)) ("2" (reveal -6) (inst?) (assert))
                ("3"
                 (skosimp*)
                 (reveal -3)
                 (hide 2)
                 (inst -1 "x!3")
                 (assert)
                 (hide -3 -4 2)
                 (hide -3)
                 (expand "fullset")
                 (typepred "x!3")
                 (grind))))
              ("2" (lemma "not_one_element") (propax))
              ("3" (lemma "connected_domain") (propax))))
            ("2" (lemma "not_one_element") (propax))
            ("3" (lemma "connected_domain") (propax))
            ("4" (hide-all-but 1) (reveal -8) (inst?) (assert))
            ("5" (lemma "not_one_element") (propax))
            ("6" (lemma "connected_domain") (propax))
            ("7" (hide-all-but 1) (reveal -7) (inst?) (assert))))
          ("2"
           (hide-all-but 1)
           (reveal -6)
           (inst?)
           (assert)
           (lemma "not_one_element")
           (propax))
          ("3" (lemma "connected_domain") (propax))
          ("4" (hide-all-but 1) (reveal -6) (inst?) (assert))))
        ("2"
         (hide 2)
         (skosimp*)
         (hide -1 -2 -3 -4 -5)
         (inst-cp -1 "x!3")
         (inst -1 "x0!1")
         (replace -1)
         (hide -1)
         (replace -1)
         (hide -1)
         (lemma "Integral_split[T]")
         (("1"
           (inst -1 "x0!1" "a!1" "x!3" "f!1")
           (split -1)
           (("1"
             (flatten)
             (case-replace
              "Integral(x0!1, a!1, f!1) = -Integral(a!1,x0!1, f!1)")
             (("1"
               (assert)
               (replace -3)
               (hide -3)
               (case-replace
                "Integral(x0!1, x!3, (LAMBDA (t: T): f!1(t) - f!1(x0!1))) =             Integral(x0!1, x!3, f!1) -   Integral(x0!1, x!3, (LAMBDA (t: T): f!1(x0!1)))")
               (("1"
                 (hide -1 -2 -3)
                 (lemma "Integral_const_fun[T]")
                 (inst?)
                 (name-replace "MTT" "(x!3 - x0!1)")
                 (expand "const_fun")
                 (inst?)
                 (flatten)
                 (replace -2)
                 (assert)
                 (hide -1 -2)
                 (name-replace "II" "Integral(x0!1, x!3, f!1)")
                 (reveal -5)
                 (case-replace
                  "(II - f!1(x0!1) * MTT) / MTT = II/MTT - f!1(x0!1) ")
                 (hide 3)
                 (assert))
                ("2"
                 (assert)
                 (hide-all-but 1)
                 (lemma "Integral_diff[T]")
                 (inst?)
                 (assert)
                 (hide 2)
                 (lemma "Integral_const_fun[T]")
                 (expand "const_fun")
                 (inst?)
                 (flatten))
                ("3"
                 (hide-all-but 1)
                 (lemma "Integral_const_fun[T]")
                 (expand "const_fun")
                 (inst?)
                 (assert))
                ("4" (hide-all-but 1) (reveal -8) (inst?) (assert))))
              ("2"
               (hide-all-but 1)
               (lemma "Integral_rev[T]")
               (inst?)
               (assert)
               (hide 2)
               (reveal -14)
               (lemma "continuous_Integrable?[T]")
               (inst?)
               (split -1)
               (("1" (propax)) ("2" (skosimp*) (inst?))))))
            ("2"
             (hide 3)
             (hide-all-but 1)
             (lemma "continuous_Integrable?[T]")
             (inst?)
             (split -1)
             (("1" (propax))
              ("2"
               (hide 2)
               (skosimp*)
               (lemma "continuous_Integrable?[T]")
               (inst?)
               (assert)
               (inst?)
               (lemma "continuous_Integrable?[T]")
               (inst?)
               (assert)
               (reveal -12)
               (reveal -13)
               (inst?))))
            ("3"
             (hide 3)
             (lemma "continuous_Integrable?[T]")
             (inst?)
             (assert)
             (skosimp*)
             (reveal -12)
             (inst?))))
          ("2" (lemma "not_one_element") (propax))
          ("3" (lemma "connected_domain") (propax))))
        ("3" (propax)) ("4" (skosimp*) (assert))))
      ("2"
       (hide 2)
       (skosimp*)
       (hide -1 -2 -3)
       (reveal -5)
       (lemma "Integral_diff[T]")
       (("1"
         (inst?)
         (assert)
         (hide 3)
         (prop)
         (("1"
           (lemma "continuous_Integrable?[T]")
           (inst?)
           (assert)
           (skosimp*)
           (inst?))
          ("2"
           (lemma "continuous_Integrable?[T]")
           (inst?)
           (assert)
           (skosimp*)
           (assert)
           (hide-all-but 1)
           (lemma "const_continuous[T]")
           (expand "const_fun")
           (inst?))))
        ("2" (lemma "not_one_element") (propax))
        ("3" (lemma "connected_domain") (propax))))
      ("3" (lemma "not_one_element") (skosimp*))
      ("4" (skosimp*) (lemma "connected_domain") (propax))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: fundamental_theorem
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "fundamental")
   (name "xa" "choose({x: T | true})")
   (("1"
     (case "FORALL (x: T): Integrable?[T](xa, x, f!1)")
     (("1"
       (inst + "(LAMBDA (x: T): Integral(xa,x,f!1))")
       (("1"
         (inst - "(LAMBDA (x: T): Integral(xa,x,f!1))" "xa" "f!1")
         (("1" (assert))
          ("2" (skosimp*) (lemma "not_one_element") (inst?))
          ("3"
           (skosimp*)
           (lemma "connected_domain")
           (inst?)
           (inst?)
           (assert))))
        ("2"
         (lemma "not_one_element")
         (lemma "not_one_element")
         (skosimp*))
        ("3" (lemma "connected_domain") (skosimp*))))
      ("2"
       (skosimp*)
       (rewrite "continuous_Integrable?[T]")
       (("1"
         (skosimp*)
         (expand "continuous?" -2)
         (hide -1 -2 2 3 4)
         (expand "continuous?" -)
         (inst?))
        ("2" (lemma "not_one_element") (propax))
        ("3" (lemma "connected_domain") (propax))))
      ("3" (skosimp*) (rewrite "not_one_element"))
      ("4" (lemma "connected_domain") (skosimp*))))
    ("2"
     (hide-all-but 1)
     (expand "nonempty?")
     (expand "empty?")
     (inst - "epsilon({x: T | TRUE})")
     (expand "member")
     (propax))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: fundamental_theorem
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (lemma "continuous_Integrable?[T]")
   (("1"
     (inst?)
     (split -1)
     (("1"
       (assert)
       (hide -1)
       (case "FORALL (x): Integrable?[T](a!1, x, f!1)")
       (("1"
         (case "derivable?[T](LAMBDA x: Integral[T](a!1, x, f!1))")
         (("1"
           (case "derivable?[T](LAMBDA x: Integral[T](a!1, x, f!1) - F!1(x))")
           (("1"
             (case "FORALL (xx: T): deriv((LAMBDA x: Integral(a!1, x, f!1) -F!1(x)),xx) = 0")
             (("1"
               (lemma "null_derivative[T]")
               (("1"
                 (inst?)
                 (("1"
                   (assert)
                   (replace -2)
                   (assert)
                   (hide -2)
                   (case "EXISTS (c:real): (LAMBDA x: Integral(a!1, x, f!1)) = F!1+const_fun(c)")
                   (("1"
                     (skosimp*)
                     (expand "+ ")
                     (case "(LAMBDA x: Integral(a!1, x, f!1))(a!1) =       (LAMBDA (x: T): const_fun(c!1)(x) + F!1(x))(a!1)")
                     (("1"
                       (hide -2)
                       (assert)
                       (expand "Integral" -1)
                       (expand "const_fun")
                       (reveal -1)
                       (case "(LAMBDA x: Integral(a!1, x, f!1))(b!1) =       (LAMBDA (x: T): const_fun(c!1)(x) + F!1(x))(b!1)")
                       (("1"
                         (hide -2)
                         (assert)
                         (expand "const_fun")
                         (assert))
                        ("2" (replace -1) (propax))
                        ("3"
                         (skosimp*)
                         (lemma "not_one_element")
                         (inst?))
                        ("4" (lemma "connected_domain") (skosimp*))
                        ("5"
                         (hide-all-but 1)
                         (reveal -5)
                         (skosimp*)
                         (inst?))))
                      ("2" (replace -1) (propax))
                      ("3"
                       (hide-all-but 1)
                       (skosimp*)
                       (assert)
                       (lemma "not_one_element")
                       (assert)
                       (inst?))
                      ("4" (lemma "connected_domain") (skosimp*))
                      ("5"
                       (hide-all-but 1)
                       (reveal -5)
                       (skosimp*)
                       (inst?))))
                    ("2"
                     (expand "const_fun")
                     (inst + "- F!1(a!1)")
                     (expand "+ ")
                     (apply-extensionality 1 :hide? t)
                     (("1"
                       (expand "constant?")
                       (inst -1 "a!1" "x!1")
                       (assert)
                       (expand "Integral" -1 1)
                       (assert))
                      ("2" (lemma "not_one_element") (propax))
                      ("3" (lemma "connected_domain") (propax))))))
                  ("2" (lemma "not_one_element") (propax))
                  ("3" (lemma "connected_domain") (propax))))
                ("2" (lemma "deriv_domain") (propax))))
              ("2"
               (skosimp*)
               (lemma "deriv_diff_fun")
               (expand "-")
               (inst -1 "(LAMBDA x: Integral(a!1, x, f!1))" "F!1")
               (("1"
                 (assert)
                 (case "deriv((LAMBDA x: Integral(a!1, x, f!1) - F!1(x)))(xx!1) = 0")
                 (("1" (expand "deriv" -1) (propax))
                  ("2"
                   (hide 2)
                   (replace -1)
                   (assert)
                   (hide -1)
                   (hide -3)
                   (lemma "fundamental")
                   (inst -1 "(LAMBDA x: Integral(a!1, x, f!1))" "a!1"
                    "f!1")
                   (("1" (assert))
                    ("2" (lemma "not_one_element") (propax))
                    ("3" (lemma "connected_domain") (propax))
                    ("4" (hide-all-but 1) (reveal -7) (propax))))))
                ("2" (lemma "not_one_element") (propax))
                ("3" (lemma "connected_domain") (propax))))
              ("3" (skosimp*) (expand "derivable?" -1) (inst?))))
            ("2"
             (hide 2)
             (lemma "derivable_diff")
             (expand "-")
             (inst -1 "(LAMBDA x: Integral[T](a!1, x, f!1))" "F!1")
             (("1" (lemma "not_one_element") (propax))
              ("2" (lemma "connected_domain") (propax))))))
          ("2"
           (hide 2)
           (lemma "fundamental")
           (inst -1 "(LAMBDA x: Integral(a!1, x, f!1))" "a!1" "f!1")
           (("1" (assert)) ("2" (lemma "not_one_element") (propax))
            ("3" (lemma "connected_domain") (propax))))
          ("3" (propax))))
        ("2"
         (lemma "continuous_Integrable?[T]")
         (skosimp*)
         (inst?)
         (assert)
         (skosimp*)
         (expand "continuous?" -3)
         (inst?))))
      ("2"
       (lemma "not_one_element")
       (lemma "connected_domain")
       (skosimp*)
       (hide 2)
       (hide -1 -2 -3 -4)
       (expand "continuous?" -1)
       (inst?))))
    ("2" (lemma "not_one_element") (propax))
    ("3" (lemma "connected_domain") (propax))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: fundamental_theorem
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "derivable_cont[T]")
   (inst?)
   (assert)
   (lemma "continuous_Integrable?[T]")
   (("1" (inst?) (assert) (skosimp*) (expand "continuous?" -1) (inst?))
    ("2" (lemma "not_one_element") (propax))
    ("3" (lemma "connected_domain") (propax))))


proof_type: t_proof
decl_type: tcc
library: analysis_ax
theory: fundamental_theorem
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "continuous_Integrable?[T]")
   (("1" (inst?) (assert) (skosimp*) (expand "continuous?" -1) (inst?))
    ("2" (lemma "not_one_element") (propax))
    ("3" (lemma "connected_domain") (propax))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: indefinite_integral
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "antiderivative?")
   (flatten)
   (case "derivable?(G!1-F!1) AND deriv(G!1-F!1) = const_fun(0)")
   (("1"
     (flatten)
     (expand "const_fun")
     (lemma "null_derivative[T]")
     (inst -1 "G!1-F!1")
     (assert)
     (flatten)
     (hide -1)
     (split -1)
     (("1"
       (expand "constant?")
       (hide-all-but (-1 1))
       (name "xa" "choose({x: T | true})")
       (("1"
         (inst + "(F!1-G!1)(xa)")
         (assert)
         (apply-extensionality 1 :hide? t)
         (expand "+ ")
         (expand "-")
         (inst - "x!1" "xa")
         (assert))
        ("2" (hide-all-but 1) (grind))))
      ("2"
       (skosimp*)
       (case-replace "deriv(G!1 - F!1)(x!1) = 0")
       (("1" (expand "deriv" -1) (propax))
        ("2" (hide 2 3) (replace -2) (assert))))))
    ("2"
     (hide 2)
     (lemma "derivable_diff[T]")
     (inst?)
     (assert)
     (hide -1)
     (rewrite "deriv_diff_fun[T]")
     (assert)
     (expand "const_fun")
     (replace -2)
     (replace -4)
     (apply-extensionality 1 :hide? t)
     (expand "-")
     (propax))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: indefinite_integral
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "antiderivative_lem")
   (inst?)
   (inst -1 "deriv(F!1)")
   (assert)
   (split -1)
   (("1" (propax)) ("2" (hide 2) (expand "antiderivative?") (propax))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: indefinite_integral
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "fundamental2")
   (inst?)
   (assert)
   (skosimp*)
   (expand "integrable?")
   (inst?)
   (expand "antiderivative?")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: indefinite_integral
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "antiderivative_lem")
   (inst?)
   (inst - "f!1")
   (expand "antiderivative?")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: indefinite_integral
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "integral_lem[T]")
   (inst - "integral(deriv(F!1))" "F!1" "deriv(F!1)")
   (("1"
     (assert)
     (split -1)
     (("1" (propax)) ("2" (rewrite "deriv_integ"))))
    ("2" (rewrite "deriv_integ"))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: indefinite_integral
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "cont_Integrable?[T]")
   (inst?)
   (assert)
   (lemma "fundamental3")
   (inst?)
   (assert))


proof_type: t_proof
decl_type: tcc
library: analysis_ax
theory: indefinite_integral
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "connected_domain")
   (lemma "not_one_element")
   (lemma "connected_deriv_domain[T]")
   (assert)
   (inst +
    "(LAMBDA (f: integrable_fun): choose({F: [T -> real] |
                                              derivable?[T](F) AND deriv[T](F) = f}))")
   (assert)
   (skosimp*)
   (expand "nonempty?")
   (expand "empty?")
   (assert)
   (typepred "f!1")
   (expand "integrable?")
   (skosimp*)
   (expand "antiderivative?")
   (flatten)
   (inst - "F!1")
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: table_of_integrals
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (assert)
   (expand "antiderivative?")
   (lemma "deriv_x_to_n[T]")
   (("1"
     (inst - "n!1+1" "c!1/(n!1+1)")
     (assert)
     (flatten)
     (assert)
     (replace -2)
     (apply-extensionality 1 :hide? t)
     (factor 1 l)
     (name-replace "NP1" "(1 + n!1)")
     (assert))
    ("2" (hide 2) (lemma "not_one_element") (propax))
    ("3" (lemma "deriv_domain") (propax))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: table_of_integrals
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (assert)
   (lemma "fundamental3[T]")
   (inst?)
   (inst - "(LAMBDA x: (c!1/(n!1+1))*x^(n!1+1))")
   (assert)
   (split -1)
   (("1" (propax))
    ("2"
     (hide 2)
     (lemma "deriv_x_to_n[T]")
     (("1" (inst?) (assert) (flatten))
      ("2" (lemma "not_one_element") (propax))
      ("3" (lemma "deriv_domain") (propax))))
    ("3"
     (hide 2)
     (lemma "deriv_x_to_n[T]")
     (("1"
       (assert)
       (inst?)
       (assert)
       (flatten)
       (assert)
       (replace -2)
       (apply-extensionality 1 :hide? t)
       (factor 1 l)
       (name-replace "NP1" "(1 + n!1)")
       (assert))
      ("2" (lemma "not_one_element") (propax))
      ("3" (lemma "deriv_domain") (propax))))
    ("4"
     (hide 2)
     (lemma "derivable_cont_fun[T]")
     (("1"
       (inst?)
       (assert)
       (hide 2)
       (lemma "deriv_x_to_n[T]")
       (inst?)
       (assert))
      ("2" (lemma "not_one_element") (propax))
      ("3" (lemma "deriv_domain") (propax))))))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: table_of_integrals
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "Integral_sum")
   (inst -1 "a!1" "b!1" "LAMBDA x: mm!1 * x" "LAMBDA x: bb!1")
   (lemma "integral_x_to_n")
   (inst -1 "a!1" "b!1" "1" "mm!1")
   (lemma "Integral_const_fun")
   (inst -1 "bb!1" "a!1" "b!1")
   (expand "const_fun")
   (flatten)
   (expand "^")
   (expand "expt")
   (expand "expt")
   (expand "expt")
   (flatten)
   (replace -2)
   (replace -4)
   (prop)
   (assert))


proof_type: f_proof
decl_type: formula
library: analysis_ax
theory: table_of_integrals
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "Integral_sum")
   (inst -1 " a!1" "b!1" "LAMBDA x: A!1 * x ^ 2"
    "LAMBDA x: B!1 * x + C!1")
   (lemma "integral_x_to_n")
   (inst -1 "a!1" "b!1" "2" "A!1")
   (lemma "integral_linear")
   (inst -1 "a!1" "b!1" "B!1" "C!1")
   (prop)
   (("1" (assert))
    ("2" (assert) (flatten) (assert) (replace -4) (replace -6) (assert))
    ("3" (assert)) ("4" (assert)) ("5" (assert)) ("6" (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (expand "sin")
   (lemma "floor_def" ("x" "a!1 / (2 * pi)"))
   (flatten)
   (rewrite "div_mult_pos_le2" -1)
   (rewrite "div_mult_pos_lt1" -2)
   (typepred "sin_phase(a!1 - 2 * (floor(a!1 / (2 * pi)) * pi))")
   (("1"
     (expand "abs")
     (case "sin_phase(a!1 - 2 * (floor(a!1 / (2 * pi)) * pi)) < 0")
     (("1" (assert)) ("2" (assert))))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (expand "cos")
   (lemma "floor_def" ("x" "a!1 / (2 * pi)"))
   (rewrite "div_mult_pos_le2" -1)
   (rewrite "div_mult_pos_lt1" -1)
   (flatten)
   (typepred "cos_phase(a!1 - 2 * (floor(a!1 / (2 * pi)) * pi))")
   (("1"
     (expand "abs")
     (case "cos_phase(a!1 - 2 * (floor(a!1 / (2 * pi)) * pi))<0")
     (("1" (assert)) ("2" (assert))))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (expand "sin")
   (expand "cos")
   (lemma "floor_def" ("x" "a!1 / (2 * pi)"))
   (rewrite "div_mult_pos_le2" -1)
   (rewrite "div_mult_pos_lt1" -1)
   (flatten -1)
   (lemma "sin2_cos2_phase"
    ("x" "a!1 - 2 * (floor(a!1 / (2 * pi)) * pi)"))
   (("1" (assert)) ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "sin2_cos2")
   (inst?)
   (rewrite "cos_0")
   (expand "sq")
   (rewrite "zero_times3")
   (ground))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (expand "sin")
   (rewrite "div_div2")
   (lemma "div_cancel1" ("x" "1/4" "n0z" "pi"))
   (replace -1)
   (lemma "floor_val" ("i" "1" "j" "4" "k" "0"))
   (split -1)
   (("1" (replace -1) (rewrite "sin_phase_pi2")) ("2" (assert))
    ("3" (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "sin2_cos2" ("a" "pi/2"))
   (rewrite "sin_pi2")
   (rewrite "sq_1")
   (lemma "sq_eq_0" ("a" "cos(pi/2)"))
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (expand "sin")
   (lemma "floor_neg" ("x" "a!1/(2*pi)"))
   (case "integer?(a!1 / (2 * pi))")
   (("1"
     (assert)
     (replace -2)
     (lemma "floor_def" ("x" "-a!1 / (2 * pi)"))
     (flatten -1)
     (lemma "div_mult_pos_le2"
      ("x" "floor(-a!1 / (2 * pi))" "z" "-a!1" "py" "2 * pi"))
     (replace -1 -2)
     (lemma "div_mult_pos_lt1"
      ("x" "floor(-a!1 / (2 * pi))+1" "z" "-a!1" "py" "2 * pi"))
     (replace -1 -4)
     (hide -1 -2)
     (rewrite "floor_int" -4)
     (case "floor(-(a!1 / (2 * pi))) = -a!1/(2*pi)")
     (("1"
       (replace -1)
       (lemma "div_cancel1" ("x" "a!1" "n0z" "2*pi"))
       (replace -1)
       (lemma "div_cancel1" ("x" "-a!1" "n0z" "2*pi"))
       (replace -1)
       (simplify 1)
       (rewrite "sin_phase_0")
       (assert))
      ("2" (assert))))
    ("2"
     (assert)
     (replace -1 2)
     (case "a!1 = - 2 * (floor(-a!1 / (2 * pi)) * pi)")
     (("1" (assert))
      ("2"
       (lemma "sin_phase_neg"
        ("px" "-a!1 - 2 * (floor(-a!1 / (2 * pi)) * pi)"))
       (("1" (assert))
        ("2"
         (assert)
         (lemma "floor_def" ("x" "-a!1 / (2 * pi)"))
         (flatten -1)
         (rewrite "div_mult_pos_le2" -1)
         (rewrite "div_mult_pos_lt1" -2)
         (assert))))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (expand "cos")
   (lemma "floor_neg" ("x" "a!1 / (2 * pi)"))
   (case "integer?(a!1 / (2 * pi))")
   (("1" (assert))
    ("2"
     (assert)
     (replace -1)
     (case "-a!1 - 2 * (floor(-a!1 / (2 * pi)) * pi) = 0")
     (("1" (assert))
      ("2"
       (lemma "cos_phase_neg"
        ("px" "-a!1 - 2 * (floor(-a!1 / (2 * pi)) * pi)"))
       (("1" (assert))
        ("2"
         (lemma "floor_def" ("x" "-a!1 / (2 * pi)"))
         (flatten)
         (rewrite "div_mult_pos_le2" -1)
         (rewrite "div_mult_pos_lt1" -2)
         (assert))))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "a!1")
   (expand "Tan?")
   (expand "tan")
   (rewrite "cos_neg")
   (rewrite "sin_neg")
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (expand "cos")
   (expand "sin")
   (lemma "floor_def" ("x" "a!1 / (2 * pi)"))
   (rewrite "div_mult_pos_le2" -1)
   (rewrite "div_mult_pos_lt1" -1)
   (lemma "floor_def" ("x" "(pi/2+a!1 )/ (2 * pi)"))
   (rewrite "div_mult_pos_le2" -1)
   (rewrite "div_mult_pos_lt1" -1)
   (flatten)
   (lemma "cos_eqv_sin_phase"
    ("x" "a!1 - 2 * (floor(a!1 / (2 * pi)) * pi)"))
   (("1"
     (replace -1)
     (hide -1)
     (lemma "floor_plus" ("x" "a!1 / (2 * pi)" "y" "1/4"))
     (lemma "floor_val" ("i" "1" "j" "4" "k" "0"))
     (split -1)
     (("1"
       (replace -1)
       (lemma "div_cancel1" ("x" "1/4" "n0z" "pi"))
       (lemma "div_distributes" ("x" "pi/2" "y" "a!1" "n0z" "2*pi"))
       (replace -2 -1)
       (replace -1 * rl)
       (replace -4)
       (assert)
       (replace -1)
       (name "FL" "floor(a!1 / (2 * pi))")
       (replace -1)
       (case "fractional(1/4) = 1/4")
       (("1"
         (replace -1)
         (case "fractional(a!1 / (2 * pi)) = a!1/(2*pi) - FL")
         (("1"
           (replace -1)
           (case "a!1 - 2 * (FL * pi) < 3 * pi / 2")
           (("1"
             (assert)
             (case "floor(1 / 4 + a!1 / (2 * pi) - FL) = 0")
             (("1" (assert))
              ("2"
               (hide 2)
               (lemma "floor_def" ("x" "1 / 4 + a!1 / (2 * pi) - FL"))
               (flatten -1)
               (name-replace "K1" "floor(1 / 4 + a!1 / (2 * pi) - FL)")
               (lemma "trichotomy" ("x" "K1"))
               (split -1)
               (("1"
                 (case "K1=1")
                 (("1" (replace -1) (assert))
                  ("2" (case "K1>1") (("1" (assert)) ("2" (assert))))))
                ("2" (propax)) ("3" (assert))))))
            ("2"
             (case "floor(1 / 4 + (a!1 / (2 * pi) - FL)) = 1")
             (("1" (replace -1) (hide-all-but (1 2)) (assert))
              ("2" (hide 3) (assert))))))
          ("2" (hide 2) (expand "fractional" 1) (replace -2) (propax))))
        ("2"
         (hide 2)
         (expand "fractional" 1)
         (lemma "floor_val" ("i" "1" "j" "4" "k" "0"))
         (hide-all-but (-1 1))
         (assert))))
      ("2" (assert)) ("3" (assert))))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "cos_sin" ("a" "-(a!1+pi/2)"))
   (lemma "cos_neg" ("a" "a!1+pi/2"))
   (lemma "sin_neg" ("a" "a!1"))
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "sin_neg" ("a" "pi/2-a!1"))
   (lemma "sin_cos" ("a" "a!1-pi/2"))
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (case "pi=pi/2 + pi/2")
   (("1"
     (replace -1 :hide? t)
     (lemma "sin_minus")
     (inst -1 "pi/2" "-pi/2")
     (case "pi / 2 - -pi / 2 = pi / 2 + pi / 2")
     (("1"
       (replace -1 :hide? t)
       (replace -1 :hide? t)
       (case "(pi / 2 + pi / 2) / 2 = pi/2")
       (("1"
         (replace -1 :hide? t)
         (case "-(pi / 2 + pi / 2)/2 = -(pi/2)")
         (("1"
           (replace -1 :hide? t)
           (rewrite "sin_neg")
           (rewrite "cos_neg")
           (rewrite "sin_pi2")
           (rewrite "cos_pi2")
           (ground))
          ("2" (ground))))
        ("2" (ground))))
      ("2" (ground))))
    ("2" (ground))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (expand "cos")
   (lemma "div_cancel1" ("x" "1/2" "n0z" "pi"))
   (replace -1)
   (lemma "floor_val" ("i" "1" "j" "2" "k" "0"))
   (split -1)
   (("1"
     (replace -1)
     (simplify 1)
     (expand "cos_phase")
     (rewrite "cos_value_pi"))
    ("2" (assert)) ("3" (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (expand "sin")
   (rewrite "div_simp")
   (rewrite "floor_int")
   (assert)
   (rewrite "sin_phase_0"))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (expand "cos")
   (rewrite "div_simp")
   (rewrite "floor_int")
   (assert)
   (rewrite "cos_phase_0"))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (expand "sin")
   (expand "cos")
   (name "FLA" "floor(a!1 / (2 * pi))")
   (name "FLB" "floor(b!1 / (2 * pi))")
   (replace -1)
   (replace -2)
   (lemma "floor_plus" ("x" "a!1/(2*pi)" "y" "b!1/(2*pi)"))
   (replace -2)
   (replace -3)
   (lemma "sin_phase_sum"
    ("x" "a!1 - 2 * (FLA * pi)" "y" "b!1 - 2 * (FLB * pi)"))
   (("1"
     (replace -1 1)
     (hide -1)
     (case "a!1 - 2 * (FLA * pi) + (b!1 - 2 * (FLB * pi)) < 2 * pi")
     (("1"
       (assert)
       (case "floor(fractional(a!1 / (2 * pi)) + fractional(b!1 / (2 * pi))) = 0")
       (("1" (assert))
        ("2"
         (hide -2 2)
         (lemma "floor_def"
          ("x"
           "fractional(a!1 / (2 * pi)) + fractional(b!1 / (2 * pi))"))
         (flatten)
         (expand "fractional")
         (replace -4)
         (replace -5)
         (lemma "both_sides_times_pos_le1"
          ("x"
           "floor(a!1 / (2 * pi) + b!1 / (2 * pi) - FLA - FLB)"
           "y"
           "a!1 / (2 * pi) + b!1 / (2 * pi) - FLA - FLB"
           "pz"
           "2*pi"))
         (lemma "both_sides_times_pos_lt1"
          ("y"
           "1+floor(a!1 / (2 * pi) + b!1 / (2 * pi) - FLA - FLB)"
           "x"
           "a!1 / (2 * pi) + b!1 / (2 * pi) - FLA - FLB"
           "pz"
           "2*pi"))
         (assert))))
      ("2"
       (assert)
       (case "floor((a!1 + b!1) / (2 * pi)) = FLA+FLB+1")
       (("1" (assert))
        ("2"
         (hide 3)
         (case "floor(fractional(a!1 / (2 * pi)) + fractional(b!1 / (2 * pi))) = 1")
         (("1" (assert))
          ("2"
           (hide 2)
           (expand "fractional" 1)
           (replace -2)
           (replace -3)
           (hide -1)
           (lemma "floor_def"
            ("x" "a!1 / (2 * pi) + b!1 / (2 * pi) - FLA - FLB"))
           (lemma "both_sides_times_pos_lt1"
            ("y"
             "1+floor(a!1 / (2 * pi) + b!1 / (2 * pi) - FLA - FLB)"
             "x"
             "a!1 / (2 * pi) + b!1 / (2 * pi) - FLA - FLB"
             "pz"
             "2*pi"))
           (lemma "both_sides_times_pos_lt1"
            ("x"
             "floor(a!1 / (2 * pi) + b!1 / (2 * pi) - FLA - FLB)"
             "y"
             "a!1 / (2 * pi) + b!1 / (2 * pi) - FLA - FLB"
             "pz"
             "2*pi"))
           (assert))))))))
    ("2"
     (hide 2)
     (lemma "floor_def" ("x" "b!1/(2*pi)"))
     (rewrite "div_mult_pos_lt1" -1)
     (rewrite "div_mult_pos_le2" -1)
     (flatten)
     (replace -4)
     (assert))
    ("3"
     (hide-all-but 1)
     (expand "FLA")
     (lemma "floor_def" ("x" "a!1/(2*pi)"))
     (rewrite "div_mult_pos_lt1" -1)
     (rewrite "div_mult_pos_le2" -1)
     (flatten)
     (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "sin_plus" ("a" "a!1" "b" "-b!1"))
   (rewrite "sin_neg")
   (rewrite "cos_neg")
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (rewrite "cos_sin")
   (rewrite "cos_sin")
   (lemma "sin_cos" ("a" "a!1"))
   (lemma "sin_plus" ("a" "pi/2+a!1" "b" "b!1"))
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "cos_plus" ("a" "a!1" "b" "-b!1"))
   (rewrite "cos_neg")
   (rewrite "sin_neg")
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "Tan?")
   (expand "tan")
   (rewrite "sin_plus" 2)
   (rewrite "cos_plus" 2)
   (rewrite "cross_mult" 2))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "tan_plus" ("a" "a!1" "b" "-b!1"))
   (rewrite "tan_neg" -1)
   (assert)
   (expand "Tan?")
   (rewrite "cos_neg" 1))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (case "c!1=0")
   (("1"
     (replace -1)
     (inst + "0")
     (rewrite "zero_times1" 1)
     (lemma "sq_eq_0" ("a" "a!1"))
     (lemma "sq_eq_0" ("a" "b!1"))
     (rewrite "sq_0")
     (assert))
    ("2"
     (typepred "sq(b!1)")
     (typepred "sq(a!1)")
     (lemma "sq_nz_pos" ("nz" "c!1"))
     (("1"
       (case "sq(a!1)<=sq(c!1)")
       (("1"
         (lemma "div_mult_pos_le1"
          ("z" "sq(a!1)" "py" "sq(c!1)" "x" "1"))
         (("1"
           (lemma "sq_div" ("a" "a!1" "d" "c!1"))
           (assert)
           (replace -1 -2 rl)
           (hide -1)
           (lemma "sq_le_abs" ("a" "a!1/c!1" "b" "1"))
           (rewrite "sq_1")
           (replace -2 -1)
           (flatten -1)
           (expand "abs" -1 2)
           (case "sq(b!1) <= sq(c!1)")
           (("1"
             (lemma "div_mult_pos_le1"
              ("z" "sq(b!1)" "py" "sq(c!1)" "x" "1"))
             (replace -2 -1)
             (flatten -1)
             (lemma "sq_le_abs" ("a" "b!1/c!1" "b" "1"))
             (rewrite "sq_div" -1)
             (rewrite "sq_1" -1)
             (replace -2 -1)
             (flatten)
             (expand "abs" -1 2)
             (case "sq(a!1/c!1)+sq(b!1/c!1) =1")
             (("1"
               (case "FORALL (x,y: {x: nnreal | x <= 1}): sq(x) + sq(y) = 1 => (EXISTS (z: {z: nnreal | z <= pi / 2}): x = cos(z) & y = sin(z))")
               (("1"
                 (expand "abs" (-3 -6))
                 (case "b!1 / c!1 < 0")
                 (("1"
                   (case "a!1 / c!1 < 0")
                   (("1"
                     (inst - "-(a!1/c!1)" "-(b!1/c!1)")
                     (("1"
                       (rewrite "sq_neg")
                       (rewrite "sq_neg")
                       (assert)
                       (skosimp*)
                       (inst + "z!1+pi")
                       (lemma "neg_cos" ("a" "z!1"))
                       (lemma "neg_sin" ("a" "z!1"))
                       (assert))
                      ("2" (assert)) ("3" (assert))))
                    ("2"
                     (inst - "-(b!1/c!1)" "a!1/c!1")
                     (("1"
                       (rewrite "sq_neg")
                       (assert)
                       (skosimp*)
                       (lemma "cos_sin" ("a" "z!1-pi/2"))
                       (lemma "sin_cos" ("a" "z!1-pi/2"))
                       (assert)
                       (inst + "z!1-pi/2")
                       (assert))
                      ("2" (assert)) ("3" (assert))))))
                  ("2"
                   (case "a!1 / c!1 < 0")
                   (("1"
                     (inst - "b!1/c!1" "-(a!1/c!1)")
                     (("1"
                       (rewrite "sq_neg")
                       (assert)
                       (skosimp*)
                       (rewrite "cos_sin" -2)
                       (rewrite "sin_cos" -3)
                       (inst + "pi/2+z!1")
                       (assert))
                      ("2" (assert)) ("3" (assert))))
                    ("2"
                     (inst - "a!1/c!1" "b!1/c!1")
                     (("1" (assert) (skosimp*) (inst + "z!1") (assert))
                      ("2" (assert)) ("3" (assert))))))))
                ("2"
                 (hide-all-but 1)
                 (skosimp*)
                 (typepred "x!1")
                 (typepred "y!1")
                 (inst + "acos(x!1)")
                 (("1"
                   (case "x!1 = cos(acos(x!1))")
                   (("1"
                     (assert)
                     (typepred "acos(x!1)")
                     (expand ">=" -6)
                     (expand "<=" -6)
                     (split -6)
                     (("1"
                       (lemma "acos_strict_decreasing")
                       (expand "strict_decreasing?")
                       (inst - "0" "x!1")
                       (("1"
                         (assert)
                         (rewrite "acos_0")
                         (expand "cos")
                         (expand "sin")
                         (case "floor(acos(x!1) / (2 * pi)) = 0")
                         (("1"
                           (replace -1)
                           (assert)
                           (lemma "sin_q1" ("x" "acos(x!1)"))
                           (rewrite "phase_sin_q1" -1)
                           (replace -1)
                           (lemma "sin_eqv_sqrt_cos_value"
                            ("q1" "acos(x!1)"))
                           (replace -1 * rl)
                           (rewrite "cos_value_acos" 1)
                           (lemma "sq_eq"
                            ("nna" "y!1" "nnb" "sqrt(1 - sq(x!1))"))
                           (replace -1 1 rl)
                           (rewrite "sq_sqrt")
                           (assert))
                          ("2"
                           (hide -5 2)
                           (lemma "floor_def" ("x" "acos(x!1)/(2*pi)"))
                           (rewrite "div_mult_pos_le2" -1)
                           (flatten)
                           (lemma "div_mult_pos_lt1"
                            ("x"
                             "floor(acos(x!1) / (2 * pi)) + 1"
                             "py"
                             "2*pi"
                             "z"
                             "acos(x!1)"))
                           (replace -1 -3)
                           (hide -1)
                           (name-replace "K1"
                            "floor(acos(x!1) / (2 * pi))")
                           (lemma "trichotomy" ("x" "K1"))
                           (split -1)
                           (("1"
                             (case "K1=1")
                             (("1" (assert))
                              ("2"
                               (case "K1>1")
                               (("1"
                                 (lemma
                                  "both_sides_times_pos_lt1"
                                  ("x" "1" "y" "K1" "pz" "2*pi"))
                                 (assert))
                                ("2" (assert))))))
                            ("2" (propax)) ("3" (assert))))))
                        ("2" (expand "abs") (propax))
                        ("3" (expand "abs") (assert))))
                      ("2"
                       (replace -1 * rl)
                       (rewrite "acos_0")
                       (lemma "sin_pi2")
                       (expand "pi")
                       (replace -1)
                       (rewrite "sq_0")
                       (lemma "sq_eq" ("nna" "y!1" "nnb" "1"))
                       (rewrite "sq_1")
                       (assert))))
                    ("2"
                     (hide 2)
                     (hide -1 -2 -5)
                     (expand "cos")
                     (case "floor(acos(x!1) / (2 * pi))=0")
                     (("1"
                       (replace -1)
                       (assert)
                       (rewrite "cos_phase_acos"))
                      ("2"
                       (hide 2)
                       (typepred "acos(x!1)")
                       (lemma "floor_def" ("x" "acos(x!1) / (2 * pi)"))
                       (rewrite "div_mult_pos_lt1" -1)
                       (rewrite "div_mult_pos_le2" -1)
                       (flatten)
                       (name-replace "K1" "floor(acos(x!1) / (2 * pi))")
                       (lemma "trichotomy" ("x" "K1"))
                       (split -1)
                       (("1"
                         (case "K1=1")
                         (("1" (assert))
                          ("2"
                           (case "K1>1")
                           (("1"
                             (lemma "both_sides_times_pos_lt1"
                              ("x" "1" "y" "K1" "pz" "2*pi"))
                             (assert))
                            ("2" (assert))))))
                        ("2" (propax)) ("3" (assert))))))
                    ("3" (expand "abs") (propax))))
                  ("2"
                   (lemma "acos_strict_decreasing")
                   (expand "strict_decreasing?")
                   (expand ">=" -4)
                   (expand "<=" -4)
                   (split -4)
                   (("1"
                     (inst - "0" "x!1")
                     (("1" (rewrite "acos_0") (assert))
                      ("2" (expand "abs") (propax))
                      ("3" (expand "abs") (assert))))
                    ("2" (replace -1 * rl) (rewrite "acos_0") (assert))))
                  ("3" (expand "abs") (propax))))))
              ("2"
               (hide 3)
               (rewrite "sq_div")
               (rewrite "sq_div")
               (assert))))
            ("2" (assert))))
          ("2" (propax))))
        ("2" (assert))))
      ("2" (assert))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "arc_sin_cos" ("a" "a!1" "b" "b!1" "c" "nnc!1"))
   (assert)
   (skosimp*)
   (inst + "d!1")
   (lemma "sin2_cos2" ("a" "d!1"))
   (expand "sq")
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (rewrite "cos_2a")
   (rewrite "sq_rew")
   (rewrite "sq_rew")
   (lemma "sin2_cos2" ("a" "a!1"))
   (expand "sq")
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (case-replace
    "FORALL (a: real, j: nat): sin(a) = sin(a + 2 * j * pi)")
   (("1"
     (skosimp*)
     (case-replace "j!1 >= 0")
     (("1" (inst?))
      ("2"
       (case-replace
        "sin(a!1 + 2 * j!1 * pi) = - sin(-a!1 + 2 * (-j!1) * pi)")
       (("1"
         (hide -1)
         (inst -1 "-a!1" "-j!1")
         (("1"
           (assert)
           (replace -1 * rl)
           (hide -1)
           (rewrite "sin_neg")
           (assert))
          ("2" (assert))))
        ("2"
         (hide -1 3)
         (lemma "sin_neg")
         (inst - "-(a!1 + 2 * j!1 * pi)")
         (assert))))))
    ("2"
     (hide 2)
     (induct "j" 1)
     (("1" (assert))
      ("2"
       (skosimp*)
       (case-replace
        "a!1 + (2 * (j!1 + 1)) * pi = a!1 + 2*pi + 2 * j!1 * pi")
       (("1"
         (hide -1)
         (inst -1 "a!1+2*pi")
         (replace -1 * rl)
         (hide -1)
         (rewrite "sin_plus")
         (rewrite "sin_2pi")
         (rewrite "cos_2pi")
         (assert))
        ("2" (hide -1 2) (assert))))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (rewrite "cos_sin")
   (rewrite "cos_sin")
   (lemma "sin_period" ("a" "pi/2+a!1" "j" "j!1"))
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "tan")
   (lemma "odd_or_even_int" ("x" "j!1"))
   (split -1)
   (("1"
     (expand "odd?")
     (skosimp*)
     (replace -1)
     (lemma "sin_period" ("a" "a!1+pi" "j" "j!2"))
     (lemma "cos_period" ("a" "a!1+pi" "j" "j!2"))
     (replace -1 1 rl)
     (replace -2 1 rl)
     (lemma "neg_cos" ("a" "a!1"))
     (lemma "neg_sin" ("a" "a!1"))
     (assert))
    ("2"
     (expand "even?")
     (skosimp*)
     (replace -1)
     (lemma "sin_period" ("a" "a!1" "j" "j!2"))
     (lemma "cos_period" ("a" "a!1" "j" "j!2"))
     (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "odd_or_even_int" ("x" "k!1"))
   (split -1)
   (("1"
     (expand "odd?")
     (skosimp*)
     (replace -1)
     (lemma "sin_period" ("a" "pi" "j" "j!1"))
     (rewrite "sin_pi")
     (assert))
    ("2"
     (expand "even?")
     (skosimp*)
     (replace -1)
     (lemma "sin_period" ("a" "0" "j" "j!1"))
     (rewrite "sin_0")
     (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "odd_or_even_int" ("x" "k!1"))
   (split -1)
   (("1"
     (lemma "not_even_m1_pow" ("i" "k!1"))
     (split -1)
     (("1"
       (expand "odd?")
       (skosimp*)
       (replace -2)
       (replace -1)
       (lemma "cos_period" ("a" "pi" "j" "j!1"))
       (rewrite "cos_pi" -1)
       (assert))
      ("2" (rewrite "even_iff_not_odd"))))
    ("2"
     (lemma "even_m1_pow" ("i" "k!1"))
     (assert)
     (replace -1)
     (expand "even?")
     (skosimp*)
     (replace -2)
     (lemma "cos_period" ("a" "0" "j" "j!1"))
     (rewrite "cos_0")
     (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (expand "sin")
   (split)
   (("1"
     (flatten)
     (lemma "floor_def" ("x" "a!1 / (2 * pi)"))
     (rewrite "div_mult_pos_lt1" -1)
     (rewrite "div_mult_pos_le2" -1)
     (flatten -1)
     (lemma "sin_eq_0_2pi"
      ("a" "a!1 - 2 * (floor(a!1 / (2 * pi)) * pi)"))
     (split -1)
     (("1"
       (flatten -1)
       (hide -2)
       (split -1)
       (("1" (inst + "2 * floor(a!1 / (2 * pi))") (assert))
        ("2" (inst + "2 * (floor(a!1 / (2 * pi))) +1") (assert))
        ("3" (inst + "2 * (floor(a!1 / (2 * pi))) +2") (assert))
        ("4"
         (hide 2)
         (expand "sin")
         (case "(floor((a!1 - 2 * (floor(a!1 / (2 * pi)) * pi)) /
                                                     (2 * pi))) = 0")
         (("1" (replace -1) (assert))
          ("2"
           (hide 2)
           (lemma "div_cancel1"
            ("x" "floor(a!1 / (2 * pi))" "n0z" "2*pi"))
           (replace -1)
           (lemma "minus_div2"
            ("x"
             "a!1"
             "y"
             "2 * (floor(a!1 / (2 * pi)) * pi)"
             "n0x"
             "2 * pi"))
           (replace -1 1 rl)
           (replace -2)
           (assert))))))
      ("2" (assert)) ("3" (assert))))
    ("2"
     (flatten)
     (skosimp*)
     (replace -1)
     (lemma "div_cancel1" ("x" "i!1/2" "n0z" "pi"))
     (replace -1)
     (lemma "odd_or_even_int" ("i" "i!1"))
     (split -1)
     (("1"
       (expand "odd?")
       (skosimp*)
       (replace -1)
       (hide -1 -2 -3)
       (lemma "floor_val" ("i" "1+2*j!1" "j" "2" "k" "j!1"))
       (split -1)
       (("1"
         (replace -1)
         (assert)
         (lemma "sin_pi")
         (expand "sin")
         (lemma "div_cancel1" ("x" "1/2" "n0z" "pi"))
         (replace -1)
         (lemma "floor_val" ("i" "1" "j" "2" "k" "0"))
         (split -1)
         (("1" (replace -1) (assert)) ("2" (assert)) ("3" (assert))))
        ("2" (assert)) ("3" (assert))))
      ("2"
       (expand "even?")
       (skosimp*)
       (replace -1)
       (lemma "div_cancel1" ("x" "j!1" "n0z" "2"))
       (replace -1)
       (rewrite "floor_int")
       (assert)
       (rewrite "sin_phase_0"))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "cos_sin" ("a" "a!1"))
   (lemma "sin_eq_0" ("a" "a!1+pi/2"))
   (replace -2 -1 rl)
   (hide -2)
   (split)
   (("1" (flatten) (assert) (skosimp*) (inst + "i!1-1") (assert))
    ("2"
     (flatten)
     (skosimp*)
     (replace -1)
     (split -3)
     (("1" (propax)) ("2" (inst + "i!1+1") (assert))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (lemma "sin_eq_0")
   (inst?)
   (ground)
   (("1"
     (skosimp*)
     (case "i!1 >= 0")
     (("1"
       (hide -2)
       (replace -3 -)
       (lemma "both_sides_times_pos_le1")
       (inst?)
       (assert)
       (hide -3 -5 -6)
       (case-replace "i!1 = 0 OR i!1 = 1 OR i!1 = 2")
       (("1" (ground)) ("2" (flatten) (assert))))
      ("2" (hide -1 -2 -5 3 4) (lemma "pos_times_ge") (inst?) (assert))))
    ("2" (lemma "sin_0") (assert)) ("3" (lemma "sin_pi") (assert))
    ("4" (lemma "sin_2pi") (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (split)
   (("1"
     (flatten)
     (case "a!1<=3*pi/2")
     (("1"
       (rewrite "cos_sin")
       (lemma "sin_eq_0_2pi" ("a" "a!1+pi/2"))
       (assert))
      ("2"
       (lemma "cos_period" ("a" "a!1" "j" "-1"))
       (replace -2)
       (hide -2)
       (rewrite "cos_sin")
       (lemma "sin_eq_0_2pi" ("a" "pi / 2 - 2 * pi + a!1"))
       (assert))))
    ("2"
     (flatten)
     (split -1)
     (("1" (replace -1) (rewrite "cos_pi2"))
      ("2" (replace -1) (rewrite "cos_3pi2"))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (lemma "sin_eq_0")
   (inst?)
   (expand "tan")
   (prop)
   (("1" (skosimp*) (assert)) ("2" (cross-mult -1) (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (prop)
   (("1"
     (case-replace "cos(a!1) = 0")
     (("1"
       (lemma "cos_eq_0")
       (inst?)
       (assert)
       (skosimp*)
       (case "even?(i!1)")
       (("1"
         (expand "even?")
         (skosimp*)
         (replace -1)
         (inst + "j!1")
         (assert))
        ("2"
         (hide 2)
         (lemma "sin_3pi2")
         (lemma "sin_period")
         (inst?)
         (inst -1 "(i!1-1)/2")
         (("1" (assert))
          ("2"
           (hide -1 -2 -3 -4)
           (case-replace "even?(i!1-1)")
           (("1" (expand "even?") (skosimp*) (assert))
            ("2"
             (hide 2)
             (lemma "odd_iff_even_succ")
             (inst - "i!1-1")
             (assert)
             (hide 3)
             (lemma "odd_or_even_int")
             (inst?)
             (assert))))))))
      ("2"
       (case-replace "sq(sin(a!1)) = 1")
       (("1"
         (hide -2)
         (rewrite "sin2")
         (expand "sq")
         (assert)
         (lemma "zero_times3")
         (inst -1 "cos(a!1)" "cos(a!1)")
         (assert))
        ("2" (expand "sq") (assert))))))
    ("2"
     (skosimp*)
     (replace -1)
     (hide -1)
     (rewrite "sin_plus")
     (rewrite "sin_pi2")
     (rewrite "cos_pi2")
     (assert)
     (lemma "cos_2k_pi")
     (inst -1 "i!1")
     (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (rewrite "cos_sin")
   (lemma "sin_eq_1" ("a" "a!1+pi/2"))
   (split 1)
   (("1" (flatten) (assert))
    ("2"
     (flatten)
     (hide -2)
     (skosimp*)
     (split -2)
     (("1" (assert)) ("2" (inst + "i!1") (assert))))))


proof_type: t_proof
decl_type: tcc
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (inst + "(pi_lb+pi_ub)/2")
   (assert)
   (case "(pi_lb + pi_ub) / 2 > 0 ")
   (("1"
     (assert)
     (prop)
     (("1" (cross-mult 1) (assert) (grind))
      ("2" (cross-mult 1) (grind))))
    ("2" (hide 2) (cross-mult 1) (grind))))


proof_type: t_proof
decl_type: tcc
library: trig
theory: trig_basic
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (expand "Tan?")
   (lemma "odd_or_even_int" ("x" "j!1"))
   (split -1)
   (("1"
     (expand "odd?")
     (skosimp*)
     (replace -1)
     (lemma "cos_period" ("a" "pi+a!1" "j" "j!2"))
     (replace -1 -3 rl)
     (lemma "neg_cos" ("a" "a!1"))
     (assert))
    ("2"
     (expand "even?")
     (skosimp*)
     (replace -1)
     (lemma "cos_period" ("a" "a!1" "j" "j!2"))
     (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: atan
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (expand "atan")
   (lemma "atan_value_strict_increasing")
   (lemma "extensionality_postulate"
    ("f" "atan_value" "g" "LAMBDA (x: real): atan_value(x)"))
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: atan
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (expand "bijective?")
   (split 1)
   (("1"
     (expand "injective?")
     (skolem 1 ("x" "y"))
     (flatten)
     (lemma "atan_strict_increasing")
     (expand "strict_increasing?")
     (lemma "trich_lt" ("x" "x" "y" "y"))
     (split -1)
     (("1" (inst - "x" "y") (assert)) ("2" (propax))
      ("3" (inst - "y" "x") (assert))))
    ("2"
     (expand "surjective?")
     (skosimp*)
     (typepred "y!1")
     (lemma "derivable_continuous2" ("f" "atan_value"))
     (split -1)
     (("1"
       (expand "atan")
       (lemma "atan_value_strict_increasing")
       (expand "strict_increasing?")
       (lemma "trichotomy" ("x" "y!1"))
       (split -1)
       (("1"
         (lemma "trich_lt" ("x" "y!1" "y" "atan_value(1)"))
         (split -1)
         (("1"
           (lemma "intermediate1"
            ("g" "atan_value" "a" "0" "b" "1" "x" "y!1"))
           (("1"
             (rewrite "atan_value_0")
             (assert)
             (skosimp*)
             (inst + "c!1"))
            ("2" (propax))))
          ("2" (inst + "1") (assert))
          ("3"
           (expand "abs")
           (inst-cp - "0" "1")
           (assert)
           (rewrite "atan_value_0")
           (lemma "intermediate1"
            ("a" "0" "b" "1" "x" "2*atan_value(1)-y!1" "g" "atan_value"))
           (rewrite "atan_value_0")
           (assert)
           (skolem -1 ("c"))
           (flatten)
           (expand "<=" -1)
           (split -1)
           (("1"
             (lemma "atan_inv_value" ("px" "1/c"))
             (("1" (inst + "1/c") (("1" (assert)) ("2" (assert))))
              ("2"
               (lemma "posreal_div_posreal_is_posreal"
                ("px" "1" "py" "c"))
               (("1" (assert)) ("2" (assert))))
              ("3" (assert))))
            ("2" (replace -1 * rl) (rewrite "atan_value_0") (assert))))))
        ("2" (inst + "0") (rewrite "atan_value_0") (assert))
        ("3"
         (lemma "trich_lt" ("x" "y!1" "y" "-atan_value(1)"))
         (expand "abs")
         (assert)
         (split -1)
         (("1"
           (lemma "intermediate1"
            ("a"
             "-1"
             "b"
             "0"
             "x"
             "-2*atan_value(1)-y!1"
             "g"
             "atan_value"))
           (rewrite "atan_neg_value" -1)
           (rewrite "atan_value_0" -1)
           (assert)
           (skolem -1 ("c"))
           (flatten)
           (expand "<=" -2)
           (split -2)
           (("1"
             (lemma "atan_inv_neg_value" ("nx" "c"))
             (("1" (replace -4 -1) (simplify -1) (inst + "1/c") (assert))
              ("2" (assert))))
            ("2" (replace -1) (rewrite "atan_value_0") (assert))))
          ("2" (inst + "-1") (rewrite "atan_neg_value") (assert))
          ("3"
           (lemma "intermediate1"
            ("a" "-1" "b" "0" "x" "y!1" "g" "atan_value"))
           (rewrite "atan_value_0")
           (rewrite "atan_neg_value")
           (assert)
           (skolem -1 ("c"))
           (flatten -1)
           (inst + "c"))))))
      ("2"
       (lemma "one_over_one_plus_t_sq_cont")
       (lemma "fundamental"
        ("f" "atan_deriv_fn" "F" "atan_value" "a" "0"))
       (split -1)
       (("1" (flatten)) ("2" (propax))
        ("3" (expand "atan_value") (propax))))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: atan
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (rewrite "pi_value")
   (expand "atan")
   (lemma "atan_inv_value" ("px" "px!1"))
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: atan
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (rewrite "pi_value")
   (expand "atan")
   (lemma "atan_inv_neg_value" ("nx" "nx!1"))
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: atan
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skolem 1 ("x" "y"))
   (lemma "atan_value_minus" ("x" "x" "y" "y"))
   (flatten -1)
   (rewrite "pi_value")
   (expand "atan")
   (replace -1)
   (replace -2)
   (propax))


proof_type: f_proof
decl_type: formula
library: trig
theory: atan
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem 1 ("x" "y"))
   (lemma "atan_minus" ("x" "x" "y" "-y"))
   (rewrite "atan_neg" -1)
   (flatten)
   (lemma "both_sides_times_neg_lt1" ("y" "x*y" "x" "1" "nz" "-1"))
   (lemma "both_sides_times_neg_lt1" ("x" "x*y" "y" "1" "nz" "-1"))
   (replace -1)
   (replace -2)
   (lemma "both_sides_times_neg_lt1" ("x" "y" "y" "0" "nz" "-1"))
   (lemma "both_sides_times_neg_lt1" ("y" "y" "x" "0" "nz" "-1"))
   (lemma "trichotomy" ("x" "y"))
   (split -1)
   (("1" (assert) (replace -6 1) (replace -8 1) (propax)) ("2" (assert))
    ("3" (assert) (replace -6 1) (replace -7 1) (propax))))


proof_type: f_proof
decl_type: formula
library: trig
theory: atan
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skeep)
   (lemma "atan_minus")
   (inst?)
   (assert)
   (case-replace
    "(x / y - y / x) / (1 + x / y * (y / x)) = (x ^ 2 - y ^ 2) / (2 * (x * y))")
   (hide -1 4)
   (expand "^")
   (expand "expt")
   (expand "expt")
   (expand "expt")
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: atan
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "atan_plus" ("x" "1/5" "y" "1/5"))
   (assert)
   (case "(2 * (1 / 5) / (1 - 1 / 5 * (1 / 5))) = 5/12")
   (("1"
     (replace -1)
     (lemma "atan_plus" ("x" "5/12" "y" "5/12"))
     (assert)
     (case "(2 * (5 / 12) / (1 - 5 / 12 * (5 / 12))) = 120/119")
     (("1"
       (replace -1)
       (hide -1 -3)
       (replace -2 -1 rl)
       (simplify -1)
       (replace -1 1)
       (lemma "atan_minus" ("x" "120/119" "y" "1/239"))
       (assert))
      ("2"
       (hide-all-but 1)
       (lemma "cross_mult"
        ("x"
         "2*(5/12)"
         "n0x"
         "(1 - 5 / 12 * (5 / 12))"
         "y"
         "120"
         "n0y"
         "119"))
       (replace -1)
       (hide -1)
       (assert))))
    ("2" (hide-all-but 1) (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: atan
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skolem 1 ("x"))
   (lemma "deriv_atan_fun")
   (flatten)
   (lemma "atan_0")
   (lemma "mean_value[nnreal]" ("a" "0"))
   (("1"
     (inst - "x" "_")
     (lemma "restrict2_derivable[nnreal,real]" ("f" "atan"))
     (("1"
       (lemma "restrict2_deriv[nnreal,real]" ("f" "atan"))
       (expand "restrict2")
       (replace -6 -1)
       (simplify -1)
       (lemma "extensionality"
        ("f"
         "LAMBDA (a: nnreal): 1 / (1 + a * a)"
         "g"
         "deriv[nnreal](LAMBDA (u: nnreal): atan(u))"))
       (("1"
         (simplify -1)
         (replace -2 -1)
         (hide -2 -6 -7)
         (lemma "identity_derivable_fun[nnreal]")
         (lemma "deriv_id_fun[nnreal]")
         (lemma "deriv_const_fun[nnreal]" ("b" "1"))
         (expand "I")
         (expand "const_fun")
         (split 1)
         (("1"
           (lemma "prod_derivable_fun"
            ("f1" "LAMBDA (x: nnreal): x" "f2" "LAMBDA (x: nnreal): x"))
           (assert)
           (lemma "deriv_prod_fun"
            ("ff1"
             "LAMBDA (x: nnreal): x"
             "ff2"
             "LAMBDA (x: nnreal): x"))
           (replace -4 -1)
           (expand "*")
           (expand "+" -1)
           (lemma "sum_derivable_fun"
            ("f1"
             "LAMBDA (x: nnreal): 1"
             "f2"
             "LAMBDA (x: nnreal): x*x"))
           (lemma "const_derivable_fun[nnreal]" ("b" "1"))
           (expand "const_fun")
           (assert)
           (lemma "deriv_sum_fun"
            ("ff1"
             "LAMBDA (x: nnreal): 1"
             "ff2"
             "LAMBDA (x: nnreal): x*x"))
           (replace -4 -1)
           (replace -6 -1)
           (expand "+")
           (lemma "div_derivable_fun"
            ("f"
             "LAMBDA (x: nnreal): x"
             "g"
             "LAMBDA (x: nnreal): 1 + x*x"))
           (assert)
           (expand "/" -1)
           (lemma "deriv_div_fun"
            ("ff"
             "LAMBDA (x: nnreal): x"
             "gg"
             "LAMBDA (x: nnreal): 1 + x*x"))
           (replace -3 -1)
           (replace -9 -1)
           (expand "/")
           (expand "-" -1)
           (expand "*" -1)
           (lemma "diff_derivable_fun"
            ("f1"
             "LAMBDA (u: nnreal): atan(u)"
             "f2"
             "LAMBDA (x: nnreal): x/(1+x*x)"))
           (assert)
           (lemma "deriv_diff_fun"
            ("ff1"
             "LAMBDA (u: nnreal): atan(u)"
             "ff2"
             "LAMBDA (x: nnreal): x/(1+x*x)"))
           (expand "-")
           (replace -3 -1)
           (replace -13 -1 rl)
           (simplify -1)
           (inst -15
            "LAMBDA (x_1: nnreal): atan(x_1) - x_1 / (1 + x_1 * x_1)")
           (assert)
           (skolem - "c")
           (expand "deriv" -1)
           (lemma "congruence"
            ("f"
             "(LAMBDA (x: nnreal):
                      deriv(LAMBDA (x_1: nnreal): atan(x_1) - x_1 / (1 + x_1 * x_1), x))"
             "g"
             "(LAMBDA (x_1: nnreal):
                       1 / (1 + x_1 * x_1) -
                        (1 - x_1 * x_1) / (1 + 2 * (x_1 * x_1) + x_1 * x_1 * x_1 * x_1))"
             "x1"
             "c"
             "x2"
             "c"))
           (("1"
             (assert)
             (replace -1 -16)
             (replace -17 -16)
             (hide-all-but (-16 1))
             (flatten)
             (lemma "posreal_times_posreal_is_posreal"
              ("px" "c" "py" "c"))
             (("1"
               (lemma "posreal_times_posreal_is_posreal"
                ("px" "1+c*c" "py" "1+c*c"))
               (lemma "minus_div1"
                ("x"
                 "1"
                 "n0x"
                 "1+c*c"
                 "y"
                 "1-c*c"
                 "n0y"
                 "(1 + c * c) * (1 + c * c)"))
               (replace -1 -6)
               (lemma "div_cancel1"
                ("x"
                 "2*(c*c)/((1 + c * c) * (1 + c * c))"
                 "n0z"
                 "1+c*c"))
               (name "CC" "c*c")
               (replace -1)
               (name "CCP1" "1+CC")
               (replace -1)
               (rewrite "div_div2" -3)
               (case "1 * (CCP1 * CCP1) - (1 - CC) * CCP1 = CCP1 * 2*CC")
               (("1"
                 (replace -1 -10)
                 (replace -4 -10)
                 (lemma "posreal_div_posreal_is_posreal"
                  ("px" "2*CC" "py" "CCP1*CCP1"))
                 (("1"
                   (lemma "posreal_times_posreal_is_posreal"
                    ("px" "2*CC/(CCP1*CCP1)"))
                   (("1" (inst - "x") (replace -12 -1) (assert))
                    ("2" (propax))))
                  ("2" (assert))))
                ("2" (expand "CCP1" 1) (assert))))
              ("2" (assert))))
            ("2" (expand "derivable" -2) (propax))))
          ("2"
           (lemma "diff_derivable_fun"
            ("f1"
             "LAMBDA (x: nnreal): x"
             "f2"
             "LAMBDA (u: nnreal): atan(u)"))
           (lemma "deriv_diff_fun"
            ("ff1"
             "LAMBDA (x: nnreal): x"
             "ff2"
             "LAMBDA (u: nnreal): atan(u)"))
           (("1"
             (expand "-" (-1 -2))
             (replace -4 -1)
             (replace -6 -1 rl)
             (simplify -1)
             (assert)
             (inst - "LAMBDA (x_1: nnreal): x_1 - atan(x_1)")
             (assert)
             (skolem -8 ("c"))
             (expand "deriv" -1)
             (replace -9 -8)
             (lemma "congruence"
              ("f"
               "(LAMBDA (x: nnreal): deriv(LAMBDA (x_1: nnreal): x_1 - atan(x_1), x))"
               "g"
               "(LAMBDA (x_1: nnreal): 1 - 1 / (1 + x_1 * x_1))"
               "x1"
               "c"
               "x2"
               "c"))
             (("1"
               (assert)
               (replace -1 -9)
               (hide -1 -2 -3 -4 -5 -6 -7 -8 -10)
               (flatten)
               (lemma "minus_div1"
                ("x" "1" "n0x" "1" "y" "1" "n0y" "1+c*c"))
               (case "1+c*c > 0")
               (("1"
                 (replace -2 -5)
                 (simplify -5)
                 (lemma "posreal_div_posreal_is_posreal"
                  ("px" "c*c" "py" "1+c*c"))
                 (("1"
                   (lemma "posreal_times_posreal_is_posreal"
                    ("px" "c*c/(1+c*c)"))
                   (("1" (inst -1 "x") (assert) (replace -7 -1) (assert))
                    ("2" (propax))))
                  ("2"
                   (lemma "posreal_times_posreal_is_posreal"
                    ("px" "c" "py" "c"))
                   (("1" (propax)) ("2" (assert))))))
                ("2"
                 (lemma "sq_pos" ("a" "c"))
                 (hide-all-but (-1 1))
                 (grind))))
              ("2" (assert) (expand "derivable" -2) (propax))))
            ("2" (propax))))))
        ("2" (propax))))
      ("2" (hide 2) (skosimp*) (inst + "x!1"))
      ("3" (skosimp*) (inst + "x!1+1") (assert))))
    ("2" (skosimp*) (inst + "x!1+1") (assert))
    ("3" (hide-all-but 1) (grind))))


proof_type: f_proof
decl_type: formula
library: trig
theory: atan
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (rewrite "pi_value")
   (rewrite "atan_1")
   (lemma "atan_bnds" ("px" "1/5"))
   (lemma "atan_bnds" ("px" "1/239"))
   (flatten)
   (lemma "both_sides_times_pos_lt1"
    ("pz" "16" "x" "5/26" "y" "atan(1/5)"))
   (lemma "both_sides_times_pos_lt1"
    ("pz" "16" "y" "1/5" "x" "atan(1/5)"))
   (lemma "both_sides_times_neg_lt1"
    ("nz" "-4" "x" "1/239" "y" "atan(1/239)"))
   (lemma "both_sides_times_neg_lt1"
    ("nz" "-4" "y" "239/57122" "x" "atan(1/239)"))
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: atan
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skolem 1 ("n" "x"))
   (lemma "atan_taylors" ("x" "x" "n" "n"))
   (skolem -1 ("c"))
   (replace -1)
   (lemma "atan_series_prep8" ("n" "n+1" "x" "c"))
   (simplify 1)
   (rewrite "abs_div" 1)
   (("1"
     (rewrite "abs_mult" 1)
     (("1"
       (expand "abs" 1 3)
       (name-replace "ATANC" "nderiv(2 * (n + 1) + 1, atan)(c)")
       (("1"
         (hide -2)
         (lemma "trichotomy" ("x" "ATANC"))
         (expand "abs" -2)
         (expand "abs" 1 1)
         (lemma "div_cancel1"
          ("n0z"
           "factorial(2*n+2)"
           "x"
           "abs(x ^ (3 + 2 * n)) / (3 + 2 * n)"))
         (rewrite "div_div2" -1)
         (replace -1 1 rl)
         (hide -1)
         (expand "factorial" 1 1)
         (split -1)
         (("1"
           (assert)
           (case "x=0")
           (("1"
             (replace -1)
             (expand "^")
             (expand "expt")
             (assert)
             (rewrite "zero_times1" 1)
             (expand "abs")
             (assert))
            ("2"
             (case "FORALL (n:nat): abs(x^n) > 0")
             (("1"
               (inst - "3+2*n")
               (lemma "posreal_div_posreal_is_posreal"
                ("px"
                 "abs(x ^ (3 + 2 * n))"
                 "py"
                 "(3 * factorial(2 + 2 * n) + 2 * (factorial(2 + 2 * n) * n))"))
               (("1"
                 (lemma "both_sides_times_pos_le1"
                  ("x"
                   "ATANC"
                   "y"
                   "factorial(2+2*n)"
                   "pz"
                   "abs(x ^ (3 + 2 * n)) /
                          (3 * factorial(2 + 2 * n) + 2 * (factorial(2 + 2 * n) * n))"))
                 (("1"
                   (assert)
                   (name-replace "K1"
                    "(3 * factorial(2 + 2 * n) + 2 * (factorial(2 + 2 * n) * n))")
                   (name-replace "K2" "abs(x ^ (3 + 2 * n))")
                   (assert))
                  ("2" (propax))))
                ("2" (propax))))
              ("2"
               (hide-all-but (1 2))
               (induct "n")
               (("1" (grind))
                ("2"
                 (skosimp*)
                 (lemma "expt_plus" ("n0x" "x" "i" "1" "j" "j!1"))
                 (("1"
                   (rewrite "expt_x1")
                   (replace -1 1)
                   (rewrite "abs_mult")
                   (lemma "posreal_times_posreal_is_posreal"
                    ("px" "abs(x)" "py" "abs(x^j!1)"))
                   (("1" (propax)) ("2" (propax))
                    ("3" (hide-all-but (1 3)) (grind))))
                  ("2" (assert))))))))))
          ("2" (replace -1) (assert))
          ("3"
           (assert)
           (case "x=0")
           (("1"
             (replace -1)
             (expand "^")
             (expand "expt")
             (rewrite "zero_times1")
             (expand "abs" 1)
             (assert))
            ("2"
             (case "FORALL (n:nat): abs(x^n) > 0")
             (("1"
               (inst - "3+2*n")
               (lemma "posreal_div_posreal_is_posreal"
                ("px"
                 "abs(x^(3+2*n))"
                 "py"
                 "(3 * factorial(2 + 2 * n) + 2 * (factorial(2 + 2 * n) * n))"))
               (lemma "both_sides_times_pos_le1"
                ("x"
                 "-ATANC"
                 "y"
                 "factorial(2+2*n)"
                 "pz"
                 "abs(x ^ (3 + 2 * n)) /
                        (3 * factorial(2 + 2 * n) + 2 * (factorial(2 + 2 * n) * n))"))
               (assert))
              ("2"
               (hide-all-but (1 2))
               (induct "n")
               (("1" (grind))
                ("2"
                 (skosimp*)
                 (lemma "expt_plus" ("n0x" "x" "i" "1" "j" "j!1"))
                 (("1"
                   (rewrite "expt_x1")
                   (replace -1)
                   (rewrite "abs_mult")
                   (lemma "posreal_times_posreal_is_posreal"
                    ("px" "abs(x)" "py" "abs(x^j!1)"))
                   (("1" (propax)) ("2" (propax))
                    ("3" (hide-all-but (1 3)) (grind))))
                  ("2" (assert))))))))))))
        ("2" (lemma "atan_n_times_derivable" ("n" "3+2*n")) (propax))))
      ("2" (lemma "atan_n_times_derivable" ("n" "3+2*n")) (propax))))
    ("2" (lemma "atan_n_times_derivable" ("n" "3+2*n")) (propax))))


proof_type: t_proof
decl_type: tcc
library: trig
theory: atan
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem 1 ("nzx"))
   (lemma "atan_0")
   (lemma "atan_strict_increasing")
   (expand "strict_increasing?")
   (lemma "trichotomy" ("x" "nzx"))
   (split -1)
   (("1"
     (inst - "0" "1/nzx")
     (lemma "quotient_pos_lt" ("n0x" "nzx"))
     (assert))
    ("2" (assert))
    ("3"
     (lemma "quotient_neg_lt" ("n0x" "nzx"))
     (inst - "1/nzx" "0")
     (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem 1 ("nx"))
   (typepred "nx")
   (expand "<=")
   (expand "asin")
   (split -1)
   (("1"
     (assert)
     (lemma "both_sides_times_neg_lt1" ("nz" "-1" "x" "nx" "y" "-1"))
     (lemma "lt_times_lt_neg1" ("x" "-1" "ny" "nx" "z" "-1" "npw" "nx"))
     (assert)
     (lemma "sqrt_lt" ("nny" "0" "nnz" "1-nx*nx"))
     (rewrite "sqrt_0" -1)
     (lemma "atan_inv_neg" ("nx" "sqrt(1 - nx * nx) / nx"))
     (("1"
       (rewrite "pi_value" 1)
       (lemma "div_div1" ("x" "1" "n0y" "sqrt(1-nx*nx)" "n0z" "nx"))
       (replace -1 -2)
       (assert))
      ("2"
       (lemma "both_sides_div_neg_lt1"
        ("y" "0" "x" "sqrt(1-nx*nx)" "nz" "nx"))
       (assert))))
    ("2"
     (assert)
     (case "nx = -1")
     (("1" (replace -1) (rewrite "sqrt_0") (rewrite "atan_0") (assert))
      ("2" (assert))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem 1 ("px"))
   (case "abs(px) <= 1")
   (("1"
     (expand "<=")
     (split -1)
     (("1"
       (expand "asin")
       (assert)
       (lemma "sq_nz_pos" ("nz" "px"))
       (expand "sq")
       (lemma "lt_times_lt_pos1" ("px" "px" "y" "1" "nnz" "px" "w" "1"))
       (assert)
       (lemma "sqrt_lt" ("nny" "0" "nnz" "1-px*px"))
       (rewrite "sqrt_0")
       (lemma "atan_inv" ("px" "sqrt(1 - px * px) / px"))
       (("1"
         (lemma "div_div1" ("x" "1" "n0y" "sqrt(1-px*px)" "n0z" "px"))
         (replace -1 -2)
         (rewrite "pi_value" 1)
         (assert))
        ("2"
         (lemma "posreal_div_posreal_is_posreal"
          ("px" "sqrt(1-px*px)" "py" "px"))
         (assert))))
      ("2"
       (expand "asin")
       (assert)
       (lift-if)
       (expand "abs")
       (assert)
       (replace -1)
       (assert)
       (rewrite "atan_0")
       (assert))))
    ("2" (typepred "px") (hide 2) (grind))))


proof_type: f_proof
decl_type: formula
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "asin")
   (typepred "sqrt(1/2)")
   (lemma "sqrt_lt" ("nny" "1/2" "nnz" "1"))
   (rewrite "sqrt_1" -1)
   (assert)
   (rewrite "sq_rew" 1)
   (rewrite "div_simp" 1)
   (rewrite "pi_value")
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem 1 ("x"))
   (expand "asin")
   (case "x = -1")
   (("1" (assert))
    ("2"
     (case "x = 1")
     (("1" (assert))
      ("2"
       (case "-1 < x & x < 1")
       (("1"
         (flatten -1)
         (assert)
         (lemma "atan_neg" ("x" "x / sqrt(1 - -x * -x)"))
         (("1" (assert))
          ("2" (hide 4) (lemma "asin_TCC3" ("x" "x")) (assert))))
        ("2" (hide 4) (assert) (typepred "x") (grind))))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "asin_sqrt_half")
   (rewrite "asin_neg" 1)
   (("1" (assert))
    ("2"
     (hide-all-but 1)
     (expand "abs")
     (lemma "sqrt_le" ("nny" "1/2" "nnz" "1"))
     (rewrite "sqrt_1")
     (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "atan_strict_increasing")
   (expand "strict_increasing?")
   (skolem 1 ("x" "y"))
   (flatten)
   (expand "asin")
   (case "abs(x) <= 1")
   (("1"
     (case "abs(y) <= 1")
     (("1"
       (case "FORALL (z:real): abs(z) < 1 => 0 < sqrt(1-z*z)")
       (("1"
         (expand "<=" (-2 -3))
         (split -3)
         (("1"
           (inst-cp -2 "x")
           (assert)
           (case "y = -1")
           (("1"
             (hide 1)
             (lemma "trichotomy" ("x" "x"))
             (split -1)
             (("1" (assert)) ("2" (assert))
              ("3" (expand "abs" -3) (assert))))
            ("2"
             (case "y < 1")
             (("1"
               (assert)
               (case "x= -1")
               (("1" (assert))
                ("2"
                 (expand "abs" -3)
                 (assert)
                 (inst -3 "y")
                 (split -5)
                 (("1"
                   (assert)
                   (inst - "x / sqrt(1 - x * x)" "y / sqrt(1 - y * y)")
                   (split -6)
                   (("1" (propax))
                    ("2"
                     (hide 4)
                     (lemma "div_mult_pos_lt1"
                      ("z"
                       "x"
                       "py"
                       "sqrt(1-x*x)"
                       "x"
                       "y / sqrt(1 - y * y)"))
                     (replace -1 1)
                     (lemma "div_mult_pos_lt2"
                      ("x" "x" "z" "y*sqrt(1-x*x)" "py" "sqrt(1-y*y)"))
                     (("1"
                       (replace -1 1)
                       (hide -1 -2)
                       (lemma "trichotomy" ("x" "x"))
                       (split -1)
                       (("1"
                         (lemma "sq_lt"
                          ("nna"
                           "x * sqrt(1 - y * y)"
                           "nnb"
                           "y * sqrt(1 - x * x)"))
                         (("1"
                           (replace -1 1 rl)
                           (rewrite "sq_times" 1)
                           (rewrite "sq_times" 1)
                           (expand "sq" 1)
                           (lemma "sq_lt" ("nna" "x" "nnb" "y"))
                           (("1" (expand "sq" -1) (assert))
                            ("2" (assert)) ("3" (assert))))
                          ("2"
                           (lemma "posreal_times_posreal_is_posreal"
                            ("px" "y" "py" "sqrt(1-x*x)"))
                           (("1" (assert)) ("2" (assert))))
                          ("3"
                           (lemma "posreal_times_posreal_is_posreal"
                            ("px" "x" "py" "sqrt(1-y*y)"))
                           (("1" (assert)) ("2" (assert))))))
                        ("2" (replace -1) (rewrite "sqrt_1" 1) (assert))
                        ("3"
                         (case "y < 0")
                         (("1"
                           (lemma "both_sides_times_neg_lt1"
                            ("nz"
                             "-1"
                             "y"
                             "x * sqrt(1 - y * y)"
                             "x"
                             "y * sqrt(1 - x * x)"))
                           (replace -1 1 rl)
                           (lemma "sq_lt"
                            ("nna"
                             "(-1 *y) * sqrt(1 - x * x)"
                             "nnb"
                             "(-1*x) * sqrt(1 - y * y)"))
                           (("1"
                             (replace -1 1 rl)
                             (rewrite "sq_times" 1)
                             (expand "sq" 1 1)
                             (rewrite "sq_times" 1)
                             (rewrite "sq_times" 1)
                             (expand "sq" 1)
                             (hide -1 -2)
                             (assert)
                             (lemma "sq_lt" ("nna" "-1*y" "nnb" "-1*x"))
                             (expand "sq" -1)
                             (propax))
                            ("2"
                             (lemma "posreal_times_posreal_is_posreal"
                              ("px" "-1*x" "py" "sqrt(1-y*y)"))
                             (("1" (assert)) ("2" (assert))))
                            ("3"
                             (lemma "posreal_times_posreal_is_posreal"
                              ("px" "-1*y" "py" "sqrt(1-x*x)"))
                             (("1" (assert)) ("2" (assert))))))
                          ("2"
                           (lemma "nnreal_times_nnreal_is_nnreal"
                            ("nnx" "y" "nny" "sqrt(1 - x * x)"))
                           (("1"
                             (lemma "both_sides_times_pos_lt1"
                              ("x" "x" "y" "0" "pz" "sqrt(1 - y * y)"))
                             (assert))
                            ("2" (assert))))))))
                      ("2"
                       (lemma "trichotomy" ("x" "y"))
                       (split -1)
                       (("1" (assert)) ("2" (assert))
                        ("3" (assert))))))))
                  ("2"
                   (assert)
                   (case "x= -1")
                   (("1" (propax))
                    ("2" (expand "abs") (lift-if) (ground))))))))
              ("2" (expand "abs") (assert))))))
          ("2" (assert) (expand "abs") (lift-if) (ground))))
        ("2"
         (skosimp*)
         (hide 2)
         (hide -2 -3 -4 -5)
         (expand "abs")
         (lift-if)
         (ground)
         (("1"
           (both-sides-f 1 "sq")
           (assert)
           (both-sides-f -2 "sq")
           (("1" (grind)) ("2" (rewrite "sq_lt"))))
          ("2"
           (both-sides-f 2 "sq")
           (assert)
           (both-sides-f -1 "sq")
           (("1" (grind)) ("2" (rewrite "sq_lt"))))))
        ("3"
         (skosimp*)
         (assert)
         (hide -2 -3 -4 2)
         (expand "abs")
         (lift-if)
         (ground)
         (("1"
           (both-sides-f -2 "sq")
           (("1" (grind)) ("2" (rewrite "sq_lt"))))
          ("2"
           (mult-ineq -1 -1)
           (("1" (assert))
            ("2"
             (both-sides-f -1 "sq")
             (("1" (grind)) ("2" (rewrite "sq_lt"))))))))))
      ("2" (expand "abs") (lift-if) (ground))))
    ("2" (hide-all-but 1) (typepred "x") (grind))))


proof_type: f_proof
decl_type: formula
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "bijective?")
   (split 1)
   (("1"
     (expand "injective?")
     (skolem 1 ("x" "y"))
     (flatten)
     (lemma "asin_strict_increasing")
     (expand "strict_increasing?")
     (lemma "trich_lt" ("x" "x" "y" "y"))
     (split -1)
     (("1" (inst - "x" "y") (assert)) ("2" (propax))
      ("3" (inst - "y" "x") (assert))))
    ("2"
     (lemma "atan_bij")
     (expand "bijective?")
     (flatten)
     (hide -1)
     (expand "surjective?")
     (skosimp*)
     (expand "asin")
     (case "abs(y!1) <= pi/2")
     (("1"
       (expand "<=" -1)
       (split -1)
       (("1"
         (inst - "y!1")
         (("1"
           (skosimp*)
           (inst + "x!1/sqrt(1+x!1*x!1)")
           (("1"
             (lemma "sq_pos" ("a" "x!1"))
             (expand "sq" -1)
             (lemma "sqrt_pos" ("px" "1+x!1*x!1"))
             (case "abs(x!1 / sqrt(1 + x!1 * x!1)) < 1")
             (("1"
               (case "x!1 / sqrt(1 + x!1 * x!1) /= -1")
               (("1"
                 (assert)
                 (case "x!1 / sqrt(1 + x!1 * x!1) * (x!1 / sqrt(1 + x!1 * x!1)) = sq(x!1)/(1+sq(x!1))")
                 (("1"
                   (replace -1 1)
                   (case "sqrt(1 - sq(x!1) / (1 + sq(x!1))) = 1/sqrt(1+x!1*x!1)")
                   (("1"
                     (replace -1 1)
                     (lemma "div_div2"
                      ("x"
                       "x!1"
                       "n0y"
                       "sqrt(1 + x!1 * x!1)"
                       "n0z"
                       "1 / sqrt(1 + x!1 * x!1)"))
                     (replace -1 1)
                     (lemma "sq_sqrt" ("x" "sqrt(1 + x!1 * x!1)"))
                     (assert))
                    ("2"
                     (hide 2)
                     (lemma "minus_div1"
                      ("x"
                       "1"
                       "n0x"
                       "1"
                       "y"
                       "sq(x!1)"
                       "n0y"
                       "1+sq(x!1)"))
                     (replace -1 1)
                     (simplify 1)
                     (rewrite "sqrt_div" 1)
                     (expand "sq" 1)
                     (propax))
                    ("3"
                     (hide 2)
                     (lemma "div_mult_pos_le1"
                      ("z" "sq(x!1)" "py" "1+sq(x!1)" "x" "1"))
                     (assert))))
                  ("2"
                   (hide 2)
                   (rewrite "sq_rew" 1)
                   (rewrite "sq_rew" 1)
                   (rewrite "sq_div" 1)
                   (rewrite "sq_sqrt"))))
                ("2" (assert))))
              ("2"
               (hide 2)
               (both-sides-f 1 "sq")
               (("1" (grind)) ("2" (rewrite "sq_lt"))))
              ("3" (assert))))
            ("2"
             (hide -1 -2)
             (lemma "sq_pos" ("a" "x!1"))
             (expand "sq" -1)
             (case "abs(x!1) / abs(sqrt(1 + x!1 * x!1)) <= 1")
             (("1" (grind) (("1" (cross-mult 1)) ("2" (cross-mult 2))))
              ("2"
               (hide 2)
               (lemma "sqrt_pos" ("px" "1+x!1*x!1"))
               (expand "abs" 1 2)
               (assert)
               (lemma "div_mult_pos_le1"
                ("z" "abs(x!1)" "py" "sqrt(1 + x!1 * x!1)" "x" "1"))
               (cross-mult 1)
               (lemma "sq_le"
                ("nna" "abs(x!1)" "nnb" "sqrt(1 + x!1 * x!1)"))
               (replace -1 1 rl)
               (rewrite "sq_sqrt" 1)
               (hide -1 -2)
               (expand "abs")
               (expand "sq")
               (case "x!1<0")
               (("1" (assert)) ("2" (assert))))
              ("3"
               (lemma "sq_pos" ("a" "x!1"))
               (expand "sq" -1)
               (lemma "sqrt_pos" ("px" "1+x!1*x!1"))
               (assert))))
            ("3" (lemma "sqrt_pos" ("px" "1+x!1*x!1")) (assert))))
          ("2" (assert))))
        ("2"
         (expand "abs" -1)
         (case "y!1<0")
         (("1" (assert) (inst + "-1") (assert))
          ("2" (assert) (inst + "1") (assert))))))
      ("2" (hide-all-but 1) (typepred "y!1") (grind))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem 1 ("nnx" "nny"))
   (typepred "nnx")
   (typepred "nny")
   (expand ">=")
   (expand "<=" (-4 -1))
   (split -4)
   (("1"
     (expand "<=" -4)
     (split -4)
     (("1"
       (split -3)
       (("1"
         (expand "<=" -4)
         (split -4)
         (("1"
           (expand "asin")
           (lemma "sq_lt" ("nna" "nnx" "nnb" "1"))
           (lemma "sq_lt" ("nna" "nny" "nnb" "1"))
           (rewrite "sq_1")
           (lemma "sq_lt" ("nnb" "nnx" "nna" "0"))
           (lemma "sq_lt" ("nnb" "nny" "nna" "0"))
           (rewrite "sq_0")
           (assert)
           (rewrite "sq_rew" 1)
           (rewrite "sq_rew" 1)
           (rewrite "sq_rew" 1)
           (rewrite "sq_rew" 1)
           (simplify 1)
           (rewrite "sq_rew" 1)
           (rewrite "sq_rew" 1)
           (lemma "sqrt_pos" ("px" "1-sq(nnx)"))
           (lemma "sqrt_pos" ("px" "1-sq(nny)"))
           (lemma "sqrt_lt" ("nny" "1-sq(nnx)" "nnz" "1"))
           (lemma "sqrt_lt" ("nny" "1-sq(nny)" "nnz" "1"))
           (rewrite "sqrt_1")
           (assert)
           (lemma "lt_times_lt_pos1"
            ("px" "nny" "y" "1" "nnz" "(sqrt(1 - sq(nnx)))" "w" "1"))
           (assert)
           (lemma "lt_times_lt_pos1"
            ("px" "nnx" "y" "1" "nnz" "(sqrt(1 - sq(nny)))" "w" "1"))
           (assert)
           (lemma "atan_minus"
            ("x"
             "nnx / sqrt(1 - sq(nnx))"
             "y"
             "nny / sqrt(1 - sq(nny))"))
           (lemma "posreal_div_posreal_is_posreal"
            ("px" "nnx" "py" "sqrt(1-sq(nnx))"))
           (lemma "posreal_div_posreal_is_posreal"
            ("px" "nny" "py" "sqrt(1-sq(nny))"))
           (assert)
           (flatten -3)
           (lemma "posreal_times_posreal_is_posreal"
            ("px"
             "nnx / sqrt(1 - sq(nnx))"
             "py"
             "nny / sqrt(1 - sq(nny))"))
           (assert)
           (hide -5)
           (name-replace "SQX" "sqrt(1 - sq(nnx))")
           (name-replace "SQY" "sqrt(1 - sq(nny))")
           (lemma "minus_div1"
            ("x" "nnx" "n0x" "SQX" "y" "nny" "n0y" "SQY"))
           (replace -1 -5)
           (rewrite "div_div2" -5)
           (lemma "div_cancel1" ("n0z" "SQX*SQY" "x" "nnx*nny"))
           (replace -1 -6)
           (case "sq(SQX * SQY + nnx * nny) = 1 - sq(nnx) - sq(nny) + sq(nnx) * nny * nny +
                                                         sq(nny) * nnx * nnx
                                                         + 2 * (SQX * SQY * nnx * nny)")
           (("1" (replace -1 1 rl) (rewrite "sqrt_sq" 1))
            ("2"
             (hide 2)
             (expand "SQX" 1)
             (expand "SQY" 1)
             (expand "sq" 1)
             (assert))))
          ("2"
           (replace -1)
           (rewrite "asin_1")
           (rewrite "sq_1")
           (rewrite "sqrt_0")
           (simplify 1)
           (hide -1 -2)
           (lemma "asin_neg" ("x" "sqrt(1 - sq(nnx))"))
           (("1"
             (replace -1 1)
             (expand "asin")
             (hide -1)
             (lemma "sq_lt" ("nna" "0" "nnb" "nnx"))
             (lemma "sq_lt" ("nnb" "1" "nna" "nnx"))
             (rewrite "sq_0")
             (rewrite "sq_1")
             (assert)
             (rewrite "sq_rew" 1)
             (rewrite "sq_rew" 1)
             (simplify 1)
             (lemma "sqrt_lt" ("nny" "1-sq(nnx)" "nnz" "1"))
             (rewrite "sqrt_1")
             (assert)
             (rewrite "pi_value" 1)
             (lemma "sq_lt" ("nna" "0" "nnb" "nnx"))
             (rewrite "sq_0")
             (lemma "sqrt_pos" ("px" "1-sq(nnx)"))
             (lemma "posreal_div_posreal_is_posreal"
              ("px" "sqrt(1-sq(nnx))" "py" "nnx"))
             (lemma "atan_inv" ("px" "sqrt(1 - sq(nnx)) / nnx"))
             (("1" (rewrite "div_div1" -1) (assert)) ("2" (assert))))
            ("2"
             (hide 2)
             (lemma "sqrt_le")
             (inst - "1-sq(nnx)" "1")
             (rewrite "sqrt_1")
             (lemma "sq_le" ("nna" "0" "nnb" "nnx"))
             (rewrite "sq_0")
             (assert))))))
        ("2"
         (replace -1 * rl)
         (rewrite "asin_0")
         (rewrite "sq_0")
         (rewrite "sqrt_1")
         (simplify 1)
         (propax))))
      ("2"
       (replace -1 * rl)
       (rewrite "asin_0")
       (rewrite "sq_0")
       (rewrite "sqrt_1")
       (simplify 1)
       (lemma "asin_neg" ("x" "nny"))
       (assert))))
    ("2"
     (replace -1)
     (rewrite "sq_1")
     (rewrite "sqrt_0")
     (rewrite "asin_1")
     (lemma "sq_le" ("nna" "nny" "nnb" "1"))
     (expand "sq" -1 2)
     (expand "asin")
     (expand "<=" -4)
     (split -4)
     (("1"
       (assert)
       (typepred "sqrt(1 - sq(nny))")
       (assert)
       (split -6)
       (("1"
         (hide -5 -6 -7 -3 -2)
         (lemma "sq_lt" ("nna" "0" "nnb" "nny"))
         (lemma "sq_lt" ("nnb" "1" "nna" "nny"))
         (assert)
         (rewrite "sq_rew" 1)
         (rewrite "sq_rew" 1)
         (simplify 1)
         (rewrite "sqrt_sq" 1)
         (lemma "sqrt_lt")
         (inst - "1-sq(nny)" "1")
         (rewrite "sqrt_1" -1)
         (assert)
         (rewrite "pi_value")
         (lemma "atan_inv" ("px" "(sqrt(1 - sq(nny))) / nny"))
         (("1" (assert))
          ("2"
           (hide 2)
           (lemma "sqrt_lt")
           (inst - "0" "1-sq(nny)")
           (rewrite "sqrt_0" -1)
           (lemma "posreal_div_posreal_is_posreal"
            ("px" "sqrt(1 - sq(nny))" "py" "nny"))
           (assert))))
        ("2"
         (replace -1 * rl)
         (rewrite "sq_0" 1)
         (rewrite "sqrt_1")
         (rewrite "atan_0")
         (assert))))
      ("2"
       (replace -1)
       (rewrite "sq_1")
       (simplify 1)
       (rewrite "sqrt_0")
       (rewrite "sqrt_1")
       (rewrite "atan_0")
       (assert))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (split)
   (("1"
     (lemma "asin_derivable2")
     (lemma "deriv_asin_fun")
     (lemma "identity_derivable_fun[real_abs_lt1]")
     (lemma "deriv_id_fun[real_abs_lt1]")
     (expand "I")
     (expand "const_fun")
     (lemma "diff_derivable_fun[real_abs_lt1]"
      ("f1"
       "LAMBDA (x: real_abs_lt1): asin(x)"
       "f2"
       "LAMBDA (x: real_abs_lt1): x"))
     (assert)
     (expand "-")
     (lemma "deriv_diff_fun[real_abs_lt1]"
      ("ff1"
       "LAMBDA (x: real_abs_lt1): asin(x)"
       "ff2"
       "LAMBDA (x: real_abs_lt1): x"))
     (replace -5 -1)
     (replace -3 -1)
     (expand "-")
     (typepred "px!1")
     (expand "abs" -1)
     (expand "<=" -1)
     (split -1)
     (("1"
       (lemma "minimum_derivative[{x:nnreal| x < 1}]"
        ("g"
         "LAMBDA (x_1:{x:nnreal| x < 1} ): asin(x_1) - x_1"
         "x"
         "0"
         "y1"
         "px!1"))
       (("1"
         (split -1)
         (("1" (simplify -1) (rewrite "asin_0") (assert))
          ("2"
           (lemma "restrict2_deriv[{x: nnreal | x < 1},real_abs_lt1]"
            ("f" "LAMBDA (x_1: real_abs_lt1): asin(x_1) - x_1" "a" "0"))
           (("1"
             (replace -4 -1)
             (simplify -1)
             (expand "restrict2" -1)
             (replace -1 1 rl)
             (expand "sq" 1)
             (rewrite "sqrt_1")
             (assert))
            ("2" (propax))
            ("3"
             (skosimp*)
             (inst + "x!1")
             (assert)
             (expand "abs")
             (assert))
            ("4"
             (skosimp*)
             (case "x!1=0")
             (("1"
               (inst + "px!1")
               (("1" (assert)) ("2" (expand "abs" 1) (propax))))
              ("2"
               (inst + "0")
               (("1" (assert)) ("2" (expand "abs" 1) (assert))))))
            ("5" (hide-all-but 1) (grind))))
          ("3" (assert))
          ("4"
           (skosimp*)
           (typepred "y!1")
           (expand ">=" -1)
           (expand "<=" -1)
           (split -1)
           (("1"
             (lemma "restrict2_deriv[{x: nnreal | x < 1},real_abs_lt1]"
              ("f"
               "LAMBDA (x_1: real_abs_lt1): asin(x_1) - x_1"
               "a"
               "y!1"))
             (("1"
               (replace -6 -1)
               (simplify -1)
               (expand "restrict2" -1)
               (replace -1 2 rl)
               (hide -1 -6 3 1 -7 -8 -9 -10 -11)
               (lemma "sq_lt" ("nna" "0" "nnb" "y!1"))
               (lemma "sq_lt" ("nna" "y!1" "nnb" "1"))
               (expand "sq" -1 2)
               (expand "sq" -2 1)
               (assert)
               (lemma "sqrt_pos" ("px" "1-sq(y!1)"))
               (lemma "div_mult_pos_gt2"
                ("z" "1" "py" "sqrt(1-sq(y!1))" "x" "1"))
               (lemma "sqrt_lt" ("nny" "1-sq(y!1)" "nnz" "1"))
               (rewrite "sqrt_1")
               (assert)
               (lemma "posreal_times_posreal_is_posreal"
                ("px" "1 / sqrt(1 - sq(y!1))-1" "py" "y!1"))
               (assert))
              ("2" (propax))
              ("3" (skosimp*) (inst + "x!1") (expand "abs") (assert))
              ("4"
               (skosimp*)
               (case "x!1 = 0")
               (("1"
                 (inst + "1/2")
                 (("1" (assert)) ("2" (expand "abs" 1) (assert))))
                ("2"
                 (inst + "0")
                 (("1" (assert)) ("2" (expand "abs" 1) (assert))))))
              ("5" (hide-all-but 1) (grind))))
            ("2" (assert))))))
        ("2" (propax))
        ("3"
         (lemma "restrict2_derivable[{x: nnreal | x < 1},real_abs_lt1]"
          ("f" "LAMBDA (x_1: real_abs_lt1): asin(x_1) - x_1"))
         (("1" (expand "restrict2" -1) (propax)) ("2" (propax))
          ("3"
           (skosimp*)
           (typepred "x!1")
           (inst + "x!1")
           (expand "abs")
           (propax))
          ("4"
           (skosimp*)
           (case "x!1=0")
           (("1"
             (inst + "1/2")
             (("1" (assert)) ("2" (expand "abs") (assert))))
            ("2"
             (inst + "0")
             (("1" (assert)) ("2" (expand "abs" 1) (assert))))))
          ("5"
           (skosimp*)
           (case "x!1=0")
           (("1" (inst + "1/2") (assert)) ("2" (inst + "0") (assert))))
          ("6" (hide-all-but 1) (grind)) ("7" (hide-all-but 1) (grind))))
        ("4" (hide-all-but 1) (expand "abs") (propax))
        ("5"
         (skosimp*)
         (case "x!1=0")
         (("1" (inst + "1/2") (assert)) ("2" (inst + "0") (assert))))
        ("6" (hide-all-but 1) (grind))))
      ("2"
       (replace -1)
       (rewrite "asin_1")
       (lemma "pi_bnds")
       (flatten)
       (assert))))
    ("2"
     (flatten)
     (case "px!1 < sqrt(6)")
     (("1"
       (typepred "px!1")
       (expand "abs" -1)
       (lemma "identity_derivable_fun[{x:nnreal| x <= 1}]")
       (("1"
         (lemma "deriv_id_fun[{x:nnreal| x <= 1}]")
         (expand "I")
         (lemma "const_derivable_fun[{x:nnreal| x <= 1}]" ("b" "1"))
         (lemma "deriv_const_fun[{x:nnreal| x <= 1}]" ("b" "1"))
         (expand "const_fun")
         (lemma "prod_derivable_fun"
          ("f1"
           "LAMBDA (x: {x: nnreal | x <= 1}): x"
           "f2"
           "LAMBDA (x: {x: nnreal | x <= 1}): x"))
         (assert)
         (expand "*" -1)
         (lemma "deriv_prod_fun"
          ("ff1"
           "LAMBDA (x: {x: nnreal | x <= 1}): x"
           "ff2"
           "LAMBDA (x: {x: nnreal | x <= 1}): x"))
         (replace -5 -1)
         (expand "*")
         (expand "+")
         (lemma "scal_derivable_fun"
          ("f"
           "LAMBDA (x_1: {x: nnreal | x <= 1}): x_1 * x_1"
           "b"
           "1/6"))
         (assert)
         (expand "*")
         (lemma "deriv_scal_fun"
          ("ff"
           "LAMBDA (x_1: {x: nnreal | x <= 1}): x_1 * x_1"
           "b"
           "1/6"))
         (replace -3 -1)
         (expand "*" -1)
         (lemma "diff_derivable_fun"
          ("f1"
           "LAMBDA (x: {x: nnreal | x <= 1}): 1"
           "f2"
           "LAMBDA (x: {x: nnreal | x <= 1}): 1 / 6 * (x * x)"))
         (assert)
         (expand "-")
         (lemma "deriv_diff_fun"
          ("ff1"
           "LAMBDA (x: {x: nnreal | x <= 1}): 1"
           "ff2"
           "LAMBDA (x: {x: nnreal | x <= 1}): 1 / 6 * (x * x)"))
         (replace -7 -1)
         (replace -3 -1)
         (expand "-")
         (lemma "prod_derivable_fun"
          ("f1"
           "LAMBDA (x: {x: nnreal | x <= 1}): x"
           "f2"
           "LAMBDA (x_1: {x: nnreal | x <= 1}): 1 - 1 / 6 * (x_1 * x_1)"))
         (assert)
         (expand "*")
         (lemma "deriv_prod_fun"
          ("ff1"
           "LAMBDA (x: {x: nnreal | x <= 1}): x"
           "ff2"
           "LAMBDA (x_1: {x: nnreal | x <= 1}): 1 - 1 / 6 * (x_1 * x_1)"))
         (replace -3 -1)
         (replace -11 -1)
         (expand "*")
         (expand "+")
         (lemma "asin_derivable2")
         (lemma "deriv_asin_fun")
         (lemma
          "composition_derivable_fun[{x: nnreal | x <= 1},real_abs_lt1]"
          ("f"
           "LAMBDA (x_1: {x: nnreal | x <= 1}): x_1 - x_1 * x_1 * x_1 * (1 / 6)"
           "g"
           "LAMBDA (x: real_abs_lt1): asin(x)"))
         (("1"
           (assert)
           (expand "o")
           (lemma "deriv_comp_fun[{x: nnreal | x <= 1},real_abs_lt1]"
            ("ff"
             "LAMBDA (x_1: {x: nnreal | x <= 1}): x_1 - x_1 * x_1 * x_1 * (1 / 6)"
             "gg"
             "LAMBDA (x: real_abs_lt1): asin(x)"))
           (replace -3 -1)
           (replace -5 -1)
           (expand "o")
           (expand "*")
           (lemma "diff_derivable_fun"
            ("f1"
             "LAMBDA (x: {x: nnreal | x <= 1}): x"
             "f2"
             "LAMBDA (x_1: {x: nnreal | x <= 1}): asin(x_1 - x_1 * x_1 * x_1 * (1 / 6))"))
           (("1"
             (expand "-")
             (assert)
             (lemma "deriv_diff_fun"
              ("ff1"
               "LAMBDA (x: {x: nnreal | x <= 1}): x"
               "ff2"
               "LAMBDA (x_1: {x: nnreal | x <= 1}): asin(x_1 - x_1 * x_1 * x_1 * (1 / 6))"))
             (replace -3 -1)
             (replace -17 -1)
             (expand "-")
             (lemma "minimum_derivative[{x: nnreal | x <= 1}]"
              ("g"
               "LAMBDA (x_1: {x: nnreal | x <= 1}): x_1 - asin(x_1 - x_1 * x_1 * x_1 * (1 / 6))"
               "x"
               "0"
               "y1"
               "px!1"))
             (split -1)
             (("1" (simplify -1) (assert) (rewrite "asin_0") (assert))
              ("2"
               (hide 2)
               (replace -1 1)
               (simplify 1)
               (rewrite "sq_0")
               (rewrite "sqrt_1")
               (assert))
              ("3" (assert))
              ("4"
               (replace -1 1)
               (hide-all-but 1)
               (skosimp*)
               (typepred "y!1")
               (expand ">=" -1)
               (expand "<=" -1)
               (split -1)
               (("1"
                 (hide 1)
                 (name "AP" "y!1 - y!1 * y!1 * y!1 * (1 / 6)")
                 (replace -1)
                 (lemma "sq_le" ("nna" "y!1" "nnb" "1"))
                 (expand "sq" -1)
                 (lemma "posreal_times_posreal_is_posreal"
                  ("px" "y!1" "py" "1-y!1 * y!1 / 6"))
                 (("1"
                   (expand "<=" -5)
                   (split -5)
                   (("1"
                     (lemma "sq_lt" ("nna" "y!1" "nnb" "1"))
                     (rewrite "sq_rew")
                     (rewrite "sq_1")
                     (flatten -1)
                     (replace -3 -2)
                     (hide -1)
                     (hide -4)
                     (lemma "lt_times_lt_pos1"
                      ("px"
                       "y!1"
                       "y"
                       "1"
                       "nnz"
                       "1 - sq(y!1) / 6"
                       "w"
                       "1"))
                     (("1"
                       (split -1)
                       (("1"
                         (replace -5)
                         (lemma "sq_lt" ("nna" "AP" "nnb" "1"))
                         (("1"
                           (expand "sq" -1)
                           (assert)
                           (rewrite "sq_rew" -1)
                           (lemma "sq_lt" ("nna" "0" "nnb" "AP"))
                           (rewrite "sq_0")
                           (assert)
                           (case "1-sq(AP) > 0")
                           (("1"
                             (lemma "sqrt_lt"
                              ("nny" "0" "nnz" "1-sq(AP)"))
                             (rewrite "sqrt_0")
                             (flatten -1)
                             (expand ">" -3)
                             (replace -3 -2)
                             (hide -1)
                             (lemma "posreal_times_posreal_is_posreal"
                              ("px"
                               "(sq(y!1)/2-1)/sqrt(1 - sq(AP))+1"
                               "py"
                               "y!1"))
                             (("1" (assert))
                              ("2"
                               (hide 2)
                               (case "1-sq(y!1)/2 > 0")
                               (("1"
                                 (lemma
                                  "div_mult_pos_lt1"
                                  ("x"
                                   "1"
                                   "z"
                                   "1 - sq(y!1) / 2"
                                   "py"
                                   "sqrt(1 - sq(AP))"))
                                 (lemma
                                  "sq_lt"
                                  ("nna"
                                   "1 - sq(y!1) / 2"
                                   "nnb"
                                   "sqrt(1 - sq(AP))"))
                                 (rewrite "sq_sqrt" -1)
                                 (case
                                  "sq(1 - sq(y!1) / 2) < 1 - sq(AP)")
                                 (("1" (assert))
                                  ("2"
                                   (hide 2 -1 -2)
                                   (expand "AP" 1)
                                   (expand "sq" 1 1)
                                   (simplify 1)
                                   (expand "sq" 1)
                                   (lemma
                                    "div_cancel1"
                                    ("x" "y!1*y!1" "n0z" "2"))
                                   (replace -1 1)
                                   (lemma
                                    "both_sides_minus_lt1"
                                    ("x"
                                     "1 + y!1 * y!1 / 2 * (y!1 * y!1 / 2) - y!1 * y!1"
                                     "y"
                                     "1 - (1 / 6) * (1 / 6) * y!1 * y!1 * y!1 * y!1 * y!1 * y!1 -
                                                                                                                   y!1 * y!1
                                                                                                                   + (1 / 3) * y!1 * y!1 * y!1 * y!1"
                                     "z"
                                     "1-y!1*y!1"))
                                   (replace -1 1 rl)
                                   (simplify 1)
                                   (hide -1)
                                   (lemma
                                    "both_sides_times_pos_lt1"
                                    ("x"
                                     "1/4"
                                     "y"
                                     "1/3-y!1*y!1/36"
                                     "pz"
                                     "y!1 * y!1 * y!1 * y!1"))
                                   (("1"
                                     (replace -1 1)
                                     (hide -1 -2)
                                     (case "y!1 * y!1 / 36 < 1/12")
                                     (("1" (assert))
                                      ("2"
                                       (hide 2)
                                       (expand "sq" -7)
                                       (assert))))
                                    ("2"
                                     (hide 2)
                                     (lemma
                                      "sq_lt"
                                      ("nna" "0" "nnb" "sq(y!1)"))
                                     (rewrite "sq_0")
                                     (assert)
                                     (expand "sq" -1)
                                     (assert))))))
                                ("2" (hide 2) (assert))))))
                            ("2" (assert))))
                          ("2" (assert))))
                        ("2" (assert))
                        ("3"
                         (hide 2)
                         (assert)
                         (lemma "sq_lt" ("nna" "0" "nnb" "y!1"))
                         (rewrite "sq_0")
                         (assert))))
                      ("2"
                       (lemma "sq_lt" ("nna" "0" "nnb" "y!1"))
                       (rewrite "sq_0")
                       (assert))))
                    ("2"
                     (replace -1)
                     (replace -4 1 rl)
                     (simplify 1)
                     (hide-all-but 1)
                     (expand "sq")
                     (assert)
                     (name-replace "K1"
                      "2 * (1 / 6) - (1 / 6) * (1 / 6)")
                     (lemma "div_mult_pos_gt1"
                      ("x" "1" "z" "1/2" "py" "sqrt(K1)"))
                     (("1"
                       (rewrite "div_div2" -1)
                       (assert)
                       (lemma "sq_gt" ("nna" "sqrt(K1)" "nnb" "1/2"))
                       (rewrite "sq_sqrt" -1)
                       (expand "sq" -1)
                       (expand "K1")
                       (assert))
                      ("2"
                       (lemma "sqrt_lt"
                        ("nny"
                         "0"
                         "nnz"
                         "2 * (1 / 6) - (1 / 6) * (1 / 6)"))
                       (rewrite "sqrt_0")
                       (expand "K1")
                       (hide 2)
                       (assert))
                      ("3" (hide 2) (expand "K1") (assert))))))
                  ("2"
                   (hide 2)
                   (lemma "posreal_times_posreal_is_posreal"
                    ("px" "y!1" "py" "y!1"))
                   (("1" (assert)) ("2" (assert))))
                  ("3" (assert))))
                ("2" (assert))))))
            ("2"
             (hide-all-but 1)
             (skosimp*)
             (typepred "x!1")
             (expand ">=")
             (expand "<=" -1)
             (split -1)
             (("1"
               (lemma "posreal_times_posreal_is_posreal"
                ("px" "x!1" "py" "x!1"))
               (("1"
                 (lemma "posreal_times_posreal_is_posreal"
                  ("px" "x!1" "py" "x!1*x!1"))
                 (("1"
                   (lemma "posreal_div_posreal_is_posreal"
                    ("px" "x!1*x!1*x!1" "py" "6"))
                   (("1"
                     (lemma "lt_minus_lt1"
                      ("x"
                       "x!1"
                       "y"
                       "1"
                       "w"
                       "0"
                       "z"
                       "x!1 * x!1 * x!1 / 6"))
                     (split -1)
                     (("1"
                       (expand "abs" 1)
                       (lemma "sq_le" ("nna" "x!1" "nnb" "1"))
                       (expand "sq")
                       (lemma "posreal_times_posreal_is_posreal"
                        ("px" "1-x!1*x!1/6" "py" "x!1"))
                       (("1" (assert)) ("2" (hide 2) (assert))))
                      ("2" (propax)) ("3" (assert))))
                    ("2" (assert))))
                  ("2" (propax))))
                ("2" (assert))))
              ("2" (replace -1 * rl) (expand "abs") (propax))))))
          ("2"
           (hide-all-but 1)
           (skosimp*)
           (typepred "x!1")
           (expand ">=")
           (expand "<=" -1)
           (split -1)
           (("1"
             (lemma "posreal_times_posreal_is_posreal"
              ("px" "1-x!1*x!1/6" "py" "x!1"))
             (("1" (expand "abs") (assert)) ("2" (assert))
              ("3"
               (hide 2)
               (lemma "sq_le" ("nna" "x!1" "nnb" "1"))
               (expand "sq")
               (assert))))
            ("2" (replace -1 * rl) (expand "abs") (assert))))
          ("3"
           (hide-all-but 1)
           (skosimp*)
           (case "x!1 = 0")
           (("1"
             (inst + "1/2")
             (("1" (assert)) ("2" (expand "abs") (assert))))
            ("2"
             (inst + "0")
             (("1" (assert)) ("2" (expand "abs") (assert))))))
          ("4" (hide-all-but 1) (grind))))
        ("2"
         (hide-all-but 1)
         (skosimp*)
         (case "x!1=0")
         (("1" (inst + "1") (assert)) ("2" (inst + "0") (assert))))
        ("3" (hide-all-but 1) (grind))))
      ("2"
       (hide 2)
       (lemma "sq_le" ("nnb" "px!1" "nna" "sqrt(6)"))
       (flatten)
       (rewrite "sq_sqrt")
       (assert)
       (hide -1)
       (typepred "px!1")
       (expand "abs")
       (assert)
       (lemma "sq_le" ("nna" "px!1" "nnb" "1"))
       (rewrite "sq_1")
       (assert))))))


proof_type: t_proof
decl_type: tcc
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem 1 ("x"))
   (flatten)
   (typepred "x")
   (expand "abs")
   (assert)
   (lemma "le_times_le_pos" ("nnx" "-x" "y" "1" "nnz" "-x" "w" "1"))
   (assert))


proof_type: t_proof
decl_type: tcc
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (grind)
   (("1" (lemma "sq_lt_abs" ("a" "-x!1" "b" "1")) (grind))
    ("2"
     (rewrite "sq_rew")
     (lemma "sq_lt" ("nna" "x!1" "nnb" "1"))
     (grind))))


proof_type: t_proof
decl_type: tcc
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem 1 ("x"))
   (flatten)
   (typepred "x")
   (expand "abs")
   (case "x < 0")
   (("1"
     (assert)
     (lemma "lt_times_lt_pos1" ("px" "-x" "y" "1" "nnz" "-x" "w" "1"))
     (assert))
    ("2"
     (assert)
     (lemma "lt_times_lt_pos1" ("px" "x" "y" "1" "nnz" "x" "w" "1"))
     (assert))))


proof_type: t_proof
decl_type: tcc
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem 1 ("x"))
   (flatten)
   (typepred "x")
   (assert)
   (typepred "atan(x / sqrt(1 - x * x))")
   (("1"
     (rewrite "pi_value" 2)
     (expand "atan" 2 4)
     (assert)
     (expand "atan" -2 2)
     (assert))
    ("2"
     (hide 3)
     (lemma "sqrt_pos" ("px" "1-x*x"))
     (("1" (assert))
      ("2" (hide 2) (lemma "sq_lt_abs" ("a" "x" "b" "1")) (grind))))))


proof_type: t_proof
decl_type: tcc
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem!)
   (typepred "nx!1")
   (expand "abs")
   (lemma "sq_le_abs" ("a" "-nx!1" "b" "1"))
   (grind))


proof_type: t_proof
decl_type: tcc
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "px!1")
   (expand "abs")
   (lemma "le_times_le_pos" ("nnx" "px!1" "y" "1" "nnz" "px!1" "w" "1"))
   (assert))


proof_type: t_proof
decl_type: tcc
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "abs")
   (typepred "sqrt(1/2)")
   (assert)
   (lemma "sqrt_le" ("nny" "1/2" "nnz" "1"))
   (rewrite "sqrt_1")
   (assert))


proof_type: t_proof
decl_type: tcc
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "nny!1")
   (lemma "sq_le" ("nna" "0" "nnb" "nny!1"))
   (lemma "sq_le" ("nnb" "1" "nna" "nny!1"))
   (rewrite "sq_0")
   (rewrite "sq_1")
   (assert))


proof_type: t_proof
decl_type: tcc
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "nnx!1")
   (typepred "nny!1")
   (expand ">=")
   (lemma "sq_le" ("nna" "0" "nnb" "nnx!1"))
   (lemma "sq_le" ("nna" "0" "nnb" "nny!1"))
   (lemma "sq_le" ("nnb" "1" "nna" "nny!1"))
   (lemma "sq_le" ("nnb" "1" "nna" "nnx!1"))
   (rewrite "sq_0")
   (rewrite "sq_1")
   (replace -5 -3)
   (simplify -3)
   (replace -6 -2)
   (replace -7 -4)
   (replace -8 -1)
   (simplify -1)
   (simplify -2)
   (flatten -4)
   (typepred "sqrt(1-sq(nnx!1))")
   (("1"
     (typepred "sqrt(1-sq(nny!1))")
     (("1"
       (lemma "sqrt_le" ("nny" "1-sq(nnx!1)" "nnz" "1"))
       (lemma "sqrt_le" ("nny" "1-sq(nny!1)" "nnz" "1"))
       (assert)
       (rewrite "sqrt_1")
       (lemma "le_times_le_pos"
        ("nnx" "nnx!1" "y" "1" "nnz" "sqrt(1 - sq(nny!1))" "w" "1"))
       (lemma "le_times_le_pos"
        ("nnx" "nny!1" "y" "1" "nnz" "sqrt(1 - sq(nnx!1))" "w" "1"))
       (assert)
       (lemma "nnreal_times_nnreal_is_nnreal"
        ("nnx" "nnx!1" "nny" "(sqrt(1 - sq(nny!1)))"))
       (lemma "nnreal_times_nnreal_is_nnreal"
        ("nnx" "nny!1" "nny" "(sqrt(1 - sq(nnx!1)))"))
       (lemma "le_minus_le"
        ("z"
         "nny!1 * sqrt(1 - sq(nnx!1))"
         "w"
         "0"
         "x"
         "nnx!1 * sqrt(1 - sq(nny!1))"
         "y"
         "1"))
       (lemma "le_minus_le"
        ("w"
         "nny!1 * sqrt(1 - sq(nnx!1))"
         "z"
         "1"
         "y"
         "nnx!1 * sqrt(1 - sq(nny!1))"
         "x"
         "0"))
       (expand "abs" 1)
       (case "nnx!1 * (sqrt(1 - sq(nny!1))) - nny!1 * (sqrt(1 - sq(nnx!1))) < 0")
       (("1" (assert)) ("2" (assert))))
      ("2" (assert))))
    ("2" (assert))))


proof_type: t_proof
decl_type: tcc
library: trig
theory: asin
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "px!1")
   (expand "abs" -1)
   (expand "abs" 1)
   (assert)
   (lemma "posreal_times_posreal_is_posreal" ("px" "px!1" "py" "px!1"))
   (case "px!1 = 1")
   (("1" (replace -1) (assert))
    ("2"
     (lemma "posreal_div_posreal_is_posreal"
      ("px" "px!1 * px!1" "py" "6"))
     (lemma "both_sides_minus_lt2" ("z" "1" "y" "0" "x" "px!1*px!1/6"))
     (expand ">" -2)
     (replace -2 -1)
     (flatten -1)
     (lemma "lt_times_lt_pos1"
      ("px" "px!1" "y" "1" "nnz" "1 - px!1 * px!1 / 6" "w" "1"))
     (("1" (assert))
      ("2"
       (assert)
       (lemma "posreal_div_posreal_is_posreal"
        ("px" "px!1 - px!1 * px!1 / 6 * px!1" "py" "px!1"))
       (lemma "minus_div2"
        ("x" "px!1" "y" "px!1*px!1/6*px!1" "n0x" "px!1"))
       (replace -1 -2 rl)
       (hide -1)
       (rewrite "div_simp" -1)
       (case "px!1 * px!1 / 6 * px!1 / px!1 = px!1 * px!1 / 6")
       (("1" (replace -1) (assert)) ("2" (hide 2 4) (assert))))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: acos
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "strict_decreasing?")
   (skolem 1 ("x" "y"))
   (flatten)
   (expand "acos")
   (lemma "asin_strict_increasing")
   (expand "strict_increasing?")
   (inst - "x" "y")
   (assert))


proof_type: f_proof
decl_type: formula
library: trig
theory: acos
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (lemma "asin_bij")
   (expand "bijective?")
   (expand "injective?")
   (expand "surjective?")
   (expand "acos")
   (flatten)
   (split 1)
   (("1" (skolem 1 ("x" "y")) (inst -1 "x" "y") (flatten) (assert))
    ("2"
     (hide -1)
     (skolem 1 ("y"))
     (inst - "pi/2-y")
     (("1" (skolem - ("x")) (inst + "x") (assert))
      ("2"
       (hide 2)
       (typepred "y")
       (expand "abs")
       (case "pi/2-y<0")
       (("1" (assert)) ("2" (assert))))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: acos
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "nnx!1")
   (typepred "nny!1")
   (expand ">=")
   (lemma "sq_le" ("nna" "0" "nnb" "nnx!1"))
   (lemma "sq_le" ("nna" "0" "nnb" "nny!1"))
   (lemma "sq_le" ("nnb" "1" "nna" "nnx!1"))
   (lemma "sq_le" ("nnb" "1" "nna" "nny!1"))
   (rewrite "sq_0")
   (rewrite "sq_1")
   (simplify -1)
   (simplify -2)
   (flatten)
   (replace -7)
   (replace -8)
   (expand "<=" -8)
   (split -8)
   (("1"
     (expand "<=" -7)
     (split -7)
     (("1"
       (expand "<=" -8)
       (split -8)
       (("1"
         (expand "<=" -8)
         (split -8)
         (("1"
           (expand "acos" 1)
           (lemma "div_cancel1" ("x" "pi" "n0z" "2"))
           (replace -1)
           (hide -1)
           (hide -5 -6 -7 -8)
           (lemma "sq_lt" ("nna" "0" "nnb" "nnx!1"))
           (lemma "sq_lt" ("nna" "0" "nnb" "nny!1"))
           (lemma "sq_lt" ("nnb" "1" "nna" "nnx!1"))
           (lemma "sq_lt" ("nnb" "1" "nna" "nny!1"))
           (rewrite "sq_0")
           (rewrite "sq_1")
           (replace -5)
           (replace -6)
           (replace -7)
           (replace -8)
           (simplify)
           (case "0 < 1-sq(nnx!1)")
           (("1"
             (case "0 < 1-sq(nny!1)")
             (("1"
               (case "1-sq(nnx!1)<1")
               (("1"
                 (case "1-sq(nny!1)<1")
                 (("1"
                   (lemma "sqrt_lt" ("nny" "0" "nnz" "1-sq(nnx!1)"))
                   (lemma "sqrt_lt" ("nny" "0" "nnz" "1-sq(nny!1)"))
                   (lemma "sqrt_lt" ("nnz" "1" "nny" "1-sq(nnx!1)"))
                   (lemma "sqrt_lt" ("nnz" "1" "nny" "1-sq(nny!1)"))
                   (replace -5)
                   (replace -6)
                   (replace -7)
                   (replace -8)
                   (rewrite "sqrt_1")
                   (rewrite "sqrt_0")
                   (simplify)
                   (lemma "posreal_times_posreal_is_posreal"
                    ("px" "nnx!1" "py" "nny!1"))
                   (("1"
                     (lemma "posreal_times_posreal_is_posreal"
                      ("px"
                       "sqrt(1 - sq(nny!1))"
                       "py"
                       "sqrt(1 - sq(nnx!1))"))
                     (("1"
                       (lemma "lt_times_lt_pos1"
                        ("px" "nnx!1" "y" "1" "nnz" "nny!1" "w" "1"))
                       (lemma "lt_times_lt_pos1"
                        ("px"
                         "sqrt(1 - sq(nny!1))"
                         "y"
                         "1"
                         "nnz"
                         "sqrt(1 - sq(nnx!1))"
                         "w"
                         "1"))
                       (assert)
                       (lemma "lt_minus_lt1"
                        ("x"
                         "nnx!1 * nny!1"
                         "y"
                         "1"
                         "w"
                         "0"
                         "z"
                         "sqrt(1 - sq(nny!1)) * sqrt(1 - sq(nnx!1))"))
                       (lemma "lt_minus_lt1"
                        ("x"
                         "0"
                         "y"
                         "nnx!1 * nny!1"
                         "w"
                         "sqrt(1 - sq(nny!1)) * sqrt(1 - sq(nnx!1))"
                         "z"
                         "1"))
                       (replace -3)
                       (expand ">" -5)
                       (replace -5)
                       (split -1)
                       (("1"
                         (split -2)
                         (("1"
                           (simplify (-1 -2))
                           (expand "asin")
                           (rewrite "sq_rew" 1)
                           (rewrite "sq_rew" 1)
                           (lemma "sq_sqrt" ("x" "1-sq(nnx!1)"))
                           (lemma "sq_sqrt" ("x" "1-sq(nny!1)"))
                           (assert)
                           (name-replace "SX" "sqrt(1 - sq(nnx!1))")
                           (name-replace "SY" "sqrt(1 - sq(nny!1))")
                           (rewrite "sq_rew" 1)
                           (case "1 - sq(nnx!1) * nny!1 * nny!1 - sq(SX) * SY * SY = 1-sq(nnx!1)*sq(nny!1) - sq(SX)*sq(SY)")
                           (("1"
                             (replace -1 1)
                             (simplify 1)
                             (hide -1)
                             (lemma "trich_lt"
                              ("x" "(nnx!1 / SX)*(nny!1 / SY)" "y" "1"))
                             (case-replace
                              "(1 - sq(SX) * sq(SY) - sq(nnx!1) * sq(nny!1) +
                                                  2 * (SX * SY * nnx!1 * nny!1)) = sq(SY*nnx!1+SX*nny!1)")
                             (("1"
                               (rewrite "sqrt_sq" 1)
                               (hide -1)
                               (lemma "atan_plus"
                                ("x" "nnx!1/SX" "y" "nny!1/SY"))
                               (split -2)
                               (("1"
                                 (assert)
                                 (rewrite "div_times" -1)
                                 (rewrite "div_mult_pos_lt1" -1)
                                 (rewrite "add_div" -2)
                                 (lemma
                                  "minus_div1"
                                  ("x"
                                   "1"
                                   "n0x"
                                   "1"
                                   "y"
                                   "nnx!1 * nny!1"
                                   "n0y"
                                   "SX * SY"))
                                 (replace -1 -3)
                                 (name-replace "DRL5" "SX * SY")
                                 (rewrite "div_div1" -3)
                                 (rewrite " div_cancel2" -3)
                                 (lemma
                                  "posreal_div_posreal_is_posreal"
                                  ("px"
                                   "nnx!1 * SY + nny!1 * SX"
                                   "py"
                                   "DRL5 - nnx!1 * nny!1"))
                                 (("1"
                                   (lemma
                                    "atan_inv"
                                    ("px"
                                     "((nnx!1 * SY + nny!1 * SX) / (DRL5 - nnx!1 * nny!1))"))
                                   (("1"
                                     (rewrite "div_div1" -1)
                                     (name-replace
                                      "DRL6"
                                      "nnx!1 * SY + nny!1 * SX")
                                     (lemma
                                      "atan_neg"
                                      ("x"
                                       "(DRL5 - nnx!1 * nny!1) / DRL6"))
                                     (("1" (assert))
                                      ("2"
                                       (hide 2)
                                       (expand "DRL6")
                                       (lemma
                                        "posreal_times_posreal_is_posreal"
                                        ("px" "nnx!1" "py" "SY"))
                                       (lemma
                                        "posreal_times_posreal_is_posreal"
                                        ("px" "nny!1" "py" "SX"))
                                       (assert))))
                                    ("2" (assert))
                                    ("3" (assert))))
                                  ("2" (assert))
                                  ("3"
                                   (assert)
                                   (lemma
                                    "posreal_times_posreal_is_posreal"
                                    ("px" "nnx!1" "py" "SY"))
                                   (lemma
                                    "posreal_times_posreal_is_posreal"
                                    ("px" "nny!1" "py" "SX"))
                                   (assert))))
                                ("2"
                                 (assert)
                                 (hide -2)
                                 (rewrite "div_times" -1)
                                 (lemma
                                  "div_cancel3"
                                  ("x"
                                   "nnx!1*nny!1"
                                   "y"
                                   "1"
                                   "n0z"
                                   "SX*SY"))
                                 (replace -2 -1)
                                 (flatten)
                                 (replace -1 1)
                                 (assert)
                                 (assert)
                                 (case-replace "(SX * SY - SY * SX)=0")
                                 (("1"
                                   (rewrite "atan_0")
                                   (lemma "atan_inv" ("px" "nnx!1/SX"))
                                   (("1"
                                     (rewrite "div_div1" -1)
                                     (lemma
                                      "cross_mult"
                                      ("x"
                                       "SX"
                                       "n0x"
                                       "nnx!1"
                                       "y"
                                       "nny!1"
                                       "n0y"
                                       "SY"))
                                     (assert))
                                    ("2"
                                     (lemma
                                      "posreal_div_posreal_is_posreal"
                                      ("px" "nnx!1" "py" "SX"))
                                     (assert))))
                                  ("2" (assert))))
                                ("3"
                                 (assert)
                                 (lemma
                                  "posreal_div_posreal_is_posreal"
                                  ("px" "nny!1" "py" "SY"))
                                 (assert)
                                 (rewrite "div_times" -2)
                                 (rewrite "add_div" -3)
                                 (lemma
                                  "minus_div1"
                                  ("x"
                                   "1"
                                   "n0x"
                                   "1"
                                   "y"
                                   "nnx!1 * nny!1"
                                   "n0y"
                                   "SX * SY"))
                                 (replace -1 -4)
                                 (name-replace "DRL5" "SX * SY")
                                 (rewrite "div_div1" -4)
                                 (rewrite " div_cancel2" -4)
                                 (rewrite "div_mult_pos_lt2" -3)
                                 (lemma
                                  "both_sides_div_neg_lt1"
                                  ("nz"
                                   "DRL5 - nnx!1 * nny!1"
                                   "y"
                                   "0"
                                   "x"
                                   "nnx!1 * SY + nny!1 * SX"))
                                 (("1"
                                   (lemma
                                    "atan_inv_neg"
                                    ("nx"
                                     "(nnx!1 * SY + nny!1 * SX) / (DRL5 - nnx!1 * nny!1)"))
                                   (("1"
                                     (rewrite "div_div1" -1)
                                     (("1"
                                       (lemma
                                        "atan_neg"
                                        ("x"
                                         "(DRL5 - nnx!1 * nny!1) / (nnx!1 * SY + nny!1 * SX)"))
                                       (("1" (assert))
                                        ("2"
                                         (lemma
                                          "posreal_times_posreal_is_posreal"
                                          ("px" "nny!1" "py" "SX"))
                                         (lemma
                                          "posreal_times_posreal_is_posreal"
                                          ("px" "nnx!1" "py" "SY"))
                                         (assert))))
                                      ("2"
                                       (lemma
                                        "posreal_times_posreal_is_posreal"
                                        ("px" "nnx!1" "py" "SY"))
                                       (lemma
                                        "posreal_times_posreal_is_posreal"
                                        ("px" "nny!1" "py" "SX"))
                                       (assert))))
                                    ("2"
                                     (assert)
                                     (lemma
                                      "posreal_times_posreal_is_posreal"
                                      ("px" "nny!1" "py" "SX"))
                                     (lemma
                                      "posreal_times_posreal_is_posreal"
                                      ("px" "nnx!1" "py" "SY"))
                                     (assert)
                                     (assert))
                                    ("3" (assert))))
                                  ("2" (assert))))))
                              ("2"
                               (hide-all-but 1)
                               (expand "SX")
                               (expand "SY")
                               (rewrite "sq_sqrt")
                               (rewrite "sq_sqrt")
                               (rewrite "sq_plus")
                               (assert)
                               (rewrite "sq_times")
                               (rewrite "sq_times")
                               (assert))))
                            ("2" (hide 2) (expand "sq" 1) (propax))))
                          ("2" (assert))))
                        ("2" (assert))))
                      ("2" (assert)) ("3" (assert))))
                    ("2" (assert)) ("3" (assert))))
                  ("2" (assert))))
                ("2" (assert))))
              ("2" (assert))))
            ("2" (assert))))
          ("2"
           (replace -1 * rl)
           (rewrite "acos_0")
           (rewrite "sq_0")
           (rewrite "sqrt_1")
           (simplify 1)
           (hide -1)
           (lemma "acos_neg" ("x" "sqrt(1 - sq(nnx!1))"))
           (("1"
             (replace -1 1)
             (hide -1)
             (expand "acos")
             (lemma "div_cancel1" ("x" "pi" "n0z" "2"))
             (replace -1)
             (lemma "asin_pos_restrict" ("px" "nnx!1"))
             (("1"
               (replace -1 1)
               (hide -1)
               (expand "asin" 1)
               (lemma "sq_lt" ("nna" "0" "nnb" "nnx!1"))
               (rewrite "sq_0")
               (case "1 - sq(nnx!1) < 1")
               (("1"
                 (lemma "sqrt_lt" ("nny" "1 - sq(nnx!1)" "nnz" "1"))
                 (rewrite "sq_rew" 1)
                 (rewrite "sq_rew" 1)
                 (simplify 1)
                 (rewrite "sqrt_sq" 1)
                 (rewrite "sqrt_1")
                 (assert))
                ("2" (hide 2) (assert))))
              ("2" (expand "abs" 1) (propax))))
            ("2"
             (expand "abs" 1)
             (hide 2)
             (case "1 - sq(nnx!1) <= 1")
             (("1"
               (lemma "sqrt_le" ("nny" "1 - sq(nnx!1)" "nnz" "1"))
               (rewrite "sqrt_1")
               (assert))
              ("2" (assert))))))))
        ("2"
         (replace -1 * rl)
         (rewrite "sq_0")
         (rewrite "sqrt_1")
         (rewrite "acos_0")
         (simplify 1)
         (lemma "acos_neg" ("x" "sqrt(1 - sq(nny!1))"))
         (("1"
           (replace -1)
           (hide -1)
           (expand "acos")
           (lemma "div_cancel1" ("x" "pi" "n0z" "2"))
           (replace -1)
           (expand "<=" -9)
           (split -9)
           (("1"
             (lemma "asin_pos_restrict" ("px" "nny!1"))
             (("1"
               (replace -1 1)
               (expand "asin" 1)
               (rewrite "sq_rew" 1)
               (rewrite "sq_rew" 1)
               (simplify 1)
               (rewrite "sqrt_sq")
               (lemma "sq_lt" ("nna" "nny!1" "nnb" "1"))
               (rewrite "sq_1")
               (case "1 - sq(nny!1) < 1")
               (("1"
                 (lemma "sqrt_lt" ("nny" "1 - sq(nny!1)" "nnz" "1"))
                 (rewrite "sqrt_1")
                 (assert))
                ("2"
                 (lemma "sq_lt" ("nna" "0" "nnb" "nny!1"))
                 (rewrite "sq_0")
                 (assert))))
              ("2" (expand "abs" 1) (propax))))
            ("2"
             (replace -1 * rl)
             (rewrite "asin_0")
             (rewrite "sq_0")
             (rewrite "sqrt_1")
             (rewrite "asin_1")
             (assert))))
          ("2"
           (expand "abs" 1)
           (hide 2)
           (lemma "sq_le" ("nna" "0" "nnb" "nny!1"))
           (rewrite "sq_0")
           (lemma "sqrt_le" ("nny" "1-sq(nny!1)" "nnz" "1"))
           (rewrite "sqrt_1")
           (assert))))))
      ("2"
       (replace -1)
       (rewrite "acos_1")
       (rewrite "sq_1")
       (rewrite "sqrt_0")
       (assert))))
    ("2"
     (replace -1)
     (rewrite "sq_1")
     (rewrite "sqrt_0")
     (rewrite "acos_1")
     (assert))))


proof_type: t_proof
decl_type: tcc
library: trig
theory: acos
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skolem 1 ("x"))
   (typepred "asin(x)")
   (expand "abs" -1)
   (case "asin(x) < 0")
   (("1" (assert)) ("2" (assert))))


proof_type: t_proof
decl_type: tcc
library: trig
theory: acos
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (expand "abs")
   (typepred "sqrt(1/2)")
   (assert)
   (lemma "sq_le" ("nna" "sqrt(1/2)" "nnb" "1"))
   (rewrite "sq_sqrt")
   (expand "sq" -1)
   (propax))


proof_type: t_proof
decl_type: tcc
library: trig
theory: acos
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "nny!1")
   (lemma "sq_le" ("nna" "nny!1" "nnb" "1"))
   (expand "sq")
   (assert))


proof_type: t_proof
decl_type: tcc
library: trig
theory: acos
signature: nil
run_date: Unknown date
run_time: ----
status: proved-complete
description: nil
script:
  (""
   (skosimp*)
   (typepred "nnx!1")
   (typepred "nny!1")
   (lemma "sq_le" ("nna" "0" "nnb" "nnx!1"))
   (lemma "sq_le" ("nna" "0" "nnb" "nny!1"))
   (lemma "sq_le" ("nnb" "1" "nna" "nnx!1"))
   (lemma "sq_le" ("nnb" "1" "nna" "nny!1"))
   (rewrite "sq_0")
   (rewrite "sq_1")
   (expand ">=")
   (flatten)
   (replace -9)
   (replace -9)
   (replace -9)
   (replace -9)
   (case "0 <= 1 - sq(nny!1)")
   (("1"
     (case "0 <= 1 - sq(nnx!1)")
     (("1"
       (lemma "sqrt_le" ("nny" "1 - sq(nny!1)" "nnz" "1"))
       (("1"
         (lemma "sqrt_le" ("nny" "1 - sq(nnx!1)" "nnz" "1"))
         (("1"
           (assert)
           (rewrite "sqrt_1")
           (typepred "sqrt(1 - sq(nnx!1)) ")
           (typepred "sqrt(1 - sq(nny!1)) ")
           (hide -2 -4)
           (lemma "nnreal_times_nnreal_is_nnreal"
            ("nnx" "nnx!1" "nny" "nny!1"))
           (lemma "nnreal_times_nnreal_is_nnreal"
            ("nnx" "sqrt(1 - sq(nnx!1))" "nny" "sqrt(1 - sq(nny!1))"))
           (lemma "le_times_le_pos"
            ("nnx"
             "sqrt(1 - sq(nny!1))"
             "y"
             "1"
             "nnz"
             "sqrt(1 - sq(nnx!1))"
             "w"
             "1"))
           (assert)
           (lemma "le_times_le_pos"
            ("nnx" "nnx!1" "y" "1" "nnz" "nny!1" "w" "1"))
           (assert)
           (lemma "le_minus_le"
            ("x"
             "nnx!1 * nny!1"
             "y"
             "1"
             "w"
             "0"
             "z"
             "(sqrt(1 - sq(nny!1))) * (sqrt(1 - sq(nnx!1)))"))
           (lemma "le_minus_le"
            ("y"
             "nnx!1 * nny!1"
             "x"
             "0"
             "z"
             "1"
             "w"
             "(sqrt(1 - sq(nny!1))) * (sqrt(1 - sq(nnx!1)))"))
           (expand ">=")
           (replace -3)
           (replace -4)
           (replace -5)
           (replace -6)
           (expand "abs" 1)
           (case "nnx!1 * nny!1 - (sqrt(1 - sq(nny!1))) * (sqrt(1 - sq(nnx!1))) < 0")
           (("1" (assert)) ("2" (assert))))
          ("2" (assert))))
        ("2" (assert))))
      ("2" (assert))))
    ("2" (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: sincos_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skolem 1 ("px"))
   (case "px<=1")
   (("1"
     (expand "sin")
     (lemma "floor_def" ("x" "px/(2*pi)"))
     (rewrite "div_mult_pos_lt1")
     (rewrite "div_mult_pos_le2")
     (flatten)
     (lemma "trichotomy" ("x" "floor(px / (2 * pi))"))
     (split -1)
     (("1"
       (case "floor(px / (2 * pi)) =1")
       (("1" (lemma "pi_bnds") (flatten) (assert))
        ("2"
         (case "floor(px / (2 * pi))>1")
         (("1"
           (lemma "pi_bnds")
           (flatten)
           (assert)
           (lemma "both_sides_times_pos_lt1"
            ("x" "1" "y" "floor(px / (2 * pi))" "pz" "2*pi"))
           (assert))
          ("2" (assert))))))
      ("2"
       (replace -1)
       (hide -1 -2 -3)
       (simplify 1)
       (lemma "pi_bnds")
       (flatten)
       (lemma "phases_sin" ("x" "px"))
       (split -1)
       (("1"
         (rewrite "sin_q1")
         (hide -1)
         (lemma "sin_value_derivable2")
         (lemma "deriv_sin_value")
         (lemma "identity_derivable_fun[real_abs_lt_pi]")
         (("1"
           (lemma "deriv_id_fun[real_abs_lt_pi]")
           (expand "I")
           (expand "const_fun")
           (lemma "diff_derivable_fun"
            ("f1"
             "LAMBDA (x: real_abs_lt_pi): x"
             "f2"
             "LAMBDA (x: real_abs_lt_pi): sin_value(x)"))
           (lemma "deriv_diff_fun"
            ("ff1"
             "LAMBDA (x: real_abs_lt_pi): x"
             "ff2"
             "LAMBDA (x: real_abs_lt_pi): sin_value(x)"))
           (("1"
             (replace -3 -1)
             (replace -5 -1)
             (expand "-")
             (assert)
             (lemma "identity_derivable_fun[{x:nnreal|x<pi/2}]")
             (("1"
               (lemma "deriv_id_fun[{x:nnreal|x<pi/2}]")
               (expand "I")
               (expand "const_fun")
               (lemma
                "composition_derivable_fun[{x: nnreal | x < pi / 2},real_abs_lt_pi]"
                ("f"
                 "LAMBDA (x: {x: nnreal | x < pi / 2}): x"
                 "g"
                 "LAMBDA (x_1: real_abs_lt_pi): x_1 - sin_value(x_1)"))
               (("1"
                 (replace -3)
                 (replace -5)
                 (expand "o")
                 (lemma
                  "deriv_comp_fun[{x: nnreal | x < pi / 2},real_abs_lt_pi]"
                  ("ff"
                   "LAMBDA (x: {x: nnreal | x < pi / 2}): x"
                   "gg"
                   "LAMBDA (x_1: real_abs_lt_pi): x_1 - sin_value(x_1)"))
                 (("1"
                   (expand "o")
                   (replace -3 -1)
                   (replace -5 -1)
                   (expand "*" -1)
                   (lemma "minimum_derivative[{x: nnreal | x < pi / 2}]"
                    ("g"
                     "LAMBDA (x_1: {x: nnreal | x < pi / 2}): x_1 - sin_value(x_1)"
                     "x"
                     "0"
                     "y1"
                     "px"))
                   (("1"
                     (split -1)
                     (("1"
                       (simplify -1)
                       (rewrite "sin_value_0")
                       (assert))
                      ("2"
                       (replace -1 1)
                       (assert)
                       (expand "abs")
                       (rewrite "cos_value_0")
                       (assert))
                      ("3" (assert))
                      ("4"
                       (replace -1 1)
                       (hide-all-but 1)
                       (skosimp*)
                       (expand "abs")
                       (lemma "cos_value_strict_decreasing")
                       (expand "strict_decreasing?")
                       (inst - "0" "y!1")
                       (rewrite "cos_value_0")
                       (assert)
                       (lemma "posreal_times_posreal_is_posreal"
                        ("px" "1-cos_value(y!1)" "py" "y!1"))
                       (assert))))
                    ("2" (propax))
                    ("3" (skosimp*) (assert) (expand "abs") (assert))))
                  ("2" (propax))))
                ("2" (skosimp*) (assert) (expand "abs") (assert))))
              ("2"
               (hide-all-but 1)
               (skosimp*)
               (case "x!1=0")
               (("1" (inst + "pi/4") (assert))
                ("2" (inst + "0") (assert))))
              ("3"
               (hide-all-but 1)
               (skosimp*)
               (typepred "x!1")
               (typepred "y!1")
               (assert))))
            ("2" (propax)) ("3" (propax))))
          ("2"
           (hide-all-but 1)
           (skosimp*)
           (case "x!1=0")
           (("1"
             (inst + "pi/4")
             (("1" (assert)) ("2" (expand "abs" 1) (assert))))
            ("2"
             (inst + "0")
             (("1" (assert)) ("2" (expand "abs" 1) (assert))))))
          ("3"
           (hide-all-but 1)
           (skosimp*)
           (typepred "x!1")
           (typepred "y!1")
           (name-replace "K1" "pi/2")
           (grind))))
        ("2" (rewrite "phase_sin_q2") (flatten) (assert))
        ("3" (rewrite "phase_sin_q3") (flatten) (assert))
        ("4" (rewrite "phase_sin_q4") (flatten) (assert))))
      ("3" (assert))))
    ("2" (typepred "sin(px)") (assert))))


proof_type: f_proof
decl_type: formula
library: trig
theory: sincos_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skolem 1 ("px"))
   (case "px<pi")
   (("1"
     (case "derivable[{x:real| -pi/4<x&x<pi/4}](LAMBDA (x:{x:real| -pi/4<x&x<pi/4}): cos(x))")
     (("1"
       (case "deriv[{x: real | -pi / 4 < x & x < pi / 4}](LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): cos(x)) = (LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): -sin(x))")
       (("1"
         (case "1 - (pi/4) * (pi/4) / 2 < cos(pi/4)")
         (("1"
           (lemma "trich_lt" ("x" "px" "y" "pi/4"))
           (split -1)
           (("1"
             (hide -5)
             (hide -2)
             (lemma
              "identity_derivable_fun[{x: real | -pi / 4 < x & x < pi / 4}]")
             (lemma "deriv_id_fun[{x: real | -pi / 4 < x & x < pi / 4}]")
             (expand "I")
             (lemma
              "const_derivable_fun[{x: real | -pi / 4 < x & x < pi / 4}]"
              ("b" "1"))
             (lemma
              "deriv_const_fun[{x: real | -pi / 4 < x & x < pi / 4}]"
              ("b" "1"))
             (expand "const_fun")
             (lemma "prod_derivable_fun"
              ("f1"
               "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): x"
               "f2"
               "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): x"))
             (assert)
             (expand "*")
             (lemma "deriv_prod_fun"
              ("ff1"
               "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): x"
               "ff2"
               "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): x"))
             (replace -5)
             (expand "*")
             (expand "+")
             (lemma "scal_derivable_fun"
              ("b"
               "1/2"
               "f"
               "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}): x_1 * x_1"))
             (assert)
             (expand "*")
             (lemma "deriv_scal_fun"
              ("b"
               "1/2"
               "ff"
               "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}): x_1 * x_1"))
             (replace -3)
             (expand "*")
             (lemma "diff_derivable_fun"
              ("f1"
               "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): 1"
               "f2"
               "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}):
                                              1 / 2 * (x * x)"))
             (assert)
             (expand "-")
             (lemma "deriv_diff_fun"
              ("ff1"
               "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): 1"
               "ff2"
               "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}):
                                              1 / 2 * (x * x)"))
             (expand "-")
             (replace -3)
             (replace -7)
             (simplify -1)
             (lemma "diff_derivable_fun"
              ("f1"
               "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): cos(x)"
               "f2"
               "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}):
                                          1 - 1 / 2 * (x_1 * x_1)"))
             (assert)
             (expand "-")
             (lemma "deriv_diff_fun"
              ("ff1"
               "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): cos(x)"
               "ff2"
               "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}):
                                          1 - 1 / 2 * (x_1 * x_1)"))
             (replace -3)
             (replace -14)
             (expand "-")
             (hide-all-but (-1 -2 -13 1))
             (lemma "identity_derivable_fun[{x:nnreal|x<pi/4}]")
             (("1"
               (lemma "deriv_id_fun[{x:nnreal|x<pi/4}]")
               (expand "I")
               (expand "const_fun")
               (lemma
                "composition_derivable_fun[{x: nnreal | x < pi / 4},{x: real | -pi / 4 < x & x < pi / 4}]"
                ("f"
                 "LAMBDA (x: {x: nnreal | x < pi / 4}): x"
                 "g"
                 "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}): cos(x_1) - 1 + 1 / 2 * (x_1 * x_1)"))
               (assert)
               (expand "o")
               (lemma
                "deriv_comp_fun[{x: nnreal | x < pi / 4},{x: real | -pi / 4 < x & x < pi / 4}]"
                ("ff"
                 "LAMBDA (x: {x: nnreal | x < pi / 4}): x"
                 "gg"
                 "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}): cos(x_1) - 1 + 1 / 2 * (x_1 * x_1)"))
               (replace -5)
               (replace -3)
               (expand "o")
               (expand "*")
               (lemma "minimum_derivative[{x: nnreal | x < pi / 4}]"
                ("g"
                 "LAMBDA (x_1: {x: nnreal | x < pi / 4}): cos(x_1) - 1 + 1 / 2 * (x_1 * x_1)"
                 "x"
                 "0"
                 "y1"
                 "px"))
               (("1"
                 (split -1)
                 (("1" (simplify -1) (rewrite "cos_0") (assert))
                  ("2"
                   (replace -1 1)
                   (simplify 1)
                   (rewrite "sin_0")
                   (assert))
                  ("3" (assert))
                  ("4"
                   (hide 2)
                   (skosimp*)
                   (replace -1)
                   (simplify 2)
                   (hide-all-but (1 2))
                   (lemma "sin_ub" ("px" "y!1"))
                   (("1"
                     (lemma "posreal_times_posreal_is_posreal"
                      ("px" "y!1" "py" "y!1-sin(y!1)"))
                     (("1" (assert)) ("2" (assert))))
                    ("2" (assert))))))
                ("2" (propax))))
              ("2"
               (hide-all-but 1)
               (skosimp*)
               (case "x!1=0")
               (("1" (inst + "pi/8") (assert))
                ("2" (inst + "0") (assert))))
              ("3" (hide-all-but 1) (skosimp*) (assert))))
            ("2" (replace -1) (propax))
            ("3"
             (hide -3 -4)
             (expand "cos")
             (lemma "floor_0" ("x" "px / (2 * pi)"))
             (flatten -1)
             (hide -1)
             (split -1)
             (("1"
               (replace -1)
               (lemma "floor_0" ("x" "pi / 4 / (2 * pi)"))
               (flatten -1)
               (hide -1)
               (split -1)
               (("1"
                 (replace -1)
                 (simplify (-4 1))
                 (hide -1 -2)
                 (rewrite "cos_phase_pi4")
                 (expand "cos_phase")
                 (rewrite "phase_cos_q1" 1)
                 (assert)
                 (lemma
                  "identity_derivable_fun[{x:nnreal|pi/4<=x&x<pi}]")
                 (("1"
                   (lemma "deriv_id_fun[{x:nnreal|pi/4<=x&x<pi}]")
                   (lemma "const_derivable_fun[{x:nnreal|pi/4<=x&x<pi}]"
                    ("b" "1"))
                   (lemma "deriv_const_fun[{x:nnreal|pi/4<=x&x<pi}]"
                    ("b" "1"))
                   (expand "I")
                   (expand "const_fun")
                   (lemma "prod_derivable_fun"
                    ("f1"
                     "LAMBDA (x: {x: nnreal | pi / 4 <= x & x < pi}): x"
                     "f2"
                     "LAMBDA (x: {x: nnreal | pi / 4 <= x & x < pi}): x"))
                   (assert)
                   (expand "*")
                   (lemma "deriv_prod_fun"
                    ("ff1"
                     "LAMBDA (x: {x: nnreal | pi / 4 <= x & x < pi}): x"
                     "ff2"
                     "LAMBDA (x: {x: nnreal | pi / 4 <= x & x < pi}): x"))
                   (replace -5)
                   (expand "*")
                   (expand "+")
                   (lemma "scal_derivable_fun"
                    ("b"
                     "1/2"
                     "f"
                     "LAMBDA (x_1: {x: nnreal | pi / 4 <= x & x < pi}): x_1 * x_1"))
                   (assert)
                   (expand "*")
                   (lemma "deriv_scal_fun"
                    ("b"
                     "1/2"
                     "ff"
                     "LAMBDA (x_1: {x: nnreal | pi / 4 <= x & x < pi}): x_1 * x_1"))
                   (replace -3)
                   (expand "*")
                   (lemma "diff_derivable_fun"
                    ("f1"
                     "LAMBDA (x: {x: nnreal | pi / 4 <= x & x < pi}): 1"
                     "f2"
                     "LAMBDA (x: {x: nnreal | pi / 4 <= x & x < pi}): 1 / 2 * (x * x)"))
                   (assert)
                   (expand "-")
                   (lemma "deriv_diff_fun"
                    ("ff1"
                     "LAMBDA (x: {x: nnreal | pi / 4 <= x & x < pi}): 1"
                     "ff2"
                     "LAMBDA (x: {x: nnreal | pi / 4 <= x & x < pi}): 1 / 2 * (x * x)"))
                   (replace -7)
                   (replace -3)
                   (expand "-")
                   (lemma "cos_value_derivable2")
                   (lemma "deriv_cos_value")
                   (lemma
                    "composition_derivable_fun[{x: nnreal | pi / 4 <= x & x < pi},posreal_lt_pi]"
                    ("f"
                     "LAMBDA (x: {x: nnreal | pi / 4 <= x & x < pi}): x"
                     "g"
                     "LAMBDA (x: posreal_lt_pi): cos_value(x)"))
                   (("1"
                     (assert)
                     (expand "o")
                     (lemma
                      "deriv_comp_fun[{x: nnreal | pi / 4 <= x & x < pi},posreal_lt_pi]"
                      ("ff"
                       "LAMBDA (x: {x: nnreal | pi / 4 <= x & x < pi}): x"
                       "gg"
                       "LAMBDA (x: posreal_lt_pi): cos_value(x)"))
                     (expand "o")
                     (replace -3 -1)
                     (replace -13)
                     (expand "*")
                     (hide -7 -8 -9 -10 -11 -12 -13 -14)
                     (lemma "diff_derivable_fun"
                      ("f1"
                       "LAMBDA (x_1: {x: nnreal | pi / 4 <= x & x < pi}): cos_value(x_1)"
                       "f2"
                       "LAMBDA (x_1: {x: nnreal | pi / 4 <= x & x < pi}): 1 - 1 / 2 * (x_1 * x_1)"))
                     (assert)
                     (expand "-")
                     (lemma "deriv_diff_fun"
                      ("ff1"
                       "LAMBDA (x_1: {x: nnreal | pi / 4 <= x & x < pi}): cos_value(x_1)"
                       "ff2"
                       "LAMBDA (x_1: {x: nnreal | pi / 4 <= x & x < pi}): 1 - 1 / 2 * (x_1 * x_1)"))
                     (replace -3)
                     (replace -7)
                     (expand "-")
                     (lemma
                      "positive_derivative[{x: nnreal | pi / 4 <= x & x < pi}]"
                      ("g"
                       "LAMBDA (x: {x: nnreal | pi / 4 <= x & x < pi}):
                                                          cos_value(x) - 1 + 1 / 2 * (x * x)"))
                     (("1"
                       (split -1)
                       (("1"
                         (expand "strict_increasing?")
                         (hide-all-but (-1 -10 -11 -12 1))
                         (inst - "pi/4" "px")
                         (rewrite "cos_value_pi4")
                         (assert))
                        ("2"
                         (skosimp*)
                         (hide 2)
                         (expand "deriv" -1)
                         (lemma "extensionality_postulate"
                          ("f"
                           "(LAMBDA (x_1: {x: nnreal | pi / 4 <= x & x < pi}):
                                                             deriv(LAMBDA (x: {x: nnreal | pi / 4 <= x & x < pi}):
                                                                     cos_value(x) - 1 + 1 / 2 * (x * x),
                                                                   x_1))"
                           "g"
                           "(LAMBDA (x: {x: nnreal | pi / 4 <= x & x < pi}):
                                                              IF x < pi / 2 THEN -sin_value(x) ELSE -sin_value(pi - x) ENDIF +
                                                               2 * (x * (1 / 2)))"))
                         (("1"
                           (replace -1 -2 rl)
                           (inst -2 "x!1")
                           (replace -2 1)
                           (hide-all-but (-10 -11 -12 1))
                           (case "x!1 < pi / 2")
                           (("1"
                             (hide -2 -3 -4)
                             (assert)
                             (lemma "sin_ub" ("px" "x!1"))
                             (expand "sin")
                             (lemma "floor_0" ("x" "x!1/(2*pi)"))
                             (assert)
                             (rewrite "div_mult_pos_lt1" -1)
                             (flatten -1)
                             (replace -1)
                             (simplify -2)
                             (rewrite "sin_q1" -2)
                             (("1" (assert))
                              ("2" (rewrite "phase_sin_q1" 1))))
                            ("2"
                             (assert)
                             (case "pi/2<=x!1")
                             (("1"
                               (hide -2 -3 -4 1)
                               (lemma "sin_ub" ("px" "x!1"))
                               (expand "sin")
                               (lemma "floor_0" ("x" "x!1 / (2 * pi)"))
                               (assert)
                               (rewrite "div_mult_pos_lt1" -1)
                               (flatten -1)
                               (replace -1)
                               (simplify -2)
                               (hide -1)
                               (case "sin_value(pi - x!1) = sin_phase(x!1)")
                               (("1" (replace -1) (assert))
                                ("2"
                                 (hide -1 2)
                                 (rewrite "sin_q2" 1)
                                 (("1"
                                   (rewrite "sin_eqv_cos_value")
                                   (lemma
                                    "cos_value_neg"
                                    ("xc" "x!1-pi/2"))
                                   (assert))
                                  ("2" (rewrite "phase_sin_q2"))))))
                              ("2" (assert))))))
                          ("2"
                           (hide-all-but 1)
                           (skosimp*)
                           (expand "abs")
                           (assert))
                          ("3"
                           (hide-all-but 1)
                           (skosimp*)
                           (expand "abs" 1)
                           (assert))
                          ("4"
                           (hide-all-but 1)
                           (skosimp*)
                           (typepred "x!3")
                           (case "x!3=pi/4")
                           (("1" (inst + "pi/2") (assert))
                            ("2" (inst + "pi/4") (assert))))
                          ("5" (hide-all-but 1) (skosimp*) (assert))
                          ("6"
                           (hide 2)
                           (skosimp*)
                           (expand "derivable" -2)
                           (inst -2 "x!2"))))))
                      ("2" (propax))))
                    ("2"
                     (hide-all-but 1)
                     (skosimp*)
                     (case "x!1=pi/2")
                     (("1" (inst + "pi/3") (assert))
                      ("2" (inst + "pi/2") (assert))))
                    ("3" (hide-all-but 1) (skosimp*) (assert))))
                  ("2"
                   (hide-all-but 1)
                   (skosimp*)
                   (case "x!1=pi/4")
                   (("1" (inst + "pi/2") (assert))
                    ("2" (inst + "pi/4") (assert))))
                  ("3" (hide-all-but 1) (skosimp*) (assert))))
                ("2"
                 (hide-all-but 1)
                 (rewrite "div_div2")
                 (lemma "div_cancel1" ("x" "1/8" "n0z" "pi"))
                 (replace -1)
                 (assert))
                ("3"
                 (hide-all-but 1)
                 (lemma "div_cancel1" ("x" "1/8" "n0z" "pi"))
                 (rewrite "div_div2" 1)
                 (assert))))
              ("2" (assert))
              ("3" (assert) (rewrite "div_mult_pos_lt1" 1))))))
          ("2"
           (hide-all-but 1)
           (expand "cos")
           (lemma "floor_0" ("x" "pi / 4 / (2 * pi)"))
           (rewrite "div_div2")
           (lemma "div_cancel1" ("x" "1/8" "n0z" "pi"))
           (replace -1)
           (hide -1)
           (flatten -1)
           (hide -1)
           (split -1)
           (("1"
             (replace -1)
             (simplify 1)
             (hide -1)
             (rewrite "cos_phase_pi4")
             (case "314/100<=pi&pi<=315/100")
             (("1"
               (flatten)
               (lemma "le_times_le_pos"
                ("nnx" "pi/4" "y" "315/400" "nnz" "pi/4" "w" "315/400"))
               (assert)
               (lemma "le_times_le_pos"
                ("y" "pi/4" "nnx" "314/400" "w" "pi/4" "nnz" "314/400"))
               (assert)
               (case "1 - (pi / 4) * (pi / 4) / 2<=221404/320000")
               (("1"
                 (lemma "sq_lt"
                  ("nna" "221404 / 320000" "nnb" "sqrt(1/2)"))
                 (flatten -1)
                 (hide -2)
                 (rewrite "sq_sqrt")
                 (split -1)
                 (("1" (assert)) ("2" (hide-all-but 1) (grind))))
                ("2" (assert))))
              ("2"
               (hide 2)
               (typepred "pi")
               (expand "pi_lb")
               (expand "pi_ub")
               (assert))))
            ("2" (assert)) ("3" (assert))))))
        ("2"
         (hide -2 2)
         (lemma "extensionality"
          ("f"
           "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): cos(x)"
           "g"
           "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): sqrt(1/2)*(cos(x+pi/4)+sin(x+pi/4))"))
         (split -1)
         (("1"
           (replace -1)
           (hide -1)
           (lemma
            "identity_derivable_fun[{x: real | -pi / 4 < x & x < pi / 4}]")
           (lemma "deriv_id_fun[{x: real | -pi / 4 < x & x < pi / 4}]")
           (expand "I")
           (lemma
            "const_derivable_fun[{x: real | -pi / 4 < x & x < pi / 4}]"
            ("b" "pi/4"))
           (lemma "deriv_const_fun[{x: real | -pi / 4 < x & x < pi / 4}]"
            ("b" "pi/4"))
           (expand "const_fun")
           (lemma "sin_value_derivable2")
           (lemma "cos_value_derivable2")
           (lemma "deriv_sin_value")
           (lemma "deriv_cos_value")
           (lemma "sum_derivable_fun"
            ("f1"
             "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): pi / 4"
             "f2"
             "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): x"))
           (assert)
           (expand "+")
           (lemma "deriv_sum_fun"
            ("ff1"
             "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): pi / 4"
             "ff2"
             "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): x"))
           (replace -9)
           (replace -7)
           (expand "+")
           (lemma
            "composition_derivable_fun[{x: real | -pi / 4 < x & x < pi / 4},posreal_lt_pi]"
            ("f"
             "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}): x_1+pi/4"
             "g"
             "LAMBDA (x: posreal_lt_pi): cos_value(x)"))
           (("1"
             (assert)
             (expand "o")
             (lemma
              "composition_derivable_fun[{x: real | -pi / 4 < x & x < pi / 4},real_abs_lt_pi]"
              ("f"
               "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}): x_1+pi/4"
               "g"
               "LAMBDA (x: real_abs_lt_pi): sin_value(x)"))
             (("1"
               (assert)
               (expand "o")
               (lemma
                "deriv_comp_fun[{x: real | -pi / 4 < x & x < pi / 4},real_abs_lt_pi]"
                ("ff"
                 "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}): x_1+pi/4"
                 "gg"
                 "LAMBDA (x: real_abs_lt_pi): sin_value(x)"))
               (lemma
                "deriv_comp_fun[{x: real | -pi / 4 < x & x < pi / 4},posreal_lt_pi]"
                ("ff"
                 "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}): x_1+pi/4"
                 "gg"
                 "LAMBDA (x: posreal_lt_pi): cos_value(x)"))
               (replace -5)
               (replace -7)
               (replace -8)
               (expand "o")
               (expand "*")
               (lemma "sum_derivable_fun"
                ("f1"
                 "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}):
                                              cos_value(x_1 + pi / 4)"
                 "f2"
                 "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}):
                                              sin_value(x_1 + pi / 4)"))
               (("1"
                 (expand "+")
                 (hide (-8 -9 -10 -11 -12 -13 -14 -15))
                 (assert)
                 (lemma "deriv_sum_fun"
                  ("ff1"
                   "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}):
                                                  cos_value(x_1 + pi / 4)"
                   "ff2"
                   "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}):
                                                  sin_value(x_1 + pi / 4)"))
                 (replace -3)
                 (replace -4)
                 (expand "abs" (-1 -4))
                 (expand "+")
                 (lemma "scal_derivable_fun"
                  ("f"
                   "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}):
                                                  cos_value(x + pi / 4) + sin_value(x + pi / 4)"
                   "b"
                   "sqrt(1/2)"))
                 (assert)
                 (expand "*")
                 (lemma "deriv_scal_fun"
                  ("ff"
                   "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}):
                                                  cos_value(x + pi / 4) + sin_value(x + pi / 4)"
                   "b"
                   "sqrt(1/2)"))
                 (replace -3)
                 (expand "*")
                 (hide-all-but (-1 -2 -11 1))
                 (lemma "extensionality"
                  ("f"
                   "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}):
                                                  cos_value(x_1 + pi / 4) * sqrt(1 / 2) +
                                                   sin_value(x_1 + pi / 4) * sqrt(1 / 2)"
                   "g"
                   "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}):
                                                 cos(x + pi / 4) * sqrt(1 / 2) + sin(x + pi / 4) * sqrt(1 / 2)"))
                 (split -1)
                 (("1"
                   (replace -1)
                   (lemma "extensionality"
                    ("f"
                     "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}):
                                                  cos_value(x + pi / 4) * sqrt(1 / 2) +
                                                   sqrt(1 / 2) * -sin_value(x + pi / 4)"
                     "g"
                     "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): -sin(x)"))
                   (split -1)
                   (("1" (replace -1) (propax))
                    ("2"
                     (hide-all-but 1)
                     (skosimp*)
                     (lemma "sin_minus" ("a" "x!1+pi/4" "b" "pi/4"))
                     (replace -1 1)
                     (hide -1)
                     (expand "sin")
                     (expand "cos")
                     (rewrite "div_div2")
                     (lemma "div_cancel1" ("x" "1/8" "n0z" "pi"))
                     (replace -1)
                     (lemma "floor_0" ("x" "1/8"))
                     (flatten -1)
                     (hide -1 -3)
                     (split -1)
                     (("1"
                       (replace -1)
                       (hide -1)
                       (simplify)
                       (rewrite "cos_phase_pi4")
                       (rewrite "sin_phase_pi4")
                       (typepred "x!1")
                       (lemma "floor_0"
                        ("x" "(pi / 4 + x!1) / (2 * pi)"))
                       (rewrite "div_mult_pos_lt1" -1)
                       (rewrite "div_mult_pos_le2" -1)
                       (flatten -1)
                       (replace -1)
                       (simplify 1)
                       (rewrite "sin_q1")
                       (("1"
                         (rewrite "cos_q1")
                         (("1" (assert))
                          ("2"
                           (hide 2)
                           (assert)
                           (lemma "phase_sin_q1" ("x" "(pi / 4) + x!1"))
                           (assert))))
                        ("2"
                         (hide-all-but (-2 -3 1))
                         (lemma "phase_sin_q1" ("x" "(pi / 4) + x!1"))
                         (assert))))
                      ("2" (assert)) ("3" (assert))))))
                  ("2"
                   (hide-all-but 1)
                   (skosimp*)
                   (expand "cos")
                   (expand "sin")
                   (lemma "floor_0" ("x" "(pi / 4 + x!1) / (2 * pi)"))
                   (flatten -1)
                   (split -2)
                   (("1"
                     (replace -1)
                     (hide -1 -2)
                     (simplify)
                     (rewrite "sin_q1")
                     (("1"
                       (rewrite "cos_q1")
                       (hide 2)
                       (typepred "x!1")
                       (lemma "phase_sin_q1" ("x" "pi/4+x!1"))
                       (assert))
                      ("2"
                       (lemma "phase_sin_q1" ("x" "pi/4+x!1"))
                       (assert))))
                    ("2"
                     (hide-all-but 1)
                     (assert)
                     (rewrite "div_mult_pos_le2"))
                    ("3" (rewrite "div_mult_pos_lt1" 1))))))
                ("2" (expand "abs" 1) (propax))))
              ("2" (expand "abs" 1) (propax))
              ("3"
               (hide-all-but 1)
               (skosimp*)
               (case "x!1=0")
               (("1"
                 (inst + "pi/4")
                 (("1" (assert))
                  ("2" (expand "abs" 1) (typepred "pi") (assert))))
                ("2"
                 (inst + "0")
                 (("1" (assert)) ("2" (expand "abs" 1) (assert))))))
              ("4"
               (hide-all-but 1)
               (skosimp*)
               (typepred "x!1")
               (typepred "y!1")
               (name-replace "K1" "pi/2")
               (grind))))
            ("2"
             (hide-all-but 1)
             (skosimp*)
             (case "x!1=pi/2")
             (("1" (inst + "pi/3") (assert))
              ("2" (inst + "pi/2") (assert))))
            ("3" (hide-all-but 1) (skosimp*) (assert))))
          ("2"
           (hide -1 2)
           (skosimp*)
           (lemma "cos_minus" ("a" "x!1 + pi / 4" "b" "pi/4"))
           (replace -1 1)
           (hide -1)
           (expand "cos")
           (expand "sin")
           (rewrite "div_div2")
           (lemma "div_cancel1" ("x" "1/8" "n0z" "pi"))
           (replace -1)
           (lemma "floor_0" ("x" "1/8"))
           (flatten -1)
           (hide -1 -3)
           (split -1)
           (("1"
             (replace -1)
             (simplify 1)
             (rewrite "sin_phase_pi4")
             (rewrite "cos_phase_pi4"))
            ("2" (assert)) ("3" (assert))))))
        ("3" (propax))))
      ("2"
       (lemma "extensionality"
        ("f"
         "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): cos(x)"
         "g"
         "LAMBDA (x:{x: real | -pi / 4 < x & x < pi / 4}):sqrt(1/2)*(cos_value(x+pi/4)+sin_value(x+pi/4))"))
       (("1"
         (split -1)
         (("1"
           (replace -1 1)
           (hide-all-but 1)
           (lemma "cos_value_derivable2")
           (lemma "sin_value_derivable2")
           (lemma
            "identity_derivable_fun[{x: real | -pi / 4 < x & x < pi / 4}]")
           (lemma "deriv_id_fun[{x: real | -pi / 4 < x & x < pi / 4}]")
           (expand "I")
           (lemma
            "const_derivable_fun[{x: real | -pi / 4 < x & x < pi / 4}]"
            ("b" "pi/4"))
           (lemma "deriv_const_fun[{x: real | -pi / 4 < x & x < pi / 4}]"
            ("b" "pi/4"))
           (expand "const_fun")
           (lemma "sum_derivable_fun"
            ("f1"
             "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): x"
             "f2"
             "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): pi/4"))
           (lemma "deriv_sum_fun"
            ("ff1"
             "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): x"
             "ff2"
             "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}): pi/4"))
           (("1"
             (replace -3 -1)
             (replace -5 -1)
             (expand "+")
             (assert)
             (lemma
              "composition_derivable_fun[{x: real | -pi / 4 < x & x < pi / 4},real_abs_lt_pi]"
              ("f"
               "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}): x_1 + pi / 4"
               "g"
               "LAMBDA (x: real_abs_lt_pi): sin_value(x)"))
             (("1"
               (lemma
                "composition_derivable_fun[{x: real | -pi / 4 < x & x < pi / 4},posreal_lt_pi]"
                ("f"
                 "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}): x_1 + pi / 4"
                 "g"
                 "LAMBDA (x: posreal_lt_pi): cos_value(x)"))
               (("1"
                 (assert)
                 (expand "o")
                 (lemma "sum_derivable_fun"
                  ("f1"
                   "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}):
                                                      cos_value(x_1 + pi / 4)"
                   "f2"
                   "LAMBDA (x_1: {x: real | -pi / 4 < x & x < pi / 4}):
                                                      sin_value(x_1 + pi / 4)"))
                 (assert)
                 (expand "+")
                 (lemma "scal_derivable_fun"
                  ("b"
                   "sqrt(1/2)"
                   "f"
                   "LAMBDA (x: {x: real | -pi / 4 < x & x < pi / 4}):
                                                      cos_value(x + pi / 4) + sin_value(x + pi / 4)"))
                 (assert)
                 (expand "*")
                 (propax))
                ("2"
                 (hide-all-but 1)
                 (skosimp*)
                 (case "x!1=pi/2")
                 (("1" (inst + "pi/4") (assert))
                  ("2" (inst + "pi/2") (assert))))
                ("3" (hide-all-but 1) (skosimp*) (assert))))
              ("2" (hide-all-but 1) (skosimp*) (expand "abs") (assert))
              ("3"
               (hide-all-but 1)
               (skosimp*)
               (case "x!1=0")
               (("1"
                 (inst + "pi/4")
                 (("1" (assert))
                  ("2"
                   (expand "abs")
                   (assert)
                   (typepred "pi")
                   (assert))))
                ("2"
                 (inst + "0")
                 (("1" (assert)) ("2" (expand "abs") (assert))))))
              ("4"
               (hide-all-but 1)
               (skosimp*)
               (typepred "x!1")
               (typepred "y!1")
               (name-replace "K1" "pi/2")
               (grind))))
            ("2" (propax)) ("3" (propax))))
          ("2"
           (hide-all-but 1)
           (skosimp*)
           (lemma "cos_minus" ("a" "x!1+pi/4" "b" "pi/4"))
           (replace -1 1)
           (hide -1)
           (typepred "x!1")
           (expand "cos")
           (expand "sin")
           (rewrite "div_div2" 1)
           (lemma "div_cancel1" ("x" "1/8" "n0z" "pi"))
           (replace -1)
           (lemma "floor_0" ("x" "1/8"))
           (flatten -1)
           (hide -1)
           (simplify -1)
           (replace -1)
           (simplify 1)
           (lemma "floor_0" ("x" "(pi / 4 + x!1) / (2 * pi)"))
           (flatten -1)
           (hide -1 -3 -4)
           (split -1)
           (("1"
             (replace -1)
             (simplify 1)
             (hide -1)
             (rewrite "cos_phase_pi4")
             (rewrite "sin_phase_pi4")
             (lemma "phase_sin_q1" ("x" "pi/4+x!1"))
             (assert)
             (rewrite "sin_q1" 1)
             (rewrite "cos_q1" 1))
            ("2"
             (hide 2)
             (lemma "div_mult_pos_le2"
              ("z" "pi / 4 + x!1" "py" "2*pi" "x" "0"))
             (assert))
            ("3"
             (hide 2)
             (lemma "div_mult_pos_lt1"
              ("z" "pi / 4 + x!1" "py" "2*pi" "x" "1"))
             (assert))))))
        ("2" (hide-all-but 1) (expand "abs") (propax))))
      ("3"
       (hide-all-but 1)
       (skosimp*)
       (case "x!1=0")
       (("1" (inst + "pi/8") (assert)) ("2" (inst + "0") (assert))))
      ("4" (hide-all-but 1) (skosimp*) (assert))))
    ("2"
     (case "pi<=px")
     (("1"
       (hide 1)
       (lemma "pi_bnds")
       (flatten)
       (typepred "cos(px)")
       (lemma "lt_times_lt_pos1"
        ("px" "306/100" "y" "px" "nnz" "306/100" "w" "px"))
       (assert))
      ("2" (assert))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: sincos_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skolem 1 ("px"))
   (lemma "sin_value_derivable2")
   (lemma "deriv_sin_value")
   (lemma "identity_derivable_fun[real]")
   (lemma "deriv_id_fun[real]")
   (expand "I")
   (expand "const_fun")
   (lemma "prod_derivable_fun"
    ("f1" "LAMBDA (x: real): x" "f2" "LAMBDA (x: real): x"))
   (assert)
   (expand "*")
   (lemma "deriv_prod_fun"
    ("ff1" "LAMBDA (x: real): x" "ff2" "LAMBDA (x: real): x"))
   (expand "*")
   (replace -3 -1)
   (expand "+")
   (lemma "prod_derivable_fun"
    ("f1" "LAMBDA (x: real): x" "f2" "LAMBDA (x: real): x*x"))
   (assert)
   (expand "*")
   (lemma "deriv_prod_fun"
    ("ff1" "LAMBDA (x: real): x" "ff2" "LAMBDA (x: real): x*x"))
   (expand "*")
   (replace -3)
   (replace -5)
   (expand "+")
   (lemma "scal_derivable_fun"
    ("f" "LAMBDA (x_1: real): x_1 * (x_1 * x_1)" "b" "1/6"))
   (assert)
   (expand "*")
   (lemma "deriv_scal_fun"
    ("ff" "LAMBDA (x_1: real): x_1 * (x_1 * x_1)" "b" "1/6"))
   (expand "*")
   (replace -3 -1)
   (simplify -1)
   (lemma "diff_derivable_fun"
    ("f1"
     "LAMBDA (x: real): 1 / 6 * (x * (x * x))"
     "f2"
     "LAMBDA (x: real): x"))
   (assert)
   (expand "-")
   (lemma "deriv_diff_fun"
    ("ff1"
     "LAMBDA (x: real): 1 / 6 * (x * (x * x))"
     "ff2"
     "LAMBDA (x: real): x"))
   (replace -3)
   (replace -9)
   (expand "-")
   (hide -3 -4 -5 -6 -7 -8 -9 -10)
   (typepred "sin(px)")
   (case "px<pi")
   (("1"
     (expand "sin")
     (lemma "floor_def" ("x" "px / (2 * pi)"))
     (rewrite "div_mult_pos_lt1" -1)
     (rewrite "div_mult_pos_le2" -1)
     (flatten -1)
     (lemma "trichotomy" ("x" "floor(px/(2*pi))"))
     (split -1)
     (("1"
       (case "floor(px/(2*pi))=1")
       (("1" (assert))
        ("2"
         (case "floor(px/(2*pi))>1")
         (("1"
           (lemma "both_sides_times_pos_lt1"
            ("x" "1" "y" "floor(px/(2*pi))" "pz" "2*pi"))
           (assert))
          ("2" (assert))))))
      ("2"
       (replace -1)
       (simplify 1)
       (hide -1 -2 -3)
       (simplify (-2 -3))
       (case "px<pi/2")
       (("1"
         (hide -2 -3 -4)
         (rewrite "sin_q1" 1)
         (("1"
           (lemma "identity_derivable_fun[{x:nnreal|x<pi/2}]")
           (("1"
             (lemma "deriv_id_fun[{x:nnreal|x<pi/2}]")
             (expand "I")
             (expand "const_fun")
             (lemma
              "composition_derivable_fun[{x: nnreal | x < pi / 2},real_abs_lt_pi]"
              ("f"
               "LAMBDA (x: {x: nnreal | x < pi / 2}): x"
               "g"
               "LAMBDA (x: real_abs_lt_pi): sin_value(x)"))
             (("1"
               (expand "o")
               (replace -3 -1)
               (lemma
                "deriv_comp_fun[{x: nnreal | x < pi / 2},real_abs_lt_pi]"
                ("ff"
                 "LAMBDA (x: {x: nnreal | x < pi / 2}): x"
                 "gg"
                 "LAMBDA (x: real_abs_lt_pi): sin_value(x)"))
               (("1"
                 (expand "o")
                 (expand "*")
                 (lemma
                  "composition_derivable_fun[{x: nnreal | x < pi / 2},real]"
                  ("f"
                   "LAMBDA (x: {x: nnreal | x < pi / 2}): x"
                   "g"
                   "LAMBDA (x_1: real): 1 / 6 * (x_1 * (x_1 * x_1)) - x_1"))
                 (("1"
                   (expand "o")
                   (assert)
                   (lemma "deriv_comp_fun[{x: nnreal | x < pi / 2},real]"
                    ("ff"
                     "LAMBDA (x: {x: nnreal | x < pi / 2}): x"
                     "gg"
                     "LAMBDA (x_1: real): 1 / 6 * (x_1 * (x_1 * x_1)) - x_1"))
                   (expand "o")
                   (replace -5)
                   (replace -10)
                   (replace -8)
                   (expand "*")
                   (simplify (-3))
                   (expand "abs" -3)
                   (lemma "sum_derivable_fun"
                    ("f1"
                     "LAMBDA (x_1: {x: nnreal | x < pi / 2}): sin_value(x_1)"
                     "f2"
                     "LAMBDA (x_1: {x: nnreal | x < pi / 2}):
                                                                             1 / 6 * (x_1 * (x_1 * x_1)) - x_1"))
                   (("1"
                     (assert)
                     (expand "+")
                     (lemma "deriv_sum_fun"
                      ("ff1"
                       "LAMBDA (x_1: {x: nnreal | x < pi / 2}): sin_value(x_1)"
                       "ff2"
                       "LAMBDA (x_1: {x: nnreal | x < pi / 2}):
                                                                                   1 / 6 * (x_1 * (x_1 * x_1)) - x_1"))
                     (replace -3 -1)
                     (replace -5 -1)
                     (expand "+")
                     (hide -13 -12 -11 -10 -8 -7 -6 -5 -4 -3)
                     (lemma
                      "minimum_derivative[{x: nnreal | x < pi / 2}]"
                      ("g"
                       "LAMBDA (x: {x: nnreal | x < pi / 2}): sin_value(x) + 1 / 6 * (x * (x * x)) - x"
                       "x"
                       "0"
                       "y1"
                       "px"))
                     (("1"
                       (split -1)
                       (("1"
                         (simplify -1)
                         (rewrite "sin_value_0")
                         (assert))
                        ("2"
                         (replace -1 1)
                         (hide -1 -2 2)
                         (simplify 1)
                         (rewrite "cos_value_0")
                         (assert))
                        ("3" (assert))
                        ("4"
                         (replace -1 1)
                         (hide-all-but 1)
                         (skosimp*)
                         (typepred "y!1")
                         (expand ">=")
                         (expand "<=")
                         (split -1)
                         (("1"
                           (hide 1)
                           (lemma "cos_lb" ("px" "y!1"))
                           (("1"
                             (expand "cos")
                             (lemma "floor_0" ("x" "y!1 / (2 * pi)"))
                             (rewrite "div_mult_pos_lt1" -1)
                             (rewrite "div_mult_pos_le2" -1)
                             (flatten -1)
                             (replace -1)
                             (simplify -2)
                             (hide -1)
                             (rewrite "cos_q1" -1)
                             (("1"
                               (lemma "posreal_times_posreal_is_posreal"
                                ("px"
                                 "y!1"
                                 "py"
                                 "cos_value(y!1)-1+y!1*y!1/2"))
                               (("1" (assert)) ("2" (assert))))
                              ("2" (rewrite "phase_sin_q1" 1))))
                            ("2" (assert))))
                          ("2" (assert))))))
                      ("2" (propax))))
                    ("2" (skosimp*) (expand "abs") (assert))))
                  ("2"
                   (hide-all-but 1)
                   (skosimp*)
                   (inst + "x!1+1")
                   (assert))))
                ("2" (propax))))
              ("2"
               (hide-all-but 1)
               (skosimp*)
               (case "x!1=0")
               (("1" (assert) (expand "abs") (assert))
                ("2" (assert) (expand "abs") (assert))))
              ("3"
               (hide-all-but 1)
               (skosimp*)
               (typepred "x!1")
               (case "x!1=0")
               (("1"
                 (inst + "pi/4")
                 (("1" (assert)) ("2" (expand "abs" 1) (assert))))
                ("2"
                 (inst + "0")
                 (("1" (assert)) ("2" (expand "abs") (assert))))))
              ("4"
               (skosimp*)
               (typepred "y!1")
               (hide-all-but (-1 -2 -3 1))
               (typepred "x!1")
               (expand "abs")
               (lift-if)
               (ground))))
            ("2"
             (hide-all-but 1)
             (skosimp*)
             (case "x!1=0")
             (("1" (inst + "pi/4") (assert))
              ("2" (inst + "0") (assert))))
            ("3" (hide-all-but 1) (skosimp*) (assert))))
          ("2" (rewrite "phase_sin_q1" 1))))
        ("2"
         (case "pi/2<=px")
         (("1"
           (hide 1)
           (hide -3 -4 -7 -8)
           (rewrite "sin_q2" 1)
           (("1"
             (lemma "cos_lb" ("px" "px-pi/2"))
             (("1"
               (expand "cos" -1)
               (lemma "floor_0" ("x" "(px - pi / 2) / (2 * pi)"))
               (rewrite "div_mult_pos_le2" -1)
               (rewrite "div_mult_pos_lt1" -1)
               (flatten -1)
               (split -2)
               (("1"
                 (hide -2)
                 (replace -1)
                 (simplify -2)
                 (hide -1)
                 (rewrite "cos_q1" -1)
                 (("1"
                   (case "px - px * px * px / 6 <= 1 - (pi / 2 * (pi / 2) - pi / 2 * px + (px * px - pi / 2 * px)) / 2 ")
                   (("1" (assert))
                    ("2"
                     (hide -1 2)
                     (lemma
                      "identity_derivable_fun[{x:posreal|pi/2<=x&x<pi}]")
                     (("1"
                       (lemma "deriv_id_fun[{x:posreal|pi/2<=x&x<pi}]")
                       (lemma
                        "const_derivable_fun[{x:posreal|pi/2<=x&x<pi}]"
                        ("b" "1 - (pi / 2 * (pi / 2))/2"))
                       (lemma "deriv_const_fun[{x:posreal|pi/2<=x&x<pi}]"
                        ("b" "1 - (pi / 2 * (pi / 2))/2"))
                       (expand "I")
                       (expand "const_fun")
                       (lemma
                        "composition_derivable_fun[{x: posreal | pi / 2 <= x & x < pi},real]"
                        ("f"
                         "LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}): x"
                         "g"
                         "LAMBDA (x_1: real): 1 / 6 * (x_1 * (x_1 * x_1)) - x_1"))
                       (("1"
                         (assert)
                         (expand "o")
                         (lemma
                          "deriv_comp_fun[{x: posreal | pi / 2 <= x & x < pi},real]"
                          ("ff"
                           "LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}): x"
                           "gg"
                           "LAMBDA (x_1: real): 1 / 6 * (x_1 * (x_1 * x_1)) - x_1"))
                         (expand "o")
                         (replace -9)
                         (replace -5)
                         (expand "*")
                         (hide -9 -10)
                         (lemma "scal_derivable_fun"
                          ("f"
                           "LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}): x"
                           "b"
                           "pi/2"))
                         (assert)
                         (expand "*")
                         (lemma "deriv_scal_fun"
                          ("ff"
                           "LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}): x"
                           "b"
                           "pi/2"))
                         (replace -7)
                         (expand "*")
                         (lemma "prod_derivable_fun"
                          ("f1"
                           "(LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}): x)"
                           "f2"
                           "(LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}): x)"))
                         (assert)
                         (expand "*")
                         (lemma "deriv_prod_fun"
                          ("ff1"
                           "(LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}): x)"
                           "ff2"
                           "(LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}): x)"))
                         (replace -9)
                         (expand "*")
                         (expand "+")
                         (lemma "scal_derivable_fun"
                          ("f"
                           "LAMBDA (x_1: {x: posreal | pi / 2 <= x & x < pi}): x_1 * x_1"
                           "b"
                           "1/2"))
                         (assert)
                         (expand "*")
                         (lemma "deriv_scal_fun"
                          ("ff"
                           "LAMBDA (x_1: {x: posreal | pi / 2 <= x & x < pi}): x_1 * x_1"
                           "b"
                           "1/2"))
                         (expand "*")
                         (replace -3 -1)
                         (simplify -1)
                         (lemma "sum_derivable_fun"
                          ("f1"
                           "LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}): 1 - (pi / 2 * (pi / 2)) / 2"
                           "f2"
                           "LAMBDA (x_1: {x: posreal | pi / 2 <= x & x < pi}): pi / 2 * x_1"))
                         (assert)
                         (expand "+")
                         (lemma "deriv_sum_fun"
                          ("ff1"
                           "LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}): 1 - (pi / 2 * (pi / 2)) / 2"
                           "ff2"
                           "LAMBDA (x_1: {x: posreal | pi / 2 <= x & x < pi}): pi / 2 * x_1"))
                         (replace -11)
                         (replace -7)
                         (expand "+")
                         (hide -7 -8 -11 -12)
                         (lemma "diff_derivable_fun"
                          ("f1"
                           "LAMBDA (x_1: {x: posreal | pi / 2 <= x & x < pi}):
                                                                                           1 + pi / 2 * x_1 - (pi / 2 * (pi / 2)) / 2"
                           "f2"
                           "LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}):
                                                                                           1 / 2 * (x * x)"))
                         (assert)
                         (expand "-")
                         (lemma "deriv_diff_fun"
                          ("ff1"
                           "LAMBDA (x_1: {x: posreal | pi / 2 <= x & x < pi}):
                                                                                           1 + pi / 2 * x_1 - (pi / 2 * (pi / 2)) / 2"
                           "ff2"
                           "LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}):
                                                                                           1 / 2 * (x * x)"))
                         (replace -3)
                         (replace -5)
                         (expand "-")
                         (hide -3 -4 -5 -6 -7 -8 -11 -12)
                         (lemma "sum_derivable_fun"
                          ("f1"
                           "LAMBDA (x_1: {x: posreal | pi / 2 <= x & x < pi}):
                                                                                           1 + pi / 2 * x_1 - (pi / 2 * (pi / 2)) / 2 -
                                                                                            1 / 2 * (x_1 * x_1)"
                           "f2"
                           "LAMBDA (x_1: {x: posreal | pi / 2 <= x & x < pi}):
                                                                                           1 / 6 * (x_1 * (x_1 * x_1)) - x_1"))
                         (assert)
                         (expand "+")
                         (lemma "deriv_sum_fun"
                          ("ff1"
                           "LAMBDA (x_1: {x: posreal | pi / 2 <= x & x < pi}):
                                                                                           1 + pi / 2 * x_1 - (pi / 2 * (pi / 2)) / 2 -
                                                                                            1 / 2 * (x_1 * x_1)"
                           "ff2"
                           "LAMBDA (x_1: {x: posreal | pi / 2 <= x & x < pi}):
                                                                                           1 / 6 * (x_1 * (x_1 * x_1)) - x_1"))
                         (replace -3)
                         (replace -5)
                         (expand "+")
                         (hide -3 -4 -5 -6)
                         (lemma
                          "nonneg_derivative[{x: posreal | pi / 2 <= x & x < pi}]"
                          ("g"
                           "(LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}):
                                                                                           1 + 1 / 6 * (x * (x * x)) + pi / 2 * x - x -
                                                                                            (pi / 2 * (pi / 2)) / 2
                                                                                            - 1 / 2 * (x * x))"))
                         (("1"
                           (flatten -1)
                           (hide -1)
                           (split -1)
                           (("1"
                             (hide -2 -3)
                             (expand "increasing?")
                             (inst - "pi/2" "px")
                             (assert)
                             (case "0<=1 + 1 / 6 * (pi / 2 * (pi / 2 * (pi / 2))) + pi / 2 * (pi / 2) -
                                                                                                            (pi / 2 * (pi / 2)) / 2
                                                                                                            - pi / 2
                                                                                                            - 1 / 2 * (pi / 2 * (pi / 2))")
                             (("1" (assert))
                              ("2"
                               (hide-all-but 1)
                               (name "K10" "pi/2")
                               (replace -1)
                               (typepred "pi")
                               (expand "pi_lb")
                               (expand "pi_ub")
                               (hide -1 -2)
                               (simplify 1)
                               (case "1 + 1 / 6 * (K10 * (K10 * K10)) + K10 * K10 - (K10 * K10) / 2 - K10
                                                                                                                   - 1 / 2 * (K10 * K10) = 1 + 1 / 6 * (K10 * (K10 * K10))-K10")
                               (("1"
                                 (replace -1)
                                 (hide -1)
                                 (lemma
                                  "le_times_le_pos"
                                  ("nnx"
                                   "157/100"
                                   "y"
                                   "K10"
                                   "nnz"
                                   "157/100"
                                   "w"
                                   "K10"))
                                 (lemma
                                  "le_times_le_pos"
                                  ("y"
                                   "315/200"
                                   "nnx"
                                   "K10"
                                   "w"
                                   "315/200"
                                   "nnz"
                                   "K10"))
                                 (assert)
                                 (case "1-K10*K10/6 <= 35351/60000")
                                 (("1"
                                   (case "1-K10*K10/6>=0")
                                   (("1"
                                     (lemma
                                      "le_times_le_pos"
                                      ("nnx"
                                       "K10"
                                       "y"
                                       "315/200"
                                       "nnz"
                                       "1 - K10 * K10 / 6"
                                       "w"
                                       "35351 / 60000"))
                                     (assert))
                                    ("2" (assert))))
                                  ("2" (assert))))
                                ("2" (hide 2) (assert))))))
                            ("2"
                             (hide -3 -4 2)
                             (skosimp*)
                             (case "deriv(LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}):
                                                                                                                    1 + 1 / 6 * (x * (x * x)) + pi / 2 * x - x -
                                                                                                                     (pi / 2 * (pi / 2)) / 2
                                                                                                                     - 1 / 2 * (x * x))(x!1) = deriv((LAMBDA (x: {x: posreal | pi / 2 <= x & x < pi}):
                                                                                                                    1 + 1 / 6 * (x * (x * x)) + pi / 2 * x - x -
                                                                                                                     (pi / 2 * (pi / 2)) / 2
                                                                                                                     - 1 / 2 * (x * x)),x!1)")
                             (("1"
                               (replace -2 -1)
                               (replace -1 1 rl)
                               (hide-all-but 1)
                               (simplify)
                               (typepred "x!1")
                               (hide -1 -2)
                               (hide -1)
                               (typepred "pi")
                               (hide -1 -2)
                               (expand "pi_lb")
                               (expand "pi_ub")
                               (assert)
                               (case "x!1*(x!1/2-1) >= -1/2")
                               (("1" (assert))
                                ("2"
                                 (hide 2 -1 -2)
                                 (lemma
                                  "quadratic_ge_0"
                                  ("x"
                                   "x!1"
                                   "a"
                                   "1/2"
                                   "b"
                                   "-1"
                                   "c"
                                   "1/2"))
                                 (expand "sq" -1)
                                 (hide -1 2)
                                 (expand "discr")
                                 (assert)
                                 (expand "sq")
                                 (expand "root")
                                 (expand "discr")
                                 (expand "sq")
                                 (rewrite "sqrt_0")
                                 (assert))))
                              ("2" (expand "deriv" 1 1) (propax))))))
                          ("2" (propax))))
                        ("2"
                         (hide-all-but 1)
                         (skosimp*)
                         (inst + "x!1+2")
                         (assert))))
                      ("2"
                       (hide-all-but 1)
                       (skosimp*)
                       (case "x!1=pi/2")
                       (("1" (inst + "3*pi/4") (assert))
                        ("2" (inst + "pi/2") (assert))))
                      ("3" (hide-all-but 1) (skosimp*) (assert))))))
                  ("2"
                   (rewrite "floor_0" 1)
                   (rewrite "div_mult_pos_le2" 1)
                   (rewrite "div_mult_pos_lt1" 1))))
                ("2" (assert)) ("3" (assert))))
              ("2"
               (expand "<=" -1)
               (split -1)
               (("1" (assert))
                ("2"
                 (replace -1 * rl)
                 (hide-all-but 2)
                 (simplify)
                 (rewrite "cos_value_0")
                 (typepred "pi")
                 (hide -1 -2)
                 (expand "pi_lb")
                 (expand "pi_ub")
                 (lemma "le_times_le_pos"
                  ("nnx"
                   "314/200"
                   "y"
                   "pi/2"
                   "nnz"
                   "314/200"
                   "w"
                   "pi/2"))
                 (assert)
                 (case "1-pi/2*(pi/2)/6 <= 35351/60000")
                 (("1"
                   (lemma "le_times_le_pos"
                    ("nnx"
                     "pi/2"
                     "y"
                     "315/200"
                     "nnz"
                     "1 - pi / 2 * (pi / 2) / 6"
                     "w"
                     "35351 / 60000"))
                   (("1" (assert))
                    ("2"
                     (lemma "le_times_le_pos"
                      ("nnx"
                       "pi/2"
                       "y"
                       "315/200"
                       "nnz"
                       "pi/2"
                       "w"
                       "315/200"))
                     (assert))))
                  ("2" (assert))))))))
            ("2" (rewrite "phase_sin_q2" 1))))
          ("2" (assert))))))
      ("3" (assert))))
    ("2"
     (lemma "pi_bnds")
     (flatten -1)
     (case "pi<=px")
     (("1"
       (case-replace "306 / 100 <= px")
       (("1"
         (mult-ineq -1 -1)
         (assert)
         (div-by -1 "6")
         (case "1-px*px/6<1-306 / 100 * (306 / 100) / 6")
         (("1"
           (mult-by -1 "px")
           (lemma "both_sides_times_neg_lt1"
            ("nz"
             "(1 - 306 / 100 * (306 / 100) / 6)"
             "y"
             "306/100"
             "x"
             "px"))
           (assert))
          ("2" (assert))))
        ("2"
         (assert)
         (hide-all-but (-1 -2 1))
         (name-replace "YY" "306 / 100")
         (assert))))
      ("2" (assert))))))


proof_type: f_proof
decl_type: formula
library: trig
theory: sincos_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (lemma "sin_taylors" ("x" "x!1" "n" "n!1"))
   (skosimp*)
   (replace -1)
   (simplify 1)
   (hide -1)
   (lemma "nderiv_sin_fun" ("n" "3+2*n!1"))
   (flatten)
   (replace -2)
   (simplify 1)
   (rewrite "abs_div")
   (rewrite "abs_mult")
   (expand "abs" 1 3)
   (case "abs(sin(((2 * (n!1 * pi) + 3 * pi) / 2) + c!1)) <= 1")
   (("1"
     (case "abs(x!1 ^ (3 + 2 * n!1)) = 0")
     (("1" (replace -1) (assert))
      ("2"
       (lemma "both_sides_times_pos_le1"
        ("x"
         "abs(sin(((2 * (n!1 * pi) + 3 * pi) / 2) + c!1))"
         "y"
         "1"
         "pz"
         "abs(x!1 ^ (3 + 2 * n!1)) / factorial(3 + 2 * n!1)"))
       (("1" (assert)) ("2" (assert))))))
    ("2"
     (hide-all-but 1)
     (typepred "sin(((2 * (n!1 * pi) + 3 * pi) / 2) + c!1)")
     (name-replace "K1" "sin(((2 * (n!1 * pi) + 3 * pi) / 2) + c!1)")
     (grind))))


proof_type: f_proof
decl_type: formula
library: trig
theory: sincos_def
signature: nil
run_date: Unknown date
run_time: ----
status: unchecked
description: nil
script:
  (""
   (skosimp*)
   (lemma "cos_taylors" ("n" "n!1" "x" "x!1"))
   (skosimp*)
   (replace -1)
   (lemma "nderiv_cos_fun" ("n" "2*n!1+2"))
   (flatten)
   (replace -2)
   (simplify 1)
   (rewrite "abs_div" 1)
   (rewrite "abs_mult" 1)
   (expand "abs" 1 3)
   (case "abs(cos(((2 * (n!1 * pi) + 2 * pi) / 2) + c!1)) <= 1")
   (("1"
     (case "abs(x!1 ^ (2 + 2 * n!1)) = 0")
     (("1" (replace -1) (assert))
      ("2"
       (lemma "both_sides_times_pos_le1"
        ("x"
         "abs(cos(((2 * (n!1 * pi) + 2 * pi) / 2) + c!1))"
         "y"
         "1"
         "pz"
         "abs(x!1 ^ (2 + 2 * n!1)) / factorial(2 + 2 * n!1)"))
       (("1" (assert)) ("2" (assert))))))
    ("2"
     (hide-all-but 1)
     (typepred "cos(((2 * (n!1 * pi) + 2 * pi) / 2) + c!1)")
     (name-replace "K1" "cos(((2 * (n!1 * pi) + 2 * pi) / 2) + c!1)")
     (grind))))


