SSL robinsonunification.prf
Interaktion und PortierbarkeitLisp
(robinsonunification
(IMP_unification_TCC1 0
(IMP_unification_TCC1-1 nil 3467989055
("" (lemma var_countable) (("" (propax) nil nil )) nil )
((var_countable formula-decl nil robinsonunification nil )) nil ))
(xx_TCC1 0
(xx_TCC1-1 nil 3468765193
("" (lemma var_nonempty)
(("" (expand * nonempty? empty?)
(("" (skosimp*)
(("" (inst 1 x!1)
(("" (assert )
(("" (expand member) (("" (propax) nil nil )) nil )) nil ))
nil ))
nil ))
nil ))
nil )
((empty? const-decl "bool" sets nil )
(nonempty? const-decl "bool" sets nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification 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]" robinsonunification nil )
(term type-decl nil term_adt nil ) (set type-eq-decl nil sets nil )
(V const-decl "set[term]" variables_term nil )
(x!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(member const-decl "bool" sets nil )
(var_nonempty formula-decl nil robinsonunification nil ))
nil ))
(ff_TCC1 0
(ff_TCC1-1 nil 3474208611
("" (lemma symbol_nonempty)
(("" (expand * nonempty? empty?)
(("" (skosimp)
(("" (expand member) (("" (inst 1 x!1) nil nil )) nil )) nil ))
nil ))
nil )
((empty? const-decl "bool" sets nil )
(nonempty? const-decl "bool" sets nil )
(member const-decl "bool" sets nil )
(x!1 skolem-const-decl "symbol" robinsonunification nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(>= const-decl "bool" reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(int nonempty-type-eq-decl nil integers nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(rational nonempty-type-from-decl nil rationals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(real nonempty-type-from-decl nil reals nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(boolean nonempty-type-decl nil booleans nil )
(number nonempty-type-decl nil numbers nil )
(symbol formal-nonempty-type-decl nil robinsonunification nil )
(symbol_nonempty formula-decl nil robinsonunification nil ))
nil ))
(fail_TCC1 0
(fail_TCC1-1 nil 3467989055
("" (typepred ff) (("" (assert ) (("" (grind) nil nil )) nil )) nil )
((term type-decl nil term_adt nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(number nonempty-type-decl nil numbers nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(symbol formal-nonempty-type-decl nil robinsonunification nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification nil )
(ff const-decl "{f: symbol | arity(f) = 1}" robinsonunification
nil ))
nil ))
(fail_TCC2 0
(fail_TCC2-1 nil 3474208611
("" (expand Sub?)
((""
(case-replace "Dom((id[(V)]
WITH [xx
:= app[variable, symbol, arity]
(ff,
#[term[variable, symbol, arity]]
(xx))])) = singleton(xx)")
(("1" (hide -1) (("1" (rewrite finite_singleton) nil nil )) nil )
("2" (hide 2)
(("2" (decompose-equality)
(("2" (iff)
(("2" (prop)
(("1" (expand singleton)
(("1" (expand Dom)
(("1" (flatten)
(("1" (expand id) (("1" (grind) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (expand * singleton Dom)
(("2" (flatten)
(("2" (grind)
(("2" (replaces -1)
(("2" (typepred xx)
(("2" (expand V) (("2" (propax) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nonempty_singleton_finite application-judgement
"non_empty_finite_set" robinsonunification nil )
(nonempty_singleton_finite application-judgement
"non_empty_finite_set[term]" robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification 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]" robinsonunification nil )
(term type-decl nil term_adt nil ) (set type-eq-decl nil sets nil )
(V const-decl "set[term]" variables_term nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(Dom const-decl "set[(V)]" substitution nil )
(bijective? const-decl "bool" functions nil )
(id const-decl "(bijective?[T, T])" identity nil )
(below type-eq-decl nil nat_types nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(app adt-constructor-decl
"[[f: symbol, {args: finite_sequence[term] | args`length = arity(f)}] ->
(app?)]" term_adt nil)
(ff const-decl "{f: symbol | arity(f) = 1}" robinsonunification
nil )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(xx const-decl "(V)" robinsonunification nil )
(singleton? const-decl "bool" sets nil )
(singleton const-decl "(singleton?)" sets nil )
(finite_singleton judgement-tcc nil finite_sets nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(Sub? const-decl "bool" substitution nil ))
nil ))
(first_diff_TCC1 0
(first_diff_TCC1-1 nil 3467989055
("" (skosimp*)
(("" (lemma "positions_of_arg" )
(("" (inst -1 "s!1" "k!1" )
(("1" (typepred "k!1" )
(("1" (typepred st!1)
(("1" (typepred stp!1)
(("1" (replace -4 1) (("1" (assert ) nil nil )) nil )) nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
((arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(positions_of_arg formula-decl nil positions nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(fp!1 skolem-const-decl "symbol" robinsonunification nil )
(stp!1 skolem-const-decl
"{args: finite_sequence[term[variable, symbol, arity]] |
args`length = arity(fp!1)}" robinsonunification nil)
(k!1 skolem-const-decl "below[length(stp!1)]" robinsonunification
nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification 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 )
(= const-decl "[T, T -> boolean]" equalities nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(below type-eq-decl nil nat_types nil )
(< const-decl "bool" reals nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(term type-decl nil term_adt nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
nil ))
(first_diff_TCC2 0
(first_diff_TCC2-1 nil 3467989055
("" (skosimp*)
(("" (lemma "positions_of_arg" )
(("" (inst -1 "t!1" "k!1" )
(("1" (typepred st!1)
(("1" (typepred stp!1)
(("1" (replace -5 1) (("1" (assert ) nil nil )) nil )) nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
((arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(positions_of_arg formula-decl nil positions nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(fp!1 skolem-const-decl "symbol" robinsonunification nil )
(stp!1 skolem-const-decl
"{args: finite_sequence[term[variable, symbol, arity]] |
args`length = arity(fp!1)}" robinsonunification nil)
(k!1 skolem-const-decl "below[length(stp!1)]" robinsonunification
nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(t!1 skolem-const-decl "{t: term | s!1 /= t}" robinsonunification
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 )
(= const-decl "[T, T -> boolean]" equalities nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(below type-eq-decl nil nat_types nil )
(< const-decl "bool" reals nil )
(/= const-decl "boolean" notequal nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(term type-decl nil term_adt nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
nil ))
(first_diff_TCC3 0
(first_diff_TCC3-1 nil 3467989055
("" (skosimp*) (("" (assert ) nil nil )) nil )
((nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil ))
nil ))
(first_diff_TCC4 0
(first_diff_TCC4-1 nil 3467989055
("" (skosimp*)
(("" (expand "<<" )
(("" (lift-if)
(("" (prop)
(("1" (hide-all-but (-1 -2)) (("1" (assert ) nil nil )) nil )
("2" (inst 2 k!1)
(("1" (assert ) (("1" (grind) nil nil )) nil )
("2" (replace -1 1) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((<< adt-def-decl "(strict_well_founded?[term])" term_adt nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(int_min application-judgement "{k: int | k <= i AND k <= j}"
real_defs nil )
(nat_min application-judgement "{k: nat | k <= i AND k <= j}"
real_defs nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(subterm adt-def-decl "boolean" term_adt nil )
(subtermOF def-decl "term" subterm nil )
(rest const-decl "finseq" seq_extras "structures/" )
(^ const-decl "finseq" finite_sequences nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(first const-decl "T" seq_extras "structures/" )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(nonneg_int nonempty-type-eq-decl nil integers nil )
(> const-decl "bool" reals nil )
(posnat nonempty-type-eq-decl nil integers nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(number nonempty-type-decl nil numbers nil )
(boolean nonempty-type-decl nil booleans nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(bool nonempty-type-eq-decl nil booleans nil )
(< const-decl "bool" reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(below type-eq-decl nil nat_types nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification nil )
(term type-decl nil term_adt nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(fp!1 skolem-const-decl "symbol" robinsonunification nil )
(stp!1 skolem-const-decl
"{args: finite_sequence[term[variable, symbol, arity]] |
args`length = arity(fp!1)}" robinsonunification nil)
(k!1 skolem-const-decl "below[length(stp!1)]" robinsonunification
nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt 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 )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
nil ))
(first_diff_TCC5 0
(first_diff_TCC5-1 nil 3468147562
("" (skosimp*)
(("" (lemma "positions_of_arg" )
(("" (inst -1 "s!1" "kk!1" )
(("1" (replace -1 1) (("1" (assert ) nil nil )) nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
((arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(positions_of_arg formula-decl nil positions nil )
(fp!1 skolem-const-decl "symbol" robinsonunification nil )
(stp!1 skolem-const-decl
"{args: finite_sequence[term[variable, symbol, arity]] |
args`length = arity(fp!1)}" robinsonunification nil)
(kk!1 skolem-const-decl "below[length(stp!1)]" robinsonunification
nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification 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 )
(= const-decl "[T, T -> boolean]" equalities nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(below type-eq-decl nil nat_types nil )
(< const-decl "bool" reals nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(term type-decl nil term_adt nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
nil ))
(first_diff_TCC6 0
(first_diff_TCC6-1 nil 3516387399
("" (skosimp*)
(("" (lemma "positions_of_arg" )
(("" (inst -1 "t!1" "kk!1" )
(("1" (typepred "kk!1" )
(("1" (replace -4 1) (("1" (assert ) nil nil )) nil )) nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil )
((arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(positions_of_arg formula-decl nil positions nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(fp!1 skolem-const-decl "symbol" robinsonunification nil )
(stp!1 skolem-const-decl
"{args: finite_sequence[term[variable, symbol, arity]] |
args`length = arity(fp!1)}" robinsonunification nil)
(kk!1 skolem-const-decl "below[length(stp!1)]" robinsonunification
nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(t!1 skolem-const-decl "{t: term | s!1 /= t}" robinsonunification
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 )
(= const-decl "[T, T -> boolean]" equalities nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(below type-eq-decl nil nat_types nil )
(< const-decl "bool" reals nil )
(/= const-decl "boolean" notequal nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(term type-decl nil term_adt nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil ))
nil ))
(first_diff_TCC7 0
(first_diff_TCC7-1 nil 3516387399
("" (skosimp*)
(("" (case "st!1 = stp!1" )
(("1" (hide +) (("1" (grind) nil nil )) nil )
("2" (decompose-equality 1)
(("2" (decompose-equality 1)
(("2" (typepred x!1)
(("2" (expand * "nonempty?" "empty?" )
(("2" (inst -5 "x!1" )
(("2" (expand "member" )
(("2" (replace -2 -5)
(("2" (replace -4 -5)
(("2" (assert )
(("2" (expand subtermOF)
(("2" (lift-if)
(("2" (assert ) (("2" (grind) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((= const-decl "[T, T -> boolean]" equalities nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(below type-eq-decl nil nat_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(< const-decl "bool" reals nil ) (empty? const-decl "bool" sets nil )
(nonempty? const-decl "bool" sets nil )
(member const-decl "bool" sets nil )
(subtermOF def-decl "term" subterm 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 "finite_sequence[T]" set2seq "structures/" )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(first const-decl "T" seq_extras "structures/" )
(empty_seq const-decl "finseq" finite_sequences nil )
(^ const-decl "finseq" finite_sequences nil )
(rest const-decl "finseq" seq_extras "structures/" )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nat_min application-judgement "{k: nat | k <= i AND k <= j}"
real_defs nil )
(int_min application-judgement "{k: int | k <= i AND k <= j}"
real_defs nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(NOT const-decl "[bool -> bool]" booleans nil ))
nil ))
(comutative_first_diff_TCC1 0
(comutative_first_diff_TCC1-1 nil 3468654719
("" (skosimp) (("" (typepred "t!1" ) (("" (assert ) nil nil )) nil ))
nil )
((/= const-decl "boolean" notequal nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(boolean nonempty-type-decl nil booleans nil ))
nil ))
(comutative_first_diff 0
(comutative_first_diff-1 nil 3468654726
("" (measure-induct+ "length(p)" "p" )
(("" (skosimp)
(("" (expand "first_diff" -2)
(("" (lift-if)
(("" (assert )
((""
(name-replace "k!11"
"min({kk: below[length(args(t!1))] | NOT
subtermOF(s!1, #(1 + kk)) = subtermOF (t!1, #(1 + kk))})"
:hide? nil )
(("1" (name-replace "k!1" "1 + k!11" )
(("1" (prop)
(("1" (hide -3 -4)
(("1" (expand "first_diff" 1)
(("1" (assert )
(("1" (lift-if) (("1" (prop) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (hide -3 -4)
(("2" (expand "first_diff" )
(("2" (assert )
(("2" (lift-if)
(("2" (prop)
(("2" (reveal -1) (("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (assert )
(("3" (hide -4)
(("3" (expand "first_diff" 3)
(("3" (propax) nil nil )) nil ))
nil ))
nil )
("4"
(inst -4 "first_diff(subtermOF(s!1, #(k!1)),
subtermOF(t!1, #(k!1)))")
(("4"
(inst -4 "subtermOF(s!1, #(k!1))"
"subtermOF(t!1, #(k!1))" )
(("4" (prop)
(("1" (expand "first_diff" 4)
(("1" (assert )
(("1"
(name-replace "k!22"
"min({kk: below[length(args(s!1))] | NOT
subtermOF(t!1, #(1 + kk)) = subtermOF(s!1, #(1 + kk))})"
:hide? nil )
(("1"
(name-replace "k!2" "1 + k!22" )
(("1"
(reveal -4 -1)
(("1"
(replace -3 -1 rl)
(("1"
(replace -7 -2 rl)
(("1"
(hide (-3 -7))
(("1"
(case "k!1 = k!2" )
(("1"
(replaces -1)
(("1" (assert ) nil nil ))
nil )
("2"
(case
"length(args(s!1))=length(args(t!1))" )
(("1"
(replace -1)
(("1"
(assert )
(("1"
(replace -2 1 rl)
(("1"
(replace -3 1 rl)
(("1"
(assert )
(("1"
(name-replace
"myset"
" min({kk: below[length(args(s!1))] |
NOT subtermOF(t!1, #(1 + kk)) = subtermOF(s!1, #(1 + kk))})"
:hide?
nil )
(("1"
(rewrite
min_def)
(("1"
(rewrite
min_def)
(("1"
(hide-all-but
(-1 1))
(("1"
(expand
minimum?)
(("1"
(skosimp*)
(("1"
(inst
-1
x!2)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1
3
4
5))
(("2"
(lemma
first_diff_TCC7)
(("2"
(inst
-1
"s!1"
"t!1"
"f(s!1)"
"args(s!1)" )
(("2"
(case
"s!1 = app(f(s!1), args(s!1))" )
(("1"
(assert )
(("1"
(hide
-1)
(("1"
(inst
-1
"f(t!1)"
"args(t!1)" )
(("1"
(case
"t!1 = app(f(t!1), args(t!1))" )
(("1"
(assert )
nil
nil )
("2"
(hide-all-but
(1
3))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1
5))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but
(-6
1
3
4
5))
(("3"
(skosimp*)
(("3"
(lemma
"positions_of_arg" )
(("3"
(inst
-1
"t!1"
"kk!1" )
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("4"
(hide
-
6)
(("4"
(skosimp*)
(("4"
(lemma
"positions_of_arg" )
(("4"
(inst
-1
"s!1"
"kk!1" )
(("4"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-6
1
3
4
5))
(("2"
(lemma
first_diff_TCC7)
(("2"
(inst
-1
"t!1"
"s!1"
"f(t!1)"
"args(t!1)" )
(("2"
(case
"t!1 = app(f(t!1), args(t!1))" )
(("1"
(assert )
(("1"
(hide
-1)
(("1"
(inst
-1
"f(s!1)"
"args(s!1)" )
(("1"
(case
"s!1 = app(f(s!1), args(s!1))" )
(("1"
(assert )
nil
nil )
("2"
(hide-all-but
(1
5))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1
3))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but
(-6
1
3
4
5))
(("3"
(skosimp*)
(("3"
(lemma
"positions_of_arg" )
(("3"
(inst
-1
"s!1"
"kk!1" )
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("4"
(hide - 6)
(("4"
(skosimp*)
(("4"
(lemma
"positions_of_arg" )
(("4"
(inst
-1
"t!1"
"kk!1" )
(("4"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-5
1
3
4
5))
(("2"
(lemma
first_diff_TCC7)
(("2"
(inst
-1
"t!1"
"s!1"
"f(t!1)"
"args(t!1)" )
(("2"
(case
"t!1 = app(f(t!1), args(t!1))" )
(("1"
(assert )
(("1"
(hide
-1)
(("1"
(inst
-1
"f(s!1)"
"args(s!1)" )
(("1"
(case
"s!1 = app(f(s!1), args(s!1))" )
(("1"
(assert )
nil
nil )
("2"
(hide-all-but
(1
5))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1
3))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide
-
(2 6))
(("3"
(skosimp*)
(("3"
(lemma
"positions_of_arg" )
(("3"
(inst
-1
"s!1"
"kk!1" )
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("4"
(hide
-
(2 6))
(("4"
(skosimp*)
(("4"
(lemma
"positions_of_arg" )
(("4"
(inst
-1
"t!1"
"kk!1" )
(("4"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (-4 1))
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (-2 1 2 3 4))
(("2"
(lemma first_diff_TCC7)
(("2"
(inst
-1
"t!1"
"s!1"
"f(t!1)"
"args(t!1)" )
(("2"
(case
"t!1 = app(f(t!1), args(t!1))" )
(("1"
(assert )
(("1"
(hide -1)
(("1"
(inst
-1
"f(s!1)"
"args(s!1)" )
(("1"
(case
"s!1 = app(f(s!1), args(s!1))" )
(("1" (assert ) nil nil )
("2"
(hide-all-but (1 5))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (1 3))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but (-2 1 2 3 4))
(("3"
(skosimp*)
(("3"
(lemma "positions_of_arg" )
(("3"
(inst -1 "s!1" "kk!1" )
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("4"
(hide - 5)
(("4"
(skosimp*)
(("4"
(lemma "positions_of_arg" )
(("4"
(inst -1 "t!1" "kk!1" )
(("4" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (-2 1))
(("2" (expand * "add_first" "insert?" )
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("5" (hide -2 -3)
(("5" (expand "first_diff" )
(("5" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (prop)
(("1" (hide -3 1)
(("1" (expand "first_diff" )
(("1" (assert )
(("1" (lift-if) (("1" (prop) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (hide -3 2)
(("2" (expand "first_diff" )
(("2" (assert )
(("2" (lift-if)
(("2" (prop) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide -3 3)
(("3" (expand "first_diff" ) (("3" (assert ) nil nil ))
nil ))
nil )
("4" (hide - 5)
(("4" (lemma "first_diff_TCC7" )
(("4" (inst -1 "s!1" "t!1" "f(s!1)" "args(s!1)" )
(("4" (case "s!1 = app(f(s!1), args(s!1))" )
(("1" (assert )
(("1" (hide -1)
(("1" (inst -1 "f(t!1)" "args(t!1)" )
(("1"
(case "t!1 = app(f(t!1), args(t!1))" )
(("1"
(assert )
(("1"
(reveal -4)
(("1" (propax) nil nil ))
nil ))
nil )
("2"
(hide-all-but (1 2))
(("2" (decompose-equality) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (1 4))
(("2" (decompose-equality) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("5" (hide -2 5)
(("5" (expand "first_diff" ) (("5" (assert ) nil nil ))
nil ))
nil ))
nil )
("3" (prop)
(("1" (hide -3 1)
(("1" (expand "first_diff" )
(("1" (assert )
(("1" (lift-if) (("1" (prop) nil nil )) nil ))
nil ))
nil ))
nil )
("2" (hide -3 2)
(("2" (expand "first_diff" )
(("2" (lift-if)
(("2" (prop) (("2" (assert ) nil nil )) nil )) nil ))
nil ))
nil )
("3" (hide -3 3)
(("3" (expand "first_diff" ) (("3" (assert ) nil nil ))
nil ))
nil )
("4" (hide -2 -3 5)
(("4" (skosimp*)
(("4" (lemma "positions_of_arg" )
(("4" (inst -1 "t!1" "kk!1" )
(("4" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("5" (hide -)
(("5" (skosimp*)
(("5" (lemma "positions_of_arg" )
(("5" (inst -1 "t!1" "kk!1" )
(("5" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("4" (hide -1)
(("4" (prop)
(("1" (hide 1)
(("1" (expand "first_diff" )
(("1" (lift-if) (("1" (prop) nil nil )) nil ))
nil ))
nil )
("2" (hide 2)
(("2" (expand "first_diff" )
(("2" (lift-if)
(("2" (prop) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("3" (hide 3)
(("3" (expand "first_diff" )
(("3" (assert ) nil nil )) nil ))
nil )
("4" (hide -2 5)
(("4" (skosimp*)
(("4" (lemma "positions_of_arg" )
(("4" (inst -1 "s!1" "kk!1" )
(("1" (assert ) nil nil )
("2" (hide 5)
(("2" (typepred "kk!1" )
(("2"
(lemma "equal_symbol_equal_length_arg" )
(("2"
(inst
-1
"s!1"
"t!1"
"f(s!1)"
"f(t!1)"
"args(s!1)"
"args(t!1)" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("5" (hide 5)
(("5" (expand "first_diff" )
(("5" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("5" (prop)
(("1" (hide -3)
(("1" (expand "first_diff" ) (("1" (assert ) nil nil ))
nil ))
nil )
("2" (hide -3)
(("2" (expand "first_diff" ) (("2" (assert ) nil nil ))
nil ))
nil )
("3" (hide -3)
(("3" (expand "first_diff" ) (("3" (assert ) nil nil ))
nil ))
nil )
("4" (assert ) nil nil ) ("5" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((posint_plus_nnint_is_posint application-judgement "posint"
integers 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 )
(set type-eq-decl nil sets nil )
(nonempty? const-decl "bool" sets nil )
(<= const-decl "bool" reals nil )
(min const-decl "{a | S(a) AND (FORALL x: S(x) IMPLIES a <= x)}"
min_nat nil )
(NOT const-decl "[bool -> bool]" booleans 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 )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(numfield nonempty-type-eq-decl nil number_fields nil )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(add_first const-decl "finseq" seq_extras "structures/" )
(insert? const-decl "finseq" seq_extras "structures/" )
(min_def formula-decl nil min_nat nil )
(positions_of_arg formula-decl nil positions nil )
(term_app_extensionality formula-decl nil term_adt nil )
(app adt-constructor-decl
"[[f: symbol, {args: finite_sequence[term] | args`length = arity(f)}] ->
(app?)]" term_adt nil)
(first_diff_TCC7 subtype-tcc nil robinsonunification nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(minimum? const-decl "bool" min_nat 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 )
(posint nonempty-type-eq-decl nil integers nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(t!1 skolem-const-decl "{t: term | s!1 /= t}" robinsonunification
nil )
(kk!1 skolem-const-decl
"below[length(args[variable, symbol, arity](t!1))]"
robinsonunification nil )
(equal_symbol_equal_length_arg formula-decl nil positions nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(first_diff def-decl "position" robinsonunification nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(/= const-decl "boolean" notequal nil )
(term type-decl nil term_adt nil )
(wf_nat formula-decl nil naturalnumbers nil )
(< const-decl "bool" reals nil )
(naturalnumber type-eq-decl nil naturalnumbers nil )
(position type-eq-decl nil positions nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification 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 )
(below type-eq-decl nil nat_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers 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))
(position_s_first_diff 0
(position_s_first_diff-1 nil 3468178714
("" (measure-induct+ "length(p)" "p" )
(("" (skosimp)
(("" (expand "first_diff" -2)
(("" (lift-if)
(("" (prop)
(("1" (hide -3)
(("1" (replaces -2)
(("1" (expand "positionsOF" )
(("1" (assert )
(("1" (expand "only_empty_seq" )
(("1" (propax) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -3)
(("2" (replaces -2)
(("2" (expand "positionsOF" )
(("2" (assert )
(("2" (expand "only_empty_seq" )
(("2" (propax) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide -3)
(("3" (replaces -2)
(("3" (expand "positionsOF" )
(("3" (assert )
(("3"
(expand * "union" "only_empty_seq" "IUnion"
"member" )
nil nil ))
nil ))
nil ))
nil ))
nil )
("4" (assert )
(("4"
(name-replace "k!11"
"min({kk: below[length(args(t!1))] | NOT
subtermOF(s!1, #(1 + kk)) = subtermOF (t!1, #(1 + kk))})")
(("1" (name-replace "k!1" "1 + k!11" )
(("1"
(inst -3
"first_diff(subtermOF(s!1, #(k!1)), subtermOF(t!1, #(k!1)))"
"subtermOF(s!1, #(k!1))" "subtermOF(t!1, #(k!1))" )
(("1" (assert )
(("1" (hide -1)
(("1" (replace -1 -2)
(("1" (expand "add_first" -2)
(("1" (expand "insert?" -2)
(("1"
(rewrite "add_first_is_o" )
(("1"
(lemma "pos_o_term" )
(("1"
(inst?)
(("1"
(assert )
(("1"
(hide (-1 -2 5))
(("1"
(reveal -7)
(("1"
(replace -1 1 rl)
(("1"
(hide -1)
(("1"
(lemma
"positions_of_arg" )
(("1"
(inst
-1
"s!1"
"k!11" )
(("1"
(assert )
nil
nil )
("2"
(typepred "k!11" )
(("2"
(hide (-2 1 3))
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide - 5)
(("2" (lemma first_diff_TCC7)
(("2" (inst -1 "s!1" "t!1" "f(s!1)" "args(s!1)" )
(("2" (case "s!1 = app(f(s!1), args(s!1))" )
(("1" (assert )
(("1" (hide -1)
(("1" (inst -1 "f(t!1)" "args(t!1)" )
(("1"
(case "t!1 = app(f(t!1), args(t!1))" )
(("1" (assert ) nil nil )
("2"
(hide-all-but (1 3))
(("2" (decompose-equality) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (1 5))
(("2" (decompose-equality) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide - 5)
(("3" (skosimp*)
(("3" (lemma "positions_of_arg" )
(("3" (inst -1 "t!1" "kk!1" )
(("3" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("4" (hide - 5)
(("4" (skosimp*)
(("4" (lemma "positions_of_arg" )
(("4" (inst -1 "s!1" "kk!1" )
(("1" (assert ) nil nil )
("2" (typepred "kk!1" )
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("5" (replaces -1)
(("5" (hide -1 1 2)
(("5" (expand "positionsOF" )
(("5" (assert )
(("5"
(expand * "union" "IUnion" "member"
"only_empty_seq" )
nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(kk!1 skolem-const-decl
"below[length(args[variable, symbol, arity](t!1))]"
robinsonunification nil )
(term_app_extensionality formula-decl nil term_adt nil )
(app adt-constructor-decl
"[[f: symbol, {args: finite_sequence[term] | args`length = arity(f)}] ->
(app?)]" term_adt nil)
(first_diff_TCC7 subtype-tcc nil robinsonunification nil )
(posint nonempty-type-eq-decl nil integers nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(insert? const-decl "finseq" seq_extras "structures/" )
(pos_o_term formula-decl nil subterm nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(t!1 skolem-const-decl "{t: term | s!1 /= t}" robinsonunification
nil )
(k!11 skolem-const-decl "{a |
NOT subtermOF(s!1, #(1 + a)) = subtermOF(t!1, #(1 + a)) AND
(FORALL (x: below[length(args(t!1))]):
NOT subtermOF(s!1, #(1 + x)) = subtermOF(t!1, #(1 + x))
IMPLIES a <= x)}" robinsonunification nil)
(positions_of_arg formula-decl nil positions nil )
(add_first_is_o formula-decl nil seq_extras "structures/" )
(finseq type-eq-decl nil finite_sequences nil )
(add_first const-decl "finseq" seq_extras "structures/" )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(subtermOF def-decl "term" subterm nil )
(positions? type-eq-decl nil positions nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(min const-decl "{a | S(a) AND (FORALL x: S(x) IMPLIES a <= x)}"
min_nat nil )
(<= const-decl "bool" reals nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(nonempty? const-decl "bool" sets nil )
(set type-eq-decl nil sets 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 )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(union const-decl "set" sets nil )
(IUnion const-decl "set[T]" indexed_sets nil )
(member const-decl "bool" sets nil )
(only_empty_seq const-decl "positions" positions nil )
(positionsOF def-decl "positions" positions nil )
(positions type-eq-decl nil positions nil )
(first_diff def-decl "position" robinsonunification nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(/= const-decl "boolean" notequal nil )
(term type-decl nil term_adt nil )
(wf_nat formula-decl nil naturalnumbers nil )
(< const-decl "bool" reals nil )
(naturalnumber type-eq-decl nil naturalnumbers nil )
(position type-eq-decl nil positions nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification 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 )
(below type-eq-decl nil nat_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers 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))
(position_t_first_diff 0
(position_t_first_diff-1 nil 3468768340
("" (lemma comutative_first_diff)
(("" (lemma position_s_first_diff)
(("" (skosimp*)
(("" (inst -1 t!1 s!1 p!1)
(("" (inst -2 s!1 t!1 p!1) (("" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
((position_s_first_diff formula-decl nil robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification 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]" robinsonunification nil )
(term type-decl nil term_adt nil )
(/= const-decl "boolean" notequal 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 )
(comutative_first_diff formula-decl nil robinsonunification nil ))
shostak))
(first_diff_has_diff_argument_TCC1 0
(first_diff_has_diff_argument_TCC1-1 nil 3469282256
("" (skosimp)
(("" (lemma position_s_first_diff)
(("" (inst -1 s!1 t!1 p!1) (("" (assert ) nil nil )) nil )) nil ))
nil )
((position_s_first_diff formula-decl nil robinsonunification 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 )
(/= const-decl "boolean" notequal nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil ))
nil ))
(first_diff_has_diff_argument_TCC2 0
(first_diff_has_diff_argument_TCC2-1 nil 3469282256
("" (skosimp) (("" (rewrite position_t_first_diff) nil nil )) nil )
((position_t_first_diff formula-decl nil robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification 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]" robinsonunification nil )
(term type-decl nil term_adt nil )
(/= const-decl "boolean" notequal 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 ))
nil ))
(first_diff_has_diff_argument 0
(first_diff_has_diff_argument-1 nil 3469282257
("" (measure-induct+ "length(p)" "p" )
(("1" (skosimp)
(("1" (expand first_diff -2)
(("1" (lift-if)
(("1" (prop)
(("1" (replaces -2)
(("1" (hide -1 -2)
(("1" (expand subtermOF)
(("1" (rewrite empty_0)
(("1" (typepred t!1) (("1" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("2" (replaces -2)
(("2" (hide -1 -2 1)
(("2" (expand subtermOF)
(("2" (rewrite empty_0)
(("2" (typepred t!1) (("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("3" (replaces -2)
(("3" (hide -1 -2 1 2)
(("3" (expand subtermOF)
(("3" (rewrite empty_0)
(("3" (typepred t!1) (("3" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("4" (assert )
(("4"
(name-replace "k!11"
"min({kk: below[length(args(t!1))] |
NOT subtermOF(s!1, #(1 + kk)) = subtermOF(t!1, #(1 + kk))})")
(("1" (name-replace "k!1" "1+k!11" )
(("1"
(inst -3 "first_diff(subtermOF(s!1, #(k!1)),
subtermOF(t!1, #(k!1)))")
(("1"
(inst -3 "subtermOF(s!1, #(k!1))"
"subtermOF(t!1, #(k!1))" )
(("1" (replace -2 -3)
(("1" (expand add_first -3)
(("1" (expand insert? -3)
(("1" (flatten)
(("1"
(name-replace
"p!1"
"first_diff(subtermOF(s!1, #(k!1)),
subtermOF(t!1, #(k!1)))"
:hide?
nil )
(("1"
(lemma subt_of_subt_is_subt_of_term)
(("1"
(inst -1 s!1 k!1 p!1 x!1)
(("1"
(assert )
(("1"
(lemma
subt_of_subt_is_subt_of_term)
(("1"
(inst -1 t!1 k!1 p!1 x!1)
(("1" (assert ) nil nil )
("2"
(hide -1 -2 -3 -5 -6 5)
(("2"
(reveal -8)
(("2"
(replace -1 1 rl)
(("2"
(hide -1)
(("2"
(lemma
first_diff_TCC2)
(("2"
(inst
-1
s!1
t!1
"f(s!1)"
"args(s!1)" )
(("2"
(case
"s!1 = app(f(s!1), args(s!1))" )
(("1"
(assert )
(("1"
(hide -1)
(("1"
(inst
-1
"f(t!1)"
"args(t!1)" )
(("1"
(case
"t!1 = app(f(t!1), args(t!1))" )
(("1"
(assert )
(("1"
(hide
-1)
(("1"
(inst
-1
"k!11" )
(("1"
(reveal
-14)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1
3))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1 5))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide - 5)
(("2"
(reveal -8)
(("2"
(reveal -9)
(("2"
(lemma first_diff_TCC1)
(("2"
(inst
-1
s!1
t!1
"f(s!1)"
"args(s!1)" )
(("2"
(case
"s!1 = app(f(s!1), args(s!1))" )
(("1"
(assert )
(("1"
(hide -1)
(("1"
(inst
-1
"f(t!1)"
"args(t!1)" )
(("1"
(case
"t!1 = app(f(t!1), args(t!1))" )
(("1"
(assert )
(("1"
(hide -1)
(("1"
(inst
-1
"k!11" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1 3))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (1 5))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -)
(("2" (lemma first_diff_TCC7)
(("2" (inst -1 "s!1" "t!1" "f(s!1)" "args(s!1)" )
(("2" (case "s!1 = app(f(s!1), args(s!1))" )
(("1" (assert )
(("1" (hide -1)
(("1" (inst -1 "f(t!1)" "args(t!1)" )
(("1"
(case "t!1 = app(f(t!1), args(t!1))" )
(("1" (assert ) nil nil )
("2"
(hide-all-but (1 3))
(("2" (decompose-equality) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (1 5))
(("2" (decompose-equality) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide -)
(("3" (skosimp*)
(("3" (lemma "positions_of_arg" )
(("3" (inst -1 "t!1" "kk!1" )
(("3" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("4" (hide -)
(("4" (skosimp*)
(("4" (lemma "positions_of_arg" )
(("4" (inst -1 "s!1" "kk!1" )
(("1" (assert ) nil nil )
("2" (typepred "kk!1" )
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("5" (hide -2 +)
(("5" (replaces -1)
(("5" (expand subtermOF)
(("5" (rewrite empty_0)
(("5" (typepred t!1) (("5" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (-1 1))
(("2" (rewrite position_t_first_diff) nil nil )) nil )
("3" (hide-all-but (-1 1))
(("3" (lemma position_s_first_diff)
(("3" (inst -1 s!1 t!1 y!1) (("3" (assert ) nil nil )) nil ))
nil ))
nil )
("4" (hide 2) (("4" (rewrite position_t_first_diff) nil nil )) nil )
("5" (hide 2)
(("5" (lemma position_s_first_diff)
(("5" (inst -1 s!1 t!1 p!1) (("5" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
((position_s_first_diff formula-decl nil robinsonunification nil )
(position_t_first_diff formula-decl nil robinsonunification nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(kk!1 skolem-const-decl
"below[length(args[variable, symbol, arity](t!1))]"
robinsonunification nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(positions_of_arg formula-decl nil positions nil )
(first_diff_TCC7 subtype-tcc nil robinsonunification nil )
(posint nonempty-type-eq-decl nil integers nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(add_first const-decl "finseq" seq_extras "structures/" )
(subt_of_subt_is_subt_of_term formula-decl nil subterm nil )
(first_diff_TCC1 subtype-tcc nil robinsonunification nil )
(t!1 skolem-const-decl "{t: term | s!1 /= t}" robinsonunification
nil )
(term_app_extensionality formula-decl nil term_adt nil )
(app adt-constructor-decl
"[[f: symbol, {args: finite_sequence[term] | args`length = arity(f)}] ->
(app?)]" term_adt nil)
(first_diff_TCC2 subtype-tcc nil robinsonunification nil )
(k!1 skolem-const-decl "posint" robinsonunification nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(insert? const-decl "finseq" seq_extras "structures/" )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(min const-decl "{a | S(a) AND (FORALL x: S(x) IMPLIES a <= x)}"
min_nat nil )
(<= const-decl "bool" reals nil )
(nonempty? const-decl "bool" sets nil )
(set type-eq-decl nil sets 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 )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(finseq type-eq-decl nil finite_sequences nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(subtermOF def-decl "term" subterm nil )
(positions? type-eq-decl nil positions nil )
(term type-decl nil term_adt nil )
(/= const-decl "boolean" notequal nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(first_diff def-decl "position" robinsonunification nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(wf_nat formula-decl nil naturalnumbers nil )
(< const-decl "bool" reals nil )
(naturalnumber type-eq-decl nil naturalnumbers nil )
(position type-eq-decl nil positions nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification 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 )
(below type-eq-decl nil nat_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers 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))
(first_diff_unifiable_vars 0
(first_diff_unifiable_vars-1 nil 3469352101
("" (measure-induct+ "length(p)" "p" )
(("1" (skosimp)
(("1" (expand first_diff -2)
(("1" (lift-if)
(("1" (prop)
(("1" (hide -3 -4 2)
(("1" (replaces -2)
(("1" (expand subtermOF)
(("1" (rewrite empty_0) nil nil )) nil ))
nil ))
nil )
("2" (hide -3)
(("2" (expand unifiable)
(("2" (skeep -3)
(("2" (expand unifier)
(("2" (expand ext -3 1)
(("2" (assert )
(("2" (replaces -2)
(("2" (expand subtermOF)
(("2" (rewrite empty_0)
(("2"
(hide 1)
(("2"
(typepred t!1)
(("2"
(flatten)
(("2"
(expand ext -2)
(("2"
(assert )
(("2"
(lift-if)
(("2"
(prop)
(("2"
(hide 2 3 4)
(("2"
(decompose-equality)
(("2"
(decompose-equality)
(("2"
(hide -2 -3)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide -3 -4 1 2 3)
(("3" (replaces -2)
(("3" (expand subtermOF)
(("3" (rewrite empty_0) nil nil )) nil ))
nil ))
nil )
("4" (assert )
(("4"
(name-replace "k!11"
"min({kk: below[length(args(t!1))] |
NOT subtermOF(s!1, #(1 + kk)) = subtermOF(t!1, #(1 + kk))})")
(("1" (name-replace "k!1" "1+k!11" )
(("1"
(inst -3 " first_diff(subtermOF(s!1, #(k!1)),
subtermOF(t!1, #(k!1)))")
(("1"
(inst -3 "subtermOF(s!1, #(k!1))"
"subtermOF(t!1, #(k!1))" )
(("1" (replace -2 -3)
(("1" (expand add_first -3)
(("1" (expand insert? -3)
(("1" (prop)
(("1"
(lemma subt_of_subt_is_subt_of_term)
(("1"
(inst
-1
s!1
k!1
"first_diff(subtermOF(s!1, #(k!1)),
subtermOF(t!1, #(k!1)))"
x!1)
(("1" (assert ) nil nil )
("2"
(hide -1 -3 -4 5 6)
(("2"
(reveal -8)
(("2"
(reveal -7)
(("2"
(lemma first_diff_TCC1)
(("2"
(inst
-1
"s!1"
"t!1"
"f(s!1)"
"args(s!1)" )
(("2"
(case
"s!1 = app(f(s!1), args(s!1))" )
(("1"
(assert )
(("1"
(hide -1)
(("1"
(inst
-1
"f(t!1)"
"args(t!1)" )
(("1"
(case
"t!1 = app(f(t!1), args(t!1))" )
(("1"
(assert )
(("1"
(hide -1)
(("1"
(inst
-1
"k!11" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1 3))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (1 5))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(lemma subt_of_subt_is_subt_of_term)
(("2"
(inst
-1
t!1
k!1
"first_diff(subtermOF(s!1, #(k!1)),
subtermOF(t!1, #(k!1)))"
x!1)
(("1" (assert ) nil nil )
("2"
(hide -1 -3 -4 5 6)
(("2"
(reveal -8)
(("2"
(reveal -7)
(("2"
(lemma first_diff_TCC2)
(("2"
(inst
-1
"s!1"
"t!1"
"f(s!1)"
"args(s!1)" )
(("2"
(case
"s!1 = app(f(s!1), args(s!1))" )
(("1"
(assert )
(("1"
(hide -1)
(("1"
(inst
-1
"f(t!1)"
"args(t!1)" )
(("1"
(case
"t!1 = app(f(t!1), args(t!1))" )
(("1"
(assert )
(("1"
(hide -1)
(("1"
(inst
-1
"k!11" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1 3))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (1 5))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide -2 5 6)
(("3"
(lemma
unifiable_terms_unifiable_args)
(("3"
(expand unifiable)
(("3"
(skosimp)
(("3"
(inst 1 sigma!1)
(("3"
(inst
-1
sigma!1
s!1
t!1
"#(k!1)" )
(("1"
(expand * member U)
(("1" (assert ) nil nil ))
nil )
("2"
(reveal -5)
(("2"
(reveal -6)
(("2"
(lemma first_diff_TCC1)
(("2"
(inst
-1
"s!1"
"t!1"
"f(s!1)"
"args(s!1)" )
(("2"
(case
"s!1 = app(f(s!1), args(s!1))" )
(("1"
(assert )
(("1"
(hide -1)
(("1"
(inst
-1
"f(t!1)"
"args(t!1)" )
(("1"
(case
"t!1 = app(f(t!1), args(t!1))" )
(("1"
(assert )
(("1"
(hide
-1)
(("1"
(inst
-1
"k!11" )
(("1"
(assert )
(("1"
(lemma
first_diff_TCC2)
(("1"
(inst
-1
"s!1"
"t!1"
"f(s!1)"
"args(s!1)" )
(("1"
(case
"s!1 = app(f(s!1), args(s!1))" )
(("1"
(assert )
(("1"
(hide
-1)
(("1"
(inst
-1
"f(t!1)"
"args(t!1)" )
(("1"
(case
"t!1 = app(f(t!1), args(t!1))" )
(("1"
(assert )
(("1"
(hide
-1)
(("1"
(inst
-1
"k!11" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1
4))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1
6))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1 4))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(1 6))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -2 -3 -4 5 6)
(("2" (lemma first_diff_TCC7)
(("2" (inst -1 "s!1" "t!1" "f(s!1)" "args(s!1)" )
(("2" (case "s!1 = app(f(s!1), args(s!1))" )
(("1" (assert )
(("1" (hide -1)
(("1" (inst -1 "f(t!1)" "args(t!1)" )
(("1"
(case "t!1 = app(f(t!1), args(t!1))" )
(("1" (assert ) nil nil )
("2"
(hide-all-but (1 3))
(("2" (decompose-equality) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (1 5))
(("2" (decompose-equality) nil nil )) nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide - (5 6))
(("3" (skosimp*)
(("3" (lemma "positions_of_arg" )
(("3" (inst -1 "t!1" "kk!1" )
(("3" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
("4" (hide - (5 6))
(("4" (skosimp*)
(("4" (lemma "positions_of_arg" )
(("4" (inst -1 "s!1" "kk!1" )
(("1" (assert ) nil nil )
("2" (typepred "kk!1" )
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("5" (hide -1 -2 5 6)
(("5" (expand unifiable)
(("5" (skeep -1)
(("5" (expand unifier)
(("5" (expand ext )
(("5" (assert )
(("5" (lift-if)
(("5" (prop)
(("1" (decompose-equality -2) nil nil )
("2" (decompose-equality -1) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (-1 2))
(("2" (rewrite position_t_first_diff) nil nil )) nil )
("3" (hide-all-but (-1 1))
(("3" (lemma position_s_first_diff)
(("3" (inst -1 s!1 t!1 y!1) (("3" (assert ) nil nil )) nil ))
nil ))
nil )
("4" (hide-all-but (-1 2))
(("4" (rewrite position_t_first_diff) nil nil )) nil )
("5" (hide-all-but (-1 1))
(("5" (lemma position_s_first_diff)
(("5" (inst -1 s!1 t!1 p!1) (("5" (assert ) nil nil )) nil ))
nil ))
nil ))
nil )
((position_s_first_diff formula-decl nil robinsonunification nil )
(position_t_first_diff formula-decl nil robinsonunification nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(kk!1 skolem-const-decl
"below[length(args[variable, symbol, arity](t!1))]"
robinsonunification nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(positions_of_arg formula-decl nil positions nil )
(first_diff_TCC7 subtype-tcc nil robinsonunification nil )
(posint nonempty-type-eq-decl nil integers nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(add_first const-decl "finseq" seq_extras "structures/" )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(k!1 skolem-const-decl "posint" robinsonunification nil )
(first_diff_TCC1 subtype-tcc nil robinsonunification nil )
(term_app_extensionality formula-decl nil term_adt nil )
(subt_of_subt_is_subt_of_term formula-decl nil subterm nil )
(t!1 skolem-const-decl "{t: term | s!1 /= t}" robinsonunification
nil )
(first_diff_TCC2 subtype-tcc nil robinsonunification nil )
(unifiable_terms_unifiable_args formula-decl nil unification nil )
(member const-decl "bool" sets nil )
(U const-decl "set[Sub]" unification nil )
(insert? const-decl "finseq" seq_extras "structures/" )
(+ const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields nil )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(min const-decl "{a | S(a) AND (FORALL x: S(x) IMPLIES a <= x)}"
min_nat nil )
(<= const-decl "bool" reals nil )
(nonempty? const-decl "bool" sets nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(ext def-decl "term" substitution nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(app adt-constructor-decl
"[[f: symbol, {args: finite_sequence[term] | args`length = arity(f)}] ->
(app?)]" term_adt nil)
(args adt-accessor-decl
"[d: (app?) -> {args: finite_sequence[term] | args`length = arity(f(d))}]"
term_adt nil )
(set type-eq-decl nil sets nil )
(V const-decl "set[term]" variables_term nil )
(Sub? const-decl "bool" substitution nil )
(Sub type-eq-decl nil substitution nil )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(unifier const-decl "bool" unification nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(finseq type-eq-decl nil finite_sequences nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(vars? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(positions? type-eq-decl nil positions nil )
(subtermOF def-decl "term" subterm nil )
(term type-decl nil term_adt nil )
(/= const-decl "boolean" notequal nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(first_diff def-decl "position" robinsonunification nil )
(unifiable const-decl "bool" unification nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(wf_nat formula-decl nil naturalnumbers nil )
(< const-decl "bool" reals nil )
(naturalnumber type-eq-decl nil naturalnumbers nil )
(position type-eq-decl nil positions nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification 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 )
(below type-eq-decl nil nat_types nil )
(nat nonempty-type-eq-decl nil naturalnumbers 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))
(fd_equal_symbol_TCC1 0
(fd_equal_symbol_TCC1-1 nil 3512858302
("" (skosimp*)
(("" (lemma position_s_first_diff)
(("" (inst -1 s!1 t!1 fd!1)
(("" (assert )
(("" (typepred p!1)
(("" (hide -2)
(("" (hide -3)
(("" (lemma app_term)
(("" (inst -1 fd!1 p!1 s!1) (("" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((position_s_first_diff formula-decl nil robinsonunification nil )
(app_term formula-decl nil subterm nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" 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 )
(/= const-decl "boolean" notequal nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil ))
nil ))
(fd_equal_symbol_TCC2 0
(fd_equal_symbol_TCC2-1 nil 3512858302
("" (skosimp*)
(("" (lemma position_t_first_diff)
(("" (inst -1 s!1 t!1 fd!1)
(("" (assert )
(("" (typepred p!1)
(("" (hide -1 -4)
(("" (lemma app_term)
(("" (inst -1 fd!1 p!1 t!1) (("" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((position_t_first_diff formula-decl nil robinsonunification nil )
(app_term formula-decl nil subterm nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" 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 )
(/= const-decl "boolean" notequal nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil ))
nil ))
(fd_equal_symbol 0
(fd_equal_symbol-1 nil 3512858302
("" (measure-induct+ "length(first_diff(s, t))" ("s" "t" ))
(("1" (skosimp)
(("1" (name-replace "fd" "first_diff(x!1, x!2)" :hide? nil )
(("1" (expand first_diff -1)
(("1" (lift-if)
(("1" (prop)
(("1" (hide-all-but (-2 -4))
(("1" (replace -1 -2 rl)
(("1" (hide -1)
(("1" (expand child)
(("1" (skosimp)
(("1" (lemma seq_empty[posnat])
(("1" (inst -1 p!1 p1!1)
(("1" (assert )
(("1"
(flatten)
(("1" (rewrite empty_0 -2) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (-2 -4))
(("2" (replace -1 -2 rl)
(("2" (hide -1)
(("2" (expand child)
(("2" (skosimp)
(("2" (lemma seq_empty[posnat])
(("2" (inst -1 p!1 p1!1)
(("2" (assert )
(("2"
(flatten)
(("2" (rewrite empty_0 -2) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide-all-but (-2 -4))
(("3" (replace -1 -2 rl)
(("3" (hide -1)
(("3" (expand child)
(("3" (skosimp)
(("3" (lemma seq_empty[posnat])
(("3" (inst -1 p!1 p1!1)
(("3" (assert )
(("3"
(flatten)
(("3" (rewrite empty_0 -2) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("4" (case "p!1 = empty_seq" )
(("1" (hide-all-but (-1 -2 4))
(("1" (replaces -1)
(("1" (rewrite subterm_empty_seq)
(("1" (rewrite subterm_empty_seq) nil nil )) nil ))
nil ))
nil )
("2"
(name-replace "kk"
"min({kk: below[length(args(x!2))] |
subtermOF(x!1, #(kk + 1)) /=
subtermOF(x!2, #(kk + 1))})"
:hide? nil )
(("1" (assert )
(("1"
(inst -4 "subtermOF(x!1, #(1 + kk))"
"subtermOF(x!2, #(1 + kk))" )
(("1" (replace -3 -4 rl)
(("1" (expand add_first -4)
(("1" (expand insert? -4)
(("1" (inst -4 "rest(p!1)" )
(("1"
(split)
(("1"
(lemma pos_subterm)
(("1"
(inst-cp
-1
"#(1 + kk)"
"rest(p!1)"
"x!1" )
(("1"
(inst
-1
"#(1 + kk)"
"rest(p!1)"
"x!2" )
(("1"
(split)
(("1"
(split)
(("1"
(replace -1 -3 rl)
(("1"
(replace -2 -3 rl)
(("1"
(case
"#(1 + kk) o rest(p!1) = p!1" )
(("1" (assert ) nil nil )
("2"
(hide
-1
-2
-3
-5
3
4
5
6)
(("2"
(expand child)
(("2"
(skosimp)
(("2"
(case
"first(p!1) = first(fd)" )
(("1"
(case
"first(fd) = 1 + kk" )
(("1"
(hide-all-but
(-1
-2
1
2))
(("1"
(replaces
-1)
(("1"
(lemma
seq_first_rest_1[posnat])
(("1"
(inst
-1
p!1)
(("1"
(assert )
(("1"
(hide
-1
2)
(("1"
(flatten)
(("1"
(rewrite
empty_0)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-3 1))
(("2"
(replace
-1
1
rl)
(("2"
(hide
-1)
(("2"
(rewrite
first_add)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-3 1 3))
(("2"
(replaces
-1)
(("2"
(rewrite
first_compo)
(("2"
(hide
2)
(("2"
(flatten)
(("2"
(rewrite
empty_0)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but
(-2 1))
(("3"
(flatten)
(("3"
(rewrite
empty_0)
(("3"
(replaces
-1)
(("3"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("4"
(hide-all-but
(1 3))
(("4"
(flatten)
(("4"
(rewrite
empty_0)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(typepred p!1)
(("2"
(hide-all-but
(-1 -7 -8 1 2))
(("2"
(expand child)
(("2"
(skosimp)
(("2"
(case
"first(p!1) = 1 + kk" )
(("1"
(lemma
seq_first_rest_1[posnat])
(("1"
(inst -1 p!1)
(("1"
(assert )
(("1"
(hide-all-but
(1 3))
(("1"
(flatten)
(("1"
(rewrite
empty_0)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-2 -3 1 3))
(("2"
(lemma
first_compo[posnat])
(("2"
(inst
-1
p!1
p1!1)
(("2"
(lemma
empty_0[posnat])
(("2"
(inst
-1
p!1)
(("2"
(assert )
(("2"
(replace
-1
2
rl)
(("2"
(replace
-3
2
rl)
(("2"
(replace
-2
2
rl)
(("2"
(hide-all-but
2)
(("2"
(rewrite
first_add)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but
(1 3))
(("3"
(flatten)
(("3"
(rewrite
empty_0)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(typepred p!1)
(("2"
(hide-all-but
(-1 -7 -8 1 2))
(("2"
(expand child)
(("2"
(skosimp)
(("2"
(case
"first(p!1) = 1 + kk" )
(("1"
(lemma
seq_first_rest_1[posnat])
(("1"
(inst -1 p!1)
(("1"
(assert )
(("1"
(hide-all-but
(1 3))
(("1"
(flatten)
(("1"
(rewrite
empty_0)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-2 -3 1 3))
(("2"
(lemma
first_compo[posnat])
(("2"
(inst
-1
p!1
p1!1)
(("2"
(lemma
empty_0[posnat])
(("2"
(inst
-1
p!1)
(("2"
(assert )
(("2"
(replace
-1
2
rl)
(("2"
(replace
-3
2
rl)
(("2"
(replace
-2
2
rl)
(("2"
(hide-all-but
2)
(("2"
(rewrite
first_add)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but
(1 3))
(("3"
(flatten)
(("3"
(rewrite
empty_0)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (-3 -4 1 2))
(("2"
(expand child)
(("2"
(skosimp)
(("2"
(inst 1 p1!1)
(("2"
(assert )
(("2"
(lemma rest_compo[posnat])
(("2"
(inst -1 p!1 p1!1)
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 p!1)
(("2"
(assert )
(("2"
(replace -1 2 rl)
(("2"
(lemma
rest_add_first[posnat])
(("2"
(inst
-1
"first_diff(subtermOF(x!1, #(1 + kk)), subtermOF(x!2, #(1 + kk)))"
"1 + kk" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case "p!1 = #(1 + kk) o rest(p!1)" )
(("1"
(typepred p!1)
(("1"
(hide-all-but (-1 -2 -3 1 2))
(("1"
(rewrite pos_subterm_ax)
(("1"
(rewrite pos_subterm_ax)
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (-3 -4 1 3))
(("2"
(lemma seq_first_rest_1[posnat])
(("2"
(inst -1 p!1)
(("2"
(lemma empty_0[posnat])
(("2"
(inst -1 p!1)
(("2"
(assert )
(("2"
(expand child)
(("2"
(skosimp)
(("2"
(replace -2 -3 rl)
(("2"
(hide -2)
(("2"
(lemma
first_add[posnat])
(("2"
(inst
-1
"first_diff(subtermOF(x!1, #(1 + kk)),
subtermOF(x!2, #(1 + kk)))"
"1 + kk" )
(("2"
(replace
-3
-1)
(("2"
(hide -3)
(("2"
(rewrite
first_compo)
(("2"
(replaces
-1)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (-1 1 3 4 5))
(("2" (lemma first_diff_TCC7)
(("2" (inst -1 x!1 x!2 "f(x!1)" "args(x!1)" )
(("2" (assert )
(("2" (case "x!1 = app(f(x!1), args(x!1))" )
(("1" (assert )
(("1"
(inst -2 "f(x!2)" "args(x!2)" )
(("1"
(case "x!2 = app(f(x!2), args(x!2))" )
(("1" (assert ) nil nil )
("2"
(hide-all-but (1 3))
(("2"
(decompose-equality)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (1 5))
(("2" (decompose-equality) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (skosimp)
(("3" (rewrite positions_of_arg) nil nil )) nil )
("4" (hide -2 -3 -4 2 6)
(("4" (skosimp)
(("4" (rewrite positions_of_arg)
(("4" (typepred kk!1)
(("4" (typepred "args(x!2)" )
(("4" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("5" (hide-all-but (-1 -3))
(("5" (replace -1 -2 rl)
(("5" (hide -1)
(("5" (expand child)
(("5" (skosimp)
(("5" (lemma seq_empty[posnat])
(("5" (inst -1 p!1 p1!1)
(("5" (assert )
(("5"
(flatten)
(("5" (rewrite empty_0 -2) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide-all-but (-1 1))
(("2" (lemma position_t_first_diff)
(("2" (inst -1 y!1 y!2 "first_diff(y!1, y!2)" )
(("2" (name-replace "fd" "first_diff(y!1, y!2)" )
(("2" (expand child)
(("2" (skosimp)
(("2" (lemma pos_subterm_ax)
(("2" (inst -1 p!1 p1!1 y!2)
(("2" (assert )
(("2" (lemma not_var)
(("2" (lemma seq_first_rest[posnat])
(("2" (inst -1 p1!1)
(("2" (lemma empty_0[posnat])
(("2"
(inst -1 p1!1)
(("2"
(assert )
(("2"
(inst
-2
"first(p1!1)"
"p1!1"
"rest(p1!1)"
"subtermOF(y!2, p!1)" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide-all-but (-1 1))
(("3" (lemma position_s_first_diff)
(("3" (inst -1 y!1 y!2 "first_diff(y!1, y!2)" )
(("3" (name-replace "fd" "first_diff(y!1, y!2)" )
(("3" (expand child)
(("3" (skosimp)
(("3" (lemma pos_subterm_ax)
(("3" (inst -1 p!1 p1!1 y!1)
(("3" (assert )
(("3" (lemma not_var)
(("3" (lemma seq_first_rest[posnat])
(("3" (inst -1 p1!1)
(("3" (lemma empty_0[posnat])
(("3"
(inst -1 p1!1)
(("3"
(assert )
(("3"
(inst
-2
"first(p1!1)"
"p1!1"
"rest(p1!1)"
"subtermOF(y!1, p!1)" )
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("4" (hide-all-but 1)
(("4" (skosimp)
(("4" (lemma position_t_first_diff)
(("4" (inst -1 y!1 y!2 "first_diff(y!1, y!2)" )
(("4" (name-replace "fd" "first_diff(y!1, y!2)" )
(("4" (expand child)
(("4" (skosimp)
(("4" (lemma pos_subterm_ax)
(("4" (inst -1 p!1 p1!1 y!2)
(("4" (assert )
(("4" (lemma not_var)
(("4" (lemma seq_first_rest[posnat])
(("4" (inst -1 p1!1)
(("4"
(lemma empty_0[posnat])
(("4"
(inst -1 p1!1)
(("4"
(assert )
(("4"
(inst
-2
"first(p1!1)"
"p1!1"
"rest(p1!1)"
"subtermOF(y!2, p!1)" )
(("4" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("5" (hide-all-but 1)
(("5" (skosimp)
(("5" (lemma position_s_first_diff)
(("5" (inst -1 y!1 y!2 "first_diff(y!1, y!2)" )
(("5" (name-replace "fd" "first_diff(y!1, y!2)" )
(("5" (expand child)
(("5" (skosimp)
(("5" (lemma pos_subterm_ax)
(("5" (inst -1 p!1 p1!1 y!1)
(("5" (assert )
(("5" (lemma not_var)
(("5" (lemma seq_first_rest[posnat])
(("5" (inst -1 p1!1)
(("5"
(lemma empty_0[posnat])
(("5"
(inst -1 p1!1)
(("5"
(assert )
(("5"
(inst
-2
"first(p1!1)"
"p1!1"
"rest(p1!1)"
"subtermOF(y!1, p!1)" )
(("5" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("6" (hide-all-but 1)
(("6" (skosimp)
(("6" (lemma position_t_first_diff)
(("6" (inst?)
(("6" (inst?)
(("6" (name-replace "fd" "first_diff(x!1`1, x!1`2)" )
(("6" (expand child)
(("6" (skosimp)
(("6" (lemma pos_subterm_ax)
(("6" (inst?)
(("6" (inst?)
(("6" (lemma seq_first_rest[posnat])
(("6" (inst -1 p1!2)
(("6"
(lemma empty_0[posnat])
(("6"
(inst -1 p1!2)
(("6"
(assert )
(("6"
(lemma not_var)
(("6"
(inst?)
(("6"
(inst?)
(("6" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("7" (hide-all-but (-1 1))
(("7" (lemma position_t_first_diff)
(("7" (inst?)
(("7" (inst?)
(("7" (name-replace "fd" "first_diff(y!1`1, y!1`2)" )
(("7" (expand child)
(("7" (skosimp)
(("7" (lemma pos_subterm_ax)
(("7" (inst?)
(("7" (inst?)
(("7" (lemma seq_first_rest[posnat])
(("7" (inst -1 p1!1)
(("7" (lemma empty_0[posnat])
(("7"
(inst -1 p1!1)
(("7"
(assert )
(("7"
(lemma not_var)
(("7"
(inst?)
(("7"
(inst?)
(("7" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("8" (hide-all-but (-1 1))
(("8" (lemma position_s_first_diff)
(("8" (inst?)
(("8" (inst?)
(("8" (name-replace "fd" "first_diff(y!1`1, y!1`2)" )
(("8" (expand child)
(("8" (skosimp)
(("8" (lemma pos_subterm_ax)
(("8" (inst?)
(("8" (inst?)
(("8" (lemma seq_first_rest[posnat])
(("8" (inst -1 p1!1)
(("8" (lemma empty_0[posnat])
(("8"
(inst -1 p1!1)
(("8"
(assert )
(("8"
(lemma not_var)
(("8"
(inst?)
(("8"
(inst?)
(("8" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("9" (hide-all-but 1)
(("9" (skosimp)
(("9" (lemma position_s_first_diff)
(("9" (inst?)
(("9" (inst?)
(("9" (name-replace "fd" "first_diff(x!1`1, x!1`2)" )
(("9" (expand child)
(("9" (skosimp)
(("9" (lemma pos_subterm_ax)
(("9" (inst?)
(("9" (inst?)
(("9" (lemma seq_first_rest[posnat])
(("9" (inst -1 p1!2)
(("9"
(lemma empty_0[posnat])
(("9"
(inst -1 p1!2)
(("9"
(assert )
(("9"
(lemma not_var)
(("9"
(inst?)
(("9"
(inst?)
(("9" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("10" (hide-all-but (-1 1))
(("10" (lemma position_t_first_diff)
(("10" (inst?)
(("10" (inst?)
(("10" (name-replace "fd" "first_diff(y!1`1, y!1`2)" )
(("10" (expand child)
(("10" (skosimp)
(("10" (lemma pos_subterm_ax)
(("10" (inst?)
(("10" (inst?)
(("10" (lemma seq_first_rest[posnat])
(("10" (inst -1 p1!1)
(("10" (lemma empty_0[posnat])
(("10"
(inst -1 p1!1)
(("10"
(assert )
(("10"
(lemma not_var)
(("10"
(inst?)
(("10"
(inst?)
(("10" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("11" (hide-all-but (-1 1))
(("11" (lemma position_s_first_diff)
(("11" (inst?)
(("11" (inst?)
(("11" (name-replace "fd" "first_diff(y!1`1, y!1`2)" )
(("11" (expand child)
(("11" (skosimp)
(("11" (lemma pos_subterm_ax)
(("11" (inst?)
(("11" (inst?)
(("11" (lemma seq_first_rest[posnat])
(("11" (inst -1 p1!1)
(("11" (lemma empty_0[posnat])
(("11"
(inst -1 p1!1)
(("11"
(assert )
(("11"
(lemma not_var)
(("11"
(inst?)
(("11"
(inst?)
(("11" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("12" (hide-all-but 1)
(("12" (skosimp)
(("12" (lemma position_t_first_diff)
(("12" (inst?)
(("12" (inst?)
(("12" (name-replace "fd" "first_diff(y!1`1, y!1`2)" )
(("12" (expand child)
(("12" (skosimp)
(("12" (lemma pos_subterm_ax)
(("12" (inst?)
(("12" (inst?)
(("12" (lemma seq_first_rest[posnat])
(("12" (inst -1 p1!1)
(("12"
(lemma empty_0[posnat])
(("12"
(inst -1 p1!1)
(("12"
(assert )
(("12"
(lemma not_var)
(("12"
(inst?)
(("12"
(inst?)
(("12" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("13" (hide-all-but 1)
(("13" (skosimp)
(("13" (lemma position_s_first_diff)
(("13" (inst?)
(("13" (inst?)
(("13" (name-replace "fd" "first_diff(y!1`1, y!1`2)" )
(("13" (expand child)
(("13" (skosimp)
(("13" (lemma pos_subterm_ax)
(("13" (inst?)
(("13" (inst?)
(("13" (lemma seq_first_rest[posnat])
(("13" (inst -1 p1!1)
(("13"
(lemma empty_0[posnat])
(("13"
(inst -1 p1!1)
(("13"
(assert )
(("13"
(lemma not_var)
(("13"
(inst?)
(("13"
(inst?)
(("13" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("14" (hide 2)
(("14" (skosimp)
(("14" (lemma position_t_first_diff)
(("14" (inst?)
(("14" (assert )
(("14" (hide -2)
(("14" (expand child)
(("14" (skosimp)
(("14" (lemma pos_subterm_ax)
(("14" (inst?)
(("14" (inst?)
(("14" (lemma seq_first_rest[posnat])
(("14" (inst -1 p1!1)
(("14"
(lemma empty_0[posnat])
(("14"
(inst -1 p1!1)
(("14"
(assert )
(("14"
(lemma not_var)
(("14"
(inst?)
(("14"
(inst?)
(("14" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("15" (hide 2)
(("15" (skosimp)
(("15" (lemma position_s_first_diff)
(("15" (inst?)
(("15" (assert )
(("15" (hide -2)
(("15" (expand child)
(("15" (skosimp)
(("15" (lemma pos_subterm_ax)
(("15" (inst?)
(("15" (inst?)
(("15" (lemma seq_first_rest[posnat])
(("15" (inst -1 p1!1)
(("15"
(lemma empty_0[posnat])
(("15"
(inst -1 p1!1)
(("15"
(assert )
(("15"
(lemma not_var)
(("15"
(inst?)
(("15"
(inst?)
(("15" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((position_s_first_diff formula-decl nil robinsonunification nil )
(seq_first_rest formula-decl nil seq_extras "structures/" )
(not_var formula-decl nil positions nil )
(position_t_first_diff formula-decl nil robinsonunification nil )
(seq_empty formula-decl nil seq_extras "structures/" )
(empty_0 formula-decl nil seq_extras "structures/" )
(finseq type-eq-decl nil finite_sequences nil )
(nnint_plus_posint_is_posint application-judgement "posint"
integers nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(args adt-accessor-decl
"[d: (app?) -> {args: finite_sequence[term] | args`length = arity(f(d))}]"
term_adt nil )
(set type-eq-decl nil sets nil )
(nonempty? const-decl "bool" sets nil )
(<= const-decl "bool" reals nil )
(min const-decl "{a | S(a) AND (FORALL x: S(x) IMPLIES a <= x)}"
min_nat 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 )
(NOT const-decl "[bool -> bool]" booleans nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(add_first const-decl "finseq" seq_extras "structures/" )
(x!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(x!2 skolem-const-decl "{t: term | x!1 /= t}" robinsonunification
nil )
(kk skolem-const-decl "{a |
NOT subtermOF(x!1, #(1 + a)) = subtermOF(x!2, #(1 + a)) AND
(FORALL (x: below[length(args(x!2))]):
NOT subtermOF(x!1, #(1 + x)) = subtermOF(x!2, #(1 + x))
IMPLIES a <= x)}" robinsonunification nil)
(rest const-decl "finseq" seq_extras "structures/" )
(p!1 skolem-const-decl
"{p: position | positionsOF(x!1)(p) AND positionsOF(x!2)(p)}"
robinsonunification nil )
(rest_add_first formula-decl nil seq_extras "structures/" )
(rest_compo formula-decl nil seq_extras "structures/" )
(pos_subterm formula-decl nil subterm nil )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(real_gt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(nat_min application-judgement "{k: nat | k <= i AND k <= j}"
real_defs nil )
(int_min application-judgement "{k: int | k <= i AND k <= j}"
real_defs nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(^ const-decl "finseq" finite_sequences nil )
(first_compo formula-decl nil seq_extras "structures/" )
(seq_first_rest_1 formula-decl nil seq_extras "structures/" )
(first_add formula-decl nil seq_extras "structures/" )
(first const-decl "T" seq_extras "structures/" )
(not_empty_seq type-eq-decl nil seq_extras "structures/" )
(O const-decl "finseq" finite_sequences nil )
(pos_subterm_ax formula-decl nil subterm nil )
(insert? const-decl "finseq" seq_extras "structures/" )
(first_diff_TCC7 subtype-tcc nil robinsonunification nil )
(term_app_extensionality formula-decl nil term_adt nil )
(app adt-constructor-decl
"[[f: symbol, {args: finite_sequence[term] | args`length = arity(f)}] ->
(app?)]" term_adt nil)
(even_minus_odd_is_odd application-judgement "odd_int" integers
nil )
(real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(positions_of_arg formula-decl nil positions nil )
(subterm_empty_seq formula-decl nil subterm nil )
(empty_seq const-decl "finseq" finite_sequences nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(child const-decl "bool" positions nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(positions? type-eq-decl nil positions nil )
(subtermOF def-decl "term" subterm nil )
(wf_nat formula-decl nil naturalnumbers nil )
(< const-decl "bool" reals nil )
(first_diff def-decl "position" robinsonunification 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 )
(naturalnumber type-eq-decl nil naturalnumbers nil )
(/= const-decl "boolean" notequal nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification 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))
(link_of_frst_diff_TCC1 0
(link_of_frst_diff_TCC1-1 nil 3467989055
("" (skosimp*)
(("" (hide -1 -2 -4) (("" (expand V) (("" (propax) nil nil )) nil ))
nil ))
nil )
((V const-decl "set[term]" variables_term nil )) nil ))
(link_of_frst_diff_TCC2 0
(link_of_frst_diff_TCC2-1 nil 3467989055
("" (skosimp*)
(("" (lemma "Vars_is_var" )
(("" (lemma "vars_of_term_finite" )
(("" (inst -1 "sp!1" )
(("" (inst -2 "sp!1" )
(("" (assert )
(("" (expand * "Sub?" "Dom" )
(("" (replaces -2)
(("" (expand "is_finite" )
(("" (skosimp)
(("" (inst 2 "N!1" "f!1" )
(("1" (hide-all-but (-1 2))
(("1" (expand "injective?" )
(("1" (skeep)
(("1"
(inst -1 "x1" "x2" )
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (skeep)
(("2" (prop)
(("1" (assert )
(("1"
(replaces -1)
(("1"
(hide -2 -5 1)
(("1"
(lemma
"first_diff_has_diff_argument" )
(("1"
(inst -1 "s!1" "t!1" "k!1" )
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(Vars_is_var formula-decl nil subterm 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 )
(first_diff_has_diff_argument formula-decl nil robinsonunification
nil )
(injective? const-decl "bool" functions nil )
(below type-eq-decl nil nat_types nil )
(< const-decl "bool" reals nil ) (set type-eq-decl nil sets nil )
(V const-decl "set[term]" variables_term nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(sp!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(/= const-decl "boolean" notequal nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(tp!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(is_finite const-decl "bool" finite_sets nil )
(Sub? const-decl "bool" substitution nil )
(Dom const-decl "set[(V)]" substitution nil )
(vars_of_term_finite formula-decl nil subterm nil ))
nil ))
(link_of_frst_diff_TCC3 0
(link_of_frst_diff_TCC3-1 nil 3467989055 ("" (subtype-tcc) nil nil )
((NOT const-decl "[bool -> bool]" booleans nil )
(term type-decl nil term_adt nil )
(/= const-decl "boolean" notequal nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(V const-decl "set[term]" variables_term nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil ))
nil ))
(link_of_frst_diff_TCC4 0
(link_of_frst_diff_TCC4-1 nil 3467989055
("" (skosimp*)
(("" (lemma "Vars_is_var" )
(("" (lemma "vars_of_term_finite" )
(("" (inst -1 "tp!1" )
(("" (inst -2 "tp!1" )
(("" (assert )
(("" (expand * "Sub?" "Dom" )
(("" (replaces -2)
(("" (expand "is_finite" )
(("" (skosimp)
(("" (inst 3 "N!1" "f!1" )
(("1" (hide-all-but (-1 3))
(("1" (expand "injective?" )
(("1" (skeep)
(("1"
(inst -1 "x1" "x2" )
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (skeep)
(("2" (prop)
(("1" (assert ) nil nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(Vars_is_var formula-decl nil subterm nil )
(term type-decl nil term_adt nil )
(injective? const-decl "bool" functions nil )
(below type-eq-decl nil nat_types nil )
(< const-decl "bool" reals nil ) (set type-eq-decl nil sets nil )
(V const-decl "set[term]" variables_term nil )
(IFF const-decl "[bool, bool -> bool]" booleans nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(tp!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(/= const-decl "boolean" notequal nil )
(IF const-decl "[boolean, T, T -> T]" if_def nil )
(sp!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(is_finite const-decl "bool" finite_sets nil )
(Sub? const-decl "bool" substitution nil )
(Dom const-decl "set[(V)]" substitution nil )
(vars_of_term_finite formula-decl nil subterm nil ))
nil ))
(dom_link_of_frst_diff_is 0
(dom_link_of_frst_diff_is-1 nil 3468666181
("" (skosimp)
(("" (assert )
((""
(name-replace "sig!1" "link_of_frst_diff(s!1, t!1)" :hide? nil )
(("" (prop)
(("1" (expand * "restrict" "singleton" )
(("1" (decompose-equality 1)
(("1" (iff)
(("1" (prop)
(("1" (copy -3)
(("1" (decompose-equality -1)
(("1" (inst -1 "x!1" )
(("1" (expand "Dom" )
(("1" (expand "link_of_frst_diff" -1)
(("1" (assert )
(("1"
(lift-if)
(("1"
(prop)
(("1" (assert ) nil nil )
("2"
(expand "link_of_frst_diff" -4)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (replace -3 1 rl)
(("2" (expand "link_of_frst_diff" 1)
(("2" (assert )
(("2" (prop)
(("1" (expand "Dom" )
(("1" (replace -5 1 rl)
(("1"
(replace -2 1 rl)
(("1"
(hide-all-but (-1 1))
(("1"
(expand * "member" "subtermOF" )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(expand "Vars" )
(("1"
(inst 1 "empty_seq" )
(("1"
(expand "subtermOF" )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(hide-all-but 1)
(("1"
(rewrite
"empty_0" )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide -)
(("2"
(expand "positionsOF" )
(("2"
(lift-if)
(("2"
(prop)
(("1"
(expand
"only_empty_seq" )
(("1"
(propax)
nil
nil ))
nil )
("2"
(expand
"only_empty_seq" )
(("2"
(propax)
nil
nil ))
nil )
("3"
(expand *
"union"
"IUnion"
"member"
"only_empty_seq" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "finseq_appl" )
(("2"
(reveal -4)
(("2" (assert ) nil nil ))
nil ))
nil )
("3"
(reveal -4)
(("3" (assert ) nil nil ))
nil )
("4"
(expand "Vars" )
(("4"
(expand "finseq_appl" )
(("4"
(inst 3 "empty_seq" )
(("1"
(reveal -4)
(("1"
(replace -1 -2 rl)
(("1"
(expand
"subtermOF"
3
1)
(("1"
(rewrite
"empty_0"
3)
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but 1)
(("2"
(expand
"finseq_appl" )
(("2"
(expand
"positionsOF" )
(("2"
(lift-if)
(("2"
(prop)
(("1"
(expand
"only_empty_seq" )
(("1"
(propax)
nil
nil ))
nil )
("2"
(expand
"only_empty_seq" )
(("2"
(propax)
nil
nil ))
nil )
("3"
(hide 1 3)
(("3"
(expand *
"union"
"IUnion"
"member"
"only_empty_seq" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "link_of_frst_diff" -4)
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand * "restrict" "singleton" )
(("2" (decompose-equality 2)
(("1" (iff)
(("1" (prop)
(("1" (copy -2)
(("1" (decompose-equality -1)
(("1" (inst -1 "x!1" )
(("1" (expand "Dom" )
(("1" (replace -1 -2 rl)
(("1" (expand "link_of_frst_diff" -2)
(("1"
(assert )
(("1"
(case
"vars?(subtermOF(t!1, first_diff(s!1, t!1)))" )
(("1"
(assert )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(expand
"link_of_frst_diff"
-4)
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(assert )
(("2"
(replace -3 1 rl)
(("2"
(expand "link_of_frst_diff" -2)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but 1)
(("3"
(lemma "position_s_first_diff" )
(("3"
(lemma "comutative_first_diff" )
(("3"
(inst
-2
"t!1"
"s!1"
"first_diff(s!1,t!1)" )
(("3"
(assert )
(("3"
(inst -1 s!1 t!1 p!1)
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (copy -2)
(("2" (decompose-equality -1)
(("2" (inst -1 "x!1" )
(("2" (expand "link_of_frst_diff" -1)
(("2" (assert )
(("2" (lift-if)
(("2"
(prop)
(("1"
(expand "Dom" )
(("1" (assert ) nil nil ))
nil )
("2"
(expand "link_of_frst_diff" -5)
(("2" (assert ) nil nil ))
nil )
("3"
(assert )
(("3"
(expand "link_of_frst_diff" -3)
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -1 2 3)
(("2" (skosimp)
(("2" (lemma "position_s_first_diff" )
(("2" (inst -1 "t!1" "s!1" "p!1" )
(("2" (lemma "comutative_first_diff" )
(("2" (assert )
(("2" (inst -1 s!1 t!1 p!1)
(("2" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((Dom const-decl "set[(V)]" substitution 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 )
(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 )
(rest const-decl "finseq" seq_extras "structures/" )
(p!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunification nil )
(first const-decl "T" seq_extras "structures/" )
(not_empty_seq type-eq-decl nil seq_extras "structures/" )
(- const-decl "[numfield, numfield -> numfield]" number_fields nil )
(numfield nonempty-type-eq-decl nil number_fields 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 )
(< const-decl "bool" reals nil )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(Vars const-decl "set[(V)]" subterm nil )
(union const-decl "set" sets nil )
(IUnion const-decl "set[T]" indexed_sets nil )
(only_empty_seq const-decl "positions" positions nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(empty_seq const-decl "finseq" finite_sequences nil )
(finseq type-eq-decl nil finite_sequences nil )
(t!1 skolem-const-decl "{t: term | s!1 /= t}" robinsonunification
nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(member const-decl "bool" sets nil )
(restrict const-decl "R" restrict nil )
(singleton const-decl "(singleton?)" sets nil )
(vars? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(first_diff def-decl "position" robinsonunification nil )
(position_s_first_diff formula-decl nil robinsonunification nil )
(comutative_first_diff formula-decl nil robinsonunification nil )
(link_of_frst_diff const-decl "Sub" robinsonunification nil )
(Sub type-eq-decl nil substitution nil )
(Sub? const-decl "bool" substitution nil )
(/= const-decl "boolean" notequal nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(V const-decl "set[term]" variables_term nil )
(set type-eq-decl nil sets nil ) (term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil ))
shostak))
(dom_ran_link_disjoint 0
(dom_ran_link_disjoint-1 nil 3468741400
("" (assert )
(("" (skosimp*)
((""
(name-replace "sig!1" "link_of_frst_diff(s!1, t!1)" :hide? nil )
(("" (typepred "x!1" )
(("" (typepred "r!1" )
(("" (hide -2)
(("" (expand "member" )
(("" (replace -3 -1)
(("" (replace -3 -2)
(("" (expand "Dom" )
(("" (expand "Ran" )
(("" (skosimp)
(("" (expand * "member" "Dom" )
(("" (lemma "dom_link_of_frst_diff_is" )
((""
(inst
-1
"first_diff(s!1, t!1)"
"s!1"
"t!1" )
((""
(assert )
((""
(replace -4 -1)
((""
(assert )
((""
(name-replace
"p!1"
"first_diff(s!1, t!1)"
:hide?
nil )
((""
(expand *
"restrict"
"singleton" )
((""
(prop)
(("1"
(copy -2)
(("1"
(decompose-equality -1)
(("1"
(inst -1 "x!1" )
(("1"
(iff)
(("1"
(assert )
(("1"
(typepred
"x!1" )
(("1"
(expand
"member" )
(("1"
(assert )
(("1"
(hide
-1
-2)
(("1"
(replace
-6
-5
rl)
(("1"
(decompose-equality
-3)
(("1"
(inst
-1
"x!2" )
(("1"
(expand
"Dom" )
(("1"
(expand
"link_of_frst_diff"
-5)
(("1"
(assert )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(replace
-5
1)
(("1"
(replace
-5
-1)
(("1"
(replace
-3
1
rl)
(("1"
(replace
-1
1
rl)
(("1"
(hide-all-but
(-7
1))
(("1"
(expand
"member" )
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace
-6
-1)
(("2"
(hide
-2
-3
-4
-8
1
2)
(("2"
(expand
"link_of_frst_diff" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"vars?(subtermOF(t!1, p!1))" )
(("1"
(copy -2)
(("1"
(decompose-equality
-1)
(("1"
(inst -1 "x!1" )
(("1"
(expand "Dom" -1)
(("1"
(decompose-equality
-3)
(("1"
(inst
-1
"x!2" )
(("1"
(expand
"Dom"
-1)
(("1"
(replace
-6
-5
rl)
(("1"
(expand
"link_of_frst_diff"
-5)
(("1"
(assert )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(replace
-5
1)
(("1"
(replace
-5
-1)
(("1"
(replace
-3
1
rl)
(("1"
(replace
-1
1
rl)
(("1"
(hide-all-but
(-7
1))
(("1"
(expand
"member" )
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace
-6
-1)
(("2"
(hide-all-but
(-1
-6
-7
4))
(("2"
(expand
"link_of_frst_diff" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-2 -4 1 2 5))
(("2"
(expand
"link_of_frst_diff" )
(("2"
(assert )
nil
nil ))
nil ))
nil )
("3"
(hide-all-but (-2 1))
(("3"
(lemma
"position_s_first_diff" )
(("3"
(inst
-1
"t!1"
"s!1"
"p!1" )
(("3"
(assert )
(("3"
(hide 2)
(("3"
(lemma
"comutative_first_diff" )
(("3"
(inst
-1
"s!1"
"t!1"
"p!1" )
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((Dom const-decl "set[(V)]" substitution nil )
(member const-decl "bool" sets nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(dom_link_of_frst_diff_is formula-decl nil robinsonunification nil )
(singleton const-decl "(singleton?)" sets nil )
(restrict const-decl "R" restrict nil )
(vars? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(position_s_first_diff formula-decl nil robinsonunification nil )
(comutative_first_diff formula-decl nil robinsonunification 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 )
(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 )
(first_diff def-decl "position" robinsonunification nil )
(Ran const-decl "set[term]" substitution nil )
(link_of_frst_diff const-decl "Sub" robinsonunification nil )
(Sub type-eq-decl nil substitution nil )
(Sub? const-decl "bool" substitution nil )
(/= const-decl "boolean" notequal nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(V const-decl "set[term]" variables_term nil )
(set type-eq-decl nil sets nil ) (term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil ))
shostak))
(link_remove_x 0
(link_remove_x-1 nil 3468745076
("" (skosimp)
(("" (assert )
(("" (flatten)
((""
(name-replace "sig!1" "link_of_frst_diff(s!1, t!1)" :hide?
nil )
(("" (prop)
(("1" (lemma "vars_subst_not_in" )
(("1" (inst -1 "s!1" "sig!1" "x!1" )
(("1" (assert )
(("1" (skosimp)
(("1" (lemma "dom_ran_link_disjoint" )
(("1" (inst -1 "s!1" "t!1" )
(("1" (assert )
(("1" (inst -1 "x!1" "r!1" )
(("1" (replaces -4)
(("1"
(hide -2 -3 -4 2)
(("1"
(expand "member" )
(("1" (propax) nil nil ))
nil ))
nil ))
nil )
("2" (replaces -4)
(("2"
(hide -1 -2 -3 2)
(("2"
(expand "member" )
(("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (lemma "vars_subst_not_in" )
(("2" (inst -1 "t!1" "sig!1" "x!1" )
(("2" (assert )
(("2" (skosimp)
(("2" (lemma "dom_ran_link_disjoint" )
(("2" (inst -1 "s!1" "t!1" )
(("2" (assert )
(("2" (inst -1 "x!1" "r!1" )
(("1" (replaces -4)
(("1"
(hide -2 -3 -4 2)
(("1"
(expand "member" )
(("1" (propax) nil nil ))
nil ))
nil ))
nil )
("2" (replaces -4)
(("2"
(hide -1 -2 -3 2)
(("2"
(expand "member" )
(("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((variable formal-nonempty-type-decl nil robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification 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]" robinsonunification nil )
(term type-decl nil term_adt nil ) (set type-eq-decl nil sets nil )
(V const-decl "set[term]" variables_term nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(/= const-decl "boolean" notequal nil )
(Sub? const-decl "bool" substitution nil )
(Sub type-eq-decl nil substitution nil )
(link_of_frst_diff const-decl "Sub" robinsonunification nil )
(r!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(vars_subst_not_in formula-decl nil substitution nil )
(dom_ran_link_disjoint formula-decl nil robinsonunification nil )
(r!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(x!1 skolem-const-decl "(V)" robinsonunification nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(t!1 skolem-const-decl "{t: term | s!1 /= t}" robinsonunification
nil )
(Ran const-decl "set[term]" substitution nil )
(Dom const-decl "set[(V)]" substitution nil )
(member const-decl "bool" sets nil ))
shostak))
(link_of_frst_diff_s_is_subset_union 0
(link_of_frst_diff_s_is_subset_union-1 nil 3469270552
("" (skosimp)
(("" (assert )
(("" (flatten)
((""
(name-replace "sig!1" "link_of_frst_diff(s!1,t!1)" :hide?
nil )
(("" (expand * "subset?" )
(("" (skosimp)
(("" (expand * "union" "member" )
(("" (flatten)
(("" (case "member(x!1, VRan(sig!1))" )
(("1" (expand * "member" "VRan" )
(("1" (expand "IUnion" )
(("1" (skosimp)
(("1" (lemma "dom_link_of_frst_diff_is" )
(("1"
(inst -1 "first_diff(s!1, t!1)" "s!1"
"t!1" )
(("1"
(assert )
(("1"
(replace -3 -1)
(("1"
(assert )
(("1"
(expand * "restrict" "singleton" )
(("1"
(prop)
(("1"
(decompose-equality -2)
(("1"
(typepred "i!1" )
(("1"
(inst -3 "i!1" )
(("1"
(assert )
(("1"
(replaces -3)
(("1"
(hide -1)
(("1"
(replace
-4
-3
rl)
(("1"
(expand
"link_of_frst_diff"
-3)
(("1"
(name-replace
"p!1"
"first_diff(s!1, t!1)"
:hide?
nil )
(("1"
(prop)
(("1"
(hide-all-but
(-1 4))
(("1"
(expand
"Vars" )
(("1"
(skosimp)
(("1"
(typepred
"p!2" )
(("1"
(lemma
"pos_o_term" )
(("1"
(inst
-1
"p!1"
"p!2"
"t!1" )
(("1"
(assert )
(("1"
(prop)
(("1"
(inst
1
"p!1 o p!2" )
(("1"
(rewrite
"pos_subterm" )
nil
nil ))
nil )
("2"
(hide-all-but
1)
(("2"
(reveal
-4)
(("2"
(lemma
"position_s_first_diff" )
(("2"
(inst
-1
"t!1"
"s!1"
"p!1" )
(("2"
(assert )
(("2"
(hide
2)
(("2"
(rewrite
"comutative_first_diff" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1
-3
-5
-6
1))
(("2"
(expand
"link_of_frst_diff" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(decompose-equality -1)
(("1"
(typepred "i!1" )
(("1"
(inst -3 "i!1" )
(("1"
(assert )
(("1"
(replaces -3)
(("1"
(expand "V" )
(("1"
(replace
-4
-3
rl)
(("1"
(expand
"link_of_frst_diff"
-3)
(("1"
(name-replace
"p!1"
"first_diff(s!1, t!1)"
:hide?
nil )
(("1"
(prop)
(("1"
(hide-all-but
(-1 4))
(("1"
(expand
"Vars" )
(("1"
(skosimp)
(("1"
(typepred
"p!2" )
(("1"
(lemma
"pos_o_term" )
(("1"
(inst
-1
"p!1"
"p!2"
"s!1" )
(("1"
(assert )
(("1"
(prop)
(("1"
(inst
1
"p!1 o p!2" )
(("1"
(rewrite
"pos_subterm" )
nil
nil ))
nil )
("2"
(hide-all-but
1)
(("2"
(reveal
-4)
(("2"
(lemma
"position_s_first_diff" )
(("2"
(inst
-1
"s!1"
"t!1"
"p!1" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1
-3
-4
-7
1
2))
(("2"
(expand
"link_of_frst_diff" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but 1)
(("2"
(rewrite
position_t_first_diff)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand "member" )
(("2" (name "p!1" "first_diff(s!1,t!1)" )
(("2" (case "vars?(subtermOF(s!1,p!1))" )
(("1"
(case "VRan(sig!1) = Vars(subtermOF(t!1,p!1))" )
(("1" (replaces -1)
(("1"
(lemma "link_remove_x" )
(("1"
(inst -1 "x!1" "s!1" "t!1" )
(("1"
(assert )
(("1"
(replace -4 -1)
(("1"
(assert )
(("1"
(expand "member" )
(("1"
(lemma "positions_of_ext" )
(("1"
(inst -1 "sig!1" "s!1" )
(("1"
(decompose-equality -1)
(("1"
(expand "Vars" -5)
(("1"
(skosimp)
(("1"
(inst -1 "p!2" )
(("1"
(assert )
(("1"
(expand
"union" )
(("1"
(prop)
(("1"
(expand
"member" )
(("1"
(flatten)
(("1"
(rewrite
"subterm_ext_commute" )
(("1"
(decompose-equality
-5)
(("1"
(prop)
(("1"
(hide-all-but
(-1
1))
(("1"
(expand
"ext" )
(("1"
(assert )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-2)
(("2"
(typepred
"x!1" )
(("2"
(expand
"V" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"member" )
(("2"
(skosimp)
(("2"
(replace
-1
-8)
(("2"
(rewrite
"pos_subterm" )
(("2"
(rewrite
"subterm_ext_commute" )
(("2"
(expand
"ext"
-8)
(("2"
(assert )
(("2"
(case
"subtermOF(s!1, p1!1) = subtermOF(s!1, p!1)" )
(("1"
(replace
-8
-9
rl)
(("1"
(expand
"link_of_frst_diff"
-9)
(("1"
(assert )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(replace
-8
-1)
(("1"
(hide-all-but
(-1
3))
(("1"
(expand
"Vars" )
(("1"
(inst
1
"p2!1" )
nil
nil ))
nil ))
nil ))
nil )
("2"
(expand
"link_of_frst_diff"
-10)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace
-7
-8
rl)
(("2"
(expand
"link_of_frst_diff"
-8)
(("2"
(assert )
(("2"
(lift-if)
(("2"
(prop)
(("1"
(replace
-8
-5
rl)
(("1"
(expand
"ext"
-5)
(("1"
(expand
"link_of_frst_diff"
-5)
(("1"
(assert )
(("1"
(lemma
"pos_o_term" )
(("1"
(inst
-1
"p1!1"
"p2!1"
"s!1" )
(("1"
(assert )
(("1"
(lemma
"pos_subterm" )
(("1"
(inst
-1
"p1!1"
"p2!1"
"s!1" )
(("1"
(assert )
(("1"
(replace
-1
-3
rl)
(("1"
(hide-all-but
(-3
6))
(("1"
(expand
"Vars" )
(("1"
(inst
1
"p1!1 o p2!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"link_of_frst_diff"
-9)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (decompose-equality 1)
(("2"
(iff)
(("2"
(prop)
(("1"
(expand "VRan" -1)
(("1"
(expand "IUnion" )
(("1"
(skosimp)
(("1"
(lemma
"dom_link_of_frst_diff_is" )
(("1"
(inst -1 "p!1" "s!1" "t!1" )
(("1"
(assert )
(("1"
(expand *
"restrict"
"singleton" )
(("1"
(replace -5 -1)
(("1"
(decompose-equality
-1)
(("1"
(inst -1 "i!1" )
(("1"
(assert )
(("1"
(replaces -1)
(("1"
(replace
-4
-1
rl)
(("1"
(expand
"link_of_frst_diff"
-1)
(("1"
(prop)
(("1"
(hide-all-but
(-1
-3
2))
(("1"
(assert )
nil
nil ))
nil )
("2"
(expand
"link_of_frst_diff"
-5)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "VRan" 1)
(("2"
(expand "IUnion" )
(("2"
(inst 1 "subtermOF(s!1, p!1)" )
(("1"
(replace -4 1 rl)
(("1"
(expand
"link_of_frst_diff"
1)
(("1"
(prop)
(("1"
(hide-all-but
(-1 -3 2))
(("1"
(assert )
nil
nil ))
nil )
("2"
(expand
"link_of_frst_diff"
-5)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand V)
(("2"
(expand "Dom" )
(("2"
(decompose-equality -4)
(("2"
(inst
-1
"subtermOF(s!1, p!1)" )
(("2"
(expand
"link_of_frst_diff"
-1)
(("2"
(assert )
(("2"
(lift-if)
(("2"
(prop)
(("1"
(assert )
(("1"
(replace
-2
-1)
(("1"
(replace
-5
-1)
(("1"
(hide-all-but
(-1
-5))
(("1"
(lemma
first_diff_has_diff_argument)
(("1"
(inst
-1
s!1
t!1
p!1)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"sig!1 = link_of_frst_diff(s!1,t!1)" )
(("1"
(expand
link_of_frst_diff
-1)
(("1"
(assert )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide-all-but (-2 1))
(("3"
(rewrite position_t_first_diff)
nil
nil ))
nil ))
nil )
("2" (case "vars?(subtermOF(t!1,p!1))" )
(("1"
(case "VRan(sig!1) = Vars(subtermOF(s!1,p!1))" )
(("1"
(replaces -1)
(("1"
(lemma "link_remove_x" )
(("1"
(inst -1 "x!1" "s!1" "t!1" )
(("1"
(assert )
(("1"
(replace -4 -1)
(("1"
(assert )
(("1"
(expand "member" )
(("1"
(lemma
"positions_of_ext" )
(("1"
(inst -1 "sig!1" "s!1" )
(("1"
(decompose-equality
-1)
(("1"
(expand "Vars" -5)
(("1"
(skosimp)
(("1"
(inst -1 "p!2" )
(("1"
(assert )
(("1"
(expand
"union" )
(("1"
(prop)
(("1"
(expand
"member" )
(("1"
(flatten)
(("1"
(rewrite
"subterm_ext_commute" )
(("1"
(decompose-equality
-5)
(("1"
(prop)
(("1"
(hide-all-but
(-1
1))
(("1"
(expand
"ext" )
(("1"
(assert )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-2)
(("2"
(typepred
"x!1" )
(("2"
(expand
"V" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"member" )
(("2"
(skosimp)
(("2"
(replace
-1
-8)
(("2"
(rewrite
"pos_subterm" )
(("2"
(rewrite
"subterm_ext_commute" )
(("2"
(expand
"ext"
-8)
(("2"
(assert )
(("2"
(case
"subtermOF(s!1, p1!1) = subtermOF(t!1, p!1)" )
(("1"
(replace
-8
-9
rl)
(("1"
(expand
"link_of_frst_diff"
-9)
(("1"
(assert )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(replace
-8
-1)
(("1"
(hide-all-but
(-1
4))
(("1"
(expand
"Vars" )
(("1"
(inst
1
"p2!1" )
nil
nil ))
nil ))
nil ))
nil )
("2"
(expand
"link_of_frst_diff"
-10)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace
-7
-8
rl)
(("2"
(expand
"link_of_frst_diff"
-8)
(("2"
(assert )
(("2"
(lift-if)
(("2"
(prop)
(("1"
(replace
-8
-5
rl)
(("1"
(expand
"ext"
-5)
(("1"
(expand
"link_of_frst_diff"
-5)
(("1"
(assert )
(("1"
(lemma
"pos_o_term" )
(("1"
(inst
-1
"p1!1"
"p2!1"
"s!1" )
(("1"
(assert )
(("1"
(lemma
"pos_subterm" )
(("1"
(inst
-1
"p1!1"
"p2!1"
"s!1" )
(("1"
(assert )
(("1"
(replace
-1
-3
rl)
(("1"
(hide-all-but
(-3
7))
(("1"
(expand
"Vars" )
(("1"
(inst
1
"p1!1 o p2!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"link_of_frst_diff"
-9)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(decompose-equality 1)
(("2"
(iff)
(("2"
(prop)
(("1"
(expand "VRan" -1)
(("1"
(expand "IUnion" )
(("1"
(skosimp)
(("1"
(lemma
"dom_link_of_frst_diff_is" )
(("1"
(inst
-1
"p!1"
"s!1"
"t!1" )
(("1"
(assert )
(("1"
(expand *
"restrict"
"singleton" )
(("1"
(replace -5 -1)
(("1"
(decompose-equality
-1)
(("1"
(inst -1 "i!1" )
(("1"
(assert )
(("1"
(replaces
-1)
(("1"
(replace
-4
-1
rl)
(("1"
(expand
"link_of_frst_diff"
-1)
(("1"
(prop)
(("1"
(assert )
nil
nil )
("2"
(expand
"link_of_frst_diff"
-5)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "VRan" 1)
(("2"
(expand "IUnion" )
(("2"
(inst
1
"subtermOF(t!1, p!1)" )
(("1"
(replace -4 1 rl)
(("1"
(expand
"link_of_frst_diff"
1)
(("1"
(prop)
(("1" (assert ) nil nil )
("2"
(expand
"link_of_frst_diff"
-5)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand V)
(("2"
(expand "Dom" )
(("2"
(decompose-equality -4)
(("2"
(inst
-1
"subtermOF(t!1, p!1)" )
(("2"
(expand
"link_of_frst_diff"
-1)
(("2"
(assert )
(("2"
(lift-if)
(("2"
(prop)
(("1"
(assert )
nil
nil )
("2"
(case
"sig!1 = link_of_frst_diff(s!1,t!1)" )
(("1"
(expand
link_of_frst_diff
-1)
(("1"
(assert )
nil
nil ))
nil )
("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand link_of_frst_diff)
(("2" (assert ) nil nil )) nil )
("3" (hide-all-but (-1 1))
(("3"
(rewrite position_t_first_diff)
nil
nil ))
nil ))
nil )
("3" (hide-all-but (-1 1))
(("3" (lemma position_s_first_diff)
(("3"
(inst -1 s!1 t!1 p!1)
(("3" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((subset_is_partial_order name-judgement "(partial_order?[set[T]])"
sets_lemmas nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification 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]" robinsonunification nil )
(term type-decl nil term_adt nil ) (set type-eq-decl nil sets nil )
(V const-decl "set[term]" variables_term nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(/= const-decl "boolean" notequal nil )
(Sub? const-decl "bool" substitution nil )
(Sub type-eq-decl nil substitution nil )
(link_of_frst_diff const-decl "Sub" robinsonunification nil )
(vars? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(nonempty_singleton_finite application-judgement
"non_empty_finite_set[term]" robinsonunification nil )
(finite_restrict application-judgement "finite_set[S]"
restrict_set_props nil )
(first_diff_has_diff_argument formula-decl nil robinsonunification
nil )
(sig!1 skolem-const-decl "Sub[variable, symbol, arity]"
robinsonunification nil )
(p!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunification nil )
(subterm_ext_commute formula-decl nil substitution nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(v adt-accessor-decl "[(vars?) -> variable]" term_adt nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(args adt-accessor-decl
"[d: (app?) -> {args: finite_sequence[term] | args`length = arity(f(d))}]"
term_adt nil )
(ext def-decl "term" substitution nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(positions_of_ext formula-decl nil substitution nil )
(link_remove_x formula-decl nil robinsonunification nil )
(first_diff def-decl "position" robinsonunification 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 )
(singleton const-decl "(singleton?)" sets nil )
(restrict const-decl "R" restrict nil )
(IMPLIES const-decl "[bool, bool -> bool]" booleans nil )
(p!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunification nil )
(p!2 skolem-const-decl
"positions?[variable, symbol, arity](subtermOF(s!1, p!1))"
robinsonunification nil )
(position_t_first_diff formula-decl nil robinsonunification 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 )
(Dom const-decl "set[(V)]" substitution nil )
(pos_o_term formula-decl nil subterm nil )
(position_s_first_diff formula-decl nil robinsonunification nil )
(comutative_first_diff formula-decl nil robinsonunification nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(t!1 skolem-const-decl "{t: term | s!1 /= t}" robinsonunification
nil )
(finseq type-eq-decl nil finite_sequences nil )
(O const-decl "finseq" finite_sequences nil )
(p!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunification nil )
(p!2 skolem-const-decl
"positions?[variable, symbol, arity](subtermOF(t!1, p!1))"
robinsonunification nil )
(pos_subterm formula-decl nil subterm nil )
(Vars const-decl "set[(V)]" subterm nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(dom_link_of_frst_diff_is formula-decl nil robinsonunification nil )
(IUnion const-decl "set[T]" indexed_sets nil )
(VRan const-decl "set[(V)]" substitution nil )
(union const-decl "set" sets nil )
(member const-decl "bool" sets nil )
(subset? const-decl "bool" sets nil ))
shostak))
(comutative_link_fd 0
(comutative_link_fd-1 nil 3469378012
("" (skosimp*)
(("" (lemma comutative_first_diff)
(("" (inst?)
(("" (assert )
(("" (prop)
(("" (inst -1 "first_diff(t!1, s!1)" )
(("" (expand link_of_frst_diff)
(("" (lift-if)
(("" (assert )
(("" (name-replace position "first_diff(s!1, t!1)" )
(("" (replace -1)
(("" (case " vars?(subtermOF(t!1, position))" )
(("1" (assert ) nil nil )
("2" (assert ) nil nil )
("3" (hide 2 3)
(("3" (replace -1 1 rl)
(("3"
(hide -)
(("3"
(lemma position_s_first_diff)
(("3"
(inst
-1
t!1
s!1
"first_diff(t!1, s!1)" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((comutative_first_diff formula-decl nil robinsonunification 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 )
(first_diff def-decl "position" robinsonunification nil )
(= const-decl "[T, T -> boolean]" equalities 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 )
(vars? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(position_s_first_diff formula-decl nil robinsonunification nil )
(link_of_frst_diff const-decl "Sub" robinsonunification nil )
(/= const-decl "boolean" notequal nil )
(term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil ))
shostak))
(link_of_frst_diff_t_is_subset_union 0
(link_of_frst_diff_t_is_subset_union-1 nil 3469369542
("" (lemma comutative_link_fd)
(("" (lemma link_of_frst_diff_s_is_subset_union)
(("" (skosimp*)
(("" (assert )
(("" (case "NOT vars?(subtermOF(s!1, first_diff(s!1, t!1)))" )
(("1" (inst -1 t!1 s!1)
(("1" (inst -2 s!1 t!1)
(("1" (assert )
(("1" (prop)
(("1" (replace -2)
(("1" (hide -2 1 2)
(("1" (expand subset?)
(("1" (skosimp*)
(("1" (inst -1 x!1)
(("1"
(assert )
(("1"
(hide -2)
(("1"
(expand * member union)
(("1" (prop) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -3 -2)
(("2" (prop)
(("2"
(name-replace "sig!1" "link_of_frst_diff(s!1,t!1)"
:hide? nil )
(("2"
(name-replace "p!1" "first_diff(s!1, t!1)" :hide?
nil )
(("2" (expand * "subset?" )
(("2" (skosimp)
(("2" (expand * "union" "member" )
(("2" (flatten)
(("2" (case "member(x!1, VRan(sig!1))" )
(("1"
(expand * "member" "VRan" )
(("1"
(expand "IUnion" )
(("1"
(skosimp)
(("1"
(lemma
"dom_link_of_frst_diff_is" )
(("1"
(inst
-1
"first_diff(s!1, t!1)"
"s!1"
"t!1" )
(("1"
(assert )
(("1"
(replace -3 -1)
(("1"
(assert )
(("1"
(expand *
"restrict"
"singleton" )
(("1"
(replace -4 -1)
(("1"
(decompose-equality
-1)
(("1"
(typepred "i!1" )
(("1"
(inst -3 "i!1" )
(("1"
(assert )
(("1"
(replaces
-3)
(("1"
(hide -1)
(("1"
(replace
-4
-2
rl)
(("1"
(expand
"link_of_frst_diff"
-2)
(("1"
(prop)
(("1"
(hide-all-but
(-1
-3
4))
(("1"
(expand
"Vars" )
(("1"
(skosimp)
(("1"
(typepred
"p!2" )
(("1"
(lemma
"pos_o_term" )
(("1"
(inst
-1
"p!1"
"p!2"
"t!1" )
(("1"
(assert )
(("1"
(prop)
(("1"
(inst
1
"p!1 o p!2" )
(("1"
(rewrite
"pos_subterm" )
(("1"
(assert )
nil
nil ))
nil ))
nil )
("2"
(hide-all-but
(-3
1))
(("2"
(rewrite
position_t_first_diff)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-1
-4
-5
-6
1))
(("2"
(expand
"link_of_frst_diff" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "member" )
(("2"
(case
"VRan(sig!1) = Vars(subtermOF(t!1,p!1))" )
(("1"
(replaces -1)
(("1"
(lemma "link_remove_x" )
(("1"
(inst -1 "x!1" "s!1" "t!1" )
(("1"
(assert )
(("1"
(replace -3 -1)
(("1"
(assert )
(("1"
(expand "member" )
(("1"
(lemma
"positions_of_ext" )
(("1"
(inst
-1
"sig!1"
"t!1" )
(("1"
(decompose-equality
-1)
(("1"
(expand
"Vars"
-5)
(("1"
(skosimp)
(("1"
(inst
-1
"p!2" )
(("1"
(assert )
(("1"
(expand
"union" )
(("1"
(prop)
(("1"
(expand
"member" )
(("1"
(flatten)
(("1"
(rewrite
"subterm_ext_commute" )
(("1"
(decompose-equality
-5)
(("1"
(prop)
(("1"
(hide-all-but
(-1
1))
(("1"
(expand
"ext" )
(("1"
(assert )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
-2)
(("2"
(typepred
"x!1" )
(("2"
(expand
"V" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
"member" )
(("2"
(skosimp)
(("2"
(replace
-1
-8)
(("2"
(rewrite
"pos_subterm" )
(("2"
(rewrite
"subterm_ext_commute" )
(("2"
(expand
"ext"
-8)
(("2"
(assert )
(("2"
(case
"subtermOF(t!1, p1!1) = subtermOF(t!1, p!1)" )
(("1"
(replace
-7
-9
rl)
(("1"
(expand
"link_of_frst_diff"
-9)
(("1"
(assert )
(("1"
(lift-if)
(("1"
(prop)
(("1"
(replace
-8
-2)
(("1"
(hide-all-but
(-2
3))
(("1"
(expand
"Vars" )
(("1"
(inst
1
"p2!1" )
nil
nil ))
nil ))
nil ))
nil )
("2"
(replace
-2
-1)
(("2"
(hide-all-but
(-1
4))
(("2"
(expand
"Vars" )
(("2"
(inst
1
"p2!1" )
nil
nil ))
nil ))
nil ))
nil )
("3"
(expand
"link_of_frst_diff"
-9)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(replace
-6
-8
rl)
(("2"
(expand
"link_of_frst_diff"
-8)
(("2"
(assert )
(("2"
(lift-if)
(("2"
(prop)
(("1"
(replace
-8
-6
rl)
(("1"
(expand
"ext"
-6)
(("1"
(expand
"link_of_frst_diff"
-6)
(("1"
(assert )
(("1"
(lemma
"pos_o_term" )
(("1"
(inst
-1
"p!1"
"p2!1"
"t!1" )
(("1"
(assert )
(("1"
(lemma
"pos_subterm" )
(("1"
(inst
-1
"p!1"
"p2!1"
"t!1" )
(("1"
(case
"positionsOF(t!1)(p!1)" )
(("1"
(assert )
(("1"
(assert )
(("1"
(replace
-10
-5)
(("1"
(replace
-2
-5
rl)
(("1"
(hide-all-but
(-5
7))
(("1"
(expand
"Vars" )
(("1"
(inst
1
"p!1 o p2!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-9
1))
(("2"
(rewrite
position_t_first_diff)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand
ext
-5)
(("2"
(replace
-7
-5
rl)
(("2"
(expand
link_of_frst_diff
-5)
(("2"
(assert )
(("2"
(lemma
pos_o_term)
(("2"
(inst
-1
"p1!1"
"p2!1"
"t!1" )
(("2"
(assert )
(("2"
(lemma
"pos_subterm" )
(("2"
(inst
-1
"p1!1"
"p2!1"
"t!1" )
(("2"
(assert )
(("2"
(replace
-1
-3
rl)
(("2"
(hide-all-but
(-3
8))
(("2"
(expand
"Vars" )
(("2"
(inst
1
"p1!1 o p2!1" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(expand
link_of_frst_diff
-8)
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(decompose-equality 1)
(("2"
(iff)
(("2"
(prop)
(("1"
(expand "VRan" -1)
(("1"
(expand "IUnion" )
(("1"
(skosimp)
(("1"
(lemma
"dom_link_of_frst_diff_is" )
(("1"
(inst
-1
"p!1"
"s!1"
"t!1" )
(("1"
(assert )
(("1"
(expand *
"restrict"
"singleton" )
(("1"
(replace -4 -1)
(("1"
(decompose-equality
-1)
(("1"
(inst
-1
"i!1" )
(("1"
(assert )
(("1"
(replaces
-1)
(("1"
(replace
-3
-1
rl)
(("1"
(expand
"link_of_frst_diff"
-1)
(("1"
(prop)
(("1"
(assert )
nil
nil )
("2"
(expand
"link_of_frst_diff"
-4)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "VRan" 1)
(("2"
(expand "IUnion" )
(("2"
(inst
1
"subtermOF(s!1, p!1)" )
(("1"
(replace -3 1 rl)
(("1"
(expand
"link_of_frst_diff"
1)
(("1"
(prop)
(("1"
(assert )
nil
nil )
("2"
(expand
"link_of_frst_diff"
-4)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand V)
(("2"
(expand "Dom" )
(("2"
(lemma
dom_link_of_frst_diff_is)
(("2"
(inst
-1
p!1
s!1
t!1)
(("2"
(assert )
(("2"
(replace
-4
-1)
(("2"
(expand *
restrict
singleton)
(("2"
(decompose-equality
-1)
(("2"
(inst
-1
"subtermOF(s!1, p!1)" )
(("2"
(assert )
(("2"
(expand
Dom)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but (-1 1))
(("3"
(rewrite position_t_first_diff)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (hide-all-but 1)
(("3" (lemma position_s_first_diff)
(("3" (inst?) (("3" (inst?) nil nil )) nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((link_of_frst_diff_s_is_subset_union formula-decl nil
robinsonunification nil )
(subset_is_partial_order name-judgement "(partial_order?[set[T]])"
sets_lemmas nil )
(position_s_first_diff formula-decl nil robinsonunification nil )
(link_of_frst_diff const-decl "Sub" robinsonunification nil )
(Sub type-eq-decl nil substitution nil )
(Sub? const-decl "bool" substitution nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(VRan const-decl "set[(V)]" substitution nil )
(IUnion const-decl "set[T]" indexed_sets nil )
(dom_link_of_frst_diff_is formula-decl nil robinsonunification nil )
(pos_o_term formula-decl nil subterm nil )
(position_t_first_diff formula-decl nil robinsonunification nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(t!1 skolem-const-decl "{t: term | s!1 /= t}" robinsonunification
nil )
(finseq type-eq-decl nil finite_sequences nil )
(O const-decl "finseq" finite_sequences nil )
(p!1 skolem-const-decl "position[variable, symbol, arity]"
robinsonunification nil )
(p!2 skolem-const-decl
"positions?[variable, symbol, arity](subtermOF(t!1, first_diff(s!1, t!1)))"
robinsonunification nil )
(pos_subterm formula-decl nil subterm nil )
(Vars const-decl "set[(V)]" subterm nil )
(Dom const-decl "set[(V)]" substitution nil )
(restrict const-decl "R" restrict nil )
(singleton const-decl "(singleton?)" sets nil )
(link_remove_x formula-decl nil robinsonunification nil )
(positions_of_ext formula-decl nil substitution nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(ext def-decl "term" substitution nil )
(args adt-accessor-decl
"[d: (app?) -> {args: finite_sequence[term] | args`length = arity(f(d))}]"
term_adt nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(f adt-accessor-decl "[(app?) -> symbol]" term_adt nil )
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(v adt-accessor-decl "[(vars?) -> variable]" term_adt nil )
(OR const-decl "[bool, bool -> bool]" booleans nil )
(subterm_ext_commute formula-decl nil substitution nil )
(sig!1 skolem-const-decl "Sub[variable, symbol, arity]"
robinsonunification nil )
(finite_restrict application-judgement "finite_set[S]"
restrict_set_props nil )
(nonempty_singleton_finite application-judgement
"non_empty_finite_set[term]" robinsonunification nil )
(subset? const-decl "bool" sets nil )
(V const-decl "set[term]" variables_term nil )
(set type-eq-decl nil sets nil ) (member const-decl "bool" sets nil )
(union const-decl "set" sets nil )
(boolean nonempty-type-decl nil booleans nil )
(bool nonempty-type-eq-decl nil booleans nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification nil )
(number nonempty-type-decl nil numbers nil )
(number_field_pred const-decl "[number -> boolean]" number_fields
nil )
(number_field nonempty-type-from-decl nil number_fields nil )
(real_pred const-decl "[number_field -> boolean]" reals nil )
(real nonempty-type-from-decl nil reals nil )
(rational_pred const-decl "[real -> boolean]" rationals nil )
(rational nonempty-type-from-decl nil rationals nil )
(integer_pred const-decl "[rational -> boolean]" integers nil )
(int nonempty-type-eq-decl nil integers nil )
(>= const-decl "bool" reals nil )
(nat nonempty-type-eq-decl nil naturalnumbers nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification nil )
(term type-decl nil term_adt nil )
(vars? adt-recognizer-decl "[term -> boolean]" term_adt 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 )
(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 )
(/= const-decl "boolean" notequal nil )
(first_diff def-decl "position" robinsonunification nil )
(comutative_link_fd formula-decl nil robinsonunification nil ))
shostak))
(union_vars_ext_link 0
(union_vars_ext_link-1 nil 3468747509
("" (skosimp*)
(("" (assert )
(("" (flatten)
((""
(name-replace "sig!1" "link_of_frst_diff(s!1, t!1)" :hide?
nil )
(("" (decompose-equality 2)
(("" (iff)
(("" (prop)
(("1" (expand "difference" )
(("1" (expand "union" )
(("1" (expand "member" )
(("1" (prop)
(("1"
(lemma "link_of_frst_diff_s_is_subset_union" )
(("1" (inst -1 "s!1" "t!1" )
(("1" (assert )
(("1"
(expand "subset?" )
(("1"
(inst -1 "x!1" )
(("1"
(expand * "union" "member" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (lemma "link_remove_x" )
(("2" (inst -1 "x!1" "s!1" "t!1" )
(("2" (assert )
(("2"
(assert )
(("2"
(prop)
(("2"
(expand "member" )
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(lemma "link_of_frst_diff_t_is_subset_union" )
(("3" (inst -1 "s!1" "t!1" )
(("3" (assert )
(("3"
(expand "subset?" )
(("3"
(inst -1 "x!1" )
(("3"
(expand * "union" "member" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("4" (lemma "link_remove_x" )
(("4" (inst -1 "x!1" "s!1" "t!1" )
(("4" (assert )
(("4"
(assert )
(("4"
(prop)
(("4"
(assert )
(("4"
(expand member)
(("4" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (expand * "difference" "union" "member" )
(("2" (prop)
(("1" (hide 3)
(("1" (expand "Vars" )
(("1" (skosimp)
(("1" (inst 2 "p!1" )
(("1" (rewrite "subterm_ext_commute" )
(("1"
(replaces -1)
(("1"
(typepred "x!1" )
(("1"
(expand * "V" "Dom" "ext" )
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -1 2)
(("2"
(rewrite "ext_preserv_pos" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide 2)
(("2" (expand "Vars" )
(("2" (skosimp)
(("2" (inst 2 "p!1" )
(("1" (rewrite "subterm_ext_commute" )
(("1"
(replaces -1)
(("1"
(typepred "x!1" )
(("1"
(expand * "V" "Dom" "ext" )
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2" (hide -1 2)
(("2"
(rewrite "ext_preserv_pos" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((variable formal-nonempty-type-decl nil robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification 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]" robinsonunification nil )
(term type-decl nil term_adt nil ) (set type-eq-decl nil sets nil )
(V const-decl "set[term]" variables_term nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(/= const-decl "boolean" notequal nil )
(Sub? const-decl "bool" substitution nil )
(Sub type-eq-decl nil substitution nil )
(link_of_frst_diff const-decl "Sub" robinsonunification nil )
(t!1 skolem-const-decl "{t: term | s!1 /= t}" robinsonunification
nil )
(p!1 skolem-const-decl "positions?[variable, symbol, arity](t!1)"
robinsonunification nil )
(ext_preserv_pos formula-decl nil substitution nil )
(subterm_ext_commute formula-decl nil substitution nil )
(NOT const-decl "[bool -> bool]" booleans 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 )
(positions type-eq-decl nil positions nil )
(positionsOF def-decl "positions" positions nil )
(sig!1 skolem-const-decl "Sub[variable, symbol, arity]"
robinsonunification nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(positions? type-eq-decl nil positions nil )
(p!1 skolem-const-decl "positions?[variable, symbol, arity](s!1)"
robinsonunification nil )
(member const-decl "bool" sets nil )
(link_of_frst_diff_t_is_subset_union formula-decl nil
robinsonunification nil )
(link_remove_x formula-decl nil robinsonunification nil )
(link_of_frst_diff_s_is_subset_union formula-decl nil
robinsonunification nil )
(subset_is_partial_order name-judgement "(partial_order?[set[T]])"
sets_lemmas nil )
(subset? const-decl "bool" sets nil )
(Dom const-decl "set[(V)]" substitution nil )
(difference const-decl "set" sets nil )
(ext def-decl "term" substitution nil )
(Vars const-decl "set[(V)]" subterm nil )
(union const-decl "set" sets nil ))
shostak))
(termination_lemma_TCC1 0
(termination_lemma_TCC1-1 nil 3468654228
("" (skosimp)
(("" (rewrite "finite_union" )
(("1" (hide -1 2) (("1" (rewrite "vars_of_term_finite" ) nil nil ))
nil )
("2" (hide -1 2) (("2" (rewrite "vars_of_term_finite" ) nil nil ))
nil ))
nil ))
nil )
((finite_union judgement-tcc nil finite_sets nil )
(is_finite const-decl "bool" finite_sets nil )
(finite_set type-eq-decl nil finite_sets nil )
(Vars const-decl "set[(V)]" subterm nil )
(Sub? const-decl "bool" substitution nil )
(Sub type-eq-decl nil substitution nil )
(ext def-decl "term" substitution nil )
(/= const-decl "boolean" notequal nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification 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]" robinsonunification nil )
(term type-decl nil term_adt nil ) (set type-eq-decl nil sets nil )
(V const-decl "set[term]" variables_term nil )
(vars_of_term_finite formula-decl nil subterm nil ))
nil ))
(termination_lemma_TCC2 0
(termination_lemma_TCC2-1 nil 3468654228
("" (skosimp)
(("" (hide -)
(("" (rewrite "finite_union" )
(("1" (hide 2) (("1" (rewrite "vars_of_term_finite" ) nil nil ))
nil )
("2" (hide 2) (("2" (rewrite "vars_of_term_finite" ) nil nil ))
nil ))
nil ))
nil ))
nil )
((vars_of_term_finite formula-decl nil subterm nil )
(V const-decl "set[term]" variables_term nil )
(set type-eq-decl nil sets nil ) (term type-decl nil term_adt nil )
(arity formal-const-decl "[symbol -> nat]" robinsonunification 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 robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(/= const-decl "boolean" notequal nil )
(Vars const-decl "set[(V)]" subterm nil )
(finite_set type-eq-decl nil finite_sets nil )
(is_finite const-decl "bool" finite_sets nil )
(finite_union judgement-tcc nil finite_sets nil ))
nil ))
(termination_lemma 0
(termination_lemma-1 nil 3468683546
("" (skosimp*)
(("" (assert )
(("" (prop)
((""
(name-replace "sig1" "link_of_frst_diff(s!1, t!1)" :hide?
nil )
(("" (lemma "card_diff_subset[(V)]" )
(("" (lemma "union_vars_ext_link" )
(("" (inst -1 "s!1" "t!1" )
(("" (assert )
(("" (replace -3 -1)
(("" (assert )
(("" (replaces -1)
((""
(inst -1 "Dom(sig1)"
"union(Vars(s!1), Vars(t!1))" )
(("1" (prop)
(("1" (case-replace "card(Dom(sig1)) = 1" )
(("1" (assert ) nil nil )
("2"
(hide-all-but 1)
(("2"
(rewrite "card_one" )
(("2"
(lemma "dom_link_of_frst_diff_is" )
(("2"
(inst
-1
"first_diff(s!1, t!1)"
"s!1"
"t!1" )
(("2"
(assert )
(("2"
(prop)
(("1"
(expand "restrict" )
(("1"
(decompose-equality -2)
(("1"
(inst
1
"subtermOF(s!1, first_diff(s!1, t!1))" )
(("1"
(decompose-equality
1)
(("1"
(inst -1 "x!1" )
(("1"
(reveal -5)
(("1"
(replace -1 -2)
(("1"
(assert )
(("1"
(hide
-1
-3)
(("1"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "V" )
(("2"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "restrict" )
(("2"
(case
"vars?(subtermOF(t!1, first_diff(s!1, t!1)))" )
(("1"
(inst
2
"subtermOF(t!1, first_diff(s!1, t!1))" )
(("1"
(decompose-equality
-2)
(("1"
(decompose-equality
2)
(("1"
(inst -1 "x!1" )
(("1"
(reveal -5)
(("1"
(assert )
(("1"
(replace
-1
-2)
(("1"
(hide
-1
-3
2)
(("1"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand "V" )
(("2"
(propax)
nil
nil ))
nil ))
nil )
("2"
(reveal 1)
(("2"
(reveal -3)
(("2"
(hide -2 4)
(("2"
(expand
"link_of_frst_diff" )
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but 1)
(("3"
(lemma
"position_s_first_diff" )
(("3"
(inst
-1
"t!1"
"s!1"
"first_diff(s!1,t!1)" )
(("3"
(prop)
(("3"
(hide 2)
(("3"
(lemma
"comutative_first_diff" )
(("3"
(inst
-1
"s!1"
"t!1"
"first_diff(s!1, t!1)" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (lemma "dom_link_of_frst_diff_is" )
(("2"
(inst
-1
"first_diff(s!1,t!1)"
"s!1"
"t!1" )
(("2"
(assert )
(("2"
(replace -2 -1)
(("2"
(name-replace
"p!1"
"first_diff(s!1, t!1)"
:hide?
nil )
(("2"
(expand "restrict" )
(("2"
(prop)
(("1"
(decompose-equality -2)
(("1"
(hide 2 3)
(("1"
(expand "subset?" )
(("1"
(skosimp)
(("1"
(inst -1 "x!1" )
(("1"
(expand "member" )
(("1"
(iff)
(("1"
(assert )
(("1"
(expand
"singleton" )
(("1"
(expand
"union" )
(("1"
(flatten)
(("1"
(hide-all-but
(-1
1))
(("1"
(expand *
"member"
"Vars" )
(("1"
(inst
1
"p!1" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(case
"vars?(subtermOF(t!1, p!1))" )
(("1"
(hide 1 3 4 -3 -4)
(("1"
(expand "subset?" )
(("1"
(skosimp)
(("1"
(decompose-equality
-2)
(("1"
(inst -1 "x!1" )
(("1"
(expand
"member" )
(("1"
(iff)
(("1"
(assert )
(("1"
(hide
-2
-3)
(("1"
(expand *
"union"
"member" )
(("1"
(flatten)
(("1"
(hide
1)
(("1"
(expand
"Vars" )
(("1"
(inst
1
"p!1" )
(("1"
(expand
"singleton" )
(("1"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
(-2 -3 1 2 4))
(("2"
(expand
"link_of_frst_diff" )
(("2"
(replaces -1)
(("2"
(assert )
nil
nil ))
nil ))
nil ))
nil )
("3"
(hide-all-but (-2 1))
(("3"
(lemma
"position_s_first_diff" )
(("3"
(inst
-1
"t!1"
"s!1"
"p!1" )
(("3"
(assert )
(("3"
(hide 2)
(("3"
(lemma
"comutative_first_diff" )
(("3"
(inst
-1
"s!1"
"t!1"
"p!1" )
(("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (typepred "sig1" )
(("2" (hide -2 2 3)
(("2"
(expand "Sub?" )
(("2" (propax) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((real_lt_is_strict_total_order name-judgement
"(strict_total_order?[real])" real_props nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification 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]" robinsonunification nil )
(term type-decl nil term_adt nil ) (set type-eq-decl nil sets nil )
(V const-decl "set[term]" variables_term nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(/= const-decl "boolean" notequal nil )
(Sub? const-decl "bool" substitution nil )
(Sub type-eq-decl nil substitution nil )
(link_of_frst_diff const-decl "Sub" robinsonunification nil )
(union_vars_ext_link formula-decl nil robinsonunification nil )
(is_finite const-decl "bool" finite_sets nil )
(Dom const-decl "set[(V)]" substitution nil )
(sig1 skolem-const-decl "Sub[variable, symbol, arity]"
robinsonunification nil )
(finite_set type-eq-decl nil finite_sets nil )
(union const-decl "set" sets nil )
(Vars const-decl "set[(V)]" subterm nil )
(subset_is_partial_order name-judgement "(partial_order?[set[T]])"
sets_lemmas nil )
(member const-decl "bool" sets nil )
(subset? const-decl "bool" sets nil )
(card const-decl "{n: nat | n = Card(S)}" finite_sets nil )
(Card const-decl "nat" finite_sets nil )
(int_minus_int_is_int application-judgement "int" integers nil )
(card_one formula-decl nil finite_sets nil )
(first_diff def-decl "position" robinsonunification 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 )
(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 )
(singleton const-decl "(singleton?)" sets nil )
(singleton? const-decl "bool" sets nil )
(nonempty_singleton_finite application-judgement
"non_empty_finite_set[term]" robinsonunification nil )
(nonempty_singleton_finite application-judgement
"non_empty_finite_set" robinsonunification nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(t!1 skolem-const-decl "{t: term | s!1 /= t}" robinsonunification
nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(restrict const-decl "R" restrict nil )
(vars? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(position_s_first_diff formula-decl nil robinsonunification nil )
(comutative_first_diff formula-decl nil robinsonunification nil )
(dom_link_of_frst_diff_is formula-decl nil robinsonunification nil )
(NOT const-decl "[bool -> bool]" booleans nil )
(card_diff_subset formula-decl nil finite_sets nil ))
shostak))
(unifiable_implies_not_fail 0
(unifiable_implies_not_fail-1 nil 3469312693
("" (skosimp)
(("" (assert )
(("" (name "sig!1" "link_of_frst_diff(s!1, t!1)" )
(("" (prop)
(("" (expand link_of_frst_diff -3)
(("" (lift-if)
(("" (prop)
(("1" (name "p!1" "first_diff(s!1, t!1)" )
(("1" (replace -1)
(("1" (decompose-equality -2)
(("1" (case "xx = subtermOF(s!1, p!1)" )
(("1" (inst -2 "xx" )
(("1" (assert )
(("1" (expand fail -2)
(("1"
(replace -1 1 rl)
(("1"
(replace -2 1)
(("1"
(hide-all-but 1)
(("1"
(expand * member Vars)
(("1"
(inst 1 "#(1)" )
(("1"
(expand subtermOF 1)
(("1"
(rewrite empty_0)
(("1"
(lift-if)
(("1"
(prop)
(("1"
(hide-all-but -1)
(("1"
(grind)
nil
nil ))
nil )
("2"
(expand finseq_appl)
(("2"
(case
"#(xx)`seq(first( #(1)) - 1) = xx" )
(("1"
(replace -1 2)
(("1"
(case
"rest( #(1)) = empty_seq" )
(("1"
(replace
-1
2)
(("1"
(hide-all-but
2)
(("1"
(expand
subtermOF)
(("1"
(rewrite
empty_0)
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
1)
(("2"
(lemma
length_rest_0[posnat])
(("2"
(inst
-1
"#(1)" )
(("2"
(prop)
(("1"
(hide-all-but
(-1
2))
(("1"
(rewrite
empty_0)
nil
nil ))
nil )
("2"
(expand
"#"
-1)
(("2"
(assert )
nil
nil ))
nil )
("3"
(expand
"#"
1)
(("3"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but 1)
(("2"
(expand "#" )
(("2"
(propax)
nil
nil ))
nil ))
nil )
("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand positionsOF)
(("2"
(assert )
(("2"
(expand *
union
IUnion
member)
(("2"
(prop)
(("1"
(expand "#" )
(("1"
(assert )
nil
nil ))
nil )
("2"
(hide 1 2)
(("2"
(inst 1 1)
(("1"
(expand catenate)
(("1"
(expand
finseq_appl)
(("1"
(inst
1
empty_seq)
(("1"
(split)
(("1"
(expand
member)
(("1"
(expand
positionsOF)
(("1"
(lift-if)
(("1"
(prop)
(("1"
(expand
only_empty_seq)
(("1"
(propax)
nil
nil ))
nil )
("2"
(expand
only_empty_seq)
(("2"
(propax)
nil
nil ))
nil )
("3"
(expand *
union
IUnion
member
only_empty_seq)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (inst -1 "subtermOF(s!1, p!1)" )
(("2" (expand fail)
(("2" (assert )
(("2"
(expand id)
(("2"
(hide 1 2)
(("2"
(lemma
first_diff_has_diff_argument)
(("2"
(inst -1 s!1 t!1 p!1)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (lemma var_term_unifiable_not_var_in_term)
(("2"
(inst -1 "subtermOF(s!1, first_diff(s!1, t!1))"
"subtermOF(t!1, first_diff(s!1, t!1))" )
(("2" (assert )
(("2" (hide -1 -2)
(("2" (split)
(("1" (lemma unifiable_terms_unifiable_args)
(("1" (expand unifiable)
(("1"
(skosimp)
(("1"
(inst 1 sigma!1)
(("1"
(inst
-1
sigma!1
s!1
t!1
"first_diff(s!1, t!1)" )
(("1"
(expand * member U)
(("1" (assert ) nil nil ))
nil )
("2"
(hide-all-but 1)
(("2"
(rewrite position_t_first_diff)
(("2"
(lemma position_s_first_diff)
(("2"
(inst?)
(("2" (inst?) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (lemma first_diff_has_diff_argument)
(("2" (inst?) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("3" (decompose-equality -1)
(("3" (name "p!1" "first_diff(s!1, t!1)" )
(("3" (replace -1)
(("3" (case "xx = subtermOF(t!1, p!1)" )
(("1" (inst -3 "subtermOF(t!1, p!1)" )
(("1" (expand fail)
(("1" (assert )
(("1"
(replace -1 1 rl)
(("1"
(replace -3 1)
(("1"
(hide-all-but 1)
(("1"
(expand * member Vars)
(("1"
(inst 1 "#(1)" )
(("1"
(expand subtermOF 1)
(("1"
(rewrite empty_0)
(("1"
(lift-if)
(("1"
(prop)
(("1"
(hide-all-but -1)
(("1"
(grind)
nil
nil ))
nil )
("2"
(expand finseq_appl)
(("2"
(case
"#(xx)`seq(first( #(1)) - 1) = xx" )
(("1"
(replace -1 2)
(("1"
(case
"rest( #(1)) = empty_seq" )
(("1"
(replace
-1
2)
(("1"
(hide-all-but
2)
(("1"
(expand
subtermOF)
(("1"
(rewrite
empty_0)
nil
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but
1)
(("2"
(lemma
length_rest_0[posnat])
(("2"
(inst
-1
"#(1)" )
(("2"
(prop)
(("1"
(hide-all-but
(-1
2))
(("1"
(rewrite
empty_0)
nil
nil ))
nil )
("2"
(expand
"#"
-1)
(("2"
(assert )
nil
nil ))
nil )
("3"
(expand
"#"
1)
(("3"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but 1)
(("2"
(expand "#" )
(("2"
(propax)
nil
nil ))
nil ))
nil )
("3"
(assert )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(expand positionsOF)
(("2"
(assert )
(("2"
(expand *
union
IUnion
member)
(("2"
(prop)
(("1"
(hide 1)
(("1"
(grind)
nil
nil ))
nil )
("2"
(hide 1 2)
(("2"
(inst 1 1)
(("1"
(expand catenate)
(("1"
(expand
finseq_appl)
(("1"
(inst
1
empty_seq)
(("1"
(split)
(("1"
(expand
member)
(("1"
(expand
positionsOF)
(("1"
(lift-if)
(("1"
(prop)
(("1"
(expand
only_empty_seq)
(("1"
(propax)
nil
nil ))
nil )
("2"
(expand
only_empty_seq)
(("2"
(propax)
nil
nil ))
nil )
("3"
(expand *
union
IUnion
member
only_empty_seq)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(grind)
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("2" (inst -2 "subtermOF(t!1, p!1)" )
(("2" (expand fail)
(("2" (assert )
(("2"
(expand id)
(("2"
(hide 1 2 3 -3 -4)
(("2"
(lemma
first_diff_has_diff_argument)
(("2"
(inst -1 s!1 t!1 p!1)
(("2" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("4" (lemma var_term_unifiable_not_var_in_term)
(("4"
(inst -1 "subtermOF(t!1, first_diff(s!1, t!1))"
"subtermOF(s!1, first_diff(s!1, t!1))" )
(("4" (assert )
(("4" (hide -1 -2 -3 2)
(("4" (lemma unifiable_terms_unifiable_args)
(("4" (expand unifiable)
(("4" (skosimp)
(("4"
(inst 1 sigma!1)
(("4"
(inst
-1
sigma!1
s!1
t!1
"first_diff(s!1, t!1)" )
(("1"
(expand * member U)
(("1"
(assert )
(("1"
(hide -2)
(("1"
(expand unifier)
(("1" (assert ) nil nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but 1)
(("2"
(rewrite position_t_first_diff)
(("2"
(lemma position_s_first_diff)
(("2"
(inst
-1
s!1
t!1
"first_diff(s!1, t!1)" )
nil
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
("5" (lemma first_diff_unifiable_vars)
(("5" (inst -1 s!1 t!1 "first_diff(s!1, t!1)" )
(("5" (assert ) nil nil )) nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil ))
nil )
((first_diff_unifiable_vars formula-decl nil robinsonunification
nil )
(unifier const-decl "bool" unification nil )
(var_term_unifiable_not_var_in_term formula-decl nil unification
nil )
(unifiable const-decl "bool" unification nil )
(position_s_first_diff formula-decl nil robinsonunification nil )
(position_t_first_diff formula-decl nil robinsonunification nil )
(U const-decl "set[Sub]" unification nil )
(t!1 skolem-const-decl "{t: term | s!1 /= t}" robinsonunification
nil )
(s!1 skolem-const-decl "term[variable, symbol, arity]"
robinsonunification nil )
(AND const-decl "[bool, bool -> bool]" booleans nil )
(unifiable_terms_unifiable_args formula-decl nil unification nil )
(first_diff def-decl "position" robinsonunification 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 )
(IF const-decl "[boolean, T, T -> T]" if_def 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 )
(fail const-decl "Sub" robinsonunification nil )
(first_diff_has_diff_argument formula-decl nil robinsonunification
nil )
(id const-decl "(bijective?[T, T])" identity nil )
(Vars const-decl "set[(V)]" subterm nil )
(member const-decl "bool" sets nil )
(IUnion const-decl "set[T]" indexed_sets nil )
(union const-decl "set" sets nil )
(catenate const-decl "positions" positions nil )
(insert? const-decl "finseq" seq_extras "structures/" )
(add_first const-decl "finseq" seq_extras "structures/" )
(only_empty_seq const-decl "positions" positions nil )
(upto? nonempty-type-eq-decl nil IUnion_extra nil )
(<= const-decl "bool" reals nil )
(real_le_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(finseq_appl const-decl "[below[length(fs)] -> T]" finite_sequences
nil )
(length_rest_0 formula-decl nil seq_extras "structures/" )
(rest const-decl "finseq" seq_extras "structures/" )
(real_ge_is_total_order name-judgement "(total_order?[real])"
real_props nil )
(first const-decl "T" seq_extras "structures/" )
(not_empty_seq type-eq-decl nil seq_extras "structures/" )
(- 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 )
(empty_seq const-decl "finseq" finite_sequences nil )
(posint_plus_nnint_is_posint application-judgement "posint"
integers nil )
(empty_0 formula-decl nil seq_extras "structures/" )
(finseq type-eq-decl nil finite_sequences nil )
(|#| const-decl "finite_sequence[T]" set2seq "structures/" )
(ff const-decl "{f: symbol | arity(f) = 1}" robinsonunification
nil )
(app adt-constructor-decl
"[[f: symbol, {args: finite_sequence[term] | args`length = arity(f)}] ->
(app?)]" term_adt nil)
(app? adt-recognizer-decl "[term -> boolean]" term_adt nil )
(finite_sequence type-eq-decl nil finite_sequences nil )
(xx const-decl "(V)" robinsonunification nil )
(variable formal-nonempty-type-decl nil robinsonunification nil )
(symbol formal-nonempty-type-decl nil robinsonunification 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]" robinsonunification nil )
(term type-decl nil term_adt nil ) (set type-eq-decl nil sets nil )
(V const-decl "set[term]" variables_term nil )
(= const-decl "[T, T -> boolean]" equalities nil )
(/= const-decl "boolean" notequal nil )
(Sub? const-decl "bool" substitution nil )
(Sub type-eq-decl nil substitution nil )
(link_of_frst_diff const-decl "Sub" robinsonunification nil ))
shostak))
(preserving_generality 0
(preserving_generality-1 nil 3469363975
("" (skosimp)
(("" (assert )
(("" (inst 1 rho!1)
((""
(name-replace "sig!1" "link_of_frst_diff(s!1, t!1)" :hide?
nil )
(("" (decompose-equality 1)
(("" (copy -1)
(("" (expand link_of_frst_diff -1)
(("" (lift-if)
(("" (prop)
(("1"
(name-replace "p!1" "first_diff(s!1, t!1)" :hide?
nil )
(("1" (decompose-equality -2)
(("1" (inst -1 x!1)
(("1" (lift-if)
(("1" (prop)
(("1"
(expand comp 2)
(("1"
(replace -2 2 rl)
(("1"
(replace -1 2)
(("1"
(lemma
unifiable_terms_unifiable_args)
(("1"
(inst -1 rho!1 s!1 t!1 p!1)
(("1"
(assert )
(("1"
(hide-all-but (-1 -5 2))
(("1"
(expand *
member
U
unifier)
(("1"
(expand ext -1 1)
(("1"
(propax)
nil
nil ))
nil ))
nil ))
nil ))
nil )
("2"
(hide-all-but (-3 1))
(("2"
(rewrite
position_t_first_diff)
(("2"
(lemma
position_s_first_diff)
--> --------------------
--> maximum size reached
--> --------------------
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.1.257Bemerkung:
(vorverarbeitet am 2026-04-27)
¤
*Bot Zugriff
2026-05-26