Impressum nnreal_expt.prf
Interaktion und PortierbarkeitLisp
(nnreal_expt
(nnreal_expt_TCC1 0
(nnreal_expt_TCC1-1 nil 3427171289
("" (skosimp)
(("" (case "y!1>0" )
(("1" (hide 1 2)
(("1" (split)
(("1" (expand "nonempty?" )
(("1" (expand "empty?" )
(("1" (expand "extend" )
(("1" (expand "member" )
(("1" (lemma "density_positive" ("x" "0" "y" "y!1" ))
(("1" (assert )
(("1" (skosimp)
(("1" (inst - "nn_rational_expt(x!1, r!1)" )
(("1" (typepred "nn_rational_expt(x!1, r!1)" )
(("1" (assert )
(("1"
(inst + "r!1" )
(("1" (assert ) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "bounded_below?" )
(("2" (inst + "0" )
(("2" (expand "lower_bound?" )
(("2" (skosimp)
(("2" (typepred "s!1" )
(("2" (expand "extend" ) (("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) 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 )
(empty? const-decl "bool" sets nil )
(member const-decl "bool" sets nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rat nonempty-type-eq-decl nil rationals nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(density_positive formula-decl nil rational_props nil )
(extend const-decl "R" extend nil )
(nonempty? const-decl "bool" sets nil )
(FALSE const-decl "bool" booleans nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(<= const-decl "bool" reals nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(lower_bound? const-decl "bool" bounded_real_defs nil )
(bounded_below? const-decl "bool" bounded_real_defs nil ))
nil ))
(nnreal_expt_TCC2 0
(nnreal_expt_TCC2-1 nil 3427171289
("" (skosimp)
((""
(typepred "glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= y!1 AND z = nn_rational_expt(x!1, q)}))")
((""
(name-replace "GLB" "glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= y!1 AND z = nn_rational_expt(x!1, q)}))")
(("" (expand "greatest_lower_bound?" )
(("" (flatten)
(("" (inst - "0" )
(("" (assert )
(("" (hide -1 4)
(("" (expand "lower_bound?" )
(("" (skosimp)
(("" (typepred "s!1" )
(("" (assert )
(("" (expand "extend" )
(("" (propax) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(<= const-decl "bool" reals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(extend const-decl "R" extend nil )
(FALSE const-decl "bool" booleans nil )
(nnreal type-eq-decl nil real_types nil )
(>= const-decl "bool" reals nil )
(glb const-decl "{x | greatest_lower_bound?(x, SB)}"
bounded_real_defs nil )
(bounded_below? const-decl "bool" bounded_real_defs nil )
(greatest_lower_bound? const-decl "bool" bounded_real_defs nil )
(nonempty? const-decl "bool" sets nil )
(set type-eq-decl nil sets 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 )
(number nonempty-type-decl nil numbers nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(lower_bound? const-decl "bool" bounded_real_defs nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
nil ))
(nnreal_expt_TCC3 0
(nnreal_expt_TCC3-1 nil 3427223359
("" (skosimp*)
(("" (split)
(("1" (expand "nonempty?" )
(("1" (expand "empty?" )
(("1" (expand "extend" )
(("1" (expand "member" )
(("1" (lemma "density_positive" ("x" "0" "y" "y!1" ))
(("1" (assert )
(("1" (skosimp)
(("1" (inst - "nn_rational_expt(x!1, r!1)" )
(("1" (typepred "nn_rational_expt(x!1, r!1)" )
(("1" (assert )
(("1" (inst + "r!1" ) (("1" (assert ) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "bounded_above?" )
(("2" (expand "extend" )
(("2" (expand "upper_bound?" )
(("2" (lemma "density_positive" ("x" "y!1" "y" "y!1+1" ))
(("2" (assert )
(("2" (skosimp)
(("2" (inst + "nn_rational_expt(x!1, r!1)" )
(("1" (skosimp)
(("1" (typepred "s!1" )
(("1" (assert )
(("1" (skosimp)
(("1" (replace -2)
(("1"
(lemma
"nn_rational_expt_increasing"
("q" "q!1" "r" "r!1" "x" "x!1" ))
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((empty? const-decl "bool" sets nil )
(member const-decl "bool" sets nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rat nonempty-type-eq-decl nil rationals nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(density_positive formula-decl nil rational_props 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 )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nnreal type-eq-decl nil real_types nil )
(extend const-decl "R" extend nil )
(nonempty? const-decl "bool" sets nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(nnreal_plus_posreal_is_posreal application-judgement "posreal"
real_types nil )
(posreal_plus_nnreal_is_posreal application-judgement "posreal"
real_types nil )
(nn_rational_expt_increasing formula-decl nil nn_rational_expt nil )
(FALSE const-decl "bool" booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(<= const-decl "bool" reals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(upper_bound? const-decl "bool" bounded_real_defs nil )
(bounded_above? const-decl "bool" bounded_real_defs nil ))
nil ))
(nnreal_expt_TCC4 0
(nnreal_expt_TCC4-1 nil 3427223359
("" (skosimp*)
((""
(typepred "lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= y!1 AND z = nn_rational_expt(x!1, q)}))")
((""
(name-replace "LUB" "lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= y!1 AND z = nn_rational_expt(x!1, q)}))")
(("" (expand "least_upper_bound?" )
(("" (flatten)
(("" (hide -2)
(("" (expand "upper_bound?" )
(("" (inst - "nn_rational_expt(x!1, 0)" )
(("1" (typepred "nn_rational_expt(x!1, 0)" )
(("1" (assert ) nil nil )) nil )
("2" (expand "extend" )
(("2" (typepred "nn_rational_expt(x!1, 0)" )
(("2" (assert )
(("2" (inst + "0" ) (("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(<= const-decl "bool" reals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(extend const-decl "R" extend nil )
(FALSE const-decl "bool" booleans nil )
(nnreal type-eq-decl nil real_types nil )
(>= const-decl "bool" reals nil )
(lub const-decl "{x | least_upper_bound?(x, SA)}" bounded_real_defs
nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(least_upper_bound? const-decl "bool" bounded_real_defs nil )
(nonempty? const-decl "bool" sets nil )
(set type-eq-decl nil sets 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 )
(number nonempty-type-decl nil numbers nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil )
(y!1 skolem-const-decl "nnreal" nnreal_expt nil )
(x!1 skolem-const-decl "nnreal" nnreal_expt nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(upper_bound? const-decl "bool" bounded_real_defs nil ))
nil ))
(nnreal_expt_rat_rew 0
(nnreal_expt_rat_rew-1 nil 3427179456
("" (skosimp)
(("" (case-replace "q!1=0" )
(("1" (expand "nnreal_expt" )
(("1" (rewrite "nn_rational_expt_nat_rew" )
(("1" (grind) nil nil )) nil ))
nil )
("2" (case "q!1>0" )
(("1" (hide 1)
(("1" (expand "nnreal_expt" )
(("1" (case-replace "x!1=1" )
(("1" (rewrite "nn_rational_expt_1q" ) nil nil )
("2" (case-replace "x!1<1" )
(("1" (assert )
(("1" (hide 1)
(("1"
(typepred "glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= q!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(name-replace "GLB"
"glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= q!1 AND z = nn_rational_expt(x!1, q)}))")
(("1" (expand "greatest_lower_bound?" )
(("1" (flatten)
(("1" (inst - "nn_rational_expt(x!1, q!1)" )
(("1"
(split -2)
(("1"
(expand "lower_bound?" )
(("1"
(inst
-
"nn_rational_expt(x!1, q!1)" )
(("1" (assert ) nil nil )
("2"
(expand "extend" )
(("2"
(inst + "q!1" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -1 2)
(("2"
(expand "lower_bound?" )
(("2"
(skosimp)
(("2"
(typepred "s!1" )
(("2"
(expand "extend" )
(("2"
(prop)
(("2"
(skosimp)
(("2"
(expand "<=" -2)
(("2"
(replace -3)
(("2"
(hide -1 -3)
(("2"
(split)
(("1"
(case-replace
"x!1=0" )
(("1"
(assert )
(("1"
(case-replace
"q!2=0" )
(("1"
(assert )
(("1"
(rewrite
"nn_rational_expt_0q" )
(("1"
(rewrite
"nn_rational_expt_0q" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(rewrite
"nn_rational_expt_0q" )
(("2"
(rewrite
"nn_rational_expt_0q" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"x!1>0" )
(("1"
(hide 1)
(("1"
(lemma
"nn_rational_expt_decreasing"
("q"
"q!2"
"r"
"q!1"
"x"
"x!1" ))
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert )
(("2" (case "x!1>1" )
(("1" (hide 1 2)
(("1"
(typepred "lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= q!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(name-replace "LUB"
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= q!1 AND z = nn_rational_expt(x!1, q)}))")
(("1" (expand "least_upper_bound?" )
(("1" (flatten)
(("1"
(inst - "nn_rational_expt(x!1, q!1)" )
(("1"
(split -2)
(("1"
(expand "upper_bound?" )
(("1"
(inst
-
"nn_rational_expt(x!1, q!1)" )
(("1" (assert ) nil nil )
("2"
(expand "extend" )
(("2"
(inst + "q!1" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -1 2)
(("2"
(expand "upper_bound?" )
(("2"
(skosimp)
(("2"
(typepred "s!1" )
(("2"
(expand "extend" )
(("2"
(prop)
(("2"
(skosimp)
(("2"
(replace -3)
(("2"
(hide -1 -3)
(("2"
(expand "<=" -1)
(("2"
(split -1)
(("1"
(lemma
"nn_rational_expt_increasing"
("q"
"q!2"
"r"
"q!1"
"x"
"x!1" ))
(("1"
(assert )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) 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 )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(nn_rational_expt_nat_rew formula-decl nil nn_rational_expt nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(nnreal type-eq-decl nil real_types nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(nnreal_expt application-judgement "nnreal" exponentiation nil )
(^ const-decl "real" exponentiation nil )
(expt def-decl "real" exponentiation nil )
(nnreal_expt const-decl "nnreal" nnreal_expt nil )
(nn_rational_expt_1q formula-decl nil nn_rational_expt nil )
(upper_bound? const-decl "bool" bounded_real_defs nil )
(nn_rational_expt_increasing formula-decl nil nn_rational_expt nil )
(least_upper_bound? const-decl "bool" bounded_real_defs nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(lub const-decl "{x | least_upper_bound?(x, SA)}" bounded_real_defs
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 )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(<= const-decl "bool" reals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(extend const-decl "R" extend nil )
(FALSE const-decl "bool" booleans nil )
(glb const-decl "{x | greatest_lower_bound?(x, SB)}"
bounded_real_defs nil )
(bounded_below? const-decl "bool" bounded_real_defs nil )
(greatest_lower_bound? const-decl "bool" bounded_real_defs nil )
(nonempty? const-decl "bool" sets nil )
(set type-eq-decl nil sets nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(nn_rational_expt_decreasing formula-decl nil nn_rational_expt nil )
(nn_rational_expt_0q formula-decl nil nn_rational_expt nil )
(lower_bound? const-decl "bool" bounded_real_defs nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(x!1 skolem-const-decl "nnreal" nnreal_expt nil )
(q!1 skolem-const-decl "nnrat" nnreal_expt nil )
(< const-decl "bool" reals nil ) (> const-decl "bool" reals nil ))
shostak))
(nnreal_expt_nat_rew_TCC1 0
(nnreal_expt_nat_rew_TCC1-1 nil 3428161604 ("" (subtype-tcc) nil nil )
((/= const-decl "boolean" notequal nil )) nil ))
(nnreal_expt_nat_rew 0
(nnreal_expt_nat_rew-1 nil 3428161605
("" (skosimp)
(("" (rewrite "nnreal_expt_rat_rew" )
(("" (rewrite "nn_rational_expt_nat_rew" ) nil nil )) nil ))
nil )
((nnreal_expt_rat_rew formula-decl nil nnreal_expt 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 )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(nnreal type-eq-decl nil real_types nil )
(nn_rational_expt_nat_rew formula-decl nil nn_rational_expt nil ))
shostak))
(nnreal_expt_root_rew 0
(nnreal_expt_root_rew-1 nil 3428161631
("" (skosimp)
(("" (rewrite "nnreal_expt_rat_rew" )
(("" (rewrite "nn_rational_expt_root_rew" ) nil nil )) nil ))
nil )
((posrat_div_posrat_is_posrat application-judgement "posrat"
rationals nil )
(nnreal_expt_rat_rew formula-decl nil nnreal_expt 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 )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nnrat nonempty-type-eq-decl nil rationals 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 )
(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 )
(nnreal type-eq-decl nil real_types nil )
(nn_rational_expt_root_rew formula-decl nil nn_rational_expt nil ))
shostak))
(nnreal_expt_0a 0
(nnreal_expt_0a-1 nil 3427304632
("" (skosimp)
(("" (case-replace "a!1=0" )
(("1" (rewrite "nnreal_expt_rat_rew" )
(("1" (rewrite "nn_rational_expt_0q" ) nil nil )) nil )
("2" (assert )
(("2" (case "a!1>0" )
(("1" (hide 1)
(("1" (expand "nnreal_expt" )
(("1"
(typepred "glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(0, q)}))")
(("1"
(name-replace "GLB"
"glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(0, q)}))")
(("1" (expand "greatest_lower_bound?" )
(("1" (flatten)
(("1" (expand "lower_bound?" )
(("1" (inst - "0" )
(("1" (inst - "0" )
(("1" (split -2)
(("1" (assert ) nil nil )
("2"
(skosimp)
(("2"
(typepred "s!1" )
(("2"
(expand "extend" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "extend" )
(("2" (hide -1 2)
(("2"
(lemma
"density_positive"
("x" "0" "y" "a!1" ))
(("2"
(assert )
(("2"
(skosimp)
(("2"
(inst + "r!1" )
(("1"
(assert )
(("1"
(rewrite
"nn_rational_expt_0q" )
nil
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("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 )
(nn_rational_expt_0q formula-decl nil nn_rational_expt nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(nnreal_expt_rat_rew formula-decl nil nnreal_expt nil )
(> const-decl "bool" reals nil )
(nnreal_expt const-decl "nnreal" nnreal_expt nil )
(a!1 skolem-const-decl "nnreal" nnreal_expt nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_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 )
(rat nonempty-type-eq-decl nil rationals nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(density_positive formula-decl nil rational_props nil )
(lower_bound? const-decl "bool" bounded_real_defs nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(set type-eq-decl nil sets nil )
(nonempty? const-decl "bool" sets nil )
(greatest_lower_bound? const-decl "bool" bounded_real_defs nil )
(bounded_below? const-decl "bool" bounded_real_defs nil )
(glb const-decl "{x | greatest_lower_bound?(x, SB)}"
bounded_real_defs nil )
(FALSE const-decl "bool" booleans nil )
(extend const-decl "R" extend nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(<= const-decl "bool" reals nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil ))
shostak))
(nnreal_expt_1a 0
(nnreal_expt_1a-1 nil 3427304898
("" (skosimp)
(("" (expand "nnreal_expt" ) (("" (propax) nil nil )) nil )) nil )
((nnreal_expt const-decl "nnreal" nnreal_expt nil )) shostak))
(nnreal_expt_x1 0
(nnreal_expt_x1-1 nil 3427304910
("" (skosimp)
(("" (rewrite "nnreal_expt_rat_rew" )
(("" (rewrite "nn_rational_expt_nat_rew" )
(("" (ground) (("" (grind) nil nil )) nil )) nil ))
nil ))
nil )
((nnreal_expt_rat_rew formula-decl nil nnreal_expt 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 )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(nnreal type-eq-decl nil real_types nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(nnreal_expt application-judgement "nnreal" exponentiation nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(^ const-decl "real" exponentiation nil )
(expt def-decl "real" exponentiation nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(nn_rational_expt_nat_rew formula-decl nil nn_rational_expt nil ))
shostak))
(nnreal_expt_pos 0
(nnreal_expt_pos-1 nil 3427306409
("" (skosimp)
(("" (expand "nnreal_expt" )
(("" (case-replace "a!1=0" )
(("1" (assert ) nil nil )
("2" (assert )
(("2" (case-replace "px!1=1" )
(("1" (assert ) nil nil )
("2" (assert )
(("2" (case "px!1<1" )
(("1" (assert )
(("1" (case "a!1>0" )
(("1" (hide 1 2)
(("1"
(typepred "glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(px!1, q)}))
")
(("1"
(name-replace "GLB"
"glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(px!1, q)}))")
(("1" (expand "extend" )
(("1" (expand "greatest_lower_bound?" )
(("1"
(flatten)
(("1"
(expand "lower_bound?" )
(("1"
(lemma
"density_positive"
("x" "a!1" "y" "a!1+1" ))
(("1"
(assert )
(("1"
(skosimp)
(("1"
(inst
-4
"nn_rational_expt(px!1, r!1)" )
(("1"
(split -4)
(("1"
(lemma
"nn_rational_expt_pos"
("px" "px!1" "q" "r!1" ))
(("1" (assert ) nil nil )
("2" (assert ) nil nil ))
nil )
("2"
(skosimp)
(("2"
(typepred "s!1" )
(("2"
(assert )
(("2"
(skosimp)
(("2"
(lemma
"nn_rational_expt_decreasing"
("q"
"q!1"
"r"
"r!1"
"x"
"px!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (assert )
(("2" (case "a!1>0&px!1>1" )
(("1" (flatten)
(("1" (hide 1 2 3)
(("1"
(typepred
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(px!1, q)}))")
(("1"
(name-replace "LUB"
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(px!1, q)}))")
(("1" (expand "least_upper_bound?" )
(("1"
(flatten)
(("1"
(expand "extend" )
(("1"
(expand "upper_bound?" )
(("1"
(lemma
"density_positive"
("x" "0" "y" "a!1" ))
(("1"
(assert )
(("1"
(skosimp)
(("1"
(inst
-
"nn_rational_expt(px!1, r!1)" )
(("1"
(lemma
"nn_rational_expt_pos"
("px" "px!1" "q" "r!1" ))
(("1" (assert ) nil nil )
("2" (assert ) nil nil ))
nil )
("2"
(typepred
"nn_rational_expt(px!1, r!1)" )
(("1"
(assert )
(("1"
(inst + "r!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil )
("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nnreal_expt const-decl "nnreal" nnreal_expt nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(lub const-decl "{x | least_upper_bound?(x, SA)}" bounded_real_defs
nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(least_upper_bound? const-decl "bool" bounded_real_defs nil )
(a!1 skolem-const-decl "nnreal" nnreal_expt nil )
(px!1 skolem-const-decl "posreal" nnreal_expt nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(upper_bound? const-decl "bool" bounded_real_defs nil )
(lower_bound? const-decl "bool" bounded_real_defs 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 )
(rat nonempty-type-eq-decl nil rationals nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(posreal_plus_nnreal_is_posreal application-judgement "posreal"
real_types nil )
(nn_rational_expt_decreasing formula-decl nil nn_rational_expt nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(nn_rational_expt_pos formula-decl nil nn_rational_expt nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(density_positive formula-decl nil rational_props nil )
(nnreal_plus_posreal_is_posreal application-judgement "posreal"
real_types nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(set type-eq-decl nil sets nil )
(nonempty? const-decl "bool" sets nil )
(greatest_lower_bound? const-decl "bool" bounded_real_defs nil )
(bounded_below? const-decl "bool" bounded_real_defs nil )
(glb const-decl "{x | greatest_lower_bound?(x, SB)}"
bounded_real_defs nil )
(FALSE const-decl "bool" booleans nil )
(extend const-decl "R" extend nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(<= const-decl "bool" reals nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt 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 )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props 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 )
(= const-decl "[T, T -> boolean]" equalities nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil ))
shostak))
(nnreal_expt_is_0 0
(nnreal_expt_is_0-1 nil 3427304987
("" (skosimp)
(("" (case-replace "a!1=0" )
(("1" (assert )
(("1" (rewrite "nnreal_expt_rat_rew" )
(("1" (rewrite "nn_rational_expt_is_0" ) nil nil )) nil ))
nil )
("2" (assert )
(("2" (case "a!1>0" )
(("1" (hide 1)
(("1" (split)
(("1" (flatten)
(("1" (case "x!1>0" )
(("1" (hide 1)
(("1" (assert )
(("1"
(lemma "nnreal_expt_pos"
("px" "x!1" "a" "a!1" ))
(("1" (assert ) nil nil )) nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (flatten)
(("2" (replace -1)
(("2" (rewrite "nnreal_expt_0a" ) nil nil )) nil ))
nil ))
nil ))
nil )
("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 )
(nnreal_expt_rat_rew formula-decl nil nnreal_expt nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(nn_rational_expt_is_0 formula-decl nil nn_rational_expt nil )
(> const-decl "bool" reals nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nnreal_expt_pos formula-decl nil nnreal_expt nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(nnreal_expt_0a formula-decl nil nnreal_expt nil ))
shostak))
(nnreal_expt_gt1 0
(nnreal_expt_gt1-1 nil 3427306444
("" (skosimp)
(("" (split)
(("1" (flatten)
(("1" (case "x!1<=1" )
(("1" (hide 1)
(("1" (expand "<=" )
(("1" (split)
(("1" (assert )
(("1" (case-replace "x!1=0" )
(("1" (rewrite "nnreal_expt_0a" )
(("1" (assert ) nil nil )) nil )
("2" (case "x!1>0" )
(("1" (hide 1)
(("1" (expand "nnreal_expt" )
(("1"
(typepred
"glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= pa!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(name-replace "GLB"
"glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= pa!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(expand "extend" )
(("1"
(expand "greatest_lower_bound?" )
(("1"
(flatten)
(("1"
(expand "lower_bound?" )
(("1"
(inst
-
"nn_rational_expt(x!1, 0)" )
(("1"
(rewrite
"nn_rational_expt_nat_rew" )
(("1"
(rewrite "expt_x0" )
(("1" (assert ) nil nil ))
nil ))
nil )
("2"
(typepred
"nn_rational_expt(x!1, 0)" )
(("2"
(assert )
(("2"
(inst + "0" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("2" (replace -1)
(("2" (rewrite "nnreal_expt_1a" )
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (flatten)
(("2" (assert )
(("2" (expand "nnreal_expt" )
(("2"
(typepred "lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= pa!1 AND z = nn_rational_expt(x!1, q)}))")
(("2"
(name-replace "LUB"
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= pa!1 AND z = nn_rational_expt(x!1, q)}))")
(("2" (expand "extend" )
(("2" (expand "least_upper_bound?" )
(("2" (flatten)
(("2"
(lemma "density_positive" ("x" "0" "y" "pa!1" ))
(("2" (assert )
(("2" (skosimp)
(("2" (expand "upper_bound?" )
(("2"
(inst - "nn_rational_expt(x!1, r!1)" )
(("1"
(lemma
"nn_rational_expt_gt1"
("x" "x!1" "pq" "r!1" ))
(("1" (assert ) nil nil )
("2" (assert ) nil nil ))
nil )
("2"
(typepred
"nn_rational_expt(x!1, r!1)" )
(("1"
(assert )
(("1"
(inst + "r!1" )
(("1" (assert ) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil )
("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
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 )
(nnreal_expt_1a formula-decl nil nnreal_expt 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 )
(nnreal_expt const-decl "nnreal" nnreal_expt nil )
(lower_bound? const-decl "bool" bounded_real_defs nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(nn_rational_expt_nat_rew formula-decl nil nn_rational_expt nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(expt_x0 formula-decl nil exponentiation nil )
(pa!1 skolem-const-decl "posreal" nnreal_expt nil )
(x!1 skolem-const-decl "nnreal" nnreal_expt nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(set type-eq-decl nil sets nil )
(nonempty? const-decl "bool" sets nil )
(greatest_lower_bound? const-decl "bool" bounded_real_defs nil )
(bounded_below? const-decl "bool" bounded_real_defs nil )
(glb const-decl "{x | greatest_lower_bound?(x, SB)}"
bounded_real_defs nil )
(FALSE const-decl "bool" booleans nil )
(extend const-decl "R" extend nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(nnreal_expt_0a formula-decl nil nnreal_expt 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 )
(= const-decl "[T, T -> boolean]" equalities nil )
(lub const-decl "{x | least_upper_bound?(x, SA)}" bounded_real_defs
nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(least_upper_bound? const-decl "bool" bounded_real_defs nil )
(upper_bound? const-decl "bool" bounded_real_defs nil )
(nn_rational_expt_gt1 formula-decl nil nn_rational_expt nil )
(nonneg_rat nonempty-type-eq-decl nil rationals nil )
(posrat nonempty-type-eq-decl nil rationals nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(rat nonempty-type-eq-decl nil rationals nil )
(density_positive formula-decl nil rational_props nil ))
shostak))
(nnreal_expt_lt1 0
(nnreal_expt_lt1-1 nil 3427306586
("" (skosimp)
(("" (split)
(("1" (flatten)
(("1" (case "1<=x!1" )
(("1" (hide 1)
(("1" (expand "<=" )
(("1" (split -1)
(("1" (assert )
(("1" (expand "nnreal_expt" )
(("1"
(typepred "lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= pa!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(name-replace "LUB"
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= pa!1 AND z = nn_rational_expt(x!1, q)}))")
(("1" (expand "extend" )
(("1" (expand "least_upper_bound?" )
(("1" (flatten)
(("1"
(expand "upper_bound?" )
(("1"
(inst - "nn_rational_expt(x!1, 0)" )
(("1"
(rewrite
"nn_rational_expt_nat_rew" )
(("1"
(rewrite "expt_x0" )
(("1" (assert ) nil nil ))
nil ))
nil )
("2"
(typepred
"nn_rational_expt(x!1, 0)" )
(("2"
(assert )
(("2"
(inst + "0" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (replace -1 * rl)
(("2" (rewrite "nnreal_expt_1a" )
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (flatten)
(("2" (assert )
(("2" (expand "nnreal_expt" )
(("2"
(typepred "glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= pa!1 AND z = nn_rational_expt(x!1, q)}))")
(("2"
(name-replace "GLB"
"glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= pa!1 AND z = nn_rational_expt(x!1, q)}))")
(("2" (expand "extend" )
(("2" (expand "greatest_lower_bound?" )
(("2" (flatten)
(("2" (expand "lower_bound?" )
(("2"
(lemma "density_positive"
("x" "0" "y" "pa!1" ))
(("2" (assert )
(("2" (skosimp)
(("2"
(inst - "nn_rational_expt(x!1, r!1)" )
(("1"
(lemma
"nn_rational_expt_lt1"
("x" "x!1" "pq" "r!1" ))
(("1" (assert ) nil nil )
("2" (assert ) nil nil ))
nil )
("2"
(typepred
"nn_rational_expt(x!1, r!1)" )
(("1"
(assert )
(("1"
(inst + "r!1" )
(("1" (assert ) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil )
("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
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 )
(nnreal_expt_1a formula-decl nil nnreal_expt nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(= const-decl "[T, T -> boolean]" equalities 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 )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(extend const-decl "R" extend nil )
(FALSE const-decl "bool" booleans nil )
(lub const-decl "{x | least_upper_bound?(x, SA)}" bounded_real_defs
nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(least_upper_bound? const-decl "bool" bounded_real_defs nil )
(nonempty? const-decl "bool" sets nil )
(set type-eq-decl nil sets nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(x!1 skolem-const-decl "nnreal" nnreal_expt nil )
(pa!1 skolem-const-decl "posreal" nnreal_expt nil )
(expt_x0 formula-decl nil exponentiation nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(nn_rational_expt_nat_rew formula-decl nil nn_rational_expt nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(upper_bound? const-decl "bool" bounded_real_defs nil )
(nnreal_expt const-decl "nnreal" nnreal_expt nil )
(glb const-decl "{x | greatest_lower_bound?(x, SB)}"
bounded_real_defs nil )
(bounded_below? const-decl "bool" bounded_real_defs nil )
(greatest_lower_bound? const-decl "bool" bounded_real_defs nil )
(density_positive formula-decl nil rational_props nil )
(nn_rational_expt_lt1 formula-decl nil nn_rational_expt nil )
(nonneg_rat nonempty-type-eq-decl nil rationals nil )
(posrat nonempty-type-eq-decl nil rationals nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(rat nonempty-type-eq-decl nil rationals nil )
(lower_bound? const-decl "bool" bounded_real_defs nil ))
shostak))
(inv_nnreal_expt_TCC1 0
(inv_nnreal_expt_TCC1-1 nil 3427304524
("" (skosimp) (("" (rewrite "nnreal_expt_is_0" ) nil nil )) nil )
((nnreal_expt_is_0 formula-decl nil nnreal_expt 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 )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nnreal type-eq-decl nil real_types 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 ))
nil ))
(inv_nnreal_expt 0
(inv_nnreal_expt-1 nil 3427343585
("" (skosimp)
(("" (case-replace "a!1=0" )
(("1" (rewrite "nnreal_expt_rat_rew" )
(("1" (rewrite "nnreal_expt_rat_rew" )
(("1" (rewrite "inv_nn_rational_expt" ) nil nil )) nil ))
nil )
("2" (case "a!1>0" )
(("1" (hide 1)
(("1" (lemma "nnreal_expt_pos" ("px" "px!1" "a" "a!1" ))
(("1" (expand "nnreal_expt" )
(("1" (case-replace "px!1=1" )
(("1" (replace 1)
(("1" (case-replace "px!1 < 1" )
(("1"
(lemma "both_sides_div_pos_lt2"
("pz" "1" "py" "px!1" "px" "1" ))
(("1" (rewrite "div_simp" )
(("1" (assert )
(("1" (hide 1)
(("1"
(typepred
"lub(extend[real, nnreal, bool, FALSE]
({z |
EXISTS q: q <= a!1 AND z = nn_rational_expt(1 / px!1, q)}))")
(("1"
(name-replace
"LUB"
"lub(extend[real, nnreal, bool, FALSE]
({z |
EXISTS q: q <= a!1 AND z = nn_rational_expt(1 / px!1, q)}))")
(("1"
(typepred
"glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(px!1, q)}))")
(("1"
(name-replace
"GLB"
"glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(px!1, q)}))")
(("1"
(expand "greatest_lower_bound?" )
(("1"
(expand "least_upper_bound?" )
(("1"
(expand "upper_bound?" )
(("1"
(expand "lower_bound?" )
(("1"
(flatten)
(("1"
(inst -4 "1/GLB" )
(("1"
(split -4)
(("1"
(lemma
"div_mult_pos_le1"
("z" "1" ))
(("1"
(case "LUB>0" )
(("1"
(inst-cp
-
"GLB"
"LUB" )
(("1"
(inst
-
"LUB"
"GLB" )
(("1"
(inst
-6
"1/LUB" )
(("1"
(split
-6)
(("1"
(assert )
nil
nil )
("2"
(hide
-2
-3
-4
2)
(("2"
(skosimp)
(("2"
(typepred
"s!1" )
(("2"
(expand
"extend" )
(("2"
(prop)
(("2"
(skosimp)
(("2"
(replace
-3)
(("2"
(lemma
"nn_rational_expt_pos"
("px"
"px!1"
"q"
"q!1" ))
(("2"
(hide
-2)
(("2"
(lemma
"inv_nn_rational_expt"
("px"
"px!1"
"q"
"q!1" ))
(("2"
(lemma
"both_sides_div_pos_le2"
("pz"
"1"
"px"
"LUB"
"py"
"1 / nn_rational_expt(px!1, q!1)" ))
(("1"
(case-replace
"1 / (1 / nn_rational_expt(px!1, q!1))=nn_rational_expt(px!1, q!1)" )
(("1"
(replace
-2)
(("1"
(replace
-3
1
rl)
(("1"
(hide
-1
-2
-3)
(("1"
(hide
-5)
(("1"
(inst
-
"nn_rational_expt(1 / px!1, q!1)" )
(("1"
(expand
"extend" )
(("1"
(assert )
(("1"
(inst
+
"q!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-3
1))
(("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(assert )
nil
nil )
("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(hide
2
-1
-2
-3
-4)
(("2"
(inst
-
"nn_rational_expt(1 / px!1, 0)" )
(("1"
(lemma
"nn_rational_expt_pos"
("px"
"1/px!1"
"q"
"0" ))
(("1"
(assert )
nil
nil ))
nil )
("2"
(expand
"extend" )
(("2"
(typepred
"nn_rational_expt(1 / px!1, 0)" )
(("2"
(assert )
(("2"
(inst
+
"0" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skosimp)
(("2"
(typepred
"s!1" )
(("2"
(expand
"extend" )
(("2"
(prop)
(("2"
(skosimp)
(("2"
(replace
-3)
(("2"
(hide
-1
-3)
(("2"
(rewrite
"inv_nn_rational_expt" )
(("2"
(lemma
"nn_rational_expt_pos"
("px"
"px!1"
"q"
"q!1" ))
(("2"
(lemma
"both_sides_div_pos_le2"
("pz"
"1"
"px"
"nn_rational_expt(px!1, q!1)"
"py"
"GLB" ))
(("1"
(replace
-1)
(("1"
(hide
-1)
(("1"
(inst
-3
"nn_rational_expt(px!1, q!1)" )
(("1"
(expand
"extend" )
(("1"
(inst
+
"q!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil )
("3"
(propax)
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 ))
nil ))
nil )
("2"
(lemma "both_sides_div_pos_lt2"
("pz" "1" "px" "px!1" "py" "1" ))
(("2" (assert )
(("2" (case "px!1>1" )
(("1" (hide 1 2)
(("1"
(typepred
"glb(extend[real, nnreal, bool, FALSE]
({z |
EXISTS q: q <= a!1 AND z = nn_rational_expt(1 / px!1, q)}))")
(("1"
(name-replace
"GLB"
"glb(extend[real, nnreal, bool, FALSE]
({z |
EXISTS q: q <= a!1 AND z = nn_rational_expt(1 / px!1, q)}))")
(("1"
(typepred
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(px!1, q)}))")
(("1"
(name-replace
"LUB"
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(px!1, q)}))")
(("1"
(expand "greatest_lower_bound?" )
(("1"
(expand "lower_bound?" )
(("1"
(expand "least_upper_bound?" )
(("1"
(expand "upper_bound?" )
(("1"
(flatten)
(("1"
(inst -4 "1/LUB" )
(("1"
(split -4)
(("1"
(case "GLB>0" )
(("1"
(lemma
"both_sides_div_pos_le2"
("pz" "1" ))
(("1"
(inst
-
"1/LUB"
"GLB" )
(("1"
(flatten)
(("1"
(hide -2)
(("1"
(split
-1)
(("1"
(assert )
nil
nil )
("2"
(hide
2)
(("2"
(assert )
(("2"
(case-replace
"1 / (1 / LUB)=LUB" )
(("1"
(hide
-1)
(("1"
(inst
-4
"1/GLB" )
(("1"
(split
-4)
(("1"
(propax)
nil
nil )
("2"
(skosimp)
(("2"
(typepred
"s!1" )
(("2"
(expand
"extend" )
(("2"
(prop)
(("2"
(skosimp)
(("2"
(replace
-3)
(("2"
(hide
-1
-3
2
-5)
(("2"
(lemma
"nn_rational_expt_pos"
("px"
"px!1"
"q"
"q!1" ))
(("2"
(rewrite
"div_mult_pos_le2" )
(("2"
(lemma
"div_mult_pos_le2"
("py"
"nn_rational_expt(px!1, q!1)"
"x"
"GLB"
"z"
"1" ))
(("1"
(replace
-1
1
rl)
(("1"
(hide
-1)
(("1"
(rewrite
"inv_nn_rational_expt"
+
:dir
rl)
(("1"
(inst
-5
"nn_rational_expt(1 / px!1, q!1)" )
(("1"
(expand
"extend" )
(("1"
(inst
+
"q!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(rewrite
"div_div1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil )
("3"
(lemma
"posreal_div_posreal_is_posreal"
("px"
"1"
"py"
"LUB" ))
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"posreal_div_posreal_is_posreal"
("px"
"1"
"py"
"LUB" ))
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(skosimp)
(("2"
(typepred "s!1" )
(("2"
(expand
"extend"
-1)
(("2"
(prop)
(("2"
(skosimp)
(("2"
(replace
-3)
(("2"
(hide
-1
-3)
(("2"
(rewrite
"inv_nn_rational_expt"
1)
(("2"
(hide
2)
(("2"
(lemma
"nn_rational_expt_pos"
("px"
"px!1"
"q"
"q!1" ))
(("2"
(lemma
"both_sides_div_pos_le2"
("pz"
"1"
"px"
"LUB"
"py"
"nn_rational_expt(px!1, q!1)" ))
(("1"
(replace
-1)
(("1"
(hide
-1)
(("1"
(inst
-3
"nn_rational_expt(px!1, q!1)" )
(("1"
(expand
"extend" )
(("1"
(inst
+
"q!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(propax)
nil
nil )
("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) 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 )
(inv_nn_rational_expt formula-decl nil nn_rational_expt 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 "[numfield, nznum -> numfield]" number_fields nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(/= const-decl "boolean" notequal nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(nnreal_expt_rat_rew formula-decl nil nnreal_expt nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(nnreal_expt const-decl "nnreal" nnreal_expt nil )
(posreal_div_posreal_is_posreal judgement-tcc nil real_types nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(div_div1 formula-decl nil real_props nil )
(q!1 skolem-const-decl "nnrat" nnreal_expt nil )
(div_mult_pos_le2 formula-decl nil real_props nil )
(GLB skolem-const-decl "{x |
greatest_lower_bound?(x,
extend[real, nnreal, bool, FALSE]
({z
|
EXISTS
q:
q <= a!1
AND
z = nn_rational_expt(1 / px!1, q)}))}"
nnreal_expt nil )
(LUB skolem-const-decl "{x |
least_upper_bound?(x,
extend[real, nnreal, bool, FALSE]
({z |
EXISTS
q:
q <= a!1
AND
z = nn_rational_expt(px!1, q)}))}"
nnreal_expt nil )
(q!1 skolem-const-decl "nnrat" nnreal_expt nil )
(posrat_div_posrat_is_posrat application-judgement "posrat"
rationals nil )
(both_sides_div_pos_lt2 formula-decl nil real_props nil )
(nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
real_types 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 )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(<= const-decl "bool" reals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(extend const-decl "R" extend nil )
(FALSE const-decl "bool" booleans nil )
(lub const-decl "{x | least_upper_bound?(x, SA)}" bounded_real_defs
nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(least_upper_bound? const-decl "bool" bounded_real_defs nil )
(nonempty? const-decl "bool" sets nil )
(set type-eq-decl nil sets nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(greatest_lower_bound? const-decl "bool" bounded_real_defs nil )
(bounded_below? const-decl "bool" bounded_real_defs nil )
(glb const-decl "{x | greatest_lower_bound?(x, SB)}"
bounded_real_defs nil )
(upper_bound? const-decl "bool" bounded_real_defs nil )
(LUB skolem-const-decl "{x |
least_upper_bound?(x,
extend[real, nnreal, bool, FALSE]
({z |
EXISTS
q:
q <= a!1
AND
z = nn_rational_expt(1 / px!1, q)}))}"
nnreal_expt nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_times_real_is_real application-judgement "real" reals nil )
(nn_rational_expt_pos formula-decl nil nn_rational_expt nil )
(q!1 skolem-const-decl "nnrat" nnreal_expt nil )
(both_sides_div_pos_le2 formula-decl nil real_props nil )
(GLB skolem-const-decl "{x |
greatest_lower_bound?(x,
extend[real, nnreal, bool, FALSE]
({z
|
EXISTS
q:
q <= a!1
AND
z = nn_rational_expt(px!1, q)}))}"
nnreal_expt nil )
(px!1 skolem-const-decl "posreal" nnreal_expt nil )
(a!1 skolem-const-decl "nnreal" nnreal_expt nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(div_mult_pos_le1 formula-decl nil real_props nil )
(q!1 skolem-const-decl "nnrat" nnreal_expt nil )
(lower_bound? const-decl "bool" bounded_real_defs nil )
(div_simp formula-decl nil real_props nil )
(nonzero_real nonempty-type-eq-decl nil reals nil )
(< const-decl "bool" reals nil )
(nnreal_expt_pos formula-decl nil nnreal_expt nil ))
shostak))
(mult_nnreal_expt 0
(mult_nnreal_expt-1 nil 3427347035
(""
(case "FORALL (a, x, y: nnreal): a>0=>
nnreal_expt(x * y, a) = nnreal_expt(x, a) * nnreal_expt(y, a)")
(("1" (skosimp)
(("1" (case-replace "a!1=0" )
(("1" (rewrite "nnreal_expt_rat_rew" )
(("1" (rewrite "nnreal_expt_rat_rew" )
(("1" (rewrite "nnreal_expt_rat_rew" )
(("1" (rewrite "nn_rational_expt_nat_rew" )
(("1" (rewrite "nn_rational_expt_nat_rew" )
(("1" (rewrite "nn_rational_expt_nat_rew" )
(("1" (hide -2) (("1" (grind) nil nil )) nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (inst - "a!1" "x!1" "y!1" ) (("2" (assert ) nil nil )) nil ))
nil ))
nil )
("2" (hide 2)
(("2"
(case "FORALL (x, y: nnreal, a:posreal):
x>1 =>
nnreal_expt(x * y, a) = nnreal_expt(x, a) * nnreal_expt(y, a)")
(("1" (skosimp)
(("1" (inst - "_" "_" "a!1" )
(("1" (case "x!1>1" )
(("1" (inst - "x!1" "y!1" ) (("1" (assert ) nil nil )) nil )
("2" (case-replace "x!1=1" )
(("1" (hide -2 -1 1)
(("1" (rewrite "nnreal_expt_1a" )
(("1" (assert ) nil nil )) nil ))
nil )
("2" (case "x!1<1" )
(("1" (hide 1 2)
(("1" (case "0<x!1" )
(("1" (case-replace "y!1=0" )
(("1"
(lemma "nnreal_expt_is_0"
("x" "0" "a" "a!1" ))
(("1" (assert ) nil nil )) nil )
("2" (case "y!1>0" )
(("1" (hide 1)
(("1" (inst - "1/x!1" "1/y!1" )
(("1"
(assert )
(("1"
(rewrite "inv_nnreal_expt" )
(("1"
(rewrite "inv_nnreal_expt" )
(("1"
(rewrite "div_times" )
(("1"
(rewrite "inv_nnreal_expt" )
(("1"
(lemma
"nnreal_expt_pos"
("px" "x!1" "a" "a!1" ))
(("1"
(lemma
"nnreal_expt_pos"
("px" "y!1" "a" "a!1" ))
(("1"
(lemma
"nnreal_expt_pos"
("px"
"x!1*y!1"
"a"
"a!1" ))
(("1"
(rewrite "div_times" )
(("1"
(rewrite
"both_sides_div2" )
(("1"
(rewrite
"div_mult_pos_gt1" )
nil
nil )
("2"
(expand "/=" )
(("2"
(rewrite
"zero_times3" )
nil
nil ))
nil ))
nil ))
nil )
("2"
(rewrite
"posreal_times_posreal_is_posreal" )
nil
nil ))
nil ))
nil ))
nil )
("2"
(rewrite
"posreal_times_posreal_is_posreal" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(rewrite "div_mult_pos_ge1" )
nil
nil ))
nil )
("3" (assert ) nil nil )
("4"
(assert )
(("4"
(rewrite "div_mult_pos_ge1" )
nil
nil ))
nil )
("5" (assert ) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (case-replace "x!1=0" )
(("1"
(lemma "nnreal_expt_is_0"
("x" "0" "a" "a!1" ))
(("1" (assert ) nil nil )) nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2"
(case "FORALL (x, y: nnreal, a: posreal):
x > 1 & y > 1=>
nnreal_expt(x * y, a) = nnreal_expt(x, a) * nnreal_expt(y, a)")
(("1" (skosimp)
(("1" (lemma "trich_lt" ("x" "y!1" "y" "1" ))
(("1" (split -1)
(("1" (case-replace "y!1=0" )
(("1"
(lemma "nnreal_expt_is_0" ("x" "0" "a" "a!1" ))
(("1" (assert ) nil nil )) nil )
("2" (case "y!1>0" )
(("1" (hide 1)
(("1" (case "1/y!1>1" )
(("1"
(lemma "trich_lt" ("x" "x!1*y!1" "y" "1" ))
(("1" (split -1)
(("1"
(lemma
"both_sides_div_pos_lt2"
("pz" "1" "px" "1" "py" "x!1*y!1" ))
(("1"
(assert )
(("1"
(rewrite "div_simp" )
(("1"
(inst
-
"_"
"1 / (x!1 * y!1)"
"a!1" )
(("1"
(rewrite "inv_nnreal_expt" -6)
(("1"
(inst - "x!1" )
(("1"
(assert )
(("1"
(case-replace
"x!1 * (1 / (x!1 * y!1))=1/y!1" )
(("1"
(rewrite
"inv_nnreal_expt" )
(("1"
(assert )
nil
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(rewrite
"posreal_times_posreal_is_posreal" )
nil
nil ))
nil )
("2"
(lemma
"div_cancel3"
("x" "1" "y" "x!1" "n0z" "y!1" ))
(("2"
(assert )
(("2"
(replace -1 * rl)
(("2"
(hide -6)
(("2"
(rewrite "div_cancel2" )
(("2"
(rewrite "nnreal_expt_1a" )
(("2"
(rewrite "inv_nnreal_expt" )
(("2"
(rewrite "div_cancel2" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(inst - "1/y!1" "x!1 * y!1" "a!1" )
(("1"
(assert )
(("1"
(rewrite "inv_nnreal_expt" )
(("1"
(case-replace
"1 / y!1 * (x!1 * y!1)=x!1" )
(("1" (assert ) nil nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("2" (assert )
(("2" (rewrite "div_mult_pos_gt1" ) nil
nil ))
nil )
("3" (assert ) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (replace -1)
(("2" (rewrite "nnreal_expt_1a" )
(("2" (assert ) nil nil )) nil ))
nil )
("3" (inst - "x!1" "y!1" "a!1" )
(("3" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (skosimp)
(("2"
(lemma "lt_times_lt_pos1"
("px" "1" "y" "x!1" "nnz" "1" "w" "y!1" ))
(("2" (assert )
(("2" (typepred "a!1" )
(("2"
(lemma "nnreal_expt_pos"
("px" "x!1" "a" "a!1" ))
(("2"
(lemma "nnreal_expt_pos"
("px" "y!1" "a" "a!1" ))
(("2"
(lemma "nnreal_expt_pos"
("px" "x!1*y!1" "a" "a!1" ))
(("2" (name "X" "nnreal_expt(x!1, a!1)" )
(("2"
(name "Y" "nnreal_expt(y!1, a!1)" )
(("2"
(name
"XY"
"nnreal_expt(x!1*y!1, a!1)" )
(("2"
(expand "nnreal_expt" )
(("2"
(typepred
"lub(extend[real, nnreal, bool, FALSE]
({z |
EXISTS q: q <= a!1 AND z = nn_rational_expt(x!1 * y!1, q)}))")
(("2"
(replace -2)
(("2"
(typepred
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(y!1, q)}))")
(("2"
(replace -4)
(("2"
(typepred
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(x!1, q)}))")
(("2"
(replace -6)
(("2"
(hide -4 -5 -6)
(("2"
(expand
"least_upper_bound?" )
(("2"
(flatten)
(("2"
(inst -6 "X*Y" )
(("2"
(split -6)
(("1"
(inst
-3
"XY/Y" )
(("1"
(split
-3)
(("1"
(rewrite
"div_mult_pos_le2"
-1)
(("1"
(assert )
nil
nil ))
nil )
("2"
(expand
"upper_bound?" )
(("2"
(skosimp)
(("2"
(typepred
"s!1" )
(("2"
(expand
"extend" )
(("2"
(prop)
(("2"
(skosimp)
(("2"
(replace
-3)
(("2"
(rewrite
"div_mult_pos_le2"
1)
(("2"
(hide
2
-3
-4)
(("2"
(inst
-5
"XY/nn_rational_expt(x!1, q!1)" )
(("1"
(split
-5)
(("1"
(rewrite
"div_mult_pos_le2"
-1)
(("1"
(assert )
nil
nil ))
nil )
("2"
(skosimp)
(("2"
(rewrite
"div_mult_pos_le2"
1)
(("2"
(typepred
"s!2" )
(("2"
(expand
"extend" )
(("2"
(prop)
(("2"
(skosimp)
(("2"
(replace
-3)
(("2"
(hide
-3)
(("2"
(name
"Q"
"max(q!1,q!2)" )
(("2"
(case
"Q>=q!1 & Q>=q!2 & a!1>=Q" )
(("1"
(flatten)
(("1"
(case
"nn_rational_expt(y!1, q!2)<=nn_rational_expt(y!1, Q)" )
(("1"
(case
"nn_rational_expt(x!1, q!1)<=nn_rational_expt(x!1, Q)" )
(("1"
(hide
2)
(("1"
(inst
-13
"nn_rational_expt(x!1*y!1, Q)" )
(("1"
(rewrite
"mult_nn_rational_expt"
-13)
(("1"
(lemma
"le_times_le_pos"
("nnx"
"nn_rational_expt(x!1, q!1)"
"y"
"nn_rational_expt(x!1, Q)"
"nnz"
"nn_rational_expt(y!1, q!2)"
"w"
"nn_rational_expt(y!1, Q)" ))
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(expand
"extend" )
(("2"
(typepred
"nn_rational_expt(x!1 * y!1, Q)" )
(("2"
(assert )
(("2"
(inst
+
"Q" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1
-19
-17
-2
-4
-9))
(("2"
(expand
">="
-1)
(("2"
(expand
"<="
(-1
1))
(("2"
(flatten)
(("2"
(split
-1)
(("1"
(lemma
"nn_rational_expt_increasing"
("q"
"q!1"
"r"
"Q"
"x"
"x!1" ))
(("1"
(assert )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-2
-6
1
-18
-19
-16))
(("2"
(lemma
"nn_rational_expt_increasing"
("q"
"q!2"
"r"
"Q"
"x"
"y!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1
1
-3
-5
-13))
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(hide 2)
(("2"
(expand
"upper_bound?" )
(("2"
(skosimp)
(("2"
(typepred
"s!1" )
(("2"
(expand
"extend" )
(("2"
(prop)
(("2"
(skosimp)
(("2"
(replace
-3)
(("2"
(inst
-4
"nn_rational_expt(x!1, q!1)" )
(("1"
(inst
-6
"nn_rational_expt(y!1, q!1)" )
(("1"
(rewrite
"mult_nn_rational_expt"
+)
(("1"
(lemma
"le_times_le_pos"
("nnx"
"nn_rational_expt(x!1, q!1)"
"y"
"X"
"nnz"
"nn_rational_expt(y!1, q!1)"
"w"
"Y" ))
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(expand
"extend" )
(("2"
(assert )
(("2"
(typepred
"nn_rational_expt(y!1, q!1)" )
(("2"
(assert )
(("2"
(inst
+
"q!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"extend" )
(("2"
(typepred
"nn_rational_expt(x!1, q!1)" )
(("2"
(assert )
(("2"
(inst
+
"q!1" )
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 ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((lt_times_lt_pos1 formula-decl nil real_props nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(<= const-decl "bool" reals nil ) (extend const-decl "R" extend nil )
(FALSE const-decl "bool" booleans nil )
(lub const-decl "{x | least_upper_bound?(x, SA)}" bounded_real_defs
nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(least_upper_bound? const-decl "bool" bounded_real_defs nil )
(nonempty? const-decl "bool" sets nil )
(set type-eq-decl nil sets nil )
(div_mult_pos_le2 formula-decl nil real_props nil )
(x!1 skolem-const-decl "nnreal" nnreal_expt nil )
(q!1 skolem-const-decl "nnrat" nnreal_expt nil )
(nonneg_rat_max application-judgement
"{s: nonneg_rat | s >= q AND s >= r}" real_defs nil )
(max const-decl "{p: real | p >= m AND p >= n}" real_defs nil )
(nonneg_rat nonempty-type-eq-decl nil rationals nil )
(a!1 skolem-const-decl "posreal" nnreal_expt nil )
(y!1 skolem-const-decl "nnreal" nnreal_expt nil )
(q!2 skolem-const-decl "nnrat" nnreal_expt nil )
(Q skolem-const-decl "{s: nonneg_rat | s >= q!1 AND s >= q!2}"
nnreal_expt nil )
(le_times_le_pos formula-decl nil real_props nil )
(mult_nn_rational_expt formula-decl nil nn_rational_expt nil )
(nn_rational_expt_increasing formula-decl nil nn_rational_expt nil )
(upper_bound? const-decl "bool" bounded_real_defs nil )
(Y skolem-const-decl "nnreal" nnreal_expt nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(q!1 skolem-const-decl "nnrat" nnreal_expt nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(posrat_div_posrat_is_posrat application-judgement "posrat"
rationals nil )
(real_times_real_is_real application-judgement "real" reals nil )
(both_sides_div_pos_lt2 formula-decl nil real_props nil )
(div_cancel2 formula-decl nil real_props nil )
(div_cancel3 formula-decl nil real_props nil )
(y!1 skolem-const-decl "nnreal" nnreal_expt nil )
(trich_lt formula-decl nil real_props nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(< const-decl "bool" reals nil )
(nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(/= const-decl "boolean" notequal nil )
(x!1 skolem-const-decl "nnreal" nnreal_expt nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(y!1 skolem-const-decl "nnreal" nnreal_expt nil )
(inv_nnreal_expt formula-decl nil nnreal_expt nil )
(nonzero_real nonempty-type-eq-decl nil reals nil )
(div_times formula-decl nil real_props nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(odd_times_odd_is_odd application-judgement "odd_int" integers nil )
(posint_times_posint_is_posint application-judgement "posint"
integers nil )
(nnreal_expt_pos formula-decl nil nnreal_expt nil )
(both_sides_div2 formula-decl nil real_props nil )
(div_mult_pos_gt1 formula-decl nil extra_real_props nil )
(zero_times3 formula-decl nil real_props nil )
(posreal_times_posreal_is_posreal judgement-tcc nil real_types nil )
(div_mult_pos_ge1 formula-decl nil real_props nil )
(nnreal_expt_is_0 formula-decl nil nnreal_expt nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nnreal_expt_1a formula-decl nil nnreal_expt nil )
(a!1 skolem-const-decl "nnreal" nnreal_expt 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 )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(nnreal_expt_rat_rew formula-decl nil nnreal_expt nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(nnreal_expt application-judgement "nnreal" exponentiation nil )
(^ const-decl "real" exponentiation nil )
(expt def-decl "real" exponentiation nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(nn_rational_expt_nat_rew formula-decl nil nn_rational_expt nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types 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 )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nnreal type-eq-decl nil real_types nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(> const-decl "bool" reals nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(nnreal_expt const-decl "nnreal" nnreal_expt nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields
nil ))
shostak))
(div_nnreal_expt 0
(div_nnreal_expt-1 nil 3427307311
("" (skosimp)
(("" (lemma "inv_nnreal_expt" ("a" "a!1" "px" "py!1" ))
((""
(lemma "mult_nnreal_expt" ("a" "a!1" "x" "x!1" "y" "1/py!1" ))
(("" (assert ) nil nil )) nil ))
nil ))
nil )
((posreal nonempty-type-eq-decl nil real_types nil )
(> const-decl "bool" reals nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(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 )
(inv_nnreal_expt formula-decl nil nnreal_expt 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_nnreal_expt formula-decl nil nnreal_expt 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))
(nnreal_expt_decreasing 0
(nnreal_expt_decreasing-1 nil 3427444865
("" (skosimp)
(("" (lemma "density_positive" ("x" "a!1" "y" "b!1" ))
(("" (assert )
(("" (skosimp)
(("" (case-replace "a!1=0" )
(("1" (rewrite "nnreal_expt_rat_rew" +)
(("1" (rewrite "nn_rational_expt_nat_rew" +)
(("1" (rewrite "expt_x0" )
(("1"
(lemma "nnreal_expt_lt1" ("x" "x!1" "pa" "b!1" ))
(("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (case "a!1>0" )
(("1" (hide 1)
(("1" (expand "nnreal_expt" )
(("1" (assert )
(("1"
(typepred "glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(name-replace "A"
"glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(typepred
"glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= b!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(name-replace "B"
"glb(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= b!1 AND z = nn_rational_expt(x!1, q)}))")
(("1" (expand "greatest_lower_bound?" )
(("1"
(flatten)
(("1"
(expand "lower_bound?" )
(("1"
(inst
-1
"nn_rational_expt(x!1, r!1)" )
(("1"
(lemma
"density_positive"
("x" "a!1" "y" "r!1" ))
(("1"
(assert )
(("1"
(skosimp)
(("1"
(inst
-6
"nn_rational_expt(x!1, r!2)" )
(("1"
(split -6)
(("1"
(lemma
"nn_rational_expt_decreasing"
("q"
"r!2"
"r"
"r!1"
"x"
"x!1" ))
(("1" (assert ) nil nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(skosimp)
(("2"
(typepred "s!1" )
(("2"
(expand "extend" )
(("2"
(prop)
(("2"
(skosimp)
(("2"
(replace -3)
(("2"
(lemma
"nn_rational_expt_decreasing"
("q"
"q!1"
"r"
"r!2"
"x"
"x!1" ))
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "extend" )
(("2"
(typepred
"nn_rational_expt(x!1, r!1)" )
(("2"
(assert )
(("2"
(inst + "r!1" )
(("2" (assert ) 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 ))
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 )
(density_positive formula-decl nil rational_props nil )
(nnreal_expt const-decl "nnreal" nnreal_expt nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(<= const-decl "bool" reals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(extend const-decl "R" extend nil )
(FALSE const-decl "bool" booleans nil )
(glb const-decl "{x | greatest_lower_bound?(x, SB)}"
bounded_real_defs nil )
(bounded_below? const-decl "bool" bounded_real_defs nil )
(greatest_lower_bound? const-decl "bool" bounded_real_defs nil )
(nonempty? const-decl "bool" sets nil )
(set type-eq-decl nil sets nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(lower_bound? const-decl "bool" bounded_real_defs nil )
(nn_rational_expt_decreasing formula-decl nil nn_rational_expt nil )
(r!2 skolem-const-decl "rat" nnreal_expt nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(rat nonempty-type-eq-decl nil rationals nil )
(x!1 skolem-const-decl "nnreal" nnreal_expt nil )
(b!1 skolem-const-decl "nnreal" nnreal_expt nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(nnreal_expt_rat_rew formula-decl nil nnreal_expt nil )
(expt_x0 formula-decl nil exponentiation 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 )
(nnreal_expt_lt1 formula-decl nil nnreal_expt nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(nn_rational_expt_nat_rew formula-decl nil nn_rational_expt nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(= const-decl "[T, T -> boolean]" equalities 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 )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
shostak))
(nnreal_expt_increasing 0
(nnreal_expt_increasing-1 nil 3427445921
("" (skosimp)
(("" (case-replace "a!1=0" )
(("1" (rewrite "nnreal_expt_rat_rew" )
(("1" (rewrite "nn_rational_expt_nat_rew" )
(("1" (rewrite "expt_x0" )
(("1" (lemma "nnreal_expt_gt1" ("x" "x!1" "pa" "b!1" ))
(("1" (assert ) nil nil ) ("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (case "a!1>0" )
(("1" (hide 1)
(("1" (expand "nnreal_expt" )
(("1" (assert )
(("1"
(typepred "lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(name-replace "A"
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= a!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(typepred "lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= b!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(name-replace "B"
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q <= b!1 AND z = nn_rational_expt(x!1, q)}))")
(("1" (expand "least_upper_bound?" )
(("1" (expand "upper_bound?" )
(("1" (flatten)
(("1"
(lemma "density_positive"
("x" "a!1" "y" "b!1" ))
(("1"
(assert )
(("1"
(skosimp)
(("1"
(lemma
"density_positive"
("x" "r!1" "y" "b!1" ))
(("1"
(assert )
(("1"
(skosimp)
(("1"
(inst
-5
"nn_rational_expt(x!1, r!2)" )
(("1"
(inst
-8
"nn_rational_expt(x!1, r!1)" )
(("1"
(split -8)
(("1"
(lemma
"nn_rational_expt_increasing"
("q"
"r!1"
"r"
"r!2"
"x"
"x!1" ))
(("1" (assert ) nil nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(skosimp)
(("2"
(typepred "s!1" )
(("2"
(expand "extend" )
(("2"
(prop)
(("2"
(skosimp)
(("2"
(replace -3)
(("2"
(lemma
"nn_rational_expt_increasing"
("q"
"q!1"
"r"
"r!1"
"x"
"x!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "extend" )
(("2"
(typepred
"nn_rational_expt(x!1, r!2)" )
(("1"
(assert )
(("1"
(inst + "r!2" )
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("3" (assert ) 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 )
((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 )
(nn_rational_expt_nat_rew formula-decl nil nn_rational_expt nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(nnreal_expt_gt1 formula-decl nil nnreal_expt nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(> const-decl "bool" reals nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(real_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 )
(expt_x0 formula-decl nil exponentiation nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(nnreal_expt_rat_rew formula-decl nil nnreal_expt nil )
(upper_bound? const-decl "bool" bounded_real_defs nil )
(density_positive formula-decl nil rational_props nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(r!2 skolem-const-decl "rat" nnreal_expt nil )
(b!1 skolem-const-decl "nnreal" nnreal_expt nil )
(x!1 skolem-const-decl "nnreal" nnreal_expt nil )
(nn_rational_expt_increasing formula-decl nil nn_rational_expt nil )
(rat nonempty-type-eq-decl nil rationals nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(set type-eq-decl nil sets nil )
(nonempty? const-decl "bool" sets nil )
(least_upper_bound? const-decl "bool" bounded_real_defs nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(lub const-decl "{x | least_upper_bound?(x, SA)}" bounded_real_defs
nil )
(FALSE const-decl "bool" booleans nil )
(extend const-decl "R" extend nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(<= const-decl "bool" reals nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(nnreal_expt const-decl "nnreal" nnreal_expt nil ))
shostak))
(nnreal_expt_strict_increasing 0
(nnreal_expt_strict_increasing-1 nil 3427305418
("" (skosimp)
(("" (case-replace "x!1=0" )
(("1" (rewrite "nnreal_expt_0a" )
(("1" (lemma "nnreal_expt_pos" ("px" "y!1" "a" "pa!1" ))
(("1" (assert ) nil nil ) ("2" (assert ) nil nil )) nil ))
nil )
("2" (case "x!1>0" )
(("1" (hide 1)
(("1" (lemma "nnreal_expt_pos" ("px" "x!1" "a" "pa!1" ))
(("1"
(lemma "div_nnreal_expt"
("x" "y!1" "py" "x!1" "a" "pa!1" ))
(("1"
(lemma "posreal_div_posreal_is_posreal"
("px" "y!1" "py" "x!1" ))
(("1"
(lemma "nnreal_expt_gt1" ("x" "y!1/x!1" "pa" "pa!1" ))
(("1" (assert )
(("1" (replace -3)
(("1" (hide -3)
(("1" (rewrite "div_mult_pos_gt1" )
(("1" (rewrite "div_mult_pos_gt1" )
(("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil )
("2" (assert ) nil 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 )
(nnreal_expt_pos formula-decl nil nnreal_expt nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(> const-decl "bool" reals nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(nnreal_expt_0a formula-decl nil nnreal_expt nil )
(div_nnreal_expt formula-decl nil nnreal_expt nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(nnreal_expt_gt1 formula-decl nil nnreal_expt 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 )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(nnreal_expt const-decl "nnreal" nnreal_expt nil )
(div_mult_pos_gt1 formula-decl nil extra_real_props nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(posreal_div_posreal_is_posreal judgement-tcc nil real_types nil ))
shostak))
(continuous_alt_nnreal_expt2 0
(continuous_alt_nnreal_expt2-1 nil 3427562805
(""
(case "FORALL (epsilon, pa, x: posreal):
EXISTS delta:
FORALL pb:
abs(pa - pb) < delta =>
abs(nnreal_expt(x, pa) - nnreal_expt(x, pb)) < epsilon")
(("1" (skosimp)
(("1" (case-replace "x!1=0" )
(("1" (rewrite "nnreal_expt_0a" )
(("1" (inst + "1" )
(("1" (skosimp)
(("1" (rewrite "nnreal_expt_0a" )
(("1" (expand "abs" ) (("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("2" (inst - "epsilon!1" "pa!1" "x!1" )
(("2" (assert ) nil nil )) nil ))
nil ))
nil )
("2" (hide 2)
(("2" (skosimp)
(("2" (lemma "trich_lt" ("x" "x!1" "y" "1" ))
(("2" (split -1)
(("1"
(case "forall (y,epsilon:posreal):
y < 1 => EXISTS q: abs(nn_rational_expt(x!1,q)-y) < epsilon")
(("1"
(case "forall (y,epsilon:posreal): y < 1 => EXISTS q: nn_rational_expt(x!1,q)<y & y-nn_rational_expt(x!1,q) < epsilon" )
(("1"
(case "forall (y,epsilon:posreal): y < 1 => EXISTS q: y<nn_rational_expt(x!1,q) & nn_rational_expt(x!1,q)-y < epsilon" )
(("1"
(lemma "nnreal_expt_pos" ("px" "x!1" "a" "pa!1" ))
(("1"
(lemma "nnreal_expt_lt1" ("x" "x!1" "pa" "pa!1" ))
(("1" (assert )
(("1"
(inst - "nnreal_expt(x!1, pa!1)"
"epsilon!1/2" )
(("1"
(inst - "nnreal_expt(x!1, pa!1)"
"epsilon!1/2" )
(("1" (replace -1)
(("1"
(skosimp*)
(("1"
(case "q!1<pa!1" )
(("1"
(case "pa!1<q!2" )
(("1"
(hide -9)
(("1"
(rewrite
"nnreal_expt_rat_rew"
*
:dir
rl)
(("1"
(rewrite
"nnreal_expt_rat_rew"
*
:dir
rl)
(("1"
(inst
+
"min(q!2-pa!1,pa!1-q!1)" )
(("1"
(skosimp)
(("1"
(case
"q!1<pb!1&pb!1<q!2" )
(("1"
(flatten)
(("1"
(lemma
"nnreal_expt_decreasing"
("a"
"q!1"
"b"
"pb!1"
"x"
"x!1" ))
(("1"
(lemma
"nnreal_expt_decreasing"
("b"
"q!2"
"a"
"pb!1"
"x"
"x!1" ))
(("1"
(assert )
(("1"
(name-replace
"XA"
"nnreal_expt(x!1, pa!1)" )
(("1"
(name-replace
"XB"
"nnreal_expt(x!1, pb!1)" )
(("1"
(name-replace
"LOW"
"nnreal_expt(x!1, q!2)" )
(("1"
(name-replace
"HIGH"
"nnreal_expt(x!1, q!1)" )
(("1"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1 -2 -10 1))
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (-1 -2 1))
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2 -8)
(("2"
(rewrite
"nnreal_expt_rat_rew"
*
:dir
rl)
(("2"
(rewrite
"nnreal_expt_rat_rew"
*
:dir
rl)
(("2"
(hide -1)
(("2"
(case-replace "pa!1=q!2" )
(("1" (assert ) nil nil )
("2"
(lemma
"nnreal_expt_decreasing"
("a"
"q!2"
"b"
"pa!1"
"x"
"x!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -7 2)
(("2"
(case-replace "q!1=pa!1" )
(("1"
(assert )
(("1"
(rewrite
"nnreal_expt_rat_rew"
*
:dir
rl)
(("1" (assert ) nil nil ))
nil ))
nil )
("2"
(lemma
"nnreal_expt_decreasing"
("a"
"pa!1"
"b"
"q!1"
"x"
"x!1" ))
(("2"
(rewrite
"nnreal_expt_rat_rew"
*
:dir
rl)
(("2"
(rewrite
"nnreal_expt_rat_rew"
*
:dir
rl)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -1 2)
(("2" (skosimp)
(("2" (name "EPS" "min(epsilon!2/2,1-y!1)" )
(("2"
(case "EPS>0&1-y!1>=EPS&epsilon!2/2>=EPS" )
(("1" (flatten)
(("1" (inst - "y!1+EPS/2" "EPS/2" )
(("1"
(assert )
(("1"
(skosimp)
(("1"
(inst + "q!1" )
(("1"
(name-replace
"DRL"
"nn_rational_expt(x!1, q!1)" )
(("1" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil )
("3" (assert ) nil nil ))
nil ))
nil )
("2" (hide -3 2) (("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (skosimp)
(("2" (name "EPS" "min(epsilon!2/2,y!1)" )
(("2" (case "EPS>0&y!1>=EPS&epsilon!2/2>=EPS" )
(("1" (flatten)
(("1" (inst - "y!1-EPS/2" "EPS/2" )
(("1" (assert )
(("1"
(skosimp)
(("1"
(inst + "q!1" )
(("1"
(name-replace
"DRL"
"nn_rational_expt(x!1, q!1)" )
(("1" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (skosimp)
(("2"
(lemma "nn_rational_expt_approx_gt1"
("x" "1/x!1" "y" "1/y!1" ))
(("2" (case-replace "1 / x!1 > 1 AND 1 / y!1 > 1" )
(("1" (flatten)
(("1" (inst - "epsilon!2" )
(("1" (skosimp)
(("1" (inst + "q!1" )
(("1"
(rewrite "inv_nn_rational_expt" )
(("1"
(rewrite "minus_div1" -3)
(("1"
(rewrite "abs_div" -3)
(("1"
(case-replace "q!1=0" )
(("1"
(rewrite
"nn_rational_expt_nat_rew" )
(("1"
(rewrite "expt_x0" )
(("1"
(expand "abs" -4 2)
(("1"
(rewrite
"div_mult_pos_lt1"
-4)
(("1"
(lemma
"both_sides_times_pos_lt1"
("pz"
"epsilon!2"
"x"
"y!1"
"y"
"1" ))
(("1"
(assert )
(("1"
(case-replace
"abs(y!1 - 1)=abs(1 - y!1)" )
(("1"
(assert )
nil
nil )
("2"
(hide-all-but 1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case "q!1>0" )
(("1"
(hide 1)
(("1"
(lemma
"nnreal_expt_pos"
("px" "x!1" "a" "q!1" ))
(("1"
(lemma
"nnreal_expt_lt1"
("x" "x!1" "pa" "q!1" ))
(("1"
(replace -8 -1)
(("1"
(flatten -1)
(("1"
(lemma
"div_mult_pos_lt1"
("z"
"abs(y!1 - nn_rational_expt(x!1, q!1))"
"py"
"abs(nn_rational_expt(x!1, q!1) * y!1)"
"x"
"epsilon!2" ))
(("1"
(replace -1 -7)
(("1"
(hide -1)
(("1"
(rewrite
"abs_mult"
-6)
(("1"
(expand
"abs"
-6
2)
(("1"
(expand
"abs"
-6
2)
(("1"
(lemma
"posreal_times_posreal_is_posreal"
("px"
"nn_rational_expt(x!1, q!1)"
"py"
"y!1" ))
(("1"
(lemma
"lt_times_lt_pos1"
("px"
"nnreal_expt(x!1, q!1)"
"y"
"1"
"nnz"
"y!1"
"w"
"1" ))
(("1"
(split
-1)
(("1"
(case-replace
"abs(y!1 - nn_rational_expt(x!1, q!1))=abs(nn_rational_expt(x!1, q!1) - y!1)" )
(("1"
(hide
-1)
(("1"
(name-replace
"LHS"
"abs(nn_rational_expt(x!1, q!1) - y!1)" )
(("1"
(lemma
"both_sides_times_pos_lt1"
("pz"
"epsilon!2"
"x"
"nn_rational_expt(x!1, q!1) * y!1"
"y"
"1" ))
(("1"
(assert )
(("1"
(rewrite
"nnreal_expt_rat_rew"
-1)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
1)
(("2"
(name-replace
"DRL"
"nn_rational_expt(x!1, q!1)" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil )
("3"
(propax)
nil
nil ))
nil )
("2"
(propax)
nil
nil ))
nil )
("2"
(rewrite
"nnreal_expt_rat_rew"
-2)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(rewrite
"abs_mult"
+)
(("2"
(expand
"abs"
+)
(("2"
(rewrite
"posreal_times_posreal_is_posreal" )
(("2"
(rewrite
"nnreal_expt_rat_rew"
-2)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -1 2)
(("2" (split)
(("1" (assert )
(("1" (rewrite "div_mult_pos_gt1" ) nil
nil ))
nil )
("2"
(lemma "div_mult_pos_gt2"
("x" "1" "z" "1" "py" "y!1" ))
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (replace -1)
(("2" (inst + "1" )
(("2" (skosimp)
(("2" (rewrite "nnreal_expt_1a" )
(("2" (rewrite "nnreal_expt_1a" )
(("2" (expand "abs" ) (("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(case "forall (y,epsilon:posreal): y > 1 => EXISTS q: nn_rational_expt(x!1,q)<y & y-nn_rational_expt(x!1,q) < epsilon" )
(("1"
(case "forall (y,epsilon:posreal): y > 1 => EXISTS q: y<nn_rational_expt(x!1,q) & nn_rational_expt(x!1,q)-y < epsilon" )
(("1" (inst - "nnreal_expt(x!1, pa!1)" "epsilon!1/2" )
(("1" (inst - "nnreal_expt(x!1, pa!1)" "epsilon!1/2" )
(("1" (rewrite "nnreal_expt_gt1" )
(("1" (assert )
(("1" (skosimp*)
(("1" (case "q!2<pa!1&pa!1<q!1" )
(("1" (flatten)
(("1"
(inst + "min(q!1-pa!1,pa!1-q!2)" )
(("1"
(skosimp)
(("1"
(case "q!2<pb!1&pb!1<q!1" )
(("1"
(flatten)
(("1"
(lemma
"nnreal_expt_increasing"
("a"
"q!2"
"b"
"pb!1"
"x"
"x!1" ))
(("1"
(lemma
"nnreal_expt_increasing"
("b"
"q!1"
"a"
"pb!1"
"x"
"x!1" ))
(("1"
(assert )
(("1"
(rewrite
"nnreal_expt_rat_rew"
*
:dir
rl)
(("1"
(rewrite
"nnreal_expt_rat_rew"
*
:dir
rl)
(("1"
(name-replace
"LOW"
"nnreal_expt(x!1, q!2)" )
(("1"
(name-replace
"HIGH"
"nnreal_expt(x!1, q!1)" )
(("1"
(name-replace
"XA"
"nnreal_expt(x!1, pa!1)" )
(("1"
(name-replace
"XB"
"nnreal_expt(x!1, pb!1)" )
(("1"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (-1 -2 -8 1))
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (-1 -2 1))
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2"
(rewrite
"nnreal_expt_rat_rew"
*
:dir
rl)
(("2"
(rewrite
"nnreal_expt_rat_rew"
*
:dir
rl)
(("2"
(case "q!2=pa!1" )
(("1"
(replace -1)
(("1" (assert ) nil nil ))
nil )
("2"
(case "q!2>pa!1" )
(("1"
(lemma
"nnreal_expt_increasing"
("a"
"pa!1"
"b"
"q!2"
"x"
"x!1" ))
(("1" (assert ) nil nil ))
nil )
("2"
(assert )
(("2"
(hide 1 2)
(("2"
(case-replace "pa!1=q!1" )
(("1" (assert ) nil nil )
("2"
(lemma
"nnreal_expt_increasing"
("a"
"q!1"
"b"
"pa!1"
"x"
"x!1" ))
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (rewrite "nnreal_expt_pos" ) nil nil ))
nil )
("2" (rewrite "nnreal_expt_pos" ) nil nil ))
nil )
("2" (hide -1 2)
(("2" (skosimp)
(("2" (name "EPS" "min(epsilon!2/2,y!1-1)" )
(("2" (case "EPS>0&epsilon!2/2>=EPS&y!1-1>=EPS" )
(("1" (flatten)
(("1"
(lemma "nn_rational_expt_approx_gt1"
("x" "x!1" "y" "y!1+EPS/2" "epsilon"
"EPS/2" ))
(("1" (assert )
(("1"
(skosimp)
(("1"
(inst + "q!1" )
(("1"
(name-replace
"DRL"
"nn_rational_expt(x!1, q!1)" )
(("1" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil )
("3" (assert ) nil nil ))
nil ))
nil )
("2" (hide 2) (("2" (grind) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (skosimp)
(("2" (name "EPS" "min(epsilon!2/2,y!1-1)" )
(("2" (case "EPS>0&epsilon!2/2>=EPS&y!1-1>=EPS" )
(("1" (flatten)
(("1"
(lemma "nn_rational_expt_approx_gt1"
("x" "x!1" "y" "y!1-EPS/2" "epsilon"
"EPS/2" ))
(("1" (assert )
(("1" (skosimp)
(("1"
(inst + "q!1" )
(("1"
(name-replace
"DRL"
"nn_rational_expt(x!1, q!1)" )
(("1" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil )
("3" (assert ) nil nil ))
nil ))
nil )
("2" (hide 2) (("2" (grind) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((trich_lt formula-decl nil real_props nil )
(x!1 skolem-const-decl "posreal" nnreal_expt nil )
(nnreal_expt_gt1 formula-decl nil nnreal_expt nil )
(nnreal_expt_increasing formula-decl nil nnreal_expt nil )
(q!2 skolem-const-decl "nnrat" nnreal_expt nil )
(q!1 skolem-const-decl "nnrat" nnreal_expt nil )
(nnreal_expt_1a formula-decl nil nnreal_expt nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(posreal_min application-judgement
"{z: posreal | z <= x AND z <= y}" real_defs nil )
(posreal_plus_nnreal_is_posreal application-judgement "posreal"
real_types nil )
(EPS skolem-const-decl
"{z: posreal | z <= epsilon!2 / 2 AND z <= y!1}" nnreal_expt nil )
(epsilon!2 skolem-const-decl "posreal" nnreal_expt nil )
(y!1 skolem-const-decl "posreal" nnreal_expt nil )
(nnreal_plus_posreal_is_posreal application-judgement "posreal"
real_types nil )
(nnreal_expt_lt1 formula-decl nil nnreal_expt nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(/= const-decl "boolean" notequal nil )
(minus_real_is_real application-judgement "real" reals nil )
(nnreal_expt_decreasing formula-decl nil nnreal_expt nil )
(q!1 skolem-const-decl "nnrat" nnreal_expt nil )
(pa!1 skolem-const-decl "posreal" nnreal_expt nil )
(q!2 skolem-const-decl "nnrat" nnreal_expt nil )
(min const-decl "{p: real | p <= m AND p <= n}" real_defs nil )
(<= const-decl "bool" reals nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(nnreal_expt_rat_rew formula-decl nil nnreal_expt nil )
(nnreal_expt_pos formula-decl nil nnreal_expt nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(epsilon!2 skolem-const-decl "posreal" nnreal_expt nil )
(y!1 skolem-const-decl "posreal" nnreal_expt nil )
(EPS skolem-const-decl
"{p: real | p <= epsilon!2 / 2 AND p <= 1 - y!1}" nnreal_expt nil )
(nonzero_real nonempty-type-eq-decl nil reals nil )
(minus_div1 formula-decl nil real_props nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(posreal_times_posreal_is_posreal application-judgement "posreal"
real_types nil )
(expt_x0 formula-decl nil exponentiation nil )
(nonzero_abs_is_pos application-judgement "{y: posreal | y >= x}"
real_defs nil )
(div_mult_pos_lt1 formula-decl nil real_props nil )
(both_sides_times_pos_lt1 formula-decl nil real_props nil )
(nzreal_exp application-judgement "nzreal" exponentiation nil )
(posreal_exp application-judgement "posreal" exponentiation nil )
(nn_rational_expt_nat_rew formula-decl nil nn_rational_expt nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(abs_mult formula-decl nil real_props nil )
(lt_times_lt_pos1 formula-decl nil real_props nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(odd_times_odd_is_odd application-judgement "odd_int" integers nil )
(posint_times_posint_is_posint application-judgement "posint"
integers nil )
(posreal_times_posreal_is_posreal judgement-tcc nil real_types nil )
(abs_div formula-decl nil real_props nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(inv_nn_rational_expt formula-decl nil nn_rational_expt nil )
(div_mult_pos_gt1 formula-decl nil extra_real_props nil )
(div_mult_pos_gt2 formula-decl nil extra_real_props nil )
(nn_rational_expt_approx_gt1 formula-decl nil nn_rational_expt nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(x!1 skolem-const-decl "nnreal" nnreal_expt nil )
(nnreal_expt_0a formula-decl nil nnreal_expt nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(real_times_real_is_real application-judgement "real" reals nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(> const-decl "bool" reals nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(< const-decl "bool" reals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nnreal type-eq-decl nil real_types nil )
(nnreal_expt const-decl "nnreal" nnreal_expt nil ))
shostak))
(nnreal_bijective1_TCC1 0
(nnreal_bijective1_TCC1-1 nil 3427605142
("" (skosimp)
(("" (case-replace "y!1=0" )
(("1" (rewrite "nnreal_expt_rat_rew" )
(("1" (rewrite "nn_rational_expt_nat_rew" )
(("1" (rewrite "expt_x0" ) (("1" (assert ) nil nil )) nil ))
nil ))
nil )
("2" (lemma "nnreal_expt_gt1" ("x" "gt1x!1" "pa" "y!1" ))
(("1" (assert ) 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 )
(nn_rational_expt_nat_rew formula-decl nil nn_rational_expt nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(posreal_exp application-judgement "posreal" exponentiation nil )
(nzreal_exp application-judgement "nzreal" exponentiation nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(expt_x0 formula-decl nil exponentiation 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 )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(nnreal_expt_rat_rew formula-decl nil nnreal_expt nil )
(nnreal_expt_gt1 formula-decl nil nnreal_expt nil ))
nil ))
(nnreal_bijective1 0
(nnreal_bijective1-1 nil 3427608443
("" (expand "bijective?" )
(("" (skosimp)
(("" (split)
(("1" (expand "injective?" )
(("1" (skosimp)
(("1" (lemma "trich_lt" ("x" "x1!1" "y" "x2!1" ))
(("1" (split -1)
(("1"
(lemma "nnreal_expt_increasing"
("x" "gt1x!1" "a" "x1!1" "b" "x2!1" ))
(("1" (assert ) nil nil )) nil )
("2" (propax) nil nil )
("3"
(lemma "nnreal_expt_increasing"
("x" "gt1x!1" "b" "x1!1" "a" "x2!1" ))
(("3" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "surjective?" )
(("2" (skosimp)
(("2" (typepred "y!1" )
(("2" (expand ">=" -3)
(("2" (expand "<=" -3)
(("2" (split -3)
(("1"
(case "nonempty?({x:real| x>=0 & nnreal_expt(gt1x!1, x) < y!1})" )
(("1"
(case "bounded_above?({x:real| x>=0 & nnreal_expt(gt1x!1, x) < y!1})" )
(("1"
(typepred
"lub({x: real | x >= 0 & nnreal_expt(gt1x!1, x) < y!1})" )
(("1"
(name-replace "LUB" "lub({x: real |
x >= 0 & nnreal_expt(gt1x!1, x) < y!1})")
(("1" (expand "least_upper_bound?" )
(("1"
(flatten)
(("1"
(expand "upper_bound?" )
(("1"
(case "LUB>=0" )
(("1"
(inst + "LUB" )
(("1"
(lemma
"trich_lt"
("x"
"nnreal_expt(gt1x!1, LUB)"
"y"
"y!1" ))
(("1"
(split -1)
(("1"
(name
"EPS"
"min(y!1-nnreal_expt(gt1x!1, LUB),y!1-1)" )
(("1"
(case
"EPS>0&y!1 - nnreal_expt(gt1x!1, LUB)>=EPS& y!1 - 1 >= EPS" )
(("1"
(flatten)
(("1"
(lemma
"nn_rational_expt_approx_gt1"
("x"
"gt1x!1"
"y"
"y!1-EPS/2"
"epsilon"
"EPS/2" ))
(("1"
(assert )
(("1"
(skosimp)
(("1"
(hide 1)
(("1"
(case
"nnreal_expt(gt1x!1, LUB)<nn_rational_expt(gt1x!1, q!1)&nn_rational_expt(gt1x!1, q!1)<y!1" )
(("1"
(rewrite
"nnreal_expt_rat_rew"
*
:dir
rl)
(("1"
(flatten)
(("1"
(case
"LUB<q!1" )
(("1"
(inst
-11
"q!1" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(case-replace
"LUB=q!1" )
(("1"
(assert )
nil
nil )
("2"
(lemma
"nnreal_expt_increasing"
("a"
"q!1"
"b"
"LUB"
"x"
"gt1x!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(name-replace
"XL"
"nnreal_expt(gt1x!1, LUB)" )
(("2"
(name-replace
"XQ"
"nn_rational_expt(gt1x!1, q!1)" )
(("2"
(hide
-8
-9
-10
-11)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil )
("3"
(assert )
nil
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1 -2 -8 1))
(("2"
(name-replace
"DRL"
"nnreal_expt(gt1x!1, LUB)" )
(("2"
(grind)
nil
nil ))
nil ))
nil )
("3" (assert ) nil nil ))
nil ))
nil )
("2" (propax) nil nil )
("3"
(hide 1)
(("3"
(name
"EPS"
"nnreal_expt(gt1x!1, LUB)-y!1" )
(("3"
(case "EPS>0" )
(("1"
(lemma
"nn_rational_expt_approx_gt1"
("x"
"gt1x!1"
"y"
"y!1+EPS/2"
"epsilon"
"EPS/2" ))
(("1"
(assert )
(("1"
(skosimp)
(("1"
(rewrite
"nnreal_expt_rat_rew"
-1
:dir
rl)
(("1"
(case
"y!1<nnreal_expt(gt1x!1, q!1)& nnreal_expt(gt1x!1, q!1)<nnreal_expt(gt1x!1, LUB)" )
(("1"
(flatten)
(("1"
(hide -3)
(("1"
(case
"q!1<LUB" )
(("1"
(inst
-9
"q!1" )
(("1"
(assert )
(("1"
(skosimp)
(("1"
(typepred
"s!1" )
(("1"
(lemma
"nnreal_expt_increasing"
("a"
"q!1"
"b"
"s!1"
"x"
"gt1x!1" ))
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case-replace
"q!1=LUB" )
(("1"
(assert )
nil
nil )
("2"
(lemma
"nnreal_expt_increasing"
("a"
"LUB"
"b"
"q!1"
"x"
"gt1x!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(name-replace
"XL"
"nnreal_expt(gt1x!1, LUB)" )
(("2"
(name-replace
"XQ"
"nnreal_expt(gt1x!1, q!1)" )
(("2"
(hide-all-but
(-1
-2
-3
-4
-5
-10
-12
1))
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil )
("3"
(assert )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil )
("2"
(inst - "0" )
(("1" (assert ) nil nil )
("2"
(rewrite "nnreal_expt_rat_rew" )
(("2"
(rewrite
"nn_rational_expt_nat_rew" )
(("2"
(rewrite "expt_x0" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil )
("2" (hide 2)
(("2" (expand "bounded_above?" )
(("2" (expand "upper_bound?" )
(("2"
(lemma
"nn_rational_expt_approx_gt1"
("x"
"gt1x!1"
"y"
"y!1+1"
"epsilon"
"1" ))
(("2"
(assert )
(("2"
(skosimp)
(("2"
(inst + "q!1" )
(("2"
(skosimp)
(("2"
(typepred "s!1" )
(("2"
(case
"y!1<nn_rational_expt(gt1x!1, q!1)" )
(("1"
(lemma
"nnreal_expt_increasing"
("x"
"gt1x!1"
"a"
"q!1"
"b"
"s!1" ))
(("1"
(rewrite
"nnreal_expt_rat_rew"
*
:dir
rl)
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(expand "abs" )
(("2"
(case-replace
"nn_rational_expt(gt1x!1, q!1) - 1 - y!1 < 0" )
(("1" (assert ) nil nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (propax) nil nil ))
nil )
("2" (hide 2)
(("2" (expand "nonempty?" )
(("2" (expand "empty?" )
(("2" (inst - "0" )
(("2"
(expand "member" )
(("2"
(rewrite "nnreal_expt_rat_rew" )
(("2"
(rewrite
"nn_rational_expt_nat_rew" )
(("2" (rewrite "expt_x0" ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (replace -1 * rl)
(("2" (inst + "0" )
(("2" (rewrite "nnreal_expt_rat_rew" )
(("2" (rewrite "nn_rational_expt_nat_rew" )
(("2" (rewrite "expt_x0" ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((surjective? const-decl "bool" functions nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(<= const-decl "bool" reals nil )
(nnreal_expt const-decl "nnreal" nnreal_expt nil )
(< const-decl "bool" reals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(nonempty? const-decl "bool" sets nil )
(set type-eq-decl nil sets nil )
(posreal_plus_nnreal_is_posreal application-judgement "posreal"
real_types nil )
(least_upper_bound? const-decl "bool" bounded_real_defs nil )
(lub const-decl "{x | least_upper_bound?(x, SA)}" bounded_real_defs
nil )
(upper_bound? const-decl "bool" bounded_real_defs nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(nn_rational_expt_nat_rew formula-decl nil nn_rational_expt nil )
(posreal_exp application-judgement "posreal" exponentiation nil )
(nzreal_exp application-judgement "nzreal" exponentiation nil )
(expt_x0 formula-decl nil exponentiation nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(gt1x!1 skolem-const-decl "{r | r > 1}" nnreal_expt nil )
(y!1 skolem-const-decl "{r | r >= 1}" nnreal_expt nil )
(LUB skolem-const-decl "{x_1 |
least_upper_bound?(x_1,
{x: real |
x >= 0 & nnreal_expt(gt1x!1, x) < y!1})}"
nnreal_expt nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(nn_rational_expt_approx_gt1 formula-decl nil nn_rational_expt nil )
(/= const-decl "boolean" notequal nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(q!1 skolem-const-decl "nnrat" nnreal_expt nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(nnreal_expt_rat_rew formula-decl nil nnreal_expt nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(minus_real_is_real application-judgement "real" reals nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(min const-decl "{p: real | p <= m AND p <= n}" real_defs nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(real_times_real_is_real application-judgement "real" reals nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(member const-decl "bool" sets nil )
(empty? const-decl "bool" sets nil )
(injective? const-decl "bool" functions 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 )
(posreal nonempty-type-eq-decl nil real_types nil )
(> const-decl "bool" reals nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(nnreal_expt_increasing formula-decl nil nnreal_expt nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(bijective? const-decl "bool" functions nil ))
shostak))
(nnreal_bijective2_TCC1 0
(nnreal_bijective2_TCC1-1 nil 3427605142
("" (skosimp)
(("" (case-replace "y!1=0" )
(("1" (rewrite "nnreal_expt_rat_rew" )
(("1" (rewrite "nn_rational_expt_nat_rew" )
(("1" (rewrite "expt_x0" ) (("1" (assert ) nil nil )) nil ))
nil ))
nil )
("2" (lemma "nnreal_expt_lt1" ("x" "lt1x!1" "pa" "y!1" ))
(("1" (assert )
(("1" (lemma "nnreal_expt_pos" ("px" "lt1x!1" "a" "y!1" ))
(("1" (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 )
(nn_rational_expt_nat_rew formula-decl nil nn_rational_expt nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(posreal_exp application-judgement "posreal" exponentiation nil )
(nzreal_exp application-judgement "nzreal" exponentiation nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(expt_x0 formula-decl nil exponentiation 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 )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(nnreal_expt_rat_rew formula-decl nil nnreal_expt nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nnreal_expt_pos formula-decl nil nnreal_expt nil )
(nnreal_expt_lt1 formula-decl nil nnreal_expt nil ))
nil ))
(nnreal_bijective2 0
(nnreal_bijective2-1 nil 3427690611
("" (skosimp)
((""
(lemma "both_sides_div_pos_lt2"
("pz" "1" "py" "lt1x!1" "px" "1" ))
(("" (rewrite "div_simp" )
(("" (assert )
(("" (lemma "nnreal_bijective1" ("gt1x" "1/lt1x!1" ))
(("" (expand "bijective?" )
(("" (flatten)
(("" (split)
(("1" (expand "injective?" )
(("1" (skosimp*)
(("1" (inst - "x1!1" "x2!1" )
(("1" (rewrite "inv_nnreal_expt" )
(("1" (rewrite "inv_nnreal_expt" )
(("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "surjective?" )
(("2" (skosimp)
(("2" (typepred "y!1" )
(("2"
(lemma "posreal_div_posreal_is_posreal"
("px" "1" "py" "y!1" ))
(("2"
(lemma "both_sides_div_pos_lt2"
("pz" "1" "py" "y!1" "px" "1" ))
(("2" (rewrite "div_simp" )
(("2"
(assert )
(("2"
(inst - "1/y!1" )
(("1"
(skosimp)
(("1"
(rewrite "inv_nnreal_expt" )
(("1"
(inst + "x!1" )
(("1" (assert ) nil nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((< 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_div_pos_lt2 formula-decl nil real_props nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(bijective? const-decl "bool" functions nil )
(inv_nnreal_expt formula-decl nil nnreal_expt nil )
(nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(nnreal type-eq-decl nil real_types nil )
(injective? const-decl "bool" functions nil )
(posreal_div_posreal_is_posreal judgement-tcc nil real_types nil )
(y!1 skolem-const-decl "{r | r <= 1}" nnreal_expt 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 )
(<= const-decl "bool" reals nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(surjective? const-decl "bool" functions 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 )
(numfield nonempty-type-eq-decl nil number_fields nil )
(nnreal_bijective1 formula-decl nil nnreal_expt nil )
(div_simp formula-decl nil real_props nil )
(/= const-decl "boolean" notequal nil )
(nonzero_real nonempty-type-eq-decl nil reals nil ))
shostak))
(nnreal_expt_def_gt1_TCC1 0
(nnreal_expt_def_gt1_TCC1-1 nil 3428142252
("" (skosimp)
(("" (split)
(("1" (expand "extend" )
(("1" (expand "nonempty?" )
(("1" (expand "empty?" )
(("1" (expand "member" )
(("1" (inst - "nn_rational_expt(gt1x!1, 0)" )
(("1" (typepred "nn_rational_expt(gt1x!1, 0)" )
(("1" (assert )
(("1" (inst + "0" ) (("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "extend" )
(("2" (expand "bounded_above?" )
(("2" (expand "upper_bound?" )
(("2" (lemma "density_positive" ("x" "py!1" "y" "py!1+1" ))
(("2" (assert )
(("2" (skosimp)
(("2" (inst + "nn_rational_expt(gt1x!1, r!1)" )
(("1" (skosimp)
(("1" (typepred "s!1" )
(("1" (assert )
(("1" (skosimp)
(("1"
(lemma "nn_rational_expt_increasing"
("q" "q!1" "r" "r!1" "x" "gt1x!1" ))
(("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nonempty? const-decl "bool" sets nil )
(member const-decl "bool" sets nil )
(NOT const-decl "[bool -> bool]" booleans 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 )
(posreal nonempty-type-eq-decl nil real_types nil )
(> const-decl "bool" reals nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals 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 )
(empty? const-decl "bool" sets nil )
(extend const-decl "R" extend nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(density_positive formula-decl nil rational_props nil )
(posreal_plus_nnreal_is_posreal application-judgement "posreal"
real_types nil )
(nn_rational_expt_increasing formula-decl nil nn_rational_expt nil )
(FALSE const-decl "bool" booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(< const-decl "bool" reals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(rat nonempty-type-eq-decl nil rationals nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(upper_bound? const-decl "bool" bounded_real_defs nil ))
nil ))
(nnreal_expt_def_gt1 0
(nnreal_expt_def_gt1-1 nil 3428142943
("" (skosimp)
(("" (expand "nnreal_expt" )
((""
(typepred "lub(extend[real, nnreal, bool, FALSE]
({z |
EXISTS q:
q <= py!1 AND z = nn_rational_expt(gt1x!1, q)}))")
((""
(name-replace "LE" "lub(extend[real, nnreal, bool, FALSE]
({z |
EXISTS q:
q <= py!1 AND z = nn_rational_expt(gt1x!1, q)}))")
((""
(typepred "lub(extend[real, nnreal, bool, FALSE]
({z |
EXISTS q: q < py!1 AND z = nn_rational_expt(gt1x!1, q)}))")
((""
(name-replace "LT" "lub(extend[real, nnreal, bool, FALSE]
({z |
EXISTS q: q < py!1 AND z = nn_rational_expt(gt1x!1, q)}))")
(("" (expand "extend" )
(("" (expand "least_upper_bound?" )
(("" (expand "upper_bound?" )
(("" (flatten)
(("" (inst-cp -2 "LE" )
(("" (split -3)
(("1" (expand "<=" -1)
(("1" (split -1)
(("1"
(hide 1)
(("1"
(inst-cp -5 "LT" )
(("1"
(split -6)
(("1" (assert ) nil nil )
("2"
(skosimp)
(("2"
(typepred "s!1" )
(("2"
(replace -2 -1)
(("2"
(skosimp)
(("2"
(expand "<=" -1)
(("2"
(split -1)
(("1"
(inst -5 "s!1" )
(("1"
(inst + "q!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(case "s!1=LE" )
(("1"
(replace -1)
(("1"
(assert )
(("1"
(name
"EPS"
"(LE-LT)/2" )
(("1"
(case "LT>1" )
(("1"
(lemma
"nn_rational_expt_approx_gt1"
("x"
"gt1x!1"
"y"
"LT+EPS"
"epsilon"
"EPS" ))
(("1"
(assert )
(("1"
(skosimp)
(("1"
(case
"LT<nn_rational_expt(gt1x!1, q!2)& nn_rational_expt(gt1x!1, q!2)<LE" )
(("1"
(flatten)
(("1"
(hide
-3)
(("1"
(case
"q!2<q!1" )
(("1"
(inst
-11
"nn_rational_expt(gt1x!1, q!2)" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"nn_rational_expt(gt1x!1, q!2)" )
(("2"
(assert )
(("2"
(inst
+
"q!2" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace
-7)
(("2"
(hide-all-but
(-2
-3
-6
1))
(("2"
(case-replace
"q!2=q!1" )
(("1"
(assert )
nil
nil )
("2"
(lemma
"nn_rational_expt_increasing"
("q"
"q!1"
"r"
"q!2"
"x"
"gt1x!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(name-replace
"DRL"
"nn_rational_expt(gt1x!1, q!2)" )
(("2"
(hide-all-but
(-1
-2
-3
1))
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil )
("3"
(assert )
nil
nil ))
nil )
("2"
(lemma
"density_positive"
("x"
"0"
"y"
"py!1" ))
(("2"
(assert )
(("2"
(skosimp)
(("2"
(inst
-9
"nn_rational_expt(gt1x!1, r!1)" )
(("1"
(lemma
"nn_rational_expt_gt1"
("x"
"gt1x!1"
"pq"
"r!1" ))
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(typepred
"nn_rational_expt(gt1x!1, r!1)" )
(("1"
(assert )
(("1"
(inst
+
"r!1" )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil )
("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(inst -7 "s!1" )
(("2"
(inst -8 "s!1" )
(("2"
(split -8)
(("1"
(assert )
nil
nil )
("2"
(skosimp)
(("2"
(typepred
"s!2" )
(("2"
(assert )
(("2"
(skosimp)
(("2"
(lemma
"nn_rational_expt_increasing"
("q"
"q!2"
"r"
"q!1"
"x"
"gt1x!1" ))
(("2"
(assert )
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 ))
nil )
("2" (skosimp)
(("2" (typepred "s!1" )
(("2"
(assert )
(("2"
(skosimp)
(("2"
(inst -6 "s!1" )
(("2"
(inst + "q!1" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nnreal_expt const-decl "nnreal" nnreal_expt nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(nn_rational_expt_increasing formula-decl nil nn_rational_expt nil )
(q!2 skolem-const-decl "nnrat" nnreal_expt nil )
(minus_real_is_real application-judgement "real" reals nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(real_times_real_is_real application-judgement "real" reals nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nn_rational_expt_approx_gt1 formula-decl nil nn_rational_expt nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(rat nonempty-type-eq-decl nil rationals nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(posrat nonempty-type-eq-decl nil rationals nil )
(nonneg_rat nonempty-type-eq-decl nil rationals nil )
(nn_rational_expt_gt1 formula-decl nil nn_rational_expt nil )
(density_positive formula-decl nil rational_props nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(/= const-decl "boolean" notequal nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(py!1 skolem-const-decl "posreal" nnreal_expt nil )
(gt1x!1 skolem-const-decl "{r | r > 1}" nnreal_expt nil )
(s!1 skolem-const-decl "(LAMBDA (t: real):
IF t >= 0 THEN EXISTS q: q <= py!1 AND t = nn_rational_expt(gt1x!1, q)
ELSE FALSE
ENDIF)" nnreal_expt nil)
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(s!1 skolem-const-decl "(LAMBDA (t: real):
IF t >= 0 THEN EXISTS q: q < py!1 AND t = nn_rational_expt(gt1x!1, q)
ELSE FALSE
ENDIF)" nnreal_expt nil)
(upper_bound? const-decl "bool" bounded_real_defs nil )
(< const-decl "bool" reals nil )
(boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(set type-eq-decl nil sets nil )
(nonempty? const-decl "bool" sets nil )
(least_upper_bound? const-decl "bool" bounded_real_defs nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(lub const-decl "{x | least_upper_bound?(x, SA)}" bounded_real_defs
nil )
(>= const-decl "bool" reals nil )
(nnreal type-eq-decl nil real_types nil )
(FALSE const-decl "bool" booleans nil )
(extend const-decl "R" extend nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(<= const-decl "bool" reals nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(> const-decl "bool" reals nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil ))
shostak))
(nnreal_expt_plus 0
(nnreal_expt_plus-1 nil 3427462388
(""
(case "FORALL (a, b:nnreal, x: posreal): x>1 =>
nnreal_expt(x, a + b) = nnreal_expt(x, a) * nnreal_expt(x, b)")
(("1" (skosimp)
(("1" (case-replace "x!1=0" )
(("1" (hide -2 -1)
(("1" (rewrite "nnreal_expt_0a" )
(("1" (rewrite "nnreal_expt_0a" )
(("1" (rewrite "nnreal_expt_0a" ) (("1" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (case-replace "x!1=1" )
(("1" (rewrite "nnreal_expt_1a" )
(("1" (rewrite "nnreal_expt_1a" )
(("1" (rewrite "nnreal_expt_1a" ) nil nil )) nil ))
nil )
("2" (case "0<x!1&x!1<1" )
(("1" (flatten)
(("1" (inst - "a!1" "b!1" "1/x!1" )
(("1" (assert )
(("1" (rewrite "inv_nnreal_expt" )
(("1" (rewrite "inv_nnreal_expt" )
(("1" (rewrite "inv_nnreal_expt" )
(("1" (rewrite "div_times" )
(("1" (rewrite "cross_mult" )
(("1" (rewrite "div_mult_pos_gt1" ) nil nil )
("2" (expand "/=" )
(("2"
(rewrite "zero_times3" )
(("2"
(split)
(("1"
(rewrite "nnreal_expt_is_0" )
nil
nil )
("2"
(rewrite "nnreal_expt_is_0" )
nil
nil ))
nil ))
nil ))
nil )
("3" (expand "/=" )
(("3"
(rewrite "nnreal_expt_is_0" )
nil
nil ))
nil ))
nil )
("2" (expand "/=" )
(("2" (rewrite "nnreal_expt_is_0" ) nil
nil ))
nil )
("3" (expand "/=" )
(("3" (rewrite "nnreal_expt_is_0" ) nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert )
(("2"
(lemma "posreal_div_posreal_is_posreal"
("px" "1" "py" "x!1" ))
(("2" (assert ) nil nil )) nil ))
nil )
("3" (assert ) nil nil ))
nil ))
nil )
("2" (assert )
(("2" (inst - "a!1" "b!1" "x!1" ) (("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (skosimp)
(("2" (lemma "nnreal_expt_def_gt1" ("gt1x" "x!1" ))
(("1" (case-replace "a!1=0" )
(("1" (assert )
(("1" (lemma "nnreal_expt_rat_rew" ("x" "x!1" "q" "0" ))
(("1" (rewrite "nn_rational_expt_nat_rew" )
(("1" (rewrite "expt_x0" ) (("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (case-replace "b!1=0" )
(("1" (lemma "nnreal_expt_rat_rew" ("x" "x!1" "q" "0" ))
(("1" (rewrite "nn_rational_expt_nat_rew" )
(("1" (rewrite "expt_x0" ) (("1" (assert ) nil nil ))
nil ))
nil ))
nil )
("2" (case "a!1>0" )
(("1" (case "b!1>0" )
(("1" (hide 1 2)
(("1" (inst-cp - "a!1" )
(("1" (inst-cp - "b!1" )
(("1" (inst - "a!1+b!1" )
(("1"
(name-replace "XAB"
"nnreal_expt(x!1, a!1 + b!1)" )
(("1"
(name-replace "XA"
"nnreal_expt(x!1, a!1)" )
(("1"
(name-replace
"XB"
"nnreal_expt(x!1, b!1)" )
(("1"
(typepred
"lub(extend[real, nnreal, bool, FALSE]
({z |
EXISTS q:
q < a!1 + b!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(replace -4)
(("1"
(typepred
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q < b!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(replace -5 * rl)
(("1"
(replace -6 * rl)
(("1"
(typepred
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q < a!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(replace -8 * rl)
(("1"
(hide -6 -7 -8)
(("1"
(expand
"least_upper_bound?" )
(("1"
(expand "extend" )
(("1"
(expand
"upper_bound?" )
(("1"
(flatten)
(("1"
(inst
-6
"XA*XB" )
(("1"
(split -6)
(("1"
(case
"XAB>1" )
(("1"
(case
"XA>1" )
(("1"
(inst
-5
"XAB/XB" )
(("1"
(split
-5)
(("1"
(rewrite
"div_mult_pos_le2"
-1)
(("1"
(assert )
nil
nil ))
nil )
("2"
(expand
"<="
-3)
(("2"
(split
-3)
(("1"
(hide
2)
(("1"
(skosimp)
(("1"
(typepred
"s!1" )
(("1"
(replace
-2
-1)
(("1"
(skosimp)
(("1"
(replace
-2)
(("1"
(rewrite
"div_mult_pos_le2"
1)
(("1"
(hide
-2)
(("1"
(expand
">="
-2)
(("1"
(expand
"<="
-2)
(("1"
(split
-2)
(("1"
(inst
-8
"XAB/nn_rational_expt(x!1, q!1)" )
(("1"
(split
-8)
(("1"
(rewrite
"div_mult_pos_le2"
-1)
(("1"
(assert )
nil
nil ))
nil )
("2"
(skosimp)
(("2"
(typepred
"s!2" )
(("2"
(replace
-2)
(("2"
(skosimp)
(("2"
(replace
-2)
(("2"
(hide
-2)
(("2"
(rewrite
"div_mult_pos_le2"
1)
(("2"
(rewrite
"nn_rational_expt_plus"
1
:dir
rl)
(("2"
(inst
-10
"nn_rational_expt(x!1, q!1 + q!2)" )
(("2"
(inst
+
"q!1+q!2" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(lemma
"nn_rational_expt_is_0"
("x"
"x!1"
"q"
"q!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(propax)
nil
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(hide-all-but
(-3
-9
1
-10))
(("2"
(lemma
"density_positive"
("x"
"0"
"y"
"a!1" ))
(("2"
(assert )
(("2"
(skosimp)
(("2"
(inst
-
"nn_rational_expt(x!1, r!1)" )
(("1"
(lemma
"nn_rational_expt_gt1"
("x"
"x!1"
"pq"
"r!1" ))
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(typepred
"nn_rational_expt(x!1, r!1)" )
(("1"
(assert )
(("1"
(inst
+
"r!1" )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil )
("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-1
2
-2
-3
-4
-5)
(("2"
(lemma
"density_positive"
("x"
"0"
"y"
"a!1+b!1" ))
(("2"
(assert )
(("2"
(skosimp)
(("2"
(inst
-
"nn_rational_expt(x!1,r!1)" )
(("1"
(lemma
"nn_rational_expt_gt1"
("x"
"x!1"
"pq"
"r!1" ))
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(typepred
"nn_rational_expt(x!1, r!1)" )
(("1"
(assert )
(("1"
(inst
+
"r!1" )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil )
("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skosimp)
(("2"
(hide
2)
(("2"
(typepred
"s!1" )
(("2"
(assert )
(("2"
(skosimp)
(("2"
(replace
-2)
(("2"
(hide
-2)
(("2"
(hide
-4
-6
-7)
(("2"
(name
"EPS"
"min((a!1+b!1-q!1)/2,min(a!1,b!1))" )
(("2"
(case
"EPS>0&a!1>=EPS&b!1>=EPS&(a!1 + b!1 - q!1) / 2>=EPS" )
(("1"
(flatten)
(("1"
(lemma
"density_positive"
("x"
"a!1-EPS"
"y"
"a!1" ))
(("1"
(assert )
(("1"
(skosimp)
(("1"
(lemma
"density_positive"
("x"
"b!1-EPS"
"y"
"b!1" ))
(("1"
(assert )
(("1"
(skosimp)
(("1"
(inst
-12
"nn_rational_expt(x!1, r!1)" )
(("1"
(inst
-13
"nn_rational_expt(x!1, r!2)" )
(("1"
(lemma
"nn_rational_expt_gt1"
("x"
"x!1"
"pq"
"r!1" ))
(("1"
(lemma
"nn_rational_expt_gt1"
("x"
"x!1"
"pq"
"r!2" ))
(("1"
(assert )
(("1"
(lemma
"le_times_le_pos"
("nnx"
"nn_rational_expt(x!1, r!1)"
"y"
"XA"
"nnz"
"nn_rational_expt(x!1, r!2)"
"w"
"XB" ))
(("1"
(assert )
(("1"
(lemma
"nn_rational_expt_plus"
("x"
"x!1"
"q"
"r!1"
"r"
"r!2" ))
(("1"
(case
"q!1<=r!1+r!2" )
(("1"
(replace
-2
*
rl)
(("1"
(case
"nn_rational_expt(x!1, q!1) <= nn_rational_expt(x!1, r!1 + r!2)" )
(("1"
(assert )
nil
nil )
("2"
(hide-all-but
(-1
1
-21))
(("2"
(case-replace
"q!1=r!1+r!2" )
(("1"
(assert )
nil
nil )
("2"
(lemma
"nn_rational_expt_increasing"
("q"
"q!1"
"r"
"r!1+r!2"
"x"
"x!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(typepred
"nn_rational_expt(x!1, r!2)" )
(("1"
(assert )
(("1"
(inst
+
"r!2" )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil )
("3"
(assert )
nil
nil ))
nil )
("2"
(typepred
"nn_rational_expt(x!1, r!1)" )
(("2"
(assert )
(("2"
(inst
+
"r!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1
-2
-6
-7
1))
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil )
((nnreal_expt_def_gt1 formula-decl nil nnreal_expt nil )
(a!1 skolem-const-decl "nnreal" nnreal_expt nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(extend const-decl "R" extend nil )
(FALSE const-decl "bool" booleans nil )
(lub const-decl "{x | least_upper_bound?(x, SA)}" bounded_real_defs
nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(least_upper_bound? const-decl "bool" bounded_real_defs nil )
(nonempty? const-decl "bool" sets nil )
(set type-eq-decl nil sets nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(upper_bound? const-decl "bool" bounded_real_defs nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(min const-decl "{p: real | p <= m AND p <= n}" real_defs nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nonneg_real_min application-judgement
"{z: nonneg_real | z <= x AND z <= y}" real_defs nil )
(r!2 skolem-const-decl "rat" nnreal_expt nil )
(le_times_le_pos formula-decl nil real_props nil )
(nn_rational_expt_increasing formula-decl nil nn_rational_expt nil )
(rat_plus_rat_is_rat application-judgement "rat" rationals nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(rat nonempty-type-eq-decl nil rationals nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(posrat nonempty-type-eq-decl nil rationals nil )
(nonneg_rat nonempty-type-eq-decl nil rationals nil )
(nn_rational_expt_gt1 formula-decl nil nn_rational_expt nil )
(density_positive formula-decl nil rational_props nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(XB skolem-const-decl "nnreal" nnreal_expt nil )
(<= const-decl "bool" reals nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(nn_rational_expt_plus formula-decl nil nn_rational_expt nil )
(nnrat_plus_nnrat_is_nnrat application-judgement "nonneg_rat"
rationals nil )
(q!2 skolem-const-decl "nnrat" nnreal_expt nil )
(q!1 skolem-const-decl "nnrat" nnreal_expt nil )
(x!1 skolem-const-decl "posreal" nnreal_expt nil )
(nn_rational_expt_is_0 formula-decl nil nn_rational_expt nil )
(div_mult_pos_le2 formula-decl nil real_props nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(b!1 skolem-const-decl "nnreal" nnreal_expt nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(nn_rational_expt_nat_rew formula-decl nil nn_rational_expt nil )
(posreal_exp application-judgement "posreal" exponentiation nil )
(nzreal_exp application-judgement "nzreal" exponentiation nil )
(expt_x0 formula-decl nil exponentiation nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(nnreal_expt_rat_rew formula-decl nil nnreal_expt nil )
(nnreal_expt_1a formula-decl nil nnreal_expt nil )
(posreal_div_posreal_is_posreal judgement-tcc nil real_types nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nonzero_real nonempty-type-eq-decl nil reals nil )
(div_times formula-decl nil real_props nil )
(odd_times_odd_is_odd application-judgement "odd_int" integers nil )
(posint_times_posint_is_posint application-judgement "posint"
integers nil )
(nnreal_expt_is_0 formula-decl nil nnreal_expt nil )
(zero_times3 formula-decl nil real_props nil )
(div_mult_pos_gt1 formula-decl nil extra_real_props nil )
(cross_mult formula-decl nil real_props nil )
(inv_nnreal_expt formula-decl nil nnreal_expt nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(x!1 skolem-const-decl "nnreal" nnreal_expt nil )
(/= const-decl "boolean" notequal nil )
(nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(< const-decl "bool" reals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(nnreal_expt_0a formula-decl nil nnreal_expt nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(nnreal_plus_nnreal_is_nnreal application-judgement "nnreal"
real_types 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 )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nnreal type-eq-decl nil real_types nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(> const-decl "bool" reals nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(nnreal_expt const-decl "nnreal" nnreal_expt nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields
nil ))
shostak))
(nnreal_expt_times 0
(nnreal_expt_times-1 nil 3428096947
(""
(case "FORALL (a, b, x: posreal): x>1 =>
nnreal_expt(x, a * b) = nnreal_expt(nnreal_expt(x, a), b)")
(("1" (skosimp)
(("1" (case-replace "a!1=0" )
(("1" (rewrite "nnreal_expt_rat_rew" )
(("1" (rewrite "nn_rational_expt_nat_rew" )
(("1" (rewrite "expt_x0" )
(("1" (rewrite "nnreal_expt_1a" ) nil nil )) nil ))
nil ))
nil )
("2" (case-replace "b!1=0" )
(("1" (rewrite "nnreal_expt_rat_rew" )
(("1" (rewrite "nn_rational_expt_nat_rew" )
(("1" (rewrite "expt_x0" )
(("1"
(lemma "nnreal_expt_rat_rew"
("x" "nnreal_expt(x!1, a!1)" "q" "0" ))
(("1" (replace -1)
(("1" (hide -1)
(("1" (rewrite "nn_rational_expt_nat_rew" )
(("1" (rewrite "expt_x0" ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (case "a!1>0" )
(("1" (case "b!1>0" )
(("1" (case-replace "x!1=1" )
(("1" (rewrite "nnreal_expt_1a" )
(("1" (rewrite "nnreal_expt_1a" )
(("1" (rewrite "nnreal_expt_1a" ) nil nil )) nil ))
nil )
("2" (case-replace "x!1=0" )
(("1" (rewrite "nnreal_expt_0a" )
(("1"
(lemma "posreal_times_posreal_is_posreal"
("px" "a!1" "py" "b!1" ))
(("1" (assert )
(("1" (rewrite "nnreal_expt_0a" )
(("1" (rewrite "nnreal_expt_0a" ) nil nil ))
nil ))
nil )
("2" (propax) nil nil ) ("3" (propax) nil nil ))
nil ))
nil )
("2" (case "0<x!1&x!1<1" )
(("1" (flatten)
(("1" (inst - "a!1" "b!1" "1/x!1" )
(("1" (assert )
(("1" (rewrite "inv_nnreal_expt" )
(("1" (rewrite "inv_nnreal_expt" )
(("1"
(rewrite "inv_nnreal_expt" )
(("1"
(rewrite "cross_mult" )
(("1"
(rewrite "div_mult_pos_gt1" )
nil
nil )
("2"
(expand "/=" )
(("2"
(rewrite "nnreal_expt_is_0" )
(("2"
(rewrite "nnreal_expt_is_0" )
nil
nil ))
nil ))
nil )
("3"
(expand "/=" )
(("3"
(rewrite "nnreal_expt_is_0" )
nil
nil ))
nil ))
nil )
("2"
(lemma
"nnreal_expt_pos"
("px" "x!1" "a" "a!1" ))
(("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert )
(("2"
(lemma "posreal_div_posreal_is_posreal"
("px" "1" "py" "x!1" ))
(("2" (assert ) nil nil )) nil ))
nil )
("3" (assert ) nil nil ))
nil ))
nil )
("2" (assert )
(("2" (inst - "a!1" "b!1" "x!1" )
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (skosimp)
(("2" (lemma "nnreal_expt_def_gt1" ("gt1x" "x!1" ))
(("1" (inst-cp - "a!1*b!1" )
(("1" (inst - "a!1" )
(("1" (lemma "nnreal_expt_gt1" ("x" "x!1" "pa" "a!1" ))
(("1"
(lemma "nnreal_expt_def_gt1"
("gt1x" "nnreal_expt(x!1, a!1)" "py" "b!1" ))
(("1" (name-replace "XA" "nnreal_expt(x!1, a!1)" )
(("1" (assert )
(("1"
(typepred "lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q < a!1 AND z = nn_rational_expt(x!1, q)}))")
(("1" (replace -4 * rl)
(("1" (hide -4)
(("1"
(typepred
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q < b!1 AND z = nn_rational_expt(XA, q)}))")
(("1"
(name-replace
"XB"
"lub(extend[real, nnreal, bool, FALSE]
({z | EXISTS q: q < b!1 AND z = nn_rational_expt(XA, q)}))")
(("1"
(replace -3)
(("1"
(hide -3)
(("1"
(name-replace
"XAB"
"nnreal_expt(x!1, a!1 * b!1)" )
(("1"
(typepred
"lub(extend[real, nnreal, bool, FALSE]
({z |
EXISTS q:
q < a!1 * b!1 AND z = nn_rational_expt(x!1, q)}))")
(("1"
(replace -5 * rl)
(("1"
(hide -5)
(("1"
(expand "extend" )
(("1"
(expand
"least_upper_bound?" )
(("1"
(flatten)
(("1"
(expand
"upper_bound?" )
(("1"
(inst -2 "XB" )
(("1"
(split -2)
(("1"
(expand
"<="
-1)
(("1"
(split -1)
(("1"
(hide 1)
(("1"
(inst
-4
"XAB" )
(("1"
(assert )
(("1"
(skosimp)
(("1"
(typepred
"s!1" )
(("1"
(replace
-2)
(("1"
(skosimp)
(("1"
(replace
-2)
(("1"
(hide
-2)
(("1"
(case-replace
"q!1=0" )
(("1"
(rewrite
"nn_rational_expt_nat_rew" )
(("1"
(rewrite
"expt_x0" )
(("1"
(hide
-6
-7
-8)
(("1"
(inst
-
"nn_rational_expt(x!1,0)" )
(("1"
(rewrite
"nn_rational_expt_nat_rew" )
(("1"
(rewrite
"expt_x0" )
nil
nil ))
nil )
("2"
(typepred
"nn_rational_expt(x!1, 0)" )
(("2"
(assert )
(("2"
(inst
+
"0" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"q!1>0" )
(("1"
(hide
1)
(("1"
(case
"exists (r:posrat): a!1 < r & r*q!1<a!1*b!1" )
(("1"
(skosimp)
(("1"
(inst
-10
"nn_rational_expt(x!1, r!1)" )
(("1"
(split
-10)
(("1"
(expand
"<="
-1)
(("1"
(split
-1)
(("1"
(lemma
"nn_rational_expt_strict_increasing"
("x"
"XA"
"y"
"nn_rational_expt(x!1, r!1)"
"pq"
"q!1" ))
(("1"
(assert )
(("1"
(rewrite
"nn_rational_expt_times"
-1
:dir
rl)
(("1"
(inst
-9
"nn_rational_expt(x!1, r!1 * q!1)" )
(("1"
(assert )
nil
nil )
("2"
(inst
+
"r!1*q!1" )
nil
nil ))
nil ))
nil ))
nil )
("2"
(propax)
nil
nil ))
nil )
("2"
(replace
-1)
(("2"
(rewrite
"nn_rational_expt_times"
1
:dir
rl)
(("2"
(inst
-8
"nn_rational_expt(x!1, r!1 * q!1)" )
(("2"
(inst
+
"r!1*q!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skosimp)
(("2"
(typepred
"s!2" )
(("2"
(assert )
(("2"
(skosimp)
(("2"
(replace
-2)
(("2"
(expand
"<="
1)
(("2"
(flatten)
(("2"
(lemma
"nn_rational_expt_increasing"
("q"
"q!2"
"r"
"r!1"
"x"
"x!1" ))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1
-2
1))
(("2"
(lemma
"posreal_times_posreal_is_posreal"
("px"
"a!1"
"py"
"b!1" ))
(("2"
(lemma
"density_positive"
("x"
"a!1"
"y"
"a!1*b!1/q!1" ))
(("1"
(assert )
(("1"
(rewrite
"div_mult_pos_lt2"
-1)
(("1"
(lemma
"both_sides_times_pos_lt1"
("pz"
"a!1"
"x"
"q!1"
"y"
"b!1" ))
(("1"
(assert )
(("1"
(skosimp)
(("1"
(inst
+
"r!1" )
(("1"
(assert )
(("1"
(rewrite
"div_mult_pos_lt2"
-3)
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(propax)
nil
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skosimp)
(("2"
(assert )
(("2"
(typepred
"s!1" )
(("2"
(replace
-2)
(("2"
(skosimp)
(("2"
(replace
-2)
(("2"
(hide
-2)
(("2"
(lemma
"density_positive"
("x"
"q!1/a!1"
"y"
"b!1" ))
(("2"
(assert )
(("2"
(rewrite
"div_mult_pos_le2"
-1)
(("2"
(rewrite
"div_mult_pos_lt1"
-1)
(("2"
(skosimp)
(("2"
(lemma
"div_mult_pos_lt1"
("py"
"a!1"
"z"
"q!1"
"x"
"r!1" ))
(("2"
(assert )
(("2"
(hide
-8
-10)
(("2"
(inst
-7
"nn_rational_expt(XA, r!1)" )
(("1"
(case
"nn_rational_expt(x!1, q!1)<=nn_rational_expt(XA, r!1)" )
(("1"
(assert )
nil
nil )
("2"
(hide
2
-7)
(("2"
(inst
-7
"nn_rational_expt(x!1, q!1/r!1)" )
(("1"
(expand
"<="
-7)
(("1"
(split
-7)
(("1"
(lemma
"nn_rational_expt_strict_increasing"
("x"
"nn_rational_expt(x!1, q!1 / r!1)"
"y"
"XA"
"pq"
"r!1" ))
(("1"
(assert )
(("1"
(rewrite
"nn_rational_expt_times"
-1
:dir
rl)
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(rewrite
"div_mult_pos_ge1"
1)
nil
nil ))
nil )
("2"
(replace
-1
*
rl)
(("2"
(rewrite
"nn_rational_expt_times"
1
:dir
rl)
(("1"
(assert )
nil
nil )
("2"
(rewrite
"div_mult_pos_ge1"
1)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(typepred
"nn_rational_expt(x!1, q!1 / r!1)" )
(("1"
(assert )
(("1"
(inst
+
"q!1/r!1" )
(("1"
(assert )
(("1"
(rewrite
"div_mult_pos_lt1"
1)
nil
nil ))
nil )
("2"
(rewrite
"div_mult_pos_ge1"
1)
nil
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(rewrite
"div_mult_pos_ge1"
1)
nil
nil ))
nil ))
nil )
("3"
(rewrite
"div_mult_pos_ge1"
1)
nil
nil ))
nil ))
nil ))
nil )
("2"
(typepred
"nn_rational_expt(XA, r!1)" )
(("2"
(assert )
(("2"
(inst
+
"r!1" )
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 ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert )
(("2" (replace -1 1) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil )
((nnreal_expt_def_gt1 formula-decl nil nnreal_expt nil )
(nnreal_div_posreal_is_nnreal application-judgement "nnreal"
real_types nil )
(div_mult_pos_le2 formula-decl nil real_props nil )
(real_times_real_is_real application-judgement "real" reals nil )
(XA skolem-const-decl "nnreal" nnreal_expt nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(div_mult_pos_ge1 formula-decl nil real_props nil )
(q!1 skolem-const-decl "nnrat" nnreal_expt nil )
(rat_div_nzrat_is_rat application-judgement "rat" rationals nil )
(div_mult_pos_lt1 formula-decl nil real_props nil )
(<= const-decl "bool" reals nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(nnrat_times_nnrat_is_nnrat application-judgement "nonneg_rat"
rationals nil )
(nonneg_rat nonempty-type-eq-decl nil rationals nil )
(posrat nonempty-type-eq-decl nil rationals nil )
(nn_rational_expt_increasing formula-decl nil nn_rational_expt nil )
(nn_rational_expt_strict_increasing formula-decl nil
nn_rational_expt nil )
(nn_rational_expt_times formula-decl nil nn_rational_expt nil )
(q!1 skolem-const-decl "nnrat" nnreal_expt nil )
(r!1 skolem-const-decl "posrat" nnreal_expt nil )
(both_sides_times_pos_lt1 formula-decl nil real_props nil )
(rat_times_rat_is_rat application-judgement "rat" rationals nil )
(r!1 skolem-const-decl "rat" nnreal_expt nil )
(rat nonempty-type-eq-decl nil rationals nil )
(div_mult_pos_lt2 formula-decl nil real_props nil )
(density_positive formula-decl nil rational_props 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 )
(b!1 skolem-const-decl "posreal" nnreal_expt nil )
(a!1 skolem-const-decl "posreal" nnreal_expt nil )
(x!1 skolem-const-decl "posreal" nnreal_expt nil )
(upper_bound? const-decl "bool" bounded_real_defs nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(set type-eq-decl nil sets nil )
(nonempty? const-decl "bool" sets nil )
(least_upper_bound? const-decl "bool" bounded_real_defs nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(lub const-decl "{x | least_upper_bound?(x, SA)}" bounded_real_defs
nil )
(FALSE const-decl "bool" booleans nil )
(extend const-decl "R" extend nil )
(nn_rational_expt const-decl "nnreal" nn_rational_expt nil )
(nnreal_expt_gt1 formula-decl nil nnreal_expt nil )
(posreal_times_posreal_is_posreal judgement-tcc nil real_types nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nnreal_expt_0a formula-decl nil nnreal_expt nil )
(posreal_div_posreal_is_posreal judgement-tcc nil real_types nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nnreal_expt_pos formula-decl nil nnreal_expt nil )
(nonzero_real nonempty-type-eq-decl nil reals nil )
(cross_mult formula-decl nil real_props nil )
(div_mult_pos_gt1 formula-decl nil extra_real_props nil )
(nnreal_expt_is_0 formula-decl nil nnreal_expt nil )
(inv_nnreal_expt formula-decl nil nnreal_expt nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(x!1 skolem-const-decl "nnreal" nnreal_expt nil )
(/= const-decl "boolean" notequal nil )
(b!1 skolem-const-decl "nnreal" nnreal_expt nil )
(a!1 skolem-const-decl "nnreal" nnreal_expt nil )
(nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(< const-decl "bool" reals nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(nnrat nonempty-type-eq-decl nil rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(nnreal_expt_rat_rew formula-decl nil nnreal_expt nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(expt_x0 formula-decl nil exponentiation nil )
(nnreal_expt_1a formula-decl nil nnreal_expt nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(nn_rational_expt_nat_rew formula-decl nil nn_rational_expt nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(posreal_times_posreal_is_posreal application-judgement "posreal"
real_types 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 )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(> const-decl "bool" reals nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(nnreal type-eq-decl nil real_types nil )
(nnreal_expt const-decl "nnreal" nnreal_expt nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields
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.774Bemerkung:
(vorverarbeitet am 2026-04-28)
¤
*Bot Zugriff
2026-05-26