SSL elementary_matrices.prf
Sprache: Lisp
(elementary_matrices
(zero_or_nonzero 0
(zero_or_nonzero-1 nil 3522729752 ("" (grind) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(< const-decl "bool" reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil naturalnumbers nil )
(Matrix type-eq-decl nil matrices nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(zero_row? const-decl "bool" elementary_matrices nil )
(/= const-decl "boolean" notequal nil )
(nonzero_row? const-decl "bool" elementary_matrices nil ))
shostak))
(zero_isnt_nonzero 0
(zero_isnt_nonzero-1 nil 3522729758 ("" (grind) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(< const-decl "bool" reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil naturalnumbers nil )
(Matrix type-eq-decl nil matrices nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(zero_row? const-decl "bool" elementary_matrices nil )
(/= const-decl "boolean" notequal nil )
(nonzero_row? const-decl "bool" elementary_matrices nil ))
shostak))
(nonzero_isnt_zero 0
(nonzero_isnt_zero-1 nil 3522729771 ("" (grind) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(< const-decl "bool" reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil naturalnumbers nil )
(Matrix type-eq-decl nil matrices nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(/= const-decl "boolean" notequal nil )
(nonzero_row? const-decl "bool" elementary_matrices nil )
(zero_row? const-decl "bool" elementary_matrices nil ))
shostak))
(elemM1?_TCC1 0
(elemM1?_TCC1-1 nil 3492633163 ("" (subtype-tcc) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(posnat nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil naturalnumbers nil )
(real nonempty-type-from-decl nil reals nil )
(Matrix type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Square type-eq-decl nil matrices nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(< const-decl "bool" reals nil )
(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 "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(/= const-decl "boolean" notequal nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
nil ))
(elemM1?_TCC2 0
(elemM1?_TCC2-1 nil 3492633163 ("" (subtype-tcc) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(posnat nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil naturalnumbers nil )
(real nonempty-type-from-decl nil reals nil )
(Matrix type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Square type-eq-decl nil matrices nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(< const-decl "bool" reals nil )
(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 "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(/= const-decl "boolean" notequal nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
nil ))
(elemM2?_TCC1 0
(elemM2?_TCC1-1 nil 3492633163 ("" (subtype-tcc) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(posnat nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil naturalnumbers nil )
(real nonempty-type-from-decl nil reals nil )
(Matrix type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Square type-eq-decl nil matrices nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(< const-decl "bool" reals nil )
(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 "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(/= const-decl "boolean" notequal nil ))
nil ))
(elemM2?_TCC2 0
(elemM2?_TCC2-1 nil 3492633163 ("" (subtype-tcc) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(posnat nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil naturalnumbers nil )
(real nonempty-type-from-decl nil reals nil )
(Matrix type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Square type-eq-decl nil matrices nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(< const-decl "bool" reals nil )
(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 "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(/= const-decl "boolean" notequal nil ))
nil ))
(elemM3?_TCC1 0
(elemM3?_TCC1-1 nil 3492633163 ("" (subtype-tcc) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(posnat nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil naturalnumbers nil )
(real nonempty-type-from-decl nil reals nil )
(Matrix type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Square type-eq-decl nil matrices nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(< const-decl "bool" reals nil )
(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 "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(/= const-decl "boolean" notequal nil ))
nil ))
(elemM3?_TCC2 0
(elemM3?_TCC2-1 nil 3492633163 ("" (subtype-tcc) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(posnat nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil naturalnumbers nil )
(real nonempty-type-from-decl nil reals nil )
(Matrix type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Square type-eq-decl nil matrices nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(< const-decl "bool" reals nil )
(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 "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(/= const-decl "boolean" notequal nil ))
nil ))
(elemM3?_TCC3 0
(elemM3?_TCC3-1 nil 3492633163 ("" (subtype-tcc) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(posnat nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil naturalnumbers nil )
(real nonempty-type-from-decl nil reals nil )
(Matrix type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Square type-eq-decl nil matrices nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(< const-decl "bool" reals nil )
(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 "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(/= const-decl "boolean" notequal nil ))
nil ))
(elm1_judgement 0
(elm1_judgement-1 nil 3500317945 ("" (grind) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(> const-decl "bool" reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil naturalnumbers nil )
(Matrix type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Square type-eq-decl nil matrices nil )
(squareMat? const-decl "bool" matrices nil )
(SquareMat type-eq-decl nil matrices nil )
(elemMat1? const-decl "bool" elementary_matrices nil )
(ElemMat1 type-eq-decl nil elementary_matrices nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(elemM1? const-decl "bool" elementary_matrices nil )
(elemM1? const-decl "bool" elementary_matrices nil ))
nil ))
(elm2_judgement 0
(elm2_judgement-1 nil 3500318534 ("" (judgement-tcc) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(> const-decl "bool" reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil naturalnumbers nil )
(Matrix type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Square type-eq-decl nil matrices nil )
(squareMat? const-decl "bool" matrices nil )
(SquareMat type-eq-decl nil matrices nil )
(elemMat2? const-decl "bool" elementary_matrices nil )
(ElemMat2 type-eq-decl nil elementary_matrices nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(/= const-decl "boolean" notequal nil )
(elemM2? const-decl "bool" elementary_matrices nil )
(elemM2? const-decl "bool" elementary_matrices nil ))
nil ))
(elm3_judgement 0
(elm3_judgement-1 nil 3500318534 ("" (judgement-tcc) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(> const-decl "bool" reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil naturalnumbers nil )
(Matrix type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Square type-eq-decl nil matrices nil )
(squareMat? const-decl "bool" matrices nil )
(SquareMat type-eq-decl nil matrices nil )
(elemMat3? const-decl "bool" elementary_matrices nil )
(ElemMat3 type-eq-decl nil elementary_matrices nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(/= const-decl "boolean" notequal nil )
(elemM3? const-decl "bool" elementary_matrices nil )
(elemM3? const-decl "bool" elementary_matrices nil ))
nil ))
(elm_judgement 0
(elm_judgement-1 nil 3500318534 ("" (judgement-tcc) nil nil )
((boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(> const-decl "bool" reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil naturalnumbers nil )
(Matrix type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Square type-eq-decl nil matrices nil )
(squareMat? const-decl "bool" matrices nil )
(SquareMat type-eq-decl nil matrices nil )
(elemMat? const-decl "bool" elementary_matrices nil )
(ElemMat type-eq-decl nil elementary_matrices nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(elemMat1? const-decl "bool" elementary_matrices nil )
(elemMat2? const-decl "bool" elementary_matrices nil )
(elemMat3? const-decl "bool" elementary_matrices nil )
(elemM1? const-decl "bool" elementary_matrices nil )
(elemM1? const-decl "bool" elementary_matrices nil )
(/= const-decl "boolean" notequal nil )
(elemM2? const-decl "bool" elementary_matrices nil )
(elemM2? const-decl "bool" elementary_matrices nil )
(elemM3? const-decl "bool" elementary_matrices nil )
(elemM3? const-decl "bool" elementary_matrices nil )
(elemM? const-decl "bool" elementary_matrices nil ))
nil ))
(elemM1_TCC1 0
(elemM1_TCC1-1 nil 3492635698
("" (skolem-typepred)
(("" (prop)
(("1" (grind) nil nil ) ("2" (grind) nil nil )
("3" (grind)
(("3" (inst 1 "i!1" "j!1" )
(("3" (skolem-typepred)
(("3" (prop)
(("1" (lift-if) (("1" (assert ) nil nil )) nil )
("2" (lift-if) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((square? const-decl "bool" matrices nil )
(squareMat? const-decl "bool" matrices nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(elemM1? const-decl "bool" elementary_matrices nil )
(elemMat1? const-decl "bool" elementary_matrices nil )
(/= const-decl "boolean" notequal nil )
(below type-eq-decl nil naturalnumbers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(< const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(> const-decl "bool" reals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number nonempty-type-decl nil numbers nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil ))
nil ))
(elemM2_TCC1 0
(elemM2_TCC1-1 nil 3492635698
("" (skolem-typepred)
(("" (prop)
(("1" (grind) nil nil ) ("2" (grind) nil nil )
("3" (expand "elemMat2?" )
(("3" (inst 1 "i!1" "j!1" ) (("3" (grind) nil nil )) nil )) nil ))
nil ))
nil )
((square? const-decl "bool" matrices nil )
(squareMat? const-decl "bool" matrices nil )
(elemM2? const-decl "bool" elementary_matrices nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(elemMat2? const-decl "bool" elementary_matrices nil )
(/= const-decl "boolean" notequal nil )
(below type-eq-decl nil naturalnumbers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(< const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(> const-decl "bool" reals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number nonempty-type-decl nil numbers nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil ))
nil ))
(elemM3_TCC1 0
(elemM3_TCC1-1 nil 3492635698
("" (skolem-typepred)
(("" (prop)
(("1" (grind) nil nil ) ("2" (grind) nil nil )
("3" (expand "elemMat3?" )
(("3" (inst 1 "i!1" ) (("3" (grind) nil nil )) nil )) nil ))
nil ))
nil )
((square? const-decl "bool" matrices nil )
(squareMat? const-decl "bool" matrices nil )
(elemM3? const-decl "bool" elementary_matrices nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(elemMat3? const-decl "bool" elementary_matrices nil )
(nzreal nonempty-type-eq-decl nil reals nil )
(/= const-decl "boolean" notequal nil )
(below type-eq-decl nil naturalnumbers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(< const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(> const-decl "bool" reals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number nonempty-type-decl nil numbers nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil ))
nil ))
(elemM1_invertible 0
(elemM1_invertible-2 "" 3520306768
("" (skolem-typepred)
(("" (expand "invertible?" )
(("" (expand "elemM1?" )
(("" (skolem-typepred)
((""
(inst 1
"elemM1(M!1`rows)(i!1, j!1)(-(M!1`matrix(i!1, j!1)))" )
(("1" (prop)
(("1" (grind) nil nil )
("2" (expand "inverse?" )
(("2" (prop)
(("1" (expand "elemM1?" )
(("1" (expand "elemM1" )
(("1" (expand "*" )
(("1" (apply-extensionality :hide? t)
(("1" (grind) nil nil )
("2" (apply-extensionality :hide? t)
(("1" (expand "I" )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("1"
(inst?
:subst
("low"
"0"
"high"
"M!1`cols-1"
"i"
"x!1" ))
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst-cp
-1
"LAMBDA (k_1: below(M!1`cols)):
(M!1`matrix(x!1, k_1) *
IF (k_1 = x!2) THEN 1
ELSIF ((k_1 = i!1) AND (x!2 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF)"
"LAMBDA (k_1: below(M!1`cols)): 0"
"x!1-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`cols)):
(M!1`matrix(x!1, k_1) *
IF (k_1 = x!2) THEN 1
ELSIF ((k_1 = i!1) AND (x!2 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF)"
"LAMBDA (k_1: below(M!1`cols)): 0"
"M!1`cols-1"
"x!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst
-5
"x!1"
"x!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skosimp)
(("2"
(assert )
(("2"
(inst
-5
"x!1"
"n!1" )
(("1"
(assert )
(("1"
(prop)
(("1"
(assert )
nil
nil )
("2"
(assert )
(("2"
(lift-if)
(("2"
(assert )
nil
nil ))
nil ))
nil )
("3"
(lift-if)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(lift-if)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(hide -1)
(("2"
(skolem-typepred)
(("2"
(inst
-7
"x!1"
"n!1" )
(("2"
(assert )
(("2"
(assert )
(("2"
(prop)
(("1"
(lift-if)
(("1"
(assert )
nil
nil ))
nil )
("2"
(lift-if)
(("2"
(assert )
nil
nil ))
nil )
("3"
(lift-if)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2" (grind) nil nil ))
nil )
("3"
(hide -5 2)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2" (grind) nil nil ))
nil )
("3"
(hide -5 2)
(("3" (grind) nil nil ))
nil )
("4"
(hide -6 2)
(("4" (grind) nil nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2" (grind) nil nil ))
nil ))
nil )
("2"
(case-replace "x!1 = i!1" )
(("1"
(inst -5 "i!1" _)
(("1"
(case "x!2 = j!1" )
(("1"
(replace -1)
(("1"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("1"
(inst?
:subst
("low"
"0"
"high"
"M!1`cols-1"
"i"
"min(i!1,j!1)" ))
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("1"
(inst?
:subst
("low"
"min(i!1,j!1)+1"
"high"
"M!1`cols-1"
"i"
"max(i!1, j!1)" ))
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst-cp
-1
"LAMBDA (k_1: below(M!1`cols)):
(M!1`matrix(i!1, k_1) *
IF (k_1 = j!1) THEN 1
ELSIF (k_1 = i!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF)"
"LAMBDA (k_1: below(M!1`cols)): 0"
"min(i!1,j!1)-1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst-cp
-1
"LAMBDA (k_1: below(M!1`cols)):
(M!1`matrix(i!1, k_1) *
IF (k_1 = j!1) THEN 1
ELSIF (k_1 = i!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF)"
"LAMBDA (k_1: below(M!1`cols)): 0"
"max(i!1,j!1)-1"
"min(i!1,j!1)+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`cols)):
(M!1`matrix(i!1, k_1) *
IF (k_1 = j!1) THEN 1
ELSIF (k_1 = i!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF)"
"LAMBDA (k_1: below(M!1`cols)): 0"
"M!1`cols-1"
"max(i!1,j!1)+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(expand
"min" )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(expand
"max" )
(("1"
(assert )
(("1"
(inst
-7
"i!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(expand
"max" )
(("2"
(assert )
(("2"
(assert )
(("2"
(inst
-6
"i!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
3)
(("2"
(skolem-typepred)
(("2"
(expand
"max" )
(("2"
(lift-if)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-6
3)
(("2"
(flatten)
(("2"
(inst
2
"max(i!1,j!1)" )
(("1"
(grind)
nil
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("3"
(hide
-6
3)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
3)
(("2"
(hide
-1)
(("2"
(skolem-typepred)
(("2"
(expand
"min" )
(("2"
(lift-if)
(("2"
(bddsimp
-1)
(("1"
(assert )
(("1"
(expand
"max" )
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(expand
"max" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-6
3)
(("2"
(flatten)
(("2"
(inst
2
"min(i!1,j!1)" )
(("1"
(grind)
nil
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("3"
(hide
-6
3)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
3)
(("2"
(hide
-1)
(("2"
(skolem-typepred)
(("2"
(expand
"min" )
(("2"
(lift-if)
(("2"
(bddsimp
-2)
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-6
3)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide -6 3)
(("3"
(grind)
nil
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide -6 3)
(("3"
(grind)
nil
nil ))
nil )
("4"
(hide -1 -7 3)
(("4"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide -6 3)
(("3"
(grind)
nil
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2" (grind) nil nil ))
nil )
("3"
(hide -6 3)
(("3" (grind) nil nil ))
nil )
("4"
(hide -1 -7 3)
(("4" (grind) nil nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("2"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`cols)):
(M!1`matrix(i!1, k_1) *
IF (k_1 = x!2) THEN 1
ELSIF ((k_1 = i!1) AND (x!2 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF)"
"LAMBDA (k_1: below(M!1`cols)): 0"
"M!1`cols-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
nil
nil ))
nil )
("2"
(hide 4)
(("2"
(skolem-typepred)
(("2"
(inst -7 "n!1" )
(("1"
(assert )
(("1"
(assert )
(("1"
(prop)
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil )
("3"
(assert )
(("3"
(lift-if)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2" (grind) nil nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`cols)):
(M!1`matrix(x!1, k_1) *
IF (k_1 = x!2) THEN 1
ELSIF ((k_1 = i!1) AND (x!2 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF)"
"LAMBDA (k_1: below(M!1`cols)): 0"
"M!1`cols-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
nil
nil ))
nil )
("2"
(hide 4)
(("2"
(skolem-typepred)
(("2"
(inst -6 "x!1" "n!1" )
(("1"
(assert )
(("1"
(prop)
(("1"
(assert )
nil
nil )
("2"
(lift-if)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(lift-if)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 4)
(("2" (grind) nil nil ))
nil ))
nil )
("2"
(hide -4 4)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -4) (("2" (grind) nil nil ))
nil )
("3" (skolem-typepred)
(("3"
(flatten)
(("3"
(assert )
(("3"
(hide -9)
(("3" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("4" (skolem-typepred)
(("4"
(flatten)
(("4" (assert ) nil nil ))
nil ))
nil )
("5" (hide -4) (("5" (grind) nil nil ))
nil ))
nil )
("3" (hide -4) (("3" (grind) nil nil )) nil )
("4" (hide -4) (("4" (grind) nil nil )) nil )
("5" (hide -4) (("5" (grind) nil nil )) nil )
("6" (hide -4) (("6" (grind) nil nil )) nil )
("7" (hide -4)
(("7" (skolem-typepred)
(("7"
(flatten)
(("7" (assert ) nil nil ))
nil ))
nil ))
nil )
("8" (hide -4) (("8" (grind) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "elemM1" )
(("2" (apply-extensionality :hide? t)
(("1" (grind) nil nil ) ("2" (grind) nil nil )
("3" (apply-extensionality :hide? t)
(("1" (expand "I" )
(("1" (assert )
(("1" (expand "*" )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(expand "elemM1?" )
(("1"
(lemma
"sigma_middle[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1) THEN 1
ELSIF ((x!1 = i!1) AND (k_1 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"M!1`rows-1"
"x!1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1) THEN 1
ELSIF ((x!1 = i!1) AND (k_1 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"x!1-1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(lemma
"sigma_eq[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1) THEN 1
ELSIF ((x!1 = i!1) AND (k_1 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"M!1`rows-1"
"x!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(inst
-5
"x!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
2)
(("2"
(skolem-typepred)
(("2"
(lift-if)
(("2"
(prop)
(("1"
(inst
-8
"n!1"
"x!2" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(inst
-9
"n!1"
"x!2" )
(("2"
(assert )
nil
nil ))
nil )
("3"
(assert )
nil
nil )
("4"
(inst
-7
"n!1"
"x!2" )
(("4"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-5
2)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide
-5
2)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skolem-typepred)
(("2"
(lift-if)
(("2"
(prop)
(("1"
(inst
-8
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil )
("2"
(inst
-9
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil )
("3"
(assert )
nil
nil )
("4"
(inst
-7
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide -5 2)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide -5 2)
(("3"
(grind)
(("3"
(typepred "x!2" )
(("3" (grind) nil nil ))
nil ))
nil ))
nil )
("4"
(hide -5 2)
(("4" (grind) nil nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("2"
(expand "elemM1?" )
(("2"
(case "x!1 = i!1" )
(("1"
(case "x!2 = j!1" )
(("1"
(replace -1)
(("1"
(replace -2)
(("1"
(lemma
"sigma_middle[below(M!1`rows)]" )
(("1"
(inst-cp
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (i!1 = k_1) THEN 1
ELSIF (k_1 = j!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, j!1))"
"M!1`rows-1"
"min(i!1,j!1)"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (i!1 = k_1) THEN 1
ELSIF (k_1 = j!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, j!1))"
"M!1`rows-1"
"max(i!1,j!1)"
"min(i!1,j!1)+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(lemma
"sigma_eq[below(M!1`rows)]" )
(("1"
(inst-cp
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (i!1 = k_1) THEN 1
ELSIF (k_1 = j!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, j!1))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"min(i!1, j!1) - 1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst-cp
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (i!1 = k_1) THEN 1
ELSIF (k_1 = j!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, j!1))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"max(i!1, j!1)-1"
"min(i!1, j!1)+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (i!1 = k_1) THEN 1
ELSIF (k_1 = j!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, j!1))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"M!1`rows-1"
"max(i!1, j!1)+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(expand
"min" )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(expand
"max" )
(("1"
(assert )
(("1"
(inst
-7
"j!1"
"j!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(expand
"max" )
(("2"
(assert )
(("2"
(inst
-6
"j!1"
"j!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
3)
(("2"
(skolem-typepred)
(("2"
(expand
"max" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(hide
-6
3)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-1
3)
(("2"
(skolem-typepred)
(("2"
(expand
"min" )
(("2"
(expand
"max" )
(("2"
(assert )
(("2"
(lift-if)
(("2"
(split
-1)
(("1"
(flatten)
(("1"
(assert )
nil
nil ))
nil )
("2"
(flatten)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
3)
(("2"
(hide
-1)
(("2"
(skolem-typepred)
(("2"
(expand
"min" )
(("2"
(lift-if)
(("2"
(bddsimp
-2)
(("1"
(inst
-9
"n!1"
"j!1" )
(("1"
(assert )
nil
nil )
("2"
(hide
2)
(("2"
(grind)
nil
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide -6 3)
(("3"
(grind)
nil
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(hide -1)
(("2"
(grind)
nil
nil ))
nil ))
nil )
("3"
(hide -1 -6 3)
(("3"
(grind)
nil
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide -6 3)
(("3"
(grind)
nil
nil ))
nil )
("4"
(hide -6 3)
(("4"
(grind)
nil
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"sigma_eq[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1) THEN 1
ELSIF ((x!1 = i!1) AND (k_1 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"M!1`rows-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
nil
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(assert )
(("2"
(hide 4)
(("2"
(lift-if)
(("2"
(prop)
(("1"
(inst
-8
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(assert )
(("2"
(grind)
(("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(inst
-8
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("3"
(inst
-7
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("3"
(hide -5 4)
(("3"
(typepred "x!2" )
(("3" (grind) nil nil ))
nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("2"
(lemma
"sigma_eq[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1) THEN 1
ELSIF ((x!1 = i!1) AND (k_1 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"M!1`rows-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
nil
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(lift-if)
(("2"
(hide 4)
(("2"
(prop)
(("1"
(inst
-7
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil )
("2"
(inst
-6
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil )
("3"
(inst
-6
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 4)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide -4 4)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -4 4)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (grind) nil nil ))
nil )
("4" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((invertible? const-decl "bool" matrices nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(< const-decl "bool" reals nil )
(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 "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(/= const-decl "boolean" notequal nil )
(T_low type-eq-decl nil sigma "reals/" )
(T_high type-eq-decl nil sigma "reals/" )
(sigma def-decl "real" sigma "reals/" )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(I const-decl "(identity?)" matrices nil )
(identity ? const-decl "bool" matrices nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(integer nonempty-type-from-decl nil integers nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(<= const-decl "bool" reals nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_times_real_is_real application-judgement "real" reals nil )
(x!2 skolem-const-decl "below(M!1`rows)" elementary_matrices nil )
(x!1 skolem-const-decl "below(M!1`rows)" elementary_matrices nil )
(real_plus_real_is_real application-judgement "real" reals nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(subrange type-eq-decl nil integers nil )
(n!1 skolem-const-decl "subrange(1 + x!1, M!1`cols - 1)"
elementary_matrices nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(sigma_zero formula-decl nil sigma "reals/" )
(sigma_eq formula-decl nil sigma "reals/" )
(sigma_middle formula-decl nil sigma "reals/" )
(n!1 skolem-const-decl "subrange(0, M!1`cols - 1)"
elementary_matrices nil )
(n!1 skolem-const-decl "subrange(0, M!1`cols - 1)"
elementary_matrices nil )
(nat_min application-judgement "{k: nat | k <= i AND k <= j}"
real_defs nil )
(min const-decl "{p: real | p <= m AND p <= n}" real_defs nil )
(nonneg_rat_max application-judgement
"{s: nonneg_rat | s >= q AND s >= r}" real_defs nil )
(nat_max application-judgement "{k: nat | i <= k AND j <= k}"
real_defs nil )
(max const-decl "{p: real | p >= m AND p >= n}" real_defs nil )
(even_minus_odd_is_odd application-judgement "odd_int" integers
nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_minus_real_is_real application-judgement "real" reals nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(* const-decl "Matrix" matrices nil )
(elemM1? const-decl "bool" elementary_matrices nil )
(sigma_nnreal application-judgement "nnreal" vectors "vectors/" )
(sigma_nat application-judgement "nat" vectors "vectors/" )
(x!2 skolem-const-decl "below(((# rows := M!1`rows,
cols := M!1`rows,
matrix
:= LAMBDA (k, l: below(M!1`rows)):
IF k = l THEN 1
ELSIF k = i!1 AND l = j!1 THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF #)
* M!1)`cols)" elementary_matrices nil)
(x!1 skolem-const-decl "below(((# rows := M!1`rows,
cols := M!1`rows,
matrix
:= LAMBDA (k, l: below(M!1`rows)):
IF k = l THEN 1
ELSIF k = i!1 AND l = j!1 THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF #)
* M!1)`rows)" elementary_matrices nil)
(n!1 skolem-const-decl "subrange(0, min(i!1, j!1) - 1)"
elementary_matrices nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(j!1 skolem-const-decl "{j: below(M!1`rows) | i!1 /= j}"
elementary_matrices nil )
(i!1 skolem-const-decl "below(M!1`rows)" elementary_matrices nil )
(M!1 skolem-const-decl "ElemM1" elementary_matrices nil )
(- const-decl "[numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(elemM1 const-decl "ElemMat1(n)" elementary_matrices nil )
(ElemMat1 type-eq-decl nil elementary_matrices nil )
(elemMat1? const-decl "bool" elementary_matrices nil )
(SquareMat type-eq-decl nil matrices nil )
(squareMat? const-decl "bool" matrices nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(inverse? const-decl "bool" matrices nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(minus_real_is_real application-judgement "real" reals nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(ElemM1 type-eq-decl nil elementary_matrices nil )
(elemM1? const-decl "bool" elementary_matrices nil )
(Square type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Matrix type-eq-decl nil matrices nil )
(real nonempty-type-from-decl nil reals nil )
(below type-eq-decl nil naturalnumbers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil ))
shostak)
(elemM1_invertible-1 nil 3492633168
("" (skolem-typepred)
(("" (expand "invertible?" )
(("" (expand "elemM1?" )
(("" (skolem-typepred)
((""
(inst 1
"elemM1(M!1`rows)(i!1, j!1)(-(M!1`matrix(i!1, j!1)))" )
(("1" (prop)
(("1" (grind) nil nil )
("2" (expand "inverse?" )
(("2" (prop)
(("1" (expand "elemM1?" )
(("1" (expand "elemM1" )
(("1" (expand "*" )
(("1" (apply-extensionality :hide? t)
(("1" (grind) nil nil )
("2" (apply-extensionality :hide? t)
(("1" (expand "I" )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("1"
(inst?
:subst
("low"
"0"
"high"
"M!1`cols-1"
"i"
"x!1" ))
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst-cp
-1
"LAMBDA (k_1: below(M!1`cols)):
(M!1`matrix(x!1, k_1) *
IF (k_1 = x!2) THEN 1
ELSIF ((k_1 = i!1) AND (x!2 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF)"
"LAMBDA (k_1: below(M!1`cols)): 0"
"x!1-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`cols)):
(M!1`matrix(x!1, k_1) *
IF (k_1 = x!2) THEN 1
ELSIF ((k_1 = i!1) AND (x!2 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF)"
"LAMBDA (k_1: below(M!1`cols)): 0"
"M!1`cols-1"
"x!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst
-5
"x!1"
"x!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skosimp)
(("2"
(assert )
(("2"
(inst
-5
"x!1"
"n!1" )
(("1"
(assert )
(("1"
(prop)
(("1"
(assert )
nil
nil )
("2"
(assert )
(("2"
(lift-if)
(("2"
(assert )
nil
nil ))
nil ))
nil )
("3"
(lift-if)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(lift-if)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(hide -1)
(("2"
(skolem-typepred)
(("2"
(inst
-7
"x!1"
"n!1" )
(("2"
(assert )
(("2"
(assert )
(("2"
(prop)
(("1"
(lift-if)
(("1"
(assert )
nil
nil ))
nil )
("2"
(lift-if)
(("2"
(assert )
nil
nil ))
nil )
("3"
(lift-if)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2" (grind) nil nil ))
nil )
("3"
(hide -5 2)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2" (grind) nil nil ))
nil )
("3"
(hide -5 2)
(("3" (grind) nil nil ))
nil )
("4"
(hide -6 2)
(("4" (grind) nil nil ))
nil ))
nil ))
nil )
("2"
(case-replace "x!1 = i!1" )
(("1"
(inst -5 "i!1" _)
(("1"
(case "x!2 = j!1" )
(("1"
(replace -1)
(("1"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("1"
(inst?
:subst
("low"
"0"
"high"
"M!1`cols-1"
"i"
"min(i!1,j!1)" ))
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("1"
(inst?
:subst
("low"
"min(i!1,j!1)+1"
"high"
"M!1`cols-1"
"i"
"max(i!1, j!1)" ))
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst-cp
-1
"LAMBDA (k_1: below(M!1`cols)):
(M!1`matrix(i!1, k_1) *
IF (k_1 = j!1) THEN 1
ELSIF (k_1 = i!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF)"
"LAMBDA (k_1: below(M!1`cols)): 0"
"min(i!1,j!1)-1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst-cp
-1
"LAMBDA (k_1: below(M!1`cols)):
(M!1`matrix(i!1, k_1) *
IF (k_1 = j!1) THEN 1
ELSIF (k_1 = i!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF)"
"LAMBDA (k_1: below(M!1`cols)): 0"
"max(i!1,j!1)-1"
"min(i!1,j!1)+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`cols)):
(M!1`matrix(i!1, k_1) *
IF (k_1 = j!1) THEN 1
ELSIF (k_1 = i!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF)"
"LAMBDA (k_1: below(M!1`cols)): 0"
"M!1`cols-1"
"max(i!1,j!1)+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(expand
"min" )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(expand
"max" )
(("1"
(assert )
(("1"
(inst
-7
"i!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(expand
"max" )
(("2"
(assert )
(("2"
(assert )
(("2"
(inst
-6
"i!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
3)
(("2"
(skolem-typepred)
(("2"
(expand
"max" )
(("2"
(lift-if)
(("2"
(assert )
(("2"
(bddsimp
-1)
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-6
3)
(("2"
(flatten)
(("2"
(inst
2
"max(i!1,j!1)" )
(("1"
(grind)
nil
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("3"
(hide
-6
3)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
3)
(("2"
(hide
-1)
(("2"
(skolem-typepred)
(("2"
(expand
"min" )
(("2"
(lift-if)
(("2"
(bddsimp
-1)
(("1"
(assert )
(("1"
(expand
"max" )
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(expand
"max" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-6
3)
(("2"
(flatten)
(("2"
(inst
2
"min(i!1,j!1)" )
(("1"
(grind)
nil
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("3"
(hide
-6
3)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
3)
(("2"
(hide
-1)
(("2"
(skolem-typepred)
(("2"
(expand
"min" )
(("2"
(lift-if)
(("2"
(bddsimp
-2)
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-6
3)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide -6 3)
(("3"
(grind)
nil
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide -6 3)
(("3"
(grind)
nil
nil ))
nil )
("4"
(hide -1 -7 3)
(("4"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide -6 3)
(("3"
(grind)
nil
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2" (grind) nil nil ))
nil )
("3"
(hide -6 3)
(("3" (grind) nil nil ))
nil )
("4"
(hide -1 -7 3)
(("4" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("2"
(inst
-1
"LAMBDA (k_1: below(M!1`cols)):
(M!1`matrix(i!1, k_1) *
IF (k_1 = x!2) THEN 1
ELSIF ((k_1 = i!1) AND (x!2 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF)"
"LAMBDA (k_1: below(M!1`cols)): 0"
"M!1`cols-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
nil
nil ))
nil )
("2"
(hide 4)
(("2"
(skolem-typepred)
(("2"
(inst -7 "n!1" )
(("1"
(assert )
(("1"
(assert )
(("1"
(prop)
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil )
("3"
(assert )
(("3"
(lift-if)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("2"
(inst
-1
"LAMBDA (k_1: below(M!1`cols)):
(M!1`matrix(x!1, k_1) *
IF (k_1 = x!2) THEN 1
ELSIF ((k_1 = i!1) AND (x!2 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF)"
"LAMBDA (k_1: below(M!1`cols)): 0"
"M!1`cols-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
nil
nil ))
nil )
("2"
(hide 4)
(("2"
(skolem-typepred)
(("2"
(inst -6 "x!1" "n!1" )
(("1"
(assert )
(("1"
(prop)
(("1"
(assert )
nil
nil )
("2"
(lift-if)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(lift-if)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 4)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -4) (("2" (grind) nil nil ))
nil )
("3" (skolem-typepred)
(("3"
(flatten)
(("3" (assert ) nil nil ))
nil ))
nil )
("4" (skolem-typepred)
(("4"
(flatten)
(("4" (assert ) nil nil ))
nil ))
nil ))
nil )
("3" (hide -4) (("3" (grind) nil nil )) nil )
("4" (hide -4) (("4" (grind) nil nil )) nil )
("5" (hide -4) (("5" (grind) nil nil )) nil )
("6" (hide -4) (("6" (grind) nil nil )) nil )
("7" (hide -4)
(("7" (skolem-typepred)
(("7"
(flatten)
(("7" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "elemM1" )
(("2" (apply-extensionality :hide? t)
(("1" (grind) nil nil ) ("2" (grind) nil nil )
("3" (apply-extensionality :hide? t)
(("1" (expand "I" )
(("1" (assert )
(("1" (expand "*" )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(expand "elemM1?" )
(("1"
(lemma
"sigma_middle[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1) THEN 1
ELSIF ((x!1 = i!1) AND (k_1 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"M!1`rows-1"
"x!1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1) THEN 1
ELSIF ((x!1 = i!1) AND (k_1 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"x!1-1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(lemma
"sigma_eq[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1) THEN 1
ELSIF ((x!1 = i!1) AND (k_1 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"M!1`rows-1"
"x!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(inst
-5
"x!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
2)
(("2"
(skolem-typepred)
(("2"
(lift-if)
(("2"
(prop)
(("1"
(inst
-8
"n!1"
"x!2" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(inst
-9
"n!1"
"x!2" )
(("2"
(assert )
nil
nil ))
nil )
("3"
(assert )
nil
nil )
("4"
(inst
-7
"n!1"
"x!2" )
(("4"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-5
2)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide
-5
2)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skolem-typepred)
(("2"
(lift-if)
(("2"
(prop)
(("1"
(inst
-8
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil )
("2"
(inst
-9
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil )
("3"
(assert )
nil
nil )
("4"
(inst
-7
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide -5 2)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide -5 2)
(("3"
(grind)
(("3"
(typepred "x!2" )
(("3" (grind) nil nil ))
nil ))
nil ))
nil )
("4"
(hide -5 2)
(("4" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "elemM1?" )
(("2"
(case "x!1 = i!1" )
(("1"
(case "x!2 = j!1" )
(("1"
(replace -1)
(("1"
(replace -2)
(("1"
(lemma
"sigma_middle[below(M!1`rows)]" )
(("1"
(inst-cp
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (i!1 = k_1) THEN 1
ELSIF (k_1 = j!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, j!1))"
"M!1`rows-1"
"min(i!1,j!1)"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (i!1 = k_1) THEN 1
ELSIF (k_1 = j!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, j!1))"
"M!1`rows-1"
"max(i!1,j!1)"
"min(i!1,j!1)+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(lemma
"sigma_eq[below(M!1`rows)]" )
(("1"
(inst-cp
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (i!1 = k_1) THEN 1
ELSIF (k_1 = j!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, j!1))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"min(i!1, j!1) - 1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst-cp
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (i!1 = k_1) THEN 1
ELSIF (k_1 = j!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, j!1))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"max(i!1, j!1)-1"
"min(i!1, j!1)+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (i!1 = k_1) THEN 1
ELSIF (k_1 = j!1) THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, j!1))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"M!1`rows-1"
"max(i!1, j!1)+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(expand
"min" )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(expand
"max" )
(("1"
(assert )
(("1"
(inst
-7
"j!1"
"j!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(expand
"max" )
(("2"
(assert )
(("2"
(inst
-6
"j!1"
"j!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
3)
(("2"
(skolem-typepred)
(("2"
(expand
"max" )
(("2"
(assert )
(("2"
(lift-if)
(("2"
(bddsimp
-1)
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(hide
-6
3)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-1
3)
(("2"
(skolem-typepred)
(("2"
(expand
"min" )
(("2"
(expand
"max" )
(("2"
(assert )
(("2"
(lift-if)
(("2"
(split
-1)
(("1"
(flatten)
(("1"
(assert )
nil
nil ))
nil )
("2"
(flatten)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-6
3)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
3)
(("2"
(hide
-1)
(("2"
(skolem-typepred)
(("2"
(expand
"min" )
(("2"
(lift-if)
(("2"
(bddsimp
-2)
(("1"
(inst
-9
"n!1"
"j!1" )
(("1"
(assert )
nil
nil )
("2"
(hide
2)
(("2"
(grind)
nil
nil ))
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide -6 3)
(("3"
(grind)
nil
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(hide -1)
(("2"
(grind)
nil
nil ))
nil ))
nil )
("3"
(hide -1 -6 3)
(("3"
(grind)
nil
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide -6 3)
(("3"
(grind)
nil
nil ))
nil )
("4"
(hide -6 3)
(("4"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"sigma_eq[below(M!1`rows)]" )
(("2"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1) THEN 1
ELSIF ((x!1 = i!1) AND (k_1 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"M!1`rows-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
nil
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(assert )
(("2"
(hide 4)
(("2"
(lift-if)
(("2"
(prop)
(("1"
(inst
-8
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(assert )
(("2"
(grind)
(("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(inst
-8
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("3"
(inst
-7
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("3"
(hide -5 4)
(("3"
(typepred "x!2" )
(("3" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"sigma_eq[below(M!1`rows)]" )
(("2"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1) THEN 1
ELSIF ((x!1 = i!1) AND (k_1 = j!1))
THEN -(M!1`matrix(i!1, j!1))
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"M!1`rows-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
nil
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(lift-if)
(("2"
(hide 4)
(("2"
(prop)
(("1"
(inst
-7
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil )
("2"
(inst
-6
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil )
("3"
(inst
-6
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 4)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide -4 4)
(("3" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (grind) nil nil ))
nil )
("4" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((Matrix type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Square type-eq-decl nil matrices nil )
(inverse? const-decl "bool" matrices nil )
(squareMat? const-decl "bool" matrices nil )
(SquareMat type-eq-decl nil matrices nil )
(sigma_nat application-judgement "nat" vectors "vectors/" )
(sigma_middle formula-decl nil sigma "reals/" )
(sigma_eq formula-decl nil sigma "reals/" )
(sigma_zero formula-decl nil sigma "reals/" )
(identity ? const-decl "bool" matrices nil )
(I const-decl "(identity?)" matrices nil )
(sigma def-decl "real" sigma "reals/" )
(T_high type-eq-decl nil sigma "reals/" )
(T_low type-eq-decl nil sigma "reals/" )
(invertible? const-decl "bool" matrices nil ))
shostak))
(elemM2_invertible 0
(elemM2_invertible-2 "" 3520306846
("" (skolem-typepred)
(("" (expand "invertible?" )
(("" (expand "elemM2?" )
(("" (skolem-typepred)
(("" (inst 1 "M!1" )
(("" (expand "inverse?" )
(("" (assert )
(("" (case "(M!1 * M!1) = I(M!1`rows)" )
(("1" (assert ) nil nil )
("2" (hide 2)
(("2" (apply-extensionality :hide? t)
(("1" (grind) nil nil ) ("2" (grind) nil nil )
("3" (apply-extensionality :hide? t)
(("3" (expand "*" )
(("3" (expand "I" )
(("3" (expand "elemM2?" )
(("3"
(lift-if)
(("3"
(prop)
(("1"
(case "x!1 = i!1" )
(("1"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"M!1`cols-1"
"j!1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst-cp
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"j!1-1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"M!1`cols-1"
"j!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst-cp
-6
"i!1"
"j!1" )
(("1"
(inst
-6
"j!1"
"i!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(inst
-8
"x!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide
-6
2)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide
-6
2)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(inst
-9
"x!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 2)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 2)
(("2" (grind) nil nil ))
nil )
("3"
(hide -6 2)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -6 2)
(("2" (grind) nil nil ))
nil )
("3"
(hide -6 2)
(("3" (grind) nil nil ))
nil )
("4"
(hide -6 2)
(("4" (grind) nil nil ))
nil )
("5"
(hide -6 2)
(("5" (grind) nil nil ))
nil ))
nil )
("2"
(hide -6 2)
(("2" (grind) nil nil ))
nil ))
nil )
("2"
(case "x!1 = j!1" )
(("1"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"M!1`cols-1"
"i!1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst-cp
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"i!1-1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"M!1`cols-1"
"i!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst-cp
-6
"i!1"
"j!1" )
(("1"
(inst
-6
"j!1"
"i!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(inst
-8
"x!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide
-6
3)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(assert )
(("2"
(inst
-9
"x!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2" (grind) nil nil ))
nil )
("3" (assert ) nil nil ))
nil )
("2"
(assert )
(("2"
(hide -6 3)
(("2" (grind) nil nil ))
nil ))
nil )
("3"
(hide -6 3)
(("3" (grind) nil nil ))
nil )
("4"
(hide -6 3)
(("4" (grind) nil nil ))
nil )
("5"
(hide -6 3)
(("5" (grind) nil nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2" (grind) nil nil ))
nil ))
nil )
("2"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"M!1`cols-1"
"x!1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst-cp
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"x!1-1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"M!1`cols-1"
"x!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst
-5
"x!1"
"x!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(inst
-7
"x!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide
-5
4)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(inst
-8
"x!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("3"
(hide -5 4)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide -5 4)
(("3"
(grind)
(("3"
(typepred "x!2" )
(("3" (grind) nil nil ))
nil ))
nil ))
nil )
("4"
(hide -5 4)
(("4" (grind) nil nil ))
nil )
("5"
(hide -5 4)
(("5"
(grind)
(("5"
(typepred "x!2" )
(("5" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case "x!1 = i!1" )
(("1"
(case "x!2 = j!1" )
(("1"
(replace -1 :hide? t)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(i!1, k) * M!1`matrix(k, j!1))"
"LAMBDA (k:
below(M!1`cols)): 0"
"M!1`cols-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
nil
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(case "n!1 = i!1" )
(("1"
(inst
-7
"i!1"
"n!1" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(case
"n!1 = j!1" )
(("1"
(inst
-7
"n!1"
"j!1" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(inst-cp
-6
"i!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 3)
(("2" (grind) nil nil ))
nil )
("3"
(hide -4 3)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -4 3)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"M!1`cols-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
nil
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(case "n!1 = x!1" )
(("1"
(inst -8 "x!1" "n!1" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(replace -3 :hide? t)
(("2"
(inst-cp
-6
"n!1"
"x!2" )
(("1"
(assert )
(("1"
(prop)
(("1"
(replace
-1
:dir
rl
:hide?
t)
(("1"
(inst
-7
"i!1"
"n!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide -5 4)
(("3" (grind) nil nil ))
nil )
("4"
(hide -5 4)
(("4" (grind) nil nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("2"
(case "x!1 = j!1" )
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(j!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"M!1`cols-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
nil
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(case "n!1 = i!1" )
(("1"
(replace
-1
:hide?
t)
(("1"
(inst
-6
"i!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(assert )
(("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
-6
"j!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 4)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("3"
(hide -4 4)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -4 4)
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"M!1`cols-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
nil
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(inst-cp
-6
"x!1"
"n!1" )
(("2"
(assert )
(("2"
(prop)
(("2"
(inst
-8
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 5)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("3"
(hide -4 5)
(("3" (grind) nil nil ))
nil )
("4"
(hide -4 5)
(("4"
(grind)
(("4"
(typepred "x!1" )
(("4"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 5)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((invertible? const-decl "bool" matrices nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(< const-decl "bool" reals nil )
(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 "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(/= const-decl "boolean" notequal nil )
(* const-decl "Matrix" matrices nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(identity ? const-decl "bool" matrices nil )
(I const-decl "(identity?)" matrices nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_times_real_is_real application-judgement "real" reals nil )
(sigma def-decl "real" sigma "reals/" )
(elemM2? const-decl "bool" elementary_matrices nil )
(sigma_middle formula-decl nil sigma "reals/" )
(<= const-decl "bool" reals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(integer nonempty-type-from-decl nil integers nil )
(sigma_eq formula-decl nil sigma "reals/" )
(sigma_zero formula-decl nil sigma "reals/" )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(subrange type-eq-decl nil integers nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(sigma_nnreal application-judgement "nnreal" vectors "vectors/" )
(sigma_nat application-judgement "nat" vectors "vectors/" )
(real_plus_real_is_real application-judgement "real" reals nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(T_high type-eq-decl nil sigma "reals/" )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(T_low type-eq-decl nil sigma "reals/" )
(j!1 skolem-const-decl "{j: below(M!1`rows) | i!1 /= j}"
elementary_matrices nil )
(i!1 skolem-const-decl "below(M!1`rows)" elementary_matrices nil )
(x!2 skolem-const-decl "below((M!1 * M!1)`cols)"
elementary_matrices nil )
(x!1 skolem-const-decl "below((M!1 * M!1)`rows)"
elementary_matrices nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(M!1 skolem-const-decl "ElemM2" elementary_matrices nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(inverse? const-decl "bool" matrices nil )
(ElemM2 type-eq-decl nil elementary_matrices nil )
(elemM2? const-decl "bool" elementary_matrices nil )
(Square type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Matrix type-eq-decl nil matrices nil )
(real nonempty-type-from-decl nil reals nil )
(below type-eq-decl nil naturalnumbers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil ))
shostak)
(elemM2_invertible-1 nil 3492745295
("" (skolem-typepred)
(("" (expand "invertible?" )
(("" (expand "elemM2?" )
(("" (skolem-typepred)
(("" (inst 1 "M!1" )
(("" (expand "inverse?" )
(("" (assert )
(("" (case "(M!1 * M!1) = I(M!1`rows)" )
(("1" (assert ) nil nil )
("2" (hide 2)
(("2" (apply-extensionality :hide? t)
(("1" (grind) nil nil ) ("2" (grind) nil nil )
("3" (apply-extensionality :hide? t)
(("3" (expand "*" )
(("3" (expand "I" )
(("3" (expand "elemM2?" )
(("3"
(lift-if)
(("3"
(prop)
(("1"
(case "x!1 = i!1" )
(("1"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"M!1`cols-1"
"j!1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst-cp
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"j!1-1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"M!1`cols-1"
"j!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst-cp
-6
"i!1"
"j!1" )
(("1"
(inst
-6
"j!1"
"i!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(inst
-8
"x!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide
-6
2)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide
-6
2)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(inst
-9
"x!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 2)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 2)
(("2" (grind) nil nil ))
nil )
("3"
(hide -6 2)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -6 2)
(("2" (grind) nil nil ))
nil )
("3"
(hide -6 2)
(("3" (grind) nil nil ))
nil )
("4"
(hide -6 2)
(("4" (grind) nil nil ))
nil )
("5"
(hide -6 2)
(("5" (grind) nil nil ))
nil ))
nil ))
nil )
("2"
(case "x!1 = j!1" )
(("1"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"M!1`cols-1"
"i!1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst-cp
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"i!1-1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"M!1`cols-1"
"i!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst-cp
-6
"i!1"
"j!1" )
(("1"
(inst
-6
"j!1"
"i!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(inst
-8
"x!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide
-6
3)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(assert )
(("2"
(inst
-9
"x!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -6 3)
(("2" (grind) nil nil ))
nil )
("3" (assert ) nil nil ))
nil )
("2"
(assert )
(("2"
(hide -6 3)
(("2" (grind) nil nil ))
nil ))
nil )
("3"
(hide -6 3)
(("3" (grind) nil nil ))
nil )
("4"
(hide -6 3)
(("4" (grind) nil nil ))
nil )
("5"
(hide -6 3)
(("5" (grind) nil nil ))
nil ))
nil ))
nil )
("2"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("2"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"M!1`cols-1"
"x!1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst-cp
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"x!1-1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"M!1`cols-1"
"x!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst
-5
"x!1"
"x!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(inst
-7
"x!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide
-5
4)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(inst
-8
"x!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("3"
(hide -5 4)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide -5 4)
(("3"
(grind)
(("3"
(typepred "x!2" )
(("3" (grind) nil nil ))
nil ))
nil ))
nil )
("4"
(hide -5 4)
(("4" (grind) nil nil ))
nil )
("5"
(hide -5 4)
(("5"
(grind)
(("5"
(typepred "x!2" )
(("5" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case "x!1 = i!1" )
(("1"
(case "x!2 = j!1" )
(("1"
(replace -1 :hide? t)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(i!1, k) * M!1`matrix(k, j!1))"
"LAMBDA (k:
below(M!1`cols)): 0"
"M!1`cols-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
nil
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(case "n!1 = i!1" )
(("1"
(inst
-7
"i!1"
"n!1" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(case
"n!1 = j!1" )
(("1"
(inst
-7
"n!1"
"j!1" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(inst-cp
-6
"i!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 3)
(("2" (grind) nil nil ))
nil )
("3"
(hide -4 3)
(("3" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("2"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"M!1`cols-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
nil
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(case "n!1 = x!1" )
(("1"
(inst -8 "x!1" "n!1" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(replace -3 :hide? t)
(("2"
(inst-cp
-6
"n!1"
"x!2" )
(("1"
(assert )
(("1"
(prop)
(("1"
(replace
-1
:dir
rl
:hide?
t)
(("1"
(inst
-7
"i!1"
"n!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 4)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide -5 4)
(("3" (grind) nil nil ))
nil )
("4"
(hide -5 4)
(("4" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case "x!1 = j!1" )
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(j!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"M!1`cols-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
nil
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(case "n!1 = i!1" )
(("1"
(replace
-1
:hide?
t)
(("1"
(inst
-6
"i!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(assert )
(("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
-6
"j!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 4)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("3"
(hide -4 4)
(("3" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("2"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) * M!1`matrix(k, x!2))"
"LAMBDA (k:
below(M!1`cols)): 0"
"M!1`cols-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
nil
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(inst-cp
-6
"x!1"
"n!1" )
(("2"
(assert )
(("2"
(prop)
(("2"
(inst
-8
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 5)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("3"
(hide -4 5)
(("3" (grind) nil nil ))
nil )
("4"
(hide -4 5)
(("4"
(grind)
(("4"
(typepred "x!1" )
(("4"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((Matrix type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Square type-eq-decl nil matrices nil )
(inverse? const-decl "bool" matrices nil )
(T_low type-eq-decl nil sigma "reals/" )
(T_high type-eq-decl nil sigma "reals/" )
(sigma_nat application-judgement "nat" vectors "vectors/" )
(sigma_zero formula-decl nil sigma "reals/" )
(sigma_eq formula-decl nil sigma "reals/" )
(sigma_middle formula-decl nil sigma "reals/" )
(sigma def-decl "real" sigma "reals/" )
(I const-decl "(identity?)" matrices nil )
(identity ? const-decl "bool" matrices nil )
(invertible? const-decl "bool" matrices nil ))
shostak))
(elemM3_invertible 0
(elemM3_invertible-2 "" 3520307266
("" (skolem-typepred)
(("" (expand "invertible?" )
(("" (expand "elemM3?" )
(("" (skolem-typepred)
(("" (inst 1 "elemM3(M!1`rows)(i!1)(1/M!1`matrix(i!1,i!1))" )
(("1" (prop)
(("1" (grind) nil nil )
("2" (expand "inverse?" )
(("2" (expand "elemM3?" )
(("2" (prop)
(("1" (expand "*" )
(("1" (expand "I" )
(("1" (prop)
(("1" (grind) nil nil )
("2" (apply-extensionality :hide? t)
(("1" (lift-if)
(("1"
(prop)
(("1"
(expand "elemM3" )
(("1"
(case "x!1 = i!1" )
(("1"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) *
IF (k = x!2)
THEN IF (k = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF)"
"M!1`cols-1"
"i!1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) *
IF (k = x!2)
THEN IF (k = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF)"
"LAMBDA (k: below(M!1`cols)): 0"
"i!1-1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) *
IF (k = x!2)
THEN IF (k = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF)"
"LAMBDA (k: below(M!1`cols)): 0"
"M!1`cols-1"
"i!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide
2)
(("2"
(skolem-typepred)
(("2"
(inst
-7
"x!1"
"n!1" )
(("1"
(assert )
nil
nil )
("2"
(hide
2)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(assert )
(("2"
(inst
-6
"i!1"
"i!1" )
(("2"
(assert )
(("2"
(flatten)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skolem-typepred)
(("2"
(inst
-7
"x!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skolem-typepred)
(("2"
(inst
-6
"i!1"
"i!1" )
(("2"
(assert )
(("2"
(flatten)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2" (grind) nil nil ))
nil )
("3"
(hide -5 2)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2" (grind) nil nil ))
nil )
("3"
(hide 2)
(("3"
(skolem-typepred)
(("3"
(flatten)
(("3"
(inst -9 "i!1" "i!1" )
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("4"
(hide 2)
(("4"
(hide -5)
(("4" (grind) nil nil ))
nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2" (grind) nil nil ))
nil ))
nil )
("2"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) *
IF (k = x!2)
THEN IF (k = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF)"
"M!1`cols-1"
"x!1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst-cp
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) *
IF (k = x!2)
THEN IF (k = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF)"
"LAMBDA (k: below(M!1`cols)): 0"
"x!1-1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(inst-cp
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) *
IF (k = x!2)
THEN IF (k = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF)"
"LAMBDA (k: below(M!1`cols)): 0"
"M!1`cols-1"
"x!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(hide
-1)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst
-4
"x!1"
"x!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 3)
(("2"
(skolem-typepred)
(("2"
(inst
-7
"x!1"
"n!1" )
(("1"
(assert )
nil
nil )
("2"
(hide
-3
2)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 3)
(("2"
(skolem-typepred)
(("2"
(flatten)
(("2"
(inst
-8
"i!1"
"i!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide -4 3)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 3)
(("2"
(skolem-typepred)
(("2"
(inst
-7
"x!1"
"i!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 3)
(("2"
(skolem-typepred)
(("2"
(flatten)
(("2"
(inst
-8
"i!1"
"i!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide -4 3)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 3)
(("2" (grind) nil nil ))
nil )
("3"
(hide -4 3)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -4 3)
(("2" (grind) nil nil ))
nil )
("3"
(hide 3)
(("3"
(skolem-typepred)
(("3"
(flatten)
(("3"
(inst -8 "i!1" "i!1" )
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("4"
(hide -4 3)
(("4" (grind) nil nil ))
nil ))
nil )
("2"
(hide -4 3)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma "sigma_eq[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) *
elemM3(M!1`rows)(i!1)((1 / M!1`matrix(i!1, i!1)))`matrix(k, x!2)
)"
"LAMBDA (k: below(M!1`cols)): 0"
"M!1`cols-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
nil
nil ))
nil )
("2"
(hide 3)
(("2"
(skolem-typepred)
(("2"
(expand "elemM3" )
(("2"
(lift-if)
(("2"
(assert )
(("2"
(prop)
(("1"
(inst
-7
"x!1"
"n!1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(inst
-6
"x!1"
"n!1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 3)
(("2"
(skolem-typepred)
(("2"
(inst -4 "i!1" "i!1" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("3"
(hide 3)
(("3" (grind) nil nil ))
nil )
("4"
(hide 3)
(("4"
(skolem-typepred)
(("4"
(hide -4)
(("4" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -3 3)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -3) (("2" (grind) nil nil ))
nil )
("3" (skolem-typepred)
(("3"
(assert )
(("3"
(hide -5)
(("3" (grind) nil nil ))
nil ))
nil ))
nil )
("4" (hide -3)
(("4"
(skolem-typepred)
(("4"
(reveal -1)
(("4"
(inst -1 "i!1" "i!1" )
(("4" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("5" (skolem-typepred)
(("5"
(expand "elemM3" )
(("5"
(assert )
(("5"
(hide -6)
(("5" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("6" (hide -3) (("6" (grind) nil nil ))
nil )
("7" (hide -3) (("7" (grind) nil nil ))
nil )
("8" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "elemM3" )
(("2" (expand "I" )
(("2" (apply-extensionality :hide? t)
(("1" (grind) nil nil ) ("2" (grind) nil nil )
("3" (apply-extensionality :hide? t)
(("1" (lift-if)
(("1"
(expand "*" )
(("1"
(prop)
(("1"
(lemma
"sigma_middle[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1)
THEN IF (x!1 = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"M!1`rows-1"
"x!1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1)
THEN IF (x!1 = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"x!1-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(lemma
"sigma_eq[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1)
THEN IF (x!1 = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"M!1`rows-1"
"x!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(inst
-5
"i!1"
"i!1" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(inst
-4
"x!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(grind)
(("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skolem-typepred)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skolem-typepred)
(("2"
(flatten)
(("2"
(inst
-8
"i!1"
"i!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide -4 2)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skolem-typepred)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skolem-typepred)
(("2"
(flatten)
(("2"
(inst
-8
"i!1"
"i!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide -4 2)
(("3" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 2)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide -4 2)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -4 2)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide -4 2)
(("3"
(grind)
(("3"
(typepred "x!2" )
(("3" (grind) nil nil ))
nil ))
nil ))
nil )
("4"
(hide 2)
(("4"
(skolem-typepred)
(("4"
(flatten)
(("4"
(inst -8 "i!1" "i!1" )
(("4" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("5"
(hide -4 2)
(("5" (grind) nil nil ))
nil ))
nil )
("2"
(hide -4 2)
(("2" (grind) nil nil ))
nil ))
nil )
("2"
(lemma "sigma_eq[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1)
THEN IF (x!1 = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"M!1`rows-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
nil
nil ))
nil )
("2"
(hide 3)
(("2"
(skolem-typepred)
(("2"
(assert )
(("2"
(lift-if)
(("2"
(prop)
(("1"
(inst
-7
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(grind)
(("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("2"
(inst
-6
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(typepred "x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil )
("3"
(inst
-5
"n!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -3 3)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide 3)
(("3"
(skolem-typepred)
(("3"
(flatten)
(("3"
(inst -7 "i!1" "i!1" )
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("4"
(hide -3 3)
(("4" (grind) nil nil ))
nil ))
nil )
("2"
(hide -3 3)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -3) (("2" (grind) nil nil ))
nil )
("3" (skolem-typepred)
(("3"
(flatten)
(("3"
(inst -8 "i!1" "i!1" )
(("3" (assert ) nil nil ))
nil ))
nil ))
nil )
("4" (hide -3) (("4" (grind) nil nil ))
nil ))
nil )
("4" (skolem-typepred)
(("4" (flatten)
(("4"
(inst -8 "i!1" "i!1" )
(("4" (assert ) nil nil ))
nil ))
nil ))
nil )
("5" (hide -3) (("5" (grind) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "elemM3?" )
(("2" (inst -3 "i!1" "i!1" ) (("2" (assert ) nil nil ))
nil ))
nil )
("3" (hide -3) (("3" (grind) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((invertible? const-decl "bool" matrices nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(< const-decl "bool" reals nil )
(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 "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(elemM3? const-decl "bool" elementary_matrices nil )
(x!1 skolem-const-decl "below(((# rows := M!1`rows,
cols := M!1`rows,
matrix
:= LAMBDA (k, l: below(M!1`rows)):
IF k = l
THEN IF k = i!1 THEN 1 / M!1`matrix(i!1, i!1)
ELSE 1
ENDIF
ELSE 0
ENDIF #)
* M!1)`rows)" elementary_matrices nil)
(x!2 skolem-const-decl "below(((# rows := M!1`rows,
cols := M!1`rows,
matrix
:= LAMBDA (k, l: below(M!1`rows)):
IF k = l
THEN IF k = i!1 THEN 1 / M!1`matrix(i!1, i!1)
ELSE 1
ENDIF
ELSE 0
ENDIF #)
* M!1)`cols)" elementary_matrices nil)
(* const-decl "Matrix" matrices nil )
(n!1 skolem-const-decl "subrange(0, M!1`cols - 1)"
elementary_matrices nil )
(n!1 skolem-const-decl "subrange(1 + x!1, M!1`cols - 1)"
elementary_matrices nil )
(x!1 skolem-const-decl "below(M!1`rows)" elementary_matrices nil )
(sigma_middle formula-decl nil sigma "reals/" )
(sigma_eq formula-decl nil sigma "reals/" )
(sigma_zero formula-decl nil sigma "reals/" )
(real_plus_real_is_real application-judgement "real" reals nil )
(subrange type-eq-decl nil integers nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(n!1 skolem-const-decl "subrange(1 + i!1, M!1`cols - 1)"
elementary_matrices nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(x!2 skolem-const-decl
"below(elemM3(M!1`rows)(i!1)(1 / M!1`matrix(i!1, i!1))`cols)"
elementary_matrices nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_times_real_is_real application-judgement "real" reals nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(<= const-decl "bool" reals nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(integer nonempty-type-from-decl nil integers nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(* const-decl "[numfield, numfield -> numfield]" number_fields nil )
(sigma def-decl "real" sigma "reals/" )
(T_high type-eq-decl nil sigma "reals/" )
(T_low type-eq-decl nil sigma "reals/" )
(I const-decl "(identity?)" matrices nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(i!1 skolem-const-decl "below(M!1`rows)" elementary_matrices nil )
(M!1 skolem-const-decl "ElemM3" elementary_matrices 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 )
(elemM3 const-decl "ElemMat3(n)" elementary_matrices nil )
(ElemMat3 type-eq-decl nil elementary_matrices nil )
(elemMat3? const-decl "bool" elementary_matrices nil )
(SquareMat type-eq-decl nil matrices nil )
(squareMat? const-decl "bool" matrices nil )
(nzreal nonempty-type-eq-decl nil reals nil )
(/= const-decl "boolean" notequal nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(inverse? const-decl "bool" matrices nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(nzreal_div_nzreal_is_nzreal application-judgement "nzreal"
real_types nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(ElemM3 type-eq-decl nil elementary_matrices nil )
(elemM3? const-decl "bool" elementary_matrices nil )
(Square type-eq-decl nil matrices nil )
(square? const-decl "bool" matrices nil )
(Matrix type-eq-decl nil matrices nil )
(real nonempty-type-from-decl nil reals nil )
(below type-eq-decl nil naturalnumbers nil )
(posnat nonempty-type-eq-decl nil integers nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil ))
shostak)
(elemM3_invertible-1 nil 3492821906
("" (skolem-typepred)
(("" (expand "invertible?" )
(("" (expand "elemM3?" )
(("" (skolem-typepred)
(("" (inst 1 "elemM3(M!1`rows)(i!1)(1/M!1`matrix(i!1,i!1))" )
(("1" (prop)
(("1" (grind) nil nil )
("2" (expand "inverse?" )
(("2" (expand "elemM3?" )
(("2" (prop)
(("1" (expand "*" )
(("1" (expand "I" )
(("1" (prop)
(("1" (grind) nil nil )
("2" (apply-extensionality :hide? t)
(("1" (lift-if)
(("1"
(prop)
(("1"
(expand "elemM3" )
(("1"
(case "x!1 = i!1" )
(("1"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) *
IF (k = x!2)
THEN IF (k = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF)"
"M!1`cols-1"
"i!1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) *
IF (k = x!2)
THEN IF (k = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF)"
"LAMBDA (k: below(M!1`cols)): 0"
"i!1-1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) *
IF (k = x!2)
THEN IF (k = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF)"
"LAMBDA (k: below(M!1`cols)): 0"
"M!1`cols-1"
"i!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide
2)
(("2"
(skolem-typepred)
(("2"
(inst
-7
"x!1"
"n!1" )
(("1"
(assert )
nil
nil )
("2"
(hide
2)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skolem-typepred)
(("2"
(assert )
(("2"
(inst
-6
"i!1"
"i!1" )
(("2"
(assert )
(("2"
(flatten)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skolem-typepred)
(("2"
(inst
-7
"x!1"
"n!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skolem-typepred)
(("2"
(inst
-6
"i!1"
"i!1" )
(("2"
(assert )
(("2"
(flatten)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2" (grind) nil nil ))
nil )
("3"
(hide -5 2)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -5 2)
(("2" (grind) nil nil ))
nil )
("3"
(hide 2)
(("3"
(skolem-typepred)
(("3"
(flatten)
(("3"
(inst -9 "i!1" "i!1" )
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("4"
(hide 2)
(("4"
(hide -5)
(("4" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
"sigma_middle[below(M!1`cols)]" )
(("2"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) *
IF (k = x!2)
THEN IF (k = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF)"
"M!1`cols-1"
"x!1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`cols)]" )
(("1"
(inst-cp
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) *
IF (k = x!2)
THEN IF (k = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF)"
"LAMBDA (k: below(M!1`cols)): 0"
"x!1-1"
"0" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(inst-cp
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) *
IF (k = x!2)
THEN IF (k = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF)"
"LAMBDA (k: below(M!1`cols)): 0"
"M!1`cols-1"
"x!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(hide
-1)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(inst
-4
"x!1"
"x!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 3)
(("2"
(skolem-typepred)
(("2"
(inst
-7
"x!1"
"n!1" )
(("1"
(assert )
nil
nil )
("2"
(hide
-3
2)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 3)
(("2"
(skolem-typepred)
(("2"
(flatten)
(("2"
(inst
-8
"i!1"
"i!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide -4 3)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 3)
(("2"
(skolem-typepred)
(("2"
(inst
-7
"x!1"
"i!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 3)
(("2"
(skolem-typepred)
(("2"
(flatten)
(("2"
(inst
-8
"i!1"
"i!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide -4 3)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 3)
(("2" (grind) nil nil ))
nil )
("3"
(hide -4 3)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -4 3)
(("2" (grind) nil nil ))
nil )
("3"
(hide 3)
(("3"
(skolem-typepred)
(("3"
(flatten)
(("3"
(inst -8 "i!1" "i!1" )
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("4"
(hide -4 3)
(("4" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma "sigma_eq[below(M!1`cols)]" )
(("2"
(inst
-1
"LAMBDA (k: below(M!1`cols)):
(M!1`matrix(x!1, k) *
elemM3(M!1`rows)(i!1)((1 / M!1`matrix(i!1, i!1)))`matrix(k, x!2)
)"
"LAMBDA (k: below(M!1`cols)): 0"
"M!1`cols-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`cols)]" )
nil
nil ))
nil )
("2"
(hide 3)
(("2"
(skolem-typepred)
(("2"
(expand "elemM3" )
(("2"
(lift-if)
(("2"
(assert )
(("2"
(prop)
(("1"
(inst
-7
"x!1"
"n!1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(inst
-6
"x!1"
"n!1" )
(("1"
(assert )
nil
nil )
("2"
(assert )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 3)
(("2"
(skolem-typepred)
(("2"
(inst -4 "i!1" "i!1" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("3"
(hide 3)
(("3" (grind) nil nil ))
nil )
("4"
(hide 3)
(("4"
(skolem-typepred)
(("4"
(hide -4)
(("4" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -3) (("2" (grind) nil nil ))
nil )
("3" (skolem-typepred)
(("3"
(inst -6 "i!1" "i!1" )
(("3" (assert ) nil nil ))
nil ))
nil )
("4" (hide -3) (("4" (grind) nil nil ))
nil )
("5" (skolem-typepred)
(("5"
(expand "elemM3" )
(("5"
(assert )
(("5"
(hide -6)
(("5" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("6" (hide -3) (("6" (grind) nil nil ))
nil )
("7" (hide -3) (("7" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "elemM3" )
(("2" (expand "I" )
(("2" (apply-extensionality :hide? t)
(("1" (grind) nil nil ) ("2" (grind) nil nil )
("3" (apply-extensionality :hide? t)
(("1" (lift-if)
(("1"
(expand "*" )
(("1"
(prop)
(("1"
(lemma
"sigma_middle[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1)
THEN IF (x!1 = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"M!1`rows-1"
"x!1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(lemma
"sigma_eq[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1)
THEN IF (x!1 = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"x!1-1"
"0" )
(("1"
(prop)
(("1"
(replace -1 :hide? t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(lemma
"sigma_eq[below(M!1`rows)]" )
(("1"
(inst
-1
"LAMBDA (k_1: below(M!1`rows)):
(IF (x!1 = k_1)
THEN IF (x!1 = i!1) THEN (1 / M!1`matrix(i!1, i!1))
ELSE 1
ENDIF
ELSE 0
ENDIF
* M!1`matrix(k_1, x!2))"
"LAMBDA (k_1: below(M!1`rows)): 0"
"M!1`rows-1"
"x!1+1" )
(("1"
(prop)
(("1"
(replace
-1
:hide?
t)
(("1"
(use
"sigma_zero[below(M!1`rows)]" )
(("1"
(replace
-1
:hide?
t)
(("1"
(assert )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(inst
-5
"i!1"
"i!1" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(inst
-4
"x!1"
"x!2" )
(("1"
(assert )
nil
nil )
("2"
(grind)
(("2"
(typepred
"x!2" )
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skolem-typepred)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skolem-typepred)
(("2"
(flatten)
(("2"
(inst
-8
"i!1"
"i!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide -4 2)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skolem-typepred)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide 2)
(("2"
(skolem-typepred)
(("2"
(flatten)
(("2"
(inst
-8
"i!1"
"i!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide -4 2)
(("3" (grind) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -4 2)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide -4 2)
(("3" (grind) nil nil ))
nil ))
nil )
("2"
(hide -4 2)
(("2"
(grind)
(("2"
(typepred "x!2" )
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3"
(hide -4 2)
(("3"
(grind)
(("3"
(typepred "x!2" )
(("3" (grind) nil nil ))
nil ))
nil ))
nil )
("4"
(hide 2)
(("4"
(skolem-typepred)
(("4"
(flatten)
(("4"
(inst -8 "i!1" "i!1" )
(("4" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("5"
(hide -4 2)
--> --------------------
--> maximum size reached
--> --------------------
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.905Bemerkung:
(vorverarbeitet am 2026-05-02)
¤
*Bot Zugriff
2026-05-26