Impressum robinsonunificationEF.prf
Interaktion und PortierbarkeitLisp
(robinsonunificationEF
(IMP_robinsonunification_TCC1 0
(IMP_robinsonunification_TCC1-1 nil 3522686037
("" (lemma var_countable) (("" (propax) nil nil )) nil )
((var_countable formula-decl nil robinsonunificationEF nil )) nil ))
(IMP_robinsonunification_TCC2 0
(IMP_robinsonunification_TCC2-1 nil 3522686037
("" (lemma var_nonempty) (("" (propax) nil nil )) nil )
((var_nonempty formula-decl nil robinsonunificationEF nil )) nil ))
(IMP_robinsonunification_TCC3 0
(IMP_robinsonunification_TCC3-1 nil 3522686037
("" (lemma symbol_nonempty) (("" (propax) nil nil )) nil )
((symbol_nonempty formula-decl nil robinsonunificationEF nil )) nil ))
(right_pos_TCC1 0
(right_pos_TCC1-1 nil 3506350454
("" (skosimp)
(("" (skosimp)
(("" (assert )
(("" (lemma empty_0[posnat])
(("" (inst -1 p!1) (("" (assert ) nil nil )) nil )) nil ))
nil ))
nil ))
nil )
((posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(position type-eq-decl nil positions nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(finseq type-eq-decl nil finite_sequences nil )
(below type-eq-decl nil nat_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(int_minus_int_is_int application-judgement "int" integers nil ))
nil ))
(right_pos_TCC2 0
(right_pos_TCC2-1 nil 3506350454
("" (skosimp*)
(("" (lemma delete_is_position)
(("" (inst -1 p!1 s!1)
(("" (assert )
(("" (flatten) (("" (rewrite empty_0) nil nil )) nil )) nil ))
nil ))
nil ))
nil )
((arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(delete_is_position formula-decl nil positions nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(finseq type-eq-decl nil finite_sequences nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(term type-decl nil term_adt nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil ))
nil ))
(right_pos_TCC3 0
(right_pos_TCC3-1 nil 3506350454
("" (skosimp*)
(("" (lemma subterm_is_app)
(("" (inst -1 p!1 s!1)
(("" (assert )
(("" (flatten) (("" (rewrite empty_0) nil nil )) nil )) nil ))
nil ))
nil ))
nil )
((arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(subterm_is_app formula-decl nil subterm nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(finseq type-eq-decl nil finite_sequences nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(term type-decl nil term_adt nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil ))
nil ))
(right_pos_TCC4 0
(right_pos_TCC4-1 nil 3506350454
("" (skosimp*)
(("" (hide -1 -3 -4)
(("" (replaces -1)
(("" (expand delete 2)
(("" (lemma empty_0[posnat])
(("" (inst -1 p!1) (("" (assert ) nil nil )) nil )) nil ))
nil ))
nil ))
nil ))
nil )
((delete const-decl "finseq" seq_extras "structures/" )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(below type-eq-decl nil nat_types nil )
(finseq type-eq-decl nil finite_sequences nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(position type-eq-decl nil positions nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil ))
nil ))
(right_pos_TCC5 0
(right_pos_TCC5-1 nil 3506350454
("" (skosimp*)
(("" (lemma positions_of_arg)
(("" (inst -1 "subtermOF(s!1, p1!1)" "j!1 + i!1" )
(("1" (lemma pos_o_term)
(("1" (inst -1 "p1!1" "#(j!1 + i!1 + 1)" "s!1" )
(("1" (lemma delete_is_position)
(("1" (inst -1 p!1 s!1)
(("1" (lemma empty_0[posnat])
(("1" (inst -1 p!1)
(("1" (assert )
(("1" (hide-all-but (-2 3))
(("1"
(case "p1!1 o #(1 + i!1 + j!1) = add_last(p1!1, 1 + i!1 + j!1)" )
(("1" (assert ) nil nil )
("2" (hide-all-but 1)
(("2" (grind) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (typepred j!1)
(("2" (typepred "args(subtermOF(s!1, p1!1))" )
(("2" (replace -1 1)
(("2" (replace -6 1 rl)
(("2" (hide-all-but (-2 1)) (("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(positions_of_arg formula-decl nil positions nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(pos_o_term formula-decl nil subterm nil )
(delete_is_position formula-decl nil positions nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(int_minus_int_is_int application-judgement "int" integers nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(O const-decl "finseq" finite_sequences nil )
(add_last const-decl "finseq" seq_extras "structures/" )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(insert? const-decl "finseq" seq_extras "structures/" )
(finseq type-eq-decl nil finite_sequences nil )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(< const-decl "bool" reals nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(i!1 skolem-const-decl "nat" robinsonunificationEF nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(n!1 skolem-const-decl "nat" robinsonunificationEF nil )
(below type-eq-decl nil naturalnumbers nil )
(j!1 skolem-const-decl "below(n!1 - i!1)" robinsonunificationEF
nil )
(term type-decl nil term_adt nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(below type-eq-decl nil nat_types nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(args adt-accessor-decl
"[d: (app?) -> {args: finite_sequence[term] | args`length = arity(f(d))}]"
term_adt nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(position type-eq-decl nil positions nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(positions? type-eq-decl nil positions nil )
(subtermOF def-decl "term" subterm nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(p1!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunificationEF nil )
(nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
nil ))
(right_pos_TCC6 0
(right_pos_TCC6-1 nil 3506350454
("" (skosimp*)
(("" (lemma positions_of_arg)
(("" (inst -1 "subtermOF(s!1, p1!1)" "j!1 + i!1" )
(("1" (lemma pos_o_term)
(("1" (inst -1 "p1!1" "#(j!1 + i!1 + 1)" "s!1" )
(("1" (lemma delete_is_position)
(("1" (inst -1 p!1 s!1)
(("1" (lemma empty_0[posnat])
(("1" (inst -1 p!1)
(("1" (assert )
(("1" (hide-all-but (-2 3))
(("1"
(case "p1!1 o #(1 + i!1 + j!1) = add_last(p1!1, 1 + i!1 + j!1)" )
(("1" (assert ) nil nil )
("2" (hide-all-but 1)
(("2" (grind) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (typepred j!1)
(("2" (typepred "args(subtermOF(s!1, p1!1))" )
(("2" (replace -1 1)
(("2" (replace -6 1 rl)
(("2" (hide-all-but (-2 1)) (("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(positions_of_arg formula-decl nil positions nil )
(delete_is_position formula-decl nil positions nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(finseq type-eq-decl nil finite_sequences nil )
(term type-decl nil term_adt nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil )
(pos_o_term formula-decl nil subterm nil ))
nil ))
(next_position_TCC1 0
(next_position_TCC1-1 nil 3488040223
("" (skosimp)
(("" (lemma empty_0[posnat])
(("" (inst -1 p!1) (("" (assert ) nil nil )) nil )) nil ))
nil )
((posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(term type-decl nil term_adt nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(position type-eq-decl nil positions nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(finseq type-eq-decl nil finite_sequences nil )
(below type-eq-decl nil nat_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil ))
nil ))
(next_position_TCC2 0
(next_position_TCC2-1 nil 3488040223
("" (skosimp)
(("" (rewrite delete_is_position)
(("" (hide 3)
(("" (flatten) (("" (rewrite empty_0) nil nil )) nil )) nil ))
nil ))
nil )
((delete_is_position formula-decl nil positions nil )
(below type-eq-decl nil nat_types nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(position type-eq-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(term type-decl nil term_adt nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(finseq type-eq-decl nil finite_sequences nil )
(empty_0 formula-decl nil seq_extras "structures/" ))
nil ))
(next_position_TCC3 0
(next_position_TCC3-1 nil 3488040223
("" (skosimp*)
(("" (lemma "subterm_is_app" )
(("" (inst -1 p!1 s!1)
(("" (assert )
(("" (hide 3)
(("" (flatten) (("" (rewrite "empty_0" ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(subterm_is_app formula-decl nil subterm nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(finseq type-eq-decl nil finite_sequences nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(term type-decl nil term_adt nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil ))
nil ))
(next_position_TCC4 0
(next_position_TCC4-1 nil 3488040223
("" (skosimp*) (("" (rewrite "empty_0" ) nil nil )) nil )
((empty_0 formula-decl nil seq_extras "structures/" )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(below type-eq-decl nil nat_types nil )
(finseq type-eq-decl nil finite_sequences nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(position type-eq-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(term type-decl nil term_adt nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil ))
nil ))
(next_position_TCC5 0
(next_position_TCC5-1 nil 3496419653
("" (skosimp)
(("" (name-replace "q!1" "delete(p!1, length(p!1) - 1)" :hide? nil )
(("1" (lemma empty_0[posnat])
(("1" (inst -1 p!1)
(("1" (assert )
(("1" (typepred "args(subtermOF(s!1, q!1))" )
(("1" (replace -1 3 rl)
(("1" (hide -1)
(("1" (lemma add_last_delete[posnat])
(("1" (inst -1 p!1)
(("1" (assert )
(("1" (replace -2 -1)
(("1" (lemma add_last_delete_is_o[posnat])
(("1" (inst -1 p!1)
(("1"
(assert )
(("1"
(expand finseq_appl)
(("1"
(replace -3 -1)
(("1"
(replace -2 -1 rl)
(("1"
(lemma pos_subterm_ax)
(("1"
(inst
-1
"q!1"
"#(p!1`seq(p!1`length - 1))"
"s!1" )
(("1"
(assert )
(("1"
(expand positionsOF -1)
(("1"
(lift-if)
(("1"
(ground)
(("1"
(hide-all-but -2)
(("1"
(grind)
nil
nil ))
nil )
("2"
(hide-all-but -2)
(("2"
(grind)
nil
nil ))
nil )
("3"
(expand *
union
IUnion
member)
(("3"
(split)
(("1"
(hide-all-but
-1)
(("1"
(grind)
nil
nil ))
nil )
("2"
(skosimp)
(("2"
(expand
finseq_appl)
(("2"
(expand
catenate)
(("2"
(skosimp)
(("2"
(expand
member)
(("2"
(typepred
i!1)
(("2"
(expand
add_first)
(("2"
(expand
insert?)
(("2"
(decompose-equality
-4)
(("2"
(expand
finseq_appl)
(("2"
(expand
"#"
-1)
(("2"
(expand
"#"
-2)
(("2"
(decompose-equality
-2)
(("2"
(inst?)
(("2"
(case
"p!1`seq(p!1`length - 1) = last(p!1)" )
(("1"
(assert )
nil
nil )
("2"
(hide-all-but
1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 3)
(("2" (lemma empty_0[posnat])
(("2" (inst -1 p!1) (("2" (assert ) nil nil )) nil )) nil ))
nil ))
nil ))
nil )
((real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(below type-eq-decl nil nat_types nil )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(finseq type-eq-decl nil finite_sequences nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(< const-decl "bool" reals nil )
(delete const-decl "finseq" seq_extras "structures/" )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(position type-eq-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(term type-decl nil term_adt nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(args adt-accessor-decl
"[d: (app?) -> {args: finite_sequence[term] | args`length = arity(f(d))}]"
term_adt nil )
(positions? type-eq-decl nil positions nil )
(subtermOF def-decl "term" subterm nil )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(only_empty_seq const-decl "positions" positions nil )
(<= const-decl "bool" reals nil )
(upto? nonempty-type-eq-decl nil IUnion_extra nil )
(insert? const-decl "finseq" seq_extras "structures/" )
(last const-decl "T" seq_extras "structures/" )
(not_empty_seq type-eq-decl nil seq_extras "structures/" )
(/= const-decl "boolean" notequal 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 )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(add_first const-decl "finseq" seq_extras "structures/" )
(catenate const-decl "positions" positions nil )
(union const-decl "set" sets nil )
(member const-decl "bool" sets nil )
(IUnion const-decl "set[T]" indexed_sets nil )
(pos_subterm_ax formula-decl nil subterm nil )
(add_last_delete_is_o formula-decl nil seq_extras "structures/" )
(add_last_delete formula-decl nil seq_extras "structures/" )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(empty_0 formula-decl nil seq_extras "structures/" ))
nil ))
(next_position_TCC6 0
(next_position_TCC6-1 nil 3496419653
("" (skosimp*)
(("" (typepred "length(z!1`3)" )
(("" (case "length(z!1`3)=0" )
(("1" (rewrite "empty_0" ) nil nil ) ("2" (assert ) nil nil ))
nil ))
nil ))
nil )
((positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers 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 )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF 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 )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(finseq type-eq-decl nil finite_sequences nil )
(= const-decl "[T, T -> boolean]" equalities nil ))
nil ))
(next_position_TCC7 0
(next_position_TCC7-1 nil 3496419653
("" (skosimp)
(("" (rewrite delete_is_position)
(("" (hide 3)
(("" (flatten) (("" (rewrite empty_0) nil nil )) nil )) nil ))
nil ))
nil )
((delete_is_position formula-decl nil positions nil )
(below type-eq-decl nil nat_types nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(position type-eq-decl nil positions nil )
(term type-decl nil term_adt nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(finseq type-eq-decl nil finite_sequences nil )
(empty_0 formula-decl nil seq_extras "structures/" ))
nil ))
(next_position_TCC8 0
(next_position_TCC8-1 nil 3496419653
("" (skosimp*)
(("" (lemma "subterm_is_app" )
(("" (inst?)
(("" (assert )
(("" (prop) (("" (rewrite "empty_0" ) nil nil )) nil )) nil ))
nil ))
nil ))
nil )
((arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(subterm_is_app formula-decl nil subterm nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(finseq type-eq-decl nil finite_sequences nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(term type-decl nil term_adt nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil ))
nil ))
(next_position_TCC9 0
(next_position_TCC9-1 nil 3496419653
("" (skosimp)
((""
(name-replace "q!1" "delete(z!1`3, length(z!1`3) - 1)" :hide?
nil )
(("1" (lemma empty_0[posnat])
(("1" (inst -1 "z!1`3" )
(("1" (assert )
(("1" (typepred "args(subtermOF(z!1`1, q!1))" )
(("1" (replace -1 3 rl)
(("1" (hide -1)
(("1" (lemma add_last_delete[posnat])
(("1" (inst -1 "z!1`3" )
(("1" (assert )
(("1" (replace -2 -1)
(("1" (lemma add_last_delete_is_o[posnat])
(("1" (inst -1 "z!1`3" )
(("1"
(assert )
(("1"
(expand finseq_appl)
(("1"
(replace -3 -1)
(("1"
(replace -2 -1 rl)
(("1"
(lemma pos_subterm_ax)
(("1"
(inst
-1
"q!1"
"#(z!1`3`seq(z!1`3`length - 1))"
"z!1`1" )
(("1"
(assert )
(("1"
(expand positionsOF -1)
(("1"
(lift-if)
(("1"
(ground)
(("1"
(hide-all-but -2)
(("1"
(grind)
nil
nil ))
nil )
("2"
(hide-all-but -2)
(("2"
(grind)
nil
nil ))
nil )
("3"
(expand *
union
IUnion
member)
(("3"
(split)
(("1"
(hide-all-but
-1)
(("1"
(grind)
nil
nil ))
nil )
("2"
(skosimp)
(("2"
(expand
finseq_appl)
(("2"
(expand
catenate)
(("2"
(skosimp)
(("2"
(expand
member)
(("2"
(typepred
i!1)
(("2"
(expand
add_first)
(("2"
(expand
insert?)
(("2"
(decompose-equality
-4)
(("2"
(expand
finseq_appl)
(("2"
(expand
"#"
-1)
(("2"
(expand
"#"
-2)
(("2"
(decompose-equality
-2)
(("2"
(inst?)
(("2"
(case
"z!1`3`seq(z!1`3`length - 1) = last(z!1`3)" )
(("1"
(assert )
nil
nil )
("2"
(hide-all-but
1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 3)
(("2" (lemma empty_0[posnat])
(("2" (inst -1 "z!1`3" ) (("2" (assert ) nil nil )) nil )) nil ))
nil ))
nil ))
nil )
((real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(below type-eq-decl nil nat_types nil )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(finseq type-eq-decl nil finite_sequences nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(< const-decl "bool" reals nil )
(delete const-decl "finseq" seq_extras "structures/" )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(term type-decl nil term_adt nil )
(position type-eq-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(empty_0 formula-decl nil seq_extras "structures/" ))
nil ))
(next_position_TCC10 0
(next_position_TCC10-1 nil 3496419653
("" (skosimp)
((""
(name-replace "q!1" "delete(z!1`3, length(z!1`3) - 1)" :hide?
nil )
(("1" (lemma empty_0[posnat])
(("1" (inst -1 "z!1`3" )
(("1" (assert )
(("1" (typepred "args(subtermOF(z!1`1, q!1))" )
(("1" (replace -1 3 rl)
(("1" (hide -1)
(("1" (lemma add_last_delete[posnat])
(("1" (inst -1 "z!1`3" )
(("1" (assert )
(("1" (replace -2 -1)
(("1" (lemma add_last_delete_is_o[posnat])
(("1" (inst -1 "z!1`3" )
(("1"
(assert )
(("1"
(expand finseq_appl)
(("1"
(replace -3 -1)
(("1"
(replace -2 -1 rl)
(("1"
(lemma pos_subterm_ax)
(("1"
(inst
-1
"q!1"
"#(z!1`3`seq(z!1`3`length - 1))"
"z!1`1" )
(("1"
(assert )
(("1"
(expand positionsOF -1)
(("1"
(lift-if)
(("1"
(ground)
(("1"
(hide-all-but -2)
(("1"
(grind)
nil
nil ))
nil )
("2"
(hide-all-but -2)
(("2"
(grind)
nil
nil ))
nil )
("3"
(expand *
union
IUnion
member)
(("3"
(split)
(("1"
(hide-all-but
-1)
(("1"
(grind)
nil
nil ))
nil )
("2"
(skosimp)
(("2"
(expand
finseq_appl)
(("2"
(expand
catenate)
(("2"
(skosimp)
(("2"
(expand
member)
(("2"
(typepred
i!1)
(("2"
(expand
add_first)
(("2"
(expand
insert?)
(("2"
(decompose-equality
-4)
(("2"
(expand
finseq_appl)
(("2"
(expand
"#"
-1)
(("2"
(expand
"#"
-2)
(("2"
(decompose-equality
-2)
(("2"
(inst?)
(("2"
(case
"z!1`3`seq(z!1`3`length - 1) = last(z!1`3)" )
(("1"
(assert )
nil
nil )
("2"
(hide-all-but
1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 3)
(("2" (lemma empty_0[posnat])
(("2" (inst -1 "z!1`3" ) (("2" (assert ) nil nil )) nil )) nil ))
nil ))
nil ))
nil )
((real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(below type-eq-decl nil nat_types nil )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(finseq type-eq-decl nil finite_sequences nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(< const-decl "bool" reals nil )
(delete const-decl "finseq" seq_extras "structures/" )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(term type-decl nil term_adt nil )
(position type-eq-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(subtermOF def-decl "term" subterm nil )
(positions? type-eq-decl nil positions nil )
(args adt-accessor-decl
"[d: (app?) -> {args: finite_sequence[term] | args`length = arity(f(d))}]"
term_adt nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(only_empty_seq const-decl "positions" positions nil )
(<= const-decl "bool" reals nil )
(upto? nonempty-type-eq-decl nil IUnion_extra nil )
(insert? const-decl "finseq" seq_extras "structures/" )
(last const-decl "T" seq_extras "structures/" )
(not_empty_seq type-eq-decl nil seq_extras "structures/" )
(/= const-decl "boolean" notequal 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 )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(add_first const-decl "finseq" seq_extras "structures/" )
(catenate const-decl "positions" positions nil )
(union const-decl "set" sets nil )
(member const-decl "bool" sets nil )
(IUnion const-decl "set[T]" indexed_sets nil )
(pos_subterm_ax formula-decl nil subterm nil )
(add_last_delete_is_o formula-decl nil seq_extras "structures/" )
(add_last_delete formula-decl nil seq_extras "structures/" )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(empty_0 formula-decl nil seq_extras "structures/" ))
nil ))
(next_position_TCC11 0
(next_position_TCC11-1 nil 3496419653
("" (skosimp*)
(("" (replaces -1)
(("" (rewrite "delete_is_position" )
(("" (prop) (("" (rewrite "empty_0" ) nil nil )) nil )) nil ))
nil ))
nil )
((finseq type-eq-decl nil finite_sequences nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(int_minus_int_is_int application-judgement "int" integers nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(term type-decl nil term_adt nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil )
(delete_is_position formula-decl nil positions nil ))
nil ))
(next_position_TCC12 0
(next_position_TCC12-1 nil 3496419653
("" (skosimp*)
(("" (lemma "subterm_is_app" )
(("" (inst?)
(("" (inst -1 "s!1" )
(("" (assert )
(("" (prop) (("" (rewrite "empty_0" ) nil nil )) nil )) nil ))
nil ))
nil ))
nil ))
nil )
((arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(subterm_is_app formula-decl nil subterm nil )
(finseq type-eq-decl nil finite_sequences nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(int_minus_int_is_int application-judgement "int" integers nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(term type-decl nil term_adt nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil ))
nil ))
(next_position_TCC13 0
(next_position_TCC13-1 nil 3496419653
("" (skosimp*)
(("" (replaces -1)
(("" (rewrite delete_is_position)
(("" (hide 3)
(("" (flatten) (("" (rewrite empty_0) nil nil )) nil )) nil ))
nil ))
nil ))
nil )
((empty_0 formula-decl nil seq_extras "structures/" )
(finseq type-eq-decl nil finite_sequences nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(term type-decl nil term_adt nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil )
(delete_is_position formula-decl nil positions nil ))
nil ))
(next_position_TCC14 0
(next_position_TCC14-1 nil 3496419653
("" (skosimp*)
(("" (lemma "subterm_is_app" )
(("" (inst?)
(("" (assert )
(("" (inst -1 "t!1" )
(("" (assert )
(("" (prop) (("" (rewrite "empty_0" ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(subterm_is_app formula-decl nil subterm nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(finseq type-eq-decl nil finite_sequences nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(term type-decl nil term_adt nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil ))
nil ))
(next_position_TCC15 0
(next_position_TCC15-1 nil 3496419653
("" (skosimp*)
(("" (replace -2 -4 rl)
(("" (case "pi!1 = pi0!1 o #(last(p!1) + 1)" )
(("1" (lemma pos_o_term)
(("1" (inst -1 "pi0!1" "#(last(p!1) + 1)" "t!1" )
(("1" (assert )
(("1" (hide 3)
(("1" (split)
(("1" (lemma delete_is_position)
(("1" (inst -1 "p!1" "t!1" )
(("1" (assert )
(("1" (hide-all-but (1 3))
(("1" (lemma empty_0[posnat])
(("1" (inst -1 p!1)
(("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (lemma pos_subterm_ax)
(("2" (inst -1 "pi0!1" "#(last(p!1) + 1)" "s!1" )
(("2" (assert )
(("2" (expand positionsOF 1)
(("2" (lift-if)
(("2" (ground)
(("1"
(lemma subterm_is_app)
(("1"
(inst -1 p!1 t!1)
(("1"
(assert )
(("1"
(hide-all-but (1 3))
(("1"
(lemma empty_0[posnat])
(("1"
(inst -1 p!1)
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(typepred
"args(subtermOF(t!1, pi0!1))"
"args(subtermOF(s!1, pi0!1))" )
(("2"
(replace -6 -2)
(("2"
(replace -1 -2 rl)
(("2"
(hide -1)
(("2"
(replace -1 -2 rl)
(("2"
(hide -1)
(("2"
(case
"positionsOF(subtermOF(s!1, pi0!1)) = only_empty_seq" )
(("1"
(lemma pos_subterm_ax)
(("1"
(inst
-1
"pi0!1"
"#(1 + last(p!1))"
"s!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(hide-all-but (-1 1))
(("2"
(expand positionsOF)
(("2"
(assert )
(("2"
(lift-if)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(expand union)
(("3"
(expand member)
(("3"
(flatten)
(("3"
(expand IUnion)
(("3"
(expand finseq_appl)
(("3"
(inst 3 "last(p!1) + 1" )
(("1"
(expand catenate)
(("1"
(inst 3 empty_seq)
(("1"
(split)
(("1"
(hide-all-but 1)
(("1"
(expand
positionsOF)
(("1"
(lift-if)
(("1"
(ground)
(("1"
(expand *
member
only_empty_seq)
nil
nil )
("2"
(expand *
member
only_empty_seq)
nil
nil )
("3"
(expand *
union
member
only_empty_seq)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but 1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma next_position_TCC5)
(("2"
(inst -1 s!1 s!1 pi!1)
(("2"
(split)
(("1"
(case
"delete(pi!1, length(pi!1) - 1) = pi0!1" )
(("1"
(replace -1 -2)
(("1"
(typepred
"args(subtermOF(t!1, pi0!1))"
"args(subtermOF(s!1, pi0!1))" )
(("1"
(replace
-7
-1
rl)
(("1"
(replace
-1
-2
rl)
(("1"
(replace
-2
1
rl)
(("1"
(replace
-2
-1
rl)
(("1"
(replace
-1
-4
rl)
(("1"
(case
"1 + last(p!1) = last(pi!1)" )
(("1"
(assert )
nil
nil )
("2"
(hide-all-but
(-6
-10
1))
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-7 1))
(("2"
(expand *
add_last
insert?
delete)
(("2"
(decompose-equality
-1)
(("1"
(decompose-equality
1)
(("1"
(expand
finseq_appl)
(("1"
(decompose-equality
1)
(("1"
(decompose-equality
-2)
(("1"
(hide
-2)
(("1"
(typepred
x!1)
(("1"
(inst
-2
x!1)
(("1"
(lift-if)
(("1"
(ground)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skosimp)
(("2"
(hide
-2)
(("2"
(replaces
-1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
finseq_appl)
(("2"
(decompose-equality
2)
(("1"
(decompose-equality
1)
nil
nil )
("2"
(skosimp)
(("2"
(decompose-equality
-3)
(("2"
(typepred
x!1)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(expand
finseq_appl)
(("3"
(decompose-equality
2)
(("1"
(decompose-equality
1)
nil
nil )
("2"
(skosimp)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but
(-3 -7 1))
(("3"
(grind)
nil
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1 -3 -5 -7 5))
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (-4 1))
(("2" (expand * add_last o insert?)
(("2"
(case "1 + pi0!1`length = #(1 + last(p!1))`length + pi0!1`length" )
(("1" (replace -1 1 rl)
(("1" (decompose-equality 1)
(("1" (decompose-equality 1)
(("1" (expand finseq_appl)
(("1" (decompose-equality -2)
(("1" (grind) nil nil )) nil ))
nil )
("2" (grind) nil nil ) ("3" (grind) nil nil ))
nil )
("2" (grind) nil nil ) ("3" (grind) nil nil ))
nil ))
nil )
("2" (hide -1 2) (("2" (grind) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(pos_o_term formula-decl nil subterm nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(delete_is_position formula-decl nil positions nil )
(subterm_is_app formula-decl nil subterm nil )
(only_empty_seq const-decl "positions" positions nil )
(subtermOF def-decl "term" subterm nil )
(positions? type-eq-decl nil positions nil )
(args adt-accessor-decl
"[d: (app?) -> {args: finite_sequence[term] | args`length = arity(f(d))}]"
term_adt nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(member const-decl "bool" sets nil )
(IUnion const-decl "set[T]" indexed_sets nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(<= const-decl "bool" reals nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(t!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(p!1 skolem-const-decl
"{p: position | positionsOF(s!1)(p) AND positionsOF(t!1)(p)}"
robinsonunificationEF nil )
(pi0!1 skolem-const-decl "finseq[posnat]" robinsonunificationEF
nil )
(upto? nonempty-type-eq-decl nil IUnion_extra nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(add_first const-decl "finseq" seq_extras "structures/" )
(insert? const-decl "finseq" seq_extras "structures/" )
(catenate const-decl "positions" positions nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(< const-decl "bool" reals nil )
(delete const-decl "finseq" seq_extras "structures/" )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(add_last const-decl "finseq" seq_extras "structures/" )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(pi!1 skolem-const-decl "finseq[posnat]" robinsonunificationEF nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(next_position_TCC5 subtype-tcc nil robinsonunificationEF nil )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(union const-decl "set" sets nil )
(pos_subterm_ax formula-decl nil subterm nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(below type-eq-decl nil nat_types nil )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(finseq type-eq-decl nil finite_sequences nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(O const-decl "finseq" finite_sequences nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(numfield nonempty-type-eq-decl nil number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(/= const-decl "boolean" notequal nil )
(not_empty_seq type-eq-decl nil seq_extras "structures/" )
(last const-decl "T" seq_extras "structures/" )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(position type-eq-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(term type-decl nil term_adt nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil ))
nil ))
(next_position_TCC16 0
(next_position_TCC16-1 nil 3497078571
("" (skosimp*)
(("" (lemma next_position_TCC15)
(("" (inst -1 s!1 t!1 p!1)
(("" (assert )
(("" (inst -1 pi0!1)
(("" (assert )
(("" (inst -1 pi!1) (("" (assert ) nil nil )) nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((next_position_TCC15 subtype-tcc nil robinsonunificationEF nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(finseq type-eq-decl nil finite_sequences nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil ))
nil ))
(next_position_TCC17 0
(next_position_TCC17-1 nil 3497078571
("" (skosimp*)
(("" (lift-if)
(("" (lift-if)
(("" (prop)
(("1" (hide-all-but (-1 -6 3)) (("1" (grind) nil nil )) nil )
("2" (lift-if)
(("2" (prop)
(("2" (rewrite lex2_lt)
(("1" (flatten)
(("1" (split)
(("1" (hide-all-but (-5 1))
(("1" (expand * add_last delete insert?)
(("1" (expand finseq_appl)
(("1" (decompose-equality -1)
(("1" (hide -2)
(("1"
(lift-if)
(("1"
(prop)
(("1"
(reveal 3)
(("1"
(lemma empty_0[posnat])
(("1"
(inst -1 p!1)
(("1" (assert ) nil nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("2" (reveal 3)
(("2"
(hide-all-but (-3 1))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 p!1)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("3" (reveal 3)
(("3"
(hide-all-but (-3 1))
(("3"
(lemma empty_0[posnat])
(("3"
(inst -1 p!1)
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case "delete(pi!1, length(pi!1) - 1) = delete(p!1, length(p!1) - 1)" )
(("1" (replace -1 1)
(("1" (replace -3 1 rl)
(("1" (rewrite both_sides_minus_lt2)
(("1" (case "last(pi!1) = last(p!1) + 1" )
(("1" (assert ) nil nil )
("2"
(hide-all-but (-6 1))
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (replace -2 1 rl)
(("2" (replace -2 -5 rl)
(("2" (hide-all-but (-2 -5 1 5 6))
(("2" (expand delete 1)
(("2"
(expand finseq_appl)
(("2"
(decompose-equality 1)
(("1"
(lift-if)
(("1"
(prop)
(("1"
(hide-all-but (-1 2))
(("1"
(lemma empty_0[posnat])
(("1"
(inst -1 pi!1)
(("1" (assert ) nil nil ))
nil ))
nil ))
nil )
("2"
(expand * add_last insert?)
(("2"
(decompose-equality -2)
(("2"
(hide-all-but (-1 2))
(("2"
(replaces -1)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lift-if)
(("2"
(prop)
(("1"
(hide-all-but (-1 2))
(("1"
(lemma empty_0[posnat])
(("1"
(inst -1 pi!1)
(("1" (assert ) nil nil ))
nil ))
nil ))
nil )
("2"
(decompose-equality 2)
(("1"
(expand * add_last insert?)
(("1"
(expand finseq_appl)
(("1"
(decompose-equality -2)
(("1"
(decompose-equality -2)
(("1"
(inst -1 x!1)
(("1"
(lift-if)
(("1"
(prop)
(("1"
(typepred x!1)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skosimp)
(("2"
(expand *
add_last
insert?
finseq_appl)
(("2"
(decompose-equality -2)
(("2"
(hide-all-but (-1 1))
(("2"
(replaces -1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(lemma empty_0[posnat])
(("3"
(inst -1 pi!1)
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide-all-but (1 6))
(("3" (lemma empty_0[posnat])
(("3" (inst -1 p!1) (("3" (assert ) nil nil ))
nil ))
nil ))
nil )
("4" (hide-all-but (1 5))
(("4" (lemma empty_0[posnat])
(("4" (inst -1 pi!1) (("4" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (rewrite next_position_TCC5) nil nil )
("3" (hide-all-but (1 5))
(("3" (lemma empty_0[posnat])
(("3" (inst -1 p!1) (("3" (assert ) nil nil )) nil ))
nil ))
nil )
("4" (lemma next_position_TCC5)
(("4" (inst -1 s!1 s!1 pi!1) (("4" (assert ) nil nil ))
nil ))
nil )
("5" (hide-all-but (1 4))
(("5" (lemma empty_0[posnat])
(("5" (inst -1 pi!1) (("5" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(add_last const-decl "finseq" seq_extras "structures/" )
(insert? const-decl "finseq" seq_extras "structures/" )
(last const-decl "T" seq_extras "structures/" )
(delete const-decl "finseq" seq_extras "structures/" )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(next_position_TCC5 subtype-tcc nil robinsonunificationEF nil )
(both_sides_minus_lt2 formula-decl nil real_props nil )
(pi!1 skolem-const-decl "finseq[posnat]" robinsonunificationEF nil )
(pi0!1 skolem-const-decl "finseq[posnat]" robinsonunificationEF
nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(even_plus_odd_is_odd application-judgement "odd_int" integers nil )
(odd_plus_even_is_odd application-judgement "odd_int" integers nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(not_empty_seq type-eq-decl nil seq_extras "structures/" )
(/= const-decl "boolean" notequal nil )
(< const-decl "bool" reals nil )
(subtermOF def-decl "term" subterm nil )
(positions? type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(position type-eq-decl nil positions nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(term type-decl nil term_adt nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(finseq type-eq-decl nil finite_sequences nil )
(below type-eq-decl nil nat_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(lex2_lt formula-decl nil lex2 nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
nil ))
(next_position_TCC18 0
(next_position_TCC18-1 nil 3497078571
("" (skosimp*)
(("" (typepred p!1)
(("" (lemma delete_is_position)
(("" (inst-cp -1 p!1 s!1)
(("" (inst -1 p!1 t!1)
(("" (lemma empty_0[posnat])
(("" (inst -1 p!1) (("" (assert ) nil nil )) nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((AND const-decl "[bool, bool -> bool]" booleans nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(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 )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(finseq type-eq-decl nil finite_sequences nil )
(delete_is_position formula-decl nil positions nil ))
nil ))
(next_position_TCC19 0
(next_position_TCC19-1 nil 3506626310
("" (skosimp*)
(("" (assert )
(("" (rewrite lex2_lt)
(("1" (flatten)
(("1" (hide-all-but (-2 1 4))
(("1" (expand * delete finseq_appl)
(("1" (decompose-equality -1)
(("1" (hide -2)
(("1" (lemma empty_0[posnat])
(("1" (inst -1 p!1) (("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -1 -3 4 5)
(("2" (lemma next_position_TCC5)
(("2" (inst -1 s!1 t!1 p!1) (("2" (assert ) nil nil )) nil ))
nil ))
nil )
("3" (hide-all-but (1 2))
(("3" (lemma empty_0[posnat])
(("3" (inst -1 p!1) (("3" (assert ) nil nil )) nil )) nil ))
nil )
("4" (hide -1 -3 4 5)
(("4" (lemma next_position_TCC5)
(("4" (inst -1 s!1 t!1 pi0!1)
(("1" (assert ) nil nil )
("2" (hide 2)
(("2" (lemma delete_is_position)
(("2" (inst-cp -1 p!1 s!1)
(("2" (inst -1 p!1 t!1)
(("2" (lemma empty_0[posnat])
(("2" (inst -1 p!1) (("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("5" (hide-all-but (1 3))
(("5" (lemma empty_0[posnat])
(("5" (inst -1 pi0!1) (("5" (assert ) nil nil )) nil )) nil ))
nil ))
nil ))
nil ))
nil )
((posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(pi0!1 skolem-const-decl "finseq[posnat]" robinsonunificationEF
nil )
(t!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(delete_is_position formula-decl nil positions nil )
(next_position_TCC5 subtype-tcc nil robinsonunificationEF nil )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(= const-decl "[T, T -> boolean]" equalities nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(last const-decl "T" seq_extras "structures/" )
(not_empty_seq type-eq-decl nil seq_extras "structures/" )
(/= const-decl "boolean" notequal nil )
(delete const-decl "finseq" seq_extras "structures/" )
(< const-decl "bool" reals nil )
(subtermOF def-decl "term" subterm nil )
(positions? type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(position type-eq-decl nil positions nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(term type-decl nil term_adt nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(finseq type-eq-decl nil finite_sequences nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(lex2_lt formula-decl nil lex2 nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil ))
nil ))
(right_pos_subset 0
(right_pos_subset-1 nil 3506439585
("" (measure-induct+ "length(p)" ("s" "p" ))
(("" (expand * subset? member)
(("" (skosimp)
(("" (expand right_pos -2)
(("" (expand * union IUnion member)
(("" (prop)
(("1" (hide -1 -3)
(("1" (expand only_empty_seq)
(("1" (replaces -1)
(("1" (expand positionsOF)
(("1" (lift-if)
(("1" (expand only_empty_seq)
(("1" (prop)
(("1" (expand union)
(("1"
(flatten)
(("1"
(hide 3)
(("1"
(expand member)
(("1" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -2)
(("2" (expand singleton) (("2" (assert ) nil nil )) nil ))
nil )
("3" (inst -2 "x!1" "delete(x!2, length(x!2) - 1)" )
(("1" (expand delete -2 1)
(("1" (lemma empty_0[posnat])
(("1" (inst -1 x!2)
(("1" (assert )
(("1" (inst -2 x!3) (("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (rewrite delete_is_position)
(("2" (flatten) (("2" (rewrite empty_0) nil nil ))
nil ))
nil )
("3" (lemma empty_0[posnat])
(("3" (inst -1 x!2) (("3" (assert ) nil nil )) nil ))
nil ))
nil )
("4" (skosimp*)
(("4" (hide -3)
(("4"
(name-replace "pi"
"add_last(delete(x!2, length(x!2) - 1), 1 + i!1 + last(x!2))"
:hide? nil )
(("1"
(case "pi = delete(x!2, length(x!2) - 1) o #(1 + i!1 + last(x!2))" )
(("1" (replace -1 -4 rl)
(("1" (hide -2)
(("1" (lemma pos_o_term)
(("1" (inst -1 pi q1!1 x!1)
(("1"
(assert )
(("1"
(lemma right_pos_TCC5)
(("1"
(inst -1 x!1 x!2)
(("1"
(assert )
(("1"
(inst
-1
"delete(x!2, length(x!2) - 1)" )
(("1"
(inst -1 "last(x!2)" )
(("1"
(inst
-1
"arity(f(subtermOF(x!1, delete(x!2, length(x!2) - 1))))" )
(("1"
(inst -1 i!1)
(("1"
(assert )
(("1"
(reveal -7)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(lemma right_pos_TCC3)
(("2"
(inst -1 x!1 x!2)
(("2"
(assert )
(("2"
(inst
-1
"delete(x!2, length(x!2) - 1)" )
(("1"
(inst
-1
"last(x!2)" )
nil
nil )
("2"
(hide-all-but
(1 4))
(("2"
(lemma
empty_0[posnat])
(("2"
(inst -1 x!2)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(rewrite
delete_is_position)
(("3"
(hide-all-but (1 4))
(("3"
(flatten)
(("3"
(rewrite empty_0)
nil
nil ))
nil ))
nil ))
nil )
("4"
(hide-all-but (1 3))
(("4"
(lemma empty_0[posnat])
(("4"
(inst -1 x!2)
(("4"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (1 3))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!2)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (replace -1 1 rl)
(("2" (hide - 2 3)
(("2" (grind)
(("2" (decompose-equality)
(("1"
(reveal 1)
(("1"
(lemma empty_0[posnat])
(("1"
(inst -1 x!2)
(("1"
(assert )
(("1"
(assert )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(grind)
(("1"
(typepred x!4)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skosimp)
(("2" (grind) nil nil ))
nil )
("3"
(skosimp)
(("3"
(reveal 1)
(("3"
(hide 2)
(("3"
(lemma empty_0[posnat])
(("3"
(inst -1 x!2)
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("4"
(skosimp)
(("4"
(reveal 1)
(("4"
(lemma empty_0[posnat])
(("4"
(inst -1 x!2)
(("4" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("5"
(reveal 1)
(("5"
(lemma empty_0[posnat])
(("5"
(inst -1 x!2)
(("5" (assert ) nil nil ))
nil ))
nil ))
nil )
("6"
(skosimp)
(("6"
(typepred i!2)
(("6"
(lemma empty_0[posnat])
(("6"
(reveal 1)
(("6"
(inst -1 x!2)
(("6" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("7"
(skosimp)
(("7"
(reveal 1)
(("7"
(lemma empty_0[posnat])
(("7"
(inst -1 x!2)
(("7" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("8"
(skosimp)
(("8"
(reveal 1)
(("8"
(lemma empty_0[posnat])
(("8"
(inst -1 x!2)
(("8" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("9"
(reveal 1)
(("9"
(lemma empty_0[posnat])
(("9"
(inst -1 x!2)
(("9" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide-all-but (1 2))
(("3" (lemma empty_0[posnat])
(("3" (inst -1 x!2) (("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (1 2))
(("2" (lemma empty_0[posnat])
(("2" (inst -1 x!2) (("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((member const-decl "bool" sets nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(only_empty_seq const-decl "positions" positions nil )
(singleton const-decl "(singleton?)" sets nil )
(delete_is_position formula-decl nil positions nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(delete const-decl "finseq" seq_extras "structures/" )
(finseq type-eq-decl nil finite_sequences nil )
(x!2 skolem-const-decl "{p: position | positionsOF(x!1)(p)}"
robinsonunificationEF nil )
(x!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(O const-decl "finseq" finite_sequences nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(right_pos_TCC5 subtype-tcc nil robinsonunificationEF nil )
(right_pos_TCC3 subtype-tcc nil robinsonunificationEF nil )
(pos_o_term formula-decl nil subterm nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(insert? const-decl "finseq" seq_extras "structures/" )
(below type-eq-decl nil naturalnumbers nil )
(last const-decl "T" seq_extras "structures/" )
(not_empty_seq type-eq-decl nil seq_extras "structures/" )
(/= const-decl "boolean" notequal nil )
(subtermOF def-decl "term" subterm nil )
(positions? type-eq-decl nil positions nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(add_last const-decl "finseq" seq_extras "structures/" )
(union const-decl "set" sets nil )
(IUnion const-decl "set[T]" indexed_sets nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(right_pos def-decl "positions" robinsonunificationEF nil )
(subset? const-decl "bool" sets nil )
(set type-eq-decl nil sets nil )
(wf_nat formula-decl nil naturalnumbers nil )
(< const-decl "bool" reals nil )
(naturalnumber type-eq-decl nil naturalnumbers nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(measure_induction formula-decl nil measure_induction nil )
(well_founded? const-decl "bool" orders nil )
(pred type-eq-decl nil defined_types nil ))
shostak))
(next_position_commute 0
(next_position_commute-1 nil 3503335634
(""
(measure-induct+ "IF p = empty_seq
THEN lex2(0,0)
ELSE lex2(length(p),
arity(f(subtermOF(s,delete(p,length(p) - 1)))) - last(p))
ENDIF" (" s" " t" " p"))
(("1" (case "x!3 = empty_seq" )
(("1" (hide -2)
(("1" (expand next_position) (("1" (assert ) nil nil )) nil ))
nil )
("2" (expand next_position 2 1)
(("2" (assert )
(("2" (lift-if)
(("2" (prop)
(("1" (expand next_position 2) (("1" (assert ) nil nil ))
nil )
("2" (hide -3)
(("2" (expand next_position 2)
(("2" (assert )
(("2"
(case "positionsOF(x!2)
(add_last(delete(x!3, length(x!3) - 1),
1 + last(x!3)))")
(("1" (assert ) nil nil )
("2" (hide 3)
(("2" (lemma next_position_TCC15)
(("2" (inst -1 x!1 x!2 x!3)
(("2" (assert )
(("2"
(inst
-1
"delete(x!3, length(x!3) - 1)" )
(("1"
(assert )
(("1"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("1" (assert ) nil nil )
("2"
(hide-all-but (1 4))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (1 4))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide-all-but (1 4))
(("3" (lemma empty_0[posnat])
(("3" (inst -1 x!3) (("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(inst -4 x!1 x!2
" add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("1" (assert )
(("1"
(case "add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3)) = empty_seq" )
(("1" (hide-all-but -1) (("1" (grind) nil nil ))
nil )
("2" (assert )
(("2" (lemma next_position_TCC17)
(("2" (inst -1 x!1 x!2 x!3)
(("2" (assert )
(("2"
(inst -1 "delete(x!3, length(x!3) - 1)" )
(("1"
(assert )
(("1"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("1"
(assert )
(("1"
(expand next_position 2 2)
(("1"
(case
"positionsOF(x!2)
(add_last(delete(x!3, length(x!3) - 1),
1 + last(x!3)))")
(("1" (assert ) nil nil )
("2"
(hide -1 -2 -5 2 3)
(("2"
(lemma next_position_TCC15)
(("2"
(inst -1 x!1 x!2 x!3)
(("2"
(assert )
(("2"
(inst
-1
"delete(x!3, length(x!3) - 1)" )
(("1"
(assert )
(("1"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("1"
(assert )
nil
nil )
("2"
(hide-all-but
(1 3))
(("2"
(lemma
empty_0[posnat])
(("2"
(inst
-1
x!3)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1 3))
(("2"
(lemma
empty_0[posnat])
(("2"
(inst -1 x!3)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (1 4))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (1 4))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide-all-but (1 3))
(("3" (lemma empty_0[posnat])
(("3" (inst -1 x!3) (("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (1 3))
(("2" (lemma empty_0[posnat])
(("2" (inst -1 x!3) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("4" (inst -2 x!1 x!2 "delete(x!3, length(x!3) - 1)" )
(("1" (assert )
(("1" (split)
(("1" (expand next_position 2 2)
(("1" (assert )
(("1"
(case "positionsOF(x!2)
(add_last(delete(x!3, length(x!3) - 1),
1 + last(x!3)))")
(("1" (hide -2 1 2)
(("1" (lemma next_position_TCC15)
(("1"
(inst -1 x!2 x!1 x!3)
(("1"
(assert )
(("1"
(inst
-1
"delete(x!3, length(x!3) - 1)" )
(("1"
(assert )
(("1"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("1" (assert ) nil nil )
("2"
(hide-all-but (1 3))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (1 3))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil )
("3" (hide-all-but (1 5))
(("3" (lemma empty_0[posnat])
(("3"
(inst -1 x!3)
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (rewrite lex2_lt)
(("1" (flatten)
(("1" (hide-all-but (1 6))
(("1" (expand delete)
(("1" (rewrite empty_0)
(("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (hide -1 2 4 5)
(("2" (lemma next_position_TCC5)
(("2" (inst -1 x!1 x!2 x!3)
(("2" (assert ) nil nil )) nil ))
nil ))
nil )
("3" (hide -1 2 4 5)
(("3" (lemma next_position_TCC5)
(("3"
(inst -1 x!1 x!2
"delete(x!3, length(x!3) - 1)" )
(("1" (assert ) nil nil )
("2" (hide 2)
(("2"
(rewrite delete_is_position)
(("1"
(rewrite delete_is_position)
(("1"
(flatten)
(("1" (rewrite empty_0) nil nil ))
nil ))
nil )
("2"
(flatten)
(("2" (rewrite empty_0) nil nil ))
nil ))
nil ))
nil )
("3" (hide 2 3)
(("3"
(lemma empty_0[posnat])
(("3"
(inst -1 x!3)
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("4" (hide -1 2 4 5)
(("4" (lemma empty_0[posnat])
(("4"
(inst -1 "delete(x!3, length(x!3) - 1)" )
(("1" (assert ) nil nil )
("2" (hide 2 3)
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("5" (hide-all-but (1 6))
(("5" (lemma empty_0[posnat])
(("5" (inst -1 x!3) (("5" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (1 5))
(("2" (lemma empty_0[posnat])
(("2" (inst -1 x!3) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("5" (expand next_position 1)
(("5" (assert )
(("5"
(case "positionsOF(x!2)
(add_last(delete(x!3, length(x!3) - 1),
1 + last(x!3)))")
(("1" (hide -2 -4 1)
(("1" (lemma next_position_TCC15)
(("1" (inst -1 x!2 x!1 x!3)
(("1" (assert )
(("1"
(inst -1 "delete(x!3, length(x!3) - 1)" )
(("1"
(assert )
(("1"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("1" (assert ) nil nil )
("2"
(hide-all-but (1 3))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (1 3))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil )
("3" (hide-all-but (1 4))
(("3" (lemma empty_0[posnat])
(("3" (inst -1 x!3) (("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 3)
(("2" (lemma next_position_TCC5)
(("2" (inst -1 x!1 x!2 x!3) (("2" (assert ) nil nil )) nil ))
nil ))
nil )
("3" (hide 2) (("3" (rewrite empty_0) nil nil )) nil )
("4" (hide 3)
(("4" (lemma next_position_TCC3)
(("4" (inst -1 x!1 x!2 x!3) (("4" (assert ) nil nil )) nil ))
nil ))
nil )
("5" (hide 3)
(("5" (rewrite delete_is_position)
(("5" (hide 3)
(("5" (flatten) (("5" (rewrite empty_0) nil nil )) nil )) nil ))
nil ))
nil )
("6" (hide 3)
(("6" (lemma empty_0[posnat])
(("6" (inst -1 x!3) (("6" (assert ) nil nil )) nil )) nil ))
nil )
("7" (hide 3)
(("7" (lemma next_position_TCC5)
(("7" (inst -1 y!1 y!2 y!3) (("7" (assert ) nil nil )) nil ))
nil ))
nil )
("8" (hide 2) (("8" (rewrite empty_0) nil nil )) nil )
("9" (hide 3)
(("9" (lemma next_position_TCC3)
(("9" (inst -1 y!1 y!2 y!3) (("9" (assert ) nil nil )) nil ))
nil ))
nil )
("10" (hide 3)
(("10" (rewrite delete_is_position)
(("10" (hide 3)
(("10" (flatten) (("10" (rewrite empty_0) nil nil )) nil ))
nil ))
nil ))
nil )
("11" (hide 3)
(("11" (lemma empty_0[posnat])
(("11" (inst -1 y!3) (("11" (assert ) nil nil )) nil )) nil ))
nil )
("12" (hide 3)
(("12" (lemma next_position_TCC5)
(("12" (inst -1 "x!1`1" "x!1`2" "x!1`3" )
(("12" (assert ) nil nil )) nil ))
nil ))
nil )
("13" (hide 2) (("13" (rewrite empty_0) nil nil )) nil )
("14" (hide 3)
(("14" (lemma next_position_TCC3)
(("14" (inst -1 "x!1`1" "x!1`2" "x!1`3" )
(("14" (assert ) nil nil )) nil ))
nil ))
nil )
("15" (hide 3)
(("15" (rewrite delete_is_position)
(("15" (hide 3)
(("15" (flatten) (("15" (rewrite empty_0) nil nil )) nil ))
nil ))
nil ))
nil )
("16" (hide 3)
(("16" (lemma empty_0[posnat])
(("16" (inst -1 "x!1`3" ) (("16" (assert ) nil nil )) nil )) nil ))
nil )
("17" (hide 3)
(("17" (lemma next_position_TCC5)
(("17" (inst -1 "y!1`1" "y!1`2" "y!1`3" )
(("17" (assert ) nil nil )) nil ))
nil ))
nil )
("18" (hide 2) (("18" (rewrite empty_0) nil nil )) nil )
("19" (hide 3)
(("19" (lemma next_position_TCC3)
(("19" (inst -1 "y!1`1" "y!1`2" "y!1`3" )
(("19" (assert ) nil nil )) nil ))
nil ))
nil )
("20" (hide 3)
(("20" (rewrite delete_is_position)
(("20" (hide 3)
(("20" (flatten) (("20" (rewrite empty_0) nil nil )) nil ))
nil ))
nil ))
nil )
("21" (hide 3)
(("21" (lemma empty_0[posnat])
(("21" (inst -1 "y!1`3" ) (("21" (assert ) nil nil )) nil )) nil ))
nil )
("22" (hide 3)
(("22" (lemma next_position_TCC5)
(("22" (inst -1 "s!1" "t!1" "p!1" ) (("22" (assert ) nil nil ))
nil ))
nil ))
nil )
("23" (hide 2) (("23" (rewrite empty_0) nil nil )) nil )
("24" (hide 3)
(("24" (lemma next_position_TCC3)
(("24" (inst -1 "s!1" "t!1" "p!1" ) (("24" (assert ) nil nil ))
nil ))
nil ))
nil )
("25" (hide 3)
(("25" (rewrite delete_is_position)
(("25" (hide 3)
(("25" (flatten) (("25" (rewrite empty_0) nil nil )) nil ))
nil ))
nil ))
nil )
("26" (hide 3)
(("26" (lemma empty_0[posnat])
(("26" (inst -1 "p!1" ) (("26" (assert ) nil nil )) nil )) nil ))
nil ))
nil )
((next_position_TCC3 subtype-tcc nil robinsonunificationEF nil )
(add_last const-decl "finseq" seq_extras "structures/" )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(next_position_TCC15 subtype-tcc nil robinsonunificationEF nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(x!3 skolem-const-decl
"{p: position | positionsOF(x!1)(p) AND positionsOF(x!2)(p)}"
robinsonunificationEF nil )
(x!2 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(x!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(next_position_TCC17 termination-tcc nil robinsonunificationEF nil )
(insert? const-decl "finseq" seq_extras "structures/" )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(lex2_lt formula-decl nil lex2 nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(next_position_TCC5 subtype-tcc nil robinsonunificationEF nil )
(delete_is_position formula-decl nil positions nil )
(next_position def-decl "position" robinsonunificationEF nil )
(well_founded_le formula-decl nil ordinals nil )
(< def-decl "bool" ordinals nil )
(last const-decl "T" seq_extras "structures/" )
(not_empty_seq type-eq-decl nil seq_extras "structures/" )
(/= const-decl "boolean" notequal nil )
(delete const-decl "finseq" seq_extras "structures/" )
(subtermOF def-decl "term" subterm nil )
(positions? type-eq-decl nil positions nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(lex2 const-decl "ordinal" lex2 nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(finseq type-eq-decl nil finite_sequences nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(< const-decl "bool" reals nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(ordinal nonempty-type-eq-decl nil ordinals nil )
(ordinal? def-decl "bool" ordinals nil )
(ordstruct type-decl nil ordstruct_adt nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(measure_induction formula-decl nil measure_induction nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(well_founded? const-decl "bool" orders nil )
(pred type-eq-decl nil defined_types nil )
(int_minus_int_is_int application-judgement "int" integers nil ))
shostak))
(next_position_is_position 0
(next_position_is_position-1 nil 3503157274
(""
(measure-induct+ "IF p = empty_seq
THEN lex2(0,0)
ELSE lex2(length(p),
arity(f(subtermOF(s,delete(p,length(p) - 1)))) - last(p))
ENDIF" (" s" " t" " p"))
(("1" (case "x!3 = empty_seq" )
(("1" (hide -2 -4)
(("1" (expand next_position) (("1" (assert ) nil nil )) nil ))
nil )
("2" (expand next_position 2)
(("2" (assert )
(("2" (prop)
(("1" (hide -1)
(("1" (rewrite delete_is_position)
(("1" (flatten) (("1" (rewrite empty_0) nil nil )) nil ))
nil ))
nil )
("2"
(inst -4 x!1 x!2 " add_last(delete(x!3, length(x!3) - 1),
1 + last(x!3))")
(("1" (assert )
(("1" (lift-if)
(("1" (prop)
(("1" (hide -2 -3 -4 -5 -6 1 2 3)
(("1" (grind) nil nil )) nil )
("2" (lemma next_position_TCC17)
(("2" (inst -1 x!1 x!2 x!3)
(("2" (assert )
(("2"
(inst -1 "delete(x!3, length(x!3) - 1)" )
(("1" (assert )
(("1"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("1" (assert ) nil nil )
("2"
(hide-all-but (1 5))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (1 5))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (1 3))
(("2" (lemma empty_0[posnat])
(("2" (inst -1 x!3) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("3" (hide 3)
(("3" (inst -2 x!1 x!2 "delete(x!3, length(x!3) - 1)" )
(("1" (assert )
(("1" (hide -1 2)
(("1" (rewrite lex2_lt)
(("1" (flatten)
(("1" (hide 1 4)
(("1" (expand delete)
(("1" (lemma empty_0[posnat])
(("1"
(inst -1 x!3)
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 4)
(("2" (lemma next_position_TCC5)
(("2" (inst -1 x!1 x!2 x!3)
(("2" (assert ) nil nil )) nil ))
nil ))
nil )
("3" (hide 4)
(("3" (lemma next_position_TCC5)
(("3"
(inst -1 x!1 x!2
"delete(x!3, length(x!3) - 1)" )
(("1" (assert ) nil nil )
("2" (hide 2)
(("2"
(rewrite delete_is_position)
(("1"
(rewrite delete_is_position)
(("1"
(flatten)
(("1" (rewrite empty_0) nil nil ))
nil ))
nil )
("2"
(flatten)
(("2" (rewrite empty_0) nil nil ))
nil ))
nil ))
nil )
("3" (hide 2 3)
(("3"
(lemma empty_0[posnat])
(("3"
(inst -1 x!3)
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("4" (hide 4)
(("4" (lemma empty_0[posnat])
(("4"
(inst -1 "delete(x!3, length(x!3) - 1)" )
(("1" (assert ) nil nil )
("2" (hide 2 3)
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("5" (hide 2 4)
(("5" (lemma empty_0[posnat])
(("5" (inst -1 x!3) (("5" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (1 4))
(("2" (lemma empty_0[posnat])
(("2" (inst -1 x!3) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("4" (hide-all-but 1)
(("4" (expand positionsOF)
(("4" (lift-if)
(("4" (expand * union IUnion member only_empty_seq)
nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 3)
(("2" (lemma next_position_TCC5)
(("2" (inst -1 x!1 x!2 x!3) (("2" (assert ) nil nil )) nil ))
nil ))
nil )
("3" (hide 2) (("3" (rewrite empty_0) nil nil )) nil )
("4" (hide 3)
(("4" (lemma next_position_TCC3)
(("4" (inst -1 x!1 x!2 x!3) (("4" (assert ) nil nil )) nil ))
nil ))
nil )
("5" (hide 3)
(("5" (rewrite delete_is_position)
(("5" (hide 3)
(("5" (flatten) (("5" (rewrite empty_0) nil nil )) nil )) nil ))
nil ))
nil )
("6" (hide 3)
(("6" (lemma empty_0[posnat])
(("6" (inst -1 x!3) (("6" (assert ) nil nil )) nil )) nil ))
nil )
("7" (hide 3)
(("7" (lemma next_position_TCC5)
(("7" (inst -1 y!1 y!2 y!3) (("7" (assert ) nil nil )) nil ))
nil ))
nil )
("8" (hide 2) (("8" (rewrite empty_0) nil nil )) nil )
("9" (hide 3)
(("9" (lemma next_position_TCC3)
(("9" (inst -1 y!1 y!2 y!3) (("9" (assert ) nil nil )) nil ))
nil ))
nil )
("10" (hide 3)
(("10" (rewrite delete_is_position)
(("10" (hide 3)
(("10" (flatten) (("10" (rewrite empty_0) nil nil )) nil ))
nil ))
nil ))
nil )
("11" (hide 3)
(("11" (lemma empty_0[posnat])
(("11" (inst -1 y!3) (("11" (assert ) nil nil )) nil )) nil ))
nil )
("12" (hide 3)
(("12" (lemma next_position_TCC5)
(("12" (inst -1 "x!1`1" "x!1`2" "x!1`3" )
(("12" (assert ) nil nil )) nil ))
nil ))
nil )
("13" (hide 2) (("13" (rewrite empty_0) nil nil )) nil )
("14" (hide 3)
(("14" (lemma next_position_TCC3)
(("14" (inst -1 "x!1`1" "x!1`2" "x!1`3" )
(("14" (assert ) nil nil )) nil ))
nil ))
nil )
("15" (hide 3)
(("15" (rewrite delete_is_position)
(("15" (hide 3)
(("15" (flatten) (("15" (rewrite empty_0) nil nil )) nil ))
nil ))
nil ))
nil )
("16" (hide 3)
(("16" (lemma empty_0[posnat])
(("16" (inst -1 "x!1`3" ) (("16" (assert ) nil nil )) nil )) nil ))
nil )
("17" (hide 3)
(("17" (lemma next_position_TCC5)
(("17" (inst -1 "y!1`1" "y!1`2" "y!1`3" )
(("17" (assert ) nil nil )) nil ))
nil ))
nil )
("18" (hide 2) (("18" (rewrite empty_0) nil nil )) nil )
("19" (hide 3)
(("19" (lemma next_position_TCC3)
(("19" (inst -1 "y!1`1" "y!1`2" "y!1`3" )
(("19" (assert ) nil nil )) nil ))
nil ))
nil )
("20" (hide 3)
(("20" (rewrite delete_is_position)
(("20" (hide 3)
(("20" (flatten) (("20" (rewrite empty_0) nil nil )) nil ))
nil ))
nil ))
nil )
("21" (hide 3)
(("21" (lemma empty_0[posnat])
(("21" (inst -1 "y!1`3" ) (("21" (assert ) nil nil )) nil )) nil ))
nil )
("22" (hide 3)
(("22" (lemma next_position_TCC5)
(("22" (inst -1 "s!1" "t!1" "p!1" ) (("22" (assert ) nil nil ))
nil ))
nil ))
nil )
("23" (hide 2) (("23" (rewrite empty_0) nil nil )) nil )
("24" (hide 3)
(("24" (lemma next_position_TCC3)
(("24" (inst -1 "s!1" "t!1" "p!1" ) (("24" (assert ) nil nil ))
nil ))
nil ))
nil )
("25" (hide 3)
(("25" (rewrite delete_is_position)
(("25" (hide 3)
(("25" (flatten) (("25" (rewrite empty_0) nil nil )) nil ))
nil ))
nil ))
nil )
("26" (hide 3)
(("26" (lemma empty_0[posnat])
(("26" (inst -1 "p!1" ) (("26" (assert ) nil nil )) nil )) nil ))
nil ))
nil )
((next_position_TCC3 subtype-tcc nil robinsonunificationEF nil )
(only_empty_seq const-decl "positions" positions nil )
(member const-decl "bool" sets nil )
(IUnion const-decl "set[T]" indexed_sets nil )
(union const-decl "set" sets nil )
(lex2_lt formula-decl nil lex2 nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(next_position_TCC5 subtype-tcc nil robinsonunificationEF nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(x!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(x!2 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(x!3 skolem-const-decl
"{p: position | positionsOF(x!1)(p) AND positionsOF(x!2)(p)}"
robinsonunificationEF nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(add_last const-decl "finseq" seq_extras "structures/" )
(next_position_TCC17 termination-tcc nil robinsonunificationEF nil )
(insert? const-decl "finseq" seq_extras "structures/" )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(delete_is_position formula-decl nil positions nil )
(next_position def-decl "position" robinsonunificationEF nil )
(well_founded_le formula-decl nil ordinals nil )
(< def-decl "bool" ordinals nil )
(last const-decl "T" seq_extras "structures/" )
(not_empty_seq type-eq-decl nil seq_extras "structures/" )
(/= const-decl "boolean" notequal nil )
(delete const-decl "finseq" seq_extras "structures/" )
(subtermOF def-decl "term" subterm nil )
(positions? type-eq-decl nil positions nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(lex2 const-decl "ordinal" lex2 nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(finseq type-eq-decl nil finite_sequences nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(< const-decl "bool" reals nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(ordinal nonempty-type-eq-decl nil ordinals nil )
(ordinal? def-decl "bool" ordinals nil )
(ordstruct type-decl nil ordstruct_adt nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(measure_induction formula-decl nil measure_induction nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(well_founded? const-decl "bool" orders nil )
(pred type-eq-decl nil defined_types nil )
(int_minus_int_is_int application-judgement "int" integers nil ))
shostak))
(next_pos_length_and_last_TCC1 0
(next_pos_length_and_last_TCC1-1 nil 3506181251
("" (skosimp)
(("" (hide 1)
(("" (lemma empty_0[posnat])
(("" (inst -1 p!1) (("" (assert ) nil nil )) nil )) nil ))
nil ))
nil )
((nat nonempty-type-eq-decl nil naturalnumbers nil )
(below type-eq-decl nil nat_types nil )
(finseq type-eq-decl nil finite_sequences nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(position type-eq-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(term type-decl nil term_adt nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(/= const-decl "boolean" notequal nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil ))
nil ))
(next_pos_length_and_last_TCC2 0
(next_pos_length_and_last_TCC2-1 nil 3506259641
("" (skosimp)
(("" (typepred p!1)
(("" (hide -1 -2)
(("" (lemma empty_0[posnat])
(("" (inst -1 p!1) (("" (assert ) nil nil )) nil )) nil ))
nil ))
nil ))
nil )
((empty_seq const-decl "finseq" finite_sequences nil )
(finseq type-eq-decl nil finite_sequences nil )
(/= const-decl "boolean" notequal nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(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 )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
nil ))
(next_pos_length_and_last 0
(next_pos_length_and_last-1 nil 3506181434
("" (lemma empty_0[posnat])
((""
(measure-induct+
"lex2(length(p), arity(f(subtermOF(s,delete(p,length(p) - 1)))) - last(p))"
("s" "t" "p" ))
(("1"
(name-replace "p!1" "next_position(x!1, x!2, x!3)" :hide? nil )
(("1" (inst -3 x!3)
(("1" (assert )
(("1" (ground)
(("1" (expand next_position -1)
(("1" (lift-if)
(("1" (ground)
(("1" (hide -2 1 2)
(("1" (replace -1 1 rl)
(("1" (hide -1)
(("1" (expand delete)
(("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (hide -2 -3 -4 1 3)
(("2" (replace -1 1 rl)
(("2" (hide -1)
(("2"
(expand * add_last delete insert?
finseq_appl)
nil nil ))
nil ))
nil ))
nil )
("3"
(inst -5 "x!1" "x!2"
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("1" (replace -2 -5)
(("1" (split -5)
(("1"
(case "length(add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))) = length(x!3)" )
(("1" (assert ) nil nil )
("2" (hide - 2 3)
(("2"
(expand *
add_last
delete
insert?
finseq_appl)
nil
nil ))
nil ))
nil )
("2" (flatten)
(("2"
(case "length(add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))) = length(x!3)" )
(("1" (assert ) nil nil )
("2"
(hide - 2 3)
(("2"
(expand *
add_last
delete
insert?
finseq_appl)
nil
nil ))
nil ))
nil ))
nil )
("3" (hide -2 2 3)
(("3" (lemma next_position_TCC17)
(("3"
(inst -1 x!1 x!2 x!3)
(("3"
(assert )
(("3"
(inst
-1
"delete(x!3, length(x!3) - 1)" )
(("3"
(assert )
(("3"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("3"
(assert )
(("3"
(lift-if)
(("3"
(prop)
(("3"
(hide-all-but (-1 2))
(("3"
(expand *
add_last
insert?
finseq_appl)
(("3"
(decompose-equality)
(("3"
(hide -2)
(("3"
(lemma
empty_0[posnat])
(("3"
(inst
-1
empty_seq)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (lemma next_position_TCC15)
(("2" (inst -1 x!1 x!2 x!3)
(("2" (assert )
(("2"
(inst -1 "delete(x!3, length(x!3) - 1)" )
(("2"
(assert )
(("2"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("2"
(assert )
(("2"
(hide - 2 3)
(("2"
(expand *
add_last
delete
insert?
finseq_appl)
(("2"
(decompose-equality)
(("2"
(hide -2)
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 empty_seq)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("4"
(inst -3 x!1 x!2 "delete(x!3, length(x!3) - 1)" )
(("1" (replace -1 -3)
(("1" (split -3)
(("1" (expand delete -1)
(("1" (assert ) nil nil )) nil )
("2" (flatten)
(("2" (expand delete -1)
(("2" (assert ) nil nil )) nil ))
nil )
("3" (assert )
(("3" (hide -1 4 5)
(("3"
(lemma next_position_TCC19)
(("3"
(inst -1 x!1 x!2 x!3)
(("3"
(assert )
(("3"
(inst
-1
"delete(x!3, length(x!3) - 1)" )
(("3"
(assert )
(("3"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (rewrite delete_is_position)
(("2" (rewrite delete_is_position) nil nil ))
nil ))
nil )
("5" (hide -1 -3 -4 1)
(("5" (lemma empty_0[posnat])
(("5" (inst -1 p!1) (("5" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand next_position -1)
(("2" (lift-if)
(("2" (ground)
(("1" (hide -2 1 2)
(("1" (replace -1 1 rl)
(("1" (hide -1)
(("1" (expand delete)
(("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (hide -2 -3 -4 1 3)
(("2" (replace -1 1 rl)
(("2" (hide -1)
(("2"
(expand * add_last delete insert?
finseq_appl)
(("2" (grind) nil nil )) nil ))
nil ))
nil ))
nil )
("3"
(inst -5 x!1 x!2
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("1" (replace -2 -5)
(("1" (split -5)
(("1" (hide-all-but (-1 2 3))
(("1"
(expand * add_last delete insert?
finseq_appl)
nil nil ))
nil )
("2" (flatten)
(("2" (hide -1 -3 -4 -5 -6 2)
(("2"
(case
"last(add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))) = 1 + last(x!3)" )
(("1"
(replaces -1)
(("1" (assert ) nil nil ))
nil )
("2"
(hide-all-but 1)
(("2"
(expand *
add_last
delete
insert?
finseq_appl)
(("2"
(assert )
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (lemma next_position_TCC17)
(("3" (inst -1 x!1 x!2 x!3)
(("3"
(assert )
(("3"
(inst
-1
"delete(x!3, length(x!3) - 1)" )
(("3"
(assert )
(("3"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("3"
(assert )
(("3"
(lift-if)
(("3"
(prop)
(("3"
(hide
-2
-3
-4
-5
-6
1
2
4)
(("3"
(expand *
add_last
delete
insert?
finseq_appl)
(("3"
(decompose-equality)
(("3"
(hide -2)
(("3"
(lemma
empty_0[posnat])
(("3"
(inst
-1
empty_seq)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (lemma next_position_TCC15)
(("2" (inst -1 x!1 x!2 x!3)
(("2" (assert )
(("2"
(inst -1 "delete(x!3, length(x!3) - 1)" )
(("2"
(assert )
(("2"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("2"
(assert )
(("2"
(hide - 2 3)
(("2"
(expand *
add_last
delete
insert?
finseq_appl)
(("2"
(decompose-equality)
(("2"
(hide -2)
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 empty_seq)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("4"
(inst -3 "x!1" "x!2"
"delete(x!3, length(x!3) - 1)" )
(("1" (lemma next_position_TCC19)
(("1" (inst -1 x!1 x!2 x!3)
(("1" (assert )
(("1"
(inst -1 "delete(x!3, length(x!3) - 1)" )
(("1"
(assert )
(("1"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("1"
(assert )
(("1"
(hide -1)
(("1"
(replace -1 -3)
(("1"
(prop)
(("1"
(case
"length(delete(x!3, length(x!3) - 1)) < length(x!3)" )
(("1" (assert ) nil nil )
("2"
(hide-all-but (1 6))
(("2"
(expand delete)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(case
"length(delete(x!3, length(x!3) - 1)) < length(x!3)" )
(("1" (assert ) nil nil )
("2"
(hide-all-but (1 6))
(("2"
(expand delete)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (rewrite delete_is_position)
(("2" (rewrite delete_is_position) nil nil ))
nil ))
nil )
("5" (hide-all-but (-2 3 4))
(("5" (lemma empty_0[posnat])
(("5" (inst -1 p!1) (("5" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -2 1 2)
(("2" (inst -3 y!3) (("2" (assert ) nil nil )) nil )) nil )
("3" (hide-all-but (-3 -4))
(("3" (inst -2 y!3) (("3" (assert ) nil nil )) nil )) nil )
("4" (hide -1 2)
(("4" (lemma next_position_TCC5)
(("4" (inst -1 x!1 x!2 x!3) (("4" (assert ) nil nil )) nil ))
nil ))
nil )
("5" (hide 1) (("5" (inst -2 x!3) (("5" (assert ) nil nil )) nil ))
nil )
("6" (hide 2)
(("6" (lemma next_position_TCC12)
(("6" (inst -1 x!1 x!2 x!3)
(("6" (assert )
(("6" (inst -1 "delete(x!3, length(x!3) - 1)" )
(("6" (inst -1 x!3) (("6" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("7" (hide 2)
(("7" (rewrite delete_is_position)
(("7" (inst -1 x!3) (("7" (assert ) nil nil )) nil )) nil ))
nil )
("8" (hide 2) (("8" (inst -1 x!3) (("8" (assert ) nil nil )) nil ))
nil )
("9" (hide 2)
(("9" (lemma next_position_TCC5)
(("9" (inst -1 y!1 y!2 y!3) (("9" (assert ) nil nil )) nil ))
nil ))
nil )
("10" (hide 1)
(("10" (inst -2 y!3) (("10" (assert ) nil nil )) nil )) nil )
("11" (hide 2)
(("11" (lemma next_position_TCC12)
(("11" (inst -1 y!1 y!2 y!3)
(("11" (assert )
(("11" (inst -1 "delete(y!3, length(y!3) - 1)" )
(("11" (inst -1 y!3) (("11" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("12" (hide 2)
(("12" (rewrite delete_is_position)
(("12" (inst -1 y!3) (("12" (assert ) nil nil )) nil )) nil ))
nil )
("13" (hide 2)
(("13" (inst -1 y!3) (("13" (assert ) nil nil )) nil )) nil )
("14" (hide -2 2)
(("14" (inst -3 "x!1`3" ) (("14" (assert ) nil nil )) nil )) nil )
("15" (hide-all-but (-3 -4))
(("15" (inst -2 "x!1`3" ) (("15" (assert ) nil nil )) nil )) nil )
("16" (hide-all-but (-1 -3 -4))
(("16" (inst -3 "y!1`3" ) (("16" (assert ) nil nil )) nil )) nil )
("17" (hide-all-but (-3 -4))
(("17" (inst -2 "y!1`3" ) (("17" (assert ) nil nil )) nil )) nil )
("18" (hide 2)
(("18" (lemma next_position_TCC5)
(("18" (inst -1 "x!1`1" "x!1`2" "x!1`3" )
(("18" (assert ) nil nil )) nil ))
nil ))
nil )
("19" (hide 1)
(("19" (inst -2 "x!1`3" ) (("19" (assert ) nil nil )) nil )) nil )
("20" (hide 2)
(("20" (lemma next_position_TCC12)
(("20" (inst -1 "x!1`1" "x!1`2" "x!1`3" )
(("20" (assert )
(("20" (inst -1 "delete(x!1`3, length(x!1`3) - 1)" )
(("20" (inst -1 "x!1`3" ) (("20" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("21" (hide 2)
(("21" (rewrite delete_is_position)
(("21" (inst -1 "x!1`3" ) (("21" (assert ) nil nil )) nil ))
nil ))
nil )
("22" (hide 2)
(("22" (inst -1 "x!1`3" ) (("22" (assert ) nil nil )) nil )) nil )
("23" (hide 2)
(("23" (lemma next_position_TCC5)
(("23" (inst -1 "y!1`1" "y!1`2" "y!1`3" )
(("23" (assert ) nil nil )) nil ))
nil ))
nil )
("24" (hide 1)
(("24" (inst -2 "y!1`3" ) (("24" (assert ) nil nil )) nil )) nil )
("25" (hide 2)
(("25" (lemma next_position_TCC12)
(("25" (inst -1 "y!1`1" "y!1`2" "y!1`3" )
(("25" (assert )
(("25" (inst -1 "delete(y!1`3, length(y!1`3) - 1)" )
(("25" (inst -1 "y!1`3" ) (("25" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("26" (hide 2)
(("26" (rewrite delete_is_position)
(("26" (inst -1 "y!1`3" ) (("26" (assert ) nil nil )) nil ))
nil ))
nil )
("27" (hide 2)
(("27" (inst -1 "y!1`3" ) (("27" (assert ) nil nil )) nil )) nil )
("28" (hide +)
(("28" (inst -3 p!1) (("28" (assert ) nil nil )) nil )) nil )
("29" (hide -1 +)
(("29" (inst -2 p!1) (("29" (assert ) nil nil )) nil )) nil )
("30" (hide 2)
(("30" (lemma next_position_TCC5)
(("30" (inst -1 s!1 t!1 p!1) (("30" (assert ) nil nil )) nil ))
nil ))
nil )
("31" (hide 1)
(("31" (inst -2 p!1) (("31" (assert ) nil nil )) nil )) nil )
("32" (hide 2)
(("32" (lemma next_position_TCC12)
(("32" (inst -1 s!1 t!1 p!1)
(("32" (assert )
(("32" (inst -1 "delete(p!1, length(p!1) - 1)" )
(("32" (inst -1 p!1) (("32" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("33" (hide 2)
(("33" (rewrite delete_is_position)
(("33" (inst -1 p!1) (("33" (assert ) nil nil )) nil )) nil ))
nil )
("34" (inst -1 p!1) (("34" (assert ) nil nil )) nil ))
nil ))
nil )
((int_minus_int_is_int application-judgement "int" integers nil )
(pred type-eq-decl nil defined_types nil )
(well_founded? const-decl "bool" orders nil )
(measure_induction formula-decl nil measure_induction nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(term type-decl nil term_adt nil )
(below type-eq-decl nil nat_types nil )
(position type-eq-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(/= const-decl "boolean" notequal nil )
(finseq type-eq-decl nil finite_sequences nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(ordstruct type-decl nil ordstruct_adt nil )
(ordinal? def-decl "bool" ordinals nil )
(ordinal nonempty-type-eq-decl nil ordinals nil )
(lex2 const-decl "ordinal" lex2 nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(positions? type-eq-decl nil positions nil )
(subtermOF def-decl "term" subterm nil )
(< const-decl "bool" reals nil )
(delete const-decl "finseq" seq_extras "structures/" )
(not_empty_seq type-eq-decl nil seq_extras "structures/" )
(last const-decl "T" seq_extras "structures/" )
(< def-decl "bool" ordinals nil )
(well_founded_le formula-decl nil ordinals nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(next_position def-decl "position" robinsonunificationEF nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(next_position_TCC19 termination-tcc nil robinsonunificationEF nil )
(delete_is_position formula-decl nil positions nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(x!2 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(x!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(x!3 skolem-const-decl "{p: position |
positionsOF(x!1)(p) AND positionsOF(x!2)(p) AND p /= empty_seq}"
robinsonunificationEF nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(next_position_TCC17 termination-tcc nil robinsonunificationEF nil )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(next_position_TCC15 subtype-tcc nil robinsonunificationEF nil )
(insert? const-decl "finseq" seq_extras "structures/" )
(add_last const-decl "finseq" seq_extras "structures/" )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(next_position_TCC5 subtype-tcc nil robinsonunificationEF nil )
(next_position_TCC12 subtype-tcc nil robinsonunificationEF nil )
(x!3 skolem-const-decl "{p: position |
positionsOF(x!1)(p) AND positionsOF(x!2)(p) AND p /= empty_seq}"
robinsonunificationEF nil )
(x!2 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(x!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(y!3 skolem-const-decl "{p: position |
positionsOF(y!1)(p) AND positionsOF(y!2)(p) AND p /= empty_seq}"
robinsonunificationEF nil )
(y!2 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(y!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(x!1 skolem-const-decl "[s: term, t: term,
{p: position | positionsOF(s)(p) AND positionsOF(t)(p) AND p /= empty_seq}]"
robinsonunificationEF nil )
(y!1 skolem-const-decl "[s: term, t: term,
{p: position | positionsOF(s)(p) AND positionsOF(t)(p) AND p /= empty_seq}]"
robinsonunificationEF nil )
(p!1 skolem-const-decl "{p: position |
positionsOF(s!1)(p) AND positionsOF(t!1)(p) AND p /= empty_seq}"
robinsonunificationEF nil )
(t!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil ))
shostak))
(next_pos_is_a_diff_pos 0
(next_pos_is_a_diff_pos-1 nil 3504615157
("" (skosimp)
(("" (lemma "next_pos_length_and_last" )
(("" (inst -1 s!1 t!1 p!1)
(("1" (assert ) nil nil ) ("2" (assert ) nil nil )) nil ))
nil ))
nil )
((next_pos_length_and_last formula-decl nil robinsonunificationEF
nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(below type-eq-decl nil nat_types nil )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(position type-eq-decl nil positions nil )
(/= const-decl "boolean" notequal nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(term type-decl nil term_adt nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(t!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(p!1 skolem-const-decl
"{p: position | positionsOF(s!1)(p) AND positionsOF(t!1)(p)}"
robinsonunificationEF nil )
(finseq type-eq-decl nil finite_sequences nil )
(empty_seq const-decl "finseq" finite_sequences nil ))
shostak))
(member_right_pos 0
(member_right_pos-1 nil 3506959387
("" (measure-induct+ "length(p)" ("s" "p" ))
(("" (skosimp)
(("" (expand member)
(("" (prop)
(("1" (expand right_pos -1)
(("1" (prop)
(("1" (hide 2 -3)
(("1" (expand only_empty_seq) (("1" (assert ) nil nil ))
nil ))
nil )
("2" (expand union)
(("2" (prop)
(("1" (expand member)
(("1" (prop)
(("1" (hide -2 1 3)
(("1" (expand singleton)
(("1" (assert ) nil nil )) nil ))
nil )
("2"
(inst -2 x!1 "delete(x!2, length(x!2) - 1)" )
(("1" (inst -2 q!1)
(("1" (expand delete -2 1)
(("1" (rewrite empty_0)
(("1"
(assert )
(("1"
(prop)
(("1"
(hide -2)
(("1"
(expand left_pos)
(("1"
(skosimp)
(("1"
(prop)
(("1"
(inst
5
r!1
"p1!1 o #(last(x!2))"
q1!1)
(("1"
(flatten)
(("1"
(hide 6)
(("1"
(assert )
(("1"
(prop)
(("1"
(hide-all-but -1)
(("1"
(grind)
nil
nil ))
nil )
("2"
(rewrite o_assoc)
(("2"
(replace
-2
1
rl)
(("2"
(hide
-
2
3
5)
(("2"
(expand
delete)
(("2"
(rewrite
empty_0)
(("2"
(expand
finseq_appl)
(("2"
(decompose-equality)
(("1"
(grind)
nil
nil )
("2"
(decompose-equality)
(("1"
(grind)
nil
nil )
("2"
(lemma
empty_0[posnat])
(("2"
(inst
-1
x!2)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("3"
(lemma
empty_0[posnat])
(("3"
(inst
-1
x!2)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (1 4))
(("2"
(flatten)
(("2"
(rewrite empty_0)
nil
nil ))
nil ))
nil ))
nil )
("2"
(inst
6
r!1
"p1!1 o #(last(x!2))"
q1!1)
(("1"
(flatten)
(("1"
(hide 6)
(("1"
(assert )
(("1"
(prop)
(("1"
(rewrite o_assoc)
(("1"
(replace
-2
1
rl)
(("1"
(hide
-
2
3
4
6)
(("1"
(expand
delete)
(("1"
(rewrite
empty_0)
(("1"
(expand
finseq_appl)
(("1"
(decompose-equality)
(("1"
(grind)
nil
nil )
("2"
(decompose-equality)
(("1"
(grind)
nil
nil )
("2"
(lemma
empty_0[posnat])
(("2"
(inst
-1
x!2)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("3"
(lemma
empty_0[posnat])
(("3"
(inst
-1
x!2)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but -1)
(("2"
(grind)
nil
nil ))
nil )
("3"
(rewrite
first_compo)
(("3"
(hide-all-but
(1 4))
(("3"
(flatten)
(("3"
(rewrite
empty_0)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (1 5))
(("2"
(flatten)
(("2"
(rewrite empty_0)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -2 1)
(("2"
(expand left_pos)
(("2"
(inst
3
"delete(x!2, length(x!2) - 1)"
"#(last(x!2))"
empty_seq)
(("1"
(assert )
(("1"
(prop)
(("1"
(hide-all-but -1)
(("1" (grind) nil nil ))
nil )
("2"
(hide -1 3)
(("2"
(expand delete)
(("2"
(rewrite empty_0)
(("2"
(decompose-equality)
(("1"
(grind)
nil
nil )
("2"
(decompose-equality)
(("1"
(grind)
nil
nil )
("2"
(lemma
empty_0[posnat])
(("2"
(inst -1 x!2)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("3"
(lemma
empty_0[posnat])
(("3"
(inst -1 x!2)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -1 3)
(("2"
(flatten)
(("2"
(rewrite empty_0)
nil
nil ))
nil ))
nil )
("3"
(hide -1 3)
(("3"
(lemma empty_0[posnat])
(("3"
(inst -1 x!2)
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (rewrite delete_is_position)
(("2" (hide-all-but (1 3))
(("2" (flatten)
(("2" (rewrite empty_0) nil nil )) nil ))
nil ))
nil )
("3" (hide-all-but (1 2))
(("3" (lemma empty_0[posnat])
(("3" (inst -1 x!2)
(("3" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -2)
(("2" (expand * member IUnion)
(("2" (skosimp*)
(("2" (expand left_pos)
(("2"
(inst 3 "delete(x!2, length(x!2) - 1)"
"#(last(x!2))"
"#(1 + i!1 + last(x!2)) o q1!1" )
(("1" (flatten)
(("1"
(hide 3)
(("1"
(prop)
(("1"
(hide -1 3)
(("1"
(replaces -1)
(("1"
(expand delete)
(("1"
(rewrite empty_0)
(("1"
(assert )
(("1"
(decompose-equality)
(("1" (grind) nil nil )
("2"
(decompose-equality)
(("1" (grind) nil nil )
("2"
(lemma
empty_0[posnat])
(("2"
(inst -1 x!2)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("3"
(lemma empty_0[posnat])
(("3"
(inst -1 x!2)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide - 3)
(("2"
(expand delete)
(("2"
(rewrite empty_0)
(("2"
(assert )
(("2"
(decompose-equality)
(("1" (grind) nil nil )
("2"
(decompose-equality)
(("1" (grind) nil nil )
("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!2)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("3"
(lemma empty_0[posnat])
(("3"
(inst -1 x!2)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but -1)
(("3" (grind) nil nil ))
nil )
("4"
(hide-all-but -1)
(("4" (grind) nil nil ))
nil )
("5"
(rewrite first_compo)
(("1"
(hide-all-but 1)
(("1" (grind) nil nil ))
nil )
("2"
(hide-all-but -1)
(("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (1 2))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 x!2)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (case "x!2 = empty_seq" )
(("1" (hide -3)
(("1" (expand * left_pos right_pos only_empty_seq)
(("1" (assert )
(("1" (skosimp)
(("1" (prop)
(("1" (replaces -3)
(("1" (lemma seq_empty[posnat])
(("1" (inst -1 r!1 p1!1)
(("1" (assert )
(("1"
(lemma empty_0[posnat])
(("1"
(inst -1 r!1)
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (replaces -4)
(("2" (hide -1 -3)
(("2" (lemma seq_empty[posnat])
(("2" (inst -1 r!1 p1!1)
(("2"
(assert )
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 p1!1)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (case "q!1 = delete(x!2, length(x!2) - 1)" )
(("1" (hide -2 -3)
(("1" (expand right_pos)
(("1" (assert )
(("1" (expand * union member)
(("1" (flatten)
(("1" (hide 4)
(("1" (replace -1 3 rl)
(("1" (expand * right_pos only_empty_seq)
(("1"
(prop)
(("1"
(expand * union member)
(("1"
(flatten)
(("1"
(hide-all-but 2)
(("1"
(expand singleton)
(("1" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (inst -2 x!1 "delete(x!2, length(x!2) - 1)" )
(("1" (inst -2 q!1)
(("1" (expand delete -2 1)
(("1" (rewrite empty_0)
(("1" (assert )
(("1" (expand right_pos 3)
(("1" (expand * union member)
(("1" (flatten 3)
(("1"
(assert )
(("1"
(hide 4 5)
(("1"
(expand * singleton left_pos)
(("1"
(skosimp)
(("1"
(prop)
(("1"
(inst
5
r!1
"delete(p1!1, length(p1!1) - 1)"
empty_seq)
(("1"
(assert )
(("1"
(prop)
(("1"
(expand o)
(("1"
(decompose-equality
-3)
(("1"
(expand *
delete
finseq_appl)
(("1"
(expand
empty_seq
-3)
(("1"
(decompose-equality
-3)
(("1"
(lemma
empty_0[posnat])
(("1"
(inst
-1
p1!1)
(("1"
(assert )
(("1"
(replaces
-5)
(("1"
(decompose-equality
3)
(("1"
(decompose-equality
1)
(("1"
(decompose-equality
-4)
(("1"
(inst
-1
x!3)
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(skosimp)
(("2"
(prop)
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand delete 1)
(("2"
(rewrite empty_0)
(("2"
(rewrite empty_0)
(("2"
(expand o)
(("2"
(expand
finseq_appl)
(("2"
(decompose-equality
-2)
(("2"
(assert )
(("2"
(decompose-equality
1)
(("1"
(decompose-equality
-2)
(("1"
(inst
-1
x!3)
nil
nil ))
nil )
("2"
(skosimp)
(("2"
(prop)
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("3"
(skosimp)
(("3"
(assert )
nil
nil ))
nil )
("4"
(hide-all-but
(1 2))
(("4"
(lemma
empty_0[posnat])
(("4"
(inst
-1
p1!1)
(("4"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("5"
(hide-all-but
(1 4))
(("5"
(lemma
empty_0[posnat])
(("5"
(inst
-1
x!2)
(("5"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (1 2))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 p1!1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
6
r!1
"delete(p1!1, length(p1!1) - 1)"
q1!1)
(("1"
(flatten)
(("1"
(hide 6)
(("1"
(prop)
(("1"
(hide -1 -3 4)
(("1"
(expand *
delete
finseq_appl)
(("1"
(rewrite empty_0)
(("1"
(rewrite
empty_0)
(("1"
(assert )
(("1"
(expand o)
(("1"
(decompose-equality
-1)
(("1"
(assert )
(("1"
(decompose-equality
-2)
(("1"
(decompose-equality
1)
(("1"
(inst
-1
x!3)
nil
nil )
("2"
(skosimp)
(("2"
(prop)
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("3"
(skosimp)
(("3"
(assert )
nil
nil ))
nil )
("4"
(hide-all-but
(1
3))
(("4"
(lemma
empty_0[posnat])
(("4"
(inst
-1
p1!1)
(("4"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("5"
(hide-all-but
(1
4))
(("5"
(lemma
empty_0[posnat])
(("5"
(inst
-1
x!2)
(("5"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(reveal 4)
(("2"
(expand IUnion)
(("2"
(inst
1
"first(q1!1) - 1 - last(x!2)" )
(("1"
(assert )
(("1"
(inst
1
"rest(q1!1)" )
(("1"
(prop)
(("1"
(case
"add_last(delete(x!2, length(x!2) - 1),
first(q1!1)) o rest(q1!1)
= r!1 o q1!1")
(("1"
(typepred
q!1)
(("1"
(lemma
pos_subterm_ax)
(("1"
(inst
-1
"add_last(delete(x!2, length(x!2) - 1), first(q1!1))"
"rest(q1!1)"
x!1)
(("1"
(replace
-3
-1)
(("1"
(assert )
nil
nil ))
nil )
("2"
(hide-all-but
(1
6))
(("2"
(lemma
empty_0[posnat])
(("2"
(inst
-1
x!2)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
2)
(("2"
(case
"r!1 = delete(x!2, length(x!2) - 1)" )
(("1"
(replace
-1
1
rl)
(("1"
(lemma
seq_first_rest_1[posnat])
(("1"
(inst
-1
q1!1)
(("1"
(lemma
empty_0[posnat])
(("1"
(inst
-1
q1!1)
(("1"
(assert )
(("1"
(case
"add_last(r!1, first(q1!1)) o rest(q1!1) = r!1 o ( #(first(q1!1)) o rest(q1!1))" )
(("1"
(replaces
-1)
(("1"
(assert )
nil
nil ))
nil )
("2"
(hide-all-but
(1
4))
(("2"
(expand *
add_last
insert?
finseq_appl)
(("2"
(expand
o)
(("2"
(prop)
(("1"
(grind)
nil
nil )
("2"
(decompose-equality
1)
(("1"
(grind)
nil
nil )
("2"
(skosimp)
(("2"
(grind)
nil
nil ))
nil )
("3"
(skosimp)
(("3"
(assert )
nil
nil ))
nil )
("4"
(skosimp)
(("4"
(assert )
nil
nil ))
nil )
("5"
(skosimp)
(("5"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-2
-4
2
3
5
7)
(("2"
(expand *
delete
finseq_appl)
(("2"
(rewrite
empty_0)
(("2"
(rewrite
empty_0)
(("2"
(decompose-equality)
(("1"
(expand
empty_seq
-1)
(("1"
(flatten)
(("1"
(hide
-2)
(("1"
(expand
o)
(("1"
(decompose-equality
-2)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
empty_seq
-1)
(("2"
(flatten)
(("2"
(hide
-2)
(("2"
(expand
o)
(("2"
(decompose-equality
-2)
(("2"
(decompose-equality
-2)
(("2"
(decompose-equality
1)
(("1"
(inst
-1
x!3)
(("1"
(assert )
nil
nil ))
nil )
("2"
(hide
-1)
(("2"
(skosimp)
(("2"
(prop)
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(lemma
empty_0[posnat])
(("3"
(inst
-1
x!2)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"r!1 = delete(x!2, length(x!2) - 1)" )
(("1"
(replace
-1
1
rl)
(("1"
(hide
-1
-2
-4
-5
3
4
5
6)
(("1"
(expand
o)
(("1"
(decompose-equality
-1)
(("1"
(decompose-equality
-2)
(("1"
(decompose-equality
1)
(("1"
(lemma
seq_first_rest_1[posnat])
(("1"
(inst
-1
q1!1)
(("1"
(lemma
empty_0[posnat])
(("1"
(inst
-1
q1!1)
(("1"
(assert )
(("1"
(expand
o)
(("1"
(decompose-equality
-1)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(decompose-equality
1)
(("1"
(inst
-1
x!3)
(("1"
(assert )
(("1"
(grind)
nil
nil ))
nil ))
nil )
("2"
(skosimp)
(("2"
(hide
-1)
(("2"
(lemma
seq_first_rest_1[posnat])
(("2"
(inst
-1
q1!1)
(("2"
(lemma
empty_0[posnat])
(("2"
(inst
-1
q1!1)
(("2"
(assert )
(("2"
(expand
o)
(("2"
(decompose-equality
-1)
(("2"
(prop)
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(skosimp)
(("3"
(assert )
nil
nil ))
nil )
("4"
(skosimp)
(("4"
(rewrite
empty_0)
nil
nil ))
nil )
("5"
(skosimp)
(("5"
(rewrite
empty_0)
nil
nil ))
nil )
("6"
(skosimp)
(("6"
(assert )
nil
nil ))
nil )
("7"
(skosimp)
(("7"
(rewrite
empty_0)
nil
nil ))
nil )
("8"
(hide
-)
(("8"
(flatten)
(("8"
(rewrite
empty_0)
nil
nil ))
nil ))
nil ))
nil )
("3"
(skosimp)
(("3"
(assert )
nil
nil ))
nil )
("4"
(skosimp)
(("4"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-2
-4
2
3
5
7)
(("2"
(expand *
delete
finseq_appl)
(("2"
(rewrite
empty_0)
(("2"
(rewrite
empty_0)
(("2"
(expand
empty_seq
-1)
(("2"
(flatten)
(("2"
(hide
-2)
(("2"
(expand
o)
(("2"
(decompose-equality
-2)
(("2"
(decompose-equality
-2)
(("2"
(decompose-equality
1)
(("2"
(decompose-equality
1)
(("1"
(inst
-1
x!3)
(("1"
(assert )
nil
nil ))
nil )
("2"
(skosimp)
(("2"
(ground)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(prop)
(("1"
(case
"last(x!2) = first(p1!1)" )
(("1"
(replace
-1)
(("1"
(assert )
nil
nil ))
nil )
("2"
(hide-all-but
(-1
-3
1
4
6))
(("2"
(expand *
last
first
finseq_appl)
(("2"
(expand
o)
(("2"
(decompose-equality
-2)
(("2"
(decompose-equality
-2)
(("2"
(inst
-1
"x!2`length - 1" )
(("1"
(expand
delete
-3)
(("1"
(rewrite
empty_0)
(("1"
(assert )
(("1"
(expand
empty_seq
-3)
(("1"
(flatten)
(("1"
(hide
-4)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
empty_0[posnat])
(("2"
(inst
-1
x!2)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(name
"pi"
"r!1 o #(first(q1!1))" )
(("2"
(case
"delete(x!2, length(x!2) - 1) = r!1" )
(("1"
(replaces
-1)
(("1"
(case
"first(q1!1) = last(pi)" )
(("1"
(replaces
-1)
(("1"
(lemma
next_position_TCC5)
(("1"
(inst
-1
x!1
x!1
pi)
(("1"
(prop)
(("1"
(case
"delete(pi, length(pi) - 1) = r!1" )
(("1"
(replaces
-1)
(("1"
(assert )
nil
nil ))
nil )
("2"
(hide-all-but
(-2
1))
(("2"
(expand *
delete
finseq_appl)
(("2"
(lift-if)
(("2"
(prop)
(("1"
(grind)
nil
nil )
("2"
(decompose-equality
2)
(("1"
(expand
o)
(("1"
(decompose-equality
-1)
(("1"
(hide
-2)
(("1"
(grind)
(("1"
(replace
-1
1
rl)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(decompose-equality
1)
(("2"
(expand
o)
(("2"
(decompose-equality
-1)
(("2"
(decompose-equality
-2)
(("2"
(inst
-1
x!3)
(("1"
(typepred
x!3)
(("1"
(grind)
nil
nil ))
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but
(-2
1))
(("3"
(grind)
nil
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1
-2))
(("2"
(grind)
nil
nil ))
nil ))
nil )
("2"
(reveal
-2)
(("2"
(lemma
seq_first_rest_1[posnat])
(("2"
(inst
-1
q1!1)
(("2"
(lemma
empty_0[posnat])
(("2"
(inst
-1
q1!1)
(("2"
(assert )
(("2"
(replace
-1
-5)
(("2"
(lemma
pos_ax)
(("2"
(rewrite
o_assoc)
(("2"
(inst
-1
"r!1 o #(first(q1!1))"
"rest(q1!1)"
x!1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1
1
3))
(("2"
(expand *
first
last
finseq_appl)
(("2"
(expand
o)
(("2"
(decompose-equality
-1)
(("2"
(decompose-equality
-2)
(("2"
(inst
-1
"pi`length - 1" )
(("1"
(expand
"#"
-2)
(("1"
(assert )
(("1"
(replace
-2
-1
rl)
(("1"
(assert )
(("1"
(expand
"#" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but
(-1
1))
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide
-1
-3
-5
2
3
5
7)
(("2"
(expand
delete)
(("2"
(rewrite
empty_0)
(("2"
(rewrite
empty_0)
(("2"
(assert )
(("2"
(expand
finseq_appl)
(("2"
(expand
empty_seq
-1)
(("2"
(flatten)
(("2"
(hide
-2)
(("2"
(decompose-equality
1)
(("1"
(expand
o)
(("1"
(decompose-equality
-2)
(("1"
(hide
-2)
(("1"
(replaces
-1)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(decompose-equality
1)
(("1"
(expand
o)
(("1"
(decompose-equality
-2)
(("1"
(decompose-equality
-2)
(("1"
(inst
-1
x!3)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-
2)
(("2"
(lemma
empty_0[posnat])
(("2"
(inst
-1
x!2)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(skosimp)
(("3"
(expand
o)
(("3"
(decompose-equality
-2)
(("3"
(hide
-2)
(("3"
(ground)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("4"
(hide
-
2)
(("4"
(lemma
empty_0[posnat])
(("4"
(inst
-1
x!2)
(("4"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but
(1 5))
(("3"
(flatten)
(("3"
(rewrite
empty_0)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but
(-3 1 2 3))
(("3"
(expand *
delete
finseq_appl)
(("3"
(rewrite empty_0)
(("3"
(assert )
(("3"
(expand
first)
(("3"
(expand
finseq_appl)
(("3"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (1 3))
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 p1!1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (rewrite delete_is_position)
(("2" (flatten) (("2" (rewrite empty_0) nil nil ))
nil ))
nil )
("3" (lemma empty_0[posnat])
(("3" (inst -1 x!2) (("3" (assert ) nil nil )) nil ))
nil ))
nil )
("3" (lemma empty_0[posnat])
(("3" (inst -1 x!2) (("3" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("3" (hide -3)
(("3" (expand left_pos)
(("3" (skosimp)
(("3" (prop)
(("1" (replaces -1)
(("1" (replaces -2)
(("1" (expand o)
(("1" (decompose-equality -1)
(("1" (hide -2)
(("1" (lemma empty_0[posnat])
(("1"
(inst -1 p1!1)
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (replaces -4)
(("2" (replaces -1)
(("2" (expand o)
(("2" (flatten)
(("2" (decompose-equality -2)
(("2" (inst -1 "length(r!1)" )
(("1"
(assert )
(("1"
(expand first)
(("1"
(expand finseq_appl)
(("1" (assert ) nil nil ))
nil ))
nil ))
nil )
("2"
(hide - 3)
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 q1!1)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((only_empty_seq const-decl "positions" positions nil )
(singleton const-decl "(singleton?)" sets nil )
(delete_is_position formula-decl nil positions nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(o_assoc formula-decl nil finite_sequences nil )
(int_plus_int_is_int application-judgement "int" integers nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(O const-decl "finseq" finite_sequences nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(not_empty_seq type-eq-decl nil seq_extras "structures/" )
(last const-decl "T" seq_extras "structures/" )
(first_compo formula-decl nil seq_extras "structures/" )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(delete const-decl "finseq" seq_extras "structures/" )
(finseq type-eq-decl nil finite_sequences nil )
(x!2 skolem-const-decl "{p: position | positionsOF(x!1)(p)}"
robinsonunificationEF nil )
(x!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(IUnion const-decl "set[T]" indexed_sets nil )
(nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(first const-decl "T" seq_extras "structures/" )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(positions? type-eq-decl nil positions nil )
(subtermOF def-decl "term" subterm nil )
(below type-eq-decl nil naturalnumbers nil )
(union const-decl "set" sets nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(nonempty_union1 application-judgement "(nonempty?)" sets nil )
(nonempty_singleton_finite application-judgement
"non_empty_finite_set[position]" robinsonunificationEF nil )
(q1!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunificationEF nil )
(rest const-decl "finseq" seq_extras "structures/" )
(q!1 skolem-const-decl "{q: position | positionsOF(x!1)(q)}"
robinsonunificationEF nil )
(add_last const-decl "finseq" seq_extras "structures/" )
(pos_subterm_ax formula-decl nil subterm nil )
(seq_first_rest_1 formula-decl nil seq_extras "structures/" )
(^ const-decl "finseq" finite_sequences nil )
(min const-decl "{p: real | p <= m AND p <= n}" real_defs nil )
(int_min application-judgement "{k: int | k <= i AND k <= j}"
real_defs nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(mult_divides2 application-judgement "(divides(m))" divides nil )
(mult_divides1 application-judgement "(divides(n))" divides nil )
(insert? const-decl "finseq" seq_extras "structures/" )
(pi skolem-const-decl "finseq[posnat]" robinsonunificationEF nil )
(even_minus_odd_is_odd application-judgement "odd_int" integers
nil )
(x!3 skolem-const-decl "below[pi`length - 1]" robinsonunificationEF
nil )
(pos_ax formula-decl nil positions nil )
(next_position_TCC5 subtype-tcc nil robinsonunificationEF nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(p1!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunificationEF nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(r!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunificationEF nil )
(FALSE const-decl "bool" booleans nil )
(epsilon const-decl "T" epsilons nil )
(TRUE const-decl "bool" booleans nil )
(seq_empty formula-decl nil seq_extras "structures/" )
(nnint_times_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(even_times_int_is_even application-judgement "even_int" integers
nil )
(r!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunificationEF nil )
(q1!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunificationEF nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(left_pos const-decl "bool" positions nil )
(/= const-decl "boolean" notequal nil )
(right_pos def-decl "positions" robinsonunificationEF nil )
(member const-decl "bool" sets nil ) (set type-eq-decl nil sets nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(wf_nat formula-decl nil naturalnumbers nil )
(< const-decl "bool" reals nil )
(naturalnumber type-eq-decl nil naturalnumbers nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(position type-eq-decl nil positions nil )
(posnat nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(below type-eq-decl nil nat_types nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(measure_induction formula-decl nil measure_induction nil )
(well_founded? const-decl "bool" orders nil )
(pred type-eq-decl nil defined_types nil ))
shostak))
(next_pos_member_right_pos 0
(next_pos_member_right_pos-1 nil 3507041072
("" (lemma empty_0[posnat])
((""
(measure-induct+
"lex2(length(p), arity(f(subtermOF(s,delete(p,length(p) - 1)))) - last(p))"
("s" "t" "p" ))
(("1" (case "x!3 = empty_seq" )
(("1" (hide -2 -3)
(("1" (replaces -1)
(("1"
(expand * member right_pos next_position emptyset
only_empty_seq)
(("1" (prop)
(("1" (expand positionsOF)
(("1" (lift-if)
(("1" (expand only_empty_seq)
(("1" (prop)
(("1" (expand union)
(("1" (flatten)
(("1" (hide 3)
(("1"
(expand member)
(("1" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (lemma member_right_pos)
(("2" (inst -1 x!1 x!3 "next_position(x!1, x!2, x!3)" )
(("1" (assert )
(("1"
(name-replace "q!1" "next_position(x!1, x!2, x!3)"
:hide? nil )
(("1" (hide 3)
(("1" (expand next_position -1)
(("1" (lift-if)
(("1" (prop)
(("1" (hide -2 1)
(("1" (expand left_pos)
(("1"
(inst 1 "delete(x!3, length(x!3) - 1)"
"#(last(x!3))" empty_seq)
(("1"
(assert )
(("1"
(prop)
(("1"
(hide -2 -3 1)
(("1"
(expand empty_seq)
(("1"
(expand "#" )
(("1" (propax) nil nil ))
nil ))
nil ))
nil )
("2"
(hide -1)
(("2"
(expand * delete finseq_appl)
(("2"
(rewrite empty_0)
(("2"
(decompose-equality)
(("1"
(expand o)
(("1"
(expand "#" )
(("1" (propax) nil nil ))
nil ))
nil )
("2"
(decompose-equality)
(("1"
(expand o)
(("1" (grind) nil nil ))
nil )
("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil )
("3"
(inst -1 x!3)
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -)
(("2"
(flatten)
(("2" (rewrite empty_0) nil nil ))
nil ))
nil )
("3"
(hide -1)
(("3"
(inst -1 x!3)
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -2 -3 -4 1)
(("2" (expand left_pos)
(("2"
(inst 1 "delete(x!3, length(x!3) - 1)"
"#(last(x!3))" "#(1 + last(x!3))" )
(("1"
(flatten)
(("1"
(hide 1)
(("1"
(prop)
(("1"
(replace -1 1 rl)
(("1"
(hide -1)
(("1"
(expand *
add_last
insert?
delete
finseq_appl)
(("1"
(inst -1 x!3)
(("1"
(assert )
(("1"
(assert )
(("1"
(decompose-equality)
(("1"
(grind)
nil
nil )
("2"
(decompose-equality)
(("1"
(grind)
nil
nil )
("2"
(skosimp)
(("2"
(assert )
nil
nil ))
nil ))
nil )
("3"
(grind)
nil
nil )
("4"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -1)
(("2"
(expand delete)
(("2"
(inst -1 x!3)
(("2"
(assert )
(("2"
(assert )
(("2"
(decompose-equality)
(("1" (grind) nil nil )
("2"
(decompose-equality)
(("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but -1)
(("3" (grind) nil nil ))
nil )
("4"
(hide-all-but -1)
(("4" (grind) nil nil ))
nil )
("5"
(hide-all-but 1)
(("5"
(expand * first finseq_appl "#" )
(("5" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -1)
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(inst -5 x!1 x!2
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("1" (lemma next_position_TCC17)
(("1" (inst -1 x!1 x!2 x!3)
(("1"
(assert )
(("1"
(inst
-1
"delete(x!3, length(x!3) - 1)" )
(("1"
(assert )
(("1"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("1"
(assert )
(("1"
(case
"NOT add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3)) =
empty_seq")
(("1"
(assert )
(("1"
(hide -1 -2 -4 -5 1)
(("1"
(replace -1)
(("1"
(name-replace
"pi"
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))"
:hide?
nil )
(("1"
(lemma
member_right_pos)
(("1"
(inst
-1
x!1
pi
q!1)
(("1"
(assert )
(("1"
(lemma
next_pos_is_a_diff_pos)
(("1"
(inst
-1
x!1
x!2
pi)
(("1"
(assert )
(("1"
(hide
-1
-4
-5)
(("1"
(expand
left_pos)
(("1"
(skosimp)
(("1"
(prop)
(("1"
(inst
2
r!1
"add_last(delete(p1!1, length(p1!1) - 1), last(p1!1) - 1)"
empty_seq)
(("1"
(assert )
(("1"
(prop)
(("1"
(hide-all-but
-1)
(("1"
(grind)
nil
nil ))
nil )
("2"
(replaces
-2)
(("2"
(expand *
add_last
insert?
delete
finseq_appl
o)
(("2"
(flatten)
(("2"
(inst-cp
-4
p1!1)
(("2"
(inst
-4
x!3)
(("2"
(assert )
(("2"
(assert )
(("2"
(decompose-equality
-3)
(("1"
(decompose-equality
1)
(("1"
(decompose-equality
1)
(("1"
(lift-if)
(("1"
(prop)
(("1"
(inst
-2
x!4)
(("1"
(assert )
nil
nil )
("2"
(expand
delete)
(("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(inst
-2
x!4)
(("1"
(assert )
nil
nil )
("2"
(expand
delete)
(("2"
(assert )
nil
nil ))
nil ))
nil )
("3"
(inst
-1
x!4)
(("1"
(assert )
(("1"
(typepred
x!4)
(("1"
(expand *
last
finseq_appl)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(expand
delete)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(skosimp)
(("2"
(ground)
nil
nil ))
nil )
("3"
(grind)
nil
nil )
("4"
(skosimp)
(("4"
(assert )
nil
nil ))
nil ))
nil )
("2"
(grind)
nil
nil )
("3"
(skosimp)
(("3"
(assert )
nil
nil ))
nil ))
nil )
("2"
(expand
delete
-1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"last(p1!1) = 1 + last(x!3)" )
(("1"
(assert )
nil
nil )
("2"
(hide
2)
(("2"
(replaces
-2)
(("2"
(expand *
add_last
insert?
delete
last
finseq_appl
o)
(("2"
(flatten)
(("2"
(rewrite
empty_0)
(("2"
(assert )
(("2"
(decompose-equality
-3)
(("1"
(inst
-1
"x!3`length - 1" )
(("1"
(assert )
(("1"
(lift-if)
(("1"
(ground)
(("1"
(replace
-4
-1)
(("1"
(inst
-5
p1!1)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
delete
1)
(("2"
(inst
-3
x!3)
(("2"
(ground)
nil
nil ))
nil ))
nil ))
nil )
("2"
(expand
delete
-1)
(("2"
(inst
-5
x!3)
(("2"
(assert )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("3"
(inst
-6
p1!1)
(("3"
(assert )
nil
nil ))
nil )
("4"
(inst
-5
p1!1)
(("4"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(inst
-4
p1!1)
(("3"
(assert )
nil
nil ))
nil ))
nil )
("3"
(inst
-4
p1!1)
(("3"
(assert )
nil
nil ))
nil )
("4"
(inst
-4
p1!1)
(("4"
(assert )
nil
nil ))
nil ))
nil )
("2"
(inst
3
r!1
"add_last(delete(p1!1, length(p1!1) - 1), last(p1!1) - 1)"
q1!1)
(("1"
(flatten)
(("1"
(hide
3)
(("1"
(assert )
(("1"
(prop)
(("1"
(replace
-2)
(("1"
(hide
-1
-2
-3
2)
(("1"
(inst-cp
-2
x!3)
(("1"
(inst
-2
p1!1)
(("1"
(assert )
(("1"
(expand *
add_last
insert?
delete
last
finseq_appl
o)
(("1"
(flatten)
(("1"
(decompose-equality
-2)
(("1"
(decompose-equality
1)
(("1"
(decompose-equality
1)
(("1"
(lift-if)
(("1"
(ground)
(("1"
(inst
-2
x!4)
(("1"
(assert )
nil
nil )
("2"
(expand
delete
1)
(("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(inst
-2
x!4)
(("1"
(assert )
nil
nil )
("2"
(expand
delete
1)
(("2"
(assert )
nil
nil ))
nil ))
nil )
("3"
(inst
-1
x!4)
(("1"
(assert )
nil
nil )
("2"
(expand
delete
1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(grind)
nil
nil )
("3"
(grind)
nil
nil )
("4"
(grind)
nil
nil ))
nil )
("2"
(grind)
nil
nil )
("3"
(grind)
nil
nil ))
nil )
("2"
(expand
delete
-1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-1)
(("2"
(grind)
nil
nil ))
nil )
("3"
(hide
-1
-2
-4)
(("3"
(expand *
add_last
insert?
delete
first
finseq_appl)
(("3"
(inst
-2
p1!1)
(("3"
(assert )
(("3"
(assert )
(("3"
(lift-if)
(("3"
(ground)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"last(p1!1) - 1 = last(x!3)" )
(("1"
(assert )
nil
nil )
("2"
(replace
-2)
(("2"
(hide
-1
-2
-3
2
3)
(("2"
(inst-cp
-2
x!3)
(("2"
(inst
-2
p1!1)
(("2"
(assert )
(("2"
(expand *
add_last
insert?
delete
last
finseq_appl
o)
(("2"
(flatten)
(("2"
(decompose-equality
-2)
(("1"
(inst
-1
"x!3`length - 1" )
(("1"
(assert )
nil
nil )
("2"
(expand
delete)
(("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(expand
delete
-1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(inst
-5
p1!1)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
next_position_is_position)
(("2"
(inst
-1
x!1
x!2
pi)
(("2"
(assert )
nil
nil ))
nil ))
nil )
("3"
(reveal -3)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but -1)
(("2" (grind) nil nil ))
nil )
("3"
(hide-all-but (-7 1 3))
(("3"
(inst -1 x!3)
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (-6 1 3))
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (-6 1 3))
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert )
(("2" (prop)
(("1"
(lemma next_position_TCC15)
(("1"
(inst -1 x!1 x!2 x!3)
(("1"
(assert )
(("1"
(inst
-1
"delete(x!3, length(x!3) - 1)" )
(("1"
(assert )
(("1"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("1" (assert ) nil nil )
("2"
(hide-all-but (-5 1 4))
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (-5 1 4))
(("2"
(inst -1 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but -1)
(("2" (grind) nil nil ))
nil ))
nil ))
nil )
("3" (hide-all-but (-5 1 3))
(("3" (inst -1 x!3)
(("3" (assert ) nil nil )) nil ))
nil ))
nil )
("4"
(inst -3 x!1 x!2
"delete(x!3, length(x!3) - 1)" )
(("1" (lemma next_position_TCC19)
(("1" (inst -1 x!1 x!2 x!3)
(("1"
(assert )
(("1"
(inst
-1
"delete(x!3, length(x!3) - 1)" )
(("1"
(assert )
(("1"
(inst
-1
"add_last(delete(x!3, length(x!3) - 1), 1 + last(x!3))" )
(("1"
(assert )
(("1"
(hide -1 -3 1 2)
(("1"
(replace -1)
(("1"
(lemma member_right_pos)
(("1"
(inst
-1
x!1
"delete(x!3, length(x!3) - 1)"
q!1)
(("1"
(assert )
(("1"
(lemma
next_pos_is_a_diff_pos)
(("1"
(inst
-1
x!1
x!2
"delete(x!3, length(x!3) - 1)" )
(("1"
(assert )
(("1"
(hide
-1
-3
-4)
(("1"
(name-replace
"pi"
"delete(x!3, length(x!3) - 1)"
:hide?
nil )
(("1"
(expand
left_pos)
(("1"
(skosimp)
(("1"
(prop)
(("1"
(inst
2
r!1
"add_last(p1!1, last(x!3))"
empty_seq)
(("1"
(assert )
(("1"
(prop)
(("1"
(hide-all-but
-1)
(("1"
(grind)
nil
nil ))
nil )
("2"
(replaces
-2)
(("2"
(hide
-1)
(("2"
(inst-cp
-2
p1!1)
(("2"
(inst
-2
x!3)
(("2"
(assert )
(("2"
(expand *
delete
add_last
insert?
last
finseq_appl
o)
(("2"
(flatten)
(("2"
(decompose-equality
-2)
(("2"
(decompose-equality
1)
(("1"
(decompose-equality
1)
(("1"
(inst
-1
x!4)
(("1"
(lift-if)
(("1"
(ground)
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil )
("2"
(grind)
nil
nil )
("3"
(grind)
nil
nil ))
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
-4
x!3)
(("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(inst
3
r!1
"add_last(p1!1, last(x!3))"
q1!1)
(("1"
(assert )
(("1"
(flatten)
(("1"
(hide
3)
(("1"
(prop)
(("1"
(replaces
-2)
(("1"
(hide
-1
-2
2)
(("1"
(inst-cp
-2
x!3)
(("1"
(inst
-2
p1!1)
(("1"
(assert )
(("1"
(expand *
delete
add_last
insert?
last
o
finseq_appl)
(("1"
(flatten)
(("1"
(decompose-equality
-2)
(("1"
(decompose-equality
1)
(("1"
(decompose-equality
1)
(("1"
(case
"x!4 = x!3`length - 1" )
(("1"
(assert )
nil
nil )
("2"
(inst
-1
x!4)
(("1"
(assert )
nil
nil )
("2"
(assert )
nil
nil ))
nil ))
nil )
("2"
(grind)
nil
nil )
("3"
(grind)
nil
nil ))
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-1)
(("2"
(grind)
nil
nil ))
nil )
("3"
(rewrite
first_add_last)
(("3"
(inst
-5
p1!1)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
-5
x!3)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst
-2
x!3)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst -4 x!3)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma
next_position_is_position)
(("2"
(inst
-1
x!1
x!2
"delete(x!3, length(x!3) - 1)" )
(("1"
(assert )
nil
nil )
("2"
(inst -3 x!3)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("3"
(rewrite
delete_is_position)
(("3"
(inst -3 x!3)
(("3"
(assert )
nil
nil ))
nil ))
nil )
("4"
(inst -3 x!3)
(("4"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(inst -4 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("2"
(inst -4 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert )
(("2" (rewrite delete_is_position)
(("1"
(rewrite delete_is_position)
(("1"
(inst -3 x!3)
(("1" (assert ) nil nil ))
nil ))
nil )
("2"
(inst -3 x!3)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("3" (inst -3 x!3) (("3" (assert ) nil nil ))
nil ))
nil )
("5" (hide -1 -3 -4 1)
(("5" (expand left_pos)
(("5" (inst 1 empty_seq x!3 empty_seq)
(("5"
(assert )
(("5" (rewrite empty_o_seq) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (rewrite next_position_is_position) nil nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (lemma next_position_TCC5)
(("2" (inst -1 x!1 x!2 x!3) (("2" (assert ) nil nil )) nil ))
nil ))
nil )
("3" (hide 1) (("3" (inst -2 x!3) (("3" (assert ) nil nil )) nil ))
nil )
("4" (hide 2)
(("4" (lemma next_position_TCC3)
(("4" (inst -1 x!1 x!2 x!3) (("4" (assert ) nil nil )) nil ))
nil ))
nil )
("5" (hide 2)
(("5" (rewrite delete_is_position)
(("5" (inst -1 x!3) (("5" (assert ) nil nil )) nil )) nil ))
nil )
("6" (hide 2) (("6" (inst -1 x!3) (("6" (assert ) nil nil )) nil ))
nil )
("7" (hide 2)
(("7" (lemma next_position_TCC5)
(("7" (inst -1 y!1 y!2 y!3) (("7" (assert ) nil nil )) nil ))
nil ))
nil )
("8" (hide 1) (("8" (inst -2 y!3) (("8" (assert ) nil nil )) nil ))
nil )
("9" (hide 2)
(("9" (lemma next_position_TCC3)
(("9" (inst -1 y!1 y!2 y!3) (("9" (assert ) nil nil )) nil ))
nil ))
nil )
("10" (hide 2)
(("10" (rewrite delete_is_position)
(("10" (inst -1 y!3) (("10" (assert ) nil nil )) nil )) nil ))
nil )
("11" (hide 2)
(("11" (inst -1 y!3) (("11" (assert ) nil nil )) nil )) nil )
("12" (hide 2)
(("12" (lemma next_position_TCC5)
(("12" (inst -1 "x!1`1" "x!1`2" "x!1`3" )
(("12" (assert ) nil nil )) nil ))
nil ))
nil )
("13" (hide 1)
(("13" (inst -2 "x!1`3" ) (("13" (assert ) nil nil )) nil )) nil )
("14" (hide 2)
(("14" (lemma next_position_TCC3)
(("14" (inst -1 "x!1`1" "x!1`2" "x!1`3" )
(("14" (assert ) nil nil )) nil ))
nil ))
nil )
("15" (hide 2)
(("15" (rewrite delete_is_position)
(("15" (inst -1 "x!1`3" ) (("15" (assert ) nil nil )) nil ))
nil ))
nil )
("16" (hide 2)
(("16" (inst -1 "x!1`3" ) (("16" (assert ) nil nil )) nil )) nil )
("17" (hide 2)
(("17" (lemma next_position_TCC5)
(("17" (inst -1 "y!1`1" "y!1`2" "y!1`3" )
(("17" (assert ) nil nil )) nil ))
nil ))
nil )
("18" (hide 1)
(("18" (inst -2 "y!1`3" ) (("18" (assert ) nil nil )) nil )) nil )
("19" (hide 2)
(("19" (lemma next_position_TCC3)
(("19" (inst -1 "y!1`1" "y!1`2" "y!1`3" )
(("19" (assert ) nil nil )) nil ))
nil ))
nil )
("20" (hide 2)
(("20" (rewrite delete_is_position)
(("20" (inst -1 "y!1`3" ) (("20" (assert ) nil nil )) nil ))
nil ))
nil )
("21" (hide 2)
(("21" (inst -1 "y!1`3" ) (("21" (assert ) nil nil )) nil )) nil )
("22" (hide 2)
(("22" (lemma next_position_TCC5)
(("22" (inst -1 s!1 t!1 p!1) (("22" (assert ) nil nil )) nil ))
nil ))
nil )
("23" (hide 1)
(("23" (inst -2 p!1) (("23" (assert ) nil nil )) nil )) nil )
("24" (hide 2)
(("24" (lemma next_position_TCC3)
(("24" (inst -1 s!1 t!1 p!1) (("24" (assert ) nil nil )) nil ))
nil ))
nil )
("25" (hide 2)
(("25" (rewrite delete_is_position)
(("25" (inst -1 p!1) (("25" (assert ) nil nil )) nil )) nil ))
nil )
("26" (hide 2)
(("26" (inst -1 p!1) (("26" (assert ) nil nil )) nil )) nil ))
nil ))
nil )
((int_minus_int_is_int application-judgement "int" integers nil )
(pred type-eq-decl nil defined_types nil )
(well_founded? const-decl "bool" orders nil )
(measure_induction formula-decl nil measure_induction nil )
(variable formal-nonempty-type-decl nil robinsonunificationEF nil )
(symbol formal-nonempty-type-decl nil robinsonunificationEF nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunificationEF
nil )
(term type-decl nil term_adt nil )
(below type-eq-decl nil nat_types nil )
(position type-eq-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(/= const-decl "boolean" notequal nil )
(finseq type-eq-decl nil finite_sequences nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(ordstruct type-decl nil ordstruct_adt nil )
(ordinal? def-decl "bool" ordinals nil )
(ordinal nonempty-type-eq-decl nil ordinals nil )
(lex2 const-decl "ordinal" lex2 nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(positions? type-eq-decl nil positions nil )
(subtermOF def-decl "term" subterm nil )
(< const-decl "bool" reals nil )
(delete const-decl "finseq" seq_extras "structures/" )
(not_empty_seq type-eq-decl nil seq_extras "structures/" )
(last const-decl "T" seq_extras "structures/" )
(< def-decl "bool" ordinals nil )
(well_founded_le formula-decl nil ordinals nil )
(right_pos def-decl "positions" robinsonunificationEF nil )
(next_position def-decl "position" robinsonunificationEF nil )
(member const-decl "bool" sets nil ) (set type-eq-decl nil sets nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(member_right_pos formula-decl nil robinsonunificationEF nil )
(empty_o_seq formula-decl nil seq_extras "structures/" )
(delete_is_position formula-decl nil positions nil )
(p1!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunificationEF nil )
(r!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunificationEF nil )
(x!4 skolem-const-decl "below[x!3`length]" robinsonunificationEF
nil )
(first_add_last formula-decl nil seq_extras "structures/" )
(x!4 skolem-const-decl "below[x!3`length]" robinsonunificationEF
nil )
(next_position_TCC19 termination-tcc nil robinsonunificationEF nil )
(pi skolem-const-decl "finseq[posnat]" robinsonunificationEF nil )
(q!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunificationEF nil )
(next_pos_is_a_diff_pos formula-decl nil robinsonunificationEF nil )
(r!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunificationEF nil )
(odd_minus_odd_is_even application-judgement "even_int" integers
nil )
(x!4 skolem-const-decl "below[x!3`length]" robinsonunificationEF
nil )
(minus_odd_is_odd application-judgement "odd_int" integers nil )
(p1!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunificationEF nil )
(x!4 skolem-const-decl "below[x!3`length]" robinsonunificationEF
nil )
(next_position_is_position formula-decl nil robinsonunificationEF
nil )
(next_position_TCC17 termination-tcc nil robinsonunificationEF nil )
(next_position_TCC15 subtype-tcc nil robinsonunificationEF nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(first const-decl "T" seq_extras "structures/" )
(insert? const-decl "finseq" seq_extras "structures/" )
(add_last const-decl "finseq" seq_extras "structures/" )
(int_plus_int_is_int application-judgement "int" integers nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(posint nonempty-type-eq-decl nil integers nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(finite_sequence type-eq-decl nil finite_sequences nil )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(O const-decl "finseq" finite_sequences nil )
(nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
integers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(left_pos const-decl "bool" positions nil )
(x!3 skolem-const-decl "{p: position |
positionsOF(x!1)(p) AND positionsOF(x!2)(p) AND p /= empty_seq}"
robinsonunificationEF nil )
(x!2 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(x!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunificationEF nil )
(emptyset const-decl "set" sets nil )
(only_empty_seq const-decl "positions" positions nil )
(union const-decl "set" sets nil )
(next_position_TCC5 subtype-tcc nil robinsonunificationEF nil )
(next_position_TCC3 subtype-tcc nil robinsonunificationEF nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(bool nonempty-type-eq-decl nil booleans nil )
(>= const-decl "bool" reals nil )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil ))
shostak))
(equal_right_pos 0
(equal_right_pos-1 nil 3507387106
("" (skosimp)
((""
(case "subset?(right_pos(s!1, p!1), right_pos(s!1, q!1)) AND
subset?(right_pos(s!1, q!1), right_pos(s!1, p!1))")
(("1" (hide -2)
(("1" (flatten)
(("1" (expand subset?)
(("1" (inst -1 p!1)
(("1" (inst -2 q!1)
(("1" (case "p!1 = empty_seq" )
(("1" (hide -2)
(("1" (expand right_pos -2 2)
(("1" (assert )
(("1" (case "member(q!1, right_pos(s!1, q!1))" )
(("1" (assert )
(("1" (hide -1)
(("1"
(expand * member only_empty_seq)
(("1" (assert ) nil nil ))
nil ))
nil ))
nil )
("2" (hide-all-but 1)
(("2" (expand * right_pos member)
(("2"
(expand * union member)
(("2"
(flatten)
(("2"
(hide 2 3)
(("2"
(expand singleton)
(("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (case "q!1 = empty_seq" )
(("1" (hide -3)
(("1" (expand right_pos -2 2)
(("1" (assert )
(("1"
(case "member(p!1, right_pos(s!1, p!1))" )
(("1" (assert )
(("1"
(hide -1)
(("1"
(expand * member only_empty_seq)
nil
nil ))
nil ))
nil )
("2" (hide-all-but 1)
(("2"
(expand * right_pos union member)
(("2"
(flatten)
(("2"
(hide 2 3)
(("2"
(expand singleton)
(("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case "member(p!1, right_pos(s!1, p!1)) AND member(q!1, right_pos(s!1, q!1))" )
(("1" (flatten)
(("1" (assert )
(("1" (hide -1 -2)
(("1" (lemma member_right_pos)
(("1"
(inst-cp -1 s!1 p!1 q!1)
(("1"
(inst -1 s!1 q!1 p!1)
(("1"
(assert )
(("1"
(hide -3 -4)
(("1"
(expand left_pos)
(("1"
(skosimp*)
(("1"
(ground)
(("1"
(replace -1 -4)
(("1"
(replace -4 -2)
(("1"
(replace -3 -2)
(("1"
(expand o -2)
(("1"
(decompose-equality
-2)
(("1"
(hide
-2
-3
-4
-5
3
4
5)
(("1"
(lemma
empty_0[posnat])
(("1"
(inst-cp
-1
p1!2)
(("1"
(inst
-1
p1!1)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace -5 -1)
(("2"
(replace -4 -2)
(("2"
(replace -2 -1)
(("2"
(case
"p1!2 o p1!1 = q1!2" )
(("1"
(replace
-1
-4
rl)
(("1"
(rewrite
first_compo)
(("1"
(assert )
nil
nil )
("2"
(hide-all-but
(1 3))
(("2"
(flatten)
(("2"
(rewrite
empty_0)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide
-2
-3
-4
-5
5
6
7)
(("2"
(expand o)
(("2"
(flatten)
(("2"
(decompose-equality
-2)
(("2"
(decompose-equality
1)
(("1"
(decompose-equality
1)
(("1"
(lift-if)
(("1"
(prop)
(("1"
(inst
-2
"x!1 + r!2`length" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(inst
-1
"x!1 + r!2`length" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(skosimp)
--> --------------------
--> maximum size reached
--> --------------------
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 1.10 Sekunden
(vorverarbeitet am 2026-04-26)
¤
*© Formatika GbR, Deutschland
2026-05-26