(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 nil) nil
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" (assert) nil 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" (assert) nil 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" (assert) nil 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" (assert) nil 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" (assert) nil nil)
("2" (assert)
(("2" (skeep)
(("2" (inst?)
(("1" (assert) nil nil) ("2" (assert) nil 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" (assert) nil nil)
("2"
(case "ii = 0")
(("1" (assert) nil nil)
("2"
(replaces -1)
(("2"
(replaces -1)
(("2"
(case "ii<=0")
(("1"
(expand "ii" -1)
(("1" (assert) nil 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"
--> --------------------
--> maximum size reached
--> --------------------
¤ Dauer der Verarbeitung: 0.63 Sekunden
(vorverarbeitet)
¤
|
Laden
Fehler beim Verzeichnis:
in der Quellcodebibliothek suchen
Die farbliche Syntaxdarstellung ist noch experimentell.
|