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

Impressum line_solutions.prf

  Interaktion und
PortierbarkeitLisp
 

(line_solutions
 (line_solution_dot_neg 0
  (line_solution_dot_neg-1 nil 3446574579
   ("" (skeep)
    (("" (expand "line_solution?")
      (("" (flatten)
        (("" (replaces -1 :dir rl)
          (("" (mult-by -1 "R(sp)") (("" (assertnil nil)) nil)) nil))
        nil))
      nil))
    nil)
   ((real_times_real_is_real application-judgement "real" reals nil)
    (line_solution? const-decl "bool" line_solutions nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (sq const-decl "nonneg_real" sq "reals/")
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (D formal-const-decl "posreal" line_solutions nil)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (R const-decl "nnreal" horizontal_criteria nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields 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)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (Sign type-eq-decl nil sign "reals/")
    (det const-decl "real" det_2D "vectors/")
    (both_sides_times_pos_le1_imp formula-decl nil extra_real_props
     nil))
   shostak))
 (line_solution_sep_dot_negative 0
  (line_solution_sep_dot_negative-1 nil 3482851089
   ("" (skeep)
    (("" (lemma "line_solution_dot_neg")
      (("" (inst?)
        (("" (assert)
          (("" (case "sp*v = 0")
            (("1" (hide -2)
              (("1" (hide 2)
                (("1" (expand "line_solution?")
                  (("1" (flatten)
                    (("1" (replace -1)
                      (("1" (case "det(sp,v) = 0")
                        (("1" (lemma "orthogonal_basis")
                          (("1" (inst - "v" "perpR(v)" "sp")
                            (("1" (assert)
                              (("1"
                                (split -)
                                (("1"
                                  (replace -3)
                                  (("1"
                                    (assert)
                                    (("1"
                                      (rewrite "det_perpR")
                                      (("1"
                                        (replace -2)
                                        (("1"
                                          (assert)
                                          (("1"
                                            (typepred "sp")
                                            (("1"
                                              (replace -2)
                                              (("1" (assertnil nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil)
                                 ("2"
                                  (flatten)
                                  (("2"
                                    (hide-all-but (-1 1))
                                    (("2"
                                      (expand "zero")
                                      (("2"
                                        (decompose-equality)
                                        (("2"
                                          (expand "perpR")
                                          (("2"
                                            (decompose-equality)
                                            nil
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil)
                                 ("3"
                                  (hide-all-but 1)
                                  (("3" (grind) nil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil)
                         ("2" (case "R(sp) = 0")
                          (("1" (lemma "R_eq_0")
                            (("1" (inst?) (("1" (assertnil nil))
                              nil))
                            nil)
                           ("2" (assertnil nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("2" (assertnil nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((line_solution_dot_neg formula-decl nil line_solutions nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (line_solution? const-decl "bool" line_solutions nil)
    (R const-decl "nnreal" horizontal_criteria nil)
    (R_eq_0 formula-decl nil horizontal_criteria nil)
    (orthogonal_basis formula-decl nil basis_2D "vectors/")
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (orthogonal? const-decl "bool" vectors_2D "vectors/")
    (zero const-decl "Vector" vectors_2D "vectors/")
    (minus_real_is_real application-judgement "real" reals nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (det_perpR formula-decl nil det_2D "vectors/")
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sqv_zero formula-decl nil vectors_2D "vectors/")
    (NOT const-decl "[bool -> bool]" booleans nil)
    (add_zero_left formula-decl nil vectors_2D "vectors/")
    (scal_0 formula-decl nil vectors_2D "vectors/")
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (perpR const-decl "Vect2" perpendicular_2D "vectors/")
    (det const-decl "real" det_2D "vectors/")
    (* const-decl "real" vectors_2D "vectors/")
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (D formal-const-decl "posreal" line_solutions 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)
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (>= const-decl "bool" reals nil)
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (Sign type-eq-decl nil sign "reals/")
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (= const-decl "[T, T -> boolean]" equalities 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)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil))
   shostak))
 (line_solution_on_D_TCC1 0
  (line_solution_on_D_TCC1-1 nil 3434195393
   ("" (skeep) (("" (assertnil nil)) nil)
   ((real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/"))
   nil))
 (line_solution_on_D 0
  (line_solution_on_D-1 nil 3434195395
   ("" (skeep)
    (("" (expand "line_solution?")
      (("" (rewrite "R_eq_0")
        (("" (replaces -1)
          (("" (assert)
            (("" (rewrite "dot_perpR")
              (("" (assert) (("" (grind) nil nil)) nil)) nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((real_times_real_is_real application-judgement "real" reals nil)
    (line_solution? const-decl "bool" line_solutions nil)
    (perpR const-decl "Vect2" perpendicular_2D "vectors/")
    (dot_perpR formula-decl nil det_2D "vectors/")
    (minus_real_is_real application-judgement "real" reals nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (det const-decl "real" det_2D "vectors/")
    (* const-decl "Vector" vectors_2D "vectors/")
    (dot_scal_right formula-decl nil vectors_2D "vectors/")
    (D formal-const-decl "posreal" line_solutions 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)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (R_eq_0 formula-decl nil horizontal_criteria nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/"))
   shostak))
 (on_D_line 0
  (on_D_line-1 nil 3460198275
   ("" (skeep)
    (("" (expand "line_solution?")
      (("" (rewrite "R_eq_0")
        (("" (assert)
          (("" (hide -)
            (("" (inst 1 "-sign(det(s,v))")
              (("" (name-replace "dv" "det(s,v)")
                (("" (grind) nil nil)) nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((real_times_real_is_real application-judgement "real" reals nil)
    (line_solution? const-decl "bool" line_solutions nil)
    (sign_neg_clos application-judgement "Sign" sign "reals/")
    (det const-decl "real" det_2D "vectors/")
    (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)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (OR const-decl "[bool, bool -> bool]" 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)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (D formal-const-decl "posreal" line_solutions 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)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (R_eq_0 formula-decl nil horizontal_criteria nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/"))
   nil))
 (line_solution_scal 0
  (line_solution_scal-1 nil 3427550782
   ("" (skeep)
    (("" (expand "line_solution?")
      (("" (rewrite "det_scal_right")
        (("" (split)
          (("1" (flatten)
            (("1" (split 1)
              (("1" (cancel-by 1 "pk"nil nil)
               ("2" (rewrite "dot_scal_right")
                (("2" (cancel-by 1 "pk"nil nil)) nil)
               ("3" (flatten)
                (("3" (assert) (("3" (cancel-by 1 "pk"nil nil)) nil))
                nil))
              nil))
            nil)
           ("2" (flatten)
            (("2" (split 1)
              (("1" (cancel-by -1 "pk"nil nil)
               ("2" (rewrite "dot_scal_right")
                (("2" (cancel-by -2 "pk"nil nil)) nil)
               ("3" (flatten)
                (("3" (assert) (("3" (cancel-by -4 "pk"nil nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((real_times_real_is_real application-judgement "real" reals nil)
    (line_solution? const-decl "bool" line_solutions nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (posreal_div_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (both_sides_times1 formula-decl nil real_props nil)
    (* const-decl "Vector" vectors_2D "vectors/")
    (* const-decl "real" vectors_2D "vectors/")
    (Sign type-eq-decl nil sign "reals/")
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (nzint nonempty-type-eq-decl nil integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (det const-decl "real" det_2D "vectors/")
    (R const-decl "nnreal" horizontal_criteria nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (bijective? const-decl "bool" functions nil)
    (id const-decl "(bijective?[T, T])" identity nil)
    (TRUE const-decl "bool" booleans nil)
    (dot_scal_right formula-decl nil vectors_2D "vectors/")
    (both_sides_times_pos_le1 formula-decl nil real_props nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (zero_div formula-decl nil extra_tegies nil)
    (nnreal_div_posreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (both_sides_times1_imp formula-decl nil extra_real_props nil)
    (both_sides_times_pos_le1_imp formula-decl nil extra_real_props
     nil)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (D formal-const-decl "posreal" line_solutions nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (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)
    (det_scal_right formula-decl nil det_2D "vectors/"))
   nil))
 (line_solution_zero_eps 0
  (line_solution_zero_eps-1 nil 3431107638 ("" (grind) nil nil)
   ((* const-decl "real" vectors_2D "vectors/")
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (sq const-decl "nonneg_real" sq "reals/")
    (D formal-const-decl "posreal" line_solutions 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)
    (R const-decl "nnreal" horizontal_criteria nil)
    (comp_zero_y formula-decl nil vectors_2D "vectors/")
    (comp_zero_x formula-decl nil vectors_2D "vectors/")
    (det const-decl "real" det_2D "vectors/")
    (line_solution? const-decl "bool" line_solutions nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/"))
   shostak))
 (line_solution_zero 0
  (line_solution_zero-1 nil 3427550810
   ("" (skeep) (("" (inst 1 "1") (("" (grind) nil nil)) nil)) nil)
   ((number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (/= 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/")
    (real_times_real_is_real application-judgement "real" reals nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (nnreal_div_posreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (line_solution? const-decl "bool" line_solutions nil)
    (det const-decl "real" det_2D "vectors/")
    (comp_zero_x formula-decl nil vectors_2D "vectors/")
    (comp_zero_y formula-decl nil vectors_2D "vectors/")
    (R const-decl "nnreal" horizontal_criteria 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" line_solutions nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (* const-decl "real" vectors_2D "vectors/")
    (sq_nz_pos application-judgement "posreal" sq "reals/"))
   shostak))
 (line_solution_Delta 0
  (line_solution_Delta-3 "" 3504721450
   ("" (skeep)
    (("" (split)
      (("1" (flatten)
        (("1" (skeep -1)
          (("1" (lemma "line_solution_dot_neg")
            (("1" (inst?)
              (("1" (assert)
                (("1" (hide -1)
                  (("1" (expand "line_solution?")
                    (("1" (flatten)
                      (("1" (expand "Delta")
                        (("1" (both-sides "+" "sq(det(sp,v))" 1)
                          (("1" (assert)
                            (("1" (expand "R")
                              (("1"
                                (rewrite "sq_det")
                                (("1"
                                  (case
                                   "NOT sq(det(sp,v))*(sqv(sp)-sq(D)) = sq(sp*v)*sq(D)")
                                  (("1"
                                    (mult-eq -1 -1)
                                    (("1"
                                      (hide -2)
                                      (("1"
                                        (hide -2)
                                        (("1"
                                          (lemma "sq_sqrt")
                                          (("1"
                                            (inst?)
                                            (("1"
                                              (split -)
                                              (("1"
                                                (hide 2)
                                                (("1"
                                                  (expand "sq" -1)
                                                  (("1"
                                                    (cross-mult -2)
                                                    (("1"
                                                      (typepred "eps")
                                                      (("1"
                                                        (grind
                                                         :exclude
                                                         ("det" "sqv"))
                                                        nil
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil)
                                               ("2" (assertnil nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil)
                                   ("2"
                                    (hide -2)
                                    (("2"
                                      (rewrite "sq_det")
                                      (("2"
                                        (assert)
                                        (("2"
                                          (factor -1)
                                          (("2"
                                            (case
                                             "(-1 * sq(sp * v) - sq(D) * sqv(v) + sqv(sp) * sqv(v)) = 0")
                                            (("1" (assertnil nil)
                                             ("2"
                                              (mult-by 1 "sqv(sp)")
                                              (("2" (assertnil nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (flatten)
        (("2" (expand "line_solution?")
          (("2" (expand "R")
            (("2" (expand "Delta")
              (("2" (case "det(sp,v) = 0")
                (("1" (replace -1)
                  (("1" (assert)
                    (("1" (lemma "sqv_eq_0")
                      (("1" (inst?)
                        (("1" (div-by -3 "sq(D)")
                          (("1" (assert)
                            (("1" (replace -1)
                              (("1"
                                (assert)
                                (("1" (inst + "1"nil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (name "epsil" "-sign(det(sp,v))")
                  (("2" (label "espsilname" -1)
                    (("2" (inst + "epsil")
                      (("2" (case "epsil * det(sp, v) <= 0")
                        (("1" (assert)
                          (("1" (label "espdef2" -1)
                            (("1" (lemma "sq_eq")
                              (("1"
                                (inst
                                 -
                                 "-(det(sp, v) * (sqrt(sqv(sp) - sq(D)) / D) * epsil)"
                                 "-(sp*v)")
                                (("1"
                                  (assert)
                                  (("1"
                                    (lemma "sq_neg")
                                    (("1"
                                      (inst-cp - "(sp*v)")
                                      (("1"
                                        (replace -2)
                                        (("1"
                                          (hide -2)
                                          (("1"
                                            (inst?)
                                            (("1"
                                              (replace -1)
                                              (("1"
                                                (hide -1)
                                                (("1"
                                                  (rewrite "sq_times")
                                                  (("1"
                                                    (rewrite
                                                     "sq_times")
                                                    (("1"
                                                      (rewrite
                                                       "sq_div")
                                                      (("1"
                                                        (cross-mult 1)
                                                        (("1"
                                                          (case-replace
                                                           "sq(epsil) = 1")
                                                          (("1"
                                                            (assert)
                                                            (("1"
                                                              (factor
                                                               1)
                                                              (("1"
                                                                (rewrite
                                                                 "sq_det")
                                                                (("1"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (typepred
                                                             "epsil")
                                                            (("2"
                                                              (hide-all-but
                                                               (-1
                                                                -2
                                                                1))
                                                              (("2"
                                                                (grind)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil)
                                 ("2"
                                  (name-replace "AA" "det(sp,v)")
                                  (("2"
                                    (name
                                     "BB"
                                     "(sqrt(sqv(sp) - sq(D)) / D)")
                                    (("2"
                                      (case "BB >= 0")
                                      (("1"
                                        (replace -2)
                                        (("1"
                                          (hide-all-but (-1 -3 1))
                                          (("1"
                                            (case-replace
                                             "AA*BB*epsil = (epsil*AA)*BB")
                                            (("1"
                                              (name-replace
                                               "CC"
                                               "epsil*AA")
                                              (("1"
                                                (case "CC*BB <= 0")
                                                (("1" (assertnil nil)
                                                 ("2"
                                                  (assert)
                                                  (("2"
                                                    (lemma
                                                     "nnreal_times_nnreal_is_nnreal")
                                                    (("2"
                                                      (inst
                                                       -
                                                       "-CC"
                                                       "BB")
                                                      (("2"
                                                        (assert)
                                                        nil
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2" (assertnil nil))
                                            nil))
                                          nil))
                                        nil)
                                       ("2"
                                        (replace -1 + rl)
                                        (("2" (cross-mult 1) nil nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil)
                         ("2" (replace "espsilname" + rl)
                          (("2" (name-replace "AAA" "det(sp,v)")
                            (("2" (hide-all-but 1)
                              (("2" (grind) nil nil)) nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (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)
    (/= 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/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (>= const-decl "bool" reals nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (D formal-const-decl "posreal" line_solutions nil)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (nnreal_plus_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (det const-decl "real" det_2D "vectors/")
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (R const-decl "nnreal" horizontal_criteria nil)
    (* const-decl "real" vectors_2D "vectors/")
    (sq_sqrt formula-decl nil sqrt "reals/")
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (div_cancel3 formula-decl nil real_props nil)
    (times_div2 formula-decl nil real_props nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (times_div1 formula-decl nil real_props nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (sqrt const-decl "{nnz: nnreal | nnz * nnz = nnx}" sqrt "reals/")
    (both_sides_times1 formula-decl nil real_props nil)
    (nnreal_div_posreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (sq_det formula-decl nil det_2D "vectors/")
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (Delta const-decl "real" horizontal nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (line_solution? const-decl "bool" line_solutions nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (line_solution_dot_neg formula-decl nil line_solutions nil)
    (sign const-decl "Sign" sign "reals/")
    (sign_neg_clos application-judgement "Sign" sign "reals/")
    (sq_eq formula-decl nil sq "reals/")
    (nnreal_times_nnreal_is_nnreal judgement-tcc nil real_types nil)
    (div_mult_pos_ge1 formula-decl nil real_props nil)
    (sq_times formula-decl nil sq "reals/")
    (sign_sq_clos application-judgement "Sign" sign "reals/")
    (sq_div formula-decl nil sq "reals/")
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (sign_mult_clos application-judgement "Sign" sign "reals/")
    (sq_neg formula-decl nil sq "reals/")
    (epsil skolem-const-decl "Sign" line_solutions nil)
    (v skolem-const-decl "Vect2" line_solutions nil)
    (sp skolem-const-decl "Sp_vect2[D]" line_solutions nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (<= const-decl "bool" reals nil)
    (sqv_eq_0 formula-decl nil vectors_2D "vectors/")
    (both_sides_div1 formula-decl nil real_props nil)
    (times_div_cancel1 formula-decl nil extra_real_props nil)
    (dot_zero_right formula-decl nil vectors_2D "vectors/")
    (sqv_zero formula-decl nil vectors_2D "vectors/")
    (sq_0 formula-decl nil sq "reals/"))
   shostak)
  (line_solution_Delta-2 nil 3501851418
   ("" (skeep)
    (("" (split)
      (("1" (flatten)
        (("1" (skeep -1)
          (("1" (lemma "line_solution_dot_neg")
            (("1" (inst?)
              (("1" (assert)
                (("1" (hide -1)
                  (("1" (expand "line_solution?")
                    (("1" (flatten)
                      (("1" (expand "Delta")
                        (("1" (both-sides "+" "sq(det(sp,v))" 1)
                          (("1" (assert)
                            (("1" (expand "R")
                              (("1"
                                (rewrite "sq_det")
                                (("1"
                                  (case
                                   "NOT sq(det(sp,v))*(sqv(sp)-sq(D)) = sq(sp*v)*sq(D)")
                                  (("1"
                                    (mult-eq -1 -1)
                                    (("1"
                                      (hide -2)
                                      (("1"
                                        (hide -2)
                                        (("1"
                                          (lemma "sq_sqrt")
                                          (("1"
                                            (inst?)
                                            (("1"
                                              (split -)
                                              (("1"
                                                (hide 2)
                                                (("1"
                                                  (expand "sq" -1)
                                                  (("1"
                                                    (cross-mult -2)
                                                    (("1"
                                                      (typepred "eps")
                                                      (("1"
                                                        (grind
                                                         :exclude
                                                         ("det" "sqv"))
                                                        nil
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil)
                                               ("2" (assertnil nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil)
                                   ("2"
                                    (hide -2)
                                    (("2"
                                      (rewrite "sq_det")
                                      (("2"
                                        (assert)
                                        (("2"
                                          (factor -1)
                                          (("2"
                                            (case
                                             "(-1 * sq(sp * v) - sq(D) * sqv(v) + sqv(sp) * sqv(v)) = 0")
                                            (("1" (assertnil nil)
                                             ("2"
                                              (mult-by 1 "sqv(sp)")
                                              (("2" (assertnil nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (flatten)
        (("2" (expand "line_solution?")
          (("2" (expand "R")
            (("2" (expand "Delta")
              (("2" (case "det(sp,v) = 0")
                (("1" (replace -1)
                  (("1" (assert)
                    (("1" (lemma "sqv_eq_0")
                      (("1" (inst?)
                        (("1" (div-by -3 "sq(D)")
                          (("1" (assert)
                            (("1" (replace -1)
                              (("1"
                                (assert)
                                (("1"
                                  (inst + "1")
                                  (("1"
                                    (replace -3)
                                    (("1" (assertnil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (name "epsil" "-sign(det(sp,v))")
                  (("2" (label "espsilname" -1)
                    (("2" (inst + "epsil")
                      (("2" (case "epsil * det(sp, v) <= 0")
                        (("1" (assert)
                          (("1" (label "espdef2" -1)
                            (("1" (lemma "sq_eq")
                              (("1"
                                (inst
                                 -
                                 "-(det(sp, v) * (sqrt(sqv(sp) - sq(D)) / D) * epsil)"
                                 "-(sp*v)")
                                (("1"
                                  (assert)
                                  (("1"
                                    (lemma "sq_neg")
                                    (("1"
                                      (inst-cp - "(sp*v)")
                                      (("1"
                                        (replace -2)
                                        (("1"
                                          (hide -2)
                                          (("1"
                                            (inst?)
                                            (("1"
                                              (replace -1)
                                              (("1"
                                                (hide -1)
                                                (("1"
                                                  (rewrite "sq_times")
                                                  (("1"
                                                    (rewrite
                                                     "sq_times")
                                                    (("1"
                                                      (rewrite
                                                       "sq_div")
                                                      (("1"
                                                        (cross-mult 1)
                                                        (("1"
                                                          (case-replace
                                                           "sq(epsil) = 1")
                                                          (("1"
                                                            (assert)
                                                            (("1"
                                                              (factor
                                                               1)
                                                              (("1"
                                                                (rewrite
                                                                 "sq_det")
                                                                (("1"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (typepred
                                                             "epsil")
                                                            (("2"
                                                              (hide-all-but
                                                               (-1
                                                                -2
                                                                1))
                                                              (("2"
                                                                (grind)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil)
                                 ("2"
                                  (name-replace "AA" "det(sp,v)")
                                  (("2"
                                    (name
                                     "BB"
                                     "(sqrt(sqv(sp) - sq(D)) / D)")
                                    (("2"
                                      (case "BB >= 0")
                                      (("1"
                                        (replace -2)
                                        (("1"
                                          (hide-all-but (-1 -3 1))
                                          (("1"
                                            (case-replace
                                             "AA*BB*epsil = (epsil*AA)*BB")
                                            (("1"
                                              (name-replace
                                               "CC"
                                               "epsil*AA")
                                              (("1"
                                                (case "CC*BB <= 0")
                                                (("1" (assertnil nil)
                                                 ("2"
                                                  (assert)
                                                  (("2"
                                                    (lemma
                                                     "nnreal_times_nnreal_is_nnreal")
                                                    (("2"
                                                      (inst
                                                       -
                                                       "-CC"
                                                       "BB")
                                                      (("2"
                                                        (assert)
                                                        nil
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2" (assertnil nil))
                                            nil))
                                          nil))
                                        nil)
                                       ("2"
                                        (replace -1 + rl)
                                        (("2" (cross-mult 1) nil nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil)
                         ("2" (replace "espsilname" + rl)
                          (("2" (name-replace "AAA" "det(sp,v)")
                            (("2" (hide-all-but 1)
                              (("2" (grind) nil nil)) nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((Sign type-eq-decl nil sign "reals/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (sq const-decl "nonneg_real" sq "reals/")
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (det const-decl "real" det_2D "vectors/")
    (R const-decl "nnreal" horizontal_criteria nil)
    (* const-decl "real" vectors_2D "vectors/")
    (sq_sqrt formula-decl nil sqrt "reals/")
    (sqrt const-decl "{nnz: nnreal | nnz * nnz = nnx}" sqrt "reals/")
    (sq_det formula-decl nil det_2D "vectors/")
    (Delta const-decl "real" horizontal nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (sign const-decl "Sign" sign "reals/")
    (sign_neg_clos application-judgement "Sign" sign "reals/")
    (sq_eq formula-decl nil sq "reals/")
    (sq_times formula-decl nil sq "reals/")
    (sign_sq_clos application-judgement "Sign" sign "reals/")
    (sq_div formula-decl nil sq "reals/")
    (sign_mult_clos application-judgement "Sign" sign "reals/")
    (sq_neg formula-decl nil sq "reals/")
    (sqv_eq_0 formula-decl nil vectors_2D "vectors/")
    (dot_zero_right formula-decl nil vectors_2D "vectors/")
    (sqv_zero formula-decl nil vectors_2D "vectors/")
    (sq_0 formula-decl nil sq "reals/"))
   nil)
  (line_solution_Delta-1 nil 3467970603
   ("" (skeep)
    (("" (split)
      (("1" (flatten)
        (("1" (skeep -1)
          (("1" (lemma "line_solution_dot_neg")
            (("1" (inst?)
              (("1" (assert)
                (("1" (hide -1)
                  (("1" (expand "line_solution?")
                    (("1" (flatten)
                      (("1" (expand "Delta")
                        (("1" (both-sides "+" "sq(det(sp,v))" 1)
                          (("1" (assert)
                            (("1" (expand "R")
                              (("1"
                                (rewrite "sq_det")
                                (("1"
                                  (mult-eq -1 -1)
                                  (("1"
                                    (field -1)
                                    (("1"
                                      (rewrite "sq_rew")
                                      (("1"
                                        (rewrite "sq_rew")
                                        (("1"
                                          (case-replace
                                           "(sqv(sp) - sq(D)) * det(sp, v) * det(sp, v) * eps * eps = (sqv(sp) - sq(D)) * sq(det(sp, v))")
                                          (("1"
                                            (hide -1)
                                            (("1"
                                              (case-replace
                                               "sq((sp * v)) * D * D = sq((sp * v)) * sq(D)")
                                              (("1"
                                                (hide -1)
                                                (("1"
                                                  (lemma "sq_det")
                                                  (("1"
                                                    (inst - "sp" "v")
                                                    (("1"
                                                      (replace -1)
                                                      (("1"
                                                        (hide -1)
                                                        (("1"
                                                          (assert)
                                                          (("1"
                                                            (factor -1)
                                                            (("1"
                                                              (div-by
                                                               -1
                                                               "sqv(sp)")
                                                              (("1"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil)
                                               ("2"
                                                (expand "sq")
                                                (("2"
                                                  (propax)
                                                  nil
                                                  nil))
                                                nil))
                                              nil))
                                            nil)
                                           ("2"
                                            (hide-all-but 1)
                                            (("2"
                                              (expand "sq")
                                              (("2"
                                                (typepred "eps")
                                                (("2"
                                                  (split)
                                                  (("1"
                                                    (replace -1)
                                                    (("1"
                                                      (assert)
                                                      nil
                                                      nil))
                                                    nil)
                                                   ("2"
                                                    (replace -1)
                                                    (("2"
                                                      (assert)
                                                      nil
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (assert)
        (("2" (flatten)
          (("2" (expand "line_solution?")
            (("2" (expand "R")
              (("2" (expand "Delta")
                (("2" (case "det(sp,v) = 0")
                  (("1" (replace -1)
                    (("1" (assert)
                      (("1" (lemma "sqv_eq_0")
                        (("1" (inst?)
                          (("1" (div-by -3 "sq(D)")
                            (("1" (assert)
                              (("1"
                                (replace -1)
                                (("1"
                                  (assert)
                                  (("1" (inst + "1"nil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil)
                   ("2" (name "epsil" "-sign(det(sp,v))")
                    (("2" (label "espsilname" -1)
                      (("2" (inst + "epsil")
                        (("2" (case "epsil * det(sp, v) <= 0")
                          (("1" (assert)
                            (("1" (label "espdef2" -1)
                              (("1"
                                (lemma "sq_eq")
                                (("1"
                                  (inst
                                   -
                                   "-(det(sp, v) * (sqrt(sqv(sp) - sq(D)) / D) * epsil)"
                                   "-(sp*v)")
                                  (("1"
                                    (assert)
                                    (("1"
                                      (lemma "sq_neg")
                                      (("1"
                                        (inst-cp - "(sp*v)")
                                        (("1"
                                          (replace -2)
                                          (("1"
                                            (hide -2)
                                            (("1"
                                              (inst?)
                                              (("1"
                                                (replace -1)
                                                (("1"
                                                  (hide -1)
                                                  (("1"
                                                    (rewrite
                                                     "sq_times")
                                                    (("1"
                                                      (rewrite
                                                       "sq_times")
                                                      (("1"
                                                        (rewrite
                                                         "sq_div")
                                                        (("1"
                                                          (field 1)
                                                          (("1"
                                                            (case-replace
                                                             "sq(epsil) = 1")
                                                            (("1"
                                                              (assert)
                                                              (("1"
                                                                (factor
                                                                 1)
                                                                (("1"
                                                                  (rewrite
                                                                   "sq_det")
                                                                  (("1"
                                                                    (assert)
                                                                    nil
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("2"
                                                              (typepred
                                                               "epsil")
                                                              (("2"
                                                                (split)
                                                                (("1"
                                                                  (replace
                                                                   -1)
                                                                  (("1"
                                                                    (assert)
                                                                    nil
                                                                    nil))
                                                                  nil)
                                                                 ("2"
                                                                  (replace
                                                                   -1)
                                                                  (("2"
                                                                    (expand
                                                                     "sq")
                                                                    (("2"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil)
                                   ("2"
                                    (name-replace "AA" "det(sp,v)")
                                    (("2"
                                      (name
                                       "BB"
                                       "(sqrt(sqv(sp) - sq(D)) / D)")
                                      (("2"
                                        (case "BB >= 0")
                                        (("1"
                                          (replace -2)
                                          (("1"
                                            (hide-all-but (-1 -3 1))
                                            (("1"
                                              (case-replace
                                               "AA*BB*epsil = (epsil*AA)*BB")
                                              (("1"
                                                (name-replace
                                                 "CC"
                                                 "epsil*AA")
                                                (("1"
                                                  (case "CC*BB <= 0")
                                                  (("1"
                                                    (assert)
                                                    nil
                                                    nil)
                                                   ("2"
                                                    (assert)
                                                    (("2"
                                                      (lemma
                                                       "nnreal_times_nnreal_is_nnreal")
                                                      (("2"
                                                        (inst
                                                         -
                                                         "-CC"
                                                         "BB")
                                                        (("2"
                                                          (assert)
                                                          nil
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil)
                                               ("2" (assertnil nil))
                                              nil))
                                            nil))
                                          nil)
                                         ("2"
                                          (replace -1 + rl)
                                          (("2"
                                            (cross-mult 1)
                                            nil
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil)
                           ("2" (replace "espsilname" + rl)
                            (("2" (name-replace "AAA" "det(sp,v)")
                              (("2"
                                (hide-all-but 1)
                                (("2" (grind) nil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((Sign type-eq-decl nil sign "reals/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (sq const-decl "nonneg_real" sq "reals/")
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (det const-decl "real" det_2D "vectors/")
    (R const-decl "nnreal" horizontal_criteria nil)
    (* const-decl "real" vectors_2D "vectors/")
    (sqrt const-decl "{nnz: nnreal | nnz * nnz = nnx}" sqrt "reals/")
    (sq_rew formula-decl nil sq "reals/")
    (sq_sqrt formula-decl nil sqrt "reals/")
    (sign_mult_clos application-judgement "Sign" sign "reals/")
    (sq_det formula-decl nil det_2D "vectors/")
    (Delta const-decl "real" horizontal nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (sq_0 formula-decl nil sq "reals/")
    (sqv_zero formula-decl nil vectors_2D "vectors/")
    (dot_zero_right formula-decl nil vectors_2D "vectors/")
    (sqv_eq_0 formula-decl nil vectors_2D "vectors/")
    (sq_neg formula-decl nil sq "reals/")
    (sq_1 formula-decl nil sq "reals/")
    (sq_div formula-decl nil sq "reals/")
    (sign_sq_clos application-judgement "Sign" sign "reals/")
    (sq_times formula-decl nil sq "reals/")
    (sq_eq formula-decl nil sq "reals/")
    (sign_neg_clos application-judgement "Sign" sign "reals/")
    (sign const-decl "Sign" sign "reals/"))
   shostak))
 (det_neq_0 0
  (det_neq_0-1 nil 3443377190
   ("" (skeep)
    (("" (skeep -1)
      (("" (expand "line_solution?")
        (("" (flatten)
          (("" (hide -2)
            (("" (replace -2)
              (("" (assert)
                (("" (lemma "sq_det")
                  (("" (inst?)
                    (("" (replaces -3)
                      (("" (assert)
                        (("" (replaces -2 :dir rl)
                          (("" (assert)
                            (("" (typepred "sp")
                              (("" (mult-cases -2) nil nil)) nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((sq_det formula-decl nil det_2D "vectors/")
    (nz_sqv_gt_0 application-judgement "posreal" vectors_2D "vectors/")
    (NOT const-decl "[bool -> bool]" booleans nil)
    (zero_times4 formula-decl nil extra_real_props nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (sq_0 formula-decl nil sq "reals/")
    (real_minus_real_is_real application-judgement "real" reals nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (Nz_vect2 type-eq-decl nil vectors_2D "vectors/")
    (zero const-decl "Vector" vectors_2D "vectors/")
    (/= const-decl "boolean" notequal nil)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (D formal-const-decl "posreal" line_solutions 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)
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans 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)
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (real nonempty-type-from-decl nil reals nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (line_solution? const-decl "bool" line_solutions nil)
    (real_times_real_is_real application-judgement "real" reals nil))
   nil))
 (line_solution_eps 0
  (line_solution_eps-2 nil 3431107300
   ("" (skeep)
    (("" (lemma "line_solution_dot_neg")
      (("" (inst?)
        (("" (assert)
          (("" (lemma "det_neq_0")
            (("" (inst -1 "nzv" "sp")
              (("" (split)
                (("1" (flatten)
                  (("1" (expand "line_solution?")
                    (("1" (flatten)
                      (("1" (expand "eps_line")
                        (("1" (hide-all-but (-3 1 2))
                          (("1" (typepred "eps")
                            (("1" (grind) nil nil)) nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (inst? 1) nil nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((line_solution_dot_neg formula-decl nil line_solutions nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (real_minus_real_is_real application-judgement "real" reals nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sign_neg_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)
    (sign const-decl "Sign" sign "reals/")
    (det const-decl "real" det_2D "vectors/")
    (NOT const-decl "[bool -> bool]" booleans nil)
    (eps_line const-decl "Sign" line_solutions nil)
    (line_solution? const-decl "bool" line_solutions nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (det_neq_0 formula-decl nil line_solutions nil)
    (Nz_vect2 type-eq-decl nil vectors_2D "vectors/")
    (zero const-decl "Vector" vectors_2D "vectors/")
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (D formal-const-decl "posreal" line_solutions 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)
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (>= const-decl "bool" reals nil)
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (Sign type-eq-decl nil sign "reals/")
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (= const-decl "[T, T -> boolean]" equalities 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)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil))
   nil)
  (line_solution_eps-1 nil 3431107295 ("" (postpone) nil nilnil
   shostak))
 (line_solution_eps_line 0
  (line_solution_eps_line-1 nil 3431173309
   ("" (skeep)
    (("" (skeep -1)
      (("" (case "v=zero")
        (("1" (replaces -1)
          (("1" (hide -1)
            (("1" (lemma "line_solution_zero_eps")
              (("1" (inst?) nil nil)) nil))
            nil))
          nil)
         ("2" (lemma "line_solution_eps")
          (("2" (inst?) (("1" (assertnil nil) ("2" (assertnil nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((line_solution_eps formula-decl nil line_solutions nil)
    (Nz_vect2 type-eq-decl nil vectors_2D "vectors/")
    (v skolem-const-decl "Vect2" line_solutions nil)
    (line_solution_zero_eps formula-decl nil line_solutions 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)
    (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)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (Sign type-eq-decl nil sign "reals/")
    (eps_line const-decl "Sign" line_solutions nil)
    (>= const-decl "bool" reals nil)
    (nnreal type-eq-decl nil real_types nil)
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (D formal-const-decl "posreal" line_solutions nil)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (real nonempty-type-from-decl nil reals nil)
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (boolean nonempty-type-decl nil booleans nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (zero const-decl "Vector" vectors_2D "vectors/"))
   nil))
 (line_solution_meets_horizontal_criterion 0
  (line_solution_meets_horizontal_criterion-1 nil 3470097441
   ("" (skeep)
    (("" (expand "line_solution?")
      (("" (flatten)
        (("" (expand "horizontal_criterion?") (("" (assertnil nil))
          nil))
        nil))
      nil))
    nil)
   ((real_times_real_is_real application-judgement "real" reals nil)
    (line_solution? const-decl "bool" line_solutions nil)
    (horizontal_criterion? const-decl "bool" horizontal_criteria nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil))
   shostak))
 (line_solution_independence 0
  (line_solution_independence-2 nil 3443392562
   ("" (skeep)
    (("" (skeep -1)
      (("" (lemma "line_solution_dot_neg")
        (("" (inst? -1)
          (("" (assert)
            (("" (expand "line_solution?")
              (("" (flatten)
                (("" (case "horizontal_conflict?(sp,v)")
                  (("1" (hide -5)
                    (("1" (lemma "horizontal_criterion_independence")
                      (("1" (inst?)
                        (("1" (assert)
                          (("1" (inst 1 "eps")
                            (("1" (expand "horizontal_criterion?")
                              (("1" (assertnil nil)) nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil)
                   ("2" (expand "horizontal_conflict_ever?")
                    (("2" (skeep -4)
                      (("2" (expand "horizontal_conflict?")
                        (("2" (inst 1 "t")
                          (("2" (rewrite "sqv_add")
                            (("2" (name-replace "spv" "sp*v")
                              (("2"
                                (typepred "sp")
                                (("2"
                                  (case "2 * (t * spv) >= 0")
                                  (("1" (assertnil nil)
                                   ("2"
                                    (mult-cases 1)
                                    (("2" (mult-cases 1) nil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (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)
    (/= 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/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (>= const-decl "bool" reals nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (D formal-const-decl "posreal" line_solutions nil)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (line_solution? const-decl "bool" line_solutions nil)
    (horizontal_conflict? const-decl "bool" horizontal nil)
    (horizontal_criterion_independence formula-decl nil
     horizontal_criteria nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (horizontal_criterion? const-decl "bool" horizontal_criteria nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (t skolem-const-decl "real" line_solutions nil)
    (* const-decl "real" vectors_2D "vectors/")
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (pos_times_ge formula-decl nil real_props nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (dot_scal_canon formula-decl nil vectors_2D "vectors/")
    (real_plus_real_is_real application-judgement "real" reals nil)
    (nnreal_plus_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (sqv_add formula-decl nil vectors_2D "vectors/")
    (* const-decl "Vector" vectors_2D "vectors/")
    (horizontal_conflict_ever? const-decl "bool" horizontal nil)
    (line_solution_dot_neg formula-decl nil line_solutions nil))
   nil)
  (line_solution_independence-1 nil 3427500646
   ("" (skeep)
    (("" (lemma "line_solution_independence_ever")
      (("" (inst?)
        (("" (inst -1 "1")
          (("" (assert)
            (("" (split -1)
              (("1" (rewrite "horizontal_conflict_ever"nil nil)
               ("2" (propax) nil nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((horizontal_conflict_ever formula-decl nil horizontal nil)
    (scal_1 formula-decl nil vectors_2D "vectors/")
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/"))
   nil))
 (line_solution_invariant_TCC1 0
  (line_solution_invariant_TCC1-1 nil 3467969560
   ("" (skeep)
    (("" (lemma "line_solution_independence")
      (("" (inst?)
        (("" (ground)
          (("" (expand "horizontal_conflict_ever?")
            (("" (inst + "t") (("" (assertnil nil)) nil)) nil))
          nil))
        nil))
      nil))
    nil)
   ((line_solution_independence formula-decl nil line_solutions nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (horizontal_conflict_ever? const-decl "bool" horizontal nil)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (D formal-const-decl "posreal" line_solutions 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)
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans 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)
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (real nonempty-type-from-decl nil reals nil))
   nil))
 (line_solution_invariant 0
  (line_solution_invariant-1 nil 3467969560
   ("" (skeep)
    (("" (lemma "line_solution_Delta")
      (("" (inst-cp -1 "sp" "v")
        (("" (inst -1 "sp+t*v" "v")
          (("1" (replace -1)
            (("1" (replace -2)
              (("1" (hide -1)
                (("1" (hide -1)
                  (("1" (lemma "Delta_eq")
                    (("1" (inst?)
                      (("1" (replace -1 + rl)
                        (("1" (assert)
                          (("1" (expand "sign")
                            (("1" (lift-if)
                              (("1"
                                (lift-if)
                                (("1" (ground) nil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil)
           ("2" (lemma "line_solution_independence")
            (("2" (inst?)
              (("2" (assert)
                (("2" (ground)
                  (("2" (expand "horizontal_conflict_ever?")
                    (("2" (inst + "t") (("2" (assertnil nil)) nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((line_solution_Delta formula-decl nil line_solutions nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (v skolem-const-decl "Vect2" line_solutions nil)
    (t skolem-const-decl "real" line_solutions nil)
    (* const-decl "Vector" vectors_2D "vectors/")
    (sp skolem-const-decl "Sp_vect2[D]" line_solutions nil)
    (+ 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)
    (sign const-decl "Sign" sign "reals/")
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (Delta_eq formula-decl nil horizontal nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (horizontal_conflict_ever? const-decl "bool" horizontal nil)
    (line_solution_independence formula-decl nil line_solutions nil)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (D formal-const-decl "posreal" line_solutions 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)
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans 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)
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (real nonempty-type-from-decl nil reals nil))
   shostak))
 (line_solution_rewrite 0
  (line_solution_rewrite-1 nil 3467978335
   ("" (skeep)
    (("" (ground)
      (("1" (lemma "line_solution_Delta")
        (("1" (inst - "sp" "nzv")
          (("1" (ground)
            (("1" (hide -1)
              (("1" (expand "Delta")
                (("1" (rewrite "sq_det")
                  (("1" (assert)
                    (("1"
                      (both-sides "-" "sq(D)*sqv(nzv)-sqv(nzv)*sqv(sp)"
                       -1)
                      (("1" (assert)
                        (("1" (factor -1)
                          (("1" (name "ttt" "-(sp*nzv)/sqv(nzv)")
                            (("1" (label "tttname" -1)
                              (("1"
                                (inst + "ttt")
                                (("1"
                                  (split)
                                  (("1"
                                    (case-replace
                                     "sqv(sp + ttt * nzv) = sqv(sp) + 2*ttt*(sp*nzv) + sq(ttt)*sqv(nzv)")
                                    (("1"
                                      (hide -1)
                                      (("1"
                                        (case-replace
                                         "2 * ttt * (sp * nzv) = -2*(sq(sp*nzv)/sqv(nzv))")
                                        (("1"
                                          (hide -1)
                                          (("1"
                                            (case-replace
                                             "sq(ttt) * sqv(nzv) = sq(sp*nzv)/sqv(nzv)")
                                            (("1"
                                              (hide -1)
                                              (("1"
                                                (assert)
                                                (("1"
                                                  (field 1)
                                                  nil
                                                  nil))
                                                nil))
                                              nil)
                                             ("2"
                                              (hide 2)
                                              (("2"
                                                (replace
                                                 "tttname"
                                                 +
                                                 rl)
                                                (("2"
                                                  (rewrite "sq_div")
                                                  (("2"
                                                    (rewrite "sq_neg")
                                                    (("2"
                                                      (field 1)
                                                      (("2"
                                                        (expand "sq")
                                                        (("2"
                                                          (propax)
                                                          nil
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil)
                                         ("2"
                                          (hide 2)
                                          (("2"
                                            (replace "tttname" + rl)
                                            (("2"
                                              (assert)
                                              (("2"
                                                (expand "sq")
                                                (("2"
                                                  (assert)
                                                  nil
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil)
                                     ("2"
                                      (hide 2)
                                      (("2"
                                        (hide-all-but 1)
                                        (("2" (grind) nil nil))
                                        nil))
                                      nil))
                                    nil)
                                   ("2"
                                    (case-replace
                                     "(sp + ttt * nzv) * nzv = sp*nzv + ttt*sqv(nzv)")
                                    (("1"
                                      (replace "tttname" + rl)
                                      (("1" (field 1) nil nil))
                                      nil)
                                     ("2"
                                      (hide 2)
                                      (("2" (grind) nil nil))
                                      nil))
                                    nil))
                                  nil)
                                 ("2"
                                  (replace "tttname" + rl)
                                  (("2"
                                    (cross-mult 1)
                                    (("2" (assertnil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (skeep -1)
        (("2" (lemma "on_D_line")
          (("2" (inst - "sp + tt*nzv" "nzv")
            (("2" (assert)
              (("2" (lemma "line_solution_invariant")
                (("2" (inst - "sp - (-tt)*nzv" "-tt" "nzv")
                  (("1" (assert)
                    (("1" (case-replace "sp-(-tt)*nzv = sp+tt*nzv")
                      (("1" (hide -1)
                        (("1" (assert)
                          (("1" (ground)
                            (("1" (expand "sign")
                              (("1"
                                (lift-if)
                                (("1"
                                  (ground)
                                  (("1"
                                    (lemma "line_solution_Delta")
                                    (("1"
                                      (inst?)
                                      (("1"
                                        (ground)
                                        (("1"
                                          (hide -1)
                                          (("1"
                                            (case-replace
                                             "-1 * ((sp + tt * nzv) * nzv) = -(sp*nzv) + (-tt*sqv(nzv))")
                                            (("1"
                                              (hide -1)
                                              (("1"
                                                (case
                                                 "-tt * sqv(nzv) <= 0")
                                                (("1" (assertnil nil)
                                                 ("2"
                                                  (typepred "tt")
                                                  (("2"
                                                    (lemma
                                                     "nnreal_times_nnreal_is_nnreal")
                                                    (("2"
                                                      (inst
                                                       -
                                                       "tt"
                                                       "sqv(nzv)")
                                                      (("2"
                                                        (assert)
                                                        nil
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2"
                                              (hide-all-but 1)
                                              (("2" (grind) nil nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil)
                       ("2" (hide-all-but 1) (("2" (grind) nil nil))
                        nil))
                      nil))
                    nil)
                   ("2" (case-replace "sp - (-tt) * nzv = sp + tt*nzv")
                    (("1" (assertnil nil)
                     ("2" (hide-all-but 1) (("2" (grind) nil nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((real nonempty-type-from-decl nil reals nil)
    (Vect2 type-eq-decl nil vectors_2D_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)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (D formal-const-decl "posreal" line_solutions nil)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (/= const-decl "boolean" notequal nil)
    (zero const-decl "Vector" vectors_2D "vectors/")
    (Nz_vect2 type-eq-decl nil vectors_2D "vectors/")
    (sq_det formula-decl nil det_2D "vectors/")
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "real" vectors_2D "vectors/")
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (div_mult_pos_ge1 formula-decl nil real_props nil)
    (sq_div formula-decl nil sq "reals/")
    (sq_neg formula-decl nil sq "reals/")
    (both_sides_times1 formula-decl nil real_props nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (bijective? const-decl "bool" functions nil)
    (id const-decl "(bijective?[T, T])" identity nil)
    (TRUE const-decl "bool" booleans nil)
    (minus_nzint_is_nzint application-judgement "nzint" integers nil)
    (minus_even_is_even application-judgement "even_int" integers nil)
    (nnreal_div_posreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (+ const-decl "Vector" vectors_2D "vectors/")
    (* const-decl "Vector" vectors_2D "vectors/")
    (ttt skolem-const-decl "real" line_solutions nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (/ const-decl "[numfield, nznum -> numfield]" number_fields nil)
    (nznum nonempty-type-eq-decl nil number_fields nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (nnreal_plus_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (Delta const-decl "real" horizontal nil)
    (nz_sqv_gt_0 application-judgement "posreal" vectors_2D "vectors/")
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (line_solution_Delta formula-decl nil line_solutions nil)
    (on_D_line formula-decl nil line_solutions nil)
    (nzv skolem-const-decl "Nz_vect2" line_solutions nil)
    (tt skolem-const-decl "nnreal" line_solutions nil)
    (sp skolem-const-decl "Sp_vect2[D]" line_solutions nil)
    (- const-decl "Vector" vectors_2D "vectors/")
    (sign_nat formula-decl nil sign "reals/")
    (sign const-decl "Sign" sign "reals/")
    (nnreal_times_nnreal_is_nnreal judgement-tcc nil real_types nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (<= const-decl "bool" reals nil)
    (add_cancel2 formula-decl nil vectors_2D "vectors/")
    (line_solution_invariant formula-decl nil line_solutions nil))
   shostak))
 (line_solution_det 0
  (line_solution_det-2 nil 3469456544
   ("" (skeep)
    (("" (case "v = zero")
      (("1" (replace -1)
        (("1" (hide-all-but 1) (("1" (grind) nil nil)) nil)) nil)
       ("2" (lemma "line_solution_Delta")
        (("2" (inst - "sp" "v")
          (("2" (split 2)
            (("1" (flatten)
              (("1" (split -2)
                (("1" (flatten)
                  (("1" (split 1)
                    (("1" (expand "Delta")
                      (("1" (both-sides + "sq(det(sp,v))" -1)
                        (("1" (assert)
                          (("1" (lemma "sqrt_eq")
                            (("1"
                              (inst - "sq(D)*sqv(v)" "sq(det(sp,v))")
                              (("1"
                                (ground)
                                (("1"
                                  (lemma "sqrt_times")
                                  (("1"
                                    (inst?)
                                    (("1"
                                      (replace -1)
                                      (("1"
                                        (expand "norm")
                                        (("1"
                                          (case
                                           "abs(det(sp,v)) = -eps*det(sp,v)")
                                          (("1"
                                            (lemma "sqrt_sq_abs")
                                            (("1"
                                              (inst - "det(sp,v)")
                                              (("1" (assertnil nil))
                                              nil))
                                            nil)
                                           ("2"
                                            (expand "line_solution?")
                                            (("2"
                                              (flatten)
                                              (("2"
                                                (hide-all-but (-7 1))
                                                (("2"
                                                  (name-replace
                                                   "AAdet"
                                                   "det(sp,v)")
                                                  (("2"
                                                    (typepred "eps")
                                                    (("2"
                                                      (grind)
                                                      nil
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil)
                     ("2" (propax) nil nil))
                    nil))
                  nil)
                 ("2" (inst + "eps"nil nil))
                nil))
              nil)
             ("2" (flatten)
              (("2" (assert)
                (("2" (case "Delta(sp,v) = 0")
                  (("1" (assert)
                    (("1" (ground)
                      (("1" (skosimp*)
                        (("1" (expand "line_solution?")
                          (("1" (flatten)
                            (("1" (case "eps!1 = eps OR eps!1 = -eps")
                              (("1"
                                (ground)
                                (("1"
                                  (replace -1)
                                  (("1"
                                    (hide -1)
                                    (("1"
                                      (lemma "associative_mult")
                                      (("1"
                                        (inst
                                         -
                                         "R(sp)"
                                         "det(sp,v)"
                                         "-eps")
                                        (("1"
                                          (replace -1 - rl)
                                          (("1" (assertnil nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil)
                               ("2"
                                (hide-all-but 1)
                                (("2"
                                  (typepred "eps!1")
                                  (("2"
                                    (typepred "eps")
                                    (("2" (ground) nil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil)
                   ("2" (hide-all-but (-1 1))
                    (("2" (expand "Delta")
                      (("2" (lemma "sq_eq")
                        (("2"
                          (inst - "-eps * det(sp, v)" "D * norm(v)")
                          (("2" (ground)
                            (("2" (rewrite "sq_times")
                              (("2"
                                (case "sq(-eps) = 1")
                                (("1"
                                  (replace -1)
                                  (("1"
                                    (rewrite "sq_times")
                                    (("1"
                                      (lemma "sq_norm")
                                      (("1"
                                        (inst?)
                                        (("1" (assertnil nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil)
                                 ("2"
                                  (hide-all-but 1)
                                  (("2"
                                    (typepred "eps")
                                    (("2" (grind) nil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((zero const-decl "Vector" vectors_2D "vectors/")
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (= const-decl "[T, T -> boolean]" equalities nil)
    (boolean nonempty-type-decl nil booleans nil)
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (real nonempty-type-from-decl nil reals nil)
    (sign_neg_clos application-judgement "Sign" sign "reals/")
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (norm const-decl "nnreal" vectors_2D "vectors/")
    (sqrt_0 formula-decl nil sqrt "reals/")
    (real_times_real_is_real application-judgement "real" reals nil)
    (nnreal_div_posreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (real_minus_real_is_real application-judgement "real" reals nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (line_solution? const-decl "bool" line_solutions nil)
    (det const-decl "real" det_2D "vectors/")
    (comp_zero_x formula-decl nil vectors_2D "vectors/")
    (comp_zero_y formula-decl nil vectors_2D "vectors/")
    (R const-decl "nnreal" horizontal_criteria 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)
    (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" line_solutions nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (* const-decl "real" vectors_2D "vectors/")
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (nnreal type-eq-decl nil real_types nil)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (associative_mult formula-decl nil number_fields nil)
    (sq_times formula-decl nil sq "reals/")
    (sign_sq_clos application-judgement "Sign" sign "reals/")
    (sign_mult_clos application-judgement "Sign" sign "reals/")
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (sq_norm formula-decl nil vectors_2D "vectors/")
    (sq_eq formula-decl nil sq "reals/")
    (Delta const-decl "real" horizontal nil)
    (sqrt_times formula-decl nil sqrt "reals/")
    (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)
    (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)
    (Sign type-eq-decl nil sign "reals/")
    (sqrt_sq formula-decl nil sqrt "reals/")
    (sqrt_sq_abs formula-decl nil sqrt "reals/")
    (sqrt_pos application-judgement "posreal" sqrt "reals/")
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (sqrt_eq formula-decl nil sqrt "reals/")
    (NOT const-decl "[bool -> bool]" booleans nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (nnreal_plus_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (line_solution_Delta formula-decl nil line_solutions nil))
   nil)
  (line_solution_det-1 nil 3469456533 ("" (postpone) nil nilnil
   shostak))
 (line_solution_scal_unique 0
  (line_solution_scal_unique-1 nil 3472562004
   ("" (skeep)
    (("" (name "vv1" "(1/norm(nzv1))*nzv1")
      (("" (name "vv2" "(1/norm(nzv2))*nzv2")
        (("" (case "EXISTS (pkk: posreal): vv1 = pkk*vv2")
          (("1" (skosimp*)
            (("1" (inst + "(norm(nzv1)/norm(nzv2))*pkk!1")
              (("1" (replace -2 :dir rl)
                (("1" (replace -3 :dir rl)
                  (("1" (hide-all-but (-1 1))
                    (("1" (grind)
                      (("1" (apply-extensionality)
                        (("1" (field 1) nil nil)
                         ("2" (field 1) nil nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil)
           ("2" (hide 2)
            (("2" (case "NOT (norm(vv2) = 1 AND norm(vv1) = 1)")
              (("1" (replace -1 :dir rl)
                (("1" (replace -2 :dir rl)
                  (("1" (hide-all-but 1)
                    (("1" (rewrite "norm_scal")
                      (("1" (rewrite "norm_scal")
                        (("1" (expand "abs") (("1" (propax) nil nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil)
               ("2" (flatten)
                (("2"
                  (case "NOT (line_solution?(sp,vv1,eps) AND line_solution?(sp,vv2,eps))")
                  (("1" (lemma "line_solution_scal")
                    (("1" (inst-cp - "eps" "1/norm(nzv1)" "sp" "nzv1")
                      (("1" (assert)
                        (("1" (inst - "eps" "1/norm(nzv2)" "sp" "nzv2")
                          (("1" (assertnil nil)) nil))
                        nil))
                      nil))
                    nil)
                   ("2" (flatten)
                    (("2" (lemma "line_solution_det")
                      (("2" (inst-cp - "eps" "sp" "vv1")
                        (("2" (inst - "eps" "sp" "vv2")
                          (("2" (assert)
                            (("2" (flatten)
                              (("2"
                                (replace -7)
                                (("2"
                                  (replace -8)
                                  (("2"
                                    (assert)
                                    (("2"
                                      (expand "line_solution?" -5)
                                      (("2"
                                        (expand "line_solution?" -6)
                                        (("2"
                                          (lemma
                                           "linear_functional_is_perp_dot")
                                          (("2"
                                            (inst
                                             -
                                             "(lambda (vzv: Vect2): R(sp)*det(sp,vzv)*eps-sp*vzv)"
                                             "vv1")
                                            (("2"
                                              (assert)
                                              (("2"
                                                (split -1)
                                                (("1"
                                                  (skosimp*)
                                                  (("1"
                                                    (decompose-equality)
                                                    (("1"
                                                      (case
                                                       "rzk!1 /= 0")
                                                      (("1"
                                                        (inst - "vv2")
                                                        (("1"
                                                          (case
                                                           "R(sp) * det(sp, vv2) * eps - sp * vv2 = 0")
                                                          (("1"
                                                            (replace
                                                             -1)
                                                            (("1"
                                                              (lemma
                                                               "parallel_det_0")
                                                              (("1"
                                                                (inst
                                                                 -
                                                                 "vv2"
                                                                 "vv1")
                                                                (("1"
                                                                  (div-by
                                                                   -4
                                                                   "rzk!1")
                                                                  (("1"
                                                                    (assert)
                                                                    (("1"
                                                                      (expand
                                                                       "parallel?")
                                                                      (("1"
                                                                        (skosimp*)
                                                                        (("1"
                                                                          (case
                                                                           "nzk!1 > 0")
                                                                          (("1"
                                                                            (inst
                                                                             +
                                                                             "(1/nzk!1)")
                                                                            (("1"
                                                                              (hide-all-but
                                                                               (-1
                                                                                -2
                                                                                2))
                                                                              (("1"
                                                                                (apply-extensionality)
                                                                                (("1"
                                                                                  (rewrite
                                                                                   "vx_scal")
                                                                                  (("1"
                                                                                    (cross-mult
                                                                                     1)
                                                                                    (("1"
                                                                                      (grind)
                                                                                      nil
                                                                                      nil))
                                                                                    nil))
                                                                                  nil)
                                                                                 ("2"
                                                                                  (grind)
                                                                                  nil
                                                                                  nil))
                                                                                nil))
                                                                              nil)
                                                                             ("2"
                                                                              (lemma
                                                                               "posreal_div_posreal_is_posreal")
                                                                              (("2"
                                                                                (inst
                                                                                 -
                                                                                 "1"
                                                                                 "nzk!1")
                                                                                (("1"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil)
                                                                                 ("2"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil)
                                                                           ("2"
                                                                            (replace
                                                                             -1)
                                                                            (("2"
                                                                              (rewrite
                                                                               "dot_scal_right")
                                                                              (("2"
                                                                                (case
                                                                                 "sp*vv1 /= 0")
                                                                                (("1"
                                                                                  (lemma
                                                                                   "posreal_times_posreal_is_posreal")
                                                                                  (("1"
                                                                                    (inst
                                                                                     -
                                                                                     "-1*nzk!1"
                                                                                     "-1*(sp*vv1)")
                                                                                    (("1"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil)
                                                                                     ("2"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil)
                                                                                     ("3"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    nil))
                                                                                  nil)
                                                                                 ("2"
                                                                                  (flatten)
                                                                                  (("2"
                                                                                    (replace
                                                                                     -1)
                                                                                    (("2"
                                                                                      (assert)
                                                                                      (("2"
                                                                                        (rewrite
                                                                                         "det_scal_right")
                                                                                        (("2"
                                                                                          (lemma
                                                                                           "nzreal_times_nzreal_is_nzreal")
                                                                                          (("2"
                                                                                            (inst
                                                                                             -
                                                                                             "det(sp,vv1)"
                                                                                             "R(sp)*nzk!1*eps")
                                                                                            (("1"
                                                                                              (assert)
                                                                                              nil
                                                                                              nil)
                                                                                             ("2"
                                                                                              (expand
                                                                                               "R")
                                                                                              (("2"
                                                                                                (assert)
                                                                                                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)
                                                       ("2"
                                                        (flatten)
                                                        (("2"
                                                          (replace -1)
                                                          (("2"
                                                            (inst
                                                             -
                                                             "perpR(sp)")
                                                            (("2"
                                                              (assert)
                                                              (("2"
                                                                (lemma
                                                                 "det_perpR")
                                                                (("2"
                                                                  (inst
                                                                   -
                                                                   "sp"
                                                                   "sp")
                                                                  (("2"
                                                                    (rewrite
                                                                     "det_eq_0")
                                                                    (("2"
                                                                      (replace
                                                                       -1
                                                                       :dir
                                                                       rl)
                                                                      (("2"
                                                                        (lemma
                                                                         "nzreal_times_nzreal_is_nzreal")
                                                                        (("2"
                                                                          (inst
                                                                           -
                                                                           "R(sp)*eps"
                                                                           "det(sp,perpR(sp))")
                                                                          (("1"
                                                                            (assert)
                                                                            nil
                                                                            nil)
                                                                           ("2"
                                                                            (rewrite
                                                                             "det_perpR")
                                                                            (("2"
                                                                              (rewrite
                                                                               "perpR_perpR")
                                                                              (("2"
                                                                                (hide-all-but
                                                                                 1)
                                                                                (("2"
                                                                                  (typepred
                                                                                   "sp")
                                                                                  (("2"
                                                                                    (grind)
                                                                                    nil
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil)
                                                                           ("3"
                                                                            (expand
                                                                             "R")
                                                                            (("3"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      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))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((Nz_vector type-eq-decl nil vectors_2D "vectors/")
    (Nz_vect2 type-eq-decl nil vectors_2D "vectors/")
    (zero const-decl "Vector" vectors_2D "vectors/")
    (norm const-decl "nnreal" vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans 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)
    (number nonempty-type-decl nil numbers nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (boolean nonempty-type-decl nil booleans nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (real nonempty-type-from-decl nil reals nil)
    (nz_nzv application-judgement "Nz_vector" vectors_2D "vectors/")
    (posreal_div_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (nz_norm_gt_0 application-judgement "posreal" vectors_2D
     "vectors/")
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (* const-decl "real" vectors_2D "vectors/")
    (sqrt_pos application-judgement "posreal" sqrt "reals/")
    (nz_sqv_gt_0 application-judgement "posreal" vectors_2D "vectors/")
    (real_plus_real_is_real application-judgement "real" reals nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (both_sides_times1 formula-decl nil real_props nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (div_cancel2 formula-decl nil real_props nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (bijective? const-decl "bool" functions nil)
    (id const-decl "(bijective?[T, T])" identity nil)
    (TRUE const-decl "bool" booleans nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (sqrt const-decl "{nnz: nnreal | nnz * nnz = nnx}" sqrt "reals/")
    (norm_scal formula-decl nil vectors_2D "vectors/")
    (nonzero_abs_is_pos application-judgement "{y: posreal | y >= x}"
     real_defs nil)
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (line_solution? const-decl "bool" line_solutions nil)
    (Sign type-eq-decl nil sign "reals/")
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (nzint nonempty-type-eq-decl nil integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (D formal-const-decl "posreal" line_solutions nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (line_solution_scal formula-decl nil line_solutions nil)
    (line_solution_det formula-decl nil line_solutions nil)
    (linear_functional_is_perp_dot formula-decl nil
     linear_transformations_2D "vectors/")
    (linear_functional? const-decl "bool" linear_transformations_2D
     "vectors/")
    (+ const-decl "Vector" vectors_2D "vectors/")
    (parallel_det_0 formula-decl nil parallel_2D "vectors/")
    (both_sides_div1 formula-decl nil real_props nil)
    (rzk!1 skolem-const-decl "real" line_solutions nil)
    (times_div_cancel1 formula-decl nil extra_real_props nil)
    (parallel? const-decl "bool" vectors_2D "vectors/")
    (nzreal nonempty-type-eq-decl nil reals nil)
    (posreal_div_posreal_is_posreal judgement-tcc nil real_types nil)
    (vx_scal formula-decl nil vectors_2D "vectors/")
    (div_cancel4 formula-decl nil real_props nil)
    (times_div2 formula-decl nil real_props nil)
    (nzk!1 skolem-const-decl "nzreal" line_solutions nil)
    (dot_scal_right formula-decl nil vectors_2D "vectors/")
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (scal_assoc formula-decl nil vectors_2D "vectors/")
    (nzreal_times_nzreal_is_nzreal judgement-tcc nil real_types nil)
    (nnreal_div_posreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (eps skolem-const-decl "Sign" line_solutions nil)
    (det_scal_right formula-decl nil det_2D "vectors/")
    (posreal_times_posreal_is_posreal judgement-tcc nil real_types nil)
    (vv1 skolem-const-decl "Nz_vector" line_solutions nil)
    (sp skolem-const-decl "Sp_vect2[D]" line_solutions nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (perpR_perpR formula-decl nil perpendicular_2D "vectors/")
    (neg_sp application-judgement "Sp_vect2[D]" line_solutions nil)
    (minus_real_is_real application-judgement "real" reals nil)
    (- const-decl "Vector" vectors_2D "vectors/")
    (det_eq_0 formula-decl nil det_2D "vectors/")
    (det_perpR formula-decl nil det_2D "vectors/")
    (perpR const-decl "Vect2" perpendicular_2D "vectors/")
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (R const-decl "nnreal" horizontal_criteria nil)
    (det const-decl "real" det_2D "vectors/")
    (real_minus_real_is_real application-judgement "real" reals nil)
    (sign_neg_clos application-judgement "Sign" sign "reals/")
    (minus_odd_is_odd application-judgement "odd_int" integers nil))
   shostak))
 (line_solution_coordination 0
  (line_solution_coordination-2 nil 3426248818
   ("" (skeep)
    (("" (expand "line_solution?")
      (("" (flatten)
        (("" (lemma "horizontal_criterion_coordination")
          (("" (inst -1 "eps" "nvi" "nvo" "sp" "vi" "vo")
            (("" (assert)
              (("" (expand "horizontal_criterion?")
                (("" (propax) nil nil)) nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((real_times_real_is_real application-judgement "real" reals nil)
    (line_solution? const-decl "bool" line_solutions nil)
    (D formal-const-decl "posreal" line_solutions 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)
    (horizontal_criterion_coordination formula-decl nil
     horizontal_criteria nil)
    (neg_sp application-judgement "Sp_vect2[D]" line_solutions nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (horizontal_criterion? const-decl "bool" horizontal_criteria nil)
    (Sp_vect2 type-eq-decl nil horizontal nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (Sign type-eq-decl nil sign "reals/")
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (OR const-decl "[bool, bool -> bool]" 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))
   nil)
  (line_solution_coordination-1 nil 3425730842
   ("" (skeep)
    (("" (typepred "s")
      (("" (expand "line_solution")
        (("" (case-replace "-s * -s = s*s")
          (("1" (hide -1)
            (("1" (name "R" "D / sqrt(s * s - sq(D))")
              (("1" (replace -1)
                (("1" (add-formulas -4 -5)
                  (("1"
                    (case-replace
                     "det(-s, nvi - vo) + det(s, nvo - vi) =
                                                 det(s, nvo - nvi) + det(s, vo - vi)")
                    (("1" (hide -1)
                      (("1"
                        (case-replace
                         "(-s * (nvi - vo)) * R * eps + (s * (nvo - vi)) * R * eps =
                                                            (s * (nvo - nvi)) * R * eps + (s * (vo - vi)) * R * eps")
                        (("1" (hide -1)
                          (("1" (name-replace "NV" "nvo - nvi")
                            (("1" (name-replace "V" "vo-vi")
                              (("1"
                                (lemma "v_bounded")
                                (("1"
                                  (inst - "s" "V")
                                  (("1"
                                    (split -1)
                                    (("1"
                                      (assert)
                                      (("1"
                                        (lemma "v_bounded")
                                        (("1"
                                          (inst - "s" "NV")
                                          (("1"
                                            (split -1)
                                            (("1"
                                              (assert)
                                              (("1"
                                                (flatten)
                                                (("1"
                                                  (replace -6)
                                                  (("1"
                                                    (typepred "eps")
                                                    (("1"
                                                      (flatten)
                                                      (("1"
                                                        (ground)
                                                        nil
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2" (propax) nil nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil)
                                     ("2" (propax) nil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil)
                         ("2" (hide-all-but 1) (("2" (grind) nil nil))
                          nil))
                        nil))
                      nil)
                     ("2" (hide-all-but 1) (("2" (grind) nil nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil)
           ("2" (assert)
            (("2" (hide-all-but 1) (("2" (grind) nil nil)) nil)) nil))
          nil))
        nil))
      nil))
    nil)
   ((sq_nz_pos application-judgement "posreal" sq "reals/")
    (Sign type-eq-decl nil sign "reals/")
    (sqrt const-decl "{nnz: nnreal | nnz * nnz = nnx}" sqrt "reals/")
    (sq const-decl "nonneg_real" sq "reals/"))
   nil))
 (line_solution_along_line_TCC1 0
  (line_solution_along_line_TCC1-2 nil 3474110268
   ("" (skeep)
    ((""
      (name "tp" "((-eps) * D * norm(v2) - det(sp, v2)) / det(v1, v2)")
      (("1" (replace -1)
        (("1" (assert)
          (("1" (skosimp*)
            (("1" (replace -3)
              (("1" (hide -3)
                (("1" (case "det(sp + tp*v1,v2) = (-eps)*D*norm(v2)")
                  (("1" (rewrite "det_perpR")
                    (("1" (lemma "cauchy_schwarz")
                      (("1" (inst?)
                        (("1" (replace -2)
                          (("1"
                            (case "sq((-eps) * D * norm(v2)) = sq(D) * sqv(v2)")
                            (("1" (replace -1)
                              (("1"
                                (hide -1)
                                (("1"
                                  (lemma "sqv_perpR")
                                  (("1"
                                    (inst?)
                                    (("1"
                                      (replace -1)
                                      (("1"
                                        (hide -1)
                                        (("1"
                                          (case "sqv(v2) > 0")
                                          (("1"
                                            (mult-by 2 "sqv(v2)")
                                            (("1" (assertnil nil))
                                            nil)
                                           ("2"
                                            (lemma "sqv_eq_0")
                                            (("2"
                                              (inst?)
                                              (("2"
                                                (assert)
                                                (("2"
                                                  (replace -1)
                                                  (("2"
                                                    (expand "det")
                                                    (("2"
                                                      (assert)
                                                      nil
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (rewrite "sq_times")
                              (("2"
                                (rewrite "sq_times")
                                (("2"
                                  (case "sq((-eps)) = 1")
                                  (("1"
                                    (replace -1)
                                    (("1"
                                      (rewrite "sq_norm")
                                      (("1" (assertnil nil))
                                      nil))
                                    nil)
                                   ("2"
                                    (hide-all-but 1)
                                    (("2"
                                      (typepred "eps")
                                      (("2" (grind) nil nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil)
                   ("2" (rewrite "det_add_left")
                    (("2" (rewrite "det_scal_left")
                      (("2" (cross-mult -1)
                        (("2" (replace -1 :dir rl)
                          (("2" (assertnil nil)) nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (assertnil nil))
      nil))
    nil)
   ((Sp_vect2 type-eq-decl nil horizontal nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (det const-decl "real" det_2D "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (norm const-decl "nnreal" vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (D formal-const-decl "posreal" line_solutions 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)
    (Sign type-eq-decl nil sign "reals/")
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (nzint nonempty-type-eq-decl nil integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields 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)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (+ const-decl "Vector" vectors_2D "vectors/")
    (* const-decl "Vector" vectors_2D "vectors/")
    (cauchy_schwarz formula-decl nil vectors_2D "vectors/")
    (sq_times formula-decl nil sq "reals/")
    (sq_norm formula-decl nil vectors_2D "vectors/")
    (NOT const-decl "[bool -> bool]" booleans nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (sign_mult_clos application-judgement "Sign" sign "reals/")
    (posreal_times_posreal_is_posreal application-judgement "posreal"
     real_types nil)
    (sign_sq_clos application-judgement "Sign" sign "reals/")
    (sqv_perpR formula-decl nil perpendicular_2D "vectors/")
    (sq_nz_pos application-judgement "posreal" sq "reals/")
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (v2 skolem-const-decl "Vect2" line_solutions nil)
    (both_sides_times_pos_ge1 formula-decl nil real_props nil)
    (sqv_zero formula-decl nil vectors_2D "vectors/")
    (perpR_eq_zero formula-decl nil perpendicular_2D "vectors/")
    (dot_zero_right formula-decl nil vectors_2D "vectors/")
    (norm_zero formula-decl nil vectors_2D "vectors/")
    (comp_zero_x formula-decl nil vectors_2D "vectors/")
    (comp_zero_y formula-decl nil vectors_2D "vectors/")
    (real_plus_real_is_real application-judgement "real" reals nil)
    (sqv_eq_0 formula-decl nil vectors_2D "vectors/")
    (perpR const-decl "Vect2" perpendicular_2D "vectors/")
    (det_perpR formula-decl nil det_2D "vectors/")
    (det_scal_left formula-decl nil det_2D "vectors/")
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (div_cancel3 formula-decl nil real_props nil)
    (det_add_left formula-decl nil det_2D "vectors/")
    (real_minus_real_is_real application-judgement "real" reals nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (sign_neg_clos application-judgement "Sign" sign "reals/"))
   nil)
  (line_solution_along_line_TCC1-1 nil 3472549906
   ("" (skeep) (("" (postpone) nil nil)) nilnil nil))
 (line_solution_along_line 0
  (line_solution_along_line-2 nil 3472550602
   ("" (skeep)
    ((""
      (name "tp" "((-eps) * D * norm(v2) - det(sp, v2)) / det(v1, v2)")
      (("" (replace -1)
        (("" (assert)
          (("" (flatten)
            (("" (lemma "line_solution_det")
              (("" (inst - "eps" "sp + tp*v1" "v2")
                (("" (assert)
                  (("" (rewrite "det_add_left")
                    (("" (rewrite "det_scal_left")
                      ((""
                        (case "tp*det(v1,v2) = norm(v2) * D * (-eps) - det(sp, v2)")
                        (("1" (replace -1)
                          (("1" (typepred "eps")
                            (("1" (ground) nil nil)) nil))
                          nil)
                         ("2" (cross-mult -1) (("2" (assertnil nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((Sp_vect2 type-eq-decl nil horizontal nil)
    (sq const-decl "nonneg_real" sq "reals/")
    (sqv const-decl "nnreal" vectors_2D "vectors/")
    (det const-decl "real" det_2D "vectors/")
    (Vect2 type-eq-decl nil vectors_2D_def "vectors/")
    (norm const-decl "nnreal" vectors_2D "vectors/")
    (nnreal type-eq-decl nil real_types nil)
    (Vector type-eq-decl nil vectors_2D "vectors/")
    (D formal-const-decl "posreal" line_solutions 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)
    (Sign type-eq-decl nil sign "reals/")
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (nzint nonempty-type-eq-decl nil integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields 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)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil)
    (real_div_nzreal_is_real application-judgement "real" reals nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (nnreal_times_nnreal_is_nnreal application-judgement "nnreal"
     real_types nil)
    (line_solution_det formula-decl nil line_solutions nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (det_scal_left formula-decl nil det_2D "vectors/")
    (div_cancel3 formula-decl nil real_props nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (real_plus_real_is_real application-judgement "real" reals nil)
    (det_add_left formula-decl nil det_2D "vectors/")
    (+ const-decl "Vector" vectors_2D "vectors/")
    (* const-decl "Vector" vectors_2D "vectors/")
    (real_minus_real_is_real application-judgement "real" reals nil)
    (real_times_real_is_real application-judgement "real" reals nil)
    (nzreal_times_nzreal_is_nzreal application-judgement "nzreal"
     real_types nil)
    (sign_neg_clos application-judgement "Sign" sign "reals/"))
   nil)
  (line_solution_along_line-1 nil 3472549914
   (";;; Proof one_triangle_two_line_solutions-1 for formula rules_of_the_triangle.one_triangle_two_line_solutions"
    (skeep)
    ((";;; Proof one_triangle_two_line_solutions-1 for formula rules_of_the_triangle.one_triangle_two_line_solutions"
      (name "tp" "((-eps) * D * norm(v2) - det(sp, v2)) / det(v1, v2)")
      ((";;; Proof one_triangle_two_line_solutions-1 for formula rules_of_the_triangle.one_triangle_two_line_solutions"
        (replace -1)
        ((";;; Proof one_triangle_two_line_solutions-1 for formula rules_of_the_triangle.one_triangle_two_line_solutions"
          (assert)
          ((";;; Proof one_triangle_two_line_solutions-1 for formula rules_of_the_triangle.one_triangle_two_line_solutions"
            (lemma "line_solution_det")
            ((";;; Proof one_triangle_two_line_solutions-1 for formula rules_of_the_triangle.one_triangle_two_line_solutions"
              (inst - "eps" "sp + tp*v1" "v2")
              ((";;; Proof one_triangle_two_line_solutions-1 for formula rules_of_the_triangle.one_triangle_two_line_solutions"
                (assert)
                ((";;; Proof one_triangle_two_line_solutions-1 for formula rules_of_the_triangle.one_triangle_two_line_solutions"
                  (split 1)
                  (("1" (rewrite "det_add_left")
                    (("1" (rewrite "det_scal_left")
                      (("1"
                        (case "tp*det(v1,v2) = norm(v2) * D * (-eps) - det(sp, v2)")
                        (("1" (replace -1)
                          (("1" (typepred "eps")
                            (("1" (ground) nil)))))
                         ("2" (cross-mult -1)
                          (("2" (assertnil)))))))))
                   ("2" (postpone) nil))))))))))))))))
    ";;; developed with shostak decision procedures")
   nil nil)))


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

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

*Bot Zugriff






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.