Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


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" (assertnil nil)) nil)) nil))
            nil))
          nil)
         ("2" (assertnil 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" (assertnil nil)) nil)) nil))
          nil)
         ("2" (assertnil 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*) (("" (assertnil 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" (assertnil nil)) nil)
           ("2" (inst 2 k!1)
            (("1" (assert) (("1" (grind) nil nil)) nil)
             ("2" (replace -1 1) (("2" (assertnil 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" (assertnil nil)) nil)
         ("2" (assertnil 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" (assertnil nil)) nil)) nil)
         ("2" (assertnil 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") (("" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil nil))
                                      nil))
                                    nil))
                                  nil))
                                nil)
                               ("4"
                                (hide - 5)
                                (("4"
                                  (skosimp*)
                                  (("4"
                                    (lemma "positions_of_arg")
                                    (("4"
                                      (inst -1 "t!1" "kk!1")
                                      (("4" (assertnil nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil)
                         ("2" (hide-all-but (-2 1))
                          (("2" (expand"add_first" "insert?")
                            (("2" (assertnil nil)) nil))
                          nil))
                        nil))
                      nil))
                    nil)
                   ("5" (hide -2 -3)
                    (("5" (expand "first_diff")
                      (("5" (assertnil 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" (assertnil nil)) nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("3" (hide -3 3)
                  (("3" (expand "first_diff") (("3" (assertnil 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" (assertnil 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" (assertnil nil)) nil)) nil))
                    nil))
                  nil)
                 ("3" (hide -3 3)
                  (("3" (expand "first_diff") (("3" (assertnil nil))
                    nil))
                  nil)
                 ("4" (hide -2 -3 5)
                  (("4" (skosimp*)
                    (("4" (lemma "positions_of_arg")
                      (("4" (inst -1 "t!1" "kk!1")
                        (("4" (assertnil nil)) nil))
                      nil))
                    nil))
                  nil)
                 ("5" (hide -)
                  (("5" (skosimp*)
                    (("5" (lemma "positions_of_arg")
                      (("5" (inst -1 "t!1" "kk!1")
                        (("5" (assertnil 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" (assertnil nil)) nil))
                        nil))
                      nil))
                    nil)
                   ("3" (hide 3)
                    (("3" (expand "first_diff")
                      (("3" (assertnil nil)) nil))
                    nil)
                   ("4" (hide -2 5)
                    (("4" (skosimp*)
                      (("4" (lemma "positions_of_arg")
                        (("4" (inst -1 "s!1" "kk!1")
                          (("1" (assertnil 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" (assertnil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil)
                   ("5" (hide 5)
                    (("5" (expand "first_diff")
                      (("5" (assertnil nil)) nil))
                    nil))
                  nil))
                nil)
               ("5" (prop)
                (("1" (hide -3)
                  (("1" (expand "first_diff") (("1" (assertnil nil))
                    nil))
                  nil)
                 ("2" (hide -3)
                  (("2" (expand "first_diff") (("2" (assertnil nil))
                    nil))
                  nil)
                 ("3" (hide -3)
                  (("3" (expand "first_diff") (("3" (assertnil nil))
                    nil))
                  nil)
                 ("4" (assertnil nil) ("5" (assertnil 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" (assertnil 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" (assertnil nil)) nil))
                      nil))
                    nil))
                  nil)
                 ("4" (hide - 5)
                  (("4" (skosimp*)
                    (("4" (lemma "positions_of_arg")
                      (("4" (inst -1 "s!1" "kk!1")
                        (("1" (assertnil nil)
                         ("2" (typepred "kk!1")
                          (("2" (assertnil 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) (("" (assertnil 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) (("" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil nil)) nil))
                      nil))
                    nil))
                  nil)
                 ("4" (hide -)
                  (("4" (skosimp*)
                    (("4" (lemma "positions_of_arg")
                      (("4" (inst -1 "s!1" "kk!1")
                        (("1" (assertnil nil)
                         ("2" (typepred "kk!1")
                          (("2" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil nil)) nil))
                      nil))
                    nil))
                  nil)
                 ("4" (hide - (5 6))
                  (("4" (skosimp*)
                    (("4" (lemma "positions_of_arg")
                      (("4" (inst -1 "s!1" "kk!1")
                        (("1" (assertnil nil)
                         ("2" (typepred "kk!1")
                          (("2" (assertnil 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" (assertnil 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" (assertnil 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) (("" (assertnil 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) (("" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (assertnil 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" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil)
                         ("2" (skeep)
                          (("2" (prop)
                            (("1" (assertnil nil)
                             ("2" (assertnil 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" (assertnil nil)
                                   ("2"
                                    (expand "link_of_frst_diff" -4)
                                    (("2" (assertnil 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" (assertnil nil))
                                            nil))
                                          nil)
                                         ("3"
                                          (reveal -4)
                                          (("3" (assertnil 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" (assertnil 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" (assertnil nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil)
                                   ("2"
                                    (assert)
                                    (("2"
                                      (replace -3 1 rl)
                                      (("2"
                                        (expand "link_of_frst_diff" -2)
                                        (("2" (assertnil 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" (assertnil 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" (assertnil nil))
                                  nil)
                                 ("2"
                                  (expand "link_of_frst_diff" -5)
                                  (("2" (assertnil nil))
                                  nil)
                                 ("3"
                                  (assert)
                                  (("3"
                                    (expand "link_of_frst_diff" -3)
                                    (("3" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil nil)
                           ("2" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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" (assertnil 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






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge