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

Impressum vertical_criterion.prf

  Sprache: Lisp
 

(vertical_criterion
 (closed_region_3D_t_def 0
  (closed_region_3D_t_def-1 nil 3470394875
   ("" (skeep)
    (("" (assert)
      (("" (rewrite "dot_add_left")
        ((""
          (case "(sq(D) - vect2(s) * vect2(p)) / (vect2(v) * vect2(p)) *
          (vect2(v) * vect2(p)) = (sq(D) - vect2(s) * vect2(p))")
          (("1" (replace -1) (("1" (assertnil nil)) nil)
           ("2" (cross-mult 1) nil nil))
          nil))
        nil))
      nil))
    nil)
   ((sq_nz_pos application-judgement "posreal" sq "reals/")
    (real_minus_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (times_div2 formula-decl nil real_props nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (dot_scal_left formula-decl nil vectors_2D "vectors/")
    (real_plus_real_is_real application-judgement "real" reals nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (* const-decl "real" vectors_2D "vectors/")
    (D formal-const-decl "posreal" vertical_criterion nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/= const-decl "boolean" notequal nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (* const-decl "Vector" vectors_2D "vectors/")
    (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)
    (vect2 const-decl "Vect2" vect_3D_2D "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (real nonempty-type-from-decl nil reals nil)
    (dot_add_left formula-decl nil vectors_2D "vectors/"))
   shostak))
 (closed_region_3D_t_direction 0
  (closed_region_3D_t_direction-1 nil 3470396743
   (""
    (case "forall (m,b, x1,x2: real): m > 0 AND x1 > x2 IMPLIES m*x1 + b > m*x2 + b")
    (("1" (label "linelem" -1)
      (("1" (skeep)
        (("1" (assert)
          (("1"
            (name "tt"
                  "(sq(D) - vect2(s) * vect2(p)) / (vect2(v) * vect2(p))")
            (("1" (replace -1)
              (("1" (flatten)
                (("1" (lemma "closed_region_3D_t_def")
                  (("1" (inst - "p" "s" "v")
                    (("1" (assert)
                      (("1" (replace -2)
                        (("1" (typepred "sign(vect2(v)*vect2(p))")
                          (("1" (hide -1)
                            (("1" (typepred "sign(tt - tztime)")
                              (("1"
                                (hide -1)
                                (("1"
                                  (ground)
                                  (("1"
                                    (replace -1)
                                    (("1"
                                      (replace -2)
                                      (("1"
                                        (expand "sign")
                                        (("1"
                                          (lift-if)
                                          (("1"
                                            (ground)
                                            (("1"
                                              (inst
                                               -
                                               "vect2(v)*vect2(p)"
                                               "sq(D) - vect2(s)*vect2(p)"
                                               "tt"
                                               "tztime")
                                              (("1"
                                                (assert)
                                                (("1"
                                                  (hide-all-but
                                                   (-3 "linelem" 1))
                                                  (("1"
                                                    (grind)
                                                    nil
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil)
                                   ("2"
                                    (replace -1)
                                    (("2"
                                      (replace -2)
                                      (("2"
                                        (assert)
                                        (("2"
                                          (expand "sign")
                                          (("2"
                                            (lift-if)
                                            (("2"
                                              (ground)
                                              (("2"
                                                (inst
                                                 -
                                                 "- (vect2(v)*vect2(p))"
                                                 "sq(D) - (vect2(s)*vect2(p))"
                                                 "tt"
                                                 "tztime")
                                                (("2"
                                                  (assert)
                                                  (("2"
                                                    (hide-all-but
                                                     (-1 -4 "linelem"))
                                                    (("2"
                                                      (grind)
                                                      nil
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil)
                                   ("3"
                                    (replace -1)
                                    (("3"
                                      (replace -2)
                                      (("3"
                                        (expand "sign")
                                        (("3"
                                          (lift-if)
                                          (("3"
                                            (ground)
                                            (("3"
                                              (inst
                                               -
                                               "vect2(v)*vect2(p)"
                                               "vect2(s)*vect2(p) - sq(D)"
                                               "tztime"
                                               "tt")
                                              (("3"
                                                (assert)
                                                (("3"
                                                  (hide-all-but
                                                   (-1 -3 "linelem"))
                                                  (("3"
                                                    (grind)
                                                    nil
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil)
                                   ("4"
                                    (replace -1)
                                    (("4"
                                      (replace -2)
                                      (("4"
                                        (real-props)
                                        (("4"
                                          (expand "sign")
                                          (("4"
                                            (lift-if)
                                            (("4"
                                              (ground)
                                              (("4"
                                                (inst
                                                 -
                                                 "-(vect2(v)*vect2(p))"
                                                 "sq(D) - (vect2(s)*vect2(v))"
                                                 "tztime"
                                                 "tt")
                                                (("4"
                                                  (assert)
                                                  (("4"
                                                    (hide-all-but
                                                     (-1 "linelem" 1))
                                                    (("4"
                                                      (grind)
                                                      nil
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil)
     ("2" (hide 2)
      (("2" (skosimp*)
        (("2" (mult-by -2 "m!1") (("2" (assertnil nil)) nil)) nil))
      nil))
    nil)
   ((both_sides_times_pos_gt1 formula-decl nil real_props nil)
    (m!1 skolem-const-decl "real" vertical_criterion nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (sign_mult_clos application-judgement "Sign" sign "reals/")
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (real_minus_real_is_real application-judgement "real" reals nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (closed_region_3D_t_def formula-decl nil vertical_criterion nil)
    (NOT const-decl "[bool -> bool]" booleans 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)
    (nzint nonempty-type-eq-decl nil integers nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (Sign type-eq-decl nil sign "reals/")
    (sign const-decl "Sign" sign "reals/")
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (+ const-decl "Vector" vectors_2D "vectors/")
    (* const-decl "Vector" vectors_2D "vectors/")
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (odd_times_odd_is_odd application-judgement "odd_int" integers nil)
    (div_cancel3 formula-decl nil real_props nil)
    (neg_times_neg formula-decl nil real_props nil)
    (both_sides_plus_gt2 formula-decl nil real_props nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (/= const-decl "boolean" notequal nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (>= const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (posreal nonempty-type-eq-decl nil real_types nil)
    (D formal-const-decl "posreal" vertical_criterion nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (* const-decl "real" vectors_2D "vectors/")
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (vect2 const-decl "Vect2" vect_3D_2D "vectors/")
    (real_plus_real_is_real application-judgement "real" reals nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (> const-decl "bool" reals nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields
       nil))
   shostak))
 (closed_region_3D_sum_closed 0
  (closed_region_3D_sum_closed-2 "" 3504800714
   ("" (case "forall (a,b: nzreal): a/b >= 0 IFF sign(a) = sign(b)")
    (("1" (label "signlem" -1)
      (("1" (hide "signlem")
        (("1"
          (case "FORALL (c1, c3, k: real, c2, c4: nzreal): c1/c2 >= k AND c3/c4 >= k AND sign(c2) = sign(c4) IMPLIES (c2 + c4) /= 0 AND (c1 + c3)/(c2 + c4) >= k")
          (("1" (label "divisorlem" -1)
            (("1" (hide "divisorlem")
              (("1" (skeep)
                (("1" (expand "closed_region_3D")
                  (("1" (flatten)
                    (("1" (case "sign(vect2(v + w) * vect2(p)) = dir")
                      (("1" (assert)
                        (("1" (split 3)
                          (("1" (rewrite "vect2_add")
                            (("1" (rewrite "dot_add_left")
                              (("1"
                                (typepred "dir")
                                (("1"
                                  (expand "sign")
                                  (("1"
                                    (lift-if)
                                    (("1" (ground) nil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil)
                           ("2" (reveal "signlem")
                            (("2" (copy -1)
                              (("2"
                                (inst?)
                                (("1"
                                  (assert)
                                  (("1"
                                    (inst
                                     -
                                     "sq(D) - vect2(s) * vect2(p)"
                                     "vect2(v) * vect2(p)")
                                    (("1" (assertnil nil))
                                    nil))
                                  nil)
                                 ("2" (assertnil nil))
                                nil))
                              nil))
                            nil)
                           ("3" (both-sides "-" "s`z*eps" 1)
                            (("1" (assert)
                              (("1"
                                (rewrite "vz_distr_add")
                                (("1"
                                  (rewrite "vect2_add")
                                  (("1"
                                    (rewrite "dot_add_left")
                                    (("1"
                                      (reveal "divisorlem")
                                      (("1"
                                        (inst
                                         -
                                         "v`z*(sq(D) - vect2(s) * vect2(p))*eps"
                                         "w`z*(sq(D) - vect2(s) * vect2(p))*eps"
                                         "H-s`z*eps"
                                         "vect2(v) * vect2(p)"
                                         "vect2(w) * vect2(p)")
                                        (("1" (assertnil nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (assertnil nil))
                            nil)
                           ("4" (propax) nil nil))
                          nil))
                        nil)
                       ("2" (rewrite "vect2_add")
                        (("2" (rewrite "dot_add_left")
                          (("2" (typepred "dir")
                            (("2" (expand "sign")
                              (("2"
                                (lift-if)
                                (("2"
                                  (hide 4)
                                  (("2" (ground) nil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil)
           ("2" (hide-all-but 1)
            (("2" (skeep)
              (("2" (typepred "sign(c2)")
                (("2" (split 1)
                  (("1" (expand "sign")
                    (("1" (lift-if)
                      (("1" (lift-if) (("1" (ground) nil nil)) nil))
                      nil))
                    nil)
                   ("2" (expand "sign")
                    (("2" (lift-if)
                      (("2" (lift-if)
                        (("2" (ground)
                          (("1" (cross-mult -5)
                            (("1" (cross-mult -6)
                              (("1" (cross-mult 2) nil nil)) nil))
                            nil)
                           ("2" (lift-if)
                            (("2" (prop)
                              (("1"
                                (cross-mult -3)
                                (("1"
                                  (cross-mult -4)
                                  (("1"
                                    (cross-mult 5)
                                    (("1" (assertnil nil))
                                    nil))
                                  nil))
                                nil)
                               ("2"
                                (cross-mult -1)
                                (("2"
                                  (cross-mult -2)
                                  (("2" (cross-mult 6) nil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil)
     ("2" (hide 2)
      (("2" (skeep)
        (("2" (typepred "sign(b)")
          (("2" (ground)
            (("1" (replace -2)
              (("1" (expand "sign")
                (("1" (lift-if)
                  (("1" (ground) (("1" (cross-mult -2) nil nil)) nil))
                  nil))
                nil))
              nil)
             ("2" (replace -2)
              (("2" (expand "sign")
                (("2" (lift-if)
                  (("2" (ground)
                    (("2" (lemma "posreal_div_posreal_is_posreal")
                      (("2" (inst - "a" "b") (("2" (assertnil nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("3" (replace -2)
              (("3" (expand "sign")
                (("3" (lift-if)
                  (("3" (ground) (("3" (cross-mult -2) nil nil)) nil))
                  nil))
                nil))
              nil)
             ("4" (replace -2)
              (("4" (expand "sign")
                (("4" (lift-if)
                  (("4" (ground) (("4" (cross-mult 3) nil nil)) nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((posreal_div_posreal_is_posreal judgement-tcc nil real_types nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (real_minus_real_is_real application-judgement "real" reals nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (closed_region_3D const-decl "bool" vertical_criterion nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (* const-decl "real" vectors_2D "vectors/")
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (vect2 const-decl "Vect2" vect_3D_2D "vectors/")
    (Vector type-eq-decl nil vectors_3D "vectors/")
    (+ const-decl "Vector" vectors_3D "vectors/")
    (dot_add_left formula-decl nil vectors_2D "vectors/")
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (vect2_add formula-decl nil vect_3D_2D "vectors/")
    (p skolem-const-decl "Vect3" vertical_criterion nil)
    (s skolem-const-decl "Vect3" vertical_criterion nil)
    (D formal-const-decl "posreal" vertical_criterion nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (vz_distr_add formula-decl nil vectors_3D "vectors/")
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (times_div1 formula-decl nil real_props nil)
    (times_div2 formula-decl nil real_props nil)
    (both_sides_minus_ge1 formula-decl nil real_props nil)
    (H formal-const-decl "posreal" vertical_criterion nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sign_mult_clos application-judgement "Sign" sign "reals/")
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (div_mult_pos_ge1 formula-decl nil real_props nil)
    (c4 skolem-const-decl "nzreal" vertical_criterion nil)
    (c2 skolem-const-decl "nzreal" vertical_criterion nil)
    (negreal nonempty-type-eq-decl nil real_types nil)
    (< const-decl "bool" reals nil)
    (nonpos_real nonempty-type-eq-decl nil real_types nil)
    (<= const-decl "bool" reals nil)
    (div_mult_neg_ge1 formula-decl nil real_props nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (IFF const-decl "[bool, bool -> bool]" booleans nil)
    (>= const-decl "bool" 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 "[T, T -> boolean]" equalities nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (nzint nonempty-type-eq-decl nil integers nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (Sign type-eq-decl nil sign "reals/")
    (sign const-decl "Sign" sign "reals/"))
   shostak)
  (closed_region_3D_sum_closed-1 nil 3470137852
   ("" (case "forall (a,b: nzreal): a/b >= 0 IFF sign(a) = sign(b)")
    (("1" (label "signlem" -1)
      (("1" (hide "signlem")
        (("1"
          (case "FORALL (c1, c3, k: real, c2, c4: nzreal): c1/c2 >= k AND c3/c4 >= k AND sign(c2) = sign(c4) IMPLIES (c2 + c4) /= 0 AND (c1 + c3)/(c2 + c4) >= k")
          (("1" (label "divisorlem" -1)
            (("1" (hide "divisorlem")
              (("1" (skeep)
                (("1" (expand "closed_region_3D")
                  (("1" (flatten)
                    (("1" (case "sign(vect2(v + w) * vect2(p)) = dir")
                      (("1" (assert)
                        (("1" (split 3)
                          (("1" (rewrite "vect2_add")
                            (("1" (rewrite "dot_add_left")
                              (("1"
                                (typepred "dir")
                                (("1"
                                  (expand "sign")
                                  (("1"
                                    (lift-if)
                                    (("1" (ground) nil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil)
                           ("2" (reveal "signlem")
                            (("2" (copy -1)
                              (("2"
                                (inst?)
                                (("1"
                                  (assert)
                                  (("1"
                                    (inst
                                     -
                                     "sq(D) - vect2(s) * vect2(p)"
                                     "vect2(v) * vect2(p)")
                                    (("1" (assertnil nil))
                                    nil))
                                  nil)
                                 ("2" (assertnil nil))
                                nil))
                              nil))
                            nil)
                           ("3" (both-sides "-" "s`z*eps" 1)
                            (("1" (assert)
                              (("1"
                                (rewrite "vz_distr_add")
                                (("1"
                                  (rewrite "vect2_add")
                                  (("1"
                                    (rewrite "dot_add_left")
                                    (("1"
                                      (reveal "divisorlem")
                                      (("1"
                                        (inst
                                         -
                                         "v`z*(sq(D) - vect2(s) * vect2(p))*eps"
                                         "w`z*(sq(D) - vect2(s) * vect2(p))*eps"
                                         "H-s`z*eps"
                                         "vect2(v) * vect2(p)"
                                         "vect2(w) * vect2(p)")
                                        (("1" (assertnil nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (assertnil nil))
                            nil)
                           ("4" (propax) nil nil))
                          nil))
                        nil)
                       ("2" (rewrite "vect2_add")
                        (("2" (rewrite "dot_add_left")
                          (("2" (typepred "dir")
                            (("2" (expand "sign")
                              (("2"
                                (lift-if)
                                (("2"
                                  (hide 4)
                                  (("2" (ground) nil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil)
           ("2" (hide-all-but 1)
            (("2" (skeep)
              (("2" (typepred "sign(c2)")
                (("2" (split 1)
                  (("1" (expand "sign")
                    (("1" (lift-if)
                      (("1" (lift-if) (("1" (ground) nil nil)) nil))
                      nil))
                    nil)
                   ("2" (expand "sign")
                    (("2" (lift-if)
                      (("2" (lift-if)
                        (("2" (ground)
                          (("1" (cross-mult -5)
                            (("1" (cross-mult -6)
                              (("1"
                                (cross-mult 2)
                                (("1" (assertnil nil))
                                nil))
                              nil))
                            nil)
                           ("2" (cross-mult -1)
                            (("2" (cross-mult -2)
                              (("2"
                                (cross-mult 6)
                                (("2" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil)
     ("2" (hide 2)
      (("2" (skeep)
        (("2" (typepred "sign(b)")
          (("2" (ground)
            (("1" (replace -2)
              (("1" (expand "sign")
                (("1" (lift-if)
                  (("1" (ground)
                    (("1" (cross-mult -2) (("1" (assertnil nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("2" (replace -2)
              (("2" (expand "sign")
                (("2" (lift-if)
                  (("2" (ground)
                    (("2" (lemma "posreal_div_posreal_is_posreal")
                      (("2" (inst - "a" "b") (("2" (assertnil nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("3" (replace -2)
              (("3" (expand "sign")
                (("3" (lift-if)
                  (("3" (ground)
                    (("3" (cross-mult -2) (("3" (assertnil nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("4" (replace -2)
              (("4" (expand "sign")
                (("4" (lift-if)
                  (("4" (ground)
                    (("4" (cross-mult 3) (("4" (assertnil nil)) nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((sq_nz_pos application-judgement "posreal" sq "reals/")
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (* const-decl "real" vectors_2D "vectors/")
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (vect2 const-decl "Vect2" vect_3D_2D "vectors/")
    (Vector type-eq-decl nil vectors_3D "vectors/")
    (+ const-decl "Vector" vectors_3D "vectors/")
    (dot_add_left formula-decl nil vectors_2D "vectors/")
    (vect2_add formula-decl nil vect_3D_2D "vectors/")
    (sq const-decl "nonneg_real" sq "reals/")
    (vz_distr_add formula-decl nil vectors_3D "vectors/")
    (sign_mult_clos application-judgement "Sign" sign "reals/")
    (Sign type-eq-decl nil sign "reals/")
    (sign const-decl "Sign" sign "reals/"))
   nil))
 (vertical_criterion?_TCC1 0
  (vertical_criterion?_TCC1-1 nil 3471104337
   ("" (skeep)
    (("" (skeep 2)
      (("" (assert)
        (("" (lemma "Delta_gt_0_nzv")
          (("" (inst?) (("" (assertnil nil)) nil)) nil))
        nil))
      nil))
    nil)
   ((D formal-const-decl "posreal" vertical_criterion nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (Delta_gt_0_nzv formula-decl nil horizontal nil)
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (vect2 const-decl "Vect2" vect_3D_2D "vectors/")
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (sign_mult_clos application-judgement "Sign" sign "reals/")
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil))
   nil))
 (vertical_criterion_sum_closed 0
  (vertical_criterion_sum_closed-1 nil 3470160287
   ("" (skeep)
    (("" (expand "crit_sum_closed?")
      (("" (skeep)
        ((""
          (name "ddir"
                "IF abs(s`z) >= H THEN eps*sign(s`z) ELSE -1 ENDIF")
          (("" (expand "vertical_criterion?")
            (("" (flatten)
              (("" (case "vect2(v) = zero")
                (("1" (assert)
                  (("1" (lemma "Delta_gt_0_nzv")
                    (("1" (inst - "s" "v")
                      (("1" (assert)
                        (("1" (flatten)
                          (("1" (assert)
                            (("1" (hide-all-but (-3 -5 2))
                              (("1" (grind) nil nil)) nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (assert)
                  (("2" (hide 1)
                    (("2" (hide 1)
                      (("2" (lemma "closed_region_3D_sum_closed")
                        (("2" (replace -2)
                          (("2"
                            (name "ppoint"
                                  "s + Theta_D(vect2(s), vect2(v), ddir) * v")
                            (("1" (replace -1)
                              (("1"
                                (assert)
                                (("1"
                                  (flatten)
                                  (("1"
                                    (inst?)
                                    (("1" (assertnil nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (assertnil nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((crit_sum_closed? const-decl "bool" predicate_coordination nil)
    (sign const-decl "Sign" sign "reals/")
    (Sign type-eq-decl nil sign "reals/")
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (nzint nonempty-type-eq-decl nil integers nil)
    (/= const-decl "boolean" notequal nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (H formal-const-decl "posreal" vertical_criterion nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (IF const-decl "[boolean, T, T -> T]" if_def nil)
    (numfield nonempty-type-eq-decl nil number_fields 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)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (sign_mult_clos application-judgement "Sign" sign "reals/")
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (Theta_D const-decl "real" horizontal nil)
    (Delta const-decl "real" horizontal nil)
    (Nz_vect2 type-eq-decl nil vectors_2D "vectors/")
    (* const-decl "Vector" vectors_3D "vectors/")
    (Vector type-eq-decl nil vectors_3D "vectors/")
    (closed_region_3D_sum_closed formula-decl nil vertical_criterion
     nil)
    (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)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (+ const-decl "Vector" vectors_3D "vectors/")
    (D formal-const-decl "posreal" vertical_criterion nil)
    (Delta_gt_0_nzv formula-decl nil horizontal nil)
    (zero const-decl "Vector" vectors_2D "vectors/")
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (vect2 const-decl "Vect2" vect_3D_2D "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (vertical_criterion? const-decl "SignedCrit" vertical_criterion
     nil))
   shostak))
 (vertical_criterion_antisymmetric 0
  (vertical_criterion_antisymmetric-1 nil 3489742592
   ("" (expand "crit_antisymmetric?")
    (("" (skeep)
      ((""
        (case "FORALL (sss, vvv, nvvv: Vect3, eeeps: Sign): vertical_criterion?(eeeps)(sss,vvv)(nvvv) IMPLIES vertical_criterion?(-eeeps)(-sss,-vvv)(-nvvv)")
        (("1" (split)
          (("1" (inst?) nil nil)
           ("2" (inst - "-s" "-v" "-nv" "-eps")
            (("2" (case-replace "--eps = eps")
              (("1" (assertnil nil) ("2" (assertnil nil)) nil))
            nil))
          nil)
         ("2" (hide-all-but 1)
          (("2" (skeep)
            (("2" (expand "vertical_criterion?")
              (("2" (split -1)
                (("1" (flatten)
                  (("1" (hide-all-but (-1 -2 -3 1))
                    (("1" (expand "zero")
                      (("1" (expand "vect2")
                        (("1" (flatten) (("1" (grind) nil nil)) nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (flatten)
                  (("2" (hide 1)
                    (("2"
                      (case "NOT Delta(vect2(-sss), vect2(-vvv)) > 0")
                      (("1" (hide 2)
                        (("1" (expand "Delta")
                          (("1"
                            (case "sqv(vect2(-vvv)) = sqv(vect2(vvv))")
                            (("1"
                              (case "det(vect2(-sss), vect2(-vvv)) = det(vect2(sss), vect2(vvv))")
                              (("1" (assertnil nil)
                               ("2"
                                (hide-all-but 1)
                                (("2" (grind) nil nil))
                                nil))
                              nil)
                             ("2" (hide-all-but 1)
                              (("2" (grind) nil nil)) nil))
                            nil))
                          nil))
                        nil)
                       ("2" (assert)
                        (("2"
                          (name "ddir" "IF abs((-sss)`z) >= H
                                                                                                                         THEN -eeeps * sign((-sss)`z)
                                                                                                                       ELSE -1
                                                                                                                       ENDIF")
                          (("2" (replace -1)
                            (("2"
                              (case "IF abs(sss`z) >= H THEN eeeps * sign(sss`z)
                                                                                                                      ELSE -1
                                                                                                                      ENDIF = ddir")
                              (("1"
                                (replace -1)
                                (("1"
                                  (case
                                   "NOT Theta_D(vect2(-sss), vect2(-vvv), ddir) = Theta_D(vect2(sss), vect2(vvv), ddir)")
                                  (("1"
                                    (lemma "Theta_D_symm")
                                    (("1"
                                      (inst - "ddir" "vvv" "sss")
                                      (("1"
                                        (case
                                         "vect2(-sss) = -vect2(sss) AND vect2(-vvv) = -vect2(vvv)")
                                        (("1"
                                          (flatten)
                                          (("1" (assertnil nil))
                                          nil)
                                         ("2"
                                          (hide-all-but 1)
                                          (("2" (grind) nil nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil)
                                   ("2"
                                    (assert)
                                    (("2"
                                      (replace -1)
                                      (("2"
                                        (name
                                         "ppoint"
                                         "sss + Theta_D(vect2(sss), vect2(vvv), ddir) * vvv")
                                        (("2"
                                          (replace -1)
                                          (("2"
                                            (case
                                             "NOT -ppoint = -sss + Theta_D(vect2(sss), vect2(vvv), ddir) * -vvv")
                                            (("1"
                                              (name
                                               "TD11"
                                               "Theta_D(vect2(sss), vect2(vvv), ddir)")
                                              (("1"
                                                (replace -1)
                                                (("1"
                                                  (hide-all-but (-2 1))
                                                  (("1"
                                                    (grind)
                                                    nil
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2"
                                              (replace -1 :dir rl)
                                              (("2"
                                                (expand
                                                 "closed_region_3D")
                                                (("2"
                                                  (assert)
                                                  (("2"
                                                    (flatten)
                                                    (("2"
                                                      (split 2)
                                                      (("1"
                                                        (hide-all-but
                                                         (-1 1))
                                                        (("1"
                                                          (grind)
                                                          nil
                                                          nil))
                                                        nil)
                                                       ("2"
                                                        (case
                                                         "sign(vect2(-nvvv) * vect2(-ppoint)) = sign(vect2(nvvv) * vect2(ppoint))")
                                                        (("1"
                                                          (replace -1)
                                                          (("1"
                                                            (propax)
                                                            nil
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (hide-all-but
                                                           1)
                                                          (("2"
                                                            (grind)
                                                            nil
                                                            nil))
                                                          nil))
                                                        nil)
                                                       ("3"
                                                        (case
                                                         "vect2(-sss) * vect2(-ppoint) = vect2(sss) * vect2(ppoint) AND vect2(-nvvv) * vect2(-ppoint) = vect2(nvvv) * vect2(ppoint)")
                                                        (("1"
                                                          (flatten)
                                                          (("1"
                                                            (assert)
                                                            nil
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (hide-all-but
                                                           1)
                                                          (("2"
                                                            (grind)
                                                            nil
                                                            nil))
                                                          nil))
                                                        nil)
                                                       ("4"
                                                        (case
                                                         "vect2(-sss) * vect2(-ppoint) = vect2(sss) * vect2(ppoint) AND vect2(-nvvv) * vect2(-ppoint) = vect2(nvvv) * vect2(ppoint)")
                                                        (("1"
                                                          (flatten)
                                                          (("1"
                                                            (replace
                                                             -1)
                                                            (("1"
                                                              (replace
                                                               -2)
                                                              (("1"
                                                                (case
                                                                 "(-sss)`z = -sss`z AND (-nvvv)`z = -nvvv`z")
                                                                (("1"
                                                                  (flatten)
                                                                  (("1"
                                                                    (assert)
                                                                    nil
                                                                    nil))
                                                                  nil)
                                                                 ("2"
                                                                  (hide-all-but
                                                                   1)
                                                                  (("2"
                                                                    (grind)
                                                                    nil
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (hide-all-but
                                                           1)
                                                          (("2"
                                                            (grind)
                                                            nil
                                                            nil))
                                                          nil))
                                                        nil)
                                                       ("5"
                                                        (case
                                                         "abs(sss`z) >= H")
                                                        (("1"
                                                          (case
                                                           "abs((-sss)`z) = abs(sss`z)")
                                                          (("1"
                                                            (replace
                                                             -1)
                                                            (("1"
                                                              (assert)
                                                              nil
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (hide-all-but
                                                             1)
                                                            (("2"
                                                              (grind)
                                                              nil
                                                              nil))
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (case
                                                           "abs((-sss)`z) = abs(sss`z)")
                                                          (("1"
                                                            (replace
                                                             -1)
                                                            (("1"
                                                              (assert)
                                                              nil
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (hide-all-but
                                                             1)
                                                            (("2"
                                                              (grind)
                                                              nil
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil)
                                   ("3"
                                    (lemma "Delta_gt_0_nzv")
                                    (("3"
                                      (inst - "-sss" "-vvv")
                                      (("3" (assertnil nil))
                                      nil))
                                    nil))
                                  nil))
                                nil)
                               ("2"
                                (hide-all-but (-1 1))
                                (("2" (grind) nil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (sign_mult_clos application-judgement "Sign" sign "reals/")
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (> const-decl "bool" reals nil)
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (>= const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (D formal-const-decl "posreal" vertical_criterion nil)
    (Delta const-decl "real" horizontal nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (real_plus_real_is_real application-judgement "real" reals nil)
    (* const-decl "real" vectors_2D "vectors/")
    (det const-decl "real" det_2D "vectors/")
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (IF const-decl "[boolean, T, T -> T]" if_def nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (H formal-const-decl "posreal" vertical_criterion nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (sign const-decl "Sign" sign "reals/")
    (Nz_vect2 type-eq-decl nil vectors_2D "vectors/")
    (Theta_D const-decl "real" horizontal nil)
    (- const-decl "Vector" vectors_2D "vectors/")
    (Theta_D_symm formula-decl nil horizontal nil)
    (vect2_eq formula-decl nil vect_3D_2D "vectors/")
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (closed_region_3D const-decl "bool" vertical_criterion nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (* const-decl "Vector" vectors_3D "vectors/")
    (+ const-decl "Vector" vectors_3D "vectors/")
    (Delta_gt_0_nzv formula-decl nil horizontal nil)
    (nzint_times_nzint_is_nzint application-judgement "nzint" integers
     nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (zero const-decl "Vector" vectors_2D "vectors/")
    (minus_real_is_real application-judgement "real" reals nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (vect2 const-decl "Vect2" vect_3D_2D "vectors/")
    (neg_neg formula-decl nil vectors_3D "vectors/")
    (sign_neg_clos application-judgement "Sign" sign "reals/")
    (real nonempty-type-from-decl nil reals nil)
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (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)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (/= const-decl "boolean" notequal nil)
    (nzint nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (Sign type-eq-decl nil sign "reals/")
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (set type-eq-decl nil sets nil)
    (Criter type-eq-decl nil predicate_coordination nil)
    (SignedCrit type-eq-decl nil predicate_coordination nil)
    (vertical_criterion? const-decl "SignedCrit" vertical_criterion
     nil)
    (Vector type-eq-decl nil vectors_3D "vectors/")
    (- const-decl "Vector" vectors_3D "vectors/")
    (crit_antisymmetric? const-decl "bool" predicate_coordination nil))
   nil))
 (vertical_criterion_independence 0
  (vertical_criterion_independence-1 nil 3470161231
   (""
    (case "NOT (forall (sz,vz,epsils, tlt, tln, H: real): epsils*sz >= H AND epsils*(sz + tlt*vz) >= H AND tlt >= 0 AND tln >=0 AND tln <= tlt IMPLIES epsils*(sz+tln*vz) >= H)")
    (("1" (hide 2)
      (("1"
        (case "NOT (FORALL (mz, bz, tz1,tz2,tz3: real): mz+tz1*bz >= 0 AND mz+tz3*bz >= 0 AND tz1 <= tz2 AND tz2 <= tz3 IMPLIES mz + tz2*bz >= 0)")
        (("1" (hide 2)
          (("1" (skeep)
            (("1" (both-sides "-" "mz" -1)
              (("1" (both-sides "-" "mz" -2)
                (("1" (both-sides "-" "mz" 1)
                  (("1" (assert)
                    (("1" (case "bz = 0")
                      (("1" (assertnil nil)
                       ("2" (case "bz > 0")
                        (("1" (div-by -2 "bz")
                          (("1" (div-by 2 "bz")
                            (("1" (assertnil nil)) nil))
                          nil)
                         ("2" (div-by -2 "-bz")
                          (("2" (div-by 3 "-bz")
                            (("2" (assertnil nil)) nil))
                          nil))
                        nil))
                      nil))
                    nil)
                   ("2" (assertnil nil))
                  nil)
                 ("2" (assertnil nil))
                nil)
               ("2" (assertnil nil))
              nil))
            nil))
          nil)
         ("2" (skosimp*)
          (("2"
            (inst - "epsils!1*sz!1 - H!1" "epsils!1*vz!1" "0" "tln!1"
             "tlt!1")
            (("2" (assertnil nil)) nil))
          nil))
        nil))
      nil)
     ("2" (label "signlem" -1)
      (("2" (hide -1)
        (("2" (skeep)
          (("2" (expand "vertical_criterion?")
            (("2" (split -1)
              (("1" (flatten)
                (("1" (expand "conflict?")
                  (("1" (skosimp*)
                    (("1" (mult-by -2 "nnt!1")
                      (("1" (add-formulas -1 -3)
                        (("1"
                          (case "nv`z * eps * nnt!1 + eps * s`z = abs(s`z + nnt!1 * nv`z)")
                          (("1" (assertnil nil)
                           ("2" (hide-all-but (-1 1))
                            (("2" (typepred "eps")
                              (("2" (grind) nil nil)) nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil)
               ("2" (flatten)
                (("2" (label "Deltagt0" -1)
                  (("2" (label "Thetagt0" -2)
                    (("2" (label "conflictnv" -4)
                      (("2"
                        (name "ddir" "IF abs(s`z) >= H
                                                                                                                                                                              THEN eps * sign(s`z)
                                                                                                                                                                              ELSE -1
                                                                                                                                                                              ENDIF")
                        (("2" (label "ddirname" -1)
                          (("2"
                            (name "ppoint"
                                  "s + Theta_D(vect2(s), vect2(v), ddir) * v")
                            (("1" (label "ppointname" -1)
                              (("1"
                                (replace -2)
                                (("1"
                                  (replace -1)
                                  (("1"
                                    (expand "closed_region_3D")
                                    (("1"
                                      (assert)
                                      (("1"
                                        (flatten)
                                        (("1"
                                          (name
                                           "ttime"
                                           "(sq(D) - vect2(s) * vect2(ppoint)) / (vect2(nv) * vect2(ppoint))")
                                          (("1"
                                            (label "ttimename" -1)
                                            (("1"
                                              (replace -1)
                                              (("1"
                                                (case "ttime > 0")
                                                (("1"
                                                  (label "ttimegt0" -1)
                                                  (("1"
                                                    (hide -1)
                                                    (("1"
                                                      (label
                                                       "scases"
                                                       -9)
                                                      (("1"
                                                        (split
                                                         "scases")
                                                        (("1"
                                                          (flatten)
                                                          (("1"
                                                            (label
                                                             "gtH"
                                                             -1)
                                                            (("1"
                                                              (case
                                                               "ddir = 1 OR ddir = -1")
                                                              (("1"
                                                                (split
                                                                 -1)
                                                                (("1"
                                                                  (replace
                                                                   -1)
                                                                  (("1"
                                                                    (hide
                                                                     -1)
                                                                    (("1"
                                                                      (hide
                                                                       "ddirname")
                                                                      (("1"
                                                                        (case
                                                                         "eps*s`z >= H")
                                                                        (("1"
                                                                          (expand
                                                                           "conflict?")
                                                                          (("1"
                                                                            (skosimp*)
                                                                            (("1"
                                                                              (case
                                                                               "nnt!1 <= ttime")
                                                                              (("1"
                                                                                (reveal
                                                                                 "signlem")
                                                                                (("1"
                                                                                  (inst
                                                                                   -
                                                                                   "s`z"
                                                                                   "nv`z"
                                                                                   "eps"
                                                                                   "ttime"
                                                                                   "nnt!1"
                                                                                   "H")
                                                                                  (("1"
                                                                                    (assert)
                                                                                    (("1"
                                                                                      (case
                                                                                       "abs(s`z + nnt!1*nv`z) = s`z * eps + nv`z * eps * nnt!1")
                                                                                      (("1"
                                                                                        (assert)
                                                                                        nil
                                                                                        nil)
                                                                                       ("2"
                                                                                        (hide-all-but
                                                                                         (-1
                                                                                          1))
                                                                                        (("2"
                                                                                          (typepred
                                                                                           "eps")
                                                                                          (("2"
                                                                                            (grind)
                                                                                            nil
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil)
                                                                               ("2"
                                                                                (lemma
                                                                                 "closed_region_3D_t_direction")
                                                                                (("2"
                                                                                  (inst
                                                                                   -
                                                                                   "ppoint"
                                                                                   "s"
                                                                                   "nnt!1"
                                                                                   "nv")
                                                                                  (("2"
                                                                                    (assert)
                                                                                    (("2"
                                                                                      (replace
                                                                                       "ttimename")
                                                                                      (("2"
                                                                                        (expand
                                                                                         "sign")
                                                                                        (("2"
                                                                                          (lift-if)
                                                                                          (("2"
                                                                                            (hide
                                                                                             "scases")
                                                                                            (("2"
                                                                                              (ground)
                                                                                              (("2"
                                                                                                (name
                                                                                                 "VW"
                                                                                                 "vect2(s) + nnt!1*vect2(nv)")
                                                                                                (("2"
                                                                                                  (replace
                                                                                                   -1)
                                                                                                  (("2"
                                                                                                    (lemma
                                                                                                     "vectors_2D.cauchy_schwarz")
                                                                                                    (("2"
                                                                                                      (inst
                                                                                                       -
                                                                                                       "VW"
                                                                                                       "vect2(ppoint)")
                                                                                                      (("2"
                                                                                                        (assert)
                                                                                                        (("2"
                                                                                                          (case
                                                                                                           "sq(VW*vect2(ppoint)) < sq(D)*sq(D)")
                                                                                                          (("1"
                                                                                                            (lemma
                                                                                                             "sq_lt")
                                                                                                            (("1"
                                                                                                              (inst
                                                                                                               -
                                                                                                               "VW*vect2(ppoint)"
                                                                                                               "sq(D)")
                                                                                                              (("1"
                                                                                                                (assert)
                                                                                                                (("1"
                                                                                                                  (expand
                                                                                                                   "sq")
                                                                                                                  (("1"
                                                                                                                    (assert)
                                                                                                                    nil
                                                                                                                    nil))
                                                                                                                  nil))
                                                                                                                nil)
                                                                                                               ("2"
                                                                                                                (case
                                                                                                                 "sqv(VW)*sqv(vect2(ppoint)) < sq(D) * sq(D)")
                                                                                                                (("1"
                                                                                                                  (assert)
                                                                                                                  nil
                                                                                                                  nil)
                                                                                                                 ("2"
                                                                                                                  (lemma
                                                                                                                   "posreal_times_posreal_is_posreal")
                                                                                                                  (("2"
                                                                                                                    (inst
                                                                                                                     -
                                                                                                                     "sq(D) - sqv(VW)"
                                                                                                                     "sq(D)")
                                                                                                                    (("2"
                                                                                                                      (assert)
                                                                                                                      nil
                                                                                                                      nil))
                                                                                                                    nil))
                                                                                                                  nil))
                                                                                                                nil))
                                                                                                              nil))
                                                                                                            nil)
                                                                                                           ("2"
                                                                                                            (case
                                                                                                             "sqv(vect2(ppoint)) = sq(D)")
                                                                                                            (("1"
                                                                                                              (mult-by
                                                                                                               -16
                                                                                                               "sq(D)")
                                                                                                              (("1"
                                                                                                                (assert)
                                                                                                                nil
                                                                                                                nil))
                                                                                                              nil)
                                                                                                             ("2"
                                                                                                              (lemma
                                                                                                               "Theta_D_unique")
                                                                                                              (("2"
                                                                                                                (inst
                                                                                                                 -
                                                                                                                 "v"
                                                                                                                 "s"
                                                                                                                 "Theta_D(vect2(s),vect2(v),1)")
                                                                                                                (("2"
                                                                                                                  (assert)
                                                                                                                  (("2"
                                                                                                                    (replace
                                                                                                                     "ppointname"
                                                                                                                     :dir
                                                                                                                     rl)
                                                                                                                    (("2"
                                                                                                                      (rewrite
                                                                                                                       "vect2_add")
                                                                                                                      (("2"
                                                                                                                        (rewrite
                                                                                                                         "vect2_scal")
                                                                                                                        nil
                                                                                                                        nil))
                                                                                                                      nil))
                                                                                                                    nil))
                                                                                                                  nil))
                                                                                                                nil))
                                                                                                              nil))
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil)
                                                                         ("2"
                                                                          (hide-all-but
                                                                           ("gtH"
                                                                            "scases"
                                                                            1))
                                                                          (("2"
                                                                            (grind)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil)
                                                                 ("2"
                                                                  (replace
                                                                   -1)
                                                                  (("2"
                                                                    (hide
                                                                     -1)
                                                                    (("2"
                                                                      (expand
                                                                       "conflict?")
                                                                      (("2"
                                                                        (skosimp*)
                                                                        (("2"
                                                                          (case
                                                                           "eps*s`z <=-H")
                                                                          (("1"
                                                                            (case
                                                                             "nnt!1 >= ttime")
                                                                            (("1"
                                                                              (case
                                                                               "s`z * eps + nv`z * nnt!1 * eps >= s`z * eps + nv`z * ttime * eps")
                                                                              (("1"
                                                                                (case
                                                                                 "s`z * eps + nv`z * nnt!1 * eps = abs(s`z + nv`z*nnt!1)")
                                                                                (("1"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil)
                                                                                 ("2"
                                                                                  (hide-all-but
                                                                                   (-1
                                                                                    1
                                                                                    -13))
                                                                                  (("2"
                                                                                    (typepred
                                                                                     "eps")
                                                                                    (("2"
                                                                                      (grind)
                                                                                      nil
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil)
                                                                               ("2"
                                                                                (case
                                                                                 "nv`z * ttime * eps >= 0")
                                                                                (("1"
                                                                                  (div-by
                                                                                   -1
                                                                                   "ttime")
                                                                                  (("1"
                                                                                    (mult-by
                                                                                     -1
                                                                                     "(nnt!1 - ttime)")
                                                                                    (("1"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    nil))
                                                                                  nil)
                                                                                 ("2"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil))
                                                                                nil))
                                                                              nil)
                                                                             ("2"
                                                                              (lemma
                                                                               "closed_region_3D_t_direction")
                                                                              (("2"
                                                                                (inst
                                                                                 -
                                                                                 "ppoint"
                                                                                 "s"
                                                                                 "nnt!1"
                                                                                 "nv")
                                                                                (("2"
                                                                                  (assert)
                                                                                  (("2"
                                                                                    (replace
                                                                                     "ttimename")
                                                                                    (("2"
                                                                                      (case
                                                                                       "sq(D) - (vect2(s) + nnt!1 * vect2(nv)) * vect2(ppoint) >= 0")
                                                                                      (("1"
                                                                                        (expand
                                                                                         "sign")
                                                                                        (("1"
                                                                                          (lift-if)
                                                                                          (("1"
                                                                                            (ground)
                                                                                            nil
                                                                                            nil))
                                                                                          nil))
                                                                                        nil)
                                                                                       ("2"
                                                                                        (name
                                                                                         "VW"
                                                                                         "vect2(s) + nnt!1*vect2(nv)")
                                                                                        (("2"
                                                                                          (replace
                                                                                           -1)
                                                                                          (("2"
                                                                                            (lemma
                                                                                             "vectors_2D.cauchy_schwarz")
                                                                                            (("2"
                                                                                              (inst
                                                                                               -
                                                                                               "VW"
                                                                                               "vect2(ppoint)")
                                                                                              (("2"
                                                                                                (assert)
                                                                                                (("2"
                                                                                                  (case
                                                                                                   "sq(VW*vect2(ppoint)) < sq(D)*sq(D)")
                                                                                                  (("1"
                                                                                                    (lemma
                                                                                                     "sq_lt")
                                                                                                    (("1"
                                                                                                      (inst
                                                                                                       -
                                                                                                       "VW*vect2(ppoint)"
                                                                                                       "sq(D)")
                                                                                                      (("1"
                                                                                                        (assert)
                                                                                                        (("1"
                                                                                                          (expand
                                                                                                           "sq")
                                                                                                          (("1"
                                                                                                            (propax)
                                                                                                            nil
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil)
                                                                                                   ("2"
                                                                                                    (case
                                                                                                     "sqv(VW)*sqv(vect2(ppoint)) < sq(D) * sq(D)")
                                                                                                    (("1"
                                                                                                      (assert)
                                                                                                      nil
                                                                                                      nil)
                                                                                                     ("2"
                                                                                                      (lemma
                                                                                                       "posreal_times_posreal_is_posreal")
                                                                                                      (("2"
                                                                                                        (inst
                                                                                                         -
                                                                                                         "sq(D) - sqv(VW)"
                                                                                                         "sq(D)")
                                                                                                        (("2"
                                                                                                          (assert)
                                                                                                          (("2"
                                                                                                            (case
                                                                                                             "sqv(vect2(ppoint)) = sq(D)")
                                                                                                            (("1"
                                                                                                              (mult-by
                                                                                                               -18
                                                                                                               "sq(D)")
                                                                                                              (("1"
                                                                                                                (assert)
                                                                                                                nil
                                                                                                                nil))
                                                                                                              nil)
                                                                                                             ("2"
                                                                                                              (lemma
                                                                                                               "Theta_D_unique")
                                                                                                              (("2"
                                                                                                                (inst
                                                                                                                 -
                                                                                                                 "v"
                                                                                                                 "s"
                                                                                                                 "Theta_D(vect2(s),vect2(v),-1)")
                                                                                                                (("2"
                                                                                                                  (replace
                                                                                                                   "ppointname"
                                                                                                                   :dir
                                                                                                                   rl)
                                                                                                                  (("2"
                                                                                                                    (rewrite
                                                                                                                     "vect2_add")
                                                                                                                    (("2"
                                                                                                                      (rewrite
                                                                                                                       "vect2_scal")
                                                                                                                      (("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)
                                                                           ("2"
                                                                            (hide-all-but
                                                                             ("gtH"
                                                                              "scases"
                                                                              1))
                                                                            (("2"
                                                                              (grind)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("2"
                                                                (hide-all-but
                                                                 ("scases"
                                                                  1))
                                                                (("2"
                                                                  (typepred
                                                                   "sign(s`z)")
                                                                  (("2"
                                                                    (typepred
                                                                     "eps")
                                                                    (("2"
                                                                      (ground)
                                                                      nil
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (flatten)
                                                          (("2"
                                                            (replace
                                                             -2)
                                                            (("2"
                                                              (case
                                                               "eps*s`z < H")
                                                              (("1"
                                                                (expand
                                                                 "conflict?")
                                                                (("1"
                                                                  (skosimp*)
                                                                  (("1"
                                                                    (case
                                                                     "nnt!1 >= ttime")
                                                                    (("1"
                                                                      (case
                                                                       "s`z * eps + nv`z * nnt!1 * eps >= s`z * eps + nv`z * ttime * eps")
                                                                      (("1"
                                                                        (case
                                                                         "s`z * eps + nv`z * nnt!1 * eps = abs(s`z + nv`z*nnt!1)")
                                                                        (("1"
                                                                          (assert)
                                                                          nil
                                                                          nil)
                                                                         ("2"
                                                                          (hide-all-but
                                                                           (-1
                                                                            1
                                                                            -13))
                                                                          (("2"
                                                                            (typepred
                                                                             "eps")
                                                                            (("2"
                                                                              (grind)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil)
                                                                       ("2"
                                                                        (case
                                                                         "nv`z * ttime * eps >= 0")
                                                                        (("1"
                                                                          (div-by
                                                                           -1
                                                                           "ttime")
                                                                          (("1"
                                                                            (mult-by
                                                                             -1
                                                                             "(nnt!1 - ttime)")
                                                                            (("1"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil)
                                                                         ("2"
                                                                          (reveal
                                                                           "ttimegt0")
                                                                          (("2"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil)
                                                                     ("2"
                                                                      (lemma
                                                                       "closed_region_3D_t_direction")
                                                                      (("2"
                                                                        (inst
                                                                         -
                                                                         "ppoint"
                                                                         "s"
                                                                         "nnt!1"
                                                                         "nv")
                                                                        (("2"
                                                                          (assert)
                                                                          (("2"
                                                                            (replace
                                                                             "ttimename")
                                                                            (("2"
                                                                              (case
                                                                               "sq(D) - (vect2(s) + nnt!1 * vect2(nv)) * vect2(ppoint) >= 0")
                                                                              (("1"
                                                                                (expand
                                                                                 "sign")
                                                                                (("1"
                                                                                  (lift-if)
                                                                                  (("1"
                                                                                    (ground)
                                                                                    nil
                                                                                    nil))
                                                                                  nil))
                                                                                nil)
                                                                               ("2"
                                                                                (name
                                                                                 "VW"
                                                                                 "vect2(s) + nnt!1*vect2(nv)")
                                                                                (("2"
                                                                                  (replace
                                                                                   -1)
                                                                                  (("2"
                                                                                    (lemma
                                                                                     "vectors_2D.cauchy_schwarz")
                                                                                    (("2"
                                                                                      (inst
                                                                                       -
                                                                                       "VW"
                                                                                       "vect2(ppoint)")
                                                                                      (("2"
                                                                                        (assert)
                                                                                        (("2"
                                                                                          (case
                                                                                           "sq(VW*vect2(ppoint)) < sq(D)*sq(D)")
                                                                                          (("1"
                                                                                            (lemma
                                                                                             "sq_lt")
                                                                                            (("1"
                                                                                              (inst
                                                                                               -
                                                                                               "VW*vect2(ppoint)"
                                                                                               "sq(D)")
                                                                                              (("1"
                                                                                                (assert)
                                                                                                (("1"
                                                                                                  (expand
                                                                                                   "sq")
                                                                                                  (("1"
                                                                                                    (propax)
                                                                                                    nil
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil)
                                                                                           ("2"
                                                                                            (case
                                                                                             "sqv(VW)*sqv(vect2(ppoint)) < sq(D) * sq(D)")
                                                                                            (("1"
                                                                                              (assert)
                                                                                              nil
                                                                                              nil)
                                                                                             ("2"
                                                                                              (lemma
                                                                                               "posreal_times_posreal_is_posreal")
                                                                                              (("2"
                                                                                                (inst
                                                                                                 -
                                                                                                 "sq(D) - sqv(VW)"
                                                                                                 "sq(D)")
                                                                                                (("2"
                                                                                                  (assert)
                                                                                                  (("2"
                                                                                                    (case
                                                                                                     "sqv(vect2(ppoint)) = sq(D)")
                                                                                                    (("1"
                                                                                                      (assert)
                                                                                                      nil
                                                                                                      nil)
                                                                                                     ("2"
                                                                                                      (lemma
                                                                                                       "Theta_D_unique")
                                                                                                      (("2"
                                                                                                        (inst
                                                                                                         -
                                                                                                         "v"
                                                                                                         "s"
                                                                                                         "Theta_D(vect2(s),vect2(v),-1)")
                                                                                                        (("2"
                                                                                                          (replace
                                                                                                           "ppointname"
                                                                                                           :dir
                                                                                                           rl)
                                                                                                          (("2"
                                                                                                            (rewrite
                                                                                                             "vect2_add")
                                                                                                            (("2"
                                                                                                              (rewrite
                                                                                                               "vect2_scal")
                                                                                                              (("2"
                                                                                                                (assert)
                                                                                                                nil
                                                                                                                nil))
                                                                                                              nil))
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("2"
                                                                (hide-all-but
                                                                 (-1
                                                                  1))
                                                                (("2"
                                                                  (typepred
                                                                   "eps")
                                                                  (("2"
                                                                    (grind)
                                                                    nil
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil)
                                                 ("2"
                                                  (case "ttime = 0")
                                                  (("1"
                                                    (replace -1)
                                                    (("1"
                                                      (hide -1)
                                                      (("1"
                                                        (cross-mult -1)
                                                        (("1"
                                                          (case
                                                           "sq(D) - vect2(s) * vect2(ppoint) /= 0")
                                                          (("1"
                                                            (assert)
                                                            nil
                                                            nil)
                                                           ("2"
                                                            (flatten)
                                                            (("2"
                                                              (hide -2)
                                                              (("2"
                                                                (assert)
                                                                (("2"
                                                                  (expand
                                                                   "Delta")
                                                                  (("2"
                                                                    (expand
                                                                     "conflict?")
                                                                    (("2"
                                                                      (skosimp*)
                                                                      (("2"
                                                                        (case
                                                                         "line_solution?(s,v)")
                                                                        (("1"
                                                                          (skosimp*)
                                                                          (("1"
                                                                            (lemma
                                                                             "line_solution_Delta")
                                                                            (("1"
                                                                              (inst
                                                                               -
                                                                               "s"
                                                                               "v")
                                                                              (("1"
                                                                                (case
                                                                                 "EXISTS (eps: Sign): line_solution?(vect2(s), vect2(v), eps)")
                                                                                (("1"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil)
                                                                                 ("2"
                                                                                  (inst
                                                                                   +
                                                                                   "eps!1")
                                                                                  nil
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil)
                                                                         ("2"
                                                                          (lemma
                                                                           "line_solution_rewrite")
                                                                          (("2"
                                                                            (inst
                                                                             -
                                                                             "v"
                                                                             "s")
                                                                            (("1"
                                                                              (replace
                                                                               1)
                                                                              (("1"
                                                                                (assert)
                                                                                (("1"
                                                                                  (inst
                                                                                   +
                                                                                   "Theta_D(vect2(s),vect2(v),ddir)")
                                                                                  (("1"
                                                                                    (lemma
                                                                                     "Theta_D_unique")
                                                                                    (("1"
                                                                                      (inst
                                                                                       -
                                                                                       "v"
                                                                                       "s"
                                                                                       "Theta_D(vect2(s), vect2(v), ddir)")
                                                                                      (("1"
                                                                                        (assert)
                                                                                        (("1"
                                                                                          (case
                                                                                           "sqv(vect2(s) + Theta_D(vect2(s), vect2(v), ddir) * vect2(v)) = sq(D)")
                                                                                          (("1"
                                                                                            (assert)
                                                                                            (("1"
                                                                                              (name
                                                                                               "td"
                                                                                               "Theta_D(vect2(s), vect2(v), ddir)")
                                                                                              (("1"
                                                                                                (replace
                                                                                                 -1)
                                                                                                (("1"
                                                                                                  (case
                                                                                                   "vect2(v)*vect2(ppoint) = 0")
                                                                                                  (("1"
                                                                                                    (replace
                                                                                                     "ppointname"
                                                                                                     -1
                                                                                                     rl)
                                                                                                    (("1"
                                                                                                      (hide-all-but
                                                                                                       (-1
                                                                                                        1))
                                                                                                      (("1"
                                                                                                        (grind)
                                                                                                        nil
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil)
                                                                                                   ("2"
                                                                                                    (case
                                                                                                     "vect2(s)*vect2(ppoint) = vect2(ppoint)*vect2(ppoint)")
                                                                                                    (("1"
                                                                                                      (case
                                                                                                       "vect2(s)*vect2(ppoint) = (vect2(s) + td*vect2(v))*vect2(ppoint)")
                                                                                                      (("1"
                                                                                                        (case
                                                                                                         "td*(vect2(v)*vect2(ppoint)) = 0")
                                                                                                        (("1"
                                                                                                          (div-by
                                                                                                           -1
                                                                                                           "td")
                                                                                                          (("1"
                                                                                                            (assert)
                                                                                                            nil
                                                                                                            nil))
                                                                                                          nil)
                                                                                                         ("2"
                                                                                                          (hide-all-but
                                                                                                           ("ppointname"
                                                                                                            -1
                                                                                                            1))
                                                                                                          (("2"
                                                                                                            (grind)
                                                                                                            nil
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil)
                                                                                                       ("2"
                                                                                                        (case
                                                                                                         "vect2(s) + td * vect2(v) = vect2(ppoint)")
                                                                                                        (("1"
                                                                                                          (expand
                                                                                                           "sqv")
                                                                                                          (("1"
                                                                                                            (assert)
                                                                                                            nil
                                                                                                            nil))
                                                                                                          nil)
                                                                                                         ("2"
                                                                                                          (replace
                                                                                                           "ppointname"
                                                                                                           +
                                                                                                           rl)
                                                                                                          (("2"
                                                                                                            (hide-all-but
                                                                                                             1)
                                                                                                            (("2"
                                                                                                              (grind)
                                                                                                              nil
                                                                                                              nil))
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil)
                                                                                                     ("2"
                                                                                                      (replace
                                                                                                       "ppointname"
                                                                                                       +
                                                                                                       rl)
                                                                                                      (("2"
                                                                                                        (expand
                                                                                                         "sqv")
                                                                                                        (("2"
                                                                                                          (rewrite
                                                                                                           "vect2_add")
                                                                                                          (("2"
                                                                                                            (rewrite
                                                                                                             "vect2_scal")
                                                                                                            (("2"
                                                                                                              (replace
                                                                                                               -2)
                                                                                                              (("2"
                                                                                                                (replace
                                                                                                                 "ppointname"
                                                                                                                 -4
                                                                                                                 :dir
                                                                                                                 rl)
                                                                                                                (("2"
                                                                                                                  (rewrite
                                                                                                                   "vect2_add")
                                                                                                                  (("2"
                                                                                                                    (rewrite
                                                                                                                     "vect2_scal")
                                                                                                                    (("2"
                                                                                                                      (assert)
                                                                                                                      nil
                                                                                                                      nil))
                                                                                                                    nil))
                                                                                                                  nil))
                                                                                                                nil))
                                                                                                              nil))
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil)
                                                                                           ("2"
                                                                                            (assert)
                                                                                            (("2"
                                                                                              (case
                                                                                               "ddir = 1 or ddir = -1")
                                                                                              (("1"
                                                                                                (hide-all-but
                                                                                                 (-1
                                                                                                  2))
                                                                                                (("1"
                                                                                                  (ground)
                                                                                                  nil
                                                                                                  nil))
                                                                                                nil)
                                                                                               ("2"
                                                                                                (hide
                                                                                                 (2
                                                                                                  3
                                                                                                  4
                                                                                                  5
                                                                                                  6
                                                                                                  7
                                                                                                  8
                                                                                                  9))
                                                                                                (("2"
                                                                                                  (flatten)
                                                                                                  (("2"
                                                                                                    (hide-all-but
                                                                                                     ("ddirname"
                                                                                                      1
                                                                                                      2))
                                                                                                    (("2"
                                                                                                      (typepred
                                                                                                       "sign(s`z)")
                                                                                                      (("2"
                                                                                                        (typepred
                                                                                                         "eps")
                                                                                                        (("2"
                                                                                                          (lift-if)
                                                                                                          (("2"
                                                                                                            (ground)
                                                                                                            nil
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil)
                                                                             ("2"
                                                                              (lemma
                                                                               "vectors_2D.cauchy_schwarz")
                                                                              (("2"
                                                                                (inst
                                                                                 -
                                                                                 "s"
                                                                                 "ppoint")
                                                                                (("2"
                                                                                  (case
                                                                                   "sqv(vect2(s)) * sqv(vect2(ppoint)) < sq(D) * sq(D)")
                                                                                  (("1"
                                                                                    (expand
                                                                                     "sq")
                                                                                    (("1"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    nil)
                                                                                   ("2"
                                                                                    (case
                                                                                     "sqv(vect2(ppoint)) = sq(D)")
                                                                                    (("1"
                                                                                      (mult-by
                                                                                       2
                                                                                       "sq(D)")
                                                                                      (("1"
                                                                                        (assert)
                                                                                        nil
                                                                                        nil))
                                                                                      nil)
                                                                                     ("2"
                                                                                      (lemma
                                                                                       "Theta_D_unique")
                                                                                      (("2"
                                                                                        (inst
                                                                                         -
                                                                                         "v"
                                                                                         "s"
                                                                                         "Theta_D(vect2(s),vect2(v),ddir)")
                                                                                        (("2"
                                                                                          (replace
                                                                                           "ppointname"
                                                                                           :dir
                                                                                           rl)
                                                                                          (("2"
                                                                                            (rewrite
                                                                                             "vect2_add")
                                                                                            (("2"
                                                                                              (rewrite
                                                                                               "vect2_scal")
                                                                                              (("2"
                                                                                                (assert)
                                                                                                (("2"
                                                                                                  (case
                                                                                                   "ddir = -1 or ddir = 1")
                                                                                                  (("1"
                                                                                                    (ground)
                                                                                                    nil
                                                                                                    nil)
                                                                                                   ("2"
                                                                                                    (hide-all-but
                                                                                                     ("ddirname"
                                                                                                      1))
                                                                                                    (("2"
                                                                                                      (typepred
                                                                                                       "eps")
                                                                                                      (("2"
                                                                                                        (typepred
                                                                                                         "sign(s`z)")
                                                                                                        (("2"
                                                                                                          (lift-if)
                                                                                                          (("2"
                                                                                                            (ground)
                                                                                                            nil
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil)
                                                                         ("3"
                                                                          (lemma
                                                                           "vectors_2D.cauchy_schwarz")
                                                                          (("3"
                                                                            (inst
                                                                             -
                                                                             "s"
                                                                             "ppoint")
                                                                            (("3"
                                                                              (case
                                                                               "sqv(vect2(s)) * sqv(vect2(ppoint)) < sq(D) * sq(D)")
                                                                              (("1"
                                                                                (expand
                                                                                 "sq")
                                                                                (("1"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil))
                                                                                nil)
                                                                               ("2"
                                                                                (case
                                                                                 "sqv(vect2(ppoint)) = sq(D)")
                                                                                (("1"
                                                                                  (mult-by
                                                                                   2
                                                                                   "sq(D)")
                                                                                  (("1"
                                                                                    (assert)
                                                                                    nil
                                                                                    nil))
                                                                                  nil)
                                                                                 ("2"
                                                                                  (lemma
                                                                                   "Theta_D_unique")
                                                                                  (("2"
                                                                                    (inst
                                                                                     -
                                                                                     "v"
                                                                                     "s"
                                                                                     "Theta_D(vect2(s),vect2(v),ddir)")
                                                                                    (("2"
                                                                                      (replace
                                                                                       "ppointname"
                                                                                       :dir
                                                                                       rl)
                                                                                      (("2"
                                                                                        (rewrite
                                                                                         "vect2_add")
                                                                                        (("2"
                                                                                          (rewrite
                                                                                           "vect2_scal")
                                                                                          (("2"
                                                                                            (assert)
                                                                                            (("2"
                                                                                              (case
                                                                                               "ddir = -1 or ddir = 1")
                                                                                              (("1"
                                                                                                (ground)
                                                                                                nil
                                                                                                nil)
                                                                                               ("2"
                                                                                                (hide-all-but
                                                                                                 ("ddirname"
                                                                                                  1))
                                                                                                (("2"
                                                                                                  (typepred
                                                                                                   "eps")
                                                                                                  (("2"
                                                                                                    (typepred
                                                                                                     "sign(s`z)")
                                                                                                    (("2"
                                                                                                      (lift-if)
                                                                                                      (("2"
                                                                                                        (ground)
                                                                                                        nil
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil)
                                                   ("2"
                                                    (assert)
                                                    nil
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (hide-all-but (-1 1))
                              (("2"
                                (typepred "eps")
                                (("2"
                                  (typepred "sign(s`z)")
                                  (("2"
                                    (lift-if)
                                    (("2" (ground) nil nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("3" (assertnil nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((conflict? const-decl "bool" space_3D nil)
    (both_sides_times_pos_ge1_imp formula-decl nil extra_real_props
     nil)
    (nnreal 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)
    (nzint nonempty-type-eq-decl nil integers nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (Sign type-eq-decl nil sign "reals/")
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (zero_times1 formula-decl nil real_props nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (H formal-const-decl "posreal" vertical_criterion nil)
    (nnreal_plus_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (vect2_eq formula-decl nil vect_3D_2D "vectors/")
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (* const-decl "real" vectors_2D "vectors/")
    (line_solution_rewrite formula-decl nil line_solutions nil)
    (both_sides_times_pos_ge1 formula-decl nil real_props nil)
    (both_sides_div1 formula-decl nil real_props nil)
    (td skolem-const-decl "real" vertical_criterion nil)
    (times_div_cancel1 formula-decl nil extra_real_props nil)
    (s skolem-const-decl "Vect3" vertical_criterion nil)
    (line_solution_Delta formula-decl nil line_solutions nil)
    (line_solution? const-decl "bool" line_solutions nil)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (div_cancel3 formula-decl nil real_props nil)
    (nnt!1 skolem-const-decl "nnreal" vertical_criterion nil)
    (minus_nzreal_is_nzreal application-judgement "nzreal" real_types
     nil)
    (ttime skolem-const-decl "real" vertical_criterion nil)
    (nnt!1 skolem-const-decl "nnreal" vertical_criterion nil)
    (nzint_times_nzint_is_nzint application-judgement "nzint" integers
     nil)
    (odd_times_odd_is_odd application-judgement "odd_int" integers nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (< const-decl "bool" reals nil)
    (VW skolem-const-decl "Vector" vertical_criterion nil)
    (ppoint skolem-const-decl "Vector" vertical_criterion nil)
    (posreal_times_posreal_is_posreal judgement-tcc nil real_types nil)
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (sq_lt formula-decl nil sq "reals/")
    (Theta_D_unique formula-decl nil horizontal nil)
    (vect2_add formula-decl nil vect_3D_2D "vectors/")
    (vect2_scal formula-decl nil vect_3D_2D "vectors/")
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (cauchy_schwarz formula-decl nil vectors_2D "vectors/")
    (* const-decl "Vector" vectors_2D "vectors/")
    (+ const-decl "Vector" vectors_2D "vectors/")
    (closed_region_3D_t_direction formula-decl nil vertical_criterion
     nil)
    (closed_region_3D const-decl "bool" vertical_criterion nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (vect2 const-decl "Vect2" vect_3D_2D "vectors/")
    (Theta_D const-decl "real" horizontal nil)
    (Delta const-decl "real" horizontal nil)
    (D formal-const-decl "posreal" vertical_criterion nil)
    (Nz_vect2 type-eq-decl nil vectors_2D "vectors/")
    (zero const-decl "Vector" vectors_2D "vectors/")
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (* const-decl "Vector" vectors_3D "vectors/")
    (+ const-decl "Vector" vectors_3D "vectors/")
    (Vector type-eq-decl nil vectors_3D "vectors/")
    (IF const-decl "[boolean, T, T -> T]" if_def nil)
    (sign const-decl "Sign" sign "reals/")
    (vertical_criterion? const-decl "SignedCrit" vertical_criterion
     nil)
    (sign_mult_clos application-judgement "Sign" sign "reals/")
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (both_sides_minus_ge1 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)
    (both_sides_div_pos_ge1 formula-decl nil real_props nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (bz skolem-const-decl "real" vertical_criterion nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (times_div_cancel2 formula-decl nil extra_real_props nil)
    (/= const-decl "boolean" notequal nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (> const-decl "bool" reals nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (>= const-decl "bool" reals nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (<= const-decl "bool" reals nil))
   shostak))
 (vertical_criterion_coordination 0
  (vertical_criterion_coordination-1 nil 3471104580
   (""
    (name "cpred"
          "(LAMBDA (ss:Vect3,vv:Vect3): (LAMBDA (ww:Vect3): conflict?(ss,ww)))")
    (("" (lemma "sum_indep_coordinated_antisym")
      (("" (skeep)
        (("" (inst - "cpred" "vertical_criterion?" "eps")
          (("" (split -)
            (("1" (expand "coordinated?")
              (("1" (inst - "vo" "vi" "nvo" "nvi" "s")
                (("1" (expand "cpred") (("1" (assertnil nil)) nil))
                nil))
              nil)
             ("2" (lemma "vertical_criterion_antisymmetric")
              (("2" (propax) nil nil)) nil)
             ("3" (lemma "vertical_criterion_sum_closed")
              (("3" (inst - "eps")
                (("3" (expand "crit_sum_closed?")
                  (("3" (expand "sum_independent?")
                    (("3" (skosimp*)
                      (("3" (inst - "s!1" "v!1" "nv!1" "nw!1")
                        (("3" (assert)
                          (("3"
                            (lemma "vertical_criterion_independence")
                            (("3"
                              (inst - "eps" "nv!1+nw!1" "s!1" "v!1")
                              (("3"
                                (assert)
                                (("3"
                                  (expand "cpred")
                                  (("3" (propax) nil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("4" (expand "sum_closed?")
              (("4" (skosimp*)
                (("4" (expand "cpred")
                  (("4" (lemma "conflict_sum_closed")
                    (("4" (inst - "s!1" "nv!1" "nw!1")
                      (("4" (assertnil nil)) nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((sum_indep_coordinated_antisym formula-decl nil
     predicate_coordination nil)
    (set type-eq-decl nil sets nil)
    (Vector_Predicate nonempty-type-eq-decl nil predicate_coordination
     nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (/= const-decl "boolean" notequal nil)
    (nzint nonempty-type-eq-decl nil integers nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (Sign type-eq-decl nil sign "reals/")
    (Criter type-eq-decl nil predicate_coordination nil)
    (SignedCrit type-eq-decl nil predicate_coordination nil)
    (vertical_criterion? const-decl "SignedCrit" vertical_criterion
     nil)
    (sum_closed? const-decl "bool" predicate_coordination nil)
    (conflict_sum_closed formula-decl nil space_3D nil)
    (vertical_criterion_sum_closed formula-decl nil vertical_criterion
     nil)
    (crit_sum_closed? const-decl "bool" predicate_coordination nil)
    (+ const-decl "Vector" vectors_3D "vectors/")
    (Vector type-eq-decl nil vectors_3D "vectors/")
    (vertical_criterion_independence formula-decl nil
     vertical_criterion nil)
    (sum_independent? const-decl "bool" predicate_coordination nil)
    (vertical_criterion_antisymmetric formula-decl nil
     vertical_criterion nil)
    (coordinated? const-decl "bool" predicate_coordination nil)
    (cpred skolem-const-decl "[[Vect3, Vect3] -> [Vect3 -> bool]]"
     vertical_criterion nil)
    (sign_neg_clos application-judgement "Sign" sign "reals/")
    (real nonempty-type-from-decl nil reals nil)
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (number nonempty-type-decl nil numbers nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (>= const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (D formal-const-decl "posreal" vertical_criterion nil)
    (H formal-const-decl "posreal" vertical_criterion nil)
    (conflict? const-decl "bool" space_3D nil))
   nil))
 (horizontal_meets_vertical_criterion_TCC1 0
  (horizontal_meets_vertical_criterion_TCC1-1 nil 3471192700
   ("" (skosimp*)
    (("" (assert)
      (("" (lemma "Delta_gt_0_nzv")
        (("" (inst?) (("" (assertnil nil)) nil)) nil))
      nil))
    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)
    (vect2 const-decl "Vect2" vect_3D_2D "vectors/")
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (Delta_gt_0_nzv formula-decl nil horizontal nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (D formal-const-decl "posreal" vertical_criterion nil))
   nil))
 (horizontal_meets_vertical_criterion_TCC2 0
  (horizontal_meets_vertical_criterion_TCC2-1 nil 3471192700
   ("" (skosimp*)
    (("" (replaces -1)
      (("" (hide-all-but (-4 1)) (("" (grind) nil nil)) nil)) nil))
    nil)
   ((real_minus_real_is_real application-judgement "real" reals nil)
    (- const-decl "Vector" vectors_3D "vectors/"))
   nil))
 (horizontal_meets_vertical_criterion 0
  (horizontal_meets_vertical_criterion-1 nil 3471192700
   ("" (skeep)
    ((""
      (name "DIR"
            "sign(IF abs(s`z) >= H THEN eps * sign(s`z) ELSE -1 ENDIF)")
      (("" (label "dirname" -1)
        ((""
          (case "IF abs(s`z) >= H THEN eps * sign(s`z) ELSE -1 ENDIF = DIR")
          (("1" (label "dirname2" -1)
            (("1" (replace "dirname2" +)
              (("1" (beta)
                (("1" (flatten)
                  (("1" (label "horizontal_sol" -8)
                    (("1" (hide "horizontal_sol")
                      (("1" (label "deltapos" -3)
                        (("1" (label "Thetadpos" -4)
                          (("1" (label "Thetahpos" -5)
                            (("1" (label "epssign" -6)
                              (("1"
                                (label "onDD" -7)
                                (("1"
                                  (label "vc" 2)
                                  (("1"
                                    (label "vznz" 1)
                                    (("1"
                                      (lemma "Delta_gt_0_nzv")
                                      (("1"
                                        (inst?)
                                        (("1"
                                          (assert)
                                          (("1"
                                            (label "vnz" -1)
                                            (("1"
                                              (expand
                                               "vertical_criterion?")
                                              (("1"
                                                (replace "dirname2" +)
                                                (("1"
                                                  (assert)
                                                  (("1"
                                                    (expand
                                                     "closed_region_3D")
                                                    (("1"
                                                      (name
                                                       "TD"
                                                       "Theta_D(s,vo-vi,DIR)")
                                                      (("1"
                                                        (label
                                                         "tdname"
                                                         -1)
                                                        (("1"
                                                          (replace
                                                           "tdname")
                                                          (("1"
                                                            (assert)
                                                            (("1"
                                                              (name
                                                               "TH"
                                                               "Theta_H(s`z,(vo-vi)`z,-DIR)")
                                                              (("1"
                                                                (label
                                                                 "thname"
                                                                 -1)
                                                                (("1"
                                                                  (replace
                                                                   "thname")
                                                                  (("1"
                                                                    (hide
                                                                     "dirname")
                                                                    (("1"
                                                                      (rewrite
                                                                       "vect2_add")
                                                                      (("1"
                                                                        (rewrite
                                                                         "vect2_scal")
                                                                        (("1"
                                                                          (lemma
                                                                           "Theta_D_on_D")
                                                                          (("1"
                                                                            (inst?
                                                                             -1)
                                                                            (("1"
                                                                              (assert)
                                                                              (("1"
                                                                                (label
                                                                                 "onD"
                                                                                 -1)
                                                                                (("1"
                                                                                  (case
                                                                                   "eps*(eps*H) = H")
                                                                                  (("1"
                                                                                    (label
                                                                                     "epsepsH"
                                                                                     -1)
                                                                                    (("1"
                                                                                      (assert)
                                                                                      (("1"
                                                                                        (case
                                                                                         "vect2(nvo - vi) * (vect2(s) + TD * vect2(vo - vi)) = 0")
                                                                                        (("1"
                                                                                          (hide
                                                                                           "vc")
                                                                                          (("1"
                                                                                            (lemma
                                                                                             "tangent_vector_not_conflict")
                                                                                            (("1"
                                                                                              (inst
                                                                                               -
                                                                                               "DIR"
                                                                                               "s"
                                                                                               "TH"
                                                                                               "vo-vi"
                                                                                               "nvo-vi")
                                                                                              (("1"
                                                                                                (assert)
                                                                                                (("1"
                                                                                                  (lemma
                                                                                                   "Theta_D_positive_conflict")
                                                                                                  (("1"
                                                                                                    (inst?)
                                                                                                    (("1"
                                                                                                      (assert)
                                                                                                      (("1"
                                                                                                        (lemma
                                                                                                         "Theta_D_lt")
                                                                                                        (("1"
                                                                                                          (inst?)
                                                                                                          (("1"
                                                                                                            (assert)
                                                                                                            (("1"
                                                                                                              (hide-all-but
                                                                                                               ("Thetadpos"
                                                                                                                -1
                                                                                                                1
                                                                                                                "tdname"))
                                                                                                              (("1"
                                                                                                                (typepred
                                                                                                                 "DIR")
                                                                                                                (("1"
                                                                                                                  (ground)
                                                                                                                  nil
                                                                                                                  nil))
                                                                                                                nil))
                                                                                                              nil))
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil)
                                                                                         ("2"
                                                                                          (assert)
                                                                                          (("2"
                                                                                            (label
                                                                                             "notline"
                                                                                             1)
                                                                                            (("2"
                                                                                              (case
                                                                                               "sign(vect2(nvo - vi) * (vect2(s) + TD * vect2(vo - vi))) = DIR")
                                                                                              (("1"
                                                                                                (label
                                                                                                 "signdir"
                                                                                                 -1)
                                                                                                (("1"
                                                                                                  (assert)
                                                                                                  (("1"
                                                                                                    (case
                                                                                                     "(sq(D) - vect2(s) * (vect2(s) + TD * vect2(vo - vi))) /
                                     (vect2(nvo - vi) * (vect2(s) + TD * vect2(vo - vi))) = TH")
                                                                                                    (("1"
                                                                                                      (assert)
                                                                                                      (("1"
                                                                                                        (replace
                                                                                                         -1)
                                                                                                        (("1"
                                                                                                          (label
                                                                                                           "thquot"
                                                                                                           -1)
                                                                                                          (("1"
                                                                                                            (reveal
                                                                                                             "horizontal_sol")
                                                                                                            (("1"
                                                                                                              (case
                                                                                                               "(nvo-vi)`z = (vo-vi)`z")
                                                                                                              (("1"
                                                                                                                (label
                                                                                                                 "relhoriz"
                                                                                                                 -1)
                                                                                                                (("1"
                                                                                                                  (name
                                                                                                                   "newz"
                                                                                                                   "s`z + (vo-vi)`z*TH")
                                                                                                                  (("1"
                                                                                                                    (label
                                                                                                                     "newzname"
                                                                                                                     -1)
                                                                                                                    (("1"
                                                                                                                      (replace
                                                                                                                       "relhoriz")
                                                                                                                      (("1"
                                                                                                                        (case
                                                                                                                         "eps*newz >= H")
                                                                                                                        (("1"
                                                                                                                          (replace
                                                                                                                           -2
                                                                                                                           -1
                                                                                                                           rl)
                                                                                                                          (("1"
                                                                                                                            (assert)
                                                                                                                            (("1"
                                                                                                                              (hide-all-but
                                                                                                                               ("dirname2"
                                                                                                                                "vc"))
                                                                                                                              (("1"
                                                                                                                                (grind)
                                                                                                                                nil
                                                                                                                                nil))
                                                                                                                              nil))
                                                                                                                            nil))
                                                                                                                          nil)
                                                                                                                         ("2"
                                                                                                                          (case
                                                                                                                           "abs(newz) >= H")
                                                                                                                          (("1"
                                                                                                                            (replace
                                                                                                                             "newzname")
                                                                                                                            (("1"
                                                                                                                              (hide-all-but
                                                                                                                               (-1
                                                                                                                                1
                                                                                                                                "epssign"))
                                                                                                                              (("1"
                                                                                                                                (grind)
                                                                                                                                nil
                                                                                                                                nil))
                                                                                                                              nil))
                                                                                                                            nil)
                                                                                                                           ("2"
                                                                                                                            (lemma
                                                                                                                             "Theta_H_on_H")
                                                                                                                            (("2"
                                                                                                                              (inst?)
                                                                                                                              (("2"
                                                                                                                                (assert)
                                                                                                                                nil
                                                                                                                                nil))
                                                                                                                              nil))
                                                                                                                            nil))
                                                                                                                          nil))
                                                                                                                        nil))
                                                                                                                      nil))
                                                                                                                    nil))
                                                                                                                  nil))
                                                                                                                nil)
                                                                                                               ("2"
                                                                                                                (hide-all-but
                                                                                                                 ("horizontal_sol"
                                                                                                                  1))
                                                                                                                (("2"
                                                                                                                  (grind)
                                                                                                                  nil
                                                                                                                  nil))
                                                                                                                nil))
                                                                                                              nil))
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil)
                                                                                                     ("2"
                                                                                                      (hide
                                                                                                       "vc")
                                                                                                      (("2"
                                                                                                        (cross-mult
                                                                                                         1)
                                                                                                        (("2"
                                                                                                          (hide-all-but
                                                                                                           ("onDD"
                                                                                                            1))
                                                                                                          (("2"
                                                                                                            (grind)
                                                                                                            nil
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil)
                                                                                               ("2"
                                                                                                (hide
                                                                                                 "vc")
                                                                                                (("2"
                                                                                                  (lemma
                                                                                                   "tangent_line_intersection_v_independent")
                                                                                                  (("2"
                                                                                                    (inst
                                                                                                     -
                                                                                                     "TH"
                                                                                                     "TD"
                                                                                                     "s"
                                                                                                     "vo-vi"
                                                                                                     "nvo-vi")
                                                                                                    (("2"
                                                                                                      (split
                                                                                                       -1)
                                                                                                      (("1"
                                                                                                        (replace
                                                                                                         -1
                                                                                                         +
                                                                                                         :dir
                                                                                                         rl)
                                                                                                        (("1"
                                                                                                          (lemma
                                                                                                           "Theta_D_horizontal_dir")
                                                                                                          (("1"
                                                                                                            (inst
                                                                                                             -
                                                                                                             "DIR"
                                                                                                             "s"
                                                                                                             "vo-vi")
                                                                                                            (("1"
                                                                                                              (assert)
                                                                                                              (("1"
                                                                                                                (lemma
                                                                                                                 "vectors_2D.dot_comm")
                                                                                                                (("1"
                                                                                                                  (inst?)
                                                                                                                  (("1"
                                                                                                                    (replace
                                                                                                                     -1)
                                                                                                                    (("1"
                                                                                                                      (replace
                                                                                                                       "tdname")
                                                                                                                      (("1"
                                                                                                                        (name
                                                                                                                         "const343"
                                                                                                                         "vect2(vo - vi) * (vect2(s) + TD * vect2(vo - vi))")
                                                                                                                        (("1"
                                                                                                                          (replace
                                                                                                                           -1)
                                                                                                                          (("1"
                                                                                                                            (case
                                                                                                                             "const343 /= 0")
                                                                                                                            (("1"
                                                                                                                              (hide-all-but
                                                                                                                               (-1
                                                                                                                                -4
                                                                                                                                1))
                                                                                                                              (("1"
                                                                                                                                (typepred
                                                                                                                                 "DIR")
                                                                                                                                (("1"
                                                                                                                                  (grind)
                                                                                                                                  nil
                                                                                                                                  nil))
                                                                                                                                nil))
                                                                                                                              nil)
                                                                                                                             ("2"
                                                                                                                              (replace
                                                                                                                               -1
                                                                                                                               :dir
                                                                                                                               rl)
                                                                                                                              (("2"
                                                                                                                                (hide
                                                                                                                                 -1)
                                                                                                                                (("2"
                                                                                                                                  (hide
                                                                                                                                   -2)
                                                                                                                                  (("2"
                                                                                                                                    (hide
                                                                                                                                     -2)
                                                                                                                                    (("2"
                                                                                                                                      (flatten)
                                                                                                                                      (("2"
                                                                                                                                        (replace
                                                                                                                                         -1)
                                                                                                                                        (("2"
                                                                                                                                          (lemma
                                                                                                                                           "Delta_eq_0_dot_on_D")
                                                                                                                                          (("2"
                                                                                                                                            (inst
                                                                                                                                             -
                                                                                                                                             "(vect2(s) + TD * vect2(vo - vi))"
                                                                                                                                             "vo-vi")
                                                                                                                                            (("2"
                                                                                                                                              (assert)
                                                                                                                                              (("2"
                                                                                                                                                (lemma
                                                                                                                                                 "Delta_eq")
                                                                                                                                                (("2"
                                                                                                                                                  (inst
                                                                                                                                                   -
                                                                                                                                                   "s"
                                                                                                                                                   "TD"
                                                                                                                                                   "vo-vi")
                                                                                                                                                  (("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)
                                                                                                       ("2"
                                                                                                        (assert)
                                                                                                        nil
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil)
                                                                                   ("2"
                                                                                    (hide-all-but
                                                                                     1)
                                                                                    (("2"
                                                                                      (typepred
                                                                                       "eps")
                                                                                      (("2"
                                                                                        (ground)
                                                                                        nil
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil)
           ("2" (hide 2)
            (("2" (typepred "eps") (("2" (grind) nil nil)) nil)) nil))
          nil))
        nil))
      nil))
    nil)
   ((* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (H formal-const-decl "posreal" vertical_criterion nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (>= const-decl "bool" reals nil)
    (IF const-decl "[boolean, T, T -> T]" if_def nil)
    (sign const-decl "Sign" sign "reals/")
    (Sign type-eq-decl nil sign "reals/")
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (nzint nonempty-type-eq-decl nil integers nil)
    (/= const-decl "boolean" notequal 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)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (sign_mult_clos application-judgement "Sign" sign "reals/")
    (Delta_gt_0_nzv formula-decl nil horizontal nil)
    (D formal-const-decl "posreal" vertical_criterion nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (sign_neg_clos application-judgement "Sign" sign "reals/")
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (vertical_criterion? const-decl "SignedCrit" vertical_criterion
     nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (zero const-decl "Vector" vectors_2D "vectors/")
    (Nz_vect2 type-eq-decl nil vectors_2D "vectors/")
    (Delta const-decl "real" horizontal nil)
    (Theta_D const-decl "real" horizontal nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (Theta_H const-decl "real" vertical nil)
    (* const-decl "Vector" vectors_3D "vectors/")
    (vect2_add formula-decl nil vect_3D_2D "vectors/")
    (Theta_D_on_D formula-decl nil horizontal nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (div_cancel3 formula-decl nil real_props nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (Theta_H_on_H formula-decl nil vertical nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (nzint_times_nzint_is_nzint application-judgement "nzint" integers
     nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (tangent_line_intersection_v_independent formula-decl nil
     horizontal nil)
    (Theta_D_horizontal_dir formula-decl nil horizontal nil)
    (Delta_eq_0_dot_on_D formula-decl nil horizontal nil)
    (sign_nat formula-decl nil sign "reals/")
    (Delta_eq formula-decl nil horizontal nil)
    (dot_comm formula-decl nil vectors_2D "vectors/")
    (Theta_D_positive_conflict formula-decl nil horizontal nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (Theta_D_lt formula-decl nil horizontal nil)
    (tangent_vector_not_conflict formula-decl nil horizontal nil)
    (* const-decl "Vector" vectors_2D "vectors/")
    (+ const-decl "Vector" vectors_2D "vectors/")
    (* const-decl "real" vectors_2D "vectors/")
    (vect2_scal formula-decl nil vect_3D_2D "vectors/")
    (vect2_eq formula-decl nil vect_3D_2D "vectors/")
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (closed_region_3D const-decl "bool" vertical_criterion nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (vect2 const-decl "Vect2" vect_3D_2D "vectors/")
    (Vector type-eq-decl nil vectors_3D "vectors/")
    (- const-decl "Vector" vectors_3D "vectors/")
    (odd_times_odd_is_odd application-judgement "odd_int" integers
     nil))
   nil))
 (safe_p_TCC1 0
  (safe_p_TCC1-1 nil 3481283080
   ("" (skosimp*)
    (("" (assert)
      (("" (lemma "Delta_gt_0_nzv")
        (("" (inst - "s!1" "v!1") (("" (assertnil nil)) nil)) nil))
      nil))
    nil)
   ((Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (vect2 const-decl "Vect2" vect_3D_2D "vectors/")
    (Delta const-decl "real" horizontal nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (Delta_gt_0_nzv formula-decl nil horizontal nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (D formal-const-decl "posreal" vertical_criterion nil))
   nil))
 (vertical_criterion_rewrite_TCC1 0
  (vertical_criterion_rewrite_TCC1-1 nil 3481283851
   ("" (skosimp*)
    (("" (assert)
      (("" (lemma "Delta_gt_0_nzv")
        (("" (inst - "s!1" "v!1") (("" (assertnil nil)) nil)) nil))
      nil))
    nil)
   ((real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (vect2 const-decl "Vect2" vect_3D_2D "vectors/")
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (Delta_gt_0_nzv formula-decl nil horizontal nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (D formal-const-decl "posreal" vertical_criterion nil))
   nil))
 (vertical_criterion_rewrite 0
  (vertical_criterion_rewrite-2 "" 3504804344
   ("" (skeep)
    (("" (split)
      (("1" (flatten)
        (("1" (expand "vertical_criterion?")
          (("1"
            (name "dir1" "IF abs(s`z) >= H THEN eps * sign(s`z)
                                            ELSE -1
                                            ENDIF")
            (("1" (replace -1)
              (("1" (label "dir1name" -1)
                (("1" (hide "dir1name")
                  (("1" (split -)
                    (("1" (propax) nil nil)
                     ("2" (flatten)
                      (("2" (hide 1)
                        (("2" (expand "safe_p")
                          (("2" (case "NOT safe_dir(s,v,eps) = dir1")
                            (("1" (reveal "dir1name")
                              (("1"
                                (expand "safe_dir" 1)
                                (("1" (propax) nil nil))
                                nil))
                              nil)
                             ("2" (replace -1)
                              (("2"
                                (assert)
                                (("2"
                                  (expand "intersects_half_plane?")
                                  (("2"
                                    (expand "closed_region_3D")
                                    (("2"
                                      (flatten)
                                      (("2"
                                        (assert)
                                        (("2"
                                          (case "eps*(eps*H) = H")
                                          (("1" (assertnil nil)
                                           ("2"
                                            (typepred "eps")
                                            (("2" (ground) nil nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (flatten)
        (("2" (split -)
          (("1" (expand "vertical_criterion?")
            (("1" (flatten) (("1" (assertnil nil)) nil)) nil)
           ("2"
            (name "dir1" "IF abs(s`z) >= H THEN eps * sign(s`z)
                                                ELSE -1
                                                ENDIF")
            (("2" (label "dir1name" -1)
              (("2" (case "NOT safe_dir(s,v,eps) = dir1")
                (("1" (expand "safe_dir" 1) (("1" (propax) nil nil))
                  nil)
                 ("2" (replace -1)
                  (("2" (flatten)
                    (("2" (case "NOT vect2(v) = zero")
                      (("1"
                        (case "vect2(v)*(vect2(s) + Theta_D(s,v,dir1)*vect2(v)) /= 0")
                        (("1" (label "dpnz" -1)
                          (("1" (hide "dpnz")
                            (("1" (expand "intersects_half_plane?")
                              (("1"
                                (expand "safe_p")
                                (("1"
                                  (replace -1)
                                  (("1"
                                    (flatten)
                                    (("1"
                                      (case "eps*(eps*H) = H")
                                      (("1"
                                        (replace -1)
                                        (("1"
                                          (hide -1)
                                          (("1"
                                            (expand
                                             "vertical_criterion?")
                                            (("1"
                                              (expand
                                               "closed_region_3D")
                                              (("1"
                                                (replace "dir1name")
                                                (("1"
                                                  (flatten)
                                                  (("1"
                                                    (hide 3)
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (split 3)
                                                        (("1"
                                                          (case
                                                           "forall (a,b: nzreal): a/b >= 0 IFF sign(a) = sign(b)")
                                                          (("1"
                                                            (label
                                                             "signlem"
                                                             -1)
                                                            (("1"
                                                              (inst
                                                               -
                                                               "(sq(D) -
                                          vect2(s) * vect2((s + Theta_D(vect2(s), vect2(v), dir1) * v)))"
                                                               "(vect2(nv) * vect2((s + Theta_D(vect2(s), vect2(v), dir1) * v)))")
                                                              (("1"
                                                                (assert)
                                                                (("1"
                                                                  (replace
                                                                   -1
                                                                   :dir
                                                                   rl)
                                                                  (("1"
                                                                    (hide
                                                                     -1)
                                                                    (("1"
                                                                      (lemma
                                                                       "Theta_D_unique")
                                                                      (("1"
                                                                        (inst
                                                                         -
                                                                         "v"
                                                                         "s"
                                                                         "Theta_D(s,v,dir1)")
                                                                        (("1"
                                                                          (assert)
                                                                          (("1"
                                                                            (case
                                                                             "sqv(vect2(s) + Theta_D(vect2(s), vect2(v), dir1) * vect2(v)) = sq(D)")
                                                                            (("1"
                                                                              (hide
                                                                               -2)
                                                                              (("1"
                                                                                (replace
                                                                                 -1
                                                                                 +
                                                                                 :dir
                                                                                 rl)
                                                                                (("1"
                                                                                  (hide
                                                                                   -1)
                                                                                  (("1"
                                                                                    (case
                                                                                     "(sqv(vect2(s) + Theta_D(vect2(s), vect2(v), dir1) * vect2(v)) -
                                                                 vect2(s) *
                                                                  vect2((s + Theta_D(vect2(s), vect2(v), dir1) * v))) = Theta_D(s,v,dir1)*(vect2(v)*(vect2(s) + Theta_D(s,v,dir1)*vect2(v)))")
                                                                                    (("1"
                                                                                      (replace
                                                                                       -1)
                                                                                      (("1"
                                                                                        (hide
                                                                                         -1)
                                                                                        (("1"
                                                                                          (case
                                                                                           "sign(
                                                                    (vect2(v) *
                                                                      (vect2(s) + Theta_D(vect2(s), vect2(v), dir1) * vect2(v))))
                                                               = dir1")
                                                                                          (("1"
                                                                                            (hide-all-but
                                                                                             (-1
                                                                                              1
                                                                                              -5))
                                                                                            (("1"
                                                                                              (expand
                                                                                               "sign")
                                                                                              (("1"
                                                                                                (lift-if)
                                                                                                (("1"
                                                                                                  (ground)
                                                                                                  (("1"
                                                                                                    (mult-by
                                                                                                     -1
                                                                                                     "Theta_D(s,v,dir1)")
                                                                                                    (("1"
                                                                                                      (assert)
                                                                                                      nil
                                                                                                      nil))
                                                                                                    nil)
                                                                                                   ("2"
                                                                                                    (mult-by
                                                                                                     2
                                                                                                     "Theta_D(s,v,dir1)")
                                                                                                    (("2"
                                                                                                      (assert)
                                                                                                      nil
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil)
                                                                                           ("2"
                                                                                            (hide
                                                                                             2)
                                                                                            (("2"
                                                                                              (lemma
                                                                                               "Theta_D_horizontal_dir")
                                                                                              (("2"
                                                                                                (inst
                                                                                                 -
                                                                                                 "dir1"
                                                                                                 "s"
                                                                                                 "v")
                                                                                                (("2"
                                                                                                  (assert)
                                                                                                  (("2"
                                                                                                    (name
                                                                                                     "pp"
                                                                                                     "vect2(s) + Theta_D(vect2(s), vect2(v), dir1) * vect2(v)")
                                                                                                    (("2"
                                                                                                      (replace
                                                                                                       -1)
                                                                                                      (("2"
                                                                                                        (case
                                                                                                         "vect2(v)*pp /= 0")
                                                                                                        (("1"
                                                                                                          (case
                                                                                                           "dir1 = 1 OR dir1 = -1")
                                                                                                          (("1"
                                                                                                            (hide-all-but
                                                                                                             (-1
                                                                                                              -2
                                                                                                              -4
                                                                                                              1))
                                                                                                            (("1"
                                                                                                              (grind)
                                                                                                              nil
                                                                                                              nil))
                                                                                                            nil)
                                                                                                           ("2"
                                                                                                            (lift-if)
                                                                                                            (("2"
                                                                                                              (ground)
                                                                                                              (("2"
                                                                                                                (typepred
                                                                                                                 "eps")
                                                                                                                (("2"
                                                                                                                  (typepred
                                                                                                                   "sign(s`z)")
                                                                                                                  (("2"
                                                                                                                    (ground)
                                                                                                                    nil
                                                                                                                    nil))
                                                                                                                  nil))
                                                                                                                nil))
                                                                                                              nil))
                                                                                                            nil))
                                                                                                          nil)
                                                                                                         ("2"
                                                                                                          (reveal
                                                                                                           "dpnz")
                                                                                                          (("2"
                                                                                                            (assert)
                                                                                                            nil
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil)
                                                                                     ("2"
                                                                                      (hide-all-but
                                                                                       1)
                                                                                      (("2"
                                                                                        (grind
                                                                                         :exclude
                                                                                         "Theta_D")
                                                                                        nil
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil)
                                                                             ("2"
                                                                              (case
                                                                               "dir1 = 1 OR dir1 = -1")
                                                                              (("1"
                                                                                (lemma
                                                                                 "Theta_D_unique")
                                                                                (("1"
                                                                                  (inst
                                                                                   -
                                                                                   "v"
                                                                                   "s"
                                                                                   "Theta_D(s,v,dir1)")
                                                                                  (("1"
                                                                                    (ground)
                                                                                    nil
                                                                                    nil))
                                                                                  nil))
                                                                                nil)
                                                                               ("2"
                                                                                (typepred
                                                                                 "eps")
                                                                                (("2"
                                                                                  (typepred
                                                                                   "sign(s`z)")
                                                                                  (("2"
                                                                                    (lift-if)
                                                                                    (("2"
                                                                                      (ground)
                                                                                      nil
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("2"
                                                                (flatten)
                                                                (("2"
                                                                  (lemma
                                                                   "Theta_D_unique")
                                                                  (("2"
                                                                    (inst
                                                                     -
                                                                     "v"
                                                                     "s"
                                                                     "Theta_D(s,v,dir1)")
                                                                    (("2"
                                                                      (assert)
                                                                      (("2"
                                                                        (case
                                                                         "sqv(vect2(s) + Theta_D(vect2(s), vect2(v), dir1) * vect2(v)) = sq(D)")
                                                                        (("1"
                                                                          (hide
                                                                           -2)
                                                                          (("1"
                                                                            (replace
                                                                             -1
                                                                             -2
                                                                             :dir
                                                                             rl)
                                                                            (("1"
                                                                              (hide
                                                                               -1)
                                                                              (("1"
                                                                                (case
                                                                                 "sqv(vect2(s) + Theta_D(vect2(s), vect2(v), dir1) * vect2(v)) -
                                   vect2(s) * vect2((s + Theta_D[D](vect2(s), vect2(v), dir1) * v)) = Theta_D(s,v,dir1)*(vect2(v)*(vect2((s + Theta_D[D](vect2(s), vect2(v), dir1) * v))))")
                                                                                (("1"
                                                                                  (replace
                                                                                   -1)
                                                                                  (("1"
                                                                                    (hide
                                                                                     -1)
                                                                                    (("1"
                                                                                      (reveal
                                                                                       "dpnz")
                                                                                      (("1"
                                                                                        (rewrite
                                                                                         "vect2_add")
                                                                                        (("1"
                                                                                          (rewrite
                                                                                           "vect2_scal")
                                                                                          (("1"
                                                                                            (flatten)
                                                                                            (("1"
                                                                                              (mult-by
                                                                                               1
                                                                                               "Theta_D(s,v,dir1)")
                                                                                              (("1"
                                                                                                (assert)
                                                                                                nil
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil)
                                                                                 ("2"
                                                                                  (hide-all-but
                                                                                   1)
                                                                                  (("2"
                                                                                    (grind
                                                                                     :exclude
                                                                                     "Theta_D")
                                                                                    nil
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil)
                                                                         ("2"
                                                                          (assert)
                                                                          (("2"
                                                                            (case
                                                                             "dir1 = 1 OR dir1 = -1")
                                                                            (("1"
                                                                              (ground)
                                                                              nil
                                                                              nil)
                                                                             ("2"
                                                                              (typepred
                                                                               "eps")
                                                                              (("2"
                                                                                (typepred
                                                                                 "sign(s`z)")
                                                                                (("2"
                                                                                  (lift-if)
                                                                                  (("2"
                                                                                    (ground)
                                                                                    nil
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (hide-all-but
                                                             1)
                                                            (("2"
                                                              (skeep)
                                                              (("2"
                                                                (ground)
                                                                (("1"
                                                                  (expand
                                                                   "sign")
                                                                  (("1"
                                                                    (lift-if)
                                                                    (("1"
                                                                      (lift-if)
                                                                      (("1"
                                                                        (assert)
                                                                        (("1"
                                                                          (ground)
                                                                          (("1"
                                                                            (mult-by
                                                                             -2
                                                                             "-b")
                                                                            (("1"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil)
                                                                           ("2"
                                                                            (lift-if)
                                                                            (("2"
                                                                              (ground)
                                                                              (("2"
                                                                                (mult-by
                                                                                 -2
                                                                                 "b")
                                                                                (("2"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil)
                                                                 ("2"
                                                                  (expand
                                                                   "sign")
                                                                  (("2"
                                                                    (lift-if)
                                                                    (("2"
                                                                      (lift-if)
                                                                      (("2"
                                                                        (ground)
                                                                        (("1"
                                                                          (mult-by
                                                                           1
                                                                           "b")
                                                                          (("1"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil)
                                                                         ("2"
                                                                          (lift-if)
                                                                          (("2"
                                                                            (ground)
                                                                            (("2"
                                                                              (mult-by
                                                                               3
                                                                               "-b")
                                                                              (("2"
                                                                                (assert)
                                                                                nil
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (lift-if)
                                                          (("2"
                                                            (ground)
                                                            nil
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil)
                                       ("2"
                                        (typepred "eps")
                                        (("2" (ground) nil nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil)
                         ("2" (lemma "Delta_eq_0_dot_on_D")
                          (("2"
                            (inst -
                             "vect2(s) + Theta_D(s,v,dir1)*vect2(v)"
                             "v")
                            (("1" (assert)
                              (("1"
                                (split -)
                                (("1"
                                  (lemma "Delta_eq")
                                  (("1"
                                    (inst
                                     -
                                     "s"
                                     "Theta_D(s,v,dir1)"
                                     "v")
                                    (("1" (assertnil nil))
                                    nil))
                                  nil)
                                 ("2"
                                  (lemma "Theta_D_unique")
                                  (("2"
                                    (inst
                                     -
                                     "v"
                                     "s"
                                     "Theta_D(s,v,dir1)")
                                    (("2"
                                      (assert)
                                      (("2"
                                        (case "dir1 = 1 OR dir1 = -1")
                                        (("1" (ground) nil nil)
                                         ("2"
                                          (typepred "eps")
                                          (("2"
                                            (typepred "sign(s`z)")
                                            (("2"
                                              (lift-if)
                                              (("2" (ground) nil nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil)
                                 ("3"
                                  (hide-all-but (1 2))
                                  (("3"
                                    (grind :exclude "Theta_D")
                                    nil
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (assertnil nil))
                            nil))
                          nil)
                         ("3" (assertnil nil))
                        nil)
                       ("2" (lemma "Delta_gt_0_nzv")
                        (("2" (inst - "s" "v") (("2" (assertnil nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (sign_mult_clos application-judgement "Sign" sign "reals/")
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (vertical_criterion? const-decl "SignedCrit" vertical_criterion
     nil)
    (safe_p const-decl "Vect3" vertical_criterion nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (real_minus_real_is_real application-judgement "real" reals nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (intersects_half_plane? const-decl "bool" vertical_criterion nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (vect2_eq formula-decl nil vect_3D_2D "vectors/")
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (closed_region_3D const-decl "bool" vertical_criterion nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (safe_dir const-decl "Sign" vertical_criterion nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (IF const-decl "[boolean, T, T -> T]" if_def nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (H formal-const-decl "posreal" vertical_criterion nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (/= const-decl "boolean" notequal nil)
    (nzint nonempty-type-eq-decl nil integers nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (Sign type-eq-decl nil sign "reals/")
    (sign const-decl "Sign" sign "reals/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (vect2 const-decl "Vect2" vect_3D_2D "vectors/")
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (zero const-decl "Vector" vectors_2D "vectors/")
    (Delta_eq_0_dot_on_D formula-decl nil horizontal nil)
    (Delta_eq formula-decl nil horizontal nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (IFF const-decl "[bool, bool -> bool]" booleans nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (s skolem-const-decl "Vect3" vertical_criterion nil)
    (Vector type-eq-decl nil vectors_3D "vectors/")
    (+ const-decl "Vector" vectors_3D "vectors/")
    (* const-decl "Vector" vectors_3D "vectors/")
    (v skolem-const-decl "Vect3" vertical_criterion nil)
    (dir1 skolem-const-decl "int" vertical_criterion nil)
    (Theta_D_unique formula-decl nil horizontal nil)
    (both_sides_times_pos_ge1_imp formula-decl nil extra_real_props
     nil)
    (both_sides_times_pos_ge1 formula-decl nil real_props nil)
    (Theta_D_horizontal_dir formula-decl nil horizontal nil)
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (vect2_scal formula-decl nil vect_3D_2D "vectors/")
    (both_sides_times1 formula-decl nil real_props nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (vect2_add formula-decl nil vect_3D_2D "vectors/")
    (div_cancel2 formula-decl nil real_props nil)
    (minus_nzreal_is_nzreal application-judgement "nzreal" real_types
     nil)
    (Theta_D const-decl "real" horizontal nil)
    (Delta const-decl "real" horizontal nil)
    (D formal-const-decl "posreal" vertical_criterion nil)
    (Nz_vect2 type-eq-decl nil vectors_2D "vectors/")
    (* const-decl "Vector" vectors_2D "vectors/")
    (+ const-decl "Vector" vectors_2D "vectors/")
    (* const-decl "real" vectors_2D "vectors/")
    (Delta_gt_0_nzv formula-decl nil horizontal nil))
   shostak)
  (vertical_criterion_rewrite-1 nil 3481283204
   ("" (skeep)
    (("" (split)
      (("1" (flatten)
        (("1" (expand "vertical_criterion?")
          (("1"
            (name "dir1" "IF abs(s`z) >= H THEN eps * sign(s`z)
                                   ELSE -1
                                   ENDIF")
            (("1" (replace -1)
              (("1" (label "dir1name" -1)
                (("1" (hide "dir1name")
                  (("1" (split -)
                    (("1" (propax) nil nil)
                     ("2" (flatten)
                      (("2" (hide 1)
                        (("2" (expand "safe_p")
                          (("2" (case "NOT safe_dir(s,v,eps) = dir1")
                            (("1" (reveal "dir1name")
                              (("1"
                                (expand "safe_dir" 1)
                                (("1" (propax) nil nil))
                                nil))
                              nil)
                             ("2" (replace -1)
                              (("2"
                                (assert)
                                (("2"
                                  (expand "intersects_half_plane?")
                                  (("2"
                                    (expand "closed_region_3D")
                                    (("2"
                                      (flatten)
                                      (("2"
                                        (assert)
                                        (("2"
                                          (case "eps*(eps*H) = H")
                                          (("1" (assertnil nil)
                                           ("2"
                                            (typepred "eps")
                                            (("2" (ground) nil nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (flatten)
        (("2" (split -)
          (("1" (expand "vertical_criterion?")
            (("1" (flatten) (("1" (assertnil nil)) nil)) nil)
           ("2"
            (name "dir1" "IF abs(s`z) >= H THEN eps * sign(s`z)
                                     ELSE -1
                                     ENDIF")
            (("2" (label "dir1name" -1)
              (("2" (case "NOT safe_dir(s,v,eps) = dir1")
                (("1" (expand "safe_dir" 1) (("1" (propax) nil nil))
                  nil)
                 ("2" (replace -1)
                  (("2" (flatten)
                    (("2" (case "NOT vect2(v) = zero")
                      (("1"
                        (case "vect2(v)*(vect2(s) + Theta_D(s,v,dir1)*vect2(v)) /= 0")
                        (("1" (label "dpnz" -1)
                          (("1" (hide "dpnz")
                            (("1" (expand "intersects_half_plane?")
                              (("1"
                                (expand "safe_p")
                                (("1"
                                  (replace -1)
                                  (("1"
                                    (flatten)
                                    (("1"
                                      (case "eps*(eps*H) = H")
                                      (("1"
                                        (replace -1)
                                        (("1"
                                          (hide -1)
                                          (("1"
                                            (expand
                                             "vertical_criterion?")
                                            (("1"
                                              (expand
                                               "closed_region_3D")
                                              (("1"
                                                (replace "dir1name")
                                                (("1"
                                                  (flatten)
                                                  (("1"
                                                    (hide 3)
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (split 3)
                                                        (("1"
                                                          (case
                                                           "forall (a,b: nzreal): a/b >= 0 IFF sign(a) = sign(b)")
                                                          (("1"
                                                            (label
                                                             "signlem"
                                                             -1)
                                                            (("1"
                                                              (inst
                                                               -
                                                               "(sq(D) -
                        vect2(s) * vect2((s + Theta_D(vect2(s), vect2(v), dir1) * v)))"
                                                               "(vect2(nv) * vect2((s + Theta_D(vect2(s), vect2(v), dir1) * v)))")
                                                              (("1"
                                                                (assert)
                                                                (("1"
                                                                  (replace
                                                                   -1
                                                                   :dir
                                                                   rl)
                                                                  (("1"
                                                                    (hide
                                                                     -1)
                                                                    (("1"
                                                                      (lemma
                                                                       "Theta_D_unique")
                                                                      (("1"
                                                                        (inst
                                                                         -
                                                                         "v"
                                                                         "s"
                                                                         "Theta_D(s,v,dir1)")
                                                                        (("1"
                                                                          (assert)
                                                                          (("1"
                                                                            (case
                                                                             "sqv(vect2(s) + Theta_D(vect2(s), vect2(v), dir1) * vect2(v)) = sq(D)")
                                                                            (("1"
                                                                              (hide
                                                                               -2)
                                                                              (("1"
                                                                                (replace
                                                                                 -1
                                                                                 +
                                                                                 :dir
                                                                                 rl)
                                                                                (("1"
                                                                                  (hide
                                                                                   -1)
                                                                                  (("1"
                                                                                    (case
                                                                                     "(sqv(vect2(s) + Theta_D(vect2(s), vect2(v), dir1) * vect2(v)) -
                                      vect2(s) *
                                       vect2((s + Theta_D(vect2(s), vect2(v), dir1) * v))) = Theta_D(s,v,dir1)*(vect2(v)*(vect2(s) + Theta_D(s,v,dir1)*vect2(v)))")
                                                                                    (("1"
                                                                                      (replace
                                                                                       -1)
                                                                                      (("1"
                                                                                        (hide
                                                                                         -1)
                                                                                        (("1"
                                                                                          (case
                                                                                           "sign(
                                       (vect2(v) *
                                         (vect2(s) + Theta_D(vect2(s), vect2(v), dir1) * vect2(v))))
                                  = dir1")
                                                                                          (("1"
                                                                                            (hide-all-but
                                                                                             (-1
                                                                                              1
                                                                                              -5))
                                                                                            (("1"
                                                                                              (expand
                                                                                               "sign")
                                                                                              (("1"
                                                                                                (lift-if)
                                                                                                (("1"
                                                                                                  (ground)
                                                                                                  (("1"
                                                                                                    (mult-by
                                                                                                     -1
                                                                                                     "Theta_D(s,v,dir1)")
                                                                                                    (("1"
                                                                                                      (assert)
                                                                                                      nil
                                                                                                      nil))
                                                                                                    nil)
                                                                                                   ("2"
                                                                                                    (mult-by
                                                                                                     2
                                                                                                     "Theta_D(s,v,dir1)")
                                                                                                    (("2"
                                                                                                      (assert)
                                                                                                      nil
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil)
                                                                                           ("2"
                                                                                            (hide
                                                                                             2)
                                                                                            (("2"
                                                                                              (lemma
                                                                                               "Theta_D_horizontal_dir")
                                                                                              (("2"
                                                                                                (inst
                                                                                                 -
                                                                                                 "dir1"
                                                                                                 "s"
                                                                                                 "v")
                                                                                                (("2"
                                                                                                  (assert)
                                                                                                  (("2"
                                                                                                    (name
                                                                                                     "pp"
                                                                                                     "vect2(s) + Theta_D(vect2(s), vect2(v), dir1) * vect2(v)")
                                                                                                    (("2"
                                                                                                      (replace
                                                                                                       -1)
                                                                                                      (("2"
                                                                                                        (case
                                                                                                         "vect2(v)*pp /= 0")
                                                                                                        (("1"
                                                                                                          (case
                                                                                                           "dir1 = 1 OR dir1 = -1")
                                                                                                          (("1"
                                                                                                            (hide-all-but
                                                                                                             (-1
                                                                                                              -2
                                                                                                              -4
                                                                                                              1))
                                                                                                            (("1"
                                                                                                              (grind)
                                                                                                              nil
                                                                                                              nil))
                                                                                                            nil)
                                                                                                           ("2"
                                                                                                            (lift-if)
                                                                                                            (("2"
                                                                                                              (ground)
                                                                                                              (("2"
                                                                                                                (typepred
                                                                                                                 "eps")
                                                                                                                (("2"
                                                                                                                  (typepred
                                                                                                                   "sign(s`z)")
                                                                                                                  (("2"
                                                                                                                    (ground)
                                                                                                                    nil
                                                                                                                    nil))
                                                                                                                  nil))
                                                                                                                nil))
                                                                                                              nil))
                                                                                                            nil))
                                                                                                          nil)
                                                                                                         ("2"
                                                                                                          (reveal
                                                                                                           "dpnz")
                                                                                                          (("2"
                                                                                                            (assert)
                                                                                                            nil
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil)
                                                                                     ("2"
                                                                                      (hide-all-but
                                                                                       1)
                                                                                      (("2"
                                                                                        (grind
                                                                                         :exclude
                                                                                         "Theta_D")
                                                                                        nil
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil)
                                                                             ("2"
                                                                              (case
                                                                               "dir1 = 1 OR dir1 = -1")
                                                                              (("1"
                                                                                (lemma
                                                                                 "Theta_D_unique")
                                                                                (("1"
                                                                                  (inst
                                                                                   -
                                                                                   "v"
                                                                                   "s"
                                                                                   "Theta_D(s,v,dir1)")
                                                                                  (("1"
                                                                                    (ground)
                                                                                    nil
                                                                                    nil))
                                                                                  nil))
                                                                                nil)
                                                                               ("2"
                                                                                (typepred
                                                                                 "eps")
                                                                                (("2"
                                                                                  (typepred
                                                                                   "sign(s`z)")
                                                                                  (("2"
                                                                                    (lift-if)
                                                                                    (("2"
                                                                                      (ground)
                                                                                      nil
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("2"
                                                                (flatten)
                                                                (("2"
                                                                  (lemma
                                                                   "Theta_D_unique")
                                                                  (("2"
                                                                    (inst
                                                                     -
                                                                     "v"
                                                                     "s"
                                                                     "Theta_D(s,v,dir1)")
                                                                    (("2"
                                                                      (assert)
                                                                      (("2"
                                                                        (case
                                                                         "sqv(vect2(s) + Theta_D(vect2(s), vect2(v), dir1) * vect2(v)) = sq(D)")
                                                                        (("1"
                                                                          (hide
                                                                           -2)
                                                                          (("1"
                                                                            (replace
                                                                             -1
                                                                             -2
                                                                             :dir
                                                                             rl)
                                                                            (("1"
                                                                              (hide
                                                                               -1)
                                                                              (("1"
                                                                                (case
                                                                                 "sqv(vect2(s) + Theta_D(vect2(s), vect2(v), dir1) * vect2(v)) -
        vect2(s) * vect2((s + Theta_D[D](vect2(s), vect2(v), dir1) * v)) = Theta_D(s,v,dir1)*(vect2(v)*(vect2((s + Theta_D[D](vect2(s), vect2(v), dir1) * v))))")
                                                                                (("1"
                                                                                  (replace
                                                                                   -1)
                                                                                  (("1"
                                                                                    (hide
                                                                                     -1)
                                                                                    (("1"
                                                                                      (reveal
                                                                                       "dpnz")
                                                                                      (("1"
                                                                                        (rewrite
                                                                                         "vect2_add")
                                                                                        (("1"
                                                                                          (rewrite
                                                                                           "vect2_scal")
                                                                                          (("1"
                                                                                            (flatten)
                                                                                            (("1"
                                                                                              (mult-by
                                                                                               1
                                                                                               "Theta_D(s,v,dir1)")
                                                                                              (("1"
                                                                                                (assert)
                                                                                                nil
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil)
                                                                                 ("2"
                                                                                  (hide-all-but
                                                                                   1)
                                                                                  (("2"
                                                                                    (grind
                                                                                     :exclude
                                                                                     "Theta_D")
                                                                                    nil
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil)
                                                                         ("2"
                                                                          (assert)
                                                                          (("2"
                                                                            (case
                                                                             "dir1 = 1 OR dir1 = -1")
                                                                            (("1"
                                                                              (ground)
                                                                              nil
                                                                              nil)
                                                                             ("2"
                                                                              (typepred
                                                                               "eps")
                                                                              (("2"
                                                                                (typepred
                                                                                 "sign(s`z)")
                                                                                (("2"
                                                                                  (lift-if)
                                                                                  (("2"
                                                                                    (ground)
                                                                                    nil
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (hide-all-but
                                                             1)
                                                            (("2"
                                                              (skeep)
                                                              (("2"
                                                                (ground)
                                                                (("1"
                                                                  (expand
                                                                   "sign")
                                                                  (("1"
                                                                    (lift-if)
                                                                    (("1"
                                                                      (lift-if)
                                                                      (("1"
                                                                        (assert)
                                                                        (("1"
                                                                          (ground)
                                                                          (("1"
                                                                            (mult-by
                                                                             -2
                                                                             "b")
                                                                            (("1"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil)
                                                                           ("2"
                                                                            (mult-by
                                                                             -2
                                                                             "-b")
                                                                            (("2"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil)
                                                                 ("2"
                                                                  (expand
                                                                   "sign")
                                                                  (("2"
                                                                    (lift-if)
                                                                    (("2"
                                                                      (lift-if)
                                                                      (("2"
                                                                        (ground)
                                                                        (("1"
                                                                          (mult-by
                                                                           1
                                                                           "b")
                                                                          (("1"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil)
                                                                         ("2"
                                                                          (mult-by
                                                                           3
                                                                           "-b")
                                                                          (("2"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (lift-if)
                                                          (("2"
                                                            (ground)
                                                            nil
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil)
                                       ("2"
                                        (typepred "eps")
                                        (("2" (ground) nil nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil)
                         ("2" (lemma "Delta_eq_0_dot_on_D")
                          (("2"
                            (inst -
                             "vect2(s) + Theta_D(s,v,dir1)*vect2(v)"
                             "v")
                            (("1" (assert)
                              (("1"
                                (split -)
                                (("1"
                                  (lemma "Delta_eq")
                                  (("1"
                                    (inst
                                     -
                                     "s"
                                     "Theta_D(s,v,dir1)"
                                     "v")
                                    (("1" (assertnil nil))
                                    nil))
                                  nil)
                                 ("2"
                                  (lemma "Theta_D_unique")
                                  (("2"
                                    (inst
                                     -
                                     "v"
                                     "s"
                                     "Theta_D(s,v,dir1)")
                                    (("2"
                                      (assert)
                                      (("2"
                                        (case "dir1 = 1 OR dir1 = -1")
                                        (("1" (ground) nil nil)
                                         ("2"
                                          (typepred "eps")
                                          (("2"
                                            (typepred "sign(s`z)")
                                            (("2"
                                              (lift-if)
                                              (("2" (ground) nil nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil)
                                 ("3"
                                  (hide-all-but (1 2))
                                  (("3"
                                    (grind :exclude "Theta_D")
                                    nil
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (assertnil nil))
                            nil))
                          nil)
                         ("3" (assertnil nil))
                        nil)
                       ("2" (lemma "Delta_gt_0_nzv")
                        (("2" (inst - "s" "v") (("2" (assertnil nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((sign_mult_clos application-judgement "Sign" sign "reals/")
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (vect2_eq formula-decl nil vect_3D_2D "vectors/")
    (Vect3 type-eq-decl nil vectors_3D_def "vectors/")
    (Sign type-eq-decl nil sign "reals/")
    (sign const-decl "Sign" sign "reals/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (vect2 const-decl "Vect2" vect_3D_2D "vectors/")
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (zero const-decl "Vector" vectors_2D "vectors/")
    (Delta_eq_0_dot_on_D formula-decl nil horizontal nil)
    (Delta_eq formula-decl nil horizontal nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (Vector type-eq-decl nil vectors_3D "vectors/")
    (+ const-decl "Vector" vectors_3D "vectors/")
    (* const-decl "Vector" vectors_3D "vectors/")
    (Theta_D_unique formula-decl nil horizontal nil)
    (Theta_D_horizontal_dir formula-decl nil horizontal nil)
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (vect2_scal formula-decl nil vect_3D_2D "vectors/")
    (vect2_add formula-decl nil vect_3D_2D "vectors/")
    (Theta_D const-decl "real" horizontal nil)
    (Delta const-decl "real" horizontal nil)
    (Nz_vect2 type-eq-decl nil vectors_2D "vectors/")
    (* const-decl "Vector" vectors_2D "vectors/")
    (+ const-decl "Vector" vectors_2D "vectors/")
    (* const-decl "real" vectors_2D "vectors/")
    (Delta_gt_0_nzv formula-decl nil horizontal nil))
   shostak)))


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

¤ Dauer der Verarbeitung: 0.337 Sekunden  (vorverarbeitet am  2026-04-27) ¤

*© 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.