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


Quelle  polynomial_division.prf

  Sprache: Lisp
 

(polynomial_division
 (poly_divide_TCC1 0
  (poly_divide_TCC1-1 nil 3582383554 ("" (subtype-tcc) nil nil)
   ((boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (number nonempty-type-decl nil numbers 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 "bool" 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)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (/= const-decl "boolean" notequal nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (rat_max application-judgement "{s: rat | s >= q AND s >= r}"
     real_defs nil)
    (int_max application-judgement "{k: int | i <= k AND j <= k}"
     real_defs nil)
    (int_plus_int_is_int application-judgement "int" integers nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (int_minus_int_is_int application-judgement "int" integers nil))
   nil))
 (poly_divide_TCC2 0
  (poly_divide_TCC2-1 nil 3582383554 ("" (subtype-tcc) nil nilnil
   nil))
 (poly_divide_TCC3 0
  (poly_divide_TCC3-1 nil 3582383554 ("" (subtype-tcc) nil nil)
   ((boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (number nonempty-type-decl nil numbers 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 "bool" 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)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (/= const-decl "boolean" notequal nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil))
   nil))
 (poly_divide_TCC4 0
  (poly_divide_TCC4-1 nil 3582383554 ("" (subtype-tcc) nil nil)
   ((make_divtype const-decl "DivType" polynomial_division nil)) nil))
 (poly_divide_TCC5 0
  (poly_divide_TCC5-1 nil 3582383554
   ("" (skosimp*) (("" (assert) (("" (postpone) nil nil)) nil)) nil)
   ((real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (int_minus_int_is_int application-judgement "int" integers nil))
   nil))
 (poly_divide_TCC6 0
  (poly_divide_TCC6-1 nil 3582383554 ("" (termination-tcc) nil nil)
   ((int_minus_int_is_int application-judgement "int" integers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (number nonempty-type-decl nil numbers 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 "bool" 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)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (/= const-decl "boolean" notequal nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_div_nzreal_is_real application-judgement "real" reals 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)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (make_divtype const-decl "DivType" polynomial_division nil))
   nil))
 (poly_divide_TCC7 0
  (poly_divide_TCC7-1 nil 3582383609 ("" (termination-tcc) nil nil)
   ((int_minus_int_is_int application-judgement "int" integers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (number nonempty-type-decl nil numbers 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 "bool" 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)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (/= const-decl "boolean" notequal nil)
    (real_gt_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)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (make_divtype const-decl "DivType" polynomial_division nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil))
   nil))
 (poly_divide_TCC8 0
  (poly_divide_TCC8-1 nil 3582544163 ("" (termination-tcc) nil nil)
   ((boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (number nonempty-type-decl nil numbers 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 "bool" 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)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (/= const-decl "boolean" notequal nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil))
   nil))
 (poly_divide_TCC9 0
  (poly_divide_TCC9-1 nil 3582555120 ("" (termination-tcc) nil nil)
   ((boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (number nonempty-type-decl nil numbers 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 "bool" 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)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (/= const-decl "boolean" notequal 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)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (max const-decl "{p: real | p >= m AND p >= n}" real_defs nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil))
   nil))
 (poly_divide_def 0
  (poly_divide_def-1 nil 3582385231
   (""
    (case "FORALL (g, h: sequence[real], i, m, n: nat):
                                                                                     h(m) /= 0 AND i<=n-m AND (n-m-i) <= n - m IMPLIES
                                                                                      LET pd = poly_divide(g, n)(h, m)((n-m-i)) IN
                                                                                        FORALL (x: real):
                                                                                          polynomial(g, n)(x) =
                                                                                           polynomial(pd`quot, pd`qdeg)(x) * polynomial(h, m)(x) +
                                                                                            polynomial(pd`rem, pd`rdeg)(x)")
    (("1" (skeep)
      (("1" (inst - "g" "h" "n-m-i" "m" "n")
        (("1" (assert)
          (("1" (split -)
            (("1" (propax) nil nil)
             ("2" (skeep)
              (("2" (assert)
                (("2" (expand "poly_divide")
                  (("2" (expand "make_divtype")
                    (("2" (expand "polynomial" + 1)
                      (("2" (expand "sigma")
                        (("2" (expand "sigma") (("2" (assertnil nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil)
         ("2" (assert)
          (("2" (skeep)
            (("2" (expand "poly_divide")
              (("2" (expand "make_divtype")
                (("2" (expand "polynomial" + 1)
                  (("2" (expand "sigma")
                    (("2" (expand "sigma") (("2" (assertnil nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil)
     ("2" (hide 2)
      (("2"
        (case "NOT FORALL (g, h: sequence[real], i, m, n: nat):
                                                                                h(m) /= 0 AND i = n - m IMPLIES
                                                                                 LET pd = poly_divide(g, n)(h, m)(i) IN
                                                                                   FORALL (x: real):
                                                                                     polynomial(g, n)(x) =
                                                                                      polynomial(pd`quot, pd`qdeg)(x) * polynomial(h, m)(x) +
                                                                                       polynomial(pd`rem, pd`rdeg)(x)")
        (("1" (hide 2)
          (("1" (skeep)
            (("1" (replaces -1)
              (("1" (assert)
                (("1" (skeep 2)
                  (("1" (assert)
                    (("1" (name "pd" "poly_divide(g, n)(h, m)(n - m)")
                      (("1" (replace -1)
                        (("1" (expand "poly_divide" :assert? none)
                          (("1" (lift-if)
                            (("1" (split -)
                              (("1"
                                (flatten)
                                (("1"
                                  (assert)
                                  (("1"
                                    (expand "make_divtype")
                                    (("1"
                                      (replaces -2 :dir rl)
                                      (("1"
                                        (assert)
                                        (("1"
                                          (invoke
                                           (case "%1=0")
                                           (! 2 2 1))
                                          (("1" (assertnil nil)
                                           ("2"
                                            (hide-all-but 1)
                                            (("2" (grind) nil nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil)
                               ("2"
                                (flatten)
                                (("2"
                                  (split -)
                                  (("1"
                                    (flatten)
                                    (("1"
                                      (replaces -1)
                                      (("1"
                                        (assert)
                                        (("1"
                                          (expand "*")
                                          (("1"
                                            (expand "make_divtype")
                                            (("1"
                                              (replace -1 :dir rl)
                                              (("1"
                                                (assert)
                                                (("1"
                                                  (rewrite
                                                   "polynomial_n0")
                                                  (("1"
                                                    (rewrite
                                                     "polynomial_n0")
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (lemma
                                                         "scal_polynomial")
                                                        (("1"
                                                          (inst
                                                           -
                                                           "(1/h(0))*g"
                                                           "n"
                                                           "h(0)")
                                                          (("1"
                                                            (expand
                                                             "*")
                                                            (("1"
                                                              (decompose-equality
                                                               -1)
                                                              (("1"
                                                                (inst
                                                                 -
                                                                 "x")
                                                                (("1"
                                                                  (expand
                                                                   "const_fun")
                                                                  (("1"
                                                                    (replaces
                                                                     -1)
                                                                    (("1"
                                                                      (rewrite
                                                                       "poly_eq_le_degree")
                                                                      nil
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil)
                                   ("2"
                                    (flatten)
                                    (("2"
                                      (label "mz" 1)
                                      (("2"
                                        (hide "mz")
                                        (("2"
                                          (skoletin -1)
                                          (("2"
                                            (skoletin -1)
                                            (("2"
                                              (assert)
                                              (("2"
                                                (expand "make_divtype")
                                                (("2"
                                                  (assert)
                                                  (("2"
                                                    (case
                                                     "NOT polynomial(pd`quot, pd`qdeg)(x) = (g(n)/h(m))*x^(n-m)")
                                                    (("1"
                                                      (hide 5)
                                                      (("1"
                                                        (replaces
                                                         -1
                                                         +
                                                         :dir
                                                         rl)
                                                        (("1"
                                                          (assert)
                                                          (("1"
                                                            (replace
                                                             -2
                                                             +)
                                                            (("1"
                                                              (assert)
                                                              (("1"
                                                                (expand
                                                                 "polynomial")
                                                                (("1"
                                                                  (lemma
                                                                   "sigma_eq_one_arg")
                                                                  (("1"
                                                                    (inst?)
                                                                    (("1"
                                                                      (inst
                                                                       -
                                                                       "n-m")
                                                                      (("1"
                                                                        (assert)
                                                                        (("1"
                                                                          (split
                                                                           -)
                                                                          (("1"
                                                                            (replaces
                                                                             -1)
                                                                            (("1"
                                                                              (assert)
                                                                              (("1"
                                                                                (replaces
                                                                                 -1)
                                                                                (("1"
                                                                                  (replaces
                                                                                   -1)
                                                                                  (("1"
                                                                                    (assert)
                                                                                    (("1"
                                                                                      (lift-if)
                                                                                      (("1"
                                                                                        (ground)
                                                                                        (("1"
                                                                                          (replaces
                                                                                           -1)
                                                                                          (("1"
                                                                                            (grind)
                                                                                            nil
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil)
                                                                           ("2"
                                                                            (skosimp*)
                                                                            (("2"
                                                                              (lift-if)
                                                                              (("2"
                                                                                (ground)
                                                                                nil
                                                                                nil))
                                                                              nil))
                                                                            nil)
                                                                           ("3"
                                                                            (skosimp*)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil)
                                                     ("2"
                                                      (ground)
                                                      (("2"
                                                        (replaces -1)
                                                        (("2"
                                                          (lemma
                                                           "mul_x_to_n_polynomial")
                                                          (("2"
                                                            (case
                                                             "n = m")
                                                            (("1"
                                                              (assert)
                                                              (("1"
                                                                (replaces
                                                                 -1)
                                                                (("1"
                                                                  (assert)
                                                                  (("1"
                                                                    (hide
                                                                     -1)
                                                                    (("1"
                                                                      (replaces
                                                                       -3)
                                                                      (("1"
                                                                        (assert)
                                                                        (("1"
                                                                          (replace
                                                                           -1
                                                                           +
                                                                           :dir
                                                                           rl)
                                                                          (("1"
                                                                            (assert)
                                                                            (("1"
                                                                              (expand
                                                                               "polynomial"
                                                                               +
                                                                               3)
                                                                              (("1"
                                                                                (rewrite
                                                                                 "sigma_scal"
                                                                                 :dir
                                                                                 rl)
                                                                                (("1"
                                                                                  (rewrite
                                                                                   "sigma_scal_right"
                                                                                   :dir
                                                                                   rl)
                                                                                  (("1"
                                                                                    (expand
                                                                                     "polynomial")
                                                                                    (("1"
                                                                                      (expand
                                                                                       "sigma"
                                                                                       +
                                                                                       1)
                                                                                      (("1"
                                                                                        (expand
                                                                                         "sigma"
                                                                                         +
                                                                                         3)
                                                                                        (("1"
                                                                                          (case
                                                                                           "x^0 = 1")
                                                                                          (("1"
                                                                                            (replaces
                                                                                             -1)
                                                                                            (("1"
                                                                                              (assert)
                                                                                              (("1"
                                                                                                (case
                                                                                                 "NOT g(m)*x^m = h(m) * x ^ m * (g(m) / h(m))")
                                                                                                (("1"
                                                                                                  (assert)
                                                                                                  nil
                                                                                                  nil)
                                                                                                 ("2"
                                                                                                  (replaces
                                                                                                   -1)
                                                                                                  (("2"
                                                                                                    (assert)
                                                                                                    (("2"
                                                                                                      (rewrite
                                                                                                       "sigma_sum")
                                                                                                      (("2"
                                                                                                        (rewrite
                                                                                                         "sigma_eq")
                                                                                                        (("2"
                                                                                                          (skosimp*)
                                                                                                          (("2"
                                                                                                            (lift-if)
                                                                                                            (("2"
                                                                                                              (ground)
                                                                                                              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)
                                                             ("2"
                                                              (inst
                                                               -
                                                               "h"
                                                               "m"
                                                               "n-m")
                                                              (("1"
                                                                (assert)
                                                                (("1"
                                                                  (decompose-equality
                                                                   -1)
                                                                  (("1"
                                                                    (inst
                                                                     -
                                                                     "x")
                                                                    (("1"
                                                                      (assert)
                                                                      (("1"
                                                                        (expand
                                                                         "*")
                                                                        (("1"
                                                                          (replace
                                                                           -1)
                                                                          (("1"
                                                                            (lemma
                                                                             "scal_polynomial")
                                                                            (("1"
                                                                              (invoke
                                                                               (inst
                                                                                -
                                                                                "%1"
                                                                                "n"
                                                                                "g(n)/h(m)")
                                                                               (!
                                                                                5
                                                                                2
                                                                                2
                                                                                1
                                                                                0
                                                                                1))
                                                                              (("1"
                                                                                (expand
                                                                                 "const_fun")
                                                                                (("1"
                                                                                  (expand
                                                                                   "*")
                                                                                  (("1"
                                                                                    (decompose-equality
                                                                                     -1)
                                                                                    (("1"
                                                                                      (inst
                                                                                       -
                                                                                       "x")
                                                                                      (("1"
                                                                                        (replace
                                                                                         -1)
                                                                                        (("1"
                                                                                          (replace
                                                                                           -3
                                                                                           +
                                                                                           :dir
                                                                                           rl)
                                                                                          (("1"
                                                                                            (assert)
                                                                                            (("1"
                                                                                              (hide
                                                                                               (-1
                                                                                                -2))
                                                                                              (("1"
                                                                                                (assert)
                                                                                                (("1"
                                                                                                  (rewrite
                                                                                                   "polynomial_rec"
                                                                                                   +)
                                                                                                  (("1"
                                                                                                    (lemma
                                                                                                     "polynomial_rec")
                                                                                                    (("1"
                                                                                                      (invoke
                                                                                                       (inst
                                                                                                        -
                                                                                                        "%1"
                                                                                                        "n"
                                                                                                        "x")
                                                                                                       (!
                                                                                                        5
                                                                                                        2
                                                                                                        1
                                                                                                        0
                                                                                                        1))
                                                                                                      (("1"
                                                                                                        (assert)
                                                                                                        (("1"
                                                                                                          (replaces
                                                                                                           -1)
                                                                                                          (("1"
                                                                                                            (case
                                                                                                             "NOT g(n)*x^n=h(m) * x ^ n * (g(n) / h(m))")
                                                                                                            (("1"
                                                                                                              (assert)
                                                                                                              nil
                                                                                                              nil)
                                                                                                             ("2"
                                                                                                              (replaces
                                                                                                               -1
                                                                                                               :dir
                                                                                                               rl)
                                                                                                              (("2"
                                                                                                                (assert)
                                                                                                                (("2"
                                                                                                                  (rewrite
                                                                                                                   "sum_polynomial_eq_degree_eval")
                                                                                                                  (("1"
                                                                                                                    (assert)
                                                                                                                    (("1"
                                                                                                                      (rewrite
                                                                                                                       "poly_eq_le_degree")
                                                                                                                      (("1"
                                                                                                                        (hide
                                                                                                                         6)
                                                                                                                        (("1"
                                                                                                                          (skosimp*)
                                                                                                                          (("1"
                                                                                                                            (replaces
                                                                                                                             -4)
                                                                                                                            (("1"
                                                                                                                              (assert)
                                                                                                                              (("1"
                                                                                                                                (expand
                                                                                                                                 "+")
                                                                                                                                (("1"
                                                                                                                                  (lift-if)
                                                                                                                                  (("1"
                                                                                                                                    (assert)
                                                                                                                                    nil
                                                                                                                                    nil))
                                                                                                                                  nil))
                                                                                                                                nil))
                                                                                                                              nil))
                                                                                                                            nil))
                                                                                                                          nil))
                                                                                                                        nil)
                                                                                                                       ("2"
                                                                                                                        (skosimp*)
                                                                                                                        (("2"
                                                                                                                          (assert)
                                                                                                                          nil
                                                                                                                          nil))
                                                                                                                        nil)
                                                                                                                       ("3"
                                                                                                                        (skosimp*)
                                                                                                                        (("3"
                                                                                                                          (assert)
                                                                                                                          nil
                                                                                                                          nil))
                                                                                                                        nil))
                                                                                                                      nil))
                                                                                                                    nil)
                                                                                                                   ("2"
                                                                                                                    (skosimp*)
                                                                                                                    (("2"
                                                                                                                      (assert)
                                                                                                                      nil
                                                                                                                      nil))
                                                                                                                    nil)
                                                                                                                   ("3"
                                                                                                                    (skosimp*)
                                                                                                                    (("3"
                                                                                                                      (assert)
                                                                                                                      nil
                                                                                                                      nil))
                                                                                                                    nil))
                                                                                                                  nil))
                                                                                                                nil))
                                                                                                              nil))
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil)
                                                                                                       ("2"
                                                                                                        (skosimp*)
                                                                                                        (("2"
                                                                                                          (assert)
                                                                                                          nil
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil)
                                                                               ("2"
                                                                                (assert)
                                                                                (("2"
                                                                                  (skosimp*)
                                                                                  (("2"
                                                                                    (assert)
                                                                                    nil
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("2"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil)
                       ("2" (assert)
                        (("2" (expand "poly_divide")
                          (("2" (assert)
                            (("2" (expand "make_divtype")
                              (("2"
                                (invoke (case "%1 = 0") (! 3 2 1))
                                (("1" (assertnil nil)
                                 ("2"
                                  (expand "polynomial" 1)
                                  (("2"
                                    (rewrite "sigma_restrict_eq_0")
                                    nil
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil)
         ("2" (induct "i")
          (("1" (assertnil nil)
           ("2" (assert)
            (("2" (skeep)
              (("2" (inst?)
                (("1" (assertnil nil) ("2" (assertnil nil)) nil))
              nil))
            nil)
           ("3" (skeep)
            (("3" (assert)
              (("3" (skeep)
                (("3" (inst - "g" "h" "m" "n")
                  (("3" (inst - "g" "h" "n-m" "m" "n")
                    (("1" (assert)
                      (("1" (skeep)
                        (("1" (inst - "x")
                          (("1" (inst - "x")
                            (("1" (assert)
                              (("1"
                                (name "ii" "n-m-j")
                                (("1"
                                  (case "NOT n-m-j-1=ii-1")
                                  (("1" (assertnil nil)
                                   ("2"
                                    (case "ii = 0")
                                    (("1" (assertnil nil)
                                     ("2"
                                      (replaces -1)
                                      (("2"
                                        (replaces -1)
                                        (("2"
                                          (case "ii<=0")
                                          (("1"
                                            (expand "ii" -1)
                                            (("1" (assertnil nil))
                                            nil)
                                           ("2"
                                            (hide 2)
                                            (("2"
                                              (name
                                               "pd"
                                               "poly_divide(g,n)(h,m)(ii-1)")
                                              (("1"
                                                (replace -1)
                                                (("1"
                                                  (copy -1)
                                                  (("1"
                                                    (expand
                                                     "poly_divide"
                                                     -1
                                                     :assert?
                                                     none)
                                                    (("1"
                                                      (lift-if)
                                                      (("1"
                                                        (split -)
                                                        (("1"
                                                          (flatten)
                                                          (("1"
                                                            (assert)
                                                            (("1"
                                                              (expand
                                                               "poly_divide")
                                                              (("1"
                                                                (replaces
                                                                 -2)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (flatten)
                                                          (("2"
                                                            (split -)
                                                            (("1"
                                                              (flatten)
                                                              (("1"
                                                                (assert)
                                                                (("1"
                                                                  (replaces
                                                                   -1)
                                                                  (("1"
                                                                    (assert)
                                                                    (("1"
                                                                      (expand
                                                                       "make_divtype")
                                                                      (("1"
                                                                        (replaces
                                                                         -1
                                                                         :dir
                                                                         rl)
                                                                        (("1"
                                                                          (assert)
                                                                          (("1"
                                                                            (rewrite
                                                                             "polynomial_n0")
                                                                            (("1"
                                                                              (rewrite
                                                                               "polynomial_n0")
                                                                              (("1"
                                                                                (assert)
                                                                                (("1"
                                                                                  (lemma
                                                                                   "scal_polynomial")
                                                                                  (("1"
                                                                                    (inst
                                                                                     -
                                                                                     "(1/h(0))*g"
                                                                                     "n"
                                                                                     "h(0)")
                                                                                    (("1"
                                                                                      (decompose-equality
                                                                                       -1)
                                                                                      (("1"
                                                                                        (inst
                                                                                         -
                                                                                         "x")
                                                                                        (("1"
                                                                                          (expand
                                                                                           "const_fun")
                                                                                          (("1"
                                                                                            (expand
                                                                                             "*")
                                                                                            (("1"
                                                                                              (replaces
                                                                                               -1)
                                                                                              (("1"
                                                                                                (rewrite
                                                                                                 "poly_eq_le_degree")
                                                                                                nil
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("2"
                                                              (flatten)
                                                              (("2"
                                                                (label
                                                                 "mz"
                                                                 1)
                                                                (("2"
                                                                  (hide
                                                                   "mz")
                                                                  (("2"
                                                                    (split
                                                                     -)
                                                                    (("1"
                                                                      (flatten)
                                                                      (("1"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil)
                                                                     ("2"
                                                                      (flatten)
                                                                      (("2"
                                                                        (skoletin
                                                                         -1)
                                                                        (("2"
                                                                          (skoletin
                                                                           -1)
                                                                          (("2"
                                                                            (assert)
                                                                            (("2"
                                                                              (replaces
                                                                               -3
                                                                               :dir
                                                                               rl)
                                                                              (("2"
                                                                                (hide
                                                                                 (-5
                                                                                  -6))
                                                                                (("2"
                                                                                  (invoke
                                                                                   (name
                                                                                    "AA"
                                                                                    "%1")
                                                                                   (!
                                                                                    -1
                                                                                    1
                                                                                    3))
                                                                                  (("1"
                                                                                    (replace
                                                                                     -1)
                                                                                    (("1"
                                                                                      (expand
                                                                                       "make_divtype"
                                                                                       -2)
                                                                                      (("1"
                                                                                        (replace
                                                                                         -2
                                                                                         :dir
                                                                                         rl)
                                                                                        (("1"
                                                                                          (assert)
                                                                                          (("1"
                                                                                            (case
                                                                                             "NOT polynomial(AA,ii-2+m)(x) = polynomial(ldt`rem,ldt`rdeg)(x)+polynomial(LAMBDA (jj:nat): IF jj<ii-1 THEN 0 ELSE (-thisterm)*h(jj+1-ii) ENDIF,m+ii-1)(x)")
                                                                                            (("1"
                                                                                              (case
                                                                                               "NOT ldt`rdeg = m+ii-1")
                                                                                              (("1"
                                                                                                (expand
                                                                                                 "ldt"
                                                                                                 1)
                                                                                                (("1"
                                                                                                  (expand
                                                                                                   "poly_divide"
                                                                                                   1)
                                                                                                  (("1"
                                                                                                    (expand
                                                                                                     "make_divtype"
                                                                                                     1)
                                                                                                    (("1"
                                                                                                      (reveal
                                                                                                       "mz")
                                                                                                      (("1"
                                                                                                        (assert)
                                                                                                        nil
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil)
                                                                                               ("2"
                                                                                                (replace
                                                                                                 -1)
                                                                                                (("2"
                                                                                                  (rewrite
                                                                                                   "sum_polynomial_eq_degree_eval")
                                                                                                  (("1"
                                                                                                    (lemma
                                                                                                     "polynomial_rec")
                                                                                                    (("1"
                                                                                                      (invoke
                                                                                                       (inst
                                                                                                        -
                                                                                                        "%1"
                                                                                                        "ii-1+m"
                                                                                                        "x")
                                                                                                       (!
                                                                                                        1
                                                                                                        2
                                                                                                        0
                                                                                                        1))
                                                                                                      (("1"
                                                                                                        (assert)
                                                                                                        (("1"
                                                                                                          (replace
                                                                                                           -1)
                                                                                                          (("1"
                                                                                                            (hide
                                                                                                             -1)
                                                                                                            (("1"
                                                                                                              (expand
                                                                                                               "+")
                                                                                                              (("1"
                                                                                                                (case
                                                                                                                 "NOT ldt`rem(ii - 1 + m) * x ^ (ii - 1 + m) = -(h(m) * x ^ (ii - 1 + m)) * (-thisterm)")
                                                                                                                (("1"
                                                                                                                  (hide
                                                                                                                   2)
                                                                                                                  (("1"
                                                                                                                    (assert)
                                                                                                                    nil
                                                                                                                    nil))
                                                                                                                  nil)
                                                                                                                 ("2"
                                                                                                                  (replaces
                                                                                                                   -1)
                                                                                                                  (("2"
                                                                                                                    (assert)
                                                                                                                    (("2"
                                                                                                                      (case
                                                                                                                       "FORALL (bb,aa:real): bb+-aa+aa = bb")
                                                                                                                      (("1"
                                                                                                                        (invoke
                                                                                                                         (inst
                                                                                                                          -
                                                                                                                          "%1"
                                                                                                                          "%2")
                                                                                                                         (!
                                                                                                                          1
                                                                                                                          2
                                                                                                                          1)
                                                                                                                         (!
                                                                                                                          1
                                                                                                                          2
                                                                                                                          3))
                                                                                                                        (("1"
                                                                                                                          (replaces
                                                                                                                           -1)
                                                                                                                          (("1"
                                                                                                                            (rewrite
                                                                                                                             "poly_eq_le_degree")
                                                                                                                            (("1"
                                                                                                                              (hide
                                                                                                                               2)
                                                                                                                              (("1"
                                                                                                                                (skosimp*)
                                                                                                                                (("1"
                                                                                                                                  (expand
                                                                                                                                   "AA"
                                                                                                                                   1)
                                                                                                                                  (("1"
                                                                                                                                    (typepred
                                                                                                                                     "ii!1")
                                                                                                                                    (("1"
                                                                                                                                      (assert)
                                                                                                                                      (("1"
                                                                                                                                        (lift-if)
                                                                                                                                        (("1"
                                                                                                                                          (ground)
                                                                                                                                          nil
                                                                                                                                          nil))
                                                                                                                                        nil))
                                                                                                                                      nil))
                                                                                                                                    nil))
                                                                                                                                  nil))
                                                                                                                                nil))
                                                                                                                              nil))
                                                                                                                            nil))
                                                                                                                          nil)
                                                                                                                         ("2"
                                                                                                                          (skosimp*)
                                                                                                                          (("2"
                                                                                                                            (assert)
                                                                                                                            nil
                                                                                                                            nil))
                                                                                                                          nil))
                                                                                                                        nil)
                                                                                                                       ("2"
                                                                                                                        (skosimp*)
                                                                                                                        (("2"
                                                                                                                          (assert)
                                                                                                                          nil
                                                                                                                          nil))
                                                                                                                        nil))
                                                                                                                      nil))
                                                                                                                    nil))
                                                                                                                  nil))
                                                                                                                nil))
                                                                                                              nil))
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil)
                                                                                                       ("2"
                                                                                                        (skosimp*)
                                                                                                        (("2"
                                                                                                          (assert)
                                                                                                          nil
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil)
                                                                                                   ("2"
                                                                                                    (skosimp*)
                                                                                                    (("2"
                                                                                                      (assert)
                                                                                                      nil
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil)
                                                                                             ("2"
                                                                                              (replace
                                                                                               -6
                                                                                               +)
                                                                                              (("2"
                                                                                                (replace
                                                                                                 -1
                                                                                                 +)
                                                                                                (("2"
                                                                                                  (assert)
                                                                                                  (("2"
                                                                                                    (invoke
                                                                                                     (name
                                                                                                      "BB"
                                                                                                      "%1")
                                                                                                     (!
                                                                                                      6
                                                                                                      2
                                                                                                      1
                                                                                                      0
                                                                                                      1))
                                                                                                    (("2"
                                                                                                      (replace
                                                                                                       -1)
                                                                                                      (("2"
                                                                                                        (case
                                                                                                         "NOT FORALL (jj:nat): polynomial(BB,ii-1+jj)(x) = (-thisterm)*x^(ii-1)*polynomial(h,jj)(x)")
                                                                                                        (("1"
                                                                                                          (induct
                                                                                                           "jj")
                                                                                                          (("1"
                                                                                                            (assert)
                                                                                                            (("1"
                                                                                                              (rewrite
                                                                                                               "polynomial_n0")
                                                                                                              (("1"
                                                                                                                (assert)
                                                                                                                (("1"
                                                                                                                  (rewrite
                                                                                                                   "polynomial_rec"
                                                                                                                   1)
                                                                                                                  (("1"
                                                                                                                    (invoke
                                                                                                                     (case
                                                                                                                      "NOT %1 = %2")
                                                                                                                     (!
                                                                                                                      1
                                                                                                                      1
                                                                                                                      2)
                                                                                                                     (!
                                                                                                                      1
                                                                                                                      2))
                                                                                                                    (("1"
                                                                                                                      (expand
                                                                                                                       "BB"
                                                                                                                       1)
                                                                                                                      (("1"
                                                                                                                        (propax)
                                                                                                                        nil
                                                                                                                        nil))
                                                                                                                      nil)
                                                                                                                     ("2"
                                                                                                                      (replaces
                                                                                                                       -1)
                                                                                                                      (("2"
                                                                                                                        (assert)
                                                                                                                        (("2"
                                                                                                                          (expand
                                                                                                                           "polynomial"
                                                                                                                           1)
                                                                                                                          (("2"
                                                                                                                            (rewrite
                                                                                                                             "sigma_restrict_eq_0")
                                                                                                                            (("2"
                                                                                                                              (skosimp*)
                                                                                                                              (("2"
                                                                                                                                (expand
                                                                                                                                 "BB"
                                                                                                                                 1)
                                                                                                                                (("2"
                                                                                                                                  (lift-if)
                                                                                                                                  (("2"
                                                                                                                                    (ground)
                                                                                                                                    nil
                                                                                                                                    nil))
                                                                                                                                  nil))
                                                                                                                                nil))
                                                                                                                              nil))
                                                                                                                            nil))
                                                                                                                          nil))
                                                                                                                        nil))
                                                                                                                      nil))
                                                                                                                    nil)
                                                                                                                   ("2"
                                                                                                                    (case
                                                                                                                     "ii = 1")
                                                                                                                    (("1"
                                                                                                                      (replaces
                                                                                                                       -1)
                                                                                                                      (("1"
                                                                                                                        (assert)
                                                                                                                        (("1"
                                                                                                                          (rewrite
                                                                                                                           "polynomial_n0")
                                                                                                                          (("1"
                                                                                                                            (assert)
                                                                                                                            (("1"
                                                                                                                              (expand
                                                                                                                               "BB"
                                                                                                                               2)
                                                                                                                              (("1"
                                                                                                                                (case
                                                                                                                                 "x^0 = 1")
                                                                                                                                (("1"
                                                                                                                                  (assert)
                                                                                                                                  nil
                                                                                                                                  nil)
                                                                                                                                 ("2"
                                                                                                                                  (hide-all-but
                                                                                                                                   1)
                                                                                                                                  (("2"
                                                                                                                                    (grind)
                                                                                                                                    nil
                                                                                                                                    nil))
                                                                                                                                  nil))
                                                                                                                                nil))
                                                                                                                              nil))
                                                                                                                            nil))
                                                                                                                          nil))
                                                                                                                        nil))
                                                                                                                      nil)
                                                                                                                     ("2"
                                                                                                                      (assert)
                                                                                                                      nil
                                                                                                                      nil))
                                                                                                                    nil))
                                                                                                                  nil))
                                                                                                                nil))
                                                                                                              nil))
                                                                                                            nil)
                                                                                                           ("2"
                                                                                                            (skosimp*)
                                                                                                            (("2"
                                                                                                              (assert)
                                                                                                              (("2"
                                                                                                                (rewrite
                                                                                                                 "polynomial_rec"
                                                                                                                 1)
                                                                                                                (("2"
                                                                                                                  (replace
                                                                                                                   -1)
                                                                                                                  (("2"
                                                                                                                    (lemma
                                                                                                                     "polynomial_rec")
                                                                                                                    (("2"
                                                                                                                      (inst
                                                                                                                       -
                                                                                                                       "h"
                                                                                                                       "1+j!1"
                                                                                                                       "x")
                                                                                                                      (("2"
                                                                                                                        (assert)
                                                                                                                        (("2"
                                                                                                                          (replaces
                                                                                                                           -1)
                                                                                                                          (("2"
                                                                                                                            (assert)
                                                                                                                            (("2"
                                                                                                                              (lemma
                                                                                                                               "expt_plus")
                                                                                                                              (("2"
                                                                                                                                (case
                                                                                                                                 "NOT x ^ (ii - 1) * x ^ (1 + j!1) = x^(ii+j!1)")
                                                                                                                                (("1"
                                                                                                                                  (case
                                                                                                                                   "x/=0")
                                                                                                                                  (("1"
                                                                                                                                    (inst
                                                                                                                                     -
                                                                                                                                     "ii-1"
                                                                                                                                     "1+j!1"
                                                                                                                                     "x")
                                                                                                                                    (("1"
                                                                                                                                      (assert)
                                                                                                                                      nil
                                                                                                                                      nil))
                                                                                                                                    nil)
                                                                                                                                   ("2"
                                                                                                                                    (flatten)
                                                                                                                                    (("2"
                                                                                                                                      (replaces
                                                                                                                                       -1)
                                                                                                                                      (("2"
                                                                                                                                        (hide-all-but
                                                                                                                                         1)
                                                                                                                                        (("2"
                                                                                                                                          (grind)
                                                                                                                                          nil
                                                                                                                                          nil))
                                                                                                                                        nil))
                                                                                                                                      nil))
                                                                                                                                    nil))
                                                                                                                                  nil)
                                                                                                                                 ("2"
                                                                                                                                  (assert)
                                                                                                                                  (("2"
                                                                                                                                    (expand
                                                                                                                                     "BB"
                                                                                                                                     1)
                                                                                                                                    (("2"
                                                                                                                                      (assert)
                                                                                                                                      (("2"
                                                                                                                                        (hide-all-but
                                                                                                                                         (-1
                                                                                                                                          1))
                                                                                                                                        (("2"
                                                                                                                                          (mult-by
                                                                                                                                           -1
                                                                                                                                           "h(1+j!1)*(-thisterm)")
                                                                                                                                          (("2"
                                                                                                                                            (assert)
                                                                                                                                            nil
                                                                                                                                            nil))
                                                                                                                                          nil))
                                                                                                                                        nil))
                                                                                                                                      nil))
                                                                                                                                    nil))
                                                                                                                                  nil))
                                                                                                                                nil))
                                                                                                                              nil))
                                                                                                                            nil))
                                                                                                                          nil))
                                                                                                                        nil))
                                                                                                                      nil))
                                                                                                                    nil))
                                                                                                                  nil))
                                                                                                                nil))
                                                                                                              nil))
                                                                                                            nil))
                                                                                                          nil)
                                                                                                         ("2"
                                                                                                          (inst
                                                                                                           -
                                                                                                           "m")
                                                                                                          (("2"
                                                                                                            (replaces
                                                                                                             -1)
                                                                                                            (("2"
                                                                                                              (case
                                                                                                               "NOT polynomial(ldt`quot WITH [(ii - 1) := thisterm], n - m)(x) + (-thisterm)*x^(ii-1) = polynomial(ldt`quot,n-m)(x)")
                                                                                                              (("1"
                                                                                                                (name
                                                                                                                 "RD"
                                                                                                                 "LAMBDA (k:nat): IF k=ii-1 THEN -thisterm ELSE 0 endif")
                                                                                                                (("1"
                                                                                                                  (case
                                                                                                                   "NOT polynomial(RD,n-m)(x) = (-thisterm)*x^(ii-1)")
                                                                                                                  (("1"
                                                                                                                    (case
                                                                                                                     "NOT n-m >=ii-1")
                                                                                                                    (("1"
                                                                                                                      (assert)
                                                                                                                      nil
                                                                                                                      nil)
                                                                                                                     ("2"
                                                                                                                      (hide-all-but
                                                                                                                       (-1
                                                                                                                        1))
                                                                                                                      (("2"
                                                                                                                        (expand
                                                                                                                         "polynomial")
                                                                                                                        (("2"
                                                                                                                          (lemma
                                                                                                                           "sigma_eq_one_arg")
                                                                                                                          (("2"
                                                                                                                            (inst?)
                                                                                                                            (("2"
                                                                                                                              (inst
                                                                                                                               -
                                                                                                                               "ii-1")
                                                                                                                              (("2"
                                                                                                                                (assert)
                                                                                                                                (("2"
                                                                                                                                  (split
                                                                                                                                   -)
                                                                                                                                  (("1"
                                                                                                                                    (replaces
                                                                                                                                     -1)
                                                                                                                                    (("1"
                                                                                                                                      (expand
                                                                                                                                       "RD")
                                                                                                                                      (("1"
                                                                                                                                        (grind)
                                                                                                                                        nil
                                                                                                                                        nil))
                                                                                                                                      nil))
                                                                                                                                    nil)
                                                                                                                                   ("2"
                                                                                                                                    (hide
                                                                                                                                     2)
                                                                                                                                    (("2"
                                                                                                                                      (skosimp*)
                                                                                                                                      (("2"
                                                                                                                                        (expand
                                                                                                                                         "RD")
                                                                                                                                        (("2"
                                                                                                                                          (lift-if)
                                                                                                                                          (("2"
                                                                                                                                            (ground)
                                                                                                                                            nil
                                                                                                                                            nil))
                                                                                                                                          nil))
                                                                                                                                        nil))
                                                                                                                                      nil))
                                                                                                                                    nil)
                                                                                                                                   ("3"
                                                                                                                                    (hide
                                                                                                                                     2)
                                                                                                                                    (("3"
                                                                                                                                      (skosimp*)
                                                                                                                                      (("3"
                                                                                                                                        (expand
                                                                                                                                         "RD")
                                                                                                                                        (("3"
                                                                                                                                          (ground)
                                                                                                                                          nil
                                                                                                                                          nil))
                                                                                                                                        nil))
                                                                                                                                      nil))
                                                                                                                                    nil))
                                                                                                                                  nil))
                                                                                                                                nil))
                                                                                                                              nil))
                                                                                                                            nil))
                                                                                                                          nil))
                                                                                                                        nil))
                                                                                                                      nil))
                                                                                                                    nil)
                                                                                                                   ("2"
                                                                                                                    (replaces
                                                                                                                     -1
                                                                                                                     :dir
                                                                                                                     rl)
                                                                                                                    (("2"
                                                                                                                      (rewrite
                                                                                                                       "sum_polynomial_eq_degree_eval")
                                                                                                                      (("2"
                                                                                                                        (rewrite
                                                                                                                         "poly_eq_le_degree")
                                                                                                                        (("2"
                                                                                                                          (hide-all-but
                                                                                                                           (-1
                                                                                                                            1))
                                                                                                                          (("2"
                                                                                                                            (skosimp*)
                                                                                                                            (("2"
                                                                                                                              (expand
                                                                                                                               "+")
                                                                                                                              (("2"
                                                                                                                                (expand
                                                                                                                                 "RD"
                                                                                                                                 +)
                                                                                                                                (("2"
                                                                                                                                  (lift-if)
                                                                                                                                  (("2"
                                                                                                                                    (ground)
                                                                                                                                    (("2"
                                                                                                                                      (case-replace
                                                                                                                                       "-thisterm+thisterm=0")
                                                                                                                                      (("1"
                                                                                                                                        (hide
                                                                                                                                         -1)
                                                                                                                                        (("1"
                                                                                                                                          (expand
                                                                                                                                           "ldt"
                                                                                                                                           +)
                                                                                                                                          (("1"
                                                                                                                                            (replaces
                                                                                                                                             -1)
                                                                                                                                            (("1"
                                                                                                                                              (case
                                                                                                                                               "FORALL (kk:nat): kk<=n-m AND n-m-kk > ii-1 IMPLIES poly_divide(g,n)(h,m)(n-m-kk)`quot(ii-1)=0")
                                                                                                                                              (("1"
                                                                                                                                                (inst
                                                                                                                                                 -
                                                                                                                                                 "(n-m)-ii")
                                                                                                                                                (("1"
                                                                                                                                                  (assert)
                                                                                                                                                  nil
                                                                                                                                                  nil))
                                                                                                                                                nil)
                                                                                                                                               ("2"
                                                                                                                                                (hide
                                                                                                                                                 2)
                                                                                                                                                (("2"
                                                                                                                                                  (induct
                                                                                                                                                   "kk")
                                                                                                                                                  (("1"
                                                                                                                                                    (assert)
                                                                                                                                                    (("1"
                                                                                                                                                      (expand
                                                                                                                                                       "poly_divide"
                                                                                                                                                       +)
                                                                                                                                                      (("1"
                                                                                                                                                        (expand
                                                                                                                                                         "make_divtype"
                                                                                                                                                         +)
                                                                                                                                                        (("1"
                                                                                                                                                          (reveal
                                                                                                                                                           "mz")
                                                                                                                                                          (("1"
                                                                                                                                                            (assert)
                                                                                                                                                            nil
                                                                                                                                                            nil))
                                                                                                                                                          nil))
                                                                                                                                                        nil))
                                                                                                                                                      nil))
                                                                                                                                                    nil)
                                                                                                                                                   ("2"
                                                                                                                                                    (skeep)
                                                                                                                                                    (("2"
                                                                                                                                                      (assert)
                                                                                                                                                      (("2"
                                                                                                                                                        (expand
                                                                                                                                                         "poly_divide"
                                                                                                                                                         +)
                                                                                                                                                        (("2"
                                                                                                                                                          (expand
                                                                                                                                                           "make_divtype"
                                                                                                                                                           +)
                                                                                                                                                          (("2"
                                                                                                                                                            (reveal
                                                                                                                                                             "mz")
                                                                                                                                                            (("2"
                                                                                                                                                              (assert)
                                                                                                                                                              nil
                                                                                                                                                              nil))
                                                                                                                                                            nil))
                                                                                                                                                          nil))
                                                                                                                                                        nil))
                                                                                                                                                      nil))
                                                                                                                                                    nil)
                                                                                                                                                   ("3"
                                                                                                                                                    (skosimp*)
                                                                                                                                                    (("3"
                                                                                                                                                      (assert)
                                                                                                                                                      nil
                                                                                                                                                      nil))
                                                                                                                                                    nil))
                                                                                                                                                  nil))
                                                                                                                                                nil)
                                                                                                                                               ("3"
                                                                                                                                                (skosimp*)
                                                                                                                                                (("3"
                                                                                                                                                  (assert)
                                                                                                                                                  nil
                                                                                                                                                  nil))
                                                                                                                                                nil))
                                                                                                                                              nil))
                                                                                                                                            nil))
                                                                                                                                          nil))
                                                                                                                                        nil)
                                                                                                                                       ("2"
                                                                                                                                        (assert)
                                                                                                                                        nil
                                                                                                                                        nil))
                                                                                                                                      nil))
                                                                                                                                    nil))
                                                                                                                                  nil))
                                                                                                                                nil))
                                                                                                                              nil))
                                                                                                                            nil))
                                                                                                                          nil))
                                                                                                                        nil))
                                                                                                                      nil))
                                                                                                                    nil))
                                                                                                                  nil))
                                                                                                                nil)
                                                                                                               ("2"
                                                                                                                (case
                                                                                                                 "NOT ldt`qdeg = n-m")
                                                                                                                (("1"
                                                                                                                  (expand
                                                                                                                   "ldt"
                                                                                                                   1)
                                                                                                                  (("1"
                                                                                                                    (expand
                                                                                                                     "poly_divide"
                                                                                                                     +)
                                                                                                                    (("1"
                                                                                                                      (expand
                                                                                                                       "make_divtype"
                                                                                                                       +)
                                                                                                                      (("1"
                                                                                                                        (propax)
                                                                                                                        nil
                                                                                                                        nil))
                                                                                                                      nil))
                                                                                                                    nil))
                                                                                                                  nil)
                                                                                                                 ("2"
                                                                                                                  (reveal
                                                                                                                   "mz")
                                                                                                                  (("2"
                                                                                                                    (assert)
                                                                                                                    (("2"
                                                                                                                      (replaces
                                                                                                                       -1)
                                                                                                                      (("2"
                                                                                                                        (replaces
                                                                                                                         -1
                                                                                                                         :dir
                                                                                                                         rl)
                                                                                                                        (("2"
                                                                                                                          (assert)
                                                                                                                          nil
                                                                                                                          nil))
                                                                                                                        nil))
                                                                                                                      nil))
                                                                                                                    nil))
                                                                                                                  nil))
                                                                                                                nil))
                                                                                                              nil))
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil)
                                                                                             ("3"
                                                                                              (skosimp*)
                                                                                              (("3"
                                                                                                (assert)
                                                                                                nil
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil)
                                                                                   ("2"
                                                                                    (skosimp*)
                                                                                    (("2"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    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))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil)
                     ("2" (assertnil nil))
                    nil))
                  nil))
                nil))
              nil))
            nil)
           ("4" (skosimp*) (("4" (assertnil nil)) nil))
          nil))
        nil))
      nil)
     ("3" (skosimp*) (("3" (assertnil nil)) nil))
    nil)
   ((pred type-eq-decl nil defined_types nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (m skolem-const-decl "nat" polynomial_division nil)
    (n skolem-const-decl "nat" polynomial_division nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (ii skolem-const-decl "int" polynomial_division nil)
    (RD skolem-const-decl "[nat -> real]" polynomial_division nil)
    (BB skolem-const-decl "[nat -> real]" polynomial_division nil)
    (odd_minus_even_is_odd application-judgement "odd_int" integers
     nil)
    (expt_plus formula-decl nil exponentiation nil)
    (both_sides_times1_imp formula-decl nil extra_real_props nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (x skolem-const-decl "real" polynomial_division nil)
    (nzreal_exp application-judgement "nzreal" exponentiation nil)
    (nzrat_div_nzrat_is_nzrat application-judgement "nzrat" rationals
     nil)
    (nat_expt application-judgement "nat" exponentiation nil)
    (nat_exp application-judgement "nat" exponentiation nil)
    (ldt skolem-const-decl "DivType" polynomial_division nil)
    (AA skolem-const-decl "[nat -> real]" polynomial_division nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (odd_minus_odd_is_even application-judgement "even_int" integers
     nil)
    (m skolem-const-decl "nat" polynomial_division nil)
    (n skolem-const-decl "nat" polynomial_division nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (expt def-decl "real" exponentiation nil)
    (^ const-decl "real" exponentiation nil)
    (* const-decl "[T -> real]" real_fun_ops "reals/")
    (polynomial_n0 formula-decl nil polynomials "reals/")
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (const_fun const-decl "[T -> real]" real_fun_ops "reals/")
    (poly_eq_le_degree formula-decl nil polynomials "reals/")
    (* const-decl "[T -> real]" real_fun_ops "reals/")
    (scal_polynomial formula-decl nil polynomials "reals/")
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (TRUE const-decl "bool" booleans nil)
    (id const-decl "(bijective?[T, T])" identity nil)
    (bijective? const-decl "bool" functions nil)
    (> const-decl "bool" reals nil) (< const-decl "bool" reals nil)
    (IFF const-decl "[bool, bool -> bool]" booleans nil)
    (IF const-decl "[boolean, T, T -> T]" if_def nil)
    (mul_x_to_n_polynomial formula-decl nil polynomials "reals/")
    (n skolem-const-decl "nat" polynomial_division nil)
    (m skolem-const-decl "nat" polynomial_division nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (polynomial_rec formula-decl nil polynomials "reals/")
    (sum_polynomial_eq_degree_eval formula-decl nil polynomials
     "reals/")
    (+ const-decl "[T -> real]" real_fun_ops "reals/")
    (sigma_scal_right formula-decl nil sigma "reals/")
    (sigma_sum formula-decl nil sigma "reals/")
    (sigma_eq formula-decl nil sigma "reals/")
    (sigma_scal formula-decl nil sigma "reals/")
    (sigma_eq_one_arg formula-decl nil sigma "reals/")
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (T_high type-eq-decl nil sigma "reals/")
    (T_low type-eq-decl nil sigma "reals/")
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (sigma_restrict_eq_0 formula-decl nil sigma "reals/")
    (NOT const-decl "[bool -> bool]" booleans nil)
    (int_plus_int_is_int application-judgement "int" integers nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (sigma def-decl "real" sigma "reals/")
    (make_divtype const-decl "DivType" polynomial_division nil)
    (n skolem-const-decl "nat" polynomial_division nil)
    (m skolem-const-decl "nat" polynomial_division nil)
    (i skolem-const-decl "nat" polynomial_division nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (real_plus_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)
    (sequence type-eq-decl nil sequences nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (/= const-decl "boolean" notequal nil)
    (<= const-decl "bool" reals nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (DivType type-eq-decl nil polynomial_division nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (polynomial const-decl "[real -> real]" polynomials "reals/")
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (poly_divide def-decl "DivType" polynomial_division nil))
   shostak))
 (poly_divide_struct 0
  (poly_divide_struct-1 nil 3582556619
   ("" (skeep)
    (("" (skoletin 2)
      (("" (flatten)
        (("" (case "m = 0")
          (("1" (assert)
            (("1" (hide 2)
              (("1" (expand "poly_divide")
                (("1" (assert)
                  (("1" (replaces -1)
                    (("1" (assert)
                      (("1" (expand "make_divtype")
                        (("1" (replaces -1) (("1" (assertnil nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil)
           ("2" (hide 2)
            (("2" (assert)
              (("2" (case "m<=n")
                (("1" (expand "poly_divide")
                  (("1" (expand "make_divtype")
                    (("1" (replaces -2) (("1" (assertnil nil)) nil))
                    nil))
                  nil)
                 ("2" (assert)
                  (("2" (expand "poly_divide")
                    (("2" (expand "make_divtype")
                      (("2" (replaces -1) (("2" (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)
    (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 "boolean" notequal nil)
    (number nonempty-type-decl nil numbers nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (boolean nonempty-type-decl nil booleans nil)
    (IFF const-decl "[bool, bool -> bool]" booleans nil)
    (DivType type-eq-decl nil polynomial_division nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (poly_divide def-decl "DivType" polynomial_division nil)
    (< const-decl "bool" reals nil) (> const-decl "bool" reals nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (make_divtype const-decl "DivType" polynomial_division nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_div_nzreal_is_real application-judgement "real" reals 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)
    (<= const-decl "bool" reals nil))
   shostak))
 (poly_divide_lengths 0
  (poly_divide_lengths-1 nil 3583064979
   ("" (skeep)
    (("" (skoletin 2)
      (("" (expand "poly_divide" :assert? none)
        (("" (expand "make_divtype")
          (("" (lift-if)
            (("" (assert)
              (("" (split -)
                (("1" (ground) nil nil)
                 ("2" (flatten)
                  (("2" (split -)
                    (("1" (flatten)
                      (("1" (replace -1) (("1" (assertnil nil)) nil))
                      nil)
                     ("2" (flatten)
                      (("2" (replaces -1)
                        (("2" (assert)
                          (("2" (split -)
                            (("1" (flatten)
                              (("1"
                                (replaces -1)
                                (("1" (assertnil nil))
                                nil))
                              nil)
                             ("2" (flatten) (("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)
    (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 "boolean" notequal nil)
    (number nonempty-type-decl nil numbers nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (boolean nonempty-type-decl nil booleans nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (IFF const-decl "[bool, bool -> bool]" booleans nil)
    (DivType type-eq-decl nil polynomial_division nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (poly_divide def-decl "DivType" polynomial_division nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (> const-decl "bool" reals nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (<= const-decl "bool" reals nil)
    (IF const-decl "[boolean, T, T -> T]" if_def nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (make_divtype const-decl "DivType" polynomial_division nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_gt_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)
    (int_plus_int_is_int application-judgement "int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil))
   shostak)))


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

¤ Dauer der Verarbeitung: 0.95 Sekunden  (vorverarbeitet am  2026-04-29) ¤

*© Formatika GbR, Deutschland






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