Quelle axpy.prf
Sprache: Lisp
(axpy
(FcanonicBounded2 0
(FcanonicBounded2-1 nil 3320508538
("" (skeep)
(("" (typepred "x1" ) (("" (rewrite "FcanonicBounded" ) nil nil ))
nil ))
nil )
((b formal-const-decl "Format" axpy nil )
(Fcanonic? const-decl "bool" float nil )
(float type-eq-decl nil float nil )
(Format type-eq-decl nil float nil )
(radix formal-const-decl "above(1)" axpy nil )
(> const-decl "bool" reals 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 )
(number nonempty-type-decl nil numbers nil )
(above nonempty-type-eq-decl nil integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil )
(FcanonicBounded formula-decl nil float nil ))
nil ))
(MinOrMax_Rlt 0
(MinOrMax_Rlt-1 nil 3320496512
("" (skeep)
(("" (expand "MinOrMax?" )
(("" (split)
(("1" (rewrite "RoundedModeUlp" :subst ("b" "b" "P" "isMin?" ))
(("1" (rewrite "isMin_RoundedMode" ) nil nil )) nil )
("2" (rewrite "RoundedModeUlp" :subst ("b" "b" "P" "isMax?" ))
(("2" (rewrite "isMax_RoundedMode" ) nil nil )) nil ))
nil ))
nil ))
nil )
((MinOrMax? const-decl "bool" axpy nil )
(isMax? const-decl "bool" float nil )
(isMax_RoundedMode formula-decl nil float nil )
(RoundedModeUlp formula-decl nil float nil )
(Format type-eq-decl nil float nil )
(float type-eq-decl nil float nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(Fbounded? const-decl "bool" float nil )
(RND type-eq-decl nil float nil )
(isMin? const-decl "bool" float nil )
(b formal-const-decl "Format" axpy 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 )
(above nonempty-type-eq-decl nil integers nil )
(radix formal-const-decl "above(1)" axpy nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(isMin_RoundedMode formula-decl nil float nil )
(real_minus_real_is_real application-judgement "real" reals nil ))
shostak))
(MinOrMax_Fopp_TCC1 0
(MinOrMax_Fopp_TCC1-1 nil 3320496511
("" (skeep) (("" (rewrite "FoppBounded" ) nil nil )) nil )
((FoppBounded formula-decl nil float nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(Format type-eq-decl nil float nil )
(b formal-const-decl "Format" axpy nil )
(float type-eq-decl nil float 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 )
(above nonempty-type-eq-decl nil integers nil )
(radix formal-const-decl "above(1)" axpy nil ))
nil ))
(MinOrMax_Fopp 0
(MinOrMax_Fopp-1 nil 3320496618
("" (skeep)
(("" (expand "MinOrMax?" )
(("" (split)
(("1" (skosimp*) (("1" (rewrite "MinOppMax" ) nil nil )) nil )
("2" (skosimp*) (("2" (rewrite "MaxOppMin" ) nil nil )) nil ))
nil ))
nil ))
nil )
((MinOrMax? const-decl "bool" axpy nil )
(MaxOppMin formula-decl nil float nil )
(radix formal-const-decl "above(1)" axpy nil )
(above 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 )
(float type-eq-decl nil float nil )
(b formal-const-decl "Format" axpy nil )
(Format type-eq-decl nil float nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(MinOppMax formula-decl nil float nil ))
shostak))
(MinOrMax1_TCC1 0
(MinOrMax1_TCC1-1 nil 3320496511
("" (skeep)
(("" (rewrite "FcanonicBounded" )
(("" (rewrite "FpredCanonic" ) nil nil )) nil ))
nil )
((FcanonicBounded formula-decl nil float nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(Format type-eq-decl nil float nil )
(b formal-const-decl "Format" axpy nil )
(float type-eq-decl nil float nil )
(Fpred const-decl "float" float 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 )
(above nonempty-type-eq-decl nil integers nil )
(radix formal-const-decl "above(1)" axpy nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(FpredCanonic formula-decl nil float nil ))
nil ))
(MinOrMax1_TCC2 0
(MinOrMax1_TCC2-1 nil 3320504768
("" (skeep) (("" (rewrite "FcanonicBounded" ) nil nil )) nil )
((FcanonicBounded formula-decl nil float nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(Format type-eq-decl nil float nil )
(b formal-const-decl "Format" axpy nil )
(float type-eq-decl nil float 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 )
(above nonempty-type-eq-decl nil integers nil )
(radix formal-const-decl "above(1)" axpy nil )
(real_minus_real_is_real application-judgement "real" reals nil ))
nil ))
(MinOrMax1 0
(MinOrMax1-1 nil 3320504301
("" (skeep)
(("" (case "z <= FtoR(f)" )
(("1" (expand "abs" -4)
(("1" (grind-reals)
(("1" (expand "MinOrMax?" )
(("1" (skosimp*)
(("1" (hide 1)
(("1" (expand "isMax?" )
(("1" (skosimp*)
(("1" (lemma "FsuccFpred" :subst ("f" "f" "b" "b" ))
(("1" (split)
(("1" (replace -1 1 :dir rl)
(("1"
(case-replace
"FtoR(f!1)=FtoR(Fnormalize(b)(f!1))" )
(("1" (rewrite "FsuccProp" )
(("1"
(trans-ineq 1 "z" :strict 1)
(("1"
(trans-ineq
1
" FtoR[radix](f)-Fulp(b)(Fpred(b)(f))"
:strict
2)
(("1"
(rewrite "FpredDiff" :dir rl)
(("1" (assert ) nil nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (rewrite "FpredCanonic" ) nil nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (flip-ineq 1)
(("2" (expand "abs" -4)
(("2" (grind-reals)
(("2" (expand "MinOrMax?" )
(("2" (skosimp*)
(("2" (hide 2)
(("2" (expand "isMin?" )
(("2" (skosimp*)
(("2"
(lemma "FpredFsucc" :subst ("f" "f" "b" "b" ))
(("2" (split)
(("1" (replace -1 1 :dir rl)
(("1"
(case-replace
"FtoR(f!1)=FtoR(Fnormalize(b)(f!1))" )
(("1"
(rewrite "FpredProp" )
(("1"
(trans-ineq 1 "z" :strict 2)
(("1"
(trans-ineq
1
"FtoR(f)+Fulp(b)(Fpred(b)(f))"
:strict
1)
(("1" (assert ) nil nil )
("2"
(trans-ineq
1
"FtoR(f)+Fulp(b)(f)" )
(("1"
(assert )
(("1"
(rewrite "FulpFpred1" )
nil
nil ))
nil )
("2"
(rewrite "FsuccDiff" :dir rl)
(("2" (assert ) nil nil ))
nil )
("3"
(skosimp*)
(("3"
(rewrite "FcanonicBounded" )
nil
nil ))
nil )
("4"
(rewrite "FcanonicBounded" )
nil
nil ))
nil ))
nil ))
nil )
("2"
(rewrite "FsuccCanonic" )
nil
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((FtoR const-decl "real" float nil )
(float type-eq-decl nil float nil )
(radix formal-const-decl "above(1)" axpy nil )
(above nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals 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 )
(int nonempty-type-eq-decl nil integers 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_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 )
(isMax? const-decl "bool" float nil )
(FsuccFpred formula-decl nil float nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(Format type-eq-decl nil float nil )
(b formal-const-decl "Format" axpy nil )
(Fpred const-decl "float" float nil )
(FsuccProp formula-decl nil float nil )
(Fulp const-decl "real" float nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(FpredDiff formula-decl nil float nil )
(< const-decl "bool" reals nil )
(FpredCanonic formula-decl nil float nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(Fbounded? const-decl "bool" float nil )
(Fcanonic? const-decl "bool" float nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(Fnormalize def-decl
"{x: (Fcanonic?(b)) | FtoR(x) = FtoR(f):: real AND Fexp(x) <= Fexp(f)}"
float nil )
(MinOrMax? const-decl "bool" axpy nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(FsuccCanonic formula-decl nil float nil )
(both_sides_plus_le1 formula-decl nil real_props nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(FulpFpred1 formula-decl nil float nil )
(FsuccDiff formula-decl nil float nil )
(FcanonicBounded formula-decl nil float nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(FpredProp formula-decl nil float nil )
(Fsucc const-decl "float" float nil )
(FpredFsucc formula-decl nil float nil )
(isMin? const-decl "bool" float nil )
(minus_real_is_real application-judgement "real" reals nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_minus_real_is_real application-judgement "real" reals nil ))
shostak))
(MinOrMax2_TCC1 0
(MinOrMax2_TCC1-1 nil 3320505812
("" (skeep) (("" (rewrite "FcanonicBounded" ) nil nil )) nil )
((FcanonicBounded formula-decl nil float nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(Format type-eq-decl nil float nil )
(b formal-const-decl "Format" axpy nil )
(float type-eq-decl nil float 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 )
(above nonempty-type-eq-decl nil integers nil )
(radix formal-const-decl "above(1)" axpy nil ))
nil ))
(MinOrMax2 0
(MinOrMax2-1 nil 3320505496
("" (skeep)
(("" (expand * "MinOrMax?" "isMin?" )
(("" (skosimp*)
(("" (split)
(("1" (propax) nil nil )
("2" (skosimp*)
(("2" (hide 2)
(("2" (lemma "FpredFsucc" :subst ("f" "f" "b" "b" ))
(("2"
(case-replace "FtoR(f!1)=FtoR(Fnormalize(b)(f!1))" )
(("1" (split)
(("1" (replace -1 1 :dir rl)
(("1" (rewrite "FpredProp" )
(("1" (hide 2 -1 -2)
(("1" (trans-ineq 1 "z" :strict 2)
(("1" (expand "abs" -4)
(("1"
(trans-ineq
1
"FtoR(f)+Fulp(b)(f)"
:strict
1)
(("1" (assert ) nil nil )
("2"
(rewrite "FsuccDiff" :dir rl)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (rewrite "FsuccCanonic" ) nil nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((isMin? const-decl "bool" float nil )
(MinOrMax? const-decl "bool" axpy nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(FtoR const-decl "real" float nil )
(Fbounded? const-decl "bool" float nil )
(Fcanonic? const-decl "bool" float nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(<= const-decl "bool" reals nil )
(Fnormalize def-decl
"{x: (Fcanonic?(b)) | FtoR(x) = FtoR(f):: real AND Fexp(x) <= Fexp(f)}"
float nil )
(FsuccCanonic formula-decl nil float nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(FsuccDiff formula-decl nil float nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(Fulp const-decl "real" float nil ) (< const-decl "bool" reals 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 )
(FpredProp formula-decl nil float nil )
(Fsucc const-decl "float" float nil )
(FpredFsucc formula-decl nil float nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(Format type-eq-decl nil float nil )
(b formal-const-decl "Format" axpy nil )
(float type-eq-decl nil float 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 )
(above nonempty-type-eq-decl nil integers nil )
(radix formal-const-decl "above(1)" axpy nil )
(real_minus_real_is_real application-judgement "real" reals nil ))
shostak))
(MinOrMax3_TCC1 0
(MinOrMax3_TCC1-1 nil 3320506118
("" (skeep) (("" (rewrite "FcanonicBounded" ) nil nil )) nil )
((FcanonicBounded formula-decl nil float nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(Format type-eq-decl nil float nil )
(b formal-const-decl "Format" axpy nil )
(float type-eq-decl nil float 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 )
(above nonempty-type-eq-decl nil integers nil )
(radix formal-const-decl "above(1)" axpy nil ))
nil ))
(MinOrMax3 0
(MinOrMax3-1 nil 3320505840
("" (skeep)
(("" (case "z <= FtoR(f)" )
(("1" (expand "abs" -4)
(("1" (grind-reals)
(("1" (expand * "MinOrMax?" "isMax?" )
(("1" (skosimp*)
(("1" (hide 1)
(("1" (lemma "FsuccFpred" :subst ("f" "f" "b" "b" ))
(("1" (split)
(("1" (replace -1 1 :dir rl)
(("1"
(case-replace
"FtoR(f!1)=FtoR(Fnormalize(b)(f!1))" )
(("1" (rewrite "FsuccProp" )
(("1" (hide 2 -1 -2)
(("1" (trans-ineq 1 "z" :strict 1)
(("1"
(trans-ineq
1
"FtoR[radix](f) -Fulp(b)(f)"
:strict
2)
(("1"
(rewrite "FulpCanonic" )
(("1"
(case-replace
"f=(# Fnum:=0, Fexp:=-dExp(b) #)" )
(("1"
(hide-all-but 1)
(("1"
(expand * "Fpred" "FtoR" )
(("1"
(grind-reals)
(("1"
(lemma "radix_less_vNum" )
(("1"
(inst -1 "b" )
(("1"
(hide 1)
(("1"
(grind-reals)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(rewrite
"FcanonicUnique"
:subst
("b"
"b"
"p"
"f"
"q"
"(# Fnum := 0, Fexp := -dExp(b) #)" ))
(("1"
(rewrite -3 :dir rl)
(("1"
(expand "FtoR" 1)
(("1" (assert ) nil nil ))
nil ))
nil )
("2"
(hide-all-but 1)
(("2"
(expand *
"Fcanonic?"
"Fsubnormal?"
"Fbounded?" )
(("2"
(grind-reals)
(("2"
(expand "abs" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("2" (rewrite "FpredCanonic" ) nil nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (flip-ineq 1)
(("2" (expand * "MinOrMax?" "isMin?" )
(("2" (skosimp*)
(("2" (split)
(("1" (assert ) nil nil )
("2" (skosimp*)
(("2" (expand "abs" -5)
(("2" (grind-reals)
(("2" (hide 2)
(("2"
(lemma "FpredFsucc" :subst ("f" "f" "b" "b" ))
(("2" (split)
(("1" (replace -1 1 :dir rl)
(("1"
(case-replace
"FtoR(f!1)=FtoR(Fnormalize(b)(f!1))" )
(("1"
(rewrite "FpredProp" )
(("1"
(hide -1 -2 2)
(("1"
(trans-ineq 1 "z" :strict 2)
(("1"
(trans-ineq
1
"FtoR(f)+Fulp(b)(f)"
:strict
1)
(("1" (assert ) nil nil )
("2"
(rewrite "FulpCanonic" )
(("2"
(case-replace
"f=(# Fnum:=0, Fexp:=-dExp(b) #)" )
(("1"
(hide-all-but 1)
(("1"
(expand * "Fsucc" "FtoR" )
(("1"
(grind-reals)
(("1"
(hide 1)
(("1"
(lemma
"radix_less_vNum" )
(("1"
(inst?)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(rewrite
"FcanonicUnique"
:subst
("b"
"b"
"p"
"f"
"q"
"(# Fnum := 0, Fexp := -dExp(b) #)" ))
(("1"
(rewrite -4 :dir rl)
(("1"
(expand "FtoR" 1)
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(hide-all-but 1)
(("2"
(expand *
"Fcanonic?"
"Fsubnormal?"
"Fbounded?" )
(("2"
(expand "abs" )
(("2"
(grind-reals)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(rewrite "FsuccCanonic" )
nil
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil )
("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((FtoR const-decl "real" float nil )
(float type-eq-decl nil float nil )
(radix formal-const-decl "above(1)" axpy nil )
(above nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals 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 )
(int nonempty-type-eq-decl nil integers 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_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 )
(FsuccFpred formula-decl nil float nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(Format type-eq-decl nil float nil )
(b formal-const-decl "Format" axpy nil )
(Fpred const-decl "float" float nil )
(FsuccProp formula-decl nil float nil )
(< const-decl "bool" reals nil )
(FulpCanonic formula-decl nil float nil )
(posrat_exp application-judgement "posrat" exponentiation nil )
(nnrat_exp application-judgement "nnrat" exponentiation nil )
(FcanonicUnique formula-decl nil float nil )
(nnrat_times_nnrat_is_nnrat application-judgement "nonneg_rat"
rationals nil )
(zero_times1 formula-decl nil real_props nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(Fsubnormal? const-decl "bool" float nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(int_abs_is_nonneg application-judgement "{j: nonneg_int | j >= i}"
real_defs nil )
(times_div2 formula-decl nil real_props nil )
(nzrat_times_nzrat_is_nzrat application-judgement "nzrat" rationals
nil )
(minus_nzint_is_nzint application-judgement "nzint" integers nil )
(nzrat_div_nzrat_is_nzrat application-judgement "nzrat" rationals
nil )
(div_mult_pos_le1 formula-decl nil real_props nil )
(posrat_times_posrat_is_posrat application-judgement "posrat"
rationals nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(radix_less_vNum formula-decl nil float nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(minus_int_is_int application-judgement "int" integers nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(Fulp const-decl "real" float nil )
(FpredCanonic formula-decl nil float nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(Fbounded? const-decl "bool" float nil )
(Fcanonic? const-decl "bool" float nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(Fnormalize def-decl
"{x: (Fcanonic?(b)) | FtoR(x) = FtoR(f):: real AND Fexp(x) <= Fexp(f)}"
float nil )
(MinOrMax? const-decl "bool" axpy nil )
(isMax? const-decl "bool" float nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(isMin? const-decl "bool" float nil )
(FsuccCanonic formula-decl nil float nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(div_mult_pos_le2 formula-decl nil real_props nil )
(posrat_div_posrat_is_posrat application-judgement "posrat"
rationals nil )
(FpredProp formula-decl nil float nil )
(Fsucc const-decl "float" float nil )
(FpredFsucc formula-decl nil float nil )
(minus_real_is_real application-judgement "real" reals nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_minus_real_is_real application-judgement "real" reals nil ))
shostak))
(RoundLe_TCC1 0
(RoundLe_TCC1-1 nil 3320498426
("" (skeep) (("" (rewrite "FcanonicBounded" ) nil nil )) nil )
((FcanonicBounded formula-decl nil float nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(Format type-eq-decl nil float nil )
(b formal-const-decl "Format" axpy nil )
(float type-eq-decl nil float 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 )
(above nonempty-type-eq-decl nil integers nil )
(radix formal-const-decl "above(1)" axpy nil ))
nil ))
(RoundLe_TCC2 0
(RoundLe_TCC2-1 nil 3320498426
("" (skeep)
(("" (expand * "FtoR" "abs" ) (("" (grind-reals) nil nil )) nil )) nil )
((abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(FtoR const-decl "real" float nil )
(nonzero_times1 formula-decl nil real_props nil )
(nonzero_times2 formula-decl nil real_props nil )
(rat_times_rat_is_rat application-judgement "rat" rationals nil )
(nnrat_exp application-judgement "nnrat" exponentiation 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 )
(minus_int_is_int application-judgement "int" integers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
nil ))
(RoundLe_TCC3 0
(RoundLe_TCC3-1 nil 3320498426
("" (skosimp*) (("" (field -3) (("" (grind) nil nil )) nil )) nil )
((rat_minus_rat_is_rat application-judgement "rat" rationals nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(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 )
(/= const-decl "boolean" notequal nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(* const-decl "[numfield, numfield -> numfield]" 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 )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(int nonempty-type-eq-decl nil integers 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 )
(> const-decl "bool" reals nil )
(above nonempty-type-eq-decl nil integers nil )
(radix formal-const-decl "above(1)" axpy nil )
(float type-eq-decl nil float nil )
(nzrat_div_nzrat_is_nzrat application-judgement "nzrat" rationals
nil )
(int_abs_is_nonneg application-judgement "{j: nonneg_int | j >= i}"
real_defs nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(both_sides_times1_imp formula-decl nil extra_real_props nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nznum nonempty-type-eq-decl nil number_fields nil )
(/ const-decl "[numfield, nznum -> numfield]" number_fields nil )
(bijective? const-decl "bool" functions nil )
(id const-decl "(bijective?[T, T])" identity nil )
(TRUE const-decl "bool" booleans nil )
(rat_times_rat_is_rat application-judgement "rat" rationals nil )
(even_minus_odd_is_odd application-judgement "odd_int" integers
nil )
(minus_int_is_int application-judgement "int" integers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_minus_real_is_real application-judgement "real" reals nil ))
nil ))
(RoundLe 0
(RoundLe-1 nil 3320498427
("" (assert )
(("" (skeep)
(("" (assert )
(("" (case "0 < abs(Fnum(f))" )
(("1" (case "0 < 1 - 1 / (2 * abs(Fnum(f)))" )
(("1" (mult-by 2 "(1 - 1 / (2 * abs(Fnum(f))))" )
(("1"
(case-replace
" abs(FtoR[radix](f)) * (1 - 1 / (2 * abs(Fnum(f)))) =
abs(FtoR(f))-Fulp(b)(f)/2")
(("1" (move-terms 2 l 2)
(("1" (move-terms 2 r 1)
(("1" (trans-ineq 2 "abs(FtoR(f)-z)" )
(("1" (expand "abs" 1)
(("1" (grind-reals) nil nil )) nil )
("2" (rewrite "ClosestUlp" )
(("2" (rewrite "FcanonicBounded" ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2 3)
(("2" (field 1)
(("2" (rewrite "FulpCanonic" )
(("2" (expand "FtoR" 1)
(("2" (rewrite "abs_mult" )
(("2" (expand "abs" 1 2)
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (case "1 <= abs(Fnum(f))" )
(("1" (field 1) nil nil )
("2" (hide-all-but (-1 1)) (("2" (grind) nil nil )) nil ))
nil ))
nil )
("2" (hide-all-but (1 2))
(("2" (expand * "abs" "FtoR" ) (("2" (grind-reals) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((float type-eq-decl nil float nil )
(radix formal-const-decl "above(1)" axpy nil )
(above nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals 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 )
(int nonempty-type-eq-decl nil integers nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(>= const-decl "bool" reals nil ) (< const-decl "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 )
(even_minus_odd_is_odd application-judgement "odd_int" integers
nil )
(both_sides_times_pos_ge1_imp formula-decl nil extra_real_props
nil )
(minus_int_is_int application-judgement "int" integers nil )
(both_sides_times_pos_le1 formula-decl nil real_props nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(FtoR const-decl "real" float nil )
(f skolem-const-decl "float[radix]" axpy nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(div_cancel2 formula-decl nil real_props nil )
(nonzero_real nonempty-type-eq-decl nil reals nil )
(FulpCanonic formula-decl nil float nil )
(posrat_exp application-judgement "posrat" exponentiation nil )
(nnrat_exp application-judgement "nnrat" exponentiation nil )
(^ const-decl "real" exponentiation nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(abs_mult formula-decl nil real_props nil )
(rat_abs_is_nonneg application-judgement "{r: nonneg_rat | r >= q}"
real_defs nil )
(nzrat_abs_is_pos application-judgement "{r: posrat | r >= q}"
real_defs nil )
(nnrat_times_nnrat_is_nnrat application-judgement "nonneg_rat"
rationals nil )
(minus_nzint_is_nzint application-judgement "nzint" integers nil )
(minus_even_is_even application-judgement "even_int" integers nil )
(rat_times_rat_is_rat application-judgement "rat" rationals nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(TRUE const-decl "bool" booleans nil )
(id const-decl "(bijective?[T, T])" identity nil )
(bijective? const-decl "bool" functions nil )
(both_sides_times1 formula-decl nil real_props nil )
(rat nonempty-type-eq-decl nil rationals nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(<= const-decl "bool" reals nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
real_types nil )
(times_div1 formula-decl nil real_props nil )
(both_sides_times2 formula-decl nil real_props nil )
(cross_mult formula-decl nil real_props nil )
(minus_real_is_real application-judgement "real" reals nil )
(FcanonicBounded formula-decl nil float nil )
(ClosestUlp formula-decl nil float nil )
(real_times_real_is_real application-judgement "real" reals nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(Format type-eq-decl nil float nil )
(Fbounded? const-decl "bool" float nil )
(Fulp const-decl "real" float nil )
(b formal-const-decl "Format" axpy 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 )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nonzero_times2 formula-decl nil 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 )
(int_abs_is_nonneg application-judgement "{j: nonneg_int | j >= i}"
real_defs nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(nzrat_div_nzrat_is_nzrat application-judgement "nzrat" rationals
nil )
(rat_minus_rat_is_rat application-judgement "rat" rationals nil ))
shostak))
(RoundGe_TCC1 0
(RoundGe_TCC1-1 nil 3320499635
("" (skeep) (("" (field -3) nil nil )) nil )
((int_abs_is_nonneg application-judgement "{j: nonneg_int | j >= i}"
real_defs nil )
(nzrat_div_nzrat_is_nzrat application-judgement "nzrat" rationals
nil )
(rat_plus_rat_is_rat application-judgement "rat" rationals nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(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 )
(/= const-decl "boolean" notequal nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(* const-decl "[numfield, numfield -> numfield]" 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 )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(int nonempty-type-eq-decl nil integers 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 )
(> const-decl "bool" reals nil )
(above nonempty-type-eq-decl nil integers nil )
(radix formal-const-decl "above(1)" axpy nil )
(float type-eq-decl nil float nil ))
nil ))
(RoundGe 0
(RoundGe-1 nil 3320499635
("" (skeep)
(("" (case "0 < abs(Fnum(f))" )
(("1" (case "0 < 1 + 1 / (2 * abs(Fnum(f)))" )
(("1" (mult-by 2 "(1 + 1 / (2 * abs(Fnum(f))))" )
(("1" (assert )
(("1"
(case-replace
" abs(FtoR[radix](f)) * (1 / (2 * abs(Fnum(f)))) =
Fulp(b)(f)/2")
(("1" (move-terms 2 r 1)
(("1" (trans-ineq 2 "abs(FtoR(f)-z)" )
(("1" (hide-all-but 1)
(("1" (expand "abs" ) (("1" (grind-reals) nil nil ))
nil ))
nil )
("2" (rewrite "ClosestUlp" )
(("2" (rewrite "FcanonicBounded" ) nil nil )) nil ))
nil ))
nil )
("2" (field 1)
(("2" (rewrite "FulpCanonic" )
(("2" (hide-all-but 1)
(("2" (expand * "abs" "FtoR" )
(("2" (grind-reals) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (field 1) nil nil ))
nil )
("2" (hide-all-but (1 2))
(("2" (expand * "abs" "FtoR" ) (("2" (grind-reals) nil nil ))
nil ))
nil ))
nil ))
nil )
((float type-eq-decl nil float nil )
(radix formal-const-decl "above(1)" axpy nil )
(above nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals 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 )
(int nonempty-type-eq-decl nil integers nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(>= const-decl "bool" reals nil ) (< const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(both_sides_times_pos_ge1_imp formula-decl nil extra_real_props
nil )
(real_div_nzreal_is_real application-judgement "real" reals nil )
(both_sides_times_pos_le1 formula-decl nil real_props nil )
(posreal nonempty-type-eq-decl nil real_types nil )
(FtoR const-decl "real" float nil )
(f skolem-const-decl "float[radix]" axpy nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(nzrat_div_nzrat_is_nzrat application-judgement "nzrat" rationals
nil )
(int_abs_is_nonneg application-judgement "{j: nonneg_int | j >= i}"
real_defs nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(div_cancel2 formula-decl nil real_props nil )
(nonzero_real nonempty-type-eq-decl nil reals nil )
(b formal-const-decl "Format" axpy nil )
(Fulp const-decl "real" float nil )
(Fbounded? const-decl "bool" float nil )
(Format type-eq-decl nil float nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(minus_real_is_real application-judgement "real" reals nil )
(FcanonicBounded formula-decl nil float nil )
(ClosestUlp formula-decl nil float nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(<= const-decl "bool" reals nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(FulpCanonic formula-decl nil float nil )
(posrat_exp application-judgement "posrat" exponentiation nil )
(nnrat_exp application-judgement "nnrat" exponentiation nil )
(neg_times_lt formula-decl nil real_props nil )
(minus_rat_is_rat application-judgement "rat" rationals nil )
(rat_times_rat_is_rat application-judgement "rat" rationals nil )
(minus_int_is_int application-judgement "int" integers nil )
(TRUE const-decl "bool" booleans nil )
(id const-decl "(bijective?[T, T])" identity nil )
(bijective? const-decl "bool" functions nil )
(both_sides_times1 formula-decl nil real_props nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(real_times_real_is_real application-judgement "real" reals nil )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(rat_plus_rat_is_rat application-judgement "rat" rationals 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 )
(nonzero_times2 formula-decl nil real_props nil ))
shostak))
(ExactSum_Near_TCC1 0
(ExactSum_Near_TCC1-1 nil 3320510642 ("" (subtype-tcc) nil nil )
((real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(int_abs_is_nonneg application-judgement "{j: nonneg_int | j >= i}"
real_defs nil )
(nat_exp application-judgement "nat" exponentiation nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(zero_hat formula-decl nil exponent_props "reals/" )
(radix formal-const-decl "above(1)" axpy nil )
(above 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 )
(vNum const-decl "posnat" float nil )
(Fbounded? const-decl "bool" float nil )
(FtoR const-decl "real" float nil )
(Closest? const-decl "bool" float nil )
(/= const-decl "boolean" notequal nil )
(nnrat_exp application-judgement "nnrat" exponentiation nil )
(posrat_exp application-judgement "posrat" exponentiation nil )
(rat_times_rat_is_rat application-judgement "rat" rationals nil )
(rat_minus_rat_is_rat application-judgement "rat" rationals nil )
(real_minus_real_is_real application-judgement "real" reals nil ))
nil ))
(ExactSum_Near 0
(ExactSum_Near-1 nil 3320510940
("" (skeep)
(("" (lemma "errorBoundedPlus" )
(("" (inst -1 "b" "f" "p" "q" )
(("" (split)
(("1" (skosimp*)
(("1" (case "FtoR(e!1)=0" )
(("1" (assert ) nil nil )
("2" (hide 2)
(("2" (typepred "e!1" )
(("2" (expand "Fbounded?" -1)
(("2" (flatten)
(("2" (expand "FtoR" 1)
(("2" (case "abs(Fnum(e!1)) < 1" )
(("1" (grind-reals) nil nil )
("2" (hide 2)
(("2" (mult-by 1 "radix ^ (-dExp(b))" )
(("2"
(trans-ineq
1
"abs(FtoR[radix](f) - (FtoR[radix](p) + FtoR[radix](q)))"
:strict
2)
(("1"
(trans-ineq 1 "abs(FtoR(e!1))" )
(("1"
(expand "FtoR" 1)
(("1"
(rewrite "abs_mult" )
(("1"
(expand "abs" 1 3)
(("1"
(grind-reals)
(("1"
(rewrite "Exp_increq_1" )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(rewrite -3)
(("2"
(expand "abs" 1)
(("2" (grind-reals) nil nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (propax) nil nil ) ("3" (propax) nil nil )
("4" (propax) nil nil ) ("5" (propax) nil nil ))
nil ))
nil ))
nil ))
nil )
((radix formal-const-decl "above(1)" axpy nil )
(above 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 )
(errorBoundedPlus formula-decl nil float nil )
(Fbounded? const-decl "bool" float nil )
(FtoR const-decl "real" float nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(int_min application-judgement "{k: int | k <= i AND k <= j}"
real_defs nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nnrat_exp application-judgement "nnrat" exponentiation nil )
(posrat_exp application-judgement "posrat" exponentiation nil )
(minus_int_is_int application-judgement "int" integers nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(nonneg_real nonempty-type-eq-decl nil real_types nil )
(>= const-decl "bool" reals nil ) (< const-decl "bool" reals nil )
(int_abs_is_nonneg application-judgement "{j: nonneg_int | j >= i}"
real_defs nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(rat_times_rat_is_rat application-judgement "rat" rationals nil )
(nonzero_times2 formula-decl nil real_props nil )
(both_sides_times_pos_ge1_imp formula-decl nil extra_real_props
nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(/= const-decl "boolean" notequal nil )
(^ const-decl "real" exponentiation nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(posrat_times_posrat_is_posrat application-judgement "posrat"
rationals nil )
(nnrat_times_nnrat_is_nnrat application-judgement "nonneg_rat"
rationals nil )
(abs_mult formula-decl nil real_props nil )
(nzrat_abs_is_pos application-judgement "{r: posrat | r >= q}"
real_defs nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(both_sides_times_pos_le2 formula-decl nil real_props nil )
(Exp_increq_1 formula-decl nil float nil )
(min const-decl "{p: real | p <= m AND p <= n}" real_defs nil )
(<= const-decl "bool" reals nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(float type-eq-decl nil float nil )
(b formal-const-decl "Format" axpy nil )
(Format type-eq-decl nil float nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
--> --------------------
--> maximum size reached
--> --------------------
quality 100%
¤ Dauer der Verarbeitung: 0.42 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland
2026-03-28