Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/PVS/vectors/   (Beweissystem der NASA Version 6.0.9©)  Datei vom 28.9.2014 mit Größe 96 kB image not shown  

Quelle  closest_approach.prf

  Sprache: Lisp
 

(closest_approach
 (sq_dist_lem 0
  (sq_dist_lem-1 nil 3256049050
   ("" (skosimp*)
    (("" (assert)
      (("" (rewrite "sq_dist_is_dist_sq")
        (("" (rewrite "dist_norm")
          (("" (expand "norm")
            (("" (rewrite "sq_sqrt")
              (("" (expand "sqv")
                (("" (expand "*")
                  (("" (expand "+")
                    (("" (expand "-") (("" (assertnil nil)) nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((dist_norm formula-decl nil distance nil)
    (sq_sqrt formula-decl nil sqrt "reals/")
    (nnreal type-eq-decl nil real_types nil)
    (sqv const-decl "nnreal" vectors nil)
    (- const-decl "real" vectors nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (* const-decl "real" vectors nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (norm const-decl "nnreal" vectors nil)
    (n formal-const-decl "posnat" closest_approach nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (* const-decl "Vector" vectors nil)
    (+ const-decl "real" vectors nil)
    (Vector type-eq-decl nil vectors nil)
    (Index type-eq-decl nil vectors nil)
    (< const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (sq_dist_is_dist_sq formula-decl nil distance nil))
   nil))
 (sq_dist_quad 0
  (sq_dist_quad-1 nil 3257266340
   ("" (skosimp*)
    (("" (replace -1)
      (("" (hide -1)
        (("" (replace -1)
          (("" (hide -1)
            (("" (replace -1)
              (("" (hide -1)
                (("" (replace -1)
                  (("" (hide -1)
                    (("" (expand "sq_dist")
                      (("" (expand "*")
                        ((""
                          (expand "+
")
                          ((""
                            (case-replace "sigma(0, n - 1,
             LAMBDA (i: Index[n]): (p0!1 - q0!1)(i) * (p0!1 - q0!1)(i))
        +
        sigma(0, n - 1,
              LAMBDA (i_1: Index[n]):
                2 * ((p0!1 - q0!1)(i_1) * (u!1 - v!1)(i_1)))
         * t!1
        +
        sigma(0, n - 1,
              LAMBDA (i: Index[n]): (u!1 - v!1)(i) * (u!1 - v!1)(i))
         * sq(t!1) =

         sigma(0, n - 1,
             (LAMBDA (i: Index[n]): (p0!1 - q0!1)(i) * (p0!1 - q0!1)(i)
               +  2 * t!1 *((p0!1 - q0!1)(i) * (u!1 - v!1)(i))
               + sq(t!1)*(u!1 - v!1)(i) * (u!1 - v!1)(i)))")
                            (("1" (hide -1)
                              (("1"
                                (case-replace
                                 "(LAMBDA (i: Index[n]):
                (p0!1 - q0!1)(i) * (p0!1 - q0!1)(i) +
                 2 * t!1 * ((p0!1 - q0!1)(i) * (u!1 - v!1)(i))
                 + sq(t!1) * (u!1 - v!1)(i) * (u!1 - v!1)(i))
 =             (LAMBDA (i: Index[n]):
              sq(p0!1(i) - q0!1(i) - t!1 * v!1(i) + t!1 * u!1(i)))")
                                (("1"
                                  (hide 2)
                                  (("1"
                                    (apply-extensionality 1 :hide? t)
                                    (("1" (grind) nil nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (hide 2)
                              (("2"
                                (lemma "sigma_scal[Index[n]]")
                                (("1"
                                  (inst -1 "_" "t!1" "n-1" "0")
                                  (("1"
                                    (inst
                                     -1
                                     "LAMBDA (i_1: Index[n]):
               2 * ((p0!1 - q0!1)(i_1) * (u!1 - v!1)(i_1))")
                                    (("1"
                                      (replace -1 * rl)
                                      (("1"
                                        (hide -1)
                                        (("1"
                                          (lemma
                                           "sigma_scal[Index[n]]")
                                          (("1"
                                            (inst
                                             -1
                                             "_"
                                             "sq(t!1)"
                                             "n-1"
                                             "0")
                                            (("1"
                                              (inst
                                               -1
                                               "(LAMBDA (i: Index[n]): (u!1 - v!1)(i) * (u!1 - v!1)(i))")
                                              (("1"
                                                (replace -1 * rl)
                                                (("1"
                                                  (hide -1)
                                                  (("1"
                                                    (rewrite
                                                     "sigma_sum[Index[n]]")
                                                    (("1"
                                                      (rewrite
                                                       "sigma_sum[Index[n]]")
                                                      (("1"
                                                        (rewrite
                                                         "sigma_eq[Index[n]]")
                                                        nil
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2" (assertnil nil)
                                             ("3" (assertnil nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil)
                                   ("2" (assertnil nil)
                                   ("3" (assertnil nil))
                                  nil)
                                 ("2"
                                  (skosimp*)
                                  (("2" (assertnil nil))
                                  nil))
                                nil))
                              nil)
                             ("3" (hide 2)
                              (("3"
                                (skosimp*)
                                (("3" (assertnil nil))
                                nil))
                              nil)
                             ("4" (hide 2) (("4" (assertnil nil))
                              nil)
                             ("5" (hide 2) (("5" (assertnil nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((real_times_real_is_real application-judgement "real" reals nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (sq_dist const-decl "nnreal" distance nil)
    (+ const-decl "real" vectors nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sigma_eq formula-decl nil sigma "reals/")
    (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)
    (sigma_sum formula-decl nil sigma "reals/")
    (sigma_scal formula-decl nil sigma "reals/")
    (real_minus_real_is_real application-judgement "real" reals nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (- const-decl "real" vectors nil)
    (Vector type-eq-decl nil vectors nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (sigma def-decl "real" sigma "reals/")
    (T_high type-eq-decl nil sigma "reals/")
    (T_low type-eq-decl nil sigma "reals/")
    (<= const-decl "bool" reals nil)
    (Index type-eq-decl nil vectors nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (n formal-const-decl "posnat" closest_approach nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (< const-decl "bool" reals nil) (>= const-decl "bool" reals nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (OR const-decl "[bool, bool -> bool]" booleans 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)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-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)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (integer nonempty-type-from-decl nil integers nil)
    (* const-decl "Vector" vectors nil)
    (* const-decl "real" vectors nil))
   shostak))
 (dist_eq_vel 0
  (dist_eq_vel-1 nil 3255968102 ("" (grind) nil nil)
   ((* const-decl "Vector" vectors nil)
    (+ const-decl "real" vectors nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (n formal-const-decl "posnat" closest_approach nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (sq_dist const-decl "nnreal" distance nil)
    (dist const-decl "nnreal" distance nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (real_times_real_is_real application-judgement "real" reals nil))
   shostak))
 (norm_diff_eq_0 0
  (norm_diff_eq_0-1 nil 3255967833
   ("" (skosimp*)
    (("" (rewrite "norm_eq_0")
      (("" (rewrite "sub_eq_zero")
        (("" (replaces -1)
          (("" (rewrite "dist_eq_vel")
            (("" (rewrite "dist_eq_vel"nil nil)) nil))
          nil))
        nil))
      nil))
    nil)
   ((norm_eq_0 formula-decl nil vectors nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (< const-decl "bool" reals nil)
    (Index type-eq-decl nil vectors nil)
    (Vector type-eq-decl nil vectors nil)
    (- const-decl "real" vectors nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (n formal-const-decl "posnat" closest_approach nil)
    (dist_eq_vel formula-decl nil closest_approach nil)
    (sub_eq_zero formula-decl nil vectors nil))
   shostak))
 (time_closest_TCC1 0
  (time_closest_TCC1-1 nil 3255962785
   ("" (skosimp*)
    (("" (rewrite "sq_eq_0")
      (("" (rewrite "norm_eq_0")
        (("" (assert) (("" (postpone) nil nil)) nil)) nil))
      nil))
    nil)
   ((sq_eq_0 formula-decl nil sq "reals/")
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (< 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)
    (n formal-const-decl "posnat" closest_approach nil)
    (Index type-eq-decl nil vectors nil)
    (Vector type-eq-decl nil vectors nil)
    (nnreal type-eq-decl nil real_types nil)
    (norm const-decl "nnreal" vectors nil)
    (- const-decl "real" vectors nil))
   shostak))
 (time_closest_lem_TCC1 0
  (time_closest_lem_TCC1-1 nil 3256051573
   ("" (skosimp*)
    (("" (rewrite "dot_sq_norm")
      (("" (assert)
        (("" (replace -2)
          (("" (hide -2)
            (("" (hide -1)
              (("" (lemma "sq_eq_0")
                (("" (inst?) (("" (assertnil nil)) nil)) nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((dot_sq_norm formula-decl nil vectors nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (< const-decl "bool" reals nil)
    (Index type-eq-decl nil vectors nil)
    (Vector type-eq-decl nil vectors nil)
    (- const-decl "real" vectors nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (n formal-const-decl "posnat" closest_approach nil)
    (norm const-decl "nnreal" vectors nil)
    (nnreal type-eq-decl nil real_types nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (sq_eq_0 formula-decl nil sq "reals/")
    (dot_scal_left formula-decl nil vectors nil)
    (real_times_real_is_real application-judgement "real" reals nil))
   shostak))
 (time_closest_lem 0
  (time_closest_lem-1 nil 3256049208
   ("" (skosimp*)
    (("" (expand "time_closest")
      (("" (assert)
        (("" (rewrite "dot_sq_norm") (("" (assertnil nil)) nil))
        nil))
      nil))
    nil)
   ((time_closest const-decl "real" closest_approach nil)
    (dot_sq_norm formula-decl nil vectors nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (< const-decl "bool" reals nil)
    (Index type-eq-decl nil vectors nil)
    (Vector type-eq-decl nil vectors nil)
    (- const-decl "real" vectors nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (n formal-const-decl "posnat" closest_approach nil)
    (dot_scal_left formula-decl nil vectors nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (minus_real_is_real application-judgement "real" reals nil))
   shostak))
 (cpa_prep_mono 0
  (cpa_prep_mono-1 nil 3401715712
   ("" (skosimp*)
    (("" (expand "time_closest")
      (("" (assert)
        (("" (case "a!1 > 0")
          (("1" (lemma "quad_min_mono_inc")
            (("1" (inst - "a!1" "b!1" "c!1" "t2!1" "t1!1")
              (("1" (assert)
                (("1" (prop)
                  (("1" (lemma "sq_dist_quad")
                    (("1"
                      (inst -1 "a!1" "b!1" "c!1" "p0!1" "q0!1" "t1!1"
                       "u!1" "v!1" "w0!1")
                      (("1" (assert)
                        (("1" (replace -1)
                          (("1" (lemma "sq_dist_quad")
                            (("1"
                              (inst -1 "a!1" "b!1" "c!1" "p0!1" "q0!1"
                               "t2!1" "u!1" "v!1" "w0!1")
                              (("1"
                                (assert)
                                (("1"
                                  (replace -1)
                                  (("1"
                                    (expand "quadratic")
                                    (("1" (assertnil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil)
                   ("2" (case-replace "sq(norm(u!1 - v!1)) = a!1")
                    (("1" (assertnil nil)
                     ("2" (hide 2 3 4)
                      (("2" (lemma "dot_sq_norm[n]")
                        (("2" (inst?) (("2" (assertnil nil)) nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil)
               ("2" (assertnil nil))
              nil))
            nil)
           ("2" (assert)
            (("2" (rewrite "dot_sq_norm")
              (("2" (lemma "sq_eq_0")
                (("2" (inst?) (("2" (assertnil nil)) nil)) nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((time_closest const-decl "real" closest_approach 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)
    (/= const-decl "boolean" notequal nil)
    (a!1 skolem-const-decl "real" closest_approach nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (Vector type-eq-decl nil vectors nil)
    (Index type-eq-decl nil vectors nil)
    (n formal-const-decl "posnat" closest_approach nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (< const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers 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)
    (quadratic const-decl "real" quadratic "reals/")
    (real_plus_real_is_real application-judgement "real" reals nil)
    (sq_dist_quad formula-decl nil closest_approach nil)
    (dot_sq_norm formula-decl nil vectors nil)
    (- const-decl "real" vectors nil)
    (norm const-decl "nnreal" vectors nil)
    (nnreal type-eq-decl nil real_types nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (quad_min_mono_inc formula-decl nil quad_minmax "reals/")
    (sq_eq_0 formula-decl nil sq "reals/")
    (dot_scal_left formula-decl nil vectors nil)
    (real_times_real_is_real application-judgement "real" 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)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (minus_real_is_real application-judgement "real" reals nil))
   nil))
 (time_cpa 0
  (time_cpa-2 nil 3421667533
   ("" (skosimp*)
    (("" (case "norm(u!1 - v!1) = 0")
      (("1" (expand "is_minimum?")
        (("1" (skosimp*)
          (("1" (lemma "norm_diff_eq_0")
            (("1" (inst -1 "p0!1" "q0!1" "t_cpa!1" "y!1" "u!1" "v!1")
              (("1" (assert)
                (("1" (assert)
                  (("1" (expand "dist")
                    (("1" (rewrite "sqrt_eq"nil nil)) nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (expand "time_closest")
        (("2" (name "A" "(u!1-v!1)*(u!1-v!1)")
          (("2" (name "B" "2*(p0!1-q0!1)*(u!1-v!1)")
            (("2" (name "C" "(p0!1-q0!1)*(p0!1-q0!1)")
              (("2" (case "A > 0")
                (("1" (lemma "quad_min")
                  (("1" (inst -1 "A" "B" "C")
                    (("1" (assert)
                      (("1" (assert)
                        (("1" (lemma "dot_sq_norm[n]")
                          (("1" (inst - "u!1 - v!1")
                            (("1" (assert)
                              (("1"
                                (replace -1 * lr)
                                (("1"
                                  (hide -1)
                                  (("1"
                                    (replace -5 * lr)
                                    (("1"
                                      (hide -5)
                                      (("1"
                                        (lemma "sq_dist_quad")
                                        (("1"
                                          (case-replace
                                           "(LAMBDA t: sq_dist(p0!1 + t * u!1, q0!1 + t * v!1)) = quadratic(A, B, C)")
                                          (("1" (assertnil nil)
                                           ("2"
                                            (apply-extensionality
                                             1
                                             :hide?
                                             t)
                                            (("1"
                                              (inst
                                               -
                                               "A"
                                               "B"
                                               "C"
                                               "p0!1"
                                               "q0!1"
                                               "x!1"
                                               "u!1"
                                               "v!1"
                                               "p0!1-q0!1")
                                              (("1"
                                                (assert)
                                                (("1"
                                                  (expand "quadratic")
                                                  (("1"
                                                    (propax)
                                                    nil
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2"
                                              (skosimp*)
                                              (("2"
                                                (assert)
                                                (("2"
                                                  (expand "quadratic")
                                                  (("2"
                                                    (assert)
                                                    (("2"
                                                      (hide -1)
                                                      (("2"
                                                        (lemma
                                                         "sq_dist_quad")
                                                        (("2"
                                                          (inst
                                                           -1
                                                           "A"
                                                           "B"
                                                           "C"
                                                           "p0!1"
                                                           "q0!1"
                                                           "x1!1"
                                                           "u!1"
                                                           "v!1"
                                                           "p0!1-q0!1")
                                                          (("2"
                                                            (assert)
                                                            (("2"
                                                              (assert)
                                                              nil
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil)
                     ("2" (assertnil nil))
                    nil))
                  nil)
                 ("2" (lemma "dot_sq_norm[n]")
                  (("2" (inst - "u!1-v!1")
                    (("2" (lemma "sq_eq_0")
                      (("2" (inst?) (("2" (assertnil nil)) nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((- const-decl "real" vectors nil)
    (norm const-decl "nnreal" vectors nil)
    (nnreal type-eq-decl nil real_types nil)
    (Vector type-eq-decl nil vectors nil)
    (Index type-eq-decl nil vectors nil)
    (n formal-const-decl "posnat" closest_approach nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (< const-decl "bool" reals nil)
    (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)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (* const-decl "Vector" vectors nil)
    (+ const-decl "real" vectors nil)
    (sq_dist const-decl "nnreal" distance nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (sqrt_eq formula-decl nil sqrt "reals/")
    (dist const-decl "nnreal" distance nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (norm_diff_eq_0 formula-decl nil closest_approach nil)
    (is_minimum? const-decl "bool" quad_minmax "reals/")
    (* const-decl "real" vectors nil)
    (sq_eq_0 formula-decl nil sq "reals/")
    (quad_min formula-decl nil quad_minmax "reals/")
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (dot_scal_left formula-decl nil vectors nil)
    (dot_sq_norm formula-decl nil vectors nil)
    (quadratic const-decl "real" quadratic "reals/")
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (B skolem-const-decl "real" closest_approach nil)
    (C skolem-const-decl "real" closest_approach nil)
    (sq_dist_quad formula-decl nil closest_approach nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (A skolem-const-decl "real" closest_approach nil)
    (/= const-decl "boolean" notequal nil)
    (time_closest const-decl "real" closest_approach nil))
   nil)
  (time_cpa-1 nil 3255788628
   ("" (skosimp*)
    (("" (lemma "cpa_prep")
      (("" (inst?)
        (("" (name "W0" "p0!1-q0!1")
          ((""
            (inst - "(u!1 - v!1) * (u!1 - v!1)" "2 * W0 * (u!1 - v!1)"
             " W0 * W0" "W0")
            (("" (assertnil nil)) nil))
          nil))
        nil))
      nil))
    nil)
   ((- const-decl "real" vectors nil)
    (* const-decl "Vector" vectors nil)
    (* const-decl "real" vectors nil)
    (Vector type-eq-decl nil vectors nil)
    (Index type-eq-decl nil vectors nil))
   shostak))
 (dist_cpa 0
  (dist_cpa-1 nil 3255788937
   ("" (skosimp*)
    (("" (lemma "time_cpa")
      (("" (inst?)
        (("" (inst?)
          (("" (expand "is_minimum?")
            (("" (inst -1 "t!1")
              (("" (expand "dist") (("" (rewrite "sqrt_le"nil nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((time_cpa formula-decl nil closest_approach nil)
    (time_closest const-decl "real" closest_approach nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sqrt_le formula-decl nil sqrt "reals/")
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (nnreal type-eq-decl nil real_types nil)
    (sq_dist const-decl "nnreal" distance nil)
    (+ const-decl "real" vectors nil)
    (* const-decl "Vector" vectors nil)
    (dist const-decl "nnreal" distance nil)
    (is_minimum? const-decl "bool" quad_minmax "reals/")
    (Vector type-eq-decl nil vectors nil)
    (Index type-eq-decl nil vectors nil)
    (n formal-const-decl "posnat" closest_approach nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (< const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil))
   shostak))
 (dist_cpa_lt 0
  (dist_cpa_lt-2 nil 3401719067
   ("" (skosimp*)
    (("" (assert)
      (("" (lemma "cpa_prep_mono")
        (("" (inst?)
          (("" (name "W0" "p0!1-q0!1")
            ((""
              (inst - "(u!1 - v!1) * (u!1 - v!1)"
               "2 * W0 * (u!1 - v!1)" " W0 * W0" "t1!1" "t2!1" "W0")
              (("" (assertnil nil)) nil))
            nil))
          nil))
        nil))
      nil))
    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)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (< 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)
    (n formal-const-decl "posnat" closest_approach nil)
    (Index type-eq-decl nil vectors nil)
    (Vector type-eq-decl nil vectors nil)
    (* const-decl "Vector" vectors nil)
    (* const-decl "real" vectors nil) (- const-decl "real" vectors nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (cpa_prep_mono formula-decl nil closest_approach nil))
   nil)
  (dist_cpa_lt-1 nil 3401703645
   ("" (skosimp*)
    (("" (lemma "time_cpa_lt")
      (("" (inst?)
        (("" (inst - "t_cpa!1") (("" (assertnil nil)) nil)) nil))
      nil))
    nil)
   ((Vector type-eq-decl nil vectors nil)
    (Index type-eq-decl nil vectors nil))
   nil))
 (dist_min 0
  (dist_min-1 nil 3255958397
   ("" (skosimp*)
    (("" (assert)
      (("" (flatten)
        (("" (lemma "dist_cpa")
          (("" (inst -1 "p0!1" "q0!1" "t1!1" "u!1" "v!1")
            (("" (assertnil nil)) nil))
          nil))
        nil))
      nil))
    nil)
   ((real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (dist_cpa formula-decl nil closest_approach nil)
    (Vector type-eq-decl nil vectors nil)
    (Index type-eq-decl nil vectors nil)
    (n formal-const-decl "posnat" closest_approach nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (< const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil))
   shostak))
 (dist_diverges 0
  (dist_diverges-3 nil 3401719699
   ("" (skosimp*)
    (("" (assert)
      (("" (flatten)
        (("" (lemma "dist_cpa_lt")
          (("" (inst?)
            (("" (inst - "t1!1" "t2!1")
              (("" (assert)
                (("" (expand "dist")
                  (("" (lemma "sqrt_lt")
                    (("" (inst?) (("" (assertnil nil)) nil)) nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    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)
    (dist_cpa_lt formula-decl nil closest_approach nil)
    (dist const-decl "nnreal" distance nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (nnreal type-eq-decl nil real_types nil)
    (sq_dist const-decl "nnreal" distance nil)
    (+ const-decl "real" vectors nil)
    (* const-decl "Vector" vectors nil)
    (sqrt_lt formula-decl nil sqrt "reals/")
    (Vector type-eq-decl nil vectors nil)
    (Index type-eq-decl nil vectors nil)
    (n formal-const-decl "posnat" closest_approach nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (< const-decl "bool" reals nil)
    (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)
  (dist_diverges-2 nil 3401544561
   ("" (skosimp*)
    (("" (assert)
      (("" (flatten)
        (("" (case "t1!1 = time_closest(p0!1, q0!1, u!1, v!1)")
          (("1" (lemma "dist_min")
            (("1" (inst?)
              (("1" (assert)
                (("1" (assert) (("1" (inst?) nil nil)) nil)) nil))
              nil))
            nil)
           ("2" (case "norm(u!1-v!1)=0")
            (("1" (lemma "norm_diff_eq_0")
              (("1" (inst -1 "p0!1" "q0!1" "t1!1" "t2!1" "u!1" "v!1")
                (("1" (assertnil nil)) nil))
              nil)
             ("2" (rewrite "sq_dist_le")
              (("2" (hide 4)
                (("2" (name "A" "(u!1 - v!1) * (u!1 - v!1)")
                  (("2" (name "W0" "p0!1 - q0!1")
                    (("2" (name "B" "2 * W0 * (u!1 - v!1) ")
                      (("2" (name "C" "W0*W0")
                        (("2" (lemma "sq_dist_quad")
                          (("2" (inst?)
                            (("2" (inst -1 "A" "B" "C" "W0")
                              (("2"
                                (assert)
                                (("2"
                                  (replace -1)
                                  (("2"
                                    (hide -1)
                                    (("2"
                                      (lemma "sq_dist_quad")
                                      (("2"
                                        (inst?)
                                        (("2"
                                          (inst -1 "A" "B" "C" "W0")
                                          (("2"
                                            (assert)
                                            (("2"
                                              (replace -1)
                                              (("2"
                                                (hide -1)
                                                (("2"
                                                  (lemma
                                                   "sq_dist_quad")
                                                  (("2"
                                                    (inst?)
                                                    (("2"
                                                      (assert)
                                                      (("2"
                                                        (hide -1)
                                                        (("2"
                                                          (case-replace
                                                           "A > 0")
                                                          (("1"
                                                            (lemma
                                                             "quadratic_min_mono_inc")
                                                            (("1"
                                                              (inst
                                                               -1
                                                               "A"
                                                               "B"
                                                               "C"
                                                               "quadratic(A,B,C)"
                                                               "-B / (2 * A)"
                                                               "_"
                                                               "_")
                                                              (("1"
                                                                (inst
                                                                 -1
                                                                 "t2!1"
                                                                 "t1!1")
                                                                (("1"
                                                                  (assert)
                                                                  (("1"
                                                                    (expand
                                                                     "quadratic")
                                                                    (("1"
                                                                      (assert)
                                                                      (("1"
                                                                        (lemma
                                                                         "time_closest_lem")
                                                                        (("1"
                                                                          (inst?)
                                                                          (("1"
                                                                            (inst?)
                                                                            (("1"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("2"
                                                                (assert)
                                                                nil
                                                                nil)
                                                               ("3"
                                                                (flatten)
                                                                (("3"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (rewrite
                                                             "dot_sq_norm"
                                                             -4)
                                                            (("2"
                                                              (assert)
                                                              (("2"
                                                                (lemma
                                                                 "sq_eq_0")
                                                                (("2"
                                                                  (inst?)
                                                                  (("2"
                                                                    (assert)
                                                                    nil
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((- const-decl "real" vectors nil)
    (norm const-decl "nnreal" vectors nil)
    (dot_scal_left formula-decl nil vectors nil)
    (dot_sq_norm formula-decl nil vectors nil)
    (sq_eq_0 formula-decl nil sq "reals/")
    (quadratic const-decl "real" quadratic "reals/")
    (* const-decl "real" vectors nil) (+ const-decl "real" vectors nil)
    (* const-decl "Vector" vectors nil)
    (Index type-eq-decl nil vectors nil)
    (Vector type-eq-decl nil vectors nil))
   nil)
  (dist_diverges-1 nil 3256916765
   ("" (skosimp*)
    (("" (assert)
      (("" (flatten)
        (("" (case "t2!1 = time_closest(p0!1, q0!1, u!1, v!1)")
          (("1" (lemma "dist_min")
            (("1" (inst?)
              (("1" (assert)
                (("1" (assert) (("1" (inst?) nil nil)) nil)) nil))
              nil))
            nil)
           ("2" (case "norm(u!1-v!1)=0")
            (("1" (lemma "norm_diff_eq_0")
              (("1" (inst -1 "p0!1" "q0!1" "t2!1" "tt!1" "u!1" "v!1")
                (("1" (assertnil nil)) nil))
              nil)
             ("2" (hide -4)
              (("2" (rewrite "sq_dist_le")
                (("2" (reveal -1)
                  (("2" (hide 4)
                    (("2" (expand "dist")
                      (("2" (rewrite "sqrt_le")
                        (("2" (name "A" "(u!1 - v!1) * (u!1 - v!1)")
                          (("2" (name "W0" "p0!1 - q0!1")
                            (("2" (name "B" "2 * W0 * (u!1 - v!1) ")
                              (("2"
                                (name "C" "W0*W0")
                                (("2"
                                  (lemma "sq_dist_quad")
                                  (("2"
                                    (inst?)
                                    (("2"
                                      (inst -1 "A" "B" "C" "W0")
                                      (("2"
                                        (assert)
                                        (("2"
                                          (replace -1)
                                          (("2"
                                            (hide -1)
                                            (("2"
                                              (lemma "sq_dist_quad")
                                              (("2"
                                                (inst?)
                                                (("2"
                                                  (inst
                                                   -1
                                                   "A"
                                                   "B"
                                                   "C"
                                                   "W0")
                                                  (("2"
                                                    (assert)
                                                    (("2"
                                                      (replace -1)
                                                      (("2"
                                                        (hide -1)
                                                        (("2"
                                                          (lemma
                                                           "sq_dist_quad")
                                                          (("2"
                                                            (inst?)
                                                            (("2"
                                                              (inst
                                                               -1
                                                               "A"
                                                               "B"
                                                               "C"
                                                               "W0")
                                                              (("2"
                                                                (assert)
                                                                (("2"
                                                                  (replace
                                                                   -1)
                                                                  (("2"
                                                                    (hide
                                                                     -1)
                                                                    (("2"
                                                                      (case-replace
                                                                       "A > 0")
                                                                      (("1"
                                                                        (lemma
                                                                         "quadratic_min_mono_inc")
                                                                        (("1"
                                                                          (inst
                                                                           -1
                                                                           "A"
                                                                           "B"
                                                                           "C"
                                                                           "quadratic(A,B,C)"
                                                                           "-B / (2 * A)"
                                                                           "_"
                                                                           "_")
                                                                          (("1"
                                                                            (inst
                                                                             -1
                                                                             "tt!1"
                                                                             "t2!1")
                                                                            (("1"
                                                                              (assert)
                                                                              (("1"
                                                                                (expand
                                                                                 "quadratic")
                                                                                (("1"
                                                                                  (assert)
                                                                                  (("1"
                                                                                    (lemma
                                                                                     "time_closest_lem")
                                                                                    (("1"
                                                                                      (inst?)
                                                                                      (("1"
                                                                                        (inst?)
                                                                                        (("1"
                                                                                          (assert)
                                                                                          nil
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil)
                                                                           ("2"
                                                                            (assert)
                                                                            nil
                                                                            nil)
                                                                           ("3"
                                                                            (flatten)
                                                                            (("3"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil)
                                                                       ("2"
                                                                        (rewrite
                                                                         "dot_sq_norm"
                                                                         -4)
                                                                        (("2"
                                                                          (assert)
                                                                          (("2"
                                                                            (lemma
                                                                             "sq_eq_0")
                                                                            (("2"
                                                                              (inst?)
                                                                              (("2"
                                                                                (assert)
                                                                                nil
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((- const-decl "real" vectors nil)
    (norm const-decl "nnreal" vectors nil)
    (* const-decl "Vector" vectors nil)
    (+ const-decl "real" vectors nil)
    (sqrt_le formula-decl nil sqrt "reals/")
    (dot_scal_left formula-decl nil vectors nil)
    (dot_sq_norm formula-decl nil vectors nil)
    (sq_eq_0 formula-decl nil sq "reals/")
    (quadratic const-decl "real" quadratic "reals/")
    (* const-decl "real" vectors nil)
    (Index type-eq-decl nil vectors nil)
    (Vector type-eq-decl nil vectors nil))
   nil))
 (dist_parallel_lines 0
  (dist_parallel_lines-1 nil 3401720834
   ("" (skosimp*)
    (("" (assert)
      (("" (flatten)
        (("" (expand "dist")
          (("" (lemma "sqrt_eq")
            (("" (inst?)
              (("" (flatten)
                (("" (hide -1)
                  (("" (split -1)
                    (("1" (propax) nil nil)
                     ("2" (hide 2)
                      (("2" (lemma "sq_dist_quad")
                        (("2" (name "W0" "p0!1-q0!1")
                          (("2" (inst?)
                            (("2"
                              (inst - "(u!1 - v!1) * (u!1 - v!1)"
                               "2 * W0 * (u!1 - v!1)" " W0 * W0" "W0")
                              (("2"
                                (assert)
                                (("2"
                                  (replace -2)
                                  (("2"
                                    (hide -2)
                                    (("2"
                                      (lemma "sq_dist_quad")
                                      (("2"
                                        (inst?)
                                        (("2"
                                          (inst
                                           -
                                           "(u!1 - v!1) * (u!1 - v!1)"
                                           "2 * W0 * (u!1 - v!1)"
                                           " W0 * W0"
                                           "W0")
                                          (("2"
                                            (assert)
                                            (("2"
                                              (replace -1)
                                              (("2"
                                                (case-replace
                                                 "u!1 - v!1 = zero")
                                                (("1" (assertnil nil)
                                                 ("2"
                                                  (lemma
                                                   "norm_eq_0[n]")
                                                  (("2"
                                                    (inst?)
                                                    (("2"
                                                      (assert)
                                                      nil
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((dist const-decl "nnreal" distance nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (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)
    (< 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)
    (n formal-const-decl "posnat" closest_approach nil)
    (Index type-eq-decl nil vectors nil)
    (Vector type-eq-decl nil vectors nil)
    (nnreal type-eq-decl nil real_types nil)
    (sq_dist const-decl "nnreal" distance nil)
    (+ const-decl "real" vectors nil)
    (* const-decl "Vector" vectors nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (- const-decl "real" vectors nil) (* const-decl "real" vectors nil)
    (norm_eq_0 formula-decl nil vectors nil)
    (dot_zero_right formula-decl nil vectors nil)
    (zero const-decl "Vector" vectors nil)
    (dot_scal_left formula-decl nil vectors nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (sq_dist_quad formula-decl nil closest_approach nil)
    (sqrt_eq formula-decl nil sqrt "reals/"))
   nil))
 (dot_nneg_tca_npos 0
  (dot_nneg_tca_npos-1 nil 3406994732
   ("" (skosimp)
    (("" (expand "time_closest")
      (("" (lift-if)
        (("" (prop)
          (("1" (rewrite "norm_eq_0")
            (("1" (replaces -1) (("1" (assertnil nil)) nil)) nil)
           ("2" (mult-by 2 " sq(norm(u!1 - v!1))")
            (("1" (assertnil nil) ("2" (rewrite "sq_gt_0"nil nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((time_closest const-decl "real" closest_approach nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (n formal-const-decl "posnat" closest_approach nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (- const-decl "real" vectors nil)
    (Vector type-eq-decl nil vectors nil)
    (Index type-eq-decl nil vectors nil)
    (< const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (norm_eq_0 formula-decl nil vectors nil)
    (sq_gt_0 formula-decl nil sq "reals/")
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (div_cancel2 formula-decl nil real_props nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props 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)
    (v!1 skolem-const-decl "Vector[n]" closest_approach nil)
    (u!1 skolem-const-decl "Vector[n]" closest_approach nil)
    (norm const-decl "nnreal" vectors nil)
    (nnreal type-eq-decl nil real_types nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (/= const-decl "boolean" notequal nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (* const-decl "real" vectors nil)
    (both_sides_times_pos_le1 formula-decl nil real_props nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil))
   nil))
 (divergent_u_neq_v 0
  (divergent_u_neq_v-1 nil 3409339891
   ("" (skosimp) (("" (replaces -2) (("" (grind) nil nil)) nil)) nil)
   ((sq const-decl "nonneg_real" sq "reals/")
    (n formal-const-decl "posnat" closest_approach nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (sq_dist const-decl "nnreal" distance nil)
    (dist const-decl "nnreal" distance nil)
    (* const-decl "Vector" vectors nil)
    (+ const-decl "real" vectors nil)
    (divergent? const-decl "bool" closest_approach nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (real_times_real_is_real application-judgement "real" reals nil))
   shostak))
 (dot_nneg_divergent 0
  (dot_nneg_divergent-1 nil 3406994789
   ("" (skosimp)
    (("" (lemma "dot_nneg_tca_npos")
      (("" (inst? -1)
        (("" (assert)
          (("" (lemma "dist_diverges")
            (("" (expand "divergent?")
              (("" (skosimp)
                (("" (inst? -1)
                  (("" (inst -1 "0" "t!1" _)
                    (("" (inst? -1)
                      (("" (assert)
                        (("" (split -1)
                          (("1" (propax) nil nil)
                           ("2" (flatten)
                            (("2" (rewrite "norm_eq_0")
                              (("2" (rewrite "sub_eq_zero"nil nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((dot_nneg_tca_npos formula-decl nil closest_approach nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (divergent? const-decl "bool" closest_approach nil)
    (time_closest const-decl "real" closest_approach nil)
    (- const-decl "real" vectors nil)
    (norm_eq_0 formula-decl nil vectors nil)
    (sub_eq_zero formula-decl nil vectors nil)
    (add_zero_right formula-decl nil vectors nil)
    (scal_0 formula-decl nil vectors 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)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (dist_diverges formula-decl nil closest_approach nil)
    (Vector type-eq-decl nil vectors nil)
    (Index type-eq-decl nil vectors nil)
    (n formal-const-decl "posnat" closest_approach nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (< const-decl "bool" reals nil)
    (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))
 (divergent_dot_nneg 0
  (divergent_dot_nneg-1 nil 3411903320
   ("" (skosimp)
    (("" (case "divergent?(p0!1-q0!1,zero,u!1-v!1,zero)")
      (("1" (hide -2)
        (("1" (case "norm(u!1-v!1) /= 0")
          (("1" (flatten)
            (("1" (name-replace "s" "p0!1-q0!1")
              (("1" (name-replace "w" "u!1-v!1")
                (("1" (expand "divergent?")
                  (("1" (name "myt" "-(s*w)/sqv(w)")
                    (("1" (case "myt > 0")
                      (("1" (inst -3 "myt")
                        (("1" (expand "dist")
                          (("1" (rewrite "sqrt_lt")
                            (("1" (expand "sq_dist")
                              (("1"
                                (expand "zero")
                                (("1"
                                  (expand"+" "*")
                                  (("1"
                                    (name "myt2" "2*myt")
                                    (("1"
                                      (case-replace
                                       "(LAMBDA(i:Index[n]):sq(s(i)+myt*w(i))) =
                                                                         (LAMBDA(i:Index[n]):sq(s(i))+sq(myt)*sq(w(i))+myt2*(s(i)*w(i)))")
                                      (("1"
                                        (hide -1)
                                        (("1"
                                          (rewrite
                                           "sigma_sum[below[n]]"
                                           :dir
                                           rl)
                                          (("1"
                                            (rewrite
                                             "sigma_sum[below[n]]"
                                             :dir
                                             rl)
                                            (("1"
                                              (move-terms -4 l 1)
                                              (("1"
                                                (assert)
                                                (("1"
                                                  (rewrite
                                                   "sigma_scal[below[n]]")
                                                  (("1"
                                                    (rewrite
                                                     "sigma_scal[below[n]]")
                                                    (("1"
                                                      (replaces
                                                       -1
                                                       :dir
                                                       rl)
                                                      (("1"
                                                        (expand
                                                         "sq"
                                                         -3
                                                         1
                                                         :assert?
                                                         none)
                                                        (("1"
                                                          (cancel-by
                                                           -3
                                                           "myt")
                                                          (("1"
                                                            (name-replace
                                                             "sw"
                                                             "sigma(0, n - 1, LAMBDA (i: Index[n]): s(i) * w(i))")
                                                            (("1"
                                                              (expand
                                                               "sqv")
                                                              (("1"
                                                                (expand
                                                                 "*")
                                                                (("1"
                                                                  (expand
                                                                   "sq")
                                                                  (("1"
                                                                    (replaces
                                                                     -3
                                                                     :dir
                                                                     rl)
                                                                    (("1"
                                                                      (field
                                                                       -3)
                                                                      nil
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("2"
                                                              (subtype-tcc)
                                                              nil
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil)
                                                     ("2"
                                                      (subtype-tcc)
                                                      nil
                                                      nil))
                                                    nil)
                                                   ("2"
                                                    (subtype-tcc)
                                                    nil
                                                    nil))
                                                  nil))
                                                nil)
                                               ("2"
                                                (subtype-tcc)
                                                nil
                                                nil))
                                              nil)
                                             ("2"
                                              (subtype-tcc)
                                              nil
                                              nil))
                                            nil)
                                           ("2" (subtype-tcc) nil nil))
                                          nil))
                                        nil)
                                       ("2"
                                        (replaces -1 :dir rl)
                                        (("2"
                                          (hide-all-but 1)
                                          (("2"
                                            (expand "sq")
                                            (("2" (assertnil nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil)
                         ("2" (assertnil nil))
                        nil)
                       ("2" (replaces -1 :dir rl)
                        (("2" (hide -1)
                          (("2" (expand "norm")
                            (("2" (case "sqv(w) = 0")
                              (("1"
                                (replaces -1)
                                (("1" (rewrite "sqrt_0"nil nil))
                                nil)
                               ("2"
                                (cross-mult 2)
                                (("2" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil)
                     ("2" (flatten)
                      (("2" (hide -2 2)
                        (("2" (expand "norm")
                          (("2" (replaces -1)
                            (("2" (rewrite "sqrt_0"nil nil)) nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil)
           ("2" (flatten)
            (("2" (lemma "divergent_u_neq_v")
              (("2" (inst?)
                (("2" (assert) (("2" (rewrite "norm_eq_0"nil nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (hide-all-but (-1 1))
        (("2" (expand "divergent?")
          (("2" (skosimp 1)
            (("2" (inst -1 "t!1")
              (("2" (assert)
                (("2" (expand "dist")
                  (("2" (rewrite "sqrt_lt")
                    (("2" (rewrite "sqrt_lt")
                      (("2" (expand "sq_dist")
                        (("2" (assert)
                          (("2" (expand"*" "+" "-")
                            (("2" (assertnil nil)) nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((zero const-decl "Vector" vectors nil)
    (- const-decl "real" vectors nil)
    (divergent? const-decl "bool" closest_approach nil)
    (Vector type-eq-decl nil vectors nil)
    (Index type-eq-decl nil vectors nil)
    (n formal-const-decl "posnat" closest_approach nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (< const-decl "bool" reals nil)
    (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)
    (norm const-decl "nnreal" vectors nil)
    (nnreal type-eq-decl nil real_types nil)
    (/= const-decl "boolean" notequal nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (dist const-decl "nnreal" distance nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (real_plus_real_is_real application-judgement "real" reals nil)
    (integer nonempty-type-from-decl nil integers nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (below type-eq-decl nil nat_types nil)
    (T_low type-eq-decl nil sigma "reals/")
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (T_high type-eq-decl nil sigma "reals/")
    (<= const-decl "bool" reals nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (sigma_sum formula-decl nil sigma "reals/")
    (int_minus_int_is_int application-judgement "int" integers nil)
    (nnreal_plus_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sigma_nnreal application-judgement "nnreal" vectors nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (sigma def-decl "real" sigma "reals/")
    (IFF const-decl "[bool, bool -> bool]" booleans nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (sigma_scal formula-decl nil sigma "reals/")
    (bijective? const-decl "bool" functions nil)
    (id const-decl "(bijective?[T, T])" identity nil)
    (TRUE const-decl "bool" booleans nil)
    (below type-eq-decl nil naturalnumbers nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (CBD_1 skolem-const-decl "real" closest_approach nil)
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (pos_div_gt formula-decl nil real_props nil)
    (div_mult_pos_ge1 formula-decl nil real_props nil)
    (zero_times1 formula-decl nil real_props nil)
    (zero_div formula-decl nil extra_tegies nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (add_zero_right formula-decl nil vectors nil)
    (scal_zero formula-decl nil vectors nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (sqrt_lt formula-decl nil sqrt "reals/")
    (sq_dist const-decl "nnreal" distance nil)
    (+ const-decl "real" vectors nil)
    (* const-decl "Vector" vectors nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (myt skolem-const-decl "real" closest_approach nil)
    (AND const-decl "[bool, bool -> bool]" booleans 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)
    (sqrt_0 formula-decl nil sqrt "reals/")
    (w skolem-const-decl "[Index[n] -> real]" closest_approach nil)
    (div_mult_pos_gt1 formula-decl nil extra_real_props nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (* const-decl "real" vectors nil)
    (sqv const-decl "nnreal" vectors nil)
    (divergent_u_neq_v formula-decl nil closest_approach nil)
    (norm_eq_0 formula-decl nil vectors nil)
    (comp_zero formula-decl nil vectors nil))
   nil))
 (divergent_t1_lt_t2 0
  (divergent_t1_lt_t2-1 nil 3409356154
   ("" (skosimp)
    (("" (split)
      (("1" (flatten)
        (("1" (use "divergent_u_neq_v")
          (("1" (assert)
            (("1" (flatten)
              (("1" (skeep 2)
                (("1" (lemma "dist_diverges")
                  (("1"
                    (inst -1 "p0!1" "q0!1" "t1" "t2"
                     "time_closest(p0!1, q0!1, u!1, v!1)" "u!1" "v!1")
                    (("1" (beta)
                      (("1" (assert)
                        (("1" (hide 3)
                          (("1" (case "norm(u!1 - v!1) = 0")
                            (("1" (hide-all-but (-1 2))
                              (("1"
                                (rewrite "norm_eq_0")
                                (("1" (rewrite "sub_eq_zero"nil nil))
                                nil))
                              nil)
                             ("2" (assert)
                              (("2"
                                (lemma "dot_nneg_tca_npos")
                                (("2"
                                  (inst?)
                                  (("2"
                                    (assert)
                                    (("2"
                                      (use "divergent_dot_nneg")
                                      (("2" (assertnil nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (flatten)
        (("2" (expand "divergent?")
          (("2" (skosimp)
            (("2" (inst -1 "0" "t!1") (("2" (assertnil nil)) nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((divergent_u_neq_v formula-decl nil closest_approach nil)
    (Vector type-eq-decl nil vectors nil)
    (Index type-eq-decl nil vectors nil)
    (n formal-const-decl "posnat" closest_approach nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (< const-decl "bool" reals nil)
    (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)
    (dist_diverges formula-decl nil closest_approach nil)
    (divergent_dot_nneg formula-decl nil closest_approach nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (dot_nneg_tca_npos formula-decl nil closest_approach nil)
    (sub_eq_zero formula-decl nil vectors nil)
    (norm_eq_0 formula-decl nil vectors nil)
    (- const-decl "real" vectors nil)
    (norm const-decl "nnreal" vectors nil)
    (nnreal type-eq-decl nil real_types nil)
    (= const-decl "[T, T -> boolean]" equalities 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)
    (time_closest const-decl "real" closest_approach nil)
    (divergent? const-decl "bool" closest_approach nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (add_zero_right formula-decl nil vectors nil)
    (scal_0 formula-decl nil vectors nil))
   nil))
 (dot_prop_divergent 0
  (dot_prop_divergent-1 nil 3421669095
   ("" (skosimp*)
    (("" (expand "dot_prop?")
      (("" (split +)
        (("1" (flatten)
          (("1" (lemma "dot_nneg_divergent")
            (("1" (inst?) (("1" (assertnil nil)) nil)) nil))
          nil)
         ("2" (flatten)
          (("2" (lemma "divergent_dot_nneg")
            (("2" (inst?) (("2" (assertnil nil)) nil)) nil))
          nil))
        nil))
      nil))
    nil)
   ((dot_prop? const-decl "bool" closest_approach nil)
    (divergent_dot_nneg formula-decl nil closest_approach nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (< 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)
    (n formal-const-decl "posnat" closest_approach nil)
    (Index type-eq-decl nil vectors nil)
    (Vector type-eq-decl nil vectors nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (dot_nneg_divergent formula-decl nil closest_approach nil))
   nil)))


Messung V0.5 in Prozent
C=100 H=100 G=100

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.46Bemerkung:  (vorverarbeitet am  2026-04-29) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

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 und die Messung sind noch experimentell.