(nn_root
(continuous_alt_hat_TCC1 0
(continuous_alt_hat_TCC1-1 nil 3427098022
("" (skosimp) (("" (assert ) nil nil )) nil )
((real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_minus_real_is_real application-judgement "real" reals nil ))
nil ))
(continuous_alt_hat_TCC2 0
(continuous_alt_hat_TCC2-1 nil 3427098022
("" (skosimp) (("" (assert ) nil nil )) nil )
((real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_minus_real_is_real application-judgement "real" reals nil ))
nil ))
(continuous_alt_hat 0
(continuous_alt_hat-1 nil 3427098023
("" (induct "pn" )
(("1" (assert ) nil nil ) ("2" (assert ) nil nil )
("3" (skosimp*)
(("3" (case -replace "j!1=0" )
(("1" (inst + "epsilon!1" )
(("1" (skosimp)
(("1" (rewrite "expt_x1" )
(("1" (rewrite "expt_x1" ) nil nil )) nil ))
nil ))
nil )
("2" (case -replace "j!1>0" )
(("1" (hide -3 1 )
(("1"
(case "forall (f:[nnreal->nnreal]): (FORALL (epsilon: posreal, x1: nnreal):
EXISTS delta:
FORALL x2:
abs(x1 - x2) < delta => abs(f(x1) - f(x2)) < epsilon) => FORALL (epsilon: posreal, x1: nnreal):
EXISTS delta:
FORALL x2:
abs(x1 - x2) < delta => abs(x1*f(x1) - x2*f(x2)) < epsilon")
(("1" (inst - "lambda x: x^j!1" )
(("1" (replace -3 -1 )
(("1" (hide -3 )
(("1" (inst - "epsilon!1" "x1!1" )
(("1" (skosimp)
(("1" (inst + "delta!1" )
(("1" (skosimp)
(("1" (inst - "x2!1" )
(("1"
(assert )
(("1"
(expand "^" )
(("1"
(expand "expt" +)
(("1" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but 1 )
(("2" (skosimp*)
(("2" (inst - "_" "x1!2" )
(("2" (name-replace "F0" "f!1(x1!2)" )
(("2" (inst - "epsilon!2/(2*x1!2+4)" )
(("2" (skosimp)
(("2"
(inst +
"min(delta!1,min(1/4,epsilon!2 / (2*(abs(F0) + 1))))" )
(("2" (skosimp)
(("2"
(inst - "x2!1" )
(("2"
(split -1 )
(("1"
(case "abs(x1!2 - x2!1) <1/4" )
(("1"
(case
"abs(x1!2 - x2!1) <epsilon!2 / (2 * (abs(F0) + 1))" )
(("1"
(hide -4 )
(("1"
(case
"abs(x1!2*F0-x2!1*F0) < epsilon!2/2" )
(("1"
(hide -2 )
(("1"
(case
"abs(x2!1*F0-x2!1*f!1(x2!1))<epsilon!2/2" )
(("1"
(hide -3 -4 )
(("1"
(lemma
"triangle"
("x"
"x1!2 * F0 - x2!1 * F0"
"y"
"x2!1 * F0 - x2!1 * f!1(x2!1)" ))
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(hide -1 2 )
(("2"
(lemma
"abs_mult"
("x"
"x2!1"
"y"
"F0-f!1(x2!1)" ))
(("2"
(replace -1 )
(("2"
(hide -1 )
(("2"
(expand
"abs"
+
1 )
(("2"
(lemma
"div_mult_pos_lt2"
("x"
"abs(F0 - f!1(x2!1))"
"z"
"epsilon!2 / 2"
"py"
"x1!2 + 2" ))
(("2"
(rewrite
"div_div2" )
(("2"
(replace
-1 )
(("2"
(hide
-1 )
(("2"
(case -replace
"abs(F0 - f!1(x2!1))=0" )
(("1"
(assert )
nil
nil )
("2"
(lemma
"both_sides_times_pos_lt1"
("pz"
"abs(F0 - f!1(x2!1))"
"x"
"x2!1"
"y"
"x1!2+2" ))
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (-1 1 ))
(("2"
(lemma
"div_mult_pos_lt2"
("py"
"abs(F0)+1"
"x"
"abs(x1!2 - x2!1)"
"z"
"epsilon!2 / 2" ))
(("2"
(rewrite "div_div2" )
(("2"
(replace -1 )
(("2"
(hide -1 )
(("2"
(assert )
(("2"
(rewrite
"abs_mult"
-1
:dir
rl)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (-3 1 ))
(("2" (grind) nil nil ))
nil ))
nil )
("2"
(hide-all-but (-2 1 ))
(("2" (grind) nil nil ))
nil ))
nil )
("2"
(hide 2 )
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
((nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nnreal_expt application-judgement "nnreal" exponentiation nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(expt def-decl "real" exponentiation nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(triangle formula-decl nil real_props nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(nnreal_plus_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(abs_mult formula-decl nil real_props nil )
(div_mult_pos_lt2 formula-decl nil real_props nil )
(both_sides_times_pos_lt1 formula-decl nil real_props nil )
(div_div2 formula-decl nil real_props nil )
(nonzero_real nonempty-type-eq -decl nil reals nil )
(real_times_real_is_real application-judgement "real" reals nil )
(minus_real_is_real application-judgement "real" reals nil )
(nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(<= const-decl "bool" reals nil )
(min const-decl "{p: real | p <= m AND p <= n}" real_defs nil )
(posreal_plus_nnreal_is_posreal application-judgement "posreal"
real_types nil )
(posrat_div_posrat_is_posrat application-judgement "posrat"
rationals nil )
(posreal_times_posreal_is_posreal application-judgement "posreal"
real_types nil )
(posreal_min application-judgement
"{z: posreal | z <= x AND z <= y}" real_defs nil )
(nznum nonempty-type-eq -decl nil number_fields nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nnreal_plus_posreal_is_posreal application-judgement "posreal"
real_types nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(expt_x1 formula-decl nil exponentiation nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(posnat nonempty-type-eq -decl nil integers nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(nat_induction formula-decl nil naturalnumbers nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(^ const-decl "real" exponentiation nil )
(/= const-decl "boolean" notequal nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(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 )
(< const-decl "bool" reals nil )
(nnreal type-eq -decl nil real_types nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(> const-decl "bool" reals 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 ))
shostak))
(hat_bijective_TCC1 0
(hat_bijective_TCC1-1 nil 3427106954
("" (skosimp) (("" (assert ) nil nil )) nil )
((real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
nil ))
(hat_bijective 0
(hat_bijective-1 nil 3427106955
("" (skosimp)
((""
(case "forall (f:[nnreal->nnreal]): f(0) = 0 AND
(FORALL y: EXISTS x: f(x) > y) AND
(FORALL (x1,x2:nnreal): x1 < x2 => f(x1) < f(x2)) AND
(FORALL (x1:nnreal,epsilon:posreal): EXISTS delta: FORALL (x2:nnreal): abs(x1-x2) < delta
=> abs(f(x1)-f(x2)) < epsilon)
=>
bijective?[nnreal,nnreal](f)")
(("1" (inst - "LAMBDA x: x ^ pn!1" )
(("1" (assert )
(("1" (hide 2 )
(("1" (split)
(("1" (expand "^" )
(("1" (expand "expt" ) (("1" (assert ) nil nil )) nil ))
nil )
("2" (skosimp)
(("2" (inst + "y!1+1" )
(("2" (case -replace "y!1=0" )
(("1" (rewrite "expt_1i" ) (("1" (assert ) nil nil ))
nil )
("2"
(lemma "both_sides_expt_gt1_le"
("gt1x" "y!1+1" "i" "1" "j" "pn!1" ))
(("1" (rewrite "expt_x1" )
(("1" (assert ) nil nil )) nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("3" (skolem + ("x!1" "y!1" ))
(("3" (flatten)
(("3" (case -replace "x!1=0" )
(("1" (expand "^" 1 1 )
(("1" (expand "expt" )
(("1"
(lemma "expt_pos" ("px" "y!1" "i" "pn!1" ))
(("1" (assert ) nil nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("2"
(lemma "both_sides_expt_pos_lt"
("px" "x!1" "py" "y!1" "pm" "pn!1" ))
(("1" (assert ) nil nil ) ("2" (assert ) nil nil )
("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("4" (skosimp)
(("4"
(lemma "continuous_alt_hat"
("epsilon" "epsilon!1" "x1" "x1!1" "pn" "pn!1" ))
(("4" (propax) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2 )
(("2" (skosimp*)
(("2" (expand "bijective?" )
(("2" (split)
(("1" (expand "injective?" )
(("1" (skosimp)
(("1" (lemma "trich_lt" ("x" "x1!1" "y" "x2!1" ))
(("1" (split -1 )
(("1" (inst -5 "x1!1" "x2!1" )
(("1" (assert ) nil nil )) nil )
("2" (propax) nil nil )
("3" (inst -5 "x2!1" "x1!1" )
(("3" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "surjective?" )
(("2" (skosimp)
(("2" (name "BELOW" "{x:real| 0<= x & f!1(x)<= y!1}" )
(("1" (case "nonempty?(BELOW)" )
(("1" (case "bounded_above?(BELOW)" )
(("1" (lemma "lub_exists" ("SA" "BELOW" ))
(("1" (skosimp)
(("1"
(lemma "lub_lem"
("x" "x!1" "SA" "BELOW" ))
(("1"
(assert )
(("1"
(case "x!1>=0" )
(("1"
(inst + "x!1" )
(("1"
(expand "least_upper_bound?" )
(("1"
(flatten)
(("1"
(expand "upper_bound?" )
(("1"
(lemma
"trich_lt"
("x"
"f!1(x!1)"
"y"
"y!1" ))
(("1"
(split -1 )
(("1"
(expand "abs" -12 )
(("1"
(inst
-12
"x!1"
"y!1-f!1(x!1)" )
(("1"
(skosimp)
(("1"
(inst
-12
"x!1+delta!1/2" )
(("1"
(inst-cp
-11
"x!1"
"x!1+delta!1/2" )
(("1"
(assert )
(("1"
(inst
-4
"delta!1 / 2 + x!1" )
(("1"
(assert )
nil
nil )
("2"
(expand
"BELOW" )
(("2"
(propax)
nil
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("2" (propax) nil nil )
("3"
(hide 1 )
(("3"
(typepred "y!1" )
(("3"
(expand ">=" -3 )
(("3"
(expand "<=" -3 )
(("3"
(split -3 )
(("1"
(inst
-13
"x!1"
"f!1(x!1)-y!1" )
(("1"
(skosimp)
(("1"
(inst
-13
"max(x!1/2,x!1-delta!1/2)" )
(("1"
(case
"max(x!1 / 2, x!1 - delta!1 / 2)>0 & x!1>max(x!1 / 2, x!1 - delta!1 / 2) & x!1 - max(x!1 / 2, x!1 - delta!1 / 2)<delta!1" )
(("1"
(flatten)
(("1"
(expand
"abs" )
(("1"
(assert )
(("1"
(inst-cp
-15
" max(x!1 / 2, x!1 - delta!1 / 2)"
"x!1" )
(("1"
(assert )
(("1"
(inst
-9
"max(x!1 / 2, x!1 - delta!1 / 2)" )
(("1"
(assert )
(("1"
(skosimp)
(("1"
(typepred
"s!1" )
(("1"
(expand
"BELOW" )
(("1"
(flatten)
(("1"
(inst
-16
"max(x!1 / 2, x!1 - delta!1 / 2)"
"s!1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"max" )
(("2"
(case -replace
"x!1 / 2 < x!1 - delta!1 / 2" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(expand
"max" )
(("2"
(case -replace
"x!1 / 2 < x!1 - delta!1 / 2" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil )
("3"
(assert )
nil
nil ))
nil )
("2"
(replace
-1
*
rl)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(expand "least_upper_bound?" )
(("2"
(flatten)
(("2"
(expand "upper_bound?" )
(("2"
(inst - "0" )
(("1" (assert ) nil nil )
("2"
(expand "BELOW" )
(("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil )
("2" (hide 2 )
(("2" (expand "bounded_above?" )
(("2" (expand "upper_bound?" )
(("2"
(inst -4 "y!1" )
(("2"
(skosimp)
(("2"
(inst + "x!1" )
(("2"
(skosimp)
(("2"
(typepred "s!1" )
(("2"
(expand "BELOW" )
(("2"
(flatten)
(("2"
(inst -7 "x!1" "s!1" )
(("1" (assert ) nil nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (propax) nil nil ))
nil )
("2" (hide-all-but (-2 -4 1 ))
(("2" (expand "nonempty?" )
(("2" (expand "empty?" )
(("2" (inst - "0" )
(("2"
(expand "member" )
(("2"
(expand "BELOW" )
(("2" (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 )
((bijective? const-decl "bool" functions nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields 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 )
(posreal nonempty-type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(< const-decl "bool" reals nil ) (> const-decl "bool" reals nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(nnreal type-eq -decl nil real_types nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(nat_exp application-judgement "nat" exponentiation nil )
(expt def-decl "real" exponentiation nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(nat_expt application-judgement "nat" exponentiation nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(nnreal_plus_posreal_is_posreal application-judgement "posreal"
real_types nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(both_sides_expt_gt1_le formula-decl nil exponentiation nil )
(posreal_plus_nnreal_is_posreal application-judgement "posreal"
real_types nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(posreal_exp application-judgement "posreal" exponentiation nil )
(nzreal_exp application-judgement "nzreal" exponentiation nil )
(expt_x1 formula-decl nil exponentiation nil )
(expt_1i formula-decl nil exponentiation nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(both_sides_expt_pos_lt formula-decl nil exponentiation nil )
(expt_pos formula-decl nil exponentiation nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(continuous_alt_hat formula-decl nil nn_root 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 )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(/= const-decl "boolean" notequal nil )
(^ const-decl "real" exponentiation nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(posnat nonempty-type-eq -decl nil integers nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(trich_lt formula-decl nil real_props nil )
(injective? const-decl "bool" functions nil )
(set type-eq -decl nil sets nil )
(nonempty? const-decl "bool" sets nil )
(s!1 skolem-const-decl "(BELOW)" nn_root nil )
(lub_exists formula-decl nil bounded_real_defs nil )
(lub_lem formula-decl nil bounded_real_defs nil )
(least_upper_bound? const-decl "bool" bounded_real_defs nil )
(upper_bound? const-decl "bool" bounded_real_defs nil )
(y!1 skolem-const-decl "nnreal" nn_root nil )
(f!1 skolem-const-decl "[nnreal -> nnreal]" nn_root nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(nznum nonempty-type-eq -decl nil number_fields nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(delta!1 skolem-const-decl "posreal" nn_root nil )
(nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(minus_real_is_real application-judgement "real" reals nil )
(BELOW skolem-const-decl "[real -> boolean]" nn_root nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(max const-decl "{p: real | p >= m AND p >= n}" real_defs nil )
(delta!1 skolem-const-decl "posreal" nn_root nil )
(s!1 skolem-const-decl "(BELOW)" nn_root nil )
(x!1 skolem-const-decl "real" nn_root nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(member const-decl "bool" sets nil )
(empty? const-decl "bool" sets nil )
(<= const-decl "bool" reals nil )
(surjective? const-decl "bool" functions nil ))
shostak))
(nn_root_0n 0
(nn_root_0n-1 nil 3427173466
("" (skosimp)
(("" (expand "nn_root" )
(("" (lemma "hat_bijective" ("pn" "pn!1" ))
((""
(lemma "bijective_inverse[nnreal, nnreal]"
("f" "LAMBDA x: x ^ pn!1" "x" "0" "y" "0" ))
(("1" (replace -1 )
(("1" (assert )
(("1" (expand "^" )
(("1" (expand "expt" ) (("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil )
((nn_root const-decl "nnreal" nn_root nil )
(nnreal type-eq -decl nil real_types nil )
(^ const-decl "real" exponentiation nil )
(/= const-decl "boolean" notequal nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(bijective? const-decl "bool" functions nil )
(bijective_inverse formula-decl nil function_inverse nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(nat_exp application-judgement "nat" exponentiation nil )
(expt def-decl "real" exponentiation nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(nnreal_expt application-judgement "nnreal" exponentiation nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(nat_expt application-judgement "nat" exponentiation nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(hat_bijective formula-decl nil nn_root 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 )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq -decl nil integers nil ))
shostak))
(nn_root_1n 0
(nn_root_1n-1 nil 3427176918
("" (skosimp)
(("" (expand "nn_root" )
(("" (lemma "hat_bijective" ("pn" "pn!1" ))
((""
(lemma "bijective_inverse[nnreal, nnreal]"
("f" "LAMBDA x: x ^ pn!1" "x" "1" "y" "1" ))
(("1" (assert ) (("1" (rewrite "expt_1i" ) nil nil )) nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil )
((nn_root const-decl "nnreal" nn_root nil )
(nnreal type-eq -decl nil real_types nil )
(^ const-decl "real" exponentiation nil )
(/= const-decl "boolean" notequal nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(bijective? const-decl "bool" functions nil )
(bijective_inverse formula-decl nil function_inverse nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(expt_1i formula-decl nil exponentiation nil )
(posint_exp application-judgement "posint" exponentiation nil )
(hat_bijective formula-decl nil nn_root 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 )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq -decl nil integers nil ))
shostak))
(nn_root_x1 0
(nn_root_x1-1 nil 3427170363
("" (skosimp)
(("" (expand "nn_root" )
(("" (lemma "hat_bijective" ("pn" "1" ))
((""
(lemma "bijective_inverse[nnreal, nnreal]"
("f" "LAMBDA x: x ^ 1" "y" "x!1" "x" "x!1" ))
(("1" (replace -1 )
(("1" (hide -1 )
(("1" (assert ) (("1" (rewrite "expt_x1" ) nil nil )) nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil )
((nn_root const-decl "nnreal" nn_root nil )
(nnreal type-eq -decl nil real_types nil )
(^ const-decl "real" exponentiation nil )
(/= const-decl "boolean" notequal nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(bijective? const-decl "bool" functions nil )
(bijective_inverse formula-decl nil function_inverse nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(expt_x1 formula-decl nil exponentiation nil )
(hat_bijective formula-decl nil nn_root 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 )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq -decl nil integers nil ))
shostak))
(nn_root_strict_increasing 0
(nn_root_strict_increasing-1 nil 3427172270
("" (skosimp)
(("" (expand "nn_root" )
(("" (lemma "hat_bijective" ("pn" "pn!1" ))
((""
(name "LOW"
"inverse[nnreal, nnreal](LAMBDA x: x ^ pn!1)(x!1)" )
((""
(name "HIGH"
"inverse[nnreal, nnreal](LAMBDA x: x ^ pn!1)(y!1)" )
(("" (replace -1 )
(("" (replace -2 )
((""
(lemma "surjective_inverse[nnreal, nnreal]"
("f" "LAMBDA x: x ^ pn!1" ))
(("1" (inst-cp - "HIGH" "y!1" )
(("1" (inst - "LOW" "x!1" )
(("1" (assert )
(("1" (replace -1 )
(("1" (replace -2 )
(("1" (hide-all-but (-6 1 ))
(("1"
(case -replace "LOW=0" )
(("1" (assert ) nil nil )
("2"
(lemma
"both_sides_expt_pos_lt"
("px"
"LOW"
"py"
"HIGH"
"pm"
"pn!1" ))
(("1" (assert ) nil nil )
("2"
(assert )
(("2"
(case -replace "HIGH=0" )
(("1"
(expand "^" -2 )
(("1"
(expand "expt" )
(("1" (assert ) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "bijective?" ) (("2" (flatten) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nn_root const-decl "nnreal" nn_root nil )
(^ const-decl "real" exponentiation nil )
(/= const-decl "boolean" notequal nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(inverse const-decl "D" function_inverse nil )
(nnreal type-eq -decl nil real_types nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(surjective_inverse formula-decl nil function_inverse nil )
(surjective? const-decl "bool" functions nil )
(both_sides_expt_pos_lt formula-decl nil exponentiation nil )
(nonneg_real nonempty-type-eq -decl nil real_types 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 )
(expt def-decl "real" exponentiation nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(nnreal_expt application-judgement "nnreal" exponentiation nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(nat_expt application-judgement "nat" exponentiation nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(bijective? const-decl "bool" functions nil )
(hat_bijective formula-decl nil nn_root 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 )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq -decl nil integers nil ))
shostak))
(nn_root_expt 0
(nn_root_expt-1 nil 3427190654
("" (skosimp)
(("" (lemma "hat_bijective" ("pn" "pn!1" ))
((""
(lemma "bijective_inverse[nnreal, nnreal]"
("f" "LAMBDA x: x ^ pn!1" ))
(("1" (expand "nn_root" )
(("1" (inst - "x!1" "x!1^pn!1" ) (("1" (assert ) nil nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil )
((posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(int nonempty-type-eq -decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(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 )
(hat_bijective formula-decl nil nn_root nil )
(nn_root const-decl "nnreal" nn_root nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(bijective_inverse formula-decl nil function_inverse nil )
(bijective? const-decl "bool" functions nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(/= const-decl "boolean" notequal nil )
(^ const-decl "real" exponentiation nil )
(nnreal type-eq -decl nil real_types nil ))
shostak))
(expt_nn_root_TCC1 0
(expt_nn_root_TCC1-1 nil 3427190653 ("" (subtype-tcc) nil nil )
((^ const-decl "real" exponentiation nil )
(inverse const-decl "D" function_inverse nil )
(nn_root const-decl "nnreal" nn_root nil ))
nil ))
(expt_nn_root 0
(expt_nn_root-1 nil 3427190771
("" (skosimp)
(("" (lemma "hat_bijective" ("pn" "pn!1" ))
((""
(lemma "bijective_inverse[nnreal, nnreal]"
("f" "LAMBDA x: x ^ pn!1" ))
(("1" (expand "nn_root" )
(("1" (assert )
(("1"
(inst -
"inverse[nnreal, nnreal](LAMBDA x: x ^ pn!1)(x!1)"
"x!1" )
(("1" (assert ) nil nil )) nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil )
((posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(int nonempty-type-eq -decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(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 )
(hat_bijective formula-decl nil nn_root nil )
(nn_root const-decl "nnreal" nn_root nil )
(inverse const-decl "D" function_inverse nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(bijective_inverse formula-decl nil function_inverse nil )
(bijective? const-decl "bool" functions nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(/= const-decl "boolean" notequal nil )
(^ const-decl "real" exponentiation nil )
(nnreal type-eq -decl nil real_types nil ))
shostak))
(nn_root_is_0 0
(nn_root_is_0-1 nil 3427191722
("" (skosimp)
(("" (lemma "expt_nn_root" ("x" "x!1" "pn" "pn!1" ))
(("" (split)
(("1" (flatten)
(("1" (replace -1 )
(("1" (expand "^" )
(("1" (expand "expt" ) (("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (flatten)
(("2" (replace -1 ) (("2" (rewrite "nn_root_0n" ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nnreal type-eq -decl nil real_types nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= 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 )
(expt_nn_root formula-decl nil nn_root nil )
(nn_root_0n formula-decl nil nn_root nil )
(^ const-decl "real" exponentiation nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(nat_expt application-judgement "nat" exponentiation nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(expt def-decl "real" exponentiation nil ))
shostak))
(nn_root_pos 0
(nn_root_pos-1 nil 3427191965
("" (skosimp)
(("" (lemma "nn_root_is_0" ("x" "px!1" "pn" "pn!1" ))
(("" (assert ) nil nil )) nil ))
nil )
((posreal nonempty-type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(nnreal type-eq -decl nil real_types nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= 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 )
(nn_root_is_0 formula-decl nil nn_root nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
shostak))
(nn_root_gt1 0
(nn_root_gt1-1 nil 3427192123
("" (skosimp)
(("" (split)
(("1" (flatten)
(("1"
(lemma "both_sides_expt_pos_lt"
("px" "1" "py" "nn_root(x!1, pn!1)" "pm" "pn!1" ))
(("1" (rewrite "expt_1i" )
(("1" (assert )
(("1" (rewrite "expt_nn_root" ) (("1" (assert ) nil nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (flatten)
(("2"
(lemma "nn_root_strict_increasing"
("x" "1" "y" "x!1" "pn" "pn!1" ))
(("2" (rewrite "nn_root_1n" ) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
((nn_root const-decl "nnreal" nn_root nil )
(nnreal type-eq -decl nil real_types nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= 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 )
(both_sides_expt_pos_lt formula-decl nil exponentiation nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(expt_nn_root formula-decl nil nn_root nil )
(expt_1i formula-decl nil exponentiation nil )
(nn_root_strict_increasing formula-decl nil nn_root nil )
(nn_root_1n formula-decl nil nn_root nil ))
shostak))
(nn_root_lt1 0
(nn_root_lt1-1 nil 3427192355
("" (skosimp)
(("" (lemma "nn_root_gt1" ("x" "x!1" "pn" "pn!1" ))
(("" (lemma "nn_root_1n" ("pn" "pn!1" ))
(("" (lemma "trich_lt" ("x" "x!1" "y" "1" ))
(("" (split -1 )
(("1" (assert )
(("1" (hide -2 1 )
(("1" (case -replace "x!1=0" )
(("1" (rewrite "nn_root_0n" ) nil nil )
("2" (lemma "nn_root_pos" ("px" "x!1" "pn" "pn!1" ))
(("1"
(lemma "both_sides_expt_pos_lt"
("px" "nn_root(x!1, pn!1)" "py" "1" "pm"
"pn!1" ))
(("1" (rewrite "expt_1i" )
(("1" (rewrite "expt_nn_root" )
(("1" (assert ) nil nil )) nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ) ("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nnreal type-eq -decl nil real_types nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= 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 )
(nn_root_gt1 formula-decl nil nn_root nil )
(trich_lt formula-decl nil 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 )
(= const-decl "[T, T -> boolean]" equalities nil )
(nn_root_0n formula-decl nil nn_root nil )
(both_sides_expt_pos_lt formula-decl nil exponentiation nil )
(nn_root const-decl "nnreal" nn_root nil )
(expt_nn_root formula-decl nil nn_root nil )
(expt_1i formula-decl nil exponentiation nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(nn_root_pos formula-decl nil nn_root nil )
(nn_root_1n formula-decl nil nn_root nil ))
shostak))
(mult_nn_root 0
(mult_nn_root-1 nil 3427219585
("" (skosimp)
((""
(lemma "both_sides_expt2"
("px" "nn_root(x!1 * y!1, pn!1)" "py"
"nn_root(x!1, pn!1) * nn_root(y!1, pn!1)" "n0i" "pn!1" ))
(("1" (replace -1 1 rl)
(("1" (hide -1 )
(("1" (rewrite "expt_nn_root" )
(("1" (case -replace "x!1=0" )
(("1" (rewrite "nn_root_0n" )
(("1" (expand "^" +)
(("1" (expand "expt" ) (("1" (assert ) nil nil )) nil ))
nil ))
nil )
("2" (lemma "nn_root_pos" ("px" "x!1" "pn" "pn!1" ))
(("1" (case -replace "y!1=0" )
(("1" (rewrite "nn_root_0n" )
(("1" (expand "^" 2 )
(("1" (expand "expt" ) (("1" (assert ) nil nil ))
nil ))
nil ))
nil )
("2" (lemma "nn_root_pos" ("px" "y!1" "pn" "pn!1" ))
(("1" (rewrite "mult_expt" )
(("1" (rewrite "expt_nn_root" )
(("1" (rewrite "expt_nn_root" ) nil nil )) nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (case -replace "y!1=0" )
(("1" (rewrite "nn_root_0n" ) (("1" (assert ) nil nil )) nil )
("2" (lemma "nn_root_pos" ("px" "y!1" "pn" "pn!1" ))
(("1" (case -replace "x!1=0" )
(("1" (rewrite "nn_root_0n" ) (("1" (assert ) nil nil )) nil )
("2" (lemma "nn_root_pos" ("px" "x!1" "pn" "pn!1" ))
(("1"
(lemma "posreal_times_posreal_is_posreal"
("px" "nn_root(x!1, pn!1)" "py" "nn_root(y!1, pn!1)" ))
(("1" (propax) nil nil ) ("2" (propax) nil nil )
("3" (propax) nil nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("3" (case -replace "x!1=0" )
(("1" (rewrite "nn_root_0n" ) (("1" (assert ) nil nil )) nil )
("2" (case -replace "y!1=0" )
(("1" (rewrite "nn_root_0n" ) (("1" (assert ) nil nil )) nil )
("2"
(lemma "posreal_times_posreal_is_posreal"
("px" "x!1" "py" "y!1" ))
(("1" (lemma "nn_root_pos" ("px" "x!1*y!1" "pn" "pn!1" ))
(("1" (propax) nil nil ) ("2" (propax) nil nil )) nil )
("2" (assert ) nil nil ) ("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq -decl nil number_fields nil )
(nn_root const-decl "nnreal" nn_root nil )
(nnreal type-eq -decl nil real_types nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(nzint nonempty-type-eq -decl nil integers nil )
(/= const-decl "boolean" notequal 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 )
(both_sides_expt2 formula-decl nil exponentiation nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(^ const-decl "real" exponentiation nil )
(expt def-decl "real" exponentiation nil )
(nn_root_0n formula-decl nil nn_root nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(nat_expt application-judgement "nat" exponentiation nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(nzreal nonempty-type-eq -decl nil reals nil )
(mult_expt formula-decl nil exponentiation nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(nn_root_pos formula-decl nil nn_root nil )
(expt_nn_root formula-decl nil nn_root nil )
(posreal_times_posreal_is_posreal judgement-tcc nil real_types
nil ))
shostak))
(inv_nn_root_TCC1 0
(inv_nn_root_TCC1-1 nil 3427220519
("" (skosimp)
(("" (lemma "nn_root_pos" ("px" "px!1" "pn" "pn!1" ))
(("" (assert ) nil nil )) nil ))
nil )
((posreal nonempty-type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= 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 )
(nn_root_pos formula-decl nil nn_root nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
nil ))
(inv_nn_root 0
(inv_nn_root-1 nil 3427220740
("" (skosimp)
(("" (lemma "nn_root_pos" ("px" "px!1" "pn" "pn!1" ))
(("" (lemma "nn_root_pos" ("px" "1/px!1" "pn" "pn!1" ))
(("" (rewrite "div_cancel4" +)
(("" (rewrite "mult_nn_root" + :dir rl)
(("" (assert )
(("" (rewrite "div_cancel2" )
(("" (rewrite "nn_root_1n" ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((posreal nonempty-type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= 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 )
(nn_root_pos formula-decl nil nn_root nil )
(div_cancel4 formula-decl nil real_props nil )
(nonzero_real nonempty-type-eq -decl nil reals nil )
(nnreal type-eq -decl nil real_types nil )
(nn_root const-decl "nnreal" nn_root nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nn_root_1n formula-decl nil nn_root nil )
(div_cancel2 formula-decl nil real_props nil )
(posreal_times_posreal_is_posreal application-judgement "posreal"
real_types nil )
(mult_nn_root formula-decl nil nn_root nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(numfield nonempty-type-eq -decl nil number_fields nil )
(/= const-decl "boolean" notequal nil )
(nznum nonempty-type-eq -decl nil number_fields nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil ))
shostak))
(div_nn_root 0
(div_nn_root-1 nil 3427220520
("" (skosimp)
(("" (lemma "inv_nn_root" ("px" "py!1" "pn" "pn!1" ))
((""
(lemma "mult_nn_root" ("x" "x!1" "y" "1 / py!1" "pn" "pn!1" ))
(("" (assert ) nil nil )) nil ))
nil ))
nil )
((posreal nonempty-type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= 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 )
(inv_nn_root formula-decl nil nn_root nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(nnreal_div_posreal_is_nnreal application-judgement "nnreal"
real_types nil )
(nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(mult_nn_root formula-decl nil nn_root nil )
(nnreal type-eq -decl nil real_types nil )
(numfield nonempty-type-eq -decl nil number_fields nil )
(/= const-decl "boolean" notequal nil )
(nznum nonempty-type-eq -decl nil number_fields nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil ))
shostak))
(nn_root_mult 0
(nn_root_mult-1 nil 3427263236
("" (skosimp)
(("" (case -replace "x!1=0" )
(("1" (rewrite "nn_root_0n" )
(("1" (rewrite "nn_root_0n" )
(("1" (rewrite "nn_root_0n" ) nil nil )) nil ))
nil )
("2" (lemma "nn_root_pos" ("px" "x!1" "pn" "pn!1*pm!1" ))
(("1" (lemma "nn_root_pos" ("px" "x!1" "pn" "pn!1" ))
(("1"
(lemma "nn_root_pos"
("px" "nn_root(x!1, pn!1)" "pn" "pm!1" ))
(("1"
(lemma "both_sides_expt2"
("px" "nn_root(x!1, pn!1 * pm!1)" "py"
"nn_root(nn_root(x!1, pn!1), pm!1)" "n0i" "pn!1*pm!1" ))
(("1" (replace -1 2 rl)
(("1" (hide -1 )
(("1" (rewrite "expt_nn_root" )
(("1"
(lemma "expt_times"
("n0x" "nn_root(nn_root(x!1, pn!1), pm!1)" "i"
"pm!1" "j" "pn!1" ))
(("1" (replace -1 )
(("1" (rewrite "expt_nn_root" )
(("1" (rewrite "expt_nn_root" ) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ) ("3" (propax) nil nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
((number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nnreal type-eq -decl nil real_types 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 )
(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 )
(nn_root_0n formula-decl nil nn_root nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(posint_times_posint_is_posint application-judgement "posint"
integers nil )
(both_sides_expt2 formula-decl nil exponentiation nil )
(/= const-decl "boolean" notequal nil )
(nzint nonempty-type-eq -decl nil integers nil )
(expt_times formula-decl nil exponentiation nil )
(nzreal nonempty-type-eq -decl nil reals nil )
(expt_nn_root formula-decl nil nn_root nil )
(nn_root const-decl "nnreal" nn_root nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nn_root_pos formula-decl nil nn_root nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(posreal nonempty-type-eq -decl nil real_types nil ))
shostak))
(nn_root_increasing 0
(nn_root_increasing-1 nil 3427219471
("" (skosimp)
(("" (lemma "nn_root_pos" ("px" "x!1" "pn" "pn!1" ))
(("1" (lemma "nn_root_pos" ("px" "x!1" "pn" "pm!1" ))
(("1"
(lemma "both_sides_expt_pos_lt"
("px" "nn_root(x!1, pn!1)" "py" "nn_root(x!1, pm!1)" "pm"
"pn!1" ))
(("1" (rewrite "expt_nn_root" )
(("1" (replace -1 1 rl)
(("1" (hide -1 )
(("1" (lemma "nn_root_lt1" ("x" "x!1" "pn" "pm!1" ))
(("1" (assert )
(("1" (hide -3 )
(("1"
(lemma "both_sides_expt_lt1_lt"
("lt1x" "nn_root(x!1, pm!1)" "i" "pm!1" "j"
"pn!1" ))
(("1" (rewrite "expt_nn_root" )
(("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ) ("3" (propax) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
((nnreal type-eq -decl nil real_types nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= 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 )
(nn_root_pos formula-decl nil nn_root nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nn_root const-decl "nnreal" nn_root nil )
(both_sides_expt_pos_lt formula-decl nil exponentiation nil )
(nn_root_lt1 formula-decl nil nn_root nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(< const-decl "bool" reals nil )
(both_sides_expt_lt1_lt formula-decl nil exponentiation nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(expt_nn_root formula-decl nil nn_root nil ))
shostak))
(nn_root_decreasing 0
(nn_root_decreasing-1 nil 3427219122
("" (skosimp)
(("" (lemma "posreal_div_posreal_is_posreal" ("px" "1" "py" "x!1" ))
(("1"
(lemma "both_sides_times_pos_lt1"
("pz" "x!1" "x" "1/x!1" "y" "1" ))
(("1" (rewrite "div_cancel2" )
(("1" (assert )
(("1"
(lemma "nn_root_increasing"
("x" "1/x!1" "pn" "pn!1" "pm" "pm!1" ))
(("1" (assert )
(("1" (rewrite "inv_nn_root" )
(("1" (rewrite "inv_nn_root" )
(("1"
(lemma "nn_root_pos" ("px" "x!1" "pn" "pn!1" ))
(("1"
(lemma "nn_root_pos" ("px" "x!1" "pn" "pm!1" ))
(("1" (rewrite "both_sides_div_pos_lt2" -3 ) nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
((nnreal type-eq -decl nil real_types nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(> const-decl "bool" reals nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(posreal_div_posreal_is_posreal judgement-tcc nil real_types nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nonzero_real nonempty-type-eq -decl nil reals nil )
(div_cancel2 formula-decl nil real_props nil )
(nn_root_increasing formula-decl nil nn_root 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 )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(posnat nonempty-type-eq -decl nil integers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(inv_nn_root formula-decl nil nn_root nil )
(nn_root_pos formula-decl nil nn_root nil )
(nn_root const-decl "nnreal" nn_root nil )
(both_sides_div_pos_lt2 formula-decl nil real_props nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(both_sides_times_pos_lt1 formula-decl nil real_props nil )
(numfield nonempty-type-eq -decl nil number_fields nil )
(/= const-decl "boolean" notequal nil )
(nznum nonempty-type-eq -decl nil number_fields nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil ))
shostak))
(nn_root_upper_bound 0
(nn_root_upper_bound-1 nil 3429505681
("" (skosimp)
((""
(lemma "both_sides_expt_pos_le"
("py" "1 + px!1 / pn!1" "px" "nn_root(1 + px!1, pn!1)" "pm"
"pn!1" ))
(("1" (rewrite "expt_nn_root" )
(("1" (replace -1 1 rl)
(("1" (hide -1 )
(("1"
(lemma "expt_lower_bound" ("px" "px!1/pn!1" "n" "pn!1" ))
(("1" (expand "^" ) (("1" (assert ) nil nil )) nil )) nil ))
nil ))
nil ))
nil )
("2" (hide 2 ) (("2" (rewrite "nn_root_pos" ) nil nil )) nil ))
nil ))
nil )
((/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(nznum nonempty-type-eq -decl nil number_fields nil )
(/= const-decl "boolean" notequal nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq -decl nil number_fields nil )
(nn_root const-decl "nnreal" nn_root nil )
(nnreal type-eq -decl nil real_types nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= 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 )
(both_sides_expt_pos_le formula-decl nil exponentiation nil )
(posreal_plus_nnreal_is_posreal application-judgement "posreal"
real_types nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(expt_lower_bound formula-decl nil exponentiation_aux nil )
(nat nonempty-type-eq -decl nil naturalnumbers nil )
(posreal_expt application-judgement "posreal" exponentiation nil )
(nzreal_expt application-judgement "nzreal" exponentiation nil )
(posreal_times_posreal_is_posreal application-judgement "posreal"
real_types nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(^ const-decl "real" exponentiation nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(expt_nn_root formula-decl nil nn_root nil )
(nn_root_pos formula-decl nil nn_root nil ))
shostak))
(nn_root_bijective 0
(nn_root_bijective-1 nil 3427522760
("" (skosimp)
((""
(lemma "bij_inv_is_bij[nnreal, nnreal]" ("f" "lambda x: x^pn!1" ))
(("" (rewrite "hat_bijective" )
(("" (expand "nn_root" )
(("" (assert )
((""
(case -replace "(LAMBDA x:
inverse[nnreal, nnreal](LAMBDA (x_1: nnreal): x_1 ^ pn!1 )(x))=inverse[nnreal, nnreal](LAMBDA x: x ^ pn!1 )")
(("" (hide 2 )
(("" (apply -extensionality :hide? t) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nnreal type-eq -decl nil real_types nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(^ const-decl "real" exponentiation nil )
(/= const-decl "boolean" notequal nil )
(OR const-decl "[bool, bool -> bool]" 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 )
(bij_inv_is_bij formula-decl nil function_inverse nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(nn_root const-decl "nnreal" nn_root nil )
(inverse const-decl "D" function_inverse nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(hat_bijective formula-decl nil nn_root nil ))
shostak))
(continuous_alt_nn_root 0
(continuous_alt_nn_root-1 nil 3427522973
("" (skosimp)
(("" (case -replace "x1!1=0" )
(("1" (rewrite "nn_root_0n" )
(("1" (inst + "epsilon!1^pn!1" )
(("1" (skosimp)
(("1" (case -replace "x2!1=0" )
(("1" (rewrite "nn_root_0n" )
(("1" (expand "abs" ) (("1" (assert ) nil nil )) nil ))
nil )
("2" (case "x2!1>0" )
(("1" (hide 1 -2 )
(("1" (lemma "nn_root_pos" ("px" "x2!1" "pn" "pn!1" ))
(("1" (expand "abs" )
(("1" (assert )
(("1"
(lemma "both_sides_expt_pos_lt"
("px" "nn_root(x2!1, pn!1)" "py" "epsilon!1"
"pm" "pn!1" ))
(("1" (rewrite "expt_nn_root" )
(("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (case "x1!1>0" )
(("1" (hide 1 )
(("1" (name "X_max" "(nn_root(x1!1, pn!1)+epsilon!1)^pn!1" )
(("1"
(case "forall (y:nnreal): x1!1<y & y <X_max => abs(nn_root(x1!1, pn!1) - nn_root(y, pn!1)) < epsilon!1" )
(("1"
(name "X_min"
"if nn_root(x1!1, pn!1) <= epsilon!1 then 0 else (nn_root(x1!1, pn!1) - epsilon!1) ^ pn!1 endif" )
(("1"
(case "FORALL (y: nnreal):
X_min < y & y < x1!1 =>
abs(nn_root(x1!1 , pn!1 ) - nn_root(y, pn!1 )) < epsilon!1 ")
(("1" (case "X_max> x1!1" )
(("1" (case "x1!1>X_min & X_min>=0" )
(("1" (flatten)
(("1" (inst + "min(x1!1-X_min,X_max-x1!1)" )
(("1" (skosimp)
(("1"
(lemma "trich_lt"
("x" "x1!1" "y" "x2!1" ))
(("1"
(split -1 )
(("1"
(inst -7 "x2!1" )
(("1" (assert ) nil nil ))
nil )
("2"
(replace -1 )
(("2"
(assert )
(("2"
(expand "abs" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("3"
(inst -5 "x2!1" )
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert )
(("2" (expand "min" )
(("2"
(assert )
(("2"
(case -replace
"x1!1 - X_min > X_max - x1!1" )
(("1" (assert ) nil nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -2 2 -4 )
(("2"
(case -replace
"nn_root(x1!1, pn!1) <= epsilon!1" )
(("1" (assert ) nil nil )
("2" (assert )
(("2" (split 2 )
(("1"
(replace -2 1 rl)
(("1"
(hide -2 -3 2 )
(("1"
(lemma
"both_sides_expt_pos_lt"
("px"
"nn_root(x1!1, pn!1) - epsilon!1"
"py"
"nn_root(x1!1, pn!1)"
"pm"
"pn!1" ))
(("1"
(rewrite "expt_nn_root" )
(("1"
(expand ">" 1 )
(("1"
(replace -1 1 )
(("1"
(hide -1 )
(("1"
(lemma
"nn_root_strict_increasing"
("x"
"x1!1"
"y"
"X_max"
"pn"
"pn!1" ))
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"expt_pos"
("px"
"nn_root(x1!1, pn!1) - epsilon!1"
"i"
"pn!1" ))
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2 -1 -3 )
(("2" (hide -1 )
(("2"
(lemma "nn_root_pos"
("px" "x1!1" "pn" "pn!1" ))
(("1"
(lemma "expt_pos"
("px" "nn_root(x1!1, pn!1) + epsilon!1"
"i" "pn!1" ))
(("1"
(case "nn_root(x1!1, pn!1) + epsilon!1=nn_root(X_max,pn!1)" )
(("1"
(replace -4 )
(("1"
(lemma
"both_sides_expt_pos_lt"
("px"
"nn_root(x1!1, pn!1)"
"py"
"nn_root(X_max, pn!1)"
"pm"
"pn!1" ))
(("1"
(assert )
(("1"
(rewrite "expt_nn_root" )
(("1"
(rewrite "expt_nn_root" )
(("1" (assert ) nil nil ))
nil ))
nil ))
nil )
("2"
(rewrite "nn_root_pos" )
nil
nil )
("3" (propax) nil nil ))
nil ))
nil )
("2"
(hide 2 )
(("2"
(replace -3 1 rl)
(("2"
(rewrite "nn_root_expt" )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2 )
(("2" (case "X_min>=0" )
(("1" (hide -3 -4 )
(("1" (skosimp)
(("1"
(lemma "nn_root_strict_increasing"
("y" "x1!1" "x" "y!1" "pn" "pn!1" ))
(("1" (assert )
(("1"
(expand "abs" 1 )
(("1"
(case -replace
"nn_root(x1!1, pn!1) <= epsilon!1" )
(("1"
(lemma
"nn_root_pos"
("px" "y!1" "pn" "pn!1" ))
(("1" (assert ) nil nil ))
nil )
("2"
(replace 1 )
(("2"
(assert )
(("2"
(replace -5 * rl)
(("2"
(lemma
"nn_root_strict_increasing"
("x"
"(nn_root(x1!1, pn!1) - epsilon!1) ^ pn!1"
"y"
"y!1"
"pn"
"pn!1" ))
(("2"
(assert )
(("2"
(rewrite
"nn_root_expt"
-1 )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case -replace
"nn_root(x1!1, pn!1) <= epsilon!1" )
(("1" (assert ) nil nil )
("2" (assert )
(("2"
(case "nn_root(x1!1, pn!1) > epsilon!1" )
(("1" (hide 1 )
(("1"
(lemma
"expt_pos"
("px"
"nn_root(x1!1, pn!1) - epsilon!1"
"i"
"pn!1" ))
(("1" (assert ) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2 )
(("2" (skosimp)
(("2" (replace -3 -2 rl)
(("2" (hide -3 )
(("2"
(lemma "nn_root_strict_increasing"
("x" "x1!1" "y" "y!1" "pn" "pn!1" ))
(("2" (assert )
(("2" (expand "abs" )
(("2"
(lemma "nn_root_strict_increasing"
("x"
"y!1"
"y"
"(nn_root(x1!1, pn!1) + epsilon!1) ^ pn!1"
"pn"
"pn!1" ))
(("2"
(assert )
(("2"
(rewrite "nn_root_expt" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
((number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nnreal type-eq -decl nil real_types nil )
(real_times_real_is_real application-judgement "real" reals nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(posreal_exp application-judgement "posreal" exponentiation nil )
(nzreal_exp application-judgement "nzreal" exponentiation nil )
(^ const-decl "real" exponentiation nil )
(/= const-decl "boolean" notequal nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(both_sides_expt_pos_lt formula-decl nil exponentiation nil )
(nn_root const-decl "nnreal" nn_root nil )
(expt_nn_root formula-decl nil nn_root nil )
(minus_real_is_real application-judgement "real" reals nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nn_root_pos formula-decl nil nn_root nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers 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 )
(nn_root_0n formula-decl nil nn_root nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(< const-decl "bool" reals nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(nn_root_expt formula-decl nil nn_root nil )
(min const-decl "{p: real | p <= m AND p <= n}" real_defs nil )
(x1!1 skolem-const-decl "nnreal" nn_root nil )
(X_min skolem-const-decl "real" nn_root nil )
(X_max skolem-const-decl "posreal" nn_root nil )
(trich_lt formula-decl nil real_props nil )
(nn_root_strict_increasing formula-decl nil nn_root nil )
(expt_pos formula-decl nil exponentiation nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(<= const-decl "bool" reals nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(nnreal_plus_posreal_is_posreal application-judgement "posreal"
real_types nil )
(numfield nonempty-type-eq -decl nil number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(real_minus_real_is_real application-judgement "real" reals nil ))
shostak))
(both_sides_nn_root_lt 0
(both_sides_nn_root_lt-1 nil 3430536267
("" (skosimp)
(("" (split)
(("1" (flatten)
(("1" (case -replace "x!1=y!1" )
(("1" (assert ) nil nil )
("2"
(lemma "nn_root_strict_increasing"
("x" "y!1" "y" "x!1" "pn" "pn!1" ))
(("2" (assert ) nil nil )) nil ))
nil ))
nil )
("2" (flatten)
(("2"
(lemma "nn_root_strict_increasing"
("y" "y!1" "x" "x!1" "pn" "pn!1" ))
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
((number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nnreal type-eq -decl nil real_types nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nn_root_strict_increasing formula-decl nil nn_root 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 )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq -decl nil integers nil ))
shostak))
(both_sides_nn_root_le 0
(both_sides_nn_root_le-1 nil 3430536347
("" (skosimp)
(("" (split)
(("1" (flatten)
(("1" (expand "<=" 1 )
(("1" (flatten)
(("1"
(lemma "nn_root_strict_increasing"
("x" "y!1" "y" "x!1" "pn" "pn!1" ))
(("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (flatten)
(("2" (expand "<=" )
(("2" (flatten)
(("2" (split)
(("1"
(lemma "nn_root_strict_increasing"
("y" "y!1" "x" "x!1" "pn" "pn!1" ))
(("1" (assert ) nil nil )) nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((<= const-decl "bool" reals nil )
(nnreal type-eq -decl nil real_types nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= 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 )
(nn_root_strict_increasing formula-decl nil nn_root 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 ))
shostak))
(both_sides_nn_root_gt 0
(both_sides_nn_root_gt-1 nil 3430536079
("" (skosimp)
((""
(lemma "both_sides_nn_root_lt" ("x" "y!1" "y" "x!1" "pn" "pn!1" ))
(("" (assert )
(("" (split)
(("1" (flatten) (("1" (assert ) nil nil )) nil )
("2" (flatten) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
((nnreal type-eq -decl nil real_types nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= 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 )
(both_sides_nn_root_lt formula-decl nil nn_root nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
shostak))
(both_sides_nn_root_ge 0
(both_sides_nn_root_ge-1 nil 3430536144
("" (skosimp)
((""
(lemma "both_sides_nn_root_le" ("x" "y!1" "y" "x!1" "pn" "pn!1" ))
(("" (split)
(("1" (flatten) (("1" (assert ) nil nil )) nil )
("2" (flatten) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
((nnreal type-eq -decl nil real_types nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= 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 )
(both_sides_nn_root_le formula-decl nil nn_root 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 ))
shostak))
(both_sides_nn_root 0
(both_sides_nn_root-1 nil 3430536171
("" (skosimp)
(("" (lemma "trich_lt" ("x" "x!1" "y" "y!1" ))
(("" (split)
(("1"
(lemma "both_sides_nn_root_lt"
("x" "x!1" "y" "y!1" "pn" "pn!1" ))
(("1" (assert ) nil nil )) nil )
("2" (assert ) nil nil )
("3"
(lemma "both_sides_nn_root_lt"
("y" "x!1" "x" "y!1" "pn" "pn!1" ))
(("3" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
((nnreal type-eq -decl nil real_types nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(trich_lt formula-decl nil real_props nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(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 )
(both_sides_nn_root_lt formula-decl nil nn_root nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
shostak))
(both_sides_nn_root_lt1_lt 0
(both_sides_nn_root_lt1_lt-1 nil 3430536749
("" (skosimp)
(("" (split)
(("1" (flatten)
(("1" (case -replace "pn!1=pm!1" )
(("1" (assert ) nil nil )
("2"
(lemma "nn_root_increasing"
("pn" "pm!1" "pm" "pn!1" "x" "lt1x!1" ))
(("2" (assert ) nil nil )) nil ))
nil ))
nil )
("2" (flatten)
(("2"
(lemma "nn_root_increasing"
("pm" "pm!1" "pn" "pn!1" "x" "lt1x!1" ))
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
((number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(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 )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq -decl nil integers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nn_root_increasing formula-decl nil nn_root nil )
(nnreal type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(< const-decl "bool" reals nil ))
shostak))
(both_sides_nn_root_lt1_le 0
(both_sides_nn_root_lt1_le-1 nil 3430536810
("" (skosimp)
(("" (split)
(("1" (flatten)
(("1"
(lemma "nn_root_increasing"
("pn" "pm!1" "pm" "pn!1" "x" "lt1x!1" ))
(("1" (assert ) nil nil )) nil ))
nil )
("2" (flatten)
(("2" (expand "<=" )
(("2" (flatten)
(("2" (split)
(("1"
(lemma "nn_root_increasing"
("pm" "pm!1" "pn" "pn!1" "x" "lt1x!1" ))
(("1" (assert ) nil nil )) nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((< const-decl "bool" reals nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(nnreal type-eq -decl nil real_types nil )
(posnat nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(>= 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 )
(nn_root_increasing formula-decl nil nn_root 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))
(both_sides_nn_root_lt1_gt 0
(both_sides_nn_root_lt1_gt-1 nil 3430536863
("" (skosimp)
((""
(lemma "both_sides_nn_root_lt1_lt"
("pn" "pm!1" "pm" "pn!1" "lt1x" "lt1x!1" ))
(("" (flatten)
(("" (split) (("1" (assert ) nil nil ) ("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
((posnat nonempty-type-eq -decl nil integers nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(int nonempty-type-eq -decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(< const-decl "bool" reals nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(> const-decl "bool" reals nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(both_sides_nn_root_lt1_lt formula-decl nil nn_root nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
shostak))
(both_sides_nn_root_lt1_ge 0
(both_sides_nn_root_lt1_ge-1 nil 3430536903
("" (skosimp)
((""
(lemma "both_sides_nn_root_lt1_le"
("pn" "pm!1" "pm" "pn!1" "lt1x" "lt1x!1" ))
(("" (flatten)
(("" (split) (("1" (assert ) nil nil ) ("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
((posnat nonempty-type-eq -decl nil integers nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(int nonempty-type-eq -decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(< const-decl "bool" reals nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(> const-decl "bool" reals nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(both_sides_nn_root_lt1_le formula-decl nil nn_root nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
shostak))
(both_sides_nn_root_gt1_lt 0
(both_sides_nn_root_gt1_lt-1 nil 3430537267
("" (skosimp)
(("" (split)
(("1" (flatten)
(("1" (case -replace "pm!1=pn!1" )
(("1" (assert ) nil nil )
("2"
(lemma "nn_root_decreasing"
("pn" "pn!1" "pm" "pm!1" "x" "gt1x!1" ))
(("2" (assert ) nil nil )) nil ))
nil ))
nil )
("2" (flatten)
(("2"
(lemma "nn_root_decreasing"
("pm" "pn!1" "pn" "pm!1" "x" "gt1x!1" ))
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
((number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(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 )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq -decl nil integers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nn_root_decreasing formula-decl nil nn_root nil )
(nnreal type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(posreal nonempty-type-eq -decl nil real_types nil ))
shostak))
(both_sides_nn_root_gt1_le 0
(both_sides_nn_root_gt1_le-1 nil 3430537333
("" (skosimp)
(("" (expand "<=" )
(("" (split)
(("1" (flatten)
(("1"
(lemma "nn_root_decreasing"
("pn" "pn!1" "pm" "pm!1" "x" "gt1x!1" ))
(("1" (assert ) nil nil )) nil ))
nil )
("2" (flatten)
(("2" (split)
(("1"
(lemma "nn_root_decreasing"
("pm" "pn!1" "pn" "pm!1" "x" "gt1x!1" ))
(("1" (assert ) nil nil )) nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((<= const-decl "bool" reals nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nn_root_decreasing formula-decl nil nn_root 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 )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq -decl nil integers nil )
(nnreal type-eq -decl nil real_types nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(posreal nonempty-type-eq -decl nil real_types nil ))
shostak))
(both_sides_nn_root_gt1_gt 0
(both_sides_nn_root_gt1_gt-1 nil 3430537395
("" (skosimp)
((""
(lemma "both_sides_nn_root_gt1_lt"
("gt1x" "gt1x!1" "pm" "pn!1" "pn" "pm!1" ))
(("" (flatten)
(("" (split) (("1" (assert ) nil nil ) ("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
((posnat nonempty-type-eq -decl nil integers nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(int nonempty-type-eq -decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(> const-decl "bool" reals nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(both_sides_nn_root_gt1_lt formula-decl nil nn_root nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
shostak))
(both_sides_nn_root_gt1_ge 0
(both_sides_nn_root_gt1_ge-1 nil 3430537435
("" (skosimp)
((""
(lemma "both_sides_nn_root_gt1_le"
("gt1x" "gt1x!1" "pm" "pn!1" "pn" "pm!1" ))
(("" (flatten)
(("" (split) (("1" (assert ) nil nil ) ("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
((posnat nonempty-type-eq -decl nil integers nil )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(int nonempty-type-eq -decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(> const-decl "bool" reals nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(both_sides_nn_root_gt1_le formula-decl nil nn_root nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
shostak))
(both_sides_nn_root_eq 0
(both_sides_nn_root_eq-1 nil 3430537455
("" (skosimp)
(("" (split)
(("1" (flatten)
(("1" (case "x!1<1" )
(("1"
(lemma "both_sides_nn_root_lt1_le"
("pm" "pm!1" "pn" "pn!1" "lt1x" "x!1" ))
(("1"
(lemma "both_sides_nn_root_lt1_ge"
("pm" "pm!1" "pn" "pn!1" "lt1x" "x!1" ))
(("1" (assert ) nil nil )) nil )
("2" (assert ) nil nil ))
nil )
("2"
(lemma "both_sides_nn_root_gt1_le"
("pm" "pm!1" "pn" "pn!1" "gt1x" "x!1" ))
(("1"
(lemma "both_sides_nn_root_gt1_ge"
("pm" "pm!1" "pn" "pn!1" "gt1x" "x!1" ))
(("1" (assert ) nil nil )) nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("2" (flatten)
(("2" (split)
(("1" (replace -1 )
(("1" (rewrite "nn_root_0n" )
(("1" (rewrite "nn_root_0n" ) nil nil )) nil ))
nil )
("2" (replace -1 )
(("2" (rewrite "nn_root_1n" )
(("2" (rewrite "nn_root_1n" ) nil nil )) nil ))
nil )
("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
((nnreal type-eq -decl nil real_types nil )
(>= const-decl "bool" reals nil ) (< const-decl "bool" reals nil )
(bool nonempty-type-eq -decl nil booleans nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(both_sides_nn_root_lt1_ge formula-decl nil nn_root 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 )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(both_sides_nn_root_lt1_le formula-decl nil nn_root nil )
(nonneg_real nonempty-type-eq -decl nil real_types nil )
(> const-decl "bool" reals nil )
(posreal nonempty-type-eq -decl nil real_types nil )
(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 )
(nonneg_int nonempty-type-eq -decl nil integers nil )
(posnat nonempty-type-eq -decl nil integers nil )
(both_sides_nn_root_gt1_ge formula-decl nil nn_root nil )
(both_sides_nn_root_gt1_le formula-decl nil nn_root nil )
(nn_root_0n formula-decl nil nn_root nil )
(nn_root_1n formula-decl nil nn_root nil ))
shostak)))
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.147 Sekunden
(vorverarbeitet am 2026-06-04)
¤
*© Formatika GbR, Deutschland