products/sources/formale Sprachen/PVS/exact_real_arith image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei: sensor.vdmpp   Sprache: Lisp

Original von: PVS©

(appendix
 (lemma_A1 0
  (lemma_A1-1 nil 3287294470
   ("" (skosimp*)
    (("" (lemma "floor_sqrt_val" ("m" "m!1" "n" "n!1"))
      (("" (grind) nil nil)) nil))
    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)
    (floor_sqrt_val formula-decl nil prelude_aux nil)
    (nonneg_floor_is_nat application-judgement "nat" floor_ceil nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil))
   nil))
 (lemma_A2 0
  (lemma_A2-1 nil 3287294470
   ("" (skeep)
    (("" (expand "round")
      (("" (split)
        (("1" (flatten)
          (("1" (typepred "floor(1/2+p/q)")
            (("1" (replaces -3 :dir rl) (("1" (grind-reals) nil nil))
              nil))
            nil))
          nil)
         ("2" (flatten)
          (("2" (case-replace "1/2+p/q = (q+2*p)/(2*q)")
            (("1" (hide -1)
              (("1" (lemma "floor_val")
                (("1" (inst? -1)
                  (("1" (inst -1 "r") (("1" (assertnil nil)) nil))
                  nil))
                nil))
              nil)
             ("2" (assertnil nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((rat_div_nzrat_is_rat application-judgement "rat" rationals nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (posrat_times_posrat_is_posrat application-judgement "posrat"
     rationals nil)
    (round const-decl "int" prelude_aux nil)
    (nonzero_integer nonempty-type-eq-decl nil integers nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (floor_val formula-decl nil floor_ceil nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (posrat_div_posrat_is_posrat application-judgement "posrat"
     rationals nil)
    (rat_minus_rat_is_rat application-judgement "rat" rationals nil)
    (add_div formula-decl nil real_props nil)
    (div_mult_pos_le2 formula-decl nil real_props nil)
    (both_sides_times_pos_lt2 formula-decl nil real_props nil)
    (both_sides_times_pos_le2 formula-decl nil real_props nil)
    (div_mult_pos_lt1 formula-decl nil real_props nil)
    (times_div2 formula-decl nil real_props nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (int_plus_int_is_int application-judgement "int" integers nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (rat_plus_rat_is_rat application-judgement "rat" rationals 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)
    (integer nonempty-type-from-decl nil integers 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 -> numfield]" number_fields nil)
    (floor const-decl "{i | i <= x & x < i + 1}" floor_ceil nil)
    (/= const-decl "boolean" notequal nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (int 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)
    (posnat nonempty-type-eq-decl nil integers nil))
   nil))
 (lemma_A3 0
  (lemma_A3-1 nil 3287294470
   ("" (skosimp*)
    (("" (lemma "floor_def" ("x" "log2(px!1)"))
      (("" (flatten -1)
        (("" (name-replace "II" "floor(log2(px!1))")
          (("" (split 1)
            (("1" (flatten)
              (("1" (replace -1 * rl)
                (("1" (hide -1)
                  (("1" (lemma "log2_strict_increasing")
                    (("1" (lemma "log2_2_expt_i")
                      (("1" (inst-cp - "i!1")
                        (("1" (inst - "i!1+1")
                          (("1" (expand "strict_increasing?")
                            (("1" (split 1)
                              (("1"
                                (case "2^i!1 > px!1")
                                (("1"
                                  (inst - "px!1" "2^i!1")
                                  (("1" (assertnil nil))
                                  nil)
                                 ("2" (assertnil nil))
                                nil)
                               ("2"
                                (case "px!1>=2 ^ (i!1 + 1)")
                                (("1"
                                  (inst - "2 ^ (i!1 + 1)" "px!1")
                                  (("1" (assertnil nil))
                                  nil)
                                 ("2" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("2" (flatten 1)
              (("2" (lemma "log2_2_expt_i" ("i" "i!1"))
                (("2" (lemma "log2_2_expt_i" ("i" "i!1+1"))
                  (("2" (lemma "log2_strict_increasing")
                    (("2" (expand "strict_increasing?")
                      (("2" (lemma "trich_lt" ("x" "i!1" "y" "II"))
                        (("2" (split -1)
                          (("1" (expand "<=" -5)
                            (("1" (split -5)
                              (("1"
                                (inst-cp - "2^i!1" "px!1")
                                (("1"
                                  (inst - "px!1" "2^(i!1+1)")
                                  (("1" (assertnil nil))
                                  nil))
                                nil)
                               ("2" (assertnil nil))
                              nil))
                            nil)
                           ("2" (propax) nil nil)
                           ("3" (expand "<=" -5)
                            (("3" (split -5)
                              (("1"
                                (inst-cp - "2^i!1" "px!1")
                                (("1"
                                  (inst - "px!1" "2^(i!1+1)")
                                  (("1" (assertnil nil))
                                  nil))
                                nil)
                               ("2" (assertnil nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((log2 const-decl "real" prelude_aux nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (floor_def formula-decl nil floor_ceil 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)
    (integer nonempty-type-from-decl nil integers 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)
    (floor const-decl "{i | i <= x & x < i + 1}" floor_ceil nil)
    (trich_lt formula-decl nil real_props nil)
    (log2_2_expt_i formula-decl nil prelude_aux nil)
    (int_plus_int_is_int application-judgement "int" integers nil)
    (posrat_exp application-judgement "posrat" exponentiation nil)
    (nnrat_exp application-judgement "nnrat" exponentiation 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)
    (^ const-decl "real" exponentiation nil)
    (/= const-decl "boolean" notequal nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (strict_increasing? const-decl "bool" real_fun_preds "reals/")
    (int nonempty-type-eq-decl nil integers nil)
    (log2_strict_increasing formula-decl nil prelude_aux nil))
   nil))
 (lemma_A4_TCC1 0
  (lemma_A4_TCC1-1 nil 3287294470 ("" (subtype-tcc) nil nil)
   ((ln const-decl "real" ln_exp "lnexp_fnd/")
    (Integral const-decl "real" integral_def "analysis/")
    (log2 const-decl "real" prelude_aux nil)
    (/= const-decl "boolean" notequal nil)
    (int_plus_int_is_int application-judgement "int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil))
   nil))
 (lemma_A4_TCC2 0
  (lemma_A4_TCC2-1 nil 3287294470 ("" (subtype-tcc) nil nil)
   ((ln const-decl "real" ln_exp "lnexp_fnd/")
    (Integral const-decl "real" integral_def "analysis/")
    (log2 const-decl "real" prelude_aux nil)
    (/= const-decl "boolean" notequal nil)
    (int_plus_int_is_int application-judgement "int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil))
   nil))
 (lemma_A4_TCC3 0
  (lemma_A4_TCC3-1 nil 3287294470 ("" (subtype-tcc) nil nil)
   ((ln const-decl "real" ln_exp "lnexp_fnd/")
    (Integral const-decl "real" integral_def "analysis/")
    (log2 const-decl "real" prelude_aux nil)
    (^ const-decl "real" exponentiation nil)
    (int_plus_int_is_int application-judgement "int" integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil))
   nil))
 (lemma_A4 0
  (lemma_A4-1 nil 3287294470
   ("" (skosimp*)
    (("" (name "l!1" "floor(log2(pn!1))")
      (("" (replace -1)
        (("" (lemma "lemma_A3" ("i" "l!1" "px" "pn!1"))
          (("" (assert)
            (("" (flatten)
              (("" (lemma "posreal_exp" ("i" "-l!1" "x" "2"))
                ((""
                  (lemma "both_sides_times_pos_lt1"
                   ("x" "pn!1" "y" "2 ^ (1 + l!1)" "pz" "2 ^ -l!1"))
                  ((""
                    (lemma "both_sides_times_pos_le1"
                     ("y" "pn!1" "x" "2 ^ l!1" "pz" "2 ^ -l!1"))
                    (("" (lemma "expt_div" ("n0x" "2" "j" "l!1"))
                      (("" (rewrite "expt_inverse")
                        (("" (inst-cp - "l!1")
                          (("" (inst - "l!1+1")
                            (("" (replace -1)
                              ((""
                                (replace -2)
                                ((""
                                  (hide -1 -2)
                                  ((""
                                    (lemma
                                     "expt_inverse"
                                     ("n0x" "2" "i" "l!1"))
                                    ((""
                                      (replace -1 * rl)
                                      ((""
                                        (rewrite "expt_x0")
                                        ((""
                                          (rewrite "expt_x1")
                                          ((""
                                            (case "e1!1 <= x!1")
                                            (("1"
                                              (lemma
                                               "A4_lemma_p"
                                               ("x"
                                                "x!1"
                                                "e1"
                                                "e1!1"
                                                "e2"
                                                "e2!1"
                                                "n"
                                                "n!1"
                                                "pn"
                                                "pn!1"
                                                "l"
                                                "l!1"))
                                              (("1"
                                                (assert)
                                                (("1"
                                                  (replace -5)
                                                  (("1"
                                                    (replace -4)
                                                    (("1"
                                                      (propax)
                                                      nil
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil)
                                               ("2"
                                                (hide 2)
                                                (("2"
                                                  (lemma
                                                   "log2_strict_increasing")
                                                  (("2"
                                                    (expand
                                                     "strict_increasing?")
                                                    (("2"
                                                      (typepred "pn!1")
                                                      (("2"
                                                        (case-replace
                                                         "pn!1=1")
                                                        (("1"
                                                          (expand
                                                           "log2")
                                                          (("1"
                                                            (rewrite
                                                             "ln_1")
                                                            (("1"
                                                              (rewrite
                                                               "floor_int")
                                                              (("1"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (case-replace
                                                           "pn!1=2")
                                                          (("1"
                                                            (expand
                                                             "log2"
                                                             -11)
                                                            (("1"
                                                              (rewrite
                                                               "div_simp"
                                                               -11)
                                                              (("1"
                                                                (rewrite
                                                                 "floor_int"
                                                                 -11)
                                                                (("1"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (inst
                                                             -
                                                             "2"
                                                             "pn!1")
                                                            (("2"
                                                              (assert)
                                                              (("2"
                                                                (hide-all-but
                                                                 (-1
                                                                  -2
                                                                  -10
                                                                  1
                                                                  2
                                                                  3))
                                                                (("2"
                                                                  (lemma
                                                                   "floor_def"
                                                                   ("x"
                                                                    "log2(pn!1)"))
                                                                  (("2"
                                                                    (flatten)
                                                                    (("2"
                                                                      (expand
                                                                       "log2"
                                                                       -4
                                                                       1)
                                                                      (("2"
                                                                        (rewrite
                                                                         "div_simp")
                                                                        (("2"
                                                                          (assert)
                                                                          nil
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2"
                                              (rewrite
                                               "le_equiv_not_lt"
                                               1)
                                              (("2"
                                                (case "-e1!1 < x!1")
                                                (("1"
                                                  (lemma
                                                   "A4_lemma_0"
                                                   ("x"
                                                    "x!1"
                                                    "e1"
                                                    "e1!1"
                                                    "e2"
                                                    "e2!1"
                                                    "n"
                                                    "n!1"
                                                    "pn"
                                                    "pn!1"
                                                    "l"
                                                    "l!1"))
                                                  (("1"
                                                    (assert)
                                                    (("1"
                                                      (assert)
                                                      nil
                                                      nil))
                                                    nil)
                                                   ("2"
                                                    (hide-all-but
                                                     (-9 1))
                                                    (("2"
                                                      (case-replace
                                                       "pn!1=1")
                                                      (("1"
                                                        (expand "log2")
                                                        (("1"
                                                          (rewrite
                                                           "ln_1")
                                                          (("1"
                                                            (rewrite
                                                             "floor_int")
                                                            (("1"
                                                              (assert)
                                                              nil
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil)
                                                       ("2"
                                                        (case-replace
                                                         "pn!1=2")
                                                        (("1"
                                                          (expand
                                                           "log2")
                                                          (("1"
                                                            (rewrite
                                                             "div_simp")
                                                            (("1"
                                                              (rewrite
                                                               "floor_int")
                                                              (("1"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (lemma
                                                           "log2_strict_increasing")
                                                          (("2"
                                                            (expand
                                                             "strict_increasing?")
                                                            (("2"
                                                              (inst
                                                               -
                                                               "2"
                                                               "pn!1")
                                                              (("2"
                                                                (expand
                                                                 "log2"
                                                                 -1
                                                                 1)
                                                                (("2"
                                                                  (rewrite
                                                                   "div_simp")
                                                                  (("2"
                                                                    (assert)
                                                                    nil
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil)
                                                 ("2"
                                                  (rewrite
                                                   "lt_equiv_not_le"
                                                   1)
                                                  (("2"
                                                    (lemma
                                                     "A4_lemma_n"
                                                     ("x"
                                                      "x!1"
                                                      "e1"
                                                      "e1!1"
                                                      "e2"
                                                      "e2!1"
                                                      "n"
                                                      "n!1"
                                                      "pn"
                                                      "pn!1"
                                                      "l"
                                                      "l!1"))
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (assert)
                                                        nil
                                                        nil))
                                                      nil)
                                                     ("2"
                                                      (hide-all-but
                                                       (-9 1))
                                                      (("2"
                                                        (case-replace
                                                         "pn!1=1")
                                                        (("1"
                                                          (expand
                                                           "log2")
                                                          (("1"
                                                            (rewrite
                                                             "ln_1")
                                                            (("1"
                                                              (rewrite
                                                               "floor_int")
                                                              (("1"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (case-replace
                                                           "pn!1=2")
                                                          (("1"
                                                            (expand
                                                             "log2")
                                                            (("1"
                                                              (rewrite
                                                               "floor_int")
                                                              (("1"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (lemma
                                                             "log2_strict_increasing")
                                                            (("2"
                                                              (expand
                                                               "strict_increasing?")
                                                              (("2"
                                                                (inst
                                                                 -
                                                                 "2"
                                                                 "pn!1")
                                                                (("2"
                                                                  (expand
                                                                   "log2"
                                                                   -1
                                                                   1)
                                                                  (("2"
                                                                    (rewrite
                                                                     "div_simp")
                                                                    (("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))
    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)
    (log2 const-decl "real" prelude_aux 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)
    (floor const-decl "{i | i <= x & x < i + 1}" floor_ceil nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (< const-decl "bool" reals nil) (<= const-decl "bool" reals nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (integer nonempty-type-from-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)
    (lemma_A3 formula-decl nil appendix nil)
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (/= const-decl "boolean" notequal nil)
    (^ const-decl "real" exponentiation nil)
    (expt_div formula-decl nil exponentiation nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (expt_x1 formula-decl nil exponentiation nil)
    (le_equiv_not_lt formula-decl nil prelude_aux nil)
    (lt_equiv_not_le formula-decl nil prelude_aux nil)
    (A4_lemma_n formula-decl nil prelude_A4 nil)
    (A4_lemma_0 formula-decl nil prelude_A4 nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (A4_lemma_p formula-decl nil prelude_A4 nil)
    (nat nonempty-type-eq-decl nil naturalnumbers 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)
    (posrat_times_posrat_is_posrat application-judgement "posrat"
     rationals nil)
    (log2_strict_increasing formula-decl nil prelude_aux nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (div_simp formula-decl nil real_props nil)
    (floor_def formula-decl nil floor_ceil nil)
    (ln const-decl "real" ln_exp "lnexp_fnd/")
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (floor_int formula-decl nil floor_ceil nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (ln_1 formula-decl nil ln_exp "lnexp_fnd/")
    (strict_increasing? const-decl "bool" real_fun_preds "reals/")
    (expt_x0 formula-decl nil exponentiation nil)
    (posrat_div_posrat_is_posrat application-judgement "posrat"
     rationals nil)
    (expt_inverse formula-decl nil exponentiation nil)
    (both_sides_times_pos_le1 formula-decl nil real_props nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (posreal_exp judgement-tcc nil exponentiation nil)
    (nnrat_exp application-judgement "nnrat" exponentiation nil)
    (posrat_exp application-judgement "posrat" exponentiation 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)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (int_plus_int_is_int application-judgement "int" integers nil))
   nil))
 (epsilon_log2_aux 0
  (epsilon_log2_aux-1 nil 3287294470
   ("" (induct "n")
    (("1" (assertnil nil) ("2" (assertnil nil)
     ("3" (skosimp*)
      (("3" (case "j!1=0")
        (("1" (inst + "1") (("1" (grind) nil nil)) nil)
         ("2" (assert)
          (("2" (skosimp*)
            (("2" (inst + "p!1+1")
              (("2" (hide -2)
                (("2" (typepred "p!1")
                  (("2" (expand ">=")
                    (("2" (expand "<=" -1)
                      (("2" (split -1)
                        (("1" (expand "^")
                          (("1" (expand "expt" 2)
                            (("1" (assertnil nil)) nil))
                          nil)
                         ("2" (replace -1 * rl) (("2" (grind) nil nil))
                          nil))
                        nil))
                      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)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (<= const-decl "bool" reals nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (expt def-decl "real" 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)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (posrat_div_posrat_is_posrat application-judgement "posrat"
     rationals nil)
    (posnat_expt application-judgement "posnat" exponentiation nil)
    (posint_exp application-judgement "posint" exponentiation nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (^ const-decl "real" exponentiation nil)
    (/= const-decl "boolean" notequal nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (< const-decl "bool" reals nil) (> const-decl "bool" reals nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (pred type-eq-decl nil defined_types nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil))
   nil))
 (epsilon_log2 0
  (epsilon_log2-1 nil 3287294470
   ("" (skolem!)
    (("" (lemma "archimedean" ("px" "px!1"))
      (("" (skolem!)
        (("" (lemma "epsilon_log2_aux" ("n" "n!1"))
          (("" (skolem!)
            (("" (inst 1 "p!1")
              ((""
                (lemma "lt_times_lt_pos1"
                 ("px" "n!1" "y" "2^p!1" "nnz" "1/n!1" "w" "px!1"))
                (("" (rewrite "div_cancel1")
                  ((""
                    (lemma "div_mult_pos_lt1"
                     ("z" "1" "py" "2 ^ p!1" "x" "px!1"))
                    (("" (assertnil nil)) nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((posreal nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (>= 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)
    (archimedean formula-decl nil real_props 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)
    (epsilon_log2_aux formula-decl nil appendix nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (div_cancel1 formula-decl nil real_props nil)
    (posint_exp application-judgement "posint" exponentiation nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (div_mult_pos_lt1 formula-decl nil real_props nil)
    (posrat_div_posrat_is_posrat application-judgement "posrat"
     rationals nil)
    (lt_times_lt_pos1 formula-decl nil real_props nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (/= const-decl "boolean" notequal nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (^ const-decl "real" exponentiation nil))
   nil))
 (floor_sqrt_aux_TCC1 0
  (floor_sqrt_aux_TCC1-1 nil 3392784606 ("" (grind) 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)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil))
   nil))
 (floor_sqrt_aux_TCC2 0
  (floor_sqrt_aux_TCC2-1 nil 3392784606 ("" (grind) 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)
    (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)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (even_plus_even_is_even application-judgement "even_int" integers
     nil))
   nil))
 (floor_sqrt_def 0
  (floor_sqrt_def-1 nil 3392784687
   (""
    (case "forall n,m: (m*m <= n AND n < (m+1)*(m+1)) IFF floor_sqrt(n) = m")
    (("1" (skosimp)
      (("1" (inst - "n!1" "floor_sqrt(n!1)")
        (("1" (assert)
          (("1" (ground)
            (("1" (name-replace "DRL1" "floor_sqrt(n!1)")
              (("1" (typepred "floor(sqrt(n!1))")
                (("1" (name-replace "DRL2" "floor(sqrt(n!1))")
                  (("1"
                    (lemma "sq_le" ("nna" "DRL2" "nnb" "sqrt(n!1)"))
                    (("1"
                      (lemma "sq_lt"
                       ("nnb" "1+DRL2" "nna" "sqrt(n!1)"))
                      (("1" (rewrite "sq_sqrt")
                        (("1" (assert)
                          (("1" (hide -3 -4)
                            (("1" (expand "sq")
                              (("1"
                                (assert)
                                (("1"
                                  (lemma
                                   "trich_lt"
                                   ("x" "DRL1" "y" "DRL2"))
                                  (("1"
                                    (split -1)
                                    (("1"
                                      (case "DRL1+1 <= DRL2")
                                      (("1"
                                        (lemma
                                         "trich_lt"
                                         ("x" "DRL1" "y" "DRL2"))
                                        (("1"
                                          (split -1)
                                          (("1"
                                            (lemma
                                             "sq_le"
                                             ("nna"
                                              "DRL1+1"
                                              "nnb"
                                              "DRL2"))
                                            (("1" (grind) nil nil))
                                            nil)
                                           ("2" (propax) nil nil)
                                           ("3"
                                            (lemma
                                             "sq_le"
                                             ("nna"
                                              "DRL2+1"
                                              "nnb"
                                              "DRL1"))
                                            (("3" (grind) nil nil))
                                            nil))
                                          nil))
                                        nil)
                                       ("2" (assertnil nil))
                                      nil)
                                     ("2" (propax) nil nil)
                                     ("3"
                                      (lemma
                                       "sq_le"
                                       ("nna" "DRL2+1" "nnb" "DRL1"))
                                      (("3" (grind) 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 (n,m:nat): (m+1)*(m+1)<=n => m+floor_sqrt_aux(n,m) = floor_sqrt(n)")
        (("1"
          (case "forall n, m:floor_sqrt(n) = m=>(m * m <= n AND n < (m + 1) * (m + 1))")
          (("1"
            (case "FORALL n,m:n<(m+1)*(m+1)=>floor_sqrt_aux(n,m)=0")
            (("1"
              (case "FORALL n, m:floor_sqrt_aux(n,m)=0=>floor_sqrt(n)<=m")
              (("1"
                (case "FORALL n, m: m*m <= n => m <= floor_sqrt(n)")
                (("1" (skosimp)
                  (("1" (split 1)
                    (("1" (flatten)
                      (("1" (inst - "n!1" "m!1")
                        (("1" (assert)
                          (("1" (inst - "n!1" "m!1")
                            (("1" (inst - "n!1" "m!1")
                              (("1" (assertnil nil)) nil))
                            nil))
                          nil))
                        nil))
                      nil)
                     ("2" (flatten)
                      (("2" (hide -2 -3 -4 -6)
                        (("2" (inst - "n!1" "m!1")
                          (("2" (assertnil nil)) nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (hide 2)
                  (("2"
                    (case "FORALL n, m: floor_sqrt(n) = m => (FORALL (j:nat): j <= m
          => j+floor_sqrt_aux(n,j) = m)")
                    (("1" (skosimp)
                      (("1" (case-replace "m!1=0")
                        (("1" (assertnil nil)
                         ("2" (inst -6 "n!1" "m!1-1")
                          (("1" (assert)
                            (("1" (expand "floor_sqrt_aux" -6)
                              (("1" (assertnil nil)) nil))
                            nil)
                           ("2" (assertnil nil))
                          nil))
                        nil))
                      nil)
                     ("2" (hide 2)
                      (("2" (skosimp)
                        (("2" (induct "j")
                          (("1" (assert)
                            (("1" (expand "floor_sqrt")
                              (("1" (propax) nil nil)) nil))
                            nil)
                           ("2" (skosimp*)
                            (("2" (expand "floor_sqrt_aux" -1)
                              (("2"
                                (assert)
                                (("2"
                                  (lift-if)
                                  (("2" (assertnil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil)
               ("2" (hide 2)
                (("2"
                  (case "FORALL n, m: floor_sqrt(n) = m => (FORALL (j:nat): j <= m
          => j+floor_sqrt_aux(n,j) = m)")
                  (("1" (skosimp)
                    (("1" (inst - "n!1" "floor_sqrt(n!1)")
                      (("1" (case "m!1)
                        (("1" (inst - "m!1") (("1" (assertnil nil))
                          nil)
                         ("2" (assertnil nil))
                        nil))
                      nil))
                    nil)
                   ("2" (hide 2)
                    (("2" (skosimp)
                      (("2" (induct "j")
                        (("1" (assert)
                          (("1" (expand "floor_sqrt")
                            (("1" (propax) nil nil)) nil))
                          nil)
                         ("2" (skosimp*)
                          (("2" (expand "floor_sqrt_aux" -1)
                            (("2" (assert)
                              (("2"
                                (lift-if)
                                (("2"
                                  (replace 1 -1)
                                  (("2"
                                    (case-replace "j!1=m!1")
                                    (("1" (assertnil nil)
                                     ("2" (assertnil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("2" (hide -1 2)
              (("2" (skosimp)
                (("2" (expand "floor_sqrt_aux" 1)
                  (("2" (assertnil nil)) nil))
                nil))
              nil))
            nil)
           ("2" (hide 2)
            (("2"
              (case "FORALL n, m:
        floor_sqrt(n) = m => floor_sqrt_aux(n, m) = 0")
              (("1"
                (case "FORALL n, m: floor_sqrt(n) = m => n < (m + 1) * (m + 1)")
                (("1"
                  (case "FORALL n, m:
        floor_sqrt(n) = m => m * m <= n")
                  (("1" (skosimp)
                    (("1" (inst - "n!1" "m!1")
                      (("1" (inst - "n!1" "m!1")
                        (("1" (assertnil nil)) nil))
                      nil))
                    nil)
                   ("2" (hide 2)
                    (("2"
                      (case "FORALL n, m: floor_sqrt(n) = m => (FORALL (j:nat): j <= m
          => j+floor_sqrt_aux(n,j) = m)")
                      (("1" (skosimp)
                        (("1" (inst -4 "n!1" "m!1")
                          (("1" (assert)
                            (("1" (case "0)
                              (("1"
                                (inst - "n!1" "m!1")
                                (("1"
                                  (assert)
                                  (("1"
                                    (inst - "m!1-1")
                                    (("1"
                                      (assert)
                                      (("1"
                                        (expand "floor_sqrt_aux" -2)
                                        (("1" (assertnil nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil)
                               ("2"
                                (case-replace "m!1=0")
                                (("1" (assertnil nil)
                                 ("2" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil)
                       ("2" (hide 2)
                        (("2" (skosimp)
                          (("2" (induct "j")
                            (("1" (assert)
                              (("1"
                                (inst -3 "n!1" "m!1")
                                (("1"
                                  (assert)
                                  (("1"
                                    (expand "floor_sqrt" -1)
                                    (("1" (propax) nil nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (skosimp*)
                              (("2"
                                (assert)
                                (("2"
                                  (expand "floor_sqrt_aux" -1)
                                  (("2"
                                    (assert)
                                    (("2"
                                      (lift-if -1)
                                      (("2"
                                        (replace 1 -1)
                                        (("2"
                                          (case-replace "j!1=m!1")
                                          (("1" (assertnil nil)
                                           ("2"
                                            (replace 1 -1)
                                            (("2" (prop) nil nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (hide 2)
                  (("2" (skosimp)
                    (("2" (inst - "n!1" "m!1")
                      (("2" (assert)
                        (("2" (inst - "n!1" "m!1")
                          (("2" (expand "floor_sqrt_aux")
                            (("2" (hide -3)
                              (("2"
                                (expand "floor_sqrt_aux")
                                (("2"
                                  (hide -1)
                                  (("2"
                                    (lift-if)
                                    (("2"
                                      (assert)
                                      (("2"
                                        (typepred
                                         " 2 + floor_sqrt_aux(n!1, 2 + m!1)")
                                        (("2" (assertnil nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil)
               ("2" (hide 2)
                (("2" (skosimp)
                  (("2" (inst-cp - "n!1" "m!1")
                    (("2" (split -3)
                      (("1" (assertnil nil)
                       ("2" (expand "floor_sqrt_aux")
                        (("2" (assertnil nil)) nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil)
         ("2" (hide 2)
          (("2" (induct "m")
            (("1" (expand "floor_sqrt") (("1" (propax) nil nil)) nil)
             ("2" (skosimp*)
              (("2" (rewrite "sq_rew")
                (("2" (rewrite "sq_rew")
                  (("2" (inst - "n!1")
                    (("2" (assert)
                      (("2" (split -1)
                        (("1" (expand "floor_sqrt_aux" -1)
                          (("1" (expand "sq" -2)
                            (("1" (assertnil nil)) nil))
                          nil)
                         ("2" (hide 2) (("2" (grind) nil nil)) nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((odd_plus_odd_is_even application-judgement "even_int" integers
     nil)
    (sq_rew formula-decl nil sq "reals/")
    (pred type-eq-decl nil defined_types nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (m!1 skolem-const-decl "nat" appendix nil)
--> --------------------

--> maximum size reached

--> --------------------

¤ Dauer der Verarbeitung: 0.93 Sekunden  (vorverarbeitet)  ¤





Download des
Quellennavigators
Download des
sprechenden Kalenders

in der Quellcodebibliothek suchen




Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.


Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.


Bot Zugriff