Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  trig_approx.prf

  Sprache: Lisp
 

(trig_approx
 (sin_term_TCC1 0
  (sin_term_TCC1-1 nil 3320763259
   ("" (skosimp) (("" (assertnil nil)) nil)
   ((mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil))
   shostak))
 (sin_term_next 0
  (sin_term_next-1 nil 3320769270
   ("" (skosimp)
    (("" (expand "sin_term")
      (("" (expand "^")
        (("" (expand "expt" 1 2)
          (("" (expand "expt" 1 2)
            (("" (expand "expt" 1 1)
              ((""
                (name-replace "X"
                 "expt((-1), n!1) * expt(a!1, 1 + 2 * n!1)")
                (("" (rewrite "cross_mult")
                  (("" (expand "factorial" 1 1)
                    (("" (expand "factorial" 1 1)
                      (("" (expand "factorial" 1 5)
                        (("" (typepred "factorial(1+2*n!1)")
                          ((""
                            (name-replace "F" "factorial(1 + 2 * n!1)")
                            (("" (assertnil nil)) nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (int_exp application-judgement "int" exponentiation nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (sin_term const-decl "real" trig_approx nil)
    (expt def-decl "real" exponentiation nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (cross_mult formula-decl nil real_props nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (^ const-decl "real" exponentiation nil)
    (nzreal_expt application-judgement "nzreal" exponentiation nil)
    (int_expt application-judgement "int" exponentiation nil))
   shostak))
 (sin_term_neg 0
  (sin_term_neg-1 nil 3320922359
   ("" (skosimp)
    (("" (expand "sin_term")
      (("" (case-replace "a!1=0")
        (("1" (expand "^")
          (("1" (name-replace "S" "expt((-1), n!1)")
            (("1" (expand "expt") (("1" (assertnil nil)) nil)) nil))
          nil)
         ("2" (lemma "expt_plus" ("i" "1" "j" "2*n!1"))
          (("2" (inst-cp - "a!1")
            (("1" (inst - "-a!1")
              (("1" (replace -1)
                (("1" (replace -2)
                  (("1" (rewrite "expt_x1")
                    (("1" (rewrite "expt_x1")
                      (("1" (lemma "expt_times" ("i" "2" "j" "n!1"))
                        (("1" (inst-cp - "a!1")
                          (("1" (inst - "-a!1")
                            (("1" (case-replace "(-a!1) ^ 2 = a!1 ^ 2")
                              (("1" (assertnil nil)
                               ("2"
                                (hide-all-but (1 2))
                                (("2" (grind) nil nil))
                                nil))
                              nil)
                             ("2" (assertnil nil))
                            nil)
                           ("2" (assertnil nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil)
               ("2" (assertnil nil))
              nil)
             ("2" (assertnil nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((sin_term const-decl "real" trig_approx nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (expt_plus formula-decl nil exponentiation nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (expt_times formula-decl nil exponentiation nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (a!1 skolem-const-decl "real" trig_approx nil)
    (/= const-decl "boolean" notequal nil)
    (^ const-decl "real" exponentiation nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (minus_even_is_even application-judgement "even_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (minus_rat_is_rat application-judgement "rat" rationals nil)
    (nnrat_div_posrat_is_nnrat application-judgement "nonneg_rat"
     rationals nil)
    (nat_expt application-judgement "nat" exponentiation nil)
    (rat_div_nzrat_is_rat application-judgement "rat" rationals nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (int_expt application-judgement "int" exponentiation nil)
    (nzreal_expt application-judgement "nzreal" exponentiation nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (expt def-decl "real" exponentiation nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (int_exp application-judgement "int" exponentiation nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil))
   shostak))
 (sin_terms_alternate 0
  (sin_terms_alternate-1 nil 3320772448
   ("" (skosimp)
    (("" (expand "sin_term")
      (("" (rewrite "div_mult_pos_gt1" 2)
        (("" (rewrite "div_mult_pos_lt1" 2)
          (("" (rewrite "zero_times1")
            (("" (rewrite "expt_plus" 2)
              (("" (rewrite "expt_x1")
                (("" (name-replace "S" "(-1)^n!1")
                  ((""
                    (lemma "both_sides_times_neg_lt1"
                     ("nz" "-1" "x" "S * a!1 ^ (3 + 2 * n!1)" "y" "0"))
                    (("" (replace -1 2)
                      (("" (hide -1)
                        (("" (expand ">")
                          (("" (lemma "trichotomy" ("x" "S"))
                            (("" (split -1)
                              (("1"
                                (lemma
                                 "both_sides_times_pos_lt1"
                                 ("pz" "S" "x" "0"))
                                (("1"
                                  (rewrite "zero_times1" -1)
                                  (("1"
                                    (inst-cp - "a!1 ^ (1 + 2 * n!1)")
                                    (("1"
                                      (assert)
                                      (("1"
                                        (replace -2 2)
                                        (("1"
                                          (inst
                                           -
                                           "a!1 ^ (3 + 2 * n!1)")
                                          (("1"
                                            (replace -1 2)
                                            (("1"
                                              (hide -1 -2)
                                              (("1"
                                                (hide -1)
                                                (("1"
                                                  (expand "^")
                                                  (("1"
                                                    (expand "expt" 2 1)
                                                    (("1"
                                                      (expand
                                                       "expt"
                                                       2
                                                       1)
                                                      (("1"
                                                        (case-replace
                                                         "0 < expt(a!1, (1 + 2 * n!1))")
                                                        (("1"
                                                          (assert)
                                                          (("1"
                                                            (lemma
                                                             "posreal_times_posreal_is_posreal"
                                                             ("px"
                                                              "a!1*a!1"
                                                              "py"
                                                              "expt(a!1, 1 + 2 * n!1)"))
                                                            (("1"
                                                              (assert)
                                                              nil
                                                              nil)
                                                             ("2"
                                                              (hide
                                                               -1
                                                               3)
                                                              (("2"
                                                                (lemma
                                                                 "trichotomy"
                                                                 ("x"
                                                                  "a!1"))
                                                                (("2"
                                                                  (split
                                                                   -1)
                                                                  (("1"
                                                                    (lemma
                                                                     "both_sides_times_pos_lt1"
                                                                     ("pz"
                                                                      "a!1"
                                                                      "x"
                                                                      "0"
                                                                      "y"
                                                                      "a!1"))
                                                                    (("1"
                                                                      (assert)
                                                                      nil
                                                                      nil)
                                                                     ("2"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil)
                                                                   ("2"
                                                                    (assert)
                                                                    nil
                                                                    nil)
                                                                   ("3"
                                                                    (lemma
                                                                     "both_sides_times_neg_lt1"
                                                                     ("nz"
                                                                      "a!1"
                                                                      "x"
                                                                      "0"
                                                                      "y"
                                                                      "a!1"))
                                                                    (("1"
                                                                      (assert)
                                                                      nil
                                                                      nil)
                                                                     ("2"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (assert)
                                                          (("2"
                                                            (case
                                                             "0 <a!1*a!1")
                                                            (("1"
                                                              (lemma
                                                               "both_sides_times_pos_lt1"
                                                               ("pz"
                                                                "a!1*a!1"
                                                                "x"
                                                                "0"
                                                                "y"
                                                                "expt(a!1, 1 + 2 * n!1)"))
                                                              (("1"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil)
                                                             ("2"
                                                              (hide
                                                               -1
                                                               2)
                                                              (("2"
                                                                (lemma
                                                                 "trichotomy"
                                                                 ("x"
                                                                  "a!1"))
                                                                (("2"
                                                                  (split
                                                                   -1)
                                                                  (("1"
                                                                    (lemma
                                                                     "both_sides_times_pos_lt1"
                                                                     ("pz"
                                                                      "a!1"
                                                                      "x"
                                                                      "0"
                                                                      "y"
                                                                      "a!1"))
                                                                    (("1"
                                                                      (assert)
                                                                      nil
                                                                      nil)
                                                                     ("2"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil)
                                                                   ("2"
                                                                    (assert)
                                                                    nil
                                                                    nil)
                                                                   ("3"
                                                                    (lemma
                                                                     "both_sides_times_neg_lt1"
                                                                     ("nz"
                                                                      "a!1"
                                                                      "x"
                                                                      "0"
                                                                      "y"
                                                                      "a!1"))
                                                                    (("1"
                                                                      (assert)
                                                                      nil
                                                                      nil)
                                                                     ("2"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil)
                                 ("2" (assertnil nil))
                                nil)
                               ("2"
                                (expand "S" -1)
                                (("2"
                                  (lemma
                                   "expt_nonzero"
                                   ("n0x" "-1" "i" "n!1"))
                                  (("2" (assertnil nil))
                                  nil))
                                nil)
                               ("3"
                                (lemma
                                 "both_sides_times_neg_lt1"
                                 ("nz" "S" "x" "0"))
                                (("1"
                                  (inst-cp - "a!1 ^ (1 + 2 * n!1)")
                                  (("1"
                                    (inst - "a!1 ^ (3 + 2 * n!1)")
                                    (("1"
                                      (assert)
                                      (("1"
                                        (replace -1)
                                        (("1"
                                          (replace -2)
                                          (("1"
                                            (hide -1 -2 -3)
                                            (("1"
                                              (case "0<a!1*a!1")
                                              (("1"
                                                (expand "^")
                                                (("1"
                                                  (expand "expt" 2 1)
                                                  (("1"
                                                    (expand "expt" 2 1)
                                                    (("1"
                                                      (lemma
                                                       "both_sides_times_pos_lt1"
                                                       ("pz"
                                                        "a!1*a!1"
                                                        "x"
                                                        "expt(a!1, 1 + 2 * n!1)"
                                                        "y"
                                                        "0"))
                                                      (("1"
                                                        (assert)
                                                        (("1"
                                                          (replace
                                                           -1
                                                           2
                                                           rl)
                                                          (("1"
                                                            (rewrite
                                                             "zero_times1")
                                                            (("1"
                                                              (hide
                                                               -1
                                                               -2)
                                                              (("1"
                                                                (case-replace
                                                                 "expt(a!1, 1 + 2 * n!1) * (a!1 * a!1) < 0")
                                                                (("1"
                                                                  (assert)
                                                                  nil
                                                                  nil)
                                                                 ("2"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil)
                                                       ("2"
                                                        (assert)
                                                        nil
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil)
                                               ("2"
                                                (hide 3)
                                                (("2"
                                                  (lemma
                                                   "trichotomy"
                                                   ("x" "a!1"))
                                                  (("2"
                                                    (split -1)
                                                    (("1"
                                                      (lemma
                                                       "both_sides_times_pos_lt1"
                                                       ("pz"
                                                        "a!1"
                                                        "x"
                                                        "0"
                                                        "y"
                                                        "a!1"))
                                                      (("1"
                                                        (assert)
                                                        nil
                                                        nil)
                                                       ("2"
                                                        (assert)
                                                        nil
                                                        nil))
                                                      nil)
                                                     ("2"
                                                      (assert)
                                                      nil
                                                      nil)
                                                     ("3"
                                                      (lemma
                                                       "both_sides_times_neg_lt1"
                                                       ("nz"
                                                        "a!1"
                                                        "x"
                                                        "0"
                                                        "y"
                                                        "a!1"))
                                                      (("1"
                                                        (assert)
                                                        nil
                                                        nil)
                                                       ("2"
                                                        (assert)
                                                        nil
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil)
                                 ("2" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (int_exp application-judgement "int" exponentiation nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (sin_term const-decl "real" trig_approx nil)
    (div_mult_pos_lt1 formula-decl nil real_props nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (expt_plus formula-decl nil exponentiation nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (nzint_times_nzint_is_nzint application-judgement "nzint" integers
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (posreal_times_posreal_is_posreal judgement-tcc nil real_types nil)
    (expt def-decl "real" exponentiation nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (expt_nonzero formula-decl nil exponentiation nil)
    (S skolem-const-decl "int" trig_approx nil)
    (trichotomy formula-decl nil real_axioms nil)
    (negreal nonempty-type-eq-decl nil real_types nil)
    (< const-decl "bool" reals nil)
    (nonpos_real nonempty-type-eq-decl nil real_types nil)
    (<= const-decl "bool" reals nil)
    (both_sides_times_neg_lt1 formula-decl nil real_props nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (zero_times1 formula-decl nil real_props nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (^ const-decl "real" exponentiation nil)
    (/= const-decl "boolean" notequal nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posnat nonempty-type-eq-decl nil integers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (div_mult_pos_gt1 formula-decl nil extra_real_props nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil))
   shostak))
 (sin_term_nonzero 0
  (sin_term_nonzero-1 nil 3320769218
   ("" (expand "sin_term")
    (("" (skosimp*)
      (("" (rewrite "div_cancel3")
        (("" (lemma "expt_nonzero" ("n0x" "-1" "i" "n!1"))
          (("" (split)
            (("1" (flatten)
              (("1" (replace -1)
                (("1" (expand "^" 1 2)
                  (("1" (expand "expt") (("1" (assertnil nil)) nil))
                  nil))
                nil))
              nil)
             ("2" (flatten)
              (("2" (rewrite "zero_times1")
                (("2" (rewrite "zero_times3")
                  (("2"
                    (lemma "expt_nonzero" ("n0x" "a!1" "i" "1+2*n!1"))
                    (("1" (assertnil nil) ("2" (assertnil nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((expt_nonzero formula-decl nil exponentiation nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (zero_times3 formula-decl nil real_props nil)
    (zero_times1 formula-decl nil real_props nil)
    (expt def-decl "real" exponentiation nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (^ const-decl "real" exponentiation nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (div_cancel3 formula-decl nil real_props nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (sin_term const-decl "real" trig_approx nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (int_exp application-judgement "int" exponentiation nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil))
   shostak))
 (sin_term_zero 0
  (sin_term_zero-1 nil 3320924247
   ("" (skosimp)
    (("" (lemma "sin_term_nonzero" ("a" "a!1" "n" "n!1"))
      (("" (assert)
        (("" (split)
          (("1" (flatten) (("1" (assertnil nil)) nil)
           ("2" (flatten) (("2" (assertnil nil)) nil))
          nil))
        nil))
      nil))
    nil)
   ((nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (sin_term_nonzero formula-decl nil trig_approx nil))
   shostak))
 (sin_term_gt0 0
  (sin_term_gt0-1 nil 3320931387
   ("" (expand "sin_term")
    (("" (skosimp)
      (("" (case-replace "a!1=0")
        (("1" (expand "^" 1 2)
          (("1" (expand "expt") (("1" (assertnil nil)) nil)) nil)
         ("2" (rewrite "expt_plus")
          (("2" (rewrite "expt_x1")
            (("2" (rewrite "expt_times")
              (("2" (lemma "expt_pos" ("px" "a!1^2" "i" "n!1"))
                (("1"
                  (lemma "posreal_div_posreal_is_posreal"
                   ("px" "(a!1 ^ 2) ^ n!1" "py"
                    "factorial(1 + 2 * n!1)"))
                  (("1"
                    (lemma "both_sides_times_pos_gt1"
                     ("pz" "(a!1 ^ 2) ^ n!1 / factorial(1 + 2 * n!1)"
                      "x" "(-1)^n!1*a!1" "y" "0"))
                    (("1" (rewrite "zero_times1")
                      (("1" (replace -1 2)
                        (("1" (hide-all-but (1 2))
                          (("1" (case "forall (n:nat): (-1)^(2*n) =1")
                            (("1" (lemma "trichotomy" ("x" "a!1"))
                              (("1"
                                (split -1)
                                (("1"
                                  (assert)
                                  (("1"
                                    (split 2)
                                    (("1"
                                      (flatten)
                                      (("1"
                                        (lemma "even_or_odd")
                                        (("1"
                                          (inst - "n!1")
                                          (("1"
                                            (assert)
                                            (("1"
                                              (hide 1 2)
                                              (("1"
                                                (expand "odd?")
                                                (("1"
                                                  (skosimp)
                                                  (("1"
                                                    (replace -1)
                                                    (("1"
                                                      (rewrite
                                                       "expt_plus")
                                                      (("1"
                                                        (rewrite
                                                         "expt_x1")
                                                        (("1"
                                                          (inst
                                                           -
                                                           "j!1")
                                                          (("1"
                                                            (assert)
                                                            nil
                                                            nil)
                                                           ("2"
                                                            (assert)
                                                            nil
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil)
                                     ("2"
                                      (flatten)
                                      (("2"
                                        (expand "even?")
                                        (("2"
                                          (skosimp)
                                          (("2"
                                            (inst - "j!1")
                                            (("1" (assertnil nil)
                                             ("2" (assertnil nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil)
                                 ("2" (propax) nil nil)
                                 ("3"
                                  (assert)
                                  (("3"
                                    (split 2)
                                    (("1"
                                      (flatten)
                                      (("1"
                                        (lemma
                                         "even_or_odd"
                                         ("x" "n!1"))
                                        (("1"
                                          (assert)
                                          (("1"
                                            (hide 1)
                                            (("1"
                                              (expand "even?")
                                              (("1"
                                                (skosimp)
                                                (("1"
                                                  (inst - "j!1")
                                                  (("1"
                                                    (assert)
                                                    nil
                                                    nil)
                                                   ("2"
                                                    (assert)
                                                    nil
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil)
                                     ("2"
                                      (flatten)
                                      (("2"
                                        (expand "odd?")
                                        (("2"
                                          (skosimp)
                                          (("2"
                                            (replace -1)
                                            (("2"
                                              (rewrite "expt_plus")
                                              (("2"
                                                (rewrite "expt_x1")
                                                (("2"
                                                  (inst - "j!1")
                                                  (("1"
                                                    (assert)
                                                    nil
                                                    nil)
                                                   ("2"
                                                    (assert)
                                                    nil
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (hide-all-but 1)
                              (("2"
                                (skosimp)
                                (("2"
                                  (rewrite "expt_times")
                                  (("2"
                                    (expand "^" 1 1)
                                    (("2"
                                      (expand "expt")
                                      (("2"
                                        (expand "expt")
                                        (("2"
                                          (expand "expt")
                                          (("2"
                                            (rewrite "expt_1i")
                                            nil
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil)
                     ("2" (assertnil nil))
                    nil)
                   ("2" (assertnil nil))
                  nil)
                 ("2" (hide-all-but (1 2))
                  (("2" (lemma "pos_times_lt" ("x" "a!1" "y" "a!1"))
                    (("2" (grind) nil nil)) nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((expt_plus formula-decl nil exponentiation nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (/= const-decl "boolean" notequal nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (expt_times formula-decl nil exponentiation nil)
    (pos_times_lt formula-decl nil real_props nil)
    (posreal_div_posreal_is_posreal judgement-tcc nil real_types nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (factorial def-decl "posnat" factorial "ints/")
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (zero_times1 formula-decl nil real_props nil)
    (expt_1i formula-decl nil exponentiation nil)
    (trichotomy formula-decl nil real_axioms nil)
    (j!1 skolem-const-decl "int" trig_approx nil)
    (j!1 skolem-const-decl "int" trig_approx nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (j!1 skolem-const-decl "int" trig_approx nil)
    (even? const-decl "bool" integers nil)
    (rat_exp application-judgement "rat" exponentiation nil)
    (nzrat_times_nzrat_is_nzrat application-judgement "nzrat" rationals
     nil)
    (j!1 skolem-const-decl "int" trig_approx nil)
    (odd? const-decl "bool" integers nil)
    (even_or_odd formula-decl nil naturalnumbers nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (both_sides_times_pos_gt1 formula-decl nil real_props nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (expt_pos formula-decl nil exponentiation nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (nat_expt application-judgement "nat" exponentiation nil)
    (^ const-decl "real" exponentiation nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (nnrat_div_posrat_is_nnrat application-judgement "nonneg_rat"
     rationals nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (expt def-decl "real" exponentiation nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (sin_term const-decl "real" trig_approx nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (int_exp application-judgement "int" exponentiation nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil))
   shostak))
 (sin_term_lt0 0
  (sin_term_lt0-1 nil 3320932130
   ("" (skosimp)
    (("" (lemma "trichotomy" ("x" "a!1"))
      (("" (split -1)
        (("1" (assert)
          (("1" (lemma "sin_term_gt0" ("a" "a!1" "n" "n!1"))
            (("1" (assert)
              (("1" (rewrite "even_or_odd")
                (("1" (split 1)
                  (("1" (flatten) (("1" (assertnil nil)) nil)
                   ("2" (flatten)
                    (("2" (assert)
                      (("2"
                        (lemma "sin_term_nonzero"
                         ("a" "a!1" "n" "n!1"))
                        (("2" (assertnil nil)) nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil)
         ("2" (replace -1)
          (("2" (assert)
            (("2" (lemma "sin_term_zero" ("a" "0" "n" "n!1"))
              (("2" (assertnil nil)) nil))
            nil))
          nil)
         ("3" (assert)
          (("3" (lemma "sin_term_gt0" ("a" "a!1" "n" "n!1"))
            (("3" (assert)
              (("3" (rewrite "even_or_odd")
                (("3" (split 1)
                  (("1" (flatten) (("1" (assertnil nil)) nil)
                   ("2" (flatten)
                    (("2" (assert)
                      (("2"
                        (lemma "sin_term_nonzero"
                         ("a" "a!1" "n" "n!1"))
                        (("2" (assertnil nil)) nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (trichotomy formula-decl nil real_axioms nil)
    (sin_term_zero formula-decl nil trig_approx nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (sin_term_nonzero formula-decl nil trig_approx nil)
    (even_or_odd formula-decl nil naturalnumbers nil)
    (sin_term_gt0 formula-decl nil trig_approx nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil))
   shostak))
 (sin_tends_to_0 0
  (sin_tends_to_0-1 nil 3320988819
   ("" (skosimp)
    (("" (case-replace "a!1=0")
      (("1" (hide -1)
        (("1" (expand "tends_to_0?")
          (("1" (skosimp)
            (("1" (inst + "0")
              (("1" (skosimp)
                (("1" (expand "sin_term")
                  (("1" (expand "^" 1 2)
                    (("1" (assert)
                      (("1" (expand "expt" 1)
                        (("1" (rewrite "abs_div")
                          (("1" (expand "abs") (("1" (assertnil nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (lemma "exp_tends_to_0" ("n0a" "a!1"))
        (("1" (expand "exp_term")
          (("1" (expand "sin_term")
            (("1" (expand "tends_to_0?")
              (("1" (skosimp*)
                (("1" (inst - "epsilon!1")
                  (("1" (skosimp)
                    (("1" (inst + "1+2*n!1")
                      (("1" (skosimp)
                        (("1" (inst - "1+2*i!1")
                          (("1" (assert)
                            (("1" (rewrite "abs_div")
                              (("1"
                                (rewrite "abs_div")
                                (("1"
                                  (rewrite "abs_mult")
                                  (("1"
                                    (case-replace
                                     "abs((-1) ^ i!1) = 1")
                                    (("1" (assertnil nil)
                                     ("2"
                                      (hide-all-but 1)
                                      (("2"
                                        (case "(-1)^2 =1")
                                        (("1"
                                          (case "even?(i!1)")
                                          (("1"
                                            (expand "even?")
                                            (("1"
                                              (skosimp)
                                              (("1"
                                                (replace -1)
                                                (("1"
                                                  (rewrite
                                                   "expt_times")
                                                  (("1"
                                                    (replace -2)
                                                    (("1"
                                                      (rewrite
                                                       "expt_1i")
                                                      (("1"
                                                        (expand "abs")
                                                        (("1"
                                                          (propax)
                                                          nil
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil)
                                           ("2"
                                            (rewrite "even_or_odd")
                                            (("2"
                                              (expand "odd?")
                                              (("2"
                                                (skosimp)
                                                (("2"
                                                  (replace -1)
                                                  (("2"
                                                    (rewrite
                                                     "expt_plus")
                                                    (("2"
                                                      (rewrite
                                                       "expt_times")
                                                      (("2"
                                                        (replace -2)
                                                        (("2"
                                                          (rewrite
                                                           "expt_x1")
                                                          (("2"
                                                            (rewrite
                                                             "expt_1i")
                                                            (("2"
                                                              (expand
                                                               "abs")
                                                              (("2"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil)
                                         ("2"
                                          (hide 2)
                                          (("2" (grind) nil nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil)
         ("2" (assertnil nil))
        nil))
      nil))
    nil)
   ((number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (tends_to_0? const-decl "bool" exp_term nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (rat_exp application-judgement "rat" exponentiation nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (nnrat_exp application-judgement "nnrat" exponentiation nil)
    (rat_times_rat_is_rat application-judgement "rat" rationals nil)
    (rat_div_nzrat_is_rat application-judgement "rat" rationals nil)
    (sin_term const-decl "real" trig_approx nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (nat_expt application-judgement "nat" exponentiation nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (rat_abs_is_nonneg application-judgement "{r: nonneg_rat | r >= q}"
     real_defs nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (abs_div formula-decl nil real_props nil)
    (nzint_abs_is_pos application-judgement "{j: posint | j >= i}"
     real_defs nil)
    (int_abs_is_nonneg application-judgement "{j: nonneg_int | j >= i}"
     real_defs nil)
    (abs_nat formula-decl nil abs_lems "reals/")
    (expt def-decl "real" exponentiation nil)
    (nnrat_div_posrat_is_nnrat application-judgement "nonneg_rat"
     rationals nil)
    (^ const-decl "real" exponentiation nil)
    (exp_term const-decl "real" exp_term nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (nnreal_div_posreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (abs_mult formula-decl nil real_props nil)
    (nzrat_abs_is_pos application-judgement "{r: posrat | r >= q}"
     real_defs nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (nzreal_expt application-judgement "nzreal" exponentiation nil)
    (int_expt application-judgement "int" exponentiation nil)
    (nzrat_div_nzrat_is_nzrat application-judgement "nzrat" rationals
     nil)
    (nzint_times_nzint_is_nzint application-judgement "nzint" integers
     nil)
    (even? const-decl "bool" integers nil)
    (expt_times formula-decl nil exponentiation nil)
    (expt_1i formula-decl nil exponentiation nil)
    (posrat_exp application-judgement "posrat" exponentiation nil)
    (odd? const-decl "bool" integers nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (nzrat_times_nzrat_is_nzrat application-judgement "nzrat" rationals
     nil)
    (expt_plus formula-decl nil exponentiation nil)
    (even_or_odd formula-decl nil naturalnumbers nil)
    (int_exp application-judgement "int" exponentiation nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (exp_tends_to_0 formula-decl nil exp_term nil)
    (nzreal nonempty-type-eq-decl nil reals nil))
   shostak))
 (cos_term_TCC1 0
  (cos_term_TCC1-1 nil 3320763259
   ("" (skosimp) (("" (assertnil nil)) nil)
   ((mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil))
   shostak))
 (cos_term_next 0
  (cos_term_next-1 nil 3320770358
   ("" (skosimp*)
    (("" (expand "cos_term")
      (("" (case-replace "n!1=0")
        (("1" (assert)
          (("1" (rewrite "expt_x1")
            (("1" (expand "factorial")
              (("1" (expand "factorial")
                (("1" (expand "factorial")
                  (("1" (expand "^")
                    (("1" (expand "expt")
                      (("1" (expand "expt")
                        (("1" (expand "expt") (("1" (grind) nil nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil)
         ("2" (assert)
          (("2" (rewrite "expt_plus" 2)
            (("2" (name-replace "S" "(-1)^n!1")
              (("2" (rewrite "expt_x1")
                (("2" (expand "factorial" 2 1)
                  (("2" (expand "factorial" 2 2)
                    (("2" (expand "factorial" 2 1)
                      (("2" (case-replace "a!1=0")
                        (("1" (expand "^")
                          (("1" (expand "expt")
                            (("1" (assertnil nil)) nil))
                          nil)
                         ("2" (rewrite "expt_plus" 3)
                          (("2" (typepred "factorial(2*n!1)")
                            (("2" (name-replace "F" "factorial(2*n!1)")
                              (("2"
                                (expand "^" 3 1)
                                (("2"
                                  (expand "expt")
                                  (("2"
                                    (expand "expt")
                                    (("2"
                                      (expand "expt")
                                      (("2"
                                        (rewrite "cross_mult")
                                        nil
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((int_exp application-judgement "int" exponentiation nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (cos_term const-decl "real" trig_approx nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (cross_mult formula-decl nil real_props nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (nnrat_div_posrat_is_nnrat application-judgement "nonneg_rat"
     rationals nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (nzint_times_nzint_is_nzint application-judgement "nzint" integers
     nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (expt_plus formula-decl nil exponentiation nil)
    (/= const-decl "boolean" notequal nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (factorial def-decl "posnat" factorial "ints/")
    (expt def-decl "real" exponentiation nil)
    (^ const-decl "real" exponentiation nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil))
   shostak))
 (cos_term_neg 0
  (cos_term_neg-1 nil 3320922908
   ("" (expand "cos_term")
    (("" (skosimp)
      (("" (case-replace "n!1=0")
        (("" (assert)
          (("" (case-replace "a!1=0")
            (("1" (assertnil nil)
             ("2" (lemma "expt_times" ("i" "2" "j" "n!1"))
              (("2" (inst-cp - "a!1")
                (("2" (inst - "-a!1")
                  (("2" (case-replace "(-a!1) ^ 2 = a!1 ^ 2")
                    (("1" (assertnil nil)
                     ("2" (hide-all-but (1 2)) (("2" (grind) nil nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (int_exp application-judgement "int" exponentiation nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (expt_times formula-decl nil exponentiation nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (expt def-decl "real" exponentiation nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (^ const-decl "real" exponentiation nil)
    (/= const-decl "boolean" notequal nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (cos_term const-decl "real" trig_approx nil))
   shostak))
 (cos_terms_alternate 0
  (cos_terms_alternate-1 nil 3320771767
   ("" (skosimp)
    (("" (expand "cos_term")
      (("" (case-replace "n!1=0")
        (("1" (assert)
          (("1" (rewrite "expt_x1")
            (("1" (expand "factorial")
              (("1" (expand "factorial")
                (("1" (expand "factorial")
                  (("1" (case "a!1^2>0")
                    (("1" (assertnil nil)
                     ("2" (hide -1 3)
                      (("2" (lemma "trichotomy" ("x" "a!1"))
                        (("2" (split -1)
                          (("1"
                            (lemma "both_sides_times_pos_lt1"
                             ("pz" "a!1" "x" "0" "y" "a!1"))
                            (("1" (grind) nil nil)
                             ("2" (assertnil nil))
                            nil)
                           ("2" (assertnil nil)
                           ("3"
                            (lemma "both_sides_times_neg_lt1"
                             ("nz" "a!1" "x" "0" "y" "a!1"))
                            (("1" (grind) nil nil)
                             ("2" (assertnil nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil)
         ("2" (assert)
          (("2" (expand "^")
            (("2" (expand "expt" 3 2)
              (("2" (expand "expt" 3 2)
                (("2" (expand "expt" 3 1)
                  (("2"
                    (name-replace "S"
                     "expt((-1), n!1) * expt(a!1, (2 * n!1))")
                    (("2" (case "a!1*a!1>0")
                      (("1" (assert)
                        (("1" (rewrite "div_mult_pos_gt1" 3)
                          (("1" (rewrite "div_mult_pos_lt1" 3)
                            (("1" (rewrite "zero_times1")
                              (("1"
                                (lemma "trichotomy" ("x" "S"))
                                (("1"
                                  (split -1)
                                  (("1"
                                    (assert)
                                    (("1"
                                      (lemma
                                       "both_sides_times_pos_lt1"
                                       ("pz"
                                        "S"
                                        "x"
                                        "-1*(a!1*a!1)"
                                        "y"
                                        "0"))
                                      (("1" (assertnil nil))
                                      nil))
                                    nil)
                                   ("2"
                                    (expand "S" -1)
                                    (("2"
                                      (lemma
                                       "expt_nonzero"
                                       ("n0x" "-1" "i" "n!1"))
                                      (("2"
                                        (lemma
                                         "expt_nonzero"
                                         ("n0x" "a!1" "i" "2*n!1"))
                                        (("2"
                                          (expand "^")
                                          (("2" (assertnil nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil)
                                   ("3"
                                    (lemma
                                     "both_sides_times_neg_lt1"
                                     ("nz"
                                      "S"
                                      "x"
                                      "-1*(a!1*a!1)"
                                      "y"
                                      "0"))
                                    (("1" (assertnil nil)
                                     ("2" (assertnil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil)
                       ("2" (hide 2 4)
                        (("2" (lemma "trichotomy" ("x" "a!1"))
                          (("2" (split -1)
                            (("1"
                              (lemma "both_sides_times_pos_lt1"
                               ("pz" "a!1" "x" "0" "y" "a!1"))
                              (("1" (assertnil nil)
                               ("2" (assertnil nil))
                              nil)
                             ("2" (assertnil nil)
                             ("3"
                              (lemma "both_sides_times_neg_lt1"
                               ("nz" "a!1" "x" "0" "y" "a!1"))
                              (("1" (assertnil nil)
                               ("2" (assertnil nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (int_exp application-judgement "int" exponentiation nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (cos_term const-decl "real" trig_approx nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (div_mult_pos_gt1 formula-decl nil extra_real_props nil)
    (zero_times1 formula-decl nil real_props nil)
    (expt_nonzero formula-decl nil exponentiation nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (S skolem-const-decl "real" trig_approx nil)
    (div_mult_pos_lt1 formula-decl nil real_props nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (nzreal_expt application-judgement "nzreal" exponentiation nil)
    (int_expt application-judgement "int" exponentiation nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (factorial def-decl "posnat" factorial "ints/")
    (expt def-decl "real" exponentiation nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (negreal nonempty-type-eq-decl nil real_types nil)
    (< const-decl "bool" reals nil)
    (nonpos_real nonempty-type-eq-decl nil real_types nil)
    (<= const-decl "bool" reals nil)
    (both_sides_times_neg_lt1 formula-decl nil real_props nil)
    (trichotomy formula-decl nil real_axioms nil)
    (^ const-decl "real" exponentiation nil)
    (/= const-decl "boolean" notequal nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (> const-decl "bool" reals nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil))
   shostak))
 (cos_term_nonzero 0
  (cos_term_nonzero-1 nil 3320924341
   ("" (skosimp)
    (("" (split)
      (("1" (flatten)
        (("1" (replace -1)
          (("1" (expand "cos_term")
            (("1" (assert)
              (("1" (expand "^" 1)
                (("1" (expand "expt") (("1" (assertnil nil)) nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (flatten)
        (("2" (split -1)
          (("1" (replace -1)
            (("1" (expand "cos_term") (("1" (assertnil nil)) nil))
            nil)
           ("2" (assert)
            (("2" (expand "cos_term")
              (("2" (case-replace "n!1=0")
                (("1" (assertnil nil)
                 ("2" (assert)
                  (("2"
                    (lemma "expt_nonzero" ("n0x" "a!1" "i" "2*n!1"))
                    (("2" (assert)
                      (("2"
                        (lemma "expt_nonzero" ("n0x" "-1" "i" "n!1"))
                        (("2"
                          (lemma "div_cancel3"
                           ("x" "(-1) ^ n!1 * a!1 ^ (2 * n!1)" "n0z"
                            "factorial(2 * n!1)" "y" "0"))
                          (("2" (replace -1 -5)
                            (("2" (hide -1)
                              (("2"
                                (rewrite "zero_times3" -4)
                                nil
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (nat_exp application-judgement "nat" exponentiation nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (int_exp application-judgement "int" exponentiation nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (rat_div_nzrat_is_rat application-judgement "rat" rationals nil)
    (expt def-decl "real" exponentiation nil)
    (nnrat_div_posrat_is_nnrat application-judgement "nonneg_rat"
     rationals nil)
    (^ const-decl "real" exponentiation nil)
    (cos_term const-decl "real" trig_approx nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (div_cancel3 formula-decl nil real_props nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (factorial def-decl "posnat" factorial "ints/")
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (zero_times3 formula-decl nil real_props nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (expt_nonzero formula-decl nil exponentiation nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil))
   shostak))
 (cos_term_zero 0
  (cos_term_zero-1 nil 3320924852
   ("" (skosimp)
    (("" (lemma "cos_term_nonzero" ("a" "a!1" "n" "n!1"))
      (("" (split)
        (("1" (flatten)
          (("1" (assert) (("1" (flatten) (("1" (assertnil nil)) nil))
            nil))
          nil)
         ("2" (flatten) (("2" (assertnil nil)) nil))
        nil))
      nil))
    nil)
   ((nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (cos_term_nonzero formula-decl nil trig_approx nil))
   shostak))
 (cos_term_gt0 0
  (cos_term_gt0-1 nil 3320925011
   ("" (skosimp)
    (("" (expand "cos_term")
      (("" (case-replace "n!1=0")
        (("1" (assertnil nil)
         ("2" (assert)
          (("2" (rewrite "div_mult_pos_gt1")
            (("2" (rewrite "zero_times1")
              (("2" (split)
                (("1" (flatten)
                  (("1" (expand ">")
                    (("1" (rewrite "pos_times_lt" -1)
                      (("1" (case-replace "a!1=0")
                        (("1" (expand "^")
                          (("1" (expand "expt")
                            (("1" (propax) nil nil)) nil))
                          nil)
                         ("2" (assert)
                          (("2" (case "a!1^2 > 0")
                            (("1"
                              (lemma "expt_pos"
                               ("px" "a!1^2" "i" "n!1"))
                              (("1"
                                (rewrite "expt_times")
                                (("1"
                                  (assert)
                                  (("1"
                                    (hide -1 -2 1)
                                    (("1"
                                      (rewrite "even_or_odd" 1)
                                      (("1"
                                        (expand "odd?")
                                        (("1"
                                          (skosimp)
                                          (("1"
                                            (replace -2)
                                            (("1"
                                              (hide -2 1)
                                              (("1"
                                                (rewrite "expt_plus")
                                                (("1"
                                                  (rewrite
                                                   "expt_times")
                                                  (("1"
                                                    (rewrite "expt_x1")
                                                    (("1"
                                                      (case-replace
                                                       "(-1) ^ 2 = 1")
                                                      (("1"
                                                        (rewrite
                                                         "expt_1i")
                                                        (("1"
                                                          (assert)
                                                          nil
                                                          nil))
                                                        nil)
                                                       ("2"
                                                        (hide -1)
                                                        (("2"
                                                          (grind)
                                                          nil
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil)
                               ("2" (assertnil nil))
                              nil)
                             ("2" (hide-all-but (1 2))
                              (("2"
                                (expand "^")
                                (("2"
                                  (expand "expt")
                                  (("2"
                                    (expand "expt")
                                    (("2"
                                      (expand "expt")
                                      (("2"
                                        (lemma
                                         "pos_times_lt"
                                         ("x" "a!1" "y" "a!1"))
                                        (("2"
                                          (assert)
                                          (("2"
                                            (flatten)
                                            (("2"
                                              (lemma
                                               "trichotomy"
                                               ("x" "a!1"))
                                              (("2"
                                                (split -1)
                                                (("1" (assertnil nil)
                                                 ("2" (propax) nil nil)
                                                 ("3"
                                                  (assert)
                                                  nil
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (flatten)
                  (("2" (case-replace "(-1)^n!1=1")
                    (("1" (rewrite "expt_times")
                      (("1" (lemma "expt_pos" ("px" "a!1^2" "i" "n!1"))
                        (("1" (propax) nil nil)
                         ("2" (hide-all-but (1 2))
                          (("2" (expand "^")
                            (("2" (expand "expt")
                              (("2"
                                (expand "expt")
                                (("2"
                                  (expand "expt")
                                  (("2"
                                    (lemma
                                     "pos_times_lt"
                                     ("x" "a!1" "y" "a!1"))
                                    (("2"
                                      (assert)
                                      (("2"
                                        (flatten)
                                        (("2"
                                          (lemma
                                           "trichotomy"
                                           ("x" "a!1"))
                                          (("2"
                                            (split -1)
                                            (("1" (assertnil nil)
                                             ("2" (propax) nil nil)
                                             ("3" (assertnil nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil)
                     ("2" (hide-all-but (-1 1))
                      (("2" (expand "even?")
                        (("2" (skosimp)
                          (("2" (replace -1 1)
                            (("2" (hide -1)
                              (("2"
                                (rewrite "expt_times")
                                (("2"
                                  (case-replace "(-1)^2 =1")
                                  (("1" (rewrite "expt_1i"nil nil)
                                   ("2"
                                    (hide 2)
                                    (("2" (grind) nil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((cos_term const-decl "real" trig_approx nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (int_exp application-judgement "int" exponentiation nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (zero_times1 formula-decl nil real_props nil)
    (even? const-decl "bool" integers nil)
    (pos_times_lt formula-decl nil real_props nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (trichotomy formula-decl nil real_axioms nil)
    (expt_pos formula-decl nil exponentiation nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (even_or_odd formula-decl nil naturalnumbers nil)
    (odd_times_odd_is_odd application-judgement "odd_int" integers nil)
    (posrat_exp application-judgement "posrat" exponentiation nil)
    (nnrat_exp application-judgement "nnrat" exponentiation nil)
    (expt_1i formula-decl nil exponentiation nil)
    (nzint_times_nzint_is_nzint application-judgement "nzint" integers
     nil)
    (nzrat_div_nzrat_is_nzrat application-judgement "nzrat" rationals
     nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (nzrat_times_nzrat_is_nzrat application-judgement "nzrat" rationals
     nil)
    (rat_exp application-judgement "rat" exponentiation nil)
    (expt_plus formula-decl nil exponentiation nil)
    (odd? const-decl "bool" integers nil)
    (expt_times formula-decl nil exponentiation nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (expt def-decl "real" exponentiation nil)
    (nat_expt application-judgement "nat" exponentiation nil)
    (nzreal_expt application-judgement "nzreal" exponentiation nil)
    (int_expt application-judgement "int" exponentiation nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (^ const-decl "real" exponentiation nil)
    (/= const-decl "boolean" notequal nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posnat nonempty-type-eq-decl nil integers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (div_mult_pos_gt1 formula-decl nil extra_real_props nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil))
   shostak))
 (cos_term_lt0 0
  (cos_term_lt0-1 nil 3320926707
   ("" (skosimp)
    (("" (expand "cos_term")
      (("" (case-replace "n!1=0")
        (("1" (assert)
          (("1" (expand "odd?") (("1" (propax) nil nil)) nil)) nil)
         ("2" (assert)
          (("2" (case-replace "a!1=0")
            (("1" (assert)
              (("1" (expand "^")
                (("1" (expand "expt") (("1" (assertnil nil)) nil))
                nil))
              nil)
             ("2" (assert)
              (("2" (case "(-1) ^ n!1 < 0 IFF odd?(n!1)")
                (("1"
                  (lemma "both_sides_times_pos_lt1"
                   ("x" "(-1) ^ n!1" "pz"
                    "a!1 ^ (2 * n!1) / factorial(2 * n!1)" "y" "0"))
                  (("1" (replace -2 -1)
                    (("1" (rewrite "zero_times1")
                      (("1" (assert)
                        (("1" (split 3)
                          (("1" (flatten) (("1" (assertnil nil)) nil)
                           ("2" (flatten) (("2" (assertnil nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil)
                   ("2" (case "a!1^2>0")
                    (("1" (lemma "expt_pos" ("px" "a!1^2" "i" "n!1"))
                      (("1" (rewrite "expt_times" 1)
                        (("1" (assert)
                          (("1"
                            (lemma "posreal_div_posreal_is_posreal"
                             ("px" "(a!1 ^ 2) ^ n!1" "py"
                              "factorial(2 * n!1)"))
                            (("1" (assertnil nil)) nil))
                          nil))
                        nil)
                       ("2" (assertnil nil))
                      nil)
                     ("2" (hide-all-but (1 3))
                      (("2"
                        (lemma "pos_times_lt" ("x" "a!1" "y" "a!1"))
                        (("2" (grind) nil nil)) nil))
                      nil))
                    nil))
                  nil)
                 ("2" (hide-all-but 1)
                  (("2" (case "forall (n:nat): (-1)^(2*n) = 1")
                    (("1" (split)
                      (("1" (flatten)
                        (("1" (lemma "even_or_odd")
                          (("1" (inst - "n!1")
                            (("1" (assert)
                              (("1"
                                (hide 1)
                                (("1"
                                  (expand "even?")
                                  (("1"
                                    (skosimp)
                                    (("1"
                                      (inst - "j!1")
                                      (("1" (assertnil nil)
                                       ("2" (assertnil nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil)
                       ("2" (flatten)
                        (("2" (expand "odd?")
                          (("2" (skosimp)
                            (("2" (replace -1)
                              (("2"
                                (rewrite "expt_plus" 1)
                                (("2"
                                  (rewrite "expt_x1" 1)
                                  (("2"
                                    (inst - "j!1")
                                    (("1" (assertnil nil)
                                     ("2" (assertnil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil)
                     ("2" (hide 2)
                      (("2" (skosimp)
                        (("2" (rewrite "expt_times")
                          (("2" (expand "^" 1 1)
                            (("2" (expand "expt")
                              (("2"
                                (expand "expt")
                                (("2"
                                  (expand "expt")
                                  (("2" (rewrite "expt_1i"nil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((cos_term const-decl "real" trig_approx nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (int_exp application-judgement "int" exponentiation nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (expt_1i formula-decl nil exponentiation nil)
    (even_or_odd formula-decl nil naturalnumbers nil)
    (even? const-decl "bool" integers nil)
    (j!1 skolem-const-decl "int" trig_approx nil)
    (rat_exp application-judgement "rat" exponentiation nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (j!1 skolem-const-decl "int" trig_approx nil)
    (nzrat_times_nzrat_is_nzrat application-judgement "nzrat" rationals
     nil)
    (expt_plus formula-decl nil exponentiation nil)
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (factorial def-decl "posnat" factorial "ints/")
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (zero_times1 formula-decl nil real_props nil)
    (pos_times_lt formula-decl nil real_props nil)
    (expt_pos formula-decl nil exponentiation nil)
    (posreal_div_posreal_is_posreal judgement-tcc nil real_types nil)
    (expt_times formula-decl nil exponentiation nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (/= const-decl "boolean" notequal nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (< const-decl "bool" reals nil)
    (IFF const-decl "[bool, bool -> bool]" booleans nil)
    (nat_exp application-judgement "nat" exponentiation nil)
    (rat_div_nzrat_is_rat application-judgement "rat" rationals nil)
    (expt def-decl "real" exponentiation nil)
    (nnrat_div_posrat_is_nnrat application-judgement "nonneg_rat"
     rationals nil)
    (^ const-decl "real" exponentiation nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (odd? const-decl "bool" integers nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil))
   shostak))
 (cos_tends_to_0 0
  (cos_tends_to_0-1 nil 3320988406
   ("" (skosimp)
    (("" (expand "cos_term")
      (("" (lemma "exp_tends_to_0" ("n0a" "n0x!1"))
        (("" (expand "exp_term")
          (("" (expand "tends_to_0?")
            (("" (skosimp*)
              (("" (inst - "epsilon!1")
                (("" (skosimp)
                  (("" (inst + "2*n!1")
                    (("" (skosimp)
                      (("" (inst - "2*i!1")
                        (("" (assert)
                          (("" (case-replace "i!1=0")
                            (("1" (assertnil nil)
                             ("2" (assert)
                              (("2"
                                (rewrite "abs_div")
                                (("2"
                                  (rewrite "abs_div")
                                  (("2"
                                    (rewrite "abs_mult")
                                    (("2"
                                      (case-replace
                                       "abs((-1) ^ i!1) = 1")
                                      (("1" (assertnil nil)
                                       ("2"
                                        (hide-all-but 1)
                                        (("2"
                                          (case "(-1)^2 = 1")
                                          (("1"
                                            (case "even?(i!1)")
                                            (("1"
                                              (expand "even?")
                                              (("1"
                                                (skosimp)
                                                (("1"
                                                  (replace -1)
                                                  (("1"
                                                    (rewrite
                                                     "expt_times")
                                                    (("1"
                                                      (replace -2)
                                                      (("1"
                                                        (rewrite
                                                         "expt_1i")
                                                        (("1"
                                                          (expand
                                                           "abs")
                                                          (("1"
                                                            (propax)
                                                            nil
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2"
                                              (rewrite "even_or_odd")
                                              (("2"
                                                (expand "odd?")
                                                (("2"
                                                  (skosimp)
                                                  (("2"
                                                    (replace -1)
                                                    (("2"
                                                      (rewrite
                                                       "expt_plus")
                                                      (("2"
                                                        (rewrite
                                                         "expt_times")
                                                        (("2"
                                                          (replace -2)
                                                          (("2"
                                                            (rewrite
                                                             "expt_x1")
                                                            (("2"
                                                              (rewrite
                                                               "expt_1i")
                                                              (("2"
                                                                (expand
                                                                 "abs")
                                                                (("2"
                                                                  (propax)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil)
                                           ("2"
                                            (assert)
                                            (("2"
                                              (hide 2)
                                              (("2" (grind) nil nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((cos_term const-decl "real" trig_approx nil)
    (exp_term const-decl "real" exp_term nil)
    (nonzero_abs_is_pos application-judgement "{y: posreal | y >= x}"
     real_defs nil)
    (nzint_abs_is_pos application-judgement "{j: posint | j >= i}"
     real_defs nil)
    (int_abs_is_nonneg application-judgement "{j: nonneg_int | j >= i}"
     real_defs nil)
    (nzrat_abs_is_pos application-judgement "{r: posrat | r >= q}"
     real_defs nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (abs_nat formula-decl nil abs_lems "reals/")
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (int_exp application-judgement "int" exponentiation nil)
    (even_or_odd formula-decl nil naturalnumbers nil)
    (expt_plus formula-decl nil exponentiation nil)
    (nzrat_times_nzrat_is_nzrat application-judgement "nzrat" rationals
     nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (odd? const-decl "bool" integers nil)
    (nnrat_exp application-judgement "nnrat" exponentiation nil)
    (posrat_exp application-judgement "posrat" exponentiation nil)
    (expt_1i formula-decl nil exponentiation nil)
    (expt_times formula-decl nil exponentiation nil)
    (even? const-decl "bool" integers nil)
    (nzreal_expt application-judgement "nzreal" exponentiation nil)
    (int_expt application-judgement "int" exponentiation nil)
    (nzrat_div_nzrat_is_nzrat application-judgement "nzrat" rationals
     nil)
    (nzint_times_nzint_is_nzint application-judgement "nzint" integers
     nil)
    (expt def-decl "real" exponentiation nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (abs_mult formula-decl nil real_props nil)
    (posreal_div_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (abs_div formula-decl nil real_props nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (factorial def-decl "posnat" factorial "ints/")
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (^ const-decl "real" exponentiation nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (tends_to_0? const-decl "bool" exp_term nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (rat_exp application-judgement "rat" exponentiation nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (exp_tends_to_0 formula-decl nil exp_term nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (nzreal nonempty-type-eq-decl nil reals nil))
   shostak))
 (sin_approx_TCC1 0
  (sin_approx_TCC1-1 nil 3403527292 ("" (subtype-tcc) nil nilnil
   nil))
 (sin_approx_a0 0
  (sin_approx_a0-1 nil 3321006684
   ("" (expand "sin_approx")
    (("" (expand "sin_term")
      (("" (expand "^" 1 2)
        (("" (expand "expt")
          (("" (induct "n")
            (("1" (expand "sigma") (("1" (assertnil nil)) nil)
             ("2" (skosimp*)
              (("2" (expand "sigma" 1) (("2" (assertnil nil)) nil))
              nil)
             ("3" (skosimp*) (("3" (assertnil nil)) nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (int_exp application-judgement "int" exponentiation nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (nat_exp application-judgement "nat" exponentiation nil)
    (sin_term const-decl "real" trig_approx nil)
    (expt def-decl "real" exponentiation nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (nnreal_plus_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (sigma_nnreal application-judgement "nnreal" sigma_nat "reals/")
    (factorial_1 formula-decl nil factorial "ints/")
    (sigma_0_neg formula-decl nil sigma_nat "reals/")
    (nat_induction formula-decl nil naturalnumbers nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/= const-decl "boolean" notequal nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (sigma def-decl "real" sigma "reals/")
    (T_high type-eq-decl nil sigma "reals/")
    (T_low type-eq-decl nil sigma "reals/")
    (<= const-decl "bool" reals nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (pred type-eq-decl nil defined_types nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (nnrat_div_posrat_is_nnrat application-judgement "nonneg_rat"
     rationals nil)
    (^ const-decl "real" exponentiation nil)
    (nat_expt application-judgement "nat" exponentiation nil)
    (sin_approx const-decl "real" trig_approx nil))
   shostak))
 (sin_approx_neg 0
  (sin_approx_neg-1 nil 3320921408
   ("" (expand "sin_approx")
    (("" (induct "n")
      (("1" (expand "sigma")
        (("1" (expand "sin_term")
          (("1" (skosimp)
            (("1" (rewrite "expt_x1")
              (("1" (rewrite "expt_x1") (("1" (assertnil nil)) nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (skosimp*)
        (("2" (expand "sigma" 1)
          (("2" (inst - "a!1")
            (("2" (replace -1)
              (("2" (assert)
                (("2" (hide -1)
                  (("2" (expand "sin_term")
                    (("2" (assert)
                      (("2"
                        (case-replace
                         "(-a!1) ^ (3 + 2 * j!1) = - a!1 ^ (3 + 2 * j!1)")
                        (("1" (assertnil nil)
                         ("2" (hide 2)
                          (("2"
                            (lemma "expt_plus" ("i" "1" "j" "2*j!1+2"))
                            (("2" (case-replace "a!1=0")
                              (("1"
                                (expand "^" 1)
                                (("1"
                                  (expand "expt" 1)
                                  (("1" (assertnil nil))
                                  nil))
                                nil)
                               ("2"
                                (inst-cp - "-a!1")
                                (("1"
                                  (inst - "a!1")
                                  (("1"
                                    (rewrite "expt_x1")
                                    (("1"
                                      (rewrite "expt_x1")
                                      (("1"
                                        (replace -1)
                                        (("1"
                                          (replace -2)
                                          (("1"
                                            (hide -1 -2)
                                            (("1"
                                              (lemma
                                               "expt_times"
                                               ("i" "2" "j" "1+j!1"))
                                              (("1"
                                                (inst-cp - "a!1")
                                                (("1"
                                                  (inst - "-a!1")
                                                  (("1"
                                                    (replace -1)
                                                    (("1"
                                                      (replace -2)
                                                      (("1"
                                                        (case-replace
                                                         "(-a!1) ^ 2 = a!1 ^ 2")
                                                        (("1"
                                                          (assert)
                                                          nil
                                                          nil)
                                                         ("2"
                                                          (hide-all-but
                                                           (1 2))
                                                          (("2"
                                                            (expand
                                                             "^")
                                                            (("2"
                                                              (expand
                                                               "expt")
                                                              (("2"
                                                                (expand
                                                                 "expt")
                                                                (("2"
                                                                  (expand
                                                                   "expt")
                                                                  (("2"
                                                                    (assert)
                                                                    nil
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil)
                                                   ("2"
                                                    (assert)
                                                    nil
                                                    nil))
                                                  nil)
                                                 ("2"
                                                  (assert)
                                                  nil
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil)
                                   ("2" (assertnil nil))
                                  nil)
                                 ("2" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("3" (skosimp*) (("3" (assertnil nil)) nil))
      nil))
    nil)
   ((minus_real_is_real application-judgement "real" reals nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (pred type-eq-decl nil defined_types nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (<= const-decl "bool" reals nil)
    (T_low type-eq-decl nil sigma "reals/")
    (T_high type-eq-decl nil sigma "reals/")
    (sigma def-decl "real" sigma "reals/")
    (sin_term const-decl "real" trig_approx nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (int_exp application-judgement "int" exponentiation nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (sigma_0_neg formula-decl nil sigma_nat "reals/")
    (factorial_1 formula-decl nil factorial "ints/")
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (expt def-decl "real" exponentiation nil)
    (minus_even_is_even application-judgement "even_int" integers nil)
    (int_expt application-judgement "int" exponentiation nil)
    (nat_expt application-judgement "nat" exponentiation nil)
    (expt_times formula-decl nil exponentiation nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (odd_minus_odd_is_even application-judgement "even_int" integers
     nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (a!1 skolem-const-decl "real" trig_approx nil)
    (expt_plus formula-decl nil exponentiation nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (/= const-decl "boolean" notequal nil)
    (^ const-decl "real" exponentiation nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (sin_approx const-decl "real" trig_approx nil))
   shostak))
 (sin_approx_next 0
  (sin_approx_next-1 nil 3320919641
   ("" (skosimp)
    (("" (expand "sin_approx")
      (("" (expand "sigma" 1 1)
        (("" (expand "sigma" 1 1)
          (("" (expand "sin_term")
            (("" (expand "^")
              (("" (expand "expt" 1 1)
                (("" (name-replace "S" "expt((-1), 1 + n!1)")
                  (("" (expand "expt" 1 1)
                    (("" (expand "expt" 1 1)
                      (("" (name-replace "AA" "expt(a!1, 3 + 2 * n!1)")
                        (("" (rewrite "div_times")
                          (("" (assert)
                            (("" (expand "factorial" 1 1)
                              ((""
                                (expand "factorial" 1 2)
                                ((""
                                  (expand "factorial" 1 1)
                                  ((""
                                    (name-replace
                                     "DRL100"
                                     "(20 * factorial(3 + 2 * n!1) +
            18 * (factorial(3 + 2 * n!1) * n!1)
            + 4 * (factorial(3 + 2 * n!1) * n!1 * n!1))")
                                    (("" (assertnil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (sin_approx const-decl "real" trig_approx nil)
    (^ const-decl "real" exponentiation nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (div_times formula-decl nil real_props nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (posint nonempty-type-eq-decl nil integers nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (expt def-decl "real" exponentiation nil)
    (nzreal_expt application-judgement "nzreal" exponentiation nil)
    (int_expt application-judgement "int" exponentiation nil)
    (sin_term const-decl "real" trig_approx nil)
    (sigma def-decl "real" sigma "reals/"))
   shostak))
 (sin_approx_eq 0
  (sin_approx_eq-1 nil 3321006162
   ("" (skosimp)
    (("" (lemma "sin_approx_next" ("a" "a!1" "n" "n!1"))
      (("" (replace -2)
        (("" (lemma "div_simp" ("n0x" "(2 * n!1 + 5) * (2 * n!1 + 4)"))
          (("" (replace -1) (("" (assertnil nil)) nil)) nil))
        nil))
      nil))
    nil)
   ((nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (sin_approx_next formula-decl nil trig_approx nil)
    (div_simp formula-decl nil real_props nil)
    (/= const-decl "boolean" notequal nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (odd_minus_odd_is_even application-judgement "even_int" integers
     nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (rat_minus_rat_is_rat application-judgement "rat" rationals nil)
    (posrat_div_posrat_is_posrat application-judgement "posrat"
     rationals nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil))
   shostak))
 (sin_approx_sin 0
  (sin_approx_sin-1 nil 3320991568
   ("" (skosimp)
    (("" (lemma "sin_series" ("x" "a!1" "n" "n!1"))
      (("" (expand "sin_term")
        ((""
          (case "forall (n:nat): sin_series_n(a!1, n) = sin_approx(a!1, n)")
          (("1" (inst - "n!1")
            (("1" (replace -1 -2)
              (("1" (hide -1)
                (("1" (rewrite "abs_div")
                  (("1" (rewrite "abs_mult")
                    (("1" (expand "abs" 1 4)
                      (("1" (case-replace "abs((-1) ^ (1 + n!1)) = 1")
                        (("1" (assertnil nil)
                         ("2" (hide-all-but 1)
                          (("2" (case "(-1)^2 =1")
                            (("1" (case "even?(1+n!1)")
                              (("1"
                                (expand "even?")
                                (("1"
                                  (skosimp)
                                  (("1"
                                    (replace -1)
                                    (("1"
                                      (rewrite "expt_times")
                                      (("1"
                                        (replace -2)
                                        (("1"
                                          (rewrite "expt_1i")
                                          (("1"
                                            (expand "abs")
                                            (("1" (propax) nil nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil)
                               ("2"
                                (rewrite "even_or_odd")
                                (("2"
                                  (expand "odd?")
                                  (("2"
                                    (skosimp)
                                    (("2"
                                      (replace -1)
                                      (("2"
                                        (rewrite "expt_plus")
                                        (("2"
                                          (rewrite "expt_times")
                                          (("2"
                                            (replace -2)
                                            (("2"
                                              (rewrite "expt_1i")
                                              (("2"
                                                (rewrite "expt_x1")
                                                (("2"
                                                  (expand "abs")
                                                  (("2"
                                                    (assert)
                                                    nil
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (hide 2)
                              (("2"
                                (expand "^")
                                (("2"
                                  (expand "expt")
                                  (("2"
                                    (expand "expt")
                                    (("2"
                                      (expand "expt")
                                      (("2" (assertnil nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil)
           ("2" (hide-all-but 1)
            (("2" (expand "sin_series_n")
              (("2" (expand "sin_approx")
                (("2" (expand "sin_term")
                  (("2" (expand "sin_series_term")
                    (("2" (induct "n")
                      (("1" (expand "sigma")
                        (("1" (expand "sigma") (("1" (propax) nil nil))
                          nil))
                        nil)
                       ("2" (skosimp*)
                        (("2" (expand "sigma" 1)
                          (("2" (replace -1 1 rl)
                            (("2" (hide -1)
                              (("2"
                                (lemma
                                 "sigma_eq"
                                 ("low"
                                  "0"
                                  "high"
                                  "j!1"
                                  "F"
                                  "LAMBDA (i: nat):
              IF i > 1 + j!1 THEN 0
              ELSE ((-1) ^ i * a!1 ^ (1 + 2 * i)) / factorial(1 + 2 * i)
              ENDIF"
                                  "G"
                                  "LAMBDA (i: nat):
               IF i > j!1 THEN 0
               ELSE ((-1) ^ i * a!1 ^ (1 + 2 * i)) / factorial(1 + 2 * i)
               ENDIF"))
                                (("2" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil)
                       ("3" (skosimp*) (("3" (assertnil nil)) nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (sin_series formula-decl nil sincos_def nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (sin_series_n const-decl "real" sincos_def nil)
    (sin_approx const-decl "real" trig_approx nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (^ const-decl "real" exponentiation nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (abs_div formula-decl nil real_props nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (nzint_abs_is_pos application-judgement "{j: posint | j >= i}"
     real_defs nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (nnreal_div_posreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (abs_nat formula-decl nil abs_lems "reals/")
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (even_or_odd formula-decl nil naturalnumbers nil)
    (expt_plus formula-decl nil exponentiation nil)
    (nzrat_times_nzrat_is_nzrat application-judgement "nzrat" rationals
     nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (odd? const-decl "bool" integers nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (odd_minus_odd_is_even application-judgement "even_int" integers
     nil)
    (rat_exp application-judgement "rat" exponentiation nil)
    (nnrat_exp application-judgement "nnrat" exponentiation nil)
    (posrat_exp application-judgement "posrat" exponentiation nil)
    (expt_1i formula-decl nil exponentiation nil)
    (expt_times formula-decl nil exponentiation nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (even? const-decl "bool" integers nil)
    (expt def-decl "real" exponentiation nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (abs_mult formula-decl nil real_props nil)
    (pred type-eq-decl nil defined_types nil)
    (<= const-decl "bool" reals nil)
    (T_low type-eq-decl nil sigma "reals/")
    (T_high type-eq-decl nil sigma "reals/")
    (sigma def-decl "real" sigma "reals/")
    (IF const-decl "[boolean, T, T -> T]" if_def nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (sigma_eq formula-decl nil sigma "reals/")
    (sin_series_term const-decl "[nat -> real]" sincos_def nil)
    (sin_term const-decl "real" trig_approx nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (int_exp application-judgement "int" exponentiation nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (sin_range application-judgement "trig_range" trig_basic nil))
   shostak))
 (cos_approx_a0 0
  (cos_approx_a0-1 nil 3321006785
   ("" (expand "cos_approx")
    (("" (expand "cos_term")
      (("" (induct "n")
        (("1" (expand "sigma")
          (("1" (expand "sigma") (("1" (propax) nil nil)) nil)) nil)
         ("2" (skosimp*)
          (("2" (expand "sigma" 1)
            (("2" (expand "^" 1 4)
              (("2" (expand "expt") (("2" (assertnil nil)) nil))
              nil))
            nil))
          nil)
         ("3" (skosimp*) (("3" (assertnil nil)) nil))
        nil))
      nil))
    nil)
   ((cos_term const-decl "real" trig_approx nil)
    (nat_expt application-judgement "nat" exponentiation nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (nnrat_div_posrat_is_nnrat application-judgement "nonneg_rat"
     rationals nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (expt def-decl "real" exponentiation nil)
    (nat_exp application-judgement "nat" exponentiation nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (int_exp application-judgement "int" exponentiation nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (^ const-decl "real" exponentiation nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/= const-decl "boolean" notequal nil)
    (IF const-decl "[boolean, T, T -> T]" if_def nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (sigma def-decl "real" sigma "reals/")
    (T_high type-eq-decl nil sigma "reals/")
    (T_low type-eq-decl nil sigma "reals/")
    (<= const-decl "bool" reals nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (pred type-eq-decl nil defined_types nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (rat_div_nzrat_is_rat application-judgement "rat" rationals nil)
    (cos_approx const-decl "real" trig_approx nil))
   shostak))
 (cos_approx_neg 0
  (cos_approx_neg-1 nil 3320922036
   ("" (expand "cos_approx")
    (("" (induct "n")
      (("1" (expand "sigma")
        (("1" (expand "cos_term")
          (("1" (skosimp*)
            (("1" (expand "sigma") (("1" (propax) nil nil)) nil)) nil))
          nil))
        nil)
       ("2" (skosimp*)
        (("2" (expand "sigma" 1)
          (("2" (inst - "a!1")
            (("2" (replace -1)
              (("2" (assert)
                (("2" (hide -1)
                  (("2" (expand "cos_term")
                    (("2" (case-replace "a!1=0")
                      (("1" (assertnil nil)
                       ("2" (lemma "expt_times" ("i" "2" "j" "1+j!1"))
                        (("2" (inst-cp - "a!1")
                          (("2" (inst - "-a!1")
                            (("2" (case-replace "(-a!1) ^ 2 = a!1 ^ 2")
                              (("1" (assertnil nil)
                               ("2"
                                (hide-all-but (1 2))
                                (("2" (grind) nil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((minus_real_is_real application-judgement "real" reals nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (pred type-eq-decl nil defined_types nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (<= const-decl "bool" reals nil)
    (T_low type-eq-decl nil sigma "reals/")
    (T_high type-eq-decl nil sigma "reals/")
    (sigma def-decl "real" sigma "reals/")
    (cos_term const-decl "real" trig_approx nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (int_exp application-judgement "int" exponentiation nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (^ const-decl "real" exponentiation nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (expt def-decl "real" exponentiation nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (expt_times formula-decl nil exponentiation nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (cos_approx const-decl "real" trig_approx nil))
   shostak))
 (cos_approx_cos 0
  (cos_approx_cos-1 nil 3320992237
   ("" (skosimp)
    (("" (lemma "cos_series" ("x" "a!1" "n" "n!1"))
      (("" (expand "cos_term")
        (("" (rewrite "abs_div")
          (("" (expand "abs" 1 3)
            (("" (rewrite "abs_mult")
              (("" (case-replace "abs((-1)^(1+n!1))=1")
                (("1"
                  (case "forall (n:nat): cos_series_n(a!1, n) = cos_approx(a!1, n)")
                  (("1" (inst - "n!1") (("1" (assertnil nil)) nil)
                   ("2" (hide-all-but 1)
                    (("2" (expand "cos_approx")
                      (("2" (expand "cos_series_n")
                        (("2" (expand "cos_series_term")
                          (("2" (expand "cos_term")
                            (("2" (induct "n")
                              (("1"
                                (expand "sigma")
                                (("1"
                                  (expand "sigma")
                                  (("1" (propax) nil nil))
                                  nil))
                                nil)
                               ("2"
                                (skosimp*)
                                (("2"
                                  (expand "sigma" 1)
                                  (("2"
                                    (replace -1 1 rl)
                                    (("2"
                                      (hide -1)
                                      (("2"
                                        (lemma
                                         "sigma_eq"
                                         ("low"
                                          "0"
                                          "high"
                                          "j!1"
                                          "F"
                                          "LAMBDA (i: nat):
              IF i > 1 + j!1 THEN 0
              ELSE IF i = 0 THEN 1
                   ELSE (-1) ^ i * a!1 ^ (2 * i) / factorial(2 * i)
                   ENDIF
              ENDIF"
                                          "G"
                                          "LAMBDA (i: nat):
               IF i > j!1 THEN 0
               ELSE IF i = 0 THEN 1
                    ELSE (-1) ^ i * a!1 ^ (2 * i) / factorial(2 * i)
                    ENDIF
               ENDIF"))
                                        (("2" (assertnil nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil)
                               ("3"
                                (skosimp*)
                                (("3" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (hide-all-but 1)
                  (("2" (case "(-1)^2=1")
                    (("1" (case "even?(1+n!1)")
                      (("1" (expand "even?")
                        (("1" (skosimp)
                          (("1" (replace -1)
                            (("1" (rewrite "expt_times")
                              (("1"
                                (replace -2)
                                (("1"
                                  (rewrite "expt_1i")
                                  (("1"
                                    (expand "abs")
                                    (("1" (propax) nil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil)
                       ("2" (rewrite "even_or_odd")
                        (("2" (expand "odd?")
                          (("2" (skosimp*)
                            (("2" (replace -1)
                              (("2"
                                (rewrite "expt_plus")
                                (("2"
                                  (rewrite "expt_times")
                                  (("2"
                                    (rewrite "expt_x1")
                                    (("2"
                                      (replace -2)
                                      (("2"
                                        (rewrite "expt_1i")
                                        (("2"
                                          (expand "abs")
                                          (("2" (assertnil nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil)
                     ("2" (hide 2)
                      (("2" (expand "^")
                        (("2" (expand "expt")
                          (("2" (expand "expt")
                            (("2" (expand "expt")
                              (("2" (assertnil nil)) nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (cos_series formula-decl nil sincos_def nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (^ const-decl "real" exponentiation nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (abs_div formula-decl nil real_props nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (int_exp application-judgement "int" exponentiation nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (nzint_abs_is_pos application-judgement "{j: posint | j >= i}"
     real_defs nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (nnreal_div_posreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (abs_nat formula-decl nil abs_lems "reals/")
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (sigma_eq formula-decl nil sigma "reals/")
    (NOT const-decl "[bool -> bool]" booleans nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (pred type-eq-decl nil defined_types nil)
    (<= const-decl "bool" reals nil)
    (T_low type-eq-decl nil sigma "reals/")
    (T_high type-eq-decl nil sigma "reals/")
    (sigma def-decl "real" sigma "reals/")
    (IF const-decl "[boolean, T, T -> T]" if_def nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (cos_series_term const-decl "[nat -> real]" sincos_def nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (cos_approx const-decl "real" trig_approx nil)
    (cos_series_n const-decl "real" sincos_def nil)
    (even_or_odd formula-decl nil naturalnumbers nil)
    (expt_plus formula-decl nil exponentiation nil)
    (nzrat_times_nzrat_is_nzrat application-judgement "nzrat" rationals
     nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (odd? const-decl "bool" integers nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (odd_minus_odd_is_even application-judgement "even_int" integers
     nil)
    (rat_exp application-judgement "rat" exponentiation nil)
    (nnrat_exp application-judgement "nnrat" exponentiation nil)
    (posrat_exp application-judgement "posrat" exponentiation nil)
    (expt_1i formula-decl nil exponentiation nil)
    (expt_times formula-decl nil exponentiation nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (even? const-decl "bool" integers nil)
    (expt def-decl "real" exponentiation nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (abs_mult formula-decl nil real_props nil)
    (cos_term const-decl "real" trig_approx nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (cos_range application-judgement "trig_range" trig_basic nil))
   shostak))
 (cos_approx_next 0
  (cos_approx_next-1 nil 3320919986
   ("" (skosimp)
    (("" (expand "cos_approx")
      (("" (expand "sigma" 1 1)
        (("" (expand "sigma" 1 1)
          (("" (expand "cos_term")
            (("" (expand "^")
              (("" (expand "expt" 1 1)
                (("" (name-replace "S" "expt((-1), 1 + n!1)")
                  (("" (expand "expt" 1 1)
                    (("" (expand "expt" 1 1)
                      (("" (name-replace "AA" "expt(a!1, 2 + 2 * n!1)")
                        (("" (expand "factorial" 1 1)
                          (("" (expand "factorial" 1 2)
                            (("" (expand "factorial" 1 1)
                              ((""
                                (rewrite "div_times")
                                (("" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (cos_approx const-decl "real" trig_approx nil)
    (^ const-decl "real" exponentiation nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (div_times formula-decl nil real_props nil)
    (/= const-decl "boolean" notequal nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (expt def-decl "real" exponentiation nil)
    (nzreal_expt application-judgement "nzreal" exponentiation nil)
    (int_expt application-judgement "int" exponentiation nil)
    (cos_term const-decl "real" trig_approx nil)
    (sigma def-decl "real" sigma "reals/"))
   shostak))
 (cos_approx_eq 0
  (cos_approx_eq-1 nil 3321006042
   ("" (skosimp*)
    (("" (lemma "cos_approx_next" ("a" "a!1" "n" "n!1"))
      (("" (replace -2 -1)
        (("" (lemma "div_simp" ("n0x" "(2 * n!1 + 4) * (2 * n!1 + 3)"))
          (("" (replace -1) (("" (assertnil nil)) nil)) nil))
        nil))
      nil))
    nil)
   ((nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (cos_approx_next formula-decl nil trig_approx nil)
    (div_simp formula-decl nil real_props nil)
    (/= const-decl "boolean" notequal nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (odd_minus_odd_is_even application-judgement "even_int" integers
     nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (rat_minus_rat_is_rat application-judgement "rat" rationals nil)
    (posrat_div_posrat_is_posrat application-judgement "posrat"
     rationals nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil))
   shostak))
 (sin_lb_neg 0
  (sin_lb_neg-1 nil 3321098562
   ("" (expand "sin_lb")
    (("" (expand "sin_ub")
      (("" (skosimp)
        (("" (lemma "trichotomy" ("x" "a!1"))
          (("" (split -1)
            (("1" (assert) (("1" (rewrite "sin_approx_neg"nil nil))
              nil)
             ("2" (replace -1)
              (("2" (assert)
                (("2" (rewrite "sin_approx_a0")
                  (("2" (rewrite "sin_approx_a0")
                    (("2" (assertnil nil)) nil))
                  nil))
                nil))
              nil)
             ("3" (assert) (("3" (rewrite "sin_approx_neg"nil nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((sin_ub const-decl "real" trig_approx nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (trichotomy formula-decl nil real_axioms nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (sin_approx_a0 formula-decl nil trig_approx nil)
    (minus_even_is_even application-judgement "even_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (sin_approx_neg formula-decl nil trig_approx nil)
    (sin_lb const-decl "real" trig_approx nil))
   shostak))
 (sin_ub_neg 0
  (sin_ub_neg-1 nil 3321098748
   ("" (skosimp)
    (("" (lemma "sin_lb_neg" ("a" "-a!1" "n" "n!1"))
      (("" (assertnil nil)) nil))
    nil)
   ((nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (sin_lb_neg formula-decl nil trig_approx nil)
    (minus_real_is_real application-judgement "real" reals nil))
   shostak))
 (sin_lb_a0 0
  (sin_lb_a0-1 nil 3321123319
   ("" (expand "sin_lb")
    (("" (skosimp) (("" (rewrite "sin_approx_a0"nil nil)) nil)) nil)
   ((* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (sin_approx_a0 formula-decl nil trig_approx nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (sin_lb const-decl "real" trig_approx nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil))
   shostak))
 (sin_ub_a0 0
  (sin_ub_a0-1 nil 3321123338
   ("" (expand "sin_ub")
    (("" (skosimp) (("" (rewrite "sin_approx_a0"nil nil)) nil)) nil)
   ((* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (sin_approx_a0 formula-decl nil trig_approx nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (sin_ub const-decl "real" trig_approx nil))
   shostak))
 (sin_lb_ub 0
  (sin_lb_ub-2 nil 3321626202
   ("" (skosimp)
    (("" (expand "sin_lb")
      (("" (expand "sin_ub")
        (("" (lift-if)
          (("" (case-replace "n0x!1 < 0")
            (("1" (expand "sin_approx")
              (("1" (expand "sigma" 1 2)
                (("1"
                  (lemma "sin_term_gt0" ("a" "n0x!1" "n" "1+2*n!1"))
                  (("1" (assertnil nil)) nil))
                nil))
              nil)
             ("2" (assert)
              (("2" (expand "sin_approx")
                (("2" (expand "sigma" 2 1)
                  (("2"
                    (lemma "sin_term_lt0" ("a" "n0x!1" "n" "1+2*n!1"))
                    (("2" (assertnil nil)) nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((sin_lb const-decl "real" trig_approx nil)
    (sin_term_lt0 formula-decl nil trig_approx nil)
    (sin_approx const-decl "real" trig_approx nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (sin_term_gt0 formula-decl nil trig_approx nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (sigma def-decl "real" sigma "reals/")
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (< const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (sin_ub const-decl "real" trig_approx nil))
   nil))
 (sin_lb_inc 0
  (sin_lb_inc-1 nil 3321007393
   (""
    (case "FORALL (n: nat, px: posreal):
        px * px < (4 * n + 7) * (4 * n + 6) =>
         sin_lb(px, n) < sin_lb(px, n + 1)")
    (("1" (induct "pm" 1)
      (("1" (assertnil nil) ("2" (assertnil nil)
       ("3" (skosimp*)
        (("3" (case-replace "j!1=0")
          (("1" (inst - "n!1" "px!1") (("1" (assertnil nil)) nil)
           ("2" (inst - "n!1" "px!1")
            (("2" (assert)
              (("2" (inst - "1+n!1" "px!1") (("2" (assertnil nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil)
     ("2" (hide 2)
      (("2" (skosimp)
        (("2" (expand "sin_lb")
          (("2" (lemma "sin_approx_next" ("a" "px!1" "n" "1+2*n!1"))
            (("2"
              (lemma "div_mult_pos_lt1"
               ("z" "px!1 * px!1" "py" "(4 * n!1 + 7) * (4 * n!1 + 6)"
                "x" "1"))
              (("2" (replace -1 -3 rl)
                (("2" (hide -1)
                  (("2"
                    (name-replace "TT"
                     "px!1 * px!1 / ((4 * n!1 + 7) * (4 * n!1 + 6))")
                    (("2"
                      (lemma "sin_term_gt0"
                       ("a" "px!1" "n" "2*(1+n!1)"))
                      (("2" (assert)
                        (("2"
                          (name-replace "ST"
                           "sin_term(px!1)(2 + 2 * n!1)")
                          (("2"
                            (lemma "both_sides_times_pos_lt1"
                             ("pz" "ST" "x" "0" "y" "1-TT"))
                            (("1" (assertnil nil)
                             ("2" (assertnil nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((div_mult_pos_lt1 formula-decl nil real_props nil)
    (sin_term_gt0 formula-decl nil trig_approx nil)
    (sin_term const-decl "real" trig_approx nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (odd_plus_odd_is_even application-judgement "even_int" integers
     nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (posreal_div_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (/= const-decl "boolean" notequal nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (sin_approx_next formula-decl nil trig_approx nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (pred type-eq-decl nil defined_types nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (< const-decl "bool" reals nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (sin_lb const-decl "real" trig_approx nil))
   shostak))
 (sin_ub_dec 0
  (sin_ub_dec-2 nil 3321626241
   (""
    (case "FORALL (n: nat, px: posreal):
               px * px < (4 * n + 5) * (4 * n + 4) =>
                sin_ub(px, n + 1) < sin_ub(px, n)")
    (("1" (induct "pm")
      (("1" (assertnil nil) ("2" (assertnil nil)
       ("3" (skosimp*)
        (("3" (case-replace "j!1=0")
          (("1" (inst - "n!1" "px!1") (("1" (assertnil nil)) nil)
           ("2" (inst - "n!1" "px!1")
            (("2" (assert)
              (("2" (inst - "n!1+1" "px!1") (("2" (assertnil nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil)
     ("2" (hide 2)
      (("2" (skosimp)
        (("2" (expand "sin_ub")
          (("2" (lemma "sin_approx_next" ("a" "px!1" "n" "2*n!1"))
            (("2"
              (lemma "div_mult_pos_lt1"
               ("z" "px!1 * px!1" "py" "(4 * n!1 + 5) * (4 * n!1 + 4)"
                "x" "1"))
              (("2"
                (name-replace "TT"
                 "px!1 * px!1 / ((4 * n!1 + 5) * (4 * n!1 + 4))")
                (("2" (assert)
                  (("2" (hide -3)
                    (("2"
                      (lemma "sin_term_lt0" ("a" "px!1" "n" "1+2*n!1"))
                      (("2" (assert)
                        (("2"
                          (name-replace "ST"
                           "sin_term(px!1)(1 + 2 * n!1)")
                          (("2"
                            (lemma "both_sides_times_neg_lt1"
                             ("nz" "ST" "y" "0" "x" "1-TT"))
                            (("1" (assertnil nil)
                             ("2" (assertnil nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((div_mult_pos_lt1 formula-decl nil real_props nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (sin_term_lt0 formula-decl nil trig_approx nil)
    (sin_term const-decl "real" trig_approx nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (negreal nonempty-type-eq-decl nil real_types nil)
    (nonpos_real nonempty-type-eq-decl nil real_types nil)
    (<= const-decl "bool" reals nil)
    (both_sides_times_neg_lt1 formula-decl nil real_props nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (posreal_div_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (/= const-decl "boolean" notequal nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (sin_approx_next formula-decl nil trig_approx nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (pred type-eq-decl nil defined_types nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (< const-decl "bool" reals nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (sin_ub const-decl "real" trig_approx nil))
   nil))
 (sin_lb_lt 0
  (sin_lb_lt-1 nil 3321014972
   ("" (skosimp)
    (("" (name "EPS" "sin_ub(px!1,n!1+1) - sin_lb(px!1,n!1)")
      (("" (case "sin_term(px!1)(2*(n!1+1)) = EPS")
        (("1" (lemma "sin_term_gt0" ("a" "px!1" "n" "2*(n!1+1)"))
          (("1" (replace -2)
            (("1" (simplify -1)
              (("1" (lemma "sin_approx_sin" ("a" "px!1"))
                (("1" (expand "sin_lb")
                  (("1" (expand "sin_ub")
                    (("1"
                      (name-replace "SN"
                       "sin_approx(px!1, 1 + 2 * n!1)")
                      (("1" (inst - "2*(n!1+1)")
                        (("1"
                          (name-replace "SN2"
                           "sin_approx(px!1, 2 * (n!1 + 1))")
                          (("1" (rewrite "sin_term_next" -1)
                            (("1" (replace -3)
                              (("1"
                                (name-replace
                                 "M"
                                 "(4 * n!1 + 7) * (4 * n!1 + 6)")
                                (("1"
                                  (rewrite "abs_div")
                                  (("1"
                                    (rewrite "abs_mult")
                                    (("1"
                                      (rewrite "abs_mult")
                                      (("1"
                                        (rewrite "abs_mult")
                                        (("1"
                                          (expand "abs" -1)
                                          (("1"
                                            (assert)
                                            (("1"
                                              (lemma
                                               "div_mult_pos_lt1"
                                               ("z"
                                                "px!1*px!1"
                                                "py"
                                                "M"
                                                "x"
                                                "1"))
                                              (("1"
                                                (assert)
                                                (("1"
                                                  (lemma
                                                   "both_sides_times_pos_lt1"
                                                   ("pz"
                                                    "EPS"
                                                    "x"
                                                    "px!1 * px!1 / M"
                                                    "y"
                                                    "1"))
                                                  (("1"
                                                    (assert)
                                                    nil
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil)
         ("2" (hide 2 -2)
          (("2" (expand "sin_ub")
            (("2" (expand "sin_lb")
              (("2" (expand "sin_approx")
                (("2" (expand "sigma" -1 1) (("2" (assertnil nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((sin_lb const-decl "real" trig_approx nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (sin_ub const-decl "real" trig_approx nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (sigma def-decl "real" sigma "reals/")
    (sin_term_gt0 formula-decl nil trig_approx nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (sin_approx const-decl "real" trig_approx nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (abs_div formula-decl nil real_props nil)
    (nzint_abs_is_pos application-judgement "{j: posint | j >= i}"
     real_defs nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (nnreal_div_posreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (abs_nat formula-decl nil abs_lems "reals/")
    (nonzero_abs_is_pos application-judgement "{y: posreal | y >= x}"
     real_defs nil)
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (div_mult_pos_lt1 formula-decl nil real_props nil)
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (posreal_div_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (minus_nzint_is_nzint application-judgement "nzint" integers nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (abs_mult formula-decl nil real_props nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (posint nonempty-type-eq-decl nil integers nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (sin_term_next formula-decl nil trig_approx nil)
    (sin_approx_sin formula-decl nil trig_approx nil)
    (sin_range application-judgement "trig_range" trig_basic nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (sin_term const-decl "real" trig_approx nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil))
   shostak))
 (sin_ub_lt 0
  (sin_ub_lt-1 nil 3321016985
   ("" (skosimp)
    (("" (lemma "sin_ub_dec" ("px" "px!1" "n" "n!1" "pm" "1"))
      (("" (replace -2)
        (("" (lemma "sin_lb_ub" ("n0x" "px!1" "n" "n!1+1"))
          (("" (expand "sin_lb")
            (("" (lemma "sin_approx_sin" ("a" "px!1" "n" "3+2*n!1"))
              (("" (lemma "sin_term_neg" ("a" "px!1" "n" "3+2*n!1"))
                (("" (simplify -1)
                  (("" (name-replace "S" "sin(px!1)")
                    ((""
                      (case "sin_ub(px!1, 1 + n!1) - sin_approx(px!1, 3 + 2 * n!1) = -sin_term(px!1)(3+2*n!1)")
                      (("1" (name-replace "SN" "sin_ub(px!1, n!1)")
                        (("1"
                          (name-replace "SN1" "sin_ub(px!1, n!1+1)")
                          (("1"
                            (name-replace "SN3"
                             "sin_approx(px!1, 2*n!1+3)")
                            (("1" (rewrite "sin_term_next" -3)
                              (("1"
                                (name-replace
                                 "ST"
                                 "sin_term(px!1)(3 + 2 * n!1)")
                                (("1"
                                  (rewrite "abs_div")
                                  (("1"
                                    (rewrite "abs_mult")
                                    (("1"
                                      (rewrite "abs_mult")
                                      (("1"
                                        (rewrite "abs_mult")
                                        (("1"
                                          (expand "abs" -3)
                                          (("1"
                                            (assert)
                                            (("1"
                                              (lemma
                                               "div_mult_pos_lt1"
                                               ("z"
                                                "px!1*px!1"
                                                "py"
                                                "72 + 36 * n!1 + (16 * (n!1 * n!1) + 32 * n!1)"
                                                "x"
                                                "1"))
                                              (("1"
                                                (lemma
                                                 "both_sides_times_pos_lt1"
                                                 ("pz"
                                                  "-ST"
                                                  "x"
                                                  "px!1 * px!1 / (72 + 36 * n!1 + (16 * (n!1 * n!1) + 32 * n!1))"
                                                  "y"
                                                  "1"))
                                                (("1"
                                                  (assert)
                                                  nil
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil)
                       ("2" (hide-all-but 1)
                        (("2" (expand "sin_ub")
                          (("2" (expand "sin_approx")
                            (("2" (expand "sigma" 1 2)
                              (("2" (assertnil nil)) nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((posreal nonempty-type-eq-decl nil real_types nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (sin_ub_dec formula-decl nil trig_approx nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (sin_lb_ub formula-decl nil trig_approx nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (sin_range application-judgement "trig_range" trig_basic nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (sin_approx_sin formula-decl nil trig_approx nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (minus_nzreal_is_nzreal application-judgement "nzreal" real_types
     nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (sin_ub const-decl "real" trig_approx nil)
    (sin_approx const-decl "real" trig_approx nil)
    (sin_term const-decl "real" trig_approx nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (sin_term_next formula-decl nil trig_approx nil)
    (odd_minus_odd_is_even application-judgement "even_int" integers
     nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (abs_div formula-decl nil real_props nil)
    (nzint_abs_is_pos application-judgement "{j: posint | j >= i}"
     real_defs nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (nnreal_div_posreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (abs_nat formula-decl nil abs_lems "reals/")
    (nonzero_abs_is_pos application-judgement "{y: posreal | y >= x}"
     real_defs nil)
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (div_mult_pos_lt1 formula-decl nil real_props nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (posreal_div_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (minus_nzint_is_nzint application-judgement "nzint" integers nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (abs_mult formula-decl nil real_props nil)
    (sigma def-decl "real" sigma "reals/")
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (sin const-decl "real" trig_basic nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (<= const-decl "bool" reals nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (trig_range type-eq-decl nil trig_basic nil)
    (sin_term_neg formula-decl nil trig_approx nil)
    (sin_lb const-decl "real" trig_approx nil))
   shostak))
 (sin_lb_gt 0
  (sin_lb_gt-1 nil 3321010974
   ("" (induct "n")
    (("1" (skosimp)
      (("1" (expand "sin_lb")
        (("1" (expand "sin_approx")
          (("1" (expand "sigma")
            (("1" (expand "sin_term")
              (("1" (expand "sigma")
                (("1" (rewrite "expt_x0")
                  (("1" (rewrite "expt_x1")
                    (("1" (rewrite "expt_x1")
                      (("1" (expand "factorial")
                        (("1" (expand "factorial")
                          (("1" (expand "factorial")
                            (("1" (expand "factorial")
                              (("1"
                                (assert)
                                (("1"
                                  (case "px!1<=6")
                                  (("1"
                                    (lemma
                                     "le_times_le_pos"
                                     ("nnx"
                                      "px!1"
                                      "y"
                                      "6"
                                      "nnz"
                                      "px!1"
                                      "w"
                                      "6"))
                                    (("1" (assertnil nil))
                                    nil)
                                   ("2"
                                    (case "6<px!1")
                                    (("1"
                                      (hide 1)
                                      (("1"
                                        (case "1-px!1*px!1/6 < -6")
                                        (("1"
                                          (lemma
                                           "both_sides_times_pos_lt1"
                                           ("pz"
                                            "px!1"
                                            "x"
                                            "1 - px!1 * px!1 / 6"
                                            "y"
                                            "-6"))
                                          (("1"
                                            (assert)
                                            (("1"
                                              (expand "^")
                                              (("1"
                                                (expand "expt")
                                                (("1"
                                                  (expand "expt")
                                                  (("1"
                                                    (expand "expt")
                                                    (("1"
                                                      (expand "expt")
                                                      (("1"
                                                        (assert)
                                                        (("1"
                                                          (expand
                                                           "sigma")
                                                          (("1"
                                                            (assert)
                                                            nil
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil)
                                         ("2"
                                          (hide 2)
                                          (("2"
                                            (lemma
                                             "both_sides_div_pos_lt1"
                                             ("pz"
                                              "6"
                                              "x"
                                              "42"
                                              "y"
                                              "px!1*px!1"))
                                            (("2" (assertnil nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil)
                                     ("2" (assertnil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil)
     ("2" (skosimp*)
      (("2" (inst - "px!1")
        (("2" (assert)
          (("2" (expand "sin_lb")
            (("2" (lemma "sin_approx_next" ("a" "px!1" "n" "1+2*j!1"))
              (("2"
                (lemma "div_mult_pos_gt1"
                 ("z" "px!1*px!1" "py"
                  "110 + 44 * j!1 + (16 * (j!1 * j!1) + 40 * j!1)" "x"
                  "1"))
                (("2" (assert)
                  (("2"
                    (name-replace "SN" "sin_approx(px!1, 1 + 2 * j!1)")
                    (("2"
                      (name-replace "SN2"
                       "sin_approx(px!1, 3 + 2 * j!1)")
                      (("2"
                        (lemma "sin_term_gt0"
                         ("a" "px!1" "n" "2*(1+j!1)"))
                        (("2" (assert)
                          (("2"
                            (name-replace "ST"
                             "sin_term(px!1)(2 + 2 * j!1)")
                            (("2"
                              (case "1-px!1 * px!1 / (42 + 28 * j!1 + (16 * (j!1 * j!1) + 24 * j!1))<0")
                              (("1"
                                (lemma
                                 "both_sides_times_pos_lt1"
                                 ("pz"
                                  "ST"
                                  "x"
                                  "1 - px!1 * px!1 / (42 + 28 * j!1 + (16 * (j!1 * j!1) + 24 * j!1))"
                                  "y"
                                  "0"))
                                (("1"
                                  (assert)
                                  (("1"
                                    (assert)
                                    (("1"
                                      (name-replace
                                       "TT"
                                       "(px!1 * px!1 / (42 + 16 * (j!1 * j!1) + 52 * j!1))")
                                      (("1" (assertnil nil))
                                      nil))
                                    nil))
                                  nil)
                                 ("2" (assertnil nil))
                                nil)
                               ("2"
                                (hide 2 -1 -3 -4)
                                (("2"
                                  (hide -1)
                                  (("2"
                                    (lemma
                                     "div_mult_pos_gt1"
                                     ("z"
                                      "px!1*px!1"
                                      "py"
                                      "(42 + 28 * j!1 + (16 * (j!1 * j!1) + 24 * j!1))"
                                      "x"
                                      "1"))
                                    (("2" (assertnil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (sin_approx_next formula-decl nil trig_approx nil)
    (odd_plus_odd_is_even application-judgement "even_int" integers
     nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sin_term_gt0 formula-decl nil trig_approx nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (div_mult_pos_gt1 formula-decl nil extra_real_props nil)
    (sin_approx const-decl "real" trig_approx nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (int_exp application-judgement "int" exponentiation nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (posreal_exp application-judgement "posreal" exponentiation nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (sin_term const-decl "real" trig_approx nil)
    (expt_x0 formula-decl nil exponentiation nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (even_minus_even_is_even application-judgement "even_int" integers
     nil)
    (<= const-decl "bool" reals nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (le_times_le_pos formula-decl nil real_props nil)
    (both_sides_div_pos_lt1 formula-decl nil real_props nil)
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (nzreal_expt application-judgement "nzreal" exponentiation nil)
    (posreal_expt application-judgement "posreal" exponentiation nil)
    (^ const-decl "real" exponentiation nil)
    (expt def-decl "real" exponentiation nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/= const-decl "boolean" notequal nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (minus_even_is_even application-judgement "even_int" integers nil)
    (minus_nzint_is_nzint application-judgement "nzint" integers nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (sigma_0_neg formula-decl nil sigma_nat "reals/")
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (posreal_div_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (sigma def-decl "real" sigma "reals/")
    (nat_induction formula-decl nil naturalnumbers nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (sin_lb const-decl "real" trig_approx nil)
    (< const-decl "bool" reals nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (pred type-eq-decl nil defined_types nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil))
   shostak))
 (sin_ub_gt 0
  (sin_ub_gt-2 nil 3321626316
   ("" (induct "n")
    (("1" (skosimp)
      (("1" (expand "sin_ub")
        (("1" (expand "sin_approx")
          (("1" (expand "sigma")
            (("1" (expand "sin_term")
              (("1" (rewrite "expt_x0")
                (("1" (rewrite "expt_x1")
                  (("1" (expand "factorial")
                    (("1" (expand "factorial")
                      (("1" (case "px!1<=4")
                        (("1"
                          (lemma "le_times_le_pos"
                           ("nnx" "px!1" "y" "4" "nnz" "px!1" "w" "4"))
                          (("1" (assertnil nil)) nil)
                         ("2" (assertnil nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil)
     ("2" (skosimp*)
      (("2" (inst - "px!1")
        (("2" (assert)
          (("2" (expand "sin_ub")
            (("2" (lemma "sin_approx_next" ("a" "px!1" "n" "2*j!1"))
              (("2" (name-replace "SN" "sin_approx(px!1, 2 * j!1)")
                (("2"
                  (name-replace "SN2" "sin_approx(px!1, 2 * j!1+2)")
                  (("2"
                    (lemma "sin_term_lt0" ("a" "px!1" "n" "1+2*j!1"))
                    (("2" (simplify -1)
                      (("2"
                        (name-replace "ST"
                         "sin_term(px!1)(1 + 2 * j!1)")
                        (("2"
                          (lemma "negreal_times_negreal_is_posreal"
                           ("nx" "ST" "ny"
                            "1 - px!1 * px!1 / ((2 * (2 * j!1) + 5) * (2 * (2 * j!1) + 4))"))
                          (("1" (assertnil nil)
                           ("2" (hide -1 -2 -3 2)
                            (("2"
                              (lemma "div_mult_pos_gt1"
                               ("z"
                                "px!1*px!1"
                                "py"
                                "20 + 20 * j!1 + (16 * (j!1 * j!1) + 16 * j!1)"
                                "x"
                                "1"))
                              (("2" (assertnil nil)) nil))
                            nil)
                           ("3" (assertnil nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (sin_approx_next formula-decl nil trig_approx nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (negreal_times_negreal_is_posreal judgement-tcc nil real_types nil)
    (nonpos_real nonempty-type-eq-decl nil real_types nil)
    (< const-decl "bool" reals nil)
    (negreal nonempty-type-eq-decl nil real_types nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (/= const-decl "boolean" notequal nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (div_mult_pos_gt1 formula-decl nil extra_real_props nil)
    (sin_term_lt0 formula-decl nil trig_approx nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (sin_approx const-decl "real" trig_approx nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (int_exp application-judgement "int" exponentiation nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (posreal_exp application-judgement "posreal" exponentiation nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (sin_term const-decl "real" trig_approx nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (posreal_div_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (le_times_le_pos formula-decl nil real_props nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (sigma_0_neg formula-decl nil sigma_nat "reals/")
    (<= const-decl "bool" reals nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (expt_x0 formula-decl nil exponentiation nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (sigma def-decl "real" sigma "reals/")
    (nat_induction formula-decl nil naturalnumbers nil)
    (sin_ub const-decl "real" trig_approx nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (pred type-eq-decl nil defined_types nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil))
   nil))
 (sin_lb 0
  (sin_lb-1 nil 3321098107
   ("" (skosimp)
    (("" (lemma "trichotomy" ("x" "n0x!1"))
      (("" (split -1)
        (("1"
          (lemma "trich_lt"
           ("x" "n0x!1*n0x!1" "y" "(4*n!1+7)*(4*n!1+6)"))
          (("1" (split -1)
            (("1" (lemma "sin_lb_lt" ("px" "n0x!1" "n" "n!1"))
              (("1" (assertnil nil) ("2" (assertnil nil)) nil)
             ("2"
              (case-replace "sin_lb(n0x!1,n!1)=sin_lb(n0x!1,n!1+1)")
              (("1" (lemma "sin_lb_lt" ("px" "n0x!1" "n" "n!1+1"))
                (("1" (assertnil nil) ("2" (assertnil nil)) nil)
               ("2" (hide 2)
                (("2" (expand "sin_lb")
                  (("2" (assert)
                    (("2"
                      (lemma "sin_approx_eq"
                       ("a" "n0x!1" "n" "1+2*n!1"))
                      (("2" (assertnil nil)) nil))
                    nil))
                  nil))
                nil))
              nil)
             ("3" (lemma "sin_lb_gt" ("px" "n0x!1" "n" "n!1"))
              (("1" (typepred "sin(n0x!1)") (("1" (assertnil nil))
                nil)
               ("2" (assertnil nil))
              nil))
            nil))
          nil)
         ("2" (assertnil nil)
         ("3" (lemma "sin_neg" ("a" "n0x!1"))
          (("3"
            (lemma "both_sides_times_neg_lt1"
             ("nz" "-1" "y" "sin_lb(n0x!1, n!1)" "x" "sin(n0x!1)"))
            (("3" (replace -1 1 rl)
              (("3" (replace -2 1 rl)
                (("3" (lemma "sin_ub_neg" ("a" "n0x!1" "n" "n!1"))
                  (("3" (replace -1 1 rl)
                    (("3" (hide -1 -2 -3)
                      (("3"
                        (lemma "trich_lt"
                         ("x" "-n0x!1*-n0x!1" "y"
                          "(4*n!1+5)*(4*n!1+4)"))
                        (("3" (split -1)
                          (("1"
                            (lemma "sin_ub_lt"
                             ("px" "-n0x!1" "n" "n!1"))
                            (("1" (assertnil nil)
                             ("2" (assertnil nil))
                            nil)
                           ("2"
                            (lemma "sin_ub_lt"
                             ("px" "-n0x!1" "n" "n!1+1"))
                            (("1" (assert)
                              (("1"
                                (case-replace
                                 "sin_ub(-n0x!1, 1 + n!1) = sin_ub(-n0x!1, n!1)")
                                (("1"
                                  (hide -1 2)
                                  (("1"
                                    (expand "sin_ub")
                                    (("1"
                                      (lemma
                                       "sin_approx_eq"
                                       ("a" "-n0x!1" "n" "2*n!1"))
                                      (("1" (assertnil nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (assertnil nil))
                            nil)
                           ("3"
                            (lemma "sin_ub_gt"
                             ("px" "-n0x!1" "n" "n!1"))
                            (("1" (assertnil nil)
                             ("2" (assertnil nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((nzreal nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (trichotomy formula-decl nil real_axioms nil)
    (sin_neg formula-decl nil trig_basic nil)
    (sin_ub_neg formula-decl nil trig_approx nil)
    (sin_ub_lt formula-decl nil trig_approx nil)
    (minus_nzreal_is_nzreal application-judgement "nzreal" real_types
     nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (sin_ub const-decl "real" trig_approx nil)
    (sin_ub_gt formula-decl nil trig_approx nil)
    (both_sides_times_neg_lt1 formula-decl nil real_props nil)
    (nonpos_real nonempty-type-eq-decl nil real_types nil)
    (< const-decl "bool" reals nil)
    (negreal nonempty-type-eq-decl nil real_types nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (trich_lt formula-decl nil real_props nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (sin_lb_gt formula-decl nil trig_approx nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sin const-decl "real" trig_basic nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (<= const-decl "bool" reals nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (sin_lb const-decl "real" trig_approx nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (sin_approx_eq formula-decl nil trig_approx nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (sin_lb_lt formula-decl nil trig_approx nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (sin_range application-judgement "trig_range" trig_basic nil))
   shostak))
 (sin_ub 0
  (sin_ub-1 nil 3321099757
   ("" (skosimp)
    (("" (lemma "trichotomy" ("x" "n0x!1"))
      (("" (split -1)
        (("1" (lemma "sin_lb" ("n0x" "-n0x!1" "n" "n!1"))
          (("1" (rewrite "sin_lb_neg")
            (("1" (rewrite "sin_neg")
              (("1"
                (lemma "both_sides_times_neg_lt1"
                 ("nz" "-1" "y" "sin(n0x!1)" "x" "sin_ub(n0x!1, n!1)"))
                (("1" (assertnil nil)) nil))
              nil))
            nil))
          nil)
         ("2" (assertnil nil)
         ("3" (lemma "sin_lb" ("n0x" "-n0x!1" "n" "n!1"))
          (("3" (rewrite "sin_neg")
            (("3" (rewrite "sin_lb_neg")
              (("3"
                (lemma "both_sides_times_neg_lt1"
                 ("nz" "-1" "y" "sin(n0x!1)" "x" "sin_ub(n0x!1, n!1)"))
                (("3" (assertnil nil)) nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((nzreal nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (trichotomy formula-decl nil real_axioms nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (sin_lb formula-decl nil trig_approx nil)
    (minus_nzreal_is_nzreal application-judgement "nzreal" real_types
     nil)
    (sin_neg formula-decl nil trig_basic nil)
    (sin_range application-judgement "trig_range" trig_basic nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (sin const-decl "real" trig_basic nil)
    (sin_ub const-decl "real" trig_approx nil)
    (negreal nonempty-type-eq-decl nil real_types nil)
    (< const-decl "bool" reals nil)
    (nonpos_real nonempty-type-eq-decl nil real_types nil)
    (<= const-decl "bool" reals nil)
    (both_sides_times_neg_lt1 formula-decl nil real_props nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (sin_lb_neg formula-decl nil trig_approx nil))
   shostak))
 (sin_bounds 0
  (sin_bounds-1 nil 3321009206
   ("" (skosimp)
    (("" (case-replace "a!1=0")
      (("1" (rewrite "sin_0")
        (("1" (expand "sin_lb")
          (("1" (expand "sin_ub")
            (("1" (rewrite "sin_approx_a0")
              (("1" (rewrite "sin_approx_a0") (("1" (assertnil nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (lemma "sin_lb" ("n0x" "a!1" "n" "n!1"))
        (("1" (lemma "sin_ub" ("n0x" "a!1" "n" "n!1"))
          (("1" (assertnil nil)) nil)
         ("2" (assertnil nil))
        nil))
      nil))
    nil)
   ((number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (sin_lb const-decl "real" trig_approx nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (sin_approx_a0 formula-decl nil trig_approx nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sin_ub const-decl "real" trig_approx nil)
    (sin_0 formula-decl nil trig_basic nil)
    (sin_ub formula-decl nil trig_approx nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (sin_range application-judgement "trig_range" trig_basic nil)
    (sin_lb formula-decl nil trig_approx nil)
    (/= const-decl "boolean" notequal nil)
    (nzreal nonempty-type-eq-decl nil reals nil))
   shostak))
 (sin_lb_gt0 0
  (sin_lb_gt0-1 nil 3321123536
   ("" (skosimp*)
    (("" (case "sin_lb(px!1,0) > 0")
      (("1" (case-replace "n!1=0")
        (("1" (lemma "sin_lb_inc" ("px" "px!1" "n" "0" "pm" "n!1"))
          (("1" (assertnil nil) ("2" (assertnil nil)) nil))
        nil)
       ("2" (hide 2)
        (("2" (expand "sin_lb")
          (("2" (expand "sin_approx")
            (("2" (expand "sigma")
              (("2" (expand "sigma")
                (("2" (expand "sin_term")
                  (("2" (expand "^")
                    (("2" (expand "expt")
                      (("2" (expand "expt")
                        (("2" (expand "expt")
                          (("2" (expand "expt")
                            (("2" (expand "factorial")
                              (("2"
                                (expand "factorial")
                                (("2"
                                  (expand "factorial")
                                  (("2"
                                    (expand "factorial")
                                    (("2"
                                      (lemma
                                       "posreal_times_posreal_is_posreal"
                                       ("px"
                                        "px!1/6"
                                        "py"
                                        "6-px!1*px!1"))
                                      (("1" (assertnil nil)
                                       ("2" (assertnil nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((posreal nonempty-type-eq-decl nil real_types nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (sin_lb const-decl "real" trig_approx nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (> const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (sin_lb_inc formula-decl nil trig_approx nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (sigma def-decl "real" sigma "reals/")
    (int_exp application-judgement "int" exponentiation nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (posreal_exp application-judgement "posreal" exponentiation nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (sin_term const-decl "real" trig_approx nil)
    (expt def-decl "real" exponentiation nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posreal_div_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (posreal_times_posreal_is_posreal judgement-tcc nil real_types nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (/= const-decl "boolean" notequal nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (sigma_0_neg formula-decl nil sigma_nat "reals/")
    (even_minus_even_is_even application-judgement "even_int" integers
     nil)
    (^ const-decl "real" exponentiation nil)
    (posreal_expt application-judgement "posreal" exponentiation nil)
    (nzreal_expt application-judgement "nzreal" exponentiation nil)
    (int_expt application-judgement "int" exponentiation nil)
    (sin_approx const-decl "real" trig_approx nil))
   shostak))
 (cos_lb_neg 0
  (cos_lb_neg-1 nil 3321100129
   ("" (skosimp)
    (("" (expand "cos_lb") (("" (rewrite "cos_approx_neg"nil nil))
      nil))
    nil)
   ((cos_lb const-decl "real" trig_approx nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (cos_approx_neg formula-decl nil trig_approx nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil))
   shostak))
 (cos_ub_neg 0
  (cos_ub_neg-1 nil 3321100152
   ("" (skosimp)
    (("" (expand "cos_ub") (("" (rewrite "cos_approx_neg"nil nil))
      nil))
    nil)
   ((cos_ub const-decl "real" trig_approx nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (cos_approx_neg formula-decl nil trig_approx nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil))
   shostak))
 (cos_lb_a0 0
  (cos_lb_a0-1 nil 3321123502
   ("" (expand "cos_lb")
    (("" (skosimp) (("" (rewrite "cos_approx_a0"nil nil)) nil)) nil)
   ((* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (cos_approx_a0 formula-decl nil trig_approx nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (cos_lb const-decl "real" trig_approx nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil))
   shostak))
 (cos_ub_a0 0
  (cos_ub_a0-1 nil 3321123407
   ("" (expand "cos_ub")
    (("" (skosimp) (("" (rewrite "cos_approx_a0"nil nil)) nil)) nil)
   ((* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (cos_approx_a0 formula-decl nil trig_approx nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (cos_ub const-decl "real" trig_approx nil))
   shostak))
 (cos_lb_ub 0
  (cos_lb_ub-2 nil 3321626381
   ("" (skosimp)
    (("" (expand "cos_lb")
      (("" (expand "cos_ub")
        (("" (expand "cos_approx")
          (("" (expand "sigma" 1 1)
            (("" (lemma "cos_term_lt0" ("a" "n0x!1" "n" "1+2*n!1"))
              (("" (assertnil nil)) nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((cos_lb const-decl "real" trig_approx nil)
    (cos_approx const-decl "real" trig_approx nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (cos_term_lt0 formula-decl nil trig_approx nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sigma def-decl "real" sigma "reals/")
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (cos_ub const-decl "real" trig_approx nil))
   nil))
 (cos_lb_inc 0
  (cos_lb_inc-1 nil 3321021787
   (""
    (case "FORALL (n: nat, n0x: nzreal):
                      n0x * n0x < (4 * n + 6) * (4 * n + 5) =>
                       cos_lb(n0x, n) < cos_lb(n0x, n + 1)")
    (("1" (induct "pm")
      (("1" (assertnil nil) ("2" (assertnil nil)
       ("3" (skosimp*)
        (("3" (inst - "n!1" "n0x!1")
          (("3" (replace -3)
            (("3" (case-replace "j!1=0")
              (("1" (assertnil nil)
               ("2" (assert)
                (("2" (inst - "n!1+1" "n0x!1") (("2" (assertnil nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil)
     ("2" (hide 2)
      (("2" (skosimp)
        (("2" (expand "cos_lb")
          (("2" (lemma "cos_approx_next" ("a" "n0x!1" "n" "1+2*n!1"))
            (("2" (lemma "cos_term_gt0" ("a" "n0x!1" "n" "2*(1+n!1)"))
              (("2" (simplify -1)
                (("2"
                  (name-replace "CT" "cos_term(n0x!1)(2 + 2 * n!1)")
                  (("2"
                    (name-replace "CN"
                     "cos_approx(n0x!1, 1 + 2 * n!1)")
                    (("2"
                      (name-replace "CN2"
                       "cos_approx(n0x!1, 3 + 2 * n!1)")
                      (("2"
                        (lemma "div_mult_pos_lt1"
                         ("z" "n0x!1*n0x!1" "py"
                          "(4 * n!1 + 6) * (4 * n!1 + 5)" "x" "1"))
                        (("2"
                          (name-replace "TT"
                           "n0x!1 * n0x!1 / ((4 * n!1 + 6) * (4 * n!1 + 5))")
                          (("2" (assert)
                            (("2"
                              (lemma "posreal_times_posreal_is_posreal"
                               ("px" "CT" "py" "1-TT"))
                              (("2" (assertnil nil)) nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((cos_term_gt0 formula-decl nil trig_approx nil)
    (cos_term const-decl "real" trig_approx nil)
    (odd_plus_odd_is_even application-judgement "even_int" integers
     nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (posreal_times_posreal_is_posreal judgement-tcc nil real_types nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (div_mult_pos_lt1 formula-decl nil real_props nil)
    (cos_approx const-decl "real" trig_approx nil)
    (cos_approx_next formula-decl nil trig_approx nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (> const-decl "bool" reals nil)
    (pred type-eq-decl nil defined_types nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (/= const-decl "boolean" notequal nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (< const-decl "bool" reals nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (cos_lb const-decl "real" trig_approx nil))
   shostak))
 (cos_ub_dec 0
  (cos_ub_dec-2 nil 3321626426
   (""
    (case "FORALL (n: nat, n0x: nzreal):
               n0x * n0x < (4 * n + 4) * (4 * n + 3) =>
                cos_ub(n0x, n + 1) < cos_ub(n0x, n)")
    (("1" (induct "pm")
      (("1" (assertnil nil) ("2" (assertnil nil)
       ("3" (skosimp*)
        (("3" (inst - "n!1" "n0x!1")
          (("3" (case-replace "j!1=0")
            (("1" (assertnil nil)
             ("2" (assert)
              (("2" (inst - "n!1+1" "n0x!1") (("2" (assertnil nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil)
     ("2" (hide 2)
      (("2" (skosimp)
        (("2" (expand "cos_ub")
          (("2" (lemma "cos_approx_next" ("a" "n0x!1" "n" "2*n!1"))
            (("2"
              (lemma "div_mult_pos_lt1"
               ("z" "n0x!1 * n0x!1" "py"
                "(4 * n!1 + 4) * (4 * n!1 + 3)" "x" "1"))
              (("2" (lemma "cos_term_lt0" ("a" "n0x!1" "n" "1+2*n!1"))
                (("2"
                  (name-replace "TT"
                   "n0x!1 * n0x!1 / ((4 * n!1 + 4) * (4 * n!1 + 3))")
                  (("2"
                    (name-replace "CT" "cos_term(n0x!1)(1 + 2 * n!1)")
                    (("2" (assert)
                      (("2"
                        (lemma "both_sides_times_pos_lt1"
                         ("pz" "1-TT" "x" "CT" "y" "0"))
                        (("2" (assertnil nil)) nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((div_mult_pos_lt1 formula-decl nil real_props nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (cos_term const-decl "real" trig_approx nil)
    (cos_term_lt0 formula-decl nil trig_approx nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (cos_approx_next formula-decl nil trig_approx nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (> const-decl "bool" reals nil)
    (pred type-eq-decl nil defined_types nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (/= const-decl "boolean" notequal nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (< const-decl "bool" reals nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (cos_ub const-decl "real" trig_approx nil))
   nil))
 (cos_lb_lt 0
  (cos_lb_lt-1 nil 3321023357
   ("" (skosimp)
    (("" (lemma "cos_lb_inc" ("n0x" "n0x!1" "n" "n!1" "pm" "1"))
      (("" (replace -2 -1)
        (("" (lemma "cos_lb_ub" ("n0x" "n0x!1" "n" "n!1+1"))
          (("" (expand "cos_lb")
            (("" (expand "cos_ub")
              ((""
                (lemma "cos_approx_next"
                 ("a" "n0x!1" "n" "1 + 2 * n!1"))
                ((""
                  (lemma "cos_term_gt0" ("a" "n0x!1" "n" "2*(1+n!1)"))
                  (("" (simplify -1)
                    ((""
                      (lemma "cos_approx_cos"
                       ("a" "n0x!1" "n" "2*(1+n!1)"))
                      (("" (name-replace "CC" "cos(n0x!1)")
                        (("" (rewrite "cos_term_next" -1)
                          ((""
                            (case "cos_approx(n0x!1, 2 + 2 * n!1) - cos_approx(n0x!1, 3 + 2 * n!1) = -cos_term(n0x!1)(3 + 2 * n!1)")
                            (("1"
                              (name-replace "CN1"
                               "cos_approx(n0x!1, 1 + 2 * n!1)")
                              (("1"
                                (name-replace
                                 "CN2"
                                 "cos_approx(n0x!1, 2 + 2 * n!1)")
                                (("1"
                                  (name-replace
                                   "CN3"
                                   "cos_approx(n0x!1, 3 + 2 * n!1)")
                                  (("1"
                                    (rewrite "cos_term_next" -1)
                                    (("1"
                                      (name-replace
                                       "CT"
                                       "cos_term(n0x!1)(2 + 2 * n!1)")
                                      (("1"
                                        (lemma
                                         "div_mult_pos_lt1"
                                         ("z"
                                          "n0x!1 * n0x!1"
                                          "py"
                                          "(4 * n!1 + 6) * (4 * n!1 + 5)"
                                          "x"
                                          "1"))
                                        (("1"
                                          (replace -8 -1)
                                          (("1"
                                            (simplify -1)
                                            (("1"
                                              (name-replace
                                               "M"
                                               "(4 * n!1 + 6) * (4 * n!1 + 5)")
                                              (("1"
                                                (case-replace
                                                 "-1 * (CT * n0x!1 * n0x!1) / M = -CT*((n0x!1 * n0x!1) / M)")
                                                (("1"
                                                  (lemma
                                                   "posreal_div_posreal_is_posreal"
                                                   ("px"
                                                    "n0x!1*n0x!1"
                                                    "py"
                                                    "M"))
                                                  (("1"
                                                    (name-replace
                                                     "TT"
                                                     "n0x!1 * n0x!1 / M")
                                                    (("1"
                                                      (rewrite
                                                       "abs_mult"
                                                       -5)
                                                      (("1"
                                                        (expand
                                                         "abs"
                                                         -5)
                                                        (("1"
                                                          (case-replace
                                                           "CC - CN2 < 0")
                                                          (("1"
                                                            (assert)
                                                            nil
                                                            nil)
                                                           ("2"
                                                            (assert)
                                                            nil
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil)
                                                 ("2"
                                                  (assert)
                                                  nil
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (hide-all-but 1)
                              (("2"
                                (expand "cos_approx")
                                (("2"
                                  (expand "sigma" 1 2)
                                  (("2" (assertnil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (cos_lb_inc formula-decl nil trig_approx nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (cos_lb_ub formula-decl nil trig_approx nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (cos_ub const-decl "real" trig_approx nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (cos_term_gt0 formula-decl nil trig_approx nil)
    (cos_range application-judgement "trig_range" trig_basic nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (cos_approx_cos formula-decl nil trig_approx nil)
    (cos_term_next formula-decl nil trig_approx nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (odd_plus_odd_is_even application-judgement "even_int" integers
     nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (sigma def-decl "real" sigma "reals/")
    (posint nonempty-type-eq-decl nil integers nil)
    (posreal_div_posreal_is_posreal judgement-tcc nil real_types nil)
    (abs_mult formula-decl nil real_props nil)
    (nonzero_abs_is_pos application-judgement "{y: posreal | y >= x}"
     real_defs nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (< const-decl "bool" reals nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (minus_nzreal_is_nzreal application-judgement "nzreal" real_types
     nil)
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (div_mult_pos_lt1 formula-decl nil real_props nil)
    (even_minus_odd_is_odd application-judgement "odd_int" integers
     nil)
    (odd_minus_odd_is_even application-judgement "even_int" integers
     nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (cos_term const-decl "real" trig_approx nil)
    (cos_approx const-decl "real" trig_approx nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (cos const-decl "real" trig_basic nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (<= const-decl "bool" reals nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (trig_range type-eq-decl nil trig_basic nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (cos_approx_next formula-decl nil trig_approx nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (cos_lb const-decl "real" trig_approx nil))
   shostak))
 (cos_ub_lt 0
  (cos_ub_lt-1 nil 3321030211
   ("" (skosimp)
    (("" (lemma "cos_ub_dec" ("n0x" "n0x!1" "n" "n!1" "pm" "1"))
      (("" (replace -2 -1)
        (("" (lemma "cos_lb_ub" ("n0x" "n0x!1" "n" "n!1+1"))
          ((""
            (case "cos_ub(n0x!1, n!1 + 1) - cos_lb(n0x!1, n!1+1) = -cos_term(n0x!1)(3+2*n!1)")
            (("1" (lemma "cos_approx_cos" ("a" "n0x!1" "n" "2*n!1+3"))
              (("1" (expand "cos_lb")
                (("1" (name-replace "CC" "cos(n0x!1)")
                  (("1"
                    (name-replace "CN3"
                     "cos_approx(n0x!1, 2 * n!1 + 3)")
                    (("1" (rewrite "cos_term_next" -1)
                      (("1"
                        (lemma "cos_term_neg"
                         ("a" "n0x!1" "n" "3+2*n!1"))
                        (("1" (simplify -1)
                          (("1"
                            (name-replace "CT"
                             "cos_term(n0x!1)(3 + 2 * n!1)")
                            (("1"
                              (lemma "div_mult_pos_lt1"
                               ("z"
                                "n0x!1 * n0x!1"
                                "py"
                                "(56 + 32 * n!1 + (16 * (n!1 * n!1) + 28 * n!1))"
                                "x"
                                "1"))
                              (("1"
                                (assert)
                                (("1"
                                  (lemma
                                   "posreal_div_posreal_is_posreal"
                                   ("px"
                                    "n0x!1 * n0x!1"
                                    "py"
                                    "(56 + 16 * (n!1 * n!1) + 60 * n!1)"))
                                  (("1"
                                    (case-replace
                                     "(-1 * (CT * n0x!1 * n0x!1) /
            (56 + 32 * n!1 + (16 * (n!1 * n!1) + 28 * n!1))) = -CT*((n0x!1 * n0x!1) /
            (56 + 32 * n!1 + (16 * (n!1 * n!1) + 28 * n!1)))")
                                    (("1"
                                      (name-replace
                                       "TT"
                                       "((n0x!1 * n0x!1) / (56 + 32 * n!1 + (16 * (n!1 * n!1) + 28 * n!1)))")
                                      (("1"
                                        (hide -1)
                                        (("1"
                                          (rewrite "abs_mult" -4)
                                          (("1"
                                            (expand "abs" -4)
                                            (("1"
                                              (assert)
                                              (("1"
                                                (lemma
                                                 "both_sides_times_pos_lt1"
                                                 ("pz"
                                                  "-CT"
                                                  "x"
                                                  "TT"
                                                  "y"
                                                  "1"))
                                                (("1"
                                                  (assert)
                                                  nil
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil)
                                     ("2" (assertnil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("2" (hide-all-but 1)
              (("2" (expand "cos_ub")
                (("2" (expand "cos_lb")
                  (("2" (expand "cos_approx")
                    (("2" (expand "sigma" 1 2) (("2" (assertnil nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (cos_ub_dec formula-decl nil trig_approx nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (cos_lb_ub formula-decl nil trig_approx nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (sigma def-decl "real" sigma "reals/")
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (cos_range application-judgement "trig_range" trig_basic nil)
    (cos_approx_cos formula-decl nil trig_approx nil)
    (trig_range type-eq-decl nil trig_basic nil)
    (<= const-decl "bool" reals nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (cos const-decl "real" trig_basic nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (cos_term_next formula-decl nil trig_approx nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (odd_minus_odd_is_even application-judgement "even_int" integers
     nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (minus_nzreal_is_nzreal application-judgement "nzreal" real_types
     nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (div_mult_pos_lt1 formula-decl nil real_props nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (posreal_div_posreal_is_posreal judgement-tcc nil real_types nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (abs_mult formula-decl nil real_props nil)
    (nonzero_abs_is_pos application-judgement "{y: posreal | y >= x}"
     real_defs nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (cos_term_neg formula-decl nil trig_approx nil)
    (cos_approx const-decl "real" trig_approx nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (cos_term const-decl "real" trig_approx nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (cos_lb const-decl "real" trig_approx nil)
    (cos_ub const-decl "real" trig_approx nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (real_minus_real_is_real application-judgement "real" reals nil))
   shostak))
 (cos_lb_gt 0
  (cos_lb_gt-1 nil 3321027181
   ("" (induct "n")
    (("1" (skosimp)
      (("1" (expand "cos_lb")
        (("1" (expand "cos_approx")
          (("1" (expand "sigma")
            (("1" (expand "sigma")
              (("1" (expand "cos_term")
                (("1" (rewrite "expt_x1")
                  (("1" (expand "factorial")
                    (("1" (expand "factorial")
                      (("1" (expand "factorial")
                        (("1" (expand "^")
                          (("1" (expand "expt")
                            (("1" (expand "expt")
                              (("1"
                                (expand "expt")
                                (("1"
                                  (assert)
                                  (("1"
                                    (expand "sigma")
                                    (("1" (assertnil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil)
     ("2" (skosimp*)
      (("2" (expand "cos_lb")
        (("2" (inst - "n0x!1")
          (("2" (lemma "cos_approx_next" ("a" "n0x!1" "n" "1+2*j!1"))
            (("2" (name-replace "CN1" "cos_approx(n0x!1, 1 + 2 * j!1)")
              (("2"
                (name-replace "CN3" "cos_approx(n0x!1, 3 + 2 * j!1)")
                (("2"
                  (lemma "cos_term_gt0" ("a" "n0x!1" "n" "2*(1+j!1)"))
                  (("2" (simplify -1)
                    (("2"
                      (name-replace "CT"
                       "cos_term(n0x!1)(1 + 2 * j!1 + 1)")
                      (("2" (assert)
                        (("2"
                          (lemma "div_mult_pos_gt1"
                           ("z" "n0x!1*n0x!1" "py"
                            "(30 + 24 * j!1 + (16 * (j!1 * j!1) + 20 * j!1))"
                            "x" "1"))
                          (("2" (assert)
                            (("2"
                              (name-replace "TT"
                               "n0x!1 * n0x!1 / (30 + 16 * (j!1 * j!1) + 44 * j!1)")
                              (("2"
                                (lemma
                                 "both_sides_times_pos_lt1"
                                 ("pz" "CT" "x" "1-TT" "y" "0"))
                                (("2" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((= const-decl "[T, T -> boolean]" equalities nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (cos_term_gt0 formula-decl nil trig_approx nil)
    (odd_plus_odd_is_even application-judgement "even_int" integers
     nil)
    (even_minus_odd_is_odd application-judgement "odd_int" integers
     nil)
    (div_mult_pos_gt1 formula-decl nil extra_real_props nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (cos_approx_next formula-decl nil trig_approx nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (cos_approx const-decl "real" trig_approx nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (nzreal_expt application-judgement "nzreal" exponentiation nil)
    (^ const-decl "real" exponentiation nil)
    (sigma_0_neg formula-decl nil sigma_nat "reals/")
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nzint_times_nzint_is_nzint application-judgement "nzint" integers
     nil)
    (expt def-decl "real" exponentiation nil)
    (int_expt application-judgement "int" exponentiation nil)
    (even_minus_even_is_even application-judgement "even_int" integers
     nil)
    (factorial def-decl "posnat" factorial "ints/")
    (cos_term const-decl "real" trig_approx nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (int_exp application-judgement "int" exponentiation nil)
    (sigma def-decl "real" sigma "reals/")
    (nat_induction formula-decl nil naturalnumbers nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (cos_lb const-decl "real" trig_approx nil)
    (< const-decl "bool" reals nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (> const-decl "bool" reals nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (pred type-eq-decl nil defined_types nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil))
   shostak))
 (cos_ub_gt 0
  (cos_ub_gt-4 nil 3321626563
   (""
    (case "FORALL (n: nat, px: posreal):
                                    px * px > (4 * n + 4) * (4 * n + 3) & n >= 1 => cos_ub(px, n) > 1")
    (("1" (skosimp)
      (("1" (lemma "trichotomy" ("x" "n0x!1"))
        (("1" (split -1)
          (("1" (inst - "n!1" "n0x!1")
            (("1" (assertnil nil) ("2" (assertnil nil)) nil)
           ("2" (assertnil nil)
           ("3" (inst - "n!1" "-n0x!1")
            (("1" (assert)
              (("1" (expand "cos_ub")
                (("1" (rewrite "cos_approx_neg"nil nil)) nil))
              nil)
             ("2" (assertnil nil))
            nil))
          nil))
        nil))
      nil)
     ("2" (hide 2)
      (("2" (induct "n")
        (("1" (skosimp) (("1" (assertnil nil)) nil)
         ("2" (skosimp*)
          (("2" (case-replace "j!1=0")
            (("1" (assert)
              (("1" (hide -1 -2 -4)
                (("1" (expand "cos_ub")
                  (("1" (expand "cos_approx")
                    (("1" (expand "sigma")
                      (("1" (expand "sigma")
                        (("1" (expand "sigma")
                          (("1" (expand "cos_term")
                            (("1" (expand "factorial")
                              (("1"
                                (expand "factorial")
                                (("1"
                                  (expand "factorial")
                                  (("1"
                                    (expand "factorial")
                                    (("1"
                                      (expand "factorial")
                                      (("1"
                                        (rewrite "expt_x1")
                                        (("1"
                                          (lemma
                                           "expt_times"
                                           ("n0x"
                                            "px!1"
                                            "i"
                                            "2"
                                            "j"
                                            "2"))
                                          (("1"
                                            (case-replace
                                             "px!1^2=px!1*px!1")
                                            (("1"
                                              (replace -2)
                                              (("1"
                                                (name-replace
                                                 "X"
                                                 "px!1 * px!1")
                                                (("1"
                                                  (hide -1 -2)
                                                  (("1"
                                                    (expand "^")
                                                    (("1"
                                                      (expand "expt")
                                                      (("1"
                                                        (expand "expt")
                                                        (("1"
                                                          (expand
                                                           "expt")
                                                          (("1"
                                                            (lemma
                                                             "posreal_times_posreal_is_posreal"
                                                             ("px"
                                                              "X"
                                                              "py"
                                                              "X/24-1/2"))
                                                            (("1"
                                                              (assert)
                                                              (("1"
                                                                (expand
                                                                 "sigma")
                                                                (("1"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("2"
                                                              (hide 2)
                                                              (("2"
                                                                (lemma
                                                                 "both_sides_times_pos_lt1"
                                                                 ("pz"
                                                                  "24"
                                                                  "x"
                                                                  "0"
                                                                  "y"
                                                                  "X / 24 - 1 / 2"))
                                                                (("2"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2"
                                              (hide-all-but 1)
                                              (("2" (grind) nil nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("2" (inst - "px!1")
              (("2" (expand "cos_ub")
                (("2"
                  (lemma "cos_approx_next" ("a" "px!1" "n" "2*j!1"))
                  (("2"
                    (lemma "cos_term_lt0" ("a" "px!1" "n" "2*j!1+1"))
                    (("2" (simplify -1)
                      (("2"
                        (name-replace "CT"
                         "cos_term(px!1)(1 + 2 * j!1)")
                        (("2"
                          (lemma "div_mult_pos_gt1"
                           ("z" "px!1*px!1" "py" "(4*j!1+4)*(4*j!1+3)"
                            "x" "1"))
                          (("2"
                            (name-replace "TT"
                             "px!1 * px!1 / ((4 * j!1 + 4) * (4 * j!1 + 3))")
                            (("2" (assert)
                              (("2"
                                (lemma
                                 "negreal_times_negreal_is_posreal"
                                 ("nx" "CT" "ny" "1-TT"))
                                (("2" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((cos_approx_next formula-decl nil trig_approx nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (div_mult_pos_gt1 formula-decl nil extra_real_props nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (negreal nonempty-type-eq-decl nil real_types nil)
    (< const-decl "bool" reals nil)
    (nonpos_real nonempty-type-eq-decl nil real_types nil)
    (<= const-decl "bool" reals nil)
    (negreal_times_negreal_is_posreal judgement-tcc nil real_types nil)
    (cos_term_lt0 formula-decl nil trig_approx nil)
    (sigma def-decl "real" sigma "reals/")
    (factorial def-decl "posnat" factorial "ints/")
    (even_minus_even_is_even application-judgement "even_int" integers
     nil)
    (expt_times formula-decl nil exponentiation nil)
    (expt def-decl "real" exponentiation nil)
    (nzint_times_nzint_is_nzint application-judgement "nzint" integers
     nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (sigma_0_neg formula-decl nil sigma_nat "reals/")
    (posrat_div_posrat_is_posrat application-judgement "posrat"
     rationals nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (posreal_div_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (posreal_times_posreal_is_posreal judgement-tcc nil real_types nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (posreal_expt application-judgement "posreal" exponentiation nil)
    (nzreal_expt application-judgement "nzreal" exponentiation nil)
    (int_expt application-judgement "int" exponentiation nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (^ const-decl "real" exponentiation nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (cos_term const-decl "real" trig_approx nil)
    (posreal_exp application-judgement "posreal" exponentiation nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (int_exp application-judgement "int" exponentiation nil)
    (cos_approx const-decl "real" trig_approx nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (pred type-eq-decl nil defined_types nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (n0x!1 skolem-const-decl "nzreal" trig_approx nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (cos_approx_neg formula-decl nil trig_approx nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (minus_nzreal_is_nzreal application-judgement "nzreal" real_types
     nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (trichotomy formula-decl nil real_axioms nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (cos_ub const-decl "real" trig_approx nil))
   nil))
 (cos_lb 0
  (cos_lb-1 nil 3321021268
   ("" (skosimp)
    ((""
      (lemma "trich_lt" ("x" "n0x!1*n0x!1" "y" "(4*n!1+6)*(4*n!1+5)"))
      (("" (split -1)
        (("1" (lemma "cos_lb_lt" ("n0x" "n0x!1" "n" "n!1"))
          (("1" (assertnil nil)) nil)
         ("2" (lemma "cos_lb_lt" ("n0x" "n0x!1" "n" "n!1+1"))
          (("2"
            (case-replace
             "cos_lb(n0x!1, n!1 + 1) = cos_lb(n0x!1, n!1)")
            (("1" (assertnil nil)
             ("2" (hide 2 -1)
              (("2" (expand "cos_lb")
                (("2"
                  (lemma "cos_approx_eq" ("a" "n0x!1" "n" "1+2*n!1"))
                  (("2" (assertnil nil)) nil))
                nil))
              nil))
            nil))
          nil)
         ("3" (lemma "cos_lb_gt" ("n0x" "n0x!1" "n" "n!1"))
          (("3" (assertnil nil)) nil))
        nil))
      nil))
    nil)
   ((nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (trich_lt formula-decl nil real_props nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (cos_lb_gt formula-decl nil trig_approx nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (cos_approx_eq formula-decl nil trig_approx nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (cos_lb const-decl "real" trig_approx nil)
    (cos_lb_lt formula-decl nil trig_approx nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (cos_range application-judgement "trig_range" trig_basic nil))
   shostak))
 (cos_ub 0
  (cos_ub-1 nil 3321029937
   ("" (skosimp)
    ((""
      (lemma "trich_lt"
       ("x" "n0x!1*n0x!1" "y" "(4*pm!1+4)*(4*pm!1+3)"))
      (("" (split -1)
        (("1" (lemma "cos_ub_lt" ("n0x" "n0x!1" "n" "pm!1"))
          (("1" (assertnil nil)) nil)
         ("2" (lemma "cos_ub_lt" ("n0x" "n0x!1" "n" "pm!1+1"))
          (("2"
            (case-replace
             "cos_ub(n0x!1, pm!1 + 1) = cos_ub(n0x!1, pm!1)")
            (("1" (assertnil nil)
             ("2" (hide -1 2)
              (("2" (expand "cos_ub")
                (("2"
                  (lemma "cos_approx_eq" ("a" "n0x!1" "n" "2*pm!1"))
                  (("2" (assertnil nil)) nil))
                nil))
              nil))
            nil))
          nil)
         ("3" (lemma "cos_ub_gt" ("n0x" "n0x!1" "n" "pm!1"))
          (("3" (typepred "cos(n0x!1)") (("3" (assertnil nil)) nil))
          nil))
        nil))
      nil))
    nil)
   ((posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (trich_lt formula-decl nil real_props nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (cos_ub_gt formula-decl nil trig_approx nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (cos const-decl "real" trig_basic nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (<= const-decl "bool" reals nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (cos_approx_eq formula-decl nil trig_approx nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (cos_ub const-decl "real" trig_approx nil)
    (cos_ub_lt formula-decl nil trig_approx nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil)
    (even_plus_odd_is_odd application-judgement "odd_int" integers nil)
    (cos_range application-judgement "trig_range" trig_basic nil))
   shostak))
 (cos_bounds 0
  (cos_bounds-1 nil 3321021088
   ("" (skosimp)
    (("" (case-replace "a!1=0")
      (("1" (rewrite "cos_0")
        (("1" (expand "cos_lb")
          (("1" (expand "cos_ub")
            (("1" (rewrite "cos_approx_a0")
              (("1" (rewrite "cos_approx_a0") (("1" (assertnil nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (lemma "cos_lb" ("n0x" "a!1" "n" "n!1"))
        (("1" (assert)
          (("1" (hide -1)
            (("1" (case "n!1=0")
              (("1" (expand "cos_ub")
                (("1" (expand "cos_approx")
                  (("1" (replace -1)
                    (("1" (expand "sigma")
                      (("1" (expand "cos_term")
                        (("1" (typepred "cos(a!1)")
                          (("1" (expand "sigma")
                            (("1" (propax) nil nil)) nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil)
               ("2" (lemma "cos_ub" ("n0x" "a!1" "pm" "n!1"))
                (("1" (assertnil nil) ("2" (assertnil nil)) nil))
              nil))
            nil))
          nil)
         ("2" (assertnil nil))
        nil))
      nil))
    nil)
   ((number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (cos_lb const-decl "real" trig_approx nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (cos_approx_a0 formula-decl nil trig_approx nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (cos_ub const-decl "real" trig_approx nil)
    (cos_0 formula-decl nil trig_basic nil)
    (cos_range application-judgement "trig_range" trig_basic nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (cos_approx const-decl "real" trig_approx nil)
    (sigma def-decl "real" sigma "reals/")
    (NOT const-decl "[bool -> bool]" booleans nil)
    (<= const-decl "bool" reals nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (cos const-decl "real" trig_basic nil)
    (cos_term const-decl "real" trig_approx nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (cos_ub formula-decl nil trig_approx nil)
    (cos_lb formula-decl nil trig_approx nil)
    (/= const-decl "boolean" notequal nil)
    (nzreal nonempty-type-eq-decl nil reals nil))
   shostak))
 (cos_lb_nn_strict_decreasing 0
  (cos_lb_nn_strict_decreasing-1 nil 3321105839
   ("" (expand "strict_decreasing?")
    (("" (skosimp*)
      (("" (typepred "x!1")
        (("" (typepred "y!1")
          (("" (expand ">=")
            (("" (expand "<=" -3)
              (("" (split -3)
                (("1" (lemma "cos_lb_deriv" ("n" "n!1"))
                  (("1" (flatten)
                    (("1"
                      (lemma
                       "restrict2_derivable[{x: posreal | x <= pi},real]"
                       ("f" "LAMBDA a: cos_lb(a, n!1)"))
                      (("1"
                        (lemma
                         "restrict2_deriv[{x: posreal | x <= pi},real]"
                         ("f" "LAMBDA a: cos_lb(a, n!1)"))
                        (("1" (expand "restrict2")
                          (("1" (replace -4)
                            (("1" (simplify -1)
                              (("1"
                                (lemma
                                 "negative_derivative[{x:posreal | x <= pi}]"
                                 ("g"
                                  "LAMBDA (a:{x:posreal | x <= pi}): cos_lb(a, n!1)"))
                                (("1"
                                  (split -1)
                                  (("1"
                                    (expand "strict_decreasing?")
                                    (("1"
                                      (inst - "x!1" "y!1")
                                      (("1" (assertnil nil)
                                       ("2" (assertnil nil)
                                       ("3" (assertnil nil))
                                      nil))
                                    nil)
                                   ("2"
                                    (skosimp)
                                    (("2"
                                      (inst - "x!2")
                                      (("2"
                                        (expand "deriv" -1)
                                        (("2"
                                          (replace -1 1 rl)
                                          (("2"
                                            (hide-all-but 1)
                                            (("2"
                                              (typepred "x!2")
                                              (("2"
                                                (lemma
                                                 "sin_ub"
                                                 ("n0x"
                                                  "x!2"
                                                  "n"
                                                  "n!1"))
                                                (("2"
                                                  (lemma
                                                   "sin_ge_0"
                                                   ("a" "x!2"))
                                                  (("2"
                                                    (assert)
                                                    nil
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil)
                                 ("2" (propax) nil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil)
                       ("2" (propax) nil nil)
                       ("3" (hide-all-but 1)
                        (("3" (skosimp) (("3" (inst 1 "x!2"nil nil))
                          nil))
                        nil)
                       ("4" (hide-all-but 1)
                        (("4" (skosimp)
                          (("4" (inst 1 "x!2+1")
                            (("4" (assertnil nil)) nil))
                          nil))
                        nil)
                       ("5" (hide-all-but 1)
                        (("5" (skosimp)
                          (("5" (typepred "x!2")
                            (("5" (case-replace "x!2=pi")
                              (("1"
                                (inst + "pi/2")
                                (("1" (assertnil nil))
                                nil)
                               ("2"
                                (inst + "pi")
                                (("2" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil)
                       ("6" (hide-all-but 1)
                        (("6" (skosimp*) (("6" (assertnil nil)) nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (replace -1 * rl)
                  (("2" (lemma "cos_lb" ("n0x" "y!1" "n" "n!1"))
                    (("1" (typepred "cos(y!1)")
                      (("1" (expand "cos_lb")
                        (("1" (rewrite "cos_approx_a0")
                          (("1" (assertnil nil)) nil))
                        nil))
                      nil)
                     ("2" (assertnil nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((sin_ge_0 formula-decl nil trig_ineq nil)
    (strict_decreasing? const-decl "bool" real_fun_preds "reals/"))
   shostak))
 (cos_lb_np_strict_increasing 0
  (cos_lb_np_strict_increasing-1 nil 3321105605
   ("" (skosimp)
    (("" (lemma "cos_lb_nn_strict_decreasing" ("n" "n!1"))
      (("" (expand "strict_decreasing?")
        (("" (expand "strict_increasing?")
          (("" (skosimp)
            (("" (inst - "-y!1" "-x!1")
              (("" (assert)
                (("" (rewrite "cos_lb_neg")
                  (("" (rewrite "cos_lb_neg"nil nil)) nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (cos_lb_nn_strict_decreasing formula-decl nil trig_approx nil)
    (strict_increasing? const-decl "bool" real_fun_preds "reals/")
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (nnreal type-eq-decl nil real_types nil)
    (<= const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (pi_lb const-decl "posreal" trig_basic nil)
    (< const-decl "bool" reals nil)
    (pi_ub const-decl "posreal" trig_basic nil)
    (pi const-decl "{r: posreal | r > pi_lb AND r < pi_ub}" trig_basic
     nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (npreal type-eq-decl nil real_types nil)
    (cos_lb_neg formula-decl nil trig_approx nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (strict_decreasing? const-decl "bool" real_fun_preds "reals/"))
   shostak))
 (sin_px 0
  (sin_px-1 nil 3408806447
   ("" (skosimp)
    (("" (lemma "sin_lb" ("n0x" "px!1" "n" "0"))
      (("" (expand "sin_lb")
        (("" (expand "sin_approx")
          (("" (expand "sigma")
            (("" (expand "sigma")
              (("" (expand "sin_term")
                (("" (expand "^")
                  (("" (expand "expt")
                    (("" (expand "expt")
                      (("" (expand "expt")
                        (("" (expand "expt")
                          (("" (expand "factorial")
                            (("" (expand "factorial")
                              ((""
                                (expand "factorial")
                                ((""
                                  (expand "factorial")
                                  ((""
                                    (case
                                     "1 - 1 / 1500000 < 1-px!1*px!1/6")
                                    (("1"
                                      (lemma
                                       "both_sides_times_pos_lt1"
                                       ("pz"
                                        "px!1"
                                        "x"
                                        "1 - 1 / 1500000"
                                        "y"
                                        "1 - px!1 * px!1 / 6"))
                                      (("1" (assertnil nil))
                                      nil)
                                     ("2"
                                      (hide -1 2)
                                      (("2"
                                        (lemma
                                         "sq_lt"
                                         ("nna" "px!1" "nnb" "1/500"))
                                        (("2"
                                          (assert)
                                          (("2"
                                            (expand "sq")
                                            (("2" (assertnil nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((posreal nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (sin_lb formula-decl nil trig_approx nil)
    (sin_approx const-decl "real" trig_approx nil)
    (int_expt application-judgement "int" exponentiation nil)
    (nzreal_expt application-judgement "nzreal" exponentiation nil)
    (posreal_expt application-judgement "posreal" exponentiation nil)
    (^ const-decl "real" exponentiation nil)
    (even_minus_even_is_even application-judgement "even_int" integers
     nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (sq const-decl "nonneg_real" sq "reals/")
    (sq_lt formula-decl nil sq "reals/")
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (posrat_div_posrat_is_posrat application-judgement "posrat"
     rationals nil)
    (posreal_div_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (sin_range application-judgement "trig_range" trig_basic nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (sigma_0_neg formula-decl nil sigma_nat "reals/")
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (< const-decl "bool" reals nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (rat_minus_rat_is_rat application-judgement "rat" rationals nil)
    (factorial def-decl "posnat" factorial "ints/")
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (expt def-decl "real" exponentiation nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (sin_term const-decl "real" trig_approx nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (posreal_exp application-judgement "posreal" exponentiation nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (int_exp application-judgement "int" exponentiation nil)
    (sigma def-decl "real" sigma "reals/")
    (sin_lb const-decl "real" trig_approx nil))
   nil))
 (cos_term_pi_lb 0
  (cos_term_pi_lb-1 nil 3408810875
   ("" (skosimp)
    (("" (rewrite "sin_shift" :dir rl)
      (("" (lemma "pi_lb_diff" ("n" "n!1"))
        (("" (lemma "pi_lb_inc" ("n" "n!1" "m" "n!1+1"))
          (("" (simplify -1)
            (("" (lemma "pi_bounds" ("n" "n!1+1"))
              (("" (flatten)
                (("" (hide -2)
                  ((""
                    (name "KK" "16 * (1 / 5) ^ (4 * n!1 + 5) *
                                           (1 / (4 * n!1 + 5) - 1 / (25 * (4 * n!1 + 7)))
                                           +
                                           4 * (1 / 239) ^ (4 * n!1 + 3) *
                                            (1 / (4 * n!1 + 3) - 1 / (57121 * (4 * n!1 + 5)))")
                    (("" (replace -1)
                      (("" (case "pi / 2 - pi_lbn(n!1) / 2 > KK / 2")
                        (("1" (case "pi / 2 - pi_lbn(n!1) / 2 < 1/500")
                          (("1"
                            (lemma "sin_px"
                             ("px" "pi / 2 - pi_lbn(n!1) / 2"))
                            (("1" (split -1)
                              (("1"
                                (case
                                 "cos_term(pi_lbn(n!1) / 2)(2 * n!1 + 2) < KK/2 * (1 - 1 / 1500000)")
                                (("1" (assertnil nil)
                                 ("2"
                                  (hide 2)
                                  (("2"
                                    (hide -1)
                                    (("2"
                                      (name
                                       "F"
                                       "lambda (n:nat): 8 * (1 / 5) ^ (4 * n + 5) *
                                                                                            (1 / (4 * n + 5) - 1 / (25 * (4 * n + 7)))
                                                                                            +
                                                                                            2 * (1 / 239) ^ (4 * n + 3) *
                                                                                             (1 / (4 * n + 3) - 1 / (57121 * (4 * n + 5)))")
                                      (("2"
                                        (case-replace "KK/2=F(n!1)")
                                        (("1"
                                          (hide -1 -2 -5)
                                          (("1"
                                            (expand "cos_term")
                                            (("1"
                                              (case-replace
                                               "(-1) ^ (2 + 2 * n!1)=1")
                                              (("1"
                                                (lemma
                                                 "both_sides_expt_pos_lt"
                                                 ("px"
                                                  "pi_lbn(n!1) / 2"
                                                  "py"
                                                  "31415927/20000000"
                                                  "pm"
                                                  "4 + 4 * n!1"))
                                                (("1"
                                                  (assert)
                                                  (("1"
                                                    (lemma "pi_ub")
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (name
                                                         "G"
                                                         "lambda (n:nat): (31415927 / 20000000) ^ (4 + 4 * n)/factorial(4 + 4 * n)")
                                                        (("1"
                                                          (case
                                                           "(1 * (pi_lbn(n!1) / 2) ^ (4 + 4 * n!1)) / factorial(4 + 4 * n!1) <G(n!1)")
                                                          (("1"
                                                            (case
                                                             "forall (m:nat): m>=5 => G(m)<F(m)*(1 - 1 / 1500000)")
                                                            (("1"
                                                              (inst
                                                               -
                                                               "n!1")
                                                              (("1"
                                                                (assert)
                                                                (("1"
                                                                  (name-replace
                                                                   "DRL1"
                                                                   "(1 * (pi_lbn(n!1) / 2) ^ (4 + 4 * n!1)) / factorial(4 + 4 * n!1)")
                                                                  (("1"
                                                                    (assert)
                                                                    nil
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("2"
                                                              (hide-all-but
                                                               1)
                                                              (("2"
                                                                (case
                                                                 "G(5) < F(5) * (1 - 1 / 1500000)")
                                                                (("1"
                                                                  (case
                                                                   "FORALL (m: nat): m >= 5 & G(m) < F(m) * (1 - 1 / 1500000) => G(m+1) < F(m+1) * (1 - 1 / 1500000)")
                                                                  (("1"
                                                                    (induct
                                                                     "m")
                                                                    (("1"
                                                                      (flatten)
                                                                      (("1"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil)
                                                                     ("2"
                                                                      (skosimp*)
                                                                      (("2"
                                                                        (case-replace
                                                                         "j!1=4")
                                                                        (("1"
                                                                          (assert)
                                                                          nil
                                                                          nil)
                                                                         ("2"
                                                                          (inst
                                                                           -
                                                                           "j!1")
                                                                          (("2"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil)
                                                                   ("2"
                                                                    (hide
                                                                     2
                                                                     -1)
                                                                    (("2"
                                                                      (skosimp)
                                                                      (("2"
                                                                        (name
                                                                         "LHS"
                                                                         "(31415927 / 20000000) ^ 4/((5+4 * m!1)*(6+4 * m!1)*(7+4 * m!1)*(8+4 * m!1))")
                                                                        (("2"
                                                                          (case-replace
                                                                           "G(m!1 + 1)=G(m!1)*LHS")
                                                                          (("1"
                                                                            (hide
                                                                             -1)
                                                                            (("1"
                                                                              (case
                                                                               "LHS*F(m!1)<F(m!1 + 1)")
                                                                              (("1"
                                                                                (lemma
                                                                                 "both_sides_times_pos_lt1"
                                                                                 ("pz"
                                                                                  "LHS"
                                                                                  "x"
                                                                                  "G(m!1)"
                                                                                  "y"
                                                                                  "F(m!1) * (1 - 1 / 1500000)"))
                                                                                (("1"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil))
                                                                                nil)
                                                                               ("2"
                                                                                (hide
                                                                                 -3
                                                                                 2)
                                                                                (("2"
                                                                                  (expand
                                                                                   "F"
                                                                                   1)
                                                                                  (("2"
                                                                                    (lemma
                                                                                     "expt_plus"
                                                                                     ("n0x"
                                                                                      "1/5"
                                                                                      "i"
                                                                                      "4"
                                                                                      "j"
                                                                                      "5+4*m!1"))
                                                                                    (("2"
                                                                                      (replace
                                                                                       -1)
                                                                                      (("2"
                                                                                        (hide
                                                                                         -1)
                                                                                        (("2"
                                                                                          (name-replace
                                                                                           "FIVE"
                                                                                           "(1 / 5) ^ (5 + 4 * m!1)")
                                                                                          (("2"
                                                                                            (lemma
                                                                                             "expt_plus"
                                                                                             ("n0x"
                                                                                              "1 / 239"
                                                                                              "i"
                                                                                              "4"
                                                                                              "j"
                                                                                              "3 + 4 * m!1"))
                                                                                            (("2"
                                                                                              (replace
                                                                                               -1)
                                                                                              (("2"
                                                                                                (hide
                                                                                                 -1)
                                                                                                (("2"
                                                                                                  (name-replace
                                                                                                   "TWOTHREENINE"
                                                                                                   "(1 / 239) ^ (3 + 4 * m!1)")
                                                                                                  (("2"
                                                                                                    (case-replace
                                                                                                     "(1 / 239) ^ 4 * TWOTHREENINE * (1 / (514089 + 228484 * m!1))= (1 / 239) ^ 6 * TWOTHREENINE * (1 / (9+4*m!1))")
                                                                                                    (("1"
                                                                                                      (hide
                                                                                                       -1)
                                                                                                      (("1"
                                                                                                        (case-replace
                                                                                                         "(TWOTHREENINE * (1 / (285605 + 228484 * m!1))) = (1/239)^2 * (TWOTHREENINE * (1 / (5 + 4 * m!1)))")
                                                                                                        (("1"
                                                                                                          (hide
                                                                                                           -1)
                                                                                                          (("1"
                                                                                                            (case-replace
                                                                                                             "(FIVE * (1 / (175 + 100 * m!1))) = (1/5)^2*FIVE*(1/(7+4*m!1))")
                                                                                                            (("1"
                                                                                                              (hide
                                                                                                               -1)
                                                                                                              (("1"
                                                                                                                (case
                                                                                                                 "-2 * ((1 / 239) ^ 2 * (TWOTHREENINE * (1 / (5 + 4 * m!1))) * LHS) -
                                                                                                                                                                                 8 * ((1 / 5) ^ 2 * FIVE * (1 / (7 + 4 * m!1)) * LHS)
                                                                                                                                                                                 + 8 * ((FIVE * (1 / (5 + 4 * m!1))) * LHS)
                                                                                                                                                                                 + 2 * ((TWOTHREENINE * (1 / (3 + 4 * m!1))) * LHS) < 8 * ((FIVE * (1 / (5 + 4 * m!1))) * LHS)")
                                                                                                                (("1"
                                                                                                                  (case
                                                                                                                   "8 * ((FIVE * (1 / (5 + 4 * m!1))) * LHS)<8 * ((1 / 5) ^ 4 * FIVE * (1 / (9 + 4 * m!1))) +
                                                                                                                                                                                            2 * ((1 / 239) ^ 4 * TWOTHREENINE * (1 / (7 + 4 * m!1)))
                                                                                                                                                                                            - 2 * ((1 / 239) ^ 6 * TWOTHREENINE * (1 / (9 + 4 * m!1)))
                                                                                                                                                                                            - 8 * ((1 / 5) ^ 4 * FIVE * (1 / (275 + 100 * m!1)))")
                                                                                                                  (("1"
                                                                                                                    (assert)
                                                                                                                    nil
                                                                                                                    nil)
                                                                                                                   ("2"
                                                                                                                    (hide
                                                                                                                     2
                                                                                                                     -1)
                                                                                                                    (("2"
                                                                                                                      (lemma
                                                                                                                       "expt_plus"
                                                                                                                       ("n0x"
                                                                                                                        "1/239"
                                                                                                                        "i"
                                                                                                                        "2"
                                                                                                                        "j"
                                                                                                                        "4"))
                                                                                                                      (("2"
                                                                                                                        (replace
                                                                                                                         -1)
                                                                                                                        (("2"
                                                                                                                          (hide
                                                                                                                           -1)
                                                                                                                          (("2"
                                                                                                                            (lemma
                                                                                                                             "both_sides_times_pos_lt1"
                                                                                                                             ("pz"
                                                                                                                              "2 * (1 / 239) ^ 4 * TWOTHREENINE"
                                                                                                                              "y"
                                                                                                                              "1 / (7 + 4 * m!1) -(1 / 239) ^ 2/ (9 + 4 * m!1)"
                                                                                                                              "x"
                                                                                                                              "0"))
                                                                                                                            (("2"
                                                                                                                              (flatten
                                                                                                                               -1)
                                                                                                                              (("2"
                                                                                                                                (hide
                                                                                                                                 -1)
                                                                                                                                (("2"
                                                                                                                                  (split
                                                                                                                                   -1)
                                                                                                                                  (("1"
                                                                                                                                    (case
                                                                                                                                     "8 * ((FIVE * (1 / (5 + 4 * m!1))) * LHS) <8 * ((1 / 5) ^ 4 * FIVE * (1 / (9 + 4 * m!1))) - 8 * ((1 / 5) ^ 4 * FIVE * (1 / (275 + 100 * m!1)))")
                                                                                                                                    (("1"
                                                                                                                                      (assert)
                                                                                                                                      nil
                                                                                                                                      nil)
                                                                                                                                     ("2"
                                                                                                                                      (hide
                                                                                                                                       -1
                                                                                                                                       2)
                                                                                                                                      (("2"
                                                                                                                                        (case-replace
                                                                                                                                         "1 / (275 + 100 * m!1) = (1/5)^2*1/(11+4*m!1)")
                                                                                                                                        (("1"
                                                                                                                                          (hide
                                                                                                                                           -1)
                                                                                                                                          (("1"
                                                                                                                                            (lemma
                                                                                                                                             "both_sides_times_pos_lt1"
                                                                                                                                             ("pz"
                                                                                                                                              "8*FIVE"
                                                                                                                                              "x"
                                                                                                                                              "LHS/(5 + 4 * m!1)"
                                                                                                                                              "y"
                                                                                                                                              "(1 / 5) ^ 4*(1 / (9 + 4 * m!1) - (1 / 5) ^ 2 / (11 + 4 * m!1))"))
                                                                                                                                            (("1"
                                                                                                                                              (replace
                                                                                                                                               -1
                                                                                                                                               1)
                                                                                                                                              (("1"
                                                                                                                                                (hide
                                                                                                                                                 -1)
                                                                                                                                                (("1"
                                                                                                                                                  (case
                                                                                                                                                   "(24/25)*(1 / (9 + 4 * m!1)) < (1 / (9 + 4 * m!1) - (1 / 5) ^ 2 / (11 + 4 * m!1))")
                                                                                                                                                  (("1"
                                                                                                                                                    (case
                                                                                                                                                     "LHS / (5 + 4 * m!1) <(1 / 5) ^ 4 *(24 / 25) * (1 / (9 + 4 * m!1))")
                                                                                                                                                    (("1"
                                                                                                                                                      (name-replace
                                                                                                                                                       "RHS"
                                                                                                                                                       "(1 / (9 + 4 * m!1) - (1 / 5) ^ 2 / (11 + 4 * m!1))")
                                                                                                                                                      (("1"
                                                                                                                                                        (lemma
                                                                                                                                                         "both_sides_times_pos_lt1"
                                                                                                                                                         ("pz"
                                                                                                                                                          "(1/5)^4"
                                                                                                                                                          "x"
                                                                                                                                                          "(24 / 25) * (1 / (9 + 4 * m!1))"
                                                                                                                                                          "y"
                                                                                                                                                          "RHS"))
                                                                                                                                                        (("1"
                                                                                                                                                          (assert)
                                                                                                                                                          nil
                                                                                                                                                          nil))
                                                                                                                                                        nil))
                                                                                                                                                      nil)
                                                                                                                                                     ("2"
                                                                                                                                                      (hide
                                                                                                                                                       2)
                                                                                                                                                      (("2"
                                                                                                                                                        (hide
                                                                                                                                                         -1)
                                                                                                                                                        (("2"
                                                                                                                                                          (case
                                                                                                                                                           "(31415927 / 20000000) ^ 4 < 609/100")
                                                                                                                                                          (("1"
                                                                                                                                                            (lemma
                                                                                                                                                             "both_sides_div_pos_lt1"
                                                                                                                                                             ("pz"
                                                                                                                                                              "((5 + 4 * m!1) * (6 + 4 * m!1) * (7 + 4 * m!1) * (8 + 4 * m!1))"
                                                                                                                                                              "x"
                                                                                                                                                              "(31415927 / 20000000) ^ 4"
                                                                                                                                                              "y"
                                                                                                                                                              "609 / 100"))
                                                                                                                                                            (("1"
                                                                                                                                                              (replace
                                                                                                                                                               -3)
                                                                                                                                                              (("1"
                                                                                                                                                                (replace
                                                                                                                                                                 -2)
                                                                                                                                                                (("1"
                                                                                                                                                                  (flatten
                                                                                                                                                                   -1)
                                                                                                                                                                  (("1"
                                                                                                                                                                    (case
                                                                                                                                                                     "LHS < (1 / 5) ^ 4 * (12/15)")
                                                                                                                                                                    (("1"
                                                                                                                                                                      (hide
                                                                                                                                                                       -2
                                                                                                                                                                       -3
                                                                                                                                                                       -4)
                                                                                                                                                                      (("1"
                                                                                                                                                                        (lemma
                                                                                                                                                                         "both_sides_div_pos_lt1"
                                                                                                                                                                         ("pz"
                                                                                                                                                                          "5 + 4 * m!1"
                                                                                                                                                                          "x"
                                                                                                                                                                          "LHS"
                                                                                                                                                                          "y"
                                                                                                                                                                          "(1 / 5) ^ 4 * (12 / 15)"))
                                                                                                                                                                        (("1"
                                                                                                                                                                          (replace
                                                                                                                                                                           -2)
                                                                                                                                                                          (("1"
                                                                                                                                                                            (flatten)
                                                                                                                                                                            (("1"
                                                                                                                                                                              (lemma
                                                                                                                                                                               "both_sides_times_pos_lt1"
                                                                                                                                                                               ("pz"
                                                                                                                                                                                "(1 / 5) ^ 4"
                                                                                                                                                                                "x"
                                                                                                                                                                                "(12 / 15) / (5 + 4 * m!1)"
                                                                                                                                                                                "y"
                                                                                                                                                                                "(24 / 25) * (1 / (9 + 4 * m!1))"))
                                                                                                                                                                              (("1"
                                                                                                                                                                                (flatten)
                                                                                                                                                                                (("1"
                                                                                                                                                                                  (hide
                                                                                                                                                                                   -1)
                                                                                                                                                                                  (("1"
                                                                                                                                                                                    (split
                                                                                                                                                                                     -1)
                                                                                                                                                                                    (("1"
                                                                                                                                                                                      (assert)
                                                                                                                                                                                      nil
                                                                                                                                                                                      nil)
                                                                                                                                                                                     ("2"
                                                                                                                                                                                      (hide
                                                                                                                                                                                       -1
                                                                                                                                                                                       -2
                                                                                                                                                                                       2)
                                                                                                                                                                                      (("2"
                                                                                                                                                                                        (lemma
                                                                                                                                                                                         "both_sides_times_pos_lt1"
                                                                                                                                                                                         ("pz"
                                                                                                                                                                                          "12/75"
                                                                                                                                                                                          "x"
                                                                                                                                                                                          "5/(5 + 4 * m!1)"
                                                                                                                                                                                          "y"
                                                                                                                                                                                          "6/(9 + 4 * m!1)"))
                                                                                                                                                                                        (("2"
                                                                                                                                                                                          (replace
                                                                                                                                                                                           -1
                                                                                                                                                                                           1)
                                                                                                                                                                                          (("2"
                                                                                                                                                                                            (hide
                                                                                                                                                                                             -1)
                                                                                                                                                                                            (("2"
                                                                                                                                                                                              (lemma
                                                                                                                                                                                               "div_mult_pos_lt1"
                                                                                                                                                                                               ("py"
                                                                                                                                                                                                "5 + 4 * m!1"
                                                                                                                                                                                                "z"
                                                                                                                                                                                                "5"
                                                                                                                                                                                                "x"
                                                                                                                                                                                                "6 / (9 + 4 * m!1)"))
                                                                                                                                                                                              (("2"
                                                                                                                                                                                                (replace
                                                                                                                                                                                                 -1)
                                                                                                                                                                                                (("2"
                                                                                                                                                                                                  (lemma
                                                                                                                                                                                                   "div_mult_pos_lt2"
                                                                                                                                                                                                   ("py"
                                                                                                                                                                                                    "9 + 4 * m!1"
                                                                                                                                                                                                    "z"
                                                                                                                                                                                                    "6*(5 + 4 * m!1)"
                                                                                                                                                                                                    "x"
                                                                                                                                                                                                    "5"))
                                                                                                                                                                                                  (("2"
                                                                                                                                                                                                    (replace
                                                                                                                                                                                                     -1
                                                                                                                                                                                                     1)
                                                                                                                                                                                                    (("2"
                                                                                                                                                                                                      (assert)
                                                                                                                                                                                                      nil
                                                                                                                                                                                                      nil))
                                                                                                                                                                                                    nil))
                                                                                                                                                                                                  nil))
                                                                                                                                                                                                nil))
                                                                                                                                                                                              nil))
                                                                                                                                                                                            nil))
                                                                                                                                                                                          nil))
                                                                                                                                                                                        nil))
                                                                                                                                                                                      nil))
                                                                                                                                                                                    nil))
                                                                                                                                                                                  nil))
                                                                                                                                                                                nil))
                                                                                                                                                                              nil))
                                                                                                                                                                            nil))
                                                                                                                                                                          nil))
                                                                                                                                                                        nil))
                                                                                                                                                                      nil)
                                                                                                                                                                     ("2"
                                                                                                                                                                      (hide
                                                                                                                                                                       2)
                                                                                                                                                                      (("2"
                                                                                                                                                                        (case-replace
                                                                                                                                                                         "(1 / 5) ^ 4 * (12 / 15) = 12/9375")
                                                                                                                                                                        (("1"
                                                                                                                                                                          (hide
                                                                                                                                                                           -1)
                                                                                                                                                                          (("1"
                                                                                                                                                                            (lemma
                                                                                                                                                                             "both_sides_div_pos_le2"
                                                                                                                                                                             ("pz"
                                                                                                                                                                              "609/100"
                                                                                                                                                                              "py"
                                                                                                                                                                              "25*26*27*28"
                                                                                                                                                                              "px"
                                                                                                                                                                              "((5 + 4 * m!1) * (6 + 4 * m!1) * (7 + 4 * m!1) * (8 + 4 * m!1))"))
                                                                                                                                                                            (("1"
                                                                                                                                                                              (flatten)
                                                                                                                                                                              (("1"
                                                                                                                                                                                (hide
                                                                                                                                                                                 -1)
                                                                                                                                                                                (("1"
                                                                                                                                                                                  (split)
                                                                                                                                                                                  (("1"
                                                                                                                                                                                    (name-replace
                                                                                                                                                                                     "LHS2"
                                                                                                                                                                                     "609 / 100 /
                                                                                                                                                                                                                                                                                                ((5 + 4 * m!1) * (6 + 4 * m!1) * (7 + 4 * m!1) * (8 + 4 * m!1))")
                                                                                                                                                                                    (("1"
                                                                                                                                                                                      (assert)
                                                                                                                                                                                      nil
                                                                                                                                                                                      nil))
                                                                                                                                                                                    nil)
                                                                                                                                                                                   ("2"
                                                                                                                                                                                    (hide-all-but
                                                                                                                                                                                     (1
                                                                                                                                                                                      -4))
                                                                                                                                                                                    (("2"
                                                                                                                                                                                      (lemma
                                                                                                                                                                                       "le_times_le_pos"
                                                                                                                                                                                       ("nnx"
                                                                                                                                                                                        "25"
                                                                                                                                                                                        "y"
                                                                                                                                                                                        "5 + 4 * m!1"
                                                                                                                                                                                        "nnz"
                                                                                                                                                                                        "26 * 27 * 28"
                                                                                                                                                                                        "w"
                                                                                                                                                                                        "(6 + 4 * m!1) * (7 + 4 * m!1) * (8 + 4 * m!1)"))
                                                                                                                                                                                      (("2"
                                                                                                                                                                                        (lemma
                                                                                                                                                                                         "le_times_le_pos"
                                                                                                                                                                                         ("nnx"
                                                                                                                                                                                          "26"
                                                                                                                                                                                          "y"
                                                                                                                                                                                          "6 + 4 * m!1"
                                                                                                                                                                                          "nnz"
                                                                                                                                                                                          "27 * 28"
                                                                                                                                                                                          "w"
                                                                                                                                                                                          "(7 + 4 * m!1) * (8 + 4 * m!1)"))
                                                                                                                                                                                        (("2"
                                                                                                                                                                                          (lemma
                                                                                                                                                                                           "le_times_le_pos"
                                                                                                                                                                                           ("nnx"
                                                                                                                                                                                            "27"
                                                                                                                                                                                            "y"
                                                                                                                                                                                            "7 + 4 * m!1"
                                                                                                                                                                                            "nnz"
                                                                                                                                                                                            "28"
                                                                                                                                                                                            "w"
                                                                                                                                                                                            "(8 + 4 * m!1)"))
                                                                                                                                                                                          (("2"
                                                                                                                                                                                            (assert)
                                                                                                                                                                                            nil
                                                                                                                                                                                            nil))
                                                                                                                                                                                          nil))
                                                                                                                                                                                        nil))
                                                                                                                                                                                      nil))
                                                                                                                                                                                    nil))
                                                                                                                                                                                  nil))
                                                                                                                                                                                nil))
                                                                                                                                                                              nil))
                                                                                                                                                                            nil))
                                                                                                                                                                          nil)
                                                                                                                                                                         ("2"
                                                                                                                                                                          (hide-all-but
                                                                                                                                                                           1)
                                                                                                                                                                          (("2"
                                                                                                                                                                            (grind)
                                                                                                                                                                            nil
                                                                                                                                                                            nil))
                                                                                                                                                                          nil))
                                                                                                                                                                        nil))
                                                                                                                                                                      nil))
                                                                                                                                                                    nil))
                                                                                                                                                                  nil))
                                                                                                                                                                nil))
                                                                                                                                                              nil))
                                                                                                                                                            nil)
                                                                                                                                                           ("2"
                                                                                                                                                            (hide-all-but
                                                                                                                                                             1)
                                                                                                                                                            (("2"
                                                                                                                                                              (grind)
                                                                                                                                                              nil
                                                                                                                                                              nil))
                                                                                                                                                            nil))
                                                                                                                                                          nil))
                                                                                                                                                        nil))
                                                                                                                                                      nil))
                                                                                                                                                    nil)
                                                                                                                                                   ("2"
                                                                                                                                                    (hide
                                                                                                                                                     -1
                                                                                                                                                     2)
                                                                                                                                                    (("2"
                                                                                                                                                      (lemma
                                                                                                                                                       "both_sides_times_pos_lt1"
                                                                                                                                                       ("pz"
                                                                                                                                                        "9 + 4 * m!1"
                                                                                                                                                        "x"
                                                                                                                                                        "(24 / 25) * (1 / (9 + 4 * m!1))"
                                                                                                                                                        "y"
                                                                                                                                                        "(1 / (9 + 4 * m!1) - (1 / 5) ^ 2 / (11 + 4 * m!1))"))
                                                                                                                                                      (("2"
                                                                                                                                                        (replace
                                                                                                                                                         -1
                                                                                                                                                         1
                                                                                                                                                         rl)
                                                                                                                                                        (("2"
                                                                                                                                                          (hide
                                                                                                                                                           -1)
                                                                                                                                                          (("2"
                                                                                                                                                            (lemma
                                                                                                                                                             "div_cancel2"
                                                                                                                                                             ("x"
                                                                                                                                                              "1"
                                                                                                                                                              "n0z"
                                                                                                                                                              "9+4*m!1"))
                                                                                                                                                            (("2"
                                                                                                                                                              (lemma
                                                                                                                                                               "associative_mult"
                                                                                                                                                               ("x"
                                                                                                                                                                "24 / 25"
                                                                                                                                                                "y"
                                                                                                                                                                "1 / (9 + 4 * m!1)"
                                                                                                                                                                "z"
                                                                                                                                                                "9 + 4 * m!1"))
                                                                                                                                                              (("2"
                                                                                                                                                                (replace
                                                                                                                                                                 -2)
                                                                                                                                                                (("2"
                                                                                                                                                                  (replace
                                                                                                                                                                   -1
                                                                                                                                                                   1
                                                                                                                                                                   rl)
                                                                                                                                                                  (("2"
                                                                                                                                                                    (hide
                                                                                                                                                                     -1
                                                                                                                                                                     -2)
                                                                                                                                                                    (("2"
                                                                                                                                                                      (lemma
                                                                                                                                                                       "both_sides_div_pos_lt2"
                                                                                                                                                                       ("pz"
                                                                                                                                                                        "1"
                                                                                                                                                                        "py"
                                                                                                                                                                        "9 + 4 * m!1"
                                                                                                                                                                        "px"
                                                                                                                                                                        "11 + 4 * m!1"))
                                                                                                                                                                      (("2"
                                                                                                                                                                        (simplify
                                                                                                                                                                         -1)
                                                                                                                                                                        (("2"
                                                                                                                                                                          (case-replace
                                                                                                                                                                           "(1 / (9 + 4 * m!1) - (1 / 5) ^ 2 / (11 + 4 * m!1)) * (9 + 4 * m!1) = 1- (1 / 5) ^ 2*(9 + 4 * m!1)/(11 + 4 * m!1)")
                                                                                                                                                                          (("1"
                                                                                                                                                                            (hide
                                                                                                                                                                             -1)
                                                                                                                                                                            (("1"
                                                                                                                                                                              (case
                                                                                                                                                                               "(1 / 5) ^ 2 * (9 + 4 * m!1) / (11 + 4 * m!1) < 1/25")
                                                                                                                                                                              (("1"
                                                                                                                                                                                (assert)
                                                                                                                                                                                nil
                                                                                                                                                                                nil)
                                                                                                                                                                               ("2"
                                                                                                                                                                                (hide
                                                                                                                                                                                 2)
                                                                                                                                                                                (("2"
                                                                                                                                                                                  (case-replace
                                                                                                                                                                                   "(1 / 5) ^ 2=1/25")
                                                                                                                                                                                  (("1"
                                                                                                                                                                                    (rewrite
                                                                                                                                                                                     "div_mult_pos_lt1"
                                                                                                                                                                                     1)
                                                                                                                                                                                    nil
                                                                                                                                                                                    nil)
                                                                                                                                                                                   ("2"
                                                                                                                                                                                    (hide-all-but
                                                                                                                                                                                     1)
                                                                                                                                                                                    (("2"
                                                                                                                                                                                      (grind)
                                                                                                                                                                                      nil
                                                                                                                                                                                      nil))
                                                                                                                                                                                    nil))
                                                                                                                                                                                  nil))
                                                                                                                                                                                nil))
                                                                                                                                                                              nil))
                                                                                                                                                                            nil)
                                                                                                                                                                           ("2"
                                                                                                                                                                            (hide
                                                                                                                                                                             2)
                                                                                                                                                                            (("2"
                                                                                                                                                                              (assert)
                                                                                                                                                                              nil
                                                                                                                                                                              nil))
                                                                                                                                                                            nil))
                                                                                                                                                                          nil))
                                                                                                                                                                        nil))
                                                                                                                                                                      nil))
                                                                                                                                                                    nil))
                                                                                                                                                                  nil))
                                                                                                                                                                nil))
                                                                                                                                                              nil))
                                                                                                                                                            nil))
                                                                                                                                                          nil))
                                                                                                                                                        nil))
                                                                                                                                                      nil))
                                                                                                                                                    nil))
                                                                                                                                                  nil))
                                                                                                                                                nil))
                                                                                                                                              nil))
                                                                                                                                            nil))
                                                                                                                                          nil)
                                                                                                                                         ("2"
                                                                                                                                          (hide-all-but
                                                                                                                                           1)
                                                                                                                                          (("2"
                                                                                                                                            (rewrite
                                                                                                                                             "cross_mult")
                                                                                                                                            (("2"
                                                                                                                                              (grind)
                                                                                                                                              nil
                                                                                                                                              nil))
                                                                                                                                            nil))
                                                                                                                                          nil))
                                                                                                                                        nil))
                                                                                                                                      nil))
                                                                                                                                    nil)
                                                                                                                                   ("2"
                                                                                                                                    (hide
                                                                                                                                     -1
                                                                                                                                     2)
                                                                                                                                    (("2"
                                                                                                                                      (lemma
                                                                                                                                       "div_mult_pos_lt1"
                                                                                                                                       ("z"
                                                                                                                                        "(1 / 239) ^ 2"
                                                                                                                                        "py"
                                                                                                                                        "9 + 4 * m!1"
                                                                                                                                        "x"
                                                                                                                                        "1 / (7 + 4 * m!1)"))
                                                                                                                                      (("2"
                                                                                                                                        (flatten)
                                                                                                                                        (("2"
                                                                                                                                          (hide
                                                                                                                                           -1)
                                                                                                                                          (("2"
                                                                                                                                            (split
                                                                                                                                             -1)
                                                                                                                                            (("1"
                                                                                                                                              (assert)
                                                                                                                                              (("1"
                                                                                                                                                (name-replace
                                                                                                                                                 "DRL1"
                                                                                                                                                 "(1 / 239) ^ 2")
                                                                                                                                                (("1"
                                                                                                                                                  (assert)
                                                                                                                                                  nil
                                                                                                                                                  nil))
                                                                                                                                                nil))
                                                                                                                                              nil)
                                                                                                                                             ("2"
                                                                                                                                              (hide
                                                                                                                                               2)
                                                                                                                                              (("2"
                                                                                                                                                (lemma
                                                                                                                                                 "div_mult_pos_lt2"
                                                                                                                                                 ("py"
                                                                                                                                                  "7 + 4 * m!1"
                                                                                                                                                  "z"
                                                                                                                                                  "9 + 4 * m!1"
                                                                                                                                                  "x"
                                                                                                                                                  "(1 / 239) ^ 2"))
                                                                                                                                                (("2"
                                                                                                                                                  (replace
                                                                                                                                                   -1
                                                                                                                                                   1)
                                                                                                                                                  (("2"
                                                                                                                                                    (hide
                                                                                                                                                     -1)
                                                                                                                                                    (("2"
                                                                                                                                                      (lemma
                                                                                                                                                       "lt_times_lt_pos1"
                                                                                                                                                       ("px"
                                                                                                                                                        "(1 / 239) ^ 2"
                                                                                                                                                        "y"
                                                                                                                                                        "1"
                                                                                                                                                        "nnz"
                                                                                                                                                        "7 + 4 * m!1"
                                                                                                                                                        "w"
                                                                                                                                                        "9 + 4 * m!1"))
                                                                                                                                                      (("2"
                                                                                                                                                        (lemma
                                                                                                                                                         "both_sides_expt_pos_lt"
                                                                                                                                                         ("px"
                                                                                                                                                          "1/239"
                                                                                                                                                          "py"
                                                                                                                                                          "1"
                                                                                                                                                          "pm"
                                                                                                                                                          "2"))
                                                                                                                                                        (("2"
                                                                                                                                                          (assert)
                                                                                                                                                          (("2"
                                                                                                                                                            (grind)
                                                                                                                                                            nil
                                                                                                                                                            nil))
                                                                                                                                                          nil))
                                                                                                                                                        nil))
                                                                                                                                                      nil))
                                                                                                                                                    nil))
                                                                                                                                                  nil))
                                                                                                                                                nil))
                                                                                                                                              nil))
                                                                                                                                            nil))
                                                                                                                                          nil))
                                                                                                                                        nil))
                                                                                                                                      nil))
                                                                                                                                    nil))
                                                                                                                                  nil))
                                                                                                                                nil))
                                                                                                                              nil))
                                                                                                                            nil))
                                                                                                                          nil))
                                                                                                                        nil))
                                                                                                                      nil))
                                                                                                                    nil))
                                                                                                                  nil)
                                                                                                                 ("2"
                                                                                                                  (hide
                                                                                                                   2)
                                                                                                                  (("2"
                                                                                                                    (case
                                                                                                                     "(2*TWOTHREENINE)*(1 / (3 + 4 * m!1)-(1 / 239) ^ 2*(1 / (5 + 4 * m!1))) - 8*(1 / 5) ^ 2 * FIVE * (1 / (7 + 4 * m!1))<0")
                                                                                                                    (("1"
                                                                                                                      (lemma
                                                                                                                       "both_sides_times_pos_lt1"
                                                                                                                       ("pz"
                                                                                                                        "LHS"
                                                                                                                        "x"
                                                                                                                        "(2 * TWOTHREENINE) *
                                                                                                                                                                                                          (1 / (3 + 4 * m!1) - (1 / 239) ^ 2 * (1 / (5 + 4 * m!1)))
                                                                                                                                                                                                          - 8 * (1 / 5) ^ 2 * FIVE * (1 / (7 + 4 * m!1))"
                                                                                                                        "y"
                                                                                                                        "0"))
                                                                                                                      (("1"
                                                                                                                        (replace
                                                                                                                         -1
                                                                                                                         -2
                                                                                                                         rl)
                                                                                                                        (("1"
                                                                                                                          (hide
                                                                                                                           -1)
                                                                                                                          (("1"
                                                                                                                            (assert)
                                                                                                                            nil
                                                                                                                            nil))
                                                                                                                          nil))
                                                                                                                        nil))
                                                                                                                      nil)
                                                                                                                     ("2"
                                                                                                                      (hide
                                                                                                                       2)
                                                                                                                      (("2"
                                                                                                                        (hide
                                                                                                                         -1)
                                                                                                                        (("2"
                                                                                                                          (case
                                                                                                                           "2 * TWOTHREENINE/(3 + 4 * m!1) < 8 * (1 / 5) ^ 2 * FIVE * (1 / (7 + 4 * m!1))")
                                                                                                                          (("1"
                                                                                                                            (name-replace
                                                                                                                             "RHS"
                                                                                                                             "8 * (1 / 5) ^ 2 * FIVE * (1 / (7 + 4 * m!1))")
                                                                                                                            (("1"
                                                                                                                              (lemma
                                                                                                                               "both_sides_times_pos_lt1"
                                                                                                                               ("y"
                                                                                                                                "1/(3 + 4 * m!1)"
                                                                                                                                "x"
                                                                                                                                "(1 / (3 + 4 * m!1) - (1 / 239) ^ 2 * (1 / (5 + 4 * m!1)))"
                                                                                                                                "pz"
                                                                                                                                "2 * TWOTHREENINE"))
                                                                                                                              (("1"
                                                                                                                                (assert)
                                                                                                                                nil
                                                                                                                                nil))
                                                                                                                              nil))
                                                                                                                            nil)
                                                                                                                           ("2"
                                                                                                                            (hide
                                                                                                                             2)
                                                                                                                            (("2"
                                                                                                                              (rewrite
                                                                                                                               "times_div1")
                                                                                                                              (("2"
                                                                                                                                (lemma
                                                                                                                                 "div_mult_pos_lt1"
                                                                                                                                 ("py"
                                                                                                                                  "3 + 4 * m!1"
                                                                                                                                  "z"
                                                                                                                                  "2 * TWOTHREENINE"
                                                                                                                                  "x"
                                                                                                                                  "(8 * ((1 / 5) ^ 2 * FIVE))/(7 + 4 * m!1)"))
                                                                                                                                (("2"
                                                                                                                                  (replace
                                                                                                                                   -1
                                                                                                                                   1)
                                                                                                                                  (("2"
                                                                                                                                    (hide
                                                                                                                                     -1)
                                                                                                                                    (("2"
                                                                                                                                      (lemma
                                                                                                                                       "div_mult_pos_lt2"
                                                                                                                                       ("py"
                                                                                                                                        "7 + 4 * m!1"
                                                                                                                                        "z"
                                                                                                                                        "(8 * ((1 / 5) ^ 2 * FIVE))*(3 + 4 * m!1)"
                                                                                                                                        "x"
                                                                                                                                        "2 * TWOTHREENINE"))
                                                                                                                                      (("2"
                                                                                                                                        (replace
                                                                                                                                         -1)
                                                                                                                                        (("2"
                                                                                                                                          (hide
                                                                                                                                           -1)
                                                                                                                                          (("2"
                                                                                                                                            (expand
                                                                                                                                             "FIVE")
                                                                                                                                            (("2"
                                                                                                                                              (expand
                                                                                                                                               "TWOTHREENINE")
                                                                                                                                              (("2"
                                                                                                                                                (case
                                                                                                                                                 "forall (m:nat): m>=5 => 14 * (1 / 239) ^ (3 + 4 * m) +
                                                                                                                                                                                                               8 * ((1 / 239) ^ (3 + 4 * m) * m)
                                                                                                                                                                                                               <
                                                                                                                                                                                                               24 * ((1 / 5) ^ 2 * (1 / 5) ^ (5 + 4 * m)) +
                                                                                                                                                                                                                32 * ((1 / 5) ^ 2 * (1 / 5) ^ (5 + 4 * m) * m)")
                                                                                                                                                (("1"
                                                                                                                                                  (inst
                                                                                                                                                   -
                                                                                                                                                   "m!1")
                                                                                                                                                  (("1"
                                                                                                                                                    (assert)
                                                                                                                                                    nil
                                                                                                                                                    nil))
                                                                                                                                                  nil)
                                                                                                                                                 ("2"
                                                                                                                                                  (hide-all-but
                                                                                                                                                   1)
                                                                                                                                                  (("2"
                                                                                                                                                    (induct
                                                                                                                                                     "m")
                                                                                                                                                    (("1"
                                                                                                                                                      (assert)
                                                                                                                                                      nil
                                                                                                                                                      nil)
                                                                                                                                                     ("2"
                                                                                                                                                      (skosimp)
                                                                                                                                                      (("2"
                                                                                                                                                        (case-replace
                                                                                                                                                         "j!1=4")
                                                                                                                                                        (("1"
                                                                                                                                                          (grind)
                                                                                                                                                          nil
                                                                                                                                                          nil)
                                                                                                                                                         ("2"
                                                                                                                                                          (assert)
                                                                                                                                                          (("2"
                                                                                                                                                            (lemma
                                                                                                                                                             "lt_times_lt_pos1"
                                                                                                                                                             ("px"
                                                                                                                                                              "14 * (1 / 239) ^ (3 + 4 * j!1) +
                                                                                                                                                                                                                                                  8 * ((1 / 239) ^ (3 + 4 * j!1) * j!1)"
                                                                                                                                                              "y"
                                                                                                                                                              "24 * ((1 / 5) ^ 2 * (1 / 5) ^ (5 + 4 * j!1)) +
                                                                                                                                                                                                                                                   32 * ((1 / 5) ^ 2 * (1 / 5) ^ (5 + 4 * j!1) * j!1)"
                                                                                                                                                              "nnz"
                                                                                                                                                              "(1 / 239) ^ 4"
                                                                                                                                                              "w"
                                                                                                                                                              "(1/5)^4"))
                                                                                                                                                            (("2"
                                                                                                                                                              (split
                                                                                                                                                               -1)
                                                                                                                                                              (("1"
                                                                                                                                                                (case
                                                                                                                                                                 "8*(1 / 239) ^ (7 + 4 * j!1)<32*((1 / 5) ^ 2 * (1 / 5) ^ (9 + 4 * j!1))")
                                                                                                                                                                (("1"
                                                                                                                                                                  (lemma
                                                                                                                                                                   "expt_plus"
                                                                                                                                                                   ("n0x"
                                                                                                                                                                    "1/5"
                                                                                                                                                                    "i"
                                                                                                                                                                    "4"
                                                                                                                                                                    "j"
                                                                                                                                                                    "5+4*j!1"))
                                                                                                                                                                  (("1"
                                                                                                                                                                    (replace
                                                                                                                                                                     -1)
                                                                                                                                                                    (("1"
                                                                                                                                                                      (lemma
                                                                                                                                                                       "expt_plus"
                                                                                                                                                                       ("n0x"
                                                                                                                                                                        "1/239"
                                                                                                                                                                        "i"
                                                                                                                                                                        "4"
                                                                                                                                                                        "j"
                                                                                                                                                                        "3+4*j!1"))
                                                                                                                                                                      (("1"
                                                                                                                                                                        (replace
                                                                                                                                                                         -1)
                                                                                                                                                                        (("1"
                                                                                                                                                                          (assert)
                                                                                                                                                                          nil
                                                                                                                                                                          nil))
                                                                                                                                                                        nil))
                                                                                                                                                                      nil))
                                                                                                                                                                    nil))
                                                                                                                                                                  nil)
                                                                                                                                                                 ("2"
                                                                                                                                                                  (hide
                                                                                                                                                                   -1
                                                                                                                                                                   -2
                                                                                                                                                                   3)
                                                                                                                                                                  (("2"
                                                                                                                                                                    (lemma
                                                                                                                                                                     "expt_plus"
                                                                                                                                                                     ("n0x"
                                                                                                                                                                      "1/5"
                                                                                                                                                                      "i"
                                                                                                                                                                      "2"
                                                                                                                                                                      "j"
                                                                                                                                                                      "7+4*j!1"))
                                                                                                                                                                    (("2"
                                                                                                                                                                      (replace
                                                                                                                                                                       -1)
                                                                                                                                                                      (("2"
                                                                                                                                                                        (hide
                                                                                                                                                                         -1)
                                                                                                                                                                        (("2"
                                                                                                                                                                          (case
                                                                                                                                                                           "forall (m:nat): m>=27 => 8 * (1 / 239) ^ m <
                                                                                                                                                                                                                                                                 32 * ((1 / 5) ^ 2 * ((1 / 5) ^ 2 * (1 / 5) ^ m))")
                                                                                                                                                                          (("1"
                                                                                                                                                                            (inst
                                                                                                                                                                             -
                                                                                                                                                                             "7 + 4 * j!1")
                                                                                                                                                                            (("1"
                                                                                                                                                                              (assert)
                                                                                                                                                                              nil
                                                                                                                                                                              nil))
                                                                                                                                                                            nil)
                                                                                                                                                                           ("2"
                                                                                                                                                                            (hide-all-but
                                                                                                                                                                             1)
                                                                                                                                                                            (("2"
                                                                                                                                                                              (induct
                                                                                                                                                                               "m")
                                                                                                                                                                              (("1"
                                                                                                                                                                                (grind)
                                                                                                                                                                                nil
                                                                                                                                                                                nil)
                                                                                                                                                                               ("2"
                                                                                                                                                                                (skosimp)
                                                                                                                                                                                (("2"
                                                                                                                                                                                  (case-replace
                                                                                                                                                                                   "j!2=26")
                                                                                                                                                                                  (("1"
                                                                                                                                                                                    (grind)
                                                                                                                                                                                    nil
                                                                                                                                                                                    nil)
                                                                                                                                                                                   ("2"
                                                                                                                                                                                    (assert)
                                                                                                                                                                                    (("2"
                                                                                                                                                                                      (lemma
                                                                                                                                                                                       "lt_times_lt_pos1"
                                                                                                                                                                                       ("px"
                                                                                                                                                                                        "1/239"
                                                                                                                                                                                        "y"
                                                                                                                                                                                        "1/5"
                                                                                                                                                                                        "nnz"
                                                                                                                                                                                        "8 * (1 / 239) ^ j!2"
                                                                                                                                                                                        "w"
                                                                                                                                                                                        "32 * ((1 / 5) ^ 2 * ((1 / 5) ^ 2 * (1 / 5) ^ j!2))"))
                                                                                                                                                                                      (("2"
                                                                                                                                                                                        (expand
                                                                                                                                                                                         "^")
                                                                                                                                                                                        (("2"
                                                                                                                                                                                          (expand
                                                                                                                                                                                           "expt"
                                                                                                                                                                                           2
                                                                                                                                                                                           (1
                                                                                                                                                                                            4))
                                                                                                                                                                                          (("2"
                                                                                                                                                                                            (assert)
                                                                                                                                                                                            nil
                                                                                                                                                                                            nil))
                                                                                                                                                                                          nil))
                                                                                                                                                                                        nil))
                                                                                                                                                                                      nil))
                                                                                                                                                                                    nil))
                                                                                                                                                                                  nil))
                                                                                                                                                                                nil))
                                                                                                                                                                              nil))
                                                                                                                                                                            nil))
                                                                                                                                                                          nil))
                                                                                                                                                                        nil))
                                                                                                                                                                      nil))
                                                                                                                                                                    nil))
                                                                                                                                                                  nil))
                                                                                                                                                                nil)
                                                                                                                                                               ("2"
                                                                                                                                                                (assert)
                                                                                                                                                                nil
                                                                                                                                                                nil)
                                                                                                                                                               ("3"
                                                                                                                                                                (hide-all-but
                                                                                                                                                                 1)
                                                                                                                                                                (("3"
                                                                                                                                                                  (lemma
                                                                                                                                                                   "both_sides_expt_pos_lt"
                                                                                                                                                                   ("px"
                                                                                                                                                                    "1/239"
                                                                                                                                                                    "py"
                                                                                                                                                                    "1/5"
                                                                                                                                                                    "pm"
                                                                                                                                                                    "4"))
                                                                                                                                                                  (("3"
                                                                                                                                                                    (assert)
                                                                                                                                                                    nil
                                                                                                                                                                    nil))
                                                                                                                                                                  nil))
                                                                                                                                                                nil))
                                                                                                                                                              nil))
                                                                                                                                                            nil))
                                                                                                                                                          nil))
                                                                                                                                                        nil))
                                                                                                                                                      nil))
                                                                                                                                                    nil))
                                                                                                                                                  nil))
                                                                                                                                                nil))
                                                                                                                                              nil))
                                                                                                                                            nil))
                                                                                                                                          nil))
                                                                                                                                        nil))
                                                                                                                                      nil))
--> --------------------

--> maximum size reached

--> --------------------

Messung V0.5 in Prozent
C=100 H=100 G=100

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.809Angebot  (Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-04-29) ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge