(fundamental_algebra
(mult_0_l 0
(mult_0_l-1 nil 3595844278
("" (skeep)
(("" (assert )
(("" (lemma " idempotent_rectangular" )
(("" (inst-cp - "0*c" )
(("" (inst - "0" )
(("" (assert )
(("" (replace -2)
(("" (invoke (name "A" "%1" ) (! 1 1))
(("" (replace -1)
(("" (replace -2 +)
(("" (hide -)
(("" (expand "A" )
(("" (expand "rectangular" )
(("" (rewrite "Re_times" )
((""
(rewrite "Im_times" )
((""
(assert )
((""
(rewrite "Im_real" )
((""
(rewrite "Re_real" )
(("" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((complex_times_complex_is_complex application-judgement "complex"
complex_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 )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(complex nonempty-type-from-decl nil complex_types nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(from_rectangular const-decl "complex" polar nil )
(rectangular const-decl "[real, real]" polar nil )
(A skolem-const-decl "complex" fundamental_algebra nil )
(Re_times formula-decl nil arithmetic nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(Re_real formula-decl nil arithmetic nil )
(real_times_real_is_real application-judgement "real" reals nil )
(Im_real formula-decl nil arithmetic nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(Im_times formula-decl nil arithmetic nil )
(idempotent_rectangular formula-decl nil polar nil ))
shostak))
(mult_commutes 0
(mult_commutes-1 nil 3595844876
("" (skeep)
(("" (lemma "commutative_mult" ) (("" (inst?) nil nil )) nil )) nil )
((commutative_mult formula-decl nil number_fields 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 )
(numfield nonempty-type-eq-decl nil number_fields nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(complex nonempty-type-from-decl nil complex_types nil ))
shostak))
(cpow_TCC1 0
(cpow_TCC1-1 nil 3595783444 ("" (subtype-tcc) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(>= const-decl "bool" reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
nil ))
(cpow_TCC2 0
(cpow_TCC2-1 nil 3595783444 ("" (termination-tcc) nil nil ) nil nil ))
(cpow_0 0
(cpow_0-1 nil 3595945547
(""
(case " FORALL (c: complex, n: nat): cpow(c)(n+1) = 0 IFF c = 0" )
(("1" (skeep)
(("1" (inst - "c" "pn-1" ) (("1" (assert ) nil nil )) nil )) nil )
("2" (hide 2)
(("2" (induct "n" )
(("1" (grind) nil nil )
("2" (skeep)
(("2" (skeep)
(("2" (inst - "c" )
(("2" (assert )
(("2" (expand "cpow" +)
(("2" (lemma " zero_times3" )
(("2" (inst?)
(("2" (replaces -1) (("2" (ground) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((zero_times3 formula-decl nil number_fields_bis nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(nat_induction formula-decl nil naturalnumbers nil )
(pred type-eq-decl nil defined_types nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers 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 )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(complex nonempty-type-from-decl nil complex_types nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(cpow def-decl "complex" fundamental_algebra nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields
nil ))
shostak))
(cpow_real_TCC1 0
(cpow_real_TCC1-1 nil 3596554202 ("" (subtype-tcc) nil nil )
((/= const-decl "boolean" notequal nil )) nil ))
(cpow_real 0
(cpow_real-1 nil 3596554203
("" (induct "n" )
(("1" (grind) nil nil )
("2" (skeep)
(("2" (skeep)
(("2" (inst - "r" )
(("2" (expand "cpow" +)
(("2" (expand "^" )
(("2" (expand "expt" +)
(("2" (assert ) (("2" (replaces -1) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((real_times_real_is_real application-judgement "real" reals nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(expt def-decl "real" exponentiation nil )
(nat_induction formula-decl nil naturalnumbers nil )
(^ const-decl "real" exponentiation nil )
(/= const-decl "boolean" notequal nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(cpow def-decl "complex" fundamental_algebra nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil ))
shostak))
(abs_rewrite_TCC1 0
(abs_rewrite_TCC1-1 nil 3595939197 ("" (subtype-tcc) nil nil )
((/= const-decl "boolean" notequal nil )) nil ))
(abs_rewrite_TCC2 0
(abs_rewrite_TCC2-1 nil 3595939197
("" (skeep)
(("" (case "FORALL (xy:real): xy*xy>=0" )
(("1" (inst-cp - "s" )
(("1" (inst - "r" ) (("1" (grind) nil nil )) nil )) nil )
("2" (hide 2)
(("2" (skeep)
(("2" (lemma "nnreal_times_nnreal_is_nnreal" )
(("2" (inst - "xy" "xy" )
(("2" (lemma "nnreal_times_nnreal_is_nnreal" )
(("2" (inst - "-xy" "-xy" )
(("1" (assert ) nil nil ) ("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(real_times_real_is_real application-judgement "real" reals nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(^ const-decl "real" exponentiation nil )
(expt def-decl "real" exponentiation nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(xy skolem-const-decl "real" fundamental_algebra nil )
(minus_real_is_real application-judgement "real" reals nil )
(minus_complex_is_complex application-judgement "complex"
complex_types nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(nnreal_times_nnreal_is_nnreal judgement-tcc nil real_types nil ))
nil ))
(abs_rewrite 0
(abs_rewrite-1 nil 3595939199
("" (skeep)
(("" (expand "abs" )
(("" (expand "conjugate" )
(("" (assert )
(("" (rewrite "Re_plus" )
(("" (rewrite "Im_plus" )
(("" (rewrite "Re_imag" )
(("" (rewrite "Re_real" )
(("" (rewrite "Im_imag" )
(("" (rewrite "Im_real" )
(("" (assert )
(("" (lemma "i_axiom" )
(("" (replace -1) (("" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(abs const-decl "nnreal" polar nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(Im_plus formula-decl nil arithmetic nil )
(Re_real formula-decl nil arithmetic nil )
(Im_real formula-decl nil arithmetic nil )
(real_times_real_is_real application-judgement "real" reals nil )
(i_axiom formula-decl nil complex_types nil )
(expt def-decl "real" exponentiation nil )
(^ const-decl "real" exponentiation nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(minus_nzcomplex_is_nzcomplex application-judgement "nzcomplex"
complex_types nil )
(Im_imag formula-decl nil arithmetic nil )
(Re_imag formula-decl nil arithmetic nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(i const-decl "complex" complex_types nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
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 )
(Re_plus formula-decl nil arithmetic nil )
(conjugate const-decl "complex" arithmetic nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(Re_is_real application-judgement "real" complex_types nil )
(Im_is_real application-judgement "real" complex_types nil ))
shostak))
(arg_cpow 0
(arg_cpow-1 nil 3595945241
(""
(case "FORALL (c: complex, n: nat):
-pi < (1+n) * arg(c) AND (1+n) * arg(c) <= pi IMPLIES
arg(cpow(c)((1+n))) = (1+n) * arg(c)")
(("1" (skeep)
(("1" (inst - "c" "pn-1" ) (("1" (assert ) nil nil )) nil )) nil )
("2" (hide 2)
(("2" (induct "n" )
(("1" (skeep) (("1" (assert ) (("1" (grind) nil nil )) nil )) nil )
("2" (skeep)
(("2" (skeep)
(("2" (inst - "c" )
(("2" (assert )
(("2" (split -)
(("1" (expand "cpow" 1)
(("1" (rewrite "arg_mult" )
(("1" (assert ) nil nil )
("2" (flatten)
(("2" (lemma "cpow_0" )
(("2" (inst?)
(("2" (assert )
(("2"
(replaces -1)
(("2"
(assert )
(("2"
(expand "arg" +)
(("2"
(assert )
(("2"
(lift-if)
(("2"
(ground)
(("1"
(rewrite "zero_times1" )
nil
nil )
("2"
(rewrite "zero_times1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (flatten)
(("3" (replaces -1)
(("3" (assert )
(("3" (expand "arg" +)
(("3"
(lift-if)
(("3"
(split +)
(("1" (assert ) nil nil )
("2"
(flatten)
(("2"
(rewrite "zero_times1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert )
(("2" (hide 2)
(("2" (case "arg(c)>=0" )
(("1" (copy -1)
(("1" (mult-by -1 "j" )
(("1" (assert ) nil nil )) nil ))
nil )
("2" (copy 1)
(("2" (mult-by 1 "j" )
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide 2)
(("3" (case "arg(c)>=0" )
(("1" (copy 1)
(("1" (copy -1)
(("1" (mult-by -1 "j" )
(("1" (assert ) nil nil )) nil ))
nil ))
nil )
("2" (copy 1)
(("2" (mult-by 1 "j" ) (("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nzcomplex nonempty-type-eq-decl nil complex_types nil )
(/= const-decl "boolean" notequal nil )
(arg_mult formula-decl nil polar nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(cpow_0 formula-decl nil fundamental_algebra nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(nil application-judgement "nnreal_lt_2pi" atan2 "trig/" )
(zero_times1 formula-decl nil number_fields_bis nil )
(both_sides_times_pos_ge1 formula-decl nil real_props nil )
(both_sides_times_pos_ge1_imp formula-decl nil extra_real_props
nil )
(j skolem-const-decl "nat" fundamental_algebra nil )
(atan2 const-decl "real" atan2 "trig/" )
(nzcomplex_times_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(nzcomplex_div_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(nat_induction formula-decl nil naturalnumbers nil )
(pred type-eq-decl nil defined_types nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(minus_nzcomplex_is_nzcomplex application-judgement "nzcomplex"
complex_types nil )
(minus_nzreal_is_nzreal application-judgement "nzreal" real_types
nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(real_times_real_is_real application-judgement "real" reals nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_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 )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(complex nonempty-type-from-decl nil complex_types nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(< const-decl "bool" reals nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield -> numfield]" number_fields 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 )
(pi_lb const-decl "posreal" trig_basic "trig/" )
(pi_ub const-decl "posreal" trig_basic "trig/" )
(pi const-decl "{r: posreal | r > pi_lb AND r < pi_ub}" trig_basic
"trig/" )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(<= const-decl "bool" reals nil )
(argrng nonempty-type-eq-decl nil polar nil )
(arg const-decl "argrng" polar nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(cpow def-decl "complex" fundamental_algebra nil ))
shostak))
(abs_cpow_TCC1 0
(abs_cpow_TCC1-1 nil 3595784497 ("" (subtype-tcc) nil nil )
((conjugate const-decl "complex" arithmetic nil )
(abs const-decl "nnreal" polar nil )
(Im_is_real application-judgement "real" complex_types nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil ))
nil ))
(abs_cpow 0
(abs_cpow-1 nil 3595784503
("" (induct "n" )
(("1" (skeep)
(("1" (expand "cpow" )
(("1" (expand "^" )
(("1" (expand "expt" )
(("1" (rewrite "abs_real_rew" ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (skeep)
(("2" (skeep)
(("2" (inst - "c" )
(("2" (expand "^" )
(("2" (expand "expt" +)
(("2" (replaces -1 + :dir rl)
(("2" (rewrite "abs_mult" :dir rl)
(("2" (expand "cpow" 1 1) (("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((abs_mult formula-decl nil polar nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(nnreal_expt application-judgement "nnreal" exponentiation nil )
(nzint_abs_is_pos application-judgement "{j: posint | j >= i}"
real_defs nil )
(int_abs_is_nonneg application-judgement "{j: nonneg_int | j >= i}"
real_defs nil )
(nzrat_abs_is_pos application-judgement "{r: posrat | r >= q}"
real_defs nil )
(abs_nat formula-decl nil abs_lems "reals/" )
(abs_real_rew formula-decl nil polar nil )
(expt def-decl "real" exponentiation nil )
(nat_induction formula-decl nil naturalnumbers nil )
(^ const-decl "real" exponentiation nil )
(/= const-decl "boolean" notequal nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(cpow def-decl "complex" fundamental_algebra nil )
(abs const-decl "nnreal" polar nil )
(nnreal type-eq-decl nil real_types nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil ))
shostak))
(abs_cpow_increasing 0
(abs_cpow_increasing-1 nil 3595784734
("" (skeep)
(("" (rewrite "abs_cpow" )
(("" (rewrite "abs_cpow" )
(("" (case "abs(y)=0" )
(("1" (assert ) nil nil )
("2" (case "abs(x)=0" )
(("1" (assert )
(("1" (replaces -1)
(("1" (assert )
(("1" (expand "^" 2 1)
(("1" (expand "expt" )
(("1" (lift-if)
(("1" (ground)
(("1" (replaces -1) (("1" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (lemma "both_sides_expt_pos_ge_aux" )
(("2" (case "n = 0" )
(("1" (replaces -1)
(("1" (hide -1) (("1" (grind) nil nil )) nil )) nil )
("2" (inst - "n-1" "abs(x)" "abs(y)" )
(("1" (assert )
(("1" (expand "^" ) (("1" (assert ) nil nil )) nil ))
nil )
("2" (assert ) nil nil ) ("3" (assert ) nil nil )
("4" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((abs_cpow formula-decl nil fundamental_algebra 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 )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(complex nonempty-type-from-decl nil complex_types nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(nnreal type-eq-decl nil real_types nil )
(abs const-decl "nnreal" polar nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(both_sides_expt_pos_ge_aux formula-decl nil exponentiation nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(n skolem-const-decl "nat" fundamental_algebra nil )
(> const-decl "bool" reals nil )
(x skolem-const-decl "complex" fundamental_algebra nil )
(y skolem-const-decl "complex" fundamental_algebra nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(nat_exp application-judgement "nat" exponentiation nil )
(expt def-decl "real" exponentiation nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(nat_expt application-judgement "nat" exponentiation nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(conjugate const-decl "complex" arithmetic nil )
(nnreal_expt application-judgement "nnreal" exponentiation nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(^ const-decl "real" exponentiation nil ))
shostak))
(cpow_exp 0
(cpow_exp-1 nil 3595843810
("" (induct "n" )
(("1" (skeep)
(("1" (assert )
(("1" (rewrite "mult_0_l" )
(("1" (expand "cpow" ) (("1" (rewrite "exp_0" ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (skeep)
(("2" (assert )
(("2" (skeep)
(("2" (inst - "c" )
(("2" (assert )
(("2" (rewrite "exp_plus" )
(("2" (lemma "mult_commutes" )
(("2" (inst?)
(("2" (replace -1)
(("2" (replace -2 :dir rl)
(("2" (expand "cpow" 1 1)
(("2" (lemma "mult_commutes" )
(("2" (inst - "exp(c)" _)
(("2" (inst?) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(mult_commutes formula-decl nil fundamental_algebra nil )
(nzcomplex_times_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(exp_plus formula-decl nil exp nil )
(mult_0_l formula-decl nil fundamental_algebra nil )
(exp_0 formula-decl nil exp nil )
(nat_induction formula-decl nil naturalnumbers nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(exp const-decl "nzcomplex" exp nil )
(nzcomplex nonempty-type-eq-decl nil complex_types nil )
(/= const-decl "boolean" notequal nil )
(cpow def-decl "complex" fundamental_algebra nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil ))
shostak))
(cpow_mult 0
(cpow_mult-1 nil 3596548864
("" (induct "n" )
(("1" (grind) nil nil )
("2" (skeep)
(("2" (skeep)
(("2" (inst - "x" "y" )
(("2" (expand "cpow" +)
(("2" (replace -1 :dir rl) (("2" (propax) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nat_induction formula-decl nil naturalnumbers nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(cpow def-decl "complex" fundamental_algebra nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil ))
shostak))
(complex_continuous_sum 0
(complex_continuous_sum-1 nil 3596302109
("" (skeep)
(("" (expand "complex_continuous?" )
(("" (skeep)
(("" (inst - "x" "epsil/4" )
(("" (inst - "x" "epsil/4" )
(("" (skosimp*)
(("" (inst + "min(delta!1,delta!2)" )
(("" (skeep)
(("" (inst - "y" )
(("" (inst - "y" )
(("" (assert )
(("" (expand "cfunplus" )
(("" (lemma "abs_triangle" )
(("" (inst - "ff(x)-ff(y)" "gg(x)-gg(y)" )
(("" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((complex_continuous? const-decl "bool" fundamental_algebra nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(nzcomplex_div_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_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 )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(complex nonempty-type-from-decl nil complex_types 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 )
(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 )
(cfunplus const-decl "complex" fundamental_algebra nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(nnreal_plus_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(abs_triangle formula-decl nil polar nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(<= const-decl "bool" reals nil )
(min const-decl "{p: real | p <= m AND p <= n}" real_defs nil )
(posreal_min application-judgement
"{z: posreal | z <= x AND z <= y}" real_defs nil ))
shostak))
(complex_continuous_mult 0
(complex_continuous_mult-1 nil 3596302712
("" (skeep)
(("" (expand "complex_continuous?" )
(("" (skeep)
(("" (name "epf" "min(1/2,epsil/(8*abs(gg(x))+8))" )
(("" (name "epg" "epsil/(8*abs(ff(x))+8)" )
(("" (inst - "x" "epf" )
(("" (inst - "x" "epg" )
(("" (skolem - "def" )
(("" (skolem - "deg" )
(("" (name "delt" "min(def,deg)" )
(("" (inst + "delt" )
(("" (skeep)
(("" (inst - "y" )
(("" (inst - "y" )
((""
(assert )
((""
(expand "cfunmult" )
((""
(lemma "abs_triangle" )
((""
(inst
-
"(ff(x)-ff(y))*gg(x)"
"ff(y)*(gg(x)-gg(y))" )
((""
(invoke
(case
"%1 < epsil/2 AND %2<=epsil/2" )
(! -1 2 1)
(! -1 2 2))
(("1"
(flatten)
(("1" (assert ) nil nil ))
nil )
("2"
(hide (-1 2))
(("2"
(split)
(("1"
(rewrite "abs_mult" )
(("1"
(mult-by
-4
"abs(gg(x))" )
(("1"
(case
"epf*abs(gg(x))<=epsil/2" )
(("1"
(assert )
nil
nil )
("2"
(hide (-4 2))
(("2"
(case
"abs(gg(x)) / (8 + 8 * abs(gg(x))) <= 1/2" )
(("1"
(mult-by
-1
"epsil" )
(("1"
(assert )
(("1"
(expand
"epf" )
(("1"
(expand
"min"
1)
(("1"
(lift-if)
(("1"
(ground)
(("1"
(cross-mult
1)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(cross-mult
1)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(rewrite "abs_mult" )
(("2"
(case
"(abs(ff(x))+1)*abs((gg(x) - gg(y))) <= epsil / 2" )
(("1"
(case
"abs(ff(y))<=abs(ff(x))+1" )
(("1"
(mult-by
-1
"abs(gg(x)-gg(y))" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(hide 2)
(("2"
(case
"NOT abs(ff(x)-ff(y))<=1/2" )
(("1"
(expand "min" )
(("1"
(lift-if)
(("1"
(ground)
nil
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1 1))
(("2"
(lemma
"abs_triangle_minus" )
(("2"
(inst
-
"ff(y)"
"ff(x)" )
(("2"
(case
"ff(y)-ff(x) = -(ff(x)-ff(y))" )
(("1"
(replaces
-1)
(("1"
(rewrite
"abs_neg" )
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(hide-all-but
1)
(("2"
(lemma
"neg_times_neg" )
(("2"
(inst
-
"ff(x)-ff(y)"
"-1" )
(("2"
(assert )
(("2"
(rewrite
"mult_commutes" )
(("2"
(assert )
(("2"
(lemma
"identity_mult" )
(("2"
(inst?)
(("2"
(replaces
-1)
(("2"
(replaces
-1)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(mult-by
-5
"abs(ff(x))+1" )
(("2"
(case
"epg*(abs(ff(x))+1)<=epsil/2" )
(("1"
(assert )
nil
nil )
("2"
(hide (2 3))
(("2"
(name
"DG"
"abs(ff(x))+1" )
(("2"
(replace -1)
(("2"
(expand
"epg"
1
:assert ?
none)
(("2"
(case
"DG/(8 * abs(ff(x)) + 8) <= 1/2" )
(("1"
(mult-by
-1
"epsil" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(cross-mult
1)
(("2"
(expand
"DG"
1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((complex_continuous? const-decl "bool" fundamental_algebra nil )
(abs const-decl "nnreal" polar nil )
(nnreal type-eq-decl nil real_types nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields 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 )
(/ 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 )
(min const-decl "{p: real | p <= m AND p <= n}" real_defs nil )
(<= const-decl "bool" reals nil )
(AND const-decl "[bool, bool -> bool]" booleans 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 )
(posreal_min application-judgement
"{z: posreal | z <= x AND z <= y}" real_defs nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(nnreal_plus_posreal_is_posreal application-judgement "posreal"
real_types nil )
(posrat_div_posrat_is_posrat application-judgement "posrat"
rationals nil )
(nzcomplex_div_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(posreal_plus_nnreal_is_posreal application-judgement "posreal"
real_types nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(cfunmult const-decl "complex" fundamental_algebra nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(DG skolem-const-decl "posreal" fundamental_algebra nil )
(epg skolem-const-decl "posreal" fundamental_algebra nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(abs_triangle_minus formula-decl nil polar nil )
(minus_complex_is_complex application-judgement "complex"
complex_types nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(abs_neg formula-decl nil polar nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(minus_nzcomplex_is_nzcomplex application-judgement "nzcomplex"
complex_types nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(mult_commutes formula-decl nil fundamental_algebra nil )
(identity_mult formula-decl nil number_fields nil )
(neg_times_neg formula-decl nil number_fields_bis nil )
(abs_mult formula-decl nil polar nil )
(complex_div_nzcomplex_is_complex application-judgement "complex"
complex_types nil )
(nnreal_div_posreal_is_nnreal application-judgement "nnreal"
real_types nil )
(posreal_times_posreal_is_posreal application-judgement "posreal"
real_types nil )
(nzcomplex_times_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(times_div2 formula-decl nil number_fields_bis nil )
(div_mult_pos_gt1 formula-decl nil extra_real_props nil )
(div_mult_pos_gt2 formula-decl nil extra_real_props nil )
(epf skolem-const-decl
"{z: posreal | z <= 1/2 AND z <= epsil / (8 + 8 * abs(gg(x)))}"
fundamental_algebra nil )
(both_sides_times_pos_le1_imp formula-decl nil extra_real_props
nil )
(div_mult_pos_le1 formula-decl nil real_props nil )
(div_mult_pos_le2 formula-decl nil real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(gg skolem-const-decl "[complex -> complex]" fundamental_algebra
nil )
(x skolem-const-decl "complex" fundamental_algebra nil )
(both_sides_times_pos_lt1 formula-decl nil real_props nil )
(nnreal_plus_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(< const-decl "bool" reals nil )
(abs_triangle formula-decl nil polar nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
shostak))
(complex_continuous_cpow 0
(complex_continuous_cpow-1 nil 3596304212
("" (induct "n" )
(("1" (grind) nil nil )
("2" (skeep)
(("2" (skeep)
(("2" (inst - "c" )
(("2" (lemma "complex_continuous_mult" )
(("2" (inst - "LAMBDA (x): c*cpow(x)(j)" "LAMBDA (x): x" )
(("2" (split -)
(("1" (expand "cfunmult" )
(("1" (expand "cpow" +)
(("1" (assert )
(("1" (invoke (name "bb" "%1" ) (! 1 1))
(("1" (replace -1)
(("1" (invoke (name "ggv" "%1" ) (! -2 1))
(("1" (replace -1)
(("1"
(case "ggv = bb" )
(("1" (assert ) nil nil )
("2"
(decompose-equality)
(("2"
(expand "ggv" 1)
(("2"
(expand "bb" 1)
(("2"
(assert )
(("2"
(hide-all-but 1)
(("2"
(lemma "mult_commutes" )
(("2"
(inst?)
(("2"
(replace -1)
(("2"
(hide -)
(("2"
(lemma
"mult_commutes" )
(("2"
(inst
-
"cpow(x!1)(j)"
"x!1" )
(("2"
(assert )
(("2"
(replaces
-1
:dir
rl)
(("2"
(assert )
(("2"
(lemma
"associative_mult" )
(("2"
(inst?)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil )
("3" (hide-all-but 1)
(("3" (expand "complex_continuous?" )
(("3" (skosimp*)
(("3" (inst + "epsil!1/2" )
(("3" (skosimp*) (("3" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
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 )
(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 "boolean" notequal nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(nzcomplex_div_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(cfunmult const-decl "complex" fundamental_algebra nil )
(bb skolem-const-decl "[complex -> complex]" fundamental_algebra
nil )
(associative_mult formula-decl nil number_fields nil )
(mult_commutes formula-decl nil fundamental_algebra nil )
(ggv skolem-const-decl "[complex -> complex]" fundamental_algebra
nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(complex_continuous_mult formula-decl nil fundamental_algebra nil )
(conjugate const-decl "complex" arithmetic nil )
(abs const-decl "nnreal" polar nil )
(sqrt_0 formula-decl nil sqrt "reals/" )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(Im_is_real application-judgement "real" complex_types nil )
(nat_induction formula-decl nil naturalnumbers nil )
(cpow def-decl "complex" fundamental_algebra nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(complex_continuous? const-decl "bool" fundamental_algebra nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil ))
shostak))
(root_neg_1_def 0
(root_neg_1_def-1 nil 3595843722
("" (skeep)
(("" (expand "root_neg_1" )
(("" (lift-if)
(("" (ground)
(("1" (grind) nil nil )
("2" (rewrite "cpow_exp" )
(("2" (assert )
(("2" (lemma "exp_i_pi" )
(("2" (assert )
(("2" (case "i*pi = pn*((i*pi)/pn)" )
(("1" (assert ) nil nil )
("2" (hide-all-but 1)
(("2" (name "xy" "i*pi" )
(("2" (replace -1)
(("2" (hide -)
(("2" (rewrite "div_def" )
(("2"
(assert )
(("2"
(lemma "commutative_mult" )
(("2"
(inst - "xy" "1/pn" )
(("2"
(replace -1)
(("2"
(lemma "associative_mult" )
(("2"
(inst - "pn" "1/pn" "xy" )
(("2"
(assert )
(("2"
(replace -1)
(("2"
(case "(1/pn)*pn = 1" )
(("1"
(assert )
(("1"
(replace -1)
(("1"
(lemma
"commutative_mult" )
(("1"
(inst
-
"1"
"xy" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((root_neg_1 const-decl "complex" fundamental_algebra nil )
(complex_div_nzcomplex_is_complex application-judgement "complex"
complex_types nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(minus_nzcomplex_is_nzcomplex application-judgement "nzcomplex"
complex_types nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(cpow def-decl "complex" fundamental_algebra nil )
(div_def formula-decl nil number_fields nil )
(nzcomplex_div_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(commutative_mult formula-decl nil number_fields nil )
(nzcomplex_times_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(posrat_times_posrat_is_posrat application-judgement "posrat"
rationals nil )
(associative_mult formula-decl nil number_fields nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(exp_i_pi formula-decl nil exp nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(pi const-decl "{r: posreal | r > pi_lb AND r < pi_ub}" trig_basic
"trig/" )
(pi_ub const-decl "posreal" trig_basic "trig/" )
(< const-decl "bool" reals nil )
(pi_lb const-decl "posreal" trig_basic "trig/" )
(AND const-decl "[bool, bool -> bool]" booleans 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 )
(i const-decl "complex" complex_types 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 )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
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 )
(cpow_exp formula-decl nil fundamental_algebra nil ))
shostak))
(root_complex_TCC1 0
(root_complex_TCC1-1 nil 3595937189 ("" (subtype-tcc) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(complex nonempty-type-from-decl nil complex_types nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(> const-decl "bool" reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_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 )
(c!1 skolem-const-decl "complex" fundamental_algebra nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(odd? const-decl "bool" integers nil )
(abs const-decl "nnreal" polar nil )
(conjugate const-decl "complex" arithmetic nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(Im_is_real application-judgement "real" complex_types nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(mult_divides2 application-judgement "(divides(m))" divides nil ))
nil ))
(root_complex_TCC2 0
(root_complex_TCC2-1 nil 3595937189
("" (skeep)
(("" (case "NOT (-pi < arg(c) & arg(c) <= pi)" )
(("1" (hide 2) (("1" (assert ) (("1" (ground) nil nil )) nil )) nil )
("2" (flatten)
(("2" (assert )
(("2" (case "pn>=1" )
(("1" (mult-by -1 "pi" )
(("1" (assert )
(("1" (split)
(("1" (cross-mult 1) nil nil )
("2" (assert ) (("2" (cross-mult 1) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((arg const-decl "argrng" polar nil )
(argrng nonempty-type-eq-decl nil polar nil )
(<= const-decl "bool" reals nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(pi const-decl "{r: posreal | r > pi_lb AND r < pi_ub}" trig_basic
"trig/" )
(pi_ub const-decl "posreal" trig_basic "trig/" )
(pi_lb const-decl "posreal" trig_basic "trig/" )
(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 )
(- const-decl "[numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(< const-decl "bool" reals 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 )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil )
(minus_nzreal_is_nzreal application-judgement "nzreal" real_types
nil )
(minus_nzcomplex_is_nzcomplex application-judgement "nzcomplex"
complex_types 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_div_nzreal_is_real application-judgement "real" reals nil )
(complex_div_nzcomplex_is_complex application-judgement "complex"
complex_types nil )
(both_sides_times_pos_ge1_imp formula-decl nil extra_real_props
nil )
(nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(div_mult_pos_lt2 formula-decl nil real_props nil )
(div_mult_pos_le1 formula-decl nil real_props nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(nzcomplex_times_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(posreal_times_posreal_is_posreal application-judgement "posreal"
real_types nil )
(posnat nonempty-type-eq-decl nil integers nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil ))
nil ))
(arg_root_complex 0
(arg_root_complex-1 nil 3595946123
("" (skeep)
(("" (expand "root_complex" )
(("" (rewrite "arg_from_polar" )
(("1" (typepred "root_real(abs(c))(pn)" )
(("1" (assert )
(("1" (case "NOT abs(c) = 0" )
(("1" (assert ) nil nil )
("2" (lemma "abs_is_0" )
(("2" (inst?)
(("2" (assert )
(("2" (replaces -1)
(("2" (assert )
(("2" (expand "root_real" )
(("2" (expand "from_polar" )
(("2" (expand "arg" 4)
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (typepred "arg(c)" )
(("2" (case "pi>=pi/pn" )
(("1" (cross-mult 1) (("1" (cross-mult -1) nil nil )) nil )
("2" (assert )
(("2" (case "pn>=1" )
(("1" (mult-by -1 "pi" )
(("1" (cross-mult 1) (("1" (assert ) nil nil )) nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide 2)
(("3" (case "pi>=pi/pn" )
(("1" (assert )
(("1" (cross-mult 1) (("1" (cross-mult -1) nil nil ))
nil ))
nil )
("2" (assert )
(("2" (case "pn>=1" )
(("1" (mult-by -1 "pi" )
(("1" (cross-mult 1) (("1" (assert ) nil nil )) nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((root_complex const-decl "complex" fundamental_algebra nil )
(div_mult_pos_le1 formula-decl nil real_props nil )
(nzcomplex_div_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(div_mult_pos_ge2 formula-decl nil real_props nil )
(posreal_times_posreal_is_posreal application-judgement "posreal"
real_types nil )
(nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(nzcomplex_times_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(div_mult_pos_lt2 formula-decl nil real_props nil )
(both_sides_times_pos_ge1_imp formula-decl nil extra_real_props
nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(nat_exp application-judgement "nat" exponentiation nil )
(nnrat_div_posrat_is_nnrat application-judgement "nonneg_rat"
rationals nil )
(from_polar const-decl "complex" polar nil )
(abs_is_0 formula-decl nil polar 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 )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(minus_nzcomplex_is_nzcomplex application-judgement "nzcomplex"
complex_types nil )
(minus_nzreal_is_nzreal application-judgement "nzreal" real_types
nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(arg const-decl "argrng" polar nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(argrng nonempty-type-eq-decl nil polar nil )
(pi const-decl "{r: posreal | r > pi_lb AND r < pi_ub}" trig_basic
"trig/" )
(pi_ub const-decl "posreal" trig_basic "trig/" )
(pi_lb const-decl "posreal" trig_basic "trig/" )
(posreal nonempty-type-eq-decl nil real_types nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(abs const-decl "nnreal" polar nil )
(nnreal type-eq-decl nil real_types nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(root_real const-decl "{x |
(x = 0 IFF r = 0) AND (x > 0 IFF r > 0) AND (x < 0 IFF r < 0)
AND (x >= 0 IFF r >= 0) AND (x <= 0 IFF r <= 0) AND x ^ n = r}"
root "reals/" )
(^ const-decl "real" exponentiation nil )
(/= const-decl "boolean" notequal nil )
(<= const-decl "bool" reals nil ) (< const-decl "bool" reals nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(odd? const-decl "bool" integers nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(arg_from_polar formula-decl nil polar nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(complex_div_nzcomplex_is_complex application-judgement "complex"
complex_types nil ))
shostak))
(abs_root_complex 0
(abs_root_complex-1 nil 3595938884
("" (skeep)
(("" (expand "root_complex" )
(("" (invoke (name "RR" "%1" ) (! 1 1 1 1))
(("" (replace -1)
(("" (expand "from_polar" )
(("" (rewrite "abs_rewrite" )
(("" (lemma "mult_expt_pos" )
(("" (inst-cp - "2" "sin(arg(c)/pn)" "RR" )
(("" (inst - "2" "cos(arg(c)/pn)" "RR" )
(("" (replaces -1)
(("" (replaces -1)
(("" (assert )
(("" (lemma "sqrt_times" )
((""
(inst - "RR^2"
"cos(arg(c) / pn) ^ 2 + sin(arg(c) / pn) ^ 2" )
(("1"
(assert )
(("1"
(replace -1)
(("1"
(hide -1)
(("1"
(lemma "sqrt_sq" )
(("1"
(inst - "RR" )
(("1"
(assert )
(("1"
(split -)
(("1"
(expand "sq" )
(("1"
(expand "^" 1 1)
(("1"
(expand "expt" )
(("1"
(expand "expt" )
(("1"
(expand "expt" )
(("1"
(replaces -1)
(("1"
(assert )
(("1"
(lemma
"sin2_cos2" )
(("1"
(inst?)
(("1"
(expand
"^" )
(("1"
(expand
"expt" )
(("1"
(expand
"expt" )
(("1"
(expand
"expt" )
(("1"
(expand
"sq"
-1)
(("1"
(replace
-1)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(typepred "RR" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(lemma "sin2_cos2" )
(("2"
(inst?)
(("2"
(expand "^" )
(("2"
(expand "expt" )
(("2"
(expand "expt" )
(("2"
(expand "expt" )
(("2"
(expand "sq" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but 1)
(("3"
(case "RR>=0" )
(("1"
(lemma
"nnreal_times_nnreal_is_nnreal" )
(("1"
(inst - "RR" "RR" )
(("1" (grind) nil nil ))
nil ))
nil )
("2"
(lemma
"nnreal_times_nnreal_is_nnreal" )
(("2"
(inst - "-RR" "-RR" )
(("1" (grind) nil nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((root_complex const-decl "complex" fundamental_algebra nil )
(complex_div_nzcomplex_is_complex application-judgement "complex"
complex_types nil )
(abs_rewrite formula-decl nil fundamental_algebra nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(cos const-decl "real" trig_basic "trig/" )
(nznum nonempty-type-eq-decl nil number_fields nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(pi_lb const-decl "posreal" trig_basic "trig/" )
(pi_ub const-decl "posreal" trig_basic "trig/" )
(pi const-decl "{r: posreal | r > pi_lb AND r < pi_ub}" trig_basic
"trig/" )
(argrng nonempty-type-eq-decl nil polar nil )
(arg const-decl "argrng" polar nil )
(sin const-decl "real" trig_basic "trig/" )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(c skolem-const-decl "complex" fundamental_algebra nil )
(pn skolem-const-decl "posnat" fundamental_algebra nil )
(RR skolem-const-decl "{x |
(x = 0 IFF abs(c) = 0) AND (x > 0 IFF abs(c) > 0)
AND (x < 0 IFF abs(c) < 0) AND (x >= 0 IFF abs(c) >= 0)
AND (x <= 0 IFF abs(c) <= 0) AND x ^ pn = abs(c)}"
fundamental_algebra nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(sqrt_sq formula-decl nil sqrt "reals/" )
(NOT const-decl "[bool -> bool]" booleans nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(sq const-decl "nonneg_real" sq "reals/" )
(expt def-decl "real" exponentiation nil )
(sqrt_pos application-judgement "posreal" sqrt "reals/" )
(sqrt_1 formula-decl nil sqrt "reals/" )
(sin2_cos2 formula-decl nil trig_basic "trig/" )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(nnreal_times_nnreal_is_nnreal judgement-tcc nil real_types nil )
(minus_real_is_real application-judgement "real" reals nil )
(minus_complex_is_complex application-judgement "complex"
complex_types nil )
(sqrt_times formula-decl nil sqrt "reals/" )
(mult_expt_pos formula-decl nil root "reals/" )
(from_polar const-decl "complex" polar nil )
(cos_range application-judgement "trig_range" trig_basic "trig/" )
(real_times_real_is_real application-judgement "real" reals nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(sin_range application-judgement "trig_range" trig_basic "trig/" )
(abs const-decl "nnreal" polar nil )
(nnreal type-eq-decl nil real_types nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(root_real const-decl "{x |
(x = 0 IFF r = 0) AND (x > 0 IFF r > 0) AND (x < 0 IFF r < 0)
AND (x >= 0 IFF r >= 0) AND (x <= 0 IFF r <= 0) AND x ^ n = r}"
root "reals/" )
(^ const-decl "real" exponentiation nil )
(/= const-decl "boolean" notequal nil )
(<= const-decl "bool" reals nil ) (< const-decl "bool" reals nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(odd? const-decl "bool" integers nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil ))
shostak))
(root_complex_def 0
(root_complex_def-1 nil 3595938557
("" (skeep)
(("" (invoke (name "cp" "%1" ) (! 1 1))
(("" (case "abs(cp)=abs(c) AND arg(cp) = arg(c)" )
(("1" (flatten)
(("1" (assert )
(("1" (replace -3)
(("1" (case "cp = 0 OR c = 0" )
(("1" (split -)
(("1" (replaces -1)
(("1" (lemma "abs_is_0" )
(("1" (inst-cp - "0" )
(("1" (assert )
(("1" (replace -2)
(("1" (inst - "c" ) (("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (replace -1)
(("2" (lemma "abs_is_0" )
(("2" (inst-cp - "0" )
(("2" (assert )
(("2" (inst - "cp" ) (("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (flatten)
(("2" (assert )
(("2" (lemma "idempotent_polar" )
(("2" (inst-cp - "cp" )
(("2" (inst - "c" )
(("2" (hide -5)
(("2" (replace -1 3)
(("2"
(replace -2 3)
(("2"
(expand "polar" +)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but 1)
(("2" (split)
(("1" (expand "cp" )
(("1" (rewrite "abs_cpow" )
(("1" (rewrite "abs_root_complex" )
(("1" (assert ) nil nil )) nil ))
nil ))
nil )
("2" (expand "cp" )
(("2" (rewrite "arg_cpow" )
(("1" (rewrite "arg_root_complex" )
(("1" (assert ) nil nil )) nil )
("2" (hide 2)
(("2" (rewrite "arg_root_complex" )
(("2" (assert ) nil nil )) nil ))
nil )
("3" (hide 2)
(("3" (rewrite "arg_root_complex" )
(("3" (assert ) nil nil )) nil ))
nil ))
nil ))
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 )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(complex nonempty-type-from-decl nil complex_types nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(cpow def-decl "complex" fundamental_algebra nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(root_complex const-decl "complex" fundamental_algebra nil )
(arg_root_complex formula-decl nil fundamental_algebra nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(complex_div_nzcomplex_is_complex application-judgement "complex"
complex_types nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(minus_nzcomplex_is_nzcomplex application-judgement "nzcomplex"
complex_types nil )
(minus_nzreal_is_nzreal application-judgement "nzreal" real_types
nil )
(real_times_real_is_real application-judgement "real" reals nil )
(arg_cpow formula-decl nil fundamental_algebra nil )
(cp skolem-const-decl "complex" fundamental_algebra nil )
(abs_root_complex formula-decl nil fundamental_algebra nil )
(nnreal_exp application-judgement "nnreal" exponentiation nil )
(abs_cpow formula-decl nil fundamental_algebra nil )
(idempotent_polar formula-decl nil polar nil )
(polar const-decl "[nnreal, argrng]" polar nil )
(/= const-decl "boolean" notequal nil )
(nzcomplex nonempty-type-eq-decl nil complex_types nil )
(abs_is_0 formula-decl nil polar nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(nnreal type-eq-decl nil real_types nil )
(abs const-decl "nnreal" polar nil ) (< const-decl "bool" reals nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(pi_lb const-decl "posreal" trig_basic "trig/" )
(pi_ub const-decl "posreal" trig_basic "trig/" )
(pi const-decl "{r: posreal | r > pi_lb AND r < pi_ub}" trig_basic
"trig/" )
(<= const-decl "bool" reals nil )
(argrng nonempty-type-eq-decl nil polar nil )
(arg const-decl "argrng" polar nil ))
shostak))
(csigma_plus 0
(csigma_plus-1 nil 3596276275
("" (induct "n" )
(("1" (grind) nil nil )
("2" (skeep)
(("2" (assert )
(("2" (skeep)
(("2" (inst - "a" "b" )
(("2" (assert )
(("2" (expand "csigma" +)
(("2" (expand "+" ) (("2" (propax) nil nil )) nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(nat_induction formula-decl nil naturalnumbers nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(+ const-decl "complex" fundamental_algebra nil )
(csigma def-decl "complex" fundamental_algebra nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil ))
shostak))
(csigma_scal_right 0
(csigma_scal_right-1 nil 3596276537
("" (induct "n" )
(("1" (grind)
(("1" (lemma "mult_commutes" ) (("1" (inst?) nil nil )) nil )) nil )
("2" (skeep)
(("2" (skeep)
(("2" (inst - "a" "c" )
(("2" (expand "csigma" +)
(("2" (assert )
(("2" (replace -1)
(("2" (assert )
(("2" (lemma "mult_commutes" )
(("2" (inst - "a(1+j)" "c" )
(("2" (assert )
(("2" (hide -2) (("2" (grind) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(mult_commutes formula-decl nil fundamental_algebra nil )
(nat_induction formula-decl nil naturalnumbers nil )
(* const-decl "complex" fundamental_algebra nil )
(csigma def-decl "complex" fundamental_algebra nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil ))
shostak))
(csigma_eq 0
(csigma_eq-1 nil 3596284104
("" (induct "n" )
(("1" (skeep) (("1" (grind) nil nil )) nil )
("2" (skeep)
(("2" (skeep)
(("2" (inst - "a" "b" )
(("2" (split)
(("1" (expand "csigma" +)
(("1" (inst - "1+j" ) (("1" (assert ) nil nil )) nil )) nil )
("2" (skosimp*)
(("2" (inst - "i!1" ) (("2" (assert ) nil nil )) nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(nat_induction formula-decl nil naturalnumbers nil )
(csigma def-decl "complex" fundamental_algebra nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(<= const-decl "bool" reals nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil ))
shostak))
(csigma_real_triangle_TCC1 0
(csigma_real_triangle_TCC1-1 nil 3596480257
("" (subtype-tcc) nil nil )
((real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
nil ))
(csigma_real_triangle_TCC2 0
(csigma_real_triangle_TCC2-1 nil 3596480257
("" (subtype-tcc) nil nil ) nil nil ))
(csigma_real_triangle_TCC3 0
(csigma_real_triangle_TCC3-1 nil 3596480257
("" (assuming-tcc) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(>= const-decl "bool" reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(integer nonempty-type-from-decl nil integers 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 ))
nil ))
(csigma_real_triangle 0
(csigma_real_triangle-1 nil 3596480258
("" (induct "n" )
(("1" (skeep) (("1" (grind) nil nil )) nil )
("2" (skeep)
(("2" (skeep)
(("2" (inst - "a" )
(("2" (assert )
(("2" (expand "csigma" + 1)
(("2" (expand "sigma" 1)
(("2" (lemma "abs_triangle" )
(("2" (inst - "a(1+j)" "csigma(a,j)" )
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((abs_triangle formula-decl nil polar nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(sigma_nnreal application-judgement "nnreal" sigma "reals/" )
(Im_is_real application-judgement "real" complex_types nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(nnreal_plus_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(conjugate const-decl "complex" arithmetic nil )
(nat_induction formula-decl nil naturalnumbers nil )
(sigma def-decl "real" sigma "reals/" )
(T_high type-eq-decl nil sigma "reals/" )
(T_low type-eq-decl nil sigma "reals/" )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(csigma def-decl "complex" fundamental_algebra nil )
(abs const-decl "nnreal" polar nil )
(nnreal type-eq-decl nil real_types nil )
(<= const-decl "bool" reals nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
shostak))
(cpolynomial_rec 0
(cpolynomial_rec-1 nil 3596279744
("" (skeep)
(("" (expand "cpolynomial" )
(("" (expand "csigma" + 1)
(("" (expand "*" ) (("" (propax) nil nil )) nil )) nil ))
nil ))
nil )
((cpolynomial const-decl "complex" fundamental_algebra nil )
(* const-decl "complex" fundamental_algebra nil )
(csigma def-decl "complex" fundamental_algebra nil ))
shostak))
(cpolynomial_struct_rec 0
(cpolynomial_struct_rec-1 nil 3596298936
("" (induct "n" )
(("1" (grind) nil nil )
("2" (skeep)
(("2" (skeep)
(("2" (inst - "a" "c" )
(("2" (assert )
(("2" (expand "cpolynomial" +)
(("2" (expand "csigma" +)
(("2" (expand "*" )
(("2" (assert )
(("2" (expand "cpolynomial" )
(("2" (expand "*" )
(("2" (replace -1)
(("2" (assert )
(("2" (expand "cpow" 1 1)
(("2"
(assert )
(("2"
(hide -)
(("2"
(grind :exclude "cpow" )
(("2"
(lemma "mult_commutes" )
(("2"
(inst - "c" "cpow(c)(1+j)" )
(("2"
(replaces -1)
(("2"
(assert )
(("2"
(lemma
"associative_mult" )
(("2"
(inst?)
(("2"
(replaces -1)
(("2"
(lemma
"mult_commutes" )
(("2"
(inst
-
"cpow(c)(1+j)"
"a(2+j)" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((mult_commutes formula-decl nil fundamental_algebra nil )
(associative_mult formula-decl nil number_fields nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(cpow def-decl "complex" fundamental_algebra nil )
(* const-decl "complex" fundamental_algebra nil )
(csigma def-decl "complex" fundamental_algebra nil )
(nat_induction formula-decl nil naturalnumbers nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(cpolynomial const-decl "complex" fundamental_algebra nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil ))
shostak))
(cpolynomial_add 0
(cpolynomial_add-2 nil 3596295385
("" (skeep)
(("" (decompose-equality)
(("" (expand "cfunplus" )
(("" (expand "cpolynomial" )
(("" (rewrite "csigma_plus" :dir rl)
(("" (invoke (case "%1 = %2" ) (! 1 1 1) (! 1 2 1))
(("1" (assert ) nil nil )
("2" (hide 2)
(("2" (decompose-equality)
(("2" (expand "+" )
(("2" (expand "*" )
(("2" (assert )
(("2" (lemma "mult_commutes" )
(("2" (inst-cp - "a(x!2)" _)
(("2" (inst? -2)
(("2"
(inst - "b(x!2)" _)
(("2"
(inst?)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(cpolynomial const-decl "complex" fundamental_algebra nil )
(+ const-decl "complex" fundamental_algebra nil )
(cfunplus const-decl "complex" fundamental_algebra nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
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 )
(= const-decl "[T, T -> boolean]" equalities nil )
(mult_commutes formula-decl nil fundamental_algebra nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(cpow def-decl "complex" fundamental_algebra nil )
(* const-decl "complex" fundamental_algebra nil )
(csigma_plus formula-decl nil fundamental_algebra nil ))
nil )
(cpolynomial_add-1 nil 3596280076
("" (skeep)
(("" (decompose-equality)
(("" (expand "+" )
(("" (expand "cpolynomial" )
(("" (rewrite "csigma_plus" :dir rl)
(("" (invoke (case "%1 = %2" ) (! 1 1 1) (! 1 2 1))
(("1" (assert ) nil nil )
("2" (hide 2)
(("2" (decompose-equality)
(("2" (expand "+" )
(("2" (expand "*" )
(("2" (assert )
(("2" (lemma "mult_commutes" )
(("2" (inst-cp - "a(x!2)" _)
(("2" (inst? -2)
(("2"
(inst - "b(x!2)" _)
(("2"
(inst?)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(cpolynomial const-decl "complex" fundamental_algebra nil )
(+ const-decl "complex" fundamental_algebra nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
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 )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(mult_commutes formula-decl nil fundamental_algebra nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(cpow def-decl "complex" fundamental_algebra nil )
(csigma_plus formula-decl nil fundamental_algebra nil ))
shostak))
(cpolynomial_eq_le_degree 0
(cpolynomial_eq_le_degree-1 nil 3596283379
("" (induct "n" )
(("1" (grind) (("1" (decompose-equality) nil nil )) nil )
("2" (skeep)
(("2" (skeep)
(("2" (inst - "a" "b" )
(("2" (assert )
(("2" (split -)
(("1" (expand "cpolynomial" +)
(("1" (decompose-equality +)
(("1" (expand "cpolynomial" -1)
(("1" (decompose-equality -1)
(("1" (inst - "x!1" )
(("1" (expand "csigma" +)
(("1" (assert )
(("1" (replaces -1)
(("1"
(assert )
(("1"
(expand "*" )
(("1"
(inst - "1+j" )
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (skeep)
(("2" (inst - "i!1" ) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(csigma def-decl "complex" fundamental_algebra nil )
(* const-decl "complex" fundamental_algebra nil )
(cpow def-decl "complex" fundamental_algebra nil )
(nat_induction formula-decl nil naturalnumbers nil )
(cpolynomial const-decl "complex" fundamental_algebra nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(<= const-decl "bool" reals nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil ))
shostak))
(complex_continuous_cpolynomial 0
(complex_continuous_cpolynomial-1 nil 3596304706
("" (induct "n" )
(("1" (grind) nil nil )
("2" (skeep)
(("2" (assert )
(("2" (skeep)
(("2" (inst - "a" )
(("2" (lemma "complex_continuous_sum" )
(("2"
(inst - "cpolynomial(a,j)"
"LAMBDA (x): a(1+j)*cpow(x)(1+j)" )
(("2" (assert )
(("2" (split -)
(("1" (invoke (case "%1 = %2" ) (! -1 1) (! 1 1))
(("1" (assert ) nil nil )
("2" (hide-all-but 1)
(("2" (decompose-equality)
(("2" (expand "cfunplus" )
(("2" (lemma "cpolynomial_rec" )
(("2"
(inst - "a" "x!1" "j" )
(("2" (replaces -1) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but 1)
(("2" (lemma "complex_continuous_cpow" )
(("2" (inst?) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((complex_continuous_sum formula-decl nil fundamental_algebra nil )
(complex_continuous_cpow formula-decl nil fundamental_algebra nil )
(cfunplus const-decl "complex" fundamental_algebra nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(cpolynomial_rec formula-decl nil fundamental_algebra nil )
(int_minus_int_is_int application-judgement "int" integers 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 )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(conjugate const-decl "complex" arithmetic nil )
(abs const-decl "nnreal" polar nil )
(cpow def-decl "complex" fundamental_algebra nil )
(* const-decl "complex" fundamental_algebra nil )
(csigma def-decl "complex" fundamental_algebra nil )
(sqrt_0 formula-decl nil sqrt "reals/" )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(Im_is_real application-judgement "real" complex_types nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(nat_induction formula-decl nil naturalnumbers nil )
(cpolynomial const-decl "complex" fundamental_algebra nil )
(complex_continuous? const-decl "bool" fundamental_algebra nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil ))
shostak))
(complex_binomial_theorem_TCC1 0
(complex_binomial_theorem_TCC1-1 nil 3596275404
("" (subtype-tcc) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(>= const-decl "bool" reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types 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 ))
nil ))
(complex_binomial_theorem 0
(complex_binomial_theorem-1 nil 3596275408
("" (induct "n" )
(("1" (grind) nil nil )
("2" (skolem 1 "n" )
(("2" (flatten)
(("2" (skeep)
(("2" (inst - "x" "y" )
(("2" (invoke (name "GG" "%1" ) (! 1 2 1))
(("1" (replace -1)
(("1" (invoke (name "HH" "%1" ) (! -2 2 1))
(("1" (replace -1)
(("1" (expand "cpow" +)
(("1"
(case "cpow(x+y)(n)*y = csigma(LAMBDA (i:nat): IF i>n THEN 0 ELSE C(n,i)*cpow(x)(i)*cpow(y)(n-i+1) ENDIF,n+1)" )
(("1" (invoke (name "bb" "%1" ) (! -1 2 1))
(("1" (replace -1)
(("1"
(case "cpow(x+y)(n) *x = csigma(LAMBDA (i:nat): IF i = 0 OR i>n+1 THEN 0 ELSE C(n,i-1)*cpow(x)(i)*cpow(y)(n-i+1) ENDIF,n+1)" )
(("1"
(invoke (name "aa" "%1" ) (! -1 2 1))
(("1"
(replace -1)
(("1"
(replace -2)
(("1"
(replace -4)
(("1"
(rewrite "csigma_plus" :dir rl)
(("1"
(case "aa+bb = GG" )
(("1" (assert ) nil nil )
("2"
(hide-all-but 1)
(("2"
(decompose-equality)
(("1"
(expand "aa" )
(("1"
(expand "+" )
(("1"
(expand "bb" )
(("1"
(lift-if)
(("1"
(lift-if)
(("1"
(lift-if)
(("1"
(expand
"GG" )
(("1"
(lift-if)
(("1"
(assert )
(("1"
(split)
(("1"
(flatten)
(("1"
(split
-)
(("1"
(replaces
-1)
(("1"
(assert )
(("1"
(lemma
"C_0" )
(("1"
(inst-cp
-
"n" )
(("1"
(inst
-
"1+n" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(flatten)
(("2"
(split
+)
(("1"
(flatten)
(("1"
(assert )
(("1"
(case
"NOT x!1=1+n" )
(("1"
(assert )
nil
nil )
("2"
(replace
-1)
(("2"
(assert )
(("2"
(lemma
"C_n" )
(("2"
(inst-cp
-
"n" )
(("2"
(inst
-
"1+n" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(flatten)
(("2"
(assert )
(("2"
(lemma
"C_n_plus_1" )
(("2"
(inst
-
"n"
"x!1" )
(("2"
(assert )
(("2"
(replaces
-1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skeep)
(("2"
(expand "GG" )
(("2"
(ground)
(("2"
(grind)
(("2"
(lemma
"real_complex" )
(("2"
(inst?)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skosimp*)
(("2" (assert ) nil nil ))
nil )
("3"
(skosimp*)
(("3" (assert ) nil nil ))
nil ))
nil )
("2"
(replace -5 +)
(("2"
(hide-all-but 1)
(("2"
(invoke (name "aa" "%1" ) (! 1 2 1))
(("1"
(rewrite "csigma_scal_right" )
(("1"
(replace -1)
(("1"
(case
"FORALL (kk:nat): kk<=n IMPLIES csigma(x*HH,kk) = csigma(aa,kk+1)" )
(("1"
(inst - "n" )
(("1" (assert ) nil nil ))
nil )
("2"
(hide-all-but 1)
(("2"
(induct "kk" )
(("1"
(expand "aa" )
(("1"
(expand "HH" )
(("1"
(grind)
(("1"
(lemma
"mult_commutes" )
(("1"
(inst?)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skeep)
(("2"
(assert )
(("2"
(expand "csigma" +)
(("2"
(case
"x*HH(1+j) = aa(2+j)" )
(("1"
(assert )
(("1"
(replace -2)
(("1"
(assert )
(("1"
(hide -2)
(("1"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide (-1 2))
(("2"
(expand "HH" )
(("2"
(expand
"aa" )
(("2"
(assert )
(("2"
(expand
"cpow"
+
3)
(("2"
(assert )
(("2"
(lemma
"mult_commutes" )
(("2"
(inst?)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide 2)
(("3"
(skeep)
(("3"
(skeep)
(("3"
(expand "aa" )
(("3"
(grind)
(("1"
(lemma
"real_complex" )
(("1"
(inst?)
nil
nil ))
nil )
("2"
(lemma
"real_complex" )
(("2"
(inst?)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("4"
(hide 2)
(("4"
(skosimp*)
(("4"
(expand "HH" )
(("4"
(grind)
(("4"
(lemma
"real_complex" )
(("4"
(inst?)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(hide 2)
(("2"
(skosimp*)
(("2" (ground) nil nil ))
nil ))
nil ))
nil )
("3"
(hide 2)
(("3"
(skosimp*)
(("3" (ground) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide 2)
(("3"
(skosimp*)
(("3" (ground) nil nil ))
nil ))
nil )
("4"
(hide 2)
(("4"
(skosimp*)
(("4" (ground) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (skosimp*) (("2" (ground) nil nil ))
nil ))
nil ))
nil )
("2" (replace -3)
(("2" (hide-all-but 1)
(("2" (invoke (name "aa" "%1" ) (! 1 2 1))
(("1"
(replace -1)
(("1"
(rewrite "csigma_scal_right" )
(("1"
(case "y*HH = aa" )
(("1"
(replaces -1)
(("1"
(expand "csigma" + 2)
(("1"
(expand "aa" )
(("1" (propax) nil nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but 1)
(("2"
(decompose-equality)
(("1"
(expand "*" )
(("1"
(expand "HH" )
(("1"
(expand "aa" )
(("1"
(lift-if)
(("1"
(lift-if)
(("1"
(lift-if)
(("1"
(assert )
(("1"
(ground)
(("1"
(expand
"cpow"
+
4)
(("1"
(assert )
(("1"
(lemma
"mult_commutes" )
(("1"
(inst
-
"y"
_)
(("1"
(inst?)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skeep)
(("2"
(expand "aa" )
(("2"
(grind)
(("2"
(lemma "real_complex" )
(("2" (inst?) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skosimp*)
(("2" (ground) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide 2)
(("3" (skosimp*) (("3" (ground) nil nil ))
nil ))
nil )
("4" (hide 2)
(("4" (skosimp*) (("4" (ground) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (skosimp*) (("2" (ground) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (skosimp*) (("2" (ground) nil nil )) nil )) nil )
("3" (hide 2) (("3" (skosimp*) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (ground)
(("3" (hide 2) (("3" (skosimp*) (("3" (ground) nil nil )) nil ))
nil ))
nil ))
nil )
((nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(aa skolem-const-decl "[nat -> numfield]" fundamental_algebra nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(+ const-decl "complex" fundamental_algebra nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(GG skolem-const-decl "[nat -> numfield]" fundamental_algebra nil )
(C_0 formula-decl nil binomial "reals/" )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(C_n formula-decl nil binomial "reals/" )
(C_n_plus_1 formula-decl nil binomial "reals/" )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(bb skolem-const-decl "[nat -> numfield]" fundamental_algebra nil )
(aa skolem-const-decl "[nat -> numfield]" fundamental_algebra nil )
(real_complex formula-decl nil complex_types nil )
(csigma_plus formula-decl nil fundamental_algebra nil )
(csigma_scal_right formula-decl nil fundamental_algebra nil )
(* const-decl "complex" fundamental_algebra nil )
(n skolem-const-decl "nat" fundamental_algebra nil )
(HH skolem-const-decl "[nat -> numfield]" fundamental_algebra nil )
(aa skolem-const-decl "[nat -> numfield]" fundamental_algebra nil )
(mult_commutes formula-decl nil fundamental_algebra nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(/= const-decl "boolean" notequal nil )
(nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(nzcomplex_div_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(posint_times_posint_is_posint application-judgement "posint"
integers nil )
(nzcomplex_times_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(posrat_div_posrat_is_posrat application-judgement "posrat"
rationals nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(factorial def-decl "posnat" factorial "ints/" )
(nat_induction formula-decl nil naturalnumbers nil )
(C const-decl "posnat" binomial "reals/" )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(csigma def-decl "complex" fundamental_algebra nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(cpow def-decl "complex" fundamental_algebra nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(pred type-eq-decl nil defined_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 )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(<= const-decl "bool" reals nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil ))
shostak))
(complex_poly_shift 0
(complex_poly_shift-1 nil 3596279227
("" (induct "n" )
(("1" (skeep) (("1" (inst + "a" ) (("1" (grind) nil nil )) nil )) nil )
("2" (skolem 1 "n" )
(("2" (assert )
(("2" (flatten)
(("2" (skeep)
(("2" (inst - "a" "c" )
(("2" (skolem - "bstar" )
(("2" (flatten)
(("2"
(name "g"
"LaMBDa (i:nat): IF i>n THEN 0 ELSE bstar(i) ENDIF" )
(("2"
(name "GG"
"LAMBDA (i:nat): IF i<=1+n THEN C(n+1,i)*cpow(c)(n+1-i) ELSE 0 ENDIF" )
(("1" (name "bb" "(a(1+n)*GG)+g" )
(("1" (inst + "bb" )
(("1" (split +)
(("1" (expand "bb" 1)
(("1"
(expand "+" 1)
(("1"
(expand "*" 1)
(("1"
(expand "GG" 1)
(("1"
(assert )
(("1"
(case "NOT g(0) = bstar(0)" )
(("1"
(expand "g" 1)
(("1" (propax) nil nil ))
nil )
("2"
(replaces -1)
(("2"
(lemma "C_0" )
(("2"
(inst?)
(("2"
(replaces -1)
(("2"
(rewrite
"cpolynomial_rec"
+)
(("2"
(assert )
(("2"
(replace
-4
+
:dir
rl)
(("2"
(lemma
"mult_commutes" )
(("2"
(inst?)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case "FORALL (x): cpolynomial(a, 1 + n)(x+c) = cpolynomial(bb, 1 + n)(x)" )
(("1"
(skeep)
(("1"
(inst - "x-c" )
(("1" (assert ) nil nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skeep)
(("2"
(expand "bb" +)
(("2"
(rewrite "cpolynomial_add" )
(("2"
(rewrite "cpolynomial_rec" 1)
(("2"
(inst -5 "x+c" )
(("2"
(replace -5 1)
(("2"
(assert )
(("2"
(lemma
"cpolynomial_rec" )
(("2"
(inst - "g" "x" "n" )
(("2"
(expand
"cfunplus"
1)
(("2"
(replace -1 +)
(("2"
(assert )
(("2"
(lemma
"cpolynomial_eq_le_degree" )
(("2"
(inst
-
"bstar"
"g"
"n" )
(("2"
(assert )
(("2"
(split
-)
(("1"
(replaces
-1)
(("1"
(assert )
(("1"
(case
"NOT g(1+n) = 0" )
(("1"
(expand
"g"
1)
(("1"
(propax)
nil
nil ))
nil )
("2"
(replaces
-1)
(("2"
(assert )
(("2"
(expand
"cpolynomial"
+)
(("2"
(lemma
"csigma_scal_right" )
(("2"
(inst
-
"GG*cpow(x)"
"a(1+n)"
"1+n" )
(("2"
(case
"NOT a(1 + n) * (GG * cpow(x)) = (a(1 + n) * GG) * cpow(x)" )
(("1"
(assert )
(("1"
(decompose-equality
+)
(("1"
(expand
"*" )
(("1"
(assert )
(("1"
(lemma
"mult_commutes" )
(("1"
(inst
-
"a(1+n)"
_)
(("1"
(inst?)
(("1"
(assert )
nil
nil )
("2"
(assert )
(("2"
(hide-all-but
1)
(("2"
(expand
"GG" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replaces
-1
:dir
rl)
(("2"
(replaces
-1
:dir
rl)
(("2"
(case
"cpow(c + x)(1 + n) = csigma(GG * cpow(x), 1 + n) " )
(("1"
(assert )
(("1"
(replaces
-1)
(("1"
(lemma
"mult_commutes" )
(("1"
(inst?)
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide
2)
(("2"
(lemma
"complex_binomial_theorem" )
(("2"
(inst
-
"1+n"
"x"
"c" )
(("2"
(replaces
-1)
(("2"
(assert )
(("2"
(lemma
"csigma_eq" )
(("2"
(inst?)
(("1"
(assert )
(("1"
(hide
2)
(("1"
(skosimp*)
(("1"
(lift-if)
(("1"
(ground)
(("1"
(expand
"*"
+)
(("1"
(expand
"GG"
+)
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
2)
(("2"
(skosimp*)
(("2"
(ground)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
2)
(("2"
(skosimp*)
(("2"
(ground)
(("2"
(expand
"g"
1)
(("2"
(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 )
("2" (hide 2)
(("2" (skosimp*)
(("2" (expand "g" 1)
(("2"
(grind)
(("2"
(rewrite "real_complex" )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide 2)
(("3" (hide -)
(("3" (expand "GG" )
(("3"
(grind)
(("3"
(rewrite "real_complex" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (skosimp*) (("2" (ground) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(<= const-decl "bool" reals nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(C const-decl "posnat" binomial "reals/" )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(posrat_div_posrat_is_posrat application-judgement "posrat"
rationals nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(real_complex formula-decl nil complex_types nil )
(nzcomplex_div_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(cpolynomial_add formula-decl nil fundamental_algebra nil )
(cpolynomial_eq_le_degree formula-decl nil fundamental_algebra nil )
(csigma_scal_right formula-decl nil fundamental_algebra nil )
(posint_times_posint_is_posint application-judgement "posint"
integers nil )
(nzcomplex_times_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(factorial def-decl "posnat" factorial "ints/" )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(x skolem-const-decl "complex" fundamental_algebra nil )
(x!1 skolem-const-decl "nat" fundamental_algebra nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(n skolem-const-decl "nat" fundamental_algebra nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(csigma_eq formula-decl nil fundamental_algebra nil )
(complex_binomial_theorem formula-decl nil fundamental_algebra nil )
(cfunplus const-decl "complex" fundamental_algebra nil )
(bb skolem-const-decl "[nat -> complex]" fundamental_algebra nil )
(cpolynomial_rec formula-decl nil fundamental_algebra nil )
(mult_commutes formula-decl nil fundamental_algebra nil )
(C_0 formula-decl nil binomial "reals/" )
(g skolem-const-decl "[nat -> number_field]" fundamental_algebra
nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(GG skolem-const-decl "[nat -> numfield]" fundamental_algebra nil )
(* const-decl "complex" fundamental_algebra nil )
(+ const-decl "complex" fundamental_algebra nil )
(> const-decl "bool" reals nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(csigma def-decl "complex" fundamental_algebra nil )
(* const-decl "complex" fundamental_algebra nil )
(cpow def-decl "complex" fundamental_algebra nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(nat_induction formula-decl nil naturalnumbers nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(cpolynomial const-decl "complex" fundamental_algebra nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil ))
shostak))
(cpolynomial_limit_infinity 0
(cpolynomial_limit_infinity-3 nil 3596298772
("" (induct "n" )
(("1" (skeep) (("1" (inst + "1" ) (("1" (grind) nil nil )) nil )) nil )
("2" (skolem 1 "n" )
(("2" (flatten)
(("2" (assert )
(("2" (skeep)
(("2" (label "hyp1" -1)
(("2" (copy -1)
(("2" (hide "hyp1" )
(("2" (case "n = 0" )
(("1" (replaces -1)
(("1" (hide -1)
(("1" (assert )
(("1" (expand "cpolynomial" )
(("1" (expand "csigma" )
(("1"
(expand "csigma" )
(("1"
(expand "*" )
(("1"
(expand "cpow" )
(("1"
(expand "cpow" )
(("1"
(lemma "axiom_of_archimedes" )
(("1"
(inst
-
"abs(abs(K) + abs(a(0)))/abs(a(1))" )
(("1"
(skeep)
(("1"
(inst + "i!1" )
(("1"
(skeep)
(("1"
(case
"abs(x) > abs(abs(K) + abs(a(0))) /abs(a(1))" )
(("1"
(cross-mult -1)
(("1"
(split -)
(("1"
(flatten)
(("1"
(case
"abs(abs(a(0)) + abs(K)) = abs(a(0)) + abs(K)" )
(("1"
(replaces
-1)
(("1"
(case
"abs(K) = K" )
(("1"
(replace
-1)
(("1"
(assert )
(("1"
(lemma
"abs_triangle_minus" )
(("1"
(inst
-
"a(1)*x"
"-a(0)" )
(("1"
(assert )
(("1"
(rewrite
"abs_neg" )
(("1"
(case
"abs(a(1)*x) > K + abs(a(0))" )
(("1"
(assert )
(("1"
(case
"a(1)*x - -a(0) = a(0) + a(1)*x" )
(("1"
(replaces
-1)
(("1"
(assert )
nil
nil ))
nil )
("2"
(assert )
(("2"
(hide-all-but
1)
(("2"
(grind)
(("2"
(lemma
"neg_times_neg" )
(("2"
(inst
-
"1"
"a(0)" )
(("2"
(assert )
(("2"
(replace
-1)
(("2"
(rewrite
"identity_mult" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(rewrite
"abs_mult" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
1)
(("2"
(rewrite
"abs_real_rew" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"abs_real_rew" )
(("2"
(inst
-
"abs(a(0)) + abs(K)" )
(("2"
(replaces
-1)
(("2"
(expand
"abs"
1
1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(flatten)
(("2"
(lemma
"abs_is_0" )
(("2"
(inst?)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(invoke
(case "%1 > 0" )
(! -1 1))
(("1"
(assert )
nil
nil )
("2"
(cross-mult 1)
(("2"
(ground)
(("1"
(lemma
"abs_is_0" )
(("1"
(inst?)
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(lemma
"abs_is_0" )
(("2"
(inst?)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma "abs_is_0" )
(("2"
(inst?)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert )
(("2"
(inst - "1+abs(a(0)) + abs(K)"
"LAMBDA (i:nat): a(1+i)" )
(("2" (assert )
(("2" (skeep)
(("2" (copy -1)
(("2"
(label "hyp2" -1)
(("2"
(hide "hyp2" )
(("2"
(inst + "M" )
(("2"
(skeep)
(("2"
(inst - "x" )
(("2"
(assert )
(("2"
(lemma
"cpolynomial_struct_rec" )
(("2"
(inst - "a" "x" "n" )
(("2"
(replace -1 +)
(("2"
(assert )
(("2"
(name
"aa"
"LAMBDA (i: nat): a(1 + i)" )
(("2"
(replaces -1)
(("2"
(name
"D"
"cpolynomial(aa, n)(x)" )
(("2"
(replaces -1)
(("2"
(case
"abs(D) = 0" )
(("1"
(assert )
nil
nil )
("2"
(assert )
(("2"
(case
"NOT abs(x) > (1+abs(a(0)) + abs(K))/abs(D)" )
(("1"
(invoke
(case
"%1<1" )
(!
1
2))
(("1"
(assert )
nil
nil )
("2"
(cross-mult
1)
nil
nil ))
nil )
("2"
(cross-mult
-1)
(("2"
(lemma
"abs_mult" )
(("2"
(inst
-
"x"
"D" )
(("2"
(replace
-1
:dir
rl)
(("2"
(lemma
"abs_triangle_minus" )
(("2"
(inst
-
"D*x"
"-a(0)" )
(("2"
(assert )
(("2"
(case
"NOT D*x - -a(0) = D*x + a(0)" )
(("1"
(hide-all-but
1)
(("1"
(grind)
(("1"
(lemma
"neg_times_neg" )
(("1"
(inst
-
"1"
"a(0)" )
(("1"
(assert )
(("1"
(replaces
-1)
(("1"
(rewrite
"identity_mult" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace
-1)
(("2"
(rewrite
"abs_neg" )
(("2"
(assert )
(("2"
(lemma
"mult_commutes" )
(("2"
(inst
-
"D"
"x" )
(("2"
(assert )
(("2"
(replaces
-1)
(("2"
(assert )
(("2"
(case
"abs(K) = K" )
(("1"
(assert )
nil
nil )
("2"
(hide-all-but
1)
(("2"
(rewrite
"abs_real_rew" )
(("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 ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((div_mult_pos_gt2 formula-decl nil extra_real_props nil )
(mult_commutes formula-decl nil fundamental_algebra nil )
(< const-decl "bool" reals nil )
(div_mult_pos_lt1 formula-decl nil real_props nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(cpolynomial_struct_rec formula-decl nil fundamental_algebra nil )
(odd_plus_even_is_odd application-judgement "odd_int" integers nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(csigma def-decl "complex" fundamental_algebra nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(* const-decl "complex" fundamental_algebra nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(complex_div_nzcomplex_is_complex application-judgement "complex"
complex_types nil )
(nnreal_plus_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(a skolem-const-decl "[nat -> complex]" fundamental_algebra 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 )
(numfield nonempty-type-eq-decl nil number_fields nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(i!1 skolem-const-decl "int" fundamental_algebra nil )
(nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(nzcomplex_div_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nnreal_plus_posreal_is_posreal application-judgement "posreal"
real_types nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(minus_complex_is_complex application-judgement "complex"
complex_types nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(abs_neg formula-decl nil polar nil )
(abs_mult formula-decl nil polar nil )
(identity_mult formula-decl nil number_fields nil )
(neg_times_neg formula-decl nil number_fields_bis nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(minus_nzcomplex_is_nzcomplex application-judgement "nzcomplex"
complex_types nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(posreal_plus_nnreal_is_posreal application-judgement "posreal"
real_types nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(abs_triangle_minus formula-decl nil polar nil )
(abs_real_rew formula-decl nil polar nil )
(nonzero_abs_is_pos application-judgement "{y: posreal | y >= x}"
real_defs nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(abs_is_0 formula-decl nil polar nil )
(nonzero_real nonempty-type-eq-decl nil reals nil )
(div_mult_pos_neg_gt2 formula-decl nil extra_real_props nil )
(div_mult_pos_neg_gt1 formula-decl nil extra_real_props nil )
(axiom_of_archimedes formula-decl nil real_props nil )
(cpow def-decl "complex" fundamental_algebra nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nat_induction formula-decl nil naturalnumbers nil )
(cpolynomial const-decl "complex" fundamental_algebra nil )
(abs const-decl "nnreal" polar nil )
(nnreal type-eq-decl nil real_types nil )
(posnat nonempty-type-eq-decl nil integers nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(/= const-decl "boolean" notequal nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(complex nonempty-type-from-decl nil complex_types nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(> const-decl "bool" reals nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(pred type-eq-decl nil defined_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil ))
nil )
(cpolynomial_limit_infinity-2 nil 3596296246
("" (induct "n" )
(("1" (skeep) (("1" (inst + "1" ) (("1" (grind) nil nil )) nil )) nil )
("2" (skolem 1 "n" )
(("2" (flatten)
(("2" (assert )
(("2" (skeep)
(("2" (label "hyp1" -1)
(("2" (copy -1)
(("2" (hide "hyp1" )
(("2" (case "n = 0" )
(("1" (replaces -1)
(("1" (hide -1)
(("1" (assert )
(("1" (expand "cpolynomial" )
(("1" (expand "csigma" )
(("1"
(expand "csigma" )
(("1"
(expand "*" )
(("1"
(expand "cpow" )
(("1"
(expand "cpow" )
(("1"
(lemma "axiom_of_archimedes" )
(("1"
(inst
-
"abs(abs(K) + abs(a(0)))/abs(a(1))" )
(("1"
(skeep)
(("1"
(inst + "i!1" )
(("1"
(skeep)
(("1"
(case
"abs(x) > abs(abs(K) + abs(a(0))) /abs(a(1))" )
(("1"
(cross-mult -1)
(("1"
(split -)
(("1"
(flatten)
(("1"
(case
"abs(abs(a(0)) + abs(K)) = abs(a(0)) + abs(K)" )
(("1"
(replaces
-1)
(("1"
(case
"abs(K) = K" )
(("1"
(replace
-1)
(("1"
(assert )
(("1"
(lemma
"abs_triangle_minus" )
(("1"
(inst
-
"a(1)*x"
"-a(0)" )
(("1"
(assert )
(("1"
(rewrite
"abs_neg" )
(("1"
(case
"abs(a(1)*x) > K + abs(a(0))" )
(("1"
(assert )
(("1"
(case
"a(1)*x - -a(0) = a(0) + a(1)*x" )
(("1"
(replaces
-1)
(("1"
(assert )
nil
nil ))
nil )
("2"
(assert )
(("2"
(hide-all-but
1)
(("2"
(grind)
(("2"
(lemma
"neg_times_neg" )
(("2"
(inst
-
"1"
"a(0)" )
(("2"
(assert )
(("2"
(replace
-1)
(("2"
(rewrite
"identity_mult" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(rewrite
"abs_mult" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
1)
(("2"
(rewrite
"abs_real_rew" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"abs_real_rew" )
(("2"
(inst
-
"abs(a(0)) + abs(K)" )
(("2"
(replaces
-1)
(("2"
(expand
"abs"
1
1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(flatten)
(("2"
(lemma
"abs_is_0" )
(("2"
(inst?)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(invoke
(case "%1 > 0" )
(! -1 1))
(("1"
(assert )
nil
nil )
("2"
(cross-mult 1)
(("2"
(ground)
(("1"
(lemma
"abs_is_0" )
(("1"
(inst?)
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(lemma
"abs_is_0" )
(("2"
(inst?)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma "abs_is_0" )
(("2"
(inst?)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (postpone) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
nil nil )
(cpolynomial_limit_infinity-1 nil 3596296192 ("" (postpone) nil nil )
nil shostak))
(complex_disk_complete 0
(complex_disk_complete-2 nil 3596358136
(""
(case "NOT FORALL (xs, xyc, xv: real,epsil22:posreal):
xs <= xyc AND
xv >= xs AND xv < epsil22 / 2 + xs AND xs > xyc - epsil22 / 2
IMPLIES real_defs.abs(xv - xyc) < epsil22")
(("1" (hide-all-but 1) (("1" (grind) nil nil )) nil )
("2" (label "hyp1" -1)
(("2" (hide "hyp1" )
(("2" (skeep)
(("2" (label "eppy" -1)
(("2"
(name "xset"
"{r:real | EXISTS (N:nat): FORALL (j:nat): j>=N IMPLIES Re(a(j))>=r}" )
(("2"
(case "nonempty?[real](xset) AND bounded_above?(xset)" )
(("1" (flatten)
(("1" (assert )
(("1" (name "xc" "lub(xset)" )
(("1"
(case "EXISTS (xseq:[nat->nat]): (FORALL (j:posnat): xseq(j)>=j AND real_defs.abs(Re(a(xseq(j)))-xc)<1/(1+j))" )
(("1" (skeep -)
(("1"
(name "yset"
"{r:real | EXISTS (N:nat): FORALL (j:nat): j>=N IMPLIES Im(a(xseq(j)))>=r}" )
(("1"
(case "nonempty?[real](yset) AND bounded_above?(yset)" )
(("1"
(flatten)
(("1"
(name "yc" "lub(yset)" )
(("1"
(name "cc" "xc + yc*i" )
(("1"
(case
"EXISTS (yseq:[nat->nat]): (FORALL (j:posnat): yseq(j)>=j AND real_defs.abs(Im(a(xseq(yseq(j))))-yc)<1/(1+j))" )
(("1"
(skeep -)
(("1"
(assert )
(("1"
(case
"FORALL (j:posnat): abs(cc-a(xseq(yseq(j))))<2/(1+j)" )
(("1"
(inst + "cc" )
(("1"
(case
"NOT (FORALL (epsil: posreal, N: nat):
EXISTS (j: nat): j > N AND abs(cc - a(j)) < epsil)")
(("1"
(hide 2)
(("1"
(skeep)
(("1"
(case
"EXISTS (kk:posnat): 2/(1+kk)<epsil" )
(("1"
(skeep)
(("1"
(inst
+
"xseq(yseq(max(1+kk,1+N)))" )
(("1"
(splash +)
(("1"
(invoke
(name
"jj"
"%1" )
(!
-1
1
1
1))
(("1"
(replace
-1)
(("1"
(inst
-
"jj" )
(("1"
(assert )
(("1"
(case
"1/(1+jj) <= 1/(1+kk)" )
(("1"
(assert )
nil
nil )
("2"
(cross-mult
1)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -2)
(("2"
(inst
-
"max(1+kk,1+N)" )
(("2"
(flatten)
(("2"
(inst
-
"yseq(max(1+kk,1+N))" )
(("1"
(flatten)
(("1"
(assert )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
1)
(("2"
(lemma
"axiom_of_archimedes" )
(("2"
(inst
-
"4/epsil" )
(("2"
(skosimp*)
(("2"
(case
"i!1 <= 0" )
(("1"
(case
"4/epsil<=0" )
(("1"
(cross-mult
-1)
nil
nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(inst
+
"i!1" )
(("1"
(cross-mult
-1)
(("1"
(cross-mult
2)
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace -1)
(("2"
(assert )
(("2"
(inst
-
"(abs(cc)-K)/2"
"1" )
(("2"
(skeep -1)
(("2"
(inst
"eppy"
"j" )
(("2"
(assert )
(("2"
(lemma
"abs_triangle" )
(("2"
(inst
-
"cc-a(j)"
"a(j)" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skeep)
(("2"
(inst - "j" )
(("2"
(inst - "yseq(j)" )
(("1"
(name
"dd"
"a(xseq(yseq(j)))" )
(("1"
(replace -1)
(("1"
(flatten)
(("1"
(lemma
"abs_triangle" )
(("1"
(inst
-
"xc-Re(dd)"
"(yc-Im(dd))*i" )
(("1"
(case
"cc-dd = xc - Re(dd) + (yc - Im(dd)) * i" )
(("1"
(replaces
-1
:dir
rl)
(("1"
(case
"abs(xc-Re(dd))<1/(1+j) AND abs((yc-Im(dd))*i)<1/(1+j)" )
(("1"
(flatten)
(("1"
(assert )
nil
nil ))
nil )
("2"
(hide
(-1
2))
(("2"
(split
+)
(("1"
(rewrite
"abs_real_rew"
+)
(("1"
(case
"real_defs.abs(Re(dd)-xc) = real_defs.abs(xc - Re(dd))" )
(("1"
(replace
-1
:dir
rl)
(("1"
(case
"1/(1+yseq(j))<=1/(1+j)" )
(("1"
(assert )
nil
nil )
("2"
(cross-mult
1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
1)
(("2"
(grind
:exclude
"Re" )
nil
nil ))
nil ))
nil ))
nil )
("2"
(rewrite
"abs_imag_rew" )
(("2"
(hide-all-but
(-3
1))
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
1)
(("2"
(expand
"cc" )
(("2"
(grind)
(("2"
(lemma
"complex_is_0_Re_Im" )
(("2"
(lemma
"complex_diff_eq_0" )
(("2"
(rewrite
-1
1)
(("2"
(hide
-1)
(("2"
(inst?)
(("2"
(assert )
(("2"
(hide
2)
(("2"
(split)
(("1"
(rewrite
"Re_plus" )
(("1"
(rewrite
"Re_minus" )
(("1"
(rewrite
"Re_minus" )
(("1"
(rewrite
"Re_plus" )
(("1"
(rewrite
"Re_imag" )
(("1"
(assert )
(("1"
(lemma
"Re_real" )
(("1"
(inst
-
"Re(dd)" )
(("1"
(replaces
-1)
(("1"
(assert )
(("1"
(rewrite
"Re_imag" )
(("1"
(assert )
(("1"
(rewrite
"mult_commutes" )
(("1"
(rewrite
"Re_imag" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(rewrite
"Im_plus" )
(("2"
(rewrite
"Im_minus" )
(("2"
(rewrite
"Im_minus" )
(("2"
(rewrite
"Im_plus" )
(("2"
(assert )
(("2"
(rewrite
"Im_real" )
(("2"
(assert )
(("2"
(rewrite
"Im_imag" )
(("2"
(rewrite
"Im_imag" )
(("2"
(assert )
(("2"
(rewrite
"mult_commutes" )
(("2"
(rewrite
"Im_imag" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(flatten)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(case
"FORALL (j:posnat): EXISTS (k:posnat): k>=j AND real_defs.abs(Im(a(xseq(k))) - yc) < 1 / (1 + j)" )
(("1"
(name
"yseq"
"LAMBDA (jj:nat): choose({k:posnat|k>=jj+1 AND real_defs.abs(Im(a(xseq(k))) - yc) < 1 / (2 + jj)})" )
(("1"
(inst + "yseq" )
(("1"
(skeep)
(("1"
(assert )
(("1"
(split)
(("1"
(typepred
"yseq(j)" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(typepred
"yseq(j)" )
(("2"
(case
"1/(2+j) < 1/(1+j)" )
(("1"
(assert )
nil
nil )
("2"
(cross-mult
1)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skeep)
(("2"
(expand
"nonempty?"
1)
(("2"
(expand "empty?" )
(("2"
(expand "member" )
(("2"
(inst
-2
"jj+1" )
(("2"
(skosimp*)
(("2"
(inst
-
"k!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(typepred "yc" )
(("2"
(skeep)
(("2"
(expand
"least_upper_bound?" )
(("2"
(flatten)
(("2"
(name
"epsil"
"1/(1+j)" )
(("2"
(replace -1)
(("2"
(case
"NOT epsil > 0" )
(("1"
(expand
"epsil"
1)
(("1"
(cross-mult
1)
nil
nil ))
nil )
("2"
(inst
-
"yc - epsil/2" )
(("2"
(assert )
(("2"
(assert )
(("2"
(expand
"upper_bound?"
1)
(("2"
(skosimp*)
(("2"
(typepred
"s!1" )
(("2"
(expand
"yset"
-1)
(("2"
(skosimp*)
(("2"
(copy
-4)
(("2"
(expand
"upper_bound?"
-1)
(("2"
(inst
-
"s!1" )
(("2"
(assert )
(("2"
(case
"yset(s!1 + epsil/2)" )
(("1"
(copy
-6)
(("1"
(expand
"upper_bound?"
-1)
(("1"
(inst
-
"s!1 + epsil/2" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(expand
"yset"
1)
(("2"
(inst
+
"max(j+2,N!1+2)" )
(("2"
(skolem
1
"q" )
(("2"
(flatten)
(("2"
(inst
+
"q" )
(("1"
(inst
-
"q" )
(("1"
(assert )
(("1"
(name
"V"
"Im(a(xseq(q)))" )
(("1"
(replace
-1)
(("1"
(assert )
(("1"
(hide-all-but
(-3
-4
-5
1
2
3))
(("1"
(reveal
"hyp1" )
(("1"
(inst
-
"s!1"
"yc"
"V"
"epsil" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(assert )
(("2"
(split)
(("1"
(expand "nonempty?" 1)
(("1"
(expand "empty?" )
(("1"
(inst - "-K-1" )
(("1"
(expand "member" )
(("1"
(expand "yset" 1)
(("1"
(inst + "0" )
(("1"
(skeep)
(("1"
(hide -1)
(("1"
(hide
(-1
-2
-3
-4
-5
-6))
(("1"
(inst
-
"xseq(j)" )
(("1"
(name
"z"
"a(xseq(j))" )
(("1"
(replaces
-1)
(("1"
(rewrite
"abs_def" )
(("1"
(lemma
"sq_le" )
(("1"
(inst?)
(("1"
(assert )
(("1"
(case
"sq.sq(Im(z))>=sq.sq(K+1)" )
(("1"
(lemma
"sq_gt" )
(("1"
(inst
-
"K+1"
"K" )
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(hide
-)
(("2"
(lemma
"sq_ge" )
(("2"
(inst
-
"real_defs.abs(Im(z))"
"K+1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide (-1 -2 -3 -4 -5 -6))
(("2"
(expand "bounded_above?" )
(("2"
(inst + "K+1" )
(("2"
(expand "upper_bound?" )
(("2"
(skeep)
(("2"
(typepred "s" )
(("2"
(expand "yset" )
(("2"
(skosimp*)
(("2"
(inst - "N!1" )
(("2"
(assert )
(("2"
(inst
-
"xseq(N!1)" )
(("2"
(assert )
(("2"
(lemma
"sq_ge" )
(("2"
(inst?)
(("2"
(assert )
(("2"
(lemma
"sq_gt" )
(("2"
(inst
-
"s"
"1+K" )
(("2"
(assert )
(("2"
(lemma
"sq_gt" )
(("2"
(inst
-
"real_defs.abs(Im(a(xseq(N!1))))"
"1+K" )
(("2"
(assert )
(("2"
(case
"abs(a(xseq(N!1))) >= real_defs.abs(Im(a(xseq(N!1))))" )
(("1"
(assert )
nil
nil )
("2"
(hide
-)
(("2"
(rewrite
"abs_def" )
(("2"
(lemma
"sq_ge" )
(("2"
(inst?)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2"
(case "FORALL (j:posnat): EXISTS (k:posnat): k>=j AND real_defs.abs(Re(a(k)) - xc) < 1 / (1 + j)" )
(("1"
(name "xseq"
"LAMBDA (j:nat): choose({k:posnat | k >=j+1 AND real_defs.abs(Re(a(k)) - xc) < 1 / (2 + j)})" )
(("1"
(inst + "xseq" )
(("1"
(skeep)
(("1"
(typepred "xseq(j)" )
(("1"
(assert )
(("1"
(case "1/(2+j)<1/(1+j)" )
(("1" (assert ) nil nil )
("2" (cross-mult 1) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skeep)
(("2"
(inst - "1+j" )
(("2"
(skosimp*)
(("2"
(assert )
(("2"
(expand "nonempty?" )
(("2"
(expand "empty?" -1)
(("2"
(inst - "k!1" )
(("2"
(expand "member" )
(("2"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2"
(skeep)
(("2"
(name "epsil" "1/(1+j)" )
(("2"
(replace -1)
(("2"
(case "NOT epsil>0" )
(("1"
(expand "epsil" 1)
(("1" (cross-mult 1) nil nil ))
nil )
("2"
(typepred "xc" )
(("2"
(expand "least_upper_bound?" )
(("2"
(flatten)
(("2"
(inst - "xc-epsil/2" )
(("2"
(assert )
(("2"
(assert )
(("2"
(expand
"upper_bound?"
1)
(("2"
(skosimp*)
(("2"
(expand
"upper_bound?"
-1)
(("2"
(inst
-
"s!1+epsil/2" )
(("1"
(assert )
nil
nil )
("2"
(expand
"xset"
1)
(("2"
(typepred
"s!1" )
(("2"
(expand
"xset"
-1)
(("2"
(skosimp*)
(("2"
(inst
+
"max(j+2,N!1+2)" )
(("2"
(skolem
1
"q" )
(("2"
(inst
+
"q" )
(("1"
(inst
-
"q" )
(("1"
(assert )
(("1"
(flatten)
(("1"
(assert )
(("1"
(case
"NOT upper_bound?(xc,xset)" )
(("1"
(assert )
nil
nil )
("2"
(expand
"upper_bound?"
-1)
(("2"
(inst
-
"s!1" )
(("2"
(hide-all-but
(-1
-2
1
2
3))
(("2"
(name
"V"
"Re(a(q))" )
(("2"
(replace
-1)
(("2"
(hide
-1)
(("2"
(reveal
"hyp1" )
(("2"
(inst
-
"s!1"
"xc"
"V"
"epsil" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(flatten)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (split)
(("1" (expand "nonempty?" )
(("1" (expand "empty?" )
(("1" (inst - "-K-1" )
(("1" (hide -1)
(("1" (expand "member" )
(("1"
(expand "xset" )
(("1"
(inst + "0" )
(("1"
(skeep)
(("1"
(hide -1)
(("1"
(inst - "j" )
(("1"
(lemma "sq_le" )
(("1"
(inst?)
(("1"
(assert )
(("1"
(rewrite "abs_def" -1)
(("1"
(assert )
(("1"
(case
"-Re(a(j))<=K" )
(("1"
(assert )
nil
nil )
("2"
(lemma "sq_le" )
(("2"
(inst
-
"-Re(a(j))"
"K" )
(("2"
(assert )
(("2"
(expand
"sq"
-1
2)
(("2"
(expand
"sq"
1
1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -1)
(("2" (expand "bounded_above?" )
(("2" (inst + "K+1" )
(("2" (expand "upper_bound?" )
(("2" (skosimp*)
(("2"
(typepred "s!1" )
(("2"
(expand "xset" -1)
(("2"
(skosimp*)
(("2"
(inst - "N!1" )
(("2"
(assert )
(("2"
(inst - "N!1" )
(("2"
(assert )
(("2"
(name "V" "Re(a(N!1))" )
(("2"
(rewrite "abs_def" )
(("2"
(rewrite
"sq_le"
-3
:dir
rl)
(("2"
(lemma "sq_le" )
(("2"
(inst
-
"Re(a(N!1))"
"K" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(complex nonempty-type-from-decl nil complex_types nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(i const-decl "complex" complex_types nil )
(Re const-decl "{x | EXISTS y: z = x + y * i}" complex_types nil )
(minus_real_is_real application-judgement "real" reals nil )
(least_upper_bound? const-decl "bool" bounded_real_defs nil )
(lub const-decl "{x | least_upper_bound?(x, SA)}" bounded_real_defs
nil )
(epsil skolem-const-decl "posrat" fundamental_algebra nil )
(xset skolem-const-decl "[real -> boolean]" fundamental_algebra
nil )
(s!1 skolem-const-decl "(xset)" fundamental_algebra nil )
(q skolem-const-decl "nat" fundamental_algebra nil )
(Im_is_real application-judgement "real" complex_types nil )
(complex_diff_eq_0 formula-decl nil arithmetic nil )
(Re_minus formula-decl nil arithmetic nil )
(int_times_even_is_even application-judgement "even_int" integers
nil )
(mult_commutes formula-decl nil fundamental_algebra nil )
(Re_real formula-decl nil arithmetic nil )
(Re_imag formula-decl nil arithmetic nil )
(Re_plus formula-decl nil arithmetic nil )
(Im_minus formula-decl nil arithmetic nil )
(Im_real formula-decl nil arithmetic nil )
(Im_imag formula-decl nil arithmetic nil )
(Im_plus formula-decl nil arithmetic nil )
(complex_is_0_Re_Im formula-decl nil arithmetic nil )
(cc skolem-const-decl "complex" fundamental_algebra nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(minus_nzcomplex_is_nzcomplex application-judgement "nzcomplex"
complex_types nil )
(abs_imag_rew formula-decl nil polar nil )
(minus_complex_is_complex application-judgement "complex"
complex_types nil )
(abs_real_rew formula-decl nil polar nil )
(j skolem-const-decl "posnat" fundamental_algebra nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(complex_div_nzcomplex_is_complex application-judgement "complex"
complex_types nil )
(abs_triangle formula-decl nil polar nil )
(nnreal_plus_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(posrat_max application-judgement "{s: posrat | s >= q AND s >= r}"
real_defs nil )
(posint_max application-judgement "{k: posint | i <= k AND j <= k}"
real_defs nil )
(max const-decl "{p: real | p >= m AND p >= n}" real_defs nil )
(N skolem-const-decl "nat" fundamental_algebra nil )
(kk skolem-const-decl "posnat" fundamental_algebra nil )
(yseq skolem-const-decl "[nat -> nat]" fundamental_algebra nil )
(posint nonempty-type-eq-decl nil integers nil )
(times_div2 formula-decl nil number_fields_bis nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(posint_times_posint_is_posint application-judgement "posint"
integers nil )
(nzcomplex_times_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(div_mult_pos_le2 formula-decl nil real_props nil )
(div_mult_pos_le1 formula-decl nil real_props nil )
(axiom_of_archimedes formula-decl nil real_props nil )
(i!1 skolem-const-decl "int" fundamental_algebra nil )
(nzrat_div_nzrat_is_nzrat application-judgement "nzrat" rationals
nil )
(div_mult_pos_lt1 formula-decl nil real_props nil )
(real_times_real_is_real application-judgement "real" reals nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(abs const-decl "nnreal" polar nil )
(nnreal type-eq-decl nil real_types nil )
(member const-decl "bool" sets nil )
(empty? const-decl "bool" sets nil )
(div_mult_pos_lt2 formula-decl nil real_props nil )
(choose const-decl "(p)" sets nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(nonneg_rat nonempty-type-eq-decl nil rationals nil )
(posrat nonempty-type-eq-decl nil rationals nil )
(div_mult_pos_gt1 formula-decl nil extra_real_props nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(epsil skolem-const-decl "posrat" fundamental_algebra nil )
(upper_bound? const-decl "bool" bounded_real_defs nil )
(q skolem-const-decl "nat" fundamental_algebra nil )
(s!1 skolem-const-decl "(yset)" fundamental_algebra nil )
(yset skolem-const-decl "[real -> boolean]" fundamental_algebra
nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(abs_def formula-decl nil polar nil )
(sq const-decl "nonneg_real" sq "reals/" )
(sqrt const-decl "{nnz: nnreal | nnz * nnz = nnx}" sqrt "reals/" )
(posreal_plus_nnreal_is_posreal application-judgement "posreal"
real_types nil )
(sq_gt formula-decl nil sq "reals/" )
(sq_ge formula-decl nil sq "reals/" )
(sq_abs formula-decl nil sq "reals/" )
(sq_sqrt formula-decl nil sqrt "reals/" )
(sq_nz_pos application-judgement "posreal" sq "reals/" )
(sq_le formula-decl nil sq "reals/" )
(Im const-decl "{y | EXISTS x: z = x + y * i}" complex_types nil )
(posnat nonempty-type-eq-decl nil integers nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(posrat_div_posrat_is_posrat application-judgement "posrat"
rationals nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(Re_is_real application-judgement "real" complex_types nil )
(bounded_above? const-decl "bool" bounded_real_defs nil )
(nonempty? const-decl "bool" sets nil )
(set type-eq-decl nil sets nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_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 )
(nzcomplex_div_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(real_plus_real_is_real application-judgement "real" 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 )
(>= 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 )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(<= const-decl "bool" reals nil ) (< const-decl "bool" reals nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" 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 )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil ))
nil )
(complex_disk_complete-1 nil 3596305839
("" (skeep)
((""
(name "xset"
"{r:real | EXISTS (N:nat): FORALL (j:nat): j>=N IMPLIES Re(a(j))>=r}" )
(("" (case "nonempty?[real](xset) AND bounded_below?(xset)" )
(("1" (flatten)
(("1" (assert )
(("1" (name "xc" "glb(xset)" )
(("1"
(case "EXISTS (xseq:[nat->nat]): (FORALL (j:posnat): xseq(j)>=j AND real_defs.abs(Re(a(xseq(j)))-xc)<1/(1+j))" )
(("1" (skeep -)
(("1"
(name "yset"
"{r:real | EXISTS (N:nat): FORALL (j:nat): j>=N IMPLIES Im(a(xseq(j)))>=r}" )
(("1"
(case "nonempty?[real](yset) AND bounded_below?(yset)" )
(("1" (flatten)
(("1" (name "yc" "glb(yset)" )
(("1" (name "cc" "xc + yc*i" )
(("1"
(case "EXISTS (yseq:[nat->nat]): (FORALL (j:posnat): yseq(j)>=j AND real_defs.abs(Im(a(xseq(yseq(j))))-yc)<1/(1+j))" )
(("1"
(skeep -)
(("1"
(assert )
(("1"
(case
"FORALL (j:posnat): abs(cc-a(xseq(yseq(j))))<2/(1+j)" )
(("1"
(inst + "cc" )
(("1"
(case
"NOT (FORALL (epsil: posreal, N: nat):
EXISTS (j: nat): j > N AND abs(cc - a(j)) < epsil)")
(("1"
(hide 2)
(("1"
(skeep)
(("1"
(case
"EXISTS (kk:posnat): 2/(1+kk)<epsil" )
(("1"
(skeep)
(("1"
(inst
+
"xseq(yseq(max(1+kk,1+N)))" )
(("1"
(splash +)
(("1"
(invoke
(name "jj" "%1" )
(! -1 1 1 1))
(("1"
(replace -1)
(("1"
(inst - "jj" )
(("1"
(assert )
(("1"
(case
"1/(1+jj) <= 1/(1+kk)" )
(("1"
(assert )
nil
nil )
("2"
(cross-mult
1)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -2)
(("2"
(inst
-
"max(1+kk,1+N)" )
(("2"
(flatten)
(("2"
(inst
-
"yseq(max(1+kk,1+N))" )
(("1"
(flatten)
(("1"
(assert )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but 1)
(("2"
(lemma
"axiom_of_archimedes" )
(("2"
(inst - "4/epsil" )
(("2"
(skosimp*)
(("2"
(case
"i!1 <= 0" )
(("1"
(case
"4/epsil<=0" )
(("1"
(cross-mult
-1)
nil
nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(inst
+
"i!1" )
(("1"
(cross-mult
-1)
(("1"
(cross-mult
2)
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace -1)
(("2"
(assert )
(("2"
(inst
-
"(abs(cc)-K)/2"
"1" )
(("2"
(postpone)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (postpone) nil nil ))
nil ))
nil ))
nil )
("2" (postpone) nil nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil )
("2" (postpone) nil nil ))
nil ))
nil ))
nil )
("2" (postpone) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (postpone) nil nil ))
nil ))
nil ))
nil )
nil shostak))
(cpolynomial_attains_minimum 0
(cpolynomial_attains_minimum-1 nil 3596467418
(""
(case "FORALL (a: [nat -> complex], n: nat): n>0 AND a(n)/=0 IMPLIES
EXISTS (c):
FORALL (x): abs(cpolynomial(a, n)(c)) <= abs(cpolynomial(a, n)(x))")
(("1" (induct "n" )
(("1" (hide -) (("1" (grind) nil nil )) nil )
("2" (skeep)
(("2" (assert )
(("2" (skeep)
(("2" (case "a(1+j)=0" )
(("1" (case "cpolynomial(a,1+j) = cpolynomial(a,j)" )
(("1" (inst - "a" ) (("1" (replaces -1) nil nil )) nil )
("2" (decompose-equality 1)
(("2" (lemma "cpolynomial_rec" )
(("2" (inst - "a" "x!1" "j" )
(("2" (replace -2) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("2" (inst - "a" "1+j" ) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2"
(case "FORALL (a: [nat -> complex], n: nat,K:posreal):
n > 0 AND a(n) /= 0 IMPLIES
(EXISTS (c):
FORALL (x): abs(x)<=K IMPLIES
abs(cpolynomial(a, n)(c)) <= abs(cpolynomial(a, n)(x)))")
(("1" (skeep)
(("1" (lemma "cpolynomial_limit_infinity" )
(("1" (inst - "abs(cpolynomial(a,n)(0))+1" "a" "n" )
(("1" (assert )
(("1" (skosimp*)
(("1" (inst - "a" "n" "M!1" )
(("1" (assert )
(("1" (skosimp*)
(("1" (inst + "c!1" )
(("1" (skeep)
(("1" (inst-cp - "x" )
(("1"
(case "abs(c!1)<=M!1" )
(("1"
(assert )
(("1"
(inst-cp -4 "0" )
(("1"
(inst -4 "x" )
(("1"
(ground)
(("1"
(lemma "abs_is_0" )
(("1"
(inst - "0" )
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst-cp - "c!1" )
(("2"
(assert )
(("2"
(hide -1)
(("2"
(inst - "0" )
(("2"
(ground)
(("1"
(lemma "abs_is_0" )
(("1"
(inst?)
(("1" (assert ) nil nil ))
nil ))
nil )
("2"
(lemma "abs_is_0" )
(("2"
(inst?)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (skeep)
(("2"
(name "Aset"
"{r:real | EXISTS (y): abs(y)<=K AND abs(cpolynomial(a,n)(y)) = r}" )
(("2" (name "minval" "glb(Aset)" )
(("1"
(case "EXISTS (xseq:[nat->complex]): FORALL (j:nat): abs(xseq(j))<=K AND abs(cpolynomial(a,n)(xseq(j)))<minval+1/(1+j)" )
(("1" (skeep)
(("1" (lemma "complex_disk_complete" )
(("1" (inst - "K" "xseq" )
(("1" (assert )
(("1" (split -)
(("1" (skeep)
(("1"
(inst + "c" )
(("1"
(skeep)
(("1"
(name
"myep"
"abs(cpolynomial(a, n)(c)) - abs(cpolynomial(a, n)(x))" )
(("1"
(lemma
"complex_continuous_cpolynomial" )
(("1"
(inst - "a" "n" )
(("1"
(expand
"complex_continuous?" )
(("1"
(inst - "c" "myep/16" )
(("1"
(skeep)
(("1"
(lemma
"axiom_of_archimedes" )
(("1"
(inst - "16/myep" )
(("1"
(skolem - "N" )
(("1"
(inst
-
"delta/2"
"N" )
(("1"
(skeep -5)
(("1"
(inst -7 "j" )
(("1"
(assert )
(("1"
(inst
-
"xseq(j)" )
(("1"
(assert )
(("1"
(flatten)
(("1"
(assert )
(("1"
(case
"1/(1+j) < myep/16" )
(("1"
(case
"minval<=abs(cpolynomial(a, n)(x))" )
(("1"
(name
"f"
"cpolynomial(a,n)" )
(("1"
(replaces
-1)
(("1"
(case
"NOT abs(f(xseq(j)))>= abs(f(x))-17*myep/16" )
(("1"
(case
"abs(f(xseq(j))) >= abs(f(c))-myep/16" )
(("1"
(assert )
nil
nil )
("2"
(hide
2)
(("2"
(hide-all-but
(-4
1))
(("2"
(lemma
"abs_triangle" )
(("2"
(inst
-
"f(xseq(j))"
"f(c)-f(xseq(j))" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"minval<=abs(f(c))" )
(("1"
(case
"abs(f(xseq(j)))>=abs(f(c))-myep/16" )
(("1"
(assert )
nil
nil )
("2"
(hide-all-but
(-6
1))
(("2"
(lemma
"abs_triangle" )
(("2"
(inst
-
"f(xseq(j))"
"f(c)-f(xseq(j))" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
1)
(("2"
(typepred
"minval" )
(("2"
(expand
"greatest_lower_bound?" )
(("2"
(flatten)
(("2"
(expand
"lower_bound?" )
(("2"
(inst
-
"abs(f(c))" )
(("2"
(hide-all-but
1)
(("2"
(expand
"Aset" )
(("2"
(inst
+
"c" )
(("2"
(expand
"f" )
(("2"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
1)
(("2"
(typepred
"minval" )
(("2"
(expand
"greatest_lower_bound?" )
(("2"
(flatten)
(("2"
(expand
"lower_bound?" )
(("2"
(inst
-
"abs(cpolynomial(a,n)(x))" )
(("2"
(expand
"Aset"
1)
(("2"
(inst
+
"x" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(case
"1/N < myep/16" )
(("1"
(case
"1/(1+j)<=1/N" )
(("1"
(assert )
nil
nil )
("2"
(cross-mult
1)
(("2"
(ground)
(("2"
(case
"16/myep>0" )
(("1"
(assert )
nil
nil )
("2"
(cross-mult
1)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(cross-mult
1)
(("2"
(ground)
(("1"
(cross-mult
-2)
nil
nil )
("2"
(case
"16/myep>0" )
(("1"
(assert )
nil
nil )
("2"
(cross-mult
1)
nil
nil ))
nil ))
nil ))
nil )
("3"
(case
"16/myep>0" )
(("1"
(assert )
nil
nil )
("2"
(cross-mult
1)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"16/myep>0" )
(("1"
(assert )
nil
nil )
("2"
(cross-mult
1)
nil
nil ))
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(split)
(("1"
(cross-mult 1)
(("1"
(assert )
nil
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert )
(("2"
(skeep)
(("2"
(inst - "j" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 3)
(("2"
(case "FORALL (j:nat): EXISTS (x:complex): abs(x)<=K AND abs(cpolynomial(a,n)(x))<minval+1/(1+j)" )
(("1"
(name "xseq"
"LaMBDA (j:nat): choose({x:complex | abs(x) <= K AND abs(cpolynomial(a, n)(x)) < minval + 1 / (1 + j)})" )
(("1" (inst + "xseq" )
(("1" (skeep)
(("1" (assert )
(("1"
(typepred "xseq(j)" )
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (skeep)
(("2" (expand "nonempty?" )
(("2"
(expand "empty?" )
(("2"
(inst -2 "j" )
(("2"
(skosimp*)
(("2"
(inst - "x!1" )
(("2"
(expand "member" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (skeep)
(("2" (typepred "minval" )
(("2" (expand "greatest_lower_bound?" )
(("2"
(flatten)
(("2"
(inst - "minval+1/(1+j)" )
(("2"
(assert )
(("2"
(case "1/(1+j)>0" )
(("1"
(assert )
(("1"
(expand "lower_bound?" 1)
(("1"
(skosimp*)
(("1"
(typepred "s!1" )
(("1"
(expand "Aset" -1)
(("1"
(skosimp*)
(("1"
(inst + "y!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (cross-mult 1) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 3)
(("2" (split)
(("1" (expand "nonempty?" )
(("1" (expand "empty?" )
(("1" (expand "member" )
(("1" (inst - "abs(cpolynomial(a,n)(0))" )
(("1" (expand "Aset" 1)
(("1"
(inst + "0" )
(("1"
(lemma "abs_is_0" )
(("1"
(inst - "0" )
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "bounded_below?" )
(("2" (inst + "-1" )
(("2" (expand "lower_bound?" )
(("2" (skeep)
(("2" (typepred "s" )
(("2"
(expand "Aset" -1)
(("2"
(skosimp*)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((- const-decl "[numfield -> numfield]" number_fields nil )
(minus_nzcomplex_is_nzcomplex application-judgement "nzcomplex"
complex_types nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(< const-decl "bool" reals nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(complex_disk_complete formula-decl nil fundamental_algebra nil )
(nzcomplex_div_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(complex_continuous_cpolynomial formula-decl nil
fundamental_algebra nil )
(complex_continuous? const-decl "bool" fundamental_algebra nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(div_mult_pos_ge1 formula-decl nil real_props nil )
(nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(posreal_div_posreal_is_posreal application-judgement "posreal"
real_types nil )
(N skolem-const-decl "int" fundamental_algebra nil )
(x skolem-const-decl "complex" fundamental_algebra nil )
(n skolem-const-decl "nat" fundamental_algebra nil )
(a skolem-const-decl "[nat -> complex]" fundamental_algebra nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(abs_triangle formula-decl nil polar nil )
(nnreal_plus_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(lower_bound? const-decl "bool" bounded_real_defs nil )
(c skolem-const-decl "complex" fundamental_algebra nil )
(f skolem-const-decl "[complex -> complex]" fundamental_algebra
nil )
(Aset skolem-const-decl "[real -> boolean]" fundamental_algebra
nil )
(nzrat_div_nzrat_is_nzrat application-judgement "nzrat" rationals
nil )
(div_mult_pos_le1 formula-decl nil real_props nil )
(nzcomplex_times_nzcomplex_is_nzcomplex application-judgement
"nzcomplex" complex_types nil )
(posint_times_posint_is_posint application-judgement "posint"
integers nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(times_div2 formula-decl nil number_fields_bis nil )
(div_mult_pos_neg_le2 formula-decl nil extra_real_props nil )
(nonzero_real nonempty-type-eq-decl nil reals nil )
(real_times_real_is_real application-judgement "real" reals nil )
(div_mult_pos_gt1 formula-decl nil extra_real_props nil )
(div_mult_pos_lt1 formula-decl nil real_props nil )
(div_mult_pos_neg_lt1 formula-decl nil extra_real_props nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(posrat_div_posrat_is_posrat application-judgement "posrat"
rationals nil )
(axiom_of_archimedes formula-decl nil real_props nil )
(myep skolem-const-decl "real" fundamental_algebra nil )
(complex_div_nzcomplex_is_complex application-judgement "complex"
complex_types nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(member const-decl "bool" sets nil )
(empty? const-decl "bool" sets nil )
(choose const-decl "(p)" sets nil )
(glb const-decl "{x | greatest_lower_bound?(x, SB)}"
bounded_real_defs nil )
(greatest_lower_bound? const-decl "bool" bounded_real_defs nil )
(bounded_below? const-decl "bool" bounded_real_defs nil )
(nonempty? const-decl "bool" sets nil )
(set type-eq-decl nil sets nil )
(nnreal_plus_posreal_is_posreal application-judgement "posreal"
real_types 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 )
(abs_is_0 formula-decl nil polar nil )
(posreal_plus_nnreal_is_posreal application-judgement "posreal"
real_types nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(cpolynomial_limit_infinity formula-decl nil fundamental_algebra
nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(pred type-eq-decl nil defined_types nil )
(nat_induction formula-decl nil naturalnumbers nil )
(cpow def-decl "complex" fundamental_algebra nil )
(* const-decl "complex" fundamental_algebra nil )
(csigma def-decl "complex" fundamental_algebra nil )
(conjugate const-decl "complex" arithmetic nil )
(Im_is_real application-judgement "real" complex_types nil )
(complex_times_complex_is_complex application-judgement "complex"
complex_types nil )
(complex_plus_complex_is_complex application-judgement "complex"
complex_types nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(cpolynomial_rec formula-decl nil fundamental_algebra nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(complex_minus_complex_is_complex application-judgement "complex"
complex_types nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_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 )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(complex_pred const-decl "[number_field -> boolean]" complex_types
nil )
(complex nonempty-type-from-decl nil complex_types nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(> const-decl "bool" reals nil )
(/= const-decl "boolean" notequal nil )
(<= const-decl "bool" reals nil )
(nnreal type-eq-decl nil real_types nil )
(abs const-decl "nnreal" polar nil )
(cpolynomial const-decl "complex" fundamental_algebra nil ))
shostak))
(fundamental_algebra 0
(fundamental_algebra-2 nil 3596554667
("" (skeep)
(("" (case "n = 1" )
(("1" (replaces -1)
(("1" (expand "cpolynomial" )
(("1" (expand "csigma" )
(("1" (expand "*" )
(("1" (expand "csigma" )
(("1" (expand "cpow" )
(("1" (expand "cpow" )
(("1" (inst + "-a(0)/a(1)" )
(("1" (assert )
(("1" (lemma "div_def" )
(("1" (inst?)
(("1" (replace -1)
(("1"
(lemma "mult_commutes" )
(("1"
(inst - "-a(0)" "1/a(1)" )
(("1"
(replaces -1)
(("1"
(lemma "associative_mult" )
(("1"
(inst?)
(("1"
(replaces -1)
(("1"
(rewrite "inverse_mult" )
(("1"
(rewrite "identity_mult" )
(("1"
(rewrite
"minus_add"
+
:dir
rl)
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 )
("2" (label "n1" 1)
(("2" (hide "n1" )
(("2" (lemma "complex_poly_shift" )
(("2"
(case "FORALL (a: [nat -> complex], c: complex, n: nat):
EXISTS (b):
(FORALL (i:nat): i>n IMPLIES b(i)=0) AND
b(0) = cpolynomial(a, n)(c) AND
(FORALL (x): cpolynomial(a, n)(x) = cpolynomial(b, n)(x - c))")
(("1" (hide -2)
(("1" (lemma "cpolynomial_attains_minimum" )
(("1" (inst - "a" "n" )
(("1" (skeep -)
(("1" (inst + "c" )
(("1" (assert )
(("1" (inst - "a" "c" "n" )
(("1" (skeep -2)
(("1"
(label "newlem" -2)
(("1"
(lemma "abs_is_0" )
(("1"
(hide "newlem" )
(("1"
(inst?)
(("1"
(assert )
(("1"
(case
"NOT EXISTS (k:posnat): k<=n AND b(k)/=0 AND FORALL (i:posnat): i<k IMPLIES b(i)=0" )
(("1"
(case
"FORALL (k:posnat): k<=n IMPLIES b(k)=0" )
(("1"
(case
"FORALL (x): cpolynomial(a,n)(x)=cpolynomial(a,n)(c)" )
(("1"
(lemma
"cpolynomial_limit_infinity" )
(("1"
(inst
-
"abs(cpolynomial(a,n)(c)) + 2"
"a"
"n" )
(("1"
(assert )
(("1"
(skosimp*)
(("1"
(inst - "M!1" )
(("1"
(lemma
"abs_real_rew" )
(("1"
(inst
-
"M!1" )
(("1"
(assert )
(("1"
(inst
-
"M!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"FORALL (j:nat,x): j+1<=n IMPLIES cpolynomial(b,j+1)(x-c) = cpolynomial(a,n)(c)" )
(("1"
(skeep)
(("1"
(inst -5 "x" )
(("1"
(inst
-
"n-1"
"x" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(induct "j" )
(("1"
(assert )
(("1"
(skeep)
(("1"
(inst - "1" )
(("1"
(assert )
(("1"
(expand
"cpolynomial"
1
1)
(("1"
(expand
"csigma" )
(("1"
(expand
"csigma" )
(("1"
(expand
"*" )
(("1"
(replace
-1)
(("1"
(assert )
(("1"
(expand
"cpow"
1)
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem 1 "jj" )
(("2"
(flatten)
(("2"
(assert )
(("2"
(skeep)
(("2"
(inst
-
"x" )
(("2"
(assert )
(("2"
(rewrite
"cpolynomial_rec"
1)
(("2"
(inst
-
"2+jj" )
(("2"
(assert )
(("2"
(replace
-3)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"FORALL (kk,jj:nat): kk<=jj AND 1+jj <= n IMPLIES b(1+kk) = 0" )
(("1"
(skeep)
(("1"
(inst - "k-1" "k-1" )
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(induct "jj" )
(("1"
(skeep)
(("1"
(inst + "1" )
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(skeep)
(("2"
(skeep)
(("2"
(case
"NOT kk = 1+j" )
(("1"
(inst - "kk" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(replaces -1)
(("2"
(assert )
(("2"
(inst
+
"2+j" )
(("2"
(assert )
(("2"
(skeep)
(("2"
(inst
-
"i!1-1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(label "hyp1" -1)
(("2"
(skeep -)
(("2"
(delabel "hyp1" )
(("2"
(label "hyp1" -2)
(("2"
(lemma
" root_complex_def" )
(("2"
(case "-b(k)=0" )
(("1"
(case
"-(-b(k)) = 0" )
(("1"
(assert )
(("1"
(hide-all-but
(-1 1))
(("1"
(lemma
"number_fields_neg1_times" )
(("1"
(inst
-
"b(k)" )
(("1"
(replaces
-1
:dir
rl)
(("1"
(lemma
"number_fields_negative_times" )
(("1"
(inst?)
(("1"
(replaces
-1)
(("1"
(rewrite
"number_fields_negate_negate" )
(("1"
(rewrite
"identity_mult" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replaces -1)
(("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(inst
-
"cpolynomial(a,n)(c)/(-b(k))"
"k" )
(("1"
(name
"gamma"
"root_complex(cpolynomial(a, n)(c) / (-b(k)))(k)" )
(("1"
(replace
-1)
(("1"
(name
"z"
"LAMBDA (t:real): c + t*gamma" )
(("1"
(case
"EXISTS (t:posreal): t<1 AND sigma(k+1,n,LAMBDA (i:nat): abs(b(i))*t^i*abs(gamma)^i) < t^k * abs(cpolynomial(a,n)(c))" )
(("1"
(skeep
-)
(("1"
(label
"bigsig"
-2)
(("1"
(label
"tlt1"
-1)
(("1"
(case
"0<t^k AND t^k < 1" )
(("1"
(label
"ttp"
-1)
(("1"
(hide
"ttp" )
(("1"
(hide
"tlt1" )
(("1"
(case
"abs(cpolynomial(a,n)(z(t))) < abs(cpolynomial(a,n)(c))" )
(("1"
(inst
-8
"z(t)" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(name
"pzo"
"cpolynomial(a, n)(c)" )
(("2"
(replace
-1)
(("2"
(lemma
"csigma_real_triangle" )
(("2"
(inst-cp
-11
"z(t)" )
(("2"
(replace
-12
+)
(("2"
(case
"NOT z(t) - c = t*gamma" )
(("1"
(expand
"z"
1)
(("1"
(propax)
nil
nil ))
nil )
("2"
(replaces
-1)
(("2"
(assert )
(("2"
(name
"FF"
"LAMBDA (i:nat): IF i<=k OR i>n THEN 0 ELSE b(i)*t^i*cpow(gamma)(i) ENDIF" )
(("2"
(case
"cpolynomial(b,n)(t*gamma) = pzo + b(k)*cpow(t*gamma)(k) + csigma(FF,n)" )
(("1"
(replaces
-1
1)
(("1"
(lemma
"abs_triangle" )
(("1"
(inst
-
"b(k) * cpow(t * gamma)(k) +pzo"
"csigma(FF,n)" )
(("1"
(assert )
(("1"
(invoke
(case
"%1 < abs(pzo)" )
(!
-1
2))
(("1"
(assert )
nil
nil )
("2"
(hide
(-1
2))
(("2"
(rewrite
"cpow_mult" )
(("2"
(expand
"gamma"
1)
(("2"
(rewrite
"root_complex_def" )
(("2"
(lemma
"pzo" )
(("2"
(replace
-1
+
:dir
rl)
(("2"
(case
"NOT b(k) * (cpow(t)(k) * (pzo / (-b(k)))) + pzo = pzo*(1-t^k)" )
(("1"
(hide
2)
(("1"
(case
"NOT pzo/(-b(k)) = (-pzo)/b(k)" )
(("1"
(cross-mult
1)
(("1"
(rewrite
"neg_times_neg" )
nil
nil ))
nil )
("2"
(replaces
-1)
(("2"
(rewrite
"div_def" )
(("2"
(assert )
(("2"
(case
"cpow(t)(k) = t^k" )
(("1"
(replaces
-1)
(("1"
(assert )
(("1"
(hide-all-but
(1
2
3))
(("1"
(lemma
"mult_commutes" )
(("1"
(inst
-
"(-pzo)"
_)
(("1"
(inst?)
(("1"
(replaces
-1)
(("1"
(lemma
"associative_mult" )
(("1"
(inst?)
(("1"
(replaces
-1)
(("1"
(lemma
"mult_commutes" )
(("1"
(inst
-
"t^k"
_)
(("1"
(inst?)
(("1"
(replaces
-1)
(("1"
(lemma
"associative_mult" )
(("1"
(inst?)
(("1"
(replaces
-1)
(("1"
(lemma
"associative_mult" )
(("1"
(inst?)
(("1"
(replaces
-1)
(("1"
(rewrite
"div_def"
:dir
rl)
(("1"
(case
"b(k)/b(k) = 1" )
(("1"
(replaces
-1)
(("1"
(assert )
(("1"
(rewrite
"number_fields_negative_times" )
(("1"
(lemma
"number_fields_negative_times" )
(("1"
(inst
-
"1"
"t^k*pzo" )
(("1"
(replaces
-1)
(("1"
(rewrite
"identity_mult" )
(("1"
(rewrite
"mult_commutes" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(cross-mult
1)
(("2"
(rewrite
"identity_mult" )
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"
(hide
2)
(("2"
(rewrite
"cpow_real"
1)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replaces
-1)
(("2"
(rewrite
"abs_mult" )
(("2"
(lemma
"abs_real_rew" )
(("2"
(inst
-
"1-t^k" )
(("2"
(reveal
"ttp" )
(("2"
(flatten)
(("2"
(replaces
-3)
(("2"
(expand
"abs"
1
2)
(("2"
(assert )
(("2"
(assert )
(("2"
(case
"abs(csigma(FF,n)) < t^k*abs(pzo)" )
(("1"
(assert )
nil
nil )
("2"
(hide
2)
(("2"
(copy
"bigsig" )
(("2"
(invoke
(case
"%1 <= %2" )
(!
1
1)
(!
-1
1))
(("1"
(assert )
nil
nil )
("2"
(hide
(-1
2))
(("2"
(lemma
"csigma_real_triangle" )
(("2"
(inst?)
(("2"
(invoke
(case
"%1 <= %2" )
(!
-1
2)
(!
1
2))
(("1"
(assert )
nil
nil )
("2"
(hide
(-1
2))
(("2"
(case
"FORALL (jj:nat): jj<=n IMPLIES sigma(0, jj, LAMBDA (i: nat): abs(FF(i))) <=
sigma(1 + k, jj, LAMBDA (i: nat): abs(b(i)) * abs(gamma) ^ i * t ^ i)")
(("1"
(inst
-
"n" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(hide
2)
(("2"
(induct
"jj" )
(("1"
(assert )
(("1"
(expand
"sigma"
+
2)
(("1"
(expand
"sigma"
1)
(("1"
(expand
"sigma"
1)
(("1"
(expand
"FF"
1)
(("1"
(lemma
"abs_is_0" )
(("1"
(inst
-
"0" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skeep)
(("2"
(assert )
(("2"
(expand
--> --------------------
--> maximum size reached
--> --------------------
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.767 Sekunden
(vorverarbeitet am 2026-05-06)
¤
*© Formatika GbR, Deutschland