(exp_term
(exp_term_TCC1 0
(exp_term_TCC1-1 nil 3320227930
("" (skosimp) (("" (assert ) nil nil )) nil )
((real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
shostak))
(exp_term_power_TCC1 0
(exp_term_power_TCC1-1 nil 3320473217
("" (skosimp) (("" (assert ) nil nil )) nil )
((real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
shostak))
(exp_term_power 0
(exp_term_power-1 nil 3320469433
("" (induct "m" )
(("1" (skosimp)
(("1" (rewrite "expt_x0" )
(("1" (expand "exp_term" )
(("1" (expand "abs" ) (("1" (assert ) nil nil )) nil )) nil ))
nil ))
nil )
("2" (skosimp*)
(("2" (inst - "a!1" "n!1" )
(("2" (assert )
(("2" (case "abs(exp_term(a!1)(n!1)) /= 0" )
(("1" (rewrite "expt_plus" 2)
(("1" (rewrite "expt_x1" 2)
(("1"
(case "abs(exp_term(a!1)(j!1 * n!1 + n!1)) <= abs(exp_term(a!1)(n!1)) * abs(exp_term(a!1)(j!1 * n!1))" )
(("1" (assert )
(("1"
(lemma "both_sides_times_pos_le1"
("pz" "abs(exp_term(a!1)(n!1))" "x"
"abs(exp_term(a!1)(j!1 * n!1))" "y"
"abs(exp_term(a!1)(n!1)) ^ j!1" ))
(("1" (assert ) nil nil )) nil ))
nil )
("2" (hide 3 -2)
(("2" (expand "exp_term" )
(("2" (case-replace "n!1=0" )
(("1" (assert )
(("1" (expand "abs" ) (("1" (assert ) nil nil ))
nil ))
nil )
("2" (assert )
(("2" (case-replace "j!1=0" )
(("1" (assert )
(("1"
(expand "abs" 2 3)
(("1" (assert ) nil nil ))
nil ))
nil )
("2" (assert )
(("2"
(rewrite "abs_mult" 3 :dir rl)
(("2"
(rewrite "div_times" 3)
(("2"
(rewrite "expt_plus" 3 :dir rl)
(("2"
(rewrite "abs_div" 3)
(("2"
(rewrite "abs_div" 3)
(("2"
(expand "abs" 3 4)
(("2"
(expand "abs" 3 2)
(("2"
(rewrite
"abs_expt"
3
:dir
rl)
(("2"
(case "abs(a!1)>0" )
(("1"
(lemma
"expt_pos"
("px"
"abs(a!1)"
"i"
"(j!1+1)*n!1" ))
(("1"
(lemma
"posreal_times_posreal_is_posreal"
("px"
"factorial(n!1)"
"py"
"factorial(j!1 * n!1)" ))
(("1"
(lemma
"both_sides_div_pos_lt2"
("px"
"factorial(j!1 * n!1 + n!1)"
"pz"
"abs(a!1) ^ (j!1 * n!1 + n!1)"
"py"
"factorial(n!1) * factorial(j!1 * n!1)" ))
(("1"
(assert )
(("1"
(hide
4
5
-2
-3
6)
(("1"
(case
"forall (pn,pm:posnat): factorial(pm)*factorial(pn) < factorial(pn+pm)" )
(("1"
(inst
-
"n!1"
"j!1*n!1" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(hide-all-but
1)
(("2"
(induct
"pn" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil )
("3"
(skosimp*)
(("3"
(case-replace
"j!2=0" )
(("1"
(expand
"factorial"
1
2)
(("1"
(expand
"factorial"
1
3)
(("1"
(expand
"factorial"
1
1)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(inst
-
"pm!1" )
(("2"
(expand
"factorial"
2
3)
(("2"
(expand
"factorial"
2
2)
(("2"
(lemma
"lt_times_lt_pos1"
("px"
"factorial(pm!1) * factorial(j!2)"
"y"
"factorial(pm!1 + j!2)"
"nnz"
"1+j!2"
"w"
"1+j!2+pm!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(propax)
nil
nil ))
nil )
("2"
(expand "abs" )
(("2"
(case-replace
"a!1<0" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (1 2))
(("2" (expand "exp_term" )
(("2" (case-replace "n!1=0" )
(("1" (expand "abs" ) (("1" (assert ) nil nil )) nil )
("2" (assert )
(("2" (rewrite "abs_div" )
(("2" (expand "abs" -1 2)
(("2" (rewrite "abs_expt" -1 :dir rl)
(("2"
(lemma "expt_nonzero"
("n0x" "abs(a!1)" "i" "n!1" ))
(("1" (assert ) nil nil )
("2" (expand "abs" )
(("2"
(case-replace "a!1<0" )
(("1" (assert ) nil nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nnreal_exp application-judgement "nnreal" exponentiation nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(expt_nonzero formula-decl nil exponentiation nil )
(nzreal nonempty-type-eq-decl nil reals nil )
(expt_plus formula-decl nil exponentiation nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(both_sides_times_pos_le1 formula-decl nil real_props nil )
(> const-decl "bool" reals nil )
(posreal nonempty-type-eq-decl nil real_types 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 )
(nonzero_real nonempty-type-eq-decl nil reals nil )
(div_times formula-decl nil real_props nil )
(posint_times_posint_is_posint application-judgement "posint"
integers nil )
(abs_div formula-decl nil real_props nil )
(nnreal_div_posreal_is_nnreal application-judgement "nnreal"
real_types nil )
(abs_expt formula-decl nil exponentiation nil )
(minus_real_is_real application-judgement "real" reals nil )
(expt_pos formula-decl nil exponentiation nil )
(both_sides_div_pos_lt2 formula-decl nil real_props nil )
(lt_times_lt_pos1 formula-decl nil real_props nil )
(even_plus_odd_is_odd application-judgement "odd_int" integers nil )
(factorial_0 formula-decl nil factorial "ints/" )
(< const-decl "bool" reals nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(posreal_times_posreal_is_posreal judgement-tcc nil real_types nil )
(abs_mult formula-decl nil real_props nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(factorial def-decl "posnat" factorial "ints/" )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(real_times_real_is_real application-judgement "real" reals nil )
(int_times_even_is_even application-judgement "even_int" integers
nil )
(even_plus_even_is_even application-judgement "even_int" integers
nil )
(nzrat_abs_is_pos application-judgement "{r: posrat | r >= q}"
real_defs nil )
(int_abs_is_nonneg application-judgement "{j: nonneg_int | j >= i}"
real_defs nil )
(nzint_abs_is_pos application-judgement "{j: posint | j >= i}"
real_defs nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(expt_x1 formula-decl nil exponentiation nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(expt_x0 formula-decl nil exponentiation nil )
(nat_induction formula-decl nil naturalnumbers nil )
(^ const-decl "real" exponentiation nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(exp_term const-decl "real" exp_term nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(<= const-decl "bool" reals nil )
(/= const-decl "boolean" notequal nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(mult_divides2 application-judgement "(divides(m))" divides nil ))
shostak))
(exp_term_decr 0
(exp_term_decr-1 nil 3320472607
("" (skosimp)
(("" (expand "exp_term" )
(("" (case-replace "n!1=0" )
(("1" (expand "factorial" )
(("1" (expand "factorial" )
(("1" (rewrite "expt_x1" )
(("1" (expand "abs" 2 2) (("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (assert )
(("2" (rewrite "abs_div" )
(("2" (rewrite "abs_div" )
(("2" (expand "abs" 3 4)
(("2" (expand "abs" 3 2)
(("2" (rewrite "abs_expt" 3 :dir rl)
(("2" (rewrite "abs_expt" 3 :dir rl)
(("2" (case "0 < abs(a!1)" )
(("1" (rewrite "expt_plus" 3)
(("1" (rewrite "expt_x1" )
(("1" (expand "factorial" 3 1)
(("1"
(lemma
"both_sides_times_pos_lt1"
("x"
"abs(a!1)/(1+n!1)"
"y"
"1"
"pz"
"abs(a!1) ^ n!1 / factorial(n!1)" ))
(("1"
(rewrite "div_times" -1)
(("1"
(assert )
(("1"
(hide 4)
(("1"
(rewrite "div_mult_pos_lt1" 1)
nil
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"expt_pos"
("px" "abs(a!1)" "i" "n!1" ))
(("1"
(rewrite "div_mult_pos_gt1" 1)
(("1" (assert ) nil nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "abs" )
(("2" (case "a!1<0" )
(("1" (assert ) nil nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((real_div_nzreal_is_real application-judgement "real" reals nil )
(exp_term const-decl "real" exp_term nil )
(nzint_abs_is_pos application-judgement "{j: posint | j >= i}"
real_defs nil )
(int_abs_is_nonneg application-judgement "{j: nonneg_int | j >= i}"
real_defs nil )
(nzrat_abs_is_pos application-judgement "{r: posrat | r >= q}"
real_defs nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(minus_real_is_real application-judgement "real" reals nil )
(expt_plus formula-decl nil exponentiation nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(expt_pos formula-decl nil exponentiation nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(div_mult_pos_gt1 formula-decl nil extra_real_props nil )
(div_times formula-decl nil real_props nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(div_mult_pos_lt1 formula-decl nil real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(both_sides_times_pos_lt1 formula-decl nil real_props nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(< const-decl "bool" reals nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(abs_expt formula-decl nil exponentiation nil )
(nzreal nonempty-type-eq-decl nil reals nil )
(nnreal_div_posreal_is_nnreal application-judgement "nnreal"
real_types nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(^ const-decl "real" exponentiation nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(nonzero_real nonempty-type-eq-decl nil reals nil )
(/= const-decl "boolean" notequal nil )
(abs_div formula-decl nil real_props nil )
(posint_times_posint_is_posint application-judgement "posint"
integers nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(factorial def-decl "posnat" factorial "ints/" )
(expt_x1 formula-decl nil exponentiation nil )
(even_plus_odd_is_odd application-judgement "odd_int" integers nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil ))
shostak))
(tends_to_0?_TCC1 0
(tends_to_0?_TCC1-1 nil 3320227935
("" (skosimp*) (("" (assert ) nil nil )) nil )
((real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
shostak))
(exp_tends_to_0 0
(exp_tends_to_0-1 nil 3320228740
("" (skosimp)
(("" (expand "tends_to_0?" )
(("" (skosimp)
(("" (case "EXISTS n: abs(exp_term(n0a!1)(n)) < 1" )
(("1" (skosimp)
(("1" (name "N" "floor(abs(n0a!1)+1)" )
(("1" (lemma "floor_def" ("x" "abs(n0a!1)+1" ))
(("1" (replace -2)
(("1" (flatten)
(("1" (case "N>=1" )
(("1"
(case "FORALL (px: posreal):
px < 1 IMPLIES (FORALL (py:posreal): EXISTS (n:posnat): px^n < py)")
(("1" (case "0<abs(n0a!1)" )
(("1" (case "0<abs(exp_term(n0a!1)(n!1))" )
(("1" (inst - "abs(exp_term(n0a!1)(n!1))" )
(("1"
(assert )
(("1"
(inst - "epsilon!1" )
(("1"
(skosimp)
(("1"
(name "M" "max(N,n!2)*n!1" )
(("1"
(inst + "M" )
(("1"
(skosimp)
(("1"
(case
"forall (n:nat): abs(exp_term(n0a!1)(M+n)) <= abs(exp_term(n0a!1)(M))" )
(("1"
(inst - "i!1-M" )
(("1"
(assert )
(("1"
(lemma
"exp_term_power"
("a"
"n0a!1"
"n"
"n!1"
"m"
"max(N,n!2)" ))
(("1"
(replace -3)
(("1"
(lemma
"both_sides_expt_lt1_le"
("lt1x"
"abs(exp_term(n0a!1)(n!1))"
"i"
"max(N,n!2)"
"j"
"n!2" ))
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "M" )
(("2"
(expand "max" )
(("2"
(case-replace
"N<=n!2" )
(("1"
(assert )
(("1"
(case-replace
"N<n!2" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2 -4)
(("2"
(induct "n" )
(("1" (assert ) nil nil )
("2"
(skosimp*)
(("2"
(expand "exp_term" )
(("2"
(lemma
"expt_plus"
("n0x"
"n0a!1"
"i"
"1"
"j"
"M+j!1" ))
(("2"
(rewrite
"expt_x1" )
(("2"
(replace -1)
(("2"
(hide -1)
(("2"
(expand
"factorial"
1
1)
(("2"
(assert )
(("2"
(case
"M >=1" )
(("1"
(assert )
(("1"
(rewrite
"abs_div"
1)
(("1"
(rewrite
"abs_div"
1)
(("1"
(rewrite
"abs_div"
-2)
(("1"
(expand
"abs"
-2
4)
(("1"
(expand
"abs"
-2
2)
(("1"
(expand
"abs"
1
4)
(("1"
(lemma
"posreal_times_posreal_is_posreal"
("px"
"1+M+j!1"
"py"
"factorial(M + j!1)" ))
(("1"
(expand
"abs"
1
2)
(("1"
(assert )
(("1"
(rewrite
"abs_mult"
1)
(("1"
(lemma
"le_times_le_pos"
("nnx"
"abs(n0a!1)/(1+M+j!1)"
"y"
"1"
"nnz"
"abs(n0a!1 ^ (M + j!1)) / factorial(M + j!1)"
"w"
"abs(n0a!1 ^ M) / factorial(M)" ))
(("1"
(assert )
(("1"
(split
-1)
(("1"
(assert )
(("1"
(rewrite
"div_times"
-1)
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(hide
-1
2)
(("2"
(rewrite
"div_mult_pos_le1"
1)
(("2"
(expand
"M" )
(("2"
(expand
"max" )
(("2"
(case-replace
"N<=n!2" )
(("1"
(assert )
(("1"
(lemma
"le_times_le_pos"
("nnx"
"1"
"y"
"n!1"
"nnz"
"N"
"w"
"n!2" ))
(("1"
(assert )
(("1"
(case-replace
"N<n!2" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(lemma
"both_sides_times_pos_le1"
("pz"
"N"
"x"
"1"
"y"
"n!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"M" )
(("2"
(expand
"max" )
(("2"
(case-replace
"N<=n!2" )
(("1"
(case-replace
"N<n!2" )
(("1"
(assert )
(("1"
(case-replace
"n!1=0" )
(("1"
(assert )
nil
nil )
("2"
(lemma
"posreal_times_posreal_is_posreal"
("px"
"n!2"
"py"
"n!1" ))
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(case-replace
"n!1=0" )
(("1"
(assert )
nil
nil )
("2"
(assert )
(("2"
(lemma
"posreal_times_posreal_is_posreal"
("px"
"N"
"py"
"n!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(lemma
"posreal_times_posreal_is_posreal"
("px"
"N"
"py"
"n!1" ))
(("1"
(assert )
nil
nil )
("2"
(case-replace
"n!1=0" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil )
("2" (hide-all-but (-1 1))
(("2"
(expand "exp_term" )
(("2"
(rewrite "abs_div" )
(("2"
(case-replace "n!1=0" )
(("1"
(expand "abs" )
(("1" (assert ) nil nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but 1)
(("2" (expand "abs" )
(("2"
(case-replace "n0a!1 < 0" )
(("1" (assert ) nil nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but 1)
(("2" (skosimp)
(("2" (lemma "small_expt" ("px" "px!1" ))
(("2"
(assert )
(("2"
(skosimp*)
(("2"
(inst - "py!1" )
(("2"
(skosimp)
(("2"
(case-replace "n!2=0" )
(("1"
(assert )
(("1"
(expand "expt" )
(("1"
(inst + "1" )
(("1"
(rewrite "expt_x1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst + "n!2" )
(("1"
(expand "^" )
(("1" (propax) nil nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2"
(case "FORALL (n: nat, pn: posnat): pn ^ n <= factorial(pn + n)" )
(("1" (lemma "floor_def" ("x" "abs(n0a!1) + 1" ))
(("1" (flatten)
(("1" (expand "exp_term" )
(("1" (name-replace "N" "floor(abs(n0a!1) + 1)" )
(("1" (case "N>=1" )
(("1" (assert )
(("1" (inst + "2*N*N" )
(("1"
(lemma "both_sides_times_pos_le1"
("pz" "N" "x" "1" "y" "N" ))
(("1"
(assert )
(("1"
(rewrite "abs_div" 1)
(("1"
(expand "abs" 1 2)
(("1"
(rewrite "div_mult_pos_lt1" 1)
(("1"
(rewrite "abs_expt" 1 :dir rl)
(("1"
(rewrite "expt_times" 1)
(("1"
(inst - "N*N" "N*N" )
(("1"
(lemma
"both_sides_expt_pos_lt"
("px"
"abs(n0a!1)^2"
"py"
"N*N"
"pm"
"N*N" ))
(("1"
(assert )
(("1"
(hide 2 -5 -1)
(("1"
(expand "^" )
(("1"
(expand "expt" )
(("1"
(expand "expt" )
(("1"
(expand
"expt" )
(("1"
(lemma
"lt_times_lt_pos1"
("px"
"abs(n0a!1)"
"y"
"N"
"nnz"
"abs(n0a!1)"
"w"
"N" ))
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (induct "n" )
(("1" (skosimp)
(("1" (rewrite "expt_x0" ) (("1" (assert ) nil nil ))
nil ))
nil )
("2" (skosimp*)
(("2" (inst - "pn!1" )
(("2" (rewrite "expt_plus" )
(("2" (expand "factorial" 1)
(("2"
(lemma "lt_times_lt_pos1"
("px" "pn!1 ^ j!1" "y"
"factorial(pn!1 + j!1)" "nnz" "pn!1" "w"
"1+j!1+pn!1" ))
(("2" (rewrite "expt_x1" 1)
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((tends_to_0? const-decl "bool" exp_term nil )
(nzreal nonempty-type-eq-decl nil reals nil )
(/= const-decl "boolean" notequal nil )
(exp_term const-decl "real" exp_term nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(< const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(nonzero_abs_is_pos application-judgement "{y: posreal | y >= x}"
real_defs nil )
(posreal_plus_nnreal_is_posreal application-judgement "posreal"
real_types nil )
(nonneg_floor_is_nat application-judgement "nat" floor_ceil nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(integer nonempty-type-from-decl nil integers nil )
(<= const-decl "bool" reals nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(floor const-decl "{i | i <= x & x < i + 1}" floor_ceil nil )
(small_expt formula-decl nil exponentiation nil )
(n!2 skolem-const-decl "nat" exp_term nil )
(posreal_expt application-judgement "posreal" exponentiation nil )
(nzreal_expt application-judgement "nzreal" exponentiation nil )
(expt def-decl "real" exponentiation nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(n0a!1 skolem-const-decl "nzreal" exp_term nil )
(n!1 skolem-const-decl "nat" exp_term nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(max const-decl "{p: real | p >= m AND p >= n}" real_defs nil )
(expt_plus formula-decl nil exponentiation nil )
(even_minus_odd_is_odd application-judgement "odd_int" integers
nil )
(nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(factorial def-decl "posnat" factorial "ints/" )
(nonzero_real nonempty-type-eq-decl nil reals nil )
(abs_div formula-decl nil real_props nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(posreal_times_posreal_is_posreal judgement-tcc nil real_types nil )
(posint_times_posint_is_posint application-judgement "posint"
integers nil )
(le_times_le_pos formula-decl nil real_props nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(div_times formula-decl nil real_props nil )
(div_mult_pos_le1 formula-decl nil real_props nil )
(both_sides_times_pos_le1 formula-decl nil real_props nil )
(nnreal_div_posreal_is_nnreal application-judgement "nnreal"
real_types nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(posreal_times_posreal_is_posreal application-judgement "posreal"
real_types nil )
(abs_mult formula-decl nil real_props nil )
(int_times_even_is_even application-judgement "even_int" integers
nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(nzrat_abs_is_pos application-judgement "{r: posrat | r >= q}"
real_defs nil )
(int_abs_is_nonneg application-judgement "{j: nonneg_int | j >= i}"
real_defs nil )
(nzint_abs_is_pos application-judgement "{j: posint | j >= i}"
real_defs nil )
(expt_x1 formula-decl nil exponentiation nil )
(nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(nzreal_exp application-judgement "nzreal" exponentiation nil )
(nat_induction formula-decl nil naturalnumbers nil )
(pred type-eq-decl nil defined_types nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(i!1 skolem-const-decl "int" exp_term nil )
(M skolem-const-decl "nonneg_int" exp_term nil )
(exp_term_power formula-decl nil exp_term nil )
(both_sides_expt_lt1_le formula-decl nil exponentiation nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(int_max application-judgement "{k: int | i <= k AND j <= k}"
real_defs nil )
(rat_max application-judgement "{s: rat | s >= q AND s >= r}"
real_defs nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(real_times_real_is_real application-judgement "real" reals nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(minus_nzreal_is_nzreal application-judgement "nzreal" real_types
nil )
(^ const-decl "real" exponentiation nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(posnat nonempty-type-eq-decl nil integers nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(> const-decl "bool" reals nil )
(floor_def formula-decl nil floor_ceil nil )
(div_mult_pos_lt1 formula-decl nil real_props nil )
(expt_times formula-decl nil exponentiation nil )
(both_sides_expt_pos_lt formula-decl nil exponentiation nil )
(lt_times_lt_pos1 formula-decl nil real_props nil )
(nat_exp application-judgement "nat" exponentiation nil )
(posreal_exp application-judgement "posreal" exponentiation nil )
(abs_expt formula-decl nil exponentiation nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(expt_x0 formula-decl nil exponentiation nil )
(posint_exp application-judgement "posint" exponentiation nil ))
shostak)))
Messung V0.5 in Prozent C=100 H=100 G=100
¤ 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.0.58Bemerkung:
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-05-01)
¤
*Bot Zugriff